[*] Binary protection state of ssh-keygen

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


[*] Function printf tear down of ssh-keygen

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/ssh-keygen @ 0xea04 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000ea04 ()                  | void fcn_0000ea04 () {
    0x0000ea04 lui gp, 9                     |     
    0x0000ea08 addiu gp, gp, -0x2964         |     
    0x0000ea0c addu gp, gp, t9               |     gp += t9;
    0x0000ea10 addiu sp, sp, -0x78           |     
    0x0000ea14 sw s5, 0x64(sp)               |     *(var_64h) = s5;
    0x0000ea18 sw s2, 0x58(sp)               |     *(var_58h) = s2;
    0x0000ea1c lw s5, -0x7fcc(gp)            |     s5 = *((gp - 8179));
    0x0000ea20 lw s2, -0x773c(gp)            |     s2 = *((gp - 7631));
    0x0000ea24 sw fp, 0x70(sp)               |     *(var_70h) = fp;
    0x0000ea28 sw s7, 0x6c(sp)               |     *(var_6ch) = s7;
    0x0000ea2c sw s6, 0x68(sp)               |     *(var_68h) = s6;
    0x0000ea30 sw s4, 0x60(sp)               |     *(var_60h) = s4;
    0x0000ea34 sw s3, 0x5c(sp)               |     *(var_5ch) = s3;
    0x0000ea38 sw s0, 0x50(sp)               |     *(var_50h) = s0;
    0x0000ea3c sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x0000ea40 sw ra, 0x74(sp)               |     *(var_74h) = ra;
    0x0000ea44 sw s1, 0x54(sp)               |     *(var_54h) = s1;
    0x0000ea48 lw v1, (s2)                   |     v1 = *(s2);
    0x0000ea4c lw v0, 0x6144(s5)             |     v0 = *((s5 + 6225));
    0x0000ea50 move s4, a0                   |     s4 = a0;
    0x0000ea54 move s6, a1                   |     s6 = a1;
    0x0000ea58 move s3, a2                   |     s3 = a2;
    0x0000ea5c move s7, a3                   |     s7 = a3;
    0x0000ea60 lw s0, 0x88(sp)               |     s0 = *(var_10h);
    0x0000ea64 lw fp, 0x8c(sp)               |     fp = *(var_8ch);
    0x0000ea68 sw v1, 0x4c(sp)               |     *(var_4ch) = v1;
    0x0000ea6c sw zero, 0x3c(sp)             |     *(var_3ch) = 0;
    0x0000ea70 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x0000ea74 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x0000ea78 sw zero, 0x48(sp)             |     *(var_48h) = 0;
                                             |     if (v0 == 0) {
    0x0000ea7c bnez v0, 0xeaac               |         
    0x0000ea80 lw v0, -0x76c4(gp)            |         v0 = *((gp - 7601));
    0x0000ea84 lw a0, (v0)                   |         a0 = *(v0);
                                             |         if (a2 != 0) {
    0x0000ea88 bnez a2, 0xecc8               |             goto label_8;
                                             |         }
    0x0000ea8c move a3, a0                   |         a3 = a0;
    0x0000ea90 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x0000ea94 lw t9, -0x77a4(gp)            |         t9 = sym.imp.fwrite;
    0x0000ea98 addiu a2, zero, 0x1f          |         a2 = 0x1f;
    0x0000ea9c addiu a1, zero, 1             |         a1 = 1;
                                             |         /* str.Signing_data_on_standard_input_n */
    0x0000eaa0 addiu a0, a0, -0x7c0          |         a0 += -0x7c0;
    0x0000eaa4 jalr t9                       |         t9 ();
    0x0000eaa8 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0000eaac lw t9, -0x7f24(gp)            |     t9 = sym.sshkey_is_sk;
    0x0000eab0 beqz s0, 0xec14               |     
                                             |     while (v0 == 0) {
                                             | label_2:
    0x0000eab4 move s1, zero                 |         s1 = 0;
                                             | label_1:
    0x0000eab8 lw v0, -0x7fcc(gp)            |         v0 = *((gp - 8179));
                                             | label_0:
    0x0000eabc lw t9, -0x7f20(gp)            |         t9 = sym.sshsig_sign_fd;
    0x0000eac0 sw s0, 0x1c(sp)               |         *(var_1ch) = s0;
    0x0000eac4 lw a2, 0x5104(v0)             |         a2 = *((v0 + 5185));
    0x0000eac8 addiu v0, sp, 0x3c            |         v0 = sp + 0x3c;
    0x0000eacc sw fp, 0x20(sp)               |         *(var_20h) = fp;
    0x0000ead0 sw v0, 0x18(sp)               |         *(var_18h_2) = v0;
    0x0000ead4 sw s7, 0x14(sp)               |         *(var_14h) = s7;
    0x0000ead8 sw s3, 0x10(sp)               |         *(var_10h_2) = s3;
    0x0000eadc move a3, s1                   |         a3 = s1;
    0x0000eae0 move a1, zero                 |         a1 = 0;
    0x0000eae4 move a0, s4                   |         a0 = s4;
    0x0000eae8 bal 0x18134                   |         sym_sshsig_sign_fd ();
    0x0000eaec move s0, v0                   |         s0 = v0;
    0x0000eaf0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x0000eaf4 bnez v0, 0xed48               |             goto label_9;
                                             |         }
    0x0000eaf8 lw t9, -0x7f1c(gp)            |         t9 = sym.sshsig_armor;
    0x0000eafc lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x0000eb00 addiu a1, sp, 0x40            |         a1 = sp + 0x40;
    0x0000eb04 bal 0x17800                   |         sym_sshsig_armor ();
    0x0000eb08 move s4, v0                   |         s4 = v0;
    0x0000eb0c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x0000eb10 bnez v0, 0xecf0               |             goto label_10;
                                             |         }
    0x0000eb14 lw t9, -0x7f18(gp)            |         t9 = sym.sshbuf_dup_string;
    0x0000eb18 lw a0, 0x40(sp)               |         a0 = *(var_40h);
    0x0000eb1c bal 0x297b0                   |         sym_sshbuf_dup_string ();
    0x0000eb20 move s4, v0                   |         s4 = v0;
    0x0000eb24 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0000eb28 beqz v0, 0xef50               |             goto label_11;
                                             |         }
    0x0000eb2c lw a1, -0x7fdc(gp)            |         a1 = *(gp);
                                             |         if (s3 != 0) {
    0x0000eb30 bnez s3, 0xeda0               |             goto label_12;
                                             |         }
    0x0000eb34 lw s3, -0x7858(gp)            |         s3 = *((gp - 7702));
    0x0000eb38 lw t9, -0x7410(gp)            |         t9 = sym.imp.fputs;
    0x0000eb3c move a0, v0                   |         a0 = v0;
    0x0000eb40 lw a1, (s3)                   |         a1 = *(s3);
    0x0000eb44 jalr t9                       |         t9 ();
    0x0000eb48 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000eb4c lw t9, -0x763c(gp)            |         t9 = sym.imp.fflush;
    0x0000eb50 lw a0, (s3)                   |         a0 = *(s3);
    0x0000eb54 jalr t9                       |         t9 ();
    0x0000eb58 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             | label_4:
    0x0000eb5c lw t9, -0x75e4(gp)            |         t9 = sym.imp.free;
    0x0000eb60 lw a0, 0x44(sp)               |         a0 = *(var_44h);
    0x0000eb64 jalr t9                       |         t9 ();
    0x0000eb68 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000eb6c lw t9, -0x75e4(gp)            |         t9 = sym.imp.free;
    0x0000eb70 lw a0, 0x48(sp)               |         a0 = *(var_48h);
    0x0000eb74 jalr t9                       |         t9 ();
    0x0000eb78 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000eb7c lw t9, -0x75e4(gp)            |         t9 = sym.imp.free;
    0x0000eb80 move a0, s4                   |         a0 = s4;
    0x0000eb84 jalr t9                       |         t9 ();
    0x0000eb88 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (s1 != 0) {
    0x0000eb8c beqz s1, 0xebb4               |             
    0x0000eb90 lw t9, -0x76e4(gp)            |             t9 = sym.imp.strlen;
    0x0000eb94 move a0, s1                   |             a0 = s1;
    0x0000eb98 jalr t9                       |             t9 ();
    0x0000eb9c lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0000eba0 move a1, v0                   |             a1 = v0;
    0x0000eba4 lw t9, -0x7fc4(gp)            |             t9 = sym.freezero;
    0x0000eba8 move a0, s1                   |             a0 = s1;
    0x0000ebac jalr t9                       |             t9 ();
    0x0000ebb0 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |         }
    0x0000ebb4 lw t9, -0x7f9c(gp)            |         t9 = sym.sshbuf_free;
    0x0000ebb8 lw a0, 0x40(sp)               |         a0 = *(var_40h);
    0x0000ebbc bal 0x1b7ac                   |         sym_sshbuf_free ();
    0x0000ebc0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000ebc4 lw t9, -0x7f9c(gp)            |         t9 = sym.sshbuf_free;
    0x0000ebc8 lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x0000ebcc bal 0x1b7ac                   |         sym_sshbuf_free ();
    0x0000ebd0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             | label_5:
    0x0000ebd4 lw a0, 0x4c(sp)               |         a0 = *(var_4ch);
    0x0000ebd8 lw v1, (s2)                   |         v1 = *(s2);
    0x0000ebdc move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0000ebe0 bne a0, v1, 0xf088            |             goto label_13;
                                             |         }
    0x0000ebe4 lw ra, 0x74(sp)               |         ra = *(var_74h);
    0x0000ebe8 lw fp, 0x70(sp)               |         fp = *(var_70h);
    0x0000ebec lw s7, 0x6c(sp)               |         s7 = *(var_6ch);
    0x0000ebf0 lw s6, 0x68(sp)               |         s6 = *(var_68h);
    0x0000ebf4 lw s5, 0x64(sp)               |         s5 = *(var_64h);
    0x0000ebf8 lw s4, 0x60(sp)               |         s4 = *(var_60h);
    0x0000ebfc lw s3, 0x5c(sp)               |         s3 = *(var_5ch);
    0x0000ec00 lw s2, 0x58(sp)               |         s2 = *(var_58h);
    0x0000ec04 lw s1, 0x54(sp)               |         s1 = *(var_54h);
    0x0000ec08 lw s0, 0x50(sp)               |         s0 = *(var_50h);
    0x0000ec0c addiu sp, sp, 0x78            |         
    0x0000ec10 jr ra                         |         return v0;
                                             | label_3:
    0x0000ec14 move a0, s4                   |         a0 = s4;
    0x0000ec18 bal 0x1ddb0                   |         sym_sshkey_is_sk ();
    0x0000ec1c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000ec20 beqz v0, 0xeab4               |         
                                             |     }
    0x0000ec24 lbu v0, 0x38(s4)              |     v0 = *((s4 + 56));
    0x0000ec28 andi v1, v0, 4                |     v1 = v0 & 4;
    0x0000ec2c move s1, zero                 |     s1 = 0;
                                             |     if (v1 != 0) {
    0x0000ec30 bnez v1, 0xef00               |         goto label_14;
                                             |     }
                                             | label_6:
    0x0000ec34 andi v0, v0, 1                |     v0 &= 1;
    0x0000ec38 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
                                             |     if (v0 == 0) {
    0x0000ec3c beqz v0, 0xeabc               |         goto label_0;
                                             |     }
    0x0000ec40 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
    0x0000ec44 lw t9, -0x7f5c(gp)            |     t9 = sym.sshkey_fingerprint;
    0x0000ec48 move a2, zero                 |     a2 = 0;
    0x0000ec4c lw a1, 0x405c(v0)             |     a1 = *((v0 + 4119));
    0x0000ec50 move a0, s4                   |     a0 = s4;
    0x0000ec54 bal 0x1eef8                   |     sym_sshkey_fingerprint ();
    0x0000ec58 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0000ec5c beqz v0, 0xf094               |         goto label_15;
                                             |     }
    0x0000ec60 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0000ec64 lw v0, -0x76c4(gp)            |     v0 = *((gp - 7601));
    0x0000ec68 lw t9, -0x7f50(gp)            |     t9 = sym.sshkey_type;
    0x0000ec6c move a0, s4                   |     a0 = s4;
    0x0000ec70 lw t0, (v0)                   |     t0 = *(v0);
    0x0000ec74 sw t0, 0x30(sp)               |     *(var_30h) = t0;
    0x0000ec78 bal 0x1d55c                   |     sym_sshkey_type ();
    0x0000ec7c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ec80 lw t0, 0x30(sp)               |     t0 = *(var_30h);
    0x0000ec84 lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x0000ec88 lw a2, -0x7fdc(gp)            |     a2 = *(gp);
    0x0000ec8c lw t9, -0x74ac(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0000ec90 move a0, t0                   |     a0 = t0;
    0x0000ec94 move a3, v0                   |     a3 = v0;
                                             |     /* str.Confirm_user_presence_for_key__s__s_n */
    0x0000ec98 addiu a2, a2, -0x760          |     a2 += -0x760;
    0x0000ec9c addiu a1, zero, 1             |     a1 = 1;
    0x0000eca0 sw v1, 0x10(sp)               |     *(var_10h_2) = v1;
    0x0000eca4 sw v1, 0x30(sp)               |     *(var_30h) = v1;
    0x0000eca8 jalr t9                       |     t9 ();
    0x0000ecac lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ecb0 lw v1, 0x30(sp)               |     v1 = *(var_30h);
    0x0000ecb4 lw t9, -0x75e4(gp)            |     t9 = sym.imp.free;
    0x0000ecb8 move a0, v1                   |     a0 = v1;
    0x0000ecbc jalr t9                       |     t9 ();
    0x0000ecc0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ecc4 b 0xeab8                      |     goto label_1;
                                             | label_8:
    0x0000ecc8 lw a2, -0x7fdc(gp)            |     a2 = *(gp);
    0x0000eccc lw t9, -0x74ac(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0000ecd0 move a3, a1                   |     a3 = a1;
                                             |     /* str.Signing_file__s_n */
    0x0000ecd4 addiu a2, a2, -0x7a0          |     a2 += -0x7a0;
    0x0000ecd8 addiu a1, zero, 1             |     a1 = 1;
    0x0000ecdc jalr t9                       |     t9 ();
    0x0000ece0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s0 != 0) {
    0x0000ece4 bnez s0, 0xeab4               |         goto label_2;
                                             |     }
    0x0000ece8 lw t9, -0x7f24(gp)            |     t9 = sym.sshkey_is_sk;
    0x0000ecec b 0xec14                      |     goto label_3;
                                             | label_10:
    0x0000ecf0 lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x0000ecf4 move a0, v0                   |     a0 = v0;
    0x0000ecf8 bal 0x1b0f0                   |     sym_ssh_err ();
    0x0000ecfc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ed00 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000ed04 addiu v0, zero, 2             |     v0 = 2;
    0x0000ed08 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x0000ed0c lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0000ed10 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x0000ed14 lw t9, -0x7fac(gp)            |     t9 = sym.sshlog;
                                             |     /* esilref: 'sshsig_armor' */
    0x0000ed18 addiu v1, v1, -0xac0          |     v1 += -0xac0;
    0x0000ed1c sw v1, 0x18(sp)               |     *(var_18h_2) = v1;
    0x0000ed20 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000ed24 addiu a3, zero, 1             |     a3 = 1;
    0x0000ed28 addiu a2, zero, 0x9f6         |     a2 = 0x9f6;
                                             |     /* str.sign_one */
    0x0000ed2c addiu a1, a1, 0x1da8          |     a1 += 0x1da8;
                                             |     /* str.ssh_keygen.c */
    0x0000ed30 addiu a0, a0, -0xe90          |     a0 += -0xe90;
    0x0000ed34 jalr t9                       |     t9 ();
    0x0000ed38 move s0, s4                   |     s0 = s4;
    0x0000ed3c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ed40 move s4, zero                 |     s4 = 0;
    0x0000ed44 b 0xeb5c                      |     goto label_4;
                                             | label_9:
    0x0000ed48 lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x0000ed4c move a0, v0                   |     a0 = v0;
    0x0000ed50 bal 0x1b0f0                   |     sym_ssh_err ();
    0x0000ed54 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ed58 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000ed5c addiu v0, zero, 2             |     v0 = 2;
    0x0000ed60 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x0000ed64 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0000ed68 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x0000ed6c lw t9, -0x7fac(gp)            |     t9 = sym.sshlog;
                                             |     /* str.Signing__s_failed */
    0x0000ed70 addiu v1, v1, -0x738          |     v1 += -0x738;
    0x0000ed74 sw s6, 0x1c(sp)               |     *(var_1ch) = s6;
    0x0000ed78 sw v1, 0x18(sp)               |     *(var_18h_2) = v1;
    0x0000ed7c sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000ed80 move a3, zero                 |     a3 = 0;
    0x0000ed84 addiu a2, zero, 0x9f2         |     a2 = 0x9f2;
                                             |     /* str.sign_one */
    0x0000ed88 addiu a1, a1, 0x1da8          |     a1 += 0x1da8;
                                             |     /* str.ssh_keygen.c */
    0x0000ed8c addiu a0, a0, -0xe90          |     a0 += -0xe90;
    0x0000ed90 jalr t9                       |     t9 ();
    0x0000ed94 move s4, zero                 |     s4 = 0;
    0x0000ed98 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ed9c b 0xeb5c                      |     goto label_4;
                                             | label_12:
    0x0000eda0 lw t9, -0x7f14(gp)            |     t9 = sym.xasprintf
    0x0000eda4 move a2, s6                   |     a2 = s6;
                                             |     /* str._s.sig */
    0x0000eda8 addiu a1, a1, -0x714          |     a1 += -0x714;
    0x0000edac addiu a0, sp, 0x44            |     a0 = sp + 0x44;
    0x0000edb0 jalr t9                       |     t9 ();
    0x0000edb4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000edb8 lw t9, -0x7f2c(gp)            |     t9 = *(gp);
    0x0000edbc addiu t9, t9, -0x170c         |     t9 += -aav.0x0000170c;
    0x0000edc0 lw a0, 0x44(sp)               |     a0 = *(var_44h);
    0x0000edc4 bal 0xe8f4                    |     fcn_0000e8f4 ();
    0x0000edc8 move s0, v0                   |     s0 = v0;
    0x0000edcc lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0000edd0 beqz v0, 0xeb5c               |         goto label_4;
                                             |     }
    0x0000edd4 lw t9, -0x78b0(gp)            |     t9 = sym.imp.open64;
    0x0000edd8 lw a0, 0x44(sp)               |     a0 = *(var_44h);
    0x0000eddc addiu a2, zero, 0x1b6         |     a2 = 0x1b6;
    0x0000ede0 addiu a1, zero, 0x301         |     a1 = 0x301;
    0x0000ede4 jalr t9                       |     t9 ();
    0x0000ede8 move s3, v0                   |     s3 = v0;
    0x0000edec addiu v0, zero, -1            |     v0 = -1;
    0x0000edf0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s3 == v0) {
    0x0000edf4 beq s3, v0, 0xf010            |         goto label_16;
                                             |     }
    0x0000edf8 lw t9, -0x76e4(gp)            |     t9 = sym.imp.strlen;
    0x0000edfc move a0, s4                   |     a0 = s4;
    0x0000ee00 jalr t9                       |     t9 ();
    0x0000ee04 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ee08 move a3, v0                   |     a3 = v0;
    0x0000ee0c move a2, s4                   |     a2 = s4;
    0x0000ee10 lw t9, -0x7f10(gp)            |     t9 = sym.atomicio;
    0x0000ee14 lw a0, -0x751c(gp)            |     a0 = *((gp - 7495));
    0x0000ee18 move a1, s3                   |     a1 = s3;
    0x0000ee1c jalr t9                       |     t9 ();
    0x0000ee20 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ee24 move a0, s4                   |     a0 = s4;
    0x0000ee28 lw t9, -0x76e4(gp)            |     t9 = sym.imp.strlen;
    0x0000ee2c move s0, v0                   |     s0 = v0;
    0x0000ee30 jalr t9                       |     t9 ();
    0x0000ee34 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s0 != v0) {
    0x0000ee38 bne s0, v0, 0xef94            |         goto label_17;
                                             |     }
    0x0000ee3c lw s0, 0x6144(s5)             |     s0 = *((s5 + 6225));
    0x0000ee40 lw a3, 0x44(sp)               |     a3 = *(var_44h);
                                             |     if (s0 == 0) {
    0x0000ee44 beqz s0, 0xeed8               |         goto label_18;
                                             |     }
    0x0000ee48 move s0, zero                 |     s0 = 0;
                                             |     do {
                                             | label_7:
    0x0000ee4c lw t9, -0x75e4(gp)            |         t9 = sym.imp.free;
    0x0000ee50 move a0, a3                   |         a0 = a3;
    0x0000ee54 jalr t9                       |         t9 ();
    0x0000ee58 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000ee5c lw t9, -0x75e4(gp)            |         t9 = sym.imp.free;
    0x0000ee60 lw a0, 0x48(sp)               |         a0 = *(var_48h);
    0x0000ee64 jalr t9                       |         t9 ();
    0x0000ee68 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000ee6c lw t9, -0x75e4(gp)            |         t9 = sym.imp.free;
    0x0000ee70 move a0, s4                   |         a0 = s4;
    0x0000ee74 jalr t9                       |         t9 ();
    0x0000ee78 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (s1 != 0) {
    0x0000ee7c beqz s1, 0xeea4               |             
    0x0000ee80 lw t9, -0x76e4(gp)            |             t9 = sym.imp.strlen;
    0x0000ee84 move a0, s1                   |             a0 = s1;
    0x0000ee88 jalr t9                       |             t9 ();
    0x0000ee8c lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0000ee90 move a1, v0                   |             a1 = v0;
    0x0000ee94 lw t9, -0x7fc4(gp)            |             t9 = sym.freezero;
    0x0000ee98 move a0, s1                   |             a0 = s1;
    0x0000ee9c jalr t9                       |             t9 ();
    0x0000eea0 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |         }
    0x0000eea4 lw t9, -0x7f9c(gp)            |         t9 = sym.sshbuf_free;
    0x0000eea8 lw a0, 0x40(sp)               |         a0 = *(var_40h);
    0x0000eeac bal 0x1b7ac                   |         sym_sshbuf_free ();
    0x0000eeb0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000eeb4 lw t9, -0x7f9c(gp)            |         t9 = sym.sshbuf_free;
    0x0000eeb8 lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x0000eebc bal 0x1b7ac                   |         sym_sshbuf_free ();
    0x0000eec0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000eec4 lw t9, -0x779c(gp)            |         t9 = sym.imp.close;
    0x0000eec8 move a0, s3                   |         a0 = s3;
    0x0000eecc jalr t9                       |         t9 ();
    0x0000eed0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000eed4 b 0xebd4                      |         goto label_5;
                                             | label_18:
    0x0000eed8 lw v0, -0x76c4(gp)            |         v0 = *((gp - 7601));
    0x0000eedc lw a2, -0x7fdc(gp)            |         a2 = *(gp);
    0x0000eee0 lw t9, -0x74ac(gp)            |         t9 = sym.imp.__fprintf_chk
    0x0000eee4 lw a0, (v0)                   |         a0 = *(v0);
                                             |         /* str.Write_signature_to__s_n */
    0x0000eee8 addiu a2, a2, -0x6e0          |         a2 += -0x6e0;
    0x0000eeec addiu a1, zero, 1             |         a1 = 1;
    0x0000eef0 jalr t9                       |         t9 ();
    0x0000eef4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0000eef8 lw a3, 0x44(sp)               |         a3 = *(var_44h);
    0x0000eefc b 0xee4c                      |         
                                             |     } while (1);
                                             | label_14:
    0x0000ef00 lw t9, -0x7f50(gp)            |     t9 = sym.sshkey_type;
    0x0000ef04 move a0, s4                   |     a0 = s4;
    0x0000ef08 bal 0x1d55c                   |     sym_sshkey_type ();
    0x0000ef0c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ef10 move a2, v0                   |     a2 = v0;
    0x0000ef14 addiu a0, sp, 0x48            |     a0 = sp + 0x48;
    0x0000ef18 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0000ef1c lw t9, -0x7f14(gp)            |     t9 = sym.xasprintf
                                             |     /* str.Enter_PIN_for__s_key:_ */
    0x0000ef20 addiu a1, a1, -0x78c          |     a1 += -0x78c;
    0x0000ef24 jalr t9                       |     t9 ();
    0x0000ef28 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ef2c lw a0, 0x48(sp)               |     a0 = *(var_48h);
    0x0000ef30 lw t9, -0x7fc0(gp)            |     t9 = sym.read_passphrase;
    0x0000ef34 addiu a1, zero, 2             |     a1 = 2;
    0x0000ef38 jalr t9                       |     t9 ();
    0x0000ef3c move s1, v0                   |     s1 = v0;
    0x0000ef40 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0000ef44 beqz v0, 0xf0cc               |         goto label_19;
                                             |     }
    0x0000ef48 lbu v0, 0x38(s4)              |     v0 = *((s4 + 56));
    0x0000ef4c b 0xec34                      |     goto label_6;
                                             | label_11:
    0x0000ef50 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000ef54 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0000ef58 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str.buffer_error */
    0x0000ef5c addiu v0, v0, -0x724          |     v0 += -0x724;
    0x0000ef60 lw t9, -0x7fac(gp)            |     t9 = sym.sshlog;
    0x0000ef64 sw v0, 0x18(sp)               |     *(var_18h_2) = v0;
    0x0000ef68 addiu v0, zero, 2             |     v0 = 2;
    0x0000ef6c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000ef70 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000ef74 addiu a3, zero, 1             |     a3 = 1;
    0x0000ef78 addiu a2, zero, 0x9fa         |     a2 = 0x9fa;
                                             |     /* str.sign_one */
    0x0000ef7c addiu a1, a1, 0x1da8          |     a1 += 0x1da8;
                                             |     /* str.ssh_keygen.c */
    0x0000ef80 addiu a0, a0, -0xe90          |     a0 += -0xe90;
    0x0000ef84 jalr t9                       |     t9 ();
    0x0000ef88 addiu s0, zero, -2            |     s0 = -2;
    0x0000ef8c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000ef90 b 0xeb5c                      |     goto label_4;
                                             | label_17:
    0x0000ef94 lw t9, -0x7418(gp)            |     t9 = sym.imp.__errno_location;
    0x0000ef98 addiu s0, zero, -0x18         |     s0 = -0x18;
    0x0000ef9c jalr t9                       |     t9 ();
    0x0000efa0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000efa4 lw s6, (v0)                   |     s6 = *(v0);
    0x0000efa8 move s5, v0                   |     s5 = v0;
    0x0000efac lw t9, -0x7454(gp)            |     t9 = sym.imp.strerror;
    0x0000efb0 move a0, s6                   |     a0 = s6;
    0x0000efb4 lw s7, 0x44(sp)               |     s7 = *(var_44h);
    0x0000efb8 jalr t9                       |     t9 ();
    0x0000efbc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000efc0 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0000efc4 move a3, zero                 |     a3 = 0;
    0x0000efc8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000efcc lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0000efd0 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str.Cannot_write_to__s:__s */
    0x0000efd4 addiu v0, v0, -0x6f8          |     v0 += -0x6f8;
    0x0000efd8 lw t9, -0x7fac(gp)            |     t9 = sym.sshlog;
    0x0000efdc sw v0, 0x18(sp)               |     *(var_18h_2) = v0;
    0x0000efe0 addiu v0, zero, 2             |     v0 = 2;
    0x0000efe4 sw s7, 0x1c(sp)               |     *(var_1ch) = s7;
    0x0000efe8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000efec sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000eff0 addiu a2, zero, 0xa12         |     a2 = 0xa12;
                                             |     /* str.sign_one */
    0x0000eff4 addiu a1, a1, 0x1da8          |     a1 += 0x1da8;
                                             |     /* str.ssh_keygen.c */
    0x0000eff8 addiu a0, a0, -0xe90          |     a0 += -0xe90;
    0x0000effc jalr t9                       |     t9 ();
    0x0000f000 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000f004 sw s6, (s5)                   |     *(s5) = s6;
    0x0000f008 lw a3, 0x44(sp)               |     a3 = *(var_44h);
    0x0000f00c b 0xee4c                      |     goto label_7;
                                             | label_16:
    0x0000f010 lw t9, -0x7418(gp)            |     t9 = sym.imp.__errno_location;
    0x0000f014 addiu s0, zero, -0x18         |     s0 = -0x18;
    0x0000f018 jalr t9                       |     t9 ();
    0x0000f01c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000f020 lw s5, (v0)                   |     s5 = *(v0);
    0x0000f024 move s3, v0                   |     s3 = v0;
    0x0000f028 lw t9, -0x7454(gp)            |     t9 = sym.imp.strerror;
    0x0000f02c move a0, s5                   |     a0 = s5;
    0x0000f030 lw s6, 0x44(sp)               |     s6 = *(var_44h);
    0x0000f034 jalr t9                       |     t9 ();
    0x0000f038 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000f03c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0000f040 sw s6, 0x1c(sp)               |     *(var_1ch) = s6;
    0x0000f044 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000f048 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0000f04c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str.Cannot_open__s:__s */
    0x0000f050 addiu v0, v0, -0x70c          |     v0 += -0x70c;
    0x0000f054 lw t9, -0x7fac(gp)            |     t9 = sym.sshlog;
    0x0000f058 sw v0, 0x18(sp)               |     *(var_18h_2) = v0;
    0x0000f05c addiu v0, zero, 2             |     v0 = 2;
    0x0000f060 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000f064 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000f068 move a3, zero                 |     a3 = 0;
    0x0000f06c addiu a2, zero, 0xa09         |     a2 = 0xa09;
                                             |     /* str.sign_one */
    0x0000f070 addiu a1, a1, 0x1da8          |     a1 += 0x1da8;
                                             |     /* str.ssh_keygen.c */
    0x0000f074 addiu a0, a0, -0xe90          |     a0 += -0xe90;
    0x0000f078 jalr t9                       |     t9 ();
    0x0000f07c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0000f080 sw s5, (s3)                   |     *(s3) = s5;
    0x0000f084 b 0xeb5c                      |     goto label_4;
                                             | label_13:
    0x0000f088 lw t9, -0x77e8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000f08c jalr t9                       |     t9 ();
    0x0000f090 nop                           |     
                                             | label_15:
    0x0000f094 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000f098 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
                                             |     /* esilref: 'fingerprint failed' */
    0x0000f09c addiu v0, v0, -0x3dc          |     v0 += -0x3dc;
    0x0000f0a0 sw v0, 0x18(sp)               |     *(var_18h_2) = v0;
    0x0000f0a4 addiu v0, zero, 1             |     v0 = 1;
    0x0000f0a8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000f0ac sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000f0b0 addiu a3, zero, 1             |     a3 = 1;
    0x0000f0b4 addiu a2, zero, 0x9ea         |     a2 = 0x9ea;
                                             |     do {
    0x0000f0b8 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x0000f0bc lw a0, -0x7fdc(gp)            |         a0 = *(gp);
                                             |         /* str.sign_one */
    0x0000f0c0 addiu a1, a1, 0x1da8          |         a1 += 0x1da8;
                                             |         /* str.ssh_keygen.c */
    0x0000f0c4 addiu a0, a0, -0xe90          |         a0 += -0xe90;
    0x0000f0c8 jalr t9                       |         t9 ();
                                             | label_19:
    0x0000f0cc lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x0000f0d0 lw t9, -0x7fbc(gp)            |         t9 = sym.sshfatal;
                                             |         /* str.couldnt_read_PIN */
    0x0000f0d4 addiu v0, v0, -0x774          |         v0 += -0x774;
    0x0000f0d8 sw v0, 0x18(sp)               |         *(var_18h_2) = v0;
    0x0000f0dc addiu v0, zero, 1             |         v0 = 1;
    0x0000f0e0 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0000f0e4 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x0000f0e8 addiu a3, zero, 1             |         a3 = 1;
    0x0000f0ec addiu a2, zero, 0x9e5         |         a2 = 0x9e5;
    0x0000f0f0 b 0xf0b8                      |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/ssh-keygen @ 0x10194 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00010194 ()                  | void fcn_00010194 () {
    0x00010194 lui gp, 9                     |     
    0x00010198 addiu gp, gp, -0x40f4         |     
    0x0001019c addu gp, gp, t9               |     gp += t9;
    0x000101a0 addiu sp, sp, -0xf8           |     
    0x000101a4 lw v0, -0x773c(gp)            |     v0 = *((gp - 7631));
    0x000101a8 sw gp, 0x40(sp)               |     *(var_40h) = gp;
    0x000101ac sw ra, 0xf4(sp)               |     *(var_f4h) = ra;
    0x000101b0 sw s6, 0xe8(sp)               |     *(var_e8h) = s6;
    0x000101b4 sw s5, 0xe4(sp)               |     *(var_e4h) = s5;
    0x000101b8 sw s4, 0xe0(sp)               |     *(var_e0h) = s4;
    0x000101bc sw s3, 0xdc(sp)               |     *(var_dch) = s3;
    0x000101c0 sw s2, 0xd8(sp)               |     *(var_d8h) = s2;
    0x000101c4 sw s1, 0xd4(sp)               |     *(var_d4h) = s1;
    0x000101c8 sw s0, 0xd0(sp)               |     *(var_d0h) = s0;
    0x000101cc lw v1, 0x10c(sp)              |     v1 = *(arg_10ch);
    0x000101d0 sw fp, 0xf0(sp)               |     *(var_f0h) = fp;
    0x000101d4 sw s7, 0xec(sp)               |     *(var_ech) = s7;
    0x000101d8 lw v0, (v0)                   |     v0 = *(v0);
    0x000101dc sw v1, 0x48(sp)               |     *(var_48h) = v1;
    0x000101e0 lw v1, 0x118(sp)              |     v1 = *(arg_118h);
    0x000101e4 lw t9, -0x7ed0(gp)            |     t9 = sym.pkcs11_init;
    0x000101e8 sw v0, 0xcc(sp)               |     *(var_cch) = v0;
    0x000101ec addiu v0, zero, -1            |     v0 = -1;
    0x000101f0 move s6, a0                   |     s6 = a0;
    0x000101f4 sw v1, 0x58(sp)               |     *(var_58h) = v1;
    0x000101f8 addiu a0, zero, 1             |     a0 = 1;
    0x000101fc sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x00010200 lw s0, -0x7fcc(gp)            |     s0 = *((gp - 8179));
    0x00010204 move s2, a1                   |     s2 = a1;
    0x00010208 move s3, a2                   |     s3 = a2;
    0x0001020c lw s4, 0x108(sp)              |     s4 = *(arg_108h);
    0x00010210 jalr t9                       |     t9 ();
    0x00010214 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010218 lw a1, (s6)                   |     a1 = *(s6);
    0x0001021c lw t9, -0x7efc(gp)            |     t9 = sym.tilde_expand_filename;
    0x00010220 move a0, s2                   |     a0 = s2;
    0x00010224 jalr t9                       |     t9 ();
    0x00010228 lw s5, 0x5108(s0)             |     s5 = *((s0 + 5186));
    0x0001022c lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010230 move s1, v0                   |     s1 = v0;
    0x00010234 sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
                                             |     if (s5 == 0) {
    0x00010238 beqz s5, 0x108fc              |         goto label_20;
                                             |     }
    0x0001023c lw t9, -0x7ecc(gp)            |     t9 = sym.sshkey_load_public;
    0x00010240 move a2, zero                 |     a2 = 0;
    0x00010244 addiu a1, sp, 0x88            |     a1 = sp + 0x88;
    0x00010248 move a0, v0                   |     a0 = v0;
    0x0001024c sw zero, 0x84(sp)             |     *(var_84h) = 0;
    0x00010250 jalr t9                       |     t9 ();
    0x00010254 move s5, v0                   |     s5 = v0;
    0x00010258 lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (v0 != 0) {
    0x0001025c bnez v0, 0x10fbc              |         goto label_21;
                                             |     }
    0x00010260 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
    0x00010264 lw t9, -0x7ec8(gp)            |     t9 = sym.pkcs11_add_provider;
    0x00010268 lw a0, 0x5108(s0)             |     a0 = *((s0 + 5186));
    0x0001026c lw a1, 0x5134(v0)             |     a1 = *((v0 + 5197));
    0x00010270 move a3, zero                 |     a3 = 0;
    0x00010274 addiu a2, sp, 0x84            |     a2 = sp + 0x84;
    0x00010278 jalr t9                       |     t9 ();
    0x0001027c lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010280 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00010284 move s0, v0                   |     s0 = v0;
    0x00010288 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0001028c lw s1, -0x7fdc(gp)            |     s1 = *(gp);
    0x00010290 lw s7, -0x7fdc(gp)            |     s7 = *(gp);
                                             |     /* str._d_keys */
    0x00010294 addiu v0, v0, -0x39c          |     v0 += -aav.0x0000039c;
    0x00010298 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0001029c lw t9, -0x7fac(gp)            |     t9 = sym.sshlog;
    0x000102a0 addiu v0, zero, 7             |     v0 = 7;
    0x000102a4 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000102a8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000102ac addiu a3, zero, 1             |     a3 = 1;
    0x000102b0 addiu a2, zero, 0x6a8         |     a2 = 0x6a8;
                                             |     /* str.load_pkcs11_key */
    0x000102b4 addiu a1, s1, 0x1d20          |     a1 = s1 + 0x1d20;
                                             |     /* str.ssh_keygen.c */
    0x000102b8 addiu a0, s7, -0xe90          |     a0 = s7 + -0xe90;
    0x000102bc jalr t9                       |     t9 ();
    0x000102c0 lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (s0 <= 0) {
    0x000102c4 blez s0, 0x11008              |         goto label_22;
                                             |     }
    0x000102c8 lw s3, 0x84(sp)               |     s3 = *(var_84h);
    0x000102cc move s1, zero                 |     s1 = 0;
    0x000102d0 b 0x102f8                     |     
                                             |     while (v0 != 0) {
    0x000102d4 lw s3, 0x84(sp)               |         s3 = *(var_84h);
    0x000102d8 lw t9, -0x7ec4(gp)            |         t9 = *(gp);
    0x000102dc move a0, s5                   |         a0 = s5;
    0x000102e0 addiu a1, zero, 1             |         a1 = 1;
    0x000102e4 lwx s1, fp(s3)                |         __asm ("lwx s1, fp(s3)");
    0x000102e8 jalr t9                       |         t9 ();
    0x000102ec move s5, v0                   |         s5 = v0;
    0x000102f0 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |         if (s0 == v0) {
    0x000102f4 beq s0, v0, 0x10348           |             goto label_23;
                                             |         }
                                             | label_0:
    0x000102f8 sll fp, s5, 2                 |         fp = s5 << 2;
    0x000102fc lw t9, -0x7ec0(gp)            |         t9 = sym.sshkey_equal_public;
    0x00010300 lwx a1, fp(s3)                |         __asm ("lwx a1, fp(s3)");
    0x00010304 lw a0, 0x88(sp)               |         a0 = *(var_88h);
    0x00010308 bal 0x1e5b4                   |         sym_sshkey_equal_public ();
    0x0001030c lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010310 bnez v0, 0x102d4              |         
                                             |     }
    0x00010314 lw a0, 0x84(sp)               |     a0 = *(var_84h);
    0x00010318 lw t9, -0x7f4c(gp)            |     t9 = sym.sshkey_free;
    0x0001031c lwx a0, fp(a0)                |     __asm ("lwx a0, fp(a0)");
    0x00010320 bal 0x1e0a4                   |     sym_sshkey_free ();
    0x00010324 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010328 move a0, s5                   |     a0 = s5;
    0x0001032c addiu a1, zero, 1             |     a1 = 1;
    0x00010330 lw t9, -0x7ec4(gp)            |     t9 = *(gp);
    0x00010334 lw s3, 0x84(sp)               |     s3 = *(var_84h);
    0x00010338 jalr t9                       |     t9 ();
    0x0001033c move s5, v0                   |     s5 = v0;
    0x00010340 lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (s0 != v0) {
    0x00010344 bne s0, v0, 0x102f8           |         goto label_0;
                                             |     }
                                             | label_23:
    0x00010348 lw t9, -0x75e4(gp)            |     t9 = sym.imp.free;
    0x0001034c move a0, s3                   |     a0 = s3;
    0x00010350 jalr t9                       |     t9 ();
    0x00010354 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010358 lw t9, -0x7f4c(gp)            |     t9 = sym.sshkey_free;
    0x0001035c lw a0, 0x88(sp)               |     a0 = *(var_88h);
    0x00010360 bal 0x1e0a4                   |     sym_sshkey_free ();
    0x00010364 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010368 sw s1, 0x74(sp)               |     *(var_74h) = s1;
                                             |     if (s1 == 0) {
    0x0001036c beqz s1, 0x10c00              |         goto label_24;
                                             |     }
                                             | label_7:
    0x00010370 move s5, zero                 |     s5 = 0;
                                             | label_8:
    0x00010374 lw s0, -0x7fcc(gp)            |     s0 = *((gp - 8179));
    0x00010378 lw t9, -0x75e4(gp)            |     t9 = sym.imp.free;
    0x0001037c lw a0, 0x7c(sp)               |     a0 = *(var_7ch);
    0x00010380 sw s0, 0x5c(sp)               |     *(var_5ch) = s0;
    0x00010384 jalr t9                       |     t9 ();
    0x00010388 lw a0, 0x510c(s0)             |     a0 = *((s0 + 5187));
    0x0001038c lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (a0 == 0) {
    0x00010390 beqz a0, 0x10810              |         goto label_25;
                                             |     }
    0x00010394 lw t9, -0x7ebc(gp)            |     t9 = sym.sshkey_type_from_name;
    0x00010398 bal 0x1d77c                   |     sym_sshkey_type_from_name ();
    0x0001039c nop                           |     
    0x000103a0 lw v1, 0x74(sp)               |     v1 = *(var_74h);
    0x000103a4 lw a0, (v1)                   |     a0 = *(v1);
    0x000103a8 lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (v0 != a0) {
    0x000103ac bne v0, a0, 0x10b60           |         goto label_26;
                                             |     }
                                             | label_2:
    0x000103b0 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
                                             | label_1:
    0x000103b4 lw t9, -0x7f5c(gp)            |     t9 = sym.sshkey_fingerprint;
    0x000103b8 move a2, zero                 |     a2 = 0;
    0x000103bc lw a1, 0x405c(v0)             |     a1 = *((v0 + 4119));
    0x000103c0 move a0, v1                   |     a0 = v1;
    0x000103c4 bal 0x1eef8                   |     sym_sshkey_fingerprint ();
    0x000103c8 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x000103cc sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x000103d0 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
    0x000103d4 lw a1, 0x511c(v0)             |     a1 = *((v0 + 5191));
    0x000103d8 lw t9, -0x7f2c(gp)            |     t9 = *(gp);
                                             |     if (a1 != 0) {
    0x000103dc beqz a1, 0x103f8              |         
    0x000103e0 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x000103e4 addiu a2, zero, 1             |         a2 = 1;
    0x000103e8 addiu t9, t9, -0x393c         |         t9 += -0x393c;
                                             |         /* esilref: 'force-command' */
    0x000103ec addiu a0, a0, -0x8e8          |         a0 += -0x8e8;
    0x000103f0 bal 0xc6c4                    |         fcn_0000c6c4 ();
    0x000103f4 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |     }
    0x000103f8 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
    0x000103fc lw a1, 0x5118(v0)             |     a1 = *((v0 + 5190));
    0x00010400 lw t9, -0x7f2c(gp)            |     t9 = *(gp);
                                             |     if (a1 != 0) {
    0x00010404 beqz a1, 0x10420              |         
    0x00010408 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x0001040c addiu a2, zero, 1             |         a2 = 1;
    0x00010410 addiu t9, t9, -0x393c         |         t9 += -0x393c;
                                             |         /* esilref: 'source-address' */
    0x00010414 addiu a0, a0, -0x8d8          |         a0 += -0x8d8;
    0x00010418 bal 0xc6c4                    |         fcn_0000c6c4 ();
    0x0001041c lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |     }
    0x00010420 lw s0, -0x7fcc(gp)            |     s0 = *((gp - 8179));
    0x00010424 lw v0, 0x404c(s0)             |     v0 = *((s0 + 4115));
    0x00010428 andi v0, v0, 1                |     v0 &= 1;
    0x0001042c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (v0 == 0) {
    0x00010430 bnel v0, zero, 0x10c38        |         goto label_27;
                                             |     }
                                             | label_10:
    0x00010434 lw v0, 0x404c(s0)             |     v0 = *((s0 + 4115));
    0x00010438 andi v0, v0, 2                |     v0 &= 2;
    0x0001043c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (v0 == 0) {
    0x00010440 bnel v0, zero, 0x10c78        |         goto label_28;
                                             |     }
                                             | label_12:
    0x00010444 lw v0, 0x404c(s0)             |     v0 = *((s0 + 4115));
    0x00010448 andi v0, v0, 4                |     v0 &= 4;
    0x0001044c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (v0 == 0) {
    0x00010450 bnel v0, zero, 0x10c58        |         goto label_29;
                                             |     }
                                             | label_11:
    0x00010454 lw v0, 0x404c(s0)             |     v0 = *((s0 + 4115));
    0x00010458 andi v0, v0, 8                |     v0 &= 8;
    0x0001045c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (v0 == 0) {
    0x00010460 bnel v0, zero, 0x10cf8        |         goto label_30;
                                             |     }
                                             | label_16:
    0x00010464 lw v0, 0x404c(s0)             |     v0 = *((s0 + 4115));
    0x00010468 andi v0, v0, 0x10             |     v0 &= 0x10;
    0x0001046c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (v0 == 0) {
    0x00010470 bnel v0, zero, 0x10cd8        |         goto label_31;
                                             |     }
                                             | label_15:
    0x00010474 lw v0, 0x404c(s0)             |     v0 = *((s0 + 4115));
    0x00010478 andi v0, v0, 0x20             |     v0 &= 0x20;
    0x0001047c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (v0 == 0) {
    0x00010480 bnel v0, zero, 0x10cb8        |         goto label_32;
                                             |     }
                                             | label_14:
    0x00010484 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
    0x00010488 lw a1, 0x5110(v0)             |     a1 = *((v0 + 5188));
    0x0001048c lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
                                             |     if (a1 != 0) {
    0x00010490 bnez a1, 0x10c98              |         goto label_33;
                                             |     }
                                             | label_13:
    0x00010494 lw v0, 0x114(sp)              |     v0 = *(arg_114h);
    0x00010498 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
                                             |     if (v0 <= 0) {
    0x0001049c blez v0, 0x107bc              |         goto label_34;
                                             |     }
    0x000104a0 lw s2, -0x7fdc(gp)            |     s2 = *(gp);
    0x000104a4 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x000104a8 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
    0x000104ac sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x000104b0 sw v0, 0x60(sp)               |     *(var_60h) = v0;
    0x000104b4 lw v0, -0x7f2c(gp)            |     v0 = *(gp);
    0x000104b8 move s1, zero                 |     s1 = 0;
    0x000104bc addiu v0, v0, -0x384c         |     v0 += -0x384c;
    0x000104c0 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x000104c4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000104c8 move s3, zero                 |     s3 = 0;
    0x000104cc addiu v0, v0, 0x5744          |     v0 += 0x5744;
                                             |     /* esilref: '' */
    0x000104d0 addiu s2, s2, -0xddc          |     s2 += -0xddc;
    0x000104d4 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
                                             |     do {
    0x000104d8 lw v0, 0x50(sp)               |         v0 = *(var_50h);
    0x000104dc lw a0, 0x5128(v0)             |         a0 = *((v0 + 5194));
    0x000104e0 lw t9, -0x7fc8(gp)            |         t9 = sym.xstrdup;
                                             |         if (a0 != 0) {
    0x000104e4 bnez a0, 0x10834              |             goto label_35;
                                             |         }
    0x000104e8 move s0, zero                 |         s0 = 0;
                                             | label_3:
    0x000104ec lw v0, 0x58(sp)               |         v0 = *(var_58h);
    0x000104f0 sll a0, s3, 2                 |         a0 = s3 << 2;
    0x000104f4 lw t9, -0x7efc(gp)            |         t9 = sym.tilde_expand_filename;
    0x000104f8 lw a1, (s6)                   |         a1 = *(s6);
    0x000104fc lwx a0, a0(v0)                |         __asm ("lwx a0, a0(v0)");
    0x00010500 jalr t9                       |         t9 ();
    0x00010504 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010508 addiu a2, sp, 0x84            |         a2 = sp + 0x84;
    0x0001050c addiu a1, sp, 0x78            |         a1 = sp + 0x78;
    0x00010510 lw t9, -0x7ecc(gp)            |         t9 = sym.sshkey_load_public;
    0x00010514 move a0, v0                   |         a0 = v0;
    0x00010518 sw v0, 0x7c(sp)               |         *(var_7ch) = v0;
    0x0001051c jalr t9                       |         t9 ();
    0x00010520 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |         if (v0 != 0) {
    0x00010524 bnez v0, 0x10e18              |             goto label_36;
                                             |         }
    0x00010528 lw t9, -0x7eb8(gp)            |         t9 = sym.sshkey_is_cert;
    0x0001052c lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x00010530 bal 0x1dd4c                   |         sym_sshkey_is_cert ();
    0x00010534 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |         if (v0 != 0) {
    0x00010538 bnez v0, 0x10e58              |             goto label_37;
                                             |         }
    0x0001053c lw t9, -0x7eb4(gp)            |         t9 = sym.sshkey_to_certified;
    0x00010540 lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x00010544 bal 0x20dc0                   |         sym_sshkey_to_certified ();
    0x00010548 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |         if (v0 != 0) {
    0x0001054c bnez v0, 0x10e9c              |             goto label_38;
                                             |         }
    0x00010550 lw v0, 0x78(sp)               |         v0 = *(var_78h);
    0x00010554 lw v1, 0x60(sp)               |         v1 = *(var_60h);
    0x00010558 lw a0, -0x7fcc(gp)            |         a0 = *((gp - 8179));
    0x0001055c lw t9, -0x7fc8(gp)            |         t9 = sym.xstrdup;
    0x00010560 lw a1, 0x4058(v1)             |         a1 = *((v1 + 4118));
    0x00010564 lw v1, 0x44(v0)               |         v1 = *((v0 + 17));
    0x00010568 lw a0, 0x512c(a0)             |         a0 = *((a0 + 5195));
    0x0001056c sw a1, 4(v1)                  |         *((v1 + 1)) = a1;
    0x00010570 lw v1, 0x44(v0)               |         v1 = *((v0 + 17));
    0x00010574 lw a1, 0x48(sp)               |         a1 = *(var_48h);
    0x00010578 sw s4, 8(v1)                  |         *((v1 + 2)) = s4;
    0x0001057c sw a1, 0xc(v1)                |         *((v1 + 3)) = a1;
    0x00010580 lw a1, 0x44(v0)               |         a1 = *((v0 + 17));
    0x00010584 sw a1, 0x54(sp)               |         *(var_54h) = a1;
    0x00010588 jalr t9                       |         t9 ();
    0x0001058c lw a1, 0x54(sp)               |         a1 = *(var_54h);
    0x00010590 lw v1, 0x78(sp)               |         v1 = *(var_78h);
    0x00010594 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010598 sw v0, 0x10(a1)               |         *((a1 + 4)) = v0;
    0x0001059c lw v0, 0x44(v1)               |         v0 = *((v1 + 17));
    0x000105a0 lw a0, -0x7fcc(gp)            |         a0 = *((gp - 8179));
    0x000105a4 lw t9, 0x4c(sp)               |         t9 = *(var_4ch);
    0x000105a8 sw s0, 0x14(v0)               |         *((v0 + 5)) = s0;
    0x000105ac lw v0, 0x44(v1)               |         v0 = *((v1 + 17));
    0x000105b0 lw t0, 0x5120(a0)             |         t0 = *((a0 + 5192));
    0x000105b4 lw t1, 0x5124(a0)             |         t1 = *((a0 + 5193));
    0x000105b8 sw s1, 0x18(v0)               |         *((v0 + 6)) = s1;
    0x000105bc lw v0, 0x44(v1)               |         v0 = *((v1 + 17));
    0x000105c0 lw a0, -0x7fcc(gp)            |         a0 = *((gp - 8179));
    0x000105c4 addiu a1, zero, 1             |         a1 = 1;
    0x000105c8 sw t0, 0x20(v0)               |         *((v0 + 8)) = t0;
    0x000105cc sw t1, 0x24(v0)               |         *((v0 + 9)) = t1;
    0x000105d0 lw v0, 0x44(v1)               |         v0 = *((v1 + 17));
    0x000105d4 lw a2, 0x4050(a0)             |         a2 = *((a0 + 4116));
    0x000105d8 lw a3, 0x4054(a0)             |         a3 = *((a0 + 4117));
    0x000105dc sw a2, 0x28(v0)               |         *((v0 + 10)) = a2;
    0x000105e0 sw a3, 0x2c(v0)               |         *((v0 + 11)) = a3;
    0x000105e4 lw v0, 0x44(v1)               |         v0 = *((v1 + 17));
    0x000105e8 lw a0, 0x30(v0)               |         a0 = *((v0 + 12));
    0x000105ec jalr t9                       |         t9 ();
    0x000105f0 lw v0, 0x78(sp)               |         v0 = *(var_78h);
    0x000105f4 lw t9, 0x4c(sp)               |         t9 = *(var_4ch);
    0x000105f8 addiu a1, zero, 2             |         a1 = 2;
    0x000105fc lw v0, 0x44(v0)               |         v0 = *((v0 + 17));
    0x00010600 lw a0, 0x34(v0)               |         a0 = *((v0 + 13));
    0x00010604 jalr t9                       |         t9 ();
    0x00010608 lw v0, 0x78(sp)               |         v0 = *(var_78h);
    0x0001060c lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010610 lw a0, 0x74(sp)               |         a0 = *(var_74h);
    0x00010614 lw a1, 0x44(v0)               |         a1 = *((v0 + 17));
    0x00010618 lw t9, -0x7eb0(gp)            |         t9 = sym.sshkey_from_private;
    0x0001061c addiu a1, a1, 0x38            |         a1 += 0x38;
    0x00010620 bal 0x20084                   |         sym_sshkey_from_private ();
    0x00010624 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |         if (v0 != 0) {
    0x00010628 bnez v0, 0x10edc              |             goto label_39;
                                             |         }
    0x0001062c lw v1, 0x70(sp)               |         v1 = *(var_70h);
    0x00010630 addiu v0, zero, -1            |         v0 = -1;
    0x00010634 lw a1, 0x74(sp)               |         a1 = *(var_74h);
                                             |         if (v1 != v0) {
    0x00010638 beq v1, v0, 0x1064c           |             
    0x0001063c lw v0, 4(a1)                  |             v0 = *((a1 + 1));
    0x00010640 andi v0, v0, 1                |             v0 &= 1;
    0x00010644 lw v0, -0x7fcc(gp)            |             v0 = *((gp - 8179));
                                             |             if (v0 != 0) {
    0x00010648 bnez v0, 0x10a60              |                 goto label_40;
                                             |             }
                                             |         }
    0x0001064c lw t9, -0x7f24(gp)            |         t9 = sym.sshkey_is_sk;
    0x00010650 move a0, a1                   |         a0 = a1;
    0x00010654 bal 0x1ddb0                   |         sym_sshkey_is_sk ();
    0x00010658 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x0001065c lw v1, 0x74(sp)               |         v1 = *(var_74h);
                                             |         if (v0 != 0) {
    0x00010660 beqz v0, 0x10674              |             
    0x00010664 lbu v0, 0x38(v1)              |             v0 = *((v1 + 56));
    0x00010668 andi v0, v0, 1                |             v0 &= 1;
    0x0001066c lw t9, -0x7f50(gp)            |             t9 = sym.sshkey_type;
                                             |             if (v0 != 0) {
    0x00010670 bnez v0, 0x10d18              |                 goto label_41;
                                             |             }
                                             |         }
                                             | label_17:
    0x00010674 lw v0, 0x5c(sp)               |         v0 = *(var_5ch);
    0x00010678 lw t9, -0x7eac(gp)            |         t9 = sym.sshkey_certify;
    0x0001067c lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x00010680 lw a2, 0x510c(v0)             |         a2 = *((v0 + 5187));
    0x00010684 lw v0, -0x7fcc(gp)            |         v0 = *((gp - 8179));
    0x00010688 move a1, v1                   |         a1 = v1;
    0x0001068c sw s5, 0x10(sp)               |         *(var_10h) = s5;
    0x00010690 lw a3, 0x5104(v0)             |         a3 = *((v0 + 5185));
    0x00010694 bal 0x216f4                   |         sym_sshkey_certify ();
    0x00010698 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x0001069c lw a0, 0x64(sp)               |         a0 = *(var_64h);
    0x000106a0 move s0, v0                   |         s0 = v0;
    0x000106a4 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x000106a8 lw t9, -0x7ea8(gp)            |         t9 = sym.notify_complete;
                                             |         /* str.User_presence_confirmed */
    0x000106ac addiu a1, a1, -0x18c          |         a1 += -aav.0x0000018c;
    0x000106b0 jalr t9                       |         t9 ();
    0x000106b4 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |         if (s0 != 0) {
    0x000106b8 bnez s0, 0x10f7c              |             goto label_42;
                                             |         }
                                             | label_5:
    0x000106bc lw s0, 0x7c(sp)               |         s0 = *(var_7ch);
    0x000106c0 lw t9, -0x7584(gp)            |         t9 = sym.imp.strrchr;
    0x000106c4 addiu a1, zero, 0x2e          |         a1 = 0x2e;
    0x000106c8 move a0, s0                   |         a0 = s0;
    0x000106cc jalr t9                       |         t9 ();
    0x000106d0 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |         if (v0 != 0) {
    0x000106d4 beqz v0, 0x10704              |             
    0x000106d8 lw a1, -0x7fdc(gp)            |             a1 = *(gp);
    0x000106dc lw t9, -0x7944(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* esilref: '.pub' */
    0x000106e0 addiu a1, a1, 0x790           |             a1 += 0x790;
    0x000106e4 move a0, v0                   |             a0 = v0;
    0x000106e8 sw v0, 0x54(sp)               |             *(var_54h) = v0;
    0x000106ec jalr t9                       |             t9 ();
    0x000106f0 lw gp, 0x40(sp)               |             gp = *(var_40h);
                                             |             if (v0 != 0) {
    0x000106f4 bnez v0, 0x10704              |                 goto label_43;
                                             |             }
    0x000106f8 lw v1, 0x54(sp)               |             v1 = *(var_54h);
    0x000106fc sb zero, (v1)                 |             *(v1) = 0;
    0x00010700 lw s0, 0x7c(sp)               |             s0 = *(var_7ch);
                                             |         }
                                             | label_43:
    0x00010704 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x00010708 lw t9, -0x7f14(gp)            |         t9 = sym.xasprintf
    0x0001070c move a2, s0                   |         a2 = s0;
                                             |         /* str._s_cert.pub */
    0x00010710 addiu a1, a1, -0x15c          |         a1 += -aav.0x0000015c;
    0x00010714 addiu a0, sp, 0x80            |         a0 = sp + 0x80;
    0x00010718 jalr t9                       |         t9 ();
    0x0001071c lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010720 lw t9, -0x75e4(gp)            |         t9 = sym.imp.free;
    0x00010724 lw a0, 0x7c(sp)               |         a0 = *(var_7ch);
    0x00010728 jalr t9                       |         t9 ();
    0x0001072c lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010730 lw a2, 0x84(sp)               |         a2 = *(var_84h);
    0x00010734 lw a1, 0x80(sp)               |         a1 = *(var_80h);
    0x00010738 lw t9, -0x7ea4(gp)            |         t9 = sym.sshkey_save_public;
    0x0001073c lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x00010740 jalr t9                       |         t9 ();
    0x00010744 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |         if (v0 != 0) {
    0x00010748 bnez v0, 0x10f14              |             goto label_44;
                                             |         }
    0x0001074c lw v0, -0x7fcc(gp)            |         v0 = *((gp - 8179));
    0x00010750 lw v0, 0x6144(v0)             |         v0 = *((v0 + 6225));
    0x00010754 lw a0, 0x78(sp)               |         a0 = *(var_78h);
                                             |         if (v0 == 0) {
    0x00010758 beqz v0, 0x10970              |             goto label_45;
                                             |         }
                                             | label_4:
    0x0001075c lw t9, -0x7f4c(gp)            |         t9 = sym.sshkey_free;
    0x00010760 bal 0x1e0a4                   |         sym_sshkey_free ();
    0x00010764 nop                           |         
    0x00010768 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x0001076c lw t9, -0x75e4(gp)            |         t9 = sym.imp.free;
    0x00010770 lw a0, 0x80(sp)               |         a0 = *(var_80h);
    0x00010774 jalr t9                       |         t9 ();
    0x00010778 lw v0, 0x110(sp)              |         v0 = *(arg_110h);
    0x0001077c lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |         if (v0 != 0) {
    0x00010780 beqz v0, 0x1079c              |             
    0x00010784 addiu v0, s4, 1               |             v0 = s4 + 1;
    0x00010788 lw v1, 0x48(sp)               |             v1 = *(var_48h);
    0x0001078c sltu s4, v0, s4               |             s4 = (v0 < s4) ? 1 : 0;
    0x00010790 addu v1, s4, v1               |             v1 = s4 + v1;
    0x00010794 sw v1, 0x48(sp)               |             *(var_48h) = v1;
    0x00010798 move s4, v0                   |             s4 = v0;
                                             |         }
    0x0001079c lw t9, -0x7ec4(gp)            |         t9 = *(gp);
    0x000107a0 move a0, s3                   |         a0 = s3;
    0x000107a4 addiu a1, zero, 1             |         a1 = 1;
    0x000107a8 jalr t9                       |         t9 ();
    0x000107ac move s3, v0                   |         s3 = v0;
    0x000107b0 lw v0, 0x114(sp)              |         v0 = *(arg_114h);
    0x000107b4 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x000107b8 bne s3, v0, 0x104d8           |         
                                             |     } while (s3 != v0);
                                             | label_34:
    0x000107bc lw t9, -0x76e4(gp)            |     t9 = sym.imp.strlen;
                                             |     if (s5 != 0) {
    0x000107c0 beqz s5, 0x107e4              |         
    0x000107c4 move a0, s5                   |         a0 = s5;
    0x000107c8 jalr t9                       |         t9 ();
    0x000107cc lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x000107d0 move a1, v0                   |         a1 = v0;
    0x000107d4 lw t9, -0x7fc4(gp)            |         t9 = sym.freezero;
    0x000107d8 move a0, s5                   |         a0 = s5;
    0x000107dc jalr t9                       |         t9 ();
    0x000107e0 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |     }
    0x000107e4 lw t9, -0x75e4(gp)            |     t9 = sym.imp.free;
    0x000107e8 lw a0, 0x68(sp)               |     a0 = *(var_68h);
    0x000107ec jalr t9                       |     t9 ();
    0x000107f0 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x000107f4 lw t9, -0x7ea0(gp)            |     t9 = sym.pkcs11_terminate;
    0x000107f8 jalr t9                       |     t9 ();
    0x000107fc nop                           |     
    0x00010800 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010804 lw t9, -0x7954(gp)            |     t9 = sym.imp.exit;
    0x00010808 move a0, zero                 |     a0 = 0;
    0x0001080c jalr t9                       |     t9 ();
                                             | label_25:
    0x00010810 lw v1, 0x74(sp)               |     v1 = *(var_74h);
    0x00010814 lw v0, (v1)                   |     v0 = *(v1);
    0x00010818 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
                                             |     if (v0 != 0) {
    0x0001081c bnez v0, 0x103b4              |         goto label_1;
                                             |     }
    0x00010820 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010824 lw a0, 0x5c(sp)               |     a0 = *(var_5ch);
                                             |     /* str.rsa_sha2_512 */
    0x00010828 addiu v0, v0, -0x2a8          |     v0 += -aav.0x000002a8;
    0x0001082c sw v0, 0x510c(a0)             |     *((a0 + 5187)) = v0;
    0x00010830 b 0x103b0                     |     goto label_2;
                                             | label_35:
    0x00010834 move s1, zero                 |     s1 = 0;
    0x00010838 jalr t9                       |     t9 ();
    0x0001083c sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x00010840 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010844 sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
    0x00010848 move s0, zero                 |     s0 = 0;
    0x0001084c addiu fp, sp, 0x7c            |     fp = sp + 0x7c;
    0x00010850 b 0x108a0                     |     
                                             |     while (v0 != 0) {
    0x00010854 lw t9, -0x7fb8(gp)            |         t9 = sym.xreallocarray;
    0x00010858 addiu s0, s0, 1               |         s0++;
    0x0001085c move a0, s1                   |         a0 = s1;
    0x00010860 addiu a2, zero, 4             |         a2 = 4;
    0x00010864 move a1, s0                   |         a1 = s0;
    0x00010868 jalr t9                       |         t9 ();
    0x0001086c lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010870 sll v1, s0, 2                 |         v1 = s0 << 2;
    0x00010874 addiu v1, v1, -4              |         v1 += -4;
    0x00010878 lw t9, -0x7fc8(gp)            |         t9 = sym.xstrdup;
    0x0001087c move a0, s7                   |         a0 = s7;
    0x00010880 addu s7, v0, v1               |         s7 = v0 + v1;
    0x00010884 move s1, v0                   |         s1 = v0;
    0x00010888 jalr t9                       |         t9 ();
    0x0001088c lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010890 sw v0, (s7)                   |         *(s7) = v0;
    0x00010894 lb v0, (v0)                   |         v0 = *(v0);
    0x00010898 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         if (v0 == 0) {
    0x0001089c beqz v0, 0x10a2c              |             goto label_46;
                                             |         }
    0x000108a0 lw t9, -0x74c4(gp)            |         t9 = sym.imp.strsep;
    0x000108a4 move a1, s2                   |         a1 = s2;
    0x000108a8 move a0, fp                   |         a0 = fp;
    0x000108ac jalr t9                       |         t9 ();
    0x000108b0 move s7, v0                   |         s7 = v0;
    0x000108b4 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x000108b8 bnez v0, 0x10854              |         
                                             |     }
    0x000108bc lw t9, -0x75e4(gp)            |     t9 = sym.imp.free;
    0x000108c0 lw a0, 0x54(sp)               |     a0 = *(var_54h);
    0x000108c4 jalr t9                       |     t9 ();
    0x000108c8 sltiu v0, s0, 0x101           |     v0 = (s0 < 0x101) ? 1 : 0;
    0x000108cc lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (v0 != 0) {
    0x000108d0 bnez v0, 0x104ec              |         goto label_3;
                                             |     }
    0x000108d4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000108d8 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.Too_many_certificate_principals_specified */
    0x000108dc addiu v0, v0, -0x280          |     v0 += -aav.0x00000280;
    0x000108e0 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x000108e4 addiu v0, zero, 1             |     v0 = 1;
    0x000108e8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000108ec sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000108f0 move a3, zero                 |     a3 = 0;
    0x000108f4 addiu a2, zero, 0x71a         |     a2 = 0x71a;
    0x000108f8 b 0x10a4c                     |     goto label_9;
                                             | label_20:
    0x000108fc lw t9, -0x7f2c(gp)            |     t9 = *(gp);
                                             |     if (s3 == 0) {
    0x00010900 beqz s3, 0x10ad8              |         goto label_47;
                                             |     }
    0x00010904 lw t9, -0x7ecc(gp)            |     t9 = sym.sshkey_load_public;
    0x00010908 move a2, zero                 |     a2 = 0;
    0x0001090c addiu a1, sp, 0x74            |     a1 = sp + 0x74;
    0x00010910 move a0, v0                   |     a0 = v0;
    0x00010914 jalr t9                       |     t9 ();
    0x00010918 lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (v0 == 0) {
    0x0001091c beqz v0, 0x10bb4              |         goto label_48;
                                             |     }
    0x00010920 lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x00010924 move a0, v0                   |     a0 = v0;
    0x00010928 bal 0x1b0f0                   |     sym_ssh_err ();
    0x0001092c lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010930 lw v1, 0x7c(sp)               |     v1 = *(var_7ch);
    0x00010934 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010938 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x0001093c lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010940 addiu v0, zero, 1             |     v0 = 1;
                                             |     /* str.Cannot_load_CA_public_key__s */
    0x00010944 addiu v1, v1, -0x34c          |     v1 += -0x34c;
    0x00010948 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
    0x0001094c sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00010950 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010954 move a3, zero                 |     a3 = 0;
    0x00010958 addiu a2, zero, 0x6e4         |     a2 = 0x6e4;
                                             | label_6:
    0x0001095c lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x00010960 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str.do_ca_sign */
    0x00010964 addiu a1, a1, 0x1d30          |     a1 += 0x1d30;
                                             |     /* str.ssh_keygen.c */
    0x00010968 addiu a0, a0, -0xe90          |     a0 += -0xe90;
    0x0001096c jalr t9                       |     t9 ();
                                             | label_45:
    0x00010970 lw t9, -0x7e9c(gp)            |     t9 = sym.sshkey_format_cert_validity;
    0x00010974 lw a0, 0x44(a0)               |     a0 = *((a0 + 17));
    0x00010978 addiu s0, sp, 0x8c            |     s0 = sp + 0x8c;
    0x0001097c addiu a2, zero, 0x40          |     a2 = 0x40;
    0x00010980 move a1, s0                   |     a1 = s0;
    0x00010984 bal 0x21a94                   |     sym_sshkey_format_cert_validity ();
    0x00010988 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x0001098c lw t9, -0x7e98(gp)            |     t9 = sym.sshkey_cert_type;
    0x00010990 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00010994 bal 0x1fae8                   |     sym_sshkey_cert_type ();
    0x00010998 lw v1, 0x50(sp)               |     v1 = *(var_50h);
    0x0001099c lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x000109a0 lw a1, 0x80(sp)               |     a1 = *(var_80h);
    0x000109a4 lw a0, 0x5128(v1)             |     a0 = *((v1 + 5194));
    0x000109a8 lw v1, 0x78(sp)               |     v1 = *(var_78h);
    0x000109ac lw v1, 0x44(v1)               |     v1 = *((v1 + 17));
    0x000109b0 lw t0, 0x10(v1)               |     t0 = *((v1 + 4));
    0x000109b4 lw a2, 8(v1)                  |     a2 = *((v1 + 2));
    0x000109b8 lw a3, 0xc(v1)                |     a3 = *((v1 + 3));
                                             |     if (a0 == 0) {
    0x000109bc beqz a0, 0x10d50              |         goto label_49;
                                             |     }
    0x000109c0 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
                                             |     /* str._for_ */
    0x000109c4 addiu v1, v1, -0x3c8          |     v1 += -aav.0x000003c8;
                                             | label_18:
    0x000109c8 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x000109cc lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000109d0 sw a0, 0x34(sp)               |     *(var_34h) = a0;
    0x000109d4 sw a1, 0x20(sp)               |     *(var_20h) = a1;
    0x000109d8 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000109dc lw a1, -0x7fdc(gp)            |     a1 = *(gp);
                                             |     /* str.Signed__s_key__s:_id___s__serial__llu_s_s_valid__s */
    0x000109e0 addiu v0, v0, -0x130          |     v0 += -aav.0x00000130;
    0x000109e4 lw t9, -0x7fac(gp)            |     t9 = sym.sshlog;
    0x000109e8 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x000109ec addiu v0, zero, 3             |     v0 = 3;
    0x000109f0 sw a2, 0x28(sp)               |     *(var_28h) = a2;
    0x000109f4 sw a3, 0x2c(sp)               |     *(var_2ch) = a3;
                                             |     /* str.ssh_keygen.c */
    0x000109f8 addiu a0, a0, -0xe90          |     a0 += -0xe90;
    0x000109fc sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x00010a00 sw v1, 0x30(sp)               |     *(var_30h) = v1;
    0x00010a04 sw t0, 0x24(sp)               |     *(var_24h) = t0;
    0x00010a08 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00010a0c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010a10 move a3, zero                 |     a3 = 0;
    0x00010a14 addiu a2, zero, 0x75a         |     a2 = 0x75a;
                                             |     /* str.do_ca_sign */
    0x00010a18 addiu a1, a1, 0x1d30          |     a1 += 0x1d30;
    0x00010a1c jalr t9                       |     t9 ();
    0x00010a20 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010a24 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00010a28 b 0x1075c                     |     goto label_4;
                                             | label_46:
    0x00010a2c lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.Empty_principal_name */
    0x00010a30 addiu v0, v0, -0x298          |     v0 += -aav.0x00000298;
    0x00010a34 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00010a38 addiu v0, zero, 1             |     v0 = 1;
    0x00010a3c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00010a40 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010a44 move a3, zero                 |     a3 = 0;
    0x00010a48 addiu a2, zero, 0x715         |     a2 = 0x715;
                                             | label_9:
    0x00010a4c lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x00010a50 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str.do_ca_sign */
    0x00010a54 addiu a1, a1, 0x1d30          |     a1 += 0x1d30;
                                             |     /* str.ssh_keygen.c */
    0x00010a58 addiu a0, a0, -0xe90          |     a0 += -0xe90;
    0x00010a5c jalr t9                       |     t9 ();
                                             | label_40:
    0x00010a60 lw t9, -0x7e94(gp)            |     t9 = sym.sshkey_certify_custom;
    0x00010a64 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00010a68 lw a3, 0x5104(v0)             |     a3 = *((v0 + 5185));
    0x00010a6c lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x00010a70 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00010a74 lw a2, 0x510c(v0)             |     a2 = *((v0 + 5187));
    0x00010a78 addiu v0, sp, 0x70            |     v0 = sp + 0x70;
    0x00010a7c sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00010a80 lw v0, -0x7f2c(gp)            |     v0 = *(gp);
    0x00010a84 addiu v0, v0, -0x3b44         |     v0 += -0x3b44;
    0x00010a88 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010a8c bal 0x20fa8                   |     sym_sshkey_certify_custom ();
    0x00010a90 lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (v0 == 0) {
    0x00010a94 beqz v0, 0x106bc              |         goto label_5;
                                             |     }
    0x00010a98 lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x00010a9c move a0, v0                   |     a0 = v0;
    0x00010aa0 bal 0x1b0f0                   |     sym_ssh_err ();
    0x00010aa4 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010aa8 lw v1, 0x7c(sp)               |     v1 = *(var_7ch);
    0x00010aac sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010ab0 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x00010ab4 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010ab8 addiu v0, zero, 1             |     v0 = 1;
                                             |     /* str.Couldnt_certify__s_via_agent */
    0x00010abc addiu v1, v1, -0x1d0          |     v1 += -aav.0x000001d0;
    0x00010ac0 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00010ac4 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
    0x00010ac8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010acc move a3, zero                 |     a3 = 0;
    0x00010ad0 addiu a2, zero, 0x738         |     a2 = 0x738;
    0x00010ad4 b 0x1095c                     |     goto label_6;
                                             | label_47:
    0x00010ad8 move a1, zero                 |     a1 = 0;
    0x00010adc addiu t9, t9, -0x3b00         |     t9 += -0x3b00;
    0x00010ae0 move a0, v0                   |     a0 = v0;
    0x00010ae4 bal 0xc500                    |     fcn_0000c500 ();
    0x00010ae8 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010aec move a0, v0                   |     a0 = v0;
    0x00010af0 lw t9, -0x7f24(gp)            |     t9 = sym.sshkey_is_sk;
    0x00010af4 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x00010af8 bal 0x1ddb0                   |     sym_sshkey_is_sk ();
    0x00010afc lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (v0 == 0) {
    0x00010b00 beqz v0, 0x10370              |         goto label_7;
                                             |     }
    0x00010b04 lw v0, 0x74(sp)               |     v0 = *(var_74h);
    0x00010b08 lbu v0, 0x38(v0)              |     v0 = *((v0 + 56));
    0x00010b0c andi v0, v0, 4                |     v0 &= 4;
    0x00010b10 move s5, zero                 |     s5 = 0;
                                             |     if (v0 == 0) {
    0x00010b14 beqz v0, 0x10374              |         goto label_8;
                                             |     }
    0x00010b18 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00010b1c lw t9, -0x7fc0(gp)            |     t9 = sym.read_passphrase;
    0x00010b20 addiu a1, zero, 2             |     a1 = 2;
                                             |     /* str.Enter_PIN_for_CA_key:_ */
    0x00010b24 addiu a0, a0, -0x2ec          |     a0 += -aav.0x000002ec;
    0x00010b28 jalr t9                       |     t9 ();
    0x00010b2c move s5, v0                   |     s5 = v0;
    0x00010b30 lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (v0 != 0) {
    0x00010b34 bnez v0, 0x10374              |         goto label_8;
                                             |     }
    0x00010b38 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010b3c lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.couldnt_read_PIN */
    0x00010b40 addiu v0, v0, -0x774          |     v0 += -0x774;
    0x00010b44 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00010b48 addiu v0, zero, 1             |     v0 = 1;
    0x00010b4c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00010b50 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010b54 addiu a3, zero, 1             |     a3 = 1;
    0x00010b58 addiu a2, zero, 0x6fb         |     a2 = 0x6fb;
    0x00010b5c b 0x10a4c                     |     goto label_9;
                                             | label_26:
    0x00010b60 lw t9, -0x7e90(gp)            |     t9 = sym.sshkey_ssh_name;
    0x00010b64 move a0, v1                   |     a0 = v1;
    0x00010b68 bal 0x1d618                   |     sym_sshkey_ssh_name ();
    0x00010b6c lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010b70 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00010b74 lw v1, 0x510c(s0)             |     v1 = *((s0 + 5187));
    0x00010b78 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010b7c lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.CA_key_type__s_doesnt_match_specified__s */
    0x00010b80 addiu v0, v0, -0x2d4          |     v0 += -aav.0x000002d4;
    0x00010b84 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00010b88 addiu v0, zero, 1             |     v0 = 1;
    0x00010b8c sw v1, 0x20(sp)               |     *(var_20h) = v1;
    0x00010b90 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00010b94 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010b98 move a3, zero                 |     a3 = 0;
    0x00010b9c addiu a2, zero, 0x703         |     a2 = 0x703;
                                             | label_19:
    0x00010ba0 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x00010ba4 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str.do_ca_sign */
    0x00010ba8 addiu a1, a1, 0x1d30          |     a1 += 0x1d30;
                                             |     /* str.ssh_keygen.c */
    0x00010bac addiu a0, a0, -0xe90          |     a0 += -0xe90;
    0x00010bb0 jalr t9                       |     t9 ();
                                             | label_48:
    0x00010bb4 lw t9, -0x7e8c(gp)            |     t9 = sym.ssh_get_authentication_socket;
    0x00010bb8 addiu a0, sp, 0x70            |     a0 = sp + 0x70;
    0x00010bbc jalr t9                       |     t9 ();
    0x00010bc0 lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (v0 != 0) {
    0x00010bc4 beqz v0, 0x10d5c              |         
    0x00010bc8 lw t9, -0x7fd0(gp)            |         t9 = sym.ssh_err;
    0x00010bcc move a0, v0                   |         a0 = v0;
    0x00010bd0 bal 0x1b0f0                   |         sym_ssh_err ();
    0x00010bd4 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010bd8 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00010bdc addiu v0, zero, 1             |         v0 = 1;
    0x00010be0 lw v1, -0x7fdc(gp)            |         v1 = *(gp);
    0x00010be4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
                                             |         /* str.Cannot_use_public_key_for_CA_signature */
    0x00010be8 addiu v1, v1, -0x32c          |         v1 += -0x32c;
    0x00010bec lw t9, -0x7fbc(gp)            |         t9 = sym.sshfatal;
    0x00010bf0 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x00010bf4 move a3, zero                 |         a3 = 0;
    0x00010bf8 addiu a2, zero, 0x6e6         |         a2 = 0x6e6;
    0x00010bfc b 0x10a4c                     |         goto label_9;
                                             | label_24:
    0x00010c00 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00010c04 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
                                             |         /* str.No_PKCS11_key_matching__s_found */
    0x00010c08 addiu v0, v0, -0x370          |         v0 += -aav.0x00000370;
    0x00010c0c sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x00010c10 lw t9, -0x7fbc(gp)            |         t9 = sym.sshfatal;
    0x00010c14 addiu v0, zero, 1             |         v0 = 1;
    0x00010c18 sw s2, 0x1c(sp)               |         *(var_1ch) = s2;
    0x00010c1c sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x00010c20 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00010c24 move a3, zero                 |         a3 = 0;
    0x00010c28 addiu a2, zero, 0x6dc         |         a2 = aav.0x000006dc;
                                             |         /* str.do_ca_sign */
    0x00010c2c addiu a1, a1, 0x1d30          |         a1 += 0x1d30;
                                             |         /* str.ssh_keygen.c */
    0x00010c30 addiu a0, s7, -0xe90          |         a0 = s7 + -0xe90;
    0x00010c34 jalr t9                       |         t9 ();
                                             | label_27:
    0x00010c38 lw t9, -0x7f2c(gp)            |         t9 = *(gp);
    0x00010c3c move a2, zero                 |         a2 = 0;
    0x00010c40 move a1, zero                 |         a1 = 0;
    0x00010c44 addiu t9, t9, -0x393c         |         t9 += -0x393c;
                                             |         /* str.permit_X11_forwarding */
    0x00010c48 addiu a0, a0, -0x960          |         a0 += -0x960;
    0x00010c4c bal 0xc6c4                    |         fcn_0000c6c4 ();
    0x00010c50 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010c54 b 0x10434                     |         goto label_10;
                                             | label_29:
    0x00010c58 lw t9, -0x7f2c(gp)            |         t9 = *(gp);
    0x00010c5c move a2, zero                 |         a2 = 0;
    0x00010c60 move a1, zero                 |         a1 = 0;
    0x00010c64 addiu t9, t9, -0x393c         |         t9 += -0x393c;
                                             |         /* str.permit_port_forwarding */
    0x00010c68 addiu a0, a0, -0x930          |         a0 += -0x930;
    0x00010c6c bal 0xc6c4                    |         fcn_0000c6c4 ();
    0x00010c70 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010c74 b 0x10454                     |         goto label_11;
                                             | label_28:
    0x00010c78 lw t9, -0x7f2c(gp)            |         t9 = *(gp);
    0x00010c7c move a2, zero                 |         a2 = 0;
    0x00010c80 move a1, zero                 |         a1 = 0;
    0x00010c84 addiu t9, t9, -0x393c         |         t9 += -0x393c;
                                             |         /* str.permit_agent_forwarding */
    0x00010c88 addiu a0, a0, -0x948          |         a0 += -0x948;
    0x00010c8c bal 0xc6c4                    |         fcn_0000c6c4 ();
    0x00010c90 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010c94 b 0x10444                     |         goto label_12;
                                             | label_33:
    0x00010c98 lw a3, -0x7f2c(gp)            |         a3 = *(gp);
    0x00010c9c lw t9, -0x747c(gp)            |         t9 = sym.imp.qsort;
    0x00010ca0 lw a0, 0x5114(v0)             |         a0 = *((v0 + 5189));
    0x00010ca4 addiu a3, a3, -0x17c0         |         a3 += -0x17c0;
    0x00010ca8 addiu a2, zero, 0xc           |         a2 = 0xc;
    0x00010cac jalr t9                       |         t9 ();
    0x00010cb0 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010cb4 b 0x10494                     |         goto label_13;
                                             | label_32:
    0x00010cb8 lw t9, -0x7f2c(gp)            |         t9 = *(gp);
    0x00010cbc move a2, zero                 |         a2 = 0;
    0x00010cc0 move a1, zero                 |         a1 = 0;
    0x00010cc4 addiu t9, t9, -0x393c         |         t9 += -0x393c;
                                             |         /* str.no_touch_required */
    0x00010cc8 addiu a0, a0, -0x8fc          |         a0 += -0x8fc;
    0x00010ccc bal 0xc6c4                    |         fcn_0000c6c4 ();
    0x00010cd0 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010cd4 b 0x10484                     |         goto label_14;
                                             | label_31:
    0x00010cd8 lw t9, -0x7f2c(gp)            |         t9 = *(gp);
    0x00010cdc move a2, zero                 |         a2 = 0;
    0x00010ce0 move a1, zero                 |         a1 = 0;
    0x00010ce4 addiu t9, t9, -0x393c         |         t9 += -0x393c;
                                             |         /* str.permit_user_rc */
    0x00010ce8 addiu a0, a0, -0x90c          |         a0 += -0x90c;
    0x00010cec bal 0xc6c4                    |         fcn_0000c6c4 ();
    0x00010cf0 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010cf4 b 0x10474                     |         goto label_15;
                                             | label_30:
    0x00010cf8 lw t9, -0x7f2c(gp)            |         t9 = *(gp);
    0x00010cfc move a2, zero                 |         a2 = 0;
    0x00010d00 move a1, zero                 |         a1 = 0;
    0x00010d04 addiu t9, t9, -0x393c         |         t9 += -0x393c;
                                             |         /* str.permit_pty */
    0x00010d08 addiu a0, a0, -0x918          |         a0 += -aav.0x00000918;
    0x00010d0c bal 0xc6c4                    |         fcn_0000c6c4 ();
    0x00010d10 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010d14 b 0x10464                     |         goto label_16;
                                             | label_41:
    0x00010d18 move a0, v1                   |         a0 = v1;
    0x00010d1c bal 0x1d55c                   |         sym_sshkey_type ();
    0x00010d20 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010d24 lw a3, 0x68(sp)               |         a3 = *(var_68h);
    0x00010d28 move a2, v0                   |         a2 = v0;
    0x00010d2c lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x00010d30 lw t9, -0x7e88(gp)            |         t9 = sym.notify_start;
                                             |         /* str.Confirm_user_presence_for_key__s__s */
    0x00010d34 addiu a1, a1, -0x1b0          |         a1 += -aav.0x000001b0;
    0x00010d38 move a0, zero                 |         a0 = 0;
    0x00010d3c jalr t9                       |         t9 ();
    0x00010d40 sw v0, 0x64(sp)               |         *(var_64h) = v0;
    0x00010d44 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00010d48 lw v1, 0x74(sp)               |         v1 = *(var_74h);
    0x00010d4c b 0x10674                     |         goto label_17;
                                             | label_49:
    0x00010d50 lw a0, 0x6c(sp)               |         a0 = *(var_6ch);
    0x00010d54 move v1, a0                   |         v1 = a0;
    0x00010d58 b 0x109c8                     |         goto label_18;
                                             |     }
    0x00010d5c lw t9, -0x7e84(gp)            |     t9 = sym.ssh_fetch_identitylist;
    0x00010d60 lw a0, 0x70(sp)               |     a0 = *(var_70h);
    0x00010d64 addiu a1, sp, 0x88            |     a1 = sp + 0x88;
    0x00010d68 jalr t9                       |     t9 ();
    0x00010d6c lw gp, 0x40(sp)               |     gp = *(var_40h);
                                             |     if (v0 != 0) {
    0x00010d70 bnez v0, 0x10de0              |         goto label_50;
                                             |     }
    0x00010d74 move s0, zero                 |     s0 = 0;
    0x00010d78 b 0x10d9c                     |     
                                             |     while (v0 == 0) {
    0x00010d7c sll v0, s0, 2                 |         v0 = s0 << 2;
    0x00010d80 lw t9, -0x7e80(gp)            |         t9 = sym.sshkey_equal;
    0x00010d84 lwx a1, v0(a1)                |         __asm ("lwx a1, v0(a1)");
    0x00010d88 lw a0, 0x74(sp)               |         a0 = *(var_74h);
    0x00010d8c bal 0x1ea90                   |         sym_sshkey_equal ();
    0x00010d90 lw gp, 0x40(sp)               |         gp = *(var_40h);
                                             |         if (v0 != 0) {
    0x00010d94 bnez v0, 0x10f58              |             goto label_51;
                                             |         }
    0x00010d98 addiu s0, s0, 1               |         s0++;
    0x00010d9c lw v1, 0x88(sp)               |         v1 = *(var_88h);
    0x00010da0 lw v0, (v1)                   |         v0 = *(v1);
    0x00010da4 sltu v0, s0, v0               |         v0 = (s0 < v0) ? 1 : 0;
    0x00010da8 lw a1, 4(v1)                  |         a1 = *((v1 + 1));
    0x00010dac bnel v0, zero, 0x10d7c        |         
                                             |     }
    0x00010db0 lw v0, 0x7c(sp)               |     v0 = *(var_7ch);
    0x00010db4 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
    0x00010db8 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00010dbc lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010dc0 sw zero, 0x14(sp)             |     *(var_14h) = 0;
                                             |     /* str.CA_key__s_not_found_in_agent */
    0x00010dc4 addiu v0, v0, -0xfc           |     v0 += -0xfc;
    0x00010dc8 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00010dcc addiu v0, zero, 1             |     v0 = 1;
    0x00010dd0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010dd4 move a3, zero                 |     a3 = 0;
    0x00010dd8 addiu a2, zero, 0x6f1         |     a2 = 0x6f1;
    0x00010ddc b 0x1095c                     |     goto label_6;
                                             | label_50:
    0x00010de0 lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x00010de4 move a0, v0                   |     a0 = v0;
    0x00010de8 bal 0x1b0f0                   |     sym_ssh_err ();
    0x00010dec lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010df0 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010df4 addiu v0, zero, 1             |     v0 = 1;
    0x00010df8 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010dfc sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             |     /* str.Retrieve_agent_key_list */
    0x00010e00 addiu v1, v1, -0x304          |     v1 += -0x304;
    0x00010e04 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
    0x00010e08 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00010e0c move a3, zero                 |     a3 = 0;
    0x00010e10 addiu a2, zero, 0x6e8         |     a2 = aav.0x000006e8;
    0x00010e14 b 0x10a4c                     |     goto label_9;
                                             | label_36:
    0x00010e18 lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x00010e1c move a0, v0                   |     a0 = v0;
    0x00010e20 bal 0x1b0f0                   |     sym_ssh_err ();
    0x00010e24 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010e28 lw v1, 0x7c(sp)               |     v1 = *(var_7ch);
    0x00010e2c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010e30 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x00010e34 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010e38 addiu v0, zero, 1             |     v0 = 1;
                                             |     /* str.load_pubkey___s_ */
    0x00010e3c addiu v1, v1, -0x254          |     v1 += -aav.0x00000254;
    0x00010e40 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00010e44 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
    0x00010e48 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010e4c move a3, zero                 |     a3 = 0;
    0x00010e50 addiu a2, zero, 0x71e         |     a2 = 0x71e;
    0x00010e54 b 0x1095c                     |     goto label_6;
                                             | label_37:
    0x00010e58 lw t9, -0x7f50(gp)            |     t9 = sym.sshkey_type;
    0x00010e5c lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00010e60 lw s0, 0x7c(sp)               |     s0 = *(var_7ch);
    0x00010e64 bal 0x1d55c                   |     sym_sshkey_type ();
    0x00010e68 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010e6c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x00010e70 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x00010e74 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010e78 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.key___s__type__s_cannot_be_certified */
    0x00010e7c addiu v0, v0, -0x240          |     v0 += -aav.0x00000240;
    0x00010e80 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00010e84 addiu v0, zero, 1             |     v0 = 1;
    0x00010e88 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00010e8c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010e90 addiu a3, zero, 1             |     a3 = 1;
    0x00010e94 addiu a2, zero, 0x721         |     a2 = 0x721;
    0x00010e98 b 0x10ba0                     |     goto label_19;
                                             | label_38:
    0x00010e9c lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x00010ea0 move a0, v0                   |     a0 = v0;
    0x00010ea4 bal 0x1b0f0                   |     sym_ssh_err ();
    0x00010ea8 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010eac lw v1, 0x7c(sp)               |     v1 = *(var_7ch);
    0x00010eb0 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010eb4 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x00010eb8 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010ebc addiu v0, zero, 1             |     v0 = 1;
                                             |     /* str.Could_not_upgrade_key__s_to_certificate */
    0x00010ec0 addiu v1, v1, -0x218          |     v1 += -segment.DYNAMIC;
    0x00010ec4 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00010ec8 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
    0x00010ecc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010ed0 move a3, zero                 |     a3 = 0;
    0x00010ed4 addiu a2, zero, 0x725         |     a2 = 0x725;
    0x00010ed8 b 0x1095c                     |     goto label_6;
                                             | label_39:
    0x00010edc lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x00010ee0 move a0, v0                   |     a0 = v0;
    0x00010ee4 bal 0x1b0f0                   |     sym_ssh_err ();
    0x00010ee8 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010eec sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010ef0 addiu v0, zero, 1             |     v0 = 1;
    0x00010ef4 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010ef8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             |     /* str.sshkey_from_private__ca_key_ */
    0x00010efc addiu v1, v1, -0x1f0          |     v1 += -aav.0x000001f0;
    0x00010f00 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
    0x00010f04 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00010f08 move a3, zero                 |     a3 = 0;
    0x00010f0c addiu a2, zero, 0x732         |     a2 = 0x732;
    0x00010f10 b 0x10a4c                     |     goto label_9;
                                             | label_44:
    0x00010f14 lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x00010f18 move a0, v0                   |     a0 = v0;
    0x00010f1c bal 0x1b0f0                   |     sym_ssh_err ();
    0x00010f20 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010f24 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010f28 addiu v0, zero, 1             |     v0 = 1;
    0x00010f2c lw v1, -0x7fcc(gp)            |     v1 = *((gp - 8179));
    0x00010f30 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010f34 addiu v1, v1, 0x513c          |     v1 += 0x513c;
    0x00010f38 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x00010f3c lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010f40 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.Unable_to_save_public_key_to__s */
    0x00010f44 addiu v1, v1, -0x150          |     v1 += -aav.0x00000150;
    0x00010f48 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00010f4c move a3, zero                 |     a3 = 0;
    0x00010f50 addiu a2, zero, 0x74e         |     a2 = 0x74e;
    0x00010f54 b 0x1095c                     |     goto label_6;
                                             | label_51:
    0x00010f58 lw t9, -0x7e7c(gp)            |     t9 = sym.ssh_free_identitylist;
    0x00010f5c lw a0, 0x88(sp)               |     a0 = *(var_88h);
    0x00010f60 jalr t9                       |     t9 ();
    0x00010f64 lw v1, 0x74(sp)               |     v1 = *(var_74h);
    0x00010f68 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010f6c lw v0, 4(v1)                  |     v0 = *((v1 + 1));
    0x00010f70 ori v0, v0, 1                 |     v0 |= 1;
    0x00010f74 sw v0, 4(v1)                  |     *((v1 + 1)) = v0;
    0x00010f78 b 0x10374                     |     goto label_8;
                                             | label_42:
    0x00010f7c lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x00010f80 move a0, s0                   |     a0 = s0;
    0x00010f84 bal 0x1b0f0                   |     sym_ssh_err ();
    0x00010f88 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010f8c lw v1, 0x7c(sp)               |     v1 = *(var_7ch);
    0x00010f90 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010f94 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x00010f98 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010f9c addiu v0, zero, 1             |     v0 = 1;
                                             |     /* str.Couldnt_certify_key__s */
    0x00010fa0 addiu v1, v1, -0x174          |     v1 += -aav.0x00000174;
    0x00010fa4 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00010fa8 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
    0x00010fac sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010fb0 move a3, zero                 |     a3 = 0;
    0x00010fb4 addiu a2, zero, 0x744         |     a2 = 0x744;
    0x00010fb8 b 0x1095c                     |     goto label_6;
                                             | label_21:
    0x00010fbc lw t9, -0x7fd0(gp)            |     t9 = sym.ssh_err;
    0x00010fc0 move a0, v0                   |     a0 = v0;
    0x00010fc4 bal 0x1b0f0                   |     sym_ssh_err ();
    0x00010fc8 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00010fcc sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010fd0 addiu v0, zero, 1             |     v0 = 1;
    0x00010fd4 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010fd8 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x00010fdc lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str.Couldnt_load_CA_public_key___s_ */
    0x00010fe0 addiu v1, v1, -0x3c0          |     v1 += -aav.0x000003c0;
    0x00010fe4 lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
    0x00010fe8 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x00010fec sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00010ff0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010ff4 move a3, zero                 |     a3 = 0;
    0x00010ff8 addiu a2, zero, 0x6a4         |     a2 = 0x6a4;
                                             |     /* str.load_pkcs11_key */
    0x00010ffc addiu a1, a1, 0x1d20          |     a1 += 0x1d20;
                                             |     /* str.ssh_keygen.c */
    0x00011000 addiu a0, a0, -0xe90          |     a0 += -0xe90;
    0x00011004 jalr t9                       |     t9 ();
                                             | label_22:
    0x00011008 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0001100c lw t9, -0x7fbc(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.cannot_read_public_key_from_pkcs11 */
    0x00011010 addiu v0, v0, -0x394          |     v0 += -0x394;
    0x00011014 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00011018 addiu v0, zero, 1             |     v0 = 1;
    0x0001101c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00011020 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00011024 move a3, zero                 |     a3 = 0;
    0x00011028 addiu a2, zero, 0x6aa         |     a2 = 0x6aa;
    0x0001102c addiu a1, s1, 0x1d20          |     a1 = s1 + 0x1d20;
    0x00011030 addiu a0, s7, -0xe90          |     a0 = s7 + -0xe90;
    0x00011034 jalr t9                       |     return t9 ();
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/ssh-keygen @ 0x14194 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00014194 ()              | void fcn_00014194 () {
    0x00014194 lui gp, 8                 |     
    0x00014198 addiu gp, gp, 0x7f0c      |     
    0x0001419c addu gp, gp, t9           |     gp += t9;
    0x000141a0 addiu sp, sp, -0x578      |     
    0x000141a4 lw v0, -0x773c(gp)        |     v0 = *((gp - 7631));
    0x000141a8 sw gp, 0x28(sp)           |     *(var_28h_2) = gp;
    0x000141ac sw ra, 0x574(sp)          |     *(var_574h) = ra;
    0x000141b0 sw fp, 0x570(sp)          |     *(var_570h) = fp;
    0x000141b4 sw s7, 0x56c(sp)          |     *(var_56ch) = s7;
    0x000141b8 sw s6, 0x568(sp)          |     *(var_568h) = s6;
    0x000141bc sw s5, 0x564(sp)          |     *(var_564h) = s5;
    0x000141c0 sw s4, 0x560(sp)          |     *(var_560h) = s4;
    0x000141c4 sw s3, 0x55c(sp)          |     *(var_55ch) = s3;
    0x000141c8 sw s2, 0x558(sp)          |     *(var_558h) = s2;
    0x000141cc sw s1, 0x554(sp)          |     *(var_554h) = s1;
    0x000141d0 sw s0, 0x550(sp)          |     *(var_550h) = s0;
    0x000141d4 lw v1, (v0)               |     v1 = *(v0);
    0x000141d8 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x000141dc lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x000141e0 sw v1, 0x54c(sp)          |     *(var_54ch) = v1;
                                         |     /* esilref: 'rsa' */
    0x000141e4 addiu v0, v0, 0x4010      |     v0 += 0x4010;
    0x000141e8 sw a0, 0x3c(sp)           |     *(var_3ch) = a0;
    0x000141ec addiu v1, sp, 0x6c        |     v1 = sp + 0x6c;
    0x000141f0 addiu t0, v0, 0x30        |     t0 = v0 + 0x30;
                                         |     do {
    0x000141f4 lw a3, (v0)               |         a3 = *(v0);
    0x000141f8 lw a2, 4(v0)              |         a2 = *((v0 + 1));
    0x000141fc lw a1, 8(v0)              |         a1 = *((v0 + 2));
    0x00014200 lw a0, 0xc(v0)            |         a0 = *((v0 + 3));
    0x00014204 addiu v0, v0, 0x10        |         v0 += 0x10;
    0x00014208 sw a3, (v1)               |         *(v1) = a3;
    0x0001420c sw a2, 4(v1)              |         *((v1 + 1)) = a2;
    0x00014210 sw a1, 8(v1)              |         *((v1 + 2)) = a1;
    0x00014214 sw a0, 0xc(v1)            |         *((v1 + 3)) = a0;
    0x00014218 addiu v1, v1, 0x10        |         v1 += 0x10;
    0x0001421c bne v0, t0, 0x141f4       |         
                                         |     } while (v0 != t0);
    0x00014220 lw a1, (v0)               |     a1 = *(v0);
    0x00014224 lw a0, 4(v0)              |     a0 = *((v0 + 1));
    0x00014228 lw v0, 8(v0)              |     v0 = *((v0 + 2));
    0x0001422c sw a1, (v1)               |     *(v1) = a1;
    0x00014230 sw a0, 4(v1)              |     *((v1 + 1)) = a0;
    0x00014234 sw v0, 8(v1)              |     *((v1 + 2)) = v0;
    0x00014238 lw s3, 0x6c(sp)           |     s3 = *(var_6ch);
    0x0001423c sw zero, 0x50(sp)         |     *(var_50h) = 0;
                                         |     if (s3 == 0) {
    0x00014240 beqz s3, 0x147bc          |         goto label_4;
                                         |     }
    0x00014244 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00014248 lw s2, -0x7fcc(gp)        |     s2 = *((gp - 8179));
    0x0001424c sw v0, 0x30(sp)           |     *(var_30h_2) = v0;
    0x00014250 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00014254 lw s6, -0x7fdc(gp)        |     s6 = *(gp);
    0x00014258 sw v0, 0x34(sp)           |     *(var_34h_3) = v0;
    0x0001425c lw v0, -0x7f2c(gp)        |     v0 = *(gp);
    0x00014260 addiu s0, sp, 0x70        |     s0 = sp + 0x70;
    0x00014264 addiu v0, v0, -0x2758     |     v0 += -0x2758;
    0x00014268 sw v0, 0x38(sp)           |     *(var_38h_2) = v0;
    0x0001426c lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x00014270 move s4, zero             |     s4 = 0;
    0x00014274 addiu v0, v0, 0x4cf4      |     v0 += 0x4cf4;
    0x00014278 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x0001427c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00014280 addiu fp, sp, 0x64        |     fp = sp + 0x64;
                                         |     /* esilref: '&s@&s' */
    0x00014284 addiu v0, v0, 0x800       |     v0 += 0x800;
    0x00014288 addiu s7, sp, 0xa8        |     s7 = sp + 0xa8;
    0x0001428c sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x00014290 b 0x1454c                 |     
                                         |     while (v0 == 0) {
    0x00014294 lw v0, 0xe0(sp)           |         v0 = *(var_e0h);
    0x00014298 lw a0, 0xe4(sp)           |         a0 = *(var_e4h_3);
    0x0001429c or v0, v0, a0             |         v0 |= a0;
    0x000142a0 lw t9, -0x7f4c(gp)        |         t9 = sym.sshkey_free;
                                         |         if (v0 == 0) {
    0x000142a4 bnez v0, 0x144e4          |             
                                         | label_0:
    0x000142a8 lw v0, 0x30(sp)           |             v0 = *(var_30h_2);
    0x000142ac lw t9, -0x7f14(gp)        |             t9 = sym.xasprintf
    0x000142b0 move a3, s1               |             a3 = s1;
    0x000142b4 addiu a2, s2, 0x513c      |             a2 = s2 + 0x513c;
    0x000142b8 addiu a1, v0, 0x768       |             a1 = v0 + aav.0x00000768;
    0x000142bc addiu a0, sp, 0x5c        |             a0 = sp + 0x5c;
    0x000142c0 jalr t9                   |             t9 ();
    0x000142c4 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
    0x000142c8 lw v0, 0x34(sp)           |             v0 = *(var_34h_3);
    0x000142cc move a3, s1               |             a3 = s1;
    0x000142d0 lw t9, -0x7f14(gp)        |             t9 = sym.xasprintf
    0x000142d4 addiu a2, s2, 0x513c      |             a2 = s2 + 0x513c;
    0x000142d8 addiu a1, v0, 0x778       |             a1 = v0 + aav.0x00000778;
    0x000142dc addiu a0, sp, 0x60        |             a0 = sp + 0x60;
    0x000142e0 jalr t9                   |             t9 ();
    0x000142e4 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
    0x000142e8 move a3, s1               |             a3 = s1;
    0x000142ec addiu a2, s2, 0x513c      |             a2 = s2 + 0x513c;
    0x000142f0 lw a1, -0x7fdc(gp)        |             a1 = *(gp);
    0x000142f4 lw t9, -0x7f14(gp)        |             t9 = sym.xasprintf
                                         |             /* str._s_s.pub */
    0x000142f8 addiu a1, a1, 0x78c       |             a1 += 0x78c;
    0x000142fc addiu a0, sp, 0x68        |             a0 = sp + 0x68;
    0x00014300 jalr t9                   |             t9 ();
    0x00014304 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
                                         |             if (s4 == 0) {
    0x00014308 beqz s4, 0x1460c          |                 goto label_5;
                                         |             }
                                         | label_2:
    0x0001430c lw a1, -0x7fdc(gp)        |             a1 = *(gp);
    0x00014310 lw a2, (s0)               |             a2 = *(s0);
    0x00014314 lw t9, -0x74e8(gp)        |             t9 = sym.imp.__printf_chk
                                         |             /* esilref: '&s ' */
    0x00014318 addiu a1, a1, 0x7b8       |             a1 += 0x7b8;
    0x0001431c addiu a0, zero, 1         |             a0 = 1;
    0x00014320 jalr t9                   |             t9 ();
    0x00014324 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
    0x00014328 addiu s5, zero, -1        |             s5 = -1;
    0x0001432c lw v0, -0x7858(gp)        |             v0 = *((gp - 7702));
    0x00014330 lw t9, -0x763c(gp)        |             t9 = sym.imp.fflush;
    0x00014334 lw a0, (v0)               |             a0 = *(v0);
    0x00014338 jalr t9                   |             t9 ();
    0x0001433c lw gp, 0x28(sp)           |             gp = *(var_28h_2);
    0x00014340 lw t9, -0x7ebc(gp)        |             t9 = sym.sshkey_type_from_name;
    0x00014344 move a0, s3               |             a0 = s3;
    0x00014348 bal 0x1d77c               |             sym_sshkey_type_from_name ();
    0x0001434c lw gp, 0x28(sp)           |             gp = *(var_28h_2);
    0x00014350 lw a0, 0x5c(sp)           |             a0 = *(var_5ch);
    0x00014354 lw t9, -0x777c(gp)        |             t9 = sym.imp.mkstemp64;
    0x00014358 move s3, v0               |             s3 = v0;
    0x0001435c jalr t9                   |             t9 ();
    0x00014360 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
                                         |             if (v0 == s5) {
    0x00014364 beq v0, s5, 0x14684       |                 goto label_6;
                                         |             }
    0x00014368 lw t9, -0x779c(gp)        |             t9 = sym.imp.close;
    0x0001436c move a0, v0               |             a0 = v0;
    0x00014370 jalr t9                   |             t9 ();
    0x00014374 lw t9, 0x38(sp)           |             t9 = *(var_38h_2);
    0x00014378 addiu a2, sp, 0x50        |             a2 = sp + 0x50;
    0x0001437c move a1, zero             |             a1 = 0;
    0x00014380 move a0, s3               |             a0 = s3;
    0x00014384 sw zero, 0x50(sp)         |             *(var_50h) = 0;
    0x00014388 jalr t9                   |             t9 ();
    0x0001438c lw gp, 0x28(sp)           |             gp = *(var_28h_2);
    0x00014390 lw a1, 0x50(sp)           |             a1 = *(var_50h);
    0x00014394 addiu a2, sp, 0x54        |             a2 = sp + 0x54;
    0x00014398 lw t9, -0x7e54(gp)        |             t9 = sym.sshkey_generate;
    0x0001439c move a0, s3               |             a0 = s3;
    0x000143a0 bal 0x1fcac               |             sym_sshkey_generate ();
    0x000143a4 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
                                         |             if (v0 != 0) {
    0x000143a8 bnez v0, 0x14630          |                 goto label_7;
                                         |             }
    0x000143ac lw t9, -0x7eb0(gp)        |             t9 = sym.sshkey_from_private;
    0x000143b0 lw a0, 0x54(sp)           |             a0 = *(var_54h);
    0x000143b4 addiu a1, sp, 0x58        |             a1 = sp + 0x58;
    0x000143b8 bal 0x20084               |             sym_sshkey_from_private ();
    0x000143bc move s4, v0               |             s4 = v0;
    0x000143c0 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
                                         |             if (v0 != 0) {
    0x000143c4 bnez v0, 0x148ec          |                 goto label_8;
                                         |             }
    0x000143c8 lw v0, 0x3c(sp)           |             v0 = *(var_3ch);
    0x000143cc lw v1, 0x40(sp)           |             v1 = *(var_40h);
    0x000143d0 lw t9, -0x78c8(gp)        |             t9 = sym.imp.__snprintf_chk
    0x000143d4 lw v0, (v0)               |             v0 = *(v0);
    0x000143d8 addiu s3, sp, 0x14c       |             s3 = sp + aav.0x0000014c;
    0x000143dc sw v0, 0x14(sp)           |             *(var_14h_2) = v0;
    0x000143e0 lw v0, 0x44(sp)           |             v0 = *(var_44h);
    0x000143e4 addiu a3, zero, 0x400     |             a3 = 0x400;
    0x000143e8 addiu a2, zero, 1         |             a2 = 1;
    0x000143ec addiu a1, zero, 0x400     |             a1 = 0x400;
    0x000143f0 move a0, s3               |             a0 = s3;
    0x000143f4 sw v1, 0x18(sp)           |             *(var_18h_2) = v1;
    0x000143f8 sw v0, 0x10(sp)           |             *(var_10h_2) = v0;
    0x000143fc jalr t9                   |             t9 ();
    0x00014400 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
    0x00014404 lw a1, 0x5c(sp)           |             a1 = *(var_5ch);
    0x00014408 lw a0, 0x54(sp)           |             a0 = *(var_54h);
    0x0001440c lw v0, -0x7fcc(gp)        |             v0 = *((gp - 8179));
    0x00014410 lw t9, -0x7e70(gp)        |             t9 = sym.sshkey_save_private;
    0x00014414 lw a3, 0x50f8(v0)         |             a3 = *((v0 + 5182));
    0x00014418 lw v0, -0x7fcc(gp)        |             v0 = *((gp - 8179));
    0x0001441c sw a3, 0x18(sp)           |             *(var_18h_2) = a3;
    0x00014420 move a3, s3               |             a3 = s3;
    0x00014424 lw a2, 0x50fc(v0)         |             a2 = *((v0 + 5183));
    0x00014428 lw v0, -0x7fcc(gp)        |             v0 = *((gp - 8179));
    0x0001442c sw a2, 0x14(sp)           |             *(var_14h_2) = a2;
    0x00014430 lw a2, -0x7fdc(gp)        |             a2 = *(gp);
    0x00014434 lw v0, 0x5100(v0)         |             v0 = *((v0 + 5184));
    0x00014438 addiu a2, a2, 0x5744      |             a2 += 0x5744;
    0x0001443c sw v0, 0x10(sp)           |             *(var_10h_2) = v0;
    0x00014440 bal 0x31d58               |             sym_sshkey_save_private ();
    0x00014444 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
                                         |             if (v0 != 0) {
    0x00014448 bnez v0, 0x146f0          |                 goto label_9;
                                         |             }
    0x0001444c lw t9, -0x777c(gp)        |             t9 = sym.imp.mkstemp64;
    0x00014450 lw a0, 0x60(sp)           |             a0 = *(var_60h);
    0x00014454 jalr t9                   |             t9 ();
    0x00014458 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
                                         |             if (v0 == s5) {
    0x0001445c beq v0, s5, 0x147fc       |                 goto label_10;
                                         |             }
    0x00014460 lw t9, -0x7960(gp)        |             t9 = sym.imp.fchmod;
    0x00014464 addiu a1, zero, 0x1a4     |             a1 = aav.0x000001a4;
    0x00014468 move a0, v0               |             a0 = v0;
    0x0001446c sw v0, 0x48(sp)           |             *(var_48h) = v0;
    0x00014470 jalr t9                   |             t9 ();
    0x00014474 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
    0x00014478 lw a2, 0x48(sp)           |             a2 = *(var_48h);
    0x0001447c lw t9, -0x779c(gp)        |             t9 = sym.imp.close;
    0x00014480 move a0, a2               |             a0 = a2;
    0x00014484 jalr t9                   |             t9 ();
    0x00014488 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
    0x0001448c lw a1, 0x60(sp)           |             a1 = *(var_60h);
    0x00014490 lw a0, 0x58(sp)           |             a0 = *(var_58h);
    0x00014494 lw t9, -0x7ea4(gp)        |             t9 = sym.sshkey_save_public;
    0x00014498 move a2, s3               |             a2 = s3;
    0x0001449c bal 0x32b14               |             sym_sshkey_save_public ();
    0x000144a0 move s4, v0               |             s4 = v0;
    0x000144a4 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
                                         |             if (v0 != 0) {
    0x000144a8 bnez v0, 0x14748          |                 goto label_11;
                                         |             }
    0x000144ac lw t9, -0x753c(gp)        |             t9 = sym.imp.rename;
    0x000144b0 lw a1, 0x68(sp)           |             a1 = *(var_68h);
    0x000144b4 lw a0, 0x60(sp)           |             a0 = *(var_60h);
    0x000144b8 jalr t9                   |             t9 ();
    0x000144bc lw gp, 0x28(sp)           |             gp = *(var_28h_2);
                                         |             if (v0 != 0) {
    0x000144c0 bnez v0, 0x1484c          |                 goto label_12;
                                         |             }
    0x000144c4 lw t9, -0x753c(gp)        |             t9 = sym.imp.rename;
    0x000144c8 lw a1, 0x64(sp)           |             a1 = *(var_64h);
    0x000144cc lw a0, 0x5c(sp)           |             a0 = *(var_5ch);
    0x000144d0 jalr t9                   |             t9 ();
    0x000144d4 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
                                         |             if (v0 != 0) {
    0x000144d8 bnez v0, 0x1489c          |                 goto label_13;
                                         |             }
    0x000144dc addiu s4, zero, 1         |             s4 = 1;
                                         | label_1:
    0x000144e0 lw t9, -0x7f4c(gp)        |             t9 = sym.sshkey_free;
                                         |         }
    0x000144e4 lw a0, 0x54(sp)           |         a0 = *(var_54h);
    0x000144e8 addiu s0, s0, 0xc         |         s0 += 0xc;
    0x000144ec bal 0x1e0a4               |         sym_sshkey_free ();
    0x000144f0 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x000144f4 lw t9, -0x7f4c(gp)        |         t9 = sym.sshkey_free;
    0x000144f8 lw a0, 0x58(sp)           |         a0 = *(var_58h);
    0x000144fc bal 0x1e0a4               |         sym_sshkey_free ();
    0x00014500 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x00014504 lw t9, -0x75e4(gp)        |         t9 = sym.imp.free;
    0x00014508 lw a0, 0x5c(sp)           |         a0 = *(var_5ch);
    0x0001450c jalr t9                   |         t9 ();
    0x00014510 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x00014514 lw t9, -0x75e4(gp)        |         t9 = sym.imp.free;
    0x00014518 lw a0, 0x60(sp)           |         a0 = *(var_60h);
    0x0001451c jalr t9                   |         t9 ();
    0x00014520 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x00014524 lw t9, -0x75e4(gp)        |         t9 = sym.imp.free;
    0x00014528 lw a0, 0x64(sp)           |         a0 = *(var_64h);
    0x0001452c jalr t9                   |         t9 ();
    0x00014530 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x00014534 lw t9, -0x75e4(gp)        |         t9 = sym.imp.free;
    0x00014538 lw a0, 0x68(sp)           |         a0 = *(var_68h);
    0x0001453c jalr t9                   |         t9 ();
    0x00014540 lw s3, -4(s0)             |         s3 = *((s0 - 1));
    0x00014544 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
                                         |         if (s3 == 0) {
    0x00014548 beqz s3, 0x147a4          |             goto label_14;
                                         |         }
    0x0001454c lw s1, 4(s0)              |         s1 = *((s0 + 1));
    0x00014550 lw t9, -0x7f14(gp)        |         t9 = sym.xasprintf
    0x00014554 move a3, s1               |         a3 = s1;
    0x00014558 addiu a2, s2, 0x513c      |         a2 = s2 + 0x513c;
                                         |         /* esilref: '&s&s' */
    0x0001455c addiu a1, s6, 0x1588      |         a1 = s6 + 0x1588;
    0x00014560 move a0, fp               |         a0 = fp;
    0x00014564 sw zero, 0x54(sp)         |         *(var_54h) = 0;
    0x00014568 sw zero, 0x58(sp)         |         *(var_58h) = 0;
    0x0001456c sw zero, 0x68(sp)         |         *(var_68h) = 0;
    0x00014570 sw zero, 0x64(sp)         |         *(var_64h) = 0;
    0x00014574 sw zero, 0x60(sp)         |         *(var_60h) = 0;
    0x00014578 sw zero, 0x5c(sp)         |         *(var_5ch) = 0;
    0x0001457c jalr t9                   |         t9 ();
    0x00014580 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x00014584 lw a1, 0x64(sp)           |         a1 = *(var_64h);
    0x00014588 move a2, s7               |         a2 = s7;
    0x0001458c lw t9, -0x74d8(gp)        |         t9 = sym.imp.__xstat64;
    0x00014590 addiu a0, zero, 3         |         a0 = 3;
    0x00014594 jalr t9                   |         t9 ();
    0x00014598 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x0001459c beqz v0, 0x14294          |         
                                         |     }
    0x000145a0 lw t9, -0x7418(gp)        |     t9 = sym.imp.__errno_location;
    0x000145a4 addiu s5, zero, 2         |     s5 = 2;
    0x000145a8 jalr t9                   |     t9 ();
    0x000145ac lw a0, (v0)               |     a0 = *(v0);
    0x000145b0 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
                                         |     if (a0 == s5) {
    0x000145b4 beq a0, s5, 0x142a8       |         goto label_0;
                                         |     }
    0x000145b8 lw t9, -0x7454(gp)        |     t9 = sym.imp.strerror;
    0x000145bc move s4, zero             |     s4 = 0;
    0x000145c0 jalr t9                   |     t9 ();
    0x000145c4 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x000145c8 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x000145cc sw s1, 0x1c(sp)           |     *(var_1ch_2) = s1;
    0x000145d0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000145d4 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x000145d8 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x000145dc lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.Could_not_stat__s:__s */
    0x000145e0 addiu v0, v0, 0x750       |     v0 += 0x750;
    0x000145e4 sw v0, 0x18(sp)           |     *(var_18h_2) = v0;
    0x000145e8 sw zero, 0x14(sp)         |     *(var_14h_2) = 0;
    0x000145ec sw s5, 0x10(sp)           |     *(var_10h_2) = s5;
    0x000145f0 move a3, zero             |     a3 = 0;
    0x000145f4 addiu a2, zero, 0x437     |     a2 = 0x437;
                                         |     /* str.do_gen_all_hostkeys */
    0x000145f8 addiu a1, a1, 0x1ad4      |     a1 += aav.0x00001ad4;
                                         |     /* str.ssh_keygen.c */
    0x000145fc addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x00014600 jalr t9                   |     t9 ();
    0x00014604 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x00014608 b 0x144e0                 |     goto label_1;
                                         | label_5:
    0x0001460c lw v0, -0x74d0(gp)        |     v0 = *((gp - 7476));
    0x00014610 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x00014614 lw t9, -0x74e8(gp)        |     t9 = sym.imp.__printf_chk
    0x00014618 lw a2, (v0)               |     a2 = *(v0);
                                         |     /* str._s:_generating_new_host_keys:_ */
    0x0001461c addiu a1, a1, 0x798       |     a1 += 0x798;
    0x00014620 addiu a0, zero, 1         |     a0 = 1;
    0x00014624 jalr t9                   |     t9 ();
    0x00014628 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x0001462c b 0x1430c                 |     goto label_2;
                                         | label_7:
    0x00014630 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x00014634 move a0, v0               |     a0 = v0;
    0x00014638 bal 0x1b0f0               |     sym_ssh_err ();
    0x0001463c lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x00014640 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x00014644 addiu v0, zero, 2         |     v0 = 2;
    0x00014648 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0001464c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     /* str.sshkey_generate_failed */
    0x00014650 addiu a0, a0, 0x7e8       |     a0 += 0x7e8;
    0x00014654 sw a0, 0x18(sp)           |     *(var_18h_2) = a0;
    0x00014658 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0001465c lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x00014660 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00014664 move a3, zero             |     a3 = 0;
    0x00014668 addiu a2, zero, 0x456     |     a2 = 0x456;
                                         |     /* str.do_gen_all_hostkeys */
    0x0001466c addiu a1, a1, 0x1ad4      |     a1 += aav.0x00001ad4;
                                         |     /* str.ssh_keygen.c */
    0x00014670 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x00014674 jalr t9                   |     t9 ();
    0x00014678 move s4, zero             |     s4 = 0;
    0x0001467c lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x00014680 b 0x144e0                 |     goto label_1;
                                         | label_6:
    0x00014684 lw t9, -0x7418(gp)        |     t9 = sym.imp.__errno_location;
    0x00014688 lw s1, 0x5c(sp)           |     s1 = *(var_5ch);
    0x0001468c jalr t9                   |     t9 ();
    0x00014690 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x00014694 lw a0, (v0)               |     a0 = *(v0);
    0x00014698 lw t9, -0x7454(gp)        |     t9 = sym.imp.strerror;
    0x0001469c move s4, zero             |     s4 = 0;
    0x000146a0 jalr t9                   |     t9 ();
    0x000146a4 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x000146a8 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x000146ac sw s1, 0x1c(sp)           |     *(var_1ch_2) = s1;
    0x000146b0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000146b4 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.Could_not_save_your_private_key_in__s:__s */
    0x000146b8 addiu v0, v0, 0x7bc       |     v0 += aav.0x000007bc;
    0x000146bc sw v0, 0x18(sp)           |     *(var_18h_2) = v0;
    0x000146c0 addiu v0, zero, 2         |     v0 = 2;
    0x000146c4 sw zero, 0x14(sp)         |     *(var_14h_2) = 0;
    0x000146c8 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x000146cc move a3, zero             |     a3 = 0;
    0x000146d0 addiu a2, zero, 0x44f     |     a2 = 0x44f;
                                         |     do {
                                         | label_3:
    0x000146d4 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x000146d8 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
                                         |         /* str.do_gen_all_hostkeys */
    0x000146dc addiu a1, a1, 0x1ad4      |         a1 += aav.0x00001ad4;
                                         |         /* str.ssh_keygen.c */
    0x000146e0 addiu a0, a0, -0xe90      |         a0 += -0xe90;
    0x000146e4 jalr t9                   |         t9 ();
    0x000146e8 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x000146ec b 0x144e0                 |         goto label_1;
                                         | label_9:
    0x000146f0 lw t9, -0x7fd0(gp)        |         t9 = sym.ssh_err;
    0x000146f4 move a0, v0               |         a0 = v0;
    0x000146f8 bal 0x1b0f0               |         sym_ssh_err ();
    0x000146fc lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x00014700 lw a0, 0x5c(sp)           |         a0 = *(var_5ch);
    0x00014704 sw v0, 0x14(sp)           |         *(var_14h_2) = v0;
    0x00014708 sw a0, 0x1c(sp)           |         *(var_1ch_2) = a0;
    0x0001470c lw a0, -0x7fdc(gp)        |         a0 = *(gp);
    0x00014710 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
                                         |         /* str.Saving_key___s__failed */
    0x00014714 addiu a0, a0, 0x3d8       |         a0 += aav.0x000003d8;
    0x00014718 sw a0, 0x18(sp)           |         *(var_18h_2) = a0;
    0x0001471c lw a0, -0x7fdc(gp)        |         a0 = *(gp);
    0x00014720 lw t9, -0x7fac(gp)        |         t9 = sym.sshlog;
    0x00014724 addiu v0, zero, 2         |         v0 = 2;
    0x00014728 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x0001472c move a3, zero             |         a3 = 0;
    0x00014730 addiu a2, zero, 0x460     |         a2 = aav.0x00000460;
                                         |         /* str.do_gen_all_hostkeys */
    0x00014734 addiu a1, a1, 0x1ad4      |         a1 += aav.0x00001ad4;
                                         |         /* str.ssh_keygen.c */
    0x00014738 addiu a0, a0, -0xe90      |         a0 += -0xe90;
    0x0001473c jalr t9                   |         t9 ();
    0x00014740 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x00014744 b 0x144e0                 |         goto label_1;
                                         | label_11:
    0x00014748 lw t9, -0x7fd0(gp)        |         t9 = sym.ssh_err;
    0x0001474c move a0, v0               |         a0 = v0;
    0x00014750 bal 0x1b0f0               |         sym_ssh_err ();
    0x00014754 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x00014758 addiu a0, s2, 0x513c      |         a0 = s2 + 0x513c;
    0x0001475c sw a0, 0x1c(sp)           |         *(var_1ch_2) = a0;
    0x00014760 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
    0x00014764 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
                                         |         /* str.Unable_to_save_public_key_to__s */
    0x00014768 addiu a0, a0, -0x150      |         a0 += -aav.0x00000150;
    0x0001476c sw a0, 0x18(sp)           |         *(var_18h_2) = a0;
    0x00014770 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
    0x00014774 sw v0, 0x14(sp)           |         *(var_14h_2) = v0;
    0x00014778 lw t9, -0x7fac(gp)        |         t9 = sym.sshlog;
    0x0001477c addiu v0, zero, 2         |         v0 = 2;
    0x00014780 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x00014784 move a3, zero             |         a3 = 0;
    0x00014788 addiu a2, zero, 0x46c     |         a2 = 0x46c;
                                         |         /* str.do_gen_all_hostkeys */
    0x0001478c addiu a1, a1, 0x1ad4      |         a1 += aav.0x00001ad4;
                                         |         /* str.ssh_keygen.c */
    0x00014790 addiu a0, a0, -0xe90      |         a0 += -0xe90;
    0x00014794 jalr t9                   |         t9 ();
    0x00014798 move s4, zero             |         s4 = 0;
    0x0001479c lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x000147a0 b 0x144e0                 |         goto label_1;
                                         | label_14:
    0x000147a4 lw v0, 0x4c(sp)           |         v0 = *(var_4ch);
                                         |         if (s4 != 0) {
    0x000147a8 beqz s4, 0x147c0          |             
    0x000147ac lw t9, -0x750c(gp)        |             t9 = sym.imp.putchar;
    0x000147b0 addiu a0, zero, 0xa       |             a0 = 0xa;
    0x000147b4 jalr t9                   |             t9 ();
    0x000147b8 lw gp, 0x28(sp)           |             gp = *(var_28h_2);
                                         | label_4:
    0x000147bc lw v0, 0x4c(sp)           |             v0 = *(var_4ch);
                                         |         }
    0x000147c0 lw v1, 0x54c(sp)          |         v1 = *(var_54ch);
    0x000147c4 lw v0, (v0)               |         v0 = *(v0);
    0x000147c8 lw ra, 0x574(sp)          |         ra = *(var_574h);
                                         |         if (v1 != v0) {
    0x000147cc bne v1, v0, 0x14934       |             goto label_15;
                                         |         }
    0x000147d0 lw fp, 0x570(sp)          |         fp = *(var_570h);
    0x000147d4 lw s7, 0x56c(sp)          |         s7 = *(var_56ch);
    0x000147d8 lw s6, 0x568(sp)          |         s6 = *(var_568h);
    0x000147dc lw s5, 0x564(sp)          |         s5 = *(var_564h);
    0x000147e0 lw s4, 0x560(sp)          |         s4 = *(var_560h);
    0x000147e4 lw s3, 0x55c(sp)          |         s3 = *(var_55ch);
    0x000147e8 lw s2, 0x558(sp)          |         s2 = *(var_558h);
    0x000147ec lw s1, 0x554(sp)          |         s1 = *(var_554h);
    0x000147f0 lw s0, 0x550(sp)          |         s0 = *(var_550h);
    0x000147f4 addiu sp, sp, 0x578       |         
    0x000147f8 jr ra                     |         return v0;
                                         | label_10:
    0x000147fc lw t9, -0x7418(gp)        |         t9 = sym.imp.__errno_location;
    0x00014800 lw s1, 0x60(sp)           |         s1 = *(var_60h);
    0x00014804 jalr t9                   |         t9 ();
    0x00014808 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x0001480c lw t9, -0x7454(gp)        |         t9 = sym.imp.strerror;
    0x00014810 lw a0, (v0)               |         a0 = *(v0);
    0x00014814 jalr t9                   |         t9 ();
    0x00014818 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x0001481c sw v0, 0x20(sp)           |         *(var_20h) = v0;
    0x00014820 sw s1, 0x1c(sp)           |         *(var_1ch_2) = s1;
    0x00014824 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
    0x00014828 lw t9, -0x7fac(gp)        |         t9 = sym.sshlog;
                                         |         /* str.Could_not_save_your_public_key_in__s:__s */
    0x0001482c addiu v0, v0, 0x808       |         v0 += aav.0x00000808;
    0x00014830 sw v0, 0x18(sp)           |         *(var_18h_2) = v0;
    0x00014834 addiu v0, zero, 2         |         v0 = 2;
    0x00014838 sw zero, 0x14(sp)         |         *(var_14h_2) = 0;
    0x0001483c sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x00014840 move a3, zero             |         a3 = 0;
    0x00014844 addiu a2, zero, 0x465     |         a2 = 0x465;
    0x00014848 b 0x146d4                 |         
                                         |     } while (1);
                                         | label_12:
    0x0001484c lw t9, -0x7418(gp)        |     t9 = sym.imp.__errno_location;
    0x00014850 lw s1, 0x68(sp)           |     s1 = *(var_68h);
    0x00014854 jalr t9                   |     t9 ();
    0x00014858 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x0001485c lw t9, -0x7454(gp)        |     t9 = sym.imp.strerror;
    0x00014860 lw a0, (v0)               |     a0 = *(v0);
    0x00014864 jalr t9                   |     t9 ();
    0x00014868 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x0001486c sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x00014870 sw s1, 0x1c(sp)           |     *(var_1ch_2) = s1;
    0x00014874 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00014878 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.Unable_to_move__s_into_position:__s */
    0x0001487c addiu v0, v0, 0x834       |     v0 += 0x834;
    0x00014880 sw v0, 0x18(sp)           |     *(var_18h_2) = v0;
    0x00014884 addiu v0, zero, 2         |     v0 = 2;
    0x00014888 sw zero, 0x14(sp)         |     *(var_14h_2) = 0;
    0x0001488c sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00014890 move a3, zero             |     a3 = 0;
    0x00014894 addiu a2, zero, 0x473     |     a2 = 0x473;
    0x00014898 b 0x146d4                 |     goto label_3;
                                         | label_13:
    0x0001489c lw t9, -0x7418(gp)        |     t9 = sym.imp.__errno_location;
    0x000148a0 jalr t9                   |     t9 ();
    0x000148a4 nop                       |     
    0x000148a8 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x000148ac lw t9, -0x7454(gp)        |     t9 = sym.imp.strerror;
    0x000148b0 lw a0, (v0)               |     a0 = *(v0);
    0x000148b4 jalr t9                   |     t9 ();
    0x000148b8 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x000148bc sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x000148c0 sw s1, 0x1c(sp)           |     *(var_1ch_2) = s1;
    0x000148c4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000148c8 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.Unable_to_move__s_into_position:__s */
    0x000148cc addiu v0, v0, 0x834       |     v0 += 0x834;
    0x000148d0 sw v0, 0x18(sp)           |     *(var_18h_2) = v0;
    0x000148d4 addiu v0, zero, 2         |     v0 = 2;
    0x000148d8 sw zero, 0x14(sp)         |     *(var_14h_2) = 0;
    0x000148dc sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x000148e0 move a3, zero             |     a3 = 0;
    0x000148e4 addiu a2, zero, 0x478     |     a2 = 0x478;
    0x000148e8 b 0x146d4                 |     goto label_3;
                                         | label_8:
    0x000148ec lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x000148f0 move a0, v0               |     a0 = v0;
    0x000148f4 bal 0x1b0f0               |     sym_ssh_err ();
    0x000148f8 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x000148fc sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x00014900 addiu v0, zero, 1         |     v0 = 1;
    0x00014904 lw v1, -0x7fdc(gp)        |     v1 = *(gp);
    0x00014908 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0001490c lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.sshkey_from_private */
    0x00014910 addiu v1, v1, 0x3f0       |     v1 += 0x3f0;
    0x00014914 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
    0x00014918 sw v1, 0x18(sp)           |     *(var_18h_2) = v1;
    0x0001491c sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00014920 addiu a3, zero, 1         |     a3 = 1;
    0x00014924 addiu a2, zero, 0x45a     |     a2 = 0x45a;
                                         |     /* str.do_gen_all_hostkeys */
    0x00014928 addiu a1, a1, 0x1ad4      |     a1 += aav.0x00001ad4;
                                         |     /* str.ssh_keygen.c */
    0x0001492c addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x00014930 bal 0x33940               |     sym_sshfatal ();
                                         | label_15:
    0x00014934 lw t9, -0x77e8(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00014938 jalr t9                   |     t9 ();
    0x0001493c nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/ssh-keygen @ 0x8670 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 347696 named .text */
    0x00008670 lui gp, 9                 |     
    0x00008674 addiu gp, gp, 0x3a30      |     
    0x00008678 addu gp, gp, t9           |     gp += t9;
    0x0000867c addiu sp, sp, -0x5c0      |     
    0x00008680 lw v0, -0x773c(gp)        |     v0 = *((gp - 7631));
    0x00008684 sw ra, 0x5bc(sp)          |     *(var_5bch) = ra;
    0x00008688 sw gp, 0x30(sp)           |     *(var_30h) = gp;
    0x0000868c sw s2, 0x5a0(sp)          |     *(var_5a0h) = s2;
    0x00008690 sw s1, 0x59c(sp)          |     *(var_59ch) = s1;
    0x00008694 sw fp, 0x5b8(sp)          |     *(var_5b8h) = fp;
    0x00008698 sw s7, 0x5b4(sp)          |     *(var_5b4h) = s7;
    0x0000869c sw s6, 0x5b0(sp)          |     *(var_5b0h) = s6;
    0x000086a0 sw s5, 0x5ac(sp)          |     *(var_5ach) = s5;
    0x000086a4 sw s4, 0x5a8(sp)          |     *(var_5a8h) = s4;
    0x000086a8 sw s3, 0x5a4(sp)          |     *(var_5a4h) = s3;
    0x000086ac sw s0, 0x598(sp)          |     *(var_598h) = s0;
    0x000086b0 sw v0, 0xb8(sp)           |     *(var_b8h) = v0;
    0x000086b4 lw v0, (v0)               |     v0 = *(v0);
    0x000086b8 lw t9, -0x7e34(gp)        |     t9 = sym.sanitise_stdfd;
    0x000086bc sw v0, 0x594(sp)          |     *(var_594h) = v0;
    0x000086c0 sw zero, 0xd0(sp)         |     *(var_d0h) = 0;
    0x000086c4 sw zero, 0xd4(sp)         |     *(var_d4h) = 0;
    0x000086c8 move s2, a1               |     s2 = a1;
    0x000086cc move s1, a0               |     s1 = a0;
    0x000086d0 jalr t9                   |     t9 ();
    0x000086d4 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x000086d8 lw t9, -0x7e30(gp)        |     t9 = sym.ssh_get_progname;
    0x000086dc lw a0, (s2)               |     a0 = *(s2);
    0x000086e0 jalr t9                   |     t9 ();
    0x000086e4 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x000086e8 lw v1, -0x74d0(gp)        |     v1 = *((gp - 7476));
    0x000086ec lw t9, -0x7e2c(gp)        |     t9 = sym.seed_rng;
    0x000086f0 sw v0, (v1)               |     *(v1) = v0;
    0x000086f4 jalr t9                   |     t9 ();
    0x000086f8 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x000086fc lw a0, (s2)               |     a0 = *(s2);
    0x00008700 addiu a3, zero, 1         |     a3 = 1;
    0x00008704 lw t9, -0x7e28(gp)        |     t9 = sym.log_init;
    0x00008708 addiu a2, zero, 1         |     a2 = 1;
    0x0000870c addiu a1, zero, 3         |     a1 = 3;
    0x00008710 jalr t9                   |     t9 ();
    0x00008714 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00008718 lw t9, -0x7e24(gp)        |     t9 = sym.msetlocale;
    0x0000871c jalr t9                   |     t9 ();
    0x00008720 nop                       |     
    0x00008724 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00008728 lw t9, -0x774c(gp)        |     t9 = sym.imp.getuid;
    0x0000872c jalr t9                   |     t9 ();
    0x00008730 nop                       |     
    0x00008734 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00008738 lw t9, -0x76fc(gp)        |     t9 = sym.imp.getpwuid;
    0x0000873c move a0, v0               |     a0 = v0;
    0x00008740 jalr t9                   |     t9 ();
    0x00008744 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x00008748 beqz v0, 0xb72c           |         goto label_53;
                                         |     }
    0x0000874c lw s0, -0x7fcc(gp)        |     s0 = *((gp - 8179));
    0x00008750 lw t9, -0x7e20(gp)        |     t9 = sym.pwcopy;
    0x00008754 move a0, v0               |     a0 = v0;
    0x00008758 sw s0, 0xc0(sp)           |     *(var_c0h) = s0;
    0x0000875c jalr t9                   |     t9 ();
    0x00008760 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00008764 addiu a1, zero, 0x401     |     a1 = 0x401;
    0x00008768 addiu a0, s0, 0x4cf4      |     a0 = s0 + 0x4cf4;
    0x0000876c lw t9, -0x77f0(gp)        |     t9 = sym.imp.gethostname;
    0x00008770 sw v0, 0xac(sp)           |     *(var_ach) = v0;
    0x00008774 jalr t9                   |     t9 ();
    0x00008778 addiu v1, zero, -1        |     v1 = -1;
    0x0000877c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == v1) {
    0x00008780 beq v0, v1, 0xb6e0        |         goto label_54;
                                         |     }
    0x00008784 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x00008788 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000878c lw t9, -0x74f8(gp)        |     t9 = sym.imp.getenv;
                                         |     /* str.SSH_SK_PROVIDER */
    0x00008790 addiu a0, a0, 0xb6c       |     a0 += 0xb6c;
    0x00008794 sw v0, 0x84(sp)           |     *(var_84h) = v0;
    0x00008798 move s0, v0               |     s0 = v0;
    0x0000879c jalr t9                   |     t9 ();
    0x000087a0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x000087a4 sw v0, 0x5104(s0)         |     *((s0 + 5185)) = v0;
    0x000087a8 sw zero, 0x40(sp)         |     *(var_40h) = 0;
    0x000087ac lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000087b0 lw s0, -0x7fdc(gp)        |     s0 = *(gp);
    0x000087b4 sw v0, 0x9c(sp)           |     *(var_9ch) = v0;
    0x000087b8 lw v0, -0x7f2c(gp)        |     v0 = *(gp);
    0x000087bc lw s3, -0x7fdc(gp)        |     s3 = *(gp);
    0x000087c0 addiu v0, v0, -0xd9c      |     v0 += -0xd9c;
    0x000087c4 sw v0, 0xa8(sp)           |     *(var_a8h) = v0;
    0x000087c8 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x000087cc addiu fp, zero, 3         |     fp = 3;
    0x000087d0 move s6, zero             |     s6 = 0;
    0x000087d4 sw zero, 0x44(sp)         |     *(var_44h) = 0;
    0x000087d8 sw zero, 0x3c(sp)         |     *(var_3ch) = 0;
    0x000087dc sw zero, 0x70(sp)         |     *(var_70h) = 0;
    0x000087e0 sw zero, 0x54(sp)         |     *(var_54h) = 0;
    0x000087e4 sw zero, 0x68(sp)         |     *(var_68h) = 0;
    0x000087e8 sw zero, 0x88(sp)         |     *(var_88h) = 0;
    0x000087ec sw zero, 0xb4(sp)         |     *(var_b4h) = 0;
    0x000087f0 sw zero, 0xb0(sp)         |     *(var_b0h) = 0;
    0x000087f4 sw zero, 0xbc(sp)         |     *(var_bch) = 0;
    0x000087f8 sw zero, 0x7c(sp)         |     *(var_7ch) = 0;
    0x000087fc sw zero, 0x48(sp)         |     *(var_48h) = 0;
    0x00008800 sw zero, 0x98(sp)         |     *(var_98h) = 0;
    0x00008804 sw zero, 0x94(sp)         |     *(var_94h) = 0;
    0x00008808 sw zero, 0x80(sp)         |     *(var_80h) = 0;
    0x0000880c sw zero, 0x5c(sp)         |     *(var_5ch) = 0;
    0x00008810 sw zero, 0x74(sp)         |     *(var_74h) = 0;
    0x00008814 sw zero, 0x50(sp)         |     *(var_50h) = 0;
    0x00008818 sw zero, 0x8c(sp)         |     *(var_8ch) = 0;
    0x0000881c sw zero, 0x60(sp)         |     *(var_60h) = 0;
    0x00008820 sw zero, 0x64(sp)         |     *(var_64h) = 0;
    0x00008824 sw zero, 0x78(sp)         |     *(var_78h) = 0;
    0x00008828 sw zero, 0x90(sp)         |     *(var_90h) = 0;
    0x0000882c sw zero, 0x6c(sp)         |     *(var_6ch) = 0;
    0x00008830 sw zero, 0x58(sp)         |     *(var_58h) = 0;
    0x00008834 move s7, zero             |     s7 = 0;
    0x00008838 addiu s0, s0, 0x19b8      |     s0 += 0x19b8;
    0x0000883c sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00008840 lw t9, -0x7e1c(gp)        |     t9 = sym.BSDgetopt;
                                         |     /* str.ABHKLQUXceghiklopquvyC:D:E:F:I:M:N:O:P:R:V:Y:Z:a:b:f:g:m:n:r:s:t:w:z: */
    0x00008844 addiu a2, s3, 0xd3c       |     a2 = s3 + 0xd3c;
    0x00008848 move a1, s2               |     a1 = s2;
    0x0000884c move a0, s1               |     a0 = s1;
    0x00008850 jalr t9                   |     t9 ();
    0x00008854 addiu v1, zero, -1        |     v1 = -1;
    0x00008858 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != v1) {
    0x0000885c beq v0, v1, 0x8f70        |         
    0x00008860 lw t9, -0x7ec4(gp)        |         t9 = *(gp);
    0x00008864 addiu a1, zero, -0x41     |         a1 = -0x41;
    0x00008868 move a0, v0               |         a0 = v0;
    0x0000886c jalr t9                   |         t9 ();
    0x00008870 sltiu v1, v0, 0x3a        |         v1 = (v0 < 0x3a) ? 1 : 0;
    0x00008874 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v1 == 0) {
    0x00008878 beqz v1, 0x9de8           |             goto label_55;
                                         |         }
    0x0000887c sll v0, v0, 2             |         v0 <<= 2;
    0x00008880 lwx v0, v0(s0)            |         __asm ("lwx v0, v0(s0)");
    0x00008884 addu v0, v0, gp           |         v0 += gp;
    0x00008888 jr v0                     |         v0 ();
    0x0000888c nop                       |         
                                         |     }
    0x00008f70 lw t9, -0x7e28(gp)        |     t9 = sym.log_init;
    0x00008f74 lw a0, (s2)               |     a0 = *(s2);
    0x00008f78 move a1, fp               |     a1 = fp;
    0x00008f7c addiu a3, zero, 1         |     a3 = 1;
    0x00008f80 addiu a2, zero, 1         |     a2 = 1;
    0x00008f84 move s4, v0               |     s4 = v0;
    0x00008f88 jalr t9                   |     t9 ();
    0x00008f8c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00008f90 move a0, s1               |     a0 = s1;
    0x00008f94 lw v0, -0x7e08(gp)        |     v0 = *(gp);
    0x00008f98 lw t9, -0x7e04(gp)        |     t9 = *(gp);
    0x00008f9c lw a1, (v0)               |     a1 = *(v0);
    0x00008fa0 sll v0, a1, 2             |     v0 = a1 << 2;
    0x00008fa4 addu fp, s2, v0           |     fp = s2 + v0;
    0x00008fa8 jalr t9                   |     t9 ();
    0x00008fac lw a0, 0x40(sp)           |     a0 = *(var_40h);
    0x00008fb0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00008fb4 move s5, v0               |     s5 = v0;
                                         |     if (a0 == 0) {
    0x00008fb8 beqz a0, 0x9298           |         goto label_56;
                                         |     }
    0x00008fbc lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x00008fc0 lw t9, -0x78ac(gp)        |     t9 = sym.imp.strncmp;
    0x00008fc4 addiu a2, zero, 0xf       |     a2 = 0xf;
                                         |     /* str.find_principals */
    0x00008fc8 addiu a1, a1, 0xd84       |     a1 += 0xd84;
    0x00008fcc jalr t9                   |     t9 ();
    0x00008fd0 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00008fd4 bnez v0, 0x9144           |         goto label_57;
                                         |     }
    0x00008fd8 lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
    0x00008fdc lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
                                         |     if (v0 == 0) {
    0x00008fe0 beqz v0, 0xbc84           |         goto label_58;
                                         |     }
    0x00008fe4 lw v0, 0x5138(v0)         |     v0 = *((v0 + 5198));
    0x00008fe8 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     if (v0 == 0) {
    0x00008fec beqz v0, 0xb69c           |         goto label_59;
                                         |     }
    0x00008ff0 lw t9, -0x7f68(gp)        |     t9 = sym.sshbuf_load_file;
    0x00008ff4 lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
    0x00008ff8 addiu a1, sp, 0xe0        |     a1 = sp + 0xe0;
    0x00008ffc sw zero, 0xdc(sp)         |     *(var_dch) = 0;
    0x00009000 sw zero, 0xe0(sp)         |     *(var_e0h) = 0;
    0x00009004 sw zero, 0xe4(sp)         |     *(var_e4h) = 0;
    0x00009008 sw zero, 0xe8(sp)         |     *(var_e8h) = 0;
    0x0000900c jalr t9                   |     t9 ();
    0x00009010 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009014 bnez v0, 0xa8a4           |         goto label_60;
                                         |     }
    0x00009018 lw t9, -0x7f64(gp)        |     t9 = sym.sshsig_dearmor;
    0x0000901c lw a0, 0xe0(sp)           |     a0 = *(var_e0h);
    0x00009020 addiu a1, sp, 0xdc        |     a1 = sp + 0xdc;
    0x00009024 bal 0x17a04               |     sym_sshsig_dearmor ();
    0x00009028 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000902c bnez v0, 0xadb0           |         goto label_61;
                                         |     }
    0x00009030 lw t9, -0x7e00(gp)        |     t9 = sym.sshsig_get_pubkey;
    0x00009034 lw a0, 0xdc(sp)           |     a0 = *(var_dch);
    0x00009038 addiu a1, sp, 0xe4        |     a1 = sp + 0xe4;
    0x0000903c bal 0x19864               |     sym_sshsig_get_pubkey ();
    0x00009040 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009044 bnez v0, 0xade8           |         goto label_62;
                                         |     }
    0x00009048 lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x0000904c lw t9, -0x7dfc(gp)        |     t9 = sym.sshsig_find_principals;
    0x00009050 lw a1, 0xe4(sp)           |     a1 = *(var_e4h);
    0x00009054 addiu a2, sp, 0xe8        |     a2 = sp + 0xe8;
    0x00009058 addiu a0, a0, 0x513c      |     a0 += 0x513c;
    0x0000905c bal 0x18ff4               |     sym_sshsig_find_principals ();
    0x00009060 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x00009064 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009068 bnez v0, 0xbbcc           |         goto label_63;
                                         |     }
    0x0000906c lw v0, 0xe8(sp)           |     v0 = *(var_e8h);
    0x00009070 lw s0, -0x7fdc(gp)        |     s0 = *(gp);
    0x00009074 sw v0, 0xec(sp)           |     *(var_ech) = v0;
    0x00009078 addiu s1, sp, 0xec        |     s1 = sp + 0xec;
                                         |     /* esilref: '' */
    0x0000907c addiu s0, s0, -0xddc      |     s0 += -0xddc;
    0x00009080 b 0x909c                  |     
                                         |     while (v0 != 0) {
    0x00009084 lb v1, (v0)               |         v1 = *(v0);
    0x00009088 lw t9, -0x786c(gp)        |         t9 = sym.imp.puts;
                                         |         if (v1 == 0) {
    0x0000908c beqz v1, 0x90b4           |             goto label_22;
                                         |         }
    0x00009090 move a0, v0               |         a0 = v0;
    0x00009094 jalr t9                   |         t9 ();
    0x00009098 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000909c lw t9, -0x74c4(gp)        |         t9 = sym.imp.strsep;
    0x000090a0 move a1, s0               |         a1 = s0;
    0x000090a4 move a0, s1               |         a0 = s1;
    0x000090a8 jalr t9                   |         t9 ();
    0x000090ac lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x000090b0 bnez v0, 0x9084           |         
                                         |     }
                                         | label_22:
    0x000090b4 lw t9, -0x7f9c(gp)        |     t9 = sym.sshbuf_free;
    0x000090b8 lw a0, 0xdc(sp)           |     a0 = *(var_dch);
    0x000090bc bal 0x1b7ac               |     sym_sshbuf_free ();
    0x000090c0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x000090c4 lw t9, -0x7f9c(gp)        |     t9 = sym.sshbuf_free;
    0x000090c8 lw a0, 0xe0(sp)           |     a0 = *(var_e0h);
    0x000090cc bal 0x1b7ac               |     sym_sshbuf_free ();
    0x000090d0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x000090d4 lw t9, -0x7f4c(gp)        |     t9 = sym.sshkey_free;
    0x000090d8 lw a0, 0xe4(sp)           |     a0 = *(var_e4h);
    0x000090dc bal 0x1e0a4               |     sym_sshkey_free ();
    0x000090e0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x000090e4 lw t9, -0x75e4(gp)        |     t9 = sym.imp.free;
    0x000090e8 lw a0, 0xe8(sp)           |     a0 = *(var_e8h);
    0x000090ec jalr t9                   |     t9 ();
    0x000090f0 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         | label_1:
    0x000090f4 lw v0, 0xb8(sp)           |     v0 = *(var_b8h);
    0x000090f8 lw a0, 0x594(sp)          |     a0 = *(var_594h);
    0x000090fc lw v1, (v0)               |     v1 = *(v0);
    0x00009100 lw v0, 0x48(sp)           |     v0 = *(var_48h);
                                         |     if (a0 != v1) {
    0x00009104 bne a0, v1, 0xb9c4        |         goto label_64;
                                         |     }
    0x00009108 lw ra, 0x5bc(sp)          |     ra = *(var_5bch);
    0x0000910c lw fp, 0x5b8(sp)          |     fp = *(var_5b8h);
    0x00009110 lw s7, 0x5b4(sp)          |     s7 = *(var_5b4h);
    0x00009114 lw s6, 0x5b0(sp)          |     s6 = *(var_5b0h);
    0x00009118 lw s5, 0x5ac(sp)          |     s5 = *(var_5ach);
    0x0000911c lw s4, 0x5a8(sp)          |     s4 = *(var_5a8h);
    0x00009120 lw s3, 0x5a4(sp)          |     s3 = *(var_5a4h);
    0x00009124 lw s2, 0x5a0(sp)          |     s2 = *(var_5a0h);
    0x00009128 lw s1, 0x59c(sp)          |     s1 = *(var_59ch);
    0x0000912c lw s0, 0x598(sp)          |     s0 = *(var_598h);
    0x00009130 addiu sp, sp, 0x5c0       |     
    0x00009134 jr ra                     |     return v0;
                                         | label_57:
    0x00009144 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x00009148 lw t9, -0x78ac(gp)        |     t9 = sym.imp.strncmp;
    0x0000914c lw a0, 0x40(sp)           |     a0 = *(var_40h);
    0x00009150 addiu a2, zero, 4         |     a2 = 4;
                                         |     /* esilref: 'sign' */
    0x00009154 addiu a1, a1, 0x1e58      |     a1 += 0x1e58;
    0x00009158 jalr t9                   |     t9 ();
    0x0000915c move s1, v0               |     s1 = v0;
    0x00009160 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009164 bnez v0, 0x93a8           |         goto label_65;
                                         |     }
    0x00009168 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x0000916c lw s0, 0x5128(v0)         |     s0 = *((v0 + 5194));
    0x00009170 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     if (s0 == 0) {
    0x00009174 beqz s0, 0xba44           |         goto label_66;
                                         |     }
    0x00009178 lb v0, (s0)               |     v0 = *(s0);
    0x0000917c lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
                                         |     if (v0 == 0) {
    0x00009180 beqz v0, 0xba40           |         goto label_67;
                                         |     }
    0x00009184 lw v0, 0x5138(v0)         |     v0 = *((v0 + 5198));
    0x00009188 lw s2, -0x7fdc(gp)        |     s2 = *(gp);
                                         |     if (v0 == 0) {
    0x0000918c beqz v0, 0xbf34           |         goto label_68;
                                         |     }
    0x00009190 sw s4, 0xe8(sp)           |     *(var_e8h) = s4;
    0x00009194 sw zero, 0xec(sp)         |     *(var_ech) = 0;
    0x00009198 addiu s2, s2, 0x680       |     s2 += 0x680;
    0x0000919c addiu s3, zero, 1         |     s3 = 1;
                                         |     do {
    0x000091a0 slt v0, s1, s5            |         v0 = (s1 < s5) ? 1 : 0;
    0x000091a4 sll a0, s1, 2             |         a0 = s1 << 2;
                                         |         if (v0 == 0) {
    0x000091a8 beqz v0, 0x9fbc           |             goto label_69;
                                         |         }
    0x000091ac lw t9, -0x7944(gp)        |         t9 = sym.imp.strcmp;
    0x000091b0 lwx a0, a0(fp)            |         __asm ("lwx a0, a0(fp)");
    0x000091b4 move a1, s2               |         a1 = s2;
    0x000091b8 jalr t9                   |         t9 ();
    0x000091bc lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x000091c0 bnez v0, 0x91d4           |             
    0x000091c4 lw v0, -0x7fdc(gp)        |             v0 = *(gp);
                                         |             if (s1 != 0) {
    0x000091c8 bnez s1, 0x95e4           |                 goto label_70;
                                         |             }
    0x000091cc lw a1, -0x7fdc(gp)        |             a1 = *(gp);
                                         |             if (s5 != s3) {
    0x000091d0 bne s5, s3, 0x95e8        |                 goto label_71;
                                         |             }
                                         |         }
    0x000091d4 lw t9, -0x7ec4(gp)        |         t9 = *(gp);
    0x000091d8 move a0, s1               |         a0 = s1;
    0x000091dc addiu a1, zero, 1         |         a1 = 1;
    0x000091e0 jalr t9                   |         t9 ();
    0x000091e4 move s1, v0               |         s1 = v0;
    0x000091e8 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x000091ec b 0x91a0                  |         
                                         |     } while (1);
                                         | label_56:
    0x00009298 lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
                                         |     if (v0 == 0) {
    0x0000929c beqz v0, 0x94a8           |         goto label_72;
                                         |     }
    0x000092a0 nop                       |     
    0x000092a4 lw v0, 0x50(sp)           |     v0 = *(var_50h);
                                         |     if (s5 <= 0) {
    0x000092a8 blez s5, 0x96f0           |         goto label_73;
                                         |     }
                                         | label_2:
    0x000092ac lw v0, 0x58(sp)           |     v0 = *(var_58h);
                                         | label_3:
    0x000092b0 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
                                         |     if (v0 != 0) {
    0x000092b4 beqz v0, 0x92c4           |         
    0x000092b8 lw v0, 0x6c(sp)           |         v0 = *(var_6ch);
    0x000092bc lw v0, -0x7fcc(gp)        |         v0 = *((gp - 8179));
                                         |         if (v0 != 0) {
    0x000092c0 bnez v0, 0xbcb4           |             goto label_74;
                                         |         }
                                         |     }
    0x000092c4 lw s0, 0x6140(v0)         |     s0 = *((v0 + 6224));
    0x000092c8 lw v0, 0x50(sp)           |     v0 = *(var_50h);
                                         |     if (s0 != 0) {
    0x000092cc beqz s0, 0x92e4           |         
    0x000092d0 lw v0, 0x64(sp)           |         v0 = *(var_64h);
    0x000092d4 lw v1, 0x60(sp)           |         v1 = *(var_60h);
    0x000092d8 or v0, v0, v1             |         v0 |= v1;
    0x000092dc lw v0, 0x50(sp)           |         v0 = *(var_50h);
                                         |         if (v0 != 0) {
    0x000092e0 bnez v0, 0xbba4           |             goto label_75;
                                         |         }
                                         |     }
    0x000092e4 lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
                                         |     if (v0 != 0) {
    0x000092e8 bnez v0, 0x9830           |         goto label_76;
                                         |     }
    0x000092ec lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
                                         |     if (v0 != 0) {
    0x000092f0 bnez v0, 0xb9f8           |         goto label_77;
                                         |     }
    0x000092f4 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
                                         |     if (v0 == 0) {
    0x000092f8 beqz v0, 0x9770           |         goto label_78;
                                         |     }
    0x000092fc lw v0, 0x512c(v0)         |     v0 = *((v0 + 5195));
    0x00009300 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     if (v0 == 0) {
    0x00009304 beqz v0, 0x9f88           |         goto label_79;
                                         |     }
    0x00009308 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     if (s6 == 0) {
    0x0000930c beqz s6, 0x9618           |         goto label_80;
                                         |     }
    0x00009310 lw s4, -0x7fdc(gp)        |     s4 = *(gp);
    0x00009314 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x00009318 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000931c lw s2, 0x44(sp)           |     s2 = *(var_44h);
                                         |     /* str.no_agent_forwarding */
    0x00009320 addiu v0, v0, 0x12e8      |     v0 += 0x12e8;
    0x00009324 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x00009328 lw v0, -0x7f2c(gp)        |     v0 = *(gp);
    0x0000932c lw s3, -0x7fdc(gp)        |     s3 = *(gp);
    0x00009330 addiu v0, v0, -0x393c     |     v0 += -0x393c;
    0x00009334 lw s7, -0x7fdc(gp)        |     s7 = *(gp);
    0x00009338 move s1, zero             |     s1 = 0;
                                         |     /* str.no_x11_forwarding */
    0x0000933c addiu s4, s4, 0x12bc      |     s4 += 0x12bc;
    0x00009340 sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x00009344 b 0x935c                  |     
                                         |     while (v0 == 0) {
    0x00009348 lw v0, -0x7fcc(gp)        |         v0 = *((gp - 8179));
    0x0000934c sw zero, 0x404c(v0)       |         *((v0 + 4115)) = 0;
                                         | label_0:
    0x00009350 addiu s1, s1, 1           |         s1++;
                                         | label_51:
    0x00009354 addiu s2, s2, 4           |         s2 += 4;
                                         |         if (s6 == s1) {
    0x00009358 beq s6, s1, 0x9618        |             goto label_80;
                                         |         }
    0x0000935c lw s0, (s2)               |         s0 = *(s2);
    0x00009360 lw t9, -0x776c(gp)        |         t9 = sym.imp.strcasecmp;
    0x00009364 addiu a1, s3, 0x12b4      |         a1 = s3 + 0x12b4;
    0x00009368 move a0, s0               |         a0 = s0;
    0x0000936c jalr t9                   |         t9 ();
    0x00009370 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009374 beqz v0, 0x9348           |         
                                         |     }
    0x00009378 lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
    0x0000937c move a1, s4               |     a1 = s4;
    0x00009380 move a0, s0               |     a0 = s0;
    0x00009384 jalr t9                   |     t9 ();
    0x00009388 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000938c bnez v0, 0x951c           |         goto label_81;
                                         |     }
    0x00009390 lw v1, -0x7fcc(gp)        |     v1 = *((gp - 8179));
    0x00009394 addiu a0, zero, -2        |     a0 = -2;
    0x00009398 lw v0, 0x404c(v1)         |     v0 = *((v1 + 4115));
    0x0000939c and v0, v0, a0            |     v0 &= a0;
    0x000093a0 sw v0, 0x404c(v1)         |     *((v1 + 4115)) = v0;
    0x000093a4 b 0x9350                  |     goto label_0;
                                         | label_65:
    0x000093a8 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x000093ac lw t9, -0x78ac(gp)        |     t9 = sym.imp.strncmp;
    0x000093b0 lw a0, 0x40(sp)           |     a0 = *(var_40h);
    0x000093b4 addiu a2, zero, 0x10      |     a2 = 0x10;
                                         |     /* str.check_novalidate */
    0x000093b8 addiu a1, a1, 0xffc       |     a1 += 0xffc;
    0x000093bc jalr t9                   |     t9 ();
    0x000093c0 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x000093c4 bnez v0, 0x9684           |         goto label_82;
                                         |     }
    0x000093c8 lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
    0x000093cc lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
                                         |     if (v0 == 0) {
    0x000093d0 beqz v0, 0xba70           |         goto label_83;
                                         |     }
    0x000093d4 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x000093d8 move a3, zero             |     a3 = 0;
    0x000093dc lw a1, 0x5128(v0)         |     a1 = *((v0 + 5194));
    0x000093e0 move a2, zero             |     a2 = 0;
                                         | label_4:
    0x000093e4 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
    0x000093e8 addiu t9, t9, -0x253c     |     t9 += -0x253c;
    0x000093ec lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
    0x000093f0 bal 0xdac4                |     fcn_0000dac4 ();
    0x000093f4 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x000093f8 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x000093fc b 0x90f4                  |     goto label_1;
                                         | label_72:
    0x000094a8 lw v1, 0xb0(sp)           |     v1 = *(var_b0h);
                                         |     if (s5 <= 0) {
    0x000094ac blez s5, 0x92ac           |         goto label_2;
                                         |     }
    0x000094b0 lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x000094b4 or v0, v0, v1             |     v0 |= v1;
    0x000094b8 lw v1, 0x50(sp)           |     v1 = *(var_50h);
    0x000094bc or v0, v0, v1             |     v0 |= v1;
    0x000094c0 lw v1, 0xb4(sp)           |     v1 = *(var_b4h);
    0x000094c4 or v0, v0, v1             |     v0 |= v1;
    0x000094c8 lw v0, 0x58(sp)           |     v0 = *(var_58h);
                                         |     if (v0 != 0) {
    0x000094cc bnez v0, 0x92b0           |         goto label_3;
                                         |     }
    0x000094d0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000094d4 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.Too_many_arguments. */
    0x000094d8 addiu v0, v0, 0x115c      |     v0 += 0x115c;
    0x000094dc sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x000094e0 addiu v0, zero, 2         |     v0 = 2;
    0x000094e4 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x000094e8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000094ec move a3, zero             |     a3 = 0;
    0x000094f0 addiu a2, zero, 0xd72     |     a2 = 0xd72;
                                         | label_5:
    0x000094f4 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x000094f8 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.main */
    0x000094fc addiu a1, a1, 0x1e1c      |     a1 += 0x1e1c;
                                         |     /* str.ssh_keygen.c */
    0x00009500 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x00009504 jalr t9                   |     t9 ();
    0x00009508 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000950c lw t9, -0x7f2c(gp)        |     t9 = *(gp);
    0x00009510 addiu t9, t9, -0x3bd0     |     t9 += -0x3bd0;
    0x00009514 bal 0xc430                |     fcn_0000c430 ();
    0x00009518 nop                       |     
                                         | label_81:
    0x0000951c lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
    0x00009520 addiu a1, s7, 0x12d0      |     a1 = s7 + 0x12d0;
    0x00009524 move a0, s0               |     a0 = s0;
    0x00009528 jalr t9                   |     t9 ();
    0x0000952c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x00009530 bnez v0, 0x9654           |         
    0x00009534 lw v1, -0x7fcc(gp)        |         v1 = *((gp - 8179));
    0x00009538 lw v0, 0x404c(v1)         |         v0 = *((v1 + 4115));
    0x0000953c ori v0, v0, 1             |         v0 |= 1;
    0x00009540 sw v0, 0x404c(v1)         |         *((v1 + 4115)) = v0;
    0x00009544 b 0x9350                  |         goto label_0;
                                         | label_70:
    0x000095e4 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
                                         |         /* str.Cannot_sign_mix_of_paths_and_standard_input */
                                         | label_71:
    0x000095e8 addiu v0, v0, 0xeb0       |         v0 += 0xeb0;
    0x000095ec lw a0, -0x7fdc(gp)        |         a0 = *(gp);
    0x000095f0 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x000095f4 lw t9, -0x7fbc(gp)        |         t9 = sym.sshfatal;
    0x000095f8 addiu v0, zero, 1         |         v0 = 1;
    0x000095fc sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x00009600 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00009604 move a3, zero             |         a3 = 0;
    0x00009608 addiu a2, zero, 0xa39     |         a2 = 0xa39;
                                         |         /* str.sig_sign */
    0x0000960c addiu a1, a1, 0x1dd4      |         a1 += 0x1dd4;
                                         |         /* str.ssh_keygen.c */
    0x00009610 addiu a0, a0, -0xe90      |         a0 += -0xe90;
    0x00009614 jalr t9                   |         t9 ();
                                         | label_80:
    0x00009618 lw v0, 0xbc(sp)           |         v0 = *(var_bch);
    0x0000961c lw t9, -0x7f2c(gp)        |         t9 = *(gp);
    0x00009620 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00009624 lw v0, 0x54(sp)           |         v0 = *(var_54h);
    0x00009628 lw a2, 0x80(sp)           |         a2 = *(var_80h);
    0x0000962c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00009630 lw v0, 0x68(sp)           |         v0 = *(var_68h);
    0x00009634 lw a1, 0x3c(sp)           |         a1 = *(var_3ch);
    0x00009638 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x0000963c lw v0, 0xac(sp)           |         v0 = *(var_ach);
    0x00009640 sw fp, 0x20(sp)           |         *(var_20h) = fp;
    0x00009644 sw s5, 0x1c(sp)           |         *(var_1ch) = s5;
                                         |         /* fcn.00010194 */
    0x00009648 addiu t9, t9, 0x194       |         t9 += aav.0x00000194;
    0x0000964c addiu a0, v0, 8           |         a0 = v0 + 8;
    0x00009650 bal 0x10194               |         fcn_00010194 ();
                                         |     }
    0x00009654 lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
    0x00009658 lw a1, 0x40(sp)           |     a1 = *(var_40h);
    0x0000965c move a0, s0               |     a0 = s0;
    0x00009660 jalr t9                   |     t9 ();
    0x00009664 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009668 bnez v0, 0x9720           |         goto label_84;
                                         |     }
    0x0000966c lw v1, -0x7fcc(gp)        |     v1 = *((gp - 8179));
    0x00009670 addiu a0, zero, -3        |     a0 = -3;
    0x00009674 lw v0, 0x404c(v1)         |     v0 = *((v1 + 4115));
    0x00009678 and v0, v0, a0            |     v0 &= a0;
    0x0000967c sw v0, 0x404c(v1)         |     *((v1 + 4115)) = v0;
    0x00009680 b 0x9350                  |     goto label_0;
                                         | label_82:
    0x00009684 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x00009688 lw t9, -0x78ac(gp)        |     t9 = sym.imp.strncmp;
    0x0000968c lw a0, 0x40(sp)           |     a0 = *(var_40h);
    0x00009690 addiu a2, zero, 6         |     a2 = 6;
                                         |     /* esilref: 'verify' */
    0x00009694 addiu a1, a1, 0x1f64      |     a1 += 0x1f64;
    0x00009698 jalr t9                   |     t9 ();
    0x0000969c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x000096a0 bnez v0, 0x9da4           |         goto label_85;
                                         |     }
    0x000096a4 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x000096a8 lw a1, 0x5128(v0)         |     a1 = *((v0 + 5194));
    0x000096ac lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     if (a1 == 0) {
    0x000096b0 beqz a1, 0xb85c           |         goto label_86;
                                         |     }
    0x000096b4 lb v0, (a1)               |     v0 = *(a1);
    0x000096b8 lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
                                         |     if (v0 == 0) {
    0x000096bc beqz v0, 0xb858           |         goto label_87;
                                         |     }
    0x000096c0 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
                                         |     if (v0 == 0) {
    0x000096c4 beqz v0, 0xb828           |         goto label_88;
                                         |     }
    0x000096c8 lw v0, 0x5138(v0)         |     v0 = *((v0 + 5198));
    0x000096cc lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
                                         |     if (v0 == 0) {
    0x000096d0 beqz v0, 0xb7f8           |         goto label_89;
                                         |     }
    0x000096d4 lw a2, 0x512c(v0)         |     a2 = *((v0 + 5195));
                                         |     if (a2 == 0) {
    0x000096d8 beql a2, zero, 0xb7cc     |         goto label_90;
                                         |     }
    0x000096dc lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000096e0 lw a3, -0x7fcc(gp)        |     a3 = *((gp - 8179));
    0x000096e4 sw s7, 0x10(sp)           |     *(var_10h) = s7;
    0x000096e8 addiu a3, a3, 0x513c      |     a3 += 0x513c;
    0x000096ec b 0x93e4                  |     goto label_4;
                                         | label_73:
    0x000096f0 lw v0, 0x58(sp)           |     v0 = *(var_58h);
                                         |     if (v0 != 0) {
    0x000096f4 bnez v0, 0x92b0           |         goto label_3;
                                         |     }
    0x000096f8 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000096fc lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.Too_few_arguments. */
    0x00009700 addiu v0, v0, 0x1148      |     v0 += 0x1148;
    0x00009704 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00009708 addiu v0, zero, 2         |     v0 = 2;
    0x0000970c sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00009710 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00009714 move a3, zero             |     a3 = 0;
    0x00009718 addiu a2, zero, 0xd6d     |     a2 = 0xd6d;
    0x0000971c b 0x94f4                  |     goto label_5;
                                         | label_84:
    0x00009720 lw v0, 0x48(sp)           |     v0 = *(var_48h);
    0x00009724 lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
    0x00009728 addiu a1, v0, -0x948      |     a1 = v0 + -0x948;
    0x0000972c move a0, s0               |     a0 = s0;
    0x00009730 jalr t9                   |     t9 ();
    0x00009734 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x00009738 beqz v0, 0x9cf4           |         goto label_91;
                                         |     }
    0x0000973c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x00009740 lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
                                         |     /* str.no_port_forwarding */
    0x00009744 addiu a1, a1, 0x12fc      |     a1 += 0x12fc;
    0x00009748 move a0, s0               |     a0 = s0;
    0x0000974c jalr t9                   |     t9 ();
    0x00009750 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009754 bnez v0, 0xa2f8           |         goto label_92;
                                         |     }
    0x00009758 lw v1, -0x7fcc(gp)        |     v1 = *((gp - 8179));
    0x0000975c addiu a0, zero, -5        |     a0 = -5;
    0x00009760 lw v0, 0x404c(v1)         |     v0 = *((v1 + 4115));
    0x00009764 and v0, v0, a0            |     v0 &= a0;
    0x00009768 sw v0, 0x404c(v1)         |     *((v1 + 4115)) = v0;
    0x0000976c b 0x9350                  |     goto label_0;
                                         | label_78:
    0x00009770 lw v0, 0x90(sp)           |     v0 = *(var_90h);
    0x00009774 lw v1, 0x60(sp)           |     v1 = *(var_60h);
                                         |     if (v0 != 0) {
    0x00009778 bnez v0, 0xb62c           |         goto label_93;
                                         |     }
    0x0000977c lw v0, 0x64(sp)           |     v0 = *(var_64h);
    0x00009780 or v0, v0, v1             |     v0 |= v1;
    0x00009784 lw v1, 0x78(sp)           |     v1 = *(var_78h);
    0x00009788 or v0, v0, v1             |     v0 |= v1;
    0x0000978c lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
                                         |     if (v0 != 0) {
    0x00009790 bnez v0, 0xbfd4           |         goto label_94;
                                         |     }
    0x00009794 lw v0, 0x5108(v0)         |     v0 = *((v0 + 5186));
    0x00009798 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
                                         |     if (v0 != 0) {
    0x0000979c bnez v0, 0xbfc4           |         goto label_95;
                                         |     }
    0x000097a0 lw v0, 0x88(sp)           |     v0 = *(var_88h);
    0x000097a4 lw s1, -0x7fdc(gp)        |     s1 = *(gp);
                                         |     if (v0 != 0) {
    0x000097a8 bnez v0, 0x99b0           |         goto label_96;
                                         |     }
    0x000097ac lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x000097b0 lw v0, 0x613c(v0)         |     v0 = *((v0 + 6223));
    0x000097b4 or s0, s0, v0             |     s0 |= v0;
    0x000097b8 lw v0, 0x58(sp)           |     v0 = *(var_58h);
                                         |     if (s0 != 0) {
    0x000097bc bnez s0, 0xb2a4           |         goto label_97;
                                         |     }
    0x000097c0 lw v0, 0x6c(sp)           |     v0 = *(var_6ch);
                                         |     if (v0 != 0) {
    0x000097c4 bnez v0, 0xb294           |         goto label_98;
                                         |     }
    0x000097c8 lw v0, 0x94(sp)           |     v0 = *(var_94h);
                                         |     if (v0 != 0) {
    0x000097cc bnez v0, 0xb2b4           |         goto label_99;
                                         |     }
    0x000097d0 lw v0, 0x98(sp)           |     v0 = *(var_98h);
                                         |     if (v0 != 0) {
    0x000097d4 bnez v0, 0xb084           |         goto label_100;
                                         |     }
    0x000097d8 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
                                         |     if (v0 != 0) {
    0x000097dc bnez v0, 0xb620           |         goto label_101;
                                         |     }
    0x000097e0 lw v0, 0x48(sp)           |     v0 = *(var_48h);
    0x000097e4 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
                                         |     if (v0 != 0) {
    0x000097e8 bnez v0, 0xb614           |         goto label_102;
                                         |     }
    0x000097ec lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
                                         |     if (s7 == 0) {
    0x000097f0 beqz s7, 0xa4e0           |         goto label_103;
                                         |     }
    0x000097f4 lw v0, 0x5138(v0)         |     v0 = *((v0 + 5198));
    0x000097f8 lw s1, -0x7f2c(gp)        |     s1 = *(gp);
                                         |     if (v0 == 0) {
    0x000097fc beqz v0, 0xa40c           |         goto label_104;
                                         |     }
    0x00009800 lw s0, -0x7fcc(gp)        |     s0 = *((gp - 8179));
    0x00009804 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
    0x00009808 lw a2, 0x7c(sp)           |     a2 = *(var_7ch);
    0x0000980c move a1, s7               |     a1 = s7;
                                         |     /* fcn.00013fd8 */
    0x00009810 addiu t9, t9, 0x3fd8      |     t9 += 0x3fd8;
    0x00009814 addiu a0, s0, 0x513c      |     a0 = s0 + 0x513c;
    0x00009818 bal 0x13fd8               |     fcn_00013fd8 ();
    0x0000981c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x00009820 beqz v0, 0xb63c           |         goto label_105;
                                         |     }
                                         | label_18:
    0x00009824 lw t9, -0x7954(gp)        |     t9 = sym.imp.exit;
    0x00009828 move a0, zero             |     a0 = 0;
    0x0000982c jalr t9                   |     t9 ();
                                         | label_76:
    0x00009830 lw s2, -0x7fcc(gp)        |     s2 = *((gp - 8179));
    0x00009834 sw zero, 0xec(sp)         |     *(var_ech) = 0;
    0x00009838 lb v0, 0x513c(s2)         |     v0 = *((s2 + 20796));
    0x0000983c addiu a1, s2, 0x513c      |     a1 = s2 + 0x513c;
                                         |     if (v0 == 0) {
    0x00009840 beqz v0, 0xbffc           |         goto label_106;
                                         |     }
    0x00009844 lw t9, -0x74d8(gp)        |     t9 = sym.imp.__xstat64;
    0x00009848 addiu a2, sp, 0xf0        |     a2 = sp + 0xf0;
    0x0000984c addiu a0, zero, 3         |     a0 = 3;
    0x00009850 jalr t9                   |     t9 ();
    0x00009854 addiu v1, zero, -1        |     v1 = -1;
    0x00009858 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == v1) {
    0x0000985c beq v0, v1, 0x9d08        |         goto label_107;
                                         |     }
    0x00009860 lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
    0x00009864 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     if (a0 == 0) {
    0x00009868 beqz a0, 0xa824           |         goto label_108;
                                         |     }
    0x0000986c lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
                                         |     /* str.none */
    0x00009870 addiu a1, a1, 0x988       |     a1 += 0x988;
    0x00009874 jalr t9                   |     t9 ();
    0x00009878 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000987c bnez v0, 0xa2a8           |         goto label_109;
                                         |     }
                                         | label_14:
    0x00009880 lw v0, 0x74(sp)           |     v0 = *(var_74h);
    0x00009884 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
                                         |     if (v0 == 0) {
    0x00009888 beqz v0, 0x9d54           |         goto label_27;
                                         |     }
                                         |     /* fcn.00015eec */
    0x0000988c addiu t9, t9, 0x5eec      |     t9 += 0x5eec;
    0x00009890 addiu a0, sp, 0xe8        |     a0 = sp + 0xe8;
    0x00009894 bal 0x15eec               |     fcn_00015eec ();
    0x00009898 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         | label_6:
    0x0000989c lw v0, 0x54(sp)           |     v0 = *(var_54h);
    0x000098a0 lw v1, 0x68(sp)           |     v1 = *(var_68h);
    0x000098a4 or v0, v0, v1             |     v0 |= v1;
    0x000098a8 lw t9, -0x7dec(gp)        |     t9 = sym.ssh_krl_set_version;
                                         |     if (v0 != 0) {
    0x000098ac bnez v0, 0xa290           |         goto label_110;
                                         |     }
                                         | label_13:
    0x000098b0 lw a1, 0x70(sp)           |     a1 = *(var_70h);
    0x000098b4 lw t9, -0x7de8(gp)        |     t9 = sym.ssh_krl_set_comment;
                                         |     if (a1 != 0) {
    0x000098b8 beqz a1, 0x98c8           |         
    0x000098bc lw a0, 0xe8(sp)           |         a0 = *(var_e8h);
    0x000098c0 jalr t9                   |         t9 ();
    0x000098c4 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |     }
    0x000098c8 lw s1, -0x7f2c(gp)        |     s1 = *(gp);
    0x000098cc move s0, zero             |     s0 = 0;
    0x000098d0 addiu s1, s1, -0xb7c      |     s1 += -0xb7c;
    0x000098d4 lw s3, 0xac(sp)           |     s3 = *(var_ach);
    0x000098d8 lw s4, 0x50(sp)           |     s4 = *(var_50h);
    0x000098dc b 0x991c                  |     
                                         |     while (v0 != 0) {
    0x000098e0 lw v0, 0xe8(sp)           |         v0 = *(var_e8h);
    0x000098e4 lwx a1, a1(fp)            |         __asm ("lwx a1, a1(fp)");
    0x000098e8 lw a0, 8(s3)              |         a0 = *((s3 + 2));
    0x000098ec lw a3, 0xec(sp)           |         a3 = *(var_ech);
    0x000098f0 move a2, s4               |         a2 = s4;
    0x000098f4 move t9, s1               |         t9 = s1;
    0x000098f8 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000098fc bal 0xf484                |         fcn_0000f484 ();
    0x00009900 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009904 move a0, s0               |         a0 = s0;
    0x00009908 lw t9, -0x7ec4(gp)        |         t9 = *(gp);
    0x0000990c addiu a1, zero, 1         |         a1 = 1;
    0x00009910 jalr t9                   |         t9 ();
    0x00009914 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009918 move s0, v0               |         s0 = v0;
    0x0000991c slt v0, s0, s5            |         v0 = (s0 < s5) ? 1 : 0;
    0x00009920 sll a1, s0, 2             |         a1 = s0 << 2;
    0x00009924 bnez v0, 0x98e0           |         
                                         |     }
    0x00009928 lw t9, -0x7fb4(gp)        |     t9 = sym.sshbuf_new;
    0x0000992c bal 0x1b500               |     sym_sshbuf_new ();
    0x00009930 nop                       |     
    0x00009934 move s0, v0               |     s0 = v0;
    0x00009938 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000993c beqz v0, 0xbdbc           |         goto label_111;
                                         |     }
    0x00009940 lw t9, -0x7de4(gp)        |     t9 = sym.ssh_krl_to_blob;
    0x00009944 lw a0, 0xe8(sp)           |     a0 = *(var_e8h);
    0x00009948 move a3, zero             |     a3 = 0;
    0x0000994c move a2, zero             |     a2 = 0;
    0x00009950 move a1, v0               |     a1 = v0;
    0x00009954 jalr t9                   |     t9 ();
    0x00009958 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000995c bnez v0, 0xbd94           |         goto label_112;
                                         |     }
    0x00009960 lw t9, -0x7de0(gp)        |     t9 = sym.sshbuf_write_file;
    0x00009964 move a1, s0               |     a1 = s0;
    0x00009968 addiu a0, s2, 0x513c      |     a0 = s2 + 0x513c;
    0x0000996c jalr t9                   |     t9 ();
    0x00009970 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x00009974 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009978 bnez v0, 0xbde4           |         goto label_113;
                                         |     }
    0x0000997c lw t9, -0x7f9c(gp)        |     t9 = sym.sshbuf_free;
    0x00009980 move a0, s0               |     a0 = s0;
    0x00009984 bal 0x1b7ac               |     sym_sshbuf_free ();
    0x00009988 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000998c lw t9, -0x7ddc(gp)        |     t9 = sym.ssh_krl_free;
    0x00009990 lw a0, 0xe8(sp)           |     a0 = *(var_e8h);
    0x00009994 jalr t9                   |     t9 ();
    0x00009998 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000999c lw t9, -0x7f4c(gp)        |     t9 = sym.sshkey_free;
    0x000099a0 lw a0, 0xec(sp)           |     a0 = *(var_ech);
    0x000099a4 bal 0x1e0a4               |     sym_sshkey_free ();
    0x000099a8 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x000099ac b 0x90f4                  |     goto label_1;
                                         | label_96:
    0x000099b0 move s0, zero             |     s0 = 0;
    0x000099b4 move s2, zero             |     s2 = 0;
                                         |     /* str.device */
    0x000099b8 addiu s1, s1, 0x1428      |     s1 += 0x1428;
    0x000099bc lw s3, 0x44(sp)           |     s3 = *(var_44h);
    0x000099c0 move v0, s0               |     v0 = s0;
    0x000099c4 b 0x99fc                  |     
                                         |     while (s2 != s6) {
    0x000099c8 lw t9, -0x7828(gp)        |         t9 = sym.imp.strncasecmp;
    0x000099cc lwx s0, s0(s3)            |         __asm ("lwx s0, s0(s3)");
    0x000099d0 addiu a2, zero, 7         |         a2 = 7;
    0x000099d4 move a1, s1               |         a1 = s1;
    0x000099d8 move a0, s0               |         a0 = s0;
    0x000099dc jalr t9                   |         t9 ();
    0x000099e0 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x000099e4 bnez v0, 0xb3c0           |             goto label_114;
                                         |         }
    0x000099e8 lw t9, -0x7fc8(gp)        |         t9 = sym.xstrdup;
    0x000099ec addiu a0, s0, 7           |         a0 = s0 + 7;
    0x000099f0 jalr t9                   |         t9 ();
    0x000099f4 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x000099f8 addiu s2, s2, 1           |         s2++;
    0x000099fc sll s0, s2, 2             |         s0 = s2 << 2;
    0x00009a00 bne s2, s6, 0x99c8        |         
                                         |     }
    0x00009a04 move s0, v0               |     s0 = v0;
    0x00009a08 lw v0, 0x84(sp)           |     v0 = *(var_84h);
    0x00009a0c lw s2, 0x5104(v0)         |     s2 = *((v0 + 5185));
    0x00009a10 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
                                         |     if (s2 == 0) {
    0x00009a14 beqz s2, 0xb25c           |         goto label_115;
                                         |     }
    0x00009a18 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x00009a1c move s1, v0               |     s1 = v0;
    0x00009a20 lw t9, -0x7fc0(gp)        |     t9 = sym.read_passphrase;
                                         |     /* str.Enter_PIN_for_authenticator:_ */
    0x00009a24 addiu a0, a0, 0x1494      |     a0 += 0x1494;
    0x00009a28 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x00009a2c addiu a1, zero, 2         |     a1 = 2;
    0x00009a30 jalr t9                   |     t9 ();
    0x00009a34 lw a0, 0x6144(s1)         |     a0 = *((s1 + 6225));
    0x00009a38 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00009a3c move s1, v0               |     s1 = v0;
                                         |     if (a0 == 0) {
    0x00009a40 beqz a0, 0xa328           |         goto label_116;
                                         |     }
                                         | label_15:
    0x00009a44 lw t9, -0x7dd8(gp)        |     t9 = sym.sshsk_load_resident;
    0x00009a48 addiu v0, sp, 0xe4        |     v0 = sp + 0xe4;
    0x00009a4c move a1, s0               |     a1 = s0;
    0x00009a50 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00009a54 addiu a3, sp, 0xe0        |     a3 = sp + 0xe0;
    0x00009a58 move a2, s1               |     a2 = s1;
    0x00009a5c move a0, s2               |     a0 = s2;
    0x00009a60 bal 0x1ac20               |     sym_sshsk_load_resident ();
    0x00009a64 move s0, v0               |     s0 = v0;
    0x00009a68 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009a6c bnez v0, 0xb4f8           |         goto label_117;
                                         |     }
    0x00009a70 lw v0, 0xe4(sp)           |     v0 = *(var_e4h);
    0x00009a74 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     if (v0 == 0) {
    0x00009a78 beqz v0, 0xa82c           |         goto label_118;
                                         |     }
                                         | label_20:
    0x00009a7c lw t9, -0x76e4(gp)        |     t9 = sym.imp.strlen;
                                         |     if (s1 != 0) {
    0x00009a80 beqz s1, 0x9aa4           |         
    0x00009a84 move a0, s1               |         a0 = s1;
    0x00009a88 jalr t9                   |         t9 ();
    0x00009a8c lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009a90 move a1, v0               |         a1 = v0;
    0x00009a94 lw t9, -0x7fc4(gp)        |         t9 = sym.freezero;
    0x00009a98 move a0, s1               |         a0 = s1;
    0x00009a9c jalr t9                   |         t9 ();
    0x00009aa0 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |     }
    0x00009aa4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00009aa8 lw fp, -0x7fcc(gp)        |     fp = *((gp - 8179));
                                         |     /* str.key__zu:__s__s__s__flags_0x_02x_ */
    0x00009aac addiu s6, v0, 0x154c      |     s6 = v0 + 0x154c;
    0x00009ab0 lw v0, -0x7f2c(gp)        |     v0 = *(gp);
    0x00009ab4 move s1, zero             |     s1 = 0;
    0x00009ab8 addiu v0, v0, -0x170c     |     v0 += -aav.0x0000170c;
    0x00009abc sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x00009ac0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00009ac4 addiu s4, v0, 0x5744      |     s4 = v0 + 0x5744;
                                         |     do {
                                         | label_9:
    0x00009ac8 lw s0, 0xe4(sp)           |         s0 = *(var_e4h);
    0x00009acc sltu v0, s1, s0           |         v0 = (s1 < s0) ? 1 : 0;
    0x00009ad0 lw a0, 0xe0(sp)           |         a0 = *(var_e0h);
                                         |         if (v0 == 0) {
    0x00009ad4 beqz v0, 0x9ef8           |             goto label_17;
                                         |         }
    0x00009ad8 sll s0, s1, 2             |         s0 = s1 << 2;
    0x00009adc addiu v1, zero, 0xa       |         v1 = 0xa;
    0x00009ae0 lwx a0, s0(a0)            |         __asm ("lwx a0, s0(a0)");
    0x00009ae4 lw v0, (a0)               |         v0 = *(a0);
    0x00009ae8 addiu v1, zero, 0xc       |         v1 = 0xc;
                                         |         if (v0 != v1) {
    0x00009aec beq v0, v1, 0x9af8        |             
    0x00009af0 lw t9, -0x7f50(gp)        |             t9 = sym.sshkey_type;
                                         |             if (v0 != v1) {
    0x00009af4 bne v0, v1, 0x9e08        |                 goto label_119;
                                         |             }
                                         |         }
    0x00009af8 lw t9, -0x7f5c(gp)        |         t9 = sym.sshkey_fingerprint;
    0x00009afc lw a1, 0x405c(fp)         |         a1 = *(arg_405ch);
    0x00009b00 move a2, zero             |         a2 = 0;
    0x00009b04 bal 0x1eef8               |         sym_sshkey_fingerprint ();
    0x00009b08 move s2, v0               |         s2 = v0;
    0x00009b0c lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x00009b10 beqz v0, 0xb9d0           |             goto label_120;
                                         |         }
    0x00009b14 lw a0, 0xe0(sp)           |         a0 = *(var_e0h);
    0x00009b18 lw t9, -0x7f50(gp)        |         t9 = sym.sshkey_type;
    0x00009b1c lw s5, -0x7fdc(gp)        |         s5 = *(gp);
    0x00009b20 lw s7, -0x7fdc(gp)        |         s7 = *(gp);
    0x00009b24 lwx a0, s0(a0)            |         __asm ("lwx a0, s0(a0)");
    0x00009b28 bal 0x1d55c               |         sym_sshkey_type ();
    0x00009b2c lw v1, 0xe0(sp)           |         v1 = *(var_e0h);
    0x00009b30 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009b34 addiu a3, zero, 1         |         a3 = 1;
    0x00009b38 lwx v1, s0(v1)            |         __asm ("lwx v1, s0(v1)");
    0x00009b3c lw t9, -0x7fac(gp)        |         t9 = sym.sshlog;
    0x00009b40 addiu a2, zero, 0xbb0     |         a2 = 0xbb0;
    0x00009b44 lbu a0, 0x38(v1)          |         a0 = *((v1 + 56));
                                         |         /* str.do_download_sk */
    0x00009b48 addiu a1, s5, 0x1c88      |         a1 = s5 + aav.0x00001c88;
    0x00009b4c sw a0, 0x2c(sp)           |         *(var_2ch) = a0;
    0x00009b50 lw v1, 0x34(v1)           |         v1 = *((v1 + 13));
    0x00009b54 sw v0, 0x20(sp)           |         *(var_20h) = v0;
    0x00009b58 addiu v0, zero, 5         |         v0 = 5;
                                         |         /* str.ssh_keygen.c */
    0x00009b5c addiu a0, s7, -0xe90      |         a0 = s7 + -0xe90;
    0x00009b60 sw v1, 0x28(sp)           |         *(var_28h) = v1;
    0x00009b64 sw s2, 0x24(sp)           |         *(var_24h) = s2;
    0x00009b68 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00009b6c sw s1, 0x1c(sp)           |         *(var_1ch) = s1;
    0x00009b70 sw s6, 0x18(sp)           |         *(var_18h) = s6;
    0x00009b74 sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x00009b78 jalr t9                   |         t9 ();
    0x00009b7c lw s3, 0xe0(sp)           |         s3 = *(var_e0h);
    0x00009b80 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009b84 addiu a2, zero, 6         |         a2 = 6;
    0x00009b88 lwx s3, s0(s3)            |         __asm ("lwx s3, s0(s3)");
    0x00009b8c lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x00009b90 lw t9, -0x78ac(gp)        |         t9 = sym.imp.strncmp;
    0x00009b94 lw s2, 0x34(s3)           |         s2 = *((s3 + 13));
                                         |         /* str.ssh:__ */
    0x00009b98 addiu a1, a1, 0x1570      |         a1 += 0x1570;
    0x00009b9c move a0, s2               |         a0 = s2;
    0x00009ba0 jalr t9                   |         t9 ();
    0x00009ba4 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x00009ba8 beqz v0, 0x9e00           |             goto label_121;
                                         |         }
    0x00009bac lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x00009bb0 lw t9, -0x78ac(gp)        |         t9 = sym.imp.strncmp;
    0x00009bb4 addiu a2, zero, 4         |         a2 = 4;
                                         |         /* str.ssh: */
    0x00009bb8 addiu a1, a1, 0x1578      |         a1 += 0x1578;
    0x00009bbc move a0, s2               |         a0 = s2;
    0x00009bc0 jalr t9                   |         t9 ();
    0x00009bc4 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x00009bc8 bnez v0, 0x9bd0           |             
    0x00009bcc addiu s2, s2, 4           |             s2 += 4;
                                         |         }
                                         | label_8:
    0x00009bd0 lw v1, (s3)               |         v1 = *(s3);
    0x00009bd4 addiu v0, zero, 0xa       |         v0 = 0xa;
    0x00009bd8 lw a2, -0x7fdc(gp)        |         a2 = *(gp);
                                         |         if (v1 == v0) {
    0x00009bdc beq v1, v0, 0x9df8        |             goto label_122;
                                         |         }
    0x00009be0 lw a2, -0x7fdc(gp)        |         a2 = *(gp);
                                         |         /* esilref: 'ed25519_sk' */
    0x00009be4 addiu a2, a2, 0x154       |         a2 += aav.0x00000154;
                                         | label_7:
    0x00009be8 lb v0, (s2)               |         v0 = *(s2);
    0x00009bec move a3, s4               |         a3 = s4;
                                         |         if (v0 != 0) {
    0x00009bf0 beqz v0, 0x9bfc           |             
    0x00009bf4 lw a3, -0x7fdc(gp)        |             a3 = *(gp);
    0x00009bf8 addiu a3, a3, 0xb3c       |             a3 += 0xb3c;
                                         |         }
    0x00009bfc lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x00009c00 lw t9, -0x7f14(gp)        |         t9 = sym.xasprintf
                                         |         /* str.id__s_rk_s_s */
    0x00009c04 addiu a1, a1, 0x1580      |         a1 += 0x1580;
    0x00009c08 addiu a0, sp, 0xe8        |         a0 = sp + 0xe8;
    0x00009c0c sw s2, 0x10(sp)           |         *(var_10h) = s2;
    0x00009c10 jalr t9                   |         t9 ();
    0x00009c14 lw t9, 0x44(sp)           |         t9 = *(var_44h);
    0x00009c18 lw a0, 0xe8(sp)           |         a0 = *(var_e8h);
    0x00009c1c jalr t9                   |         t9 ();
    0x00009c20 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x00009c24 beqz v0, 0x9ee4           |             goto label_123;
                                         |         }
    0x00009c28 lw v0, 0x3c(sp)           |         v0 = *(var_3ch);
    0x00009c2c lw t9, -0x7f2c(gp)        |         t9 = *(gp);
                                         |         if (v0 == 0) {
    0x00009c30 beqz v0, 0x9eb4           |             goto label_124;
                                         |         }
                                         | label_11:
    0x00009c34 lw v0, -0x7fcc(gp)        |         v0 = *((gp - 8179));
    0x00009c38 lw a0, 0xe0(sp)           |         a0 = *(var_e0h);
    0x00009c3c lw t9, -0x7e70(gp)        |         t9 = sym.sshkey_save_private;
    0x00009c40 lw a2, 0x50f8(v0)         |         a2 = *((v0 + 5182));
    0x00009c44 lw v0, -0x7fcc(gp)        |         v0 = *((gp - 8179));
    0x00009c48 lwx a0, s0(a0)            |         __asm ("lwx a0, s0(a0)");
    0x00009c4c lw a1, 0xe8(sp)           |         a1 = *(var_e8h);
    0x00009c50 lw v1, 0x50fc(v0)         |         v1 = *((v0 + 5183));
    0x00009c54 lw v0, -0x7fcc(gp)        |         v0 = *((gp - 8179));
    0x00009c58 lw a3, 0x34(a0)           |         a3 = *((a0 + 13));
    0x00009c5c sw a2, 0x18(sp)           |         *(var_18h) = a2;
    0x00009c60 lw v0, 0x5100(v0)         |         v0 = *((v0 + 5184));
    0x00009c64 lw a2, 0x3c(sp)           |         a2 = *(var_3ch);
    0x00009c68 sw v1, 0x14(sp)           |         *(var_14h) = v1;
    0x00009c6c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00009c70 jalr t9                   |         t9 ();
    0x00009c74 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x00009c78 bnez v0, 0xa3a8           |             goto label_125;
                                         |         }
    0x00009c7c lw v0, 0x40(sp)           |         v0 = *(var_40h);
    0x00009c80 lw v0, 0x6144(v0)         |         v0 = *((v0 + 6225));
    0x00009c84 lw a0, 0xe0(sp)           |         a0 = *(var_e0h);
                                         |         if (v0 == 0) {
    0x00009c88 beqz v0, 0x9e68           |             goto label_126;
                                         |         }
                                         | label_10:
    0x00009c8c lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x00009c90 lw t9, -0x7f14(gp)        |         t9 = sym.xasprintf
    0x00009c94 lw a2, 0xe8(sp)           |         a2 = *(var_e8h);
                                         |         /* str._s.pub */
    0x00009c98 addiu a1, a1, 0x15a8      |         a1 += 0x15a8;
    0x00009c9c addiu a0, sp, 0xec        |         a0 = sp + 0xec;
    0x00009ca0 jalr t9                   |         t9 ();
    0x00009ca4 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009ca8 lw t9, -0x75e4(gp)        |         t9 = sym.imp.free;
    0x00009cac lw a0, 0xe8(sp)           |         a0 = *(var_e8h);
    0x00009cb0 jalr t9                   |         t9 ();
    0x00009cb4 lw v0, 0xe0(sp)           |         v0 = *(var_e0h);
    0x00009cb8 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009cbc lw a1, 0xec(sp)           |         a1 = *(var_ech);
    0x00009cc0 lwx s0, s0(v0)            |         __asm ("lwx s0, s0(v0)");
    0x00009cc4 lw t9, -0x7ea4(gp)        |         t9 = sym.sshkey_save_public;
    0x00009cc8 move a0, s0               |         a0 = s0;
    0x00009ccc lw a2, 0x34(s0)           |         a2 = *((s0 + 13));
    0x00009cd0 jalr t9                   |         t9 ();
    0x00009cd4 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x00009cd8 bnez v0, 0xa7c0           |             goto label_127;
                                         |         }
    0x00009cdc lw t9, -0x75e4(gp)        |         t9 = sym.imp.free;
    0x00009ce0 lw a0, 0xec(sp)           |         a0 = *(var_ech);
    0x00009ce4 addiu s1, s1, 1           |         s1++;
    0x00009ce8 jalr t9                   |         t9 ();
    0x00009cec lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009cf0 b 0x9ac8                  |         
                                         |     } while (1);
                                         | label_91:
    0x00009cf4 lw v1, -0x7fcc(gp)        |     v1 = *((gp - 8179));
    0x00009cf8 lw v0, 0x404c(v1)         |     v0 = *((v1 + 4115));
    0x00009cfc ori v0, v0, 2             |     v0 |= 2;
    0x00009d00 sw v0, 0x404c(v1)         |     *((v1 + 4115)) = v0;
    0x00009d04 b 0x9350                  |     goto label_0;
                                         | label_107:
    0x00009d08 lw t9, -0x7418(gp)        |     t9 = sym.imp.__errno_location;
    0x00009d0c jalr t9                   |     t9 ();
    0x00009d10 nop                       |     
    0x00009d14 lw a0, (v0)               |     a0 = *(v0);
    0x00009d18 addiu v0, zero, 2         |     v0 = 2;
    0x00009d1c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (a0 != v0) {
    0x00009d20 bne a0, v0, 0xb5c4        |         goto label_128;
                                         |     }
    0x00009d24 lw v0, 0x74(sp)           |     v0 = *(var_74h);
    0x00009d28 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     if (v0 != 0) {
    0x00009d2c bnez v0, 0xb588           |         goto label_129;
                                         |     }
    0x00009d30 lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
    0x00009d34 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     if (v0 == 0) {
    0x00009d38 beqz v0, 0xada8           |         goto label_130;
                                         |     }
    0x00009d3c lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
    0x00009d40 lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
                                         |     /* str.none */
    0x00009d44 addiu a1, a1, 0x988       |     a1 += 0x988;
    0x00009d48 jalr t9                   |     t9 ();
    0x00009d4c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009d50 bnez v0, 0xa2a8           |         goto label_109;
                                         |     }
                                         | label_27:
    0x00009d54 lw t9, -0x7dd4(gp)        |     t9 = sym.ssh_krl_init;
    0x00009d58 jalr t9                   |     t9 ();
    0x00009d5c nop                       |     
    0x00009d60 sw v0, 0xe8(sp)           |     *(var_e8h) = v0;
    0x00009d64 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009d68 bnez v0, 0x989c           |         goto label_6;
                                         |     }
    0x00009d6c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00009d70 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.couldnt_create_KRL */
    0x00009d74 addiu v0, v0, 0x120c      |     v0 += 0x120c;
    0x00009d78 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00009d7c addiu v0, zero, 1         |     v0 = 1;
    0x00009d80 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00009d84 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00009d88 move a3, zero             |     a3 = 0;
    0x00009d8c addiu a2, zero, 0x967     |     a2 = 0x967;
                                         | label_48:
    0x00009d90 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x00009d94 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.do_gen_krl */
    0x00009d98 addiu a1, a1, 0x1d90      |     a1 += 0x1d90;
                                         |     /* str.ssh_keygen.c */
    0x00009d9c addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x00009da0 jalr t9                   |     t9 ();
                                         | label_85:
    0x00009da4 lw v0, 0x40(sp)           |     v0 = *(var_40h);
    0x00009da8 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x00009dac sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x00009db0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00009db4 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.Unsupported_operation_for__Y:___s_ */
    0x00009db8 addiu v0, v0, 0x1124      |     v0 += 0x1124;
    0x00009dbc lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x00009dc0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00009dc4 addiu v0, zero, 2         |     v0 = 2;
    0x00009dc8 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00009dcc sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00009dd0 move a3, zero             |     a3 = 0;
    0x00009dd4 addiu a2, zero, 0xd66     |     a2 = 0xd66;
                                         |     /* str.main */
    0x00009dd8 addiu a1, a1, 0x1e1c      |     a1 += 0x1e1c;
                                         |     /* str.ssh_keygen.c */
    0x00009ddc addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x00009de0 jalr t9                   |     t9 ();
    0x00009de4 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         | label_55:
    0x00009de8 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
    0x00009dec addiu t9, t9, -0x3bd0     |     t9 += -0x3bd0;
    0x00009df0 bal 0xc430                |     fcn_0000c430 ();
    0x00009df4 nop                       |     
                                         | label_122:
    0x00009df8 addiu a2, a2, 0x130       |     a2 += aav.0x00000130;
    0x00009dfc b 0x9be8                  |     goto label_7;
                                         | label_121:
    0x00009e00 addiu s2, s2, 6           |     s2 += 6;
    0x00009e04 b 0x9bd0                  |     goto label_8;
                                         | label_119:
    0x00009e08 addiu s1, s1, 1           |     s1++;
    0x00009e0c bal 0x1d55c               |     sym_sshkey_type ();
    0x00009e10 lw v1, 0xe0(sp)           |     v1 = *(var_e0h);
    0x00009e14 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00009e18 move a3, zero             |     a3 = 0;
    0x00009e1c lwx s0, s0(v1)            |     __asm ("lwx s0, s0(v1)");
    0x00009e20 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x00009e24 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x00009e28 lw v1, (s0)               |     v1 = *(s0);
    0x00009e2c sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x00009e30 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00009e34 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.Unsupported_key_type__s___d_ */
    0x00009e38 addiu v0, v0, 0x152c      |     v0 += 0x152c;
    0x00009e3c sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00009e40 addiu v0, zero, 2         |     v0 = 2;
    0x00009e44 sw v1, 0x20(sp)           |     *(var_20h) = v1;
    0x00009e48 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00009e4c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00009e50 addiu a2, zero, 0xba8     |     a2 = 0xba8;
                                         |     /* str.do_download_sk */
    0x00009e54 addiu a1, a1, 0x1c88      |     a1 += aav.0x00001c88;
                                         |     /* str.ssh_keygen.c */
    0x00009e58 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x00009e5c jalr t9                   |     t9 ();
    0x00009e60 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00009e64 b 0x9ac8                  |     goto label_9;
                                         | label_126:
    0x00009e68 lw t9, -0x7f50(gp)        |     t9 = sym.sshkey_type;
    0x00009e6c lwx a0, s0(a0)            |     __asm ("lwx a0, s0(a0)");
    0x00009e70 bal 0x1d55c               |     sym_sshkey_type ();
    0x00009e74 lb v1, (s2)               |     v1 = *(s2);
    0x00009e78 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v1 != 0) {
    0x00009e7c bnez v1, 0x9ecc           |         goto label_131;
                                         |     }
    0x00009e80 move a3, s4               |     a3 = s4;
    0x00009e84 move v1, s4               |     v1 = s4;
                                         |     do {
    0x00009e88 lw a0, 0xe8(sp)           |         a0 = *(var_e8h);
    0x00009e8c lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x00009e90 lw t9, -0x74e8(gp)        |         t9 = sym.imp.__printf_chk
    0x00009e94 sw a0, 0x14(sp)           |         *(var_14h) = a0;
    0x00009e98 sw v1, 0x10(sp)           |         *(var_10h) = v1;
    0x00009e9c move a2, v0               |         a2 = v0;
                                         |         /* str.Saved__s_key_s_s_to__s_n */
    0x00009ea0 addiu a1, a1, 0x1590      |         a1 += 0x1590;
    0x00009ea4 addiu a0, zero, 1         |         a0 = 1;
    0x00009ea8 jalr t9                   |         t9 ();
    0x00009eac lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009eb0 b 0x9c8c                  |         goto label_10;
                                         | label_124:
    0x00009eb4 addiu t9, t9, -0xf0c      |         t9 += -0xf0c;
    0x00009eb8 bal 0xf0f4                |         fcn_0000f0f4 ();
    0x00009ebc nop                       |         
    0x00009ec0 sw v0, 0x3c(sp)           |         *(var_3ch) = v0;
    0x00009ec4 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009ec8 b 0x9c34                  |         goto label_11;
                                         | label_131:
    0x00009ecc lw v1, 0xe0(sp)           |         v1 = *(var_e0h);
    0x00009ed0 lw a3, -0x7fdc(gp)        |         a3 = *(gp);
    0x00009ed4 lwx v1, s0(v1)            |         __asm ("lwx v1, s0(v1)");
    0x00009ed8 addiu a3, a3, 0x190       |         a3 += aav.0x00000190;
    0x00009edc lw v1, 0x34(v1)           |         v1 = *((v1 + 13));
    0x00009ee0 b 0x9e88                  |         
                                         |     } while (1);
                                         | label_123:
    0x00009ee4 lw t9, -0x75e4(gp)        |     t9 = sym.imp.free;
    0x00009ee8 lw a0, 0xe8(sp)           |     a0 = *(var_e8h);
    0x00009eec jalr t9                   |     t9 ();
    0x00009ef0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00009ef4 lw s0, 0xe4(sp)           |     s0 = *(var_e4h);
                                         | label_17:
    0x00009ef8 lw t9, -0x7dd0(gp)        |     t9 = *(gp);
    0x00009efc sltu a0, s1, s0           |     a0 = (s1 < s0) ? 1 : 0;
    0x00009f00 jalr t9                   |     t9 ();
    0x00009f04 move s4, v0               |     s4 = v0;
    0x00009f08 lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
    0x00009f0c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009f10 beqz v0, 0x9f40           |         
    0x00009f14 lw t9, -0x76e4(gp)        |         t9 = sym.imp.strlen;
    0x00009f18 move a0, v0               |         a0 = v0;
    0x00009f1c move s0, v0               |         s0 = v0;
    0x00009f20 jalr t9                   |         t9 ();
    0x00009f24 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009f28 move a0, s0               |         a0 = s0;
    0x00009f2c lw t9, -0x7fc4(gp)        |         t9 = sym.freezero;
    0x00009f30 move a1, v0               |         a1 = v0;
    0x00009f34 jalr t9                   |         t9 ();
    0x00009f38 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009f3c lw s0, 0xe4(sp)           |         s0 = *(var_e4h);
                                         |     }
    0x00009f40 move s1, zero             |     s1 = 0;
    0x00009f44 b 0x9f64                  |     
                                         |     while (v0 != 0) {
    0x00009f48 sll v0, s1, 2             |         v0 = s1 << 2;
    0x00009f4c lw t9, -0x7f4c(gp)        |         t9 = sym.sshkey_free;
    0x00009f50 lwx a0, v0(a0)            |         __asm ("lwx a0, v0(a0)");
    0x00009f54 addiu s1, s1, 1           |         s1++;
    0x00009f58 bal 0x1e0a4               |         sym_sshkey_free ();
    0x00009f5c lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x00009f60 lw s0, 0xe4(sp)           |         s0 = *(var_e4h);
    0x00009f64 sltu v0, s1, s0           |         v0 = (s1 < s0) ? 1 : 0;
    0x00009f68 lw a0, 0xe0(sp)           |         a0 = *(var_e0h);
    0x00009f6c bnez v0, 0x9f48           |         
                                         |     }
    0x00009f70 lw t9, -0x75e4(gp)        |     t9 = sym.imp.free;
    0x00009f74 jalr t9                   |     t9 ();
    0x00009f78 nop                       |     
    0x00009f7c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x00009f80 sw s4, 0x48(sp)           |     *(var_48h) = s4;
    0x00009f84 b 0x90f4                  |     goto label_1;
                                         | label_79:
    0x00009f88 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.Must_specify_key_id___I__when_certifying */
    0x00009f8c addiu v0, v0, 0x1288      |     v0 += 0x1288;
    0x00009f90 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00009f94 addiu v0, zero, 1         |     v0 = 1;
    0x00009f98 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00009f9c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00009fa0 move a3, zero             |     a3 = 0;
    0x00009fa4 addiu a2, zero, 0xd88     |     a2 = 0xd88;
                                         | label_19:
    0x00009fa8 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x00009fac lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.main */
    0x00009fb0 addiu a1, a1, 0x1e1c      |     a1 += 0x1e1c;
                                         |     /* str.ssh_keygen.c */
    0x00009fb4 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x00009fb8 jalr t9                   |     t9 ();
                                         | label_69:
    0x00009fbc lw s2, -0x7fcc(gp)        |     s2 = *((gp - 8179));
    0x00009fc0 lw t9, -0x7ecc(gp)        |     t9 = sym.sshkey_load_public;
    0x00009fc4 move a2, zero             |     a2 = 0;
    0x00009fc8 addiu a1, sp, 0xec        |     a1 = sp + 0xec;
    0x00009fcc addiu a0, s2, 0x513c      |     a0 = s2 + 0x513c;
    0x00009fd0 jalr t9                   |     t9 ();
    0x00009fd4 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x00009fd8 bnez v0, 0xbed8           |         goto label_132;
                                         |     }
    0x00009fdc lw t9, -0x7e8c(gp)        |     t9 = sym.ssh_get_authentication_socket;
    0x00009fe0 addiu s1, sp, 0xe8        |     s1 = sp + 0xe8;
    0x00009fe4 move a0, s1               |     a0 = s1;
    0x00009fe8 jalr t9                   |     t9 ();
    0x00009fec lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x00009ff0 beqz v0, 0xa374           |         goto label_133;
                                         |     }
    0x00009ff4 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x00009ff8 move a0, v0               |     a0 = v0;
    0x00009ffc bal 0x1b0f0               |     sym_ssh_err ();
    0x0000a000 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a004 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000a008 addiu v0, zero, 5         |     v0 = 5;
    0x0000a00c lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000a010 lw s7, -0x7fdc(gp)        |     s7 = *(gp);
                                         |     /* str.Couldnt_get_agent_socket */
    0x0000a014 addiu a0, a0, 0xef8       |     a0 += 0xef8;
    0x0000a018 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000a01c sw a0, 0x18(sp)           |     *(var_18h) = a0;
    0x0000a020 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000a024 move a3, zero             |     a3 = 0;
    0x0000a028 addiu a2, zero, 0xa42     |     a2 = 0xa42;
                                         | label_21:
    0x0000a02c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     /* str.ssh_keygen.c */
    0x0000a030 addiu a0, s7, -0xe90      |     a0 = s7 + -0xe90;
                                         |     /* str.sig_sign */
    0x0000a034 addiu a1, a1, 0x1dd4      |     a1 += 0x1dd4;
    0x0000a038 jalr t9                   |     t9 ();
    0x0000a03c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a040 addiu a0, s2, 0x513c      |     a0 = s2 + 0x513c;
    0x0000a044 lw t9, -0x76e4(gp)        |     t9 = sym.imp.strlen;
    0x0000a048 addiu s6, sp, 0xf0        |     s6 = sp + 0xf0;
    0x0000a04c jalr t9                   |     t9 ();
    0x0000a050 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a054 lw v1, 0xec(sp)           |     v1 = *(var_ech);
    0x0000a058 addiu a0, s2, 0x513c      |     a0 = s2 + 0x513c;
    0x0000a05c lw t9, -0x7fc8(gp)        |     t9 = sym.xstrdup;
    0x0000a060 sw v1, 0x3c(sp)           |     *(var_3ch) = v1;
    0x0000a064 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x0000a068 jalr t9                   |     t9 ();
    0x0000a06c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a070 move s3, v0               |     s3 = v0;
    0x0000a074 sw zero, 0xf8(sp)         |     *(var_f8h) = 0;
    0x0000a078 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000a07c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     /* esilref: '.pub' */
    0x0000a080 addiu v0, v0, 0x790       |     v0 += 0x790;
    0x0000a084 sw v0, 0xf4(sp)           |     *(var_f4h) = v0;
    0x0000a088 addiu v0, s2, 0x513c      |     v0 = s2 + 0x513c;
    0x0000a08c sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x0000a090 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     /* str._cert.pub */
    0x0000a094 addiu a1, a1, 0xb2c       |     a1 += 0xb2c;
                                         |     /* str._s_looks_like_a_public_key__using_private_key_path__s_instead */
    0x0000a098 addiu v0, v0, 0xf30       |     v0 += 0xf30;
    0x0000a09c sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x0000a0a0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000a0a4 sw a1, 0xf0(sp)           |     *(var_f0h) = a1;
                                         |     /* str.load_sign_key */
    0x0000a0a8 addiu v0, v0, 0x1dc4      |     v0 += 0x1dc4;
    0x0000a0ac sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x0000a0b0 lw t9, -0x76e4(gp)        |     t9 = sym.imp.strlen;
                                         |     do {
    0x0000a0b4 move a0, a1               |         a0 = a1;
    0x0000a0b8 sw a1, 0x50(sp)           |         *(var_50h) = a1;
    0x0000a0bc jalr t9                   |         t9 ();
    0x0000a0c0 lw a0, 0x40(sp)           |         a0 = *(var_40h);
    0x0000a0c4 sltu v1, v0, a0           |         v1 = (v0 < a0) ? 1 : 0;
    0x0000a0c8 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v1 != 0) {
    0x0000a0cc beqz v1, 0xa138           |             
    0x0000a0d0 subu v0, a0, v0           |             __asm ("subu v0, a0, v0");
    0x0000a0d4 addu v1, s3, v0           |             v1 = s3 + v0;
    0x0000a0d8 lw t9, -0x7944(gp)        |             t9 = sym.imp.strcmp;
    0x0000a0dc lw a1, 0x50(sp)           |             a1 = *(var_50h);
    0x0000a0e0 move a0, v1               |             a0 = v1;
    0x0000a0e4 sw v1, 0x50(sp)           |             *(var_50h) = v1;
    0x0000a0e8 jalr t9                   |             t9 ();
    0x0000a0ec lw gp, 0x30(sp)           |             gp = *(var_30h);
                                         |             if (v0 != 0) {
    0x0000a0f0 bnez v0, 0xa138           |                 goto label_134;
                                         |             }
    0x0000a0f4 lw v1, 0x50(sp)           |             v1 = *(var_50h);
    0x0000a0f8 lw v0, 0x44(sp)           |             v0 = *(var_44h);
    0x0000a0fc lw t9, -0x7fac(gp)        |             t9 = sym.sshlog;
    0x0000a100 sb zero, (v1)             |             *(v1) = 0;
    0x0000a104 sw v0, 0x1c(sp)           |             *(var_1ch) = v0;
    0x0000a108 lw v0, 0x48(sp)           |             v0 = *(var_48h);
    0x0000a10c lw a1, 0x4c(sp)           |             a1 = *(var_4ch);
    0x0000a110 sw v0, 0x18(sp)           |             *(var_18h) = v0;
    0x0000a114 addiu v0, zero, 5         |             v0 = 5;
    0x0000a118 addiu a3, zero, 1         |             a3 = 1;
    0x0000a11c sw s3, 0x20(sp)           |             *(var_20h) = s3;
    0x0000a120 sw zero, 0x14(sp)         |             *(var_14h) = 0;
    0x0000a124 sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x0000a128 addiu a2, zero, 0x9ae     |             a2 = 0x9ae;
                                         |             /* str.ssh_keygen.c */
    0x0000a12c addiu a0, s7, -0xe90      |             a0 = s7 + -0xe90;
    0x0000a130 jalr t9                   |             t9 ();
    0x0000a134 lw gp, 0x30(sp)           |             gp = *(var_30h);
                                         |         }
                                         | label_134:
    0x0000a138 addiu s6, s6, 4           |         s6 += 4;
    0x0000a13c lw a1, (s6)               |         a1 = *(s6);
    0x0000a140 lw t9, -0x76e4(gp)        |         t9 = sym.imp.strlen;
    0x0000a144 bnez a1, 0xa0b4           |         
                                         |     } while (a1 != 0);
    0x0000a148 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
    0x0000a14c addiu t9, t9, -0x3b00     |     t9 += -0x3b00;
    0x0000a150 move a0, s3               |     a0 = s3;
    0x0000a154 bal 0xc500                |     fcn_0000c500 ();
    0x0000a158 move s6, v0               |     s6 = v0;
    0x0000a15c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000a160 beqz v0, 0xaf38           |         goto label_135;
                                         |     }
    0x0000a164 lw t9, -0x7ec0(gp)        |     t9 = sym.sshkey_equal_public;
    0x0000a168 lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
    0x0000a16c move a1, v0               |     a1 = v0;
    0x0000a170 bal 0x1e5b4               |     sym_sshkey_equal_public ();
    0x0000a174 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000a178 beqz v0, 0xaef0           |         goto label_136;
                                         |     }
    0x0000a17c lw t9, -0x7eb8(gp)        |     t9 = sym.sshkey_is_cert;
    0x0000a180 lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
    0x0000a184 bal 0x1dd4c               |     sym_sshkey_is_cert ();
    0x0000a188 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000a18c bnez v0, 0xacf8           |         goto label_137;
                                         |     }
                                         | label_26:
    0x0000a190 lw t9, -0x7f4c(gp)        |     t9 = sym.sshkey_free;
    0x0000a194 move a0, zero             |     a0 = 0;
    0x0000a198 bal 0x1e0a4               |     sym_sshkey_free ();
    0x0000a19c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a1a0 lw t9, -0x75e4(gp)        |     t9 = sym.imp.free;
    0x0000a1a4 move a0, s3               |     a0 = s3;
    0x0000a1a8 jalr t9                   |     t9 ();
    0x0000a1ac lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a1b0 sw s6, 0x3c(sp)           |     *(var_3ch) = s6;
    0x0000a1b4 sw zero, 0x40(sp)         |     *(var_40h) = 0;
                                         | label_16:
    0x0000a1b8 lw s7, -0x7fdc(gp)        |     s7 = *(gp);
                                         |     if (s5 == 0) {
    0x0000a1bc beqz s5, 0xacb0           |         goto label_138;
                                         |     }
    0x0000a1c0 move s2, fp               |     s2 = fp;
    0x0000a1c4 addiu v0, s7, 0x680       |     v0 = s7 + 0x680;
    0x0000a1c8 sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x0000a1cc lw v0, -0x7f2c(gp)        |     v0 = *(gp);
    0x0000a1d0 move s3, zero             |     s3 = 0;
    0x0000a1d4 addiu v0, v0, -0x15fc     |     v0 += -0x15fc;
    0x0000a1d8 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x0000a1dc b 0xa1fc                  |     goto label_139;
                                         | label_12:
    0x0000a1e0 lw t9, -0x7ec4(gp)        |     t9 = *(gp);
                                         |     do {
    0x0000a1e4 move a0, s3               |         a0 = s3;
    0x0000a1e8 addiu a1, zero, 1         |         a1 = 1;
    0x0000a1ec jalr t9                   |         t9 ();
    0x0000a1f0 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000a1f4 move s3, v0               |         s3 = v0;
    0x0000a1f8 addiu s2, s2, 4           |         s2 += 4;
                                         | label_139:
    0x0000a1fc slt v0, s3, s5            |         v0 = (s3 < s5) ? 1 : 0;
    0x0000a200 lw t9, -0x7944(gp)        |         t9 = sym.imp.strcmp;
                                         |         if (v0 == 0) {
    0x0000a204 beqz v0, 0xaca8           |             goto label_140;
                                         |         }
    0x0000a208 lw s7, (s2)               |         s7 = *(s2);
    0x0000a20c lw a1, 0x44(sp)           |         a1 = *(var_44h);
    0x0000a210 move a0, s7               |         a0 = s7;
    0x0000a214 jalr t9                   |         t9 ();
    0x0000a218 move fp, v0               |         fp = v0;
    0x0000a21c lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000a220 beqz v0, 0xa248           |             
    0x0000a224 lw t9, -0x78b0(gp)        |             t9 = sym.imp.open64;
    0x0000a228 move a1, zero             |             a1 = 0;
    0x0000a22c move a0, s7               |             a0 = s7;
    0x0000a230 jalr t9                   |             t9 ();
    0x0000a234 move fp, v0               |             fp = v0;
    0x0000a238 addiu v0, zero, -1        |             v0 = -1;
    0x0000a23c lw gp, 0x30(sp)           |             gp = *(var_30h);
                                         |             if (fp == v0) {
    0x0000a240 beq fp, v0, 0xae50        |                 goto label_141;
                                         |             }
    0x0000a244 lw s7, (s2)               |             s7 = *(s2);
                                         |         }
    0x0000a248 lw v0, 0x40(sp)           |         v0 = *(var_40h);
    0x0000a24c lw a0, 0x3c(sp)           |         a0 = *(var_3ch);
    0x0000a250 lw t9, 0x48(sp)           |         t9 = *(var_48h);
    0x0000a254 sw s1, 0x14(sp)           |         *(var_14h) = s1;
    0x0000a258 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000a25c move a3, s0               |         a3 = s0;
    0x0000a260 move a2, fp               |         a2 = fp;
    0x0000a264 move a1, s7               |         a1 = s7;
    0x0000a268 jalr t9                   |         t9 ();
    0x0000a26c lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000a270 bnez v0, 0xac6c           |             goto label_142;
                                         |         }
    0x0000a274 lw t9, -0x7ec4(gp)        |         t9 = *(gp);
    0x0000a278 beqz fp, 0xa1e4           |         
                                         |     } while (fp == 0);
    0x0000a27c lw t9, -0x779c(gp)        |     t9 = sym.imp.close;
    0x0000a280 move a0, fp               |     a0 = fp;
    0x0000a284 jalr t9                   |     t9 ();
    0x0000a288 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a28c b 0xa1e0                  |     goto label_12;
                                         | label_110:
    0x0000a290 lw a0, 0xe8(sp)           |     a0 = *(var_e8h);
    0x0000a294 lw a2, 0x54(sp)           |     a2 = *(var_54h);
    0x0000a298 move a3, v1               |     a3 = v1;
    0x0000a29c jalr t9                   |     t9 ();
    0x0000a2a0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a2a4 b 0x98b0                  |     goto label_13;
                                         | label_109:
    0x0000a2a8 lw v0, 0xac(sp)           |     v0 = *(var_ach);
    0x0000a2ac lw t9, -0x7efc(gp)        |     t9 = sym.tilde_expand_filename;
    0x0000a2b0 lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
    0x0000a2b4 lw a1, 8(v0)              |     a1 = *((v0 + 2));
    0x0000a2b8 jalr t9                   |     t9 ();
    0x0000a2bc lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a2c0 move a2, zero             |     a2 = 0;
    0x0000a2c4 addiu a1, sp, 0xec        |     a1 = sp + 0xec;
    0x0000a2c8 lw t9, -0x7ecc(gp)        |     t9 = sym.sshkey_load_public;
    0x0000a2cc move a0, v0               |     a0 = v0;
    0x0000a2d0 move s0, v0               |     s0 = v0;
    0x0000a2d4 jalr t9                   |     t9 ();
    0x0000a2d8 sw v0, 0x50(sp)           |     *(var_50h) = v0;
    0x0000a2dc lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000a2e0 bnez v0, 0xbe34           |         goto label_143;
                                         |     }
    0x0000a2e4 lw t9, -0x75e4(gp)        |     t9 = sym.imp.free;
    0x0000a2e8 move a0, s0               |     a0 = s0;
    0x0000a2ec jalr t9                   |     t9 ();
    0x0000a2f0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a2f4 b 0x9880                  |     goto label_14;
                                         | label_92:
    0x0000a2f8 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000a2fc lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
                                         |     /* str.permit_port_forwarding */
    0x0000a300 addiu a1, a1, -0x930      |     a1 += -0x930;
    0x0000a304 move a0, s0               |     a0 = s0;
    0x0000a308 jalr t9                   |     t9 ();
    0x0000a30c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000a310 bnez v0, 0xa340           |         
    0x0000a314 lw v1, -0x7fcc(gp)        |         v1 = *((gp - 8179));
    0x0000a318 lw v0, 0x404c(v1)         |         v0 = *((v1 + 4115));
    0x0000a31c ori v0, v0, 4             |         v0 |= 4;
    0x0000a320 sw v0, 0x404c(v1)         |         *((v1 + 4115)) = v0;
    0x0000a324 b 0x9350                  |         goto label_0;
                                         | label_116:
    0x0000a328 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
    0x0000a32c lw t9, -0x786c(gp)        |         t9 = sym.imp.puts;
                                         |         /* str.You_may_need_to_touch_your_authenticator_to_authorize_key_download. */
    0x0000a330 addiu a0, a0, 0x14b4      |         a0 += 0x14b4;
    0x0000a334 jalr t9                   |         t9 ();
    0x0000a338 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000a33c b 0x9a44                  |         goto label_15;
                                         |     }
    0x0000a340 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000a344 lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
                                         |     /* str.no_pty */
    0x0000a348 addiu a1, a1, 0x1310      |     a1 += 0x1310;
    0x0000a34c move a0, s0               |     a0 = s0;
    0x0000a350 jalr t9                   |     t9 ();
    0x0000a354 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000a358 bnez v0, 0xae20           |         goto label_144;
                                         |     }
    0x0000a35c lw v1, -0x7fcc(gp)        |     v1 = *((gp - 8179));
    0x0000a360 addiu a0, zero, -9        |     a0 = -9;
    0x0000a364 lw v0, 0x404c(v1)         |     v0 = *((v1 + 4115));
    0x0000a368 and v0, v0, a0            |     v0 &= a0;
    0x0000a36c sw v0, 0x404c(v1)         |     *((v1 + 4115)) = v0;
    0x0000a370 b 0x9350                  |     goto label_0;
                                         | label_133:
    0x0000a374 lw t9, -0x7dcc(gp)        |     t9 = sym.ssh_agent_has_key;
    0x0000a378 lw a1, 0xec(sp)           |     a1 = *(var_ech);
    0x0000a37c lw a0, 0xe8(sp)           |     a0 = *(var_e8h);
    0x0000a380 jalr t9                   |     t9 ();
    0x0000a384 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000a388 bnez v0, 0xa868           |         goto label_145;
                                         |     }
    0x0000a38c lw v0, 0xec(sp)           |     v0 = *(var_ech);
    0x0000a390 lw s3, -0x7f2c(gp)        |     s3 = *(gp);
    0x0000a394 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x0000a398 addiu v0, s3, -0x3b44     |     v0 = s3 + -0x3b44;
    0x0000a39c sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x0000a3a0 move s6, zero             |     s6 = 0;
    0x0000a3a4 b 0xa1b8                  |     goto label_16;
                                         | label_125:
    0x0000a3a8 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000a3ac move a0, v0               |     a0 = v0;
    0x0000a3b0 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000a3b4 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a3b8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000a3bc lw v0, 0xe8(sp)           |     v0 = *(var_e8h);
    0x0000a3c0 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000a3c4 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x0000a3c8 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000a3cc move a3, zero             |     a3 = 0;
                                         |     /* str.Saving_key___s__failed */
    0x0000a3d0 addiu v0, v0, 0x3d8       |     v0 += aav.0x000003d8;
    0x0000a3d4 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000a3d8 addiu v0, zero, 2         |     v0 = 2;
    0x0000a3dc addiu a2, zero, 0xbc2     |     a2 = 0xbc2;
    0x0000a3e0 addiu a1, s5, 0x1c88      |     a1 = s5 + aav.0x00001c88;
    0x0000a3e4 addiu a0, s7, -0xe90      |     a0 = s7 + -0xe90;
    0x0000a3e8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000a3ec jalr t9                   |     t9 ();
    0x0000a3f0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a3f4 lw t9, -0x75e4(gp)        |     t9 = sym.imp.free;
    0x0000a3f8 lw a0, 0xe8(sp)           |     a0 = *(var_e8h);
    0x0000a3fc jalr t9                   |     t9 ();
    0x0000a400 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a404 lw s0, 0xe4(sp)           |     s0 = *(var_e4h);
    0x0000a408 b 0x9ef8                  |     goto label_17;
                                         | label_104:
    0x0000a40c lw s2, 0x7c(sp)           |     s2 = *(var_7ch);
    0x0000a410 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* fcn.00013fd8 */
    0x0000a414 addiu s1, s1, 0x3fd8      |     s1 += 0x3fd8;
    0x0000a418 move a2, s2               |     a2 = s2;
    0x0000a41c move a1, s7               |     a1 = s7;
    0x0000a420 move t9, s1               |     t9 = s1;
                                         |     /* str._etc_ssh_ssh_host_rsa_key */
    0x0000a424 addiu a0, a0, 0x85c       |     a0 += 0x85c;
    0x0000a428 bal 0x13fd8               |     fcn_00013fd8 ();
    0x0000a42c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a430 move a2, s2               |     a2 = s2;
    0x0000a434 move a1, s7               |     a1 = s7;
    0x0000a438 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000a43c move t9, s1               |     t9 = s1;
                                         |     /* str._etc_ssh_ssh_host_dsa_key */
    0x0000a440 addiu a0, a0, 0x87c       |     a0 += aav.0x0000087c;
    0x0000a444 move s0, v0               |     s0 = v0;
    0x0000a448 bal 0x13fd8               |     fcn_00013fd8 ();
    0x0000a44c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a450 move a2, s2               |     a2 = s2;
    0x0000a454 move a1, s7               |     a1 = s7;
    0x0000a458 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000a45c move t9, s1               |     t9 = s1;
                                         |     /* str._etc_ssh_ssh_host_ecdsa_key */
    0x0000a460 addiu a0, a0, 0x8a0       |     a0 += 0x8a0;
    0x0000a464 addu s0, s0, v0           |     s0 += v0;
    0x0000a468 bal 0x13fd8               |     fcn_00013fd8 ();
    0x0000a46c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a470 move a2, s2               |     a2 = s2;
    0x0000a474 move a1, s7               |     a1 = s7;
    0x0000a478 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000a47c move t9, s1               |     t9 = s1;
                                         |     /* str._etc_ssh_ssh_host_ed25519_key */
    0x0000a480 addiu a0, a0, 0x8c4       |     a0 += 0x8c4;
    0x0000a484 addu s0, v0, s0           |     s0 = v0 + s0;
    0x0000a488 bal 0x13fd8               |     fcn_00013fd8 ();
    0x0000a48c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a490 move a2, s2               |     a2 = s2;
    0x0000a494 move a1, s7               |     a1 = s7;
    0x0000a498 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000a49c move t9, s1               |     t9 = s1;
                                         |     /* str._etc_ssh_ssh_host_xmss_key */
    0x0000a4a0 addiu a0, a0, 0x15d0      |     a0 += 0x15d0;
    0x0000a4a4 addu s0, v0, s0           |     s0 = v0 + s0;
    0x0000a4a8 bal 0x13fd8               |     fcn_00013fd8 ();
    0x0000a4ac addu s0, v0, s0           |     s0 = v0 + s0;
    0x0000a4b0 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (s0 != 0) {
    0x0000a4b4 bnez s0, 0x9824           |         goto label_18;
                                         |     }
    0x0000a4b8 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000a4bc lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.no_keys_found. */
    0x0000a4c0 addiu v0, v0, 0x15ec      |     v0 += 0x15ec;
    0x0000a4c4 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000a4c8 addiu v0, zero, 1         |     v0 = 1;
    0x0000a4cc sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000a4d0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000a4d4 move a3, zero             |     a3 = 0;
    0x0000a4d8 addiu a2, zero, 0xdcd     |     a2 = 0xdcd;
    0x0000a4dc b 0x9fa8                  |     goto label_19;
                                         | label_103:
    0x0000a4e0 lw v0, 0xb0(sp)           |     v0 = *(var_b0h);
    0x0000a4e4 lw v1, 0xb4(sp)           |     v1 = *(var_b4h);
    0x0000a4e8 or v0, v0, v1             |     v0 |= v1;
    0x0000a4ec lw v0, 0x8c(sp)           |     v0 = *(var_8ch);
    0x0000a4f0 bnez v0, 0xa77c           |     
                                         |     while (v0 == 0) {
    0x0000a4f4 lw t9, -0x7f2c(gp)        |         t9 = *(gp);
                                         |         if (v0 != 0) {
    0x0000a4f8 bnez v0, 0xb574           |             goto label_146;
                                         |         }
    0x0000a4fc lw s0, -0x7fcc(gp)        |         s0 = *((gp - 8179));
    0x0000a500 lw v0, 0x510c(s0)         |         v0 = *((s0 + 5187));
    0x0000a504 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
                                         |         if (v0 == 0) {
    0x0000a508 beqz v0, 0xb4ec           |             goto label_147;
                                         |         }
                                         | label_39:
    0x0000a50c lw s1, -0x7fcc(gp)        |         s1 = *((gp - 8179));
    0x0000a510 lw t9, -0x7ebc(gp)        |         t9 = sym.sshkey_type_from_name;
    0x0000a514 lw a0, 0x510c(s0)         |         a0 = *((s0 + 5187));
    0x0000a518 sw s1, 0x40(sp)           |         *(var_40h) = s1;
    0x0000a51c bal 0x1d77c               |         sym_sshkey_type_from_name ();
    0x0000a520 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000a524 lw a1, 0x510c(s0)         |         a1 = *((s0 + 5187));
    0x0000a528 move a0, v0               |         a0 = v0;
    0x0000a52c lw t9, -0x7f2c(gp)        |         t9 = *(gp);
    0x0000a530 addiu a2, sp, 0xd4        |         a2 = sp + 0xd4;
    0x0000a534 addiu t9, t9, -0x2758     |         t9 += -0x2758;
    0x0000a538 move s5, v0               |         s5 = v0;
    0x0000a53c bal 0xd8a8                |         fcn_0000d8a8 ();
    0x0000a540 lw v0, 0x6144(s1)         |         v0 = *((s1 + 6225));
    0x0000a544 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x0000a548 beqz v0, 0xb4cc           |             goto label_148;
                                         |         }
                                         | label_38:
    0x0000a54c addiu v0, zero, 0xa       |         v0 = 0xa;
    0x0000a550 addiu v0, zero, 0xc       |         v0 = 0xc;
                                         |         if (s5 == v0) {
    0x0000a554 beq s5, v0, 0xa91c        |             goto label_149;
                                         |         }
    0x0000a558 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
                                         |         if (s5 == v0) {
    0x0000a55c beq s5, v0, 0xa920        |             goto label_150;
                                         |         }
    0x0000a560 lw t9, -0x7e54(gp)        |         t9 = sym.sshkey_generate;
    0x0000a564 lw a1, 0xd4(sp)           |         a1 = *(var_d4h);
    0x0000a568 addiu a2, sp, 0xe8        |         a2 = sp + 0xe8;
    0x0000a56c move a0, s5               |         a0 = s5;
    0x0000a570 bal 0x1fcac               |         sym_sshkey_generate ();
    0x0000a574 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000a578 bnez v0, 0xb4a4           |             goto label_151;
                                         |         }
    0x0000a57c move s3, zero             |         s3 = 0;
    0x0000a580 move s0, zero             |         s0 = 0;
                                         | label_35:
    0x0000a584 lw t9, -0x7eb0(gp)        |         t9 = sym.sshkey_from_private;
    0x0000a588 lw a0, 0xe8(sp)           |         a0 = *(var_e8h);
    0x0000a58c addiu a1, sp, 0xec        |         a1 = sp + 0xec;
    0x0000a590 bal 0x20084               |         sym_sshkey_from_private ();
    0x0000a594 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000a598 bnez v0, 0xb180           |             goto label_152;
                                         |         }
    0x0000a59c lw v0, -0x7fcc(gp)        |         v0 = *((gp - 8179));
    0x0000a5a0 lw v0, 0x5138(v0)         |         v0 = *((v0 + 5198));
                                         |         if (v0 == 0) {
    0x0000a5a4 beql v0, zero, 0xb160     |             goto label_153;
                                         |         }
    0x0000a5a8 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
                                         | label_32:
    0x0000a5ac lw v0, 0x40(sp)           |         v0 = *(var_40h);
    0x0000a5b0 lw s2, -0x7fcc(gp)        |         s2 = *((gp - 8179));
    0x0000a5b4 lw t9, -0x7dc8(gp)        |         t9 = sym.hostfile_create_user_ssh_dir;
    0x0000a5b8 lw a1, 0x6144(v0)         |         a1 = *((v0 + 6225));
    0x0000a5bc addiu a0, s2, 0x513c      |         a0 = s2 + 0x513c;
    0x0000a5c0 sltiu a1, a1, 1           |         a1 = (a1 < 1) ? 1 : 0;
    0x0000a5c4 jalr t9                   |         t9 ();
    0x0000a5c8 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000a5cc lw t9, -0x7f2c(gp)        |         t9 = *(gp);
    0x0000a5d0 addiu t9, t9, -0x170c     |         t9 += -aav.0x0000170c;
    0x0000a5d4 addiu a0, s2, 0x513c      |         a0 = s2 + 0x513c;
    0x0000a5d8 bal 0xe8f4                |         fcn_0000e8f4 ();
    0x0000a5dc lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x0000a5e0 beqz v0, 0xb154           |             goto label_154;
                                         |         }
    0x0000a5e4 lw t9, -0x7f2c(gp)        |         t9 = *(gp);
    0x0000a5e8 addiu t9, t9, -0xf0c      |         t9 += -0xf0c;
    0x0000a5ec bal 0xf0f4                |         fcn_0000f0f4 ();
    0x0000a5f0 nop                       |         
    0x0000a5f4 lw a1, 0x70(sp)           |         a1 = *(var_70h);
    0x0000a5f8 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000a5fc move s1, v0               |         s1 = v0;
                                         |         if (a1 == 0) {
    0x0000a600 beqz a1, 0xb094           |             goto label_155;
                                         |         }
    0x0000a604 lw t9, -0x7edc(gp)        |         t9 = sym.strlcpy;
    0x0000a608 addiu s4, sp, 0x194       |         s4 = sp + aav.0x00000194;
    0x0000a60c addiu a2, zero, 0x400     |         a2 = 0x400;
    0x0000a610 move a0, s4               |         a0 = s4;
    0x0000a614 jalr t9                   |         t9 ();
    0x0000a618 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         | label_31:
    0x0000a61c lw v0, -0x7fcc(gp)        |         v0 = *((gp - 8179));
    0x0000a620 lw t9, -0x7e70(gp)        |         t9 = sym.sshkey_save_private;
    0x0000a624 lw a0, 0xe8(sp)           |         a0 = *(var_e8h);
    0x0000a628 lw a1, 0x50f8(v0)         |         a1 = *((v0 + 5182));
    0x0000a62c lw v0, -0x7fcc(gp)        |         v0 = *((gp - 8179));
    0x0000a630 sw a1, 0x18(sp)           |         *(var_18h) = a1;
    0x0000a634 move a3, s4               |         a3 = s4;
    0x0000a638 lw v1, 0x50fc(v0)         |         v1 = *((v0 + 5183));
    0x0000a63c lw v0, -0x7fcc(gp)        |         v0 = *((gp - 8179));
    0x0000a640 sw v1, 0x14(sp)           |         *(var_14h) = v1;
    0x0000a644 move a2, s1               |         a2 = s1;
    0x0000a648 lw v0, 0x5100(v0)         |         v0 = *((v0 + 5184));
    0x0000a64c addiu a1, s2, 0x513c      |         a1 = s2 + 0x513c;
    0x0000a650 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000a654 jalr t9                   |         t9 ();
    0x0000a658 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000a65c bnez v0, 0xb0dc           |             goto label_156;
                                         |         }
    0x0000a660 lw t9, -0x76e4(gp)        |         t9 = sym.imp.strlen;
    0x0000a664 move a0, s1               |         a0 = s1;
    0x0000a668 jalr t9                   |         t9 ();
    0x0000a66c lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000a670 move a1, v0               |         a1 = v0;
    0x0000a674 lw t9, -0x7fc4(gp)        |         t9 = sym.freezero;
    0x0000a678 move a0, s1               |         a0 = s1;
    0x0000a67c jalr t9                   |         t9 ();
    0x0000a680 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000a684 lw t9, -0x7f4c(gp)        |         t9 = sym.sshkey_free;
    0x0000a688 lw a0, 0xe8(sp)           |         a0 = *(var_e8h);
    0x0000a68c bal 0x1e0a4               |         sym_sshkey_free ();
    0x0000a690 lw v0, 0x40(sp)           |         v0 = *(var_40h);
    0x0000a694 lw v0, 0x6144(v0)         |         v0 = *((v0 + 6225));
    0x0000a698 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x0000a69c beqz v0, 0xb1b8           |             goto label_157;
                                         |         }
                                         | label_33:
    0x0000a6a0 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x0000a6a4 lw t9, -0x7e74(gp)        |         t9 = sym.strlcat;
    0x0000a6a8 addiu a2, zero, 0x1000    |         a2 = 0x1000;
                                         |         /* esilref: '.pub' */
    0x0000a6ac addiu a1, a1, 0x790       |         a1 += 0x790;
    0x0000a6b0 addiu a0, s2, 0x513c      |         a0 = s2 + 0x513c;
    0x0000a6b4 jalr t9                   |         t9 ();
    0x0000a6b8 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000a6bc lw a0, 0xec(sp)           |         a0 = *(var_ech);
    0x0000a6c0 move a2, s4               |         a2 = s4;
    0x0000a6c4 lw t9, -0x7ea4(gp)        |         t9 = sym.sshkey_save_public;
    0x0000a6c8 addiu a1, s2, 0x513c      |         a1 = s2 + 0x513c;
    0x0000a6cc jalr t9                   |         t9 ();
    0x0000a6d0 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000a6d4 bnez v0, 0xb1d8           |             goto label_158;
                                         |         }
    0x0000a6d8 lw v0, 0x40(sp)           |         v0 = *(var_40h);
    0x0000a6dc lw v0, 0x6144(v0)         |         v0 = *((v0 + 6225));
                                         |         if (v0 == 0) {
    0x0000a6e0 beql v0, zero, 0xafac     |             goto label_159;
                                         |         }
    0x0000a6e4 lw s1, -0x7fcc(gp)        |         s1 = *((gp - 8179));
                                         | label_30:
    0x0000a6e8 lw t9, -0x7f9c(gp)        |         t9 = sym.sshbuf_free;
                                         |         if (s3 != 0) {
    0x0000a6ec beqz s3, 0xa75c           |             
    0x0000a6f0 lw t9, -0x7f8c(gp)        |             t9 = sym.sshbuf_len;
                                         |             if (s0 == 0) {
    0x0000a6f4 beqz s0, 0xb33c           |                 goto label_160;
                                         |             }
    0x0000a6f8 move a0, s0               |             a0 = s0;
    0x0000a6fc bal 0x1bec4               |             sym_sshbuf_len ();
    0x0000a700 lw gp, 0x30(sp)           |             gp = *(var_30h);
                                         |             if (v0 == 0) {
    0x0000a704 beqz v0, 0xb33c           |                 goto label_160;
                                         |             }
    0x0000a708 lw t9, -0x7694(gp)        |             t9 = sym.imp.umask;
    0x0000a70c addiu a0, zero, 0x3f      |             a0 = 0x3f;
    0x0000a710 jalr t9                   |             t9 ();
    0x0000a714 lw gp, 0x30(sp)           |             gp = *(var_30h);
    0x0000a718 move a1, s0               |             a1 = s0;
    0x0000a71c move a0, s3               |             a0 = s3;
    0x0000a720 lw t9, -0x7de0(gp)        |             t9 = sym.sshbuf_write_file;
    0x0000a724 move s2, v0               |             s2 = v0;
    0x0000a728 jalr t9                   |             t9 ();
    0x0000a72c lw gp, 0x30(sp)           |             gp = *(var_30h);
    0x0000a730 move s1, v0               |             s1 = v0;
    0x0000a734 lw t9, -0x7694(gp)        |             t9 = sym.imp.umask;
    0x0000a738 move a0, s2               |             a0 = s2;
    0x0000a73c jalr t9                   |             t9 ();
    0x0000a740 lw gp, 0x30(sp)           |             gp = *(var_30h);
                                         |             if (s1 != 0) {
    0x0000a744 bnez s1, 0xb2f0           |                 goto label_161;
                                         |             }
    0x0000a748 lw v0, 0x40(sp)           |             v0 = *(var_40h);
    0x0000a74c lw v0, 0x6144(v0)         |             v0 = *((v0 + 6225));
    0x0000a750 lw a1, -0x7fdc(gp)        |             a1 = *(gp);
                                         |             if (v0 == 0) {
    0x0000a754 beqz v0, 0xb374           |                 goto label_162;
                                         |             }
                                         | label_34:
    0x0000a758 lw t9, -0x7f9c(gp)        |             t9 = sym.sshbuf_free;
                                         |         }
    0x0000a75c move a0, s0               |         a0 = s0;
    0x0000a760 bal 0x1b7ac               |         sym_sshbuf_free ();
    0x0000a764 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000a768 lw t9, -0x7f4c(gp)        |         t9 = sym.sshkey_free;
    0x0000a76c lw a0, 0xec(sp)           |         a0 = *(var_ech);
    0x0000a770 bal 0x1e0a4               |         sym_sshkey_free ();
    0x0000a774 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000a778 b 0x9824                  |         goto label_18;
    0x0000a77c addiu v1, zero, 1         |         v1 = 1;
                                         |         if (s5 <= 0) {
    0x0000a780 blez s5, 0xbeb0           |             goto label_163;
                                         |         }
    0x0000a784 lw v0, 0xb0(sp)           |         v0 = *(var_b0h);
                                         |         if (s5 != v1) {
    0x0000a788 bne s5, v1, 0xbe8c        |             goto label_164;
                                         |         }
    0x0000a78c lw t9, -0x7f2c(gp)        |         t9 = *(gp);
                                         |         if (v0 != 0) {
    0x0000a790 bnez v0, 0xbe70           |             goto label_165;
                                         |         }
    0x0000a794 lw v0, 0xb4(sp)           |         v0 = *(var_b4h);
    0x0000a798 beql v0, zero, 0xa4f4     |         
                                         |     }
    0x0000a79c lw v0, 0x8c(sp)           |     v0 = *(var_8ch);
    0x0000a7a0 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
    0x0000a7a4 lw a0, (fp)               |     a0 = *(fp);
    0x0000a7a8 lw a1, 0x44(sp)           |     a1 = *(var_44h);
    0x0000a7ac addiu t9, t9, -0x2c4c     |     t9 += -0x2c4c;
    0x0000a7b0 move a2, s6               |     a2 = s6;
    0x0000a7b4 bal 0xd3b4                |     fcn_0000d3b4 ();
    0x0000a7b8 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a7bc b 0x90f4                  |     goto label_1;
                                         | label_127:
    0x0000a7c0 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000a7c4 move a0, v0               |     a0 = v0;
    0x0000a7c8 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000a7cc lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a7d0 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000a7d4 lw v0, 0xec(sp)           |     v0 = *(var_ech);
    0x0000a7d8 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000a7dc sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x0000a7e0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000a7e4 move a3, zero             |     a3 = 0;
                                         |     /* str.Saving_public_key___s__failed */
    0x0000a7e8 addiu v0, v0, 0x15b0      |     v0 += 0x15b0;
    0x0000a7ec sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000a7f0 addiu v0, zero, 2         |     v0 = 2;
    0x0000a7f4 addiu a2, zero, 0xbd3     |     a2 = 0xbd3;
    0x0000a7f8 addiu a1, s5, 0x1c88      |     a1 = s5 + aav.0x00001c88;
    0x0000a7fc addiu a0, s7, -0xe90      |     a0 = s7 + -0xe90;
    0x0000a800 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000a804 jalr t9                   |     t9 ();
    0x0000a808 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a80c lw t9, -0x75e4(gp)        |     t9 = sym.imp.free;
    0x0000a810 lw a0, 0xec(sp)           |     a0 = *(var_ech);
    0x0000a814 jalr t9                   |     t9 ();
    0x0000a818 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a81c lw s0, 0xe4(sp)           |     s0 = *(var_e4h);
    0x0000a820 b 0x9ef8                  |     goto label_17;
                                         | label_108:
    0x0000a824 sw zero, 0x50(sp)         |     *(var_50h) = 0;
    0x0000a828 b 0x9880                  |     goto label_14;
                                         | label_118:
    0x0000a82c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000a830 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.No_keys_to_download */
    0x0000a834 addiu v0, v0, 0x1518      |     v0 += 0x1518;
    0x0000a838 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000a83c sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000a840 addiu v0, zero, 3         |     v0 = 3;
    0x0000a844 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000a848 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000a84c move a3, zero             |     a3 = 0;
    0x0000a850 addiu a2, zero, 0xba0     |     a2 = 0xba0;
                                         |     /* str.do_download_sk */
    0x0000a854 addiu a1, a1, 0x1c88      |     a1 += aav.0x00001c88;
                                         |     /* str.ssh_keygen.c */
    0x0000a858 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000a85c jalr t9                   |     t9 ();
    0x0000a860 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a864 b 0x9a7c                  |     goto label_20;
                                         | label_145:
    0x0000a868 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000a86c move a0, v0               |     a0 = v0;
    0x0000a870 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000a874 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a878 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000a87c addiu v0, zero, 5         |     v0 = 5;
    0x0000a880 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000a884 lw s7, -0x7fdc(gp)        |     s7 = *(gp);
                                         |     /* str.Couldnt_find_key_in_agent */
    0x0000a888 addiu a0, a0, 0xf14       |     a0 += 0xf14;
    0x0000a88c lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000a890 sw a0, 0x18(sp)           |     *(var_18h) = a0;
    0x0000a894 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000a898 move a3, zero             |     a3 = 0;
    0x0000a89c addiu a2, zero, 0xa47     |     a2 = 0xa47;
    0x0000a8a0 b 0xa02c                  |     goto label_21;
                                         | label_60:
    0x0000a8a4 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000a8a8 move a0, v0               |     a0 = v0;
    0x0000a8ac bal 0x1b0f0               |     sym_ssh_err ();
    0x0000a8b0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a8b4 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000a8b8 addiu v0, zero, 2         |     v0 = 2;
    0x0000a8bc lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000a8c0 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.Couldnt_read_signature_file */
    0x0000a8c4 addiu a0, a0, -0xae0      |     a0 += -0xae0;
    0x0000a8c8 sw a0, 0x18(sp)           |     *(var_18h) = a0;
    0x0000a8cc sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000a8d0 move a3, zero             |     a3 = 0;
    0x0000a8d4 addiu a2, zero, 0xac7     |     a2 = 0xac7;
                                         | label_28:
    0x0000a8d8 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000a8dc lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.sig_find_principals */
    0x0000a8e0 addiu a1, a1, 0x1de0      |     a1 += aav.0x00001de0;
                                         |     /* str.ssh_keygen.c */
    0x0000a8e4 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000a8e8 jalr t9                   |     t9 ();
    0x0000a8ec lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a8f0 addiu a2, zero, 0x16      |     a2 = 0x16;
    0x0000a8f4 addiu a1, zero, 1         |     a1 = 1;
    0x0000a8f8 lw v0, -0x76c4(gp)        |     v0 = *((gp - 7601));
    0x0000a8fc lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000a900 lw t9, -0x77a4(gp)        |     t9 = sym.imp.fwrite;
    0x0000a904 lw a3, (v0)               |     a3 = *(v0);
                                         |     /* str.No_principal_matched._n */
    0x0000a908 addiu a0, a0, 0xe40       |     a0 += 0xe40;
    0x0000a90c sw s4, 0x48(sp)           |     *(var_48h) = s4;
    0x0000a910 jalr t9                   |     t9 ();
    0x0000a914 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000a918 b 0x90b4                  |     goto label_22;
                                         | label_149:
    0x0000a91c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         | label_150:
    0x0000a920 lw s0, 0x44(sp)           |     s0 = *(var_44h);
                                         |     /* str.no_touch_required */
    0x0000a924 addiu v0, v0, -0x8fc      |     v0 += -0x8fc;
    0x0000a928 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x0000a92c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000a930 move s3, zero             |     s3 = 0;
                                         |     /* str.verify_required */
    0x0000a934 addiu v0, v0, 0x1660      |     v0 += aav.0x00001660;
    0x0000a938 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x0000a93c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000a940 sw zero, 0x44(sp)         |     *(var_44h) = 0;
    0x0000a944 sw v0, 0x50(sp)           |     *(var_50h) = v0;
    0x0000a948 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000a94c sw zero, 0x3c(sp)         |     *(var_3ch) = 0;
                                         |     /* str.device */
    0x0000a950 addiu v0, v0, 0x1428      |     v0 += 0x1428;
    0x0000a954 sw v0, 0x54(sp)           |     *(var_54h) = v0;
    0x0000a958 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000a95c move fp, zero             |     fp = 0;
    0x0000a960 addiu s2, zero, 1         |     s2 = 1;
    0x0000a964 move s4, zero             |     s4 = 0;
    0x0000a968 sw v0, 0x58(sp)           |     *(var_58h) = v0;
                                         |     do {
                                         | label_23:
    0x0000a96c lw t9, -0x776c(gp)        |         t9 = sym.imp.strcasecmp;
                                         |         if (s4 == s6) {
    0x0000a970 beq s4, s6, 0xaa7c        |             goto label_166;
                                         |         }
    0x0000a974 lw s1, (s0)               |         s1 = *(s0);
    0x0000a978 lw a1, 0x48(sp)           |         a1 = *(var_48h);
    0x0000a97c move a0, s1               |         a0 = s1;
    0x0000a980 jalr t9                   |         t9 ();
    0x0000a984 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000a988 bnez v0, 0xa99c           |             goto label_167;
                                         |         }
    0x0000a98c andi s2, s2, 0xfe         |         s2 &= 0xfe;
                                         | label_43:
    0x0000a990 addiu s4, s4, 1           |         s4++;
    0x0000a994 addiu s0, s0, 4           |         s0 += 4;
    0x0000a998 b 0xa96c                  |         
                                         |     } while (1);
                                         | label_167:
    0x0000a99c lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
    0x0000a9a0 lw a1, 0x4c(sp)           |     a1 = *(var_4ch);
    0x0000a9a4 move a0, s1               |     a0 = s1;
    0x0000a9a8 jalr t9                   |     t9 ();
    0x0000a9ac lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000a9b0 bnez v0, 0xa9c4           |         
    0x0000a9b4 ori s2, s2, 4             |         s2 |= 4;
    0x0000a9b8 addiu s4, s4, 1           |         s4++;
    0x0000a9bc addiu s0, s0, 4           |         s0 += 4;
    0x0000a9c0 b 0xa96c                  |         goto label_23;
                                         |     }
    0x0000a9c4 lw v0, 0x50(sp)           |     v0 = *(var_50h);
    0x0000a9c8 lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
    0x0000a9cc addiu a1, v0, 0x1670      |     a1 = v0 + 0x1670;
    0x0000a9d0 move a0, s1               |     a0 = s1;
    0x0000a9d4 jalr t9                   |     t9 ();
    0x0000a9d8 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000a9dc bnez v0, 0xa9f0           |         
    0x0000a9e0 ori s2, s2, 0x20          |         s2 |= 0x20;
    0x0000a9e4 addiu s4, s4, 1           |         s4++;
    0x0000a9e8 addiu s0, s0, 4           |         s0 += 4;
    0x0000a9ec b 0xa96c                  |         goto label_23;
                                         |     }
    0x0000a9f0 lw t9, -0x7828(gp)        |     t9 = sym.imp.strncasecmp;
    0x0000a9f4 lw a1, 0x54(sp)           |     a1 = *(var_54h);
    0x0000a9f8 addiu a2, zero, 7         |     a2 = 7;
    0x0000a9fc move a0, s1               |     a0 = s1;
    0x0000aa00 jalr t9                   |     t9 ();
    0x0000aa04 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000aa08 beqz v0, 0xac4c           |         goto label_168;
                                         |     }
    0x0000aa0c lw v0, 0x58(sp)           |     v0 = *(var_58h);
    0x0000aa10 lw t9, -0x7828(gp)        |     t9 = sym.imp.strncasecmp;
    0x0000aa14 addiu a2, zero, 5         |     a2 = 5;
    0x0000aa18 addiu a1, v0, 0x167c      |     a1 = v0 + 0x167c;
    0x0000aa1c move a0, s1               |     a0 = s1;
    0x0000aa20 jalr t9                   |     t9 ();
    0x0000aa24 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000aa28 beqz v0, 0xac2c           |         goto label_169;
                                         |     }
    0x0000aa2c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000aa30 lw t9, -0x7828(gp)        |     t9 = sym.imp.strncasecmp;
    0x0000aa34 addiu a2, zero, 0xa       |     a2 = 0xa;
                                         |     /* str.challenge */
    0x0000aa38 addiu a1, a1, 0x1684      |     a1 += 0x1684;
    0x0000aa3c move a0, s1               |     a0 = s1;
    0x0000aa40 jalr t9                   |     t9 ();
    0x0000aa44 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000aa48 beqz v0, 0xb93c           |         goto label_170;
                                         |     }
    0x0000aa4c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000aa50 lw t9, -0x7828(gp)        |     t9 = sym.imp.strncasecmp;
    0x0000aa54 addiu a2, zero, 0x12      |     a2 = 0x12;
                                         |     /* str.write_attestation */
    0x0000aa58 addiu a1, a1, 0x16c0      |     a1 += 0x16c0;
    0x0000aa5c move a0, s1               |     a0 = s1;
    0x0000aa60 jalr t9                   |     t9 ();
    0x0000aa64 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000aa68 bnez v0, 0xb8c0           |         goto label_171;
                                         |     }
    0x0000aa6c addiu s3, s1, 0x12        |     s3 = s1 + 0x12;
    0x0000aa70 addiu s4, s4, 1           |     s4++;
    0x0000aa74 addiu s0, s0, 4           |     s0 += 4;
    0x0000aa78 b 0xa96c                  |     goto label_23;
                                         | label_166:
    0x0000aa7c lw v0, 0x40(sp)           |     v0 = *(var_40h);
    0x0000aa80 lw v0, 0x6144(v0)         |     v0 = *((v0 + 6225));
    0x0000aa84 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     if (v0 == 0) {
    0x0000aa88 beqz v0, 0xb490           |         goto label_172;
                                         |     }
                                         | label_37:
    0x0000aa8c lw t9, -0x7fb4(gp)        |     t9 = sym.sshbuf_new;
    0x0000aa90 bal 0x1b500               |     sym_sshbuf_new ();
    0x0000aa94 nop                       |     
    0x0000aa98 move s0, v0               |     s0 = v0;
    0x0000aa9c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000aaa0 beqz v0, 0xb468           |         goto label_173;
                                         |     }
    0x0000aaa4 andi v0, s2, 0x24         |     v0 = s2 & 0x24;
    0x0000aaa8 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     if (v0 != 0) {
    0x0000aaac bnez v0, 0xb44c           |         goto label_174;
                                         |     }
                                         | label_36:
    0x0000aab0 lw v0, -0x7858(gp)        |     v0 = *((gp - 7702));
    0x0000aab4 addiu s4, zero, 4         |     s4 = 4;
    0x0000aab8 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x0000aabc lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000aac0 addiu s1, sp, 0xe8        |     s1 = sp + 0xe8;
    0x0000aac4 sw v0, 0x50(sp)           |     *(var_50h) = v0;
    0x0000aac8 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000aacc sw v0, 0x58(sp)           |     *(var_58h) = v0;
    0x0000aad0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     /* str.ssh: */
    0x0000aad4 addiu v0, v0, 0x1578      |     v0 += 0x1578;
                                         |     if (fp == 0) {
    0x0000aad8 movn v0, fp, fp           |         v0 = fp;
                                         |     }
    0x0000aadc move s6, v0               |     s6 = v0;
    0x0000aae0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     /* str.PIN_incorrect */
    0x0000aae4 addiu v0, v0, 0x17b4      |     v0 += 0x17b4;
    0x0000aae8 move fp, v0               |     fp = v0;
    0x0000aaec lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     /* str.main */
    0x0000aaf0 addiu v0, v0, 0x1e1c      |     v0 += 0x1e1c;
    0x0000aaf4 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x0000aaf8 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     /* str.Enter_PIN_for_authenticator:_ */
    0x0000aafc addiu v0, v0, 0x1494      |     v0 += 0x1494;
    0x0000ab00 sw v0, 0x54(sp)           |     *(var_54h) = v0;
                                         |     do {
                                         | label_24:
    0x0000ab04 lw v0, 0x48(sp)           |         v0 = *(var_48h);
    0x0000ab08 lw t9, -0x763c(gp)        |         t9 = sym.imp.fflush;
    0x0000ab0c lw a0, (v0)               |         a0 = *(v0);
    0x0000ab10 jalr t9                   |         t9 ();
    0x0000ab14 lw v0, 0x84(sp)           |         v0 = *(var_84h);
    0x0000ab18 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000ab1c lw a2, 0x3c(sp)           |         a2 = *(var_3ch);
    0x0000ab20 lw a1, 0x5104(v0)         |         a1 = *((v0 + 5185));
    0x0000ab24 lw v0, 0xd0(sp)           |         v0 = *(var_d0h);
    0x0000ab28 lw t9, -0x7dc4(gp)        |         t9 = sym.sshsk_enroll;
    0x0000ab2c sw v0, 0x1c(sp)           |         *(var_1ch) = v0;
    0x0000ab30 lw v0, 0x44(sp)           |         v0 = *(var_44h);
    0x0000ab34 sw s0, 0x24(sp)           |         *(var_24h) = s0;
    0x0000ab38 sw s1, 0x20(sp)           |         *(var_20h) = s1;
    0x0000ab3c sw s7, 0x18(sp)           |         *(var_18h) = s7;
    0x0000ab40 sw s2, 0x14(sp)           |         *(var_14h) = s2;
    0x0000ab44 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000ab48 move a3, s6               |         a3 = s6;
    0x0000ab4c move a0, s5               |         a0 = s5;
    0x0000ab50 bal 0x1a764               |         sym_sshsk_enroll ();
    0x0000ab54 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x0000ab58 beqz v0, 0xb420           |             goto label_175;
                                         |         }
    0x0000ab5c addiu v1, zero, -0x2b     |         v1 = -0x2b;
    0x0000ab60 lw t9, -0x7fd0(gp)        |         t9 = sym.ssh_err;
                                         |         if (v0 != v1) {
    0x0000ab64 bne v0, v1, 0xb3ec        |             goto label_176;
                                         |         }
    0x0000ab68 lw v0, 0x50(sp)           |         v0 = *(var_50h);
                                         |         if (s7 != 0) {
    0x0000ab6c beqz s7, 0xabc0           |             
    0x0000ab70 lw t9, -0x7fac(gp)        |             t9 = sym.sshlog;
    0x0000ab74 lw a1, 0x4c(sp)           |             a1 = *(var_4ch);
    0x0000ab78 addiu a0, v0, -0xe90      |             a0 = v0 + -0xe90;
    0x0000ab7c addiu v0, zero, 2         |             v0 = 2;
    0x0000ab80 move a3, zero             |             a3 = 0;
    0x0000ab84 addiu a2, zero, 0xe2b     |             a2 = 0xe2b;
    0x0000ab88 sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x0000ab8c sw fp, 0x18(sp)           |             *(var_18h) = fp;
    0x0000ab90 sw zero, 0x14(sp)         |             *(var_14h) = 0;
    0x0000ab94 jalr t9                   |             t9 ();
    0x0000ab98 lw gp, 0x30(sp)           |             gp = *(var_30h);
    0x0000ab9c lw t9, -0x76e4(gp)        |             t9 = sym.imp.strlen;
    0x0000aba0 move a0, s7               |             a0 = s7;
    0x0000aba4 jalr t9                   |             t9 ();
    0x0000aba8 lw gp, 0x30(sp)           |             gp = *(var_30h);
    0x0000abac move a1, v0               |             a1 = v0;
    0x0000abb0 lw t9, -0x7fc4(gp)        |             t9 = sym.freezero;
    0x0000abb4 move a0, s7               |             a0 = s7;
    0x0000abb8 jalr t9                   |             t9 ();
    0x0000abbc lw gp, 0x30(sp)           |             gp = *(var_30h);
                                         |         }
    0x0000abc0 addiu s4, s4, -1          |         s4 += -1;
    0x0000abc4 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
                                         |         if (s4 == 0) {
    0x0000abc8 beqz s4, 0xac08           |             goto label_177;
                                         |         }
    0x0000abcc lw t9, -0x7fc0(gp)        |         t9 = sym.read_passphrase;
    0x0000abd0 lw a0, 0x54(sp)           |         a0 = *(var_54h);
    0x0000abd4 addiu a1, zero, 2         |         a1 = 2;
    0x0000abd8 jalr t9                   |         t9 ();
    0x0000abdc lw v1, 0x40(sp)           |         v1 = *(var_40h);
    0x0000abe0 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000abe4 lw v1, 0x6144(v1)         |         v1 = *((v1 + 6225));
    0x0000abe8 move s7, v0               |         s7 = v0;
    0x0000abec bnez v1, 0xab04           |         
                                         |     } while (v1 != 0);
    0x0000abf0 lw v0, 0x58(sp)           |     v0 = *(var_58h);
    0x0000abf4 lw t9, -0x786c(gp)        |     t9 = sym.imp.puts;
    0x0000abf8 addiu a0, v0, 0x17dc      |     a0 = v0 + 0x17dc;
    0x0000abfc jalr t9                   |     t9 ();
    0x0000ac00 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000ac04 b 0xab04                  |     goto label_24;
                                         | label_177:
    0x0000ac08 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.Too_many_incorrect_PINs */
    0x0000ac0c addiu v0, v0, 0x17c4      |     v0 += 0x17c4;
    0x0000ac10 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000ac14 addiu v0, zero, 1         |     v0 = 1;
    0x0000ac18 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000ac1c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000ac20 move a3, zero             |     a3 = 0;
    0x0000ac24 addiu a2, zero, 0xe30     |     a2 = 0xe30;
    0x0000ac28 b 0x9fa8                  |     goto label_19;
                                         | label_169:
    0x0000ac2c lw t9, -0x7fc8(gp)        |     t9 = sym.xstrdup;
    0x0000ac30 addiu a0, s1, 5           |     a0 = s1 + 5;
    0x0000ac34 jalr t9                   |     t9 ();
    0x0000ac38 sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x0000ac3c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000ac40 addiu s4, s4, 1           |     s4++;
    0x0000ac44 addiu s0, s0, 4           |     s0 += 4;
    0x0000ac48 b 0xa96c                  |     goto label_23;
                                         | label_168:
    0x0000ac4c lw t9, -0x7fc8(gp)        |     t9 = sym.xstrdup;
    0x0000ac50 addiu a0, s1, 7           |     a0 = s1 + 7;
    0x0000ac54 jalr t9                   |     t9 ();
    0x0000ac58 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x0000ac5c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000ac60 addiu s4, s4, 1           |     s4++;
    0x0000ac64 addiu s0, s0, 4           |     s0 += 4;
    0x0000ac68 b 0xa96c                  |     goto label_23;
                                         | label_142:
    0x0000ac6c lw t9, -0x779c(gp)        |     t9 = sym.imp.close;
                                         |     if (fp == 0) {
    0x0000ac70 beqz fp, 0xac80           |         goto label_25;
                                         |     }
    0x0000ac74 move a0, fp               |     a0 = fp;
    0x0000ac78 jalr t9                   |     t9 ();
    0x0000ac7c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     do {
                                         | label_25:
    0x0000ac80 lw t9, -0x7f4c(gp)        |         t9 = sym.sshkey_free;
    0x0000ac84 lw a0, 0xec(sp)           |         a0 = *(var_ech);
    0x0000ac88 sw s4, 0x48(sp)           |         *(var_48h) = s4;
    0x0000ac8c bal 0x1e0a4               |         sym_sshkey_free ();
    0x0000ac90 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000ac94 lw t9, -0x7f4c(gp)        |         t9 = sym.sshkey_free;
    0x0000ac98 move a0, s6               |         a0 = s6;
    0x0000ac9c bal 0x1e0a4               |         sym_sshkey_free ();
    0x0000aca0 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000aca4 b 0x90f4                  |         goto label_1;
                                         | label_140:
    0x0000aca8 move s4, zero             |         s4 = 0;
    0x0000acac b 0xac80                  |         
                                         |     } while (1);
                                         | label_138:
    0x0000acb0 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000acb4 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
    0x0000acb8 lw v0, 0x40(sp)           |     v0 = *(var_40h);
    0x0000acbc lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
    0x0000acc0 move a3, s0               |     a3 = s0;
    0x0000acc4 move a2, zero             |     a2 = 0;
                                         |     /* str._stdin_ */
    0x0000acc8 addiu a1, a1, 0x194       |     a1 += aav.0x00000194;
    0x0000accc addiu t9, t9, -0x15fc     |     t9 += -0x15fc;
    0x0000acd0 sw s1, 0x14(sp)           |     *(var_14h) = s1;
    0x0000acd4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000acd8 bal 0xea04                |     fcn_0000ea04 ();
    0x0000acdc lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000ace0 lw t9, -0x7dd0(gp)        |     t9 = *(gp);
    0x0000ace4 sltu a0, zero, v0         |     a0 = (0 < v0) ? 1 : 0;
    0x0000ace8 jalr t9                   |     t9 ();
    0x0000acec move s4, v0               |     s4 = v0;
    0x0000acf0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000acf4 b 0xac80                  |     goto label_25;
                                         | label_137:
    0x0000acf8 lw t9, -0x7eb8(gp)        |     t9 = sym.sshkey_is_cert;
    0x0000acfc move a0, s6               |     a0 = s6;
    0x0000ad00 bal 0x1dd4c               |     sym_sshkey_is_cert ();
    0x0000ad04 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000ad08 bnez v0, 0xa190           |         goto label_26;
                                         |     }
    0x0000ad0c lw t9, -0x7eb4(gp)        |     t9 = sym.sshkey_to_certified;
    0x0000ad10 move a0, s6               |     a0 = s6;
    0x0000ad14 bal 0x20dc0               |     sym_sshkey_to_certified ();
    0x0000ad18 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000ad1c bnez v0, 0xb888           |         goto label_178;
                                         |     }
    0x0000ad20 lw t9, -0x7dc0(gp)        |     t9 = sym.sshkey_cert_copy;
    0x0000ad24 lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
    0x0000ad28 move a1, s6               |     a1 = s6;
    0x0000ad2c bal 0x205e4               |     sym_sshkey_cert_copy ();
    0x0000ad30 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000ad34 beqz v0, 0xa190           |         goto label_26;
                                         |     }
    0x0000ad38 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000ad3c move a0, v0               |     a0 = v0;
    0x0000ad40 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000ad44 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000ad48 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000ad4c addiu v0, zero, 2         |     v0 = 2;
    0x0000ad50 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000ad54 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.sshkey_cert_copy */
    0x0000ad58 addiu a0, a0, 0xfc8       |     a0 += 0xfc8;
    0x0000ad5c sw a0, 0x18(sp)           |     *(var_18h) = a0;
    0x0000ad60 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000ad64 addiu a3, zero, 1         |     a3 = 1;
    0x0000ad68 addiu a2, zero, 0x9c3     |     a2 = 0x9c3;
                                         | label_42:
    0x0000ad6c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     /* str.ssh_keygen.c */
    0x0000ad70 addiu a0, s7, -0xe90      |     a0 = s7 + -0xe90;
                                         |     /* str.load_sign_key */
    0x0000ad74 addiu a1, a1, 0x1dc4      |     a1 += 0x1dc4;
    0x0000ad78 jalr t9                   |     t9 ();
    0x0000ad7c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     do {
                                         | label_29:
    0x0000ad80 lw t9, -0x7f4c(gp)        |         t9 = sym.sshkey_free;
    0x0000ad84 move a0, s6               |         a0 = s6;
    0x0000ad88 bal 0x1e0a4               |         sym_sshkey_free ();
    0x0000ad8c lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000ad90 move a0, s3               |         a0 = s3;
    0x0000ad94 lw t9, -0x75e4(gp)        |         t9 = sym.imp.free;
    0x0000ad98 move s6, zero             |         s6 = 0;
    0x0000ad9c jalr t9                   |         t9 ();
    0x0000ada0 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000ada4 b 0xac80                  |         goto label_25;
                                         | label_130:
    0x0000ada8 sw zero, 0x50(sp)         |         *(var_50h) = 0;
    0x0000adac b 0x9d54                  |         goto label_27;
                                         | label_61:
    0x0000adb0 lw t9, -0x7fd0(gp)        |         t9 = sym.ssh_err;
    0x0000adb4 move a0, v0               |         a0 = v0;
    0x0000adb8 bal 0x1b0f0               |         sym_ssh_err ();
    0x0000adbc lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000adc0 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x0000adc4 addiu v0, zero, 2         |         v0 = 2;
    0x0000adc8 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
    0x0000adcc sw v0, 0x10(sp)           |         *(var_10h) = v0;
                                         |         /* esilref: 'sshsig_armor' */
    0x0000add0 addiu a0, a0, -0xac0      |         a0 += -0xac0;
    0x0000add4 lw t9, -0x7fac(gp)        |         t9 = sym.sshlog;
    0x0000add8 sw a0, 0x18(sp)           |         *(var_18h) = a0;
    0x0000addc addiu a3, zero, 1         |         a3 = 1;
    0x0000ade0 addiu a2, zero, 0xacb     |         a2 = 0xacb;
    0x0000ade4 b 0xa8d8                  |         goto label_28;
                                         | label_62:
    0x0000ade8 lw t9, -0x7fd0(gp)        |         t9 = sym.ssh_err;
    0x0000adec move a0, v0               |         a0 = v0;
    0x0000adf0 bal 0x1b0f0               |         sym_ssh_err ();
    0x0000adf4 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000adf8 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x0000adfc addiu v0, zero, 2         |         v0 = 2;
    0x0000ae00 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
    0x0000ae04 sw v0, 0x10(sp)           |         *(var_10h) = v0;
                                         |         /* str.sshsig_get_pubkey */
    0x0000ae08 addiu a0, a0, 0xe14       |         a0 += 0xe14;
    0x0000ae0c lw t9, -0x7fac(gp)        |         t9 = sym.sshlog;
    0x0000ae10 sw a0, 0x18(sp)           |         *(var_18h) = a0;
    0x0000ae14 addiu a3, zero, 1         |         a3 = 1;
    0x0000ae18 addiu a2, zero, 0xacf     |         a2 = 0xacf;
    0x0000ae1c b 0xa8d8                  |         goto label_28;
                                         | label_144:
    0x0000ae20 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x0000ae24 lw t9, -0x776c(gp)        |         t9 = sym.imp.strcasecmp;
                                         |         /* str.permit_pty */
    0x0000ae28 addiu a1, a1, -0x918      |         a1 += -aav.0x00000918;
    0x0000ae2c move a0, s0               |         a0 = s0;
    0x0000ae30 jalr t9                   |         t9 ();
    0x0000ae34 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x0000ae38 bnez v0, 0xaebc           |             
    0x0000ae3c lw v1, -0x7fcc(gp)        |             v1 = *((gp - 8179));
    0x0000ae40 lw v0, 0x404c(v1)         |             v0 = *((v1 + 4115));
    0x0000ae44 ori v0, v0, 8             |             v0 |= 8;
    0x0000ae48 sw v0, 0x404c(v1)         |             *((v1 + 4115)) = v0;
    0x0000ae4c b 0x9350                  |             goto label_0;
                                         | label_141:
    0x0000ae50 lw t9, -0x7418(gp)        |             t9 = sym.imp.__errno_location;
    0x0000ae54 lw s0, (s2)               |             s0 = *(s2);
    0x0000ae58 jalr t9                   |             t9 ();
    0x0000ae5c lw gp, 0x30(sp)           |             gp = *(var_30h);
    0x0000ae60 lw a0, (v0)               |             a0 = *(v0);
    0x0000ae64 lw t9, -0x7454(gp)        |             t9 = sym.imp.strerror;
    0x0000ae68 addiu s4, zero, -1        |             s4 = -1;
    0x0000ae6c jalr t9                   |             t9 ();
    0x0000ae70 lw gp, 0x30(sp)           |             gp = *(var_30h);
    0x0000ae74 sw v0, 0x20(sp)           |             *(var_20h) = v0;
    0x0000ae78 sw s0, 0x1c(sp)           |             *(var_1ch) = s0;
    0x0000ae7c lw v0, -0x7fdc(gp)        |             v0 = *(gp);
    0x0000ae80 lw a1, -0x7fdc(gp)        |             a1 = *(gp);
    0x0000ae84 lw a0, -0x7fdc(gp)        |             a0 = *(gp);
                                         |             /* str.Cannot_open__s_for_signing:__s */
    0x0000ae88 addiu v0, v0, 0xfdc       |             v0 += 0xfdc;
    0x0000ae8c lw t9, -0x7fac(gp)        |             t9 = sym.sshlog;
    0x0000ae90 sw v0, 0x18(sp)           |             *(var_18h) = v0;
    0x0000ae94 addiu v0, zero, 2         |             v0 = 2;
    0x0000ae98 sw zero, 0x14(sp)         |             *(var_14h) = 0;
    0x0000ae9c sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x0000aea0 move a3, zero             |             a3 = 0;
    0x0000aea4 addiu a2, zero, 0xa5e     |             a2 = 0xa5e;
                                         |             /* str.sig_sign */
    0x0000aea8 addiu a1, a1, 0x1dd4      |             a1 += 0x1dd4;
                                         |             /* str.ssh_keygen.c */
    0x0000aeac addiu a0, a0, -0xe90      |             a0 += -0xe90;
    0x0000aeb0 jalr t9                   |             t9 ();
    0x0000aeb4 lw gp, 0x30(sp)           |             gp = *(var_30h);
    0x0000aeb8 b 0xac80                  |             goto label_25;
                                         |         }
    0x0000aebc lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x0000aec0 lw t9, -0x776c(gp)        |         t9 = sym.imp.strcasecmp;
                                         |         /* str.no_user_rc */
    0x0000aec4 addiu a1, a1, 0x1318      |         a1 += 0x1318;
    0x0000aec8 move a0, s0               |         a0 = s0;
    0x0000aecc jalr t9                   |         t9 ();
    0x0000aed0 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000aed4 bnez v0, 0xaf7c           |             goto label_179;
                                         |         }
    0x0000aed8 lw v1, -0x7fcc(gp)        |         v1 = *((gp - 8179));
    0x0000aedc addiu a0, zero, -0x11     |         a0 = -0x11;
    0x0000aee0 lw v0, 0x404c(v1)         |         v0 = *((v1 + 4115));
    0x0000aee4 and v0, v0, a0            |         v0 &= a0;
    0x0000aee8 sw v0, 0x404c(v1)         |         *((v1 + 4115)) = v0;
    0x0000aeec b 0x9350                  |         goto label_0;
                                         | label_136:
    0x0000aef0 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
    0x0000aef4 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
                                         |         /* str.Public_key__s_doesnt_match_private__s */
    0x0000aef8 addiu v0, v0, 0xf8c       |         v0 += 0xf8c;
    0x0000aefc lw t9, -0x7fac(gp)        |         t9 = sym.sshlog;
    0x0000af00 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000af04 addiu s2, s2, 0x513c      |         s2 += 0x513c;
    0x0000af08 addiu v0, zero, 2         |         v0 = 2;
    0x0000af0c sw s3, 0x20(sp)           |         *(var_20h) = s3;
    0x0000af10 sw s2, 0x1c(sp)           |         *(var_1ch) = s2;
    0x0000af14 sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x0000af18 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000af1c move a3, zero             |         a3 = 0;
    0x0000af20 addiu a2, zero, 0x9b6     |         a2 = 0x9b6;
                                         |         /* str.load_sign_key */
    0x0000af24 addiu a1, a1, 0x1dc4      |         a1 += 0x1dc4;
                                         |         /* str.ssh_keygen.c */
    0x0000af28 addiu a0, s7, -0xe90      |         a0 = s7 + -0xe90;
    0x0000af2c jalr t9                   |         t9 ();
    0x0000af30 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000af34 b 0xad80                  |         
                                         |     } while (1);
                                         | label_135:
    0x0000af38 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000af3c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     /* str.Couldnt_load_identity__s */
    0x0000af40 addiu v0, v0, 0xf70       |     v0 += 0xf70;
    0x0000af44 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000af48 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000af4c addiu s2, s2, 0x513c      |     s2 += 0x513c;
    0x0000af50 addiu v0, zero, 2         |     v0 = 2;
    0x0000af54 sw s2, 0x1c(sp)           |     *(var_1ch) = s2;
    0x0000af58 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000af5c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000af60 move a3, zero             |     a3 = 0;
    0x0000af64 addiu a2, zero, 0x9b1     |     a2 = 0x9b1;
                                         |     /* str.load_sign_key */
    0x0000af68 addiu a1, a1, 0x1dc4      |     a1 += 0x1dc4;
                                         |     /* str.ssh_keygen.c */
    0x0000af6c addiu a0, s7, -0xe90      |     a0 = s7 + -0xe90;
    0x0000af70 jalr t9                   |     t9 ();
    0x0000af74 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000af78 b 0xad80                  |     goto label_29;
                                         | label_179:
    0x0000af7c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000af80 lw t9, -0x776c(gp)        |     t9 = sym.imp.strcasecmp;
                                         |     /* str.permit_user_rc */
    0x0000af84 addiu a1, a1, -0x90c      |     a1 += -0x90c;
    0x0000af88 move a0, s0               |     a0 = s0;
    0x0000af8c jalr t9                   |     t9 ();
    0x0000af90 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000af94 bnez v0, 0xb228           |         goto label_180;
                                         |     }
    0x0000af98 lw v1, -0x7fcc(gp)        |     v1 = *((gp - 8179));
    0x0000af9c lw v0, 0x404c(v1)         |     v0 = *((v1 + 4115));
    0x0000afa0 ori v0, v0, 0x10          |     v0 |= 0x10;
    0x0000afa4 sw v0, 0x404c(v1)         |     *((v1 + 4115)) = v0;
    0x0000afa8 b 0x9350                  |     goto label_0;
                                         | label_159:
    0x0000afac lw t9, -0x7f5c(gp)        |     t9 = sym.sshkey_fingerprint;
    0x0000afb0 lw a0, 0xec(sp)           |     a0 = *(var_ech);
    0x0000afb4 lw a1, 0x405c(s1)         |     a1 = *((s1 + 4119));
    0x0000afb8 move a2, zero             |     a2 = 0;
    0x0000afbc bal 0x1eef8               |     sym_sshkey_fingerprint ();
    0x0000afc0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000afc4 lw a1, 0x405c(s1)         |     a1 = *((s1 + 4119));
    0x0000afc8 lw a0, 0xec(sp)           |     a0 = *(var_ech);
    0x0000afcc lw t9, -0x7f5c(gp)        |     t9 = sym.sshkey_fingerprint;
    0x0000afd0 addiu a2, zero, 4         |     a2 = 4;
    0x0000afd4 move s1, v0               |     s1 = v0;
    0x0000afd8 bal 0x1eef8               |     sym_sshkey_fingerprint ();
    0x0000afdc move s5, v0               |     s5 = v0;
    0x0000afe0 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (s1 == 0) {
    0x0000afe4 beqz s1, 0xb2c8           |         goto label_181;
                                         |     }
    0x0000afe8 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     if (v0 == 0) {
    0x0000afec beqz v0, 0xb2c8           |         goto label_181;
                                         |     }
    0x0000aff0 lw t9, -0x74e8(gp)        |     t9 = sym.imp.__printf_chk
    0x0000aff4 addiu a2, s2, 0x513c      |     a2 = s2 + 0x513c;
                                         |     /* str.Your_public_key_has_been_saved_in__s_n */
    0x0000aff8 addiu a1, a1, 0x187c      |     a1 += 0x187c;
    0x0000affc addiu a0, zero, 1         |     a0 = 1;
    0x0000b000 jalr t9                   |     t9 ();
    0x0000b004 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b008 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000b00c lw t9, -0x786c(gp)        |     t9 = sym.imp.puts;
                                         |     /* str.The_key_fingerprint_is: */
    0x0000b010 addiu a0, a0, 0x18a4      |     a0 += 0x18a4;
    0x0000b014 jalr t9                   |     t9 ();
    0x0000b018 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b01c move a3, s4               |     a3 = s4;
    0x0000b020 move a2, s1               |     a2 = s1;
    0x0000b024 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000b028 lw t9, -0x74e8(gp)        |     t9 = sym.imp.__printf_chk
                                         |     /* esilref: '&s &s
' */
    0x0000b02c addiu a1, a1, 0x248       |     a1 += aav.0x00000248;
    0x0000b030 addiu a0, zero, 1         |     a0 = 1;
    0x0000b034 jalr t9                   |     t9 ();
    0x0000b038 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b03c lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000b040 lw t9, -0x786c(gp)        |     t9 = sym.imp.puts;
                                         |     /* str.The_keys_randomart_image_is: */
    0x0000b044 addiu a0, a0, 0x18bc      |     a0 += 0x18bc;
    0x0000b048 jalr t9                   |     t9 ();
    0x0000b04c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b050 lw t9, -0x786c(gp)        |     t9 = sym.imp.puts;
    0x0000b054 move a0, s5               |     a0 = s5;
    0x0000b058 jalr t9                   |     t9 ();
    0x0000b05c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b060 lw t9, -0x75e4(gp)        |     t9 = sym.imp.free;
    0x0000b064 move a0, s5               |     a0 = s5;
    0x0000b068 jalr t9                   |     t9 ();
    0x0000b06c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b070 lw t9, -0x75e4(gp)        |     t9 = sym.imp.free;
    0x0000b074 move a0, s1               |     a0 = s1;
    0x0000b078 jalr t9                   |     t9 ();
    0x0000b07c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b080 b 0xa6e8                  |     goto label_30;
                                         | label_100:
    0x0000b084 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
                                         |     /* fcn.000139e0 */
    0x0000b088 addiu t9, t9, 0x39e0      |     t9 += 0x39e0;
    0x0000b08c lw a0, 0xac(sp)           |     a0 = *(var_ach);
    0x0000b090 bal 0x139e0               |     fcn_000139e0 ();
                                         | label_155:
    0x0000b094 lw v0, 0xc0(sp)           |     v0 = *(var_c0h);
    0x0000b098 lw t9, -0x78c8(gp)        |     t9 = sym.imp.__snprintf_chk
    0x0000b09c addiu v0, v0, 0x4cf4      |     v0 += 0x4cf4;
    0x0000b0a0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b0a4 lw v0, 0xac(sp)           |     v0 = *(var_ach);
    0x0000b0a8 addiu s4, sp, 0x194       |     s4 = sp + aav.0x00000194;
    0x0000b0ac addiu a3, zero, 0x400     |     a3 = 0x400;
    0x0000b0b0 lw v0, (v0)               |     v0 = *(v0);
    0x0000b0b4 addiu a2, zero, 1         |     a2 = 1;
    0x0000b0b8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000b0bc lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b0c0 addiu a1, zero, 0x400     |     a1 = 0x400;
                                         |     /* esilref: '&s@&s' */
    0x0000b0c4 addiu v0, v0, 0x800       |     v0 += 0x800;
    0x0000b0c8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b0cc move a0, s4               |     a0 = s4;
    0x0000b0d0 jalr t9                   |     t9 ();
    0x0000b0d4 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b0d8 b 0xa61c                  |     goto label_31;
                                         | label_156:
    0x0000b0dc lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000b0e0 move a0, v0               |     a0 = v0;
    0x0000b0e4 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000b0e8 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b0ec sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000b0f0 addiu s2, s2, 0x513c      |     s2 += 0x513c;
    0x0000b0f4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b0f8 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000b0fc lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.Saving_key___s__failed */
    0x0000b100 addiu v0, v0, 0x3d8       |     v0 += aav.0x000003d8;
    0x0000b104 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000b108 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b10c addiu v0, zero, 2         |     v0 = 2;
    0x0000b110 move a3, zero             |     a3 = 0;
    0x0000b114 addiu a2, zero, 0xe5c     |     a2 = 0xe5c;
                                         |     /* str.main */
    0x0000b118 addiu a1, a1, 0x1e1c      |     a1 += 0x1e1c;
                                         |     /* str.ssh_keygen.c */
    0x0000b11c addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000b120 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b124 sw s2, 0x1c(sp)           |     *(var_1ch) = s2;
    0x0000b128 jalr t9                   |     t9 ();
    0x0000b12c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b130 lw t9, -0x76e4(gp)        |     t9 = sym.imp.strlen;
    0x0000b134 move a0, s1               |     a0 = s1;
    0x0000b138 jalr t9                   |     t9 ();
    0x0000b13c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b140 move a0, s1               |     a0 = s1;
    0x0000b144 lw t9, -0x7fc4(gp)        |     t9 = sym.freezero;
    0x0000b148 move a1, v0               |     a1 = v0;
    0x0000b14c jalr t9                   |     t9 ();
    0x0000b150 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         | label_154:
    0x0000b154 lw t9, -0x7954(gp)        |     t9 = sym.imp.exit;
    0x0000b158 addiu a0, zero, 1         |     a0 = 1;
    0x0000b15c jalr t9                   |     t9 ();
                                         | label_153:
    0x0000b160 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
    0x0000b164 lw v0, 0xac(sp)           |     v0 = *(var_ach);
    0x0000b168 addiu a1, a1, 0x182c      |     a1 += 0x182c;
                                         |     /* fcn.00011910 */
    0x0000b16c addiu t9, t9, 0x1910      |     t9 += 0x1910;
    0x0000b170 addiu a0, v0, 0x14        |     a0 = v0 + 0x14;
    0x0000b174 bal 0x11910               |     fcn_00011910 ();
    0x0000b178 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b17c b 0xa5ac                  |     goto label_32;
                                         | label_152:
    0x0000b180 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000b184 move a0, v0               |     a0 = v0;
    0x0000b188 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000b18c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b190 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000b194 addiu v0, zero, 1         |     v0 = 1;
    0x0000b198 lw v1, -0x7fdc(gp)        |     v1 = *(gp);
    0x0000b19c sw v0, 0x10(sp)           |     *(var_10h) = v0;
                                         |     /* str.sshkey_from_private */
    0x0000b1a0 addiu v1, v1, 0x3f0       |     v1 += 0x3f0;
    0x0000b1a4 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
    0x0000b1a8 sw v1, 0x18(sp)           |     *(var_18h) = v1;
    0x0000b1ac move a3, zero             |     a3 = 0;
    0x0000b1b0 addiu a2, zero, 0xe44     |     a2 = aav.0x00000e44;
    0x0000b1b4 b 0x9fa8                  |     goto label_19;
                                         | label_157:
    0x0000b1b8 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000b1bc lw t9, -0x74e8(gp)        |     t9 = sym.imp.__printf_chk
    0x0000b1c0 addiu a2, s2, 0x513c      |     a2 = s2 + 0x513c;
                                         |     /* str.Your_identification_has_been_saved_in__s_n */
    0x0000b1c4 addiu a1, a1, 0x1850      |     a1 += 0x1850;
    0x0000b1c8 addiu a0, zero, 1         |     a0 = 1;
    0x0000b1cc jalr t9                   |     t9 ();
    0x0000b1d0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b1d4 b 0xa6a0                  |     goto label_33;
                                         | label_158:
    0x0000b1d8 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000b1dc move a0, v0               |     a0 = v0;
    0x0000b1e0 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000b1e4 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b1e8 addiu s2, s2, 0x513c      |     s2 += 0x513c;
    0x0000b1ec sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000b1f0 lw v1, -0x7fdc(gp)        |     v1 = *(gp);
    0x0000b1f4 addiu v0, zero, 1         |     v0 = 1;
                                         |     /* str.Unable_to_save_public_key_to__s */
    0x0000b1f8 addiu v1, v1, -0x150      |     v1 += -aav.0x00000150;
    0x0000b1fc lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
    0x0000b200 sw s2, 0x1c(sp)           |     *(var_1ch) = s2;
    0x0000b204 sw v1, 0x18(sp)           |     *(var_18h) = v1;
    0x0000b208 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b20c move a3, zero             |     a3 = 0;
    0x0000b210 addiu a2, zero, 0xe6a     |     a2 = 0xe6a;
                                         |     do {
                                         | label_40:
    0x0000b214 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x0000b218 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
                                         |         /* str.main */
    0x0000b21c addiu a1, a1, 0x1e1c      |         a1 += 0x1e1c;
                                         |         /* str.ssh_keygen.c */
    0x0000b220 addiu a0, a0, -0xe90      |         a0 += -0xe90;
    0x0000b224 jalr t9                   |         t9 ();
                                         | label_180:
    0x0000b228 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x0000b22c lw t9, -0x776c(gp)        |         t9 = sym.imp.strcasecmp;
                                         |         /* str.touch_required */
    0x0000b230 addiu a1, a1, 0x1324      |         a1 += 0x1324;
    0x0000b234 move a0, s0               |         a0 = s0;
    0x0000b238 jalr t9                   |         t9 ();
    0x0000b23c lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 == 0) {
    0x0000b240 bnez v0, 0xb390           |             
    0x0000b244 lw v1, -0x7fcc(gp)        |             v1 = *((gp - 8179));
    0x0000b248 addiu a0, zero, -0x21     |             a0 = -0x21;
    0x0000b24c lw v0, 0x404c(v1)         |             v0 = *((v1 + 4115));
    0x0000b250 and v0, v0, a0            |             v0 &= a0;
    0x0000b254 sw v0, 0x404c(v1)         |             *((v1 + 4115)) = v0;
    0x0000b258 b 0x9350                  |             goto label_0;
                                         | label_115:
    0x0000b25c lw v0, -0x7fdc(gp)        |             v0 = *(gp);
    0x0000b260 lw t9, -0x7fbc(gp)        |             t9 = sym.sshfatal;
                                         |             /* str.Cannot_download_keys_without_provider */
    0x0000b264 addiu v0, v0, 0x146c      |             v0 += 0x146c;
    0x0000b268 sw v0, 0x18(sp)           |             *(var_18h) = v0;
    0x0000b26c addiu v0, zero, 1         |             v0 = 1;
    0x0000b270 sw zero, 0x14(sp)         |             *(var_14h) = 0;
    0x0000b274 sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x0000b278 move a3, zero             |             a3 = 0;
    0x0000b27c addiu a2, zero, 0xb91     |             a2 = 0xb91;
                                         | label_44:
    0x0000b280 lw a1, -0x7fdc(gp)        |             a1 = *(gp);
    0x0000b284 lw a0, -0x7fdc(gp)        |             a0 = *(gp);
                                         |             /* str.do_download_sk */
    0x0000b288 addiu a1, a1, 0x1c88      |             a1 += aav.0x00001c88;
                                         |             /* str.ssh_keygen.c */
    0x0000b28c addiu a0, a0, -0xe90      |             a0 += -0xe90;
    0x0000b290 jalr t9                   |             t9 ();
                                         | label_98:
    0x0000b294 lw t9, -0x7f2c(gp)        |             t9 = *(gp);
                                         |             /* fcn.00012920 */
    0x0000b298 addiu t9, t9, 0x2920      |             t9 += 0x2920;
    0x0000b29c lw a0, 0xac(sp)           |             a0 = *(var_ach);
    0x0000b2a0 bal 0x12920               |             fcn_00012920 ();
                                         | label_97:
    0x0000b2a4 lw t9, -0x7f2c(gp)        |             t9 = *(gp);
                                         |             /* fcn.00012fe0 */
    0x0000b2a8 addiu t9, t9, 0x2fe0      |             t9 += 0x2fe0;
    0x0000b2ac lw a0, 0xac(sp)           |             a0 = *(var_ach);
    0x0000b2b0 bal 0x12fe0               |             fcn_00012fe0 ();
                                         | label_99:
    0x0000b2b4 lw t9, -0x7f2c(gp)        |             t9 = *(gp);
    0x0000b2b8 lw a1, 0x70(sp)           |             a1 = *(var_70h);
                                         |             /* fcn.00012284 */
    0x0000b2bc addiu t9, t9, 0x2284      |             t9 += 0x2284;
    0x0000b2c0 lw a0, 0xac(sp)           |             a0 = *(var_ach);
    0x0000b2c4 bal 0x12284               |             fcn_00012284 ();
                                         | label_181:
    0x0000b2c8 lw v0, -0x7fdc(gp)        |             v0 = *(gp);
    0x0000b2cc lw t9, -0x7fbc(gp)        |             t9 = sym.sshfatal;
                                         |             /* str.sshkey_fingerprint_failed */
    0x0000b2d0 addiu v0, v0, -0xab0      |             v0 += -0xab0;
    0x0000b2d4 sw v0, 0x18(sp)           |             *(var_18h) = v0;
    0x0000b2d8 addiu v0, zero, 1         |             v0 = 1;
    0x0000b2dc sw zero, 0x14(sp)         |             *(var_14h) = 0;
    0x0000b2e0 sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x0000b2e4 move a3, zero             |             a3 = 0;
    0x0000b2e8 addiu a2, zero, 0xe72     |             a2 = 0xe72;
    0x0000b2ec b 0x9fa8                  |             goto label_19;
                                         | label_161:
    0x0000b2f0 lw t9, -0x7fd0(gp)        |             t9 = sym.ssh_err;
    0x0000b2f4 move a0, s1               |             a0 = s1;
    0x0000b2f8 bal 0x1b0f0               |             sym_ssh_err ();
    0x0000b2fc lw gp, 0x30(sp)           |             gp = *(var_30h);
    0x0000b300 sw v0, 0x14(sp)           |             *(var_14h) = v0;
    0x0000b304 addiu v0, zero, 1         |             v0 = 1;
    0x0000b308 lw v1, -0x7fdc(gp)        |             v1 = *(gp);
    0x0000b30c lw a1, -0x7fdc(gp)        |             a1 = *(gp);
    0x0000b310 lw a0, -0x7fdc(gp)        |             a0 = *(gp);
                                         |             /* str.Unable_to_write_attestation_data___s_ */
    0x0000b314 addiu v1, v1, 0x1908      |             v1 += 0x1908;
    0x0000b318 lw t9, -0x7fbc(gp)        |             t9 = sym.sshfatal;
    0x0000b31c sw s3, 0x1c(sp)           |             *(var_1ch) = s3;
    0x0000b320 sw v1, 0x18(sp)           |             *(var_18h) = v1;
    0x0000b324 sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x0000b328 move a3, zero             |             a3 = 0;
    0x0000b32c addiu a2, zero, 0xbf2     |             a2 = 0xbf2;
                                         |             /* str.save_attestation */
    0x0000b330 addiu a1, a1, 0x1aa0      |             a1 += 0x1aa0;
                                         |             /* str.ssh_keygen.c */
    0x0000b334 addiu a0, a0, -0xe90      |             a0 += -0xe90;
    0x0000b338 jalr t9                   |             t9 ();
                                         | label_160:
    0x0000b33c lw v0, -0x7fdc(gp)        |             v0 = *(gp);
    0x0000b340 lw a1, -0x7fdc(gp)        |             a1 = *(gp);
                                         |             /* str.Enrollment_did_not_return_attestation_data */
    0x0000b344 addiu v0, v0, 0x18dc      |             v0 += 0x18dc;
    0x0000b348 lw a0, -0x7fdc(gp)        |             a0 = *(gp);
    0x0000b34c sw v0, 0x18(sp)           |             *(var_18h) = v0;
    0x0000b350 lw t9, -0x7fbc(gp)        |             t9 = sym.sshfatal;
    0x0000b354 addiu v0, zero, 1         |             v0 = 1;
    0x0000b358 sw zero, 0x14(sp)         |             *(var_14h) = 0;
    0x0000b35c sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x0000b360 move a3, zero             |             a3 = 0;
    0x0000b364 addiu a2, zero, 0xbed     |             a2 = 0xbed;
                                         |             /* str.save_attestation */
    0x0000b368 addiu a1, a1, 0x1aa0      |             a1 += 0x1aa0;
                                         |             /* str.ssh_keygen.c */
    0x0000b36c addiu a0, a0, -0xe90      |             a0 += -0xe90;
    0x0000b370 jalr t9                   |             t9 ();
                                         | label_162:
    0x0000b374 lw t9, -0x74e8(gp)        |             t9 = sym.imp.__printf_chk
    0x0000b378 move a2, s3               |             a2 = s3;
    0x0000b37c addiu a1, a1, 0x1930      |             a1 += 0x1930;
    0x0000b380 addiu a0, zero, 1         |             a0 = 1;
    0x0000b384 jalr t9                   |             t9 ();
    0x0000b388 lw gp, 0x30(sp)           |             gp = *(var_30h);
    0x0000b38c b 0xa758                  |             goto label_34;
                                         |         }
    0x0000b390 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x0000b394 lw t9, -0x776c(gp)        |         t9 = sym.imp.strcasecmp;
                                         |         /* str.no_touch_required */
    0x0000b398 addiu a1, a1, -0x8fc      |         a1 += -0x8fc;
    0x0000b39c move a0, s0               |         a0 = s0;
    0x0000b3a0 jalr t9                   |         t9 ();
    0x0000b3a4 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000b3a8 bnez v0, 0xc024           |             goto label_182;
                                         |         }
    0x0000b3ac lw v1, -0x7fcc(gp)        |         v1 = *((gp - 8179));
    0x0000b3b0 lw v0, 0x404c(v1)         |         v0 = *((v1 + 4115));
    0x0000b3b4 ori v0, v0, 0x20          |         v0 |= 0x20;
    0x0000b3b8 sw v0, 0x404c(v1)         |         *((v1 + 4115)) = v0;
    0x0000b3bc b 0x9350                  |         goto label_0;
                                         | label_114:
    0x0000b3c0 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
    0x0000b3c4 lw t9, -0x7fbc(gp)        |         t9 = sym.sshfatal;
                                         |         /* str.Option___s__is_unsupported_for_FIDO_authenticator_download */
    0x0000b3c8 addiu v0, v0, 0x1430      |         v0 += 0x1430;
    0x0000b3cc sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000b3d0 addiu v0, zero, 1         |         v0 = 1;
    0x0000b3d4 sw s0, 0x1c(sp)           |         *(var_1ch) = s0;
    0x0000b3d8 sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x0000b3dc sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000b3e0 move a3, zero             |         a3 = 0;
    0x0000b3e4 addiu a2, zero, 0xd9c     |         a2 = 0xd9c;
    0x0000b3e8 b 0xb214                  |         
                                         |     } while (1);
                                         | label_176:
    0x0000b3ec move a0, v0               |     a0 = v0;
    0x0000b3f0 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000b3f4 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b3f8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000b3fc addiu v0, zero, 1         |     v0 = 1;
    0x0000b400 lw v1, -0x7fdc(gp)        |     v1 = *(gp);
    0x0000b404 sw v0, 0x10(sp)           |     *(var_10h) = v0;
                                         |     /* str.Key_enrollment_failed */
    0x0000b408 addiu v1, v1, 0x179c      |     v1 += 0x179c;
    0x0000b40c lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
    0x0000b410 sw v1, 0x18(sp)           |     *(var_18h) = v1;
    0x0000b414 move a3, zero             |     a3 = 0;
    0x0000b418 addiu a2, zero, 0xe29     |     a2 = 0xe29;
    0x0000b41c b 0x9fa8                  |     goto label_19;
                                         | label_175:
    0x0000b420 lw t9, -0x76e4(gp)        |     t9 = sym.imp.strlen;
                                         |     if (s7 == 0) {
    0x0000b424 beqz s7, 0xa584           |         goto label_35;
                                         |     }
    0x0000b428 move a0, s7               |     a0 = s7;
    0x0000b42c jalr t9                   |     t9 ();
    0x0000b430 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b434 move a1, v0               |     a1 = v0;
    0x0000b438 lw t9, -0x7fc4(gp)        |     t9 = sym.freezero;
    0x0000b43c move a0, s7               |     a0 = s7;
    0x0000b440 jalr t9                   |     t9 ();
    0x0000b444 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b448 b 0xa584                  |     goto label_35;
                                         | label_174:
    0x0000b44c lw t9, -0x7fc0(gp)        |     t9 = sym.read_passphrase;
    0x0000b450 addiu a1, zero, 2         |     a1 = 2;
                                         |     /* str.Enter_PIN_for_authenticator:_ */
    0x0000b454 addiu a0, a0, 0x1494      |     a0 += 0x1494;
    0x0000b458 jalr t9                   |     t9 ();
    0x0000b45c move s7, v0               |     s7 = v0;
    0x0000b460 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b464 b 0xaab0                  |     goto label_36;
                                         | label_173:
    0x0000b468 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b46c lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.sshbuf_new_failed */
    0x0000b470 addiu v0, v0, -0xe5c      |     v0 += -0xe5c;
    0x0000b474 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b478 addiu v0, zero, 1         |     v0 = 1;
    0x0000b47c sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b480 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b484 move a3, zero             |     a3 = 0;
    0x0000b488 addiu a2, zero, 0xe18     |     a2 = 0xe18;
    0x0000b48c b 0x9fa8                  |     goto label_19;
                                         | label_172:
    0x0000b490 lw t9, -0x786c(gp)        |     t9 = sym.imp.puts;
                                         |     /* str.You_may_need_to_touch_your_authenticator_to_authorize_key_generation. */
    0x0000b494 addiu a0, a0, 0x1754      |     a0 += 0x1754;
    0x0000b498 jalr t9                   |     t9 ();
    0x0000b49c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b4a0 b 0xaa8c                  |     goto label_37;
                                         | label_151:
    0x0000b4a4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b4a8 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.sshkey_generate_failed */
    0x0000b4ac addiu v0, v0, 0x7e8       |     v0 += 0x7e8;
    0x0000b4b0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b4b4 addiu v0, zero, 1         |     v0 = 1;
    0x0000b4b8 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b4bc sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b4c0 move a3, zero             |     a3 = 0;
    0x0000b4c4 addiu a2, zero, 0xe40     |     a2 = 0xe40;
    0x0000b4c8 b 0x9fa8                  |     goto label_19;
                                         | label_148:
    0x0000b4cc lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000b4d0 lw t9, -0x74e8(gp)        |     t9 = sym.imp.__printf_chk
    0x0000b4d4 lw a2, 0x510c(s0)         |     a2 = *((s0 + 5187));
                                         |     /* str.Generating_public_private__s_key_pair._n */
    0x0000b4d8 addiu a1, a1, 0x1638      |     a1 += aav.0x00001638;
    0x0000b4dc addiu a0, zero, 1         |     a0 = 1;
    0x0000b4e0 jalr t9                   |     t9 ();
    0x0000b4e4 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b4e8 b 0xa54c                  |     goto label_38;
                                         |     /* esilref: 'rsa' */
                                         | label_147:
    0x0000b4ec addiu v0, v0, 0x3590      |     v0 += 0x3590;
    0x0000b4f0 sw v0, 0x510c(s0)         |     *((s0 + 5187)) = v0;
    0x0000b4f4 b 0xa50c                  |     goto label_39;
                                         | label_117:
    0x0000b4f8 lw t9, -0x76e4(gp)        |     t9 = sym.imp.strlen;
                                         |     if (s1 != 0) {
    0x0000b4fc beqz s1, 0xb520           |         
    0x0000b500 move a0, s1               |         a0 = s1;
    0x0000b504 jalr t9                   |         t9 ();
    0x0000b508 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000b50c move a1, v0               |         a1 = v0;
    0x0000b510 lw t9, -0x7fc4(gp)        |         t9 = sym.freezero;
    0x0000b514 move a0, s1               |         a0 = s1;
    0x0000b518 jalr t9                   |         t9 ();
    0x0000b51c lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |     }
    0x0000b520 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000b524 move a0, s0               |     a0 = s0;
    0x0000b528 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000b52c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b530 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000b534 addiu v0, zero, 2         |     v0 = 2;
    0x0000b538 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000b53c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     /* str.Unable_to_load_resident_keys */
    0x0000b540 addiu a0, a0, 0x14f8      |     a0 += aav.0x000014f8;
    0x0000b544 sw a0, 0x18(sp)           |     *(var_18h) = a0;
    0x0000b548 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000b54c lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000b550 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b554 move a3, zero             |     a3 = 0;
    0x0000b558 addiu a2, zero, 0xb9c     |     a2 = 0xb9c;
                                         |     /* str.do_download_sk */
    0x0000b55c addiu a1, a1, 0x1c88      |     a1 += aav.0x00001c88;
                                         |     /* str.ssh_keygen.c */
    0x0000b560 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000b564 jalr t9                   |     t9 ();
    0x0000b568 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b56c sw s4, 0x48(sp)           |     *(var_48h) = s4;
    0x0000b570 b 0x90f4                  |     goto label_1;
                                         |     /* fcn.00014194 */
                                         | label_146:
    0x0000b574 addiu t9, t9, 0x4194      |     t9 += 0x4194;
    0x0000b578 lw a0, 0xac(sp)           |     a0 = *(var_ach);
    0x0000b57c bal 0x14194               |     fcn_00014194 ();
    0x0000b580 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b584 b 0x90f4                  |     goto label_1;
                                         | label_129:
    0x0000b588 addiu s2, s2, 0x513c      |     s2 += 0x513c;
                                         |     /* str.KRL___s__does_not_exist */
    0x0000b58c addiu v0, v0, 0x11f4      |     v0 += 0x11f4;
    0x0000b590 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b594 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
    0x0000b598 addiu v0, zero, 1         |     v0 = 1;
    0x0000b59c sw s2, 0x1c(sp)           |     *(var_1ch) = s2;
    0x0000b5a0 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b5a4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b5a8 move a3, zero             |     a3 = 0;
    0x0000b5ac addiu a2, zero, 0x957     |     a2 = 0x957;
                                         | label_50:
    0x0000b5b0 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000b5b4 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.do_gen_krl */
    0x0000b5b8 addiu a1, a1, 0x1d90      |     a1 += 0x1d90;
                                         |     /* str.ssh_keygen.c */
    0x0000b5bc addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000b5c0 jalr t9                   |     t9 ();
                                         | label_128:
    0x0000b5c4 lw t9, -0x7454(gp)        |     t9 = sym.imp.strerror;
    0x0000b5c8 addiu s2, s2, 0x513c      |     s2 += 0x513c;
    0x0000b5cc jalr t9                   |     t9 ();
    0x0000b5d0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b5d4 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x0000b5d8 sw s2, 0x1c(sp)           |     *(var_1ch) = s2;
    0x0000b5dc lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b5e0 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.Cannot_access_KRL___s_:__s */
    0x0000b5e4 addiu v0, v0, 0x11d8      |     v0 += 0x11d8;
    0x0000b5e8 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b5ec addiu v0, zero, 1         |     v0 = 1;
    0x0000b5f0 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b5f4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b5f8 move a3, zero             |     a3 = 0;
    0x0000b5fc addiu a2, zero, 0x955     |     a2 = 0x955;
                                         | label_49:
    0x0000b600 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000b604 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.do_gen_krl */
    0x0000b608 addiu a1, a1, 0x1d90      |     a1 += 0x1d90;
                                         |     /* str.ssh_keygen.c */
    0x0000b60c addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000b610 jalr t9                   |     t9 ();
                                         | label_102:
    0x0000b614 addiu t9, t9, 0x2da8      |     t9 += 0x2da8;
    0x0000b618 lw a0, 0xac(sp)           |     a0 = *(var_ach);
    0x0000b61c bal 0x12da8               |     fcn_00012da8 ();
                                         | label_101:
    0x0000b620 addiu t9, t9, 0x587c      |     t9 += 0x587c;
    0x0000b624 lw a0, 0xac(sp)           |     a0 = *(var_ach);
    0x0000b628 bal 0x1587c               |     fcn_0001587c ();
                                         | label_93:
    0x0000b62c lw t9, -0x7f2c(gp)        |     t9 = *(gp);
                                         |     /* fcn.00011b30 */
    0x0000b630 addiu t9, t9, 0x1b30      |     t9 += 0x1b30;
    0x0000b634 lw a0, 0xac(sp)           |     a0 = *(var_ach);
    0x0000b638 bal 0x11b30               |     fcn_00011b30 ();
                                         | label_105:
    0x0000b63c lw t9, -0x7418(gp)        |     t9 = sym.imp.__errno_location;
    0x0000b640 addiu s0, s0, 0x513c      |     s0 += 0x513c;
    0x0000b644 jalr t9                   |     t9 ();
    0x0000b648 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b64c lw t9, -0x7454(gp)        |     t9 = sym.imp.strerror;
    0x0000b650 lw a0, (v0)               |     a0 = *(v0);
    0x0000b654 jalr t9                   |     t9 ();
    0x0000b658 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b65c sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x0000b660 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x0000b664 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b668 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* esilref: '&s: &s' */
    0x0000b66c addiu v0, v0, 0x1c0       |     v0 += aav.0x000001c0;
    0x0000b670 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b674 addiu v0, zero, 1         |     v0 = 1;
    0x0000b678 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b67c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b680 move a3, zero             |     a3 = 0;
    0x0000b684 addiu a2, zero, 0xdb9     |     a2 = 0xdb9;
    0x0000b688 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000b68c lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.main */
    0x0000b690 addiu a1, a1, 0x1e1c      |     a1 += 0x1e1c;
                                         |     /* str.ssh_keygen.c */
    0x0000b694 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000b698 jalr t9                   |     t9 ();
                                         | label_59:
    0x0000b69c lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000b6a0 addiu v0, v0, 0xdd4       |     v0 += 0xdd4;
    0x0000b6a4 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b6a8 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000b6ac addiu v0, zero, 2         |     v0 = 2;
                                         |     /* str.ssh_keygen.c */
    0x0000b6b0 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000b6b4 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b6b8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b6bc move a3, zero             |     a3 = 0;
    0x0000b6c0 addiu a2, zero, 0xd33     |     a2 = 0xd33;
                                         |     do {
                                         | label_41:
    0x0000b6c4 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
                                         |         /* str.main */
    0x0000b6c8 addiu a1, a1, 0x1e1c      |         a1 += 0x1e1c;
    0x0000b6cc jalr t9                   |         t9 ();
    0x0000b6d0 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000b6d4 lw t9, -0x7954(gp)        |         t9 = sym.imp.exit;
    0x0000b6d8 addiu a0, zero, 1         |         a0 = 1;
    0x0000b6dc jalr t9                   |         t9 ();
                                         | label_54:
    0x0000b6e0 lw t9, -0x7418(gp)        |         t9 = sym.imp.__errno_location;
    0x0000b6e4 jalr t9                   |         t9 ();
    0x0000b6e8 nop                       |         
    0x0000b6ec lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000b6f0 lw t9, -0x7454(gp)        |         t9 = sym.imp.strerror;
    0x0000b6f4 lw a0, (v0)               |         a0 = *(v0);
    0x0000b6f8 jalr t9                   |         t9 ();
    0x0000b6fc lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000b700 sw v0, 0x1c(sp)           |         *(var_1ch) = v0;
    0x0000b704 sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x0000b708 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
    0x0000b70c lw t9, -0x7fbc(gp)        |         t9 = sym.sshfatal;
                                         |         /* str.gethostname:__s */
    0x0000b710 addiu v0, v0, 0xb5c       |         v0 += 0xb5c;
    0x0000b714 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000b718 addiu v0, zero, 1         |         v0 = 1;
    0x0000b71c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000b720 move a3, zero             |         a3 = 0;
    0x0000b724 addiu a2, zero, 0xc57     |         a2 = 0xc57;
    0x0000b728 b 0xb214                  |         goto label_40;
                                         | label_53:
    0x0000b72c lw t9, -0x774c(gp)        |         t9 = sym.imp.getuid;
    0x0000b730 jalr t9                   |         t9 ();
    0x0000b734 nop                       |         
    0x0000b738 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000b73c sw v0, 0x1c(sp)           |         *(var_1ch) = v0;
    0x0000b740 sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x0000b744 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
    0x0000b748 lw t9, -0x7fbc(gp)        |         t9 = sym.sshfatal;
                                         |         /* str.No_user_exists_for_uid__lu */
    0x0000b74c addiu v0, v0, 0xb40       |         v0 += 0xb40;
    0x0000b750 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000b754 addiu v0, zero, 1         |         v0 = 1;
    0x0000b758 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000b75c move a3, zero             |         a3 = 0;
    0x0000b760 addiu a2, zero, 0xc54     |         a2 = 0xc54;
    0x0000b764 b 0xb214                  |         goto label_40;
                                         | label_90:
    0x0000b7cc lw a0, -0x7fdc(gp)        |         a0 = *(gp);
                                         |         /* str.Too_few_arguments_for_verify:_missing_principal_ID */
    0x0000b7d0 addiu v0, v0, 0x10f0      |         v0 += 0x10f0;
    0x0000b7d4 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000b7d8 addiu v0, zero, 2         |         v0 = 2;
    0x0000b7dc lw t9, -0x7fac(gp)        |         t9 = sym.sshlog;
                                         |         /* str.ssh_keygen.c */
    0x0000b7e0 addiu a0, a0, -0xe90      |         a0 += -0xe90;
    0x0000b7e4 sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x0000b7e8 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000b7ec move a3, zero             |         a3 = 0;
    0x0000b7f0 addiu a2, zero, 0xd60     |         a2 = aav.0x00000d60;
    0x0000b7f4 b 0xb6c4                  |         
                                         |     } while (1);
                                         | label_89:
    0x0000b7f8 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b7fc lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.Too_few_arguments_for_sign:_missing_allowed_keys_file */
    0x0000b800 addiu v0, v0, 0x10b8      |     v0 += 0x10b8;
    0x0000b804 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b808 addiu v0, zero, 2         |     v0 = 2;
    0x0000b80c lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.ssh_keygen.c */
    0x0000b810 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000b814 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b818 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b81c move a3, zero             |     a3 = 0;
    0x0000b820 addiu a2, zero, 0xd5b     |     a2 = 0xd5b;
    0x0000b824 b 0xb6c4                  |     goto label_41;
                                         | label_88:
    0x0000b828 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b82c lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.Too_few_arguments_for_verify:_missing_signature_file */
    0x0000b830 addiu v0, v0, 0x1080      |     v0 += 0x1080;
    0x0000b834 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b838 addiu v0, zero, 2         |     v0 = 2;
    0x0000b83c lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.ssh_keygen.c */
    0x0000b840 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000b844 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b848 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b84c move a3, zero             |     a3 = 0;
    0x0000b850 addiu a2, zero, 0xd56     |     a2 = 0xd56;
    0x0000b854 b 0xb6c4                  |     goto label_41;
                                         | label_87:
    0x0000b858 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         | label_86:
    0x0000b85c lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.Too_few_arguments_for_verify:_missing_namespace */
    0x0000b860 addiu v0, v0, 0x1050      |     v0 += 0x1050;
    0x0000b864 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b868 addiu v0, zero, 2         |     v0 = 2;
    0x0000b86c lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.ssh_keygen.c */
    0x0000b870 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000b874 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b878 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b87c move a3, zero             |     a3 = 0;
    0x0000b880 addiu a2, zero, 0xd51     |     a2 = 0xd51;
    0x0000b884 b 0xb6c4                  |     goto label_41;
                                         | label_178:
    0x0000b888 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000b88c move a0, v0               |     a0 = v0;
    0x0000b890 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000b894 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b898 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000b89c addiu v0, zero, 2         |     v0 = 2;
    0x0000b8a0 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000b8a4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
                                         |     /* str.sshkey_to_certified */
    0x0000b8a8 addiu a0, a0, 0xfb4       |     a0 += 0xfb4;
    0x0000b8ac lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000b8b0 sw a0, 0x18(sp)           |     *(var_18h) = a0;
    0x0000b8b4 addiu a3, zero, 1         |     a3 = 1;
    0x0000b8b8 addiu a2, zero, 0x9bf     |     a2 = 0x9bf;
    0x0000b8bc b 0xad6c                  |     goto label_42;
                                         | label_171:
    0x0000b8c0 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000b8c4 lw t9, -0x7828(gp)        |     t9 = sym.imp.strncasecmp;
    0x0000b8c8 addiu a2, zero, 0xc       |     a2 = 0xc;
                                         |     /* str.application */
    0x0000b8cc addiu a1, a1, 0x16d4      |     a1 += 0x16d4;
    0x0000b8d0 move a0, s1               |     a0 = s1;
    0x0000b8d4 jalr t9                   |     t9 ();
    0x0000b8d8 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000b8dc bnez v0, 0xb998           |         goto label_183;
                                         |     }
    0x0000b8e0 lw t9, -0x7fc8(gp)        |     t9 = sym.xstrdup;
    0x0000b8e4 addiu a0, s1, 0xc         |     a0 = s1 + 0xc;
    0x0000b8e8 jalr t9                   |     t9 ();
    0x0000b8ec lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b8f0 addiu a2, zero, 4         |     a2 = 4;
    0x0000b8f4 move a0, v0               |     a0 = v0;
    0x0000b8f8 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000b8fc lw t9, -0x78ac(gp)        |     t9 = sym.imp.strncmp;
                                         |     /* str.ssh: */
    0x0000b900 addiu a1, a1, 0x1578      |     a1 += 0x1578;
    0x0000b904 move fp, v0               |     fp = v0;
    0x0000b908 jalr t9                   |     t9 ();
    0x0000b90c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000b910 beqz v0, 0xa990           |         goto label_43;
                                         |     }
    0x0000b914 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b918 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.FIDO_application_string_must_begin_with__ssh:_ */
    0x0000b91c addiu v0, v0, 0x16e4      |     v0 += 0x16e4;
    0x0000b920 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b924 addiu v0, zero, 1         |     v0 = 1;
    0x0000b928 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b92c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b930 move a3, zero             |     a3 = 0;
    0x0000b934 addiu a2, zero, 0xe0c     |     a2 = 0xe0c;
    0x0000b938 b 0x9fa8                  |     goto label_19;
                                         | label_170:
    0x0000b93c lw t9, -0x7f68(gp)        |     t9 = sym.sshbuf_load_file;
    0x0000b940 addiu a1, sp, 0xd0        |     a1 = sp + 0xd0;
    0x0000b944 addiu a0, s1, 0xa         |     a0 = s1 + 0xa;
    0x0000b948 jalr t9                   |     t9 ();
    0x0000b94c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000b950 beqz v0, 0xa990           |         goto label_43;
                                         |     }
    0x0000b954 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000b958 move a0, v0               |     a0 = v0;
    0x0000b95c bal 0x1b0f0               |     sym_ssh_err ();
    0x0000b960 lw v1, (s0)               |     v1 = *(s0);
    0x0000b964 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000b968 addiu v1, v1, 0xa         |     v1 += 0xa;
    0x0000b96c sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x0000b970 lw v1, -0x7fdc(gp)        |     v1 = *(gp);
    0x0000b974 sw v0, 0x14(sp)           |     *(var_14h) = v0;
                                         |     /* str.Unable_to_load_FIDO_enrollment_challenge___s_ */
    0x0000b978 addiu v1, v1, 0x1690      |     v1 += 0x1690;
    0x0000b97c addiu v0, zero, 1         |     v0 = 1;
    0x0000b980 sw v1, 0x18(sp)           |     *(var_18h) = v1;
    0x0000b984 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
    0x0000b988 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b98c move a3, zero             |     a3 = 0;
    0x0000b990 addiu a2, zero, 0xe02     |     a2 = 0xe02;
    0x0000b994 b 0xb214                  |     goto label_40;
                                         | label_183:
    0x0000b998 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b99c lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.Option___s__is_unsupported_for_FIDO_authenticator_enrollment */
    0x0000b9a0 addiu v0, v0, 0x1714      |     v0 += 0x1714;
    0x0000b9a4 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b9a8 addiu v0, zero, 1         |     v0 = 1;
    0x0000b9ac sw s1, 0x1c(sp)           |     *(var_1ch) = s1;
    0x0000b9b0 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b9b4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b9b8 move a3, zero             |     a3 = 0;
    0x0000b9bc addiu a2, zero, 0xe10     |     a2 = 0xe10;
    0x0000b9c0 b 0xb214                  |     goto label_40;
                                         | label_64:
    0x0000b9c4 lw t9, -0x77e8(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x0000b9c8 jalr t9                   |     t9 ();
    0x0000b9cc nop                       |     
                                         | label_120:
    0x0000b9d0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000b9d4 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.sshkey_fingerprint_failed */
    0x0000b9d8 addiu v0, v0, -0xab0      |     v0 += -0xab0;
    0x0000b9dc sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000b9e0 addiu v0, zero, 1         |     v0 = 1;
    0x0000b9e4 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000b9e8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000b9ec addiu a3, zero, 1         |     a3 = 1;
    0x0000b9f0 addiu a2, zero, 0xbad     |     a2 = 0xbad;
    0x0000b9f4 b 0xb280                  |     goto label_44;
                                         | label_77:
    0x0000b9f8 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x0000b9fc lb v0, 0x513c(v0)         |     v0 = *((v0 + 20796));
    0x0000ba00 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
                                         |     if (v0 != 0) {
    0x0000ba04 bnel v0, zero, 0xbaa0     |         
    0x0000ba08 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
    0x0000ba0c lw a1, -0x7fdc(gp)        |         a1 = *(gp);
                                         |         /* str.KRL_checking_requires_an_input_file */
    0x0000ba10 addiu v0, v0, 0x1248      |         v0 += 0x1248;
    0x0000ba14 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
    0x0000ba18 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000ba1c lw t9, -0x7fbc(gp)        |         t9 = sym.sshfatal;
    0x0000ba20 addiu v0, zero, 1         |         v0 = 1;
    0x0000ba24 sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x0000ba28 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000ba2c move a3, zero             |         a3 = 0;
    0x0000ba30 addiu a2, zero, 0x985     |         a2 = 0x985;
                                         |         /* str.do_check_krl */
    0x0000ba34 addiu a1, a1, 0x1d4c      |         a1 += 0x1d4c;
                                         |         /* str.ssh_keygen.c */
    0x0000ba38 addiu a0, a0, -0xe90      |         a0 += -0xe90;
    0x0000ba3c jalr t9                   |         t9 ();
                                         | label_67:
    0x0000ba40 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
                                         | label_66:
    0x0000ba44 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
                                         |         /* str.Too_few_arguments_for_sign:_missing_namespace */
    0x0000ba48 addiu v0, v0, 0xe58       |         v0 += 0xe58;
    0x0000ba4c sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000ba50 addiu v0, zero, 2         |         v0 = 2;
    0x0000ba54 lw t9, -0x7fac(gp)        |         t9 = sym.sshlog;
                                         |         /* str.ssh_keygen.c */
    0x0000ba58 addiu a0, a0, -0xe90      |         a0 += -0xe90;
    0x0000ba5c sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x0000ba60 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000ba64 move a3, zero             |         a3 = 0;
    0x0000ba68 addiu a2, zero, 0xd3b     |         a2 = 0xd3b;
    0x0000ba6c b 0xb6c4                  |         goto label_41;
                                         | label_83:
    0x0000ba70 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
    0x0000ba74 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
                                         |         /* str.Too_few_arguments_for_check_novalidate:_missing_signature_file */
    0x0000ba78 addiu v0, v0, 0x1010      |         v0 += aav.0x00001010;
    0x0000ba7c sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000ba80 addiu v0, zero, 2         |         v0 = 2;
    0x0000ba84 lw t9, -0x7fac(gp)        |         t9 = sym.sshlog;
                                         |         /* str.ssh_keygen.c */
    0x0000ba88 addiu a0, a0, -0xe90      |         a0 += -0xe90;
    0x0000ba8c sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x0000ba90 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000ba94 move a3, zero             |         a3 = 0;
    0x0000ba98 addiu a2, zero, 0xd48     |         a2 = 0xd48;
    0x0000ba9c b 0xb6c4                  |         goto label_41;
                                         |     }
                                         |     /* fcn.00015eec */
    0x0000baa0 addiu t9, t9, 0x5eec      |     t9 += 0x5eec;
    0x0000baa4 addiu a0, sp, 0xe8        |     a0 = sp + 0xe8;
    0x0000baa8 bal 0x15eec               |     fcn_00015eec ();
    0x0000baac lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (s0 != 0) {
    0x0000bab0 bnez s0, 0xbd78           |         goto label_184;
                                         |     }
                                         | label_47:
    0x0000bab4 lw s3, -0x7fdc(gp)        |     s3 = *(gp);
    0x0000bab8 lw s1, -0x7fdc(gp)        |     s1 = *(gp);
    0x0000babc lw s0, -0x7fdc(gp)        |     s0 = *(gp);
    0x0000bac0 lw s4, -0x7fdc(gp)        |     s4 = *(gp);
    0x0000bac4 move s2, zero             |     s2 = 0;
                                         |     /* esilref: ' (' */
    0x0000bac8 addiu s3, s3, 0xb38       |     s3 += 0xb38;
    0x0000bacc addiu s1, s1, 0x4e84      |     s1 += 0x4e84;
    0x0000bad0 addiu s0, s0, 0x5744      |     s0 += 0x5744;
    0x0000bad4 lw s6, 0x50(sp)           |     s6 = *(var_50h);
    0x0000bad8 b 0xbb50                  |     
                                         |     while (a0 == 0) {
    0x0000badc move a3, s0               |         a3 = s0;
    0x0000bae0 move a0, s0               |         a0 = s0;
                                         | label_45:
    0x0000bae4 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
                                         |         if (v0 != 0) {
    0x0000bae8 bnez v0, 0xbcdc           |             goto label_185;
                                         |         }
    0x0000baec lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x0000baf0 lw t9, -0x74e8(gp)        |         t9 = sym.imp.__printf_chk
                                         |         /* esilref: 'ok' */
    0x0000baf4 addiu v0, s4, 0x1978      |         v0 = s4 + 0x1978;
    0x0000baf8 sw a0, 0x14(sp)           |         *(var_14h) = a0;
    0x0000bafc sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000bb00 sw v1, 0x10(sp)           |         *(var_10h) = v1;
                                         |         /* str._s_s_s_s:__s_n */
    0x0000bb04 addiu a1, a1, 0x1968      |         a1 += 0x1968;
    0x0000bb08 addiu a0, zero, 1         |         a0 = 1;
    0x0000bb0c jalr t9                   |         t9 ();
    0x0000bb10 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         | label_46:
    0x0000bb14 lw t9, -0x7f4c(gp)        |         t9 = sym.sshkey_free;
    0x0000bb18 lw a0, 0xec(sp)           |         a0 = *(var_ech);
    0x0000bb1c addiu fp, fp, 4           |         fp += 4;
    0x0000bb20 bal 0x1e0a4               |         sym_sshkey_free ();
    0x0000bb24 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000bb28 lw t9, -0x75e4(gp)        |         t9 = sym.imp.free;
    0x0000bb2c lw a0, 0xe4(sp)           |         a0 = *(var_e4h);
    0x0000bb30 jalr t9                   |         t9 ();
    0x0000bb34 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000bb38 move a0, s6               |         a0 = s6;
    0x0000bb3c lw t9, -0x7ec4(gp)        |         t9 = *(gp);
    0x0000bb40 addiu a1, zero, 1         |         a1 = 1;
    0x0000bb44 jalr t9                   |         t9 ();
    0x0000bb48 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000bb4c move s6, v0               |         s6 = v0;
    0x0000bb50 slt v0, s6, s5            |         v0 = (s6 < s5) ? 1 : 0;
    0x0000bb54 lw t9, -0x7ecc(gp)        |         t9 = sym.sshkey_load_public;
                                         |         if (v0 == 0) {
    0x0000bb58 beqz v0, 0xbd5c           |             goto label_186;
                                         |         }
    0x0000bb5c lw a0, (fp)               |         a0 = *(fp);
    0x0000bb60 addiu a2, sp, 0xe4        |         a2 = sp + 0xe4;
    0x0000bb64 addiu a1, sp, 0xec        |         a1 = sp + 0xec;
    0x0000bb68 jalr t9                   |         t9 ();
    0x0000bb6c lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000bb70 bnez v0, 0xbd0c           |             goto label_187;
                                         |         }
    0x0000bb74 lw t9, -0x7dbc(gp)        |         t9 = sym.ssh_krl_check_key;
    0x0000bb78 lw a0, 0xe8(sp)           |         a0 = *(var_e8h);
    0x0000bb7c lw a1, 0xec(sp)           |         a1 = *(var_ech);
    0x0000bb80 jalr t9                   |         t9 ();
    0x0000bb84 lw v1, 0xe4(sp)           |         v1 = *(var_e4h);
    0x0000bb88 lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000bb8c lb a0, (v1)               |         a0 = *(v1);
    0x0000bb90 lw a2, (fp)               |         a2 = *(fp);
    0x0000bb94 beqz a0, 0xbadc           |         
                                         |     }
    0x0000bb98 move a3, s3               |     a3 = s3;
    0x0000bb9c move a0, s1               |     a0 = s1;
    0x0000bba0 b 0xbae4                  |     goto label_45;
                                         | label_75:
    0x0000bba4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000bba8 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.Cannot_use__l_with__H_or__R. */
    0x0000bbac addiu v0, v0, 0x1190      |     v0 += 0x1190;
    0x0000bbb0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000bbb4 addiu v0, zero, 2         |     v0 = 2;
    0x0000bbb8 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000bbbc sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000bbc0 move a3, zero             |     a3 = 0;
    0x0000bbc4 addiu a2, zero, 0xd7a     |     a2 = 0xd7a;
    0x0000bbc8 b 0x94f4                  |     goto label_5;
                                         | label_63:
    0x0000bbcc lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000bbd0 lw a0, 0x48(sp)           |     a0 = *(var_48h);
    0x0000bbd4 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000bbd8 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000bbdc sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000bbe0 addiu v0, zero, 2         |     v0 = 2;
    0x0000bbe4 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000bbe8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
                                         |     /* str.sshsig_get_principal */
    0x0000bbec addiu a0, a0, 0xe28       |     a0 += 0xe28;
    0x0000bbf0 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000bbf4 sw a0, 0x18(sp)           |     *(var_18h) = a0;
    0x0000bbf8 addiu a3, zero, 1         |     a3 = 1;
    0x0000bbfc addiu a2, zero, 0xad4     |     a2 = 0xad4;
    0x0000bc00 b 0xa8d8                  |     goto label_28;
                                         | label_58:
    0x0000bc84 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000bc88 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.Too_few_arguments_for_find_principals:missing_signature_file */
    0x0000bc8c addiu v0, v0, 0xd94       |     v0 += aav.0x00000d94;
    0x0000bc90 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000bc94 addiu v0, zero, 2         |     v0 = 2;
    0x0000bc98 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.ssh_keygen.c */
    0x0000bc9c addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000bca0 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000bca4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000bca8 move a3, zero             |     a3 = 0;
    0x0000bcac addiu a2, zero, 0xd2e     |     a2 = 0xd2e;
    0x0000bcb0 b 0xb6c4                  |     goto label_41;
                                         | label_74:
    0x0000bcb4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000bcb8 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.Can_only_have_one_of__p_and__c. */
    0x0000bcbc addiu v0, v0, 0x1170      |     v0 += 0x1170;
    0x0000bcc0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000bcc4 addiu v0, zero, 2         |     v0 = 2;
    0x0000bcc8 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000bccc sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000bcd0 move a3, zero             |     a3 = 0;
    0x0000bcd4 addiu a2, zero, 0xd76     |     a2 = 0xd76;
    0x0000bcd8 b 0x94f4                  |     goto label_5;
                                         | label_185:
    0x0000bcdc lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000bce0 lw t9, -0x74e8(gp)        |     t9 = sym.imp.__printf_chk
                                         |     /* str.REVOKED */
    0x0000bce4 addiu v0, v0, -0x858      |     v0 += -0x858;
    0x0000bce8 sw a0, 0x14(sp)           |     *(var_14h) = a0;
    0x0000bcec sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000bcf0 sw v1, 0x10(sp)           |     *(var_10h) = v1;
                                         |     /* str._s_s_s_s:__s_n */
    0x0000bcf4 addiu a1, a1, 0x1968      |     a1 += 0x1968;
    0x0000bcf8 addiu a0, zero, 1         |     a0 = 1;
    0x0000bcfc jalr t9                   |     t9 ();
    0x0000bd00 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000bd04 lw s2, 0x5c(sp)           |     s2 = *(var_5ch);
    0x0000bd08 b 0xbb14                  |     goto label_46;
                                         | label_187:
    0x0000bd0c lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000bd10 move a0, v0               |     a0 = v0;
    0x0000bd14 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000bd18 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000bd1c lw v1, (fp)               |     v1 = *(fp);
    0x0000bd20 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000bd24 sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x0000bd28 lw v1, -0x7fdc(gp)        |     v1 = *(gp);
    0x0000bd2c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000bd30 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.Cannot_load_public_key__s */
    0x0000bd34 addiu v1, v1, 0x126c      |     v1 += 0x126c;
    0x0000bd38 addiu v0, zero, 1         |     v0 = 1;
    0x0000bd3c lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
    0x0000bd40 sw v1, 0x18(sp)           |     *(var_18h) = v1;
    0x0000bd44 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000bd48 move a3, zero             |     a3 = 0;
    0x0000bd4c addiu a2, zero, 0x98b     |     a2 = 0x98b;
                                         |     /* str.do_check_krl */
    0x0000bd50 addiu a1, a1, 0x1d4c      |     a1 += 0x1d4c;
                                         |     /* str.ssh_keygen.c */
    0x0000bd54 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000bd58 jalr t9                   |     t9 ();
                                         | label_186:
    0x0000bd5c lw t9, -0x7ddc(gp)        |     t9 = sym.ssh_krl_free;
    0x0000bd60 lw a0, 0xe8(sp)           |     a0 = *(var_e8h);
    0x0000bd64 jalr t9                   |     t9 ();
    0x0000bd68 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000bd6c lw t9, -0x7954(gp)        |     t9 = sym.imp.exit;
    0x0000bd70 move a0, s2               |     a0 = s2;
    0x0000bd74 jalr t9                   |     t9 ();
                                         | label_184:
    0x0000bd78 lw v0, -0x7858(gp)        |     v0 = *((gp - 7702));
    0x0000bd7c lw t9, -0x7db8(gp)        |     t9 = sym.krl_dump;
    0x0000bd80 lw a0, 0xe8(sp)           |     a0 = *(var_e8h);
    0x0000bd84 lw a1, (v0)               |     a1 = *(v0);
    0x0000bd88 jalr t9                   |     t9 ();
    0x0000bd8c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000bd90 b 0xbab4                  |     goto label_47;
                                         | label_112:
    0x0000bd94 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000bd98 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.Couldnt_generate_KRL */
    0x0000bd9c addiu v0, v0, 0x1220      |     v0 += 0x1220;
    0x0000bda0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000bda4 addiu v0, zero, 1         |     v0 = 1;
    0x0000bda8 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000bdac sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000bdb0 move a3, zero             |     a3 = 0;
    0x0000bdb4 addiu a2, zero, 0x974     |     a2 = 0x974;
    0x0000bdb8 b 0x9d90                  |     goto label_48;
                                         | label_111:
    0x0000bdbc lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000bdc0 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.sshbuf_new_failed */
    0x0000bdc4 addiu v0, v0, -0xe5c      |     v0 += -0xe5c;
    0x0000bdc8 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000bdcc addiu v0, zero, 1         |     v0 = 1;
    0x0000bdd0 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000bdd4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000bdd8 move a3, zero             |     a3 = 0;
    0x0000bddc addiu a2, zero, 0x972     |     a2 = 0x972;
    0x0000bde0 b 0x9d90                  |     goto label_48;
                                         | label_113:
    0x0000bde4 lw t9, -0x7418(gp)        |     t9 = sym.imp.__errno_location;
    0x0000bde8 addiu s2, s2, 0x513c      |     s2 += 0x513c;
    0x0000bdec jalr t9                   |     t9 ();
    0x0000bdf0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000bdf4 lw t9, -0x7454(gp)        |     t9 = sym.imp.strerror;
    0x0000bdf8 lw a0, (v0)               |     a0 = *(v0);
    0x0000bdfc jalr t9                   |     t9 ();
    0x0000be00 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000be04 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x0000be08 sw s2, 0x1c(sp)           |     *(var_1ch) = s2;
    0x0000be0c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000be10 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.write__s:__s */
    0x0000be14 addiu v0, v0, 0x1238      |     v0 += 0x1238;
    0x0000be18 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000be1c addiu v0, zero, 1         |     v0 = 1;
    0x0000be20 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000be24 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000be28 move a3, zero             |     a3 = 0;
    0x0000be2c addiu a2, zero, 0x976     |     a2 = 0x976;
    0x0000be30 b 0xb600                  |     goto label_49;
                                         | label_143:
    0x0000be34 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000be38 move a0, v0               |     a0 = v0;
    0x0000be3c bal 0x1b0f0               |     sym_ssh_err ();
    0x0000be40 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000be44 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000be48 addiu v0, zero, 1         |     v0 = 1;
    0x0000be4c lw v1, -0x7fdc(gp)        |     v1 = *(gp);
    0x0000be50 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
                                         |     /* str.Cannot_load_CA_public_key__s */
    0x0000be54 addiu v1, v1, -0x34c      |     v1 += -0x34c;
    0x0000be58 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
    0x0000be5c sw v1, 0x18(sp)           |     *(var_18h) = v1;
    0x0000be60 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000be64 move a3, zero             |     a3 = 0;
    0x0000be68 addiu a2, zero, 0x95f     |     a2 = 0x95f;
    0x0000be6c b 0xb5b0                  |     goto label_50;
                                         | label_165:
    0x0000be70 lw a0, (fp)               |     a0 = *(fp);
    0x0000be74 lw a1, 0x44(sp)           |     a1 = *(var_44h);
    0x0000be78 addiu t9, t9, -0x302c     |     t9 += -0x302c;
    0x0000be7c move a2, s6               |     a2 = s6;
    0x0000be80 bal 0xcfd4                |     fcn_0000cfd4 ();
    0x0000be84 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000be88 b 0x90f4                  |     goto label_1;
                                         | label_164:
    0x0000be8c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000be90 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.Too_many_output_files_specified */
    0x0000be94 addiu v0, v0, 0x1618      |     v0 += 0x1618;
    0x0000be98 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000be9c sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000bea0 sw v1, 0x10(sp)           |     *(var_10h) = v1;
    0x0000bea4 move a3, zero             |     a3 = 0;
    0x0000bea8 addiu a2, zero, 0xdd6     |     a2 = 0xdd6;
    0x0000beac b 0x9fa8                  |     goto label_19;
                                         | label_163:
    0x0000beb0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000beb4 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.No_output_file_specified */
    0x0000beb8 addiu v0, v0, 0x15fc      |     v0 += 0x15fc;
    0x0000bebc sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000bec0 addiu v0, zero, 1         |     v0 = 1;
    0x0000bec4 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000bec8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000becc move a3, zero             |     a3 = 0;
    0x0000bed0 addiu a2, zero, 0xdd4     |     a2 = 0xdd4;
    0x0000bed4 b 0x9fa8                  |     goto label_19;
                                         | label_132:
    0x0000bed8 lw t9, -0x7fd0(gp)        |     t9 = sym.ssh_err;
    0x0000bedc move a0, v0               |     a0 = v0;
    0x0000bee0 bal 0x1b0f0               |     sym_ssh_err ();
    0x0000bee4 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000bee8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000beec addiu s2, s2, 0x513c      |     s2 += 0x513c;
    0x0000bef0 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000bef4 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     /* str.Couldnt_load_public_key__s */
    0x0000bef8 addiu a0, a0, 0xedc       |     a0 += 0xedc;
    0x0000befc sw a0, 0x18(sp)           |     *(var_18h) = a0;
    0x0000bf00 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000bf04 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
    0x0000bf08 addiu v0, zero, 2         |     v0 = 2;
    0x0000bf0c sw s2, 0x1c(sp)           |     *(var_1ch) = s2;
    0x0000bf10 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000bf14 move a3, zero             |     a3 = 0;
    0x0000bf18 addiu a2, zero, 0xa3d     |     a2 = 0xa3d;
                                         |     /* str.sig_sign */
    0x0000bf1c addiu a1, a1, 0x1dd4      |     a1 += 0x1dd4;
                                         |     /* str.ssh_keygen.c */
    0x0000bf20 addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000bf24 jalr t9                   |     t9 ();
    0x0000bf28 move s6, zero             |     s6 = 0;
    0x0000bf2c lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000bf30 b 0xac80                  |     goto label_25;
                                         | label_68:
    0x0000bf34 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000bf38 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.Too_few_arguments_for_sign:_missing_key */
    0x0000bf3c addiu v0, v0, 0xe88       |     v0 += 0xe88;
    0x0000bf40 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000bf44 addiu v0, zero, 2         |     v0 = 2;
    0x0000bf48 lw t9, -0x7fac(gp)        |     t9 = sym.sshlog;
                                         |     /* str.ssh_keygen.c */
    0x0000bf4c addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000bf50 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000bf54 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000bf58 move a3, zero             |     a3 = 0;
    0x0000bf5c addiu a2, zero, 0xd40     |     a2 = 0xd40;
    0x0000bf60 b 0xb6c4                  |     goto label_41;
                                         | label_95:
    0x0000bfc4 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
                                         |     /* fcn.000136d8 */
    0x0000bfc8 addiu t9, t9, 0x36d8      |     t9 += 0x36d8;
    0x0000bfcc bal 0x136d8               |     fcn_000136d8 ();
    0x0000bfd0 nop                       |     
                                         | label_94:
    0x0000bfd4 lw v0, 0x60(sp)           |     v0 = *(var_60h);
    0x0000bfd8 lw t9, -0x7f2c(gp)        |     t9 = *(gp);
    0x0000bfdc sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000bfe0 lw v0, 0xac(sp)           |     v0 = *(var_ach);
    0x0000bfe4 lw a3, 0x64(sp)           |     a3 = *(var_64h);
    0x0000bfe8 move a2, v1               |     a2 = v1;
    0x0000bfec move a1, s7               |     a1 = s7;
                                         |     /* fcn.00011038 */
    0x0000bff0 addiu t9, t9, 0x1038      |     t9 += 0x1038;
    0x0000bff4 addiu a0, v0, 8           |     a0 = v0 + 8;
    0x0000bff8 bal 0x11038               |     fcn_00011038 ();
                                         | label_106:
    0x0000bffc lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000c000 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.KRL_generation_requires_an_output_file */
    0x0000c004 addiu v0, v0, 0x11b0      |     v0 += 0x11b0;
    0x0000c008 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000c00c addiu v0, zero, 1         |     v0 = 1;
    0x0000c010 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000c014 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000c018 move a3, zero             |     a3 = 0;
    0x0000c01c addiu a2, zero, 0x951     |     a2 = 0x951;
    0x0000c020 b 0x9d90                  |     goto label_48;
                                         | label_182:
    0x0000c024 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000c028 lw t9, -0x7828(gp)        |     t9 = sym.imp.strncasecmp;
    0x0000c02c addiu a2, zero, 0xe       |     a2 = 0xe;
                                         |     /* str.force_command */
    0x0000c030 addiu a1, a1, 0x1334      |     a1 += 0x1334;
    0x0000c034 move a0, s0               |     a0 = s0;
    0x0000c038 jalr t9                   |     t9 ();
    0x0000c03c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 == 0) {
    0x0000c040 bnez v0, 0xc074           |         
    0x0000c044 lb v0, 0xe(s0)            |         v0 = *((s0 + 14));
    0x0000c048 addiu a0, s0, 0xe         |         a0 = s0 + 0xe;
                                         |         if (v0 == 0) {
    0x0000c04c beqz v0, 0xc11c           |             goto label_188;
                                         |         }
    0x0000c050 lw s0, -0x7fcc(gp)        |         s0 = *((gp - 8179));
    0x0000c054 lw v0, 0x511c(s0)         |         v0 = *((s0 + 5191));
    0x0000c058 lw t9, -0x7fc8(gp)        |         t9 = sym.xstrdup;
                                         |         if (v0 != 0) {
    0x0000c05c bnez v0, 0xc0e4           |             goto label_189;
                                         |         }
    0x0000c060 addiu s1, s1, 1           |         s1++;
    0x0000c064 jalr t9                   |         t9 ();
    0x0000c068 sw v0, 0x511c(s0)         |         *((s0 + 5191)) = v0;
    0x0000c06c lw gp, 0x30(sp)           |         gp = *(var_30h);
    0x0000c070 b 0x9354                  |         goto label_51;
                                         |     }
    0x0000c074 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000c078 lw t9, -0x7828(gp)        |     t9 = sym.imp.strncasecmp;
    0x0000c07c addiu a2, zero, 0xf       |     a2 = 0xf;
                                         |     /* str.source_address */
    0x0000c080 addiu a1, a1, 0x1380      |     a1 += 0x1380;
    0x0000c084 move a0, s0               |     a0 = s0;
    0x0000c088 jalr t9                   |     t9 ();
    0x0000c08c lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000c090 bnez v0, 0xc1bc           |         goto label_190;
                                         |     }
    0x0000c094 lb v0, 0xf(s0)            |     v0 = *((s0 + 15));
    0x0000c098 addiu v1, s0, 0xf         |     v1 = s0 + 0xf;
                                         |     if (v0 == 0) {
    0x0000c09c beqz v0, 0xc194           |         goto label_191;
                                         |     }
    0x0000c0a0 lw s0, -0x7fcc(gp)        |     s0 = *((gp - 8179));
    0x0000c0a4 lw v0, 0x5118(s0)         |     v0 = *((s0 + 5190));
    0x0000c0a8 lw t9, -0x7db4(gp)        |     t9 = sym.addr_match_cidr_list;
                                         |     if (v0 != 0) {
    0x0000c0ac bnez v0, 0xc16c           |         goto label_192;
                                         |     }
    0x0000c0b0 move a1, v1               |     a1 = v1;
    0x0000c0b4 sw v1, 0x4c(sp)           |     *(var_4ch) = v1;
    0x0000c0b8 move a0, zero             |     a0 = 0;
    0x0000c0bc jalr t9                   |     t9 ();
    0x0000c0c0 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000c0c4 lw v1, 0x4c(sp)           |     v1 = *(var_4ch);
                                         |     if (v0 != 0) {
    0x0000c0c8 bnez v0, 0xc144           |         goto label_193;
                                         |     }
    0x0000c0cc lw t9, -0x7fc8(gp)        |     t9 = sym.xstrdup;
    0x0000c0d0 move a0, v1               |     a0 = v1;
    0x0000c0d4 jalr t9                   |     t9 ();
    0x0000c0d8 sw v0, 0x5118(s0)         |     *((s0 + 5190)) = v0;
    0x0000c0dc lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000c0e0 b 0x9350                  |     goto label_0;
                                         | label_189:
    0x0000c0e4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000c0e8 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.force_command_already_specified */
    0x0000c0ec addiu v0, v0, 0x1360      |     v0 += 0x1360;
    0x0000c0f0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000c0f4 addiu v0, zero, 1         |     v0 = 1;
    0x0000c0f8 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000c0fc sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000c100 move a3, zero             |     a3 = 0;
    0x0000c104 addiu a2, zero, 0x7d0     |     a2 = 0x7d0;
                                         |     do {
                                         | label_52:
    0x0000c108 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x0000c10c lw a0, -0x7fdc(gp)        |         a0 = *(gp);
                                         |         /* str.add_cert_option */
    0x0000c110 addiu a1, a1, 0x1d3c      |         a1 += 0x1d3c;
                                         |         /* str.ssh_keygen.c */
    0x0000c114 addiu a0, a0, -0xe90      |         a0 += -0xe90;
    0x0000c118 jalr t9                   |         t9 ();
                                         | label_188:
    0x0000c11c lw v0, -0x7fdc(gp)        |         v0 = *(gp);
    0x0000c120 lw t9, -0x7fbc(gp)        |         t9 = sym.sshfatal;
                                         |         /* str.Empty_force_command_option */
    0x0000c124 addiu v0, v0, 0x1344      |         v0 += 0x1344;
    0x0000c128 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000c12c addiu v0, zero, 1         |         v0 = 1;
    0x0000c130 sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x0000c134 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000c138 move a3, zero             |         a3 = 0;
    0x0000c13c addiu a2, zero, 0x7ce     |         a2 = 0x7ce;
    0x0000c140 b 0xc108                  |         
                                         |     } while (1);
                                         | label_193:
    0x0000c144 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000c148 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.Invalid_source_address_list */
    0x0000c14c addiu v0, v0, 0x13d0      |     v0 += 0x13d0;
    0x0000c150 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000c154 addiu v0, zero, 1         |     v0 = 1;
    0x0000c158 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000c15c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000c160 move a3, zero             |     a3 = 0;
    0x0000c164 addiu a2, zero, 0x7d9     |     a2 = 0x7d9;
    0x0000c168 b 0xc108                  |     goto label_52;
                                         | label_192:
    0x0000c16c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000c170 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.source_address_already_specified */
    0x0000c174 addiu v0, v0, 0x13ac      |     v0 += aav.0x000013ac;
    0x0000c178 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000c17c addiu v0, zero, 1         |     v0 = 1;
    0x0000c180 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000c184 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000c188 move a3, zero             |     a3 = 0;
    0x0000c18c addiu a2, zero, 0x7d7     |     a2 = 0x7d7;
    0x0000c190 b 0xc108                  |     goto label_52;
                                         | label_191:
    0x0000c194 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000c198 lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
                                         |     /* str.Empty_source_address_option */
    0x0000c19c addiu v0, v0, 0x1390      |     v0 += 0x1390;
    0x0000c1a0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000c1a4 addiu v0, zero, 1         |     v0 = 1;
    0x0000c1a8 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000c1ac sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000c1b0 move a3, zero             |     a3 = 0;
    0x0000c1b4 addiu a2, zero, 0x7d5     |     a2 = 0x7d5;
    0x0000c1b8 b 0xc108                  |     goto label_52;
                                         | label_190:
    0x0000c1bc lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000c1c0 lw t9, -0x7828(gp)        |     t9 = sym.imp.strncasecmp;
    0x0000c1c4 addiu a2, zero, 0xa       |     a2 = 0xa;
                                         |     /* str.extension: */
    0x0000c1c8 addiu a1, a1, 0x13ec      |     a1 += 0x13ec;
    0x0000c1cc move a0, s0               |     a0 = s0;
    0x0000c1d0 jalr t9                   |     t9 ();
    0x0000c1d4 move a2, v0               |     a2 = v0;
    0x0000c1d8 lw gp, 0x30(sp)           |     gp = *(var_30h);
                                         |     if (v0 != 0) {
    0x0000c1dc beqz v0, 0xc204           |         
    0x0000c1e0 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x0000c1e4 lw t9, -0x7828(gp)        |         t9 = sym.imp.strncasecmp;
    0x0000c1e8 addiu a2, zero, 9         |         a2 = 9;
                                         |         /* str.critical: */
    0x0000c1ec addiu a1, a1, 0x13f8      |         a1 += 0x13f8;
    0x0000c1f0 move a0, s0               |         a0 = s0;
    0x0000c1f4 jalr t9                   |         t9 ();
    0x0000c1f8 lw gp, 0x30(sp)           |         gp = *(var_30h);
                                         |         if (v0 != 0) {
    0x0000c1fc bnez v0, 0xc278           |             goto label_194;
                                         |         }
    0x0000c200 addiu a2, zero, 1         |         a2 = 1;
                                         |     }
    0x0000c204 lw t9, -0x74f4(gp)        |     t9 = sym.imp.strchr;
    0x0000c208 sw a2, 0x4c(sp)           |     *(var_4ch) = a2;
    0x0000c20c addiu a1, zero, 0x3a      |     a1 = 0x3a;
    0x0000c210 move a0, s0               |     a0 = s0;
    0x0000c214 jalr t9                   |     t9 ();
    0x0000c218 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000c21c lw t9, -0x7fc8(gp)        |     t9 = sym.xstrdup;
    0x0000c220 addiu a0, v0, 1           |     a0 = v0 + 1;
    0x0000c224 jalr t9                   |     t9 ();
    0x0000c228 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000c22c addiu a1, zero, 0x3d      |     a1 = 0x3d;
    0x0000c230 move a0, v0               |     a0 = v0;
    0x0000c234 lw t9, -0x74f4(gp)        |     t9 = sym.imp.strchr;
    0x0000c238 move s0, v0               |     s0 = v0;
    0x0000c23c jalr t9                   |     t9 ();
    0x0000c240 lw a2, 0x4c(sp)           |     a2 = *(var_4ch);
                                         |     if (v0 != 0) {
    0x0000c244 beqz v0, 0xc250           |         
    0x0000c248 sb zero, (v0)             |         *(v0) = 0;
    0x0000c24c addiu v0, v0, 1           |         v0++;
                                         |     }
    0x0000c250 lw t9, 0x44(sp)           |     t9 = *(var_44h);
    0x0000c254 move a1, v0               |     a1 = v0;
    0x0000c258 move a0, s0               |     a0 = s0;
    0x0000c25c jalr t9                   |     t9 ();
    0x0000c260 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000c264 lw t9, -0x75e4(gp)        |     t9 = sym.imp.free;
    0x0000c268 move a0, s0               |     a0 = s0;
    0x0000c26c jalr t9                   |     t9 ();
    0x0000c270 lw gp, 0x30(sp)           |     gp = *(var_30h);
    0x0000c274 b 0x9350                  |     goto label_0;
                                         | label_194:
    0x0000c278 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000c27c lw a1, -0x7fdc(gp)        |     a1 = *(gp);
                                         |     /* str.Unsupported_certificate_option___s_ */
    0x0000c280 addiu v0, v0, 0x1404      |     v0 += 0x1404;
    0x0000c284 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0000c288 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000c28c lw t9, -0x7fbc(gp)        |     t9 = sym.sshfatal;
    0x0000c290 addiu v0, zero, 1         |     v0 = 1;
    0x0000c294 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x0000c298 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x0000c29c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000c2a0 move a3, zero             |     a3 = 0;
    0x0000c2a4 addiu a2, zero, 0x7e3     |     a2 = 0x7e3;
                                         |     /* str.add_cert_option */
    0x0000c2a8 addiu a1, a1, 0x1d3c      |     a1 += 0x1d3c;
                                         |     /* str.ssh_keygen.c */
    0x0000c2ac addiu a0, a0, -0xe90      |     a0 += -0xe90;
    0x0000c2b0 jalr t9                   |     t9 ();
    0x0000c2b4 nop                       |     
    0x0000c2b8 nop                       |     
    0x0000c2bc nop                       |     
                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/ssh-keygen @ 0x3ee2c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.tilde_expand_filename ()         | void tilde_expand_filename () {
    0x0003ee2c lui gp, 6                         |     
    0x0003ee30 addiu gp, gp, -0x2d8c             |     
    0x0003ee34 addu gp, gp, t9                   |     gp += t9;
    0x0003ee38 addiu sp, sp, -0xc8               |     
    0x0003ee3c addiu v0, zero, 0x7e              |     v0 = 0x7e;
    0x0003ee40 sw s2, 0xb8(sp)                   |     *(var_b8h) = s2;
    0x0003ee44 lw s2, -0x773c(gp)                |     s2 = *((gp - 7631));
    0x0003ee48 sw gp, 0x20(sp)                   |     *(var_20h) = gp;
    0x0003ee4c sw ra, 0xc4(sp)                   |     *(var_c4h) = ra;
    0x0003ee50 sw s4, 0xc0(sp)                   |     *(var_c0h) = s4;
    0x0003ee54 sw s3, 0xbc(sp)                   |     *(var_bch) = s3;
    0x0003ee58 sw s1, 0xb4(sp)                   |     *(var_b4h) = s1;
    0x0003ee5c sw s0, 0xb0(sp)                   |     *(var_b0h) = s0;
    0x0003ee60 lw a2, (s2)                       |     a2 = *(s2);
    0x0003ee64 lb v1, (a0)                       |     v1 = *(a0);
    0x0003ee68 sw a2, 0xac(sp)                   |     *(var_ach) = a2;
    0x0003ee6c lw t9, -0x74f4(gp)                |     t9 = sym.imp.strchr;
                                                 |     if (v1 != v0) {
    0x0003ee70 bne v1, v0, 0x3efbc               |         goto label_5;
                                                 |     }
    0x0003ee74 addiu s0, a0, 1                   |     s0 = a0 + 1;
    0x0003ee78 move s3, a1                       |     s3 = a1;
    0x0003ee7c move a0, s0                       |     a0 = s0;
    0x0003ee80 addiu a1, zero, 0x2f              |     a1 = 0x2f;
    0x0003ee84 jalr t9                           |     t9 ();
    0x0003ee88 move s1, v0                       |     s1 = v0;
    0x0003ee8c lw gp, 0x20(sp)                   |     gp = *(var_20h);
                                                 |     if (v0 != 0) {
    0x0003ee90 beqz v0, 0x3ef28                  |         
    0x0003ee94 sltu v0, s0, v0                   |         v0 = (s0 < v0) ? 1 : 0;
    0x0003ee98 lw t9, -0x76fc(gp)                |         t9 = sym.imp.getpwuid;
                                                 |         if (v0 != 0) {
    0x0003ee9c beqz v0, 0x3ef2c                  |             
    0x0003eea0 lw t9, -0x7e04(gp)                |             t9 = *(gp);
    0x0003eea4 move a1, s0                       |             a1 = s0;
    0x0003eea8 move a0, s1                       |             a0 = s1;
    0x0003eeac bal 0x5a5c0                       |             fcn_0005a5c0 ();
    0x0003eeb0 move s3, v0                       |             s3 = v0;
    0x0003eeb4 sltiu v0, v0, 0x80                |             v0 = (v0 < 0x80) ? 1 : 0;
    0x0003eeb8 lw gp, 0x20(sp)                   |             gp = *(var_20h);
                                                 |             if (v0 == 0) {
    0x0003eebc beqz v0, 0x3f094                  |                 goto label_6;
                                                 |             }
    0x0003eec0 lw t9, -0x7574(gp)                |             t9 = sym.imp.__memcpy_chk;
    0x0003eec4 addiu s4, sp, 0x2c                |             s4 = sp + 0x2c;
    0x0003eec8 move a2, s3                       |             a2 = s3;
    0x0003eecc addiu a3, zero, 0x80              |             a3 = 0x80;
    0x0003eed0 move a1, s0                       |             a1 = s0;
    0x0003eed4 move a0, s4                       |             a0 = s4;
    0x0003eed8 jalr t9                           |             t9 ();
    0x0003eedc lw gp, 0x20(sp)                   |             gp = *(var_20h);
    0x0003eee0 addiu v0, sp, 0xb0                |             v0 = sp + 0xb0;
    0x0003eee4 addu s3, v0, s3                   |             s3 = v0 + s3;
    0x0003eee8 lw t9, -0x7940(gp)                |             t9 = sym.imp.getpwnam;
    0x0003eeec move a0, s4                       |             a0 = s4;
    0x0003eef0 sb zero, -0x84(s3)                |             *((s3 - 132)) = 0;
    0x0003eef4 jalr t9                           |             t9 ();
    0x0003eef8 lw gp, 0x20(sp)                   |             gp = *(var_20h);
                                                 |             if (v0 == 0) {
    0x0003eefc beqz v0, 0x3f0bc                  |                 goto label_7;
                                                 |             }
    0x0003ef00 lw s3, 0x14(v0)                   |             s3 = *((v0 + 5));
    0x0003ef04 lw t9, -0x76e4(gp)                |             t9 = sym.imp.strlen;
    0x0003ef08 move a0, s3                       |             a0 = s3;
    0x0003ef0c jalr t9                           |             t9 ();
    0x0003ef10 lw gp, 0x20(sp)                   |             gp = *(var_20h);
                                                 |             if (v0 != 0) {
    0x0003ef14 bnez v0, 0x3eff0                  |                 goto label_8;
                                                 |             }
    0x0003ef18 lw a3, -0x7fdc(gp)                |             a3 = *(gp);
                                                 | label_2:
    0x0003ef1c addiu a3, a3, 0x5678              |             a3 += 0x5678;
    0x0003ef20 addiu s0, s1, 1                   |             s0 = s1 + 1;
    0x0003ef24 b 0x3ef64                         |             
                                                 |         } else {
    0x0003ef28 lw t9, -0x76fc(gp)                |             t9 = sym.imp.getpwuid;
                                                 |         }
    0x0003ef2c move a0, s3                       |         a0 = s3;
    0x0003ef30 jalr t9                           |         t9 ();
    0x0003ef34 lw gp, 0x20(sp)                   |         gp = *(var_20h);
                                                 |         if (v0 == 0) {
    0x0003ef38 beqz v0, 0x3f058                  |             goto label_9;
                                                 |         }
    0x0003ef3c lw s3, 0x14(v0)                   |         s3 = *((v0 + 5));
    0x0003ef40 lw t9, -0x76e4(gp)                |         t9 = sym.imp.strlen;
    0x0003ef44 move a0, s3                       |         a0 = s3;
    0x0003ef48 jalr t9                           |         t9 ();
    0x0003ef4c lw gp, 0x20(sp)                   |         gp = *(var_20h);
                                                 |         if (v0 != 0) {
    0x0003ef50 bnez v0, 0x3efd0                  |             goto label_10;
                                                 |         }
    0x0003ef54 lw a3, -0x7fdc(gp)                |         a3 = *(gp);
                                                 | label_0:
    0x0003ef58 addiu a3, a3, 0x5678              |         a3 += 0x5678;
                                                 | label_1:
    0x0003ef5c addiu s0, s1, 1                   |         s0 = s1 + 1;
                                                 |         if (s1 == 0) {
    0x0003ef60 bnel s1, zero, 0x3ef64            |             goto label_3;
                                                 |         }
                                                 |     }
                                                 | label_3:
    0x0003ef64 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0003ef68 lw t9, -0x7f14(gp)                |     t9 = sym.xasprintf
    0x0003ef6c sw s0, 0x10(sp)                   |     *(var_10h) = s0;
    0x0003ef70 move a2, s3                       |     a2 = s3;
                                                 |     /* str._s_s_s */
    0x0003ef74 addiu a1, a1, 0x5c2c              |     a1 += 0x5c2c;
    0x0003ef78 addiu a0, sp, 0x28                |     a0 = sp + 0x28;
    0x0003ef7c bal 0x3b8cc                       |     sym_xasprintf ()
    0x0003ef80 slti v0, v0, 0x1000               |     v0 = (v0 < 0x1000) ? 1 : 0;
    0x0003ef84 lw gp, 0x20(sp)                   |     gp = *(var_20h);
                                                 |     if (v0 == 0) {
    0x0003ef88 beqz v0, 0x3f020                  |         goto label_11;
                                                 |     }
    0x0003ef8c lw v0, 0x28(sp)                   |     v0 = *(var_28h);
                                                 |     do {
    0x0003ef90 lw a0, 0xac(sp)                   |         a0 = *(var_ach);
    0x0003ef94 lw v1, (s2)                       |         v1 = *(s2);
    0x0003ef98 lw ra, 0xc4(sp)                   |         ra = *(var_c4h);
                                                 |         if (a0 != v1) {
    0x0003ef9c bne a0, v1, 0x3f014               |             goto label_12;
                                                 |         }
    0x0003efa0 lw s4, 0xc0(sp)                   |         s4 = *(var_c0h);
    0x0003efa4 lw s3, 0xbc(sp)                   |         s3 = *(var_bch);
    0x0003efa8 lw s2, 0xb8(sp)                   |         s2 = *(var_b8h);
    0x0003efac lw s1, 0xb4(sp)                   |         s1 = *(var_b4h);
    0x0003efb0 lw s0, 0xb0(sp)                   |         s0 = *(var_b0h);
    0x0003efb4 addiu sp, sp, 0xc8                |         
    0x0003efb8 jr ra                             |         return v0;
                                                 | label_5:
    0x0003efbc lw t9, -0x7fc8(gp)                |         t9 = sym.xstrdup;
    0x0003efc0 bal 0x3b7c4                       |         sym_xstrdup ();
    0x0003efc4 nop                               |         
    0x0003efc8 lw gp, 0x20(sp)                   |         gp = *(var_20h);
    0x0003efcc b 0x3ef90                         |         
                                                 |     } while (1);
                                                 | label_10:
    0x0003efd0 addu v0, s3, v0                   |     v0 = s3 + v0;
    0x0003efd4 addiu v1, zero, 0x2f              |     v1 = 0x2f;
    0x0003efd8 lb v0, -1(v0)                     |     v0 = *((v0 - 1));
    0x0003efdc lw a3, -0x7fdc(gp)                |     a3 = *(gp);
                                                 |     if (v0 == v1) {
    0x0003efe0 bnel v0, v1, 0x3ef58              |         goto label_0;
                                                 |     }
    0x0003efe4 lw a3, -0x7fdc(gp)                |     a3 = *(gp);
    0x0003efe8 addiu a3, a3, 0x5744              |     a3 += 0x5744;
    0x0003efec b 0x3ef5c                         |     goto label_1;
                                                 | label_8:
    0x0003eff0 addu v0, s3, v0                   |     v0 = s3 + v0;
    0x0003eff4 addiu v1, zero, 0x2f              |     v1 = 0x2f;
    0x0003eff8 lb v0, -1(v0)                     |     v0 = *((v0 - 1));
    0x0003effc lw a3, -0x7fdc(gp)                |     a3 = *(gp);
                                                 |     if (v0 == v1) {
    0x0003f000 bnel v0, v1, 0x3ef1c              |         goto label_2;
                                                 |     }
    0x0003f004 lw a3, -0x7fdc(gp)                |     a3 = *(gp);
    0x0003f008 addiu s0, s1, 1                   |     s0 = s1 + 1;
    0x0003f00c addiu a3, a3, 0x5744              |     a3 += 0x5744;
    0x0003f010 b 0x3ef64                         |     goto label_3;
                                                 | label_12:
    0x0003f014 lw t9, -0x77e8(gp)                |     t9 = sym.imp.__stack_chk_fail;
    0x0003f018 jalr t9                           |     t9 ();
    0x0003f01c nop                               |     
                                                 | label_11:
    0x0003f020 lw v0, -0x7fdc(gp)                |     v0 = *(gp);
    0x0003f024 lw t9, -0x7fbc(gp)                |     t9 = sym.sshfatal;
                                                 |     /* str.tilde_expand_filename:_Path_too_long */
    0x0003f028 addiu v0, v0, 0x5c34              |     v0 += 0x5c34;
    0x0003f02c sw v0, 0x18(sp)                   |     *(var_18h) = v0;
    0x0003f030 addiu v0, zero, 1                 |     v0 = 1;
    0x0003f034 sw zero, 0x14(sp)                 |     *(var_14h) = 0;
    0x0003f038 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0003f03c move a3, zero                     |     a3 = 0;
    0x0003f040 addiu a2, zero, 0x474             |     a2 = 0x474;
                                                 |     do {
    0x0003f044 lw a1, -0x7fdc(gp)                |         a1 = *(gp);
    0x0003f048 lw a0, -0x7fdc(gp)                |         a0 = *(gp);
                                                 |         /* str.tilde_expand_filename */
    0x0003f04c addiu a1, a1, 0x6464              |         a1 += 0x6464;
                                                 |         /* str.misc.c */
    0x0003f050 addiu a0, a0, 0x5748              |         a0 += 0x5748;
    0x0003f054 bal 0x33940                       |         sym_sshfatal ();
                                                 | label_9:
    0x0003f058 lw v0, -0x7fdc(gp)                |         v0 = *(gp);
    0x0003f05c lw t9, -0x7fbc(gp)                |         t9 = sym.sshfatal;
                                                 |         /* str.tilde_expand_filename:_No_such_uid__ld */
    0x0003f060 addiu v0, v0, 0x5c04              |         v0 += 0x5c04;
    0x0003f064 sw v0, 0x18(sp)                   |         *(var_18h) = v0;
    0x0003f068 addiu v0, zero, 1                 |         v0 = 1;
    0x0003f06c sw s3, 0x1c(sp)                   |         *(var_1ch) = s3;
    0x0003f070 sw zero, 0x14(sp)                 |         *(var_14h) = 0;
    0x0003f074 sw v0, 0x10(sp)                   |         *(var_10h) = v0;
    0x0003f078 move a3, zero                     |         a3 = 0;
    0x0003f07c addiu a2, zero, 0x466             |         a2 = 0x466;
                                                 | label_4:
    0x0003f080 lw a1, -0x7fdc(gp)                |         a1 = *(gp);
    0x0003f084 lw a0, -0x7fdc(gp)                |         a0 = *(gp);
                                                 |         /* str.tilde_expand_filename */
    0x0003f088 addiu a1, a1, 0x6464              |         a1 += 0x6464;
                                                 |         /* str.misc.c */
    0x0003f08c addiu a0, a0, 0x5748              |         a0 += 0x5748;
    0x0003f090 bal 0x33940                       |         sym_sshfatal ();
                                                 | label_6:
    0x0003f094 lw v0, -0x7fdc(gp)                |         v0 = *(gp);
    0x0003f098 lw t9, -0x7fbc(gp)                |         t9 = sym.sshfatal;
                                                 |         /* str.tilde_expand_filename:_username_too_long */
    0x0003f09c addiu v0, v0, 0x5bb0              |         v0 += 0x5bb0;
    0x0003f0a0 sw v0, 0x18(sp)                   |         *(var_18h) = v0;
    0x0003f0a4 addiu v0, zero, 1                 |         v0 = 1;
    0x0003f0a8 sw zero, 0x14(sp)                 |         *(var_14h) = 0;
    0x0003f0ac sw v0, 0x10(sp)                   |         *(var_10h) = v0;
    0x0003f0b0 move a3, zero                     |         a3 = 0;
    0x0003f0b4 addiu a2, zero, 0x460             |         a2 = aav.0x00000460;
    0x0003f0b8 b 0x3f044                         |         
                                                 |     } while (1);
                                                 | label_7:
    0x0003f0bc lw v0, -0x7fdc(gp)                |     v0 = *(gp);
    0x0003f0c0 lw t9, -0x7fbc(gp)                |     t9 = sym.sshfatal;
                                                 |     /* str.tilde_expand_filename:_No_such_user__s */
    0x0003f0c4 addiu v0, v0, 0x5bdc              |     v0 += 0x5bdc;
    0x0003f0c8 sw v0, 0x18(sp)                   |     *(var_18h) = v0;
    0x0003f0cc addiu v0, zero, 1                 |     v0 = 1;
    0x0003f0d0 sw s4, 0x1c(sp)                   |     *(var_1ch) = s4;
    0x0003f0d4 sw zero, 0x14(sp)                 |     *(var_14h) = 0;
    0x0003f0d8 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0003f0dc move a3, zero                     |     a3 = 0;
    0x0003f0e0 addiu a2, zero, 0x464             |     a2 = aav.0x00000464;
    0x0003f0e4 b 0x3f080                         |     goto label_4;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/ssh-keygen @ 0x3f4c4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.tohex ()                     | void tohex () {
    0x0003f4c4 lui gp, 6                     |     
    0x0003f4c8 addiu gp, gp, -0x3424         |     
    0x0003f4cc addu gp, gp, t9               |     gp += t9;
    0x0003f4d0 addiu sp, sp, -0x48           |     
    0x0003f4d4 lui v0, 1                     |     v0 = 0x10000;
    0x0003f4d8 sw s5, 0x3c(sp)               |     *(var_3ch) = s5;
    0x0003f4dc lw s5, -0x773c(gp)            |     s5 = *((gp - 7631));
    0x0003f4e0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0003f4e4 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x0003f4e8 sw s6, 0x40(sp)               |     *(var_40h) = s6;
    0x0003f4ec sw s4, 0x38(sp)               |     *(var_38h) = s4;
    0x0003f4f0 sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x0003f4f4 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x0003f4f8 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x0003f4fc sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x0003f500 lw v1, (s5)                   |     v1 = *(s5);
    0x0003f504 addiu v0, v0, 1               |     v0++;
    0x0003f508 sltu v0, a1, v0               |     v0 = (a1 < v0) ? 1 : 0;
    0x0003f50c sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x0003f510 lw t9, -0x7b70(gp)            |     t9 = sym.xcalloc;
                                             |     if (v0 == 0) {
    0x0003f514 beqz v0, 0x3f5d0              |         goto label_1;
                                             |     }
    0x0003f518 sll s3, a1, 1                 |     s3 = a1 << 1;
    0x0003f51c addiu s3, s3, 1               |     s3++;
    0x0003f520 move s2, a1                   |     s2 = a1;
    0x0003f524 move s0, a0                   |     s0 = a0;
    0x0003f528 move a1, s3                   |     a1 = s3;
    0x0003f52c addiu a0, zero, 1             |     a0 = 1;
    0x0003f530 bal 0x3b5a8                   |     sym_xcalloc ();
    0x0003f534 move s4, v0                   |     s4 = v0;
    0x0003f538 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s2 == 0) {
    0x0003f53c beqz s2, 0x3f598              |         goto label_2;
                                             |     }
    0x0003f540 lw s6, -0x7fdc(gp)            |     s6 = *(gp);
    0x0003f544 addu s2, s0, s2               |     s2 = s0 + s2;
    0x0003f548 addiu s1, sp, 0x20            |     s1 = sp + 0x20;
                                             |     /* esilref: '&x' */
    0x0003f54c addiu s6, s6, 0x5a70          |     s6 += 0x5a70;
                                             |     do {
    0x0003f550 lbu v0, (s0)                  |         v0 = *(s0);
    0x0003f554 lw t9, -0x78c8(gp)            |         t9 = sym.imp.__snprintf_chk
    0x0003f558 addiu a3, zero, 3             |         a3 = 3;
    0x0003f55c addiu a2, zero, 1             |         a2 = 1;
    0x0003f560 addiu a1, zero, 3             |         a1 = 3;
    0x0003f564 move a0, s1                   |         a0 = s1;
    0x0003f568 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0003f56c sw s6, 0x10(sp)               |         *(var_10h_2) = s6;
    0x0003f570 jalr t9                       |         t9 ();
    0x0003f574 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003f578 move a2, s3                   |         a2 = s3;
    0x0003f57c move a1, s1                   |         a1 = s1;
    0x0003f580 lw t9, -0x7e74(gp)            |         t9 = sym.strlcat;
    0x0003f584 move a0, s4                   |         a0 = s4;
    0x0003f588 addiu s0, s0, 1               |         s0++;
    0x0003f58c bal 0x59030                   |         sym_strlcat ();
    0x0003f590 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003f594 bne s0, s2, 0x3f550           |         
                                             |     } while (s0 != s2);
                                             |     do {
                                             | label_2:
    0x0003f598 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0003f59c lw v1, (s5)                   |         v1 = *(s5);
    0x0003f5a0 move v0, s4                   |         v0 = s4;
                                             |         if (a0 != v1) {
    0x0003f5a4 bne a0, v1, 0x3f5ec           |             goto label_3;
                                             |         }
    0x0003f5a8 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x0003f5ac lw s6, 0x40(sp)               |         s6 = *(var_40h);
    0x0003f5b0 lw s5, 0x3c(sp)               |         s5 = *(var_3ch);
    0x0003f5b4 lw s4, 0x38(sp)               |         s4 = *(var_38h);
    0x0003f5b8 lw s3, 0x34(sp)               |         s3 = *(var_34h);
    0x0003f5bc lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x0003f5c0 lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x0003f5c4 lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x0003f5c8 addiu sp, sp, 0x48            |         
    0x0003f5cc jr ra                         |         return v0;
                                             | label_1:
    0x0003f5d0 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x0003f5d4 lw t9, -0x7fc8(gp)            |         t9 = sym.xstrdup;
                                             |         /* str.tohex:_length___65536 */
    0x0003f5d8 addiu a0, a0, 0x5c94          |         a0 += 0x5c94;
    0x0003f5dc bal 0x3b7c4                   |         sym_xstrdup ();
    0x0003f5e0 move s4, v0                   |         s4 = v0;
    0x0003f5e4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003f5e8 b 0x3f598                     |         
                                             |     } while (1);
                                             | label_3:
    0x0003f5ec lw t9, -0x77e8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0003f5f0 jalr t9                       |     t9 ();
    0x0003f5f4 nop                           |     
    0x0003f5f8 lui gp, 6                     |     
    0x0003f5fc addiu gp, gp, -0x3558         |     
    0x0003f600 addu gp, gp, t9               |     gp += t9;
    0x0003f604 addiu sp, sp, -0x40           |     
    0x0003f608 move v1, a2                   |     v1 = a2;
    0x0003f60c sw s1, 0x34(sp)               |     *(var_34h_2) = s1;
    0x0003f610 lw s1, -0x773c(gp)            |     s1 = *((gp - 7631));
    0x0003f614 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x0003f618 sw s2, 0x38(sp)               |     *(var_38h_2) = s2;
    0x0003f61c sw s0, 0x30(sp)               |     *(var_30h_2) = s0;
    0x0003f620 sw ra, 0x3c(sp)               |     *(var_3ch_2) = ra;
    0x0003f624 lw v0, (s1)                   |     v0 = *(s1);
    0x0003f628 addiu a2, sp, 0x4c            |     a2 = sp + 0x4c;
    0x0003f62c lw t9, -0x7b34(gp)            |     t9 = sym.xvasprintf
    0x0003f630 move s0, a0                   |     s0 = a0;
    0x0003f634 sw a2, 0x20(sp)               |     *(var_20h) = a2;
    0x0003f638 move s2, a1                   |     s2 = a1;
    0x0003f63c sw a3, 0x4c(sp)               |     *(var_4ch) = a3;
    0x0003f640 move a1, v1                   |     a1 = v1;
    0x0003f644 addiu a0, sp, 0x24            |     a0 = sp + 0x24;
    0x0003f648 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x0003f64c bal 0x3b840                   |     sym_xvasprintf ()
    0x0003f650 nop                           |     
    0x0003f654 lw a2, (s0)                   |     a2 = *(s0);
    0x0003f658 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (a2 == 0) {
    0x0003f65c beqz a2, 0x3f6e4              |         goto label_4;
                                             |     }
    0x0003f660 lb v0, (a2)                   |     v0 = *(a2);
    0x0003f664 lw t9, -0x75e4(gp)            |     t9 = sym.imp.free;
                                             |     if (v0 == 0) {
    0x0003f668 beqz v0, 0x3f6e8              |         goto label_5;
                                             |     }
                                             |     if (s2 == 0) {
    0x0003f66c beql s2, zero, 0x3f700        |         goto label_6;
                                             |     }
    0x0003f670 lw s2, -0x7fdc(gp)            |     s2 = *(gp);
                                             | label_0:
    0x0003f674 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0003f678 lw v0, 0x24(sp)               |     v0 = *(var_24h_2);
    0x0003f67c lw t9, -0x7f14(gp)            |     t9 = sym.xasprintf
    0x0003f680 move a3, s2                   |     a3 = s2;
                                             |     /* str._s_s_s */
    0x0003f684 addiu a1, a1, 0x5c2c          |     a1 += 0x5c2c;
    0x0003f688 addiu a0, sp, 0x28            |     a0 = sp + 0x28;
    0x0003f68c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0003f690 bal 0x3b8cc                   |     sym_xasprintf ()
    0x0003f694 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0003f698 lw t9, -0x75e4(gp)            |     t9 = sym.imp.free;
    0x0003f69c lw a0, 0x24(sp)               |     a0 = *(var_24h_2);
    0x0003f6a0 jalr t9                       |     t9 ();
    0x0003f6a4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0003f6a8 lw t9, -0x75e4(gp)            |     t9 = sym.imp.free;
    0x0003f6ac lw a0, (s0)                   |     a0 = *(s0);
    0x0003f6b0 jalr t9                       |     t9 ();
    0x0003f6b4 lw v0, 0x28(sp)               |     v0 = *(var_28h_2);
    0x0003f6b8 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0003f6bc sw v0, (s0)                   |     *(s0) = v0;
                                             |     do {
    0x0003f6c0 lw v1, 0x2c(sp)               |         v1 = *(var_2ch_2);
    0x0003f6c4 lw v0, (s1)                   |         v0 = *(s1);
    0x0003f6c8 lw ra, 0x3c(sp)               |         ra = *(var_3ch_2);
                                             |         if (v1 != v0) {
    0x0003f6cc bne v1, v0, 0x3f708           |             goto label_7;
                                             |         }
    0x0003f6d0 lw s2, 0x38(sp)               |         s2 = *(var_38h_2);
    0x0003f6d4 lw s1, 0x34(sp)               |         s1 = *(var_34h_2);
    0x0003f6d8 lw s0, 0x30(sp)               |         s0 = *(var_30h_2);
    0x0003f6dc addiu sp, sp, 0x40            |         
    0x0003f6e0 jr ra                         |         return v0;
                                             | label_4:
    0x0003f6e4 lw t9, -0x75e4(gp)            |         t9 = sym.imp.free;
                                             | label_5:
    0x0003f6e8 move a0, a2                   |         a0 = a2;
    0x0003f6ec jalr t9                       |         t9 ();
    0x0003f6f0 lw v0, 0x24(sp)               |         v0 = *(var_24h_2);
    0x0003f6f4 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0003f6f8 sw v0, (s0)                   |         *(s0) = v0;
    0x0003f6fc b 0x3f6c0                     |         
                                             |     } while (1);
                                             | label_6:
    0x0003f700 addiu s2, s2, 0x5744          |     s2 += 0x5744;
    0x0003f704 b 0x3f674                     |     goto label_0;
                                             | label_7:
    0x0003f708 lw t9, -0x77e8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0003f70c jalr t9                       |     t9 ();
    0x0003f710 nop                           |     
    0x0003f714 lwl v1, 3(a0)                 |     __asm ("lwl v1, 3(a0)");
    0x0003f718 lwl v0, 7(a0)                 |     __asm ("lwl v0, 7(a0)");
    0x0003f71c lwr v1, (a0)                  |     __asm ("lwr v1, (a0)");
    0x0003f720 lwr v0, 4(a0)                 |     __asm ("lwr v0, 4(a0)");
    0x0003f724 wsbh v1, v1                   |     __asm ("wsbh v1, v1");
    0x0003f728 wsbh v0, v0                   |     __asm ("wsbh v0, v0");
    0x0003f72c rotr v1, v1, 0x10             |     __asm ("rotr v1, v1, 0x10");
    0x0003f730 rotr v0, v0, 0x10             |     __asm ("rotr v0, v0, 0x10");
    0x0003f734 jr ra                         |     return v0;
                                             | }

[*] Function printf used 32 times ssh-keygen