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