[*] Binary protection state of ssh-keygen
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf 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 sprintf used 16 times ssh-keygen