[*] Binary protection state of sshd
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of sshd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x16da0 */
| #include <stdint.h>
|
; (fcn) fcn.00016da0 () | void fcn_00016da0 () {
0x00016da0 lui gp, 0xf |
0x00016da4 addiu gp, gp, -0x4ab0 |
0x00016da8 addu gp, gp, t9 | gp += t9;
0x00016dac addiu sp, sp, -0x490 |
0x00016db0 lw v0, -0x6fc4(gp) | v0 = *((gp - 7153));
0x00016db4 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00016db8 sw s6, 0x480(sp) | *(var_480h) = s6;
0x00016dbc sw s1, 0x46c(sp) | *(var_46ch) = s1;
0x00016dc0 sw s0, 0x468(sp) | *(var_468h) = s0;
0x00016dc4 sw ra, 0x48c(sp) | *(var_48ch) = ra;
0x00016dc8 sw fp, 0x488(sp) | *(var_488h) = fp;
0x00016dcc sw s7, 0x484(sp) | *(var_484h) = s7;
0x00016dd0 sw s5, 0x47c(sp) | *(var_47ch) = s5;
0x00016dd4 sw s4, 0x478(sp) | *(var_478h) = s4;
0x00016dd8 sw s3, 0x474(sp) | *(var_474h) = s3;
0x00016ddc sw s2, 0x470(sp) | *(var_470h) = s2;
0x00016de0 lw s6, -0x7f34(gp) | s6 = *(gp);
0x00016de4 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00016de8 lw v0, (v0) | v0 = *(v0);
0x00016dec lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x00016df0 move s0, a1 | s0 = a1;
0x00016df4 move s1, a0 | s1 = a0;
0x00016df8 sw v0, 0x464(sp) | *(var_464h) = v0;
0x00016dfc addiu a0, s6, -0x6990 | a0 = s6 + -0x6990;
0x00016e00 jalr t9 | t9 ();
0x00016e04 lw s0, (s0) | s0 = *(s0);
0x00016e08 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016e0c sw v0, 0x3c(sp) | *(var_3ch) = v0;
| if (s0 == 0) {
0x00016e10 beqz s0, 0x16f6c | goto label_4;
| }
0x00016e14 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00016e18 lw s5, -0x7f34(gp) | s5 = *(gp);
0x00016e1c lw s2, -0x7fb4(gp) | s2 = *(gp);
0x00016e20 lw s4, -0x7f34(gp) | s4 = *(gp);
0x00016e24 sw v0, 0x30(sp) | *(var_30h) = v0;
| /* str.getnameinfo:__.100s */
0x00016e28 addiu v0, s5, -0x7954 | v0 = s5 + -0x7954;
0x00016e2c lw s3, -0x7f34(gp) | s3 = *(gp);
0x00016e30 addiu s7, sp, 0x60 | s7 = sp + 0x60;
0x00016e34 addiu fp, sp, 0x40 | fp = sp + 0x40;
| /* str._rdomain_ */
0x00016e38 addiu s2, s2, 0x686c | s2 += 0x686c;
| /* str.listenaddress___s_:_s_s_s_n_s */
0x00016e3c addiu s4, s4, -0x7940 | s4 += -0x7940;
0x00016e40 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00016e44 b 0x16e94 |
| while (a1 != a0) {
| if (v0 == 0) {
0x00016e48 beql v0, zero, 0x16fac | goto label_5;
| }
0x00016e4c addiu a0, s6, -0x6990 | a0 = s6 + -0x6990;
0x00016e50 move a0, s2 | a0 = s2;
| label_2:
0x00016e54 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x00016e58 sw a0, 0x10(sp) | *(var_10h_2) = a0;
0x00016e5c sw s5, 0x18(sp) | *(var_18h) = s5;
0x00016e60 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00016e64 move a3, fp | a3 = fp;
0x00016e68 move a2, s7 | a2 = s7;
| /* str.listenaddress__s:_s_s_s_n_s */
0x00016e6c addiu a1, s3, -0x7920 | a1 = s3 + -0x7920;
0x00016e70 addiu a0, sp, 0x3c | a0 = sp + 0x3c;
0x00016e74 jalr t9 | t9 ();
0x00016e78 lw gp, 0x20(sp) | gp = *(var_20h);
| label_0:
0x00016e7c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00016e80 move a0, s5 | a0 = s5;
0x00016e84 jalr t9 | t9 ();
0x00016e88 lw s0, 0x1c(s0) | s0 = *((s0 + 7));
0x00016e8c lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == 0) {
0x00016e90 beqz s0, 0x16f68 | goto label_6;
| }
| label_1:
0x00016e94 addiu v0, zero, 3 | v0 = 3;
0x00016e98 lw a1, 0x10(s0) | a1 = *((s0 + 4));
0x00016e9c lw a0, 0x14(s0) | a0 = *((s0 + 5));
0x00016ea0 lw t9, -0x6f60(gp) | t9 = sym.imp.getnameinfo;
0x00016ea4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00016ea8 addiu v0, zero, 0x20 | v0 = 0x20;
0x00016eac sw v0, 0x14(sp) | *(var_14h) = v0;
0x00016eb0 sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x00016eb4 addiu a3, zero, 0x401 | a3 = 0x401;
0x00016eb8 move a2, s7 | a2 = s7;
0x00016ebc jalr t9 | t9 ();
0x00016ec0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00016ec4 bnez v0, 0x16f14 | goto label_7;
| }
0x00016ec8 lw a1, 4(s0) | a1 = *((s0 + 1));
0x00016ecc addiu a0, zero, 0xa | a0 = 0xa;
0x00016ed0 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x00016ed4 lw v0, (s1) | v0 = *(s1);
0x00016ed8 bne a1, a0, 0x16e48 |
| }
| if (v0 == 0) {
0x00016edc beql v0, zero, 0x16fb4 | goto label_8;
| }
0x00016ee0 addiu a0, s6, -0x6990 | a0 = s6 + -0x6990;
0x00016ee4 move a0, s2 | a0 = s2;
| label_3:
0x00016ee8 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x00016eec sw a0, 0x10(sp) | *(var_10h_2) = a0;
0x00016ef0 sw s5, 0x18(sp) | *(var_18h) = s5;
0x00016ef4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00016ef8 move a3, fp | a3 = fp;
0x00016efc move a2, s7 | a2 = s7;
0x00016f00 move a1, s4 | a1 = s4;
0x00016f04 addiu a0, sp, 0x3c | a0 = sp + 0x3c;
0x00016f08 jalr t9 | t9 ();
0x00016f0c lw gp, 0x20(sp) | gp = *(var_20h);
0x00016f10 b 0x16e7c | goto label_0;
| label_7:
0x00016f14 lw t9, -0x7dec(gp) | t9 = sym.ssh_gai_strerror;
0x00016f18 move a0, v0 | a0 = v0;
0x00016f1c jalr t9 | t9 ();
0x00016f20 sw v0, 0x1c(sp) | *(var_1ch_2) = v0;
0x00016f24 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016f28 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00016f2c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00016f30 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00016f34 addiu v0, zero, 2 | v0 = 2;
0x00016f38 lw a0, -0x7f34(gp) | a0 = *(gp);
0x00016f3c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00016f40 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00016f44 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00016f48 move a3, zero | a3 = 0;
0x00016f4c addiu a2, zero, 0xae1 | a2 = 0xae1;
0x00016f50 addiu a1, v0, -0x5a54 | a1 = v0 + -aav.0x00005a54;
| /* str.servconf.c */
0x00016f54 addiu a0, a0, -0x7b60 | a0 += -0x7b60;
0x00016f58 jalr t9 | t9 ();
0x00016f5c lw s0, 0x1c(s0) | s0 = *((s0 + 7));
0x00016f60 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 != 0) {
0x00016f64 bnez s0, 0x16e94 | goto label_1;
| }
| label_6:
0x00016f68 lw v0, 0x3c(sp) | v0 = *(var_3ch);
| label_4:
0x00016f6c lw v1, 0x34(sp) | v1 = *(var_34h);
0x00016f70 lw a0, 0x464(sp) | a0 = *(var_464h);
0x00016f74 lw v1, (v1) | v1 = *(v1);
0x00016f78 lw ra, 0x48c(sp) | ra = *(var_48ch);
| if (a0 == v1) {
0x00016f7c bne a0, v1, 0x16fbc |
0x00016f80 lw fp, 0x488(sp) | fp = *(var_488h);
0x00016f84 lw s7, 0x484(sp) | s7 = *(var_484h);
0x00016f88 lw s6, 0x480(sp) | s6 = *(var_480h);
0x00016f8c lw s5, 0x47c(sp) | s5 = *(var_47ch);
0x00016f90 lw s4, 0x478(sp) | s4 = *(var_478h);
0x00016f94 lw s3, 0x474(sp) | s3 = *(var_474h);
0x00016f98 lw s2, 0x470(sp) | s2 = *(var_470h);
0x00016f9c lw s1, 0x46c(sp) | s1 = *(var_46ch);
0x00016fa0 lw s0, 0x468(sp) | s0 = *(var_468h);
0x00016fa4 addiu sp, sp, 0x490 |
0x00016fa8 jr ra | return v0;
| label_5:
0x00016fac move v0, a0 | v0 = a0;
0x00016fb0 b 0x16e54 | goto label_2;
| label_8:
0x00016fb4 move v0, a0 | v0 = a0;
0x00016fb8 b 0x16ee8 | goto label_3;
| }
0x00016fbc lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x00016fc0 jalr t9 | t9 ();
0x00016fc4 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x184d8 */
| #include <stdint.h>
|
; (fcn) fcn.000184d8 () | void fcn_000184d8 () {
0x000184d8 lui gp, 0xf |
0x000184dc addiu gp, gp, -0x61e8 |
0x000184e0 addu gp, gp, t9 | gp += t9;
0x000184e4 addiu sp, sp, -0x100 |
0x000184e8 lw t9, -0x6f68(gp) | t9 = sym.imp.strlen;
0x000184ec sw s3, 0xe4(sp) | *(var_e4h) = s3;
0x000184f0 lw s3, -0x6fc4(gp) | s3 = *((gp - 7153));
0x000184f4 sw gp, 0x38(sp) | *(var_38h) = gp;
0x000184f8 sw s7, 0xf4(sp) | *(var_f4h) = s7;
0x000184fc sw s6, 0xf0(sp) | *(var_f0h) = s6;
0x00018500 sw s5, 0xec(sp) | *(var_ech) = s5;
0x00018504 sw s4, 0xe8(sp) | *(var_e8h) = s4;
0x00018508 sw s2, 0xe0(sp) | *(var_e0h) = s2;
0x0001850c sw ra, 0xfc(sp) | *(var_fch) = ra;
0x00018510 sw fp, 0xf8(sp) | *(var_f8h) = fp;
0x00018514 sw s1, 0xdc(sp) | *(var_dch) = s1;
0x00018518 sw s0, 0xd8(sp) | *(var_d8h) = s0;
0x0001851c lw v0, (s3) | v0 = *(s3);
0x00018520 move s4, a0 | s4 = a0;
0x00018524 sw a2, 0x40(sp) | *(var_40h) = a2;
0x00018528 move a0, a1 | a0 = a1;
0x0001852c sw v0, 0xd4(sp) | *(var_d4h) = v0;
0x00018530 sw zero, 0x8c(sp) | *(var_8ch) = 0;
0x00018534 move s2, a1 | s2 = a1;
0x00018538 move s6, a3 | s6 = a3;
0x0001853c jalr t9 | t9 ();
0x00018540 lw v1, 0x114(sp) | v1 = *(arg_114h);
0x00018544 lw gp, 0x38(sp) | gp = *(var_38h);
0x00018548 sw v1, 0x44(sp) | *(var_44h) = v1;
0x0001854c lw v1, 0x118(sp) | v1 = *(arg_118h);
0x00018550 lw s5, 0x110(sp) | s5 = *(arg_110h);
0x00018554 sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x00018558 lw s7, 0x120(sp) | s7 = *(arg_120h);
| if (v0 == 0) {
0x0001855c beqz v0, 0x186a8 | goto label_2;
| }
0x00018560 addiu v1, zero, 1 | v1 = 1;
0x00018564 lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
| if (v0 == v1) {
0x00018568 beq v0, v1, 0x185b0 | goto label_40;
| }
0x0001856c lw s0, -0x7f34(gp) | s0 = *(gp);
0x00018570 addu fp, s2, v0 | fp = s2 + v0;
| /* str.__t_r_n_f */
0x00018574 addiu s0, s0, -0x7774 | s0 += -0x7774;
0x00018578 nor s1, zero, s2 | __asm ("nor s1, zero, s2");
0x0001857c b 0x18594 |
| while (v0 != 0) {
0x00018580 sb zero, -1(fp) | *((fp - 1)) = 0;
0x00018584 addiu fp, fp, -1 | fp += -1;
0x00018588 addu v0, s1, fp | v0 = s1 + fp;
0x0001858c lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
| if (v0 == 0) {
0x00018590 beqz v0, 0x185b0 | goto label_40;
| }
0x00018594 lw t9, -0x6d4c(gp) | t9 = sym.imp.strchr;
0x00018598 lb a1, -1(fp) | a1 = *(var_1h);
0x0001859c move a0, s0 | a0 = s0;
0x000185a0 jalr t9 | t9 ();
0x000185a4 lw gp, 0x38(sp) | gp = *(var_38h);
0x000185a8 bnez v0, 0x18580 |
| }
0x000185ac lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
| label_40:
0x000185b0 addiu v0, sp, 0x7c | v0 = sp + 0x7c;
0x000185b4 sw s2, 0x7c(sp) | *(var_7ch) = s2;
0x000185b8 sw v0, 0x48(sp) | *(var_48h) = v0;
0x000185bc move a0, v0 | a0 = v0;
0x000185c0 jalr t9 | t9 ();
0x000185c4 move s2, v0 | s2 = v0;
0x000185c8 lw gp, 0x38(sp) | gp = *(var_38h);
0x000185cc sw v0, 0x80(sp) | *(var_80h) = v0;
| if (v0 == 0) {
0x000185d0 beqz v0, 0x186a8 | goto label_2;
| }
0x000185d4 lb v0, (v0) | v0 = *(v0);
0x000185d8 lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
| if (v0 == 0) {
0x000185dc beqz v0, 0x18684 | goto label_41;
| }
0x000185e0 addiu v1, zero, 0x23 | v1 = 0x23;
| label_0:
0x000185e4 lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
| if (v0 == v1) {
0x000185e8 beq v0, v1, 0x186a8 | goto label_2;
| }
0x000185ec lw a1, -0x7f34(gp) | a1 = *(gp);
| /* esilref: 'pamauthenticationviakbdint' */
0x000185f0 addiu s1, s1, -0x712c | s1 += -0x712c;
0x000185f4 move s0, zero | s0 = 0;
| /* str.usepam */
0x000185f8 addiu a1, a1, -0x77ac | a1 += -0x77ac;
0x000185fc b 0x18610 |
| while (v0 != 0) {
0x00018600 addiu s1, s1, 0xc | s1 += 0xc;
0x00018604 lw a1, -0xc(s1) | a1 = *((s1 - 3));
0x00018608 addiu s0, s0, 1 | s0++;
| if (a1 == 0) {
0x0001860c beqz a1, 0x186ec | goto label_42;
| }
0x00018610 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
0x00018614 move a0, s2 | a0 = s2;
0x00018618 jalr t9 | t9 ();
0x0001861c lw gp, 0x38(sp) | gp = *(var_38h);
0x00018620 bnez v0, 0x18600 |
| }
0x00018624 sll v0, s0, 1 | v0 = s0 << 1;
0x00018628 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x0001862c addu v0, v0, s0 | v0 += s0;
0x00018630 sll v0, v0, 2 | v0 <<= 2;
| /* esilref: 'usepam' */
0x00018634 addiu v1, v1, -0x7138 | v1 += -0x7138;
0x00018638 addu v0, v0, v1 | v0 += v1;
0x0001863c lw s1, 8(v0) | s1 = *((v0 + 2));
0x00018640 lw s2, 4(v0) | s2 = *((v0 + 1));
| if (s5 == 0) {
0x00018644 beqz s5, 0x1aacc | goto label_43;
| }
0x00018648 lw v0, (s5) | v0 = *(s5);
0x0001864c addiu v0, zero, 0x44 | v0 = 0x44;
| if (v0 != 0) {
0x00018650 bnez v0, 0x1a4b4 | goto label_44;
| }
0x00018654 andi s1, s1, 2 | s1 &= 2;
| label_11:
0x00018658 move a0, zero | a0 = 0;
| if (s1 == 0) {
0x0001865c beqz s1, 0x1874c | goto label_45;
| }
| label_10:
0x00018660 sltiu v0, s2, 0x67 | v0 = (s2 < 0x67) ? 1 : 0;
0x00018664 lw v1, -0x7f34(gp) | v1 = *(gp);
| if (v0 == 0) {
0x00018668 beqz v0, 0x1c044 | goto label_46;
| }
0x0001866c sll v0, s2, 2 | v0 = s2 << 2;
0x00018670 addiu v1, v1, -0x5bf0 | v1 += -0x5bf0;
0x00018674 lwx v0, v0(v1) | __asm ("lwx v0, v0(v1)");
0x00018678 addu v0, v0, gp | v0 += gp;
0x0001867c jr v0 | v0 ();
0x00018680 nop |
| label_41:
0x00018684 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00018688 jalr t9 | t9 ();
0x0001868c move s2, v0 | s2 = v0;
0x00018690 lw gp, 0x38(sp) | gp = *(var_38h);
0x00018694 sw v0, 0x80(sp) | *(var_80h) = v0;
| if (v0 == 0) {
0x00018698 beqz v0, 0x186a8 | goto label_2;
| }
0x0001869c lb v0, (v0) | v0 = *(v0);
0x000186a0 addiu v1, zero, 0x23 | v1 = 0x23;
| if (v0 != 0) {
0x000186a4 bnez v0, 0x185e4 | goto label_0;
| }
| do {
| label_2:
0x000186a8 move s0, zero | s0 = 0;
| label_1:
0x000186ac lw a0, 0xd4(sp) | a0 = *(var_d4h);
0x000186b0 lw v1, (s3) | v1 = *(s3);
0x000186b4 move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x000186b8 bne a0, v1, 0x1afb8 | goto label_47;
| }
0x000186bc lw ra, 0xfc(sp) | ra = *(var_fch);
0x000186c0 lw fp, 0xf8(sp) | fp = *(var_f8h);
0x000186c4 lw s7, 0xf4(sp) | s7 = *(var_f4h);
0x000186c8 lw s6, 0xf0(sp) | s6 = *(var_f0h);
0x000186cc lw s5, 0xec(sp) | s5 = *(var_ech);
0x000186d0 lw s4, 0xe8(sp) | s4 = *(var_e8h);
0x000186d4 lw s3, 0xe4(sp) | s3 = *(var_e4h);
0x000186d8 lw s2, 0xe0(sp) | s2 = *(var_e0h);
0x000186dc lw s1, 0xdc(sp) | s1 = *(var_dch);
0x000186e0 lw s0, 0xd8(sp) | s0 = *(var_d8h);
0x000186e4 addiu sp, sp, 0x100 |
0x000186e8 jr ra | return v0;
| label_42:
0x000186ec lw v0, 0x40(sp) | v0 = *(var_40h);
0x000186f0 lw v1, -0x7f34(gp) | v1 = *(gp);
0x000186f4 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000186f8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000186fc lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str._s:_line__d:_Bad_configuration_option:__s */
0x00018700 addiu v0, v0, -0x776c | v0 += -0x776c;
0x00018704 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00018708 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001870c addiu v0, zero, 2 | v0 = 2;
0x00018710 sw v1, 0x50(sp) | *(var_50h) = v1;
0x00018714 sw s2, 0x24(sp) | *(var_24h) = s2;
0x00018718 sw s6, 0x20(sp) | *(var_20h) = s6;
0x0001871c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00018720 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00018724 move a3, zero | a3 = 0;
0x00018728 addiu a2, zero, 0x2d9 | a2 = 0x2d9;
| /* str.parse_token */
0x0001872c addiu a1, a1, -0x59bc | a1 += -0x59bc;
| /* str.servconf.c */
0x00018730 addiu a0, v1, -0x7b60 | a0 = v1 + -0x7b60;
0x00018734 jalr t9 | t9 ();
0x00018738 lw gp, 0x38(sp) | gp = *(var_38h);
| if (s5 == 0) {
0x0001873c beqz s5, 0x1a684 | goto label_48;
| }
0x00018740 lw v0, (s5) | v0 = *(s5);
0x00018744 move s2, zero | s2 = 0;
| if (v0 != 0) {
0x00018748 bnez v0, 0x1ac0c | goto label_49;
| }
| label_45:
0x0001874c lw v1, 0x44(sp) | v1 = *(var_44h);
0x00018750 lw v0, 0x80(sp) | v0 = *(var_80h);
| if (v1 == 0) {
0x00018754 beqz v1, 0x1c8d4 | goto label_50;
| }
0x00018758 lw s0, 0x48(sp) | s0 = *(var_48h);
0x0001875c beqz v0, 0x186a8 |
| } while (v0 == 0);
| do {
0x00018760 lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
0x00018764 move a0, s0 | a0 = s0;
0x00018768 jalr t9 | t9 ();
0x0001876c sw v0, 0x80(sp) | *(var_80h) = v0;
0x00018770 lw gp, 0x38(sp) | gp = *(var_38h);
0x00018774 bnez v0, 0x18760 |
| } while (v0 != 0);
0x00018778 move s0, zero | s0 = 0;
0x0001877c b 0x186ac | goto label_1;
| label_4:
0x00018810 lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
| label_3:
0x00018814 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00018818 jalr t9 | t9 ();
0x0001881c sw v0, 0x80(sp) | *(var_80h) = v0;
0x00018820 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x00018824 beqz v0, 0x186a8 | goto label_2;
| }
0x00018828 lb v1, (v0) | v1 = *(v0);
0x0001882c move s0, zero | s0 = 0;
| if (v1 == 0) {
0x00018830 beqz v1, 0x186ac | goto label_1;
| }
0x00018834 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00018838 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001883c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00018840 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00018844 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00018848 sw s6, 0x20(sp) | *(var_20h) = s6;
| /* str._s_line__d:_garbage_at_end_of_line____.200s_. */
0x0001884c addiu v0, v0, -0x668c | v0 += -0x668c;
0x00018850 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00018854 addiu v0, zero, 1 | v0 = 1;
0x00018858 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001885c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00018860 move a3, zero | a3 = 0;
0x00018864 addiu a2, zero, 0x976 | a2 = 0x976;
| label_9:
0x00018868 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001886c lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.process_server_config_line_depth */
0x00018870 addiu a1, a1, -0x59b0 | a1 += -0x59b0;
| /* str.servconf.c */
0x00018874 addiu a0, a0, -0x7b60 | a0 += -0x7b60;
0x00018878 jalr t9 | t9 ();
0x0001887c lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
0x00018880 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00018884 jalr t9 | t9 ();
0x00018888 move s1, v0 | s1 = v0;
0x0001888c lw gp, 0x38(sp) | gp = *(var_38h);
0x00018890 sw v0, 0x80(sp) | *(var_80h) = v0;
| if (v0 == 0) {
0x00018894 beqz v0, 0x1bc7c | goto label_51;
| }
0x00018898 lb v0, (v0) | v0 = *(v0);
0x0001889c lw v0, 0x40(sp) | v0 = *(var_40h);
| if (v0 == 0) {
0x000188a0 beqz v0, 0x1bc80 | goto label_52;
| }
0x000188a4 lw v0, (s5) | v0 = *(s5);
0x000188a8 lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
| if (v0 == 0) {
0x000188ac beqz v0, 0x18814 | goto label_3;
| }
0x000188b0 lw v0, 0x11e0(s4) | v0 = *((s4 + 1144));
0x000188b4 lw a1, -0x7f34(gp) | a1 = *(gp);
| if (v0 != 0) {
0x000188b8 bnez v0, 0x18814 | goto label_3;
| }
0x000188bc lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
| /* str.internal */
0x000188c0 addiu a1, a1, -0x780c | a1 += -0x780c;
0x000188c4 move a0, s1 | a0 = s1;
0x000188c8 jalr t9 | t9 ();
0x000188cc lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x000188d0 bnez v0, 0x1bc64 | goto label_53;
| }
0x000188d4 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x000188d8 move a0, s1 | a0 = s1;
0x000188dc jalr t9 | t9 ();
0x000188e0 lw gp, 0x38(sp) | gp = *(var_38h);
0x000188e4 sw v0, 0x11e0(s4) | *((s4 + 1144)) = v0;
0x000188e8 b 0x18810 | goto label_4;
| label_17:
0x00018a94 lw t9, -0x7c28(gp) | t9 = sym.kex_names_valid;
0x00018a98 move a0, v0 | a0 = v0;
0x00018a9c jalr t9 | t9 ();
0x00018aa0 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x00018aa4 beqz v0, 0x1c694 | goto label_54;
| }
0x00018aa8 lw v0, 0x488(s4) | v0 = *(s4);
0x00018aac lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
| if (v0 != 0) {
0x00018ab0 bnez v0, 0x18814 | goto label_3;
| }
0x00018ab4 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x00018ab8 lw a0, 0x80(sp) | a0 = *(var_80h);
0x00018abc jalr t9 | t9 ();
0x00018ac0 lw gp, 0x38(sp) | gp = *(var_38h);
0x00018ac4 sw v0, 0x488(s4) | *(s4) = v0;
0x00018ac8 b 0x18810 | goto label_4;
| label_18:
0x00019c50 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00019c54 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.process_server_config_line_depth */
0x00019c58 addiu a1, a1, -0x59b0 | a1 += -0x59b0;
| /* str.servconf.c */
0x00019c5c addiu a0, a0, -0x7b60 | a0 += -0x7b60;
0x00019c60 jalr t9 | t9 ();
0x00019c64 addiu s0, zero, -1 | s0 = -1;
0x00019c68 b 0x186ac | goto label_1;
| label_44:
0x0001a4b4 addiu v0, zero, 0x4c | v0 = 0x4c;
| if (s2 != v0) {
0x0001a4b8 bne s2, v0, 0x1a69c | goto label_55;
| }
0x0001a4bc lw s7, 0x8c(sp) | s7 = *(var_8ch);
0x0001a4c0 lw v0, 0x4c(sp) | v0 = *(var_4ch);
| if (s7 != 0) {
0x0001a4c4 bnez s7, 0x1aae0 | goto label_56;
| }
0x0001a4c8 lw a2, 0x7c(sp) | a2 = *(var_7ch);
0x0001a4cc lw v0, (v0) | v0 = *(v0);
0x0001a4d0 andi v0, v0, 4 | v0 &= 4;
0x0001a4d4 sw a2, 0xa4(sp) | *(var_a4h) = a2;
| if (v0 == 0) {
0x0001a4d8 beqz v0, 0x1b330 | goto label_57;
| }
0x0001a4dc lw v0, -0x7f34(gp) | v0 = *(gp);
| label_23:
0x0001a4e0 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0001a4e4 lw s2, -0x7f34(gp) | s2 = *(gp);
| /* str.checking_syntax_for_Match__s */
0x0001a4e8 addiu v0, v0, -0x6e84 | v0 += -0x6e84;
0x0001a4ec lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001a4f0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001a4f4 addiu v0, zero, 7 | v0 = 7;
0x0001a4f8 sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x0001a4fc sw v1, 0x50(sp) | *(var_50h) = v1;
0x0001a500 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001a504 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001a508 move a3, zero | a3 = 0;
0x0001a50c addiu a2, zero, 0x413 | a2 = 0x413;
| /* str.match_cfg_line */
0x0001a510 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
| /* str.servconf.c */
0x0001a514 addiu a0, v1, -0x7b60 | a0 = v1 + -0x7b60;
0x0001a518 sw zero, 0x44(sp) | *(var_44h) = 0;
0x0001a51c jalr t9 | t9 ();
0x0001a520 lw gp, 0x38(sp) | gp = *(var_38h);
| label_24:
0x0001a524 addiu v0, sp, 0xa4 | v0 = sp + 0xa4;
0x0001a528 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0001a52c lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001a530 lw s0, 0x44(sp) | s0 = *(var_44h);
0x0001a534 sw v0, 0x60(sp) | *(var_60h) = v0;
0x0001a538 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001a53c lw fp, 0x50(sp) | fp = *(var_50h);
0x0001a540 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x0001a544 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001a548 sw zero, 0x54(sp) | *(var_54h) = 0;
| /* str.user__.100s_matched_RDomain__.100s_at_line__d */
0x0001a54c addiu v0, v0, -0x6ab4 | v0 += -0x6ab4;
0x0001a550 sw v0, 0x64(sp) | *(var_64h) = v0;
0x0001a554 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001a558 addiu s7, zero, 1 | s7 = 1;
| /* str.connection_from__.100s_matched_LocalPort__d_at_line__d */
0x0001a55c addiu v0, v0, -0x6af8 | v0 += -0x6af8;
0x0001a560 sw v0, 0x68(sp) | *(var_68h) = v0;
0x0001a564 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.connection_from__.100s_matched_LocalAddress__.100s_at_line__d */
0x0001a568 addiu v0, v0, -0x6b78 | v0 += -0x6b78;
0x0001a56c sw v0, 0x6c(sp) | *(var_6ch) = v0;
| do {
| label_5:
0x0001a570 lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
0x0001a574 lw a0, 0x58(sp) | a0 = *(var_58h);
0x0001a578 jalr t9 | t9 ();
0x0001a57c move s4, v0 | s4 = v0;
0x0001a580 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0001a584 beqz v0, 0x1b210 | goto label_58;
| }
0x0001a588 lb v0, (v0) | v0 = *(v0);
0x0001a58c lw t9, -0x7f44(gp) | t9 = *(gp);
| if (v0 == 0) {
0x0001a590 beqz v0, 0x1b210 | goto label_58;
| }
0x0001a594 lw a0, 0x54(sp) | a0 = *(var_54h);
0x0001a598 addiu a1, zero, 1 | a1 = 1;
0x0001a59c jalr t9 | t9 ();
0x0001a5a0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a5a4 lw v1, 0x60(sp) | v1 = *(var_60h);
0x0001a5a8 move a0, s4 | a0 = s4;
0x0001a5ac lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
0x0001a5b0 addiu a1, v1, -0x1e20 | a1 = v1 + -0x1e20;
0x0001a5b4 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0001a5b8 jalr t9 | t9 ();
0x0001a5bc lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0001a5c0 beqz v0, 0x1b790 | goto label_59;
| }
0x0001a5c4 lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
0x0001a5c8 lw a0, 0x58(sp) | a0 = *(var_58h);
0x0001a5cc jalr t9 | t9 ();
0x0001a5d0 move s1, v0 | s1 = v0;
0x0001a5d4 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0001a5d8 beqz v0, 0x1b1c8 | goto label_60;
| }
0x0001a5dc lb v0, (v0) | v0 = *(v0);
0x0001a5e0 lw v0, 0x5c(sp) | v0 = *(var_5ch);
| if (v0 == 0) {
0x0001a5e4 beqz v0, 0x1b1c8 | goto label_60;
| }
0x0001a5e8 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
0x0001a5ec addiu a1, v0, 0x3a2c | a1 = v0 + 0x3a2c;
0x0001a5f0 move a0, s4 | a0 = s4;
0x0001a5f4 jalr t9 | t9 ();
0x0001a5f8 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0001a5fc bnez v0, 0x1ac90 | goto label_61;
| }
0x0001a600 beql s0, zero, 0x1a570 |
| } while (s0 == 0);
0x0001a604 move s7, zero | s7 = 0;
0x0001a608 lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x0001a60c lw a0, (s0) | a0 = *(s0);
| if (v0 == 0) {
0x0001a610 beqz v0, 0x1ad50 | goto label_62;
| }
| if (a0 == 0) {
0x0001a614 beql a0, zero, 0x1a570 | goto label_5;
| }
0x0001a618 move s7, zero | s7 = 0;
0x0001a61c lw t9, -0x7bf4(gp) | t9 = sym.match_usergroup_pattern_list;
| label_15:
0x0001a620 move a1, s1 | a1 = s1;
0x0001a624 jalr t9 | t9 ();
0x0001a628 addiu v1, zero, 1 | v1 = 1;
0x0001a62c lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != v1) {
0x0001a630 beq v0, v1, 0x1a63c |
| label_16:
0x0001a634 move s7, zero | s7 = 0;
0x0001a638 b 0x1a570 | goto label_5;
| }
0x0001a63c sw s6, 0x24(sp) | *(var_24h) = s6;
0x0001a640 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0001a644 lw v0, (s0) | v0 = *(s0);
0x0001a648 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001a64c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001a650 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001a654 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.user__.100s_matched_User__.100s_at_line__d */
0x0001a658 addiu v0, v0, -0x6dc0 | v0 += -0x6dc0;
0x0001a65c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001a660 addiu v0, zero, 5 | v0 = 5;
0x0001a664 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001a668 move a3, zero | a3 = 0;
0x0001a66c addiu a2, zero, 0x436 | a2 = 0x436;
| /* str.match_cfg_line */
0x0001a670 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001a674 addiu a0, fp, -0x7b60 | a0 = fp + -0x7b60;
0x0001a678 jalr t9 | t9 ();
0x0001a67c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a680 b 0x1a570 | goto label_5;
| label_48:
0x0001a684 addiu v0, zero, 1 | v0 = 1;
0x0001a688 sw v0, 0x8c(sp) | *(var_8ch) = v0;
0x0001a68c move s1, zero | s1 = 0;
0x0001a690 move s2, zero | s2 = 0;
0x0001a694 addiu s5, sp, 0x8c | s5 = sp + 0x8c;
| label_8:
0x0001a698 addiu v0, zero, 0x4c | v0 = 0x4c;
| label_55:
0x0001a69c lw v0, -0x7f34(gp) | v0 = *(gp);
| if (s2 != v0) {
0x0001a6a0 bne s2, v0, 0x1ab50 | goto label_63;
| }
0x0001a6a4 lw v0, 0x8c(sp) | v0 = *(var_8ch);
0x0001a6a8 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 != 0) {
0x0001a6ac bnez v0, 0x1b768 | goto label_64;
| }
0x0001a6b0 lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x0001a6b4 sw v0, 0x74(sp) | *(var_74h) = v0;
0x0001a6b8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001a6bc sw zero, 0x90(sp) | *(var_90h) = 0;
| /* str._s_line__d:_new_include__s */
0x0001a6c0 addiu v0, v0, -0x6f80 | v0 += -0x6f80;
0x0001a6c4 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0001a6c8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001a6cc sw s4, 0x58(sp) | *(var_58h) = s4;
| /* str._s_line__d:_including__s */
0x0001a6d0 addiu v0, v0, -0x6f08 | v0 += -0x6f08;
0x0001a6d4 sw v0, 0x64(sp) | *(var_64h) = v0;
0x0001a6d8 lw v0, -0x7bf0(gp) | v0 = *(gp);
0x0001a6dc sw s6, 0x10c(sp) | *(arg_10ch) = s6;
| /* fcn.0001cabc */
0x0001a6e0 addiu v0, v0, -0x3544 | v0 += -0x3544;
0x0001a6e4 sw v0, 0x54(sp) | *(var_54h) = v0;
| label_12:
0x0001a6e8 lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
0x0001a6ec lw a0, 0x48(sp) | a0 = *(var_48h);
0x0001a6f0 jalr t9 | t9 ();
0x0001a6f4 move s0, v0 | s0 = v0;
0x0001a6f8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a6fc sw v0, 0x84(sp) | *(var_84h) = v0;
| if (v0 == 0) {
0x0001a700 beqz v0, 0x1b1bc | goto label_65;
| }
0x0001a704 lb v0, (v0) | v0 = *(v0);
0x0001a708 lw a0, 0x90(sp) | a0 = *(var_90h);
| if (v0 == 0) {
0x0001a70c beqz v0, 0x1b17c | goto label_66;
| }
0x0001a710 lw t9, -0x7f44(gp) | t9 = *(gp);
0x0001a714 addiu a1, zero, 1 | a1 = 1;
0x0001a718 jalr t9 | t9 ();
0x0001a71c sw v0, 0x90(sp) | *(var_90h) = v0;
0x0001a720 lb v0, (s0) | v0 = *(s0);
0x0001a724 addiu v1, zero, 0x2f | v1 = 0x2f;
0x0001a728 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == v1) {
0x0001a72c beq v0, v1, 0x1abe0 | goto label_67;
| }
0x0001a730 addiu v1, zero, 0x7e | v1 = 0x7e;
0x0001a734 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
| if (v0 == v1) {
0x0001a738 beq v0, v1, 0x1abe4 | goto label_68;
| }
0x0001a73c lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001a740 lw v0, 0x74(sp) | v0 = *(var_74h);
0x0001a744 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x0001a748 move a3, s0 | a3 = s0;
0x0001a74c addiu a2, v0, -0x6f8c | a2 = v0 + -0x6f8c;
| /* esilref: '&s/&s' */
0x0001a750 addiu a1, a1, -0x78f8 | a1 += -0x78f8;
0x0001a754 addiu a0, sp, 0x80 | a0 = sp + 0x80;
0x0001a758 jalr t9 | t9 ();
0x0001a75c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a760 lw s2, 0x80(sp) | s2 = *(var_80h);
| label_13:
0x0001a764 lw s6, (s7) | s6 = *(s7);
0x0001a768 lw s0, (s5) | s0 = *(s5);
| if (s6 == 0) {
0x0001a76c beqz s6, 0x1a814 | goto label_69;
| }
0x0001a770 move fp, zero | fp = 0;
0x0001a774 move s4, s6 | s4 = s6;
0x0001a778 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| do {
0x0001a77c lw a0, (s4) | a0 = *(s4);
0x0001a780 move a1, s2 | a1 = s2;
0x0001a784 jalr t9 | t9 ();
0x0001a788 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0001a78c bnez v0, 0x1a800 |
0x0001a790 lw fp, 4(s4) | fp = *((s4 + 1));
| if (fp != 0) {
0x0001a794 beql fp, zero, 0x1a7fc |
0x0001a798 sw s0, (s5) | *(s5) = s0;
0x0001a79c lw s2, (s1) | s2 = *(s1);
0x0001a7a0 andi s2, s2, 8 | s2 &= 8;
0x0001a7a4 lw s6, 8(s4) | s6 = *((s4 + 2));
| if (s2 != 0) {
0x0001a7a8 bnez s2, 0x1aac4 | goto label_70;
| }
0x0001a7ac addiu s2, zero, 4 | s2 = 4;
| if (s0 == 0) {
0x0001a7b0 movn s2, zero, s0 | s2 = 0;
| }
| label_7:
0x0001a7b4 lw t9, -0x7f44(gp) | t9 = *(gp);
0x0001a7b8 lw a0, 0x11c(sp) | a0 = *(arg_11ch);
0x0001a7bc addiu a1, zero, 1 | a1 = 1;
0x0001a7c0 jalr t9 | t9 ();
0x0001a7c4 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001a7c8 lw v0, 0x44(sp) | v0 = *(var_44h);
0x0001a7cc lw a0, 0x58(sp) | a0 = *(var_58h);
0x0001a7d0 lw t9, 0x54(sp) | t9 = *(var_54h);
0x0001a7d4 sw s2, 0x14(sp) | *(var_14h) = s2;
0x0001a7d8 sw s5, 0x18(sp) | *(var_18h) = s5;
0x0001a7dc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001a7e0 move a3, s7 | a3 = s7;
0x0001a7e4 move a2, s6 | a2 = s6;
0x0001a7e8 move a1, fp | a1 = fp;
0x0001a7ec jalr t9 | t9 ();
0x0001a7f0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a7f4 lw s2, 0x80(sp) | s2 = *(var_80h);
0x0001a7f8 sw s0, (s5) | *(s5) = s0;
| }
0x0001a7fc addiu fp, zero, 1 | fp = 1;
| }
0x0001a800 lw s4, 0xc(s4) | s4 = *((s4 + 3));
0x0001a804 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
0x0001a808 bnez s4, 0x1a77c |
| } while (s4 != 0);
0x0001a80c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
| if (fp != 0) {
0x0001a810 bnez fp, 0x1abfc | goto label_71;
| }
| label_69:
0x0001a814 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001a818 lw v1, -0x7f34(gp) | v1 = *(gp);
| /* str.process_server_config_line_depth */
0x0001a81c addiu a1, v0, -0x59b0 | a1 = v0 + -0x59b0;
0x0001a820 sw v0, 0x68(sp) | *(var_68h) = v0;
0x0001a824 lw v0, 0x10c(sp) | v0 = *(arg_10ch);
0x0001a828 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001a82c sw v0, 0x20(sp) | *(var_20h) = v0;
0x0001a830 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001a834 addiu fp, zero, 6 | fp = 6;
0x0001a838 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001a83c lw v0, 0x70(sp) | v0 = *(var_70h);
| /* str.servconf.c */
0x0001a840 addiu a0, v1, -0x7b60 | a0 = v1 + -0x7b60;
0x0001a844 sw v1, 0x50(sp) | *(var_50h) = v1;
0x0001a848 move a3, zero | a3 = 0;
0x0001a84c addiu a2, zero, 0x814 | a2 = 0x814;
0x0001a850 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001a854 sw s2, 0x24(sp) | *(var_24h) = s2;
0x0001a858 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001a85c sw fp, 0x10(sp) | *(var_10h) = fp;
0x0001a860 jalr t9 | t9 ();
0x0001a864 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a868 addiu v0, sp, 0xa4 | v0 = sp + 0xa4;
0x0001a86c lw a0, 0x80(sp) | a0 = *(var_80h);
0x0001a870 lw t9, -0x7bec(gp) | t9 = sym._ssh__compat_glob;
0x0001a874 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0001a878 move a3, v0 | a3 = v0;
0x0001a87c move a2, zero | a2 = 0;
0x0001a880 move a1, zero | a1 = 0;
0x0001a884 jalr t9 | t9 ();
0x0001a888 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0001a88c beqz v0, 0x1a92c |
0x0001a890 addiu v1, zero, -3 | v1 = -3;
0x0001a894 lw t0, 0x80(sp) | t0 = *(var_80h);
| if (v0 != v1) {
0x0001a898 bne v0, v1, 0x1b8b8 | goto label_72;
| }
0x0001a89c lw v0, 0x68(sp) | v0 = *(var_68h);
0x0001a8a0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001a8a4 addiu a1, v0, -0x59b0 | a1 = v0 + -0x59b0;
0x0001a8a8 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001a8ac move a3, zero | a3 = 0;
0x0001a8b0 addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001a8b4 lw v0, 0x10c(sp) | v0 = *(arg_10ch);
0x0001a8b8 addiu a2, zero, 0x820 | a2 = aav.0x00000820;
0x0001a8bc sw v0, 0x20(sp) | *(var_20h) = v0;
0x0001a8c0 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001a8c4 sw t0, 0x24(sp) | *(var_24h) = t0;
0x0001a8c8 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001a8cc lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001a8d0 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str._s_line__d:_no_match_for__s */
0x0001a8d4 addiu v0, v0, -0x6f3c | v0 += -0x6f3c;
0x0001a8d8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001a8dc sw fp, 0x10(sp) | *(var_10h) = fp;
0x0001a8e0 jalr t9 | t9 ();
0x0001a8e4 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a8e8 addiu a1, zero, 0x14 | a1 = 0x14;
0x0001a8ec lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x0001a8f0 addiu a0, zero, 1 | a0 = 1;
0x0001a8f4 jalr t9 | t9 ();
0x0001a8f8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a8fc lw a0, 0x80(sp) | a0 = *(var_80h);
0x0001a900 lw t9, -0x71dc(gp) | t9 = sym.imp.strdup;
0x0001a904 move s2, v0 | s2 = v0;
0x0001a908 jalr t9 | t9 ();
0x0001a90c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a910 sw v0, (s2) | *(s2) = v0;
0x0001a914 sw zero, 0xc(s2) | *((s2 + 3)) = 0;
0x0001a918 lw v0, 4(s7) | v0 = *((s7 + 1));
0x0001a91c addiu v1, s2, 0xc | v1 = s2 + 0xc;
0x0001a920 sw v0, 0x10(s2) | *((s2 + 4)) = v0;
0x0001a924 sw s2, (v0) | *(v0) = s2;
0x0001a928 sw v1, 4(s7) | *((s7 + 1)) = v1;
| }
0x0001a92c lw v0, 0xa4(sp) | v0 = *(var_a4h);
| if (v0 < 0) {
0x0001a930 bltzl v0, 0x1b744 | goto label_73;
| }
0x0001a934 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001a938 lw v0, -0x7e60(gp) | v0 = sym.load_server_config;
| if (v0 == 0) {
0x0001a93c beqz v0, 0x1abbc | goto label_74;
| }
0x0001a940 move s2, zero | s2 = 0;
0x0001a944 sw v0, 0x60(sp) | *(var_60h) = v0;
0x0001a948 lw v0, 0x68(sp) | v0 = *(var_68h);
0x0001a94c addiu v0, v0, -0x59b0 | v0 += -0x59b0;
0x0001a950 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x0001a954 b 0x1a9e4 |
| while (s6 == 0) {
0x0001a958 addiu v0, zero, 4 | v0 = 4;
| if (s0 != 0) {
0x0001a95c movz s6, v0, s0 | s6 = v0;
| }
| label_6:
0x0001a960 lw t9, -0x7f44(gp) | t9 = *(gp);
0x0001a964 lw a0, 0x11c(sp) | a0 = *(arg_11ch);
0x0001a968 sw a2, 0x4c(sp) | *(var_4ch) = a2;
0x0001a96c addiu a1, zero, 1 | a1 = 1;
0x0001a970 jalr t9 | t9 ();
0x0001a974 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001a978 lw v0, 0x44(sp) | v0 = *(var_44h);
0x0001a97c lw a2, 0x4c(sp) | a2 = *(var_4ch);
0x0001a980 lw a0, 0x58(sp) | a0 = *(var_58h);
0x0001a984 lw t9, 0x54(sp) | t9 = *(var_54h);
0x0001a988 move a3, s7 | a3 = s7;
0x0001a98c move a1, fp | a1 = fp;
0x0001a990 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001a994 sw s5, 0x18(sp) | *(var_18h) = s5;
0x0001a998 sw s6, 0x14(sp) | *(var_14h) = s6;
0x0001a99c jalr t9 | t9 ();
0x0001a9a0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a9a4 sw s0, (s5) | *(s5) = s0;
0x0001a9a8 sw zero, 0xc(s4) | *((s4 + 3)) = 0;
0x0001a9ac lw v0, 4(s7) | v0 = *((s7 + 1));
0x0001a9b0 addiu a2, s4, 0xc | a2 = s4 + 0xc;
0x0001a9b4 lw t9, -0x7f44(gp) | t9 = *(gp);
0x0001a9b8 sw v0, 0x10(s4) | *((s4 + 4)) = v0;
0x0001a9bc move a0, s2 | a0 = s2;
0x0001a9c0 sw s4, (v0) | *(v0) = s4;
0x0001a9c4 addiu a1, zero, 1 | a1 = 1;
0x0001a9c8 sw a2, 4(s7) | *((s7 + 1)) = a2;
0x0001a9cc jalr t9 | t9 ();
0x0001a9d0 move s2, v0 | s2 = v0;
0x0001a9d4 lw v0, 0xa4(sp) | v0 = *(var_a4h);
0x0001a9d8 slt v0, s2, v0 | v0 = (s2 < v0) ? 1 : 0;
0x0001a9dc lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0001a9e0 beqz v0, 0x1abbc | goto label_74;
| }
0x0001a9e4 lw v0, 0xb4(sp) | v0 = *(var_b4h);
0x0001a9e8 sll t0, s2, 2 | t0 = s2 << 2;
0x0001a9ec lw v1, 0x50(sp) | v1 = *(var_50h);
0x0001a9f0 lwx v0, t0(v0) | __asm ("lwx v0, t0(v0)");
0x0001a9f4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001a9f8 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0001a9fc lw v0, 0x10c(sp) | v0 = *(arg_10ch);
0x0001aa00 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x0001aa04 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0001aa08 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001aa0c addiu a0, v1, -0x7b60 | a0 = v1 + -0x7b60;
0x0001aa10 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001aa14 lw v0, 0x64(sp) | v0 = *(var_64h);
0x0001aa18 move a3, zero | a3 = 0;
0x0001aa1c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001aa20 addiu v0, zero, 6 | v0 = 6;
0x0001aa24 addiu a2, zero, 0x82a | a2 = 0x82a;
0x0001aa28 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001aa2c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001aa30 move s6, t0 | s6 = t0;
0x0001aa34 jalr t9 | t9 ();
0x0001aa38 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001aa3c addiu a1, zero, 0x14 | a1 = 0x14;
0x0001aa40 lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x0001aa44 addiu a0, zero, 1 | a0 = 1;
0x0001aa48 jalr t9 | t9 ();
0x0001aa4c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001aa50 lw a0, 0x80(sp) | a0 = *(var_80h);
0x0001aa54 lw t9, -0x71dc(gp) | t9 = sym.imp.strdup;
0x0001aa58 move s4, v0 | s4 = v0;
0x0001aa5c jalr t9 | t9 ();
0x0001aa60 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001aa64 sw v0, (s4) | *(s4) = v0;
0x0001aa68 lw a0, 0xb4(sp) | a0 = *(var_b4h);
0x0001aa6c lw t9, -0x71dc(gp) | t9 = sym.imp.strdup;
0x0001aa70 lwx a0, s6(a0) | __asm ("lwx a0, s6(a0)");
0x0001aa74 jalr t9 | t9 ();
0x0001aa78 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001aa7c lw t9, -0x7fa8(gp) | t9 = sym.sshbuf_new;
0x0001aa80 sw v0, 4(s4) | *((s4 + 1)) = v0;
0x0001aa84 jalr t9 | t9 ();
0x0001aa88 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001aa8c sw v0, 8(s4) | *((s4 + 2)) = v0;
| if (v0 == 0) {
0x0001aa90 beqz v0, 0x1b70c | goto label_75;
| }
0x0001aa94 lw a0, 4(s4) | a0 = *((s4 + 1));
0x0001aa98 lw t9, 0x60(sp) | t9 = *(var_60h);
0x0001aa9c move a1, v0 | a1 = v0;
0x0001aaa0 jalr t9 | t9 ();
0x0001aaa4 lw t0, (s1) | t0 = *(s1);
0x0001aaa8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001aaac andi s6, t0, 8 | s6 = t0 & 8;
0x0001aab0 lw fp, 4(s4) | fp = *((s4 + 1));
0x0001aab4 lw a2, 8(s4) | a2 = *((s4 + 2));
0x0001aab8 beqz s6, 0x1a958 |
| }
0x0001aabc addiu s6, zero, 8 | s6 = 8;
0x0001aac0 b 0x1a960 | goto label_6;
| label_70:
0x0001aac4 addiu s2, zero, 8 | s2 = 8;
0x0001aac8 b 0x1a7b4 | goto label_7;
| label_43:
0x0001aacc addiu v1, zero, 1 | v1 = 1;
0x0001aad0 addiu v0, zero, 0x44 | v0 = 0x44;
0x0001aad4 sw v1, 0x8c(sp) | *(var_8ch) = v1;
0x0001aad8 addiu s5, sp, 0x8c | s5 = sp + 0x8c;
| if (s2 != v0) {
0x0001aadc bne s2, v0, 0x1a698 | goto label_8;
| }
| label_56:
0x0001aae0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001aae4 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.Match_directive_not_supported_as_a_command_line_option */
0x0001aae8 addiu v0, v0, -0x6ebc | v0 += -0x6ebc;
0x0001aaec sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001aaf0 addiu v0, zero, 1 | v0 = 1;
0x0001aaf4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001aaf8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001aafc move a3, zero | a3 = 0;
0x0001ab00 addiu a2, zero, 0x848 | a2 = 0x848;
| label_32:
0x0001ab04 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001ab08 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.process_server_config_line_depth */
0x0001ab0c addiu a1, a1, -0x59b0 | a1 += -0x59b0;
| /* str.servconf.c */
0x0001ab10 addiu a0, a0, -0x7b60 | a0 += -0x7b60;
0x0001ab14 jalr t9 | t9 ();
0x0001ab18 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001ab1c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0001ab20 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001ab24 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001ab28 sw s2, 0x24(sp) | *(var_24h) = s2;
| /* str._s_line__d:_unsupported_option___s_. */
0x0001ab2c addiu v0, v0, -0x7540 | v0 += -0x7540;
0x0001ab30 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001ab34 addiu v0, zero, 1 | v0 = 1;
0x0001ab38 sw s6, 0x20(sp) | *(var_20h) = s6;
0x0001ab3c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001ab40 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001ab44 move a3, zero | a3 = 0;
0x0001ab48 addiu a2, zero, 0x57e | a2 = 0x57e;
0x0001ab4c b 0x18868 | goto label_9;
| label_63:
0x0001ab50 sw v0, 0x50(sp) | *(var_50h) = v0;
| label_14:
0x0001ab54 lw v0, 0x7c(sp) | v0 = *(var_7ch);
0x0001ab58 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001ab5c sw v0, 0x28(sp) | *(var_28h) = v0;
0x0001ab60 lw v0, 0x80(sp) | v0 = *(var_80h);
0x0001ab64 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001ab68 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0001ab6c lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001ab70 sw s6, 0x20(sp) | *(var_20h) = s6;
0x0001ab74 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001ab78 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001ab7c sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str._s:_d_setting__s__s */
0x0001ab80 addiu v0, v0, -0x7740 | v0 += -0x7740;
0x0001ab84 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001ab88 addiu v0, zero, 7 | v0 = 7;
0x0001ab8c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001ab90 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001ab94 move a3, zero | a3 = 0;
0x0001ab98 addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001ab9c addiu a2, zero, 0x511 | a2 = 0x511;
| /* str.process_server_config_line_depth */
0x0001aba0 addiu a1, a1, -0x59b0 | a1 += -0x59b0;
0x0001aba4 jalr t9 | t9 ();
0x0001aba8 lw a0, (s5) | a0 = *(s5);
0x0001abac lw gp, 0x38(sp) | gp = *(var_38h);
| if (a0 != 0) {
0x0001abb0 bnez a0, 0x18660 | goto label_10;
| }
0x0001abb4 andi s1, s1, 2 | s1 &= 2;
0x0001abb8 b 0x18658 | goto label_11;
| label_74:
0x0001abbc lw t9, -0x7be8(gp) | t9 = sym._ssh__compat_globfree;
0x0001abc0 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0001abc4 jalr t9 | t9 ();
0x0001abc8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001abcc lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0001abd0 lw a0, 0x80(sp) | a0 = *(var_80h);
0x0001abd4 jalr t9 | t9 ();
0x0001abd8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001abdc b 0x1a6e8 | goto label_12;
| label_67:
0x0001abe0 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
| label_68:
0x0001abe4 move a0, s0 | a0 = s0;
0x0001abe8 jalr t9 | t9 ();
0x0001abec move s2, v0 | s2 = v0;
0x0001abf0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001abf4 sw v0, 0x80(sp) | *(var_80h) = v0;
0x0001abf8 b 0x1a764 | goto label_13;
| label_71:
0x0001abfc move a0, s2 | a0 = s2;
0x0001ac00 jalr t9 | t9 ();
0x0001ac04 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001ac08 b 0x1a6e8 | goto label_12;
| label_49:
0x0001ac0c move s1, zero | s1 = 0;
0x0001ac10 b 0x1ab54 | goto label_14;
| label_61:
0x0001ac90 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001ac94 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
| /* str.group */
0x0001ac98 addiu a1, a1, -0x6d90 | a1 += -0x6d90;
0x0001ac9c move a0, s4 | a0 = s4;
0x0001aca0 jalr t9 | t9 ();
0x0001aca4 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0001aca8 bnez v0, 0x1ad74 | goto label_76;
| }
| if (s0 == 0) {
0x0001acac beql s0, zero, 0x1a570 | goto label_5;
| }
0x0001acb0 move s7, zero | s7 = 0;
0x0001acb4 lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x0001acb8 lw s4, (s0) | s4 = *(s0);
| if (v0 == 0) {
0x0001acbc beqz v0, 0x1b2ec | goto label_77;
| }
| if (s4 == 0) {
0x0001acc0 beql s4, zero, 0x1a570 | goto label_5;
| }
0x0001acc4 move s7, zero | s7 = 0;
0x0001acc8 lw t9, -0x71fc(gp) | t9 = sym.imp.getpwnam;
| label_21:
0x0001accc move a0, s4 | a0 = s4;
0x0001acd0 jalr t9 | t9 ();
0x0001acd4 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0001acd8 beqz v0, 0x1b43c | goto label_78;
| }
0x0001acdc lw t9, -0x7be4(gp) | t9 = sym.ga_init;
0x0001ace0 lw a1, 0xc(v0) | a1 = *((v0 + 3));
0x0001ace4 lw a0, (v0) | a0 = *(v0);
0x0001ace8 bal 0x3133c | sym_ga_init ();
0x0001acec lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0001acf0 bnez v0, 0x1b3dc | goto label_79;
| }
0x0001acf4 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001acf8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001acfc lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001ad00 move a3, zero | a3 = 0;
0x0001ad04 addiu a2, zero, 0x3f2 | a2 = 0x3f2;
| /* str.match_cfg_line_group */
0x0001ad08 addiu a1, a1, -0x5a10 | a1 += -0x5a10;
0x0001ad0c addiu a0, fp, -0x7b60 | a0 = fp + -0x7b60;
0x0001ad10 sw s6, 0x20(sp) | *(var_20h) = s6;
0x0001ad14 sw s4, 0x1c(sp) | *(var_1ch) = s4;
| /* str.Cant_Match_group_because_user__.100s_not_in_any_group_at_line__d */
0x0001ad18 addiu v0, v0, -0x6d40 | v0 += -0x6d40;
| label_26:
0x0001ad1c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001ad20 addiu v0, zero, 5 | v0 = 5;
0x0001ad24 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001ad28 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001ad2c jalr t9 | t9 ();
0x0001ad30 lw gp, 0x38(sp) | gp = *(var_38h);
| label_25:
0x0001ad34 lw t9, -0x7be0(gp) | t9 = sym.ga_free;
0x0001ad38 move s7, zero | s7 = 0;
0x0001ad3c bal 0x31288 | sym_ga_free ();
0x0001ad40 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001ad44 b 0x1a570 | goto label_5;
| label_62:
0x0001ad50 lw t9, -0x7bf4(gp) | t9 = sym.match_usergroup_pattern_list;
| if (a0 != 0) {
0x0001ad54 bnez a0, 0x1a620 | goto label_15;
| }
0x0001ad58 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x0001ad5c lw a0, -0x7f34(gp) | a0 = *(gp);
0x0001ad60 lw t9, -0x7f48(gp) | t9 = *(gp);
0x0001ad64 addiu a1, v0, 0x3a2c | a1 = v0 + 0x3a2c;
| /* fcn.00015dd0 */
0x0001ad68 addiu t9, t9, 0x5dd0 | t9 += 0x5dd0;
| /* str.User */
0x0001ad6c addiu a0, a0, -0x6dc8 | a0 += -0x6dc8;
0x0001ad70 bal 0x15dd0 | fcn_00015dd0 ();
| label_76:
0x0001ad74 lw v1, -0x7e48(gp) | v1 = *(gp);
0x0001ad78 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
| /* esilref: 'host' */
0x0001ad7c addiu a1, v1, -0x4df8 | a1 = v1 + -0x4df8;
0x0001ad80 sw v1, 0x70(sp) | *(var_70h) = v1;
0x0001ad84 move a0, s4 | a0 = s4;
0x0001ad88 jalr t9 | t9 ();
0x0001ad8c lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0001ad90 bnez v0, 0x1ae20 | goto label_80;
| }
| if (s0 == 0) {
0x0001ad94 beql s0, zero, 0x1a570 | goto label_5;
| }
0x0001ad98 move s7, zero | s7 = 0;
0x0001ad9c lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x0001ada0 lw a0, 4(s0) | a0 = *((s0 + 1));
0x0001ada4 lw v1, 0x70(sp) | v1 = *(var_70h);
| if (v0 == 0) {
0x0001ada8 beqz v0, 0x1b310 | goto label_81;
| }
| if (a0 == 0) {
0x0001adac beql a0, zero, 0x1a570 | goto label_5;
| }
0x0001adb0 move s7, zero | s7 = 0;
0x0001adb4 lw t9, -0x7bdc(gp) | t9 = sym.match_hostname;
| label_22:
0x0001adb8 move a1, s1 | a1 = s1;
0x0001adbc jalr t9 | t9 ();
0x0001adc0 addiu v1, zero, 1 | v1 = 1;
0x0001adc4 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != v1) {
0x0001adc8 bne v0, v1, 0x1a634 | goto label_16;
| }
0x0001adcc sw s6, 0x24(sp) | *(var_24h) = s6;
0x0001add0 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0001add4 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0001add8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001addc sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001ade0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001ade4 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.connection_from__.100s_matched_Host__.100s_at_line__d */
0x0001ade8 addiu v0, v0, -0x6c88 | v0 += -0x6c88;
0x0001adec sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001adf0 addiu v0, zero, 5 | v0 = 5;
0x0001adf4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001adf8 move a3, zero | a3 = 0;
0x0001adfc addiu a2, zero, 0x44f | a2 = 0x44f;
| /* str.match_cfg_line */
0x0001ae00 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001ae04 addiu a0, fp, -0x7b60 | a0 = fp + -0x7b60;
0x0001ae08 jalr t9 | t9 ();
0x0001ae0c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001ae10 b 0x1a570 | goto label_5;
| label_80:
0x0001ae20 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001ae24 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
| /* esilref: 'address' */
0x0001ae28 addiu a1, a1, 0x3780 | a1 += 0x3780;
0x0001ae2c move a0, s4 | a0 = s4;
0x0001ae30 jalr t9 | t9 ();
0x0001ae34 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0001ae38 bnez v0, 0x1b4f4 | goto label_82;
| }
0x0001ae3c lw t9, -0x7bd8(gp) | t9 = sym.addr_match_list;
| if (s0 == 0) {
0x0001ae40 beqz s0, 0x1b5ec | goto label_83;
| }
0x0001ae44 lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x0001ae48 lw a0, 8(s0) | a0 = *((s0 + 2));
| if (v0 == 0) {
0x0001ae4c beqz v0, 0x1bbac | goto label_84;
| }
0x0001ae50 move a1, s1 | a1 = s1;
| if (a0 == 0) {
0x0001ae54 beqz a0, 0x1b5f0 | goto label_85;
| }
0x0001ae58 lw t9, -0x7bd8(gp) | t9 = sym.addr_match_list;
| label_34:
0x0001ae5c move a1, s1 | a1 = s1;
0x0001ae60 jalr t9 | t9 ();
0x0001ae64 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 > 0) {
0x0001ae68 bgtz v0, 0x1b4a4 | goto label_86;
| }
| label_27:
0x0001ae6c slti v1, v0, -1 | v1 = (v0 < -1) ? 1 : 0;
0x0001ae70 addiu v1, zero, -2 | v1 = -2;
| if (v1 == 0) {
0x0001ae74 beqz v1, 0x1a634 | goto label_16;
| }
0x0001ae78 addiu v0, zero, -1 | v0 = -1;
| if (v0 != v1) {
0x0001ae7c bne v0, v1, 0x1a570 | goto label_5;
| }
0x0001ae80 sw v0, 0x90(sp) | *(var_90h) = v0;
| label_20:
0x0001ae84 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001ae88 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001ae8c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001ae90 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001ae94 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str._s_line__d:_Bad_Match_condition */
0x0001ae98 addiu v0, v0, -0x6a28 | v0 += -0x6a28;
0x0001ae9c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001aea0 addiu v0, zero, 1 | v0 = 1;
0x0001aea4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001aea8 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001aeac sw s6, 0x20(sp) | *(var_20h) = s6;
0x0001aeb0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001aeb4 move a3, zero | a3 = 0;
0x0001aeb8 addiu a2, zero, 0x84d | a2 = 0x84d;
| /* str.process_server_config_line_depth */
0x0001aebc addiu a1, a1, -0x59b0 | a1 += -0x59b0;
0x0001aec0 addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001aec4 jalr t9 | t9 ();
0x0001aec8 lw v0, (s5) | v0 = *(s5);
0x0001aecc lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
| if (v0 == 0) {
0x0001aed0 beqz v0, 0x18814 | goto label_3;
| }
0x0001aed4 lw v1, 0x44(sp) | v1 = *(var_44h);
| if (fp != 0) {
0x0001aed8 bnez fp, 0x18814 | goto label_3;
| }
0x0001aedc lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x0001aee0 addiu v0, zero, 1 | v0 = 1;
0x0001aee4 addiu a1, zero, 4 | a1 = 4;
0x0001aee8 addiu a0, zero, 1 | a0 = 1;
0x0001aeec sw v0, (v1) | *(v1) = v0;
0x0001aef0 jalr t9 | t9 ();
0x0001aef4 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001aef8 lw a0, 0x80(sp) | a0 = *(var_80h);
0x0001aefc move s1, v0 | s1 = v0;
0x0001af00 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0001af04 sw v0, (s4) | *(s4) = v0;
0x0001af08 jalr t9 | t9 ();
0x0001af0c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001af10 sw v0, (s1) | *(s1) = v0;
0x0001af14 b 0x18810 | goto label_4;
| label_47:
0x0001afb8 lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001afbc jalr t9 | t9 ();
0x0001afc0 nop |
0x0001afc4 addiu v0, v0, 1 | v0++;
0x0001afc8 b 0x18a94 | goto label_17;
| label_66:
0x0001b17c lw s6, 0x10c(sp) | s6 = *(arg_10ch);
| label_19:
0x0001b180 lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
| if (a0 == 0) {
0x0001b184 bnel a0, zero, 0x18814 | goto label_3;
| }
0x0001b188 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001b18c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0001b190 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001b194 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b198 sw s6, 0x20(sp) | *(var_20h) = s6;
| /* str._s_line__d:_Include_missing_filename_argument */
0x0001b19c addiu v0, v0, -0x6eec | v0 += -0x6eec;
0x0001b1a0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b1a4 addiu v0, zero, 1 | v0 = 1;
0x0001b1a8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b1ac sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b1b0 move a3, zero | a3 = 0;
0x0001b1b4 addiu a2, zero, 0x841 | a2 = 0x841;
0x0001b1b8 b 0x19c50 | goto label_18;
| label_65:
0x0001b1bc lw s6, 0x10c(sp) | s6 = *(arg_10ch);
0x0001b1c0 lw a0, 0x90(sp) | a0 = *(var_90h);
0x0001b1c4 b 0x1b180 | goto label_19;
| label_60:
0x0001b1c8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b1cc lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.Missing_Match_criteria_for__s */
0x0001b1d0 addiu v0, v0, -0x6de8 | v0 += -0x6de8;
0x0001b1d4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b1d8 addiu v0, zero, 2 | v0 = 2;
0x0001b1dc sw s4, 0x1c(sp) | *(var_1ch) = s4;
0x0001b1e0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b1e4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b1e8 move a3, zero | a3 = 0;
0x0001b1ec addiu a2, zero, 0x428 | a2 = aav.0x00000428;
| label_38:
0x0001b1f0 lw v0, 0x50(sp) | v0 = *(var_50h);
| /* str.match_cfg_line */
0x0001b1f4 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001b1f8 addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001b1fc jalr t9 | t9 ();
0x0001b200 addiu v0, zero, -1 | v0 = -1;
0x0001b204 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001b208 sw v0, 0x90(sp) | *(var_90h) = v0;
0x0001b20c b 0x1ae84 | goto label_20;
| label_58:
0x0001b210 lw v0, 0x54(sp) | v0 = *(var_54h);
0x0001b214 lw v0, 0x44(sp) | v0 = *(var_44h);
| if (v0 == 0) {
0x0001b218 beqz v0, 0x1b9d4 | goto label_87;
| }
| if (v0 != 0) {
0x0001b21c beql v0, zero, 0x1b274 |
0x0001b220 lw v0, 0xa4(sp) | v0 = *(var_a4h);
0x0001b224 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (s7 != 0) {
0x0001b228 bnez s7, 0x1bf1c | goto label_88;
| }
0x0001b22c lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.not_ */
0x0001b230 addiu v0, v0, -0x7794 | v0 += -0x7794;
| label_36:
0x0001b234 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001b238 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b23c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.match__sfound */
0x0001b240 addiu v0, v0, -0x6a38 | v0 += -0x6a38;
0x0001b244 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b248 addiu v0, zero, 7 | v0 = 7;
0x0001b24c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b250 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001b254 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b258 move a3, zero | a3 = 0;
0x0001b25c addiu a2, zero, 0x4a8 | a2 = aav.0x000004a8;
| /* str.match_cfg_line */
0x0001b260 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001b264 addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001b268 jalr t9 | t9 ();
0x0001b26c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001b270 lw v0, 0xa4(sp) | v0 = *(var_a4h);
| }
0x0001b274 sw s7, 0x90(sp) | *(var_90h) = s7;
0x0001b278 sw v0, 0x7c(sp) | *(var_7ch) = v0;
| label_33:
0x0001b27c lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0001b280 addiu v1, zero, -9 | v1 = -9;
0x0001b284 lw v0, (a0) | v0 = *(a0);
0x0001b288 andi v0, v0, 4 | v0 &= 4;
| if (v0 == 0) {
0x0001b28c movn s7, zero, v0 | s7 = 0;
| }
0x0001b290 sw s7, (s5) | *(s5) = s7;
0x0001b294 lw v0, (a0) | v0 = *(a0);
0x0001b298 and v0, v0, v1 | v0 &= v1;
0x0001b29c sw v0, (a0) | *(a0) = v0;
0x0001b2a0 b 0x18810 | goto label_4;
| label_77:
0x0001b2ec lw t9, -0x71fc(gp) | t9 = sym.imp.getpwnam;
| if (s4 != 0) {
0x0001b2f0 bnez s4, 0x1accc | goto label_21;
| }
0x0001b2f4 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x0001b2f8 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0001b2fc lw t9, -0x7f48(gp) | t9 = *(gp);
0x0001b300 addiu a1, v0, 0x3a2c | a1 = v0 + 0x3a2c;
| /* fcn.00015dd0 */
0x0001b304 addiu t9, t9, 0x5dd0 | t9 += 0x5dd0;
| /* str.Group */
0x0001b308 addiu a0, a0, -0x6d88 | a0 += -0x6d88;
0x0001b30c bal 0x15dd0 | fcn_00015dd0 ();
| label_81:
0x0001b310 lw t9, -0x7bdc(gp) | t9 = sym.match_hostname;
| if (a0 != 0) {
0x0001b314 bnez a0, 0x1adb8 | goto label_22;
| }
0x0001b318 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0001b31c lw t9, -0x7f48(gp) | t9 = *(gp);
0x0001b320 addiu a1, v1, -0x4df8 | a1 = v1 + -0x4df8;
| /* fcn.00015dd0 */
0x0001b324 addiu t9, t9, 0x5dd0 | t9 += 0x5dd0;
| /* str.Host */
0x0001b328 addiu a0, a0, -0x6c90 | a0 += -0x6c90;
0x0001b32c bal 0x15dd0 | fcn_00015dd0 ();
| label_57:
0x0001b330 lw v0, 0x44(sp) | v0 = *(var_44h);
| if (v0 == 0) {
0x0001b334 beql v0, zero, 0x1a4e0 | goto label_23;
| }
0x0001b338 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b33c lw v0, (v0) | v0 = *(v0);
| if (v0 == 0) {
0x0001b340 beql v0, zero, 0x1b5e4 | goto label_89;
| }
0x0001b344 lw v0, -0x7f34(gp) | v0 = *(gp);
| label_31:
0x0001b348 lw v1, 0x44(sp) | v1 = *(var_44h);
0x0001b34c lw v1, 4(v1) | v1 = *((v1 + 1));
| if (v1 == 0) {
0x0001b350 beql v1, zero, 0x1b5dc | goto label_90;
| }
0x0001b354 lw v1, -0x7f34(gp) | v1 = *(gp);
| label_30:
0x0001b358 lw a0, 0x44(sp) | a0 = *(var_44h);
0x0001b35c lw a0, 8(a0) | a0 = *((a0 + 2));
| if (a0 == 0) {
0x0001b360 beql a0, zero, 0x1b5d4 | goto label_91;
| }
0x0001b364 lw a0, -0x7f34(gp) | a0 = *(gp);
| label_29:
0x0001b368 lw a1, 0x44(sp) | a1 = *(var_44h);
0x0001b36c lw a1, 0xc(a1) | a1 = *((a1 + 3));
| if (a1 == 0) {
0x0001b370 beql a1, zero, 0x1b5cc | goto label_92;
| }
0x0001b374 lw a1, -0x7f34(gp) | a1 = *(gp);
| label_28:
0x0001b378 lw a3, 0x44(sp) | a3 = *(var_44h);
0x0001b37c lw t0, -0x7f34(gp) | t0 = *(gp);
0x0001b380 lw s2, -0x7f34(gp) | s2 = *(gp);
0x0001b384 lw a3, 0x10(a3) | a3 = *((a3 + 4));
0x0001b388 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0001b38c lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b390 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.checking_match_for__s_user__s_host__s_addr__s_laddr__s_lport__d */
0x0001b394 addiu v0, v0, -0x6e64 | v0 += -0x6e64;
0x0001b398 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b39c addiu v0, zero, 7 | v0 = 7;
0x0001b3a0 sw a3, 0x30(sp) | *(var_30h) = a3;
0x0001b3a4 sw a1, 0x2c(sp) | *(var_2ch) = a1;
0x0001b3a8 sw a0, 0x28(sp) | *(var_28h) = a0;
0x0001b3ac sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x0001b3b0 sw t0, 0x50(sp) | *(var_50h) = t0;
0x0001b3b4 sw v1, 0x24(sp) | *(var_24h) = v1;
0x0001b3b8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b3bc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b3c0 move a3, zero | a3 = 0;
0x0001b3c4 addiu a2, zero, 0x419 | a2 = 0x419;
| /* str.match_cfg_line */
0x0001b3c8 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
| /* str.servconf.c */
0x0001b3cc addiu a0, t0, -0x7b60 | a0 = t0 + -0x7b60;
0x0001b3d0 jalr t9 | t9 ();
0x0001b3d4 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001b3d8 b 0x1a524 | goto label_24;
| label_79:
0x0001b3dc lw t9, -0x7bd0(gp) | t9 = sym.ga_match_pattern_list;
0x0001b3e0 move a0, s1 | a0 = s1;
0x0001b3e4 bal 0x311ac | sym_ga_match_pattern_list ();
0x0001b3e8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001b3ec addiu v1, zero, 1 | v1 = 1;
0x0001b3f0 move a3, zero | a3 = 0;
0x0001b3f4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| if (v0 == v1) {
0x0001b3f8 beq v0, v1, 0x1bf24 | goto label_93;
| }
0x0001b3fc lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b400 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.user__.100s_does_not_match_group_list__.100s_at_line__d */
0x0001b404 addiu v0, v0, -0x6cfc | v0 += -0x6cfc;
0x0001b408 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b40c addiu v0, zero, 5 | v0 = 5;
0x0001b410 addiu a2, zero, 0x3f5 | a2 = 0x3f5;
| /* str.match_cfg_line_group */
0x0001b414 addiu a1, a1, -0x5a10 | a1 += -0x5a10;
0x0001b418 addiu a0, fp, -0x7b60 | a0 = fp + -0x7b60;
0x0001b41c sw s6, 0x24(sp) | *(var_24h) = s6;
0x0001b420 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0001b424 sw s4, 0x1c(sp) | *(var_1ch) = s4;
0x0001b428 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b42c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b430 jalr t9 | t9 ();
0x0001b434 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001b438 b 0x1ad34 | goto label_25;
| label_78:
0x0001b43c lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001b440 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b444 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001b448 move a3, zero | a3 = 0;
0x0001b44c addiu a2, zero, 0x3ef | a2 = 0x3ef;
| /* str.match_cfg_line_group */
0x0001b450 addiu a1, a1, -0x5a10 | a1 += -0x5a10;
0x0001b454 addiu a0, fp, -0x7b60 | a0 = fp + -0x7b60;
0x0001b458 sw s4, 0x20(sp) | *(var_20h) = s4;
0x0001b45c sw s6, 0x1c(sp) | *(var_1ch) = s6;
| /* str.Cant_match_group_at_line__d_because_user__.100s_does_not_exist */
0x0001b460 addiu v0, v0, -0x6d80 | v0 += -0x6d80;
0x0001b464 b 0x1ad1c | goto label_26;
| label_86:
0x0001b4a4 addiu v1, zero, 1 | v1 = 1;
0x0001b4a8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| if (v0 != v1) {
0x0001b4ac bne v0, v1, 0x1a570 | goto label_5;
| }
0x0001b4b0 sw s6, 0x24(sp) | *(var_24h) = s6;
0x0001b4b4 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0001b4b8 lw v0, 8(s0) | v0 = *((s0 + 2));
0x0001b4bc sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001b4c0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b4c4 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.connection_from__.100s_matched_Address__.100s_at_line__d */
0x0001b4c8 addiu v0, v0, -0x6c10 | v0 += -0x6c10;
0x0001b4cc sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b4d0 addiu v0, zero, 5 | v0 = 5;
0x0001b4d4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b4d8 move a3, zero | a3 = 0;
0x0001b4dc addiu a2, zero, 0x45d | a2 = 0x45d;
| /* str.match_cfg_line */
0x0001b4e0 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001b4e4 addiu a0, fp, -0x7b60 | a0 = fp + -0x7b60;
0x0001b4e8 jalr t9 | t9 ();
0x0001b4ec lw gp, 0x38(sp) | gp = *(var_38h);
0x0001b4f0 b 0x1a570 | goto label_5;
| label_82:
0x0001b4f4 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001b4f8 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
| /* str.localaddress */
0x0001b4fc addiu a1, a1, -0x6bd4 | a1 += -0x6bd4;
0x0001b500 move a0, s4 | a0 = s4;
0x0001b504 jalr t9 | t9 ();
0x0001b508 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0001b50c bnez v0, 0x1bd54 | goto label_94;
| }
0x0001b510 lw t9, -0x7bd8(gp) | t9 = sym.addr_match_list;
| if (s0 == 0) {
0x0001b514 beqz s0, 0x1bd04 | goto label_95;
| }
0x0001b518 lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x0001b51c lw a0, 0xc(s0) | a0 = *((s0 + 3));
| if (v0 == 0) {
0x0001b520 beqz v0, 0x1bce0 | goto label_96;
| }
0x0001b524 move a1, s1 | a1 = s1;
| if (a0 == 0) {
0x0001b528 beqz a0, 0x1bd08 | goto label_97;
| }
0x0001b52c lw t9, -0x7bd8(gp) | t9 = sym.addr_match_list;
| label_35:
0x0001b530 move a1, s1 | a1 = s1;
0x0001b534 jalr t9 | t9 ();
0x0001b538 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 <= 0) {
0x0001b53c blez v0, 0x1ae6c | goto label_27;
| }
0x0001b540 addiu v1, zero, 1 | v1 = 1;
0x0001b544 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| if (v0 != v1) {
0x0001b548 bne v0, v1, 0x1a570 | goto label_5;
| }
0x0001b54c sw s6, 0x24(sp) | *(var_24h) = s6;
0x0001b550 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0001b554 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0001b558 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001b55c lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x0001b560 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b564 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b568 addiu v0, zero, 5 | v0 = 5;
0x0001b56c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b570 move a3, zero | a3 = 0;
0x0001b574 addiu a2, zero, 0x476 | a2 = 0x476;
| /* str.match_cfg_line */
0x0001b578 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001b57c addiu a0, fp, -0x7b60 | a0 = fp + -0x7b60;
0x0001b580 jalr t9 | t9 ();
0x0001b584 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001b588 b 0x1a570 | goto label_5;
| /* str._null_ */
| label_92:
0x0001b5cc addiu a1, a1, -0x779c | a1 += -0x779c;
0x0001b5d0 b 0x1b378 | goto label_28;
| /* str._null_ */
| label_91:
0x0001b5d4 addiu a0, a0, -0x779c | a0 += -0x779c;
0x0001b5d8 b 0x1b368 | goto label_29;
| /* str._null_ */
| label_90:
0x0001b5dc addiu v1, v1, -0x779c | v1 += -0x779c;
0x0001b5e0 b 0x1b358 | goto label_30;
| /* str._null_ */
| label_89:
0x0001b5e4 addiu v0, v0, -0x779c | v0 += -0x779c;
0x0001b5e8 b 0x1b348 | goto label_31;
| label_83:
0x0001b5ec move a1, s1 | a1 = s1;
| label_85:
0x0001b5f0 move a0, zero | a0 = 0;
0x0001b5f4 jalr t9 | t9 ();
0x0001b5f8 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0001b5fc beqz v0, 0x1a634 | goto label_16;
| }
0x0001b600 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b604 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.Invalid_Match_address_argument__s_at_line__d */
0x0001b608 addiu v0, v0, -0x6c50 | v0 += -0x6c50;
0x0001b60c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b610 addiu v0, zero, 1 | v0 = 1;
0x0001b614 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b618 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001b61c sw s6, 0x20(sp) | *(var_20h) = s6;
0x0001b620 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0001b624 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b628 move a3, zero | a3 = 0;
0x0001b62c addiu a2, zero, 0x454 | a2 = aav.0x00000454;
| /* str.match_cfg_line */
0x0001b630 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001b634 addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001b638 jalr t9 | t9 ();
0x0001b63c lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001b640 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0001b644 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001b648 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b64c sw s6, 0x20(sp) | *(var_20h) = s6;
| /* str._s_line__d:_Bad_mask. */
0x0001b650 addiu v0, v0, -0x675c | v0 += -0x675c;
0x0001b654 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b658 addiu v0, zero, 1 | v0 = 1;
0x0001b65c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b660 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b664 move a3, zero | a3 = 0;
0x0001b668 addiu a2, zero, 0x93a | a2 = 0x93a;
0x0001b66c b 0x19c50 | goto label_18;
| label_75:
0x0001b70c lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0001b710 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_new_failed */
0x0001b714 addiu v0, v0, 0x66b0 | v0 += 0x66b0;
0x0001b718 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b71c addiu v0, zero, 1 | v0 = 1;
0x0001b720 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b724 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b728 addiu a3, zero, 1 | a3 = 1;
0x0001b72c addiu a2, zero, 0x82f | a2 = 0x82f;
| do {
0x0001b730 lw v0, 0x68(sp) | v0 = *(var_68h);
0x0001b734 addiu a1, v0, -0x59b0 | a1 = v0 + -0x59b0;
0x0001b738 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001b73c addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001b740 jalr t9 | t9 ();
| label_73:
0x0001b744 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.too_many_glob_results */
0x0001b748 addiu v0, v0, -0x6f20 | v0 += -0x6f20;
0x0001b74c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b750 addiu v0, zero, 1 | v0 = 1;
0x0001b754 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b758 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b75c addiu a3, zero, 1 | a3 = 1;
0x0001b760 addiu a2, zero, 0x827 | a2 = 0x827;
0x0001b764 b 0x1b730 |
| } while (1);
| label_64:
0x0001b768 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b76c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.Include_directive_not_supported_as_a_command_line_option */
0x0001b770 addiu v0, v0, -0x6fc8 | v0 += -0x6fc8;
0x0001b774 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b778 addiu v0, zero, 1 | v0 = 1;
0x0001b77c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b780 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b784 move a3, zero | a3 = 0;
0x0001b788 addiu a2, zero, 0x7ec | a2 = 0x7ec;
0x0001b78c b 0x1ab04 | goto label_32;
| label_59:
0x0001b790 lw v1, 0x54(sp) | v1 = *(var_54h);
0x0001b794 addiu v0, zero, 1 | v0 = 1;
0x0001b798 lw t9, -0x7c2c(gp) | t9 = sym.strdelim;
| if (v1 == v0) {
0x0001b79c bne v1, v0, 0x1b7d4 |
0x0001b7a0 lw a0, 0x58(sp) | a0 = *(var_58h);
0x0001b7a4 jalr t9 | t9 ();
0x0001b7a8 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0001b7ac beqz v0, 0x1b7bc |
0x0001b7b0 lb v0, (v0) | v0 = *(v0);
0x0001b7b4 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 != 0) {
0x0001b7b8 bnez v0, 0x1b7d8 | goto label_98;
| }
| }
0x0001b7bc lw v0, 0xa4(sp) | v0 = *(var_a4h);
0x0001b7c0 lw s7, 0x54(sp) | s7 = *(var_54h);
0x0001b7c4 sw v0, 0x7c(sp) | *(var_7ch) = v0;
0x0001b7c8 addiu v0, zero, 1 | v0 = 1;
0x0001b7cc sw v0, 0x90(sp) | *(var_90h) = v0;
0x0001b7d0 b 0x1b27c | goto label_33;
| }
0x0001b7d4 lw v0, -0x7f34(gp) | v0 = *(gp);
| label_98:
0x0001b7d8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.all_cannot_be_combined_with_other_Match_attributes */
0x0001b7dc addiu v0, v0, -0x6e20 | v0 += -0x6e20;
0x0001b7e0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b7e4 addiu v0, zero, 2 | v0 = 2;
0x0001b7e8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b7ec sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b7f0 move a3, zero | a3 = 0;
0x0001b7f4 addiu a2, zero, 0x421 | a2 = 0x421;
| do {
0x0001b7f8 lw v0, 0x50(sp) | v0 = *(var_50h);
| /* str.match_cfg_line */
0x0001b7fc addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001b800 addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001b804 jalr t9 | t9 ();
0x0001b808 addiu v0, zero, -1 | v0 = -1;
0x0001b80c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001b810 sw v0, 0x90(sp) | *(var_90h) = v0;
0x0001b814 b 0x1ae84 | goto label_20;
| label_72:
0x0001b8b8 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001b8bc lw s6, 0x10c(sp) | s6 = *(arg_10ch);
0x0001b8c0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001b8c4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b8c8 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str._s_line__d:_include___s__glob_failed */
0x0001b8cc addiu v0, v0, -0x6f64 | v0 += -0x6f64;
0x0001b8d0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b8d4 addiu v0, zero, 1 | v0 = 1;
0x0001b8d8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b8dc lw v0, 0x68(sp) | v0 = *(var_68h);
0x0001b8e0 sw t0, 0x24(sp) | *(var_24h) = t0;
0x0001b8e4 addiu a1, v0, -0x59b0 | a1 = v0 + -0x59b0;
0x0001b8e8 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001b8ec sw s6, 0x20(sp) | *(var_20h) = s6;
0x0001b8f0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b8f4 move a3, zero | a3 = 0;
0x0001b8f8 addiu a2, zero, 0x819 | a2 = 0x819;
0x0001b8fc addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001b900 jalr t9 | t9 ();
0x0001b904 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001b908 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0001b90c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001b910 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b914 sw s6, 0x20(sp) | *(var_20h) = s6;
| /* str._s_line__d:_Missing_PerSourceNetBlockSize_spec. */
0x0001b918 addiu v0, v0, -0x7150 | v0 += -0x7150;
0x0001b91c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b920 addiu v0, zero, 1 | v0 = 1;
0x0001b924 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b928 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b92c move a3, zero | a3 = 0;
0x0001b930 addiu a2, zero, 0x764 | a2 = 0x764;
0x0001b934 b 0x19c50 | goto label_18;
| label_87:
0x0001b9d4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001b9d8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.One_or_more_attributes_required_for_Match */
0x0001b9dc addiu v0, v0, -0x6a64 | v0 += -aav.0x00006a64;
0x0001b9e0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001b9e4 addiu v0, zero, 2 | v0 = 2;
0x0001b9e8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001b9ec sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001b9f0 move a3, zero | a3 = 0;
0x0001b9f4 addiu a2, zero, 0x4a4 | a2 = aav.0x000004a4;
0x0001b9f8 b 0x1b7f8 |
| } while (1);
| label_84:
0x0001bbac lw t9, -0x7bd8(gp) | t9 = sym.addr_match_list;
| if (a0 == 0) {
0x0001bbb0 bnel a0, zero, 0x1ae5c | goto label_34;
| }
0x0001bbb4 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001bbb8 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0001bbbc lw t9, -0x7f48(gp) | t9 = *(gp);
| /* esilref: 'addr' */
0x0001bbc0 addiu a1, a1, -0x6c20 | a1 += -0x6c20;
| /* fcn.00015dd0 */
0x0001bbc4 addiu t9, t9, 0x5dd0 | t9 += 0x5dd0;
| /* str.Address */
0x0001bbc8 addiu a0, a0, -0x6c18 | a0 += -0x6c18;
0x0001bbcc bal 0x15dd0 | fcn_00015dd0 ();
0x0001bbd0 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0001bbd4 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001bbd8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001bbdc sw s6, 0x20(sp) | *(var_20h) = s6;
| /* str._.200s_line__d:_Missing_argument. */
0x0001bbe0 addiu v0, v0, -0x7430 | v0 += -0x7430;
0x0001bbe4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001bbe8 addiu v0, zero, 1 | v0 = 1;
0x0001bbec sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001bbf0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001bbf4 move a3, zero | a3 = 0;
0x0001bbf8 addiu a2, zero, 0x88f | a2 = 0x88f;
0x0001bbfc b 0x19c50 | goto label_18;
| label_53:
0x0001bc64 lw t9, -0x7c48(gp) | t9 = sym.derelativise_path;
0x0001bc68 move a0, s1 | a0 = s1;
0x0001bc6c bal 0x171ac | sym_derelativise_path ();
0x0001bc70 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001bc74 sw v0, 0x11e0(s4) | *((s4 + 1144)) = v0;
0x0001bc78 b 0x18810 | goto label_4;
| label_51:
0x0001bc7c lw v0, 0x40(sp) | v0 = *(var_40h);
| label_52:
0x0001bc80 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0001bc84 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001bc88 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001bc8c sw s6, 0x20(sp) | *(var_20h) = s6;
| /* str._s_line__d:_missing_file_name. */
0x0001bc90 addiu v0, v0, -0x7518 | v0 += -0x7518;
0x0001bc94 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001bc98 addiu v0, zero, 1 | v0 = 1;
0x0001bc9c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001bca0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001bca4 move a3, zero | a3 = 0;
0x0001bca8 addiu a2, zero, 0x8ad | a2 = 0x8ad;
0x0001bcac b 0x19c50 | goto label_18;
| label_96:
0x0001bce0 lw t9, -0x7bd8(gp) | t9 = sym.addr_match_list;
| if (a0 == 0) {
0x0001bce4 bnel a0, zero, 0x1b530 | goto label_35;
| }
0x0001bce8 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001bcec lw a0, -0x7f34(gp) | a0 = *(gp);
0x0001bcf0 lw t9, -0x7f48(gp) | t9 = *(gp);
| /* esilref: 'laddr' */
0x0001bcf4 addiu a1, a1, -0x6b90 | a1 += -0x6b90;
| /* fcn.00015dd0 */
0x0001bcf8 addiu t9, t9, 0x5dd0 | t9 += 0x5dd0;
| /* str.LocalAddress */
0x0001bcfc addiu a0, a0, -0x6b88 | a0 += -0x6b88;
0x0001bd00 bal 0x15dd0 | fcn_00015dd0 ();
| label_95:
0x0001bd04 move a1, s1 | a1 = s1;
| label_97:
0x0001bd08 move a0, zero | a0 = 0;
0x0001bd0c jalr t9 | t9 ();
0x0001bd10 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0001bd14 beqz v0, 0x1a634 | goto label_16;
| }
0x0001bd18 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001bd1c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.Invalid_Match_localaddress_argument__s_at_line__d */
0x0001bd20 addiu v0, v0, -0x6bc4 | v0 += -0x6bc4;
0x0001bd24 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001bd28 addiu v0, zero, 1 | v0 = 1;
0x0001bd2c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001bd30 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001bd34 sw s6, 0x20(sp) | *(var_20h) = s6;
0x0001bd38 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0001bd3c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001bd40 move a3, zero | a3 = 0;
0x0001bd44 addiu a2, zero, 0x46b | a2 = 0x46b;
| /* str.match_cfg_line */
0x0001bd48 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001bd4c addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001bd50 jalr t9 | t9 ();
| label_94:
0x0001bd54 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001bd58 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
| /* str.localport */
0x0001bd5c addiu a1, a1, -0x6b38 | a1 += -0x6b38;
0x0001bd60 move a0, s4 | a0 = s4;
0x0001bd64 jalr t9 | t9 ();
0x0001bd68 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0001bd6c beqz v0, 0x1c1a8 | goto label_99;
| }
0x0001bd70 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0001bd74 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
| /* esilref: 'rdomain' */
0x0001bd78 addiu a1, v1, -0x75e4 | a1 = v1 + -0x75e4;
0x0001bd7c sw v1, 0x70(sp) | *(var_70h) = v1;
0x0001bd80 move a0, s4 | a0 = s4;
0x0001bd84 jalr t9 | t9 ();
0x0001bd88 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0001bd8c bnez v0, 0x1c17c | goto label_100;
| }
| if (s0 == 0) {
0x0001bd90 beql s0, zero, 0x1a570 | goto label_5;
| }
0x0001bd94 move s7, zero | s7 = 0;
0x0001bd98 lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x0001bd9c lw a0, 0x14(s0) | a0 = *((s0 + 5));
0x0001bda0 lw v1, 0x70(sp) | v1 = *(var_70h);
| if (v0 == 0) {
0x0001bda4 beqz v0, 0x1c15c | goto label_101;
| }
| if (a0 == 0) {
0x0001bda8 beql a0, zero, 0x1a570 | goto label_5;
| }
0x0001bdac move s7, zero | s7 = 0;
0x0001bdb0 lw t9, -0x7f38(gp) | t9 = sym.match_pattern_list;
| label_37:
0x0001bdb4 move a2, zero | a2 = 0;
0x0001bdb8 move a1, s1 | a1 = s1;
0x0001bdbc jalr t9 | t9 ();
0x0001bdc0 addiu v1, zero, 1 | v1 = 1;
0x0001bdc4 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != v1) {
0x0001bdc8 bne v0, v1, 0x1a634 | goto label_16;
| }
0x0001bdcc sw s6, 0x24(sp) | *(var_24h) = s6;
0x0001bdd0 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0001bdd4 lw v0, 0x14(s0) | v0 = *((s0 + 5));
0x0001bdd8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001bddc sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001bde0 lw v0, 0x64(sp) | v0 = *(var_64h);
0x0001bde4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001bde8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001bdec addiu v0, zero, 5 | v0 = 5;
0x0001bdf0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001bdf4 move a3, zero | a3 = 0;
0x0001bdf8 addiu a2, zero, 0x49d | a2 = 0x49d;
| /* str.match_cfg_line */
0x0001bdfc addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001be00 addiu a0, fp, -0x7b60 | a0 = fp + -0x7b60;
0x0001be04 jalr t9 | t9 ();
0x0001be08 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001be0c b 0x1a570 | goto label_5;
| label_88:
0x0001bf1c addiu v0, v0, -0x6990 | v0 += -0x6990;
0x0001bf20 b 0x1b234 | goto label_36;
| label_93:
0x0001bf24 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001bf28 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.user__.100s_matched_group_list__.100s_at_line__d */
0x0001bf2c addiu v0, v0, -0x6cc4 | v0 += -0x6cc4;
0x0001bf30 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001bf34 addiu v0, zero, 5 | v0 = 5;
0x0001bf38 addiu a2, zero, 0x3f8 | a2 = aav.0x000003f8;
| /* str.match_cfg_line_group */
0x0001bf3c addiu a1, a1, -0x5a10 | a1 += -0x5a10;
0x0001bf40 addiu a0, fp, -0x7b60 | a0 = fp + -0x7b60;
0x0001bf44 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001bf48 sw s6, 0x24(sp) | *(var_24h) = s6;
0x0001bf4c sw s1, 0x20(sp) | *(var_20h) = s1;
0x0001bf50 sw s4, 0x1c(sp) | *(var_1ch) = s4;
0x0001bf54 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001bf58 jalr t9 | t9 ();
0x0001bf5c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001bf60 lw t9, -0x7be0(gp) | t9 = sym.ga_free;
0x0001bf64 bal 0x31288 | sym_ga_free ();
0x0001bf68 nop |
0x0001bf6c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001bf70 b 0x1a570 | goto label_5;
| label_46:
0x0001c044 lw v0, 0x80(sp) | v0 = *(var_80h);
0x0001c048 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0001c04c sw v0, 0x24(sp) | *(var_24h) = v0;
0x0001c050 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001c054 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0001c058 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001c05c lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001c060 sw s6, 0x20(sp) | *(var_20h) = s6;
| /* str._s_line__d:_Missing_handler_for_opcode__s___d_ */
0x0001c064 addiu v0, v0, -0x66bc | v0 += -0x66bc;
0x0001c068 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001c06c addiu v0, zero, 1 | v0 = 1;
0x0001c070 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001c074 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001c078 move a3, zero | a3 = 0;
0x0001c07c addiu a2, zero, 0x972 | a2 = 0x972;
| label_39:
0x0001c080 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001c084 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.process_server_config_line_depth */
0x0001c088 addiu a1, a1, -0x59b0 | a1 += -0x59b0;
| /* str.servconf.c */
0x0001c08c addiu a0, a0, -0x7b60 | a0 += -0x7b60;
0x0001c090 jalr t9 | t9 ();
0x0001c094 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001c098 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0001c09c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001c0a0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001c0a4 sw s6, 0x20(sp) | *(var_20h) = s6;
| /* str._s_line__d:_missing_time_value. */
0x0001c0a8 addiu v0, v0, -0x7680 | v0 += -0x7680;
0x0001c0ac sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001c0b0 addiu v0, zero, 1 | v0 = 1;
0x0001c0b4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001c0b8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001c0bc move a3, zero | a3 = 0;
0x0001c0c0 addiu a2, zero, 0x53d | a2 = 0x53d;
0x0001c0c4 b 0x19c50 | goto label_18;
| label_101:
0x0001c15c lw t9, -0x7f38(gp) | t9 = sym.match_pattern_list;
| if (a0 == 0) {
0x0001c160 bnel a0, zero, 0x1bdb4 | goto label_37;
| }
0x0001c164 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0001c168 lw t9, -0x7f48(gp) | t9 = *(gp);
0x0001c16c addiu a1, v1, -0x75e4 | a1 = v1 + -0x75e4;
| /* fcn.00015dd0 */
0x0001c170 addiu t9, t9, 0x5dd0 | t9 += 0x5dd0;
| /* str.RDomain */
0x0001c174 addiu a0, a0, -0x6abc | a0 += -0x6abc;
0x0001c178 bal 0x15dd0 | fcn_00015dd0 ();
| label_100:
0x0001c17c lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001c180 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.Unsupported_Match_attribute__s */
0x0001c184 addiu v0, v0, -0x6a84 | v0 += -0x6a84;
0x0001c188 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001c18c addiu v0, zero, 2 | v0 = 2;
0x0001c190 sw s4, 0x1c(sp) | *(var_1ch) = s4;
0x0001c194 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001c198 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001c19c move a3, zero | a3 = 0;
0x0001c1a0 addiu a2, zero, 0x49f | a2 = 0x49f;
0x0001c1a4 b 0x1b1f0 | goto label_38;
| label_99:
0x0001c1a8 lw t9, -0x7ec0(gp) | t9 = sym.a2port;
0x0001c1ac move a0, s1 | a0 = s1;
0x0001c1b0 jalr t9 | t9 ();
0x0001c1b4 addiu a0, zero, -1 | a0 = -1;
0x0001c1b8 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == a0) {
0x0001c1bc beq v0, a0, 0x1c230 | goto label_102;
| }
| if (s0 == 0) {
0x0001c1c0 beql s0, zero, 0x1a570 | goto label_5;
| }
0x0001c1c4 move s7, zero | s7 = 0;
0x0001c1c8 lw a1, 0x18(s0) | a1 = *((s0 + 6));
0x0001c1cc lw v1, 0x10(s0) | v1 = *((s0 + 4));
| if (a1 == 0) {
0x0001c1d0 beqz a1, 0x1c1dc | goto label_103;
| }
| if (v1 == a0) {
0x0001c1d4 beql v1, a0, 0x1a570 | goto label_5;
| }
0x0001c1d8 move s7, zero | s7 = 0;
| label_103:
0x0001c1dc lw a1, -0x7f34(gp) | a1 = *(gp);
| if (v1 == 0) {
0x0001c1e0 beqz v1, 0x1c278 | goto label_104;
| }
0x0001c1e4 move s7, zero | s7 = 0;
| if (v0 == v1) {
0x0001c1e8 bnel v0, v1, 0x1a570 | goto label_5;
| }
0x0001c1ec sw s6, 0x24(sp) | *(var_24h) = s6;
0x0001c1f0 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0001c1f4 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0001c1f8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0001c1fc sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001c200 lw v0, 0x68(sp) | v0 = *(var_68h);
0x0001c204 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001c208 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001c20c addiu v0, zero, 5 | v0 = 5;
0x0001c210 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001c214 move a3, zero | a3 = 0;
0x0001c218 addiu a2, zero, 0x48f | a2 = 0x48f;
| /* str.match_cfg_line */
0x0001c21c addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001c220 addiu a0, fp, -0x7b60 | a0 = fp + -0x7b60;
0x0001c224 jalr t9 | t9 ();
0x0001c228 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001c22c b 0x1a570 | goto label_5;
| label_102:
0x0001c230 move s4, v0 | s4 = v0;
0x0001c234 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001c238 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.Invalid_LocalPort__s_on_Match_line */
0x0001c23c addiu v0, v0, -0x6b2c | v0 += -0x6b2c;
0x0001c240 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001c244 addiu v0, zero, 2 | v0 = 2;
0x0001c248 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001c24c lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001c250 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0001c254 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001c258 move a3, zero | a3 = 0;
0x0001c25c addiu a2, zero, 0x482 | a2 = 0x482;
| /* str.match_cfg_line */
0x0001c260 addiu a1, s2, -0x59f8 | a1 = s2 + -0x59f8;
0x0001c264 addiu a0, v0, -0x7b60 | a0 = v0 + -0x7b60;
0x0001c268 jalr t9 | t9 ();
0x0001c26c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001c270 sw s4, 0x90(sp) | *(var_90h) = s4;
0x0001c274 b 0x1ae84 | goto label_20;
| label_104:
0x0001c278 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0001c27c lw t9, -0x7f48(gp) | t9 = *(gp);
| /* esilref: 'lport' */
0x0001c280 addiu a1, a1, -0x6b34 | a1 += -0x6b34;
| /* fcn.00015dd0 */
0x0001c284 addiu t9, t9, 0x5dd0 | t9 += 0x5dd0;
| /* str.LocalPort */
0x0001c288 addiu a0, a0, -0x6b04 | a0 += -0x6b04;
0x0001c28c bal 0x15dd0 | fcn_00015dd0 ();
0x0001c290 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x0001c294 lw s0, 0x80(sp) | s0 = *(var_80h);
0x0001c298 jalr t9 | t9 ();
0x0001c29c lw gp, 0x38(sp) | gp = *(var_38h);
0x0001c2a0 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x0001c2a4 lw a0, (v0) | a0 = *(v0);
0x0001c2a8 jalr t9 | t9 ();
0x0001c2ac lw gp, 0x38(sp) | gp = *(var_38h);
0x0001c2b0 sw v0, 0x28(sp) | *(var_28h) = v0;
0x0001c2b4 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001c2b8 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0001c2bc sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001c2c0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001c2c4 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str._.200s_line__d:_Bad_number__s:__s */
0x0001c2c8 addiu v0, v0, -0x7404 | v0 += -0x7404;
0x0001c2cc sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001c2d0 addiu v0, zero, 1 | v0 = 1;
0x0001c2d4 sw s6, 0x20(sp) | *(var_20h) = s6;
0x0001c2d8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001c2dc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001c2e0 move a3, zero | a3 = 0;
0x0001c2e4 addiu a2, zero, 0x685 | a2 = 0x685;
0x0001c2e8 b 0x1c080 | goto label_39;
| label_54:
0x0001c694 lw v0, 0x80(sp) | v0 = *(var_80h);
| if (v0 == 0) {
0x0001c698 beql v0, zero, 0x1c70c | goto label_105;
| }
0x0001c69c lw v0, -0x7f34(gp) | v0 = *(gp);
| do {
0x0001c6a0 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0001c6a4 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001c6a8 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0001c6ac sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001c6b0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001c6b4 sw s6, 0x20(sp) | *(var_20h) = s6;
| /* str._s_line__d:_Bad_SSH2_KexAlgorithms__s. */
0x0001c6b8 addiu v0, v0, -0x727c | v0 += -0x727c;
0x0001c6bc sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001c6c0 addiu v0, zero, 1 | v0 = 1;
0x0001c6c4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001c6c8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001c6cc move a3, zero | a3 = 0;
0x0001c6d0 addiu a2, zero, 0x720 | a2 = 0x720;
0x0001c6d4 b 0x18868 | goto label_9;
| /* str._NONE_ */
| label_105:
0x0001c70c addiu v0, v0, -0x77a4 | v0 += -0x77a4;
0x0001c710 b 0x1c6a0 |
| } while (1);
| label_50:
0x0001c8d4 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0001c8d8 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001c8dc lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0001c8e0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001c8e4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0001c8e8 sw s6, 0x20(sp) | *(var_20h) = s6;
| /* str._s_line__d:_Directive__s_is_not_allowed_within_a_Match_block */
0x0001c8ec addiu v0, v0, -0x772c | v0 += -0x772c;
0x0001c8f0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001c8f4 addiu v0, zero, 1 | v0 = 1;
0x0001c8f8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001c8fc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001c900 move a3, zero | a3 = 0;
0x0001c904 addiu a2, zero, 0x515 | a2 = 0x515;
0x0001c908 b 0x18868 | goto label_9;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x327b0 */
| #include <stdint.h>
|
; (fcn) fcn.000327b0 () | void fcn_000327b0 () {
0x000327b0 lui gp, 0xd |
0x000327b4 addiu gp, gp, -0x4c0 |
0x000327b8 addu gp, gp, t9 | gp += t9;
0x000327bc addiu sp, sp, -0x30 |
0x000327c0 lw v1, -0x7fd8(gp) | v1 = *(gp);
0x000327c4 sw s0, 0x24(sp) | *(var_24h_2) = s0;
0x000327c8 lw s0, -0x6fc4(gp) | s0 = *((gp - 7153));
0x000327cc sw ra, 0x2c(sp) | *(var_2ch_4) = ra;
0x000327d0 sw gp, 0x10(sp) | *(var_10h_6) = gp;
0x000327d4 sw s1, 0x28(sp) | *(var_28h_2) = s1;
0x000327d8 lw v0, (s0) | v0 = *(s0);
0x000327dc lw a1, 0x11d0(v1) | a1 = *((v1 + 1140));
0x000327e0 lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
0x000327e4 move a2, zero | a2 = 0;
0x000327e8 sw v0, 0x1c(sp) | *(var_1ch_2) = v0;
0x000327ec move s1, a0 | s1 = a0;
0x000327f0 bal 0x4f188 | sym_sshkey_fingerprint ();
0x000327f4 lw gp, 0x10(sp) | gp = *(var_10h_6);
0x000327f8 move a0, s1 | a0 = s1;
0x000327fc lw t9, -0x7f08(gp) | t9 = sym.sshkey_type;
0x00032800 move s1, v0 | s1 = v0;
0x00032804 bal 0x4d7ec | sym_sshkey_type ();
0x00032808 lw gp, 0x10(sp) | gp = *(var_10h_6);
0x0003280c move a3, s1 | a3 = s1;
0x00032810 move a2, v0 | a2 = v0;
0x00032814 lw a1, -0x7fb4(gp) | a1 = *(gp);
0x00032818 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
| /* esilref: '&s &s' */
0x0003281c addiu a1, a1, 0x767c | a1 += 0x767c;
0x00032820 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x00032824 jalr t9 | t9 ();
0x00032828 lw gp, 0x10(sp) | gp = *(var_10h_6);
0x0003282c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00032830 move a0, s1 | a0 = s1;
0x00032834 jalr t9 | t9 ();
0x00032838 lw a0, 0x1c(sp) | a0 = *(var_1ch_2);
0x0003283c lw v1, (s0) | v1 = *(s0);
0x00032840 lw gp, 0x10(sp) | gp = *(var_10h_6);
0x00032844 lw v0, 0x18(sp) | v0 = *(var_18h_6);
| if (a0 == v1) {
0x00032848 bne a0, v1, 0x32860 |
0x0003284c lw ra, 0x2c(sp) | ra = *(var_2ch_4);
0x00032850 lw s1, 0x28(sp) | s1 = *(var_28h_2);
0x00032854 lw s0, 0x24(sp) | s0 = *(var_24h_2);
0x00032858 addiu sp, sp, 0x30 |
0x0003285c jr ra | return v0;
| }
0x00032860 lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x00032864 jalr t9 | t9 ();
0x00032868 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x5d8c4 */
| #include <stdint.h>
|
; (fcn) fcn.0005d8c4 () | void fcn_0005d8c4 () {
0x0005d8c4 lui gp, 0xa |
0x0005d8c8 addiu gp, gp, 0x4a2c |
0x0005d8cc addu gp, gp, t9 | gp += t9;
0x0005d8d0 addiu sp, sp, -0x60 |
0x0005d8d4 lw t9, -0x7dc8(gp) | t9 = sym.get_local_ipaddr;
0x0005d8d8 sw gp, 0x28(sp) | *(var_28h) = gp;
0x0005d8dc sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x0005d8e0 sw s2, 0x40(sp) | *(var_40h) = s2;
0x0005d8e4 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0005d8e8 sw s0, 0x38(sp) | *(var_38h) = s0;
0x0005d8ec sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x0005d8f0 sw fp, 0x58(sp) | *(var_58h) = fp;
0x0005d8f4 sw s7, 0x54(sp) | *(var_54h) = s7;
0x0005d8f8 sw s6, 0x50(sp) | *(var_50h) = s6;
0x0005d8fc sw s4, 0x48(sp) | *(var_48h) = s4;
0x0005d900 sw s3, 0x44(sp) | *(var_44h) = s3;
0x0005d904 move s0, a1 | s0 = a1;
0x0005d908 move s2, a0 | s2 = a0;
0x0005d90c lw a0, 0x28(a1) | a0 = *((a1 + 10));
0x0005d910 move s1, a2 | s1 = a2;
0x0005d914 bal 0x5d258 | sym_get_local_ipaddr ();
0x0005d918 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x0005d91c addiu v1, zero, -1 | v1 = -1;
0x0005d920 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005d924 move s5, v0 | s5 = v0;
| if (a0 != v1) {
0x0005d928 bne a0, v1, 0x5db90 | goto label_5;
| }
0x0005d92c lui s6, 1 | s6 = 0x10000;
| label_1:
0x0005d930 lw t9, -0x7dc4(gp) | t9 = sym.get_peer_ipaddr;
0x0005d934 bal 0x5d200 | sym_get_peer_ipaddr ();
0x0005d938 nop |
0x0005d93c lw gp, 0x28(sp) | gp = *(var_28h);
0x0005d940 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x0005d944 lw t9, -0x7dc0(gp) | t9 = sym.get_peer_port;
0x0005d948 move s3, v0 | s3 = v0;
0x0005d94c bal 0x5d3d4 | sym_get_peer_port ();
0x0005d950 move s4, v0 | s4 = v0;
0x0005d954 addiu v0, zero, -1 | v0 = -1;
0x0005d958 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s4 == v0) {
0x0005d95c beq s4, v0, 0x5dc9c | goto label_6;
| }
| label_4:
0x0005d960 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0005d964 lw s7, -0x7f34(gp) | s7 = *(gp);
0x0005d968 lw a0, 0x60(s0) | a0 = *((s0 + 24));
0x0005d96c jalr t9 | t9 ();
0x0005d970 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005d974 lw v1, 0x5c(s0) | v1 = *((s0 + 23));
0x0005d978 lw v0, 0x50(s0) | v0 = *((s0 + 20));
0x0005d97c lw a1, -0x7f34(gp) | a1 = *(gp);
0x0005d980 lw a3, 0x54(s0) | a3 = *((s0 + 21));
0x0005d984 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x0005d988 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0005d98c move a2, s1 | a2 = s1;
| /* str._s:_listening_port__d_for__.100s_port__d__connect_from__.200s_port__d_to__.100s_port__d */
0x0005d990 addiu a1, a1, 0x387c | a1 += 0x387c;
0x0005d994 addiu a0, s0, 0x60 | a0 = s0 + 0x60;
0x0005d998 sw s6, 0x24(sp) | *(var_24h) = s6;
0x0005d99c sw s5, 0x20(sp) | *(var_20h) = s5;
0x0005d9a0 sw s4, 0x1c(sp) | *(var_1ch) = s4;
0x0005d9a4 sw s3, 0x18(sp) | *(var_18h) = s3;
0x0005d9a8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005d9ac jalr t9 | t9 ();
0x0005d9b0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005d9b4 move a3, s1 | a3 = s1;
0x0005d9b8 move a2, s0 | a2 = s0;
0x0005d9bc lw t9, -0x765c(gp) | t9 = *(gp);
| /* str.port_open_helper */
0x0005d9c0 addiu a1, s7, 0x6090 | a1 = s7 + 0x6090;
| /* fcn.0005d604 */
0x0005d9c4 addiu t9, t9, -0x29fc | t9 += -0x29fc;
0x0005d9c8 move a0, s2 | a0 = s2;
0x0005d9cc bal 0x5d604 | fcn_0005d604 ();
0x0005d9d0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005d9d4 move a0, s1 | a0 = s1;
0x0005d9d8 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0005d9dc lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.direct_tcpip */
0x0005d9e0 addiu a1, a1, -0x5798 | a1 += -0x5798;
0x0005d9e4 jalr t9 | t9 ();
0x0005d9e8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0005d9ec beqz v0, 0x5dbac | goto label_7;
| }
0x0005d9f0 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0005d9f4 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.direct_streamlocal_openssh.com */
0x0005d9f8 addiu a1, a1, -0x56e8 | a1 += -0x56e8;
0x0005d9fc move a0, s1 | a0 = s1;
0x0005da00 jalr t9 | t9 ();
0x0005da04 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005da08 lw v1, 0x50(s0) | v1 = *((s0 + 20));
| if (v0 == 0) {
0x0005da0c beqz v0, 0x5dae0 | goto label_8;
| }
0x0005da10 lw fp, -0x7f34(gp) | fp = *(gp);
0x0005da14 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
0x0005da18 sw v1, 0x34(sp) | *(var_34h) = v1;
| /* str.forwarded_streamlocal_openssh.com */
0x0005da1c addiu a1, fp, 0x38e8 | a1 = fp + 0x38e8;
0x0005da20 move a0, s1 | a0 = s1;
0x0005da24 jalr t9 | t9 ();
0x0005da28 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005da2c lw v1, 0x34(sp) | v1 = *(var_34h);
0x0005da30 move a0, s2 | a0 = s2;
0x0005da34 lw t9, -0x7d34(gp) | t9 = sym.sshpkt_put_cstring;
0x0005da38 move a1, v1 | a1 = v1;
| if (v0 != 0) {
0x0005da3c bnez v0, 0x5dc28 | goto label_9;
| }
0x0005da40 bal 0x7812c | sym_sshpkt_put_cstring ();
0x0005da44 nop |
0x0005da48 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0005da4c bnez v0, 0x5ddb0 | goto label_10;
| }
| label_3:
0x0005da50 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
0x0005da54 addiu a1, fp, 0x38e8 | a1 = fp + 0x38e8;
0x0005da58 move a0, s1 | a0 = s1;
0x0005da5c jalr t9 | t9 ();
0x0005da60 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005da64 lw t9, -0x7d34(gp) | t9 = sym.sshpkt_put_cstring;
| if (v0 != 0) {
0x0005da68 bnez v0, 0x5db18 | goto label_11;
| }
| do {
0x0005da6c lw a1, -0x7f34(gp) | a1 = *(gp);
0x0005da70 move a0, s2 | a0 = s2;
0x0005da74 addiu a1, a1, -0x6990 | a1 += -0x6990;
0x0005da78 bal 0x7812c | sym_sshpkt_put_cstring ();
0x0005da7c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0005da80 bnez v0, 0x5dd64 | goto label_12;
| }
| label_0:
0x0005da84 lw t9, -0x7e18(gp) | t9 = sym.sshpkt_send;
0x0005da88 move a0, s2 | a0 = s2;
0x0005da8c bal 0x7852c | sym_sshpkt_send ();
0x0005da90 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0005da94 bnez v0, 0x5dd18 | goto label_13;
| }
0x0005da98 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0005da9c move a0, s3 | a0 = s3;
0x0005daa0 jalr t9 | t9 ();
0x0005daa4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005daa8 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0005daac lw fp, 0x58(sp) | fp = *(var_58h);
0x0005dab0 lw s7, 0x54(sp) | s7 = *(var_54h);
0x0005dab4 lw s6, 0x50(sp) | s6 = *(var_50h);
0x0005dab8 lw s4, 0x48(sp) | s4 = *(var_48h);
0x0005dabc lw s3, 0x44(sp) | s3 = *(var_44h);
0x0005dac0 lw s2, 0x40(sp) | s2 = *(var_40h);
0x0005dac4 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0005dac8 lw s0, 0x38(sp) | s0 = *(var_38h);
0x0005dacc move a0, s5 | a0 = s5;
0x0005dad0 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0005dad4 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0005dad8 addiu sp, sp, 0x60 |
0x0005dadc jr t9 | t9 ();
| label_8:
0x0005dae0 lw t9, -0x7d34(gp) | t9 = sym.sshpkt_put_cstring;
0x0005dae4 move a1, v1 | a1 = v1;
0x0005dae8 move a0, s2 | a0 = s2;
0x0005daec bal 0x7812c | sym_sshpkt_put_cstring ();
0x0005daf0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0005daf4 bnez v0, 0x5dccc | goto label_14;
| }
| label_2:
0x0005daf8 lw fp, -0x7f34(gp) | fp = *(gp);
0x0005dafc lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.forwarded_streamlocal_openssh.com */
0x0005db00 addiu a1, fp, 0x38e8 | a1 = fp + 0x38e8;
0x0005db04 move a0, s1 | a0 = s1;
0x0005db08 jalr t9 | t9 ();
0x0005db0c lw gp, 0x28(sp) | gp = *(var_28h);
0x0005db10 lw t9, -0x7d34(gp) | t9 = sym.sshpkt_put_cstring;
0x0005db14 beqz v0, 0x5da6c |
| } while (v0 == 0);
| label_11:
0x0005db18 move a1, s3 | a1 = s3;
0x0005db1c move a0, s2 | a0 = s2;
0x0005db20 bal 0x7812c | sym_sshpkt_put_cstring ();
0x0005db24 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0005db28 bnez v0, 0x5db44 | goto label_15;
| }
0x0005db2c lw t9, -0x7ba8(gp) | t9 = sym.sshpkt_put_u32;
0x0005db30 move a1, s4 | a1 = s4;
0x0005db34 move a0, s2 | a0 = s2;
0x0005db38 bal 0x780d8 | sym_sshpkt_put_u32 ();
0x0005db3c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0005db40 beqz v0, 0x5da84 | goto label_0;
| }
| label_15:
0x0005db44 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0005db48 move a0, v0 | a0 = v0;
0x0005db4c bal 0x4b380 | sym_ssh_err ();
0x0005db50 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005db54 lw v1, 4(s0) | v1 = *((s0 + 1));
0x0005db58 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005db5c sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0005db60 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0005db64 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.channel__i:_reply */
0x0005db68 addiu v1, v1, 0x38d4 | v1 += 0x38d4;
0x0005db6c addiu v0, zero, 1 | v0 = 1;
0x0005db70 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0005db74 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0005db78 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005db7c addiu a3, zero, 1 | a3 = 1;
0x0005db80 addiu a2, zero, 0x6c6 | a2 = 0x6c6;
| /* str.port_open_helper */
0x0005db84 addiu a1, s7, 0x6090 | a1 = s7 + 0x6090;
| /* str.channels.c */
0x0005db88 addiu a0, a0, 0x3810 | a0 += aav.0x00003810;
0x0005db8c bal 0x6da50 | sym_sshfatal ();
| label_5:
0x0005db90 lw t9, -0x7dbc(gp) | t9 = sym.get_local_port;
0x0005db94 bal 0x5d3f0 | sym_get_local_port ();
0x0005db98 nop |
0x0005db9c move s6, v0 | s6 = v0;
0x0005dba0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005dba4 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x0005dba8 b 0x5d930 | goto label_1;
| label_7:
0x0005dbac lw t9, -0x7d34(gp) | t9 = sym.sshpkt_put_cstring;
0x0005dbb0 lw a1, 0x50(s0) | a1 = *((s0 + 20));
0x0005dbb4 move a0, s2 | a0 = s2;
0x0005dbb8 bal 0x7812c | sym_sshpkt_put_cstring ();
0x0005dbbc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0005dbc0 bnez v0, 0x5dbdc | goto label_16;
| }
0x0005dbc4 lw t9, -0x7ba8(gp) | t9 = sym.sshpkt_put_u32;
0x0005dbc8 lw a1, 0x5c(s0) | a1 = *((s0 + 23));
0x0005dbcc move a0, s2 | a0 = s2;
0x0005dbd0 bal 0x780d8 | sym_sshpkt_put_u32 ();
0x0005dbd4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0005dbd8 beqz v0, 0x5daf8 | goto label_2;
| }
| label_16:
0x0005dbdc lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0005dbe0 move a0, v0 | a0 = v0;
0x0005dbe4 bal 0x4b380 | sym_ssh_err ();
0x0005dbe8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005dbec lw v1, 4(s0) | v1 = *((s0 + 1));
0x0005dbf0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005dbf4 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0005dbf8 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0005dbfc lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.channel__i:_reply */
0x0005dc00 addiu v1, v1, 0x38d4 | v1 += 0x38d4;
0x0005dc04 addiu v0, zero, 1 | v0 = 1;
0x0005dc08 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0005dc0c sw v1, 0x18(sp) | *(var_18h) = v1;
0x0005dc10 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005dc14 addiu a3, zero, 1 | a3 = 1;
0x0005dc18 addiu a2, zero, 0x6af | a2 = 0x6af;
| /* str.port_open_helper */
0x0005dc1c addiu a1, s7, 0x6090 | a1 = s7 + 0x6090;
| /* str.channels.c */
0x0005dc20 addiu a0, a0, 0x3810 | a0 += aav.0x00003810;
0x0005dc24 bal 0x6da50 | sym_sshfatal ();
| label_9:
0x0005dc28 bal 0x7812c | sym_sshpkt_put_cstring ();
0x0005dc2c nop |
0x0005dc30 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0005dc34 bnez v0, 0x5dc50 | goto label_17;
| }
0x0005dc38 lw t9, -0x7ba8(gp) | t9 = sym.sshpkt_put_u32;
0x0005dc3c move a1, s6 | a1 = s6;
0x0005dc40 move a0, s2 | a0 = s2;
0x0005dc44 bal 0x780d8 | sym_sshpkt_put_u32 ();
0x0005dc48 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0005dc4c beqz v0, 0x5da50 | goto label_3;
| }
| label_17:
0x0005dc50 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0005dc54 move a0, v0 | a0 = v0;
0x0005dc58 bal 0x4b380 | sym_ssh_err ();
0x0005dc5c lw gp, 0x28(sp) | gp = *(var_28h);
0x0005dc60 lw v1, 4(s0) | v1 = *((s0 + 1));
0x0005dc64 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005dc68 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0005dc6c lw v1, -0x7f34(gp) | v1 = *(gp);
0x0005dc70 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.channel__i:_reply */
0x0005dc74 addiu v1, v1, 0x38d4 | v1 += 0x38d4;
0x0005dc78 addiu v0, zero, 1 | v0 = 1;
0x0005dc7c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0005dc80 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0005dc84 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005dc88 addiu a3, zero, 1 | a3 = 1;
0x0005dc8c addiu a2, zero, 0x6bc | a2 = 0x6bc;
| /* str.port_open_helper */
0x0005dc90 addiu a1, s7, 0x6090 | a1 = s7 + 0x6090;
| /* str.channels.c */
0x0005dc94 addiu a0, a0, 0x3810 | a0 += aav.0x00003810;
0x0005dc98 bal 0x6da50 | sym_sshfatal ();
| label_6:
0x0005dc9c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0005dca0 move a0, s3 | a0 = s3;
0x0005dca4 jalr t9 | t9 ();
0x0005dca8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005dcac ori s4, zero, 0xffff | s4 = 0xffff;
0x0005dcb0 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0005dcb4 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
| /* str.127.0.0.1 */
0x0005dcb8 addiu a0, a0, 0x3870 | a0 += 0x3870;
0x0005dcbc jalr t9 | t9 ();
0x0005dcc0 move s3, v0 | s3 = v0;
0x0005dcc4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005dcc8 b 0x5d960 | goto label_4;
| label_14:
0x0005dccc lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0005dcd0 move a0, v0 | a0 = v0;
0x0005dcd4 bal 0x4b380 | sym_ssh_err ();
0x0005dcd8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005dcdc lw v1, 4(s0) | v1 = *((s0 + 1));
0x0005dce0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005dce4 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0005dce8 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0005dcec lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.channel__i:_reply */
0x0005dcf0 addiu v1, v1, 0x38d4 | v1 += 0x38d4;
0x0005dcf4 addiu v0, zero, 1 | v0 = 1;
0x0005dcf8 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0005dcfc sw v1, 0x18(sp) | *(var_18h) = v1;
0x0005dd00 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005dd04 addiu a3, zero, 1 | a3 = 1;
0x0005dd08 addiu a2, zero, 0x6b3 | a2 = 0x6b3;
| /* str.port_open_helper */
0x0005dd0c addiu a1, s7, 0x6090 | a1 = s7 + 0x6090;
| /* str.channels.c */
0x0005dd10 addiu a0, a0, 0x3810 | a0 += aav.0x00003810;
0x0005dd14 bal 0x6da50 | sym_sshfatal ();
| label_13:
0x0005dd18 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0005dd1c move a0, v0 | a0 = v0;
0x0005dd20 bal 0x4b380 | sym_ssh_err ();
0x0005dd24 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005dd28 lw v1, 4(s0) | v1 = *((s0 + 1));
0x0005dd2c sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005dd30 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0005dd34 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0005dd38 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.channel__i:_send */
0x0005dd3c addiu v1, v1, 0x390c | v1 += 0x390c;
0x0005dd40 addiu v0, zero, 1 | v0 = 1;
0x0005dd44 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0005dd48 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0005dd4c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005dd50 addiu a3, zero, 1 | a3 = 1;
0x0005dd54 addiu a2, zero, 0x6c9 | a2 = 0x6c9;
| /* str.port_open_helper */
0x0005dd58 addiu a1, s7, 0x6090 | a1 = s7 + 0x6090;
| /* str.channels.c */
0x0005dd5c addiu a0, a0, 0x3810 | a0 += aav.0x00003810;
0x0005dd60 bal 0x6da50 | sym_sshfatal ();
| label_12:
0x0005dd64 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0005dd68 move a0, v0 | a0 = v0;
0x0005dd6c bal 0x4b380 | sym_ssh_err ();
0x0005dd70 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005dd74 lw v1, 4(s0) | v1 = *((s0 + 1));
0x0005dd78 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005dd7c sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0005dd80 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0005dd84 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.channel__i:_reply */
0x0005dd88 addiu v1, v1, 0x38d4 | v1 += 0x38d4;
0x0005dd8c addiu v0, zero, 1 | v0 = 1;
0x0005dd90 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0005dd94 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0005dd98 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005dd9c addiu a3, zero, 1 | a3 = 1;
0x0005dda0 addiu a2, zero, 0x6c1 | a2 = 0x6c1;
| /* str.port_open_helper */
0x0005dda4 addiu a1, s7, 0x6090 | a1 = s7 + 0x6090;
| /* str.channels.c */
0x0005dda8 addiu a0, a0, 0x3810 | a0 += aav.0x00003810;
0x0005ddac bal 0x6da50 | sym_sshfatal ();
| label_10:
0x0005ddb0 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0005ddb4 move a0, v0 | a0 = v0;
0x0005ddb8 bal 0x4b380 | sym_ssh_err ();
0x0005ddbc lw gp, 0x28(sp) | gp = *(var_28h);
0x0005ddc0 lw v1, 4(s0) | v1 = *((s0 + 1));
0x0005ddc4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005ddc8 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0005ddcc lw v1, -0x7f34(gp) | v1 = *(gp);
0x0005ddd0 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.channel__i:_reply */
0x0005ddd4 addiu v1, v1, 0x38d4 | v1 += 0x38d4;
0x0005ddd8 addiu v0, zero, 1 | v0 = 1;
0x0005dddc lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0005dde0 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0005dde4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005dde8 addiu a3, zero, 1 | a3 = 1;
0x0005ddec addiu a2, zero, 0x6b7 | a2 = 0x6b7;
| /* str.port_open_helper */
0x0005ddf0 addiu a1, s7, 0x6090 | a1 = s7 + 0x6090;
| /* str.channels.c */
0x0005ddf4 addiu a0, a0, 0x3810 | a0 += aav.0x00003810;
0x0005ddf8 bal 0x6da50 | return sym_sshfatal ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x233a8 */
| #include <stdint.h>
|
; (fcn) sym.auth_log () | void auth_log () {
0x000233a8 lui gp, 0xe |
0x000233ac addiu gp, gp, -0x10b8 |
0x000233b0 addu gp, gp, t9 | gp += t9;
0x000233b4 addiu sp, sp, -0xa0 |
0x000233b8 lw v0, -0x7fc8(gp) | v0 = *(gp);
0x000233bc sw s5, 0x8c(sp) | *(var_8ch) = s5;
0x000233c0 lw s5, -0x6fc4(gp) | s5 = *((gp - 7153));
0x000233c4 sw s6, 0x90(sp) | *(var_90h) = s6;
0x000233c8 sw s4, 0x88(sp) | *(var_88h) = s4;
0x000233cc sw s2, 0x80(sp) | *(var_80h) = s2;
0x000233d0 sw s1, 0x7c(sp) | *(var_7ch) = s1;
0x000233d4 sw gp, 0x48(sp) | *(var_48h) = gp;
0x000233d8 sw ra, 0x9c(sp) | *(var_9ch) = ra;
0x000233dc sw fp, 0x98(sp) | *(var_98h) = fp;
0x000233e0 sw s7, 0x94(sp) | *(var_94h) = s7;
0x000233e4 sw s3, 0x84(sp) | *(var_84h) = s3;
0x000233e8 sw s0, 0x78(sp) | *(var_78h) = s0;
0x000233ec lw v1, (s5) | v1 = *(s5);
0x000233f0 lw v0, (v0) | v0 = *(v0);
0x000233f4 move s1, a0 | s1 = a0;
0x000233f8 move s4, a1 | s4 = a1;
0x000233fc move s6, a3 | s6 = a3;
0x00023400 lw s2, 0xb0(sp) | s2 = *(arg_b0h);
0x00023404 sw v1, 0x74(sp) | *(var_74h) = v1;
0x00023408 lw s0, 0x2018(a0) | s0 = *((a0 + 2054));
0x0002340c bnez v0, 0x234a0 |
| while (v0 != 0) {
0x00023410 addiu v0, zero, 1 | v0 = 1;
0x00023414 lw s3, 8(s0) | s3 = *((s0 + 2));
| if (s4 != v0) {
0x00023418 beq s4, v0, 0x23428 |
0x0002341c lw v0, 0xc(s0) | v0 = *((s0 + 3));
| label_0:
0x00023420 lw v0, -0x7fd8(gp) | v0 = *(gp);
| if (v0 != 0) {
0x00023424 bnez v0, 0x2379c | goto label_17;
| }
| }
| label_5:
0x00023428 addiu v0, zero, 3 | v0 = 3;
| label_4:
0x0002342c sw v0, 0x54(sp) | *(var_54h) = v0;
| label_6:
0x00023430 lw s3, -0x7f34(gp) | s3 = *(gp);
| if (s3 == 0) {
0x00023434 bnel s3, zero, 0x234d8 | goto label_18;
| }
0x00023438 lw s3, -0x7f34(gp) | s3 = *(gp);
| if (a2 != 0) {
0x0002343c bnez a2, 0x23894 | goto label_19;
| }
0x00023440 lw s3, -0x7f34(gp) | s3 = *(gp);
| if (s4 == 0) {
0x00023444 beqz s4, 0x238a0 | goto label_20;
| }
0x00023448 lw s3, -0x7f34(gp) | s3 = *(gp);
0x0002344c lw s7, 0x50(s0) | s7 = *((s0 + 20));
| /* str.Accepted */
0x00023450 addiu v0, s3, -0x4830 | v0 = s3 + -0x4830;
0x00023454 lw s3, 0x4c(s0) | s3 = *((s0 + 19));
0x00023458 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0002345c sw zero, 0x70(sp) | *(var_70h) = 0;
| if (s3 != 0) {
0x00023460 bnez s3, 0x234f0 | goto label_21;
| }
| label_1:
0x00023464 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
| if (s7 == 0) {
0x00023468 beqz s7, 0x23618 | goto label_7;
| }
| label_8:
0x0002346c move a0, s7 | a0 = s7;
0x00023470 jalr t9 | t9 ();
0x00023474 move s7, v0 | s7 = v0;
0x00023478 lw gp, 0x48(sp) | gp = *(var_48h);
| if (s2 != 0) {
0x0002347c bnez s2, 0x23620 | goto label_22;
| }
0x00023480 lw s2, -0x7f34(gp) | s2 = *(gp);
| label_2:
0x00023484 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x00023488 addiu s2, s2, -0x6990 | s2 += -0x6990;
0x0002348c move t1, s2 | t1 = s2;
| if (v0 == 0) {
0x00023490 beqz v0, 0x23630 | goto label_23;
| }
| label_3:
0x00023494 lw fp, -0x7f34(gp) | fp = *(gp);
0x00023498 addiu fp, fp, -0x6990 | fp += -0x6990;
0x0002349c b 0x23638 | goto label_24;
0x000234a0 lw t9, -0x7a80(gp) | t9 = sym.mm_is_monitor;
0x000234a4 sw a2, 0xa8(sp) | *(arg_a8h) = a2;
0x000234a8 bal 0x3bd04 | sym_mm_is_monitor ();
0x000234ac lw gp, 0x48(sp) | gp = *(var_48h);
0x000234b0 lw a2, 0xa8(sp) | a2 = *(arg_a8h);
0x000234b4 bnez v0, 0x23410 |
| }
0x000234b8 lw s3, 8(s0) | s3 = *((s0 + 2));
0x000234bc addiu v0, zero, 1 | v0 = 1;
| if (s3 == 0) {
0x000234c0 beqz s3, 0x23760 | goto label_11;
| }
0x000234c4 lw v0, 0xc(s0) | v0 = *((s0 + 3));
| if (s4 == v0) {
0x000234c8 bnel s4, v0, 0x23420 | goto label_0;
| }
0x000234cc addiu v0, zero, 3 | v0 = 3;
0x000234d0 sw v0, 0x54(sp) | *(var_54h) = v0;
0x000234d4 lw s3, -0x7f34(gp) | s3 = *(gp);
| /* str.Postponed */
| label_18:
0x000234d8 addiu v0, s3, -0x483c | v0 = s3 + -0x483c;
0x000234dc sw v0, 0x58(sp) | *(var_58h) = v0;
| label_10:
0x000234e0 lw s3, 0x4c(s0) | s3 = *((s0 + 19));
0x000234e4 lw s7, 0x50(s0) | s7 = *((s0 + 20));
0x000234e8 sw zero, 0x70(sp) | *(var_70h) = 0;
| if (s3 == 0) {
0x000234ec beqz s3, 0x23464 | goto label_1;
| }
| label_21:
0x000234f0 lw t9, -0x7fcc(gp) | t9 = sym.sshkey_is_cert;
0x000234f4 move a0, s3 | a0 = s3;
0x000234f8 jalr t9 | t9 ();
0x000234fc lw gp, 0x48(sp) | gp = *(var_48h);
| if (v0 == 0) {
0x00023500 beqz v0, 0x237ec | goto label_25;
| }
0x00023504 lw fp, -0x7fd8(gp) | fp = *(gp);
0x00023508 lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
0x0002350c move a2, zero | a2 = 0;
0x00023510 lw a1, 0x11d0(fp) | a1 = *(arg_11d0h);
0x00023514 move a0, s3 | a0 = s3;
0x00023518 jalr t9 | t9 ();
0x0002351c lw gp, 0x48(sp) | gp = *(var_48h);
0x00023520 lw a0, 0x44(s3) | a0 = *((s3 + 17));
0x00023524 lw a1, 0x11d0(fp) | a1 = *(arg_11d0h);
0x00023528 lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
0x0002352c lw a0, 0x38(a0) | a0 = *((a0 + 14));
0x00023530 move a2, zero | a2 = 0;
0x00023534 move fp, v0 | fp = v0;
0x00023538 jalr t9 | t9 ();
0x0002353c lw gp, 0x48(sp) | gp = *(var_48h);
0x00023540 move a0, s3 | a0 = s3;
0x00023544 lw t9, -0x7f08(gp) | t9 = sym.sshkey_type;
0x00023548 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x0002354c jalr t9 | t9 ();
0x00023550 move a2, v0 | a2 = v0;
0x00023554 lw gp, 0x48(sp) | gp = *(var_48h);
| if (fp == 0) {
0x00023558 beqz fp, 0x23910 | goto label_26;
| }
0x0002355c move a3, fp | a3 = fp;
| label_15:
0x00023560 lw v0, 0x44(s3) | v0 = *((s3 + 17));
0x00023564 lw t9, -0x7f08(gp) | t9 = sym.sshkey_type;
0x00023568 sw a3, 0x6c(sp) | *(var_6ch) = a3;
0x0002356c lw t2, 8(v0) | t2 = *((v0 + 2));
0x00023570 lw t3, 0xc(v0) | t3 = *((v0 + 3));
0x00023574 lw a0, 0x38(v0) | a0 = *((v0 + 14));
0x00023578 sw a2, 0x68(sp) | *(var_68h) = a2;
0x0002357c sw t2, 0x60(sp) | *(var_60h) = t2;
0x00023580 sw t3, 0x64(sp) | *(var_64h) = t3;
0x00023584 lw s3, 0x10(v0) | s3 = *((v0 + 4));
0x00023588 jalr t9 | t9 ();
0x0002358c lw v1, 0x5c(sp) | v1 = *(var_5ch);
0x00023590 lw gp, 0x48(sp) | gp = *(var_48h);
0x00023594 lw t2, 0x60(sp) | t2 = *(var_60h);
0x00023598 lw t3, 0x64(sp) | t3 = *(var_64h);
0x0002359c lw a2, 0x68(sp) | a2 = *(var_68h);
0x000235a0 lw a3, 0x6c(sp) | a3 = *(var_6ch);
| if (v1 == 0) {
0x000235a4 beqz v1, 0x238f8 | goto label_27;
| }
0x000235a8 lw t1, 0x5c(sp) | t1 = *(var_5ch);
| label_13:
0x000235ac lw v1, -0x7f34(gp) | v1 = *(gp);
| if (s7 == 0) {
0x000235b0 beqz s7, 0x238ec | goto label_28;
| }
0x000235b4 lw t0, -0x7f34(gp) | t0 = *(gp);
| /* esilref: ', ' */
0x000235b8 addiu t0, t0, -0x4814 | t0 += -0x4814;
| label_12:
0x000235bc lw a1, -0x7f34(gp) | a1 = *(gp);
0x000235c0 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
| /* str._s__s_ID__s__serial__llu__CA__s__s_s_s */
0x000235c4 addiu a1, a1, -0x480c | a1 += -0x480c;
0x000235c8 sw t0, 0x28(sp) | *(var_28h) = t0;
0x000235cc sw t1, 0x24(sp) | *(var_24h) = t1;
0x000235d0 sw t2, 0x18(sp) | *(var_18h) = t2;
0x000235d4 sw t3, 0x1c(sp) | *(var_1ch) = t3;
0x000235d8 addiu a0, sp, 0x70 | a0 = sp + 0x70;
0x000235dc sw s7, 0x2c(sp) | *(var_2ch) = s7;
0x000235e0 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000235e4 sw s3, 0x10(sp) | *(var_10h) = s3;
0x000235e8 jalr t9 | t9 ();
0x000235ec lw gp, 0x48(sp) | gp = *(var_48h);
0x000235f0 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000235f4 move a0, fp | a0 = fp;
0x000235f8 jalr t9 | t9 ();
0x000235fc lw gp, 0x48(sp) | gp = *(var_48h);
0x00023600 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00023604 lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x00023608 jalr t9 | t9 ();
0x0002360c lw s7, 0x70(sp) | s7 = *(var_70h);
0x00023610 lw gp, 0x48(sp) | gp = *(var_48h);
| if (s7 == 0) {
0x00023614 beqz s7, 0x23870 | goto label_29;
| }
| if (s2 == 0) {
| label_7:
0x00023618 beql s2, zero, 0x23484 | goto label_2;
| }
0x0002361c lw s2, -0x7f34(gp) | s2 = *(gp);
| label_22:
0x00023620 lw t1, -0x7e48(gp) | t1 = *(gp);
0x00023624 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x00023628 addiu t1, t1, -0x7958 | t1 += -0x7958;
| if (v0 != 0) {
0x0002362c bnez v0, 0x23494 | goto label_3;
| }
| label_23:
0x00023630 lw fp, -0x7f34(gp) | fp = *(gp);
| /* str.invalid_user_ */
0x00023634 addiu fp, fp, -0x4e44 | fp += -0x4e44;
| label_24:
0x00023638 lw t2, 0x20(s0) | t2 = *((s0 + 8));
0x0002363c lw t9, -0x7fbc(gp) | t9 = sym.ssh_remote_ipaddr;
0x00023640 sw t1, 0x68(sp) | *(var_68h) = t1;
0x00023644 sw t2, 0x60(sp) | *(var_60h) = t2;
0x00023648 move a0, s1 | a0 = s1;
0x0002364c jalr t9 | t9 ();
0x00023650 lw gp, 0x48(sp) | gp = *(var_48h);
0x00023654 move a0, s1 | a0 = s1;
0x00023658 lw t9, -0x7fb8(gp) | t9 = sym.ssh_remote_port;
0x0002365c sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x00023660 jalr t9 | t9 ();
0x00023664 lw gp, 0x48(sp) | gp = *(var_48h);
0x00023668 lw t3, 0x5c(sp) | t3 = *(var_5ch);
0x0002366c lw t2, 0x60(sp) | t2 = *(var_60h);
0x00023670 lw t1, 0x68(sp) | t1 = *(var_68h);
| if (s7 == 0) {
0x00023674 beqz s7, 0x23884 | goto label_30;
| }
0x00023678 lw t0, -0x7f34(gp) | t0 = *(gp);
0x0002367c move t4, s7 | t4 = s7;
| /* esilref: ': ' */
0x00023680 addiu t0, t0, -0x4810 | t0 += -aav.0x00004810;
| label_9:
0x00023684 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00023688 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0002368c lw a1, -0x7f34(gp) | a1 = *(gp);
0x00023690 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00023694 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00023698 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str._s__s_s_s_for__s_.100s_from__.200s_port__d_ssh2_s_s */
0x0002369c addiu v0, v0, -0x47d8 | v0 += -0x47d8;
0x000236a0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000236a4 lw v0, 0x54(sp) | v0 = *(var_54h);
0x000236a8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x000236ac move a3, zero | a3 = 0;
0x000236b0 addiu a2, zero, 0x15f | a2 = 0x15f;
| /* str.auth_log */
0x000236b4 addiu a1, a1, -0x41f0 | a1 += -0x41f0;
| /* str.auth.c */
0x000236b8 addiu a0, a0, -0x4f50 | a0 += -0x4f50;
0x000236bc sw t4, 0x40(sp) | *(var_40h) = t4;
0x000236c0 sw t0, 0x3c(sp) | *(var_3ch) = t0;
0x000236c4 sw t3, 0x34(sp) | *(var_34h) = t3;
0x000236c8 sw t2, 0x30(sp) | *(var_30h) = t2;
0x000236cc sw t1, 0x24(sp) | *(var_24h) = t1;
0x000236d0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000236d4 sw fp, 0x2c(sp) | *(var_2ch) = fp;
0x000236d8 sw s2, 0x28(sp) | *(var_28h) = s2;
0x000236dc sw s6, 0x20(sp) | *(var_20h) = s6;
0x000236e0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000236e4 jalr t9 | t9 ();
0x000236e8 lw gp, 0x48(sp) | gp = *(var_48h);
0x000236ec lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000236f0 move a0, s7 | a0 = s7;
0x000236f4 jalr t9 | t9 ();
0x000236f8 lw gp, 0x48(sp) | gp = *(var_48h);
| if (s4 == 0) {
0x000236fc bnez s4, 0x23760 |
0x00023700 lw v0, 8(s0) | v0 = *((s0 + 2));
0x00023704 lw a1, -0x7f34(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00023708 bnez v0, 0x23760 | goto label_11;
| }
0x0002370c lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'password' */
0x00023710 addiu a1, a1, -0x798c | a1 += -0x798c;
0x00023714 move a0, s6 | a0 = s6;
0x00023718 jalr t9 | t9 ();
0x0002371c lw gp, 0x48(sp) | gp = *(var_48h);
| if (v0 == 0) {
0x00023720 beqz v0, 0x238ac | goto label_31;
| }
0x00023724 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00023728 lw t9, -0x7160(gp) | t9 = sym.imp.strncmp;
0x0002372c addiu a2, zero, 0x14 | a2 = 0x14;
| /* str.keyboard_interactive */
0x00023730 addiu a1, a1, -0x47a4 | a1 += -0x47a4;
0x00023734 move a0, s6 | a0 = s6;
0x00023738 jalr t9 | t9 ();
0x0002373c lw gp, 0x48(sp) | gp = *(var_48h);
| if (v0 == 0) {
0x00023740 beqz v0, 0x238ac | goto label_31;
| }
0x00023744 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00023748 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.challenge_response */
0x0002374c addiu a1, a1, -0x478c | a1 += -0x478c;
0x00023750 move a0, s6 | a0 = s6;
0x00023754 jalr t9 | t9 ();
0x00023758 lw gp, 0x48(sp) | gp = *(var_48h);
| if (v0 == 0) {
0x0002375c beqz v0, 0x238ac | goto label_31;
| }
| }
| label_11:
0x00023760 lw v1, 0x74(sp) | v1 = *(var_74h);
0x00023764 lw v0, (s5) | v0 = *(s5);
0x00023768 lw ra, 0x9c(sp) | ra = *(var_9ch);
| if (v1 != v0) {
0x0002376c bne v1, v0, 0x23928 | goto label_32;
| }
0x00023770 lw fp, 0x98(sp) | fp = *(var_98h);
0x00023774 lw s7, 0x94(sp) | s7 = *(var_94h);
0x00023778 lw s6, 0x90(sp) | s6 = *(var_90h);
0x0002377c lw s5, 0x8c(sp) | s5 = *(var_8ch);
0x00023780 lw s4, 0x88(sp) | s4 = *(var_88h);
0x00023784 lw s3, 0x84(sp) | s3 = *(var_84h);
0x00023788 lw s2, 0x80(sp) | s2 = *(var_80h);
0x0002378c lw s1, 0x7c(sp) | s1 = *(var_7ch);
0x00023790 lw s0, 0x78(sp) | s0 = *(var_78h);
0x00023794 addiu sp, sp, 0xa0 |
0x00023798 jr ra | return v0;
| label_17:
0x0002379c lw v1, 0x14(s0) | v1 = *((s0 + 5));
0x000237a0 lw a0, 0x115c(v0) | a0 = *((v0 + 1111));
0x000237a4 srl v0, a0, 0x1f | v0 = a0 >> 0x1f;
0x000237a8 addu v0, v0, a0 | v0 += a0;
0x000237ac sra v0, v0, 1 | v0 >>= 1;
0x000237b0 slt v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x000237b4 addiu v0, zero, 3 | v0 = 3;
| if (v0 == 0) {
0x000237b8 beqz v0, 0x2342c | goto label_4;
| }
0x000237bc lw a1, -0x7f34(gp) | a1 = *(gp);
0x000237c0 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
0x000237c4 sw a2, 0xa8(sp) | *(arg_a8h) = a2;
| /* esilref: 'password' */
0x000237c8 addiu a1, a1, -0x798c | a1 += -0x798c;
0x000237cc move a0, s6 | a0 = s6;
0x000237d0 jalr t9 | t9 ();
0x000237d4 lw gp, 0x48(sp) | gp = *(var_48h);
0x000237d8 lw a2, 0xa8(sp) | a2 = *(arg_a8h);
| if (v0 == 0) {
0x000237dc beqz v0, 0x23428 | goto label_5;
| }
0x000237e0 addiu v0, zero, 4 | v0 = 4;
0x000237e4 sw v0, 0x54(sp) | *(var_54h) = v0;
0x000237e8 b 0x23430 | goto label_6;
| label_25:
0x000237ec lw v0, -0x7fd8(gp) | v0 = *(gp);
0x000237f0 lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
0x000237f4 move a2, zero | a2 = 0;
0x000237f8 lw a1, 0x11d0(v0) | a1 = *((v0 + 1140));
0x000237fc move a0, s3 | a0 = s3;
0x00023800 jalr t9 | t9 ();
0x00023804 lw gp, 0x48(sp) | gp = *(var_48h);
0x00023808 move a0, s3 | a0 = s3;
0x0002380c lw t9, -0x7f08(gp) | t9 = sym.sshkey_type;
0x00023810 move fp, v0 | fp = v0;
0x00023814 jalr t9 | t9 ();
0x00023818 lw gp, 0x48(sp) | gp = *(var_48h);
| if (fp == 0) {
0x0002381c beqz fp, 0x2391c | goto label_33;
| }
0x00023820 move a3, fp | a3 = fp;
| label_16:
0x00023824 lw v1, -0x7f34(gp) | v1 = *(gp);
| if (s7 == 0) {
0x00023828 beqz s7, 0x23904 | goto label_34;
| }
0x0002382c lw t0, -0x7f34(gp) | t0 = *(gp);
| /* esilref: ', ' */
0x00023830 addiu t0, t0, -0x4814 | t0 += -0x4814;
| label_14:
0x00023834 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00023838 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x0002383c move a2, v0 | a2 = v0;
| /* str._s__s_s_s */
0x00023840 addiu a1, a1, -0x47e4 | a1 += -0x47e4;
0x00023844 addiu a0, sp, 0x70 | a0 = sp + 0x70;
0x00023848 sw s7, 0x14(sp) | *(var_14h) = s7;
0x0002384c sw t0, 0x10(sp) | *(var_10h) = t0;
0x00023850 jalr t9 | t9 ();
0x00023854 lw gp, 0x48(sp) | gp = *(var_48h);
0x00023858 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002385c move a0, fp | a0 = fp;
0x00023860 jalr t9 | t9 ();
0x00023864 lw s7, 0x70(sp) | s7 = *(var_70h);
0x00023868 lw gp, 0x48(sp) | gp = *(var_48h);
| if (s7 != 0) {
0x0002386c bnez s7, 0x23618 | goto label_7;
| }
| label_29:
0x00023870 lw s7, 0x50(s0) | s7 = *((s0 + 20));
0x00023874 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
| if (s7 != 0) {
0x00023878 bnez s7, 0x2346c | goto label_8;
| }
0x0002387c b 0x23618 | goto label_7;
0x00023880 nop |
| label_30:
0x00023884 lw t0, -0x7f34(gp) | t0 = *(gp);
0x00023888 addiu t0, t0, -0x6990 | t0 += -0x6990;
0x0002388c move t4, t0 | t4 = t0;
0x00023890 b 0x23684 | goto label_9;
| /* str.Partial */
| label_19:
0x00023894 addiu v0, s3, -0x4824 | v0 = s3 + -0x4824;
0x00023898 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0002389c b 0x234e0 | goto label_10;
| /* str.Failed */
| label_20:
0x000238a0 addiu v0, s3, -0x481c | v0 = s3 + -0x481c;
0x000238a4 sw v0, 0x58(sp) | *(var_58h) = v0;
0x000238a8 b 0x234e0 | goto label_10;
| label_31:
0x000238ac lw v0, -0x7fd8(gp) | v0 = *(gp);
0x000238b0 lw t9, -0x7c3c(gp) | t9 = sym.auth_get_canonical_hostname;
0x000238b4 move a0, s1 | a0 = s1;
0x000238b8 lw a1, 0x1168(v0) | a1 = *((v0 + 1114));
0x000238bc lw s0, 0x20(s0) | s0 = *((s0 + 8));
0x000238c0 bal 0x22d0c | sym_auth_get_canonical_hostname ();
0x000238c4 lw gp, 0x48(sp) | gp = *(var_48h);
0x000238c8 move a2, v0 | a2 = v0;
0x000238cc move a1, s0 | a1 = s0;
0x000238d0 lw a3, -0x7f34(gp) | a3 = *(gp);
0x000238d4 lw t9, -0x7a7c(gp) | t9 = sym.record_failed_login;
| /* esilref: 'ssh' */
0x000238d8 addiu a3, a3, -0x4778 | a3 += -0x4778;
0x000238dc move a0, s1 | a0 = s1;
0x000238e0 bal 0x3ffd8 | sym_record_failed_login ();
0x000238e4 lw gp, 0x48(sp) | gp = *(var_48h);
0x000238e8 b 0x23760 | goto label_11;
| label_28:
0x000238ec addiu s7, v1, -0x6990 | s7 = v1 + -0x6990;
0x000238f0 move t0, s7 | t0 = s7;
0x000238f4 b 0x235bc | goto label_12;
| label_27:
0x000238f8 lw t1, -0x7f34(gp) | t1 = *(gp);
| /* str._null_ */
0x000238fc addiu t1, t1, -0x779c | t1 += -0x779c;
0x00023900 b 0x235ac | goto label_13;
| label_34:
0x00023904 addiu s7, v1, -0x6990 | s7 = v1 + -0x6990;
0x00023908 move t0, s7 | t0 = s7;
0x0002390c b 0x23834 | goto label_14;
| label_26:
0x00023910 lw a3, -0x7f34(gp) | a3 = *(gp);
| /* str._null_ */
0x00023914 addiu a3, a3, -0x779c | a3 += -0x779c;
0x00023918 b 0x23560 | goto label_15;
| label_33:
0x0002391c lw a3, -0x7f34(gp) | a3 = *(gp);
| /* str._null_ */
0x00023920 addiu a3, a3, -0x779c | a3 += -0x779c;
0x00023924 b 0x23824 | goto label_16;
| label_32:
0x00023928 lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x0002392c jalr t9 | t9 ();
0x00023930 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x23b10 */
| #include <stdint.h>
|
; (fcn) sym.auth_log_authopts () | void auth_log_authopts () {
0x00023b10 lui gp, 0xe |
0x00023b14 addiu gp, gp, -0x1820 |
0x00023b18 addu gp, gp, t9 | gp += t9;
0x00023b1c addiu sp, sp, -0x4e8 |
0x00023b20 lw v0, -0x6fc4(gp) | v0 = *((gp - 7153));
0x00023b24 sw s5, 0x4d4(sp) | *(var_4d4h) = s5;
0x00023b28 lw s5, -0x7fd8(gp) | s5 = *(gp);
0x00023b2c sw fp, 0x4e0(sp) | *(var_4e0h) = fp;
0x00023b30 sw s4, 0x4d0(sp) | *(var_4d0h) = s4;
0x00023b34 sw s0, 0x4c0(sp) | *(var_4c0h) = s0;
0x00023b38 sw gp, 0x50(sp) | *(var_50h) = gp;
0x00023b3c sw ra, 0x4e4(sp) | *(var_4e4h) = ra;
0x00023b40 sw s7, 0x4dc(sp) | *(var_4dch) = s7;
0x00023b44 sw s6, 0x4d8(sp) | *(var_4d8h) = s6;
0x00023b48 sw s3, 0x4cc(sp) | *(var_4cch) = s3;
0x00023b4c sw s2, 0x4c8(sp) | *(var_4c8h) = s2;
0x00023b50 sw s1, 0x4c4(sp) | *(var_4c4h) = s1;
0x00023b54 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x00023b58 lw s1, 0x4f4(s5) | s1 = *((s5 + 317));
0x00023b5c lw v0, (v0) | v0 = *(v0);
0x00023b60 move s0, a0 | s0 = a0;
0x00023b64 move fp, a1 | fp = a1;
0x00023b68 move s4, a2 | s4 = a2;
0x00023b6c sw v0, 0x4bc(sp) | *(var_4bch) = v0;
0x00023b70 lw v0, 0x38(fp) | v0 = *(arg_38h);
| if (s1 != 0) {
0x00023b74 beqz s1, 0x23b80 |
0x00023b78 lw s1, 0x30(a1) | s1 = *((a1 + 12));
0x00023b7c sltu s1, zero, s1 | s1 = (0 < s1) ? 1 : 0;
| }
| if (v0 != 0) {
0x00023b80 beql v0, zero, 0x23b94 |
0x00023b84 sw zero, 0x68(sp) | *(var_68h) = 0;
0x00023b88 lw v0, 0x500(s5) | v0 = *((s5 + 320));
0x00023b8c ext v0, v0, 1, 1 | __asm ("ext v0, v0, 1, 1");
0x00023b90 sw v0, 0x68(sp) | *(var_68h) = v0;
| }
0x00023b94 lw v0, 0x40(fp) | v0 = *(arg_40h);
| if (v0 != 0) {
0x00023b98 beql v0, zero, 0x23bac |
0x00023b9c sw zero, 0x64(sp) | *(var_64h) = 0;
0x00023ba0 lw v0, 0x500(s5) | v0 = *((s5 + 320));
0x00023ba4 andi v0, v0, 1 | v0 &= 1;
0x00023ba8 sw v0, 0x64(sp) | *(var_64h) = v0;
| }
0x00023bac lw v0, 0x28(fp) | v0 = *(arg_28h);
0x00023bb0 lw t9, -0x7180(gp) | t9 = sym.imp.__snprintf_chk;
0x00023bb4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00023bb8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00023bbc addiu a0, sp, 0x7c | a0 = sp + 0x7c;
| /* esilref: '&d' */
0x00023bc0 addiu v0, v0, 0x7b70 | v0 += 0x7b70;
0x00023bc4 sw a0, 0x70(sp) | *(var_70h) = a0;
0x00023bc8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00023bcc addiu a3, zero, 0x40 | a3 = 0x40;
0x00023bd0 addiu a2, zero, 1 | a2 = 1;
0x00023bd4 addiu a1, zero, 0x40 | a1 = 0x40;
0x00023bd8 jalr t9 | t9 ();
0x00023bdc lw v0, 4(fp) | v0 = *(arg_4h);
0x00023be0 lw gp, 0x50(sp) | gp = *(var_50h);
| if (v0 != 0) {
0x00023be4 bnez v0, 0x240b4 | goto label_17;
| }
0x00023be8 lw s6, -0x7f34(gp) | s6 = *(gp);
0x00023bec lw v0, 0x2c(fp) | v0 = *(arg_2ch);
0x00023bf0 addiu s6, s6, -0x6990 | s6 += -0x6990;
| if (v0 == 0) {
0x00023bf4 beqz v0, 0x240c4 | goto label_18;
| }
| label_13:
0x00023bf8 lw t0, -0x7f34(gp) | t0 = *(gp);
| /* str._command */
0x00023bfc addiu t0, t0, -0x4738 | t0 += -0x4738;
| label_14:
0x00023c00 lw t1, -0x7f34(gp) | t1 = *(gp);
| if (s1 != 0) {
0x00023c04 bnez s1, 0x240ac | goto label_19;
| }
0x00023c08 lw t1, -0x7f34(gp) | t1 = *(gp);
0x00023c0c addiu t1, t1, -0x6990 | t1 += -0x6990;
| label_12:
0x00023c10 lw v0, 0x18(fp) | v0 = *(arg_18h);
0x00023c14 lw a0, 0x1c(fp) | a0 = *(arg_1ch);
0x00023c18 or v0, v0, a0 | v0 |= a0;
0x00023c1c lw t2, -0x7f34(gp) | t2 = *(gp);
| if (v0 == 0) {
0x00023c20 beqz v0, 0x240a4 | goto label_20;
| }
0x00023c24 lw t2, -0x7f34(gp) | t2 = *(gp);
| /* str.expires */
0x00023c28 addiu t2, t2, -0x471c | t2 += -0x471c;
| label_11:
0x00023c2c lw v0, 0x50(fp) | v0 = *(arg_50h);
0x00023c30 lw t3, -0x7f34(gp) | t3 = *(gp);
| if (v0 != 0) {
0x00023c34 bnez v0, 0x2409c | goto label_21;
| }
0x00023c38 lw t3, -0x7f34(gp) | t3 = *(gp);
0x00023c3c addiu t3, t3, -0x6990 | t3 += -0x6990;
| label_10:
0x00023c40 lw v0, 0x68(sp) | v0 = *(var_68h);
0x00023c44 lw t4, -0x7f34(gp) | t4 = *(gp);
| if (v0 != 0) {
0x00023c48 bnez v0, 0x24094 | goto label_22;
| }
0x00023c4c lw t4, -0x7f34(gp) | t4 = *(gp);
0x00023c50 addiu t4, t4, -0x6990 | t4 += -0x6990;
| label_9:
0x00023c54 lw v0, 0x64(sp) | v0 = *(var_64h);
0x00023c58 lw t5, -0x7f34(gp) | t5 = *(gp);
| if (v0 != 0) {
0x00023c5c bnez v0, 0x2408c | goto label_23;
| }
0x00023c60 lw t5, -0x7f34(gp) | t5 = *(gp);
0x00023c64 addiu t5, t5, -0x6990 | t5 += -0x6990;
| label_8:
0x00023c68 lw v0, (fp) | v0 = *(fp);
0x00023c6c lw t6, -0x7f34(gp) | t6 = *(gp);
| if (v0 == 0) {
0x00023c70 bnel v0, zero, 0x24074 | goto label_24;
| }
0x00023c74 lw t6, -0x7f34(gp) | t6 = *(gp);
0x00023c78 lw v0, 0x24(fp) | v0 = *(arg_24h);
0x00023c7c addiu t6, t6, -0x6990 | t6 += -0x6990;
| if (v0 == 0) {
0x00023c80 beqz v0, 0x24080 | goto label_25;
| }
| label_6:
0x00023c84 lw t7, -0x7f34(gp) | t7 = *(gp);
| /* str._principals */
0x00023c88 addiu t7, t7, -0x46d0 | t7 += -0x46d0;
| label_7:
0x00023c8c lw v0, 0xc(fp) | v0 = *(arg_ch);
0x00023c90 lw t8, -0x7f34(gp) | t8 = *(gp);
| if (v0 != 0) {
0x00023c94 bnez v0, 0x2406c | goto label_26;
| }
0x00023c98 lw t8, -0x7f34(gp) | t8 = *(gp);
0x00023c9c addiu t8, t8, -0x6990 | t8 += -0x6990;
| label_5:
0x00023ca0 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00023ca4 lw t9, -0x7f34(gp) | t9 = *(gp);
| if (v0 == 0) {
0x00023ca8 bnel v0, zero, 0x2404c | goto label_27;
| }
0x00023cac lw t9, -0x7f34(gp) | t9 = *(gp);
0x00023cb0 lw a0, 0x28(fp) | a0 = *(arg_28h);
0x00023cb4 addiu v0, zero, -1 | v0 = -1;
0x00023cb8 addiu t9, t9, -0x6990 | t9 += -0x6990;
| if (a0 == v0) {
0x00023cbc beq a0, v0, 0x2405c | goto label_28;
| }
| label_3:
0x00023cc0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00023cc4 lw v1, 0x70(sp) | v1 = *(var_70h);
| /* str._tun */
0x00023cc8 addiu v0, v0, -0x46b8 | v0 += -0x46b8;
| label_4:
0x00023ccc lw a0, 0x10(fp) | a0 = *(arg_10h);
0x00023cd0 lw s1, -0x7f34(gp) | s1 = *(gp);
| if (a0 != 0) {
0x00023cd4 bnez a0, 0x24044 | goto label_29;
| }
0x00023cd8 lw s1, -0x7f34(gp) | s1 = *(gp);
0x00023cdc addiu s1, s1, -0x6990 | s1 += -0x6990;
| label_2:
0x00023ce0 lw a0, 8(fp) | a0 = *(arg_8h);
0x00023ce4 lw s2, -0x7f34(gp) | s2 = *(gp);
| if (a0 != 0) {
0x00023ce8 bnez a0, 0x2403c | goto label_30;
| }
0x00023cec lw s2, -0x7f34(gp) | s2 = *(gp);
0x00023cf0 addiu s2, s2, -0x6990 | s2 += -0x6990;
| label_1:
0x00023cf4 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00023cf8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00023cfc lw s7, -0x7180(gp) | s7 = sym.imp.__snprintf_chk;
0x00023d00 addiu s3, sp, 0xbc | s3 = sp + 0xbc;
| /* str.key_options:_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s */
0x00023d04 addiu v0, v0, -0x4694 | v0 += -0x4694;
0x00023d08 addiu a3, zero, 0x400 | a3 = aav.0x00000400;
0x00023d0c addiu a2, zero, 1 | a2 = 1;
0x00023d10 addiu a1, zero, 0x400 | a1 = aav.0x00000400;
0x00023d14 move a0, s3 | a0 = s3;
0x00023d18 sw s2, 0x4c(sp) | *(var_4ch) = s2;
0x00023d1c sw s1, 0x48(sp) | *(var_48h) = s1;
0x00023d20 sw v1, 0x44(sp) | *(var_44h) = v1;
0x00023d24 sw t9, 0x3c(sp) | *(var_3ch) = t9;
0x00023d28 sw t8, 0x38(sp) | *(var_38h) = t8;
0x00023d2c sw t7, 0x34(sp) | *(var_34h) = t7;
0x00023d30 sw t6, 0x30(sp) | *(var_30h) = t6;
0x00023d34 sw t5, 0x2c(sp) | *(var_2ch) = t5;
0x00023d38 sw t4, 0x28(sp) | *(var_28h) = t4;
0x00023d3c sw t3, 0x24(sp) | *(var_24h) = t3;
0x00023d40 sw t2, 0x20(sp) | *(var_20h) = t2;
0x00023d44 sw t1, 0x1c(sp) | *(var_1ch) = t1;
0x00023d48 sw t0, 0x18(sp) | *(var_18h) = t0;
0x00023d4c sw s6, 0x14(sp) | *(var_14h) = s6;
0x00023d50 move t9, s7 | t9 = s7;
0x00023d54 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00023d58 jalr t9 | t9 ();
0x00023d5c lw gp, 0x50(sp) | gp = *(var_50h);
0x00023d60 addiu v0, zero, 5 | v0 = 5;
0x00023d64 sw s3, 0x20(sp) | *(var_20h) = s3;
0x00023d68 lw s6, -0x7f34(gp) | s6 = *(gp);
0x00023d6c lw s2, -0x7f34(gp) | s2 = *(gp);
0x00023d70 lw s1, -0x7f34(gp) | s1 = *(gp);
0x00023d74 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* esilref: '&s: &s' */
0x00023d78 addiu s6, s6, -0x4b44 | s6 += -0x4b44;
0x00023d7c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00023d80 sw s6, 0x18(sp) | *(var_18h) = s6;
0x00023d84 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00023d88 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00023d8c move a3, zero | a3 = 0;
0x00023d90 addiu a2, zero, 0x36d | a2 = 0x36d;
| /* str.auth_log_authopts */
0x00023d94 addiu a1, s2, -0x42d8 | a1 = s2 + -0x42d8;
| /* str.auth.c */
0x00023d98 addiu a0, s1, -0x4f50 | a0 = s1 + -0x4f50;
0x00023d9c jalr t9 | t9 ();
0x00023da0 lw gp, 0x50(sp) | gp = *(var_50h);
| if (s4 != 0) {
0x00023da4 bnez s4, 0x24124 | goto label_31;
| }
| label_16:
0x00023da8 lw v0, 0x4f4(s5) | v0 = *((s5 + 317));
| if (v0 == 0) {
0x00023dac beql v0, zero, 0x23e6c | goto label_32;
| }
0x00023db0 lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00023db4 lw v0, 0x30(fp) | v0 = *(arg_30h);
0x00023db8 lw v0, -0x7cd0(gp) | v0 = sym.auth_debug_add;
| if (v0 == 0) {
0x00023dbc beqz v0, 0x23e68 | goto label_33;
| }
0x00023dc0 lw s3, -0x7f34(gp) | s3 = *(gp);
0x00023dc4 sw v0, 0x74(sp) | *(var_74h) = v0;
| /* str.auth_log_authopts */
0x00023dc8 addiu v0, s2, -0x42d8 | v0 = s2 + -0x42d8;
0x00023dcc sw v0, 0x5c(sp) | *(var_5ch) = v0;
| /* str.auth.c */
0x00023dd0 addiu v0, s1, -0x4f50 | v0 = s1 + -0x4f50;
0x00023dd4 move s5, zero | s5 = 0;
| /* str._s:_environment:__s */
0x00023dd8 addiu s3, s3, -0x4668 | s3 += -0x4668;
0x00023ddc addiu s7, zero, 5 | s7 = 5;
0x00023de0 sw v0, 0x60(sp) | *(var_60h) = v0;
0x00023de4 b 0x23dfc |
| while (s4 == 0) {
0x00023de8 lw v0, 0x30(fp) | v0 = *(arg_30h);
0x00023dec addiu s5, s5, 1 | s5++;
0x00023df0 sltu v0, s5, v0 | v0 = (s5 < v0) ? 1 : 0;
| if (v0 == 0) {
0x00023df4 beql v0, zero, 0x23e6c | goto label_32;
| }
0x00023df8 lw a0, 0x18(fp) | a0 = *(arg_18h);
| label_0:
0x00023dfc lw v0, 0x34(fp) | v0 = *(arg_34h);
0x00023e00 sll s6, s5, 2 | s6 = s5 << 2;
0x00023e04 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00023e08 lwx v0, s6(v0) | __asm ("lwx v0, s6(v0)");
0x00023e0c lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x00023e10 lw a0, 0x60(sp) | a0 = *(var_60h);
0x00023e14 move a3, zero | a3 = 0;
0x00023e18 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00023e1c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00023e20 sw s3, 0x18(sp) | *(var_18h) = s3;
0x00023e24 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00023e28 sw s7, 0x10(sp) | *(var_10h) = s7;
0x00023e2c addiu a2, zero, 0x373 | a2 = 0x373;
0x00023e30 jalr t9 | t9 ();
0x00023e34 lw gp, 0x50(sp) | gp = *(var_50h);
0x00023e38 beqz s4, 0x23de8 |
| }
0x00023e3c lw a2, 0x34(fp) | a2 = *(arg_34h);
0x00023e40 lw t9, 0x74(sp) | t9 = *(var_74h);
0x00023e44 move a1, s0 | a1 = s0;
0x00023e48 lwx a2, s6(a2) | __asm ("lwx a2, s6(a2)");
0x00023e4c move a0, s3 | a0 = s3;
0x00023e50 jalr t9 | t9 ();
0x00023e54 lw v0, 0x30(fp) | v0 = *(arg_30h);
0x00023e58 addiu s5, s5, 1 | s5++;
0x00023e5c sltu v0, s5, v0 | v0 = (s5 < v0) ? 1 : 0;
0x00023e60 lw gp, 0x50(sp) | gp = *(var_50h);
| if (v0 != 0) {
0x00023e64 bnez v0, 0x23dfc | goto label_0;
| }
| label_33:
0x00023e68 lw a0, 0x18(fp) | a0 = *(arg_18h);
| label_32:
0x00023e6c lw a1, 0x1c(fp) | a1 = *(arg_1ch);
0x00023e70 or v0, a0, a1 | v0 = a0 | a1;
0x00023e74 lw s3, 0x70(sp) | s3 = *(var_70h);
| if (v0 == 0) {
0x00023e78 bnel v0, zero, 0x240d0 | goto label_34;
| }
| label_15:
0x00023e7c lw v0, 0x24(fp) | v0 = *(arg_24h);
0x00023e80 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| if (v0 != 0) {
0x00023e84 beqz v0, 0x23ec0 |
0x00023e88 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00023e8c lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str._s:_authorized_principals:___s_ */
0x00023e90 addiu v0, v0, -0x4640 | v0 += -0x4640;
0x00023e94 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00023e98 addiu v0, zero, 5 | v0 = 5;
0x00023e9c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00023ea0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00023ea4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00023ea8 move a3, zero | a3 = 0;
0x00023eac addiu a2, zero, 0x382 | a2 = 0x382;
| /* str.auth_log_authopts */
0x00023eb0 addiu a1, s2, -0x42d8 | a1 = s2 + -0x42d8;
| /* str.auth.c */
0x00023eb4 addiu a0, s1, -0x4f50 | a0 = s1 + -0x4f50;
0x00023eb8 jalr t9 | t9 ();
0x00023ebc lw gp, 0x50(sp) | gp = *(var_50h);
| }
0x00023ec0 lw v0, 0x2c(fp) | v0 = *(arg_2ch);
0x00023ec4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| if (v0 != 0) {
0x00023ec8 beqz v0, 0x23f04 |
0x00023ecc sw v0, 0x20(sp) | *(var_20h) = v0;
0x00023ed0 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str._s:_forced_command:___s_ */
0x00023ed4 addiu v0, v0, -0x4620 | v0 += -0x4620;
0x00023ed8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00023edc addiu v0, zero, 5 | v0 = 5;
0x00023ee0 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00023ee4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00023ee8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00023eec move a3, zero | a3 = 0;
0x00023ef0 addiu a2, zero, 0x385 | a2 = 0x385;
| /* str.auth_log_authopts */
0x00023ef4 addiu a1, s2, -0x42d8 | a1 = s2 + -0x42d8;
| /* str.auth.c */
0x00023ef8 addiu a0, s1, -0x4f50 | a0 = s1 + -0x4f50;
0x00023efc jalr t9 | t9 ();
0x00023f00 lw gp, 0x50(sp) | gp = *(var_50h);
| }
0x00023f04 lw v0, 0x68(sp) | v0 = *(var_68h);
0x00023f08 lw v0, 0x64(sp) | v0 = *(var_64h);
| if (v0 == 0) {
0x00023f0c beqz v0, 0x23f84 | goto label_35;
| }
0x00023f10 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x00023f14 lw v0, 0x64(sp) | v0 = *(var_64h);
| if (v0 == 0) {
0x00023f18 beqz v0, 0x23f84 | goto label_35;
| }
0x00023f1c lw s3, -0x7f34(gp) | s3 = *(gp);
0x00023f20 move s7, zero | s7 = 0;
| /* str._s:_permitted_open:__s */
0x00023f24 addiu s3, s3, -0x4604 | s3 += -0x4604;
0x00023f28 addiu s6, zero, 5 | s6 = 5;
| /* str.auth_log_authopts */
0x00023f2c addiu s5, s2, -0x42d8 | s5 = s2 + -0x42d8;
| /* str.auth.c */
0x00023f30 addiu s4, s1, -0x4f50 | s4 = s1 + -0x4f50;
| do {
0x00023f34 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00023f38 sll v1, s7, 2 | v1 = s7 << 2;
0x00023f3c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00023f40 lwx v0, v1(v0) | __asm ("lwx v0, v1(v0)");
0x00023f44 move a3, zero | a3 = 0;
0x00023f48 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00023f4c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00023f50 sw s3, 0x18(sp) | *(var_18h) = s3;
0x00023f54 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00023f58 sw s6, 0x10(sp) | *(var_10h) = s6;
0x00023f5c addiu a2, zero, 0x389 | a2 = 0x389;
0x00023f60 move a1, s5 | a1 = s5;
0x00023f64 move a0, s4 | a0 = s4;
0x00023f68 jalr t9 | t9 ();
0x00023f6c lw v0, 0x38(fp) | v0 = *(arg_38h);
0x00023f70 addiu s7, s7, 1 | s7++;
0x00023f74 sltu v0, s7, v0 | v0 = (s7 < v0) ? 1 : 0;
0x00023f78 lw gp, 0x50(sp) | gp = *(var_50h);
0x00023f7c bnez v0, 0x23f34 |
| } while (v0 != 0);
0x00023f80 lw v0, 0x64(sp) | v0 = *(var_64h);
| label_35:
0x00023f84 lw v0, 0x6c(sp) | v0 = *(var_6ch);
| if (v0 == 0) {
0x00023f88 beqz v0, 0x24000 | goto label_36;
| }
0x00023f8c lw v0, 0x40(fp) | v0 = *(arg_40h);
0x00023f90 lw v0, 0x6c(sp) | v0 = *(var_6ch);
| if (v0 == 0) {
0x00023f94 beqz v0, 0x24000 | goto label_36;
| }
0x00023f98 lw s4, -0x7f34(gp) | s4 = *(gp);
0x00023f9c move s3, zero | s3 = 0;
| /* str._s:_permitted_listen:__s */
0x00023fa0 addiu s4, s4, -0x45ec | s4 += -0x45ec;
0x00023fa4 addiu s5, zero, 5 | s5 = 5;
| /* str.auth_log_authopts */
0x00023fa8 addiu s2, s2, -0x42d8 | s2 += -0x42d8;
| /* str.auth.c */
0x00023fac addiu s1, s1, -0x4f50 | s1 += -0x4f50;
| do {
0x00023fb0 lw v0, 0x44(fp) | v0 = *(arg_44h);
0x00023fb4 sll v1, s3, 2 | v1 = s3 << 2;
0x00023fb8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00023fbc lwx v0, v1(v0) | __asm ("lwx v0, v1(v0)");
0x00023fc0 move a3, zero | a3 = 0;
0x00023fc4 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00023fc8 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00023fcc sw s4, 0x18(sp) | *(var_18h) = s4;
0x00023fd0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00023fd4 sw s5, 0x10(sp) | *(var_10h) = s5;
0x00023fd8 addiu a2, zero, 0x38f | a2 = 0x38f;
0x00023fdc move a1, s2 | a1 = s2;
0x00023fe0 move a0, s1 | a0 = s1;
0x00023fe4 jalr t9 | t9 ();
0x00023fe8 lw v0, 0x40(fp) | v0 = *(arg_40h);
0x00023fec addiu s3, s3, 1 | s3++;
0x00023ff0 sltu v0, s3, v0 | v0 = (s3 < v0) ? 1 : 0;
0x00023ff4 lw gp, 0x50(sp) | gp = *(var_50h);
0x00023ff8 bnez v0, 0x23fb0 |
| } while (v0 != 0);
0x00023ffc lw v0, 0x6c(sp) | v0 = *(var_6ch);
| label_36:
0x00024000 lw v1, 0x4bc(sp) | v1 = *(var_4bch);
0x00024004 lw v0, (v0) | v0 = *(v0);
0x00024008 lw ra, 0x4e4(sp) | ra = *(var_4e4h);
| if (v1 != v0) {
0x0002400c bne v1, v0, 0x24140 | goto label_37;
| }
0x00024010 lw fp, 0x4e0(sp) | fp = *(var_4e0h);
0x00024014 lw s7, 0x4dc(sp) | s7 = *(var_4dch);
0x00024018 lw s6, 0x4d8(sp) | s6 = *(var_4d8h);
0x0002401c lw s5, 0x4d4(sp) | s5 = *(var_4d4h);
0x00024020 lw s4, 0x4d0(sp) | s4 = *(var_4d0h);
0x00024024 lw s3, 0x4cc(sp) | s3 = *(var_4cch);
0x00024028 lw s2, 0x4c8(sp) | s2 = *(var_4c8h);
0x0002402c lw s1, 0x4c4(sp) | s1 = *(var_4c4h);
0x00024030 lw s0, 0x4c0(sp) | s0 = *(var_4c0h);
0x00024034 addiu sp, sp, 0x4e8 |
0x00024038 jr ra | return v0;
| /* str._x11_forwarding */
| label_30:
0x0002403c addiu s2, s2, -0x46a4 | s2 += -0x46a4;
0x00024040 b 0x23cf4 | goto label_1;
| /* str._user_rc */
| label_29:
0x00024044 addiu s1, s1, -0x46b0 | s1 += -0x46b0;
0x00024048 b 0x23ce0 | goto label_2;
| label_27:
0x0002404c lw a0, 0x28(fp) | a0 = *(arg_28h);
0x00024050 addiu v0, zero, -1 | v0 = -1;
| /* esilref: ' uv' */
0x00024054 addiu t9, t9, -0x46bc | t9 += -0x46bc;
| if (a0 != v0) {
0x00024058 bne a0, v0, 0x23cc0 | goto label_3;
| }
| label_28:
0x0002405c lw v0, -0x7f34(gp) | v0 = *(gp);
0x00024060 addiu v0, v0, -0x6990 | v0 += -0x6990;
0x00024064 move v1, v0 | v1 = v0;
0x00024068 b 0x23ccc | goto label_4;
| /* str._pty */
| label_26:
0x0002406c addiu t8, t8, -0x46c4 | t8 += -0x46c4;
0x00024070 b 0x23ca0 | goto label_5;
| label_24:
0x00024074 lw v0, 0x24(fp) | v0 = *(arg_24h);
| /* str._port_forwarding */
0x00024078 addiu t6, t6, -0x46e4 | t6 += -0x46e4;
| if (v0 != 0) {
0x0002407c bnez v0, 0x23c84 | goto label_6;
| }
| label_25:
0x00024080 lw t7, -0x7f34(gp) | t7 = *(gp);
0x00024084 addiu t7, t7, -0x6990 | t7 += -0x6990;
0x00024088 b 0x23c8c | goto label_7;
| /* str._permitlisten */
| label_23:
0x0002408c addiu t5, t5, -0x46f4 | t5 += -0x46f4;
0x00024090 b 0x23c68 | goto label_8;
| /* str._permitopen */
| label_22:
0x00024094 addiu t4, t4, -0x4700 | t4 += -0x4700;
0x00024098 b 0x23c54 | goto label_9;
| /* str._no_touch_required */
| label_21:
0x0002409c addiu t3, t3, -0x4714 | t3 += -0x4714;
0x000240a0 b 0x23c40 | goto label_10;
| label_20:
0x000240a4 addiu t2, t2, -0x6990 | t2 += -0x6990;
0x000240a8 b 0x23c2c | goto label_11;
| /* str._environment */
| label_19:
0x000240ac addiu t1, t1, -0x472c | t1 += -0x472c;
0x000240b0 b 0x23c10 | goto label_12;
| label_17:
0x000240b4 lw s6, -0x7f34(gp) | s6 = *(gp);
0x000240b8 lw v0, 0x2c(fp) | v0 = *(arg_2ch);
| /* str._agent_forwarding */
0x000240bc addiu s6, s6, -0x474c | s6 += -0x474c;
| if (v0 != 0) {
0x000240c0 bnez v0, 0x23bf8 | goto label_13;
| }
| label_18:
0x000240c4 lw t0, -0x7f34(gp) | t0 = *(gp);
0x000240c8 addiu t0, t0, -0x6990 | t0 += -0x6990;
0x000240cc b 0x23c00 | goto label_14;
| label_34:
0x000240d0 lw t9, -0x7a6c(gp) | t9 = sym.format_absolute_time;
0x000240d4 addiu a3, zero, 0x40 | a3 = 0x40;
0x000240d8 move a2, s3 | a2 = s3;
0x000240dc jalr t9 | t9 ();
0x000240e0 lw gp, 0x50(sp) | gp = *(var_50h);
0x000240e4 sw s3, 0x20(sp) | *(var_20h) = s3;
0x000240e8 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x000240ec lw v0, -0x7f34(gp) | v0 = *(gp);
0x000240f0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str._s:_expires_at__s */
0x000240f4 addiu v0, v0, -0x4654 | v0 += -aav.0x00004654;
0x000240f8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000240fc addiu v0, zero, 5 | v0 = 5;
0x00024100 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00024104 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00024108 move a3, zero | a3 = 0;
0x0002410c addiu a2, zero, 0x37e | a2 = 0x37e;
| /* str.auth_log_authopts */
0x00024110 addiu a1, s2, -0x42d8 | a1 = s2 + -0x42d8;
| /* str.auth.c */
0x00024114 addiu a0, s1, -0x4f50 | a0 = s1 + -0x4f50;
0x00024118 jalr t9 | t9 ();
0x0002411c lw gp, 0x50(sp) | gp = *(var_50h);
0x00024120 b 0x23e7c | goto label_15;
| label_31:
0x00024124 lw t9, -0x7cd0(gp) | t9 = sym.auth_debug_add;
0x00024128 move a2, s3 | a2 = s3;
0x0002412c move a1, s0 | a1 = s0;
0x00024130 move a0, s6 | a0 = s6;
0x00024134 bal 0x22358 | sym_auth_debug_add ();
0x00024138 lw gp, 0x50(sp) | gp = *(var_50h);
0x0002413c b 0x23da8 | goto label_16;
| label_37:
0x00024140 lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x00024144 jalr t9 | t9 ();
0x00024148 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x64b3c */
| #include <stdint.h>
|
; (fcn) sym.channel_open_message () | void channel_open_message () {
0x00064b3c lui gp, 0xa |
0x00064b40 addiu gp, gp, -0x284c |
0x00064b44 addu gp, gp, t9 | gp += t9;
0x00064b48 addiu sp, sp, -0xa0 |
0x00064b4c lw v0, -0x6fc4(gp) | v0 = *((gp - 7153));
0x00064b50 sw gp, 0x40(sp) | *(var_40h) = gp;
0x00064b54 sw ra, 0x9c(sp) | *(var_9ch) = ra;
0x00064b58 sw fp, 0x98(sp) | *(var_98h) = fp;
0x00064b5c sw s7, 0x94(sp) | *(var_94h) = s7;
0x00064b60 sw s6, 0x90(sp) | *(var_90h) = s6;
0x00064b64 sw s5, 0x8c(sp) | *(var_8ch) = s5;
0x00064b68 sw s4, 0x88(sp) | *(var_88h) = s4;
0x00064b6c sw s3, 0x84(sp) | *(var_84h) = s3;
0x00064b70 sw s2, 0x80(sp) | *(var_80h) = s2;
0x00064b74 sw s1, 0x7c(sp) | *(var_7ch) = s1;
0x00064b78 sw s0, 0x78(sp) | *(var_78h) = s0;
0x00064b7c sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x00064b80 lw v0, (v0) | v0 = *(v0);
0x00064b84 lw t9, -0x7fa8(gp) | t9 = sym.sshbuf_new;
0x00064b88 sw a0, 0x54(sp) | *(var_54h) = a0;
0x00064b8c sw v0, 0x74(sp) | *(var_74h) = v0;
0x00064b90 bal 0x4b790 | sym_sshbuf_new ();
0x00064b94 nop |
0x00064b98 sw v0, 0x50(sp) | *(var_50h) = v0;
0x00064b9c lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 == 0) {
0x00064ba0 beqz v0, 0x64f1c | goto label_5;
| }
0x00064ba4 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00064ba8 lw t9, -0x7f30(gp) | t9 = sym.sshbuf_putf;
0x00064bac lw a0, 0x50(sp) | a0 = *(var_50h);
| /* str.The_following_connections_are_open:_r_n */
0x00064bb0 addiu a1, a1, 0x4898 | a1 += 0x4898;
0x00064bb4 bal 0x584b0 | sym_sshbuf_putf ();
0x00064bb8 lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 != 0) {
0x00064bbc bnez v0, 0x64f44 | goto label_6;
| }
0x00064bc0 lw v0, 0x54(sp) | v0 = *(var_54h);
0x00064bc4 lw a2, 0x201c(v0) | a2 = *((v0 + 2055));
0x00064bc8 lw v0, 4(a2) | v0 = *((a2 + 1));
0x00064bcc move fp, zero | fp = 0;
| if (v0 == 0) {
0x00064bd0 beqz v0, 0x64dbc | goto label_7;
| }
0x00064bd4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00064bd8 sw v0, 0x58(sp) | *(var_58h) = v0;
0x00064bdc lw v0, -0x7f34(gp) | v0 = *(gp);
0x00064be0 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x00064be4 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.closed */
0x00064be8 addiu v0, v0, 0x488c | v0 += 0x488c;
0x00064bec sw v0, 0x64(sp) | *(var_64h) = v0;
0x00064bf0 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.read */
0x00064bf4 addiu v0, v0, 0x16ec | v0 += 0x16ec;
0x00064bf8 sw v0, 0x68(sp) | *(var_68h) = v0;
0x00064bfc lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.write */
0x00064c00 addiu v0, v0, 0x16f4 | v0 += 0x16f4;
0x00064c04 sw v0, 0x60(sp) | *(var_60h) = v0;
0x00064c08 b 0x64c30 | goto label_1;
| label_0:
0x00064c0c ori v1, v1, 0xc866 | v1 |= 0xc866;
0x00064c10 and v0, v0, v1 | v0 &= v1;
0x00064c14 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 == 0) {
0x00064c18 beqz v0, 0x64e50 | goto label_8;
| }
0x00064c1c lw v0, 4(a2) | v0 = *((a2 + 1));
| do {
0x00064c20 addiu fp, fp, 1 | fp++;
0x00064c24 sltu v0, fp, v0 | v0 = (fp < v0) ? 1 : 0;
0x00064c28 lw t9, -0x7d68(gp) | t9 = sym.sshbuf_dup_string;
| if (v0 == 0) {
0x00064c2c beqz v0, 0x64dc0 | goto label_9;
| }
| label_1:
0x00064c30 lw v1, (a2) | v1 = *(a2);
0x00064c34 sll v0, fp, 2 | v0 = fp << 2;
0x00064c38 lwx s7, v0(v1) | __asm ("lwx s7, v0(v1)");
0x00064c3c beql s7, zero, 0x64c20 |
| } while (s7 == 0);
0x00064c40 lw v0, 4(a2) | v0 = *((a2 + 1));
0x00064c44 lw a1, (s7) | a1 = *(s7);
0x00064c48 sltiu v0, a1, 0x17 | v0 = (a1 < 0x17) ? 1 : 0;
0x00064c4c addiu v0, zero, 1 | v0 = 1;
| if (v0 == 0) {
0x00064c50 beqz v0, 0x64e4c | goto label_10;
| }
0x00064c54 lui a0, 0x71 | a0 = 0x710000;
0x00064c58 sllv v0, v0, a1 | v0 <<= a1;
0x00064c5c addiu a0, a0, 0x3498 | a0 += 0x3498;
0x00064c60 and a0, v0, a0 | a0 = v0 & a0;
0x00064c64 lui v1, 0xe | v1 = 0xe0000;
| if (a0 == 0) {
0x00064c68 beqz a0, 0x64c0c | goto label_0;
| }
0x00064c6c lw v0, 0xc(s7) | v0 = *((s7 + 3));
0x00064c70 sw zero, 0x70(sp) | *(var_70h) = 0;
0x00064c74 lw s5, (s7) | s5 = *(s7);
| if (v0 != 0) {
0x00064c78 bnez v0, 0x64e28 | goto label_11;
| }
0x00064c7c lw s0, -0x7f34(gp) | s0 = *(gp);
| /* esilref: 'nr' */
0x00064c80 addiu s0, s0, 0x4894 | s0 += 0x4894;
| label_2:
0x00064c84 lw t9, -0x7f9c(gp) | t9 = sym.sshbuf_len;
0x00064c88 lw a0, 0x44(s7) | a0 = *((s7 + 17));
0x00064c8c lw s1, 8(s7) | s1 = *((s7 + 2));
0x00064c90 lw s2, 0x10(s7) | s2 = *((s7 + 4));
0x00064c94 bal 0x4c154 | sym_sshbuf_len ();
0x00064c98 lw gp, 0x40(sp) | gp = *(var_40h);
0x00064c9c lw a0, 0x48(s7) | a0 = *((s7 + 18));
0x00064ca0 move s3, v0 | s3 = v0;
0x00064ca4 lw t9, -0x7f9c(gp) | t9 = sym.sshbuf_len;
0x00064ca8 lw s4, 0x14(s7) | s4 = *((s7 + 5));
0x00064cac bal 0x4c154 | sym_sshbuf_len ();
0x00064cb0 lw a1, 0x24(s7) | a1 = *((s7 + 9));
0x00064cb4 addiu a0, zero, -1 | a0 = -1;
0x00064cb8 lw gp, 0x40(sp) | gp = *(var_40h);
0x00064cbc move s6, v0 | s6 = v0;
| if (a1 == a0) {
0x00064cc0 beq a1, a0, 0x64e3c | goto label_12;
| }
0x00064cc4 lw v0, 0x7c(s7) | v0 = *((s7 + 31));
0x00064cc8 addiu a0, zero, 1 | a0 = 1;
0x00064ccc addiu a0, zero, 2 | a0 = 2;
| if (v0 == a0) {
0x00064cd0 beq v0, a0, 0x64e44 | goto label_13;
| }
0x00064cd4 lw t1, 0x60(sp) | t1 = *(var_60h);
| if (v0 != a0) {
0x00064cd8 beq v0, a0, 0x64cec |
0x00064cdc lw t1, -0x7f34(gp) | t1 = *(gp);
| if (v0 == 0) {
0x00064ce0 beqz v0, 0x64e34 | goto label_14;
| }
0x00064ce4 lw t1, -0x7f34(gp) | t1 = *(gp);
| /* str.UNKNOWN */
0x00064ce8 addiu t1, t1, -0x79d0 | t1 += -0x79d0;
| }
| label_3:
0x00064cec lw t9, -0x7f9c(gp) | t9 = sym.sshbuf_len;
0x00064cf0 lw a0, 0x4c(s7) | a0 = *((s7 + 19));
0x00064cf4 sw t1, 0x4c(sp) | *(var_4ch) = t1;
0x00064cf8 bal 0x4c154 | sym_sshbuf_len ();
0x00064cfc lw a0, 0x2c(s7) | a0 = *((s7 + 11));
0x00064d00 lw gp, 0x40(sp) | gp = *(var_40h);
0x00064d04 sw a0, 0x3c(sp) | *(var_3ch) = a0;
0x00064d08 lw a0, 0x28(s7) | a0 = *((s7 + 10));
0x00064d0c lw v1, 0x58(sp) | v1 = *(var_58h);
0x00064d10 sw a0, 0x38(sp) | *(var_38h) = a0;
0x00064d14 lw a0, 0x24(s7) | a0 = *((s7 + 9));
0x00064d18 lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x00064d1c sw a0, 0x34(sp) | *(var_34h) = a0;
0x00064d20 lw a0, 0x20(s7) | a0 = *((s7 + 8));
0x00064d24 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x00064d28 sw a0, 0x30(sp) | *(var_30h) = a0;
0x00064d2c lw t3, 0x1c(s7) | t3 = *((s7 + 7));
0x00064d30 move a3, s0 | a3 = s0;
0x00064d34 addiu a1, v1, 0x48c0 | a1 = v1 + 0x48c0;
0x00064d38 move a2, s5 | a2 = s5;
0x00064d3c addiu a0, sp, 0x70 | a0 = sp + 0x70;
0x00064d40 sw t3, 0x2c(sp) | *(var_2ch) = t3;
0x00064d44 sw t1, 0x24(sp) | *(var_24h) = t1;
0x00064d48 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00064d4c sw s6, 0x20(sp) | *(var_20h) = s6;
0x00064d50 sw s4, 0x1c(sp) | *(var_1ch) = s4;
0x00064d54 sw s3, 0x18(sp) | *(var_18h) = s3;
0x00064d58 sw s2, 0x14(sp) | *(var_14h) = s2;
0x00064d5c sw s1, 0x10(sp) | *(var_10h) = s1;
0x00064d60 bal 0x7e16c | sym_xasprintf ()
0x00064d64 lw gp, 0x40(sp) | gp = *(var_40h);
0x00064d68 lw s0, 0x70(sp) | s0 = *(var_70h);
0x00064d6c lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x00064d70 lw a3, 0x60(s7) | a3 = *((s7 + 24));
0x00064d74 lw t9, -0x7f30(gp) | t9 = sym.sshbuf_putf;
0x00064d78 lw a2, 4(s7) | a2 = *((s7 + 1));
0x00064d7c lw a0, 0x50(sp) | a0 = *(var_50h);
0x00064d80 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00064d84 addiu a1, v0, 0x4900 | a1 = v0 + 0x4900;
0x00064d88 bal 0x584b0 | sym_sshbuf_putf ();
0x00064d8c lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 != 0) {
0x00064d90 bnez v0, 0x64e88 | goto label_15;
| }
0x00064d94 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00064d98 move a0, s0 | a0 = s0;
0x00064d9c jalr t9 | t9 ();
0x00064da0 lw v0, 0x54(sp) | v0 = *(var_54h);
0x00064da4 addiu fp, fp, 1 | fp++;
0x00064da8 lw a2, 0x201c(v0) | a2 = *((v0 + 2055));
0x00064dac lw v0, 4(a2) | v0 = *((a2 + 1));
0x00064db0 sltu v0, fp, v0 | v0 = (fp < v0) ? 1 : 0;
0x00064db4 lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 != 0) {
0x00064db8 bnez v0, 0x64c30 | goto label_1;
| }
| label_7:
0x00064dbc lw t9, -0x7d68(gp) | t9 = sym.sshbuf_dup_string;
| label_9:
0x00064dc0 lw a0, 0x50(sp) | a0 = *(var_50h);
0x00064dc4 bal 0x59a40 | sym_sshbuf_dup_string ();
0x00064dc8 lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 == 0) {
0x00064dcc beqz v0, 0x64ee8 | goto label_16;
| }
0x00064dd0 lw t9, -0x7f90(gp) | t9 = sym.sshbuf_free;
0x00064dd4 lw a0, 0x50(sp) | a0 = *(var_50h);
0x00064dd8 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x00064ddc bal 0x4ba3c | sym_sshbuf_free ();
0x00064de0 lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x00064de4 lw a0, 0x74(sp) | a0 = *(var_74h);
0x00064de8 lw gp, 0x40(sp) | gp = *(var_40h);
0x00064dec lw v1, (v0) | v1 = *(v0);
0x00064df0 lw v0, 0x4c(sp) | v0 = *(var_4ch);
| if (a0 != v1) {
0x00064df4 bne a0, v1, 0x64f10 | goto label_17;
| }
0x00064df8 lw ra, 0x9c(sp) | ra = *(var_9ch);
0x00064dfc lw fp, 0x98(sp) | fp = *(var_98h);
0x00064e00 lw s7, 0x94(sp) | s7 = *(var_94h);
0x00064e04 lw s6, 0x90(sp) | s6 = *(var_90h);
0x00064e08 lw s5, 0x8c(sp) | s5 = *(var_8ch);
0x00064e0c lw s4, 0x88(sp) | s4 = *(var_88h);
0x00064e10 lw s3, 0x84(sp) | s3 = *(var_84h);
0x00064e14 lw s2, 0x80(sp) | s2 = *(var_80h);
0x00064e18 lw s1, 0x7c(sp) | s1 = *(var_7ch);
0x00064e1c lw s0, 0x78(sp) | s0 = *(var_78h);
0x00064e20 addiu sp, sp, 0xa0 |
0x00064e24 jr ra | return v1;
| label_11:
0x00064e28 lw s0, -0x7f34(gp) | s0 = *(gp);
0x00064e2c addiu s0, s0, -0x6b8c | s0 += -0x6b8c;
0x00064e30 b 0x64c84 | goto label_2;
| /* esilref: 'ignore' */
| label_14:
0x00064e34 addiu t1, t1, 0x47d8 | t1 += 0x47d8;
0x00064e38 b 0x64cec | goto label_3;
| label_12:
0x00064e3c lw t1, 0x64(sp) | t1 = *(var_64h);
0x00064e40 b 0x64cec | goto label_3;
| label_13:
0x00064e44 lw t1, 0x68(sp) | t1 = *(var_68h);
0x00064e48 b 0x64cec | goto label_3;
| label_10:
0x00064e4c lw v0, -0x7f34(gp) | v0 = *(gp);
| label_8:
0x00064e50 sw a1, 0x1c(sp) | *(var_1ch) = a1;
| /* str.bad_channel_type__d */
0x00064e54 addiu v0, v0, 0x4878 | v0 += 0x4878;
0x00064e58 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00064e5c lw a0, -0x7f34(gp) | a0 = *(gp);
0x00064e60 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00064e64 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00064e68 addiu v0, zero, 1 | v0 = 1;
0x00064e6c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00064e70 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00064e74 addiu a3, zero, 1 | a3 = 1;
0x00064e78 addiu a2, zero, 0x38f | a2 = 0x38f;
| /* str.channel_open_message */
0x00064e7c addiu a1, a1, 0x5eac | a1 += 0x5eac;
| /* str.channels.c */
0x00064e80 addiu a0, a0, 0x3810 | a0 += aav.0x00003810;
0x00064e84 bal 0x6da50 | sym_sshfatal ();
| label_15:
0x00064e88 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00064e8c sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x00064e90 move a0, s0 | a0 = s0;
0x00064e94 jalr t9 | t9 ();
0x00064e98 lw gp, 0x40(sp) | gp = *(var_40h);
0x00064e9c lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x00064ea0 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00064ea4 move a0, v0 | a0 = v0;
0x00064ea8 bal 0x4b380 | sym_ssh_err ();
0x00064eac lw gp, 0x40(sp) | gp = *(var_40h);
0x00064eb0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00064eb4 addiu v0, zero, 1 | v0 = 1;
0x00064eb8 lw v1, -0x7fb4(gp) | v1 = *(gp);
0x00064ebc lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_putf */
0x00064ec0 addiu v1, v1, 0x6780 | v1 += 0x6780;
0x00064ec4 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00064ec8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00064ecc addiu a3, zero, 1 | a3 = 1;
0x00064ed0 addiu a2, zero, 0x38a | a2 = 0x38a;
| do {
| label_4:
0x00064ed4 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00064ed8 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.channel_open_message */
0x00064edc addiu a1, a1, 0x5eac | a1 += 0x5eac;
| /* str.channels.c */
0x00064ee0 addiu a0, a0, 0x3810 | a0 += aav.0x00003810;
0x00064ee4 bal 0x6da50 | sym_sshfatal ();
| label_16:
0x00064ee8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00064eec lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_dup_string */
0x00064ef0 addiu v0, v0, 0x4914 | v0 += 0x4914;
0x00064ef4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00064ef8 addiu v0, zero, 1 | v0 = 1;
0x00064efc sw zero, 0x14(sp) | *(var_14h) = 0;
0x00064f00 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00064f04 addiu a3, zero, 1 | a3 = 1;
0x00064f08 addiu a2, zero, 0x394 | a2 = aav.0x00000394;
0x00064f0c b 0x64ed4 |
| } while (1);
| label_17:
0x00064f10 lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x00064f14 jalr t9 | t9 ();
0x00064f18 nop |
| label_5:
0x00064f1c lw v0, -0x7fb4(gp) | v0 = *(gp);
0x00064f20 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_new */
0x00064f24 addiu v0, v0, 0x7668 | v0 += 0x7668;
0x00064f28 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00064f2c addiu v0, zero, 1 | v0 = 1;
0x00064f30 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00064f34 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00064f38 addiu a3, zero, 1 | a3 = 1;
0x00064f3c addiu a2, zero, 0x368 | a2 = section..hash;
0x00064f40 b 0x64ed4 | goto label_4;
| label_6:
0x00064f44 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00064f48 move a0, v0 | a0 = v0;
0x00064f4c bal 0x4b380 | sym_ssh_err ();
0x00064f50 lw gp, 0x40(sp) | gp = *(var_40h);
0x00064f54 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00064f58 addiu v0, zero, 1 | v0 = 1;
0x00064f5c lw v1, -0x7fb4(gp) | v1 = *(gp);
0x00064f60 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str.sshbuf_putf */
0x00064f64 addiu v1, v1, 0x6780 | v1 += 0x6780;
0x00064f68 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00064f6c sw v1, 0x18(sp) | *(var_18h) = v1;
0x00064f70 addiu a3, zero, 1 | a3 = 1;
0x00064f74 addiu a2, zero, 0x36b | a2 = 0x36b;
0x00064f78 b 0x64ed4 | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x171ac */
| #include <stdint.h>
|
; (fcn) sym.derelativise_path () | void derelativise_path () {
0x000171ac lui gp, 0xf |
0x000171b0 addiu gp, gp, -0x4ebc |
0x000171b4 addu gp, gp, t9 | gp += t9;
0x000171b8 addiu sp, sp, -0x1040 |
0x000171bc lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
0x000171c0 sw s1, 0x1034(sp) | *(var_1034h) = s1;
0x000171c4 lw s1, -0x6fc4(gp) | s1 = *((gp - 7153));
0x000171c8 sw gp, 0x20(sp) | *(var_20h) = gp;
0x000171cc sw s2, 0x1038(sp) | *(var_1038h) = s2;
0x000171d0 sw s0, 0x1030(sp) | *(var_1030h) = s0;
0x000171d4 sw ra, 0x103c(sp) | *(var_103ch) = ra;
0x000171d8 lw s0, -0x7fb4(gp) | s0 = *(gp);
0x000171dc lw v0, (s1) | v0 = *(s1);
| /* str.none */
0x000171e0 addiu a1, s0, 0x6aac | a1 = s0 + 0x6aac;
0x000171e4 sw v0, 0x102c(sp) | *(var_102ch) = v0;
0x000171e8 move s2, a0 | s2 = a0;
0x000171ec jalr t9 | t9 ();
0x000171f0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000171f4 beqz v0, 0x172b0 | goto label_1;
| }
0x000171f8 lw t9, -0x6fd8(gp) | t9 = sym.imp.getuid;
0x000171fc jalr t9 | t9 ();
0x00017200 nop |
0x00017204 lw gp, 0x20(sp) | gp = *(var_20h);
0x00017208 move a1, v0 | a1 = v0;
0x0001720c lw t9, -0x7c4c(gp) | t9 = sym.tilde_expand_filename;
0x00017210 move a0, s2 | a0 = s2;
0x00017214 jalr t9 | t9 ();
0x00017218 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001721c move a0, v0 | a0 = v0;
0x00017220 lw t9, -0x7e64(gp) | t9 = sym.path_absolute;
0x00017224 move s0, v0 | s0 = v0;
0x00017228 jalr t9 | t9 ();
0x0001722c lw gp, 0x20(sp) | gp = *(var_20h);
0x00017230 beqz v0, 0x1725c |
| while (1) {
| label_0:
0x00017234 lw a0, 0x102c(sp) | a0 = *(var_102ch);
0x00017238 lw v1, (s1) | v1 = *(s1);
0x0001723c move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x00017240 bne a0, v1, 0x172c8 | goto label_2;
| }
0x00017244 lw ra, 0x103c(sp) | ra = *(var_103ch);
0x00017248 lw s2, 0x1038(sp) | s2 = *(var_1038h);
0x0001724c lw s1, 0x1034(sp) | s1 = *(var_1034h);
0x00017250 lw s0, 0x1030(sp) | s0 = *(var_1030h);
0x00017254 addiu sp, sp, 0x1040 |
0x00017258 jr ra | return v0;
0x0001725c lw t9, -0x70f0(gp) | t9 = sym.imp.getcwd;
0x00017260 addiu s2, sp, 0x2c | s2 = sp + 0x2c;
0x00017264 addiu a1, zero, 0x1000 | a1 = 0x1000;
0x00017268 move a0, s2 | a0 = s2;
0x0001726c jalr t9 | t9 ();
0x00017270 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00017274 beqz v0, 0x172d4 | goto label_3;
| }
0x00017278 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001727c lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x00017280 move a3, s0 | a3 = s0;
0x00017284 move a2, s2 | a2 = s2;
| /* esilref: '&s/&s' */
0x00017288 addiu a1, a1, -0x78f8 | a1 += -0x78f8;
0x0001728c addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x00017290 jalr t9 | t9 ();
0x00017294 lw gp, 0x20(sp) | gp = *(var_20h);
0x00017298 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0001729c move a0, s0 | a0 = s0;
0x000172a0 jalr t9 | t9 ();
0x000172a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000172a8 lw s0, 0x28(sp) | s0 = *(var_28h);
0x000172ac b 0x17234 |
| }
| label_1:
0x000172b0 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
| /* str.none */
0x000172b4 addiu a0, s0, 0x6aac | a0 = s0 + 0x6aac;
0x000172b8 jalr t9 | t9 ();
0x000172bc move s0, v0 | s0 = v0;
0x000172c0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000172c4 b 0x17234 | goto label_0;
| label_2:
0x000172c8 lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x000172cc jalr t9 | t9 ();
0x000172d0 nop |
| label_3:
0x000172d4 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x000172d8 jalr t9 | t9 ();
0x000172dc nop |
0x000172e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000172e4 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x000172e8 lw a0, (v0) | a0 = *(v0);
0x000172ec jalr t9 | t9 ();
0x000172f0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000172f4 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000172f8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000172fc lw v0, -0x7f34(gp) | v0 = *(gp);
0x00017300 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.getcwd:__s */
0x00017304 addiu v0, v0, -0x7904 | v0 += -0x7904;
0x00017308 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0001730c sw v0, 0x18(sp) | *(var_18h) = v0;
0x00017310 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00017314 addiu v0, zero, 1 | v0 = 1;
0x00017318 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001731c addiu a3, zero, 1 | a3 = 1;
0x00017320 addiu a2, zero, 0x2e8 | a2 = aav.0x000002e8;
| /* str.derelativise_path */
0x00017324 addiu a1, a1, -0x5974 | a1 += -0x5974;
| /* str.servconf.c */
0x00017328 addiu a0, a0, -0x7b60 | a0 += -0x7b60;
0x0001732c jalr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x2ac74 */
| #include <stdint.h>
|
; (fcn) sym.do_child () | void do_child () {
0x0002ac74 lui gp, 0xd |
0x0002ac78 addiu gp, gp, 0x767c |
0x0002ac7c addu gp, gp, t9 | gp += t9;
0x0002ac80 addiu sp, sp, -0x740 |
0x0002ac84 lw v0, -0x6fc4(gp) | v0 = *((gp - 7153));
0x0002ac88 sw ra, 0x73c(sp) | *(var_73ch) = ra;
0x0002ac8c sw gp, 0x28(sp) | *(var_28h) = gp;
0x0002ac90 sw s7, 0x734(sp) | *(var_734h) = s7;
0x0002ac94 sw s4, 0x728(sp) | *(var_728h) = s4;
0x0002ac98 sw s0, 0x718(sp) | *(var_718h) = s0;
0x0002ac9c sw fp, 0x738(sp) | *(var_738h) = fp;
0x0002aca0 sw s6, 0x730(sp) | *(var_730h) = s6;
0x0002aca4 sw s5, 0x72c(sp) | *(var_72ch) = s5;
0x0002aca8 sw s3, 0x724(sp) | *(var_724h) = s3;
0x0002acac sw s2, 0x720(sp) | *(var_720h) = s2;
0x0002acb0 sw s1, 0x71c(sp) | *(var_71ch) = s1;
0x0002acb4 move s0, a1 | s0 = a1;
0x0002acb8 lw v0, (v0) | v0 = *(v0);
0x0002acbc addiu v1, sp, 0x114 | v1 = sp + aav.0x00000114;
0x0002acc0 sw v0, 0x714(sp) | *(var_714h) = v0;
0x0002acc4 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0002acc8 lw t9, -0x7b54(gp) | t9 = sym.sshpkt_fmt_connection_id;
0x0002accc sw v0, 0x30(sp) | *(var_30h) = v0;
0x0002acd0 sw v1, 0x50(sp) | *(var_50h) = v1;
0x0002acd4 move a1, v1 | a1 = v1;
0x0002acd8 sw a2, 0x38(sp) | *(var_38h) = a2;
0x0002acdc addiu a2, zero, 0x200 | a2 = segment.REGINFO;
0x0002ace0 move s4, a0 | s4 = a0;
0x0002ace4 jalr t9 | t9 ();
0x0002ace8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002acec lw t9, -0x7974(gp) | t9 = *(gp);
0x0002acf0 bal 0x13f40 | sym_destroy_sensitive_data ();
0x0002acf4 nop |
0x0002acf8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002acfc lw t9, -0x7d0c(gp) | t9 = sym.ssh_packet_clear_keys;
0x0002ad00 move a0, s4 | a0 = s4;
0x0002ad04 jalr t9 | t9 ();
0x0002ad08 lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x0002ad0c lw s7, 0x1c(v0) | s7 = *((v0 + 7));
0x0002ad10 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s7 != 0) {
0x0002ad14 bnez s7, 0x2b6e4 | goto label_31;
| }
0x0002ad18 lw s3, -0x7fd8(gp) | s3 = *(gp);
0x0002ad1c lw v0, 0x1180(s3) | v0 = *((s3 + 1120));
0x0002ad20 lw v0, 0x30(sp) | v0 = *(var_30h);
| if (v0 == 0) {
0x0002ad24 beqz v0, 0x2b4f8 | goto label_32;
| }
| label_4:
0x0002ad28 lw t9, -0x7d04(gp) | t9 = sym.do_setusercontext;
| label_3:
0x0002ad2c lw a0, 0x30(sp) | a0 = *(var_30h);
0x0002ad30 bal 0x2a8e4 | sym_do_setusercontext ();
0x0002ad34 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ad38 lw a1, 0x38(sp) | a1 = *(var_38h);
0x0002ad3c lw t9, -0x7970(gp) | t9 = sym.check_quietlogin;
0x0002ad40 move a0, s0 | a0 = s0;
0x0002ad44 bal 0x2a828 | sym_check_quietlogin ();
0x0002ad48 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002ad4c beqz v0, 0x2b65c | goto label_33;
| }
| label_6:
0x0002ad50 lw v0, 0x30(sp) | v0 = *(var_30h);
0x0002ad54 lw v0, 0x18(v0) | v0 = *((v0 + 6));
0x0002ad58 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0002ad5c lb v0, (v0) | v0 = *(v0);
0x0002ad60 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0002ad64 beqz v0, 0x2b4cc | goto label_34;
| }
| label_2:
0x0002ad68 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0002ad6c lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x0002ad70 sw v0, 0x40(sp) | *(var_40h) = v0;
0x0002ad74 addiu v0, zero, 0x64 | v0 = 0x64;
0x0002ad78 addiu a1, zero, 4 | a1 = 4;
0x0002ad7c addiu a0, zero, 0x64 | a0 = 0x64;
0x0002ad80 sw v0, 0x60(sp) | *(var_60h) = v0;
0x0002ad84 jalr t9 | t9 ();
0x0002ad88 sw v0, 0x64(sp) | *(var_64h) = v0;
0x0002ad8c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ad90 sw zero, (v0) | *(v0) = 0;
0x0002ad94 lw v0, 0xa8(s0) | v0 = *((s0 + 42));
0x0002ad98 move s5, zero | s5 = 0;
| if (v0 == 0) {
0x0002ad9c beqz v0, 0x2bd9c | goto label_35;
| }
0x0002ada0 addiu s2, sp, 0x60 | s2 = sp + 0x60;
0x0002ada4 addiu s1, sp, 0x64 | s1 = sp + 0x64;
| do {
0x0002ada8 lw v0, 0xac(s0) | v0 = *((s0 + 43));
0x0002adac sll v1, s5, 3 | v1 = s5 << 3;
0x0002adb0 addu v0, v0, v1 | v0 += v1;
0x0002adb4 lw t9, -0x796c(gp) | t9 = *(gp);
0x0002adb8 lw a3, 4(v0) | a3 = *((v0 + 1));
0x0002adbc lw a2, (v0) | a2 = *(v0);
0x0002adc0 move a1, s2 | a1 = s2;
0x0002adc4 move a0, s1 | a0 = s1;
0x0002adc8 jalr t9 | t9 ();
0x0002adcc lw v0, 0xa8(s0) | v0 = *((s0 + 42));
0x0002add0 addiu s5, s5, 1 | s5++;
0x0002add4 sltu v0, s5, v0 | v0 = (s5 < v0) ? 1 : 0;
0x0002add8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002addc bnez v0, 0x2ada8 |
| } while (v0 != 0);
| label_25:
0x0002ade0 lw s5, 0x40(sp) | s5 = *(var_40h);
0x0002ade4 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002ade8 lw t9, -0x796c(gp) | t9 = *(gp);
0x0002adec lw a3, (s5) | a3 = *(s5);
| /* str.USER */
0x0002adf0 addiu a2, a2, -0x3160 | a2 += -0x3160;
0x0002adf4 move a1, s2 | a1 = s2;
0x0002adf8 move a0, s1 | a0 = s1;
0x0002adfc jalr t9 | t9 ();
0x0002ae00 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ae04 lw a3, (s5) | a3 = *(s5);
0x0002ae08 move a1, s2 | a1 = s2;
0x0002ae0c lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002ae10 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.LOGNAME */
0x0002ae14 addiu a2, a2, -0x3158 | a2 += -0x3158;
0x0002ae18 move a0, s1 | a0 = s1;
0x0002ae1c jalr t9 | t9 ();
0x0002ae20 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ae24 lw a3, 0x14(s5) | a3 = *((s5 + 5));
0x0002ae28 move a1, s2 | a1 = s2;
0x0002ae2c lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002ae30 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.HOME */
0x0002ae34 addiu a2, a2, -0x3150 | a2 += -aav.0x00003150;
0x0002ae38 move a0, s1 | a0 = s1;
0x0002ae3c jalr t9 | t9 ();
0x0002ae40 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ae44 move a1, s2 | a1 = s2;
0x0002ae48 move a0, s1 | a0 = s1;
0x0002ae4c lw a3, -0x7f34(gp) | a3 = *(gp);
0x0002ae50 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002ae54 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str._usr_bin:_bin:_usr_sbin:_sbin */
0x0002ae58 addiu a3, a3, -0x3148 | a3 += -0x3148;
| /* str.PATH */
0x0002ae5c addiu a2, a2, -0x3128 | a2 += -0x3128;
0x0002ae60 jalr t9 | t9 ();
0x0002ae64 lw v0, 0x1180(s3) | v0 = *((s3 + 1120));
0x0002ae68 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002ae6c beqz v0, 0x2b5f4 | goto label_36;
| }
| label_5:
0x0002ae70 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002ae74 lw t9, -0x796c(gp) | t9 = *(gp);
0x0002ae78 lw a3, 0x3c(sp) | a3 = *(var_3ch);
| /* str.SHELL */
0x0002ae7c addiu a2, a2, -0x30fc | a2 += -0x30fc;
0x0002ae80 move a1, s2 | a1 = s2;
0x0002ae84 lw s5, -0x7f34(gp) | s5 = *(gp);
0x0002ae88 move a0, s1 | a0 = s1;
0x0002ae8c jalr t9 | t9 ();
0x0002ae90 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ae94 lw t9, -0x6d50(gp) | t9 = sym.imp.getenv;
| /* esilref: 'TZ' */
0x0002ae98 addiu a0, s5, -0x30f4 | a0 = s5 + -0x30f4;
0x0002ae9c jalr t9 | t9 ();
0x0002aea0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002aea4 beqz v0, 0x2aed4 |
0x0002aea8 lw t9, -0x6d50(gp) | t9 = sym.imp.getenv;
| /* esilref: 'TZ' */
0x0002aeac addiu a0, s5, -0x30f4 | a0 = s5 + -0x30f4;
0x0002aeb0 jalr t9 | t9 ();
0x0002aeb4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002aeb8 move a3, v0 | a3 = v0;
| /* esilref: 'TZ' */
0x0002aebc addiu a2, s5, -0x30f4 | a2 = s5 + -0x30f4;
0x0002aec0 lw t9, -0x796c(gp) | t9 = *(gp);
0x0002aec4 move a1, s2 | a1 = s2;
0x0002aec8 move a0, s1 | a0 = s1;
0x0002aecc jalr t9 | t9 ();
0x0002aed0 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002aed4 lw a3, 0x1c(s0) | a3 = *((s0 + 7));
0x0002aed8 lw a2, -0x7f34(gp) | a2 = *(gp);
| if (a3 != 0) {
0x0002aedc beqz a3, 0x2aef8 |
0x0002aee0 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.TERM */
0x0002aee4 addiu a2, a2, -0x30f0 | a2 += -0x30f0;
0x0002aee8 move a1, s2 | a1 = s2;
0x0002aeec move a0, s1 | a0 = s1;
0x0002aef0 jalr t9 | t9 ();
0x0002aef4 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002aef8 lw a3, 0x80(s0) | a3 = *((s0 + 32));
0x0002aefc lw a2, -0x7f34(gp) | a2 = *(gp);
| if (a3 != 0) {
0x0002af00 beqz a3, 0x2af1c |
0x0002af04 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.DISPLAY */
0x0002af08 addiu a2, a2, -0x30e8 | a2 += -0x30e8;
0x0002af0c move a1, s2 | a1 = s2;
0x0002af10 move a0, s1 | a0 = s1;
0x0002af14 jalr t9 | t9 ();
0x0002af18 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002af1c lw s5, -0x7fb4(gp) | s5 = *(gp);
0x0002af20 lw t9, -0x6d50(gp) | t9 = sym.imp.getenv;
| /* str.KRB5CCNAME */
0x0002af24 addiu a0, s5, 0x6a4c | a0 = s5 + 0x6a4c;
0x0002af28 jalr t9 | t9 ();
0x0002af2c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002af30 beqz v0, 0x2af50 |
0x0002af34 lw t9, -0x796c(gp) | t9 = *(gp);
0x0002af38 move a3, v0 | a3 = v0;
| /* str.KRB5CCNAME */
0x0002af3c addiu a2, s5, 0x6a4c | a2 = s5 + 0x6a4c;
0x0002af40 move a1, s2 | a1 = s2;
0x0002af44 move a0, s1 | a0 = s1;
0x0002af48 jalr t9 | t9 ();
0x0002af4c lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002af50 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0002af54 lw a3, -0x4380(v0) | a3 = *((v0 - 4320));
0x0002af58 lw a2, -0x7fb4(gp) | a2 = *(gp);
| if (a3 != 0) {
0x0002af5c beqz a3, 0x2af78 |
0x0002af60 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.SSH_AUTH_SOCK */
0x0002af64 addiu a2, a2, 0x6bec | a2 += 0x6bec;
0x0002af68 move a1, s2 | a1 = s2;
0x0002af6c move a0, s1 | a0 = s1;
0x0002af70 jalr t9 | t9 ();
0x0002af74 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002af78 lw v0, 0x4f4(s3) | v0 = *((s3 + 317));
| if (v0 == 0) {
0x0002af7c beql v0, zero, 0x2b070 | goto label_37;
| }
0x0002af80 lw v0, 0x113c(s3) | v0 = *((s3 + 1103));
0x0002af84 lw v0, -0x7d7c(gp) | v0 = *(gp);
0x0002af88 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0002af8c lw v1, (v0) | v1 = *(v0);
0x0002af90 lw v0, 0x30(v1) | v0 = *((v1 + 12));
0x0002af94 move s6, zero | s6 = 0;
| if (v0 != 0) {
0x0002af98 bnez v0, 0x2afe4 | goto label_38;
| }
0x0002af9c lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002afa0 b 0x2b7b8 | goto label_39;
| label_0:
0x0002afa4 move a2, zero | a2 = 0;
0x0002afa8 move a0, s5 | a0 = s5;
0x0002afac jalr t9 | t9 ();
0x0002afb0 addiu v1, zero, 1 | v1 = 1;
0x0002afb4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x0002afb8 beq v0, v1, 0x2b02c | goto label_40;
| }
| do {
| label_1:
0x0002afbc lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002afc0 move a0, s5 | a0 = s5;
0x0002afc4 jalr t9 | t9 ();
0x0002afc8 lw v0, 0x34(sp) | v0 = *(var_34h);
0x0002afcc addiu s6, s6, 1 | s6++;
0x0002afd0 lw v1, (v0) | v1 = *(v0);
0x0002afd4 lw v0, 0x30(v1) | v0 = *((v1 + 12));
0x0002afd8 sltu v0, s6, v0 | v0 = (s6 < v0) ? 1 : 0;
0x0002afdc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002afe0 beqz v0, 0x2b7ac | goto label_41;
| }
| label_38:
0x0002afe4 lw v0, 0x34(v1) | v0 = *((v1 + 13));
0x0002afe8 sll a0, s6, 2 | a0 = s6 << 2;
0x0002afec lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0002aff0 lwx a0, a0(v0) | __asm ("lwx a0, a0(v0)");
0x0002aff4 jalr t9 | t9 ();
0x0002aff8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002affc addiu a1, zero, 0x3d | a1 = 0x3d;
0x0002b000 move a0, v0 | a0 = v0;
0x0002b004 lw t9, -0x6d4c(gp) | t9 = sym.imp.strchr;
0x0002b008 move s5, v0 | s5 = v0;
0x0002b00c jalr t9 | t9 ();
0x0002b010 move fp, v0 | fp = v0;
0x0002b014 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b018 beqz v0, 0x2afbc |
| } while (v0 == 0);
0x0002b01c sb zero, (v0) | *(v0) = 0;
0x0002b020 lw a1, 0x4f8(s3) | a1 = *(s3);
0x0002b024 lw t9, -0x7f38(gp) | t9 = sym.match_pattern_list;
| if (a1 != 0) {
0x0002b028 bnez a1, 0x2afa4 | goto label_0;
| }
| label_40:
0x0002b02c lw t9, -0x796c(gp) | t9 = *(gp);
0x0002b030 addiu a3, fp, 1 | a3 = fp + 1;
0x0002b034 move a2, s5 | a2 = s5;
0x0002b038 move a1, s2 | a1 = s2;
0x0002b03c move a0, s1 | a0 = s1;
0x0002b040 jalr t9 | t9 ();
0x0002b044 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b048 b 0x2afbc | goto label_1;
| label_11:
0x0002b04c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002b050 lw a0, 0x68(sp) | a0 = *(var_68h);
0x0002b054 jalr t9 | t9 ();
0x0002b058 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b05c lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
0x0002b060 lw a0, 0x40(sp) | a0 = *(var_40h);
0x0002b064 jalr t9 | t9 ();
0x0002b068 lw gp, 0x28(sp) | gp = *(var_28h);
| label_10:
0x0002b06c lw v0, 0x113c(s3) | v0 = *((s3 + 1103));
| label_37:
0x0002b070 move s5, zero | s5 = 0;
| if (v0 == 0) {
0x0002b074 beqz v0, 0x2b0e4 | goto label_42;
| }
| do {
0x0002b078 lw a0, 0x1140(s3) | a0 = *((s3 + 1104));
0x0002b07c sll v1, s5, 2 | v1 = s5 << 2;
0x0002b080 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0002b084 lwx a0, v1(a0) | __asm ("lwx a0, v1(a0)");
0x0002b088 sw v1, 0x34(sp) | *(var_34h) = v1;
0x0002b08c jalr t9 | t9 ();
0x0002b090 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b094 addiu a1, zero, 0x3d | a1 = 0x3d;
0x0002b098 move a0, v0 | a0 = v0;
0x0002b09c lw t9, -0x6d4c(gp) | t9 = sym.imp.strchr;
0x0002b0a0 move s6, v0 | s6 = v0;
0x0002b0a4 jalr t9 | t9 ();
0x0002b0a8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b0ac lw v1, 0x34(sp) | v1 = *(var_34h);
| if (v0 == 0) {
0x0002b0b0 beqz v0, 0x2beb8 | goto label_43;
| }
0x0002b0b4 lw t9, -0x796c(gp) | t9 = *(gp);
0x0002b0b8 sb zero, (v0) | *(v0) = 0;
0x0002b0bc addiu a3, v0, 1 | a3 = v0 + 1;
0x0002b0c0 move a2, s6 | a2 = s6;
0x0002b0c4 move a1, s2 | a1 = s2;
0x0002b0c8 move a0, s1 | a0 = s1;
0x0002b0cc jalr t9 | t9 ();
0x0002b0d0 lw v0, 0x113c(s3) | v0 = *((s3 + 1103));
0x0002b0d4 addiu s5, s5, 1 | s5++;
0x0002b0d8 sltu v0, s5, v0 | v0 = (s5 < v0) ? 1 : 0;
0x0002b0dc lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b0e0 bnez v0, 0x2b078 |
| } while (v0 != 0);
| label_42:
0x0002b0e4 lw t9, -0x7fbc(gp) | t9 = sym.ssh_remote_ipaddr;
0x0002b0e8 move a0, s4 | a0 = s4;
0x0002b0ec jalr t9 | t9 ();
0x0002b0f0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b0f4 move a0, s4 | a0 = s4;
0x0002b0f8 move s5, v0 | s5 = v0;
0x0002b0fc lw t9, -0x7fb8(gp) | t9 = sym.ssh_remote_port;
0x0002b100 addiu s6, sp, 0x314 | s6 = sp + aav.0x00000314;
0x0002b104 jalr t9 | t9 ();
0x0002b108 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b10c move a0, s4 | a0 = s4;
0x0002b110 lw t9, -0x7d94(gp) | t9 = sym.ssh_local_port;
0x0002b114 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0002b118 jalr t9 | t9 ();
0x0002b11c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b120 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002b124 lw v1, 0x34(sp) | v1 = *(var_34h);
0x0002b128 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002b12c lw t9, -0x7180(gp) | t9 = sym.imp.__snprintf_chk;
| /* str._.50s__d__d */
0x0002b130 addiu v0, v0, -0x3080 | v0 += -0x3080;
0x0002b134 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0002b138 addiu a3, zero, 0x100 | a3 = aav.0x00000100;
0x0002b13c addiu a2, zero, 1 | a2 = 1;
0x0002b140 addiu a1, zero, 0x100 | a1 = aav.0x00000100;
0x0002b144 move a0, s6 | a0 = s6;
0x0002b148 sw s5, 0x14(sp) | *(var_14h) = s5;
0x0002b14c sw s6, 0x54(sp) | *(var_54h) = s6;
0x0002b150 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002b154 jalr t9 | t9 ();
0x0002b158 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b15c move a3, s6 | a3 = s6;
0x0002b160 move a1, s2 | a1 = s2;
0x0002b164 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002b168 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.SSH_CLIENT */
0x0002b16c addiu a2, a2, -0x3074 | a2 += -0x3074;
0x0002b170 move a0, s1 | a0 = s1;
0x0002b174 jalr t9 | t9 ();
0x0002b178 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b17c lw t9, -0x7e28(gp) | t9 = sym.ssh_packet_get_connection_in;
0x0002b180 move a0, s4 | a0 = s4;
0x0002b184 jalr t9 | t9 ();
0x0002b188 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b18c lw t9, -0x7dc8(gp) | t9 = sym.get_local_ipaddr;
0x0002b190 move a0, v0 | a0 = v0;
0x0002b194 jalr t9 | t9 ();
0x0002b198 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b19c move a0, s4 | a0 = s4;
0x0002b1a0 lw t9, -0x7fbc(gp) | t9 = sym.ssh_remote_ipaddr;
0x0002b1a4 move s5, v0 | s5 = v0;
0x0002b1a8 jalr t9 | t9 ();
0x0002b1ac lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b1b0 move a0, s4 | a0 = s4;
0x0002b1b4 lw t9, -0x7fb8(gp) | t9 = sym.ssh_remote_port;
0x0002b1b8 sw v0, 0x40(sp) | *(var_40h) = v0;
0x0002b1bc jalr t9 | t9 ();
0x0002b1c0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b1c4 move a0, s4 | a0 = s4;
0x0002b1c8 lw t9, -0x7d94(gp) | t9 = sym.ssh_local_port;
0x0002b1cc sw v0, 0x34(sp) | *(var_34h) = v0;
0x0002b1d0 jalr t9 | t9 ();
0x0002b1d4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b1d8 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0002b1dc lw t0, 0x34(sp) | t0 = *(var_34h);
0x0002b1e0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002b1e4 lw v1, 0x40(sp) | v1 = *(var_40h);
| /* str._.50s__d__.50s__d */
0x0002b1e8 addiu v0, v0, -0x3068 | v0 += -0x3068;
0x0002b1ec lw t9, -0x7180(gp) | t9 = sym.imp.__snprintf_chk;
0x0002b1f0 addiu a3, zero, 0x100 | a3 = aav.0x00000100;
0x0002b1f4 addiu a2, zero, 1 | a2 = 1;
0x0002b1f8 addiu a1, zero, 0x100 | a1 = aav.0x00000100;
0x0002b1fc sw t0, 0x18(sp) | *(var_18h) = t0;
0x0002b200 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0002b204 move a0, s6 | a0 = s6;
0x0002b208 sw s5, 0x1c(sp) | *(var_1ch) = s5;
0x0002b20c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002b210 jalr t9 | t9 ();
0x0002b214 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b218 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002b21c move a0, s5 | a0 = s5;
0x0002b220 jalr t9 | t9 ();
0x0002b224 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b228 move a3, s6 | a3 = s6;
0x0002b22c move a1, s2 | a1 = s2;
0x0002b230 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002b234 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.SSH_CONNECTION */
0x0002b238 addiu a2, a2, -0x3054 | a2 += -aav.0x00003054;
0x0002b23c move a0, s1 | a0 = s1;
0x0002b240 jalr t9 | t9 ();
0x0002b244 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b248 lw v0, -0x7b7c(gp) | v0 = *(gp);
0x0002b24c lw a3, (v0) | a3 = *(v0);
0x0002b250 lw a2, -0x7f34(gp) | a2 = *(gp);
| if (a3 != 0) {
0x0002b254 beqz a3, 0x2b270 |
0x0002b258 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.SSH_TUNNEL */
0x0002b25c addiu a2, a2, -0x3028 | a2 += -0x3028;
0x0002b260 move a1, s2 | a1 = s2;
0x0002b264 move a0, s1 | a0 = s1;
0x0002b268 jalr t9 | t9 ();
0x0002b26c lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002b270 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0002b274 lw a3, -0x437c(v0) | a3 = *((v0 - 4319));
0x0002b278 lw a2, -0x7f34(gp) | a2 = *(gp);
| if (a3 != 0) {
0x0002b27c beqz a3, 0x2b298 |
0x0002b280 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.SSH_USER_AUTH */
0x0002b284 addiu a2, a2, -0x301c | a2 += -0x301c;
0x0002b288 move a1, s2 | a1 = s2;
0x0002b28c move a0, s1 | a0 = s1;
0x0002b290 jalr t9 | t9 ();
0x0002b294 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002b298 lw v1, 0x24(s0) | v1 = *((s0 + 9));
0x0002b29c addiu v0, zero, -1 | v0 = -1;
0x0002b2a0 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002b2a4 bne v1, v0, 0x2b4d8 |
| while (1) {
0x0002b2a8 lw v0, -0x7968(gp) | v0 = *(gp);
0x0002b2ac lw a3, (v0) | a3 = *(v0);
0x0002b2b0 lw a2, -0x7f34(gp) | a2 = *(gp);
| if (a3 != 0) {
0x0002b2b4 beqz a3, 0x2b2d0 |
0x0002b2b8 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.SSH_ORIGINAL_COMMAND */
0x0002b2bc addiu a2, a2, -0x3004 | a2 += -0x3004;
0x0002b2c0 move a1, s2 | a1 = s2;
0x0002b2c4 move a0, s1 | a0 = s1;
0x0002b2c8 jalr t9 | t9 ();
0x0002b2cc lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002b2d0 lw s2, -0x7ed8(gp) | s2 = *(gp);
0x0002b2d4 lw v0, (s2) | v0 = *(s2);
0x0002b2d8 lw s1, 0x64(sp) | s1 = *(var_64h);
| if (v0 != 0) {
0x0002b2dc bnez v0, 0x2b674 | goto label_44;
| }
| label_7:
0x0002b2e0 lw t9, -0x79a0(gp) | t9 = *(gp);
| /* fcn.0002958c */
| label_8:
0x0002b2e4 addiu t9, t9, -0x6a74 | t9 += -0x6a74;
0x0002b2e8 move a0, s4 | a0 = s4;
0x0002b2ec bal 0x2958c | fcn_0002958c ();
0x0002b2f0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b2f4 lw v0, 0x30(sp) | v0 = *(var_30h);
0x0002b2f8 lw t9, -0x6fcc(gp) | t9 = sym.imp.chdir;
0x0002b2fc lw a0, 0x14(v0) | a0 = *((v0 + 5));
0x0002b300 lw v0, -0x6fdc(gp) | v0 = *((gp - 7159));
0x0002b304 sw s1, (v0) | *(v0) = s1;
0x0002b308 jalr t9 | t9 ();
0x0002b30c addiu v1, zero, -1 | v1 = -1;
0x0002b310 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x0002b314 beq v0, v1, 0x2b974 | goto label_45;
| }
| label_16:
0x0002b318 lw t9, -0x7eac(gp) | t9 = sym.closefrom;
| label_15:
0x0002b31c addiu a0, zero, 3 | a0 = 3;
0x0002b320 jalr t9 | t9 ();
0x0002b324 lw v0, 0x80(s0) | v0 = *((s0 + 32));
0x0002b328 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b32c sw zero, 0x68(sp) | *(var_68h) = 0;
0x0002b330 sw zero, 0x6c(sp) | *(var_6ch) = 0;
| if (v0 == 0) {
0x0002b334 beqz v0, 0x2b7a4 | goto label_46;
| }
0x0002b338 lw v0, 0x8c(s0) | v0 = *((s0 + 35));
0x0002b33c move fp, zero | fp = 0;
| if (v0 != 0) {
0x0002b340 beqz v0, 0x2b34c |
0x0002b344 lw fp, 0x90(s0) | fp = *((s0 + 36));
0x0002b348 sltu fp, zero, fp | fp = (0 < fp) ? 1 : 0;
| }
| label_9:
0x0002b34c lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0002b350 lw a3, -0x7f34(gp) | a3 = *(gp);
0x0002b354 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002b358 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x0002b35c lw a2, 0x14(v0) | a2 = *((v0 + 5));
| /* str..ssh_rc */
0x0002b360 addiu a3, a3, -0x2fa4 | a3 += -0x2fa4;
| /* esilref: '&s/&s' */
0x0002b364 addiu a1, a1, -0x78f8 | a1 += -0x78f8;
0x0002b368 addiu a0, sp, 0x6c | a0 = sp + 0x6c;
0x0002b36c jalr t9 | t9 ();
0x0002b370 lw v0, 0xa0(s0) | v0 = *((s0 + 40));
0x0002b374 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002b378 bnez v0, 0x2b388 |
0x0002b37c lw v0, 0x117c(s3) | v0 = *((s3 + 1119));
0x0002b380 lw v0, -0x7d7c(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0002b384 beqz v0, 0x2ba78 | goto label_47;
| }
| }
0x0002b388 addiu s4, sp, 0x70 | s4 = sp + 0x70;
| label_18:
0x0002b38c lw s5, -0x7f34(gp) | s5 = *(gp);
| label_19:
0x0002b390 lw t9, -0x6d1c(gp) | t9 = sym.imp.__xstat64;
0x0002b394 move a2, s4 | a2 = s4;
| /* esilref: '/etc/ssh/sshrc' */
0x0002b398 addiu a1, s5, -0x2f44 | a1 = s5 + -0x2f44;
0x0002b39c addiu a0, zero, 3 | a0 = 3;
0x0002b3a0 jalr t9 | t9 ();
0x0002b3a4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x0002b3a8 bltz v0, 0x2b8bc | goto label_48;
| }
0x0002b3ac lw v0, (s2) | v0 = *(s2);
0x0002b3b0 lw v1, -0x6f44(gp) | v1 = *((gp - 7121));
| if (v0 != 0) {
0x0002b3b4 bnez v0, 0x2bca0 | goto label_49;
| }
| label_21:
0x0002b3b8 lw a1, -0x7fb4(gp) | a1 = *(gp);
0x0002b3bc lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002b3c0 lw t9, -0x6e0c(gp) | t9 = sym.imp.popen;
0x0002b3c4 addiu a1, a1, 0x704c | a1 += 0x704c;
| /* str._bin_sh__etc_ssh_sshrc */
0x0002b3c8 addiu a0, a0, -0x2f4c | a0 += -0x2f4c;
0x0002b3cc jalr t9 | t9 ();
0x0002b3d0 move s2, v0 | s2 = v0;
0x0002b3d4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002b3d8 beqz v0, 0x2bda8 | goto label_50;
| }
| label_20:
0x0002b3dc lw a2, -0x7f34(gp) | a2 = *(gp);
| if (fp != 0) {
0x0002b3e0 bnez fp, 0x2bd20 | goto label_51;
| }
| label_14:
0x0002b3e4 lw t9, -0x706c(gp) | t9 = sym.imp.pclose;
0x0002b3e8 move a0, s2 | a0 = s2;
0x0002b3ec jalr t9 | t9 ();
0x0002b3f0 lw gp, 0x28(sp) | gp = *(var_28h);
| label_26:
0x0002b3f4 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
| label_13:
0x0002b3f8 lw a0, 0x68(sp) | a0 = *(var_68h);
0x0002b3fc jalr t9 | t9 ();
0x0002b400 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b404 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002b408 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002b40c jalr t9 | t9 ();
0x0002b410 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b414 move a1, zero | a1 = 0;
0x0002b418 lw t9, -0x7fac(gp) | t9 = sym.ssh_signal;
0x0002b41c addiu a0, zero, 0xd | a0 = 0xd;
0x0002b420 jalr t9 | t9 ();
0x0002b424 lw v0, 0xa0(s0) | v0 = *((s0 + 40));
0x0002b428 addiu v1, zero, 3 | v1 = 3;
0x0002b42c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x0002b430 beq v0, v1, 0x2bc2c | goto label_52;
| }
0x0002b434 addiu v1, zero, 2 | v1 = 2;
0x0002b438 lw t9, -0x6ec0(gp) | t9 = sym.imp.fflush;
| if (v0 == v1) {
0x0002b43c beq v0, v1, 0x2bb28 | goto label_53;
| }
0x0002b440 move a0, zero | a0 = 0;
0x0002b444 jalr t9 | t9 ();
0x0002b448 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b44c lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x0002b450 lw t9, -0x6dfc(gp) | t9 = sym.imp.strrchr;
0x0002b454 addiu a1, zero, 0x2f | a1 = 0x2f;
0x0002b458 jalr t9 | t9 ();
0x0002b45c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002b460 beqz v0, 0x2bd94 | goto label_54;
| }
0x0002b464 addiu v0, v0, 1 | v0++;
| label_24:
0x0002b468 lw v1, 0x38(sp) | v1 = *(var_38h);
0x0002b46c lw t9, -0x7044(gp) | t9 = sym.imp.execve;
| if (v1 == 0) {
0x0002b470 beqz v1, 0x2bd48 | goto label_55;
| }
0x0002b474 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0002b478 lw v0, -0x7e48(gp) | v0 = *(gp);
0x0002b47c lw s0, 0x3c(sp) | s0 = *(var_3ch);
| /* esilref: '-c' */
0x0002b480 addiu v0, v0, -0x5108 | v0 += -0x5108;
0x0002b484 sw v0, 0x74(sp) | *(var_74h) = v0;
0x0002b488 lw v0, 0x38(sp) | v0 = *(var_38h);
0x0002b48c move a2, s1 | a2 = s1;
0x0002b490 move a1, s4 | a1 = s4;
0x0002b494 move a0, s0 | a0 = s0;
0x0002b498 sw v0, 0x78(sp) | *(var_78h) = v0;
0x0002b49c sw zero, 0x7c(sp) | *(var_7ch) = 0;
| label_28:
0x0002b4a0 jalr t9 | t9 ();
0x0002b4a4 nop |
0x0002b4a8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b4ac move a0, s0 | a0 = s0;
0x0002b4b0 lw t9, -0x6e2c(gp) | t9 = sym.imp.perror;
| label_23:
0x0002b4b4 jalr t9 | t9 ();
0x0002b4b8 nop |
0x0002b4bc lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b4c0 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x0002b4c4 addiu a0, zero, 1 | a0 = 1;
0x0002b4c8 jalr t9 | t9 ();
| label_34:
0x0002b4cc addiu v0, v0, -0x4aac | v0 += -aav.0x00004aac;
0x0002b4d0 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0002b4d4 b 0x2ad68 | goto label_2;
0x0002b4d8 lw t9, -0x796c(gp) | t9 = *(gp);
0x0002b4dc addiu a3, s0, 0x3c | a3 = s0 + 0x3c;
| /* str.SSH_TTY */
0x0002b4e0 addiu a2, a2, -0x300c | a2 += -0x300c;
0x0002b4e4 move a1, s2 | a1 = s2;
0x0002b4e8 move a0, s1 | a0 = s1;
0x0002b4ec jalr t9 | t9 ();
0x0002b4f0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b4f4 b 0x2b2a8 |
| }
| label_32:
0x0002b4f8 lw v0, 8(v0) | v0 = *((v0 + 2));
0x0002b4fc lw t9, -0x7d04(gp) | t9 = sym.do_setusercontext;
| if (v0 == 0) {
0x0002b500 beqz v0, 0x2ad2c | goto label_3;
| }
0x0002b504 lw s1, -0x7f34(gp) | s1 = *(gp);
0x0002b508 lw t9, -0x6d1c(gp) | t9 = sym.imp.__xstat64;
0x0002b50c addiu a2, sp, 0x70 | a2 = sp + 0x70;
| /* str._etc_nologin */
0x0002b510 addiu a1, s1, -0x319c | a1 = s1 + -0x319c;
0x0002b514 addiu a0, zero, 3 | a0 = 3;
0x0002b518 jalr t9 | t9 ();
0x0002b51c addiu v1, zero, -1 | v1 = -1;
0x0002b520 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x0002b524 beq v0, v1, 0x2ad28 | goto label_4;
| }
0x0002b528 lw v0, 0x30(sp) | v0 = *(var_30h);
| /* str._etc_nologin */
0x0002b52c addiu s1, s1, -0x319c | s1 += -0x319c;
0x0002b530 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0002b534 lw v0, (v0) | v0 = *(v0);
0x0002b538 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002b53c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002b540 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002b544 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.User__.100s_not_allowed_because__s_exists */
0x0002b548 addiu v0, v0, -0x318c | v0 += -0x318c;
0x0002b54c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002b550 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002b554 addiu v0, zero, 3 | v0 = 3;
0x0002b558 move a3, zero | a3 = 0;
0x0002b55c addiu a2, zero, 0x50e | a2 = 0x50e;
| /* str.do_nologin */
0x0002b560 addiu a1, a1, -0x2110 | a1 += -0x2110;
| /* str.session.c */
0x0002b564 addiu a0, a0, -0x3620 | a0 += -0x3620;
0x0002b568 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002b56c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002b570 jalr t9 | t9 ();
0x0002b574 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b578 move a0, s1 | a0 = s1;
0x0002b57c lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002b580 lw t9, -0x7238(gp) | t9 = sym.imp.fopen64;
0x0002b584 addiu a1, a1, -0x6b8c | a1 += -0x6b8c;
0x0002b588 jalr t9 | t9 ();
0x0002b58c move s0, v0 | s0 = v0;
0x0002b590 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002b594 beqz v0, 0x2b5e8 | goto label_56;
| }
0x0002b598 addiu v0, sp, 0x314 | v0 = sp + aav.0x00000314;
0x0002b59c sw v0, 0x54(sp) | *(var_54h) = v0;
0x0002b5a0 lw s1, -0x6f44(gp) | s1 = *((gp - 7121));
0x0002b5a4 b 0x2b5bc |
| while (v0 != 0) {
0x0002b5a8 lw t9, -0x6c50(gp) | t9 = sym.imp.fputs;
0x0002b5ac lw a1, (s1) | a1 = *(s1);
0x0002b5b0 lw a0, 0x54(sp) | a0 = *(var_54h);
0x0002b5b4 jalr t9 | t9 ();
0x0002b5b8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b5bc lw t9, -0x6da4(gp) | t9 = sym.imp.fgets;
0x0002b5c0 lw a0, 0x54(sp) | a0 = *(var_54h);
0x0002b5c4 move a2, s0 | a2 = s0;
0x0002b5c8 addiu a1, zero, 0x400 | a1 = aav.0x00000400;
0x0002b5cc jalr t9 | t9 ();
0x0002b5d0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b5d4 bnez v0, 0x2b5a8 |
| }
0x0002b5d8 lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
0x0002b5dc move a0, s0 | a0 = s0;
0x0002b5e0 jalr t9 | t9 ();
0x0002b5e4 lw gp, 0x28(sp) | gp = *(var_28h);
| label_56:
0x0002b5e8 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x0002b5ec addiu a0, zero, 0xfe | a0 = 0xfe;
0x0002b5f0 jalr t9 | t9 ();
| label_36:
0x0002b5f4 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0002b5f8 lw t9, -0x7180(gp) | t9 = sym.imp.__snprintf_chk;
0x0002b5fc addiu s5, sp, 0x314 | s5 = sp + aav.0x00000314;
0x0002b600 lw v0, (v0) | v0 = *(v0);
0x0002b604 addiu a3, zero, 0x100 | a3 = aav.0x00000100;
0x0002b608 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002b60c lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002b610 addiu a2, zero, 1 | a2 = 1;
| /* str._var_mail */
0x0002b614 addiu v0, v0, -0x3120 | v0 += -0x3120;
0x0002b618 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0002b61c lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002b620 addiu a1, zero, 0x100 | a1 = aav.0x00000100;
| /* str._.200s__.50s */
0x0002b624 addiu v0, v0, -0x3114 | v0 += -0x3114;
0x0002b628 move a0, s5 | a0 = s5;
0x0002b62c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002b630 jalr t9 | t9 ();
0x0002b634 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b638 move a3, s5 | a3 = s5;
0x0002b63c move a1, s2 | a1 = s2;
0x0002b640 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002b644 lw t9, -0x796c(gp) | t9 = *(gp);
| /* str.MAIL */
0x0002b648 addiu a2, a2, -0x3104 | a2 += -0x3104;
0x0002b64c move a0, s1 | a0 = s1;
0x0002b650 jalr t9 | t9 ();
0x0002b654 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b658 b 0x2ae70 | goto label_5;
| label_33:
0x0002b65c lw t9, -0x79a0(gp) | t9 = *(gp);
| /* fcn.00029880 */
0x0002b660 addiu t9, t9, -0x6780 | t9 += -0x6780;
0x0002b664 bal 0x29880 | fcn_00029880 ();
0x0002b668 nop |
0x0002b66c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b670 b 0x2ad50 | goto label_6;
| label_44:
0x0002b674 lw s6, -0x6f44(gp) | s6 = *((gp - 7121));
0x0002b678 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002b67c lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
0x0002b680 lw a3, (s6) | a3 = *(s6);
0x0002b684 addiu a2, zero, 0xd | a2 = 0xd;
0x0002b688 addiu a1, zero, 1 | a1 = 1;
| /* str.Environment:_n */
0x0002b68c addiu a0, a0, -0x2fec | a0 += -aav.0x00002fec;
0x0002b690 jalr t9 | t9 ();
0x0002b694 lw s1, 0x64(sp) | s1 = *(var_64h);
0x0002b698 lw a3, (s1) | a3 = *(s1);
0x0002b69c lw gp, 0x28(sp) | gp = *(var_28h);
| if (a3 == 0) {
0x0002b6a0 beqz a3, 0x2b2e0 | goto label_7;
| }
0x0002b6a4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002b6a8 addiu s5, zero, 4 | s5 = 4;
| /* str.___.200s_n */
0x0002b6ac addiu v0, v0, -0x2fdc | v0 += -0x2fdc;
0x0002b6b0 move fp, v0 | fp = v0;
| do {
0x0002b6b4 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
0x0002b6b8 lw a0, (s6) | a0 = *(s6);
0x0002b6bc move a2, fp | a2 = fp;
0x0002b6c0 addiu a1, zero, 1 | a1 = 1;
0x0002b6c4 jalr t9 | t9 ();
0x0002b6c8 lw s1, 0x64(sp) | s1 = *(var_64h);
0x0002b6cc lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b6d0 lwx a3, s5(s1) | __asm ("lwx a3, s5(s1)");
0x0002b6d4 addiu s5, s5, 4 | s5 += 4;
0x0002b6d8 bnez a3, 0x2b6b4 |
| } while (a3 != 0);
0x0002b6dc lw t9, -0x79a0(gp) | t9 = *(gp);
0x0002b6e0 b 0x2b2e4 | goto label_8;
| label_31:
0x0002b6e4 lw t9, -0x7d04(gp) | t9 = sym.do_setusercontext;
0x0002b6e8 lw a0, 0x30(sp) | a0 = *(var_30h);
0x0002b6ec bal 0x2a8e4 | sym_do_setusercontext ();
0x0002b6f0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b6f4 lw t9, -0x79a0(gp) | t9 = *(gp);
0x0002b6f8 lw s1, -0x6f44(gp) | s1 = *((gp - 7121));
| /* fcn.0002958c */
0x0002b6fc addiu t9, t9, -0x6a74 | t9 += -0x6a74;
0x0002b700 move a0, s4 | a0 = s4;
0x0002b704 bal 0x2958c | fcn_0002958c ();
0x0002b708 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b70c lw t9, -0x6ec0(gp) | t9 = sym.imp.fflush;
0x0002b710 move a0, zero | a0 = 0;
0x0002b714 jalr t9 | t9 ();
0x0002b718 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b71c lw a3, (s1) | a3 = *(s1);
0x0002b720 addiu a2, zero, 0x24 | a2 = 0x24;
0x0002b724 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002b728 lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
0x0002b72c addiu a1, zero, 1 | a1 = 1;
| /* str.WARNING:_Your_password_has_expired._n */
0x0002b730 addiu a0, a0, -0x3240 | a0 += -0x3240;
0x0002b734 jalr t9 | t9 ();
0x0002b738 lw v1, 0x24(s0) | v1 = *((s0 + 9));
0x0002b73c addiu v0, zero, -1 | v0 = -1;
0x0002b740 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 == v0) {
0x0002b744 beq v1, v0, 0x2bcd0 | goto label_57;
| }
0x0002b748 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002b74c lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
0x0002b750 lw a3, (s1) | a3 = *(s1);
0x0002b754 addiu a2, zero, 0x33 | a2 = 0x33;
0x0002b758 addiu a1, zero, 1 | a1 = 1;
| /* str.You_must_change_your_password_now_and_login_again__n */
0x0002b75c addiu a0, a0, -0x3218 | a0 += -0x3218;
0x0002b760 jalr t9 | t9 ();
0x0002b764 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b768 move a2, zero | a2 = 0;
0x0002b76c lw s0, -0x7f34(gp) | s0 = *(gp);
0x0002b770 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002b774 lw t9, -0x6de4(gp) | t9 = sym.imp.execl;
| /* str.passwd */
0x0002b778 addiu a1, s0, -0x31e4 | a1 = s0 + -0x31e4;
| /* str._usr_bin_passwd */
0x0002b77c addiu a0, a0, -0x31dc | a0 += -0x31dc;
0x0002b780 jalr t9 | t9 ();
0x0002b784 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b788 lw t9, -0x6e2c(gp) | t9 = sym.imp.perror;
| /* str.passwd */
0x0002b78c addiu a0, s0, -0x31e4 | a0 = s0 + -0x31e4;
0x0002b790 jalr t9 | t9 ();
0x0002b794 lw gp, 0x28(sp) | gp = *(var_28h);
| label_22:
0x0002b798 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x0002b79c addiu a0, zero, 1 | a0 = 1;
0x0002b7a0 jalr t9 | t9 ();
| label_46:
0x0002b7a4 move fp, zero | fp = 0;
0x0002b7a8 b 0x2b34c | goto label_9;
| label_41:
0x0002b7ac lw v0, 0x4f4(s3) | v0 = *((s3 + 317));
0x0002b7b0 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0002b7b4 beqz v0, 0x2b06c | goto label_10;
| }
| label_39:
0x0002b7b8 lw t9, -0x7180(gp) | t9 = sym.imp.__snprintf_chk;
| /* str..ssh */
0x0002b7bc addiu v0, v0, -0x30e0 | v0 += -0x30e0;
0x0002b7c0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002b7c4 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0002b7c8 addiu s5, sp, 0x314 | s5 = sp + aav.0x00000314;
0x0002b7cc addiu a3, zero, 0x100 | a3 = aav.0x00000100;
0x0002b7d0 lw v0, 0x14(v0) | v0 = *((v0 + 5));
0x0002b7d4 addiu a2, zero, 1 | a2 = 1;
0x0002b7d8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0002b7dc lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002b7e0 addiu a1, zero, 0x100 | a1 = aav.0x00000100;
| /* str._.200s__s_environment */
0x0002b7e4 addiu v0, v0, -0x30d8 | v0 += -aav.0x000030d8;
0x0002b7e8 move a0, s5 | a0 = s5;
0x0002b7ec sw s5, 0x54(sp) | *(var_54h) = s5;
0x0002b7f0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002b7f4 jalr t9 | t9 ();
0x0002b7f8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b7fc lw v0, 0x4f8(s3) | v0 = *(s3);
0x0002b800 move a0, s5 | a0 = s5;
0x0002b804 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002b808 lw t9, -0x7238(gp) | t9 = sym.imp.fopen64;
0x0002b80c addiu a1, a1, -0x6b8c | a1 += -0x6b8c;
0x0002b810 sw v0, 0x44(sp) | *(var_44h) = v0;
0x0002b814 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0002b818 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0002b81c jalr t9 | t9 ();
0x0002b820 sw v0, 0x40(sp) | *(var_40h) = v0;
0x0002b824 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002b828 beqz v0, 0x2b06c | goto label_10;
| }
0x0002b82c lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002b830 sw zero, 0x34(sp) | *(var_34h) = 0;
0x0002b834 addiu v0, v0, 0x48bc | v0 += 0x48bc;
0x0002b838 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x0002b83c lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x0002b840 addiu fp, sp, 0x6c | fp = sp + 0x6c;
0x0002b844 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0002b848 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002b84c addiu s6, sp, 0x68 | s6 = sp + 0x68;
| /* str.Bad_line__u_in__.100s_n */
0x0002b850 addiu v0, v0, -0x3098 | v0 += -0x3098;
0x0002b854 sw v0, 0x5c(sp) | *(var_5ch) = v0;
| label_17:
0x0002b858 lw t9, -0x6d04(gp) | t9 = sym.imp.__getdelim;
0x0002b85c lw a3, 0x40(sp) | a3 = *(var_40h);
0x0002b860 addiu a2, zero, 0xa | a2 = 0xa;
0x0002b864 move a1, fp | a1 = fp;
0x0002b868 move a0, s6 | a0 = s6;
0x0002b86c jalr t9 | t9 ();
0x0002b870 addiu v1, zero, -1 | v1 = -1;
0x0002b874 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x0002b878 beq v0, v1, 0x2b04c | goto label_11;
| }
0x0002b87c lw v0, 0x34(sp) | v0 = *(var_34h);
0x0002b880 addiu v0, v0, 1 | v0++;
0x0002b884 move v1, v0 | v1 = v0;
0x0002b888 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0002b88c addiu v0, zero, 0x3e9 | v0 = 0x3e9;
0x0002b890 lw s5, 0x68(sp) | s5 = *(var_68h);
| if (v1 == v0) {
0x0002b894 beq v1, v0, 0x2be78 | goto label_58;
| }
0x0002b898 addiu a1, zero, 0x20 | a1 = 0x20;
0x0002b89c addiu a0, zero, 9 | a0 = 9;
| do {
| label_12:
0x0002b8a0 lb v0, (s5) | v0 = *(s5);
0x0002b8a4 beql v0, a1, 0x2b8a0 |
| } while (v0 == a1);
0x0002b8a8 addiu s5, s5, 1 | s5++;
| if (v0 != a0) {
0x0002b8ac bne v0, a0, 0x2b9d8 | goto label_59;
| }
0x0002b8b0 nop |
0x0002b8b4 addiu s5, s5, 1 | s5++;
0x0002b8b8 b 0x2b8a0 | goto label_12;
| label_48:
0x0002b8bc lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
| if (fp == 0) {
0x0002b8c0 beqz fp, 0x2b3f8 | goto label_13;
| }
0x0002b8c4 lw a3, 0x464(s3) | a3 = *(s3);
| if (a3 == 0) {
0x0002b8c8 beqz a3, 0x2b3f8 | goto label_13;
| }
0x0002b8cc nop |
0x0002b8d0 lw v0, (s2) | v0 = *(s2);
0x0002b8d4 lw s2, -0x6f44(gp) | s2 = *((gp - 7121));
| if (v0 != 0) {
0x0002b8d8 bnez v0, 0x2be04 | goto label_60;
| }
| label_29:
0x0002b8dc lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002b8e0 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x0002b8e4 lw a2, 0x464(s3) | a2 = *(s3);
| /* str._s__q__ */
0x0002b8e8 addiu a1, a1, -0x2ef0 | a1 += -0x2ef0;
0x0002b8ec addiu a0, sp, 0x68 | a0 = sp + 0x68;
0x0002b8f0 jalr t9 | t9 ();
0x0002b8f4 addiu v1, zero, -1 | v1 = -1;
0x0002b8f8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x0002b8fc beq v0, v1, 0x2bf7c | goto label_61;
| }
0x0002b900 lw a1, -0x7fb4(gp) | a1 = *(gp);
0x0002b904 lw t9, -0x6e0c(gp) | t9 = sym.imp.popen;
0x0002b908 lw a0, 0x68(sp) | a0 = *(var_68h);
0x0002b90c addiu a1, a1, 0x704c | a1 += 0x704c;
0x0002b910 jalr t9 | t9 ();
0x0002b914 move s2, v0 | s2 = v0;
0x0002b918 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002b91c beqz v0, 0x2be64 | goto label_62;
| }
0x0002b920 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002b924 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
0x0002b928 lw a3, 0x88(s0) | a3 = *((s0 + 34));
| /* str.remove__s_n */
0x0002b92c addiu a2, a2, -0x2ee8 | a2 += -0x2ee8;
0x0002b930 addiu a1, zero, 1 | a1 = 1;
0x0002b934 move a0, v0 | a0 = v0;
0x0002b938 jalr t9 | t9 ();
0x0002b93c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b940 lw v1, 0x90(s0) | v1 = *((s0 + 36));
0x0002b944 lw v0, 0x8c(s0) | v0 = *((s0 + 35));
0x0002b948 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002b94c lw a3, 0x88(s0) | a3 = *((s0 + 34));
0x0002b950 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
| /* str.add__s__s__s_n */
0x0002b954 addiu a2, a2, -0x2edc | a2 += -0x2edc;
0x0002b958 addiu a1, zero, 1 | a1 = 1;
0x0002b95c move a0, s2 | a0 = s2;
0x0002b960 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0002b964 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002b968 jalr t9 | t9 ();
0x0002b96c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b970 b 0x2b3e4 | goto label_14;
| label_45:
0x0002b974 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0002b978 lw v0, -0x4378(v0) | v0 = *((v0 - 4318));
0x0002b97c lw t9, -0x7eac(gp) | t9 = sym.closefrom;
| if (v0 != 0) {
0x0002b980 bnez v0, 0x2b31c | goto label_15;
| }
0x0002b984 lw v0, 0x30(sp) | v0 = *(var_30h);
0x0002b988 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x0002b98c lw s5, 0x14(v0) | s5 = *((v0 + 5));
0x0002b990 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x0002b994 lw s4, (v0) | s4 = *(v0);
0x0002b998 jalr t9 | t9 ();
0x0002b99c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b9a0 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x0002b9a4 lw a0, (v0) | a0 = *(v0);
0x0002b9a8 jalr t9 | t9 ();
0x0002b9ac lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b9b0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002b9b4 move a3, s5 | a3 = s5;
0x0002b9b8 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002b9bc lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
| /* str.Could_not_chdir_to_home_directory__s:__s_n */
0x0002b9c0 addiu a2, a2, -0x2fd0 | a2 += -0x2fd0;
0x0002b9c4 addiu a1, zero, 1 | a1 = 1;
0x0002b9c8 move a0, s4 | a0 = s4;
0x0002b9cc jalr t9 | t9 ();
0x0002b9d0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002b9d4 b 0x2b318 | goto label_16;
| label_59:
0x0002b9d8 addiu a0, zero, 0x23 | a0 = 0x23;
| if (v0 == 0) {
0x0002b9dc beqz v0, 0x2b858 | goto label_17;
| }
0x0002b9e0 addiu a0, zero, 0xa | a0 = 0xa;
| if (v0 == a0) {
0x0002b9e4 beq v0, a0, 0x2b858 | goto label_17;
| }
0x0002b9e8 lw t9, -0x71d8(gp) | t9 = sym.imp.strcspn;
| if (v0 == a0) {
0x0002b9ec beq v0, a0, 0x2b858 | goto label_17;
| }
0x0002b9f0 lw a1, 0x4c(sp) | a1 = *(var_4ch);
0x0002b9f4 move a0, s5 | a0 = s5;
0x0002b9f8 jalr t9 | t9 ();
0x0002b9fc lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ba00 addu v0, s5, v0 | v0 = s5 + v0;
0x0002ba04 addiu a1, zero, 0x3d | a1 = 0x3d;
0x0002ba08 lw t9, -0x6d4c(gp) | t9 = sym.imp.strchr;
0x0002ba0c sb zero, (v0) | *(v0) = 0;
0x0002ba10 move a0, s5 | a0 = s5;
0x0002ba14 jalr t9 | t9 ();
0x0002ba18 move a3, v0 | a3 = v0;
0x0002ba1c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002ba20 beqz v0, 0x2bcf4 | goto label_63;
| }
0x0002ba24 sb zero, (v0) | *(v0) = 0;
0x0002ba28 lw v0, 0x44(sp) | v0 = *(var_44h);
0x0002ba2c lw t9, -0x7f38(gp) | t9 = sym.match_pattern_list;
| if (v0 == 0) {
0x0002ba30 beqz v0, 0x2ba58 | goto label_64;
| }
0x0002ba34 lw a1, 0x44(sp) | a1 = *(var_44h);
0x0002ba38 sw a3, 0x48(sp) | *(var_48h) = a3;
0x0002ba3c move a0, s5 | a0 = s5;
0x0002ba40 move a2, zero | a2 = 0;
0x0002ba44 jalr t9 | t9 ();
0x0002ba48 addiu a0, zero, 1 | a0 = 1;
0x0002ba4c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ba50 lw a3, 0x48(sp) | a3 = *(var_48h);
| if (v0 != a0) {
0x0002ba54 bne v0, a0, 0x2b858 | goto label_17;
| }
| label_64:
0x0002ba58 lw t9, -0x796c(gp) | t9 = *(gp);
0x0002ba5c addiu a3, a3, 1 | a3++;
0x0002ba60 move a2, s5 | a2 = s5;
0x0002ba64 move a1, s2 | a1 = s2;
0x0002ba68 move a0, s1 | a0 = s1;
0x0002ba6c jalr t9 | t9 ();
0x0002ba70 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ba74 b 0x2b858 | goto label_17;
| label_47:
0x0002ba78 lw v0, (v0) | v0 = *(v0);
0x0002ba7c lw v0, 0x10(v0) | v0 = *((v0 + 4));
0x0002ba80 addiu s4, sp, 0x70 | s4 = sp + 0x70;
| if (v0 == 0) {
0x0002ba84 beqz v0, 0x2b38c | goto label_18;
| }
0x0002ba88 lw v0, 0x46c(s3) | v0 = *(s3);
0x0002ba8c lw s5, -0x7f34(gp) | s5 = *(gp);
| if (v0 == 0) {
0x0002ba90 beqz v0, 0x2b390 | goto label_19;
| }
0x0002ba94 lw t9, -0x6d1c(gp) | t9 = sym.imp.__xstat64;
0x0002ba98 addiu s4, sp, 0x70 | s4 = sp + 0x70;
0x0002ba9c lw a1, 0x6c(sp) | a1 = *(var_6ch);
0x0002baa0 move a2, s4 | a2 = s4;
0x0002baa4 addiu a0, zero, 3 | a0 = 3;
0x0002baa8 jalr t9 | t9 ();
0x0002baac lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x0002bab0 bltz v0, 0x2b38c | goto label_18;
| }
0x0002bab4 lw a3, -0x7f34(gp) | a3 = *(gp);
0x0002bab8 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002babc lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x0002bac0 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x0002bac4 lw a2, 0x3c(sp) | a2 = *(var_3ch);
0x0002bac8 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._bin_sh */
0x0002bacc addiu a3, a3, -0x4aac | a3 += -aav.0x00004aac;
| /* str._s__c__s__s */
0x0002bad0 addiu a1, a1, -0x2f9c | a1 += -0x2f9c;
0x0002bad4 addiu a0, sp, 0x68 | a0 = sp + 0x68;
0x0002bad8 jalr t9 | t9 ();
0x0002badc addiu v1, zero, -1 | v1 = -1;
0x0002bae0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x0002bae4 beq v0, v1, 0x2bf20 | goto label_65;
| }
0x0002bae8 lw v0, (s2) | v0 = *(s2);
0x0002baec lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
| if (v0 != 0) {
0x0002baf0 bnez v0, 0x2befc | goto label_66;
| }
| label_30:
0x0002baf4 lw a1, -0x7fb4(gp) | a1 = *(gp);
0x0002baf8 lw t9, -0x6e0c(gp) | t9 = sym.imp.popen;
0x0002bafc lw a0, 0x68(sp) | a0 = *(var_68h);
0x0002bb00 addiu a1, a1, 0x704c | a1 += 0x704c;
0x0002bb04 jalr t9 | t9 ();
0x0002bb08 move s2, v0 | s2 = v0;
0x0002bb0c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002bb10 bnez v0, 0x2b3dc | goto label_20;
| }
0x0002bb14 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x0002bb18 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
0x0002bb1c lw a3, 0x6c(sp) | a3 = *(var_6ch);
0x0002bb20 lw a0, (v0) | a0 = *(v0);
0x0002bb24 b 0x2bdb8 | goto label_67;
| label_53:
0x0002bb28 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0002bb2c lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002bb30 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002bb34 lw t9, -0x7e68(gp) | t9 = sym.setproctitle;
0x0002bb38 lw a1, (v0) | a1 = *(v0);
| /* str.internal_sftp */
0x0002bb3c addiu a2, a2, -0x2e70 | a2 += -0x2e70;
| /* str._s__s */
0x0002bb40 addiu a0, a0, -0x2e60 | a0 += -0x2e60;
0x0002bb44 jalr t9 | t9 ();
0x0002bb48 lw v0, 0x38(sp) | v0 = *(var_38h);
0x0002bb4c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002bb50 beqz v0, 0x2bdd0 | goto label_68;
| }
| label_27:
0x0002bb54 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0002bb58 lw s2, -0x7e48(gp) | s2 = *(gp);
0x0002bb5c lw a0, 0x38(sp) | a0 = *(var_38h);
0x0002bb60 jalr t9 | t9 ();
0x0002bb64 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bb68 addiu a1, s2, -0x52c8 | a1 = s2 + -0x52c8;
0x0002bb6c lw t9, -0x7090(gp) | t9 = sym.imp.strtok;
0x0002bb70 move a0, v0 | a0 = v0;
0x0002bb74 jalr t9 | t9 ();
0x0002bb78 move s1, v0 | s1 = v0;
0x0002bb7c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002bb80 beqz v0, 0x2bbd8 | goto label_69;
| }
0x0002bb84 addiu s2, s2, -0x52c8 | s2 += -0x52c8;
| do {
0x0002bb88 slti v0, s7, 9 | v0 = (s7 < 9) ? 1 : 0;
0x0002bb8c lw t9, -0x7090(gp) | t9 = sym.imp.strtok;
| if (v0 != 0) {
0x0002bb90 beqz v0, 0x2bbc0 |
0x0002bb94 lw t9, -0x7f44(gp) | t9 = *(gp);
0x0002bb98 move a0, s7 | a0 = s7;
0x0002bb9c addiu a1, zero, 1 | a1 = 1;
0x0002bba0 jalr t9 | t9 ();
0x0002bba4 sll s7, s7, 2 | s7 <<= 2;
0x0002bba8 addiu v1, sp, 0x718 | v1 = sp + 0x718;
0x0002bbac addu v1, v1, s7 | v1 += s7;
0x0002bbb0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bbb4 move s7, v0 | s7 = v0;
0x0002bbb8 sw s1, -0x6a8(v1) | *((v1 - 426)) = s1;
0x0002bbbc lw t9, -0x7090(gp) | t9 = sym.imp.strtok;
| }
0x0002bbc0 move a1, s2 | a1 = s2;
0x0002bbc4 move a0, zero | a0 = 0;
0x0002bbc8 jalr t9 | t9 ();
0x0002bbcc move s1, v0 | s1 = v0;
0x0002bbd0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bbd4 bnez v0, 0x2bb88 |
| } while (v0 != 0);
| label_69:
0x0002bbd8 addiu v1, sp, 0x718 | v1 = sp + 0x718;
0x0002bbdc sll v0, s7, 2 | v0 = s7 << 2;
0x0002bbe0 addu v0, v1, v0 | v0 = v1 + v0;
0x0002bbe4 lw v1, -0x7964(gp) | v1 = *(gp);
0x0002bbe8 sw zero, -0x6a8(v0) | *((v0 - 426)) = 0;
0x0002bbec addiu v0, zero, 1 | v0 = 1;
0x0002bbf0 sw v0, (v1) | *(v1) = v0;
0x0002bbf4 lw v1, -0x7e90(gp) | v1 = *(gp);
0x0002bbf8 lw t9, -0x7960(gp) | t9 = sym.sftp_server_main;
0x0002bbfc lw a2, 0xc(s0) | a2 = *((s0 + 3));
0x0002bc00 sw v0, (v1) | *(v1) = v0;
0x0002bc04 lw v0, -0x6d10(gp) | v0 = *((gp - 6980));
0x0002bc08 lw v1, 0x70(sp) | v1 = *(var_70h);
0x0002bc0c move a0, s7 | a0 = s7;
0x0002bc10 move a1, s4 | a1 = s4;
0x0002bc14 sw v1, (v0) | *(v0) = v1;
0x0002bc18 bal 0x46c20 | sym_sftp_server_main ();
0x0002bc1c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bc20 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x0002bc24 move a0, v0 | a0 = v0;
0x0002bc28 jalr t9 | t9 ();
| label_52:
0x0002bc2c lw v0, 0x50(sp) | v0 = *(var_50h);
0x0002bc30 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002bc34 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002bc38 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002bc3c lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.Connection_from__s:_refusing_non_sftp_session */
0x0002bc40 addiu v0, v0, -0x2ecc | v0 += -0x2ecc;
0x0002bc44 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002bc48 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002bc4c addiu v0, zero, 2 | v0 = 2;
0x0002bc50 move a3, zero | a3 = 0;
0x0002bc54 addiu a2, zero, 0x670 | a2 = 0x670;
| /* str.do_child */
0x0002bc58 addiu a1, a1, -0x2104 | a1 += -0x2104;
| /* str.session.c */
0x0002bc5c addiu a0, a0, -0x3620 | a0 += -0x3620;
0x0002bc60 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002bc64 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002bc68 jalr t9 | t9 ();
0x0002bc6c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bc70 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002bc74 lw t9, -0x7114(gp) | t9 = sym.imp.puts;
| /* str.This_service_allows_sftp_connections_only. */
0x0002bc78 addiu a0, a0, -0x2e9c | a0 += -0x2e9c;
0x0002bc7c jalr t9 | t9 ();
0x0002bc80 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bc84 lw t9, -0x6ec0(gp) | t9 = sym.imp.fflush;
0x0002bc88 move a0, zero | a0 = 0;
0x0002bc8c jalr t9 | t9 ();
0x0002bc90 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bc94 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x0002bc98 addiu a0, zero, 1 | a0 = 1;
0x0002bc9c jalr t9 | t9 ();
| label_49:
0x0002bca0 lw a3, -0x7f34(gp) | a3 = *(gp);
0x0002bca4 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002bca8 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
| /* esilref: '/etc/ssh/sshrc' */
0x0002bcac addiu v0, s5, -0x2f44 | v0 = s5 + -0x2f44;
0x0002bcb0 lw a0, (v1) | a0 = *(v1);
| /* str._bin_sh */
0x0002bcb4 addiu a3, a3, -0x4aac | a3 += -aav.0x00004aac;
0x0002bcb8 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str.Running__s__s_n */
0x0002bcbc addiu a2, a2, -0x2f5c | a2 += -0x2f5c;
0x0002bcc0 addiu a1, zero, 1 | a1 = 1;
0x0002bcc4 jalr t9 | t9 ();
0x0002bcc8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bccc b 0x2b3b8 | goto label_21;
| label_57:
0x0002bcd0 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002bcd4 lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
0x0002bcd8 lw a3, (s1) | a3 = *(s1);
0x0002bcdc addiu a2, zero, 0x2f | a2 = 0x2f;
0x0002bce0 addiu a1, zero, 1 | a1 = 1;
| /* str.Password_change_required_but_no_TTY_available._n */
0x0002bce4 addiu a0, a0, -0x31cc | a0 += -0x31cc;
0x0002bce8 jalr t9 | t9 ();
0x0002bcec lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bcf0 b 0x2b798 | goto label_22;
| label_63:
0x0002bcf4 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0002bcf8 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
0x0002bcfc lw a3, 0x34(sp) | a3 = *(var_34h);
0x0002bd00 lw a0, (v0) | a0 = *(v0);
0x0002bd04 lw v0, 0x54(sp) | v0 = *(var_54h);
0x0002bd08 lw a2, 0x5c(sp) | a2 = *(var_5ch);
0x0002bd0c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002bd10 addiu a1, zero, 1 | a1 = 1;
0x0002bd14 jalr t9 | t9 ();
0x0002bd18 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bd1c b 0x2b858 | goto label_17;
| label_51:
0x0002bd20 lw v0, 0x90(s0) | v0 = *((s0 + 36));
0x0002bd24 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
0x0002bd28 lw a3, 0x8c(s0) | a3 = *((s0 + 35));
| /* esilref: '&s &s
' */
0x0002bd2c addiu a2, a2, -0x2f54 | a2 += -0x2f54;
0x0002bd30 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002bd34 addiu a1, zero, 1 | a1 = 1;
0x0002bd38 move a0, s2 | a0 = s2;
0x0002bd3c jalr t9 | t9 ();
0x0002bd40 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bd44 b 0x2b3e4 | goto label_14;
| label_55:
0x0002bd48 lw t9, -0x7ccc(gp) | t9 = sym.strlcpy;
0x0002bd4c move a1, v0 | a1 = v0;
0x0002bd50 addiu v0, zero, 0x2d | v0 = 0x2d;
0x0002bd54 addiu a2, zero, 0xff | a2 = 0xff;
0x0002bd58 addiu a0, sp, 0x315 | a0 = sp + 0x315;
0x0002bd5c sb v0, 0x314(sp) | *(var_314h) = v0;
0x0002bd60 jalr t9 | t9 ();
0x0002bd64 sltiu v0, v0, 0xff | v0 = (v0 < 0xff) ? 1 : 0;
0x0002bd68 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002bd6c bnez v0, 0x2bde0 | goto label_70;
| }
0x0002bd70 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x0002bd74 jalr t9 | t9 ();
0x0002bd78 nop |
0x0002bd7c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bd80 addiu v1, zero, 0x16 | v1 = 0x16;
0x0002bd84 lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x0002bd88 lw t9, -0x6e2c(gp) | t9 = sym.imp.perror;
0x0002bd8c sw v1, (v0) | *(v0) = v1;
0x0002bd90 b 0x2b4b4 | goto label_23;
| label_54:
0x0002bd94 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0002bd98 b 0x2b468 | goto label_24;
| label_35:
0x0002bd9c addiu s2, sp, 0x60 | s2 = sp + 0x60;
0x0002bda0 addiu s1, sp, 0x64 | s1 = sp + 0x64;
0x0002bda4 b 0x2ade0 | goto label_25;
| label_50:
0x0002bda8 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x0002bdac lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
| /* esilref: '/etc/ssh/sshrc' */
0x0002bdb0 addiu a3, s5, -0x2f44 | a3 = s5 + -0x2f44;
0x0002bdb4 lw a0, (v0) | a0 = *(v0);
| do {
| label_67:
0x0002bdb8 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002bdbc addiu a1, zero, 1 | a1 = 1;
| /* str.Could_not_run__s_n */
0x0002bdc0 addiu a2, a2, -0x2f70 | a2 += -0x2f70;
0x0002bdc4 jalr t9 | t9 ();
0x0002bdc8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bdcc b 0x2b3f4 | goto label_26;
| label_68:
0x0002bdd0 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.sftp_server */
0x0002bdd4 addiu v0, v0, -0x324c | v0 += -aav.0x0000324c;
0x0002bdd8 sw v0, 0x38(sp) | *(var_38h) = v0;
0x0002bddc b 0x2bb54 | goto label_27;
| label_70:
0x0002bde0 lw s0, 0x3c(sp) | s0 = *(var_3ch);
0x0002bde4 lw v0, 0x54(sp) | v0 = *(var_54h);
0x0002bde8 lw t9, -0x7044(gp) | t9 = sym.imp.execve;
0x0002bdec move a2, s1 | a2 = s1;
0x0002bdf0 move a1, s4 | a1 = s4;
0x0002bdf4 move a0, s0 | a0 = s0;
0x0002bdf8 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0002bdfc sw zero, 0x74(sp) | *(var_74h) = 0;
0x0002be00 b 0x2b4a0 | goto label_28;
| label_60:
0x0002be04 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002be08 lw v0, 0x88(s0) | v0 = *((s0 + 34));
0x0002be0c lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
0x0002be10 lw a0, (s2) | a0 = *(s2);
| /* str.Running__.500s_remove__.100s_n */
0x0002be14 addiu a2, a2, -0x2f34 | a2 += -0x2f34;
0x0002be18 addiu a1, zero, 1 | a1 = 1;
0x0002be1c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002be20 jalr t9 | t9 ();
0x0002be24 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002be28 lw a1, 0x90(s0) | a1 = *((s0 + 36));
0x0002be2c lw v1, 0x8c(s0) | v1 = *((s0 + 35));
0x0002be30 lw v0, 0x88(s0) | v0 = *((s0 + 34));
0x0002be34 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002be38 lw a3, 0x464(s3) | a3 = *(s3);
0x0002be3c lw a0, (s2) | a0 = *(s2);
0x0002be40 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
0x0002be44 sw a1, 0x18(sp) | *(var_18h) = a1;
0x0002be48 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0002be4c sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._.500s_add__.100s__.100s__.100s_n */
0x0002be50 addiu a2, a2, -0x2f14 | a2 += -0x2f14;
0x0002be54 addiu a1, zero, 1 | a1 = 1;
0x0002be58 jalr t9 | t9 ();
0x0002be5c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002be60 b 0x2b8dc | goto label_29;
| label_62:
0x0002be64 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x0002be68 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
0x0002be6c lw a3, 0x68(sp) | a3 = *(var_68h);
0x0002be70 lw a0, (v0) | a0 = *(v0);
0x0002be74 b 0x2bdb8 |
| } while (1);
| label_58:
0x0002be78 lw v0, 0x54(sp) | v0 = *(var_54h);
0x0002be7c lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002be80 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002be84 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002be88 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.Too_many_lines_in_environment_file__s */
0x0002be8c addiu v0, v0, -0x30c0 | v0 += -0x30c0;
0x0002be90 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002be94 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0002be98 addiu v0, zero, 1 | v0 = 1;
0x0002be9c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002bea0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002bea4 move a3, zero | a3 = 0;
0x0002bea8 addiu a2, zero, 0x35c | a2 = aav.0x0000035c;
| /* str.read_environment_file */
0x0002beac addiu a1, a1, -0x2138 | a1 += -0x2138;
| /* str.session.c */
0x0002beb0 addiu a0, a0, -0x3620 | a0 += -0x3620;
0x0002beb4 jalr t9 | t9 ();
| label_43:
0x0002beb8 lw v0, 0x1140(s3) | v0 = *((s3 + 1104));
0x0002bebc lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002bec0 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002bec4 lwx v1, v1(v0) | __asm ("lwx v1, v1(v0)");
0x0002bec8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002becc lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.Invalid_config_SetEnv:__s */
0x0002bed0 addiu v0, v0, -0x3044 | v0 += -0x3044;
0x0002bed4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002bed8 addiu v0, zero, 1 | v0 = 1;
0x0002bedc sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0002bee0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002bee4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002bee8 move a3, zero | a3 = 0;
0x0002beec addiu a2, zero, 0x487 | a2 = 0x487;
| /* str.do_setup_env */
0x0002bef0 addiu a1, a1, -0x2120 | a1 += -0x2120;
| /* str.session.c */
0x0002bef4 addiu a0, a0, -0x3620 | a0 += -0x3620;
0x0002bef8 jalr t9 | t9 ();
| label_66:
0x0002befc lw a2, -0x7f34(gp) | a2 = *(gp);
0x0002bf00 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk;
0x0002bf04 lw a3, 0x68(sp) | a3 = *(var_68h);
0x0002bf08 lw a0, (v0) | a0 = *(v0);
| /* str.Running__s_n */
0x0002bf0c addiu a2, a2, -0x2f7c | a2 += -0x2f7c;
0x0002bf10 addiu a1, zero, 1 | a1 = 1;
0x0002bf14 jalr t9 | t9 ();
0x0002bf18 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bf1c b 0x2baf4 | goto label_30;
| label_65:
0x0002bf20 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x0002bf24 jalr t9 | t9 ();
0x0002bf28 nop |
0x0002bf2c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bf30 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x0002bf34 lw a0, (v0) | a0 = *(v0);
0x0002bf38 jalr t9 | t9 ();
0x0002bf3c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bf40 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002bf44 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002bf48 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002bf4c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.xasprintf:__s */
0x0002bf50 addiu v0, v0, -0x2f8c | v0 += -0x2f8c;
0x0002bf54 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002bf58 addiu v0, zero, 1 | v0 = 1;
0x0002bf5c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002bf60 addiu a3, zero, 1 | a3 = 1;
0x0002bf64 addiu a2, zero, 0x4c3 | a2 = 0x4c3;
| do {
0x0002bf68 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002bf6c lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.do_rc_files */
0x0002bf70 addiu a1, a1, -0x2144 | a1 += -0x2144;
| /* str.session.c */
0x0002bf74 addiu a0, a0, -0x3620 | a0 += -0x3620;
0x0002bf78 jalr t9 | t9 ();
| label_61:
0x0002bf7c lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x0002bf80 jalr t9 | t9 ();
0x0002bf84 nop |
0x0002bf88 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bf8c lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x0002bf90 lw a0, (v0) | a0 = *(v0);
0x0002bf94 jalr t9 | t9 ();
0x0002bf98 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002bf9c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002bfa0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002bfa4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002bfa8 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.xasprintf:__s */
0x0002bfac addiu v0, v0, -0x2f8c | v0 += -0x2f8c;
0x0002bfb0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002bfb4 addiu v0, zero, 1 | v0 = 1;
0x0002bfb8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002bfbc addiu a3, zero, 1 | a3 = 1;
0x0002bfc0 addiu a2, zero, 0x4e8 | a2 = 0x4e8;
0x0002bfc4 b 0x2bf68 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x2ee28 */
| #include <stdint.h>
|
; (fcn) sym.session_input_channel_req () | void session_input_channel_req () {
0x0002ee28 lui gp, 0xd |
0x0002ee2c addiu gp, gp, 0x34c8 |
0x0002ee30 addu gp, gp, t9 | gp += t9;
0x0002ee34 addiu sp, sp, -0x120 |
0x0002ee38 lw t9, -0x79a0(gp) | t9 = *(gp);
0x0002ee3c sw s4, 0x108(sp) | *(var_108h) = s4;
0x0002ee40 lw s4, -0x6fc4(gp) | s4 = *((gp - 7153));
0x0002ee44 sw gp, 0x30(sp) | *(var_30h) = gp;
0x0002ee48 sw s3, 0x104(sp) | *(var_104h) = s3;
0x0002ee4c sw s2, 0x100(sp) | *(var_100h) = s2;
0x0002ee50 sw s1, 0xfc(sp) | *(var_fch) = s1;
0x0002ee54 sw ra, 0x11c(sp) | *(var_11ch) = ra;
0x0002ee58 sw fp, 0x118(sp) | *(var_118h) = fp;
0x0002ee5c sw s7, 0x114(sp) | *(var_114h) = s7;
0x0002ee60 sw s6, 0x110(sp) | *(var_110h) = s6;
0x0002ee64 sw s5, 0x10c(sp) | *(var_10ch) = s5;
0x0002ee68 sw s0, 0xf8(sp) | *(var_f8h) = s0;
0x0002ee6c lw v0, (s4) | v0 = *(s4);
0x0002ee70 move s3, a0 | s3 = a0;
0x0002ee74 lw a0, 4(a1) | a0 = *((a1 + 1));
0x0002ee78 sw v0, 0xf4(sp) | *(var_f4h) = v0;
| /* fcn.0002973c */
0x0002ee7c addiu t9, t9, -0x68c4 | t9 += -0x68c4;
0x0002ee80 move s1, a1 | s1 = a1;
0x0002ee84 move s2, a2 | s2 = a2;
0x0002ee88 bal 0x2973c | fcn_0002973c ();
0x0002ee8c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002ee90 beqz v0, 0x2f2e0 | goto label_14;
| }
0x0002ee94 sw s2, 0x20(sp) | *(var_20h) = s2;
0x0002ee98 move s0, v0 | s0 = v0;
0x0002ee9c lw v0, 4(v0) | v0 = *((v0 + 1));
0x0002eea0 lw s5, -0x7f34(gp) | s5 = *(gp);
0x0002eea4 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002eea8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002eeac lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.session__d_req__s */
0x0002eeb0 addiu v0, v0, -0x27e4 | v0 += -0x27e4;
0x0002eeb4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002eeb8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002eebc addiu v0, zero, 5 | v0 = 5;
0x0002eec0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002eec4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002eec8 addiu a3, zero, 1 | a3 = 1;
0x0002eecc addiu a2, zero, 0x8a1 | a2 = 0x8a1;
| /* str.session_input_channel_req */
0x0002eed0 addiu a1, a1, -0x21ac | a1 += -0x21ac;
| /* str.session.c */
0x0002eed4 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002eed8 jalr t9 | t9 ();
0x0002eedc lw v1, (s1) | v1 = *(s1);
0x0002eee0 addiu v0, zero, 0xa | v0 = 0xa;
0x0002eee4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002eee8 beq v1, v0, 0x2ef84 |
| while (v0 != 0) {
0x0002eeec move s1, zero | s1 = 0;
| label_0:
0x0002eef0 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002eef4 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.window_change */
0x0002eef8 addiu a1, a1, -0x24a8 | a1 += -0x24a8;
0x0002eefc move a0, s2 | a0 = s2;
0x0002ef00 jalr t9 | t9 ();
0x0002ef04 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002ef08 beqz v0, 0x2f1b0 | goto label_15;
| }
0x0002ef0c lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002ef10 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.break */
0x0002ef14 addiu a1, a1, -0x2498 | a1 += -0x2498;
0x0002ef18 move a0, s2 | a0 = s2;
0x0002ef1c jalr t9 | t9 ();
0x0002ef20 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002ef24 beqz v0, 0x2f250 | goto label_16;
| }
0x0002ef28 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002ef2c lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.signal */
0x0002ef30 addiu a1, a1, -0x2490 | a1 += -0x2490;
0x0002ef34 move a0, s2 | a0 = s2;
0x0002ef38 jalr t9 | t9 ();
0x0002ef3c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002ef40 beqz v0, 0x2f330 | goto label_17;
| }
| label_1:
0x0002ef44 lw a0, 0xf4(sp) | a0 = *(var_f4h);
0x0002ef48 lw v1, (s4) | v1 = *(s4);
0x0002ef4c move v0, s1 | v0 = s1;
| if (a0 != v1) {
0x0002ef50 bne a0, v1, 0x3013c | goto label_18;
| }
0x0002ef54 lw ra, 0x11c(sp) | ra = *(var_11ch);
0x0002ef58 lw fp, 0x118(sp) | fp = *(var_118h);
0x0002ef5c lw s7, 0x114(sp) | s7 = *(var_114h);
0x0002ef60 lw s6, 0x110(sp) | s6 = *(var_110h);
0x0002ef64 lw s5, 0x10c(sp) | s5 = *(var_10ch);
0x0002ef68 lw s4, 0x108(sp) | s4 = *(var_108h);
0x0002ef6c lw s3, 0x104(sp) | s3 = *(var_104h);
0x0002ef70 lw s2, 0x100(sp) | s2 = *(var_100h);
0x0002ef74 lw s1, 0xfc(sp) | s1 = *(var_fch);
0x0002ef78 lw s0, 0xf8(sp) | s0 = *(var_f8h);
0x0002ef7c addiu sp, sp, 0x120 |
0x0002ef80 jr ra | return v0;
0x0002ef84 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002ef88 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.shell */
0x0002ef8c addiu a1, a1, -0x27d0 | a1 += -0x27d0;
0x0002ef90 move a0, s2 | a0 = s2;
0x0002ef94 jalr t9 | t9 ();
0x0002ef98 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002ef9c beqz v0, 0x2f2ac | goto label_19;
| }
0x0002efa0 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002efa4 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.exec */
0x0002efa8 addiu a1, a1, -0x27c8 | a1 += -aav.0x000027c8;
0x0002efac move a0, s2 | a0 = s2;
0x0002efb0 jalr t9 | t9 ();
0x0002efb4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002efb8 beqz v0, 0x2f570 | goto label_20;
| }
0x0002efbc lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002efc0 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.pty_req */
0x0002efc4 addiu a1, a1, -0x27c0 | a1 += -0x27c0;
0x0002efc8 move a0, s2 | a0 = s2;
0x0002efcc jalr t9 | t9 ();
0x0002efd0 move s1, v0 | s1 = v0;
0x0002efd4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002efd8 beqz v0, 0x2f670 | goto label_21;
| }
0x0002efdc lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002efe0 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.x11_req */
0x0002efe4 addiu a1, a1, -0x26f8 | a1 += -0x26f8;
0x0002efe8 move a0, s2 | a0 = s2;
0x0002efec jalr t9 | t9 ();
0x0002eff0 move s1, v0 | s1 = v0;
0x0002eff4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002eff8 beqz v0, 0x2f854 | goto label_22;
| }
0x0002effc lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f000 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.auth_agent_req_openssh.com */
0x0002f004 addiu a1, a1, -0x2698 | a1 += -0x2698;
0x0002f008 move a0, s2 | a0 = s2;
0x0002f00c jalr t9 | t9 ();
0x0002f010 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002f014 beqz v0, 0x2f5d4 | goto label_23;
| }
0x0002f018 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f01c lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.subsystem */
0x0002f020 addiu a1, a1, -0x5f08 | a1 += -0x5f08;
0x0002f024 move a0, s2 | a0 = s2;
0x0002f028 jalr t9 | t9 ();
0x0002f02c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002f030 beqz v0, 0x2f938 | goto label_24;
| }
0x0002f034 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f038 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'env' */
0x0002f03c addiu a1, a1, -0x251c | a1 += -0x251c;
0x0002f040 move a0, s2 | a0 = s2;
0x0002f044 jalr t9 | t9 ();
0x0002f048 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f04c bnez v0, 0x2eeec |
| }
0x0002f050 lw t9, -0x7bb4(gp) | t9 = sym.sshpkt_get_cstring;
0x0002f054 move a2, zero | a2 = 0;
0x0002f058 addiu a1, sp, 0x48 | a1 = sp + 0x48;
0x0002f05c move a0, s3 | a0 = s3;
0x0002f060 jalr t9 | t9 ();
0x0002f064 move s1, v0 | s1 = v0;
0x0002f068 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f06c bnez v0, 0x30210 | goto label_25;
| }
0x0002f070 lw t9, -0x7bb4(gp) | t9 = sym.sshpkt_get_cstring;
0x0002f074 move a2, zero | a2 = 0;
0x0002f078 addiu a1, sp, 0x4c | a1 = sp + 0x4c;
0x0002f07c move a0, s3 | a0 = s3;
0x0002f080 jalr t9 | t9 ();
0x0002f084 move s1, v0 | s1 = v0;
0x0002f088 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f08c bnez v0, 0x30210 | goto label_25;
| }
0x0002f090 lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x0002f094 move a0, s3 | a0 = s3;
0x0002f098 jalr t9 | t9 ();
0x0002f09c move s1, v0 | s1 = v0;
0x0002f0a0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f0a4 bnez v0, 0x30210 | goto label_25;
| }
0x0002f0a8 lw v0, 0xa8(s0) | v0 = *((s0 + 42));
0x0002f0ac sltiu v0, v0, 0x81 | v0 = (v0 < 0x81) ? 1 : 0;
0x0002f0b0 lw a0, 0x48(sp) | a0 = *(var_48h);
| if (v0 == 0) {
0x0002f0b4 beqz v0, 0x2fe74 | goto label_26;
| }
0x0002f0b8 lw s6, -0x7fd8(gp) | s6 = *(gp);
0x0002f0bc lw v0, 0x1134(s6) | v0 = *((s6 + 1101));
0x0002f0c0 move s7, zero | s7 = 0;
| if (v0 != 0) {
0x0002f0c4 bnez v0, 0x2f0e4 | goto label_27;
| }
0x0002f0c8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002f0cc b 0x2fdbc | goto label_28;
| do {
0x0002f0d0 lw v0, 0x1134(s6) | v0 = *((s6 + 1101));
0x0002f0d4 addiu s7, s7, 1 | s7++;
0x0002f0d8 sltu v0, s7, v0 | v0 = (s7 < v0) ? 1 : 0;
0x0002f0dc lw a0, 0x48(sp) | a0 = *(var_48h);
| if (v0 == 0) {
0x0002f0e0 beqz v0, 0x2fdb8 | goto label_29;
| }
| label_27:
0x0002f0e4 lw a1, 0x1138(s6) | a1 = *((s6 + 1102));
0x0002f0e8 sll v0, s7, 2 | v0 = s7 << 2;
0x0002f0ec lw t9, -0x7904(gp) | t9 = sym.match_pattern;
0x0002f0f0 lwx a1, v0(a1) | __asm ("lwx a1, v0(a1)");
0x0002f0f4 jalr t9 | t9 ();
0x0002f0f8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f0fc beqz v0, 0x2f0d0 |
| } while (v0 == 0);
0x0002f100 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0002f104 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f108 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0002f10c lw v0, 0x48(sp) | v0 = *(var_48h);
0x0002f110 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002f114 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0002f118 lw v0, 0xa8(s0) | v0 = *((s0 + 42));
0x0002f11c move a3, zero | a3 = 0;
0x0002f120 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002f124 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002f128 addiu a2, zero, 0x82b | a2 = 0x82b;
| /* str.Setting_env__d:__s_s */
0x0002f12c addiu v0, v0, -0x24ec | v0 += -0x24ec;
0x0002f130 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002f134 addiu v0, zero, 6 | v0 = 6;
| /* str.session_env_req */
0x0002f138 addiu a1, a1, -0x2268 | a1 += -0x2268;
| /* str.session.c */
0x0002f13c addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002f140 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f144 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002f148 jalr t9 | t9 ();
0x0002f14c lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f150 lw a1, 0xa8(s0) | a1 = *((s0 + 42));
0x0002f154 lw a0, 0xac(s0) | a0 = *((s0 + 43));
0x0002f158 lw t9, -0x7c54(gp) | t9 = sym.xrecallocarray;
0x0002f15c addiu a3, zero, 8 | a3 = 8;
0x0002f160 addiu a2, a1, 1 | a2 = a1 + 1;
0x0002f164 jalr t9 | t9 ();
0x0002f168 lw v1, 0xa8(s0) | v1 = *((s0 + 42));
0x0002f16c lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f170 sll v1, v1, 3 | v1 <<= 3;
0x0002f174 sw v0, 0xac(s0) | *((s0 + 43)) = v0;
0x0002f178 addu v1, v0, v1 | v1 = v0 + v1;
0x0002f17c lw v0, 0x48(sp) | v0 = *(var_48h);
0x0002f180 addiu s1, zero, 1 | s1 = 1;
0x0002f184 sw v0, (v1) | *(v1) = v0;
0x0002f188 lw v1, 0xa8(s0) | v1 = *((s0 + 42));
0x0002f18c lw v0, 0xac(s0) | v0 = *((s0 + 43));
0x0002f190 sll v1, v1, 3 | v1 <<= 3;
0x0002f194 addu v0, v0, v1 | v0 += v1;
0x0002f198 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0002f19c sw v1, 4(v0) | *((v0 + 1)) = v1;
0x0002f1a0 lw v0, 0xa8(s0) | v0 = *((s0 + 42));
0x0002f1a4 addiu v0, v0, 1 | v0++;
0x0002f1a8 sw v0, 0xa8(s0) | *((s0 + 42)) = v0;
0x0002f1ac b 0x2eef0 | goto label_0;
| label_15:
0x0002f1b0 lw t9, -0x7bb8(gp) | t9 = sym.sshpkt_get_u32;
0x0002f1b4 addiu a1, s0, 0x30 | a1 = s0 + 0x30;
0x0002f1b8 move a0, s3 | a0 = s3;
0x0002f1bc jalr t9 | t9 ();
0x0002f1c0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f1c4 bnez v0, 0x300a0 | goto label_30;
| }
0x0002f1c8 lw t9, -0x7bb8(gp) | t9 = sym.sshpkt_get_u32;
0x0002f1cc addiu a1, s0, 0x2c | a1 = s0 + 0x2c;
0x0002f1d0 move a0, s3 | a0 = s3;
0x0002f1d4 jalr t9 | t9 ();
0x0002f1d8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f1dc bnez v0, 0x300a0 | goto label_30;
| }
0x0002f1e0 lw t9, -0x7bb8(gp) | t9 = sym.sshpkt_get_u32;
0x0002f1e4 addiu a1, s0, 0x34 | a1 = s0 + 0x34;
0x0002f1e8 move a0, s3 | a0 = s3;
0x0002f1ec jalr t9 | t9 ();
0x0002f1f0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f1f4 bnez v0, 0x300a0 | goto label_30;
| }
0x0002f1f8 lw t9, -0x7bb8(gp) | t9 = sym.sshpkt_get_u32;
0x0002f1fc addiu a1, s0, 0x38 | a1 = s0 + 0x38;
0x0002f200 move a0, s3 | a0 = s3;
0x0002f204 jalr t9 | t9 ();
0x0002f208 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f20c bnez v0, 0x300a0 | goto label_30;
| }
0x0002f210 lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x0002f214 move a0, s3 | a0 = s3;
0x0002f218 jalr t9 | t9 ();
0x0002f21c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f220 bnez v0, 0x300a0 | goto label_30;
| }
0x0002f224 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x0002f228 lw t9, -0x7900(gp) | t9 = sym.pty_change_window_size;
0x0002f22c lw a3, 0x34(s0) | a3 = *((s0 + 13));
0x0002f230 lw a2, 0x30(s0) | a2 = *((s0 + 12));
0x0002f234 lw a1, 0x2c(s0) | a1 = *((s0 + 11));
0x0002f238 lw a0, 0x20(s0) | a0 = *((s0 + 8));
0x0002f23c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f240 bal 0x15638 | sym_pty_change_window_size ();
0x0002f244 addiu s1, zero, 1 | s1 = 1;
0x0002f248 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f24c b 0x2ef44 | goto label_1;
| label_16:
0x0002f250 lw t9, -0x7bb8(gp) | t9 = sym.sshpkt_get_u32;
0x0002f254 move a1, zero | a1 = 0;
0x0002f258 move a0, s3 | a0 = s3;
0x0002f25c jalr t9 | t9 ();
0x0002f260 move s1, v0 | s1 = v0;
0x0002f264 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f268 bnez v0, 0x301c0 | goto label_31;
| }
0x0002f26c lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x0002f270 move a0, s3 | a0 = s3;
0x0002f274 jalr t9 | t9 ();
0x0002f278 move s1, v0 | s1 = v0;
0x0002f27c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f280 bnez v0, 0x301c0 | goto label_31;
| }
0x0002f284 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x0002f288 addiu v0, zero, -1 | v0 = -1;
0x0002f28c lw t9, -0x71ec(gp) | t9 = sym.imp.tcsendbreak;
| if (a0 == v0) {
0x0002f290 beq a0, v0, 0x2ef44 | goto label_1;
| }
0x0002f294 move a1, zero | a1 = 0;
0x0002f298 jalr t9 | t9 ();
0x0002f29c addiu v0, v0, 1 | v0++;
0x0002f2a0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f2a4 sltu s1, zero, v0 | s1 = (0 < v0) ? 1 : 0;
0x0002f2a8 b 0x2ef44 | goto label_1;
| label_19:
0x0002f2ac lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x0002f2b0 move a0, s3 | a0 = s3;
0x0002f2b4 jalr t9 | t9 ();
0x0002f2b8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f2bc bnez v0, 0x301e0 | goto label_32;
| }
0x0002f2c0 lw t9, -0x78fc(gp) | t9 = sym.do_exec;
0x0002f2c4 move a2, zero | a2 = 0;
0x0002f2c8 move a1, s0 | a1 = s0;
0x0002f2cc move a0, s3 | a0 = s3;
0x0002f2d0 bal 0x2eac8 | sym_do_exec ();
0x0002f2d4 sltiu s1, v0, 1 | s1 = (v0 < 1) ? 1 : 0;
0x0002f2d8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f2dc b 0x2eef0 | goto label_0;
| label_14:
0x0002f2e0 lw v0, 4(s1) | v0 = *((s1 + 1));
0x0002f2e4 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f2e8 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002f2ec lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002f2f0 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.no_session__d_req__.100s */
0x0002f2f4 addiu v0, v0, -0x2800 | v0 += -0x2800;
0x0002f2f8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002f2fc sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002f300 addiu v0, zero, 3 | v0 = 3;
0x0002f304 sw s2, 0x20(sp) | *(var_20h) = s2;
0x0002f308 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002f30c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f310 addiu a3, zero, 1 | a3 = 1;
0x0002f314 addiu a2, zero, 0x89e | a2 = 0x89e;
| /* str.session_input_channel_req */
0x0002f318 addiu a1, a1, -0x21ac | a1 += -0x21ac;
| /* str.session.c */
0x0002f31c addiu a0, a0, -0x3620 | a0 += -0x3620;
0x0002f320 jalr t9 | t9 ();
0x0002f324 move s1, zero | s1 = 0;
0x0002f328 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f32c b 0x2ef44 | goto label_1;
| label_17:
0x0002f330 lw t9, -0x7bb4(gp) | t9 = sym.sshpkt_get_cstring;
0x0002f334 move a2, zero | a2 = 0;
0x0002f338 addiu a1, sp, 0x4c | a1 = sp + 0x4c;
0x0002f33c move a0, s3 | a0 = s3;
0x0002f340 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0002f344 jalr t9 | t9 ();
0x0002f348 move s1, v0 | s1 = v0;
0x0002f34c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002f350 bnez v0, 0x2f510 |
0x0002f354 lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x0002f358 move a0, s3 | a0 = s3;
0x0002f35c jalr t9 | t9 ();
0x0002f360 move s1, v0 | s1 = v0;
0x0002f364 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002f368 bnez v0, 0x2f510 |
0x0002f36c lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f370 lw s2, 0x4c(sp) | s2 = *(var_4ch);
0x0002f374 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'HUP' */
0x0002f378 addiu a1, a1, -0x2c7c | a1 += -0x2c7c;
0x0002f37c move a0, s2 | a0 = s2;
0x0002f380 jalr t9 | t9 ();
0x0002f384 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002f388 beqz v0, 0x2f668 | goto label_33;
| }
0x0002f38c lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f390 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'INT' */
0x0002f394 addiu a1, a1, -0x2c74 | a1 += -0x2c74;
0x0002f398 move a0, s2 | a0 = s2;
0x0002f39c jalr t9 | t9 ();
0x0002f3a0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002f3a4 beqz v0, 0x2fb24 | goto label_34;
| }
0x0002f3a8 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f3ac lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.KILL */
0x0002f3b0 addiu a1, a1, -0x2c70 | a1 += -0x2c70;
0x0002f3b4 move a0, s2 | a0 = s2;
0x0002f3b8 jalr t9 | t9 ();
0x0002f3bc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002f3c0 beqz v0, 0x2fc0c | goto label_35;
| }
0x0002f3c4 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f3c8 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.QUIT */
0x0002f3cc addiu a1, a1, -0x2ca8 | a1 += -0x2ca8;
0x0002f3d0 move a0, s2 | a0 = s2;
0x0002f3d4 jalr t9 | t9 ();
0x0002f3d8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002f3dc beqz v0, 0x2fd50 | goto label_36;
| }
0x0002f3e0 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f3e4 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.TERM */
0x0002f3e8 addiu a1, a1, -0x30f0 | a1 += -0x30f0;
0x0002f3ec move a0, s2 | a0 = s2;
0x0002f3f0 jalr t9 | t9 ();
0x0002f3f4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002f3f8 beqz v0, 0x2fdb0 | goto label_37;
| }
0x0002f3fc lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f400 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.USR1 */
0x0002f404 addiu a1, a1, -0x2ca0 | a1 += -0x2ca0;
0x0002f408 move a0, s2 | a0 = s2;
0x0002f40c jalr t9 | t9 ();
0x0002f410 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002f414 beqz v0, 0x2fe6c | goto label_38;
| }
0x0002f418 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f41c lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.USR2 */
0x0002f420 addiu a1, a1, -0x2c98 | a1 += -0x2c98;
0x0002f424 move a0, s2 | a0 = s2;
0x0002f428 jalr t9 | t9 ();
0x0002f42c addiu s3, zero, 0x11 | s3 = 0x11;
0x0002f430 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f434 bnez v0, 0x2fbe0 | goto label_39;
| }
| label_2:
0x0002f438 lw v0, 0x14(s0) | v0 = *((s0 + 5));
| if (v0 <= 0) {
0x0002f43c blezl v0, 0x2fba0 | goto label_40;
| }
0x0002f440 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0002f444 lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x0002f448 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 != 0) {
0x0002f44c bnez v0, 0x2f8f0 | goto label_41;
| }
0x0002f450 lw v0, 0xa0(s0) | v0 = *((s0 + 40));
0x0002f454 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 != 0) {
0x0002f458 bnez v0, 0x2fae0 | goto label_42;
| }
0x0002f45c lw v0, -0x7fc8(gp) | v0 = *(gp);
0x0002f460 lw v0, (v0) | v0 = *(v0);
0x0002f464 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0002f468 beqz v0, 0x2fab4 | goto label_43;
| }
0x0002f46c lw t9, -0x7a80(gp) | t9 = sym.mm_is_monitor;
0x0002f470 bal 0x3bd04 | sym_mm_is_monitor ();
0x0002f474 nop |
0x0002f478 move s1, v0 | s1 = v0;
0x0002f47c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f480 bnez v0, 0x2fab0 | goto label_44;
| }
0x0002f484 sw s3, 0x24(sp) | *(var_24h) = s3;
0x0002f488 lw v0, 0x14(s0) | v0 = *((s0 + 5));
0x0002f48c lw s2, -0x7f34(gp) | s2 = *(gp);
0x0002f490 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0002f494 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0002f498 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002f49c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002f4a0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002f4a4 addiu a3, zero, 1 | a3 = 1;
| /* str.signal__s__killpg__ld___d_ */
0x0002f4a8 addiu v0, v0, -0x23f0 | v0 += -0x23f0;
0x0002f4ac sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002f4b0 addiu v0, zero, 5 | v0 = 5;
0x0002f4b4 addiu a2, zero, 0x871 | a2 = 0x871;
| /* str.session_signal_req */
0x0002f4b8 addiu a1, s2, -0x22ac | a1 = s2 + -0x22ac;
0x0002f4bc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f4c0 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002f4c4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002f4c8 jalr t9 | t9 ();
0x0002f4cc lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f4d0 lw t9, -0x7cc8(gp) | t9 = sym.temporarily_use_uid;
0x0002f4d4 lw a0, 0xc(s0) | a0 = *((s0 + 3));
0x0002f4d8 bal 0x48f90 | sym_temporarily_use_uid ();
0x0002f4dc lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f4e0 lw a0, 0x14(s0) | a0 = *((s0 + 5));
0x0002f4e4 lw t9, -0x6fc0(gp) | t9 = sym.imp.killpg;
0x0002f4e8 move a1, s3 | a1 = s3;
0x0002f4ec jalr t9 | t9 ();
0x0002f4f0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f4f4 lw t9, -0x7cc4(gp) | t9 = sym.restore_uid;
0x0002f4f8 move s6, v0 | s6 = v0;
0x0002f4fc bal 0x494c4 | sym_restore_uid ();
0x0002f500 lw gp, 0x30(sp) | gp = *(var_30h);
| if (s6 != 0) {
0x0002f504 bnez s6, 0x2ffd8 | goto label_45;
| }
0x0002f508 addiu s1, zero, 1 | s1 = 1;
0x0002f50c b 0x2f55c |
| }
| } else {
0x0002f510 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0002f514 move a0, s1 | a0 = s1;
0x0002f518 bal 0x4b380 | sym_ssh_err ();
0x0002f51c lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f520 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0002f524 addiu v0, zero, 2 | v0 = 2;
0x0002f528 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0002f52c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.parse */
0x0002f530 addiu v1, v1, -0x2488 | v1 += -0x2488;
0x0002f534 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0002f538 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f53c addiu a3, zero, 1 | a3 = 1;
0x0002f540 addiu a2, zero, 0x85c | a2 = 0x85c;
| label_4:
0x0002f544 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f548 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
| /* str.session_signal_req */
0x0002f54c addiu a1, a1, -0x22ac | a1 += -0x22ac;
0x0002f550 jalr t9 | t9 ();
0x0002f554 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f558 move s1, zero | s1 = 0;
| }
| label_3:
0x0002f55c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002f560 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0002f564 jalr t9 | t9 ();
0x0002f568 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f56c b 0x2ef44 | goto label_1;
| label_20:
0x0002f570 lw t9, -0x7bb4(gp) | t9 = sym.sshpkt_get_cstring;
0x0002f574 move a2, zero | a2 = 0;
0x0002f578 addiu a1, sp, 0x4c | a1 = sp + 0x4c;
0x0002f57c move a0, s3 | a0 = s3;
0x0002f580 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0002f584 jalr t9 | t9 ();
0x0002f588 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f58c bnez v0, 0x30200 | goto label_46;
| }
0x0002f590 lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x0002f594 move a0, s3 | a0 = s3;
0x0002f598 jalr t9 | t9 ();
0x0002f59c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f5a0 bnez v0, 0x30200 | goto label_46;
| }
0x0002f5a4 lw t9, -0x78fc(gp) | t9 = sym.do_exec;
0x0002f5a8 lw a2, 0x4c(sp) | a2 = *(var_4ch);
0x0002f5ac move a1, s0 | a1 = s0;
0x0002f5b0 move a0, s3 | a0 = s3;
0x0002f5b4 bal 0x2eac8 | sym_do_exec ();
0x0002f5b8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f5bc lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0002f5c0 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002f5c4 sltiu s1, v0, 1 | s1 = (v0 < 1) ? 1 : 0;
0x0002f5c8 jalr t9 | t9 ();
0x0002f5cc lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f5d0 b 0x2eef0 | goto label_0;
| label_23:
0x0002f5d4 lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x0002f5d8 move a0, s3 | a0 = s3;
0x0002f5dc jalr t9 | t9 ();
0x0002f5e0 move s1, v0 | s1 = v0;
0x0002f5e4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f5e8 bnez v0, 0x30260 | goto label_47;
| }
0x0002f5ec lw v0, -0x7d7c(gp) | v0 = *(gp);
0x0002f5f0 lw v0, (v0) | v0 = *(v0);
0x0002f5f4 lw v0, 4(v0) | v0 = *((v0 + 1));
0x0002f5f8 lw v0, -0x7fd8(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0002f5fc beqz v0, 0x2fae8 | goto label_48;
| }
0x0002f600 lw v0, 0x508(v0) | v0 = *((v0 + 322));
0x0002f604 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 == 0) {
0x0002f608 beqz v0, 0x2fae8 | goto label_48;
| }
0x0002f60c lw s1, -0x4388(v0) | s1 = *((v0 - 4322));
0x0002f610 move s1, zero | s1 = 0;
| if (s1 == 0) {
0x0002f614 bnel s1, zero, 0x2eef0 | goto label_0;
| }
0x0002f618 lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
0x0002f61c addiu v1, zero, 1 | v1 = 1;
0x0002f620 sw v1, -0x4388(v0) | *((v0 - 4322)) = v1;
0x0002f624 lw v0, -0x4380(s6) | v0 = *((s6 - 4320));
0x0002f628 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0002f62c beqz v0, 0x2fea0 | goto label_49;
| }
0x0002f630 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.authentication_forwarding_requested_twice. */
0x0002f634 addiu v0, v0, -0x2660 | v0 += -0x2660;
0x0002f638 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002f63c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002f640 addiu v0, zero, 2 | v0 = 2;
0x0002f644 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002f648 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f64c move a3, zero | a3 = 0;
0x0002f650 addiu a2, zero, 0xc0 | a2 = 0xc0;
| /* str.auth_input_request_forwarding */
0x0002f654 addiu a1, a1, -0x2240 | a1 += -0x2240;
| /* str.session.c */
0x0002f658 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002f65c jalr t9 | t9 ();
0x0002f660 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f664 b 0x2eef0 | goto label_0;
| label_33:
0x0002f668 addiu s3, zero, 1 | s3 = 1;
0x0002f66c b 0x2f438 | goto label_2;
| label_21:
0x0002f670 lw v0, -0x7d7c(gp) | v0 = *(gp);
0x0002f674 lw v0, (v0) | v0 = *(v0);
0x0002f678 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x0002f67c lw v0, -0x7fd8(gp) | v0 = *(gp);
| if (v0 != 0) {
0x0002f680 beqz v0, 0x2f8b4 |
0x0002f684 lw v0, 0x468(v0) | v0 = *(v0);
0x0002f688 addiu v0, zero, -1 | v0 = -1;
| if (v0 == 0) {
0x0002f68c beqz v0, 0x2f8b4 | goto label_50;
| }
0x0002f690 lw v1, 0x24(s0) | v1 = *((s0 + 9));
0x0002f694 move a2, zero | a2 = 0;
| if (v1 != v0) {
0x0002f698 bne v1, v0, 0x3023c | goto label_51;
| }
0x0002f69c lw t9, -0x7bb4(gp) | t9 = sym.sshpkt_get_cstring;
0x0002f6a0 addiu a1, s0, 0x1c | a1 = s0 + 0x1c;
0x0002f6a4 move a0, s3 | a0 = s3;
0x0002f6a8 jalr t9 | t9 ();
0x0002f6ac move s1, v0 | s1 = v0;
0x0002f6b0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f6b4 bnez v0, 0x301f0 | goto label_52;
| }
0x0002f6b8 lw t9, -0x7bb8(gp) | t9 = sym.sshpkt_get_u32;
0x0002f6bc addiu a1, s0, 0x30 | a1 = s0 + 0x30;
0x0002f6c0 move a0, s3 | a0 = s3;
0x0002f6c4 jalr t9 | t9 ();
0x0002f6c8 move s1, v0 | s1 = v0;
0x0002f6cc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f6d0 bnez v0, 0x301f0 | goto label_52;
| }
0x0002f6d4 lw t9, -0x7bb8(gp) | t9 = sym.sshpkt_get_u32;
0x0002f6d8 addiu a1, s0, 0x2c | a1 = s0 + 0x2c;
0x0002f6dc move a0, s3 | a0 = s3;
0x0002f6e0 jalr t9 | t9 ();
0x0002f6e4 move s1, v0 | s1 = v0;
0x0002f6e8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f6ec bnez v0, 0x301f0 | goto label_52;
| }
0x0002f6f0 lw t9, -0x7bb8(gp) | t9 = sym.sshpkt_get_u32;
0x0002f6f4 addiu a1, s0, 0x34 | a1 = s0 + 0x34;
0x0002f6f8 move a0, s3 | a0 = s3;
0x0002f6fc jalr t9 | t9 ();
0x0002f700 move s1, v0 | s1 = v0;
0x0002f704 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f708 bnez v0, 0x301f0 | goto label_52;
| }
0x0002f70c lw t9, -0x7bb8(gp) | t9 = sym.sshpkt_get_u32;
0x0002f710 addiu a1, s0, 0x38 | a1 = s0 + 0x38;
0x0002f714 move a0, s3 | a0 = s3;
0x0002f718 jalr t9 | t9 ();
0x0002f71c move s1, v0 | s1 = v0;
0x0002f720 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f724 bnez v0, 0x301f0 | goto label_52;
| }
0x0002f728 lw a0, 0x1c(s0) | a0 = *((s0 + 7));
0x0002f72c lbu v0, (a0) | v0 = *(a0);
0x0002f730 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
| if (v0 == 0) {
0x0002f734 beqz v0, 0x2fb8c | goto label_53;
| }
| label_7:
0x0002f738 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002f73c lw s6, -0x7f34(gp) | s6 = *(gp);
0x0002f740 lw s7, -0x7fc8(gp) | s7 = *(gp);
| /* str.Allocating_pty. */
0x0002f744 addiu v0, v0, -0x275c | v0 += -aav.0x0000275c;
0x0002f748 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002f74c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002f750 addiu v0, zero, 5 | v0 = 5;
0x0002f754 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str.session_pty_req */
0x0002f758 addiu a1, s6, -0x21f8 | a1 = s6 + -0x21f8;
| /* str.session.c */
0x0002f75c addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002f760 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002f764 move a3, zero | a3 = 0;
0x0002f768 addiu a2, zero, 0x788 | a2 = 0x788;
0x0002f76c jalr t9 | t9 ();
0x0002f770 lw v0, (s7) | v0 = *(s7);
0x0002f774 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f778 addiu a0, s0, 0x20 | a0 = s0 + 0x20;
0x0002f77c addiu a1, s0, 0x24 | a1 = s0 + 0x24;
0x0002f780 addiu fp, s0, 0x3c | fp = s0 + 0x3c;
| if (v0 == 0) {
0x0002f784 beqz v0, 0x2fad8 | goto label_54;
| }
0x0002f788 lw t9, -0x78f8(gp) | t9 = sym.mm_pty_allocate;
| label_5:
0x0002f78c addiu a3, zero, 0x40 | a3 = 0x40;
0x0002f790 move a2, fp | a2 = fp;
0x0002f794 jalr t9 | t9 ();
0x0002f798 sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x0002f79c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f7a0 bnez v0, 0x2fb2c | goto label_55;
| }
0x0002f7a4 sw fp, 0x20(sp) | *(var_20h) = fp;
0x0002f7a8 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0002f7ac lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002f7b0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002f7b4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002f7b8 move a3, zero | a3 = 0;
| /* str.session_pty_req:_session__d_alloc__s */
0x0002f7bc addiu v0, v0, -0x2720 | v0 += -0x2720;
0x0002f7c0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002f7c4 addiu v0, zero, 5 | v0 = 5;
0x0002f7c8 addiu a2, zero, 0x792 | a2 = 0x792;
0x0002f7cc sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str.session_pty_req */
0x0002f7d0 addiu a1, s6, -0x21f8 | a1 = s6 + -0x21f8;
| /* str.session.c */
0x0002f7d4 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002f7d8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002f7dc jalr t9 | t9 ();
0x0002f7e0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f7e4 lw a1, 0x24(s0) | a1 = *((s0 + 9));
0x0002f7e8 lw t9, -0x78f4(gp) | t9 = sym.ssh_tty_parse_modes;
0x0002f7ec move a0, s3 | a0 = s3;
0x0002f7f0 jalr t9 | t9 ();
0x0002f7f4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f7f8 lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x0002f7fc move a0, s3 | a0 = s3;
0x0002f800 jalr t9 | t9 ();
0x0002f804 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f808 bnez v0, 0x30220 | goto label_56;
| }
0x0002f80c lw v0, (s7) | v0 = *(s7);
0x0002f810 lw t9, -0x78f0(gp) | t9 = sym.pty_setowner;
| if (v0 == 0) {
0x0002f814 beqz v0, 0x2fd3c | goto label_57;
| }
| label_8:
0x0002f818 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x0002f81c lw t9, -0x7900(gp) | t9 = sym.pty_change_window_size;
0x0002f820 lw a3, 0x34(s0) | a3 = *((s0 + 13));
0x0002f824 lw a2, 0x30(s0) | a2 = *((s0 + 12));
0x0002f828 lw a1, 0x2c(s0) | a1 = *((s0 + 11));
0x0002f82c lw a0, 0x20(s0) | a0 = *((s0 + 8));
0x0002f830 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f834 bal 0x15638 | sym_pty_change_window_size ();
0x0002f838 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f83c move a0, s0 | a0 = s0;
0x0002f840 lw t9, -0x7940(gp) | t9 = sym.session_proctitle;
0x0002f844 addiu s1, zero, 1 | s1 = 1;
0x0002f848 bal 0x2ccc4 | sym_session_proctitle ();
0x0002f84c lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f850 b 0x2eef0 | goto label_0;
| label_22:
0x0002f854 sb zero, 0x4c(sp) | *(var_4ch) = 0;
0x0002f858 lw v0, 0x8c(s0) | v0 = *((s0 + 35));
0x0002f85c lw v0, 4(s0) | v0 = *((s0 + 1));
| if (v0 != 0) {
0x0002f860 bnel v0, zero, 0x2f874 |
0x0002f864 lw v0, 0x90(s0) | v0 = *((s0 + 36));
0x0002f868 lw t9, -0x7bb0(gp) | t9 = sym.sshpkt_get_u8;
| if (v0 == 0) {
0x0002f86c beqz v0, 0x2fc14 | goto label_58;
| }
0x0002f870 lw v0, 4(s0) | v0 = *((s0 + 1));
| }
0x0002f874 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002f878 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002f87c lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002f880 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.session_x11_req:_session__d:_x11_forwarding_already_active */
0x0002f884 addiu v0, v0, -0x26f0 | v0 += -0x26f0;
0x0002f888 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002f88c addiu v0, zero, 2 | v0 = 2;
0x0002f890 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002f894 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f898 move a3, zero | a3 = 0;
0x0002f89c addiu a2, zero, 0x7d3 | a2 = 0x7d3;
| /* str.session_x11_req */
0x0002f8a0 addiu a1, a1, -0x2208 | a1 += -0x2208;
| /* str.session.c */
0x0002f8a4 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002f8a8 jalr t9 | t9 ();
0x0002f8ac lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f8b0 b 0x2eef0 | goto label_0;
| }
| label_50:
0x0002f8b4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002f8b8 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.Allocating_a_pty_not_permitted_for_this_connection. */
0x0002f8bc addiu v0, v0, -0x27b8 | v0 += -0x27b8;
0x0002f8c0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002f8c4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002f8c8 addiu v0, zero, 5 | v0 = 5;
0x0002f8cc sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002f8d0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f8d4 move a3, zero | a3 = 0;
0x0002f8d8 addiu a2, zero, 0x773 | a2 = 0x773;
| /* str.session_pty_req */
0x0002f8dc addiu a1, a1, -0x21f8 | a1 += -0x21f8;
| /* str.session.c */
0x0002f8e0 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002f8e4 jalr t9 | t9 ();
0x0002f8e8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f8ec b 0x2eef0 | goto label_0;
| /* str.forced_command */
| label_41:
0x0002f8f0 addiu v0, v0, -0x2810 | v0 += -aav.0x00002810;
| label_6:
0x0002f8f4 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0002f8f8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002f8fc lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.refusing_to_send_signal__s_to__s_session */
0x0002f900 addiu v0, v0, -0x2450 | v0 += -0x2450;
0x0002f904 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002f908 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002f90c addiu v0, zero, 2 | v0 = 2;
0x0002f910 sw s2, 0x1c(sp) | *(var_1ch) = s2;
0x0002f914 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002f918 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f91c addiu a3, zero, 1 | a3 = 1;
0x0002f920 addiu a2, zero, 0x869 | a2 = 0x869;
| /* str.session_signal_req */
0x0002f924 addiu a1, a1, -0x22ac | a1 += -0x22ac;
0x0002f928 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002f92c jalr t9 | t9 ();
0x0002f930 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f934 b 0x2f55c | goto label_3;
| label_24:
0x0002f938 lw t9, -0x7bb4(gp) | t9 = sym.sshpkt_get_cstring;
0x0002f93c move a2, zero | a2 = 0;
0x0002f940 addiu a1, s0, 0xa4 | a1 = s0 + 0xa4;
0x0002f944 move a0, s3 | a0 = s3;
0x0002f948 jalr t9 | t9 ();
0x0002f94c move s1, v0 | s1 = v0;
0x0002f950 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f954 bnez v0, 0x3022c | goto label_59;
| }
0x0002f958 lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x0002f95c move a0, s3 | a0 = s3;
0x0002f960 jalr t9 | t9 ();
0x0002f964 move s1, v0 | s1 = v0;
0x0002f968 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002f96c bnez v0, 0x3022c | goto label_59;
| }
0x0002f970 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0002f974 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0002f978 lw s6, -0x7fd8(gp) | s6 = *(gp);
0x0002f97c lw v0, (v0) | v0 = *(v0);
0x0002f980 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002f984 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0002f988 lw v0, 0xa4(s0) | v0 = *((s0 + 41));
0x0002f98c sw v1, 0x44(sp) | *(var_44h) = v1;
0x0002f990 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002f994 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002f998 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.subsystem_request_for__.100s_by_user__s */
0x0002f99c addiu v0, v0, -0x25d0 | v0 += -0x25d0;
0x0002f9a0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002f9a4 addiu v0, zero, 6 | v0 = 6;
0x0002f9a8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f9ac move a3, zero | a3 = 0;
0x0002f9b0 addiu a2, zero, 0x7af | a2 = 0x7af;
| /* str.session_subsystem_req */
0x0002f9b4 addiu a1, v1, -0x2258 | a1 = v1 + -0x2258;
| /* str.session.c */
0x0002f9b8 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002f9bc jalr t9 | t9 ();
0x0002f9c0 lw v0, 0x530(s6) | v0 = *((s6 + 332));
0x0002f9c4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002f9c8 sw v0, 0x40(sp) | *(var_40h) = v0;
| if (v0 == 0) {
0x0002f9cc beqz v0, 0x2fd58 | goto label_60;
| }
0x0002f9d0 lw v0, 0xa4(s0) | v0 = *((s0 + 41));
0x0002f9d4 addiu s7, s6, 0x534 | s7 = s6 + aav.0x00000534;
0x0002f9d8 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0002f9dc move fp, zero | fp = 0;
0x0002f9e0 b 0x2f9f4 |
| while (v0 != 0) {
0x0002f9e4 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0002f9e8 addiu fp, fp, 1 | fp++;
0x0002f9ec addiu s7, s7, 4 | s7 += 4;
| if (fp == v0) {
0x0002f9f0 beq fp, v0, 0x2fd60 | goto label_61;
| }
0x0002f9f4 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
0x0002f9f8 lw a1, (s7) | a1 = *(s7);
0x0002f9fc lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x0002fa00 jalr t9 | t9 ();
0x0002fa04 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fa08 bnez v0, 0x2f9e4 |
| }
0x0002fa0c addiu a0, fp, 0x24c | a0 = fp + aav.0x0000024c;
0x0002fa10 sll a0, a0, 2 | a0 <<= 2;
0x0002fa14 addu a0, s6, a0 | a0 = s6 + a0;
0x0002fa18 addiu v0, fp, 0x34c | v0 = fp + aav.0x0000034c;
0x0002fa1c lw s7, 4(a0) | s7 = *((a0 + 1));
0x0002fa20 sll v0, v0, 2 | v0 <<= 2;
0x0002fa24 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002fa28 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
0x0002fa2c addu s6, s6, v0 | s6 += v0;
0x0002fa30 move a1, s7 | a1 = s7;
| /* str.internal_sftp */
0x0002fa34 addiu a0, a0, -0x2e70 | a0 += -0x2e70;
0x0002fa38 lw s6, 4(s6) | s6 = *((s6 + 1));
0x0002fa3c jalr t9 | t9 ();
0x0002fa40 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002fa44 bnez v0, 0x2fe18 | goto label_62;
| }
0x0002fa48 addiu v0, zero, 2 | v0 = 2;
0x0002fa4c sw v0, 0xa0(s0) | *((s0 + 40)) = v0;
0x0002fa50 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002fa54 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.subsystem:__s */
0x0002fa58 addiu v0, v0, -0x25a8 | v0 += -0x25a8;
0x0002fa5c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fa60 addiu v0, zero, 5 | v0 = 5;
0x0002fa64 move a3, zero | a3 = 0;
0x0002fa68 sw s7, 0x1c(sp) | *(var_1ch) = s7;
0x0002fa6c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002fa70 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fa74 addiu a2, zero, 0x7b7 | a2 = 0x7b7;
| label_9:
0x0002fa78 lw v0, 0x44(sp) | v0 = *(var_44h);
| /* str.session.c */
0x0002fa7c addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002fa80 addiu a1, v0, -0x2258 | a1 = v0 + -0x2258;
0x0002fa84 jalr t9 | t9 ();
0x0002fa88 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fa8c move a2, s6 | a2 = s6;
0x0002fa90 move a1, s0 | a1 = s0;
0x0002fa94 lw t9, -0x78fc(gp) | t9 = sym.do_exec;
0x0002fa98 move a0, s3 | a0 = s3;
0x0002fa9c bal 0x2eac8 | sym_do_exec ();
0x0002faa0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002faa4 bnez v0, 0x2fd58 | goto label_60;
| }
0x0002faa8 addiu s1, zero, 1 | s1 = 1;
0x0002faac b 0x2eef0 | goto label_0;
| label_44:
0x0002fab0 lw v0, -0x7f34(gp) | v0 = *(gp);
| label_43:
0x0002fab4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.session_signalling_requires_privilege_separation */
0x0002fab8 addiu v0, v0, -0x2424 | v0 += -0x2424;
0x0002fabc sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fac0 addiu v0, zero, 2 | v0 = 2;
0x0002fac4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002fac8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002facc addiu a3, zero, 1 | a3 = 1;
0x0002fad0 addiu a2, zero, 0x86d | a2 = 0x86d;
0x0002fad4 b 0x2f544 | goto label_4;
| label_54:
0x0002fad8 lw t9, -0x78ec(gp) | t9 = sym.pty_allocate;
0x0002fadc b 0x2f78c | goto label_5;
| /* str.subsystem */
| label_42:
0x0002fae0 addiu v0, v0, -0x5f08 | v0 += -0x5f08;
0x0002fae4 b 0x2f8f4 | goto label_6;
| label_48:
0x0002fae8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002faec lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.agent_forwarding_disabled */
0x0002faf0 addiu v0, v0, -0x267c | v0 += -0x267c;
0x0002faf4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002faf8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fafc addiu v0, zero, 5 | v0 = 5;
0x0002fb00 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002fb04 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fb08 addiu a3, zero, 1 | a3 = 1;
0x0002fb0c addiu a2, zero, 0x88c | a2 = aav.0x0000088c;
| /* str.session_auth_agent_req */
0x0002fb10 addiu a1, a1, -0x2220 | a1 += -aav.0x00002220;
| /* str.session.c */
0x0002fb14 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002fb18 jalr t9 | t9 ();
0x0002fb1c lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fb20 b 0x2eef0 | goto label_0;
| label_34:
0x0002fb24 addiu s3, zero, 2 | s3 = 2;
0x0002fb28 b 0x2f438 | goto label_2;
| label_55:
0x0002fb2c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002fb30 lw a0, 0x1c(s0) | a0 = *((s0 + 7));
0x0002fb34 jalr t9 | t9 ();
0x0002fb38 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fb3c addiu v0, zero, -1 | v0 = -1;
0x0002fb40 sw v0, 0x20(s0) | *((s0 + 8)) = v0;
0x0002fb44 sw v0, 0x24(s0) | *((s0 + 9)) = v0;
0x0002fb48 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002fb4c lw v1, 4(s0) | v1 = *((s0 + 1));
| /* str.session_pty_req:_session__d_alloc_failed */
0x0002fb50 addiu v0, v0, -0x274c | v0 += -0x274c;
0x0002fb54 sw zero, 0x1c(s0) | *((s0 + 7)) = 0;
0x0002fb58 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fb5c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002fb60 addiu v0, zero, 2 | v0 = 2;
0x0002fb64 move a3, zero | a3 = 0;
0x0002fb68 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0002fb6c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002fb70 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fb74 addiu a2, zero, 0x78f | a2 = 0x78f;
| /* str.session_pty_req */
0x0002fb78 addiu a1, s6, -0x21f8 | a1 = s6 + -0x21f8;
| /* str.session.c */
0x0002fb7c addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002fb80 jalr t9 | t9 ();
0x0002fb84 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fb88 b 0x2eef0 | goto label_0;
| label_53:
0x0002fb8c jalr t9 | t9 ();
0x0002fb90 nop |
0x0002fb94 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fb98 sw zero, 0x1c(s0) | *((s0 + 7)) = 0;
0x0002fb9c b 0x2f738 | goto label_7;
| label_40:
0x0002fba0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002fba4 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002fba8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002fbac sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.no_pid_for_session__d */
0x0002fbb0 addiu v0, v0, -0x2468 | v0 += -aav.0x00002468;
0x0002fbb4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fbb8 addiu v0, zero, 2 | v0 = 2;
0x0002fbbc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fbc0 addiu a3, zero, 1 | a3 = 1;
0x0002fbc4 addiu a2, zero, 0x864 | a2 = aav.0x00000864;
| do {
0x0002fbc8 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002fbcc addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
| /* str.session_signal_req */
0x0002fbd0 addiu a1, a1, -0x22ac | a1 += -0x22ac;
0x0002fbd4 jalr t9 | t9 ();
0x0002fbd8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fbdc b 0x2f55c | goto label_3;
| label_39:
0x0002fbe0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002fbe4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.unsupported_signal___s_ */
0x0002fbe8 addiu v0, v0, -0x2480 | v0 += -0x2480;
0x0002fbec sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fbf0 addiu v0, zero, 2 | v0 = 2;
0x0002fbf4 sw s2, 0x1c(sp) | *(var_1ch) = s2;
0x0002fbf8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002fbfc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fc00 addiu a3, zero, 1 | a3 = 1;
0x0002fc04 addiu a2, zero, 0x860 | a2 = 0x860;
0x0002fc08 b 0x2fbc8 |
| } while (1);
| label_35:
0x0002fc0c addiu s3, zero, 9 | s3 = 9;
0x0002fc10 b 0x2f438 | goto label_2;
| label_58:
0x0002fc14 addiu a1, sp, 0x4c | a1 = sp + 0x4c;
0x0002fc18 move a0, s3 | a0 = s3;
0x0002fc1c jalr t9 | t9 ();
0x0002fc20 move s1, v0 | s1 = v0;
0x0002fc24 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002fc28 bnez v0, 0x30250 | goto label_63;
| }
0x0002fc2c lw t9, -0x7bb4(gp) | t9 = sym.sshpkt_get_cstring;
0x0002fc30 move a2, zero | a2 = 0;
0x0002fc34 addiu a1, s0, 0x8c | a1 = s0 + 0x8c;
0x0002fc38 move a0, s3 | a0 = s3;
0x0002fc3c jalr t9 | t9 ();
0x0002fc40 move s1, v0 | s1 = v0;
0x0002fc44 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002fc48 bnez v0, 0x30250 | goto label_63;
| }
0x0002fc4c lw t9, -0x7bb4(gp) | t9 = sym.sshpkt_get_cstring;
0x0002fc50 move a2, zero | a2 = 0;
0x0002fc54 addiu a1, s0, 0x90 | a1 = s0 + 0x90;
0x0002fc58 move a0, s3 | a0 = s3;
0x0002fc5c jalr t9 | t9 ();
0x0002fc60 move s1, v0 | s1 = v0;
0x0002fc64 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002fc68 bnez v0, 0x30250 | goto label_63;
| }
0x0002fc6c lw t9, -0x7bb8(gp) | t9 = sym.sshpkt_get_u32;
0x0002fc70 addiu a1, s0, 0x84 | a1 = s0 + 0x84;
0x0002fc74 move a0, s3 | a0 = s3;
0x0002fc78 jalr t9 | t9 ();
0x0002fc7c move s1, v0 | s1 = v0;
0x0002fc80 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002fc84 bnez v0, 0x30250 | goto label_63;
| }
0x0002fc88 lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x0002fc8c move a0, s3 | a0 = s3;
0x0002fc90 jalr t9 | t9 ();
0x0002fc94 move s1, v0 | s1 = v0;
0x0002fc98 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002fc9c bnez v0, 0x30250 | goto label_63;
| }
0x0002fca0 lw s6, -0x79a0(gp) | s6 = *(gp);
0x0002fca4 lbu v0, 0x4c(sp) | v0 = *(var_4ch);
0x0002fca8 lw a0, 0x8c(s0) | a0 = *((s0 + 35));
| /* fcn.0002969c */
0x0002fcac addiu s6, s6, -0x6964 | s6 += -0x6964;
0x0002fcb0 move t9, s6 | t9 = s6;
0x0002fcb4 sw v0, 0x94(s0) | *((s0 + 37)) = v0;
0x0002fcb8 bal 0x2969c | fcn_0002969c ();
0x0002fcbc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002fcc0 beqz v0, 0x2fcd8 |
0x0002fcc4 move t9, s6 | t9 = s6;
0x0002fcc8 lw a0, 0x90(s0) | a0 = *((s0 + 36));
0x0002fccc bal 0x2969c | fcn_0002969c ();
0x0002fcd0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0002fcd4 bnez v0, 0x2ffb8 | goto label_64;
| }
| }
0x0002fcd8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002fcdc lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.Invalid_X11_forwarding_data */
0x0002fce0 addiu v0, v0, -0x26b4 | v0 += -aav.0x000026b4;
0x0002fce4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002fce8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fcec addiu v0, zero, 2 | v0 = 2;
0x0002fcf0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002fcf4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fcf8 move a3, zero | a3 = 0;
0x0002fcfc addiu a2, zero, 0x7e4 | a2 = 0x7e4;
| /* str.session_x11_req */
0x0002fd00 addiu a1, a1, -0x2208 | a1 += -0x2208;
| /* str.session.c */
0x0002fd04 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x0002fd08 jalr t9 | t9 ();
0x0002fd0c lw gp, 0x30(sp) | gp = *(var_30h);
| label_10:
0x0002fd10 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002fd14 lw a0, 0x8c(s0) | a0 = *((s0 + 35));
0x0002fd18 jalr t9 | t9 ();
0x0002fd1c lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fd20 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002fd24 lw a0, 0x90(s0) | a0 = *((s0 + 36));
0x0002fd28 jalr t9 | t9 ();
0x0002fd2c lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fd30 sw zero, 0x8c(s0) | *((s0 + 35)) = 0;
0x0002fd34 sw zero, 0x90(s0) | *((s0 + 36)) = 0;
0x0002fd38 b 0x2eef0 | goto label_0;
| label_57:
0x0002fd3c lw a0, 0xc(s0) | a0 = *((s0 + 3));
0x0002fd40 move a1, fp | a1 = fp;
0x0002fd44 bal 0x156b4 | sym_pty_setowner ();
0x0002fd48 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fd4c b 0x2f818 | goto label_8;
| label_36:
0x0002fd50 addiu s3, zero, 3 | s3 = 3;
0x0002fd54 b 0x2f438 | goto label_2;
| label_60:
0x0002fd58 lw v0, 0xa4(s0) | v0 = *((s0 + 41));
0x0002fd5c sw v0, 0x3c(sp) | *(var_3ch) = v0;
| label_61:
0x0002fd60 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0002fd64 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0002fd68 move a3, zero | a3 = 0;
0x0002fd6c lw v0, (v0) | v0 = *(v0);
0x0002fd70 addiu a2, zero, 0x7c6 | a2 = 0x7c6;
0x0002fd74 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0002fd78 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0002fd7c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002fd80 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002fd84 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.session.c */
0x0002fd88 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
| /* str.subsystem_request_for__.100s_by_user__s_failed__subsystem_not_found */
0x0002fd8c addiu v0, v0, -0x2560 | v0 += -0x2560;
0x0002fd90 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fd94 addiu v0, zero, 3 | v0 = 3;
0x0002fd98 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fd9c lw v0, 0x44(sp) | v0 = *(var_44h);
0x0002fda0 addiu a1, v0, -0x2258 | a1 = v0 + -0x2258;
0x0002fda4 jalr t9 | t9 ();
0x0002fda8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fdac b 0x2eef0 | goto label_0;
| label_37:
0x0002fdb0 addiu s3, zero, 0xf | s3 = 0xf;
0x0002fdb4 b 0x2f438 | goto label_2;
| label_29:
0x0002fdb8 lw v0, -0x7f34(gp) | v0 = *(gp);
| label_28:
0x0002fdbc lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.Ignoring_env_request__s:_disallowed_name */
0x0002fdc0 addiu v0, v0, -0x24d4 | v0 += -0x24d4;
0x0002fdc4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fdc8 addiu v0, zero, 6 | v0 = 6;
0x0002fdcc sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x0002fdd0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002fdd4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fdd8 move a3, zero | a3 = 0;
0x0002fddc addiu a2, zero, 0x834 | a2 = 0x834;
| do {
0x0002fde0 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.session.c */
0x0002fde4 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
| /* str.session_env_req */
0x0002fde8 addiu a1, a1, -0x2268 | a1 += -0x2268;
0x0002fdec jalr t9 | t9 ();
0x0002fdf0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fdf4 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002fdf8 lw a0, 0x48(sp) | a0 = *(var_48h);
0x0002fdfc jalr t9 | t9 ();
0x0002fe00 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fe04 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0002fe08 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0002fe0c jalr t9 | t9 ();
0x0002fe10 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fe14 b 0x2eef0 | goto label_0;
| label_62:
0x0002fe18 lw t9, -0x6d1c(gp) | t9 = sym.imp.__xstat64;
0x0002fe1c addiu a2, sp, 0x50 | a2 = sp + 0x50;
0x0002fe20 move a1, s7 | a1 = s7;
0x0002fe24 addiu a0, zero, 3 | a0 = 3;
0x0002fe28 jalr t9 | t9 ();
0x0002fe2c addiu v1, zero, -1 | v1 = -1;
0x0002fe30 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == v1) {
0x0002fe34 beq v0, v1, 0x3003c | goto label_65;
| }
| label_11:
0x0002fe38 addiu v0, zero, 1 | v0 = 1;
0x0002fe3c sw v0, 0xa0(s0) | *((s0 + 40)) = v0;
0x0002fe40 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002fe44 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.subsystem:_exec____s */
0x0002fe48 addiu v0, v0, -0x2578 | v0 += -0x2578;
0x0002fe4c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fe50 addiu v0, zero, 5 | v0 = 5;
0x0002fe54 move a3, zero | a3 = 0;
0x0002fe58 sw s6, 0x1c(sp) | *(var_1ch) = s6;
0x0002fe5c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002fe60 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fe64 addiu a2, zero, 0x7bd | a2 = 0x7bd;
0x0002fe68 b 0x2fa78 | goto label_9;
| label_38:
0x0002fe6c addiu s3, zero, 0x10 | s3 = 0x10;
0x0002fe70 b 0x2f438 | goto label_2;
| label_26:
0x0002fe74 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002fe78 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.Ignoring_env_request__s:_too_many_env_vars */
0x0002fe7c addiu v0, v0, -0x2518 | v0 += -0x2518;
0x0002fe80 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002fe84 addiu v0, zero, 6 | v0 = 6;
0x0002fe88 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x0002fe8c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002fe90 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fe94 move a3, zero | a3 = 0;
0x0002fe98 addiu a2, zero, 0x825 | a2 = 0x825;
0x0002fe9c b 0x2fde0 |
| } while (1);
| label_49:
0x0002fea0 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0002fea4 lw t9, -0x7cc8(gp) | t9 = sym.temporarily_use_uid;
0x0002fea8 move a0, v0 | a0 = v0;
0x0002feac sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0002feb0 bal 0x48f90 | sym_temporarily_use_uid ();
0x0002feb4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002feb8 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0002febc lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
| /* str._tmp_ssh_XXXXXXXXXX */
0x0002fec0 addiu a0, a0, -0x2634 | a0 += -0x2634;
0x0002fec4 jalr t9 | t9 ();
0x0002fec8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fecc move a0, v0 | a0 = v0;
0x0002fed0 move fp, v0 | fp = v0;
0x0002fed4 lw s7, -0x7fdc(gp) | s7 = *((gp - 8183));
0x0002fed8 lw t9, -0x6f80(gp) | t9 = sym.imp.mkdtemp;
0x0002fedc sw v0, -0x4384(s7) | *(s7) = v0;
0x0002fee0 jalr t9 | t9 ();
0x0002fee4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002fee8 beqz v0, 0x30148 | goto label_66;
| }
0x0002feec lw t9, -0x6c7c(gp) | t9 = sym.imp.getpid;
0x0002fef0 jalr t9 | t9 ();
0x0002fef4 nop |
0x0002fef8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fefc move a3, v0 | a3 = v0;
0x0002ff00 move a2, fp | a2 = fp;
0x0002ff04 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0002ff08 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
| /* str._s_agent._ld */
0x0002ff0c addiu a1, a1, -0x25ec | a1 += -0x25ec;
0x0002ff10 addiu a0, s6, -0x4380 | a0 = s6 + -0x4380;
0x0002ff14 jalr t9 | t9 ();
0x0002ff18 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002ff1c lw a0, -0x4380(s6) | a0 = *((s6 - 4320));
0x0002ff20 move a2, zero | a2 = 0;
0x0002ff24 lw t9, -0x78e8(gp) | t9 = sym.unix_listener;
0x0002ff28 addiu a1, zero, 0x80 | a1 = 0x80;
0x0002ff2c jalr t9 | t9 ();
0x0002ff30 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002ff34 lw t9, -0x7cc4(gp) | t9 = sym.restore_uid;
0x0002ff38 move fp, v0 | fp = v0;
0x0002ff3c bal 0x494c4 | sym_restore_uid ();
0x0002ff40 lw gp, 0x30(sp) | gp = *(var_30h);
| if (fp < 0) {
0x0002ff44 bltz fp, 0x300c0 | goto label_67;
| }
0x0002ff48 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0002ff4c lw t9, -0x7b94(gp) | t9 = sym.channel_new;
| /* str.auth_socket */
0x0002ff50 addiu v0, v0, -0x25dc | v0 += -0x25dc;
0x0002ff54 move a1, v0 | a1 = v0;
0x0002ff58 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0002ff5c addiu v0, zero, 0x4000 | v0 = 0x4000;
0x0002ff60 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002ff64 lui v0, 1 | v0 = 0x10000;
0x0002ff68 addiu v1, zero, 1 | v1 = 1;
0x0002ff6c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002ff70 addiu v0, zero, -1 | v0 = -1;
0x0002ff74 move a3, fp | a3 = fp;
0x0002ff78 addiu a2, zero, 6 | a2 = 6;
0x0002ff7c move a0, s3 | a0 = s3;
0x0002ff80 sw v1, 0x28(sp) | *(var_28h) = v1;
0x0002ff84 sw zero, 0x20(sp) | *(var_20h) = 0;
0x0002ff88 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0002ff8c sw fp, 0x10(sp) | *(var_10h) = fp;
0x0002ff90 jalr t9 | t9 ();
0x0002ff94 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002ff98 lw a0, -0x4380(s6) | a0 = *((s6 - 4320));
0x0002ff9c lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0002ffa0 move s1, v0 | s1 = v0;
0x0002ffa4 jalr t9 | t9 ();
0x0002ffa8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002ffac sw v0, 0x50(s1) | *((s1 + 20)) = v0;
0x0002ffb0 addiu s1, zero, 1 | s1 = 1;
0x0002ffb4 b 0x2eef0 | goto label_0;
| label_64:
0x0002ffb8 lw t9, -0x78e4(gp) | t9 = sym.session_setup_x11fwd;
0x0002ffbc move a1, s0 | a1 = s0;
0x0002ffc0 move a0, s3 | a0 = s3;
0x0002ffc4 bal 0x2d998 | sym_session_setup_x11fwd ();
0x0002ffc8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0002ffcc beqz v0, 0x2fd10 | goto label_10;
| }
0x0002ffd0 move s1, v0 | s1 = v0;
0x0002ffd4 b 0x2eef0 | goto label_0;
| label_45:
0x0002ffd8 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x0002ffdc lw s0, 0x14(s0) | s0 = *((s0 + 5));
0x0002ffe0 jalr t9 | t9 ();
0x0002ffe4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002ffe8 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x0002ffec lw a0, (v0) | a0 = *(v0);
0x0002fff0 jalr t9 | t9 ();
0x0002fff4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0002fff8 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0002fffc sw s3, 0x20(sp) | *(var_20h) = s3;
0x00030000 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00030004 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.killpg__ld___d_:__s */
0x00030008 addiu v0, v0, -0x23d4 | v0 += -0x23d4;
0x0003000c sw v0, 0x18(sp) | *(var_18h) = v0;
0x00030010 addiu v0, zero, 2 | v0 = 2;
0x00030014 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00030018 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0003001c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00030020 addiu a3, zero, 1 | a3 = 1;
0x00030024 addiu a2, zero, 0x877 | a2 = 0x877;
| /* str.session_signal_req */
0x00030028 addiu a1, s2, -0x22ac | a1 = s2 + -0x22ac;
0x0003002c addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x00030030 jalr t9 | t9 ();
0x00030034 lw gp, 0x30(sp) | gp = *(var_30h);
0x00030038 b 0x2f55c | goto label_3;
| label_65:
0x0003003c lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x00030040 jalr t9 | t9 ();
0x00030044 nop |
0x00030048 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003004c lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x00030050 lw a0, (v0) | a0 = *(v0);
0x00030054 jalr t9 | t9 ();
0x00030058 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003005c sw v0, 0x20(sp) | *(var_20h) = v0;
0x00030060 sw s7, 0x1c(sp) | *(var_1ch) = s7;
0x00030064 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00030068 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.subsystem:_cannot_stat__s:__s */
0x0003006c addiu v0, v0, -0x2598 | v0 += -0x2598;
0x00030070 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00030074 addiu v0, zero, 5 | v0 = 5;
0x00030078 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003007c lw v0, 0x44(sp) | v0 = *(var_44h);
0x00030080 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00030084 move a3, zero | a3 = 0;
0x00030088 addiu a2, zero, 0x7bb | a2 = 0x7bb;
0x0003008c addiu a1, v0, -0x2258 | a1 = v0 + -0x2258;
| /* str.session.c */
0x00030090 addiu a0, s5, -0x3620 | a0 = s5 + -0x3620;
0x00030094 jalr t9 | t9 ();
0x00030098 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003009c b 0x2fe38 | goto label_11;
| label_30:
0x000300a0 lw a3, -0x7f34(gp) | a3 = *(gp);
0x000300a4 lw t9, -0x7d8c(gp) | t9 = sym.sshpkt_fatal;
| /* str.session_window_change_req */
0x000300a8 addiu a3, a3, -0x2284 | a3 += -0x2284;
| do {
| label_13:
0x000300ac lw a2, -0x7f34(gp) | a2 = *(gp);
0x000300b0 move a1, v0 | a1 = v0;
| /* str._s:_parse_packet */
0x000300b4 addiu a2, a2, -0x5908 | a2 += -0x5908;
0x000300b8 move a0, s3 | a0 = s3;
0x000300bc jalr t9 | t9 ();
| label_67:
0x000300c0 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000300c4 lw a0, -0x4380(s6) | a0 = *((s6 - 4320));
0x000300c8 jalr t9 | t9 ();
0x000300cc lw v0, -0x4384(s7) | v0 = *(s7);
0x000300d0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x000300d4 beqz v0, 0x30118 |
0x000300d8 lw t9, -0x7cc8(gp) | t9 = sym.temporarily_use_uid;
0x000300dc lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x000300e0 bal 0x48f90 | sym_temporarily_use_uid ();
0x000300e4 lw gp, 0x30(sp) | gp = *(var_30h);
0x000300e8 lw t9, -0x708c(gp) | t9 = sym.imp.rmdir;
0x000300ec lw a0, -0x4384(s7) | a0 = *(s7);
0x000300f0 jalr t9 | t9 ();
0x000300f4 lw gp, 0x30(sp) | gp = *(var_30h);
0x000300f8 lw t9, -0x7cc4(gp) | t9 = sym.restore_uid;
0x000300fc bal 0x494c4 | sym_restore_uid ();
0x00030100 nop |
0x00030104 lw gp, 0x30(sp) | gp = *(var_30h);
0x00030108 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0003010c lw a0, -0x4384(s7) | a0 = *(s7);
0x00030110 jalr t9 | t9 ();
0x00030114 lw gp, 0x30(sp) | gp = *(var_30h);
| }
0x00030118 addiu v0, zero, -1 | v0 = -1;
0x0003011c lw t9, -0x7024(gp) | t9 = sym.imp.close;
| if (fp != v0) {
0x00030120 beq fp, v0, 0x30130 |
0x00030124 move a0, fp | a0 = fp;
0x00030128 jalr t9 | t9 ();
0x0003012c lw gp, 0x30(sp) | gp = *(var_30h);
| }
0x00030130 sw zero, -0x4380(s6) | *((s6 - 4320)) = 0;
0x00030134 sw zero, -0x4384(s7) | *(s7) = 0;
0x00030138 b 0x2eef0 | goto label_0;
| label_18:
0x0003013c lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x00030140 jalr t9 | t9 ();
0x00030144 nop |
| label_66:
0x00030148 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x0003014c jalr t9 | t9 ();
0x00030150 nop |
0x00030154 lw gp, 0x30(sp) | gp = *(var_30h);
0x00030158 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x0003015c lw a0, (v0) | a0 = *(v0);
0x00030160 jalr t9 | t9 ();
0x00030164 lw gp, 0x30(sp) | gp = *(var_30h);
0x00030168 move a2, v0 | a2 = v0;
0x0003016c move a0, s3 | a0 = s3;
0x00030170 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00030174 lw t9, -0x7b70(gp) | t9 = sym.ssh_packet_send_debug;
| /* str.Agent_forwarding_disabled:_mkdtemp___failed:__.100s */
0x00030178 addiu a1, a1, -0x2620 | a1 += -0x2620;
0x0003017c jalr t9 | t9 ();
0x00030180 lw gp, 0x30(sp) | gp = *(var_30h);
0x00030184 lw t9, -0x7cc4(gp) | t9 = sym.restore_uid;
0x00030188 bal 0x494c4 | sym_restore_uid ();
0x0003018c nop |
0x00030190 lw gp, 0x30(sp) | gp = *(var_30h);
0x00030194 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00030198 lw a0, -0x4384(s7) | a0 = *(s7);
0x0003019c jalr t9 | t9 ();
0x000301a0 lw gp, 0x30(sp) | gp = *(var_30h);
0x000301a4 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000301a8 lw a0, -0x4380(s6) | a0 = *((s6 - 4320));
0x000301ac jalr t9 | t9 ();
0x000301b0 lw gp, 0x30(sp) | gp = *(var_30h);
0x000301b4 sw zero, -0x4380(s6) | *((s6 - 4320)) = 0;
0x000301b8 sw zero, -0x4384(s7) | *(s7) = 0;
0x000301bc b 0x2eef0 | goto label_0;
| label_31:
0x000301c0 lw a3, -0x7f34(gp) | a3 = *(gp);
0x000301c4 lw t9, -0x7d8c(gp) | t9 = sym.sshpkt_fatal;
| /* str.session_break_req */
0x000301c8 addiu a3, a3, -0x2298 | a3 += -0x2298;
| label_12:
0x000301cc lw a2, -0x7f34(gp) | a2 = *(gp);
0x000301d0 move a1, s1 | a1 = s1;
| /* str._s:_parse_packet */
0x000301d4 addiu a2, a2, -0x5908 | a2 += -0x5908;
0x000301d8 move a0, s3 | a0 = s3;
0x000301dc jalr t9 | t9 ();
| label_32:
0x000301e0 lw a3, -0x7f34(gp) | a3 = *(gp);
0x000301e4 lw t9, -0x7d8c(gp) | t9 = sym.sshpkt_fatal;
| /* str.session_shell_req */
0x000301e8 addiu a3, a3, -0x21d4 | a3 += -0x21d4;
0x000301ec b 0x300ac |
| } while (1);
| label_52:
0x000301f0 lw a3, -0x7f34(gp) | a3 = *(gp);
0x000301f4 lw t9, -0x7d8c(gp) | t9 = sym.sshpkt_fatal;
| /* str.session_pty_req */
0x000301f8 addiu a3, a3, -0x21f8 | a3 += -0x21f8;
0x000301fc b 0x301cc | goto label_12;
| label_46:
0x00030200 lw a3, -0x7f34(gp) | a3 = *(gp);
0x00030204 lw t9, -0x7d8c(gp) | t9 = sym.sshpkt_fatal;
| /* str.session_exec_req */
0x00030208 addiu a3, a3, -0x21e8 | a3 += -0x21e8;
0x0003020c b 0x300ac | goto label_13;
| label_25:
0x00030210 lw a3, -0x7f34(gp) | a3 = *(gp);
0x00030214 lw t9, -0x7d8c(gp) | t9 = sym.sshpkt_fatal;
| /* str.session_env_req */
0x00030218 addiu a3, a3, -0x2268 | a3 += -0x2268;
0x0003021c b 0x301cc | goto label_12;
| label_56:
0x00030220 lw t9, -0x7d8c(gp) | t9 = sym.sshpkt_fatal;
| /* str.session_pty_req */
0x00030224 addiu a3, s6, -0x21f8 | a3 = s6 + -0x21f8;
0x00030228 b 0x300ac | goto label_13;
| label_59:
0x0003022c lw a3, -0x7f34(gp) | a3 = *(gp);
0x00030230 lw t9, -0x7d8c(gp) | t9 = sym.sshpkt_fatal;
| /* str.session_subsystem_req */
0x00030234 addiu a3, a3, -0x2258 | a3 += -0x2258;
0x00030238 b 0x301cc | goto label_12;
| label_51:
0x0003023c lw a1, -0x7f34(gp) | a1 = *(gp);
0x00030240 lw t9, -0x7b98(gp) | t9 = sym.ssh_packet_disconnect;
| /* str.Protocol_error:_you_already_have_a_pty. */
0x00030244 addiu a1, a1, -0x2784 | a1 += -0x2784;
0x00030248 move a0, s3 | a0 = s3;
0x0003024c jalr t9 | t9 ();
| label_63:
0x00030250 lw a3, -0x7f34(gp) | a3 = *(gp);
0x00030254 lw t9, -0x7d8c(gp) | t9 = sym.sshpkt_fatal;
| /* str.session_x11_req */
0x00030258 addiu a3, a3, -0x2208 | a3 += -0x2208;
0x0003025c b 0x301cc | goto label_12;
| label_47:
0x00030260 lw a3, -0x7f34(gp) | a3 = *(gp);
0x00030264 lw t9, -0x7d8c(gp) | t9 = sym.sshpkt_fatal;
| /* str.session_auth_agent_req */
0x00030268 addiu a3, a3, -0x2220 | a3 += -aav.0x00002220;
0x0003026c b 0x301cc | goto label_12;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x8321c */
| #include <stdint.h>
|
; (fcn) sym.tilde_expand_filename () | void tilde_expand_filename () {
0x0008321c lui gp, 8 |
0x00083220 addiu gp, gp, -0xf2c |
0x00083224 addu gp, gp, t9 | gp += t9;
0x00083228 addiu sp, sp, -0xc8 |
0x0008322c addiu v0, zero, 0x7e | v0 = 0x7e;
0x00083230 sw s2, 0xb8(sp) | *(var_b8h) = s2;
0x00083234 lw s2, -0x6fc4(gp) | s2 = *((gp - 7153));
0x00083238 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0008323c sw ra, 0xc4(sp) | *(var_c4h) = ra;
0x00083240 sw s4, 0xc0(sp) | *(var_c0h) = s4;
0x00083244 sw s3, 0xbc(sp) | *(var_bch) = s3;
0x00083248 sw s1, 0xb4(sp) | *(var_b4h) = s1;
0x0008324c sw s0, 0xb0(sp) | *(var_b0h) = s0;
0x00083250 lw a2, (s2) | a2 = *(s2);
0x00083254 lb v1, (a0) | v1 = *(a0);
0x00083258 sw a2, 0xac(sp) | *(var_ach) = a2;
0x0008325c lw t9, -0x6d4c(gp) | t9 = sym.imp.strchr;
| if (v1 != v0) {
0x00083260 bne v1, v0, 0x833ac | goto label_5;
| }
0x00083264 addiu s0, a0, 1 | s0 = a0 + 1;
0x00083268 move s3, a1 | s3 = a1;
0x0008326c move a0, s0 | a0 = s0;
0x00083270 addiu a1, zero, 0x2f | a1 = 0x2f;
0x00083274 jalr t9 | t9 ();
0x00083278 move s1, v0 | s1 = v0;
0x0008327c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00083280 beqz v0, 0x83318 |
0x00083284 sltu v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00083288 lw t9, -0x6f88(gp) | t9 = sym.imp.getpwuid;
| if (v0 != 0) {
0x0008328c beqz v0, 0x8331c |
0x00083290 lw t9, -0x7dd8(gp) | t9 = *(gp);
0x00083294 move a1, s0 | a1 = s0;
0x00083298 move a0, s1 | a0 = s1;
0x0008329c jalr t9 | t9 ();
0x000832a0 move s3, v0 | s3 = v0;
0x000832a4 sltiu v0, v0, 0x80 | v0 = (v0 < 0x80) ? 1 : 0;
0x000832a8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000832ac beqz v0, 0x83484 | goto label_6;
| }
0x000832b0 lw t9, -0x6dec(gp) | t9 = sym.imp.__memcpy_chk;
0x000832b4 addiu s4, sp, 0x2c | s4 = sp + 0x2c;
0x000832b8 move a2, s3 | a2 = s3;
0x000832bc addiu a3, zero, 0x80 | a3 = 0x80;
0x000832c0 move a1, s0 | a1 = s0;
0x000832c4 move a0, s4 | a0 = s4;
0x000832c8 jalr t9 | t9 ();
0x000832cc lw gp, 0x20(sp) | gp = *(var_20h);
0x000832d0 addiu v0, sp, 0xb0 | v0 = sp + 0xb0;
0x000832d4 addu s3, v0, s3 | s3 = v0 + s3;
0x000832d8 lw t9, -0x71fc(gp) | t9 = sym.imp.getpwnam;
0x000832dc move a0, s4 | a0 = s4;
0x000832e0 sb zero, -0x84(s3) | *(var_84h) = 0;
0x000832e4 jalr t9 | t9 ();
0x000832e8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000832ec beqz v0, 0x834ac | goto label_7;
| }
0x000832f0 lw s3, 0x14(v0) | s3 = *(var_c4h);
0x000832f4 lw t9, -0x6f68(gp) | t9 = sym.imp.strlen;
0x000832f8 move a0, s3 | a0 = s3;
0x000832fc jalr t9 | t9 ();
0x00083300 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00083304 bnez v0, 0x833e0 | goto label_8;
| }
0x00083308 lw a3, -0x7e48(gp) | a3 = *(gp);
| label_2:
0x0008330c addiu a3, a3, -0x7958 | a3 += -0x7958;
0x00083310 addiu s0, s1, 1 | s0 = s1 + 1;
0x00083314 b 0x83354 |
| } else {
0x00083318 lw t9, -0x6f88(gp) | t9 = sym.imp.getpwuid;
| }
0x0008331c move a0, s3 | a0 = s3;
0x00083320 jalr t9 | t9 ();
0x00083324 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00083328 beqz v0, 0x83448 | goto label_9;
| }
0x0008332c lw s3, 0x14(v0) | s3 = *((v0 + 5));
0x00083330 lw t9, -0x6f68(gp) | t9 = sym.imp.strlen;
0x00083334 move a0, s3 | a0 = s3;
0x00083338 jalr t9 | t9 ();
0x0008333c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00083340 bnez v0, 0x833c0 | goto label_10;
| }
0x00083344 lw a3, -0x7e48(gp) | a3 = *(gp);
| label_0:
0x00083348 addiu a3, a3, -0x7958 | a3 += -0x7958;
| label_1:
0x0008334c addiu s0, s1, 1 | s0 = s1 + 1;
| if (s1 == 0) {
0x00083350 bnel s1, zero, 0x83354 | goto label_3;
| }
| }
| label_3:
0x00083354 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00083358 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x0008335c sw s0, 0x10(sp) | *(var_10h) = s0;
0x00083360 move a2, s3 | a2 = s3;
| /* esilref: '&s&s&s' */
0x00083364 addiu a1, a1, -0x7ec | a1 += -0x7ec;
0x00083368 addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x0008336c bal 0x7e16c | sym_xasprintf ()
0x00083370 slti v0, v0, 0x1000 | v0 = (v0 < 0x1000) ? 1 : 0;
0x00083374 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00083378 beqz v0, 0x83410 | goto label_11;
| }
0x0008337c lw v0, 0x28(sp) | v0 = *(var_28h);
| do {
0x00083380 lw a0, 0xac(sp) | a0 = *(var_ach);
0x00083384 lw v1, (s2) | v1 = *(s2);
0x00083388 lw ra, 0xc4(sp) | ra = *(var_c4h);
| if (a0 != v1) {
0x0008338c bne a0, v1, 0x83404 | goto label_12;
| }
0x00083390 lw s4, 0xc0(sp) | s4 = *(var_c0h);
0x00083394 lw s3, 0xbc(sp) | s3 = *(var_bch);
0x00083398 lw s2, 0xb8(sp) | s2 = *(var_b8h);
0x0008339c lw s1, 0xb4(sp) | s1 = *(var_b4h);
0x000833a0 lw s0, 0xb0(sp) | s0 = *(var_b0h);
0x000833a4 addiu sp, sp, 0xc8 |
0x000833a8 jr ra | return v0;
| label_5:
0x000833ac lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x000833b0 bal 0x7e064 | sym_xstrdup ();
0x000833b4 nop |
0x000833b8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000833bc b 0x83380 |
| } while (1);
| label_10:
0x000833c0 addu v0, s3, v0 | v0 = s3 + v0;
0x000833c4 addiu v1, zero, 0x2f | v1 = 0x2f;
0x000833c8 lb v0, -1(v0) | v0 = *((v0 - 1));
0x000833cc lw a3, -0x7e48(gp) | a3 = *(gp);
| if (v0 == v1) {
0x000833d0 bnel v0, v1, 0x83348 | goto label_0;
| }
0x000833d4 lw a3, -0x7f34(gp) | a3 = *(gp);
0x000833d8 addiu a3, a3, -0x6990 | a3 += -0x6990;
0x000833dc b 0x8334c | goto label_1;
| label_8:
0x000833e0 addu v0, s3, v0 | v0 = s3 + v0;
0x000833e4 addiu v1, zero, 0x2f | v1 = 0x2f;
0x000833e8 lb v0, -1(v0) | v0 = *(var_1h);
0x000833ec lw a3, -0x7e48(gp) | a3 = *(gp);
| if (v0 == v1) {
0x000833f0 bnel v0, v1, 0x8330c | goto label_2;
| }
0x000833f4 lw a3, -0x7f34(gp) | a3 = *(gp);
0x000833f8 addiu s0, s1, 1 | s0 = s1 + 1;
0x000833fc addiu a3, a3, -0x6990 | a3 += -0x6990;
0x00083400 b 0x83354 | goto label_3;
| label_12:
0x00083404 lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x00083408 jalr t9 | t9 ();
0x0008340c nop |
| label_11:
0x00083410 lw v0, -0x7e48(gp) | v0 = *(gp);
0x00083414 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.tilde_expand_filename:_Path_too_long */
0x00083418 addiu v0, v0, -0x7154 | v0 += -0x7154;
0x0008341c sw v0, 0x18(sp) | *(var_18h) = v0;
0x00083420 addiu v0, zero, 1 | v0 = 1;
0x00083424 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00083428 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0008342c move a3, zero | a3 = 0;
0x00083430 addiu a2, zero, 0x474 | a2 = aav.0x00000474;
| do {
0x00083434 lw a1, -0x7e48(gp) | a1 = *(gp);
0x00083438 lw a0, -0x7e48(gp) | a0 = *(gp);
| /* str.tilde_expand_filename */
0x0008343c addiu a1, a1, -0x699c | a1 += -0x699c;
| /* str.misc.c */
0x00083440 addiu a0, a0, -0x7634 | a0 += -0x7634;
0x00083444 bal 0x6da50 | sym_sshfatal ();
| label_9:
0x00083448 lw v0, -0x7e48(gp) | v0 = *(gp);
0x0008344c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.tilde_expand_filename:_No_such_uid__ld */
0x00083450 addiu v0, v0, -0x717c | v0 += -0x717c;
0x00083454 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00083458 addiu v0, zero, 1 | v0 = 1;
0x0008345c sw s3, 0x1c(sp) | *(var_1ch) = s3;
0x00083460 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00083464 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00083468 move a3, zero | a3 = 0;
0x0008346c addiu a2, zero, 0x466 | a2 = 0x466;
| label_4:
0x00083470 lw a1, -0x7e48(gp) | a1 = *(gp);
0x00083474 lw a0, -0x7e48(gp) | a0 = *(gp);
| /* str.tilde_expand_filename */
0x00083478 addiu a1, a1, -0x699c | a1 += -0x699c;
| /* str.misc.c */
0x0008347c addiu a0, a0, -0x7634 | a0 += -0x7634;
0x00083480 bal 0x6da50 | sym_sshfatal ();
| label_6:
0x00083484 lw v0, -0x7e48(gp) | v0 = *(gp);
0x00083488 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.tilde_expand_filename:_username_too_long */
0x0008348c addiu v0, v0, -0x71d0 | v0 += -0x71d0;
0x00083490 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00083494 addiu v0, zero, 1 | v0 = 1;
0x00083498 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0008349c sw v0, 0x10(sp) | *(var_10h) = v0;
0x000834a0 move a3, zero | a3 = 0;
0x000834a4 addiu a2, zero, 0x460 | a2 = aav.0x00000460;
0x000834a8 b 0x83434 |
| } while (1);
| label_7:
0x000834ac lw v0, -0x7e48(gp) | v0 = *(gp);
0x000834b0 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.tilde_expand_filename:_No_such_user__s */
0x000834b4 addiu v0, v0, -0x71a4 | v0 += -0x71a4;
0x000834b8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000834bc addiu v0, zero, 1 | v0 = 1;
0x000834c0 sw s4, 0x1c(sp) | *(var_1ch) = s4;
0x000834c4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000834c8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000834cc move a3, zero | a3 = 0;
0x000834d0 addiu a2, zero, 0x464 | a2 = aav.0x00000464;
0x000834d4 b 0x83470 | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x335c0 */
| #include <stdint.h>
|
; (fcn) sym.user_key_allowed () | void user_key_allowed () {
| label_30:
0x000335c0 lui gp, 0xd |
0x000335c4 addiu gp, gp, -0x12d0 |
0x000335c8 addu gp, gp, t9 | gp += t9;
0x000335cc addiu sp, sp, -0x160 |
0x000335d0 lw v0, -0x6fc4(gp) | v0 = *((gp - 7153));
0x000335d4 sw s7, 0x154(sp) | *(var_154h) = s7;
0x000335d8 sw s1, 0x13c(sp) | *(var_13ch) = s1;
0x000335dc sw gp, 0x60(sp) | *(var_60h) = gp;
0x000335e0 sw ra, 0x15c(sp) | *(var_15ch) = ra;
0x000335e4 sw fp, 0x158(sp) | *(var_158h) = fp;
0x000335e8 sw s6, 0x150(sp) | *(var_150h) = s6;
0x000335ec sw s5, 0x14c(sp) | *(var_14ch) = s5;
0x000335f0 sw s4, 0x148(sp) | *(var_148h) = s4;
0x000335f4 sw s3, 0x144(sp) | *(var_144h) = s3;
0x000335f8 sw s2, 0x140(sp) | *(var_140h) = s2;
0x000335fc sw s0, 0x138(sp) | *(var_138h) = s0;
0x00033600 sw v0, 0x74(sp) | *(var_74h) = v0;
0x00033604 lw v1, 0x170(sp) | v1 = *(arg_170h);
0x00033608 lw v0, (v0) | v0 = *(v0);
0x0003360c sw v1, 0x7c(sp) | *(var_7ch) = v1;
0x00033610 sw a0, 0x70(sp) | *(var_70h) = a0;
0x00033614 move s1, a1 | s1 = a1;
0x00033618 move s7, a2 | s7 = a2;
0x0003361c sw v0, 0x134(sp) | *(var_134h) = v0;
0x00033620 sw zero, 0xd8(sp) | *(var_d8h) = 0;
| if (v1 != 0) {
0x00033624 beqz v1, 0x3362c |
0x00033628 sw zero, (v1) | *(v1) = 0;
| }
0x0003362c lw t9, -0x78d8(gp) | t9 = sym.auth_key_is_revoked;
0x00033630 move a0, s7 | a0 = s7;
0x00033634 bal 0x22160 | sym_auth_key_is_revoked ();
0x00033638 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x0003363c beqz v0, 0x33688 | goto label_39;
| }
0x00033640 move s3, zero | s3 = 0;
| do {
| label_4:
0x00033644 lw v0, 0x74(sp) | v0 = *(var_74h);
0x00033648 lw a0, 0x134(sp) | a0 = *(var_134h);
0x0003364c lw v1, (v0) | v1 = *(v0);
0x00033650 move v0, s3 | v0 = s3;
| if (a0 != v1) {
0x00033654 bne a0, v1, 0x34bec | goto label_40;
| }
0x00033658 lw ra, 0x15c(sp) | ra = *(var_15ch);
0x0003365c lw fp, 0x158(sp) | fp = *(var_158h);
0x00033660 lw s7, 0x154(sp) | s7 = *(var_154h);
0x00033664 lw s6, 0x150(sp) | s6 = *(var_150h);
0x00033668 lw s5, 0x14c(sp) | s5 = *(var_14ch);
0x0003366c lw s4, 0x148(sp) | s4 = *(var_148h);
0x00033670 lw s3, 0x144(sp) | s3 = *(var_144h);
0x00033674 lw s2, 0x140(sp) | s2 = *(var_140h);
0x00033678 lw s1, 0x13c(sp) | s1 = *(var_13ch);
0x0003367c lw s0, 0x138(sp) | s0 = *(var_138h);
0x00033680 addiu sp, sp, 0x160 |
0x00033684 jr ra | return v0;
| label_39:
0x00033688 lw t9, -0x7fcc(gp) | t9 = sym.sshkey_is_cert;
0x0003368c move a0, s7 | a0 = s7;
0x00033690 bal 0x4dfdc | sym_sshkey_is_cert ();
0x00033694 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x00033698 bnez v0, 0x33ebc | goto label_41;
| }
| label_3:
0x0003369c lw v0, -0x7f34(gp) | v0 = *(gp);
0x000336a0 lw s6, -0x7fd8(gp) | s6 = *(gp);
| /* str.trying_public_key_file__s */
0x000336a4 addiu v0, v0, -0x16f8 | v0 += -0x16f8;
0x000336a8 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x000336ac lw v0, -0x79a0(gp) | v0 = *(gp);
0x000336b0 lw s2, 0x1174(s6) | s2 = *((s6 + 1117));
| /* fcn.0003286c */
0x000336b4 addiu v0, v0, 0x286c | v0 += 0x286c;
0x000336b8 move s0, zero | s0 = 0;
0x000336bc lw s5, -0x7f34(gp) | s5 = *(gp);
0x000336c0 sw v0, 0x78(sp) | *(var_78h) = v0;
0x000336c4 sltu v0, s0, s2 | v0 = (s0 < s2) ? 1 : 0;
0x000336c8 lw s4, -0x7fb4(gp) | s4 = *(gp);
| /* str.user_key_allowed2 */
0x000336cc addiu s5, s5, -0x1064 | s5 += -aav.0x00001064;
0x000336d0 lw fp, -0x7f34(gp) | fp = *(gp);
0x000336d4 move s3, s7 | s3 = s7;
| if (v0 == 0) {
0x000336d8 beqz v0, 0x3385c | goto label_42;
| }
0x000336dc lw v0, 0x1178(s6) | v0 = *((s6 + 1118));
| label_0:
0x000336e0 sll v1, s0, 2 | v1 = s0 << 2;
0x000336e4 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
0x000336e8 lwx s7, v1(v0) | __asm ("lwx s7, v1(v0)");
| /* str.none */
0x000336ec addiu a1, s4, 0x6aac | a1 = s4 + 0x6aac;
0x000336f0 move a0, s7 | a0 = s7;
0x000336f4 jalr t9 | t9 ();
0x000336f8 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x000336fc beqz v0, 0x3384c | goto label_43;
| }
0x00033700 lw t9, -0x7aa4(gp) | t9 = sym.expand_authorized_keys;
0x00033704 move a1, s1 | a1 = s1;
0x00033708 move a0, s7 | a0 = s7;
0x0003370c bal 0x21f88 | sym_expand_authorized_keys ();
0x00033710 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033714 move a0, s1 | a0 = s1;
0x00033718 sw zero, 0xd8(sp) | *(var_d8h) = 0;
0x0003371c lw t9, -0x7cc8(gp) | t9 = sym.temporarily_use_uid;
0x00033720 move s2, v0 | s2 = v0;
0x00033724 bal 0x48f90 | sym_temporarily_use_uid ();
0x00033728 lw gp, 0x60(sp) | gp = *(var_60h);
0x0003372c lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x00033730 move a3, zero | a3 = 0;
0x00033734 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00033738 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0003373c addiu v0, zero, 5 | v0 = 5;
0x00033740 addiu a2, zero, 0x360 | a2 = aav.0x00000360;
0x00033744 move a1, s5 | a1 = s5;
| /* str.auth2_pubkey.c */
0x00033748 addiu a0, fp, -0x1898 | a0 = fp + -0x1898;
0x0003374c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00033750 sw s2, 0x1c(sp) | *(var_1ch_3) = s2;
0x00033754 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00033758 jalr t9 | t9 ();
0x0003375c lw gp, 0x60(sp) | gp = *(var_60h);
0x00033760 lw a2, 0x470(s6) | a2 = *(s6);
0x00033764 move a1, s1 | a1 = s1;
0x00033768 lw t9, -0x787c(gp) | t9 = sym.auth_openkeyfile;
0x0003376c move a0, s2 | a0 = s2;
0x00033770 bal 0x22a20 | sym_auth_openkeyfile ();
0x00033774 move s7, v0 | s7 = v0;
0x00033778 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x0003377c beqz v0, 0x33814 | goto label_44;
| }
0x00033780 move a2, v0 | a2 = v0;
0x00033784 lw a0, 0x70(sp) | a0 = *(var_70h);
0x00033788 addiu v0, sp, 0xd8 | v0 = sp + 0xd8;
0x0003378c lw t9, 0x78(sp) | t9 = *(var_78h);
0x00033790 move a3, s2 | a3 = s2;
0x00033794 move a1, s1 | a1 = s1;
0x00033798 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0003379c sw s3, 0x10(sp) | *(var_10h) = s3;
0x000337a0 jalr t9 | t9 ();
0x000337a4 lw gp, 0x60(sp) | gp = *(var_60h);
0x000337a8 move a0, s7 | a0 = s7;
0x000337ac lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
0x000337b0 move s7, v0 | s7 = v0;
0x000337b4 jalr t9 | t9 ();
0x000337b8 lw gp, 0x60(sp) | gp = *(var_60h);
0x000337bc lw t9, -0x7cc4(gp) | t9 = sym.restore_uid;
0x000337c0 bal 0x494c4 | sym_restore_uid ();
0x000337c4 nop |
0x000337c8 lw gp, 0x60(sp) | gp = *(var_60h);
0x000337cc lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000337d0 move a0, s2 | a0 = s2;
0x000337d4 jalr t9 | t9 ();
0x000337d8 lw gp, 0x60(sp) | gp = *(var_60h);
| if (s7 == 0) {
0x000337dc beqz s7, 0x33834 | goto label_45;
| }
0x000337e0 move s3, s7 | s3 = s7;
| label_1:
0x000337e4 lw v0, 0x7c(sp) | v0 = *(var_7ch);
0x000337e8 lw a0, 0xd8(sp) | a0 = *(var_d8h);
| if (v0 != 0) {
0x000337ec beqz v0, 0x33800 |
0x000337f0 lw v0, 0x7c(sp) | v0 = *(var_7ch);
0x000337f4 sw zero, 0xd8(sp) | *(var_d8h) = 0;
0x000337f8 sw a0, (v0) | *(v0) = a0;
0x000337fc move a0, zero | a0 = 0;
| }
| label_2:
0x00033800 lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00033804 bal 0x27e84 | sym_sshauthopt_free ();
0x00033808 nop |
0x0003380c lw gp, 0x60(sp) | gp = *(var_60h);
0x00033810 b 0x33644 |
| } while (1);
| label_44:
0x00033814 lw t9, -0x7cc4(gp) | t9 = sym.restore_uid;
0x00033818 bal 0x494c4 | sym_restore_uid ();
0x0003381c nop |
0x00033820 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033824 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00033828 move a0, s2 | a0 = s2;
0x0003382c jalr t9 | t9 ();
0x00033830 lw gp, 0x60(sp) | gp = *(var_60h);
| label_45:
0x00033834 lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00033838 lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x0003383c bal 0x27e84 | sym_sshauthopt_free ();
0x00033840 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033844 lw s2, 0x1174(s6) | s2 = *((s6 + 1117));
0x00033848 sw zero, 0xd8(sp) | *(var_d8h) = 0;
| label_43:
0x0003384c addiu s0, s0, 1 | s0++;
0x00033850 sltu v0, s0, s2 | v0 = (s0 < s2) ? 1 : 0;
0x00033854 lw v0, 0x1178(s6) | v0 = *((s6 + 1118));
| if (v0 == 0) {
0x00033858 bnel v0, zero, 0x336e0 | goto label_0;
| }
| label_42:
0x0003385c lw t9, -0x7fcc(gp) | t9 = sym.sshkey_is_cert;
0x00033860 move a0, s3 | a0 = s3;
0x00033864 sw zero, 0xdc(sp) | *(var_dch) = 0;
0x00033868 sw zero, 0xd8(sp) | *(var_d8h) = 0;
0x0003386c bal 0x4dfdc | sym_sshkey_is_cert ();
0x00033870 move s7, s3 | s7 = s3;
0x00033874 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x00033878 beqz v0, 0x33a8c |
0x0003387c lw v0, 0x11a0(s6) | v0 = *((s6 + 1128));
0x00033880 lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
| if (v0 == 0) {
0x00033884 beqz v0, 0x33a8c | goto label_46;
| }
0x00033888 lw v0, 0x44(s7) | v0 = *((s7 + 17));
0x0003388c lw a1, 0x11d0(s6) | a1 = *((s6 + 1140));
0x00033890 lw a0, 0x38(v0) | a0 = *((v0 + 14));
0x00033894 move a2, zero | a2 = 0;
0x00033898 bal 0x4f188 | sym_sshkey_fingerprint ();
0x0003389c move s5, v0 | s5 = v0;
0x000338a0 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x000338a4 beqz v0, 0x33a8c | goto label_46;
| }
0x000338a8 lw v0, 0x44(s7) | v0 = *((s7 + 17));
0x000338ac lw t9, -0x7878(gp) | t9 = *(gp);
0x000338b0 lw a1, 0x11a0(s6) | a1 = *((s6 + 1128));
0x000338b4 lw a0, 0x38(v0) | a0 = *((v0 + 14));
0x000338b8 move a3, zero | a3 = 0;
0x000338bc addiu a2, zero, 1 | a2 = 1;
0x000338c0 jalr t9 | t9 ();
0x000338c4 move s0, v0 | s0 = v0;
0x000338c8 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x000338cc bnez v0, 0x33edc | goto label_47;
| }
0x000338d0 lw t9, -0x7874(gp) | t9 = sym.authorized_principals_file;
0x000338d4 move a0, s1 | a0 = s1;
0x000338d8 bal 0x22130 | sym_authorized_principals_file ();
0x000338dc sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x000338e0 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x000338e4 beqz v0, 0x33fa8 | goto label_48;
| }
0x000338e8 lw t9, -0x7cc8(gp) | t9 = sym.temporarily_use_uid;
0x000338ec move a0, s1 | a0 = s1;
0x000338f0 sw zero, 0xdc(sp) | *(var_dch) = 0;
0x000338f4 lw s2, 0x44(s7) | s2 = *((s7 + 17));
0x000338f8 bal 0x48f90 | sym_temporarily_use_uid ();
0x000338fc lw gp, 0x60(sp) | gp = *(var_60h);
0x00033900 lw s3, 0x6c(sp) | s3 = *(var_6ch);
0x00033904 move a3, zero | a3 = 0;
0x00033908 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0003390c lw s4, -0x7f34(gp) | s4 = *(gp);
0x00033910 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.trying_authorized_principals_file__s */
0x00033914 addiu v0, v0, -0x16bc | v0 += -0x16bc;
0x00033918 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0003391c sw v0, 0x18(sp) | *(var_18h) = v0;
0x00033920 addiu v0, zero, 5 | v0 = 5;
0x00033924 addiu a2, zero, 0x1a5 | a2 = 0x1a5;
| /* str.match_principals_file */
0x00033928 addiu a1, a1, -0x10c0 | a1 += -aav.0x000010c0;
| /* str.auth2_pubkey.c */
0x0003392c addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x00033930 sw s3, 0x1c(sp) | *(var_1ch_3) = s3;
0x00033934 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00033938 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0003393c jalr t9 | t9 ();
0x00033940 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033944 lw a2, 0x470(s6) | a2 = *(s6);
0x00033948 move a0, s3 | a0 = s3;
0x0003394c lw t9, -0x7870(gp) | t9 = sym.auth_openprincipals;
0x00033950 move a1, s1 | a1 = s1;
0x00033954 bal 0x22a60 | sym_auth_openprincipals ();
0x00033958 move s3, v0 | s3 = v0;
0x0003395c lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00033960 beqz v0, 0x34770 | goto label_49;
| }
0x00033964 lw t9, -0x79a0(gp) | t9 = *(gp);
0x00033968 lw a1, 0x6c(sp) | a1 = *(var_6ch);
0x0003396c move a2, s2 | a2 = s2;
0x00033970 addiu a3, sp, 0xdc | a3 = sp + 0xdc;
| /* fcn.000331e8 */
0x00033974 addiu t9, t9, 0x31e8 | t9 += 0x31e8;
0x00033978 move a0, v0 | a0 = v0;
0x0003397c bal 0x331e8 | fcn_000331e8 ();
0x00033980 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033984 move a0, s3 | a0 = s3;
0x00033988 lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
0x0003398c move s2, v0 | s2 = v0;
0x00033990 jalr t9 | t9 ();
0x00033994 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033998 lw t9, -0x7cc4(gp) | t9 = sym.restore_uid;
0x0003399c bal 0x494c4 | sym_restore_uid ();
0x000339a0 nop |
0x000339a4 lw gp, 0x60(sp) | gp = *(var_60h);
| if (s2 == 0) {
0x000339a8 beqz s2, 0x33fac | goto label_15;
| }
0x000339ac lw v0, 0xdc(sp) | v0 = *(var_dch);
| label_8:
0x000339b0 move v0, zero | v0 = 0;
| if (v0 == 0) {
0x000339b4 beqz v0, 0x34c68 | goto label_50;
| }
| label_7:
0x000339b8 lw t9, -0x78cc(gp) | t9 = sym.sshkey_cert_check_authority;
0x000339bc addiu s2, sp, 0xf0 | s2 = sp + 0xf0;
0x000339c0 sw s2, 0x14(sp) | *(var_14h) = s2;
0x000339c4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000339c8 move a3, zero | a3 = 0;
0x000339cc addiu a2, zero, 1 | a2 = 1;
0x000339d0 move a1, zero | a1 = 0;
0x000339d4 move a0, s7 | a0 = s7;
0x000339d8 bal 0x519cc | sym_sshkey_cert_check_authority ();
0x000339dc lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x000339e0 beqz v0, 0x34540 | goto label_51;
| }
0x000339e4 lw v0, 0xf0(sp) | v0 = *(var_f0h);
0x000339e8 move s0, zero | s0 = 0;
| label_9:
0x000339ec lw s2, -0x7f34(gp) | s2 = *(gp);
0x000339f0 lw a1, -0x7f34(gp) | a1 = *(gp);
0x000339f4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* esilref: '&s' */
0x000339f8 addiu s2, s2, -0x7908 | s2 += -0x7908;
0x000339fc sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x00033a00 addiu v0, zero, 2 | v0 = 2;
0x00033a04 move a3, zero | a3 = 0;
0x00033a08 addiu a2, zero, 0x335 | a2 = 0x335;
| /* str.user_cert_trusted_ca */
0x00033a0c addiu a1, a1, -0x10a8 | a1 += -0x10a8;
| /* str.auth2_pubkey.c */
0x00033a10 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x00033a14 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00033a18 sw s2, 0x18(sp) | *(var_18h) = s2;
0x00033a1c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00033a20 jalr t9 | t9 ();
0x00033a24 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033a28 lw a1, 0xf0(sp) | a1 = *(var_f0h);
0x00033a2c lw t9, -0x7cd0(gp) | t9 = sym.auth_debug_add;
0x00033a30 move a0, s2 | a0 = s2;
0x00033a34 bal 0x22358 | sym_auth_debug_add ();
0x00033a38 lw gp, 0x60(sp) | gp = *(var_60h);
| label_5:
0x00033a3c lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00033a40 lw a0, 0xdc(sp) | a0 = *(var_dch);
0x00033a44 bal 0x27e84 | sym_sshauthopt_free ();
0x00033a48 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033a4c lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00033a50 move a0, s0 | a0 = s0;
0x00033a54 bal 0x27e84 | sym_sshauthopt_free ();
0x00033a58 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033a5c lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00033a60 move a0, zero | a0 = 0;
0x00033a64 bal 0x27e84 | sym_sshauthopt_free ();
0x00033a68 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033a6c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00033a70 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x00033a74 jalr t9 | t9 ();
0x00033a78 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033a7c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00033a80 move a0, s5 | a0 = s5;
0x00033a84 jalr t9 | t9 ();
0x00033a88 lw gp, 0x60(sp) | gp = *(var_60h);
| }
| label_46:
0x00033a8c lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00033a90 lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x00033a94 bal 0x27e84 | sym_sshauthopt_free ();
0x00033a98 lw v0, 0x11a4(s6) | v0 = *(s6);
0x00033a9c lw gp, 0x60(sp) | gp = *(var_60h);
0x00033aa0 sw zero, 0xd8(sp) | *(var_d8h) = 0;
0x00033aa4 sw zero, 0xe0(sp) | *(var_e0h) = 0;
0x00033aa8 sw zero, 0xe4(sp) | *(var_e4h) = 0;
0x00033aac sw zero, 0xe8(sp) | *(var_e8h) = 0;
0x00033ab0 sw zero, 0xec(sp) | *(var_ech) = 0;
0x00033ab4 sw zero, 0xf0(sp) | *(var_f0h) = 0;
| if (v0 == 0) {
0x00033ab8 beqz v0, 0x34524 | goto label_52;
| }
0x00033abc lw v0, 0x11a8(s6) | v0 = *((s6 + 1130));
0x00033ac0 lw t9, -0x7fac(gp) | t9 = sym.ssh_signal;
| if (v0 == 0) {
0x00033ac4 beqz v0, 0x34600 | goto label_53;
| }
0x00033ac8 move a1, zero | a1 = 0;
0x00033acc lw fp, -0x7f34(gp) | fp = *(gp);
0x00033ad0 addiu a0, zero, 0x12 | a0 = 0x12;
0x00033ad4 jalr t9 | t9 ();
0x00033ad8 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033adc lw a2, (s1) | a2 = *(s1);
0x00033ae0 lw a0, 0x11a8(s6) | a0 = *((s6 + 1130));
0x00033ae4 lw t9, -0x7aa8(gp) | t9 = sym.percent_expand;
0x00033ae8 move a3, zero | a3 = 0;
0x00033aec addiu a1, fp, 0x3ce0 | a1 = fp + 0x3ce0;
0x00033af0 sw v0, 0x98(sp) | *(var_98h_2) = v0;
0x00033af4 jalr t9 | t9 ();
0x00033af8 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033afc sw v0, 0x94(sp) | *(var_94h_2) = v0;
0x00033b00 lw t9, -0x71fc(gp) | t9 = sym.imp.getpwnam;
0x00033b04 move a0, v0 | a0 = v0;
0x00033b08 jalr t9 | t9 ();
0x00033b0c sw v0, 0x9c(sp) | *(var_9ch_2) = v0;
0x00033b10 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00033b14 beqz v0, 0x34644 | goto label_54;
| }
0x00033b18 lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
0x00033b1c lw a1, 0x11d0(s6) | a1 = *((s6 + 1140));
0x00033b20 move a2, zero | a2 = 0;
0x00033b24 move a0, s7 | a0 = s7;
0x00033b28 bal 0x4f188 | sym_sshkey_fingerprint ();
0x00033b2c sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x00033b30 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00033b34 beqz v0, 0x33f5c | goto label_55;
| }
0x00033b38 lw t9, -0x786c(gp) | t9 = sym.sshkey_to_base64;
0x00033b3c addiu a1, sp, 0xe8 | a1 = sp + 0xe8;
0x00033b40 move a0, s7 | a0 = s7;
0x00033b44 bal 0x4fa6c | sym_sshkey_to_base64 ();
0x00033b48 move s0, v0 | s0 = v0;
0x00033b4c lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x00033b50 bnez v0, 0x345c8 | goto label_56;
| }
0x00033b54 lw t9, -0x7868(gp) | t9 = sym.argv_split;
0x00033b58 lw a0, 0x11a4(s6) | a0 = *(s6);
0x00033b5c addiu a2, sp, 0xf0 | a2 = sp + 0xf0;
0x00033b60 addiu a1, sp, 0xe4 | a1 = sp + 0xe4;
0x00033b64 jalr t9 | t9 ();
0x00033b68 move s3, v0 | s3 = v0;
0x00033b6c lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x00033b70 bnez v0, 0x34740 | goto label_57;
| }
0x00033b74 lw s0, 0xe4(sp) | s0 = *(var_e4h);
0x00033b78 lw t9, -0x7180(gp) | t9 = sym.imp.__snprintf_chk;
| if (s0 == 0) {
0x00033b7c beqz s0, 0x346d0 | goto label_58;
| }
0x00033b80 lw v0, 8(s1) | v0 = *((s1 + 2));
0x00033b84 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00033b88 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00033b8c addiu s2, sp, 0x114 | s2 = sp + aav.0x00000114;
| /* str._llu */
0x00033b90 addiu v0, v0, -0x4d48 | v0 += -0x4d48;
0x00033b94 move a0, s2 | a0 = s2;
0x00033b98 sw zero, 0x1c(sp) | *(var_1ch_3) = 0;
0x00033b9c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00033ba0 addiu a3, zero, 0x20 | a3 = 0x20;
0x00033ba4 addiu a2, zero, 1 | a2 = 1;
0x00033ba8 addiu a1, zero, 0x20 | a1 = 0x20;
0x00033bac jalr t9 | t9 ();
0x00033bb0 lw a0, 0xe4(sp) | a0 = *(var_e4h);
0x00033bb4 slti v0, a0, 2 | v0 = (a0 < 2) ? 1 : 0;
0x00033bb8 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x00033bbc bnez v0, 0x33ce4 | goto label_59;
| }
0x00033bc0 lw a3, -0x7f34(gp) | a3 = *(gp);
0x00033bc4 lw a2, -0x7f34(gp) | a2 = *(gp);
0x00033bc8 addiu v1, a3, -0x2494 | v1 = a3 + -0x2494;
0x00033bcc lw a1, -0x7f34(gp) | a1 = *(gp);
0x00033bd0 lw a0, -0x7f34(gp) | a0 = *(gp);
0x00033bd4 sw v1, 0x88(sp) | *(var_88h_2) = v1;
0x00033bd8 addiu v1, a2, 0x75f4 | v1 = a2 + 0x75f4;
0x00033bdc lw v0, -0x7f34(gp) | v0 = *(gp);
0x00033be0 sw v1, 0x78(sp) | *(var_78h) = v1;
0x00033be4 addiu v1, a1, 0x1708 | v1 = a1 + 0x1708;
0x00033be8 sw v1, 0x80(sp) | *(var_80h_2) = v1;
0x00033bec addiu v1, a0, -0x6a3c | v1 = a0 + -0x6a3c;
0x00033bf0 addiu s5, zero, 1 | s5 = 1;
0x00033bf4 sw v1, 0x84(sp) | *(var_84h_2) = v1;
0x00033bf8 addiu v0, v0, -0x4d40 | v0 += -0x4d40;
0x00033bfc addiu v1, fp, 0x3ce0 | v1 = fp + 0x3ce0;
0x00033c00 sw v1, 0x8c(sp) | *(var_8ch_2) = v1;
0x00033c04 sw v0, 0x90(sp) | *(var_90h_2) = v0;
0x00033c08 move s0, s5 | s0 = s5;
0x00033c0c sw s3, 0xa0(sp) | *(var_a0h_2) = s3;
0x00033c10 move fp, s2 | fp = s2;
| do {
0x00033c14 lw t1, 0xf0(sp) | t1 = *(var_f0h);
0x00033c18 lw t9, -0x7e6c(gp) | t9 = sym.sshkey_ssh_name;
0x00033c1c sll s3, s0, 2 | s3 = s0 << 2;
0x00033c20 move a0, s7 | a0 = s7;
0x00033c24 lwx s2, s3(t1) | __asm ("lwx s2, s3(t1)");
0x00033c28 lw s4, (s1) | s4 = *(s1);
0x00033c2c lw s5, 0x14(s1) | s5 = *((s1 + 5));
0x00033c30 bal 0x4d8a8 | sym_sshkey_ssh_name ();
0x00033c34 lw v1, 0x88(sp) | v1 = *(var_88h_2);
0x00033c38 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033c3c sw v1, 0x2c(sp) | *(var_2ch_2) = v1;
0x00033c40 sw v0, 0x20(sp) | *(var_20h_3) = v0;
0x00033c44 lw v1, 0x6c(sp) | v1 = *(var_6ch);
0x00033c48 lw v0, 0x80(sp) | v0 = *(var_80h_2);
0x00033c4c lw a0, 0xe8(sp) | a0 = *(var_e8h);
0x00033c50 sw v1, 0x28(sp) | *(var_28h_3) = v1;
0x00033c54 sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x00033c58 lw v1, 0x78(sp) | v1 = *(var_78h);
0x00033c5c lw v0, 0x84(sp) | v0 = *(var_84h_2);
0x00033c60 lw a3, 0x8c(sp) | a3 = *(var_8ch_2);
0x00033c64 lw t9, -0x7aa8(gp) | t9 = sym.percent_expand;
0x00033c68 lw a1, 0x90(sp) | a1 = *(var_90h_2);
0x00033c6c sw a0, 0x30(sp) | *(var_30h_2) = a0;
0x00033c70 sw zero, 0x34(sp) | *(var_34h_2) = 0;
0x00033c74 move a0, s2 | a0 = s2;
0x00033c78 sw v1, 0x24(sp) | *(var_24h_2) = v1;
0x00033c7c sw s5, 0x18(sp) | *(var_18h) = s5;
0x00033c80 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00033c84 sw s4, 0x10(sp) | *(var_10h) = s4;
0x00033c88 move a2, fp | a2 = fp;
0x00033c8c jalr t9 | t9 ();
0x00033c90 move s2, v0 | s2 = v0;
0x00033c94 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00033c98 beqz v0, 0x34bf8 | goto label_60;
| }
0x00033c9c lw a0, 0xf0(sp) | a0 = *(var_f0h);
0x00033ca0 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00033ca4 lwx a0, s3(a0) | __asm ("lwx a0, s3(a0)");
0x00033ca8 jalr t9 | t9 ();
0x00033cac lw gp, 0x60(sp) | gp = *(var_60h);
0x00033cb0 lw a1, 0xf0(sp) | a1 = *(var_f0h);
0x00033cb4 move a0, s0 | a0 = s0;
0x00033cb8 addu a1, a1, s3 | a1 += s3;
0x00033cbc lw t9, -0x7f44(gp) | t9 = *(gp);
0x00033cc0 sw s2, (a1) | *(a1) = s2;
0x00033cc4 addiu a1, zero, 1 | a1 = 1;
0x00033cc8 jalr t9 | t9 ();
0x00033ccc lw a0, 0xe4(sp) | a0 = *(var_e4h);
0x00033cd0 move s0, v0 | s0 = v0;
0x00033cd4 slt v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
0x00033cd8 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033cdc bnez v0, 0x33c14 |
| } while (v0 != 0);
0x00033ce0 lw s3, 0xa0(sp) | s3 = *(var_a0h_2);
| label_59:
0x00033ce4 lw t9, -0x7864(gp) | t9 = sym.argv_assemble;
0x00033ce8 lw a1, 0xf0(sp) | a1 = *(var_f0h);
0x00033cec jalr t9 | t9 ();
0x00033cf0 lw a2, 0xe4(sp) | a2 = *(var_e4h);
0x00033cf4 addiu v1, zero, 1 | v1 = 1;
0x00033cf8 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033cfc sw v0, 0xec(sp) | *(var_ech) = v0;
| if (a2 == v1) {
0x00033d00 beq a2, v1, 0x3491c | goto label_61;
| }
| label_18:
0x00033d04 lw v1, -0x7cc4(gp) | v1 = sym.restore_uid;
0x00033d08 lw s0, -0x7f34(gp) | s0 = *(gp);
0x00033d0c sw v1, 0x20(sp) | *(var_20h_3) = v1;
0x00033d10 lw v1, -0x7cc8(gp) | v1 = sym.temporarily_use_uid;
0x00033d14 lw s2, 0x9c(sp) | s2 = *(var_9ch_2);
0x00033d18 sw v1, 0x1c(sp) | *(var_1ch_3) = v1;
0x00033d1c addiu v1, zero, 6 | v1 = 6;
0x00033d20 lw t9, -0x7860(gp) | t9 = sym.subprocess;
0x00033d24 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00033d28 lw a3, 0xf0(sp) | a3 = *(var_f0h);
0x00033d2c addiu v1, sp, 0xe0 | v1 = sp + 0xe0;
0x00033d30 sw s2, 0x18(sp) | *(var_18h) = s2;
0x00033d34 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00033d38 move a1, v0 | a1 = v0;
| /* str.AuthorizedKeysCommand */
0x00033d3c addiu a0, s0, -0x1410 | a0 = s0 + -0x1410;
0x00033d40 jalr t9 | t9 ();
0x00033d44 move s4, v0 | s4 = v0;
0x00033d48 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00033d4c beqz v0, 0x34720 | goto label_62;
| }
0x00033d50 lw t9, -0x7cc8(gp) | t9 = sym.temporarily_use_uid;
0x00033d54 move a0, s2 | a0 = s2;
0x00033d58 bal 0x48f90 | sym_temporarily_use_uid ();
0x00033d5c lw gp, 0x60(sp) | gp = *(var_60h);
0x00033d60 lw a3, 0x11a4(s6) | a3 = *(s6);
0x00033d64 lw a2, 0xe0(sp) | a2 = *(var_e0h);
0x00033d68 lw t9, -0x79a0(gp) | t9 = *(gp);
0x00033d6c lw a0, 0x70(sp) | a0 = *(var_70h);
0x00033d70 addiu v0, sp, 0xd8 | v0 = sp + 0xd8;
0x00033d74 move a1, s1 | a1 = s1;
| /* fcn.0003286c */
0x00033d78 addiu t9, t9, 0x286c | t9 += 0x286c;
0x00033d7c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00033d80 sw s7, 0x10(sp) | *(var_10h) = s7;
0x00033d84 bal 0x3286c | fcn_0003286c ();
0x00033d88 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033d8c lw a0, 0xe0(sp) | a0 = *(var_e0h);
0x00033d90 lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
0x00033d94 move s1, v0 | s1 = v0;
0x00033d98 jalr t9 | t9 ();
0x00033d9c lw gp, 0x60(sp) | gp = *(var_60h);
0x00033da0 lw a2, 0xec(sp) | a2 = *(var_ech);
0x00033da4 move a3, zero | a3 = 0;
0x00033da8 lw t9, -0x785c(gp) | t9 = sym.exited_cleanly;
| /* str.AuthorizedKeysCommand */
0x00033dac addiu a1, s0, -0x1410 | a1 = s0 + -0x1410;
0x00033db0 move a0, s4 | a0 = s4;
0x00033db4 sw zero, 0xe0(sp) | *(var_e0h) = 0;
0x00033db8 jalr t9 | t9 ();
0x00033dbc lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x00033dc0 bnez v0, 0x34a94 | goto label_63;
| }
0x00033dc4 move s3, s1 | s3 = s1;
0x00033dc8 move s4, s1 | s4 = s1;
0x00033dcc addiu s0, zero, 1 | s0 = 1;
| label_6:
0x00033dd0 lw a0, 0xe0(sp) | a0 = *(var_e0h);
0x00033dd4 lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
| if (a0 != 0) {
0x00033dd8 beqz a0, 0x33de8 |
0x00033ddc jalr t9 | t9 ();
0x00033de0 nop |
0x00033de4 lw gp, 0x60(sp) | gp = *(var_60h);
| }
0x00033de8 lw t9, -0x7fac(gp) | t9 = sym.ssh_signal;
0x00033dec lw a1, 0x98(sp) | a1 = *(var_98h_2);
0x00033df0 addiu a0, zero, 0x12 | a0 = 0x12;
0x00033df4 jalr t9 | t9 ();
0x00033df8 lw v0, 0xe4(sp) | v0 = *(var_e4h);
0x00033dfc lw gp, 0x60(sp) | gp = *(var_60h);
0x00033e00 move s1, zero | s1 = 0;
| if (v0 <= 0) {
0x00033e04 blez v0, 0x33e44 | goto label_64;
| }
| do {
0x00033e08 lw a0, 0xf0(sp) | a0 = *(var_f0h);
0x00033e0c sll v0, s1, 2 | v0 = s1 << 2;
0x00033e10 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00033e14 lwx a0, v0(a0) | __asm ("lwx a0, v0(a0)");
0x00033e18 jalr t9 | t9 ();
0x00033e1c lw gp, 0x60(sp) | gp = *(var_60h);
0x00033e20 move a0, s1 | a0 = s1;
0x00033e24 lw t9, -0x7f44(gp) | t9 = *(gp);
0x00033e28 addiu a1, zero, 1 | a1 = 1;
0x00033e2c jalr t9 | t9 ();
0x00033e30 move s1, v0 | s1 = v0;
0x00033e34 lw v0, 0xe4(sp) | v0 = *(var_e4h);
0x00033e38 slt v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x00033e3c lw gp, 0x60(sp) | gp = *(var_60h);
0x00033e40 bnez v0, 0x33e08 |
| } while (v0 != 0);
| label_64:
0x00033e44 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00033e48 lw a0, 0xf0(sp) | a0 = *(var_f0h);
0x00033e4c jalr t9 | t9 ();
0x00033e50 lw gp, 0x60(sp) | gp = *(var_60h);
| if (s0 != 0) {
0x00033e54 bnez s0, 0x34510 | goto label_65;
| }
| label_10:
0x00033e58 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00033e5c lw a0, 0xec(sp) | a0 = *(var_ech);
0x00033e60 jalr t9 | t9 ();
0x00033e64 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033e68 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00033e6c lw a0, 0x94(sp) | a0 = *(var_94h_2);
0x00033e70 jalr t9 | t9 ();
0x00033e74 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033e78 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00033e7c lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x00033e80 jalr t9 | t9 ();
0x00033e84 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033e88 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00033e8c lw a0, 0xe8(sp) | a0 = *(var_e8h);
0x00033e90 jalr t9 | t9 ();
0x00033e94 lw gp, 0x60(sp) | gp = *(var_60h);
| if (s4 != 0) {
0x00033e98 bnez s4, 0x337e4 | goto label_1;
| }
0x00033e9c lw a0, 0xd8(sp) | a0 = *(var_d8h);
| label_11:
0x00033ea0 lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00033ea4 move s3, zero | s3 = 0;
0x00033ea8 bal 0x27e84 | sym_sshauthopt_free ();
0x00033eac lw gp, 0x60(sp) | gp = *(var_60h);
0x00033eb0 sw zero, 0xd8(sp) | *(var_d8h) = 0;
0x00033eb4 move a0, zero | a0 = 0;
0x00033eb8 b 0x33800 | goto label_2;
| label_41:
0x00033ebc lw v0, 0x44(s7) | v0 = *((s7 + 17));
0x00033ec0 lw t9, -0x78d8(gp) | t9 = sym.auth_key_is_revoked;
0x00033ec4 lw a0, 0x38(v0) | a0 = *((v0 + 14));
0x00033ec8 bal 0x22160 | sym_auth_key_is_revoked ();
0x00033ecc lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00033ed0 beqz v0, 0x3369c | goto label_3;
| }
0x00033ed4 move s3, zero | s3 = 0;
0x00033ed8 b 0x33644 | goto label_4;
| label_47:
0x00033edc lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00033ee0 move a0, v0 | a0 = v0;
0x00033ee4 bal 0x4b380 | sym_ssh_err ();
0x00033ee8 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033eec lw v1, 0x44(s7) | v1 = *((s7 + 17));
0x00033ef0 move s2, v0 | s2 = v0;
0x00033ef4 lw t9, -0x7f08(gp) | t9 = sym.sshkey_type;
0x00033ef8 lw a0, 0x38(v1) | a0 = *((v1 + 14));
0x00033efc move s0, zero | s0 = 0;
0x00033f00 bal 0x4d7ec | sym_sshkey_type ();
0x00033f04 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033f08 lw v1, 0x11a0(s6) | v1 = *((s6 + 1128));
0x00033f0c sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x00033f10 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00033f14 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00033f18 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.CA__s__s_is_not_listed_in__s */
0x00033f1c addiu v0, v0, -0x16dc | v0 += -aav.0x000016dc;
0x00033f20 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00033f24 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00033f28 addiu v0, zero, 6 | v0 = 6;
0x00033f2c sw v1, 0x24(sp) | *(var_24h_2) = v1;
0x00033f30 sw s5, 0x20(sp) | *(var_20h_3) = s5;
0x00033f34 sw s2, 0x14(sp) | *(var_14h) = s2;
0x00033f38 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00033f3c addiu a3, zero, 1 | a3 = 1;
0x00033f40 addiu a2, zero, 0x302 | a2 = 0x302;
| /* str.user_cert_trusted_ca */
0x00033f44 addiu a1, a1, -0x10a8 | a1 += -0x10a8;
| /* str.auth2_pubkey.c */
0x00033f48 addiu a0, a0, -0x1898 | a0 += -0x1898;
0x00033f4c jalr t9 | t9 ();
0x00033f50 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033f54 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00033f58 b 0x33a3c | goto label_5;
| label_55:
0x00033f5c lw v0, -0x7fb4(gp) | v0 = *(gp);
0x00033f60 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.sshkey_fingerprint_failed */
0x00033f64 addiu v0, v0, 0x6d18 | v0 += 0x6d18;
0x00033f68 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00033f6c addiu v0, zero, 2 | v0 = 2;
0x00033f70 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00033f74 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00033f78 addiu a3, zero, 1 | a3 = 1;
0x00033f7c addiu a2, zero, 0x398 | a2 = aav.0x00000398;
| label_12:
0x00033f80 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00033f84 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.user_key_command_allowed2 */
0x00033f88 addiu a1, a1, -0x1110 | a1 += -0x1110;
| /* str.auth2_pubkey.c */
0x00033f8c addiu a0, a0, -0x1898 | a0 += -0x1898;
0x00033f90 jalr t9 | t9 ();
0x00033f94 move s0, zero | s0 = 0;
0x00033f98 lw gp, 0x60(sp) | gp = *(var_60h);
0x00033f9c move s3, zero | s3 = 0;
0x00033fa0 move s4, zero | s4 = 0;
0x00033fa4 b 0x33dd0 | goto label_6;
| label_48:
0x00033fa8 lw s4, -0x7f34(gp) | s4 = *(gp);
| label_15:
0x00033fac lw v0, 0x11b0(s6) | v0 = *((s6 + 1132));
0x00033fb0 lw s3, 0x44(s7) | s3 = *((s7 + 17));
0x00033fb4 sw zero, 0xe0(sp) | *(var_e0h) = 0;
0x00033fb8 sw zero, 0xe4(sp) | *(var_e4h) = 0;
0x00033fbc sw zero, 0xe8(sp) | *(var_e8h) = 0;
0x00033fc0 sw zero, 0xec(sp) | *(var_ech) = 0;
0x00033fc4 sw zero, 0xf0(sp) | *(var_f0h) = 0;
0x00033fc8 sw zero, 0xdc(sp) | *(var_dch) = 0;
| if (v0 == 0) {
0x00033fcc beqz v0, 0x3452c | goto label_66;
| }
0x00033fd0 lw v0, 0x11b4(s6) | v0 = *((s6 + 1133));
0x00033fd4 lw t9, -0x7fac(gp) | t9 = sym.ssh_signal;
| if (v0 == 0) {
0x00033fd8 beqz v0, 0x347f8 | goto label_67;
| }
0x00033fdc move a1, zero | a1 = 0;
0x00033fe0 lw fp, -0x7f34(gp) | fp = *(gp);
0x00033fe4 addiu a0, zero, 0x12 | a0 = 0x12;
0x00033fe8 jalr t9 | t9 ();
0x00033fec lw gp, 0x60(sp) | gp = *(var_60h);
0x00033ff0 lw a2, (s1) | a2 = *(s1);
0x00033ff4 lw a0, 0x11b4(s6) | a0 = *((s6 + 1133));
0x00033ff8 lw t9, -0x7aa8(gp) | t9 = sym.percent_expand;
0x00033ffc move a3, zero | a3 = 0;
0x00034000 addiu a1, fp, 0x3ce0 | a1 = fp + 0x3ce0;
0x00034004 sw v0, 0xc4(sp) | *(var_c4h) = v0;
0x00034008 jalr t9 | t9 ();
0x0003400c lw gp, 0x60(sp) | gp = *(var_60h);
0x00034010 sw v0, 0xc0(sp) | *(var_c0h) = v0;
0x00034014 lw t9, -0x71fc(gp) | t9 = sym.imp.getpwnam;
0x00034018 move a0, v0 | a0 = v0;
0x0003401c jalr t9 | t9 ();
0x00034020 sw v0, 0xc8(sp) | *(var_c8h) = v0;
0x00034024 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00034028 beqz v0, 0x3484c | goto label_68;
| }
0x0003402c lw t9, -0x7868(gp) | t9 = sym.argv_split;
0x00034030 lw a0, 0x11b0(s6) | a0 = *((s6 + 1132));
0x00034034 addiu a2, sp, 0xe8 | a2 = sp + 0xe8;
0x00034038 addiu a1, sp, 0xe4 | a1 = sp + 0xe4;
0x0003403c jalr t9 | t9 ();
0x00034040 sw v0, 0x94(sp) | *(var_94h_2) = v0;
0x00034044 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x00034048 bnez v0, 0x348c4 | goto label_69;
| }
0x0003404c lw s2, 0xe4(sp) | s2 = *(var_e4h);
0x00034050 lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
| if (s2 == 0) {
0x00034054 beqz s2, 0x34794 | goto label_70;
| }
0x00034058 lw a1, 0x11d0(s6) | a1 = *((s6 + 1140));
0x0003405c lw a0, 0x38(s3) | a0 = *((s3 + 14));
0x00034060 move a2, zero | a2 = 0;
0x00034064 bal 0x4f188 | sym_sshkey_fingerprint ();
0x00034068 sw v0, 0x8c(sp) | *(var_8ch_2) = v0;
0x0003406c lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00034070 beqz v0, 0x34afc | goto label_71;
| }
0x00034074 lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
0x00034078 lw a1, 0x11d0(s6) | a1 = *((s6 + 1140));
0x0003407c move a2, zero | a2 = 0;
0x00034080 move a0, s7 | a0 = s7;
0x00034084 bal 0x4f188 | sym_sshkey_fingerprint ();
0x00034088 sw v0, 0x90(sp) | *(var_90h_2) = v0;
0x0003408c lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00034090 beqz v0, 0x34b44 | goto label_72;
| }
0x00034094 lw t9, -0x786c(gp) | t9 = sym.sshkey_to_base64;
0x00034098 lw a0, 0x38(s3) | a0 = *((s3 + 14));
0x0003409c addiu a1, sp, 0xec | a1 = sp + 0xec;
0x000340a0 bal 0x4fa6c | sym_sshkey_to_base64 ();
0x000340a4 move s2, v0 | s2 = v0;
0x000340a8 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x000340ac bnez v0, 0x34aa8 | goto label_73;
| }
0x000340b0 lw t9, -0x786c(gp) | t9 = sym.sshkey_to_base64;
0x000340b4 addiu a1, sp, 0xf0 | a1 = sp + 0xf0;
0x000340b8 move a0, s7 | a0 = s7;
0x000340bc bal 0x4fa6c | sym_sshkey_to_base64 ();
0x000340c0 sw v0, 0x94(sp) | *(var_94h_2) = v0;
0x000340c4 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x000340c8 bnez v0, 0x34b90 | goto label_74;
| }
0x000340cc lw a0, -0x7f34(gp) | a0 = *(gp);
0x000340d0 lw v1, 0xc(s3) | v1 = *((s3 + 3));
0x000340d4 lw v0, 8(s3) | v0 = *((s3 + 2));
0x000340d8 lw t9, -0x7180(gp) | t9 = sym.imp.__snprintf_chk;
| /* str._llu */
0x000340dc addiu s2, a0, -0x4d48 | s2 = a0 + -0x4d48;
0x000340e0 addiu a0, sp, 0xf4 | a0 = sp + 0xf4;
0x000340e4 sw a0, 0xa4(sp) | *(var_a4h_2) = a0;
0x000340e8 addiu a3, zero, 0x20 | a3 = 0x20;
0x000340ec addiu a2, zero, 1 | a2 = 1;
0x000340f0 addiu a1, zero, 0x20 | a1 = 0x20;
0x000340f4 sw v1, 0x1c(sp) | *(var_1ch_3) = v1;
0x000340f8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000340fc sw s2, 0x10(sp) | *(var_10h) = s2;
0x00034100 jalr t9 | t9 ();
0x00034104 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034108 lw v0, 8(s1) | v0 = *((s1 + 2));
0x0003410c addiu v1, sp, 0x114 | v1 = sp + aav.0x00000114;
0x00034110 lw t9, -0x7180(gp) | t9 = sym.imp.__snprintf_chk;
0x00034114 move a0, v1 | a0 = v1;
0x00034118 sw v1, 0xa8(sp) | *(var_a8h) = v1;
0x0003411c sw v0, 0x18(sp) | *(var_18h) = v0;
0x00034120 sw zero, 0x1c(sp) | *(var_1ch_3) = 0;
0x00034124 sw s2, 0x10(sp) | *(var_10h) = s2;
0x00034128 addiu a3, zero, 0x20 | a3 = 0x20;
0x0003412c addiu a2, zero, 1 | a2 = 1;
0x00034130 addiu a1, zero, 0x20 | a1 = 0x20;
0x00034134 jalr t9 | t9 ();
0x00034138 lw a0, 0xe4(sp) | a0 = *(var_e4h);
0x0003413c slti v0, a0, 2 | v0 = (a0 < 2) ? 1 : 0;
0x00034140 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x00034144 bnez v0, 0x3431c | goto label_75;
| }
0x00034148 lw v1, -0x7858(gp) | v1 = *((gp - 7702));
0x0003414c lw t0, -0x7f34(gp) | t0 = *(gp);
0x00034150 addiu v1, v1, -0x7e14 | v1 += -0x7e14;
0x00034154 sw v1, 0xac(sp) | *(var_ach) = v1;
0x00034158 addiu v1, t0, -0x1598 | v1 = t0 + -0x1598;
0x0003415c lw t0, -0x7e48(gp) | t0 = *(gp);
0x00034160 lw a3, -0x7f34(gp) | a3 = *(gp);
0x00034164 sw v1, 0xb0(sp) | *(var_b0h) = v1;
0x00034168 addiu v1, t0, -0x7464 | v1 = t0 + -0x7464;
0x0003416c sw v1, 0xb4(sp) | *(var_b4h) = v1;
0x00034170 addiu v1, a3, -0x2494 | v1 = a3 + -0x2494;
0x00034174 lw a3, -0x7e48(gp) | a3 = *(gp);
0x00034178 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0003417c sw v1, 0x88(sp) | *(var_88h_2) = v1;
0x00034180 addiu v1, a3, -0x7fb0 | v1 = a3 + -0x7fb0;
0x00034184 sw v1, 0x9c(sp) | *(var_9ch_2) = v1;
0x00034188 addiu v1, a2, 0x75f4 | v1 = a2 + 0x75f4;
0x0003418c lw a2, -0x7f34(gp) | a2 = *(gp);
0x00034190 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00034194 lw a0, -0x7f34(gp) | a0 = *(gp);
0x00034198 sw v1, 0x78(sp) | *(var_78h) = v1;
0x0003419c addiu v1, a2, 0x6f5c | v1 = a2 + 0x6f5c;
0x000341a0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000341a4 sw v1, 0xa0(sp) | *(var_a0h_2) = v1;
0x000341a8 addiu v1, a1, 0x1708 | v1 = a1 + 0x1708;
0x000341ac sw v1, 0x80(sp) | *(var_80h_2) = v1;
0x000341b0 addiu v1, a0, -0x6a3c | v1 = a0 + -0x6a3c;
0x000341b4 addiu s2, zero, 1 | s2 = 1;
0x000341b8 sw v1, 0x84(sp) | *(var_84h_2) = v1;
0x000341bc addiu v0, v0, -0x4d40 | v0 += -0x4d40;
0x000341c0 addiu v1, fp, 0x3ce0 | v1 = fp + 0x3ce0;
0x000341c4 sw s0, 0xd4(sp) | *(var_d4h) = s0;
0x000341c8 sw v1, 0xb8(sp) | *(var_b8h) = v1;
0x000341cc sw v0, 0xbc(sp) | *(var_bch) = v0;
0x000341d0 sw s5, 0xd0(sp) | *(var_d0h) = s5;
0x000341d4 move s0, s2 | s0 = s2;
0x000341d8 sw s7, 0x98(sp) | *(var_98h_2) = s7;
0x000341dc sw s4, 0xcc(sp) | *(var_cch) = s4;
| do {
0x000341e0 lw t1, 0xe8(sp) | t1 = *(var_e8h);
0x000341e4 lw t9, -0x7e6c(gp) | t9 = sym.sshkey_ssh_name;
0x000341e8 lw a0, 0x98(sp) | a0 = *(var_98h_2);
0x000341ec sll s4, s0, 2 | s4 = s0 << 2;
0x000341f0 lw s5, (s1) | s5 = *(s1);
0x000341f4 lwx s2, s4(t1) | __asm ("lwx s2, s4(t1)");
0x000341f8 lw fp, 0x14(s1) | fp = *((s1 + 5));
0x000341fc bal 0x4d8a8 | sym_sshkey_ssh_name ();
0x00034200 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034204 lw a0, 0x38(s3) | a0 = *((s3 + 14));
0x00034208 lw t9, -0x7e6c(gp) | t9 = sym.sshkey_ssh_name;
0x0003420c move s7, v0 | s7 = v0;
0x00034210 bal 0x4d8a8 | sym_sshkey_ssh_name ();
0x00034214 lw v1, 0xa4(sp) | v1 = *(var_a4h_2);
0x00034218 sw zero, 0x5c(sp) | *(var_5ch_2) = 0;
0x0003421c sw v1, 0x58(sp) | *(var_58h_2) = v1;
0x00034220 lw v1, 0xac(sp) | v1 = *(var_ach);
0x00034224 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034228 sw v1, 0x54(sp) | *(var_54h) = v1;
0x0003422c lw v1, 0xb0(sp) | v1 = *(var_b0h);
0x00034230 lw a0, 0x10(s3) | a0 = *((s3 + 4));
0x00034234 sw v1, 0x4c(sp) | *(var_4ch_2) = v1;
0x00034238 lw v1, 0xb4(sp) | v1 = *(var_b4h);
0x0003423c sw a0, 0x50(sp) | *(var_50h) = a0;
0x00034240 sw v1, 0x44(sp) | *(var_44h_2) = v1;
0x00034244 lw v1, 0x88(sp) | v1 = *(var_88h_2);
0x00034248 lw a0, 0xec(sp) | a0 = *(var_ech);
0x0003424c sw v1, 0x3c(sp) | *(var_3ch_3) = v1;
0x00034250 lw v1, 0x8c(sp) | v1 = *(var_8ch_2);
0x00034254 sw v0, 0x28(sp) | *(var_28h_3) = v0;
0x00034258 sw v1, 0x38(sp) | *(var_38h_2) = v1;
0x0003425c lw v1, 0x9c(sp) | v1 = *(var_9ch_2);
0x00034260 lw v0, 0xa0(sp) | v0 = *(var_a0h_2);
0x00034264 sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x00034268 lw v1, 0x90(sp) | v1 = *(var_90h_2);
0x0003426c sw a0, 0x48(sp) | *(var_48h_2) = a0;
0x00034270 sw v1, 0x30(sp) | *(var_30h_2) = v1;
0x00034274 lw a0, 0xf0(sp) | a0 = *(var_f0h);
0x00034278 lw v1, 0x78(sp) | v1 = *(var_78h);
0x0003427c sw v0, 0x24(sp) | *(var_24h_2) = v0;
0x00034280 lw v0, 0x80(sp) | v0 = *(var_80h_2);
0x00034284 sw a0, 0x40(sp) | *(var_40h_2) = a0;
0x00034288 sw v1, 0x2c(sp) | *(var_2ch_2) = v1;
0x0003428c sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x00034290 sw s7, 0x20(sp) | *(var_20h_3) = s7;
0x00034294 sw fp, 0x18(sp) | *(var_18h) = fp;
0x00034298 lw v0, 0x84(sp) | v0 = *(var_84h_2);
0x0003429c lw a3, 0xb8(sp) | a3 = *(var_b8h);
0x000342a0 lw t9, -0x7aa8(gp) | t9 = sym.percent_expand;
0x000342a4 lw a2, 0xa8(sp) | a2 = *(var_a8h);
0x000342a8 lw a1, 0xbc(sp) | a1 = *(var_bch);
0x000342ac move a0, s2 | a0 = s2;
0x000342b0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000342b4 sw s5, 0x10(sp) | *(var_10h) = s5;
0x000342b8 jalr t9 | t9 ();
0x000342bc move s2, v0 | s2 = v0;
0x000342c0 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x000342c4 beqz v0, 0x34c30 | goto label_76;
| }
0x000342c8 lw a0, 0xe8(sp) | a0 = *(var_e8h);
0x000342cc lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000342d0 lwx a0, s4(a0) | __asm ("lwx a0, s4(a0)");
0x000342d4 jalr t9 | t9 ();
0x000342d8 lw gp, 0x60(sp) | gp = *(var_60h);
0x000342dc lw a1, 0xe8(sp) | a1 = *(var_e8h);
0x000342e0 move a0, s0 | a0 = s0;
0x000342e4 addu a1, a1, s4 | a1 += s4;
0x000342e8 lw t9, -0x7f44(gp) | t9 = *(gp);
0x000342ec sw s2, (a1) | *(a1) = s2;
0x000342f0 addiu a1, zero, 1 | a1 = 1;
0x000342f4 jalr t9 | t9 ();
0x000342f8 lw a0, 0xe4(sp) | a0 = *(var_e4h);
0x000342fc move s0, v0 | s0 = v0;
0x00034300 slt v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
0x00034304 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034308 bnez v0, 0x341e0 |
| } while (v0 != 0);
0x0003430c lw s5, 0xd0(sp) | s5 = *(var_d0h);
0x00034310 lw s0, 0xd4(sp) | s0 = *(var_d4h);
0x00034314 lw s7, 0x98(sp) | s7 = *(var_98h_2);
0x00034318 lw s4, 0xcc(sp) | s4 = *(var_cch);
| label_75:
0x0003431c lw t9, -0x7864(gp) | t9 = sym.argv_assemble;
0x00034320 lw a1, 0xe8(sp) | a1 = *(var_e8h);
0x00034324 jalr t9 | t9 ();
0x00034328 lw gp, 0x60(sp) | gp = *(var_60h);
0x0003432c move v1, v0 | v1 = v0;
0x00034330 lw a3, 0xe8(sp) | a3 = *(var_e8h);
0x00034334 lw v0, -0x7cc4(gp) | v0 = sym.restore_uid;
0x00034338 lw s2, -0x7f34(gp) | s2 = *(gp);
0x0003433c sw v0, 0x20(sp) | *(var_20h_3) = v0;
0x00034340 lw v0, -0x7cc8(gp) | v0 = sym.temporarily_use_uid;
0x00034344 lw t9, -0x7860(gp) | t9 = sym.subprocess;
0x00034348 sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x0003434c lw v0, 0xc8(sp) | v0 = *(var_c8h);
0x00034350 lw a2, 0xe4(sp) | a2 = *(var_e4h);
0x00034354 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00034358 addiu v0, zero, 6 | v0 = 6;
0x0003435c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00034360 addiu v0, sp, 0xe0 | v0 = sp + 0xe0;
0x00034364 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034368 sw v1, 0x78(sp) | *(var_78h) = v1;
0x0003436c move a1, v1 | a1 = v1;
| /* str.AuthorizedPrincipalsCommand */
0x00034370 addiu a0, s2, -0x157c | a0 = s2 + -0x157c;
0x00034374 jalr t9 | t9 ();
0x00034378 move fp, v0 | fp = v0;
0x0003437c lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00034380 beqz v0, 0x34b88 | goto label_77;
| }
0x00034384 lw t9, -0x7cc8(gp) | t9 = sym.temporarily_use_uid;
0x00034388 lw a0, 0xc8(sp) | a0 = *(var_c8h);
0x0003438c bal 0x48f90 | sym_temporarily_use_uid ();
0x00034390 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034394 lw a0, 0xe0(sp) | a0 = *(var_e0h);
0x00034398 move a2, s3 | a2 = s3;
0x0003439c lw a1, -0x7f34(gp) | a1 = *(gp);
0x000343a0 lw t9, -0x79a0(gp) | t9 = *(gp);
0x000343a4 addiu a3, sp, 0xdc | a3 = sp + 0xdc;
| /* fcn.000331e8 */
0x000343a8 addiu t9, t9, 0x31e8 | t9 += 0x31e8;
| /* str._command_ */
0x000343ac addiu a1, a1, -0x1560 | a1 += -0x1560;
0x000343b0 bal 0x331e8 | fcn_000331e8 ();
0x000343b4 lw gp, 0x60(sp) | gp = *(var_60h);
0x000343b8 lw a0, 0xe0(sp) | a0 = *(var_e0h);
0x000343bc lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
0x000343c0 move s3, v0 | s3 = v0;
0x000343c4 jalr t9 | t9 ();
0x000343c8 lw gp, 0x60(sp) | gp = *(var_60h);
0x000343cc lw a2, 0x78(sp) | a2 = *(var_78h);
| /* str.AuthorizedPrincipalsCommand */
0x000343d0 addiu a1, s2, -0x157c | a1 = s2 + -0x157c;
0x000343d4 lw t9, -0x785c(gp) | t9 = sym.exited_cleanly;
0x000343d8 move a3, zero | a3 = 0;
0x000343dc move a0, fp | a0 = fp;
0x000343e0 sw zero, 0xe0(sp) | *(var_e0h) = 0;
0x000343e4 jalr t9 | t9 ();
| if (v0 == 0) {
0x000343e8 movn s3, zero, v0 | s3 = 0;
| }
0x000343ec lw gp, 0x60(sp) | gp = *(var_60h);
0x000343f0 addiu s2, zero, 1 | s2 = 1;
0x000343f4 sw s3, 0x94(sp) | *(var_94h_2) = s3;
| label_16:
0x000343f8 lw a0, 0xe0(sp) | a0 = *(var_e0h);
0x000343fc lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
| if (a0 != 0) {
0x00034400 beqz a0, 0x34410 |
0x00034404 jalr t9 | t9 ();
0x00034408 nop |
0x0003440c lw gp, 0x60(sp) | gp = *(var_60h);
| }
0x00034410 lw t9, -0x7fac(gp) | t9 = sym.ssh_signal;
0x00034414 lw a1, 0xc4(sp) | a1 = *(var_c4h);
0x00034418 addiu a0, zero, 0x12 | a0 = 0x12;
0x0003441c jalr t9 | t9 ();
0x00034420 lw v0, 0xe4(sp) | v0 = *(var_e4h);
0x00034424 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 <= 0) {
0x00034428 blez v0, 0x34468 | goto label_78;
| }
| do {
0x0003442c lw a0, 0xe8(sp) | a0 = *(var_e8h);
0x00034430 sll v0, s0, 2 | v0 = s0 << 2;
0x00034434 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034438 lwx a0, v0(a0) | __asm ("lwx a0, v0(a0)");
0x0003443c jalr t9 | t9 ();
0x00034440 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034444 move a0, s0 | a0 = s0;
0x00034448 lw t9, -0x7f44(gp) | t9 = *(gp);
0x0003444c addiu a1, zero, 1 | a1 = 1;
0x00034450 jalr t9 | t9 ();
0x00034454 move s0, v0 | s0 = v0;
0x00034458 lw v0, 0xe4(sp) | v0 = *(var_e4h);
0x0003445c slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00034460 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034464 bnez v0, 0x3442c |
| } while (v0 != 0);
| label_78:
0x00034468 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0003446c lw a0, 0xe8(sp) | a0 = *(var_e8h);
0x00034470 jalr t9 | t9 ();
0x00034474 lw gp, 0x60(sp) | gp = *(var_60h);
| if (s2 != 0) {
0x00034478 bnez s2, 0x3472c | goto label_79;
| }
| label_14:
0x0003447c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034480 lw a0, 0x78(sp) | a0 = *(var_78h);
0x00034484 jalr t9 | t9 ();
0x00034488 lw gp, 0x60(sp) | gp = *(var_60h);
0x0003448c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034490 lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x00034494 jalr t9 | t9 ();
0x00034498 lw gp, 0x60(sp) | gp = *(var_60h);
0x0003449c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000344a0 lw a0, 0x8c(sp) | a0 = *(var_8ch_2);
0x000344a4 jalr t9 | t9 ();
0x000344a8 lw gp, 0x60(sp) | gp = *(var_60h);
0x000344ac lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000344b0 lw a0, 0x90(sp) | a0 = *(var_90h_2);
0x000344b4 jalr t9 | t9 ();
0x000344b8 lw gp, 0x60(sp) | gp = *(var_60h);
0x000344bc lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000344c0 lw a0, 0xec(sp) | a0 = *(var_ech);
0x000344c4 jalr t9 | t9 ();
0x000344c8 lw gp, 0x60(sp) | gp = *(var_60h);
0x000344cc lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000344d0 lw a0, 0xf0(sp) | a0 = *(var_f0h);
0x000344d4 jalr t9 | t9 ();
0x000344d8 lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x000344dc lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x000344e0 bnez v0, 0x346bc | goto label_80;
| }
0x000344e4 lw v0, 0x11b0(s6) | v0 = *((s6 + 1132));
| if (v0 == 0) {
0x000344e8 beql v0, zero, 0x339b8 | goto label_7;
| }
0x000344ec lw v0, (s1) | v0 = *(s1);
0x000344f0 lw v0, 0x94(sp) | v0 = *(var_94h_2);
0x000344f4 lw v0, 0xdc(sp) | v0 = *(var_dch);
| if (v0 == 0) {
0x000344f8 bnel v0, zero, 0x339b0 | goto label_8;
| }
| label_17:
0x000344fc lw v0, -0x7f34(gp) | v0 = *(gp);
| do {
| label_13:
0x00034500 move s0, zero | s0 = 0;
| /* str.Certificate_does_not_contain_an_authorized_principal */
0x00034504 addiu v0, v0, -0x18dc | v0 += -0x18dc;
0x00034508 sw v0, 0xf0(sp) | *(var_f0h) = v0;
0x0003450c b 0x339ec | goto label_9;
| label_65:
0x00034510 lw t9, -0x7cc4(gp) | t9 = sym.restore_uid;
0x00034514 bal 0x494c4 | sym_restore_uid ();
0x00034518 nop |
0x0003451c lw gp, 0x60(sp) | gp = *(var_60h);
0x00034520 b 0x33e58 | goto label_10;
| label_52:
0x00034524 move a0, zero | a0 = 0;
0x00034528 b 0x33ea0 | goto label_11;
| label_66:
0x0003452c lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x00034530 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034534 bnel v0, zero, 0x34500 |
| } while (v0 == 0);
0x00034538 lw v0, (s1) | v0 = *(s1);
0x0003453c b 0x339b8 | goto label_7;
| label_51:
0x00034540 lw t9, -0x7884(gp) | t9 = sym.sshauthopt_from_cert;
0x00034544 move a0, s7 | a0 = s7;
0x00034548 bal 0x286c8 | sym_sshauthopt_from_cert ();
0x0003454c move s0, v0 | s0 = v0;
0x00034550 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x00034554 beqz v0, 0x34784 | goto label_81;
| }
0x00034558 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0003455c lw t9, -0x7888(gp) | t9 = sym.auth_authorise_keyopts;
| /* str.cert */
0x00034560 addiu v0, v0, -0x152c | v0 += -0x152c;
0x00034564 lw a0, 0x70(sp) | a0 = *(var_70h);
0x00034568 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003456c move a3, zero | a3 = 0;
0x00034570 move a2, s0 | a2 = s0;
0x00034574 move a1, s1 | a1 = s1;
0x00034578 bal 0x24370 | sym_auth_authorise_keyopts ();
0x0003457c lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x00034580 bnez v0, 0x347e8 | goto label_82;
| }
0x00034584 lw v1, 0xdc(sp) | v1 = *(var_dch);
0x00034588 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v1 == 0) {
0x0003458c beqz v1, 0x34aa0 | goto label_83;
| }
0x00034590 lw t9, -0x7888(gp) | t9 = sym.auth_authorise_keyopts;
| /* str.principals */
0x00034594 addiu v0, v0, -0x377c | v0 += -aav.0x0000377c;
0x00034598 lw a0, 0x70(sp) | a0 = *(var_70h);
0x0003459c sw v0, 0x10(sp) | *(var_10h) = v0;
0x000345a0 move a3, zero | a3 = 0;
0x000345a4 move a2, v1 | a2 = v1;
0x000345a8 move a1, s1 | a1 = s1;
0x000345ac bal 0x24370 | sym_auth_authorise_keyopts ();
0x000345b0 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x000345b4 beqz v0, 0x34998 | goto label_84;
| }
0x000345b8 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.Refused_by_certificate_principals_options */
0x000345bc addiu v0, v0, -0x1724 | v0 += -0x1724;
0x000345c0 sw v0, 0xf0(sp) | *(var_f0h) = v0;
0x000345c4 b 0x339ec | goto label_9;
| label_56:
0x000345c8 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x000345cc move a0, v0 | a0 = v0;
0x000345d0 bal 0x4b380 | sym_ssh_err ();
0x000345d4 lw gp, 0x60(sp) | gp = *(var_60h);
0x000345d8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000345dc addiu v0, zero, 2 | v0 = 2;
0x000345e0 lw v1, -0x7f34(gp) | v1 = *(gp);
0x000345e4 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str.sshkey_to_base64_failed */
0x000345e8 addiu v1, v1, -0x15b0 | v1 += -0x15b0;
0x000345ec lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x000345f0 sw v1, 0x18(sp) | *(var_18h) = v1;
0x000345f4 addiu a3, zero, 1 | a3 = 1;
0x000345f8 addiu a2, zero, 0x39c | a2 = aav.0x0000039c;
0x000345fc b 0x33f80 | goto label_12;
| label_53:
0x00034600 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034604 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00034608 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.No_user_for_AuthorizedKeysCommand_specified__skipping */
0x0003460c addiu v0, v0, -0x14dc | v0 += -0x14dc;
0x00034610 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00034614 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00034618 addiu v0, zero, 2 | v0 = 2;
| /* str.auth2_pubkey.c */
0x0003461c addiu a0, a0, -0x1898 | a0 += -0x1898;
0x00034620 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00034624 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034628 move a3, zero | a3 = 0;
0x0003462c addiu a2, zero, 0x381 | a2 = 0x381;
| /* str.user_key_command_allowed2 */
0x00034630 addiu a1, a1, -0x1110 | a1 += -0x1110;
0x00034634 jalr t9 | t9 ();
0x00034638 lw gp, 0x60(sp) | gp = *(var_60h);
0x0003463c lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x00034640 b 0x33ea0 | goto label_11;
| label_54:
0x00034644 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x00034648 move s0, zero | s0 = 0;
0x0003464c jalr t9 | t9 ();
0x00034650 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034654 lw a0, (v0) | a0 = *(v0);
0x00034658 move s3, zero | s3 = 0;
0x0003465c lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x00034660 move s4, zero | s4 = 0;
0x00034664 jalr t9 | t9 ();
0x00034668 lw gp, 0x60(sp) | gp = *(var_60h);
0x0003466c sw v0, 0x20(sp) | *(var_20h_3) = v0;
0x00034670 lw v0, 0x94(sp) | v0 = *(var_94h_2);
0x00034674 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00034678 sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x0003467c lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034680 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.AuthorizedKeysCommandUser___s__not_found:__s */
0x00034684 addiu v0, v0, -0x14a4 | v0 += -0x14a4;
0x00034688 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0003468c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00034690 addiu v0, zero, 2 | v0 = 2;
0x00034694 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00034698 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003469c move a3, zero | a3 = 0;
0x000346a0 addiu a2, zero, 0x391 | a2 = 0x391;
| /* str.user_key_command_allowed2 */
0x000346a4 addiu a1, a1, -0x1110 | a1 += -0x1110;
| /* str.auth2_pubkey.c */
0x000346a8 addiu a0, a0, -0x1898 | a0 += -0x1898;
0x000346ac jalr t9 | t9 ();
0x000346b0 lw gp, 0x60(sp) | gp = *(var_60h);
0x000346b4 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x000346b8 b 0x33dd0 | goto label_6;
| label_80:
0x000346bc lw v0, 0x94(sp) | v0 = *(var_94h_2);
| if (v0 == 0) {
0x000346c0 beql v0, zero, 0x34500 | goto label_13;
| }
0x000346c4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000346c8 lw v0, 0xdc(sp) | v0 = *(var_dch);
0x000346cc b 0x339b0 | goto label_8;
| label_58:
0x000346d0 lw v0, 0x11a4(s6) | v0 = *(s6);
0x000346d4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x000346d8 sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x000346dc lw v0, -0x7f34(gp) | v0 = *(gp);
0x000346e0 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.AuthorizedKeysCommand___s__yielded_no_arguments */
0x000346e4 addiu v0, v0, -0x1440 | v0 += -0x1440;
0x000346e8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000346ec addiu v0, zero, 2 | v0 = 2;
0x000346f0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000346f4 move a3, zero | a3 = 0;
0x000346f8 addiu a2, zero, 0x3a8 | a2 = aav.0x000003a8;
| do {
0x000346fc lw a1, -0x7f34(gp) | a1 = *(gp);
0x00034700 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.user_key_command_allowed2 */
0x00034704 addiu a1, a1, -0x1110 | a1 += -0x1110;
| /* str.auth2_pubkey.c */
0x00034708 addiu a0, a0, -0x1898 | a0 += -0x1898;
0x0003470c jalr t9 | t9 ();
0x00034710 move s3, zero | s3 = 0;
0x00034714 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034718 move s4, zero | s4 = 0;
0x0003471c b 0x33dd0 | goto label_6;
| label_62:
0x00034720 move s0, zero | s0 = 0;
0x00034724 move s4, zero | s4 = 0;
0x00034728 b 0x33dd0 | goto label_6;
| label_79:
0x0003472c lw t9, -0x7cc4(gp) | t9 = sym.restore_uid;
0x00034730 bal 0x494c4 | sym_restore_uid ();
0x00034734 nop |
0x00034738 lw gp, 0x60(sp) | gp = *(var_60h);
0x0003473c b 0x3447c | goto label_14;
| label_57:
0x00034740 lw v0, 0x11a4(s6) | v0 = *(s6);
0x00034744 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00034748 sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x0003474c lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034750 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.AuthorizedKeysCommand___s__contains_invalid_quotes */
0x00034754 addiu v0, v0, -0x1474 | v0 += -0x1474;
0x00034758 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0003475c addiu v0, zero, 2 | v0 = 2;
0x00034760 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034764 move a3, zero | a3 = 0;
0x00034768 addiu a2, zero, 0x3a3 | a2 = 0x3a3;
0x0003476c b 0x346fc |
| } while (1);
| label_49:
0x00034770 lw t9, -0x7cc4(gp) | t9 = sym.restore_uid;
0x00034774 bal 0x494c4 | sym_restore_uid ();
0x00034778 nop |
0x0003477c lw gp, 0x60(sp) | gp = *(var_60h);
0x00034780 b 0x33fac | goto label_15;
| label_81:
0x00034784 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.Invalid_certificate_options */
0x00034788 addiu v0, v0, -0x1918 | v0 += -0x1918;
0x0003478c sw v0, 0xf0(sp) | *(var_f0h) = v0;
0x00034790 b 0x339ec | goto label_9;
| label_70:
0x00034794 lw v0, 0x11b0(s6) | v0 = *((s6 + 1132));
0x00034798 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0003479c sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x000347a0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000347a4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.AuthorizedPrincipalsCommand___s__yielded_no_arguments */
0x000347a8 addiu v0, v0, -0x15e8 | v0 += -0x15e8;
0x000347ac sw v0, 0x18(sp) | *(var_18h) = v0;
0x000347b0 addiu v0, zero, 2 | v0 = 2;
0x000347b4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000347b8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000347bc move a3, zero | a3 = 0;
0x000347c0 addiu a2, zero, 0x1e5 | a2 = 0x1e5;
| /* str.match_principals_command */
0x000347c4 addiu a1, a1, -0x10f4 | a1 += -0x10f4;
| /* str.auth2_pubkey.c */
0x000347c8 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x000347cc jalr t9 | t9 ();
0x000347d0 lw gp, 0x60(sp) | gp = *(var_60h);
0x000347d4 sw s2, 0x94(sp) | *(var_94h_2) = s2;
0x000347d8 sw zero, 0x90(sp) | *(var_90h_2) = 0;
0x000347dc sw zero, 0x8c(sp) | *(var_8ch_2) = 0;
0x000347e0 sw zero, 0x78(sp) | *(var_78h) = 0;
0x000347e4 b 0x343f8 | goto label_16;
| label_82:
0x000347e8 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.Refused_by_certificate_options */
0x000347ec addiu v0, v0, -0x18fc | v0 += -0x18fc;
0x000347f0 sw v0, 0xf0(sp) | *(var_f0h) = v0;
0x000347f4 b 0x339ec | goto label_9;
| label_67:
0x000347f8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000347fc lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.No_user_for_AuthorizedPrincipalsCommand_specified__skipping */
0x00034800 addiu v0, v0, -0x1694 | v0 += -0x1694;
0x00034804 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00034808 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0003480c addiu v0, zero, 2 | v0 = 2;
0x00034810 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034814 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00034818 move a3, zero | a3 = 0;
0x0003481c addiu a2, zero, 0x1c9 | a2 = 0x1c9;
| /* str.match_principals_command */
0x00034820 addiu a1, a1, -0x10f4 | a1 += -0x10f4;
| /* str.auth2_pubkey.c */
0x00034824 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x00034828 jalr t9 | t9 ();
0x0003482c lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x00034830 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 != 0) {
0x00034834 bnez v0, 0x344fc | goto label_17;
| }
0x00034838 lw v0, 0x11b0(s6) | v0 = *((s6 + 1132));
0x0003483c lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 == 0) {
0x00034840 bnel v0, zero, 0x34500 | goto label_13;
| }
0x00034844 lw v0, (s1) | v0 = *(s1);
0x00034848 b 0x339b8 | goto label_7;
| label_68:
0x0003484c lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x00034850 move s2, zero | s2 = 0;
0x00034854 jalr t9 | t9 ();
0x00034858 lw gp, 0x60(sp) | gp = *(var_60h);
0x0003485c lw a0, (v0) | a0 = *(v0);
0x00034860 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x00034864 sw zero, 0x94(sp) | *(var_94h_2) = 0;
0x00034868 jalr t9 | t9 ();
0x0003486c lw gp, 0x60(sp) | gp = *(var_60h);
0x00034870 sw v0, 0x20(sp) | *(var_20h_3) = v0;
0x00034874 lw v0, 0xc0(sp) | v0 = *(var_c0h);
0x00034878 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0003487c sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x00034880 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034884 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.AuthorizedPrincipalsCommandUser___s__not_found:__s */
0x00034888 addiu v0, v0, -0x1658 | v0 += -0x1658;
0x0003488c sw v0, 0x18(sp) | *(var_18h) = v0;
0x00034890 addiu v0, zero, 2 | v0 = 2;
0x00034894 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00034898 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003489c move a3, zero | a3 = 0;
0x000348a0 addiu a2, zero, 0x1d9 | a2 = 0x1d9;
| /* str.match_principals_command */
0x000348a4 addiu a1, a1, -0x10f4 | a1 += -0x10f4;
| /* str.auth2_pubkey.c */
0x000348a8 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x000348ac jalr t9 | t9 ();
0x000348b0 lw gp, 0x60(sp) | gp = *(var_60h);
0x000348b4 sw zero, 0x90(sp) | *(var_90h_2) = 0;
0x000348b8 sw zero, 0x8c(sp) | *(var_8ch_2) = 0;
0x000348bc sw zero, 0x78(sp) | *(var_78h) = 0;
0x000348c0 b 0x343f8 | goto label_16;
| label_69:
0x000348c4 lw v0, 0x11b0(s6) | v0 = *((s6 + 1132));
0x000348c8 lw a1, -0x7f34(gp) | a1 = *(gp);
0x000348cc sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x000348d0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000348d4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.AuthorizedPrincipalsCommand___s__contains_invalid_quotes */
0x000348d8 addiu v0, v0, -0x1624 | v0 += -0x1624;
0x000348dc sw v0, 0x18(sp) | *(var_18h) = v0;
0x000348e0 addiu v0, zero, 2 | v0 = 2;
0x000348e4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000348e8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000348ec move a3, zero | a3 = 0;
0x000348f0 addiu a2, zero, 0x1e0 | a2 = aav.0x000001e0;
| /* str.match_principals_command */
0x000348f4 addiu a1, a1, -0x10f4 | a1 += -0x10f4;
| /* str.auth2_pubkey.c */
0x000348f8 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x000348fc jalr t9 | t9 ();
0x00034900 move s2, zero | s2 = 0;
0x00034904 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034908 sw zero, 0x94(sp) | *(var_94h_2) = 0;
0x0003490c sw zero, 0x90(sp) | *(var_90h_2) = 0;
0x00034910 sw zero, 0x8c(sp) | *(var_8ch_2) = 0;
0x00034914 sw zero, 0x78(sp) | *(var_78h) = 0;
0x00034918 b 0x343f8 | goto label_16;
| label_61:
0x0003491c lw t9, -0x7c00(gp) | t9 = sym.xreallocarray;
0x00034920 lw a0, 0xf0(sp) | a0 = *(var_f0h);
0x00034924 addiu a2, zero, 4 | a2 = 4;
0x00034928 addiu a1, zero, 3 | a1 = 3;
0x0003492c jalr t9 | t9 ();
0x00034930 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034934 lw a0, (s1) | a0 = *(s1);
0x00034938 move s0, v0 | s0 = v0;
0x0003493c lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x00034940 sw v0, 0xf0(sp) | *(var_f0h) = v0;
0x00034944 jalr t9 | t9 ();
0x00034948 lw gp, 0x60(sp) | gp = *(var_60h);
0x0003494c sw v0, 4(s0) | *((s0 + 1)) = v0;
0x00034950 lw v0, 0xf0(sp) | v0 = *(var_f0h);
0x00034954 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034958 sw zero, 8(v0) | *((v0 + 2)) = 0;
0x0003495c lw a0, 0xec(sp) | a0 = *(var_ech);
0x00034960 jalr t9 | t9 ();
0x00034964 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034968 lw v0, 0xf0(sp) | v0 = *(var_f0h);
0x0003496c addiu a0, sp, 0xec | a0 = sp + 0xec;
0x00034970 lw a1, -0x7fb4(gp) | a1 = *(gp);
0x00034974 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x00034978 lw a2, (v0) | a2 = *(v0);
0x0003497c lw a3, 4(v0) | a3 = *((v0 + 1));
| /* esilref: '&s &s' */
0x00034980 addiu a1, a1, 0x767c | a1 += 0x767c;
0x00034984 jalr t9 | t9 ();
0x00034988 lw gp, 0x60(sp) | gp = *(var_60h);
0x0003498c lw v0, 0xec(sp) | v0 = *(var_ech);
0x00034990 lw a2, 0xe4(sp) | a2 = *(var_e4h);
0x00034994 b 0x33d04 | goto label_18;
| label_84:
0x00034998 lw t9, -0x7a68(gp) | t9 = sym.sshauthopt_merge;
0x0003499c lw a0, 0xdc(sp) | a0 = *(var_dch);
0x000349a0 move a2, s2 | a2 = s2;
0x000349a4 move a1, s0 | a1 = s0;
0x000349a8 bal 0x287e4 | sym_sshauthopt_merge ();
0x000349ac move s2, v0 | s2 = v0;
0x000349b0 lw gp, 0x60(sp) | gp = *(var_60h);
| if (v0 == 0) {
0x000349b4 beqz v0, 0x34be4 | goto label_85;
| }
0x000349b8 move v1, s0 | v1 = s0;
| do {
0x000349bc lw v0, 0x44(s7) | v0 = *((s7 + 17));
0x000349c0 lw t9, -0x7f08(gp) | t9 = sym.sshkey_type;
0x000349c4 sw v1, 0x70(sp) | *(var_70h) = v1;
0x000349c8 lw a0, 0x38(v0) | a0 = *((v0 + 14));
0x000349cc lw fp, 0x10(v0) | fp = *((v0 + 4));
0x000349d0 lw s0, 8(v0) | s0 = *((v0 + 2));
0x000349d4 lw s1, 0xc(v0) | s1 = *((v0 + 3));
0x000349d8 bal 0x4d7ec | sym_sshkey_type ();
0x000349dc lw gp, 0x60(sp) | gp = *(var_60h);
0x000349e0 lw t0, 0x11a0(s6) | t0 = *((s6 + 1128));
0x000349e4 sw v0, 0x28(sp) | *(var_28h_3) = v0;
0x000349e8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000349ec lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.Accepted_certificate_ID___s___serial__llu__signed_by__s_CA__s_via__s */
0x000349f0 addiu v0, v0, -0x1524 | v0 += -0x1524;
0x000349f4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000349f8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x000349fc addiu v0, zero, 4 | v0 = 4;
0x00034a00 move a3, zero | a3 = 0;
0x00034a04 addiu a2, zero, 0x340 | a2 = aav.0x00000340;
| /* str.user_cert_trusted_ca */
0x00034a08 addiu a1, a1, -0x10a8 | a1 += -0x10a8;
0x00034a0c sw t0, 0x30(sp) | *(var_30h_2) = t0;
0x00034a10 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str.auth2_pubkey.c */
0x00034a14 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x00034a18 sw s5, 0x2c(sp) | *(var_2ch_2) = s5;
0x00034a1c sw s0, 0x20(sp) | *(var_20h_3) = s0;
0x00034a20 sw s1, 0x24(sp) | *(var_24h_2) = s1;
0x00034a24 sw fp, 0x1c(sp) | *(var_1ch_3) = fp;
0x00034a28 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00034a2c jalr t9 | t9 ();
0x00034a30 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034a34 lw a0, 0xdc(sp) | a0 = *(var_dch);
0x00034a38 sw s2, 0xd8(sp) | *(var_d8h) = s2;
0x00034a3c lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00034a40 addiu s3, zero, 1 | s3 = 1;
0x00034a44 bal 0x27e84 | sym_sshauthopt_free ();
0x00034a48 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034a4c lw v1, 0x70(sp) | v1 = *(var_70h);
0x00034a50 lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00034a54 move a0, v1 | a0 = v1;
0x00034a58 bal 0x27e84 | sym_sshauthopt_free ();
0x00034a5c lw gp, 0x60(sp) | gp = *(var_60h);
0x00034a60 lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00034a64 move a0, zero | a0 = 0;
0x00034a68 bal 0x27e84 | sym_sshauthopt_free ();
0x00034a6c lw gp, 0x60(sp) | gp = *(var_60h);
0x00034a70 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034a74 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x00034a78 jalr t9 | t9 ();
0x00034a7c lw gp, 0x60(sp) | gp = *(var_60h);
0x00034a80 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034a84 move a0, s5 | a0 = s5;
0x00034a88 jalr t9 | t9 ();
0x00034a8c lw gp, 0x60(sp) | gp = *(var_60h);
0x00034a90 b 0x337e4 | goto label_1;
| label_63:
0x00034a94 move s4, zero | s4 = 0;
0x00034a98 addiu s0, zero, 1 | s0 = 1;
0x00034a9c b 0x33dd0 | goto label_6;
| label_83:
0x00034aa0 move s2, s0 | s2 = s0;
0x00034aa4 b 0x349bc |
| } while (1);
| label_73:
0x00034aa8 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00034aac move a0, v0 | a0 = v0;
0x00034ab0 bal 0x4b380 | sym_ssh_err ();
0x00034ab4 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034ab8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00034abc addiu v0, zero, 2 | v0 = 2;
0x00034ac0 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00034ac4 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00034ac8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.sshkey_to_base64_failed */
0x00034acc addiu v1, v1, -0x15b0 | v1 += -0x15b0;
0x00034ad0 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00034ad4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034ad8 addiu a3, zero, 1 | a3 = 1;
0x00034adc addiu a2, zero, 0x1f3 | a2 = 0x1f3;
| /* str.match_principals_command */
0x00034ae0 addiu a1, a1, -0x10f4 | a1 += -0x10f4;
| /* str.auth2_pubkey.c */
0x00034ae4 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x00034ae8 jalr t9 | t9 ();
0x00034aec move s2, zero | s2 = 0;
0x00034af0 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034af4 sw zero, 0x78(sp) | *(var_78h) = 0;
0x00034af8 b 0x343f8 | goto label_16;
| label_71:
0x00034afc lw v0, -0x7fb4(gp) | v0 = *(gp);
0x00034b00 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.sshkey_fingerprint_failed */
0x00034b04 addiu v0, v0, 0x6d18 | v0 += 0x6d18;
0x00034b08 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00034b0c sw v0, 0x18(sp) | *(var_18h) = v0;
0x00034b10 addiu v0, zero, 2 | v0 = 2;
0x00034b14 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00034b18 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034b1c addiu a3, zero, 1 | a3 = 1;
0x00034b20 addiu a2, zero, 0x1ea | a2 = 0x1ea;
| /* str.match_principals_command */
0x00034b24 addiu a1, a1, -0x10f4 | a1 += -0x10f4;
| /* str.auth2_pubkey.c */
0x00034b28 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x00034b2c jalr t9 | t9 ();
0x00034b30 move s2, zero | s2 = 0;
0x00034b34 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034b38 sw zero, 0x90(sp) | *(var_90h_2) = 0;
0x00034b3c sw zero, 0x78(sp) | *(var_78h) = 0;
0x00034b40 b 0x343f8 | goto label_16;
| label_72:
0x00034b44 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x00034b48 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.sshkey_fingerprint_failed */
0x00034b4c addiu v0, v0, 0x6d18 | v0 += 0x6d18;
0x00034b50 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00034b54 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00034b58 addiu v0, zero, 2 | v0 = 2;
0x00034b5c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00034b60 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034b64 addiu a3, zero, 1 | a3 = 1;
0x00034b68 addiu a2, zero, 0x1ef | a2 = 0x1ef;
| /* str.match_principals_command */
0x00034b6c addiu a1, a1, -0x10f4 | a1 += -0x10f4;
| /* str.auth2_pubkey.c */
0x00034b70 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x00034b74 jalr t9 | t9 ();
0x00034b78 move s2, zero | s2 = 0;
0x00034b7c lw gp, 0x60(sp) | gp = *(var_60h);
0x00034b80 sw zero, 0x78(sp) | *(var_78h) = 0;
0x00034b84 b 0x343f8 | goto label_16;
| label_77:
0x00034b88 move s2, zero | s2 = 0;
0x00034b8c b 0x343f8 | goto label_16;
| label_74:
0x00034b90 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00034b94 move a0, v0 | a0 = v0;
0x00034b98 bal 0x4b380 | sym_ssh_err ();
0x00034b9c lw gp, 0x60(sp) | gp = *(var_60h);
0x00034ba0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00034ba4 addiu v0, zero, 2 | v0 = 2;
0x00034ba8 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00034bac lw a1, -0x7f34(gp) | a1 = *(gp);
0x00034bb0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.sshkey_to_base64_failed */
0x00034bb4 addiu v1, v1, -0x15b0 | v1 += -0x15b0;
0x00034bb8 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00034bbc sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034bc0 addiu a3, zero, 1 | a3 = 1;
0x00034bc4 addiu a2, zero, 0x1f7 | a2 = 0x1f7;
| /* str.match_principals_command */
0x00034bc8 addiu a1, a1, -0x10f4 | a1 += -0x10f4;
| /* str.auth2_pubkey.c */
0x00034bcc addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x00034bd0 jalr t9 | t9 ();
0x00034bd4 lw gp, 0x60(sp) | gp = *(var_60h);
0x00034bd8 sw zero, 0x94(sp) | *(var_94h_2) = 0;
0x00034bdc sw zero, 0x78(sp) | *(var_78h) = 0;
0x00034be0 b 0x343f8 | goto label_16;
| label_85:
0x00034be4 lw v0, 0xf0(sp) | v0 = *(var_f0h);
0x00034be8 b 0x339ec | goto label_9;
| label_40:
0x00034bec lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x00034bf0 jalr t9 | t9 ();
0x00034bf4 nop |
| label_60:
0x00034bf8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034bfc lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.percent_expand_failed */
0x00034c00 addiu v0, v0, -0x1594 | v0 += -0x1594;
0x00034c04 lw a0, -0x7f34(gp) | a0 = *(gp);
0x00034c08 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00034c0c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00034c10 addiu v0, zero, 1 | v0 = 1;
0x00034c14 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00034c18 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034c1c addiu a3, zero, 1 | a3 = 1;
0x00034c20 addiu a2, zero, 0x3b7 | a2 = 0x3b7;
| /* str.user_key_command_allowed2 */
0x00034c24 addiu a1, a1, -0x1110 | a1 += -0x1110;
| /* str.auth2_pubkey.c */
0x00034c28 addiu a0, a0, -0x1898 | a0 += -0x1898;
0x00034c2c jalr t9 | t9 ();
| label_76:
0x00034c30 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034c34 lw s4, 0xcc(sp) | s4 = *(var_cch);
| /* str.percent_expand_failed */
0x00034c38 addiu v0, v0, -0x1594 | v0 += -0x1594;
0x00034c3c lw a1, -0x7f34(gp) | a1 = *(gp);
0x00034c40 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00034c44 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00034c48 addiu v0, zero, 1 | v0 = 1;
0x00034c4c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00034c50 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034c54 addiu a3, zero, 1 | a3 = 1;
0x00034c58 addiu a2, zero, 0x20d | a2 = 0x20d;
| /* str.match_principals_command */
0x00034c5c addiu a1, a1, -0x10f4 | a1 += -0x10f4;
0x00034c60 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x00034c64 jalr t9 | t9 ();
| label_50:
0x00034c68 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034c6c lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.internal_error:_missing_principals_opts */
0x00034c70 addiu v0, v0, -0x1554 | v0 += -0x1554;
0x00034c74 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00034c78 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00034c7c addiu v0, zero, 1 | v0 = 1;
0x00034c80 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00034c84 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034c88 addiu a3, zero, 1 | a3 = 1;
0x00034c8c addiu a2, zero, 0x31b | a2 = 0x31b;
| /* str.user_cert_trusted_ca */
0x00034c90 addiu a1, a1, -0x10a8 | a1 += -0x10a8;
0x00034c94 addiu a0, s4, -0x1898 | a0 = s4 + -0x1898;
0x00034c98 jalr t9 | t9 ();
0x00034c9c lui gp, 0xd |
0x00034ca0 addiu gp, gp, -0x29ac |
0x00034ca4 addu gp, gp, t9 | gp += t9;
0x00034ca8 addiu sp, sp, -0xa8 |
0x00034cac lw t9, -0x7bb0(gp) | t9 = sym.sshpkt_get_u8;
0x00034cb0 sw s5, 0x94(sp) | *(var_94h) = s5;
0x00034cb4 lw s5, -0x6fc4(gp) | s5 = *((gp - 7153));
0x00034cb8 sw gp, 0x30(sp) | *(var_30h) = gp;
0x00034cbc sw s1, 0x84(sp) | *(var_84h) = s1;
0x00034cc0 sw ra, 0xa4(sp) | *(var_a4h) = ra;
0x00034cc4 sw fp, 0xa0(sp) | *(var_a0h) = fp;
0x00034cc8 sw s7, 0x9c(sp) | *(var_9ch) = s7;
0x00034ccc sw s6, 0x98(sp) | *(var_98h) = s6;
0x00034cd0 sw s4, 0x90(sp) | *(var_90h) = s4;
0x00034cd4 sw s3, 0x8c(sp) | *(var_8ch) = s3;
0x00034cd8 sw s2, 0x88(sp) | *(var_88h) = s2;
0x00034cdc sw s0, 0x80(sp) | *(var_80h) = s0;
0x00034ce0 lw s4, 0x2018(a0) | s4 = *((a0 + 2054));
0x00034ce4 lw v0, (s5) | v0 = *(s5);
0x00034ce8 addiu a1, sp, 0x57 | a1 = sp + 0x57;
0x00034cec sw v0, 0x7c(sp) | *(var_7ch_2) = v0;
0x00034cf0 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x00034cf4 sw zero, 0x58(sp) | *(var_58h) = 0;
0x00034cf8 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00034cfc sw zero, 0x5c(sp) | *(var_5ch) = 0;
0x00034d00 sw zero, 0x60(sp) | *(var_60h_2) = 0;
0x00034d04 sw zero, 0x64(sp) | *(var_64h) = 0;
0x00034d08 sw zero, 0x68(sp) | *(var_68h) = 0;
0x00034d0c sw zero, 0x74(sp) | *(var_74h_2) = 0;
0x00034d10 sw zero, 0x78(sp) | *(var_78h_2) = 0;
0x00034d14 move s1, a0 | s1 = a0;
0x00034d18 jalr t9 | t9 ();
0x00034d1c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00034d20 bnez v0, 0x35a14 | goto label_86;
| }
0x00034d24 lw t9, -0x7bb4(gp) | t9 = sym.sshpkt_get_cstring;
0x00034d28 move a2, zero | a2 = 0;
0x00034d2c addiu a1, sp, 0x5c | a1 = sp + 0x5c;
0x00034d30 move a0, s1 | a0 = s1;
0x00034d34 jalr t9 | t9 ();
0x00034d38 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00034d3c bnez v0, 0x35a14 | goto label_86;
| }
0x00034d40 lw t9, -0x78c8(gp) | t9 = sym.sshpkt_get_string;
0x00034d44 addiu a2, sp, 0x6c | a2 = sp + 0x6c;
0x00034d48 addiu a1, sp, 0x64 | a1 = sp + 0x64;
0x00034d4c move a0, s1 | a0 = s1;
0x00034d50 jalr t9 | t9 ();
0x00034d54 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00034d58 bnez v0, 0x35a14 | goto label_86;
| }
0x00034d5c lw t9, -0x7854(gp) | t9 = sym.log_level_get;
0x00034d60 jalr t9 | t9 ();
0x00034d64 nop |
0x00034d68 slti v0, v0, 6 | v0 = (v0 < 6) ? 1 : 0;
0x00034d6c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x00034d70 beqz v0, 0x34f38 | goto label_87;
| }
0x00034d74 lw t9, -0x7b38(gp) | t9 = sym.sshkey_type_from_name;
0x00034d78 lw s3, -0x7f34(gp) | s3 = *(gp);
0x00034d7c lw s2, -0x7f34(gp) | s2 = *(gp);
0x00034d80 lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x00034d84 bal 0x4da0c | sym_sshkey_type_from_name ();
0x00034d88 move s6, v0 | s6 = v0;
0x00034d8c addiu v0, zero, 0xe | v0 = 0xe;
0x00034d90 lw gp, 0x30(sp) | gp = *(var_30h);
| if (s6 == v0) {
0x00034d94 beq s6, v0, 0x35028 | goto label_88;
| }
| do {
0x00034d98 lw t9, -0x7b24(gp) | t9 = sym.sshkey_from_blob;
0x00034d9c lw a1, 0x6c(sp) | a1 = *(var_6ch_2);
0x00034da0 lw a0, 0x64(sp) | a0 = *(var_64h);
0x00034da4 addiu a2, sp, 0x58 | a2 = sp + 0x58;
0x00034da8 bal 0x52eb0 | sym_sshkey_from_blob ();
0x00034dac move s0, v0 | s0 = v0;
0x00034db0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00034db4 bnez v0, 0x351a4 | goto label_89;
| }
0x00034db8 lw v0, 0x58(sp) | v0 = *(var_58h);
| if (v0 == 0) {
0x00034dbc beql v0, zero, 0x3560c | goto label_90;
| }
0x00034dc0 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x00034dc4 lw a0, (v0) | a0 = *(v0);
0x00034dc8 lw t9, -0x7b34(gp) | t9 = sym.sshkey_type_plain;
| if (a0 == s6) {
0x00034dcc beq a0, s6, 0x35078 | goto label_91;
| }
0x00034dd0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034dd4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.type_mismatch_for_decoded_key__received__d__expected__d_ */
0x00034dd8 addiu v0, v0, -0x1b68 | v0 += -0x1b68;
0x00034ddc sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00034de0 addiu v0, zero, 2 | v0 = 2;
0x00034de4 sw s6, 0x20(sp) | *(var_20h) = s6;
0x00034de8 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x00034dec sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00034df0 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00034df4 addiu a3, zero, 1 | a3 = 1;
0x00034df8 addiu a2, zero, 0x8b | a2 = 0x8b;
| /* str.userauth_pubkey */
0x00034dfc addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00034e00 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00034e04 jalr t9 | t9 ();
0x00034e08 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034e0c move fp, zero | fp = 0;
0x00034e10 move s7, zero | s7 = 0;
0x00034e14 move s6, zero | s6 = 0;
| label_19:
0x00034e18 lw v0, 0x5c(sp) | v0 = *(var_5ch);
| label_26:
0x00034e1c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00034e20 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00034e24 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034e28 addiu a3, zero, 1 | a3 = 1;
| /* str.authenticated__d_pkalg__s */
0x00034e2c addiu v0, v0, -0x113c | v0 += -0x113c;
0x00034e30 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00034e34 addiu v0, zero, 6 | v0 = 6;
0x00034e38 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00034e3c addiu a2, zero, 0x11b | a2 = 0x11b;
0x00034e40 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
0x00034e44 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00034e48 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00034e4c sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00034e50 jalr t9 | t9 ();
0x00034e54 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034e58 lw t9, -0x7f90(gp) | t9 = sym.sshbuf_free;
0x00034e5c move a0, s6 | a0 = s6;
0x00034e60 bal 0x4ba3c | sym_sshbuf_free ();
0x00034e64 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034e68 lw t9, -0x7a5c(gp) | t9 = sym.sshauthopt_free;
0x00034e6c lw a0, 0x74(sp) | a0 = *(var_74h_2);
0x00034e70 bal 0x27e84 | sym_sshauthopt_free ();
0x00034e74 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034e78 lw t9, -0x7f10(gp) | t9 = sym.sshkey_free;
0x00034e7c lw a0, 0x58(sp) | a0 = *(var_58h);
0x00034e80 bal 0x4e334 | sym_sshkey_free ();
0x00034e84 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034e88 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034e8c lw a0, 0x60(sp) | a0 = *(var_60h_2);
0x00034e90 jalr t9 | t9 ();
0x00034e94 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034e98 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034e9c lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x00034ea0 jalr t9 | t9 ();
0x00034ea4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034ea8 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034eac lw a0, 0x64(sp) | a0 = *(var_64h);
0x00034eb0 jalr t9 | t9 ();
0x00034eb4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034eb8 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034ebc move a0, s7 | a0 = s7;
0x00034ec0 jalr t9 | t9 ();
0x00034ec4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034ec8 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034ecc move a0, fp | a0 = fp;
0x00034ed0 jalr t9 | t9 ();
0x00034ed4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034ed8 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00034edc lw a0, 0x68(sp) | a0 = *(var_68h);
0x00034ee0 jalr t9 | t9 ();
0x00034ee4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034ee8 lw t9, -0x7850(gp) | t9 = sym.sshkey_sig_details_free;
0x00034eec lw a0, 0x78(sp) | a0 = *(var_78h_2);
0x00034ef0 jalr t9 | t9 ();
0x00034ef4 lw a0, 0x7c(sp) | a0 = *(var_7ch_2);
0x00034ef8 lw v1, (s5) | v1 = *(s5);
0x00034efc lw gp, 0x30(sp) | gp = *(var_30h);
0x00034f00 move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x00034f04 bne a0, v1, 0x35b5c | goto label_92;
| }
0x00034f08 lw ra, 0xa4(sp) | ra = *(var_a4h);
0x00034f0c lw fp, 0xa0(sp) | fp = *(var_a0h);
0x00034f10 lw s7, 0x9c(sp) | s7 = *(var_9ch);
0x00034f14 lw s6, 0x98(sp) | s6 = *(var_98h);
0x00034f18 lw s5, 0x94(sp) | s5 = *(var_94h);
0x00034f1c lw s4, 0x90(sp) | s4 = *(var_90h);
0x00034f20 lw s3, 0x8c(sp) | s3 = *(var_8ch);
0x00034f24 lw s2, 0x88(sp) | s2 = *(var_88h);
0x00034f28 lw s1, 0x84(sp) | s1 = *(var_84h);
0x00034f2c lw s0, 0x80(sp) | s0 = *(var_80h);
0x00034f30 addiu sp, sp, 0xa8 |
0x00034f34 jr ra | return v0;
| label_87:
0x00034f38 lw t9, -0x784c(gp) | t9 = sym.sshbuf_from;
0x00034f3c lw a1, 0x6c(sp) | a1 = *(var_6ch_2);
0x00034f40 lw a0, 0x64(sp) | a0 = *(var_64h);
0x00034f44 bal 0x4b830 | sym_sshbuf_from ();
0x00034f48 move s6, v0 | s6 = v0;
0x00034f4c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x00034f50 beqz v0, 0x35b78 | goto label_93;
| }
0x00034f54 lw t9, -0x7848(gp) | t9 = sym.sshbuf_dtob64_string;
0x00034f58 move a1, zero | a1 = 0;
0x00034f5c move a0, v0 | a0 = v0;
0x00034f60 jalr t9 | t9 ();
0x00034f64 move s0, v0 | s0 = v0;
0x00034f68 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x00034f6c beqz v0, 0x35ba0 | goto label_94;
| }
0x00034f70 lw v0, 0xc(s4) | v0 = *((s4 + 3));
0x00034f74 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 != 0) {
0x00034f78 bnez v0, 0x35144 | goto label_95;
| }
0x00034f7c lw v0, -0x7e48(gp) | v0 = *(gp);
| /* esilref: 'invalid' */
0x00034f80 addiu v0, v0, -0x65d0 | v0 += -0x65d0;
| label_21:
0x00034f84 lbu v1, 0x57(sp) | v1 = *(var_57h);
0x00034f88 lw t0, 0x20(s4) | t0 = *((s4 + 8));
| if (v1 != 0) {
0x00034f8c bnez v1, 0x35138 | goto label_96;
| }
0x00034f90 lw v1, -0x7f34(gp) | v1 = *(gp);
| /* str.querying */
0x00034f94 addiu v1, v1, -0x13e4 | v1 += -0x13e4;
| label_20:
0x00034f98 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00034f9c lw v0, -0x7f34(gp) | v0 = *(gp);
0x00034fa0 lw t1, 0x5c(sp) | t1 = *(var_5ch);
0x00034fa4 lw s3, -0x7f34(gp) | s3 = *(gp);
0x00034fa8 lw s2, -0x7f34(gp) | s2 = *(gp);
| /* str._s_user__s__s_public_key__s__s */
0x00034fac addiu v0, v0, -0x13a4 | v0 += -0x13a4;
0x00034fb0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00034fb4 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00034fb8 addiu v0, zero, 6 | v0 = 6;
0x00034fbc addiu a3, zero, 1 | a3 = 1;
0x00034fc0 addiu a2, zero, 0x76 | a2 = 0x76;
| /* str.userauth_pubkey */
0x00034fc4 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
0x00034fc8 sw t1, 0x28(sp) | *(var_28h) = t1;
0x00034fcc sw v1, 0x24(sp) | *(var_24h) = v1;
0x00034fd0 sw t0, 0x20(sp) | *(var_20h) = t0;
0x00034fd4 sw v0, 0x10(sp) | *(var_10h_2) = v0;
| /* str.auth2_pubkey.c */
0x00034fd8 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00034fdc sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x00034fe0 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00034fe4 jalr t9 | t9 ();
0x00034fe8 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034fec lw t9, -0x7f90(gp) | t9 = sym.sshbuf_free;
0x00034ff0 move a0, s6 | a0 = s6;
0x00034ff4 bal 0x4ba3c | sym_sshbuf_free ();
0x00034ff8 lw gp, 0x30(sp) | gp = *(var_30h);
0x00034ffc lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00035000 move a0, s0 | a0 = s0;
0x00035004 jalr t9 | t9 ();
0x00035008 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003500c lw t9, -0x7b38(gp) | t9 = sym.sshkey_type_from_name;
0x00035010 lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x00035014 bal 0x4da0c | sym_sshkey_type_from_name ();
0x00035018 move s6, v0 | s6 = v0;
0x0003501c addiu v0, zero, 0xe | v0 = 0xe;
0x00035020 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035024 bne s6, v0, 0x34d98 |
| } while (s6 != v0);
| label_88:
0x00035028 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x0003502c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00035030 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00035034 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00035038 sw zero, 0x14(sp) | *(var_14h_2) = 0;
| /* str.unsupported_public_key_algorithm:__s */
0x0003503c addiu v0, v0, -0x1bb8 | v0 += -0x1bb8;
0x00035040 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035044 addiu v0, zero, 4 | v0 = 4;
0x00035048 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0003504c addiu a3, zero, 1 | a3 = 1;
0x00035050 addiu a2, zero, 0x7e | a2 = 0x7e;
| /* str.userauth_pubkey */
| label_25:
0x00035054 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035058 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x0003505c jalr t9 | t9 ();
0x00035060 lw gp, 0x30(sp) | gp = *(var_30h);
| do {
0x00035064 move s0, zero | s0 = 0;
0x00035068 move fp, zero | fp = 0;
0x0003506c move s7, zero | s7 = 0;
0x00035070 move s6, zero | s6 = 0;
0x00035074 b 0x34e18 | goto label_19;
| label_91:
0x00035078 bal 0x4e09c | sym_sshkey_type_plain ();
0x0003507c nop |
0x00035080 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x00035084 bnez v0, 0x35098 |
0x00035088 lw v0, 0x2004(s1) | v0 = *((s1 + 2049));
0x0003508c andi v0, v0, 0x2000 | v0 &= 0x2000;
0x00035090 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 != 0) {
0x00035094 bnez v0, 0x35638 | goto label_97;
| }
| }
0x00035098 lw t9, -0x7844(gp) | t9 = sym.auth2_key_already_used;
0x0003509c lw a1, 0x58(sp) | a1 = *(var_58h);
0x000350a0 move a0, s4 | a0 = s4;
0x000350a4 bal 0x25a6c | sym_auth2_key_already_used ();
0x000350a8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x000350ac bnez v0, 0x3514c |
0x000350b0 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x000350b4 lw t9, -0x7f38(gp) | t9 = sym.match_pattern_list;
0x000350b8 lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x000350bc lw a1, 0x4c0(v0) | a1 = *(v0);
0x000350c0 sw v0, 0x40(sp) | *(var_40h) = v0;
0x000350c4 move a2, zero | a2 = 0;
0x000350c8 jalr t9 | t9 ();
0x000350cc move s0, v0 | s0 = v0;
0x000350d0 addiu v0, zero, 1 | v0 = 1;
0x000350d4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (s0 == v0) {
0x000350d8 beq s0, v0, 0x351ec | goto label_98;
| }
0x000350dc lw t9, -0x7e6c(gp) | t9 = sym.sshkey_ssh_name;
0x000350e0 lw a0, 0x58(sp) | a0 = *(var_58h);
0x000350e4 move s0, zero | s0 = 0;
0x000350e8 bal 0x4d8a8 | sym_sshkey_ssh_name ();
0x000350ec lw gp, 0x30(sp) | gp = *(var_30h);
0x000350f0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000350f4 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x000350f8 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000350fc lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.key_type__s_not_in_PubkeyAcceptedAlgorithms */
0x00035100 addiu v0, v0, -0x1324 | v0 += -0x1324;
0x00035104 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035108 addiu v0, zero, 3 | v0 = 3;
0x0003510c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035110 addiu a3, zero, 1 | a3 = 1;
0x00035114 addiu a2, zero, 0x9a | a2 = 0x9a;
| /* str.userauth_pubkey */
| label_22:
0x00035118 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x0003511c addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035120 jalr t9 | t9 ();
0x00035124 move fp, zero | fp = 0;
0x00035128 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003512c move s7, zero | s7 = 0;
0x00035130 move s6, zero | s6 = 0;
0x00035134 b 0x34e18 | goto label_19;
| label_96:
0x00035138 lw v1, -0x7f34(gp) | v1 = *(gp);
| /* str.attempting */
0x0003513c addiu v1, v1, -0x13f0 | v1 += -0x13f0;
0x00035140 b 0x34f98 | goto label_20;
| /* str.valid */
| label_95:
0x00035144 addiu v0, v0, -0x13f8 | v0 += -0x13f8;
0x00035148 b 0x34f84 | goto label_21;
| }
0x0003514c lw t9, -0x7f08(gp) | t9 = sym.sshkey_type;
0x00035150 lw a0, 0x58(sp) | a0 = *(var_58h);
0x00035154 move fp, zero | fp = 0;
0x00035158 bal 0x4d7ec | sym_sshkey_type ();
0x0003515c lw gp, 0x30(sp) | gp = *(var_30h);
0x00035160 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00035164 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00035168 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0003516c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.refusing_previously_used__s_key */
0x00035170 addiu v0, v0, -0x1344 | v0 += -0x1344;
0x00035174 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035178 addiu v0, zero, 3 | v0 = 3;
0x0003517c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035180 move a3, zero | a3 = 0;
0x00035184 addiu a2, zero, 0x95 | a2 = 0x95;
| /* str.userauth_pubkey */
0x00035188 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x0003518c addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035190 jalr t9 | t9 ();
0x00035194 move s7, zero | s7 = 0;
0x00035198 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003519c move s6, zero | s6 = 0;
0x000351a0 b 0x34e18 | goto label_19;
| label_89:
0x000351a4 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x000351a8 move a0, v0 | a0 = v0;
0x000351ac bal 0x4b380 | sym_ssh_err ();
0x000351b0 lw gp, 0x30(sp) | gp = *(var_30h);
0x000351b4 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x000351b8 addiu v0, zero, 2 | v0 = 2;
0x000351bc lw v1, -0x7f34(gp) | v1 = *(gp);
0x000351c0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.parse_key */
0x000351c4 addiu v1, v1, -0x520c | v1 += -0x520c;
0x000351c8 sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x000351cc sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000351d0 addiu a3, zero, 1 | a3 = 1;
0x000351d4 addiu a2, zero, 0x82 | a2 = 0x82;
| /* str.userauth_pubkey */
0x000351d8 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x000351dc addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x000351e0 jalr t9 | t9 ();
0x000351e4 lw gp, 0x30(sp) | gp = *(var_30h);
0x000351e8 b 0x35064 |
| } while (1);
| label_98:
0x000351ec lw v0, 0x40(sp) | v0 = *(var_40h);
0x000351f0 lw t9, -0x78c4(gp) | t9 = sym.sshkey_check_cert_sigtype;
0x000351f4 lw a0, 0x58(sp) | a0 = *(var_58h);
0x000351f8 lw a1, 0x4b8(v0) | a1 = *(v0);
0x000351fc bal 0x50bd8 | sym_sshkey_check_cert_sigtype ();
0x00035200 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00035204 bnez v0, 0x356b4 | goto label_99;
| }
0x00035208 lw s6, -0x79a0(gp) | s6 = *(gp);
| /* fcn.000327b0 */
0x0003520c addiu s6, s6, 0x27b0 | s6 += 0x27b0;
0x00035210 move t9, s6 | t9 = s6;
0x00035214 lw a0, 0x58(sp) | a0 = *(var_58h);
0x00035218 bal 0x327b0 | fcn_000327b0 ();
0x0003521c lw gp, 0x30(sp) | gp = *(var_30h);
0x00035220 lw a0, 0x58(sp) | a0 = *(var_58h);
0x00035224 lw t9, -0x7fcc(gp) | t9 = sym.sshkey_is_cert;
0x00035228 move s7, v0 | s7 = v0;
0x0003522c bal 0x4dfdc | sym_sshkey_is_cert ();
0x00035230 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00035234 bnez v0, 0x35678 | goto label_100;
| }
0x00035238 lbu v0, 0x57(sp) | v0 = *(var_57h);
0x0003523c lw v1, 0x5c(sp) | v1 = *(var_5ch);
0x00035240 move fp, zero | fp = 0;
| if (v0 == 0) {
0x00035244 beqz v0, 0x357d0 | goto label_101;
| }
| label_23:
0x00035248 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0003524c addiu v0, v0, -0x6990 | v0 += -0x6990;
0x00035250 move t0, v0 | t0 = v0;
| label_24:
0x00035254 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00035258 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0003525c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.have__s_signature_for__s_s_s */
0x00035260 addiu v0, v0, -0x12f8 | v0 += -0x12f8;
0x00035264 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035268 addiu v0, zero, 7 | v0 = 7;
0x0003526c addiu a3, zero, 1 | a3 = 1;
0x00035270 addiu a2, zero, 0xaa | a2 = 0xaa;
| /* str.userauth_pubkey */
0x00035274 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035278 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x0003527c sw t0, 0x28(sp) | *(var_28h) = t0;
0x00035280 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x00035284 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035288 sw s7, 0x20(sp) | *(var_20h) = s7;
0x0003528c sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00035290 jalr t9 | t9 ();
0x00035294 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035298 addiu a2, sp, 0x70 | a2 = sp + 0x70;
0x0003529c addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x000352a0 lw t9, -0x78c8(gp) | t9 = sym.sshpkt_get_string;
0x000352a4 move a0, s1 | a0 = s1;
0x000352a8 jalr t9 | t9 ();
0x000352ac lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x000352b0 bnez v0, 0x35bc8 | goto label_102;
| }
0x000352b4 lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x000352b8 move a0, s1 | a0 = s1;
0x000352bc jalr t9 | t9 ();
0x000352c0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x000352c4 bnez v0, 0x35bc8 | goto label_102;
| }
0x000352c8 lw t9, -0x7fa8(gp) | t9 = sym.sshbuf_new;
0x000352cc bal 0x4b790 | sym_sshbuf_new ();
0x000352d0 nop |
0x000352d4 move s6, v0 | s6 = v0;
0x000352d8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x000352dc beqz v0, 0x35c08 | goto label_103;
| }
0x000352e0 lw v1, 4(s1) | v1 = *((s1 + 1));
0x000352e4 lw v0, 0x2004(s1) | v0 = *((s1 + 2049));
0x000352e8 andi v0, v0, 0x10 | v0 &= 0x10;
0x000352ec lw a1, 0x40(v1) | a1 = *((v1 + 16));
| if (v0 == 0) {
0x000352f0 beqz v0, 0x357ec | goto label_104;
| }
0x000352f4 lw t9, -0x7840(gp) | t9 = sym.sshbuf_putb;
0x000352f8 move a0, s6 | a0 = s6;
0x000352fc jalr t9 | t9 ();
0x00035300 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00035304 bnez v0, 0x35cf8 | goto label_105;
| }
| label_28:
0x00035308 lw v0, 0xc(s4) | v0 = *((s4 + 3));
0x0003530c lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 == 0) {
0x00035310 beqz v0, 0x35878 | goto label_106;
| }
0x00035314 lw a2, 0x20(s4) | a2 = *((s4 + 8));
0x00035318 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| if (a2 == 0) {
0x0003531c beqz a2, 0x3587c | goto label_107;
| }
0x00035320 lw v0, 0x2c(s4) | v0 = *((s4 + 11));
0x00035324 lw a3, -0x7f34(gp) | a3 = *(gp);
| if (v0 == 0) {
0x00035328 beqz v0, 0x359f4 | goto label_108;
| }
0x0003532c lw a3, -0x7f34(gp) | a3 = *(gp);
0x00035330 addiu a3, a3, 0x5748 | a3 += 0x5748;
| label_34:
0x00035334 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00035338 lw t9, -0x7c50(gp) | t9 = sym.xasprintf
| /* esilref: '&s&s&s' */
0x0003533c addiu a1, a1, -0x7ec | a1 += -0x7ec;
0x00035340 addiu a0, sp, 0x60 | a0 = sp + 0x60;
0x00035344 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035348 jalr t9 | t9 ();
0x0003534c lw gp, 0x30(sp) | gp = *(var_30h);
0x00035350 addiu a1, zero, 0x32 | a1 = 0x32;
0x00035354 lw t9, -0x7c34(gp) | t9 = sym.sshbuf_put_u8;
0x00035358 move a0, s6 | a0 = s6;
0x0003535c jalr t9 | t9 ();
0x00035360 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00035364 bnez v0, 0x35c78 | goto label_109;
| }
0x00035368 lw t9, -0x7f60(gp) | t9 = sym.sshbuf_put_cstring;
0x0003536c lw a1, 0x60(sp) | a1 = *(var_60h_2);
0x00035370 move a0, s6 | a0 = s6;
0x00035374 jalr t9 | t9 ();
0x00035378 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0003537c bnez v0, 0x35c78 | goto label_109;
| }
0x00035380 lw t9, -0x7f60(gp) | t9 = sym.sshbuf_put_cstring;
0x00035384 lw a1, 0x24(s4) | a1 = *((s4 + 9));
0x00035388 move a0, s6 | a0 = s6;
0x0003538c jalr t9 | t9 ();
0x00035390 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00035394 bnez v0, 0x35c78 | goto label_109;
| }
0x00035398 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0003539c lw t9, -0x7f60(gp) | t9 = sym.sshbuf_put_cstring;
| /* str.publickey */
0x000353a0 addiu a1, a1, -0x4dc0 | a1 += -0x4dc0;
0x000353a4 move a0, s6 | a0 = s6;
0x000353a8 jalr t9 | t9 ();
0x000353ac lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x000353b0 bnez v0, 0x35c78 | goto label_109;
| }
0x000353b4 lw t9, -0x7c34(gp) | t9 = sym.sshbuf_put_u8;
0x000353b8 lbu a1, 0x57(sp) | a1 = *(var_57h);
0x000353bc move a0, s6 | a0 = s6;
0x000353c0 jalr t9 | t9 ();
0x000353c4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x000353c8 bnez v0, 0x35c78 | goto label_109;
| }
0x000353cc lw t9, -0x7f60(gp) | t9 = sym.sshbuf_put_cstring;
0x000353d0 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x000353d4 move a0, s6 | a0 = s6;
0x000353d8 jalr t9 | t9 ();
0x000353dc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x000353e0 bnez v0, 0x35c78 | goto label_109;
| }
0x000353e4 lw t9, -0x7b30(gp) | t9 = sym.sshbuf_put_string;
0x000353e8 lw a2, 0x6c(sp) | a2 = *(var_6ch_2);
0x000353ec lw a1, 0x64(sp) | a1 = *(var_64h);
0x000353f0 move a0, s6 | a0 = s6;
0x000353f4 jalr t9 | t9 ();
0x000353f8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x000353fc bnez v0, 0x35c78 | goto label_109;
| }
0x00035400 lw v1, -0x7fc8(gp) | v1 = *(gp);
0x00035404 lw a2, 0x58(sp) | a2 = *(var_58h);
0x00035408 sw v1, 0x44(sp) | *(var_44h) = v1;
0x0003540c lw v0, (v1) | v0 = *(v1);
0x00035410 addiu v0, sp, 0x74 | v0 = sp + 0x74;
| if (v0 == 0) {
0x00035414 beqz v0, 0x358c0 | goto label_110;
| }
0x00035418 lw t9, -0x783c(gp) | t9 = sym.mm_user_key_allowed;
0x0003541c lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x00035420 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035424 addiu a3, zero, 1 | a3 = 1;
0x00035428 move a0, s1 | a0 = s1;
0x0003542c bal 0x3e2c4 | sym_mm_user_key_allowed ();
0x00035430 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035434 lw v1, 0x44(sp) | v1 = *(var_44h);
0x00035438 sltu v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
| label_32:
0x0003543c lw t0, 0x58(sp) | t0 = *(var_58h);
| if (v0 == 0) {
0x00035440 beqz v0, 0x359e8 | goto label_111;
| }
0x00035444 lw a1, 0x68(sp) | a1 = *(var_68h);
0x00035448 lw a2, 0x70(sp) | a2 = *(var_70h_2);
0x0003544c lw v0, (v1) | v0 = *(v1);
0x00035450 sw t0, 0x4c(sp) | *(var_4ch) = t0;
0x00035454 sw a1, 0x48(sp) | *(var_48h) = a1;
0x00035458 sw a2, 0x44(sp) | *(var_44h) = a2;
0x0003545c lw t9, -0x7fa0(gp) | t9 = sym.sshbuf_ptr;
0x00035460 move a0, s6 | a0 = s6;
| if (v0 == 0) {
0x00035464 beqz v0, 0x35980 | goto label_112;
| }
0x00035468 bal 0x4c334 | sym_sshbuf_ptr ();
0x0003546c nop |
0x00035470 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035474 move a0, s6 | a0 = s6;
0x00035478 lw t9, -0x7f9c(gp) | t9 = sym.sshbuf_len;
0x0003547c sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00035480 bal 0x4c154 | sym_sshbuf_len ();
0x00035484 lw v1, 0x2004(s1) | v1 = *((s1 + 2049));
0x00035488 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003548c andi a0, v1, 2 | a0 = v1 & 2;
0x00035490 lw a3, 0x3c(sp) | a3 = *(var_3ch);
0x00035494 lw a2, 0x44(sp) | a2 = *(var_44h);
0x00035498 lw a1, 0x48(sp) | a1 = *(var_48h);
0x0003549c lw t0, 0x4c(sp) | t0 = *(var_4ch);
| if (a0 != 0) {
0x000354a0 bnez a0, 0x35a00 | goto label_113;
| }
0x000354a4 lw t1, 0x5c(sp) | t1 = *(var_5ch);
| label_35:
0x000354a8 lw t9, -0x78b8(gp) | t9 = sym.mm_sshkey_verify;
| label_33:
0x000354ac addiu a0, sp, 0x78 | a0 = sp + 0x78;
0x000354b0 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x000354b4 sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x000354b8 sw t1, 0x14(sp) | *(var_14h_2) = t1;
0x000354bc sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000354c0 move a0, t0 | a0 = t0;
0x000354c4 jalr t9 | t9 ();
0x000354c8 sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x000354cc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x000354d0 beqz v0, 0x359c8 | goto label_114;
| }
0x000354d4 lw v0, 0x78(sp) | v0 = *(var_78h_2);
0x000354d8 lw a1, -0x7f34(gp) | a1 = *(gp);
| if (v0 != 0) {
0x000354dc beqz v0, 0x355a0 |
0x000354e0 lw t9, -0x78c0(gp) | t9 = sym.auth2_record_info;
0x000354e4 lw a2, (v0) | a2 = *(v0);
| /* str.signature_count___u */
0x000354e8 addiu a1, a1, -0x129c | a1 += -0x129c;
0x000354ec move a0, s4 | a0 = s4;
0x000354f0 bal 0x257bc | sym_auth2_record_info ();
0x000354f4 lw v0, 0x78(sp) | v0 = *(var_78h_2);
0x000354f8 lw gp, 0x30(sp) | gp = *(var_30h);
0x000354fc addiu a3, zero, 1 | a3 = 1;
0x00035500 lbu v1, 4(v0) | v1 = *((v0 + 4));
0x00035504 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00035508 sw v1, 0x20(sp) | *(var_20h) = v1;
0x0003550c lw v0, (v0) | v0 = *(v0);
0x00035510 addiu a2, zero, 0xd8 | a2 = 0xd8;
0x00035514 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00035518 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0003551c sw zero, 0x14(sp) | *(var_14h_2) = 0;
| /* str.sk_counter___u__sk_flags__0x_02x */
0x00035520 addiu v0, v0, -0x1284 | v0 += -0x1284;
0x00035524 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035528 addiu v0, zero, 5 | v0 = 5;
0x0003552c sw v0, 0x10(sp) | *(var_10h_2) = v0;
| /* str.userauth_pubkey */
0x00035530 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035534 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035538 jalr t9 | t9 ();
0x0003553c lw v0, 0x40(sp) | v0 = *(var_40h);
0x00035540 lw v0, 0x4c4(v0) | v0 = *(v0);
0x00035544 andi v1, v0, 1 | v1 = v0 & 1;
0x00035548 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v1 == 0) {
0x0003554c bnez v1, 0x35560 |
0x00035550 lw v1, 0x74(sp) | v1 = *(var_74h_2);
0x00035554 lw v1, 0x50(v1) | v1 = *((v1 + 20));
0x00035558 andi v0, v0, 2 | v0 &= 2;
| if (v1 == 0) {
0x0003555c bnel v1, zero, 0x35574 | goto label_115;
| }
| }
0x00035560 lw v1, 0x78(sp) | v1 = *(var_78h_2);
0x00035564 lbu v1, 4(v1) | v1 = *((v1 + 4));
0x00035568 andi v1, v1, 1 | v1 &= 1;
0x0003556c andi v0, v0, 2 | v0 &= 2;
| if (v1 == 0) {
0x00035570 beqz v1, 0x35a5c | goto label_116;
| }
| label_115:
0x00035574 lw v0, 0x78(sp) | v0 = *(var_78h_2);
| if (v0 == 0) {
0x00035578 bnez v0, 0x35590 |
0x0003557c lw v0, 0x74(sp) | v0 = *(var_74h_2);
0x00035580 lw v0, 0x54(v0) | v0 = *((v0 + 21));
0x00035584 lw t9, -0x78b4(gp) | t9 = sym.auth2_record_key;
| if (v0 == 0) {
0x00035588 beqz v0, 0x355a4 | goto label_117;
| }
0x0003558c lw v0, 0x78(sp) | v0 = *(var_78h_2);
| }
0x00035590 lbu v0, 4(v0) | v0 = *((v0 + 4));
0x00035594 andi v0, v0, 4 | v0 &= 4;
| if (v0 == 0) {
0x00035598 beql v0, zero, 0x35ae8 | goto label_118;
| }
0x0003559c lw v0, 0xc(s4) | v0 = *((s4 + 3));
| }
0x000355a0 lw t9, -0x78b4(gp) | t9 = sym.auth2_record_key;
| label_117:
0x000355a4 lw a2, 0x58(sp) | a2 = *(var_58h);
0x000355a8 addiu a1, zero, 1 | a1 = 1;
0x000355ac move a0, s4 | a0 = s4;
0x000355b0 bal 0x258a0 | sym_auth2_record_key ();
0x000355b4 lw gp, 0x30(sp) | gp = *(var_30h);
0x000355b8 lw a1, 0x74(sp) | a1 = *(var_74h_2);
0x000355bc lw t9, -0x7a60(gp) | t9 = sym.auth_activate_options;
0x000355c0 move a0, s1 | a0 = s1;
0x000355c4 bal 0x2414c | sym_auth_activate_options ();
0x000355c8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x000355cc beqz v0, 0x34e18 | goto label_19;
| }
0x000355d0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000355d4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.key_options_inconsistent_with_existing */
0x000355d8 addiu v0, v0, -0x1164 | v0 += -aav.0x00001164;
0x000355dc sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x000355e0 addiu v0, zero, 5 | v0 = 5;
0x000355e4 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x000355e8 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000355ec addiu a3, zero, 1 | a3 = 1;
0x000355f0 addiu a2, zero, 0x118 | a2 = aav.0x00000118;
| /* str.userauth_pubkey */
| label_29:
0x000355f4 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x000355f8 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x000355fc jalr t9 | t9 ();
0x00035600 move s0, zero | s0 = 0;
0x00035604 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035608 b 0x34e18 | goto label_19;
| label_90:
0x0003560c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00035610 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00035614 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00035618 sw zero, 0x14(sp) | *(var_14h_2) = 0;
| /* str.cannot_decode_key:__s */
0x0003561c addiu v0, v0, -0x1b80 | v0 += -0x1b80;
0x00035620 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035624 addiu v0, zero, 2 | v0 = 2;
0x00035628 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0003562c addiu a3, zero, 1 | a3 = 1;
0x00035630 addiu a2, zero, 0x86 | a2 = 0x86;
0x00035634 b 0x35118 | goto label_22;
| label_97:
0x00035638 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.Refusing_RSA_key_because_client_uses_unsafe_signature_scheme */
0x0003563c addiu v0, v0, -0x1384 | v0 += -0x1384;
0x00035640 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035644 addiu v0, zero, 3 | v0 = 3;
0x00035648 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x0003564c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035650 move a3, zero | a3 = 0;
0x00035654 addiu a2, zero, 0x91 | a2 = 0x91;
| /* str.userauth_pubkey */
0x00035658 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x0003565c addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035660 jalr t9 | t9 ();
0x00035664 move fp, zero | fp = 0;
0x00035668 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003566c move s7, zero | s7 = 0;
0x00035670 move s6, zero | s6 = 0;
0x00035674 b 0x34e18 | goto label_19;
| label_100:
0x00035678 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0003567c move t9, s6 | t9 = s6;
0x00035680 lw v0, 0x44(v0) | v0 = *((v0 + 17));
0x00035684 lw a0, 0x38(v0) | a0 = *((v0 + 14));
0x00035688 bal 0x327b0 | fcn_000327b0 ();
0x0003568c lbu v1, 0x57(sp) | v1 = *(var_57h);
0x00035690 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035694 move fp, v0 | fp = v0;
| if (v1 == 0) {
0x00035698 beqz v1, 0x35708 | goto label_119;
| }
0x0003569c lw v1, 0x5c(sp) | v1 = *(var_5ch);
| if (v0 == 0) {
0x000356a0 beqz v0, 0x35248 | goto label_23;
| }
0x000356a4 move t0, v0 | t0 = v0;
0x000356a8 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str._CA_ */
0x000356ac addiu v0, v0, -0x13d8 | v0 += -0x13d8;
0x000356b0 b 0x35254 | goto label_24;
| label_99:
0x000356b4 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x000356b8 move a0, v0 | a0 = v0;
0x000356bc bal 0x4b380 | sym_ssh_err ();
0x000356c0 lw v1, 0x58(sp) | v1 = *(var_58h);
0x000356c4 lw v1, 0x44(v1) | v1 = *((v1 + 17));
0x000356c8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v1 == 0) {
0x000356cc beqz v1, 0x357e0 | goto label_120;
| }
0x000356d0 lw v1, 0x3c(v1) | v1 = *((v1 + 15));
| if (v1 == 0) {
0x000356d4 beql v1, zero, 0x357e4 | goto label_121;
| }
0x000356d8 lw v1, -0x7f34(gp) | v1 = *(gp);
| label_27:
0x000356dc sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x000356e0 lw v1, -0x7f34(gp) | v1 = *(gp);
0x000356e4 sw v0, 0x14(sp) | *(var_14h_2) = v0;
| /* str.certificate_signature_algorithm__s */
0x000356e8 addiu v1, v1, -0x1ac0 | v1 += -0x1ac0;
0x000356ec addiu v0, zero, 3 | v0 = 3;
0x000356f0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x000356f4 sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x000356f8 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000356fc addiu a3, zero, 1 | a3 = 1;
0x00035700 addiu a2, zero, 0xa1 | a2 = 0xa1;
0x00035704 b 0x35054 | goto label_25;
| label_119:
0x00035708 lw v1, 0x5c(sp) | v1 = *(var_5ch);
| if (v0 == 0) {
0x0003570c beqz v0, 0x357d0 | goto label_101;
| }
0x00035710 move t0, v0 | t0 = v0;
0x00035714 lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str._CA_ */
0x00035718 addiu v0, v0, -0x13d8 | v0 += -0x13d8;
| do {
0x0003571c sw v0, 0x24(sp) | *(var_24h) = v0;
0x00035720 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00035724 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.test_pkalg__s_pkblob__s_s_s */
0x00035728 addiu v0, v0, -0x1180 | v0 += -0x1180;
0x0003572c sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035730 addiu v0, zero, 5 | v0 = 5;
0x00035734 addiu a3, zero, 1 | a3 = 1;
0x00035738 addiu a2, zero, 0xfa | a2 = 0xfa;
| /* str.userauth_pubkey */
0x0003573c addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035740 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035744 sw t0, 0x28(sp) | *(var_28h) = t0;
0x00035748 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0003574c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035750 sw s7, 0x20(sp) | *(var_20h) = s7;
0x00035754 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00035758 jalr t9 | t9 ();
0x0003575c lw gp, 0x30(sp) | gp = *(var_30h);
0x00035760 lw t9, -0x7ba0(gp) | t9 = sym.sshpkt_get_end;
0x00035764 move a0, s1 | a0 = s1;
0x00035768 jalr t9 | t9 ();
0x0003576c move s0, v0 | s0 = v0;
0x00035770 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00035774 bnez v0, 0x35cb8 | goto label_122;
| }
0x00035778 lw v0, 0xc(s4) | v0 = *((s4 + 3));
0x0003577c lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 == 0) {
0x00035780 beqz v0, 0x35840 | goto label_123;
| }
0x00035784 lw v0, 0x20(s4) | v0 = *((s4 + 8));
0x00035788 lw v0, -0x7f34(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0003578c beqz v0, 0x35840 | goto label_123;
| }
0x00035790 lw v0, -0x7fc8(gp) | v0 = *(gp);
0x00035794 lw v0, (v0) | v0 = *(v0);
0x00035798 lw a2, 0x58(sp) | a2 = *(var_58h);
| if (v0 == 0) {
0x0003579c beqz v0, 0x3589c | goto label_124;
| }
0x000357a0 lw t9, -0x783c(gp) | t9 = sym.mm_user_key_allowed;
0x000357a4 lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x000357a8 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x000357ac move a3, zero | a3 = 0;
0x000357b0 move a0, s1 | a0 = s1;
0x000357b4 bal 0x3e2c4 | sym_mm_user_key_allowed ();
0x000357b8 lw gp, 0x30(sp) | gp = *(var_30h);
0x000357bc sltu v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
| label_31:
0x000357c0 move s6, zero | s6 = 0;
| if (v0 != 0) {
0x000357c4 bnez v0, 0x358e8 | goto label_125;
| }
0x000357c8 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x000357cc b 0x34e1c | goto label_26;
| label_101:
0x000357d0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000357d4 addiu v0, v0, -0x6990 | v0 += -0x6990;
0x000357d8 move t0, v0 | t0 = v0;
0x000357dc b 0x3571c |
| } while (1);
| label_120:
0x000357e0 lw v1, -0x7f34(gp) | v1 = *(gp);
| /* str._null_ */
| label_121:
0x000357e4 addiu v1, v1, -0x779c | v1 += -0x779c;
0x000357e8 b 0x356dc | goto label_27;
| label_104:
0x000357ec lw t9, -0x7f64(gp) | t9 = sym.sshbuf_put_stringb;
0x000357f0 move a0, s6 | a0 = s6;
0x000357f4 jalr t9 | t9 ();
0x000357f8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x000357fc beqz v0, 0x35308 | goto label_28;
| }
0x00035800 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00035804 move a0, v0 | a0 = v0;
0x00035808 bal 0x4b380 | sym_ssh_err ();
0x0003580c lw gp, 0x30(sp) | gp = *(var_30h);
0x00035810 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00035814 addiu v0, zero, 1 | v0 = 1;
0x00035818 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0003581c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.put_session_id */
0x00035820 addiu v1, v1, -0x12ac | v1 += -0x12ac;
0x00035824 sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x00035828 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0003582c addiu a3, zero, 1 | a3 = 1;
0x00035830 addiu a2, zero, 0xb6 | a2 = 0xb6;
| /* str.userauth_pubkey */
0x00035834 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035838 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x0003583c jalr t9 | t9 ();
| label_123:
0x00035840 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.disabled_because_of_invalid_user */
0x00035844 addiu v0, v0, -0x1a9c | v0 += -0x1a9c;
0x00035848 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x0003584c addiu v0, zero, 6 | v0 = 6;
0x00035850 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00035854 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035858 addiu a3, zero, 1 | a3 = 1;
0x0003585c addiu a2, zero, 0x100 | a2 = aav.0x00000100;
| /* str.userauth_pubkey */
0x00035860 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035864 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035868 jalr t9 | t9 ();
0x0003586c move s6, zero | s6 = 0;
0x00035870 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035874 b 0x34e18 | goto label_19;
| label_106:
0x00035878 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.disabled_because_of_invalid_user */
| label_107:
0x0003587c addiu v0, v0, -0x1a9c | v0 += -0x1a9c;
0x00035880 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035884 addiu v0, zero, 6 | v0 = 6;
0x00035888 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x0003588c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035890 addiu a3, zero, 1 | a3 = 1;
0x00035894 addiu a2, zero, 0xb9 | a2 = 0xb9;
0x00035898 b 0x355f4 | goto label_29;
| label_124:
0x0003589c lw t9, -0x7838(gp) | t9 = *(gp);
0x000358a0 lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x000358a4 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x000358a8 move a3, zero | a3 = 0;
0x000358ac move a0, s1 | a0 = s1;
0x000358b0 bal 0x335c0 | sym_user_key_allowed ();
| goto label_30;
0x000358b4 sltu v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
0x000358b8 lw gp, 0x30(sp) | gp = *(var_30h);
0x000358bc b 0x357c0 | goto label_31;
| label_110:
0x000358c0 lw t9, -0x7838(gp) | t9 = *(gp);
0x000358c4 lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x000358c8 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000358cc addiu a3, zero, 1 | a3 = 1;
0x000358d0 move a0, s1 | a0 = s1;
0x000358d4 bal 0x335c0 | sym_user_key_allowed ();
| goto label_30;
0x000358d8 sltu v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
0x000358dc lw gp, 0x30(sp) | gp = *(var_30h);
0x000358e0 lw v1, 0x44(sp) | v1 = *(var_44h);
0x000358e4 b 0x3543c | goto label_32;
| label_125:
0x000358e8 lw t9, -0x7d38(gp) | t9 = sym.sshpkt_start;
0x000358ec addiu a1, zero, 0x3c | a1 = 0x3c;
0x000358f0 move a0, s1 | a0 = s1;
0x000358f4 jalr t9 | t9 ();
0x000358f8 move s0, v0 | s0 = v0;
0x000358fc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00035900 bnez v0, 0x35c38 | goto label_126;
| }
0x00035904 lw t9, -0x7d34(gp) | t9 = sym.sshpkt_put_cstring;
0x00035908 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x0003590c move a0, s1 | a0 = s1;
0x00035910 jalr t9 | t9 ();
0x00035914 move s0, v0 | s0 = v0;
0x00035918 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0003591c bnez v0, 0x35c38 | goto label_126;
| }
0x00035920 lw t9, -0x7834(gp) | t9 = sym.sshpkt_put_string;
0x00035924 lw a2, 0x6c(sp) | a2 = *(var_6ch_2);
0x00035928 lw a1, 0x64(sp) | a1 = *(var_64h);
0x0003592c move a0, s1 | a0 = s1;
0x00035930 jalr t9 | t9 ();
0x00035934 move s0, v0 | s0 = v0;
0x00035938 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0003593c bnez v0, 0x35c38 | goto label_126;
| }
0x00035940 lw t9, -0x7e18(gp) | t9 = sym.sshpkt_send;
0x00035944 move a0, s1 | a0 = s1;
0x00035948 jalr t9 | t9 ();
0x0003594c move s0, v0 | s0 = v0;
0x00035950 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00035954 bnez v0, 0x35c38 | goto label_126;
| }
0x00035958 lw t9, -0x7b40(gp) | t9 = sym.ssh_packet_write_wait;
0x0003595c move a0, s1 | a0 = s1;
0x00035960 jalr t9 | t9 ();
0x00035964 move s0, v0 | s0 = v0;
0x00035968 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0003596c bnez v0, 0x35c38 | goto label_126;
| }
0x00035970 addiu v0, zero, 1 | v0 = 1;
0x00035974 sw v0, 8(s4) | *((s4 + 2)) = v0;
0x00035978 move s6, zero | s6 = 0;
0x0003597c b 0x34e18 | goto label_19;
| label_112:
0x00035980 bal 0x4c334 | sym_sshbuf_ptr ();
0x00035984 nop |
0x00035988 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003598c move a0, s6 | a0 = s6;
0x00035990 lw t9, -0x7f9c(gp) | t9 = sym.sshbuf_len;
0x00035994 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00035998 bal 0x4c154 | sym_sshbuf_len ();
0x0003599c lw v1, 0x2004(s1) | v1 = *((s1 + 2049));
0x000359a0 lw gp, 0x30(sp) | gp = *(var_30h);
0x000359a4 andi a0, v1, 2 | a0 = v1 & 2;
0x000359a8 lw a3, 0x3c(sp) | a3 = *(var_3ch);
0x000359ac lw a2, 0x44(sp) | a2 = *(var_44h);
0x000359b0 lw a1, 0x48(sp) | a1 = *(var_48h);
0x000359b4 lw t0, 0x4c(sp) | t0 = *(var_4ch);
| if (a0 != 0) {
0x000359b8 bnez a0, 0x35a08 | goto label_127;
| }
0x000359bc lw t1, 0x5c(sp) | t1 = *(var_5ch);
0x000359c0 lw t9, -0x78ac(gp) | t9 = sym.sshkey_verify;
0x000359c4 b 0x354ac | goto label_33;
| label_114:
0x000359c8 lw t9, -0x78b4(gp) | t9 = sym.auth2_record_key;
0x000359cc lw a2, 0x58(sp) | a2 = *(var_58h);
| do {
0x000359d0 move a1, zero | a1 = 0;
0x000359d4 move a0, s4 | a0 = s4;
0x000359d8 bal 0x258a0 | sym_auth2_record_key ();
0x000359dc move s0, zero | s0 = 0;
0x000359e0 lw gp, 0x30(sp) | gp = *(var_30h);
0x000359e4 b 0x34e18 | goto label_19;
| label_111:
0x000359e8 lw t9, -0x78b4(gp) | t9 = sym.auth2_record_key;
0x000359ec move a2, t0 | a2 = t0;
0x000359f0 b 0x359d0 |
| } while (1);
| label_108:
0x000359f4 addiu a3, a3, -0x6990 | a3 += -0x6990;
0x000359f8 move v0, a3 | v0 = a3;
0x000359fc b 0x35334 | goto label_34;
| label_113:
0x00035a00 move t1, zero | t1 = 0;
0x00035a04 b 0x354a8 | goto label_35;
| label_127:
0x00035a08 move t1, zero | t1 = 0;
0x00035a0c lw t9, -0x78ac(gp) | t9 = sym.sshkey_verify;
0x00035a10 b 0x354ac | goto label_33;
| label_86:
0x00035a14 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00035a18 move a0, v0 | a0 = v0;
0x00035a1c bal 0x4b380 | sym_ssh_err ();
0x00035a20 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035a24 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00035a28 addiu v0, zero, 1 | v0 = 1;
0x00035a2c lw v1, -0x7f34(gp) | v1 = *(gp);
0x00035a30 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* esilref: 'parse packet' */
0x00035a34 addiu v1, v1, -0x5904 | v1 += -0x5904;
0x00035a38 sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x00035a3c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035a40 addiu a3, zero, 1 | a3 = 1;
0x00035a44 addiu a2, zero, 0x6a | a2 = 0x6a;
| label_38:
0x00035a48 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00035a4c lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.userauth_pubkey */
0x00035a50 addiu a1, a1, -0x1120 | a1 += -0x1120;
| /* str.auth2_pubkey.c */
0x00035a54 addiu a0, a0, -0x1898 | a0 += -0x1898;
0x00035a58 jalr t9 | t9 ();
| label_116:
0x00035a5c lw v0, 0xc(s4) | v0 = *((s4 + 3));
0x00035a60 lw s0, -0x7f34(gp) | s0 = *(gp);
| if (v0 == 0) {
0x00035a64 bnel v0, zero, 0x35b68 | goto label_128;
| }
0x00035a68 lw s0, -0x7f34(gp) | s0 = *(gp);
| /* str.invalid_user_ */
0x00035a6c addiu s0, s0, -0x4e44 | s0 += -0x4e44;
| label_36:
0x00035a70 lw t9, -0x7fbc(gp) | t9 = sym.ssh_remote_ipaddr;
0x00035a74 move a0, s1 | a0 = s1;
0x00035a78 lw s4, 0x20(s4) | s4 = *((s4 + 8));
0x00035a7c jalr t9 | t9 ();
0x00035a80 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035a84 move a0, s1 | a0 = s1;
0x00035a88 lw t9, -0x7fb8(gp) | t9 = sym.ssh_remote_port;
0x00035a8c move s1, v0 | s1 = v0;
0x00035a90 jalr t9 | t9 ();
0x00035a94 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035a98 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00035a9c sw s1, 0x28(sp) | *(var_28h) = s1;
0x00035aa0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00035aa4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.public_key__s_signature_for__s_s_from__.128s_port__d_rejected:_user_presence__authenticator_touch__requirement_not_met_ */
0x00035aa8 addiu v0, v0, -0x1260 | v0 += -0x1260;
0x00035aac sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035ab0 addiu v0, zero, 2 | v0 = 2;
0x00035ab4 sw s4, 0x24(sp) | *(var_24h) = s4;
0x00035ab8 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00035abc sw s7, 0x1c(sp) | *(var_1ch) = s7;
0x00035ac0 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00035ac4 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035ac8 move a3, zero | a3 = 0;
0x00035acc addiu a2, zero, 0xe4 | a2 = 0xe4;
| do {
0x00035ad0 addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
0x00035ad4 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035ad8 jalr t9 | t9 ();
0x00035adc move s0, zero | s0 = 0;
0x00035ae0 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035ae4 b 0x34e18 | goto label_19;
| label_118:
0x00035ae8 lw s0, -0x7f34(gp) | s0 = *(gp);
| if (v0 == 0) {
0x00035aec bnel v0, zero, 0x35b70 | goto label_129;
| }
0x00035af0 lw s0, -0x7f34(gp) | s0 = *(gp);
| /* str.invalid_user_ */
0x00035af4 addiu s0, s0, -0x4e44 | s0 += -0x4e44;
| label_37:
0x00035af8 lw t9, -0x7fbc(gp) | t9 = sym.ssh_remote_ipaddr;
0x00035afc move a0, s1 | a0 = s1;
0x00035b00 lw s4, 0x20(s4) | s4 = *((s4 + 8));
0x00035b04 jalr t9 | t9 ();
0x00035b08 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035b0c move a0, s1 | a0 = s1;
0x00035b10 lw t9, -0x7fb8(gp) | t9 = sym.ssh_remote_port;
0x00035b14 move s1, v0 | s1 = v0;
0x00035b18 jalr t9 | t9 ();
0x00035b1c lw gp, 0x30(sp) | gp = *(var_30h);
0x00035b20 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00035b24 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00035b28 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00035b2c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.public_key__s_signature_for__s_s_from__.128s_port__d_rejected:_user_verification_requirement_not_met_ */
0x00035b30 addiu v0, v0, -0x11e8 | v0 += -aav.0x000011e8;
0x00035b34 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035b38 addiu v0, zero, 2 | v0 = 2;
0x00035b3c sw s4, 0x24(sp) | *(var_24h) = s4;
0x00035b40 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00035b44 sw s7, 0x1c(sp) | *(var_1ch) = s7;
0x00035b48 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00035b4c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035b50 move a3, zero | a3 = 0;
0x00035b54 addiu a2, zero, 0xf2 | a2 = 0xf2;
0x00035b58 b 0x35ad0 |
| } while (1);
| label_92:
0x00035b5c lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x00035b60 jalr t9 | t9 ();
0x00035b64 nop |
| label_128:
0x00035b68 addiu s0, s0, -0x6990 | s0 += -0x6990;
0x00035b6c b 0x35a70 | goto label_36;
| label_129:
0x00035b70 addiu s0, s0, -0x6990 | s0 += -0x6990;
0x00035b74 b 0x35af8 | goto label_37;
| label_93:
0x00035b78 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00035b7c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_from_failed */
0x00035b80 addiu v0, v0, -0x13d0 | v0 += -0x13d0;
0x00035b84 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035b88 addiu v0, zero, 1 | v0 = 1;
0x00035b8c sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00035b90 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035b94 addiu a3, zero, 1 | a3 = 1;
0x00035b98 addiu a2, zero, 0x71 | a2 = 0x71;
0x00035b9c b 0x35a48 | goto label_38;
| label_94:
0x00035ba0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00035ba4 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_dtob64_failed */
0x00035ba8 addiu v0, v0, -0x13bc | v0 += -0x13bc;
0x00035bac sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035bb0 addiu v0, zero, 1 | v0 = 1;
0x00035bb4 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00035bb8 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035bbc addiu a3, zero, 1 | a3 = 1;
0x00035bc0 addiu a2, zero, 0x73 | a2 = 0x73;
0x00035bc4 b 0x35a48 | goto label_38;
| label_102:
0x00035bc8 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00035bcc move a0, v0 | a0 = v0;
0x00035bd0 bal 0x4b380 | sym_ssh_err ();
0x00035bd4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035bd8 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00035bdc addiu v0, zero, 1 | v0 = 1;
0x00035be0 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00035be4 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.parse_signature_packet */
0x00035be8 addiu v1, v1, -0x12d8 | v1 += -0x12d8;
0x00035bec sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x00035bf0 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035bf4 addiu a3, zero, 1 | a3 = 1;
0x00035bf8 addiu a2, zero, 0xad | a2 = 0xad;
| /* str.userauth_pubkey */
0x00035bfc addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035c00 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035c04 jalr t9 | t9 ();
| label_103:
0x00035c08 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x00035c0c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_new_failed */
0x00035c10 addiu v0, v0, 0x66b0 | v0 += 0x66b0;
0x00035c14 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00035c18 addiu v0, zero, 1 | v0 = 1;
0x00035c1c sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x00035c20 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035c24 addiu a3, zero, 1 | a3 = 1;
0x00035c28 addiu a2, zero, 0xaf | a2 = 0xaf;
| /* str.userauth_pubkey */
0x00035c2c addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035c30 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035c34 jalr t9 | t9 ();
| label_126:
0x00035c38 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00035c3c move a0, s0 | a0 = s0;
0x00035c40 bal 0x4b380 | sym_ssh_err ();
0x00035c44 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035c48 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00035c4c addiu v0, zero, 1 | v0 = 1;
0x00035c50 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00035c54 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.send_packet */
0x00035c58 addiu v1, v1, -0x3d40 | v1 += -0x3d40;
0x00035c5c sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x00035c60 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035c64 addiu a3, zero, 1 | a3 = 1;
0x00035c68 addiu a2, zero, 0x112 | a2 = 0x112;
| /* str.userauth_pubkey */
0x00035c6c addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035c70 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035c74 jalr t9 | t9 ();
| label_109:
0x00035c78 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00035c7c move a0, v0 | a0 = v0;
0x00035c80 bal 0x4b380 | sym_ssh_err ();
0x00035c84 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035c88 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00035c8c addiu v0, zero, 1 | v0 = 1;
0x00035c90 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00035c94 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.reconstruct_packet */
0x00035c98 addiu v1, v1, -0x1a78 | v1 += -0x1a78;
0x00035c9c sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x00035ca0 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035ca4 addiu a3, zero, 1 | a3 = 1;
0x00035ca8 addiu a2, zero, 0xc7 | a2 = 0xc7;
| /* str.userauth_pubkey */
0x00035cac addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035cb0 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035cb4 jalr t9 | t9 ();
| label_122:
0x00035cb8 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00035cbc move a0, v0 | a0 = v0;
0x00035cc0 bal 0x4b380 | sym_ssh_err ();
0x00035cc4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035cc8 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00035ccc addiu v0, zero, 1 | v0 = 1;
0x00035cd0 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00035cd4 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* esilref: 'parse packet' */
0x00035cd8 addiu v1, v1, -0x5904 | v1 += -0x5904;
0x00035cdc sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x00035ce0 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035ce4 addiu a3, zero, 1 | a3 = 1;
0x00035ce8 addiu a2, zero, 0xfd | a2 = 0xfd;
| /* str.userauth_pubkey */
0x00035cec addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035cf0 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035cf4 jalr t9 | t9 ();
| label_105:
0x00035cf8 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00035cfc move a0, v0 | a0 = v0;
0x00035d00 bal 0x4b380 | sym_ssh_err ();
0x00035d04 lw gp, 0x30(sp) | gp = *(var_30h);
0x00035d08 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00035d0c addiu v0, zero, 1 | v0 = 1;
0x00035d10 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00035d14 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.put_old_session_id */
0x00035d18 addiu v1, v1, -0x12c0 | v1 += -0x12c0;
0x00035d1c sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x00035d20 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00035d24 addiu a3, zero, 1 | a3 = 1;
0x00035d28 addiu a2, zero, 0xb2 | a2 = 0xb2;
| /* str.userauth_pubkey */
0x00035d2c addiu a1, s3, -0x1120 | a1 = s3 + -0x1120;
| /* str.auth2_pubkey.c */
0x00035d30 addiu a0, s2, -0x1898 | a0 = s2 + -0x1898;
0x00035d34 jalr t9 | t9 ();
0x00035d38 nop |
0x00035d3c nop |
0x00035d40 lui gp, 0xd |
0x00035d44 addiu gp, gp, -0x3a50 |
0x00035d48 addu gp, gp, t9 | gp += t9;
0x00035d4c addiu sp, sp, -0x40 |
0x00035d50 lw v0, -0x7830(gp) | v0 = *(gp);
0x00035d54 sw s1, 0x38(sp) | *(var_38h) = s1;
0x00035d58 sw gp, 0x28(sp) | *(var_28h_2) = gp;
0x00035d5c sw ra, 0x3c(sp) | *(var_3ch_2) = ra;
0x00035d60 sw s0, 0x34(sp) | *(var_34h) = s0;
0x00035d64 lw v0, (v0) | v0 = *(v0);
0x00035d68 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00035d6c move s1, a2 | s1 = a2;
| if (v1 == 0) {
0x00035d70 beqz v1, 0x35d9c | goto label_130;
| }
0x00035d74 lw v1, 4(v0) | v1 = *((v0 + 1));
| do {
0x00035d78 andi a0, v1, 0xc | a0 = v1 & 0xc;
| if (a0 != 0) {
0x00035d7c beql a0, zero, 0x35d90 |
0x00035d80 addiu v0, v0, 0xc | v0 += 0xc;
0x00035d84 ori v1, v1, 0x1000 | v1 |= 0x1000;
0x00035d88 sw v1, 4(v0) | *((v0 + 1)) = v1;
0x00035d8c addiu v0, v0, 0xc | v0 += 0xc;
| }
0x00035d90 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00035d94 lw v1, 4(v0) | v1 = *((v0 + 1));
0x00035d98 bnel v1, zero, 0x35d78 |
| } while (v1 == 0);
| label_130:
0x00035d9c lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x00035da0 lw t9, -0x7f14(gp) | t9 = sym.sshbuf_get_cstring;
0x00035da4 move a2, zero | a2 = 0;
0x00035da8 lw a1, -0x4314(s0) | a1 = *((s0 - 4293));
0x00035dac move a0, s1 | a0 = s1;
0x00035db0 addiu a1, a1, 0x24 | a1 += 0x24;
0x00035db4 jalr t9 | t9 ();
0x00035db8 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00035dbc bnez v0, 0x35e80 |
0x00035dc0 lw a1, -0x4314(s0) | a1 = *((s0 - 4293));
0x00035dc4 lw t9, -0x7f14(gp) | t9 = sym.sshbuf_get_cstring;
0x00035dc8 move a2, zero | a2 = 0;
0x00035dcc addiu a1, a1, 0x2c | a1 += 0x2c;
0x00035dd0 move a0, s1 | a0 = s1;
0x00035dd4 jalr t9 | t9 ();
0x00035dd8 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x00035ddc bnez v0, 0x35e80 | goto label_131;
| }
0x00035de0 lw v0, -0x4314(s0) | v0 = *((s0 - 4293));
0x00035de4 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00035de8 lw a0, -0x7f34(gp) | a0 = *(gp);
0x00035dec lw v1, 0x2c(v0) | v1 = *((v0 + 11));
0x00035df0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00035df4 sw v1, 0x20(sp) | *(var_20h_2) = v1;
0x00035df8 lw v0, 0x24(v0) | v0 = *((v0 + 9));
| /* str.monitor.c */
0x00035dfc addiu a0, a0, -0x1050 | a0 += -0x1050;
0x00035e00 sw v0, 0x1c(sp) | *(var_1ch_2) = v0;
0x00035e04 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00035e08 sw zero, 0x14(sp) | *(var_14h_3) = 0;
| /* str.service_s__style_s */
0x00035e0c addiu v0, v0, -0x1044 | v0 += -aav.0x00001044;
0x00035e10 sw v0, 0x18(sp) | *(var_18h_3) = v0;
0x00035e14 addiu v0, zero, 7 | v0 = 7;
0x00035e18 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x00035e1c addiu a3, zero, 1 | a3 = 1;
0x00035e20 addiu a2, zero, 0x349 | a2 = 0x349;
| /* str.mm_answer_authserv */
0x00035e24 addiu a1, a1, -0x4e0 | a1 += -0x4e0;
0x00035e28 jalr t9 | t9 ();
0x00035e2c lw s0, -0x4314(s0) | s0 = *((s0 - 4293));
0x00035e30 lw a0, 0x2c(s0) | a0 = *((s0 + 11));
0x00035e34 lb v0, (a0) | v0 = *(a0);
0x00035e38 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x00035e3c beqz v0, 0x35e58 |
0x00035e40 lw ra, 0x3c(sp) | ra = *(var_3ch_2);
0x00035e44 lw s1, 0x38(sp) | s1 = *(var_38h);
0x00035e48 lw s0, 0x34(sp) | s0 = *(var_34h);
0x00035e4c move v0, zero | v0 = 0;
0x00035e50 addiu sp, sp, 0x40 |
0x00035e54 jr ra | return v0;
| }
0x00035e58 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00035e5c jalr t9 | t9 ();
0x00035e60 nop |
0x00035e64 sw zero, 0x2c(s0) | *((s0 + 11)) = 0;
0x00035e68 lw ra, 0x3c(sp) | ra = *(var_3ch_2);
0x00035e6c lw s1, 0x38(sp) | s1 = *(var_38h);
0x00035e70 lw s0, 0x34(sp) | s0 = *(var_34h);
0x00035e74 move v0, zero | v0 = 0;
0x00035e78 addiu sp, sp, 0x40 |
0x00035e7c jr ra | return v0;
| }
| label_131:
0x00035e80 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00035e84 move a0, v0 | a0 = v0;
0x00035e88 bal 0x4b380 | sym_ssh_err ();
0x00035e8c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00035e90 sw v0, 0x14(sp) | *(var_14h_3) = v0;
0x00035e94 addiu v0, zero, 1 | v0 = 1;
0x00035e98 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00035e9c lw a1, -0x7f34(gp) | a1 = *(gp);
0x00035ea0 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.parse */
0x00035ea4 addiu v1, v1, -0x2488 | v1 += -0x2488;
0x00035ea8 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00035eac sw v1, 0x18(sp) | *(var_18h_3) = v1;
0x00035eb0 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x00035eb4 addiu a3, zero, 1 | a3 = 1;
0x00035eb8 addiu a2, zero, 0x348 | a2 = aav.0x00000348;
| /* str.mm_answer_authserv */
0x00035ebc addiu a1, a1, -0x4e0 | a1 += -0x4e0;
| /* str.monitor.c */
0x00035ec0 addiu a0, a0, -0x1050 | a0 += -0x1050;
0x00035ec4 jalr t9 | t9 ();
0x00035ec8 lui gp, 0xd |
0x00035ecc addiu gp, gp, -0x3bd8 |
0x00035ed0 addu gp, gp, t9 | gp += t9;
0x00035ed4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00035ed8 move a1, a0 | a1 = a0;
0x00035edc lw t9, -0x71c0(gp) | t9 = sym.imp.kill;
0x00035ee0 lw a0, -0x433c(v0) | a0 = *((v0 - 4303));
0x00035ee4 jr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x839e8 */
| #include <stdint.h>
|
; (fcn) sym.xextendf () | void xextendf () {
0x000839e8 lui gp, 8 |
0x000839ec addiu gp, gp, -0x16f8 |
0x000839f0 addu gp, gp, t9 | gp += t9;
0x000839f4 addiu sp, sp, -0x40 |
0x000839f8 move v1, a2 | v1 = a2;
0x000839fc sw s1, 0x34(sp) | *(var_34h_2) = s1;
0x00083a00 lw s1, -0x6fc4(gp) | s1 = *((gp - 7153));
0x00083a04 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00083a08 sw s2, 0x38(sp) | *(var_38h_2) = s2;
0x00083a0c sw s0, 0x30(sp) | *(var_30h_2) = s0;
0x00083a10 sw ra, 0x3c(sp) | *(var_3ch_2) = ra;
0x00083a14 lw v0, (s1) | v0 = *(s1);
0x00083a18 addiu a2, sp, 0x4c | a2 = sp + 0x4c;
0x00083a1c lw t9, -0x74f4(gp) | t9 = sym.xvasprintf
0x00083a20 move s0, a0 | s0 = a0;
0x00083a24 sw a2, 0x20(sp) | *(var_20h) = a2;
0x00083a28 move s2, a1 | s2 = a1;
0x00083a2c sw a3, 0x4c(sp) | *(var_4ch) = a3;
0x00083a30 move a1, v1 | a1 = v1;
0x00083a34 addiu a0, sp, 0x24 | a0 = sp + 0x24;
0x00083a38 sw v0, 0x2c(sp) | *(var_2ch_2) = v0;
0x00083a3c bal 0x7e0e0 | sym_xvasprintf ()
0x00083a40 nop |
0x00083a44 lw a2, (s0) | a2 = *(s0);
0x00083a48 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (a2 == 0) {
0x00083a4c beqz a2, 0x83ad4 | goto label_1;
| }
0x00083a50 lb v0, (a2) | v0 = *(a2);
0x00083a54 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
| if (v0 == 0) {
0x00083a58 beqz v0, 0x83ad8 | goto label_2;
| }
| if (s2 == 0) {
0x00083a5c beql s2, zero, 0x83af0 | goto label_3;
| }
0x00083a60 lw s2, -0x7f34(gp) | s2 = *(gp);
| label_0:
0x00083a64 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00083a68 lw v0, 0x24(sp) | v0 = *(var_24h_2);
0x00083a6c lw t9, -0x7c50(gp) | t9 = sym.xasprintf
0x00083a70 move a3, s2 | a3 = s2;
| /* esilref: '&s&s&s' */
0x00083a74 addiu a1, a1, -0x7ec | a1 += -0x7ec;
0x00083a78 addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x00083a7c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00083a80 bal 0x7e16c | sym_xasprintf ()
0x00083a84 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00083a88 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00083a8c lw a0, 0x24(sp) | a0 = *(var_24h_2);
0x00083a90 jalr t9 | t9 ();
0x00083a94 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00083a98 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x00083a9c lw a0, (s0) | a0 = *(s0);
0x00083aa0 jalr t9 | t9 ();
0x00083aa4 lw v0, 0x28(sp) | v0 = *(var_28h_2);
0x00083aa8 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00083aac sw v0, (s0) | *(s0) = v0;
| do {
0x00083ab0 lw v1, 0x2c(sp) | v1 = *(var_2ch_2);
0x00083ab4 lw v0, (s1) | v0 = *(s1);
0x00083ab8 lw ra, 0x3c(sp) | ra = *(var_3ch_2);
| if (v1 != v0) {
0x00083abc bne v1, v0, 0x83af8 | goto label_4;
| }
0x00083ac0 lw s2, 0x38(sp) | s2 = *(var_38h_2);
0x00083ac4 lw s1, 0x34(sp) | s1 = *(var_34h_2);
0x00083ac8 lw s0, 0x30(sp) | s0 = *(var_30h_2);
0x00083acc addiu sp, sp, 0x40 |
0x00083ad0 jr ra | return v0;
| label_1:
0x00083ad4 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
| label_2:
0x00083ad8 move a0, a2 | a0 = a2;
0x00083adc jalr t9 | t9 ();
0x00083ae0 lw v0, 0x24(sp) | v0 = *(var_24h_2);
0x00083ae4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00083ae8 sw v0, (s0) | *(s0) = v0;
0x00083aec b 0x83ab0 |
| } while (1);
| label_3:
0x00083af0 addiu s2, s2, -0x6990 | s2 += -0x6990;
0x00083af4 b 0x83a64 | goto label_0;
| label_4:
0x00083af8 lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x00083afc jalr t9 | t9 ();
0x00083b00 nop |
0x00083b04 lwl v1, 3(a0) | __asm ("lwl v1, 3(a0)");
0x00083b08 lwl v0, 7(a0) | __asm ("lwl v0, 7(a0)");
0x00083b0c lwr v1, (a0) | __asm ("lwr v1, (a0)");
0x00083b10 lwr v0, 4(a0) | __asm ("lwr v0, 4(a0)");
0x00083b14 wsbh v1, v1 | __asm ("wsbh v1, v1");
0x00083b18 wsbh v0, v0 | __asm ("wsbh v0, v0");
0x00083b1c rotr v1, v1, 0x10 | __asm ("rotr v1, v1, 0x10");
0x00083b20 rotr v0, v0, 0x10 | __asm ("rotr v0, v0, 0x10");
0x00083b24 jr ra | return v0;
| }
[*] Function sprintf used 25 times sshd