[*] Binary protection state of sshd
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of sshd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x6e770 */
| #include <stdint.h>
|
; (fcn) fcn.0006e770 () | void fcn_0006e770 () {
0x0006e770 lui gp, 9 |
0x0006e774 addiu gp, gp, 0x3b80 |
0x0006e778 addu gp, gp, t9 | gp += t9;
0x0006e77c addiu sp, sp, -0x48 |
0x0006e780 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0006e784 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0006e788 sw ra, 0x44(sp) | *(var_44h) = ra;
0x0006e78c sw s3, 0x38(sp) | *(var_38h) = s3;
0x0006e790 sw s2, 0x34(sp) | *(var_34h_2) = s2;
0x0006e794 sw s1, 0x30(sp) | *(var_30h) = s1;
0x0006e798 sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x0006e79c sw s5, 0x40(sp) | *(var_40h) = s5;
0x0006e7a0 sw s4, 0x3c(sp) | *(var_3ch) = s4;
0x0006e7a4 move s1, a0 | s1 = a0;
0x0006e7a8 move a0, a1 | a0 = a1;
0x0006e7ac move s2, a2 | s2 = a2;
0x0006e7b0 move s3, a3 | s3 = a3;
0x0006e7b4 bal 0x7e064 | sym_xstrdup ();
0x0006e7b8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006e7bc move a0, v0 | a0 = v0;
0x0006e7c0 lw t9, -0x7aac(gp) | t9 = sym.lowercase;
0x0006e7c4 move s0, v0 | s0 = v0;
0x0006e7c8 bal 0x84bc8 | sym_lowercase ();
0x0006e7cc lw v0, 0x58(sp) | v0 = *(var_10h);
0x0006e7d0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0006e7d4 beqz v0, 0x6e870 |
0x0006e7d8 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0006e7dc lw s5, -0x759c(gp) | s5 = sym.host_hash;
| /* esilref: '&s ' */
0x0006e7e0 addiu s4, a2, 0x6b70 | s4 = a2 + 0x6b70;
0x0006e7e4 move a0, s0 | a0 = s0;
| label_0:
0x0006e7e8 move a2, zero | a2 = 0;
0x0006e7ec move t9, s5 | t9 = s5;
0x0006e7f0 move a1, zero | a1 = 0;
0x0006e7f4 bal 0x6e2c4 | sym_host_hash ();
0x0006e7f8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0006e7fc bnez v0, 0x6e8f8 | goto label_2;
| }
0x0006e800 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0006e804 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0006e808 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.host_hash_failed */
0x0006e80c addiu v0, v0, 0x6b5c | v0 += 0x6b5c;
0x0006e810 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0006e814 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x0006e818 addiu v0, zero, 2 | v0 = 2;
0x0006e81c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0006e820 addiu a3, zero, 1 | a3 = 1;
0x0006e824 addiu a2, zero, 0x1c1 | a2 = 0x1c1;
| /* str.write_host_entry */
0x0006e828 addiu a1, a1, 0x6e74 | a1 += 0x6e74;
| /* str.hostfile.c */
0x0006e82c addiu a0, a0, 0x6970 | a0 += 0x6970;
0x0006e830 sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x0006e834 bal 0x7151c | sym_sshlog ();
0x0006e838 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006e83c lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0006e840 move a0, s0 | a0 = s0;
0x0006e844 jalr t9 | t9 ();
0x0006e848 lw ra, 0x44(sp) | ra = *(var_44h);
0x0006e84c lw s5, 0x40(sp) | s5 = *(var_40h);
0x0006e850 lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x0006e854 lw s3, 0x38(sp) | s3 = *(var_38h);
0x0006e858 lw s2, 0x34(sp) | s2 = *(var_34h_2);
0x0006e85c lw s1, 0x30(sp) | s1 = *(var_30h);
0x0006e860 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0006e864 move v0, zero | v0 = 0;
0x0006e868 addiu sp, sp, 0x48 |
0x0006e86c jr ra | return v0;
| }
0x0006e870 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
| if (s2 == 0) {
0x0006e874 beqz s2, 0x6ea04 | goto label_3;
| }
0x0006e878 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0006e87c sw s2, 0x10(sp) | *(var_10h_2) = s2;
0x0006e880 move a3, s0 | a3 = s0;
| /* esilref: '&s,&s ' */
0x0006e884 addiu a2, a2, 0x6b74 | a2 += 0x6b74;
0x0006e888 addiu a1, zero, 1 | a1 = 1;
0x0006e88c move a0, s1 | a0 = s1;
0x0006e890 jalr t9 | t9 ();
0x0006e894 lw gp, 0x20(sp) | gp = *(var_20h);
| label_1:
0x0006e898 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0006e89c move a0, s0 | a0 = s0;
0x0006e8a0 jalr t9 | t9 ();
0x0006e8a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006e8a8 move a1, s1 | a1 = s1;
0x0006e8ac lw t9, -0x761c(gp) | t9 = sym.sshkey_write;
0x0006e8b0 move a0, s3 | a0 = s3;
0x0006e8b4 bal 0x4fc64 | sym_sshkey_write ();
0x0006e8b8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0006e8bc bnez v0, 0x6e93c | goto label_4;
| }
0x0006e8c0 lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
0x0006e8c4 move a1, s1 | a1 = s1;
0x0006e8c8 addiu a0, zero, 0xa | a0 = 0xa;
0x0006e8cc jalr t9 | t9 ();
| do {
0x0006e8d0 lw ra, 0x44(sp) | ra = *(var_44h);
0x0006e8d4 lw s5, 0x40(sp) | s5 = *(var_40h);
0x0006e8d8 lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x0006e8dc lw s3, 0x38(sp) | s3 = *(var_38h);
0x0006e8e0 lw s2, 0x34(sp) | s2 = *(var_34h_2);
0x0006e8e4 lw s1, 0x30(sp) | s1 = *(var_30h);
0x0006e8e8 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0006e8ec addiu v0, zero, 1 | v0 = 1;
0x0006e8f0 addiu sp, sp, 0x48 |
0x0006e8f4 jr ra | return v0;
| label_2:
0x0006e8f8 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0006e8fc move a3, v0 | a3 = v0;
0x0006e900 move a2, s4 | a2 = s4;
0x0006e904 addiu a1, zero, 1 | a1 = 1;
0x0006e908 move a0, s1 | a0 = s1;
0x0006e90c jalr t9 | t9 ();
0x0006e910 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006e914 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0006e918 move a0, s0 | a0 = s0;
0x0006e91c jalr t9 | t9 ();
0x0006e920 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006e924 move a1, s1 | a1 = s1;
0x0006e928 lw t9, -0x761c(gp) | t9 = sym.sshkey_write;
0x0006e92c move a0, s3 | a0 = s3;
0x0006e930 bal 0x4fc64 | sym_sshkey_write ();
0x0006e934 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0006e938 beqz v0, 0x6e9c0 |
| label_4:
0x0006e93c lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0006e940 move a0, v0 | a0 = v0;
0x0006e944 jalr t9 | t9 ();
0x0006e948 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006e94c sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x0006e950 addiu a3, zero, 1 | a3 = 1;
0x0006e954 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0006e958 lw a1, -0x7f34(gp) | a1 = *(gp);
0x0006e95c lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.sshkey_write */
0x0006e960 addiu v0, v0, 0x6b7c | v0 += 0x6b7c;
0x0006e964 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0006e968 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x0006e96c addiu v0, zero, 2 | v0 = 2;
0x0006e970 addiu a2, zero, 0x1cf | a2 = 0x1cf;
0x0006e974 sw v0, 0x10(sp) | *(var_10h_2) = v0;
| /* str.write_host_entry */
0x0006e978 addiu a1, a1, 0x6e74 | a1 += 0x6e74;
| /* str.hostfile.c */
0x0006e97c addiu a0, a0, 0x6970 | a0 += 0x6970;
0x0006e980 bal 0x7151c | sym_sshlog ();
0x0006e984 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006e988 move a1, s1 | a1 = s1;
0x0006e98c lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
0x0006e990 addiu a0, zero, 0xa | a0 = 0xa;
0x0006e994 jalr t9 | t9 ();
0x0006e998 lw ra, 0x44(sp) | ra = *(var_44h);
0x0006e99c lw s5, 0x40(sp) | s5 = *(var_40h);
0x0006e9a0 lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x0006e9a4 lw s3, 0x38(sp) | s3 = *(var_38h);
0x0006e9a8 lw s2, 0x34(sp) | s2 = *(var_34h_2);
0x0006e9ac lw s1, 0x30(sp) | s1 = *(var_30h);
0x0006e9b0 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0006e9b4 move v0, zero | v0 = 0;
0x0006e9b8 addiu sp, sp, 0x48 |
0x0006e9bc jr ra | return v0;
| }
0x0006e9c0 lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
0x0006e9c4 addiu a0, zero, 0xa | a0 = 0xa;
0x0006e9c8 move a1, s1 | a1 = s1;
0x0006e9cc jalr t9 | t9 ();
0x0006e9d0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006e9d4 move a0, s2 | a0 = s2;
0x0006e9d8 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0006e9dc beqz s2, 0x6e8d0 |
| } while (s2 == 0);
0x0006e9e0 move s2, zero | s2 = 0;
0x0006e9e4 bal 0x7e064 | sym_xstrdup ();
0x0006e9e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006e9ec move a0, v0 | a0 = v0;
0x0006e9f0 lw t9, -0x7aac(gp) | t9 = sym.lowercase;
0x0006e9f4 move s0, v0 | s0 = v0;
0x0006e9f8 bal 0x84bc8 | sym_lowercase ();
0x0006e9fc move a0, s0 | a0 = s0;
0x0006ea00 b 0x6e7e8 | goto label_0;
| label_3:
0x0006ea04 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0006ea08 move a3, s0 | a3 = s0;
| /* esilref: '&s ' */
0x0006ea0c addiu a2, a2, 0x6b70 | a2 += 0x6b70;
0x0006ea10 addiu a1, zero, 1 | a1 = 1;
0x0006ea14 move a0, s1 | a0 = s1;
0x0006ea18 jalr t9 | t9 ();
0x0006ea1c lw gp, 0x20(sp) | gp = *(var_20h);
0x0006ea20 b 0x6e898 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0xda90 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 685008 named .text */
0x0000da90 lui gp, 0xf |
0x0000da94 addiu gp, gp, 0x4860 |
0x0000da98 addu gp, gp, t9 | gp += t9;
0x0000da9c addiu sp, sp, -0x698 |
0x0000daa0 lw v0, -0x6fc4(gp) | v0 = *((gp - 7153));
0x0000daa4 sw ra, 0x694(sp) | *(var_694h) = ra;
0x0000daa8 sw gp, 0x38(sp) | *(var_38h) = gp;
0x0000daac sw s7, 0x68c(sp) | *(var_68ch) = s7;
0x0000dab0 sw s3, 0x67c(sp) | *(var_67ch) = s3;
0x0000dab4 sw s2, 0x678(sp) | *(var_678h) = s2;
0x0000dab8 sw s1, 0x674(sp) | *(var_674h) = s1;
0x0000dabc sw s0, 0x670(sp) | *(var_670h) = s0;
0x0000dac0 sw fp, 0x690(sp) | *(var_690h) = fp;
0x0000dac4 sw s6, 0x688(sp) | *(var_688h) = s6;
0x0000dac8 sw s5, 0x684(sp) | *(var_684h) = s5;
0x0000dacc sw s4, 0x680(sp) | *(var_680h) = s4;
0x0000dad0 lw v1, (v0) | v1 = *(v0);
0x0000dad4 lw s1, -0x6d10(gp) | s1 = *((gp - 6980));
0x0000dad8 lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
0x0000dadc lw t9, -0x7ef8(gp) | t9 = sym.ssh_get_progname;
0x0000dae0 move s0, a0 | s0 = a0;
0x0000dae4 addiu v0, zero, -1 | v0 = -1;
0x0000dae8 lw a0, (a1) | a0 = *(a1);
0x0000daec sw v1, 0x66c(sp) | *(var_66ch) = v1;
0x0000daf0 addiu v1, zero, 1 | v1 = 1;
0x0000daf4 sw v1, 0xd4(sp) | *(var_d4h) = v1;
0x0000daf8 sw s1, 0x4c(sp) | *(var_4ch) = s1;
0x0000dafc sw s2, 0x54(sp) | *(var_54h) = s2;
0x0000db00 sw v0, 0xf0(sp) | *(var_f0h) = v0;
0x0000db04 sw v0, 0xf4(sp) | *(var_f4h) = v0;
0x0000db08 move s3, a1 | s3 = a1;
0x0000db0c jalr t9 | t9 ();
0x0000db10 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000db14 addiu a1, zero, 1 | a1 = 1;
0x0000db18 move a0, s0 | a0 = s0;
0x0000db1c lw t9, -0x7f44(gp) | t9 = *(gp);
0x0000db20 sw v0, (s1) | *(s1) = v0;
0x0000db24 sw s0, -0x482c(s2) | *((s2 - 4619)) = s0;
0x0000db28 jalr t9 | t9 ();
0x0000db2c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000db30 addiu a1, zero, 4 | a1 = 4;
0x0000db34 lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x0000db38 lw s7, -0x7fdc(gp) | s7 = *((gp - 8183));
0x0000db3c move a0, v0 | a0 = v0;
0x0000db40 jalr t9 | t9 ();
0x0000db44 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000db48 sw v0, -0x4824(s7) | *((s7 - 4617)) = v0;
| if (s0 <= 0) {
0x0000db4c blez s0, 0xe350 | goto label_32;
| }
0x0000db50 sll s4, s0, 2 | s4 = s0 << 2;
0x0000db54 move s1, zero | s1 = 0;
0x0000db58 move s2, v0 | s2 = v0;
0x0000db5c b 0xdb64 |
| while (s4 != s1) {
0x0000db60 lw s2, -0x4824(s7) | s2 = *((s7 - 4617));
0x0000db64 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0000db68 lwx a0, s1(s3) | __asm ("lwx a0, s1(s3)");
0x0000db6c addu s2, s2, s1 | s2 += s1;
0x0000db70 jalr t9 | t9 ();
0x0000db74 addiu s1, s1, 4 | s1 += 4;
0x0000db78 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000db7c sw v0, (s2) | *(s2) = v0;
0x0000db80 bne s4, s1, 0xdb60 |
| }
| label_4:
0x0000db84 lw v0, -0x4824(s7) | v0 = *((s7 - 4617));
0x0000db88 lw t9, -0x7ef0(gp) | t9 = sym.compat_init_setproctitle;
0x0000db8c addu s4, v0, s4 | s4 = v0 + s4;
0x0000db90 move a1, s3 | a1 = s3;
0x0000db94 move a0, s0 | a0 = s0;
0x0000db98 sw zero, (s4) | *(s4) = 0;
0x0000db9c jalr t9 | t9 ();
0x0000dba0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000dba4 lw t9, -0x7250(gp) | t9 = sym.imp.geteuid;
0x0000dba8 lw s2, -0x4824(s7) | s2 = *((s7 - 4617));
0x0000dbac jalr t9 | t9 ();
0x0000dbb0 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000dbb4 beqz v0, 0xdfe4 | goto label_33;
| }
| label_1:
0x0000dbb8 lw t9, -0x7eec(gp) | t9 = sym.sanitise_stdfd;
0x0000dbbc sw zero, 0x44(sp) | *(var_44h) = 0;
0x0000dbc0 jalr t9 | t9 ();
0x0000dbc4 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000dbc8 lw t9, -0x7ee8(gp) | t9 = sym.seed_rng;
0x0000dbcc sw zero, 0x40(sp) | *(var_40h) = 0;
0x0000dbd0 jalr t9 | t9 ();
0x0000dbd4 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000dbd8 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0000dbdc lw t9, -0x7ee4(gp) | t9 = sym.initialize_server_options;
0x0000dbe0 lw s3, -0x7fb4(gp) | s3 = *(gp);
0x0000dbe4 bal 0x16fc8 | sym_initialize_server_options ();
0x0000dbe8 nop |
0x0000dbec lw gp, 0x38(sp) | gp = *(var_38h);
0x0000dbf0 lw s1, -0x7fb4(gp) | s1 = *(gp);
0x0000dbf4 lw s5, -0x7fb4(gp) | s5 = *(gp);
0x0000dbf8 lw s4, -0x7fb4(gp) | s4 = *(gp);
0x0000dbfc lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000dc00 lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
0x0000dc04 addiu s1, s1, 0x7bd4 | s1 += 0x7bd4;
| /* str.command_line */
0x0000dc08 addiu s5, s5, 0x6904 | s5 += 0x6904;
| /* str._command_line_ */
0x0000dc0c addiu s4, s4, 0x6898 | s4 += 0x6898;
0x0000dc10 sw v0, 0x48(sp) | *(var_48h) = v0;
| label_0:
0x0000dc14 lw t9, -0x7ee0(gp) | t9 = sym.BSDgetopt;
| do {
| /* str.C:E:b:c:f:g:h:k:o:p:u:46DQRTdeiqrt */
0x0000dc18 addiu a2, s3, 0x69f0 | a2 = s3 + 0x69f0;
0x0000dc1c move a1, s2 | a1 = s2;
0x0000dc20 move a0, s0 | a0 = s0;
0x0000dc24 jalr t9 | t9 ();
0x0000dc28 addiu v1, zero, -1 | v1 = -1;
0x0000dc2c lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == v1) {
0x0000dc30 beq v0, v1, 0xe064 | goto label_34;
| }
0x0000dc34 lw t9, -0x7f44(gp) | t9 = *(gp);
0x0000dc38 addiu a1, zero, -0x34 | a1 = -0x34;
0x0000dc3c move a0, v0 | a0 = v0;
0x0000dc40 jalr t9 | t9 ();
0x0000dc44 sltiu v1, v0, 0x42 | v1 = (v0 < 0x42) ? 1 : 0;
0x0000dc48 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v1 != 0) {
0x0000dc4c beqz v1, 0xdf50 |
0x0000dc50 sll v0, v0, 2 | v0 <<= 2;
0x0000dc54 lwx v0, v0(s1) | __asm ("lwx v0, v0(s1)");
0x0000dc58 addu v0, v0, gp | v0 += gp;
0x0000dc5c jr v0 | v0 ();
0x0000dc60 nop |
| }
0x0000df50 lw s0, -0x6f44(gp) | s0 = *((gp - 7121));
0x0000df54 lw t9, -0x71f0(gp) | t9 = sym.imp.OpenSSL_version;
0x0000df58 move a0, zero | a0 = 0;
0x0000df5c lw s1, (s0) | s1 = *(s0);
0x0000df60 jalr t9 | t9 ();
0x0000df64 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000df68 move a0, s1 | a0 = s1;
0x0000df6c addiu a1, zero, 1 | a1 = 1;
0x0000df70 lw a3, -0x7fb4(gp) | a3 = *(gp);
0x0000df74 lw a2, -0x7fb4(gp) | a2 = *(gp);
0x0000df78 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
| /* str.OpenSSH_8.6p1 */
0x0000df7c addiu a3, a3, 0x6914 | a3 += 0x6914;
| /* str._s___s_n */
0x0000df80 addiu a2, a2, 0x6924 | a2 += 0x6924;
0x0000df84 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000df88 jalr t9 | t9 ();
0x0000df8c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000df90 lw a3, (s0) | a3 = *(s0);
0x0000df94 addiu a2, zero, 0xc1 | a2 = 0xc1;
0x0000df98 lw a0, -0x7fb4(gp) | a0 = *(gp);
0x0000df9c lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
| /* str.usage:_sshd___46DdeiqTt____C_connection_spec____c_host_cert_file__n______________E_log_file____f_config_file____g_login_grace_time__n______________h_host_key_file____o_option____p_port____u_len__n */
0x0000dfa0 addiu a0, a0, 0x692c | a0 += 0x692c;
| label_3:
0x0000dfa4 addiu a1, zero, 1 | a1 = 1;
0x0000dfa8 jalr t9 | t9 ();
0x0000dfac lw gp, 0x38(sp) | gp = *(var_38h);
0x0000dfb0 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x0000dfb4 addiu a0, zero, 1 | a0 = 1;
0x0000dfb8 jalr t9 | t9 ();
0x0000dfbc lw a0, 0x49c(fp) | a0 = *(arg_49ch);
0x0000dfc0 slti v0, a0, 7 | v0 = (a0 < 7) ? 1 : 0;
0x0000dfc4 lw t9, -0x7ee0(gp) | t9 = sym.BSDgetopt;
0x0000dfc8 beqz v0, 0xdc18 |
| } while (v0 == 0);
0x0000dfcc lw t9, -0x7f44(gp) | t9 = *(gp);
0x0000dfd0 addiu a1, zero, 1 | a1 = 1;
0x0000dfd4 jalr t9 | t9 ();
0x0000dfd8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000dfdc sw v0, 0x49c(fp) | *(arg_49ch) = v0;
0x0000dfe0 b 0xdc14 | goto label_0;
| label_33:
0x0000dfe4 lw t9, -0x6c78(gp) | t9 = sym.imp.setgroups;
0x0000dfe8 move a1, zero | a1 = 0;
0x0000dfec move a0, zero | a0 = 0;
0x0000dff0 jalr t9 | t9 ();
0x0000dff4 addiu v1, zero, -1 | v1 = -1;
0x0000dff8 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != v1) {
0x0000dffc bne v0, v1, 0xdbb8 | goto label_1;
| }
0x0000e000 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x0000e004 jalr t9 | t9 ();
0x0000e008 nop |
0x0000e00c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e010 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x0000e014 lw a0, (v0) | a0 = *(v0);
0x0000e018 jalr t9 | t9 ();
0x0000e01c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e020 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0000e024 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000e028 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000e02c lw a1, -0x7fb4(gp) | a1 = *(gp);
0x0000e030 lw a0, -0x7fb4(gp) | a0 = *(gp);
| /* str.setgroups__:__.200s */
0x0000e034 addiu v0, v0, 0x6884 | v0 += 0x6884;
0x0000e038 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000e03c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000e040 addiu v0, zero, 5 | v0 = 5;
0x0000e044 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000e048 move a3, zero | a3 = 0;
0x0000e04c addiu a2, zero, 0x60c | a2 = 0x60c;
| /* str.main */
0x0000e050 addiu a1, a1, 0x7e94 | a1 += 0x7e94;
| /* str.sshd.c */
0x0000e054 addiu a0, a0, 0x65f4 | a0 += 0x65f4;
0x0000e058 jalr t9 | t9 ();
0x0000e05c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e060 b 0xdbb8 | goto label_1;
| label_34:
0x0000e064 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x0000e068 move fp, v0 | fp = v0;
0x0000e06c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000e070 lw a0, -0x4818(v1) | a0 = *((v1 - 4614));
0x0000e074 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0000e078 lw v0, -0x4828(v0) | v0 = *((v0 - 4618));
0x0000e07c or v0, v0, a0 | v0 |= a0;
0x0000e080 sw v1, 0x60(sp) | *(var_60h) = v1;
| if (v0 == 0) {
0x0000e084 beqz v0, 0xe1b4 | goto label_35;
| }
0x0000e088 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000e08c sw v0, 0x64(sp) | *(var_64h) = v0;
0x0000e090 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000e094 sw zero, -0x5fb0(v0) | *((v0 - 6124)) = 0;
| label_7:
0x0000e098 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0000e09c lw v0, -0x4828(v0) | v0 = *((v0 - 4618));
0x0000e0a0 lw t9, -0x7eac(gp) | t9 = sym.closefrom;
| if (v0 == 0) {
0x0000e0a4 beqz v0, 0xe1c8 | goto label_6;
| }
0x0000e0a8 addiu a0, zero, 6 | a0 = 6;
0x0000e0ac jalr t9 | t9 ();
0x0000e0b0 lw gp, 0x38(sp) | gp = *(var_38h);
| do {
0x0000e0b4 lw a0, 0x40(sp) | a0 = *(var_40h);
0x0000e0b8 lw t9, -0x7ea8(gp) | t9 = sym.log_redirect_stderr_to;
| if (a0 != 0) {
0x0000e0bc beqz a0, 0xe0cc |
0x0000e0c0 jalr t9 | t9 ();
0x0000e0c4 nop |
0x0000e0c8 lw gp, 0x38(sp) | gp = *(var_38h);
| }
0x0000e0cc lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0000e0d0 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0000e0d4 addiu v0, zero, -1 | v0 = -1;
0x0000e0d8 lw a1, 0x49c(s4) | a1 = *(s4);
0x0000e0dc lw a0, (v1) | a0 = *(v1);
| if (a1 == v0) {
0x0000e0e0 bne a1, v0, 0xe0e8 |
0x0000e0e4 addiu a1, zero, 3 | a1 = 3;
| }
0x0000e0e8 lw a2, 0x498(s4) | a2 = *(s4);
0x0000e0ec addiu v0, zero, -1 | v0 = -1;
| if (a2 != v0) {
0x0000e0f0 beql a2, v0, 0xe0f8 |
0x0000e0f4 addiu a2, zero, 2 | a2 = 2;
| }
0x0000e0f8 lw v0, 0x60(sp) | v0 = *(var_60h);
0x0000e0fc lw v0, -0x4818(v0) | v0 = *((v0 - 4614));
0x0000e100 addiu a3, zero, 1 | a3 = 1;
| if (v0 != 0) {
0x0000e104 beqz v0, 0xe120 |
0x0000e108 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000e10c lw a3, -0x4820(v0) | a3 = *((v0 - 4616));
0x0000e110 lw v0, -0x7ed8(gp) | v0 = *(gp);
0x0000e114 lw v0, (v0) | v0 = *(v0);
0x0000e118 or a3, a3, v0 | a3 |= v0;
0x0000e11c sltu a3, zero, a3 | a3 = (0 < a3) ? 1 : 0;
| }
0x0000e120 lw t9, -0x7ea4(gp) | t9 = sym.log_init;
0x0000e124 lw s1, -0x7fb4(gp) | s1 = *(gp);
0x0000e128 jalr t9 | t9 ();
0x0000e12c nop |
0x0000e130 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e134 lw t9, -0x6d50(gp) | t9 = sym.imp.getenv;
| /* str.KRB5CCNAME */
0x0000e138 addiu a0, s1, 0x6a4c | a0 = s1 + 0x6a4c;
0x0000e13c jalr t9 | t9 ();
0x0000e140 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000e144 beqz v0, 0xe158 |
0x0000e148 lw t9, -0x6d18(gp) | t9 = sym.imp.unsetenv;
| /* str.KRB5CCNAME */
0x0000e14c addiu a0, s1, 0x6a4c | a0 = s1 + 0x6a4c;
0x0000e150 jalr t9 | t9 ();
0x0000e154 lw gp, 0x38(sp) | gp = *(var_38h);
| }
0x0000e158 lw v0, 0x64(sp) | v0 = *(var_64h);
0x0000e15c lw v1, -0x7fd4(gp) | v1 = *(gp);
0x0000e160 lw v0, -0x4814(v0) | v0 = *((v0 - 4613));
0x0000e164 sw v1, 0x48(sp) | *(var_48h) = v1;
0x0000e168 slti v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x0000e16c sw zero, 0xc(v1) | *((v1 + 3)) = 0;
| if (v0 == 0) {
0x0000e170 beqz v0, 0xe1dc | goto label_36;
| }
0x0000e174 lw v0, 0x44(sp) | v0 = *(var_44h);
0x0000e178 lw v0, -0x7fb4(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0000e17c beqz v0, 0xe1dc | goto label_36;
| }
0x0000e180 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.Config_test_connection_parameter___C__provided_without_test_mode___T_ */
0x0000e184 addiu v0, v0, 0x6a58 | v0 += 0x6a58;
0x0000e188 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000e18c addiu v0, zero, 1 | v0 = 1;
0x0000e190 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000e194 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000e198 move a3, zero | a3 = 0;
0x0000e19c addiu a2, zero, 0x6a9 | a2 = 0x6a9;
| label_2:
0x0000e1a0 lw a1, -0x7fb4(gp) | a1 = *(gp);
0x0000e1a4 lw a0, -0x7fb4(gp) | a0 = *(gp);
| /* str.main */
0x0000e1a8 addiu a1, a1, 0x7e94 | a1 += 0x7e94;
| /* str.sshd.c */
0x0000e1ac addiu a0, a0, 0x65f4 | a0 += 0x65f4;
0x0000e1b0 jalr t9 | t9 ();
| label_35:
0x0000e1b4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000e1b8 sw v0, 0x64(sp) | *(var_64h) = v0;
0x0000e1bc lw v0, -0x4814(v0) | v0 = *((v0 - 4613));
0x0000e1c0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 == 0) {
0x0000e1c4 beqz v0, 0xe838 | goto label_37;
| }
| label_6:
0x0000e1c8 lw t9, -0x7eac(gp) | t9 = sym.closefrom;
0x0000e1cc addiu a0, zero, 3 | a0 = 3;
0x0000e1d0 jalr t9 | t9 ();
0x0000e1d4 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e1d8 b 0xe0b4 |
| } while (1);
| label_36:
0x0000e1dc lw s3, -0x7ea0(gp) | s3 = *(gp);
0x0000e1e0 lw t9, -0x7fa8(gp) | t9 = sym.sshbuf_new;
0x0000e1e4 sw s3, 0x5c(sp) | *(var_5ch) = s3;
0x0000e1e8 jalr t9 | t9 ();
0x0000e1ec move s1, v0 | s1 = v0;
0x0000e1f0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e1f4 sw v0, (s3) | *(s3) = v0;
| if (v0 == 0) {
0x0000e1f8 beqz v0, 0xec30 | goto label_38;
| }
0x0000e1fc lw v0, 0x58(sp) | v0 = *(var_58h);
0x0000e200 lw v0, -0x4828(v0) | v0 = *((v0 - 4618));
0x0000e204 lw s3, -0x7eb0(gp) | s3 = *(gp);
| if (v0 != 0) {
0x0000e208 bnez v0, 0xe7dc | goto label_39;
| }
0x0000e20c lw a1, -0x7fb4(gp) | a1 = *(gp);
0x0000e210 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
0x0000e214 lw s5, (s3) | s5 = *(s3);
| /* str.none */
0x0000e218 addiu a1, a1, 0x6aac | a1 += 0x6aac;
0x0000e21c move a0, s5 | a0 = s5;
0x0000e220 jalr t9 | t9 ();
0x0000e224 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000e228 bnez v0, 0xe87c | goto label_40;
| }
| label_26:
0x0000e22c lw a1, (s3) | a1 = *(s3);
| label_5:
0x0000e230 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x0000e234 lw t9, -0x7e9c(gp) | t9 = sym.parse_server_config;
0x0000e238 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0000e23c lw a3, -0x7f68(gp) | a3 = *(gp);
0x0000e240 lw a2, (v0) | a2 = *(v0);
0x0000e244 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0000e248 bal 0x1ddb0 | sym_parse_server_config ();
0x0000e24c lw a0, 0x43c(s4) | a0 = *(s4);
0x0000e250 lw gp, 0x38(sp) | gp = *(var_38h);
| if (a0 != 0) {
0x0000e254 beqz a0, 0xe268 |
0x0000e258 lw t9, -0x7e98(gp) | t9 = sym.dh_set_moduli_file;
0x0000e25c jalr t9 | t9 ();
0x0000e260 nop |
0x0000e264 lw gp, 0x38(sp) | gp = *(var_38h);
| }
0x0000e268 lw t9, -0x7e94(gp) | t9 = sym.fill_default_server_options;
0x0000e26c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0000e270 bal 0x173d8 | sym_fill_default_server_options ();
0x0000e274 nop |
0x0000e278 lw v0, 0x4ec(s4) | v0 = *((s4 + 315));
0x0000e27c lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000e280 beqz v0, 0xe28c |
0x0000e284 addiu v0, zero, 1 | v0 = 1;
0x0000e288 sw v0, 0x4e8(s4) | *((s4 + 314)) = v0;
| }
0x0000e28c lw v0, 0x11a8(s4) | v0 = *((s4 + 1130));
| if (v0 == 0) {
0x0000e290 beql v0, zero, 0xeba8 | goto label_41;
| }
0x0000e294 lw a0, 0x11a4(s4) | a0 = *(s4);
| label_19:
0x0000e298 lw v0, 0x11b4(s4) | v0 = *((s4 + 1133));
| if (v0 == 0) {
0x0000e29c beql v0, zero, 0xebec | goto label_42;
| }
0x0000e2a0 lw a0, 0x11b0(s4) | a0 = *((s4 + 1132));
| label_20:
0x0000e2a4 lw v0, 0x11c8(s4) | v0 = *((s4 + 1138));
0x0000e2a8 lw v0, -0x7e90(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0000e2ac beqz v0, 0xe320 | goto label_43;
| }
0x0000e2b0 move s1, zero | s1 = 0;
0x0000e2b4 b 0xe2d8 |
| while (v0 == 0) {
0x0000e2b8 sll v0, s1, 2 | v0 = s1 << 2;
0x0000e2bc lw t9, -0x7e8c(gp) | t9 = sym.auth2_methods_valid;
0x0000e2c0 lwx a0, v0(a0) | __asm ("lwx a0, v0(a0)");
0x0000e2c4 addiu a1, zero, 1 | a1 = 1;
0x0000e2c8 bal 0x24fc8 | sym_auth2_methods_valid ();
0x0000e2cc lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000e2d0 beqz v0, 0xe310 | goto label_44;
| }
0x0000e2d4 addiu s1, s1, 1 | s1++;
0x0000e2d8 lw v0, 0x11c8(s4) | v0 = *((s4 + 1138));
0x0000e2dc sltu v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x0000e2e0 lw a0, 0x11cc(s4) | a0 = *((s4 + 1139));
0x0000e2e4 bnel v0, zero, 0xe2b8 |
| }
| do {
0x0000e2e8 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000e2ec lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.AuthenticationMethods_cannot_be_satisfied_by_enabled_authentication_methods */
0x0000e2f0 addiu v0, v0, 0x6b38 | v0 += 0x6b38;
0x0000e2f4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000e2f8 addiu v0, zero, 1 | v0 = 1;
0x0000e2fc sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000e300 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000e304 move a3, zero | a3 = 0;
0x0000e308 addiu a2, zero, 0x6e6 | a2 = 0x6e6;
0x0000e30c b 0xe1a0 | goto label_2;
| label_44:
0x0000e310 lw v0, 0x11c8(s4) | v0 = *((s4 + 1138));
0x0000e314 sltu s1, s1, v0 | s1 = (s1 < v0) ? 1 : 0;
0x0000e318 lw v0, -0x7e90(gp) | v0 = *(gp);
0x0000e31c beqz s1, 0xe2e8 |
| } while (s1 == 0);
| label_43:
0x0000e320 lw v0, (v0) | v0 = *(v0);
0x0000e324 slt a0, v0, s0 | a0 = (v0 < s0) ? 1 : 0;
| if (a0 != 0) {
0x0000e328 beql a0, zero, 0xe358 |
0x0000e32c lw t9, -0x71f0(gp) | t9 = sym.imp.OpenSSL_version;
0x0000e330 lw v1, -0x6f44(gp) | v1 = *((gp - 7121));
0x0000e334 sll v0, v0, 2 | v0 <<= 2;
0x0000e338 lw a2, -0x7fb4(gp) | a2 = *(gp);
0x0000e33c lw a0, (v1) | a0 = *(v1);
0x0000e340 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0000e344 lwx a3, v0(s2) | __asm ("lwx a3, v0(s2)");
| /* str.Extra_argument__s._n */
0x0000e348 addiu a2, a2, 0x6b84 | a2 += 0x6b84;
0x0000e34c b 0xdfa4 | goto label_3;
| label_32:
0x0000e350 move s4, zero | s4 = 0;
0x0000e354 b 0xdb84 | goto label_4;
| }
0x0000e358 move a0, zero | a0 = 0;
0x0000e35c jalr t9 | t9 ();
0x0000e360 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e364 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0000e368 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000e36c lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000e370 lw v1, -0x7fb4(gp) | v1 = *(gp);
| /* str.OpenSSH_8.6 */
0x0000e374 addiu v0, v0, 0x6b98 | v0 += 0x6b98;
0x0000e378 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0000e37c lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000e380 lw a0, -0x7fb4(gp) | a0 = *(gp);
0x0000e384 lw s1, -0x7fc8(gp) | s1 = *(gp);
| /* str.sshd_version__s___s */
0x0000e388 addiu v0, v0, 0x6ba4 | v0 += 0x6ba4;
0x0000e38c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000e390 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000e394 addiu v0, zero, 5 | v0 = 5;
0x0000e398 sw a0, 0x40(sp) | *(var_40h) = a0;
0x0000e39c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000e3a0 sw v1, 0x50(sp) | *(var_50h) = v1;
0x0000e3a4 sw s1, 0x7c(sp) | *(var_7ch) = s1;
0x0000e3a8 move a3, zero | a3 = 0;
0x0000e3ac addiu a2, zero, 0x6ef | a2 = 0x6ef;
| /* str.main */
0x0000e3b0 addiu a1, v1, 0x7e94 | a1 = v1 + 0x7e94;
| /* str.sshd.c */
0x0000e3b4 addiu a0, a0, 0x65f4 | a0 += 0x65f4;
0x0000e3b8 jalr t9 | t9 ();
0x0000e3bc lw v0, (s1) | v0 = *(s1);
0x0000e3c0 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000e3c4 bnez v0, 0xe8e8 | goto label_45;
| }
| label_10:
0x0000e3c8 lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
0x0000e3cc lw s5, -0x7e88(gp) | s5 = *(gp);
0x0000e3d0 lw s1, -0x7fb4(gp) | s1 = *(gp);
0x0000e3d4 lw t9, -0x71fc(gp) | t9 = sym.imp.getpwnam;
0x0000e3d8 sw s3, 0x94(sp) | *(var_94h) = s3;
| /* str.sshd */
0x0000e3dc addiu a0, s1, 0x6bb8 | a0 = s1 + 0x6bb8;
0x0000e3e0 sw s5, 0x80(sp) | *(var_80h) = s5;
0x0000e3e4 sw v0, -0x5fc8(s3) | *((s3 - 6130)) = v0;
0x0000e3e8 jalr t9 | t9 ();
0x0000e3ec lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e3f0 sw v0, (s5) | *(s5) = v0;
| if (v0 == 0) {
0x0000e3f4 beqz v0, 0xe894 | goto label_46;
| }
0x0000e3f8 lw t9, -0x7e84(gp) | t9 = sym.pwcopy;
0x0000e3fc move a0, v0 | a0 = v0;
0x0000e400 jalr t9 | t9 ();
0x0000e404 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e408 lw s3, 0x80(sp) | s3 = *(var_80h);
0x0000e40c lw s1, 4(v0) | s1 = *((v0 + 1));
0x0000e410 lw t9, -0x6f68(gp) | t9 = sym.imp.strlen;
0x0000e414 move a0, s1 | a0 = s1;
0x0000e418 sw v0, (s3) | *(s3) = v0;
0x0000e41c jalr t9 | t9 ();
0x0000e420 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e424 move a0, s1 | a0 = s1;
0x0000e428 lw t9, -0x7f80(gp) | t9 = sym.freezero;
0x0000e42c move a1, v0 | a1 = v0;
0x0000e430 jalr t9 | t9 ();
0x0000e434 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e438 lw s1, (s3) | s1 = *(s3);
0x0000e43c lw a0, -0x7f34(gp) | a0 = *(gp);
0x0000e440 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
| /* esilref: ' ' */
0x0000e444 addiu a0, a0, 0x65b0 | a0 += 0x65b0;
0x0000e448 jalr t9 | t9 ();
0x0000e44c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e450 sw v0, 4(s1) | *((s1 + 1)) = v0;
0x0000e454 lw t9, -0x7140(gp) | t9 = sym.imp.endpwent;
| label_9:
0x0000e458 jalr t9 | t9 ();
0x0000e45c nop |
0x0000e460 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e464 lw a0, 0x428(s4) | a0 = *(s4);
0x0000e468 lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x0000e46c addiu a1, zero, 4 | a1 = 4;
0x0000e470 jalr t9 | t9 ();
0x0000e474 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e478 lw s3, 0x48(sp) | s3 = *(var_48h);
0x0000e47c lw a0, 0x428(s4) | a0 = *(s4);
0x0000e480 lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x0000e484 addiu a1, zero, 4 | a1 = 4;
0x0000e488 sw v0, (s3) | *(s3) = v0;
0x0000e48c jalr t9 | t9 ();
0x0000e490 lw s1, 0x434(s4) | s1 = *(s4);
0x0000e494 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e498 sw v0, 4(s3) | *((s3 + 1)) = v0;
| if (s1 != 0) {
0x0000e49c beqz s1, 0xe4dc |
0x0000e4a0 lw s3, -0x7fb4(gp) | s3 = *(gp);
0x0000e4a4 lw t9, -0x7200(gp) | t9 = sym.imp.strcmp;
| /* str.SSH_AUTH_SOCK */
0x0000e4a8 addiu a1, s3, 0x6bec | a1 = s3 + 0x6bec;
0x0000e4ac move a0, s1 | a0 = s1;
0x0000e4b0 jalr t9 | t9 ();
0x0000e4b4 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000e4b8 bnez v0, 0xf6a8 | goto label_47;
| }
| label_25:
0x0000e4bc lw t9, -0x7e80(gp) | t9 = sym.ssh_get_authentication_socket;
0x0000e4c0 move a0, zero | a0 = 0;
0x0000e4c4 jalr t9 | t9 ();
0x0000e4c8 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000e4cc bnez v0, 0xf650 | goto label_48;
| }
0x0000e4d0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000e4d4 addiu a0, zero, 1 | a0 = 1;
0x0000e4d8 sw a0, -0x4878(v0) | *((v0 - 4638)) = a0;
| }
| label_24:
0x0000e4dc lw v0, -0x7f34(gp) | v0 = *(gp);
0x0000e4e0 move s6, zero | s6 = 0;
0x0000e4e4 sw v0, 0x68(sp) | *(var_68h) = v0;
0x0000e4e8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000e4ec sw v0, 0x78(sp) | *(var_78h) = v0;
0x0000e4f0 lw v0, -0x7fb4(gp) | v0 = *(gp);
| /* str._s_host_key__d:__s__s */
0x0000e4f4 addiu v0, v0, 0x6d34 | v0 += 0x6d34;
0x0000e4f8 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0000e4fc lw v0, -0x7fb4(gp) | v0 = *(gp);
| /* str.private */
0x0000e500 addiu v0, v0, 0x685c | v0 += 0x685c;
0x0000e504 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0000e508 lw v0, -0x7fb4(gp) | v0 = *(gp);
| /* str.agent */
0x0000e50c addiu v0, v0, 0x6864 | v0 += 0x6864;
0x0000e510 sw v0, 0x74(sp) | *(var_74h) = v0;
| do {
| label_17:
0x0000e514 lw v0, 0x428(s4) | v0 = *(s4);
0x0000e518 sltu v0, s6, v0 | v0 = (s6 < v0) ? 1 : 0;
0x0000e51c sll s1, s6, 2 | s1 = s6 << 2;
| if (v0 == 0) {
0x0000e520 beqz v0, 0xec9c | goto label_49;
| }
0x0000e524 lw s3, 0x424(s4) | s3 = *(s4);
0x0000e528 lw a0, 0x420(s4) | a0 = *(s4);
0x0000e52c lwx s3, s1(s3) | __asm ("lwx s3, s1(s3)");
0x0000e530 addiu v1, zero, 2 | v1 = 2;
0x0000e534 addiu v0, zero, 5 | v0 = 5;
0x0000e538 lwx a0, s1(a0) | __asm ("lwx a0, s1(a0)");
| if (s3 == 0) {
0x0000e53c movn v0, v1, s3 | v0 = v1;
| }
0x0000e540 move s3, v0 | s3 = v0;
| if (a0 != 0) {
0x0000e544 beqz a0, 0xe7d4 |
0x0000e548 lw v0, 0x68(sp) | v0 = *(var_68h);
0x0000e54c lw t9, -0x7e7c(gp) | t9 = sym.sshkey_load_private;
0x0000e550 move a3, zero | a3 = 0;
0x0000e554 addiu a2, sp, 0xd8 | a2 = sp + 0xd8;
0x0000e558 addiu a1, v0, -0x6990 | a1 = v0 + -0x6990;
0x0000e55c jalr t9 | t9 ();
0x0000e560 move s5, v0 | s5 = v0;
0x0000e564 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000e568 beqz v0, 0xe94c | goto label_50;
| }
0x0000e56c addiu v0, zero, -0x18 | v0 = -0x18;
0x0000e570 lw t9, -0x7e78(gp) | t9 = sym.sshkey_is_sk;
| if (s5 != v0) {
0x0000e574 beq s5, v0, 0xe5d0 |
0x0000e578 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0000e57c move a0, s5 | a0 = s5;
0x0000e580 jalr t9 | t9 ();
0x0000e584 lw v1, 0x420(s4) | v1 = *(s4);
0x0000e588 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e58c move a3, zero | a3 = 0;
0x0000e590 lwx v1, s1(v1) | __asm ("lwx v1, s1(v1)");
0x0000e594 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000e598 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000e59c sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0000e5a0 lw v1, -0x7fb4(gp) | v1 = *(gp);
0x0000e5a4 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000e5a8 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000e5ac lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.Unable_to_load_host_key___s_ */
0x0000e5b0 addiu v1, v1, 0x6c1c | v1 += 0x6c1c;
0x0000e5b4 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0000e5b8 sw s3, 0x10(sp) | *(var_10h) = s3;
0x0000e5bc addiu a2, zero, 0x718 | a2 = 0x718;
0x0000e5c0 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000e5c4 jalr t9 | t9 ();
0x0000e5c8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e5cc lw t9, -0x7e78(gp) | t9 = sym.sshkey_is_sk;
| }
0x0000e5d0 lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x0000e5d4 jalr t9 | t9 ();
0x0000e5d8 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000e5dc beqz v0, 0xe5f4 |
0x0000e5e0 lw v0, 0xd8(sp) | v0 = *(var_d8h);
0x0000e5e4 lbu v0, 0x38(v0) | v0 = *((v0 + 56));
0x0000e5e8 andi v0, v0, 1 | v0 &= 1;
0x0000e5ec lw v0, 0x420(s4) | v0 = *(s4);
| if (v0 == 0) {
0x0000e5f0 bnel v0, zero, 0xe9f8 | goto label_51;
| }
| }
| label_11:
0x0000e5f4 lw a0, 0x420(s4) | a0 = *(s4);
| label_13:
0x0000e5f8 lw t9, -0x7e74(gp) | t9 = sym.sshkey_load_public;
0x0000e5fc addiu s5, sp, 0xdc | s5 = sp + 0xdc;
0x0000e600 lwx a0, s1(a0) | __asm ("lwx a0, s1(a0)");
0x0000e604 move a2, zero | a2 = 0;
0x0000e608 move a1, s5 | a1 = s5;
0x0000e60c jalr t9 | t9 ();
0x0000e610 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000e614 beqz v0, 0xe678 |
0x0000e618 addiu v1, zero, -0x18 | v1 = -0x18;
0x0000e61c lw a0, 0xdc(sp) | a0 = *(var_dch);
| if (v0 == v1) {
0x0000e620 beq v0, v1, 0xe67c | goto label_52;
| }
0x0000e624 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0000e628 move a0, v0 | a0 = v0;
0x0000e62c jalr t9 | t9 ();
0x0000e630 lw v1, 0x420(s4) | v1 = *(s4);
0x0000e634 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e638 move a3, zero | a3 = 0;
0x0000e63c lwx v1, s1(v1) | __asm ("lwx v1, s1(v1)");
0x0000e640 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000e644 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000e648 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0000e64c lw v1, -0x7fb4(gp) | v1 = *(gp);
0x0000e650 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000e654 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000e658 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.Unable_to_load_host_key___s_ */
0x0000e65c addiu v1, v1, 0x6c1c | v1 += 0x6c1c;
0x0000e660 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0000e664 sw s3, 0x10(sp) | *(var_10h) = s3;
0x0000e668 addiu a2, zero, 0x729 | a2 = 0x729;
0x0000e66c addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000e670 jalr t9 | t9 ();
0x0000e674 lw gp, 0x38(sp) | gp = *(var_38h);
| }
0x0000e678 lw a0, 0xdc(sp) | a0 = *(var_dch);
| label_52:
0x0000e67c lw v0, 0xd8(sp) | v0 = *(var_d8h);
| if (a0 == 0) {
0x0000e680 beqz a0, 0xeab4 | goto label_53;
| }
0x0000e684 lw t9, -0x7fd0(gp) | t9 = sym.sshkey_equal;
| if (v0 != 0) {
0x0000e688 beqz v0, 0xe6ac |
0x0000e68c move a1, v0 | a1 = v0;
0x0000e690 jalr t9 | t9 ();
0x0000e694 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000e698 beqz v0, 0xea58 | goto label_54;
| }
0x0000e69c lw v0, 0xdc(sp) | v0 = *(var_dch);
0x0000e6a0 lw v0, 0xd8(sp) | v0 = *(var_d8h);
| if (v0 == 0) {
0x0000e6a4 beqz v0, 0xeab8 | goto label_55;
| }
| label_15:
0x0000e6a8 lw v0, 0xd8(sp) | v0 = *(var_d8h);
| }
| label_14:
0x0000e6ac lw a0, 0x48(sp) | a0 = *(var_48h);
0x0000e6b0 lw v1, (a0) | v1 = *(a0);
0x0000e6b4 addu v1, v1, s1 | v1 += s1;
0x0000e6b8 sw v0, (v1) | *(v1) = v0;
0x0000e6bc lw v0, 4(a0) | v0 = *((a0 + 1));
0x0000e6c0 lw v1, 0xdc(sp) | v1 = *(var_dch);
0x0000e6c4 addu v0, v0, s1 | v0 += s1;
0x0000e6c8 sw v1, (v0) | *(v0) = v1;
0x0000e6cc lw v0, 0xd8(sp) | v0 = *(var_d8h);
0x0000e6d0 lw t9, -0x7f48(gp) | t9 = *(gp);
| if (v0 == 0) {
0x0000e6d4 beqz v0, 0xeb18 | goto label_56;
| }
0x0000e6d8 lw v1, 0x5c(sp) | v1 = *(var_5ch);
0x0000e6dc move a1, v0 | a1 = v0;
0x0000e6e0 lw a0, (v1) | a0 = *(v1);
| /* fcn.00012f6c */
0x0000e6e4 addiu t9, t9, 0x2f6c | t9 += 0x2f6c;
0x0000e6e8 lw s1, (v0) | s1 = *(v0);
0x0000e6ec bal 0x12f6c | fcn_00012f6c ();
0x0000e6f0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e6f4 lw a0, 0xdc(sp) | a0 = *(var_dch);
| label_21:
0x0000e6f8 sltiu v0, s1, 0xd | v0 = (s1 < 0xd) ? 1 : 0;
0x0000e6fc lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
| if (v0 != 0) {
0x0000e700 beqz v0, 0xe740 |
0x0000e704 addiu v0, zero, 1 | v0 = 1;
0x0000e708 sllv v0, v0, s1 | v0 <<= s1;
0x0000e70c andi v0, v0, 0x150f | v0 &= 0x150f;
| if (v0 == 0) {
0x0000e710 beql v0, zero, 0xe744 | goto label_57;
| }
0x0000e714 lw a1, 0x11d0(s4) | a1 = *((s4 + 1140));
0x0000e718 lw v0, 0x78(sp) | v0 = *(var_78h);
0x0000e71c lw v0, -0x4878(v0) | v0 = *((v0 - 4638));
0x0000e720 lw v1, 0x48(sp) | v1 = *(var_48h);
| if (v0 == 0) {
0x0000e724 bnez v0, 0xe734 |
0x0000e728 lw v0, 0xd8(sp) | v0 = *(var_d8h);
| if (v0 == 0) {
0x0000e72c beql v0, zero, 0xe744 | goto label_57;
| }
0x0000e730 lw a1, 0x11d0(s4) | a1 = *((s4 + 1140));
| }
0x0000e734 addiu v0, zero, 1 | v0 = 1;
0x0000e738 sw v0, 0xc(v1) | *((v1 + 3)) = v0;
0x0000e73c lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
| }
0x0000e740 lw a1, 0x11d0(s4) | a1 = *((s4 + 1140));
| label_57:
0x0000e744 move a2, zero | a2 = 0;
0x0000e748 jalr t9 | t9 ();
0x0000e74c move s1, v0 | s1 = v0;
0x0000e750 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000e754 beqz v0, 0xed28 | goto label_58;
| }
0x0000e758 lw v1, 0x70(sp) | v1 = *(var_70h);
0x0000e75c lw s3, 0xd8(sp) | s3 = *(var_d8h);
0x0000e760 lw v0, 0x74(sp) | v0 = *(var_74h);
0x0000e764 lw t9, -0x7e6c(gp) | t9 = sym.sshkey_ssh_name;
0x0000e768 lw a0, 0xdc(sp) | a0 = *(var_dch);
| if (s3 == 0) {
0x0000e76c movn v0, v1, s3 | v0 = v1;
| }
0x0000e770 move s3, v0 | s3 = v0;
0x0000e774 jalr t9 | t9 ();
0x0000e778 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0000e77c lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000e780 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e784 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000e788 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000e78c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000e790 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000e794 lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x0000e798 move a3, zero | a3 = 0;
0x0000e79c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000e7a0 addiu v0, zero, 5 | v0 = 5;
0x0000e7a4 addiu a2, zero, 0x759 | a2 = 0x759;
0x0000e7a8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000e7ac sw s1, 0x28(sp) | *(var_28h) = s1;
0x0000e7b0 sw s6, 0x20(sp) | *(var_20h) = s6;
0x0000e7b4 sw s3, 0x1c(sp) | *(var_1ch) = s3;
0x0000e7b8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000e7bc jalr t9 | t9 ();
0x0000e7c0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e7c4 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0000e7c8 move a0, s1 | a0 = s1;
0x0000e7cc jalr t9 | t9 ();
0x0000e7d0 lw gp, 0x38(sp) | gp = *(var_38h);
| }
0x0000e7d4 addiu s6, s6, 1 | s6++;
0x0000e7d8 b 0xe514 |
| } while (1);
| label_39:
0x0000e7dc lw a1, -0x7fb4(gp) | a1 = *(gp);
0x0000e7e0 lw a0, -0x7f34(gp) | a0 = *(gp);
0x0000e7e4 lw t9, -0x7e68(gp) | t9 = sym.setproctitle;
| /* str._rexeced_ */
0x0000e7e8 addiu a1, a1, 0x6aa0 | a1 += 0x6aa0;
| /* esilref: '&s' */
0x0000e7ec addiu a0, a0, -0x7908 | a0 += -0x7908;
0x0000e7f0 jalr t9 | t9 ();
0x0000e7f4 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e7f8 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x0000e7fc lw t9, -0x7f48(gp) | t9 = *(gp);
| /* fcn.00013af8 */
0x0000e800 addiu t9, t9, 0x3af8 | t9 += 0x3af8;
0x0000e804 lw a0, (v0) | a0 = *(v0);
0x0000e808 bal 0x13af8 | fcn_00013af8 ();
0x0000e80c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e810 lw v0, -0x7ed8(gp) | v0 = *(gp);
0x0000e814 lw v0, (v0) | v0 = *(v0);
0x0000e818 lw t9, -0x6f28(gp) | t9 = sym.imp.dup;
| if (v0 == 0) {
0x0000e81c beqz v0, 0xe904 | goto label_59;
| }
| label_8:
0x0000e820 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0000e824 lw v0, -0x4828(v0) | v0 = *((v0 - 4618));
0x0000e828 lw a1, -0x7fb4(gp) | a1 = *(gp);
| if (v0 == 0) {
0x0000e82c beqz v0, 0xf6c4 | goto label_60;
| }
| /* str.rexec */
0x0000e830 addiu a1, a1, 0x6854 | a1 += 0x6854;
0x0000e834 b 0xe230 | goto label_5;
| label_37:
0x0000e838 lw v0, -0x5fb0(v0) | v0 = *((v0 - 6124));
0x0000e83c lw t9, -0x7e64(gp) | t9 = sym.path_absolute;
| if (v0 == 0) {
0x0000e840 beqz v0, 0xe1c8 | goto label_6;
| }
0x0000e844 lw a0, (s2) | a0 = *(s2);
0x0000e848 jalr t9 | t9 ();
0x0000e84c lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000e850 bnez v0, 0xe098 | goto label_7;
| }
0x0000e854 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000e858 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshd_re_exec_requires_execution_with_an_absolute_path */
0x0000e85c addiu v0, v0, 0x6a14 | v0 += 0x6a14;
0x0000e860 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000e864 addiu v0, zero, 1 | v0 = 1;
0x0000e868 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000e86c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000e870 move a3, zero | a3 = 0;
0x0000e874 addiu a2, zero, 0x686 | a2 = 0x686;
0x0000e878 b 0xe1a0 | goto label_2;
| label_40:
0x0000e87c lw t9, -0x7e60(gp) | t9 = sym.load_server_config;
0x0000e880 move a1, s1 | a1 = s1;
0x0000e884 move a0, s5 | a0 = s5;
0x0000e888 bal 0x1814c | sym_load_server_config ();
0x0000e88c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e890 b 0xe820 | goto label_8;
| label_46:
0x0000e894 lw v0, -0x5fc8(s3) | v0 = *((s3 - 6130));
0x0000e898 lw a0, 0x4c8(s4) | a0 = *(s4);
0x0000e89c or v0, v0, a0 | v0 |= a0;
0x0000e8a0 lw t9, -0x7140(gp) | t9 = sym.imp.endpwent;
| if (v0 == 0) {
0x0000e8a4 beqz v0, 0xe458 | goto label_9;
| }
0x0000e8a8 lw v0, -0x7fb4(gp) | v0 = *(gp);
| /* str.sshd */
0x0000e8ac addiu s1, s1, 0x6bb8 | s1 += 0x6bb8;
| /* str.Privilege_separation_user__s_does_not_exist */
0x0000e8b0 addiu v0, v0, 0x6bc0 | v0 += 0x6bc0;
0x0000e8b4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000e8b8 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0000e8bc addiu v0, zero, 1 | v0 = 1;
0x0000e8c0 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0000e8c4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000e8c8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000e8cc move a3, zero | a3 = 0;
0x0000e8d0 addiu a2, zero, 0x6f6 | a2 = 0x6f6;
| label_16:
0x0000e8d4 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000e8d8 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000e8dc lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000e8e0 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000e8e4 jalr t9 | t9 ();
| label_45:
0x0000e8e8 lw t9, -0x6fd8(gp) | t9 = sym.imp.getuid;
0x0000e8ec jalr t9 | t9 ();
0x0000e8f0 nop |
0x0000e8f4 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000e8f8 bnez v0, 0xf6cc | goto label_61;
| }
0x0000e8fc addiu v0, zero, 1 | v0 = 1;
0x0000e900 b 0xe3c8 | goto label_10;
| label_59:
0x0000e904 lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x0000e908 addiu a0, zero, 4 | a0 = 4;
0x0000e90c jalr t9 | t9 ();
0x0000e910 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e914 addiu a0, zero, 4 | a0 = 4;
0x0000e918 lw t9, -0x7024(gp) | t9 = sym.imp.close;
0x0000e91c sw v0, -0x5fbc(s1) | *((s1 - 6127)) = v0;
0x0000e920 jalr t9 | t9 ();
0x0000e924 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e928 lw a1, -0x5fbc(s1) | a1 = *((s1 - 6127));
0x0000e92c addiu a3, zero, 1 | a3 = 1;
0x0000e930 lw a2, -0x7fb4(gp) | a2 = *(gp);
0x0000e934 lw t9, -0x7e5c(gp) | t9 = sym.atomicio;
0x0000e938 lw a0, -0x6d80(gp) | a0 = *((gp - 7008));
0x0000e93c addiu a2, a2, 0x7bd0 | a2 += 0x7bd0;
0x0000e940 jalr t9 | t9 ();
0x0000e944 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e948 b 0xe820 | goto label_8;
| label_50:
0x0000e94c lw t9, -0x7e78(gp) | t9 = sym.sshkey_is_sk;
0x0000e950 lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x0000e954 jalr t9 | t9 ();
0x0000e958 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000e95c beqz v0, 0xeb94 | goto label_62;
| }
0x0000e960 lw v0, 0xd8(sp) | v0 = *(var_d8h);
0x0000e964 lbu v1, 0x38(v0) | v1 = *((v0 + 56));
0x0000e968 andi v1, v1, 1 | v1 &= 1;
0x0000e96c lw v0, 0x420(s4) | v0 = *(s4);
| if (v1 == 0) {
0x0000e970 bnel v1, zero, 0xe9f8 | goto label_51;
| }
| label_12:
0x0000e974 move a0, v0 | a0 = v0;
0x0000e978 lw t9, -0x7e58(gp) | t9 = sym.sshkey_shield_private;
| label_18:
0x0000e97c jalr t9 | t9 ();
0x0000e980 nop |
0x0000e984 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000e988 beqz v0, 0xe5f4 | goto label_11;
| }
0x0000e98c lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0000e990 move a0, v0 | a0 = v0;
0x0000e994 jalr t9 | t9 ();
0x0000e998 lw v1, 0x420(s4) | v1 = *(s4);
0x0000e99c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e9a0 move a3, zero | a3 = 0;
0x0000e9a4 lwx v1, s1(v1) | __asm ("lwx v1, s1(v1)");
0x0000e9a8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000e9ac lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000e9b0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000e9b4 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000e9b8 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000e9bc addiu a2, zero, 0x722 | a2 = 0x722;
0x0000e9c0 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000e9c4 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000e9c8 sw v1, 0x1c(sp) | *(var_1ch) = v1;
| /* str.Unable_to_shield_host_key___s_ */
0x0000e9cc addiu v0, v0, 0x6c6c | v0 += 0x6c6c;
0x0000e9d0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000e9d4 sw s3, 0x10(sp) | *(var_10h) = s3;
0x0000e9d8 jalr t9 | t9 ();
0x0000e9dc lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e9e0 lw t9, -0x7f10(gp) | t9 = sym.sshkey_free;
0x0000e9e4 lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x0000e9e8 jalr t9 | t9 ();
0x0000e9ec lw gp, 0x38(sp) | gp = *(var_38h);
0x0000e9f0 sw zero, 0xd8(sp) | *(var_d8h) = 0;
0x0000e9f4 b 0xe5f4 | goto label_11;
| label_51:
0x0000e9f8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000e9fc move a3, zero | a3 = 0;
0x0000ea00 lwx v0, s1(v0) | __asm ("lwx v0, s1(v0)");
0x0000ea04 addiu a2, zero, 0x71c | a2 = 0x71c;
0x0000ea08 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0000ea0c lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000ea10 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.host_key__s_requires_user_presence__ignoring */
0x0000ea14 addiu v0, v0, 0x6c3c | v0 += 0x6c3c;
0x0000ea18 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000ea1c addiu v0, zero, 5 | v0 = 5;
0x0000ea20 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000ea24 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000ea28 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000ea2c lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000ea30 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000ea34 jalr t9 | t9 ();
0x0000ea38 lw v0, 0xd8(sp) | v0 = *(var_d8h);
0x0000ea3c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000ea40 lbu v1, 0x38(v0) | v1 = *((v0 + 56));
0x0000ea44 andi v1, v1, 0xfe | v1 &= 0xfe;
0x0000ea48 sb v1, 0x38(v0) | *((v0 + 56)) = v1;
| if (s5 == 0) {
0x0000ea4c beqz s5, 0xe974 | goto label_12;
| }
0x0000ea50 lw a0, 0x420(s4) | a0 = *(s4);
0x0000ea54 b 0xe5f8 | goto label_13;
| label_54:
0x0000ea58 lw v0, 0x420(s4) | v0 = *(s4);
0x0000ea5c lw v1, 0x50(sp) | v1 = *(var_50h);
0x0000ea60 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000ea64 lwx v0, s1(v0) | __asm ("lwx v0, s1(v0)");
0x0000ea68 addiu a1, v1, 0x7e94 | a1 = v1 + 0x7e94;
0x0000ea6c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0000ea70 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000ea74 lw v1, 0x40(sp) | v1 = *(var_40h);
| /* str.Public_key_for__s_does_not_match_private_key */
0x0000ea78 addiu v0, v0, 0x6c8c | v0 += 0x6c8c;
0x0000ea7c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000ea80 addiu v0, zero, 2 | v0 = 2;
0x0000ea84 addiu a0, v1, 0x65f4 | a0 = v1 + 0x65f4;
0x0000ea88 move a3, zero | a3 = 0;
0x0000ea8c addiu a2, zero, 0x72d | a2 = 0x72d;
0x0000ea90 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000ea94 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000ea98 jalr t9 | t9 ();
0x0000ea9c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000eaa0 lw t9, -0x7f10(gp) | t9 = sym.sshkey_free;
0x0000eaa4 lw a0, 0xdc(sp) | a0 = *(var_dch);
0x0000eaa8 jalr t9 | t9 ();
0x0000eaac lw gp, 0x38(sp) | gp = *(var_38h);
0x0000eab0 sw zero, 0xdc(sp) | *(var_dch) = 0;
| label_53:
0x0000eab4 lw v0, 0xd8(sp) | v0 = *(var_d8h);
| label_55:
0x0000eab8 lw t9, -0x7f0c(gp) | t9 = sym.sshkey_from_private;
| if (v0 == 0) {
0x0000eabc beqz v0, 0xe6ac | goto label_14;
| }
0x0000eac0 move a1, s5 | a1 = s5;
0x0000eac4 move a0, v0 | a0 = v0;
0x0000eac8 jalr t9 | t9 ();
0x0000eacc lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000ead0 beqz v0, 0xe6a8 | goto label_15;
| }
0x0000ead4 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0000ead8 move a0, v0 | a0 = v0;
0x0000eadc jalr t9 | t9 ();
0x0000eae0 lw v1, 0x420(s4) | v1 = *(s4);
0x0000eae4 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000eae8 move a3, zero | a3 = 0;
0x0000eaec lwx s1, s1(v1) | __asm ("lwx s1, s1(v1)");
0x0000eaf0 lw v1, -0x7fb4(gp) | v1 = *(gp);
0x0000eaf4 sw v0, 0x14(sp) | *(var_14h) = v0;
| /* str.Could_not_demote_key:___s_ */
0x0000eaf8 addiu v1, v1, 0x6cbc | v1 += 0x6cbc;
0x0000eafc addiu v0, zero, 1 | v0 = 1;
0x0000eb00 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0000eb04 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0000eb08 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0000eb0c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000eb10 addiu a2, zero, 0x735 | a2 = 0x735;
0x0000eb14 b 0xe8d4 | goto label_16;
| label_56:
0x0000eb18 lw v0, 0x420(s4) | v0 = *(s4);
0x0000eb1c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000eb20 lwx v0, s1(v0) | __asm ("lwx v0, s1(v0)");
| if (v1 != 0) {
0x0000eb24 beqz v1, 0xeb38 |
0x0000eb28 lw v1, 0x78(sp) | v1 = *(var_78h);
0x0000eb2c lw v1, -0x4878(v1) | v1 = *((v1 - 4638));
0x0000eb30 sw v0, 0x1c(sp) | *(var_1ch) = v0;
| if (v1 == 0) {
0x0000eb34 bnel v1, zero, 0xec58 | goto label_63;
| }
| }
0x0000eb38 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0000eb3c lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000eb40 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.Unable_to_load_host_key:__s */
0x0000eb44 addiu v0, v0, 0x6cfc | v0 += 0x6cfc;
0x0000eb48 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000eb4c lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000eb50 sw s3, 0x10(sp) | *(var_10h) = s3;
0x0000eb54 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000eb58 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000eb5c move a3, zero | a3 = 0;
0x0000eb60 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000eb64 addiu a2, zero, 0x743 | a2 = 0x743;
0x0000eb68 jalr t9 | t9 ();
0x0000eb6c lw v1, 0x48(sp) | v1 = *(var_48h);
0x0000eb70 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000eb74 addiu s6, s6, 1 | s6++;
0x0000eb78 lw v0, (v1) | v0 = *(v1);
0x0000eb7c addu v0, v0, s1 | v0 += s1;
0x0000eb80 sw zero, (v0) | *(v0) = 0;
0x0000eb84 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0000eb88 addu s1, v0, s1 | s1 = v0 + s1;
0x0000eb8c sw zero, (s1) | *(s1) = 0;
0x0000eb90 b 0xe514 | goto label_17;
| label_62:
0x0000eb94 lw a0, 0xd8(sp) | a0 = *(var_d8h);
| if (a0 == 0) {
0x0000eb98 beql a0, zero, 0xe5f8 | goto label_13;
| }
0x0000eb9c lw a0, 0x420(s4) | a0 = *(s4);
0x0000eba0 lw t9, -0x7e58(gp) | t9 = sym.sshkey_shield_private;
0x0000eba4 b 0xe97c | goto label_18;
| label_41:
0x0000eba8 lw a1, -0x7fb4(gp) | a1 = *(gp);
| if (a0 == 0) {
0x0000ebac beqz a0, 0xe298 | goto label_19;
| }
0x0000ebb0 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
| /* str.none */
0x0000ebb4 addiu a1, a1, 0x6aac | a1 += 0x6aac;
0x0000ebb8 jalr t9 | t9 ();
0x0000ebbc lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000ebc0 beqz v0, 0xe298 | goto label_19;
| }
0x0000ebc4 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000ebc8 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.AuthorizedKeysCommand_set_without_AuthorizedKeysCommandUser */
0x0000ebcc addiu v0, v0, 0x6ab4 | v0 += 0x6ab4;
0x0000ebd0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000ebd4 addiu v0, zero, 1 | v0 = 1;
0x0000ebd8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000ebdc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000ebe0 move a3, zero | a3 = 0;
0x0000ebe4 addiu a2, zero, 0x6d1 | a2 = 0x6d1;
0x0000ebe8 b 0xe1a0 | goto label_2;
| label_42:
0x0000ebec lw a1, -0x7fb4(gp) | a1 = *(gp);
| if (a0 == 0) {
0x0000ebf0 beqz a0, 0xe2a4 | goto label_20;
| }
0x0000ebf4 lw t9, -0x6ff4(gp) | t9 = sym.imp.strcasecmp;
| /* str.none */
0x0000ebf8 addiu a1, a1, 0x6aac | a1 += 0x6aac;
0x0000ebfc jalr t9 | t9 ();
0x0000ec00 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000ec04 beqz v0, 0xe2a4 | goto label_20;
| }
0x0000ec08 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000ec0c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.AuthorizedPrincipalsCommand_set_without_AuthorizedPrincipalsCommandUser */
0x0000ec10 addiu v0, v0, 0x6af0 | v0 += 0x6af0;
0x0000ec14 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000ec18 addiu v0, zero, 1 | v0 = 1;
0x0000ec1c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000ec20 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000ec24 move a3, zero | a3 = 0;
0x0000ec28 addiu a2, zero, 0x6d6 | a2 = 0x6d6;
0x0000ec2c b 0xe1a0 | goto label_2;
| label_38:
0x0000ec30 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000ec34 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_new_failed */
0x0000ec38 addiu v0, v0, 0x66b0 | v0 += 0x66b0;
0x0000ec3c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000ec40 addiu v0, zero, 1 | v0 = 1;
0x0000ec44 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000ec48 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000ec4c addiu a3, zero, 1 | a3 = 1;
0x0000ec50 addiu a2, zero, 0x6ad | a2 = 0x6ad;
0x0000ec54 b 0xe1a0 | goto label_2;
| label_63:
0x0000ec58 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000ec5c sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.will_rely_on_agent_for_hostkey__s */
0x0000ec60 addiu v0, v0, 0x6cd8 | v0 += 0x6cd8;
0x0000ec64 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000ec68 addiu v0, zero, 5 | v0 = 5;
0x0000ec6c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000ec70 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000ec74 move a3, zero | a3 = 0;
0x0000ec78 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000ec7c lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000ec80 addiu a2, zero, 0x73c | a2 = 0x73c;
0x0000ec84 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000ec88 jalr t9 | t9 ();
0x0000ec8c lw a0, 0xdc(sp) | a0 = *(var_dch);
0x0000ec90 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000ec94 lw s1, (a0) | s1 = *(a0);
0x0000ec98 b 0xe6f8 | goto label_21;
| label_49:
0x0000ec9c lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x0000eca0 lw t9, -0x7f48(gp) | t9 = *(gp);
0x0000eca4 move a1, zero | a1 = 0;
| /* fcn.00012f6c */
0x0000eca8 addiu t9, t9, 0x2f6c | t9 += 0x2f6c;
0x0000ecac lw a0, (v0) | a0 = *(v0);
0x0000ecb0 bal 0x12f6c | fcn_00012f6c ();
0x0000ecb4 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000ecb8 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x0000ecbc lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000ecc0 bnez v0, 0xed60 |
0x0000ecc4 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000ecc8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000eccc addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000ecd0 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000ecd4 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.sshd:_no_hostkeys_available____exiting. */
0x0000ecd8 addiu v0, v0, 0x6d4c | v0 += 0x6d4c;
0x0000ecdc sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000ece0 addiu v0, zero, 3 | v0 = 3;
0x0000ece4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000ece8 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000ecec move a3, zero | a3 = 0;
0x0000ecf0 addiu a2, zero, 0x75e | a2 = 0x75e;
0x0000ecf4 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000ecf8 jalr t9 | t9 ();
0x0000ecfc lw gp, 0x38(sp) | gp = *(var_38h);
0x0000ed00 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x0000ed04 addiu a0, zero, 1 | a0 = 1;
0x0000ed08 jalr t9 | t9 ();
0x0000ed0c lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x0000ed10 lw a0, -0x7fb4(gp) | a0 = *(gp);
0x0000ed14 lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
0x0000ed18 lw a3, (v0) | a3 = *(v0);
| /* str.too_many_ports._n */
0x0000ed1c addiu a0, a0, 0x68a8 | a0 += 0x68a8;
0x0000ed20 addiu a2, zero, 0x10 | a2 = 0x10;
0x0000ed24 b 0xdfa4 | goto label_3;
| label_58:
0x0000ed28 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000ed2c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshkey_fingerprint_failed */
0x0000ed30 addiu v0, v0, 0x6d18 | v0 += 0x6d18;
0x0000ed34 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000ed38 addiu v0, zero, 1 | v0 = 1;
0x0000ed3c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000ed40 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000ed44 move a3, zero | a3 = 0;
0x0000ed48 addiu a2, zero, 0x757 | a2 = 0x757;
0x0000ed4c lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000ed50 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000ed54 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000ed58 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000ed5c jalr t9 | t9 ();
| }
0x0000ed60 lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x0000ed64 lw a0, 0x428(s4) | a0 = *(s4);
0x0000ed68 addiu a1, zero, 4 | a1 = 4;
0x0000ed6c jalr t9 | t9 ();
0x0000ed70 lw v1, 0x48(sp) | v1 = *(var_48h);
0x0000ed74 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000ed78 move a0, zero | a0 = 0;
0x0000ed7c sw v0, 8(v1) | *((v1 + 2)) = v0;
0x0000ed80 b 0xed98 |
| while (v0 != 0) {
0x0000ed84 sll v1, a0, 2 | v1 = a0 << 2;
0x0000ed88 addiu a0, a0, 1 | a0++;
0x0000ed8c lw v0, 8(v0) | v0 = *((v0 + 2));
0x0000ed90 addu v0, v0, v1 | v0 += v1;
0x0000ed94 sw zero, (v0) | *(v0) = 0;
0x0000ed98 lw v0, 0x428(s4) | v0 = *(s4);
0x0000ed9c sltu v0, a0, v0 | v0 = (a0 < v0) ? 1 : 0;
0x0000eda0 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000eda4 bnez v0, 0xed84 |
| }
0x0000eda8 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000edac move s1, zero | s1 = 0;
| /* str.No_matching_private_key_for_certificate:__s */
0x0000edb0 addiu v0, v0, 0x6dc8 | v0 += 0x6dc8;
0x0000edb4 sw v0, 0x68(sp) | *(var_68h) = v0;
0x0000edb8 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000edbc addiu s5, sp, 0xd8 | s5 = sp + 0xd8;
| /* str.host_certificate:__u_type__d__s */
0x0000edc0 addiu v0, v0, 0x6df4 | v0 += 0x6df4;
0x0000edc4 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0000edc8 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000edcc sw s0, 0x698(sp) | *(arg_698h) = s0;
0x0000edd0 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0000edd4 lw v0, -0x7fb4(gp) | v0 = *(gp);
| /* str.Could_not_load_host_certificate___s_ */
0x0000edd8 addiu v0, v0, 0x6d74 | v0 += 0x6d74;
0x0000eddc sw v0, 0x74(sp) | *(var_74h) = v0;
| label_22:
0x0000ede0 lw v0, 0x430(s4) | v0 = *(s4);
0x0000ede4 sltu v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x0000ede8 sll s3, s1, 2 | s3 = s1 << 2;
| if (v0 == 0) {
0x0000edec beqz v0, 0xefe4 | goto label_64;
| }
0x0000edf0 lw a0, 0x42c(s4) | a0 = *(s4);
0x0000edf4 lwx a0, s3(a0) | __asm ("lwx a0, s3(a0)");
0x0000edf8 lw t9, -0x7e74(gp) | t9 = sym.sshkey_load_public;
| if (a0 == 0) {
0x0000edfc beqz a0, 0xeeb8 | goto label_65;
| }
0x0000ee00 move a2, zero | a2 = 0;
0x0000ee04 move a1, s5 | a1 = s5;
0x0000ee08 jalr t9 | t9 ();
0x0000ee0c lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000ee10 bnez v0, 0xeec0 | goto label_66;
| }
0x0000ee14 lw t9, -0x7fcc(gp) | t9 = sym.sshkey_is_cert;
0x0000ee18 lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x0000ee1c jalr t9 | t9 ();
0x0000ee20 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000ee24 beqz v0, 0xef1c | goto label_67;
| }
0x0000ee28 move s6, zero | s6 = 0;
0x0000ee2c b 0xee54 |
| while (v0 != 0) {
0x0000ee30 sll s0, s6, 2 | s0 = s6 << 2;
0x0000ee34 lw t9, -0x7e54(gp) | t9 = sym.sshkey_equal_public;
0x0000ee38 lw a1, (v0) | a1 = *(v0);
0x0000ee3c lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x0000ee40 lwx a1, s0(a1) | __asm ("lwx a1, s0(a1)");
0x0000ee44 jalr t9 | t9 ();
0x0000ee48 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0000ee4c bnez v0, 0xef54 | goto label_68;
| }
0x0000ee50 addiu s6, s6, 1 | s6++;
0x0000ee54 lw v0, 0x428(s4) | v0 = *(s4);
0x0000ee58 sltu v0, s6, v0 | v0 = (s6 < v0) ? 1 : 0;
0x0000ee5c lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000ee60 bnez v0, 0xee30 |
| }
| label_23:
0x0000ee64 lw v0, 0x42c(s4) | v0 = *(s4);
0x0000ee68 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000ee6c move a3, zero | a3 = 0;
0x0000ee70 lwx s3, s3(v0) | __asm ("lwx s3, s3(v0)");
0x0000ee74 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000ee78 addiu a2, zero, 0x784 | a2 = 0x784;
0x0000ee7c addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000ee80 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000ee84 sw s3, 0x1c(sp) | *(var_1ch) = s3;
0x0000ee88 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000ee8c lw v0, 0x68(sp) | v0 = *(var_68h);
0x0000ee90 sw v0, 0x18(sp) | *(var_18h) = v0;
| do {
0x0000ee94 addiu v0, zero, 2 | v0 = 2;
0x0000ee98 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000ee9c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000eea0 jalr t9 | t9 ();
0x0000eea4 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000eea8 lw t9, -0x7f10(gp) | t9 = sym.sshkey_free;
0x0000eeac lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x0000eeb0 jalr t9 | t9 ();
0x0000eeb4 lw gp, 0x38(sp) | gp = *(var_38h);
| label_65:
0x0000eeb8 addiu s1, s1, 1 | s1++;
0x0000eebc b 0xede0 | goto label_22;
| label_66:
0x0000eec0 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0000eec4 move a0, v0 | a0 = v0;
0x0000eec8 jalr t9 | t9 ();
0x0000eecc lw v1, 0x42c(s4) | v1 = *(s4);
0x0000eed0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000eed4 move a3, zero | a3 = 0;
0x0000eed8 lwx s3, s3(v1) | __asm ("lwx s3, s3(v1)");
0x0000eedc sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000eee0 addiu v0, zero, 2 | v0 = 2;
0x0000eee4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000eee8 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000eeec lw v1, 0x74(sp) | v1 = *(var_74h);
0x0000eef0 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000eef4 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000eef8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000eefc sw s3, 0x1c(sp) | *(var_1ch) = s3;
0x0000ef00 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0000ef04 addiu a2, zero, 0x771 | a2 = 0x771;
0x0000ef08 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000ef0c jalr t9 | t9 ();
0x0000ef10 addiu s1, s1, 1 | s1++;
0x0000ef14 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000ef18 b 0xede0 | goto label_22;
| label_67:
0x0000ef1c lw v0, 0x42c(s4) | v0 = *(s4);
0x0000ef20 lw v1, 0x70(sp) | v1 = *(var_70h);
0x0000ef24 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000ef28 lwx s3, s3(v0) | __asm ("lwx s3, s3(v0)");
0x0000ef2c lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000ef30 addiu v1, v1, 0x6d9c | v1 += 0x6d9c;
0x0000ef34 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000ef38 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000ef3c move a3, zero | a3 = 0;
0x0000ef40 addiu a2, zero, 0x776 | a2 = 0x776;
0x0000ef44 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000ef48 sw s3, 0x1c(sp) | *(var_1ch) = s3;
0x0000ef4c sw v1, 0x18(sp) | *(var_18h) = v1;
0x0000ef50 b 0xee94 |
| } while (1);
| label_68:
0x0000ef54 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000ef58 lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x0000ef5c lw v0, 8(v0) | v0 = *((v0 + 2));
0x0000ef60 addu v0, v0, s0 | v0 += s0;
0x0000ef64 sw a0, (v0) | *(v0) = a0;
0x0000ef68 lw v0, 0x428(s4) | v0 = *(s4);
0x0000ef6c sltu v0, s6, v0 | v0 = (s6 < v0) ? 1 : 0;
0x0000ef70 lw v0, 0x48(sp) | v0 = *(var_48h);
| if (v0 == 0) {
0x0000ef74 beqz v0, 0xee64 | goto label_23;
| }
0x0000ef78 lw a0, 0xd8(sp) | a0 = *(var_d8h);
0x0000ef7c lw t9, -0x7f08(gp) | t9 = sym.sshkey_type;
0x0000ef80 lw v0, 8(v0) | v0 = *((v0 + 2));
0x0000ef84 addiu s1, s1, 1 | s1++;
0x0000ef88 addu v1, v0, s0 | v1 = v0 + s0;
0x0000ef8c sw a0, (v1) | *(v1) = a0;
0x0000ef90 lw s3, (a0) | s3 = *(a0);
0x0000ef94 jalr t9 | t9 ();
0x0000ef98 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0000ef9c lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x0000efa0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000efa4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000efa8 addiu v0, zero, 5 | v0 = 5;
0x0000efac sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000efb0 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000efb4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000efb8 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000efbc lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000efc0 sw s3, 0x20(sp) | *(var_20h) = s3;
0x0000efc4 sw s6, 0x1c(sp) | *(var_1ch) = s6;
0x0000efc8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000efcc move a3, zero | a3 = 0;
0x0000efd0 addiu a2, zero, 0x78a | a2 = 0x78a;
0x0000efd4 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000efd8 jalr t9 | t9 ();
0x0000efdc lw gp, 0x38(sp) | gp = *(var_38h);
0x0000efe0 b 0xede0 | goto label_22;
| label_64:
0x0000efe4 lw v0, 0x94(sp) | v0 = *(var_94h);
0x0000efe8 lw v0, -0x5fc8(v0) | v0 = *((v0 - 6130));
0x0000efec lw s0, 0x698(sp) | s0 = *(arg_698h);
| if (v0 != 0) {
0x0000eff0 bnez v0, 0xf844 | goto label_69;
| }
0x0000eff4 lw v0, 0x64(sp) | v0 = *(var_64h);
| label_27:
0x0000eff8 lw v0, -0x4814(v0) | v0 = *((v0 - 4613));
0x0000effc slti v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x0000f000 lw v0, 0x44(sp) | v0 = *(var_44h);
| if (v0 == 0) {
0x0000f004 bnez v0, 0xf048 |
0x0000f008 lw t9, -0x7ec8(gp) | t9 = sym.get_connection_info;
| if (v0 == 0) {
0x0000f00c beqz v0, 0xf950 | goto label_70;
| }
| label_29:
0x0000f010 lw v1, 0x44(sp) | v1 = *(var_44h);
0x0000f014 lw t9, -0x7e50(gp) | t9 = sym.parse_server_match_config;
0x0000f018 lw a1, -0x7f68(gp) | a1 = *(gp);
0x0000f01c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0000f020 addiu v0, zero, 1 | v0 = 1;
0x0000f024 move a2, v1 | a2 = v1;
0x0000f028 sw v0, 0x18(v1) | *((v1 + 6)) = v0;
0x0000f02c bal 0x1df94 | sym_parse_server_match_config ();
0x0000f030 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f034 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0000f038 lw t9, -0x7e4c(gp) | t9 = sym.dump_config;
0x0000f03c bal 0x1e064 | sym_dump_config ();
0x0000f040 nop |
0x0000f044 lw gp, 0x38(sp) | gp = *(var_38h);
| }
0x0000f048 lw v0, 0x64(sp) | v0 = *(var_64h);
0x0000f04c lw s1, -0x4814(v0) | s1 = *((v0 - 4613));
0x0000f050 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
| if (s1 != 0) {
0x0000f054 bnez s1, 0xf83c | goto label_71;
| }
0x0000f058 lw t9, -0x6c78(gp) | t9 = sym.imp.setgroups;
0x0000f05c move a1, zero | a1 = 0;
0x0000f060 move a0, zero | a0 = 0;
0x0000f064 jalr t9 | t9 ();
0x0000f068 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 < 0) {
0x0000f06c bltz v0, 0xf8ec | goto label_72;
| }
| label_28:
0x0000f070 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000f074 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0000f078 lw v0, -0x5fb0(v0) | v0 = *((v0 - 6124));
0x0000f07c lw v0, 0x54(sp) | v0 = *(var_54h);
| if (v0 == 0) {
0x0000f080 beqz v0, 0xf184 | goto label_73;
| }
0x0000f084 lw a0, -0x482c(v0) | a0 = *((v0 - 4619));
0x0000f088 lw v0, -0x7fb4(gp) | v0 = *(gp);
| if (a0 < 0) {
0x0000f08c bltz a0, 0x10fa0 | goto label_74;
| }
0x0000f090 lw t9, -0x7f44(gp) | t9 = *(gp);
0x0000f094 addiu a1, zero, 2 | a1 = 2;
0x0000f098 jalr t9 | t9 ();
0x0000f09c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f0a0 addiu a1, zero, 4 | a1 = 4;
0x0000f0a4 move a0, v0 | a0 = v0;
0x0000f0a8 lw t2, -0x7fdc(gp) | t2 = *((gp - 8183));
0x0000f0ac lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x0000f0b0 sw t2, 0x44(sp) | *(var_44h) = t2;
0x0000f0b4 jalr t9 | t9 ();
0x0000f0b8 lw t2, 0x44(sp) | t2 = *(var_44h);
0x0000f0bc lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f0c0 move s3, zero | s3 = 0;
0x0000f0c4 sw v0, -0x4830(t2) | *((t2 - 4620)) = v0;
0x0000f0c8 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000f0cc lw s5, -0x7fb4(gp) | s5 = *(gp);
0x0000f0d0 addiu t1, v0, 0x7e94 | t1 = v0 + 0x7e94;
0x0000f0d4 lw v0, 0x40(sp) | v0 = *(var_40h);
| /* str.rexec_argv__d__s */
0x0000f0d8 addiu s5, s5, 0x6ec0 | s5 += 0x6ec0;
0x0000f0dc addiu t0, zero, 5 | t0 = 5;
0x0000f0e0 addiu v1, v0, 0x65f4 | v1 = v0 + 0x65f4;
0x0000f0e4 b 0xf154 |
| while (v0 != 0) {
0x0000f0e8 sll s6, s3, 2 | s6 = s3 << 2;
0x0000f0ec lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000f0f0 lwx v0, s6(v0) | __asm ("lwx v0, s6(v0)");
0x0000f0f4 move a0, v1 | a0 = v1;
0x0000f0f8 sw t2, 0x68(sp) | *(var_68h) = t2;
0x0000f0fc sw s3, 0x1c(sp) | *(var_1ch) = s3;
0x0000f100 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0000f104 sw t0, 0x10(sp) | *(var_10h) = t0;
0x0000f108 move a1, t1 | a1 = t1;
0x0000f10c sw t1, 0x64(sp) | *(var_64h) = t1;
0x0000f110 sw v1, 0x44(sp) | *(var_44h) = v1;
0x0000f114 move a3, zero | a3 = 0;
0x0000f118 sw s5, 0x18(sp) | *(var_18h) = s5;
0x0000f11c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000f120 addiu a2, zero, 0x7bf | a2 = 0x7bf;
0x0000f124 jalr t9 | t9 ();
0x0000f128 lw t2, 0x68(sp) | t2 = *(var_68h);
0x0000f12c lw a0, -0x4824(s7) | a0 = *((s7 - 4617));
0x0000f130 lw t1, 0x64(sp) | t1 = *(var_64h);
0x0000f134 lw v0, -0x4830(t2) | v0 = *((t2 - 4620));
0x0000f138 lwx a0, s6(a0) | __asm ("lwx a0, s6(a0)");
0x0000f13c addu v0, v0, s6 | v0 += s6;
0x0000f140 lw v1, 0x44(sp) | v1 = *(var_44h);
0x0000f144 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f148 addiu s3, s3, 1 | s3++;
0x0000f14c sw a0, (v0) | *(v0) = a0;
0x0000f150 addiu t0, zero, 5 | t0 = 5;
0x0000f154 lw v0, 0x54(sp) | v0 = *(var_54h);
0x0000f158 lw a0, -0x482c(v0) | a0 = *((v0 - 4619));
0x0000f15c sltu v0, s3, a0 | v0 = (s3 < a0) ? 1 : 0;
0x0000f160 lw v0, -0x4824(s7) | v0 = *((s7 - 4617));
0x0000f164 bnez v0, 0xf0e8 |
| }
0x0000f168 lw v0, -0x4830(t2) | v0 = *((t2 - 4620));
0x0000f16c sll a0, a0, 2 | a0 <<= 2;
0x0000f170 addu v0, v0, a0 | v0 += a0;
0x0000f174 lw a0, -0x7fb4(gp) | a0 = *(gp);
0x0000f178 sw zero, 4(v0) | *((v0 + 1)) = 0;
| /* esilref: '-R' */
0x0000f17c addiu a0, a0, 0x6ed4 | a0 += 0x6ed4;
0x0000f180 sw a0, (v0) | *(v0) = a0;
| label_73:
0x0000f184 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0000f188 lw s3, -0x7e48(gp) | s3 = *(gp);
0x0000f18c sw zero, 0xe8(sp) | *(var_e8h) = 0;
0x0000f190 addiu s5, sp, 0xe8 | s5 = sp + 0xe8;
| /* esilref: '&s' */
0x0000f194 addiu s6, v0, -0x7908 | s6 = v0 + -0x7908;
0x0000f198 addiu s3, s3, -0x52c8 | s3 += -0x52c8;
0x0000f19c b 0xf1d4 |
| while (v0 != 0) {
0x0000f1a0 lw t9, -0x7e44(gp) | t9 = sym.xextendf;
0x0000f1a4 lwx a3, a3(s2) | __asm ("lwx a3, a3(s2)");
0x0000f1a8 move a2, s6 | a2 = s6;
0x0000f1ac move a1, s3 | a1 = s3;
0x0000f1b0 move a0, s5 | a0 = s5;
0x0000f1b4 jalr t9 | t9 ();
0x0000f1b8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f1bc move a0, s1 | a0 = s1;
0x0000f1c0 lw t9, -0x7f44(gp) | t9 = *(gp);
0x0000f1c4 addiu a1, zero, 1 | a1 = 1;
0x0000f1c8 jalr t9 | t9 ();
0x0000f1cc lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f1d0 move s1, v0 | s1 = v0;
0x0000f1d4 slt v0, s1, s0 | v0 = (s1 < s0) ? 1 : 0;
0x0000f1d8 sll a3, s1, 2 | a3 = s1 << 2;
0x0000f1dc bnez v0, 0xf1a0 |
| }
0x0000f1e0 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x0000f1e4 lw s0, -0x7ed8(gp) | s0 = *(gp);
0x0000f1e8 lw v0, 0xe8(sp) | v0 = *(var_e8h);
0x0000f1ec lw t9, -0x6f10(gp) | t9 = sym.imp.umask;
0x0000f1f0 sw v1, 0xb8(sp) | *(var_b8h) = v1;
0x0000f1f4 addiu a0, zero, 0x3f | a0 = 0x3f;
0x0000f1f8 sw v0, -0x488c(v1) | *((v1 - 4643)) = v0;
0x0000f1fc sw s0, 0x88(sp) | *(var_88h) = s0;
0x0000f200 jalr t9 | t9 ();
0x0000f204 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f208 lw t9, -0x6f10(gp) | t9 = sym.imp.umask;
0x0000f20c ori a0, v0, 0x12 | a0 = v0 | 0x12;
0x0000f210 jalr t9 | t9 ();
0x0000f214 lw v0, (s0) | v0 = *(s0);
0x0000f218 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0000f21c beqz v0, 0x10f94 | goto label_75;
| }
0x0000f220 lw v0, 0x60(sp) | v0 = *(var_60h);
0x0000f224 lw v0, -0x4818(v0) | v0 = *((v0 - 4614));
0x0000f228 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 != 0) {
0x0000f22c beqz v0, 0xf240 |
0x0000f230 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0000f234 lw v0, -0x4828(v0) | v0 = *((v0 - 4618));
0x0000f238 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 == 0) {
0x0000f23c beqz v0, 0x10f98 | goto label_76;
| }
| }
0x0000f240 move v1, v0 | v1 = v0;
0x0000f244 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0000f248 addiu v0, zero, 1 | v0 = 1;
0x0000f24c sw v0, -0x4820(v1) | *((v1 - 4616)) = v0;
| label_30:
0x0000f250 lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x0000f254 lw t9, -0x7ea4(gp) | t9 = sym.log_init;
0x0000f258 lw a2, 0x498(s4) | a2 = *(s4);
0x0000f25c lw a3, -0x4820(v0) | a3 = *((v0 - 4616));
0x0000f260 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0000f264 lw a1, 0x49c(s4) | a1 = *(s4);
0x0000f268 move s0, zero | s0 = 0;
0x0000f26c lw a0, (v0) | a0 = *(v0);
0x0000f270 jalr t9 | t9 ();
0x0000f274 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f278 b 0xf294 |
| while (v0 == 0) {
0x0000f27c sll v0, s0, 2 | v0 = s0 << 2;
0x0000f280 lw t9, -0x7e40(gp) | t9 = sym.log_verbose_add;
0x0000f284 lwx a0, v0(a0) | __asm ("lwx a0, v0(a0)");
0x0000f288 addiu s0, s0, 1 | s0++;
0x0000f28c jalr t9 | t9 ();
0x0000f290 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f294 lw v0, 0x4a0(s4) | v0 = *(s4);
0x0000f298 sltu v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x0000f29c lw a0, 0x4a4(s4) | a0 = *(s4);
0x0000f2a0 bnel v0, zero, 0xf27c |
| }
0x0000f2a4 lw t9, -0x7e3c(gp) | t9 = sym.daemonized;
0x0000f2a8 jalr t9 | t9 ();
0x0000f2ac nop |
0x0000f2b0 lw v1, 0x88(sp) | v1 = *(var_88h);
0x0000f2b4 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f2b8 lw a0, (v1) | a0 = *(v1);
0x0000f2bc lw v1, 0x60(sp) | v1 = *(var_60h);
0x0000f2c0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000f2c4 lw a2, -0x4818(v1) | a2 = *((v1 - 4614));
0x0000f2c8 lw a1, -0x481c(a1) | a1 = *((a1 - 4615));
0x0000f2cc or a0, a0, a2 | a0 |= a2;
0x0000f2d0 or a0, a0, a1 | a0 |= a1;
0x0000f2d4 or v0, a0, v0 | v0 = a0 | v0;
0x0000f2d8 lw v0, 0x6c(sp) | v0 = *(var_6ch);
| if (v0 == 0) {
0x0000f2dc bnez v0, 0xf310 |
0x0000f2e0 lw t9, -0x6ca8(gp) | t9 = sym.imp.daemon;
0x0000f2e4 move a0, zero | a0 = 0;
0x0000f2e8 move a1, zero | a1 = 0;
0x0000f2ec jalr t9 | t9 ();
0x0000f2f0 addiu a0, zero, -1 | a0 = -1;
0x0000f2f4 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == a0) {
0x0000f2f8 beq v0, a0, 0x11420 | goto label_77;
| }
0x0000f2fc lw t9, -0x7e38(gp) | t9 = sym.disconnect_controlling_tty;
0x0000f300 bal 0x15a34 | sym_disconnect_controlling_tty ();
0x0000f304 nop |
0x0000f308 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f30c lw v0, 0x6c(sp) | v0 = *(var_6ch);
| }
0x0000f310 lw s0, -0x7e48(gp) | s0 = *(gp);
0x0000f314 lw t9, -0x7ea4(gp) | t9 = sym.log_init;
0x0000f318 lw a3, -0x4820(v0) | a3 = *((v0 - 4616));
0x0000f31c lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0000f320 lw a2, 0x498(s4) | a2 = *(s4);
0x0000f324 lw a1, 0x49c(s4) | a1 = *(s4);
0x0000f328 lw a0, (v0) | a0 = *(v0);
0x0000f32c sw s0, 0xbc(sp) | *(var_bch) = s0;
0x0000f330 jalr t9 | t9 ();
0x0000f334 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f338 lw t9, -0x6fcc(gp) | t9 = sym.imp.chdir;
0x0000f33c addiu a0, s0, -0x7958 | a0 = s0 + -0x7958;
0x0000f340 jalr t9 | t9 ();
0x0000f344 addiu a0, zero, -1 | a0 = -1;
0x0000f348 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == a0) {
0x0000f34c beq v0, a0, 0x12904 | goto label_78;
| }
| label_31:
0x0000f350 lw t9, -0x7fac(gp) | t9 = sym.ssh_signal;
0x0000f354 addiu a1, zero, 1 | a1 = 1;
0x0000f358 addiu a0, zero, 0xd | a0 = 0xd;
0x0000f35c jalr t9 | t9 ();
0x0000f360 lw v0, 0x60(sp) | v0 = *(var_60h);
0x0000f364 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f368 lw v0, -0x4818(v0) | v0 = *((v0 - 4614));
0x0000f36c sw v0, 0xa8(sp) | *(var_a8h) = v0;
| if (v0 == 0) {
0x0000f370 beqz v0, 0xfbe4 | goto label_79;
| }
0x0000f374 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0000f378 lw v0, -0x4828(v0) | v0 = *((v0 - 4618));
0x0000f37c lw t9, -0x6f28(gp) | t9 = sym.imp.dup;
| if (v0 == 0) {
0x0000f380 beqz v0, 0x115b8 | void (*0x115b8)() ();
| }
| label_48:
0x0000f650 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0000f654 move a0, v0 | a0 = v0;
0x0000f658 jalr t9 | t9 ();
0x0000f65c lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f660 lw a0, 0x434(s4) | a0 = *(s4);
0x0000f664 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000f668 addiu v0, zero, 2 | v0 = 2;
0x0000f66c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000f670 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000f674 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x0000f678 lw a0, -0x7fb4(gp) | a0 = *(gp);
0x0000f67c addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000f680 lw v0, 0x40(sp) | v0 = *(var_40h);
| /* str.Could_not_connect_to_agent___s_ */
0x0000f684 addiu a0, a0, 0x6bfc | a0 += 0x6bfc;
0x0000f688 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0000f68c sw a0, 0x18(sp) | *(var_18h) = a0;
0x0000f690 move a3, zero | a3 = 0;
0x0000f694 addiu a2, zero, 0x70c | a2 = 0x70c;
0x0000f698 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000f69c jalr t9 | t9 ();
0x0000f6a0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f6a4 b 0xe4dc | goto label_24;
| label_47:
0x0000f6a8 lw t9, -0x720c(gp) | t9 = sym.imp.setenv;
0x0000f6ac addiu a2, zero, 1 | a2 = 1;
0x0000f6b0 move a1, s1 | a1 = s1;
| /* str.SSH_AUTH_SOCK */
0x0000f6b4 addiu a0, s3, 0x6bec | a0 = s3 + 0x6bec;
0x0000f6b8 jalr t9 | t9 ();
0x0000f6bc lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f6c0 b 0xe4bc | goto label_25;
| label_60:
0x0000f6c4 lw s3, -0x7eb0(gp) | s3 = *(gp);
0x0000f6c8 b 0xe22c | goto label_26;
| label_61:
0x0000f6cc lw t9, -0x7250(gp) | t9 = sym.imp.geteuid;
0x0000f6d0 jalr t9 | t9 ();
0x0000f6d4 nop |
0x0000f6d8 sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x0000f6dc lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f6e0 b 0xe3c8 | goto label_10;
| label_71:
0x0000f83c invalid |
0x0000f840 invalid |
| label_69:
0x0000f844 lw s1, -0x8000(gp) | s1 = *((gp - 8192));
0x0000f848 lw t9, -0x6d1c(gp) | t9 = sym.imp.__xstat64;
0x0000f84c addiu a0, zero, 3 | a0 = 3;
0x0000f850 addiu a2, sp, 0x100 | a2 = sp + aav.0x00000100;
| /* str._var_run_sshd */
0x0000f854 addiu a1, s1, 0x6e18 | a1 = s1 + 0x6e18;
0x0000f858 jalr t9 | t9 ();
0x0000f85c addiu a0, zero, -1 | a0 = -1;
0x0000f860 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != a0) {
0x0000f864 beq v0, a0, 0xf87c |
0x0000f868 lw v0, 0x118(sp) | v0 = *(var_118h);
0x0000f86c addiu a0, zero, 0x4000 | a0 = 0x4000;
0x0000f870 andi a1, v0, 0xf000 | a1 = v0 & 0xf000;
0x0000f874 lw a0, 0x120(sp) | a0 = *(var_120h);
| if (a1 == a0) {
0x0000f878 beq a1, a0, 0xf8ac | goto label_80;
| }
| }
0x0000f87c lw v0, -0x7fb4(gp) | v0 = *(gp);
| /* str._var_run_sshd */
0x0000f880 addiu s1, s1, 0x6e18 | s1 += 0x6e18;
| /* str.Missing_privilege_separation_directory:__s */
0x0000f884 addiu v0, v0, 0x6e28 | v0 += 0x6e28;
0x0000f888 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000f88c addiu v0, zero, 1 | v0 = 1;
0x0000f890 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0000f894 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0000f898 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000f89c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000f8a0 move a3, zero | a3 = 0;
0x0000f8a4 addiu a2, zero, 0x793 | a2 = 0x793;
0x0000f8a8 b 0xe8d4 | goto label_16;
| label_80:
0x0000f8ac andi v0, v0, 0x12 | v0 &= 0x12;
0x0000f8b0 or v0, v0, a0 | v0 |= a0;
0x0000f8b4 lw v0, 0x64(sp) | v0 = *(var_64h);
| if (v0 == 0) {
0x0000f8b8 beqz v0, 0xeff8 | goto label_27;
| }
0x0000f8bc lw v0, -0x7fb4(gp) | v0 = *(gp);
| /* str._var_run_sshd */
0x0000f8c0 addiu s1, s1, 0x6e18 | s1 += 0x6e18;
| /* str._s_must_be_owned_by_root_and_not_group_or_world_writable. */
0x0000f8c4 addiu v0, v0, 0x6e54 | v0 += 0x6e54;
0x0000f8c8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000f8cc addiu v0, zero, 1 | v0 = 1;
0x0000f8d0 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0000f8d4 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0000f8d8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000f8dc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000f8e0 move a3, zero | a3 = 0;
0x0000f8e4 addiu a2, zero, 0x79d | a2 = 0x79d;
0x0000f8e8 b 0xe8d4 | goto label_16;
| label_72:
0x0000f8ec lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x0000f8f0 jalr t9 | t9 ();
0x0000f8f4 nop |
0x0000f8f8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f8fc lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x0000f900 lw a0, (v0) | a0 = *(v0);
0x0000f904 jalr t9 | t9 ();
0x0000f908 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f90c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0000f910 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0000f914 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000f918 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.setgroups___failed:__.200s */
0x0000f91c addiu v0, v0, 0x6e90 | v0 += 0x6e90;
0x0000f920 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000f924 addiu v0, zero, 5 | v0 = 5;
0x0000f928 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000f92c lw v0, 0x50(sp) | v0 = *(var_50h);
0x0000f930 move a3, zero | a3 = 0;
0x0000f934 addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x0000f938 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000f93c addiu a2, zero, 0x7b8 | a2 = 0x7b8;
0x0000f940 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0000f944 jalr t9 | t9 ();
0x0000f948 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f94c b 0xf070 | goto label_28;
| label_70:
0x0000f950 move a2, zero | a2 = 0;
0x0000f954 move a1, zero | a1 = 0;
0x0000f958 move a0, zero | a0 = 0;
0x0000f95c bal 0x18080 | sym_get_connection_info ();
0x0000f960 sw v0, 0x44(sp) | *(var_44h) = v0;
0x0000f964 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000f968 b 0xf010 | goto label_29;
| label_79:
0x0000fbe4 lw t9, -0x7e04(gp) | t9 = sym.platform_pre_listen;
0x0000fbe8 sw zero, 0x54(sp) | *(var_54h) = 0;
0x0000fbec bal 0x150b0 | sym_platform_pre_listen ();
0x0000fbf0 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000fbf4 lw a3, 0x1158(s4) | a3 = *((s4 + 1110));
0x0000fbf8 lw a2, 0x1154(s4) | a2 = *((s4 + 1109));
0x0000fbfc lw t9, -0x7e00(gp) | t9 = sym.srclimit_init;
0x0000fc00 lw a1, 0x1150(s4) | a1 = *((s4 + 1108));
0x0000fc04 lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
0x0000fc08 lw a0, 0x114c(s4) | a0 = *((s4 + 1107));
0x0000fc0c jalr t9 | t9 ();
0x0000fc10 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000fc14 sw fp, 0x84(sp) | *(var_84h) = fp;
0x0000fc18 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0000fc1c sw v0, 0x74(sp) | *(var_74h) = v0;
0x0000fc20 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000fc24 addiu v0, v0, -0x4870 | v0 += -0x4870;
0x0000fc28 sw v0, 0x64(sp) | *(var_64h) = v0;
0x0000fc2c lw v0, -0x7f34(gp) | v0 = *(gp);
0x0000fc30 addiu v0, v0, -0x6990 | v0 += -0x6990;
0x0000fc34 sw v0, 0x78(sp) | *(var_78h) = v0;
0x0000fc38 lw v0, 0x414(s4) | v0 = *(s4);
0x0000fc3c lw v1, 0x54(sp) | v1 = *(var_54h);
0x0000fc40 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x0000fc44 lw a0, 0x410(s4) | a0 = *(s4);
| if (v0 == 0) {
0x0000fc48 beqz v0, 0x1006c | void (*0x1006c)() ();
| }
| label_75:
0x00010f94 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| label_76:
0x00010f98 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x00010f9c b 0xf250 | goto label_30;
| label_74:
0x00010fa0 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.rexec_argc__d___0 */
0x00010fa4 addiu v0, v0, 0x6eac | v0 += 0x6eac;
0x00010fa8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00010fac addiu v0, zero, 1 | v0 = 1;
0x00010fb0 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x00010fb4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00010fb8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00010fbc move a3, zero | a3 = 0;
0x00010fc0 addiu a2, zero, 0x7bc | a2 = 0x7bc;
0x00010fc4 b 0xe8d4 | goto label_16;
| label_77:
0x00011420 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x00011424 jalr t9 | t9 ();
0x00011428 nop |
0x0001142c lw gp, 0x38(sp) | gp = *(var_38h);
0x00011430 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x00011434 lw a0, (v0) | a0 = *(v0);
0x00011438 jalr t9 | t9 ();
0x0001143c lw gp, 0x38(sp) | gp = *(var_38h);
0x00011440 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00011444 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00011448 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0001144c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.daemon___failed:__.200s */
0x00011450 addiu v0, v0, 0x6ed8 | v0 += 0x6ed8;
0x00011454 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00011458 addiu v0, zero, 1 | v0 = 1;
0x0001145c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00011460 move a3, zero | a3 = 0;
0x00011464 addiu a2, zero, 0x7dc | a2 = aav.0x000007dc;
0x00011468 b 0xe8d4 | goto label_16;
| label_78:
0x00012904 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x00012908 jalr t9 | t9 ();
0x0001290c nop |
0x00012910 lw gp, 0x38(sp) | gp = *(var_38h);
0x00012914 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x00012918 lw a0, (v0) | a0 = *(v0);
0x0001291c jalr t9 | t9 ();
0x00012920 lw gp, 0x38(sp) | gp = *(var_38h);
0x00012924 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00012928 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0001292c lw v0, -0x7fb4(gp) | v0 = *(gp);
0x00012930 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.chdir_____:__s */
0x00012934 addiu v0, v0, 0x6ef0 | v0 += 0x6ef0;
0x00012938 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001293c addiu v0, zero, 2 | v0 = 2;
0x00012940 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00012944 lw v0, 0x50(sp) | v0 = *(var_50h);
0x00012948 move a3, zero | a3 = 0;
0x0001294c addiu a1, v0, 0x7e94 | a1 = v0 + 0x7e94;
0x00012950 lw v0, 0x40(sp) | v0 = *(var_40h);
0x00012954 addiu a2, zero, 0x7e8 | a2 = 0x7e8;
0x00012958 addiu a0, v0, 0x65f4 | a0 = v0 + 0x65f4;
0x0001295c jalr t9 | t9 ();
0x00012960 lw gp, 0x38(sp) | gp = *(var_38h);
0x00012964 b 0xf350 | goto label_31;
| }
; 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 @ 0x70f7c */
| #include <stdint.h>
|
; (fcn) sym.log_init () | void log_init () {
0x00070f7c lui gp, 9 |
0x00070f80 addiu gp, gp, 0x1374 |
0x00070f84 addu gp, gp, t9 | gp += t9;
0x00070f88 addiu sp, sp, -0x20 |
0x00070f8c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00070f90 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00070f94 sw ra, 0x1c(sp) | *(var_1ch) = ra;
0x00070f98 sw a0, -0x3de0(v0) | *((v0 - 3960)) = a0;
| if (a0 != 0) {
0x00070f9c beqz a0, 0x70fb0 |
0x00070fa0 sltiu v0, a1, 8 | v0 = (a1 < 8) ? 1 : 0;
0x00070fa4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 == 0) {
0x00070fa8 beqz v0, 0x71130 | goto label_0;
| }
0x00070fac sw a1, -0x5df4(v0) | *((v0 - 6013)) = a1;
| }
0x00070fb0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00070fb4 sw zero, -0x3de4(v0) | *((v0 - 3961)) = 0;
0x00070fb8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00070fbc sw zero, -0x3de8(v0) | *((v0 - 3962)) = 0;
0x00070fc0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00070fc4 sw a3, -0x5df8(v0) | *((v0 - 6014)) = a3;
| if (a3 == 0) {
0x00070fc8 bnez a3, 0x70ff0 |
0x00070fcc sltiu v0, a2, 0xc | v0 = (a2 < 0xc) ? 1 : 0;
0x00070fd0 sll v0, a2, 2 | v0 = a2 << 2;
| if (v0 == 0) {
0x00070fd4 beqz v0, 0x71160 | goto label_1;
| }
0x00070fd8 lw a2, -0x7f34(gp) | a2 = *(gp);
0x00070fdc addiu a2, a2, 0x70b0 | a2 += 0x70b0;
0x00070fe0 lwx a2, v0(a2) | __asm ("lwx a2, v0(a2)");
0x00070fe4 addu a2, a2, gp | a2 += gp;
0x00070fe8 jr a2 | a2 ();
0x00070fec nop |
| }
0x00070ff0 lw ra, 0x1c(sp) | ra = *(var_1ch);
0x00070ff4 addiu sp, sp, 0x20 |
0x00070ff8 jr ra | return v0;
| label_0:
0x00071130 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x00071134 lw a2, -0x7f34(gp) | a2 = *(gp);
0x00071138 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0007113c lw a0, (v0) | a0 = *(v0);
0x00071140 move a3, a1 | a3 = a1;
| /* str.Unrecognized_internal_syslog_level_code__d_n */
0x00071144 addiu a2, a2, 0x6f68 | a2 += 0x6f68;
| do {
0x00071148 addiu a1, zero, 1 | a1 = 1;
0x0007114c jalr t9 | t9 ();
0x00071150 lw gp, 0x10(sp) | gp = *(var_10h);
0x00071154 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x00071158 addiu a0, zero, 1 | a0 = 1;
0x0007115c jalr t9 | t9 ();
| label_1:
0x00071160 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x00071164 move a3, a2 | a3 = a2;
0x00071168 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0007116c lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x00071170 lw a0, (v0) | a0 = *(v0);
| /* str.Unrecognized_internal_syslog_facility_code__d_n */
0x00071174 addiu a2, a2, 0x6f94 | a2 += 0x6f94;
0x00071178 b 0x71148 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x711f4 */
| #include <stdint.h>
|
; (fcn) sym.log_redirect_stderr_to () | void log_redirect_stderr_to () {
0x000711f4 lui gp, 9 |
0x000711f8 addiu gp, gp, 0x10fc |
0x000711fc addu gp, gp, t9 | gp += t9;
0x00071200 addiu sp, sp, -0x30 |
0x00071204 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00071208 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0007120c sw s1, 0x28(sp) | *(var_28h) = s1;
0x00071210 sw s0, 0x24(sp) | *(var_24h) = s0;
0x00071214 lw t9, -0x7164(gp) | t9 = sym.imp.open64;
| if (a0 == 0) {
0x00071218 beqz a0, 0x71254 | goto label_0;
| }
0x0007121c addiu a2, zero, 0x180 | a2 = aav.0x00000180;
0x00071220 addiu a1, zero, 0x109 | a1 = 0x109;
0x00071224 move s0, a0 | s0 = a0;
0x00071228 jalr t9 | t9 ();
0x0007122c addiu v1, zero, -1 | v1 = -1;
0x00071230 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == v1) {
0x00071234 beq v0, v1, 0x7128c | goto label_1;
| }
0x00071238 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x0007123c sw v0, -0x5dfc(v1) | *((v1 - 6015)) = v0;
0x00071240 lw ra, 0x2c(sp) | ra = *(var_2ch);
| do {
0x00071244 lw s1, 0x28(sp) | s1 = *(var_28h);
0x00071248 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0007124c addiu sp, sp, 0x30 |
0x00071250 jr ra | return v0;
| label_0:
0x00071254 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x00071258 addiu s1, zero, 2 | s1 = 2;
0x0007125c lw a0, -0x5dfc(s0) | a0 = *((s0 - 6015));
0x00071260 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00071264 beq a0, s1, 0x71244 |
| } while (a0 == s1);
0x00071268 lw t9, -0x7024(gp) | t9 = sym.imp.close;
0x0007126c jalr t9 | t9 ();
0x00071270 nop |
0x00071274 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00071278 sw s1, -0x5dfc(s0) | *((s0 - 6015)) = s1;
0x0007127c lw s1, 0x28(sp) | s1 = *(var_28h);
0x00071280 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00071284 addiu sp, sp, 0x30 |
0x00071288 jr ra | return v0;
| label_1:
0x0007128c lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x00071290 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x00071294 lw s1, (v0) | s1 = *(v0);
0x00071298 jalr t9 | t9 ();
0x0007129c lw gp, 0x18(sp) | gp = *(var_18h);
0x000712a0 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x000712a4 lw a0, (v0) | a0 = *(v0);
0x000712a8 jalr t9 | t9 ();
0x000712ac lw gp, 0x18(sp) | gp = *(var_18h);
0x000712b0 move a0, s1 | a0 = s1;
0x000712b4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000712b8 lw a2, -0x7f34(gp) | a2 = *(gp);
0x000712bc lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x000712c0 move a3, s0 | a3 = s0;
| /* str.Couldnt_open_logfile__s:__s_n */
0x000712c4 addiu a2, a2, 0x6fc4 | a2 += 0x6fc4;
0x000712c8 addiu a1, zero, 1 | a1 = 1;
0x000712cc jalr t9 | t9 ();
0x000712d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000712d4 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x000712d8 addiu a0, zero, 1 | a0 = 1;
0x000712dc jalr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0xb09c4 */
| #include <stdint.h>
|
; (fcn) sym.oom_adjust_restore () | void oom_adjust_restore () {
0x000b09c4 lui gp, 5 |
0x000b09c8 addiu gp, gp, 0x192c |
0x000b09cc addu gp, gp, t9 | gp += t9;
0x000b09d0 addiu sp, sp, -0x48 |
0x000b09d4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000b09d8 sw s0, 0x30(sp) | *(var_30h) = s0;
0x000b09dc lw s0, -0x7858(gp) | s0 = *((gp - 7702));
0x000b09e0 sw s2, 0x38(sp) | *(var_38h) = s2;
0x000b09e4 sw s1, 0x34(sp) | *(var_34h) = s1;
0x000b09e8 lw s2, -0x7858(gp) | s2 = *((gp - 7702));
0x000b09ec lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
| /* esilref: '&s' */
0x000b09f0 addiu v0, v0, -0x7908 | v0 += -0x7908;
0x000b09f4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.oom_adjust_restore */
0x000b09f8 addiu s0, s0, -0x7ea0 | s0 += -0x7ea0;
0x000b09fc sw v0, 0x18(sp) | *(var_18h) = v0;
0x000b0a00 addiu v0, zero, 7 | v0 = 7;
0x000b0a04 sw gp, 0x28(sp) | *(var_28h) = gp;
0x000b0a08 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000b0a0c sw ra, 0x44(sp) | *(var_44h) = ra;
0x000b0a10 sw s4, 0x40(sp) | *(var_40h) = s4;
0x000b0a14 sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x000b0a18 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x000b0a1c sw zero, 0x14(sp) | *(var_14h) = 0;
0x000b0a20 move a3, zero | a3 = 0;
0x000b0a24 addiu a2, zero, 0x128 | a2 = aav.0x00000128;
0x000b0a28 move a1, s0 | a1 = s0;
| /* str.port_linux.c */
0x000b0a2c addiu a0, s2, -0x7f40 | a0 = s2 + -0x7f40;
0x000b0a30 jalr t9 | t9 ();
0x000b0a34 lw v1, -0x5d40(s1) | v1 = *((s1 - 5968));
0x000b0a38 lui v0, 0x8000 | v0 = 0x80000000;
0x000b0a3c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 != v0) {
0x000b0a40 beq v1, v0, 0xb0afc |
0x000b0a44 lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
0x000b0a48 lw a0, -0x3360(s3) | a0 = *(s3);
0x000b0a4c lw a1, -0x7fb4(gp) | a1 = *(gp);
| if (a0 == 0) {
0x000b0a50 beqz a0, 0xb0afc | goto label_0;
| }
0x000b0a54 lw t9, -0x7238(gp) | t9 = sym.imp.fopen64;
0x000b0a58 addiu a1, a1, 0x704c | a1 += 0x704c;
0x000b0a5c jalr t9 | t9 ();
0x000b0a60 move s4, v0 | s4 = v0;
0x000b0a64 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000b0a68 beqz v0, 0xb0afc | goto label_0;
| }
0x000b0a6c lw a2, -0x7f34(gp) | a2 = *(gp);
0x000b0a70 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x000b0a74 lw a3, -0x5d40(s1) | a3 = *((s1 - 5968));
| /* esilref: '&d
' */
0x000b0a78 addiu a2, a2, 0x6f90 | a2 += 0x6f90;
0x000b0a7c addiu a1, zero, 1 | a1 = 1;
0x000b0a80 move a0, v0 | a0 = v0;
0x000b0a84 jalr t9 | t9 ();
0x000b0a88 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 <= 0) {
0x000b0a8c blez v0, 0xb0b1c | goto label_1;
| }
0x000b0a90 lw v0, -0x3360(s3) | v0 = *(s3);
0x000b0a94 lw v1, -0x5d40(s1) | v1 = *((s1 - 5968));
0x000b0a98 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000b0a9c lw v0, -0x7858(gp) | v0 = *((gp - 7702));
0x000b0aa0 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.Set__s_to__d */
0x000b0aa4 addiu v0, v0, -0x7ee4 | v0 += -0x7ee4;
0x000b0aa8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000b0aac addiu v0, zero, 5 | v0 = 5;
| /* str.port_linux.c */
0x000b0ab0 addiu a0, s2, -0x7f40 | a0 = s2 + -0x7f40;
0x000b0ab4 sw v1, 0x20(sp) | *(var_20h) = v1;
0x000b0ab8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000b0abc sw v0, 0x10(sp) | *(var_10h) = v0;
0x000b0ac0 move a1, s0 | a1 = s0;
0x000b0ac4 move a3, zero | a3 = 0;
0x000b0ac8 addiu a2, zero, 0x130 | a2 = aav.0x00000130;
0x000b0acc jalr t9 | t9 ();
0x000b0ad0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000b0ad4 lw ra, 0x44(sp) | ra = *(var_44h);
0x000b0ad8 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x000b0adc lw s2, 0x38(sp) | s2 = *(var_38h);
0x000b0ae0 lw s1, 0x34(sp) | s1 = *(var_34h);
0x000b0ae4 lw s0, 0x30(sp) | s0 = *(var_30h);
0x000b0ae8 move a0, s4 | a0 = s4;
0x000b0aec lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
0x000b0af0 lw s4, 0x40(sp) | s4 = *(var_40h);
0x000b0af4 addiu sp, sp, 0x48 |
0x000b0af8 jr t9 | t9 ();
| }
| label_0:
0x000b0afc lw ra, 0x44(sp) | ra = *(var_44h);
0x000b0b00 lw s4, 0x40(sp) | s4 = *(var_40h);
0x000b0b04 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x000b0b08 lw s2, 0x38(sp) | s2 = *(var_38h);
0x000b0b0c lw s1, 0x34(sp) | s1 = *(var_34h);
0x000b0b10 lw s0, 0x30(sp) | s0 = *(var_30h);
0x000b0b14 addiu sp, sp, 0x48 |
0x000b0b18 jr ra | return v0;
| label_1:
0x000b0b1c lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x000b0b20 lw s1, -0x3360(s3) | s1 = *(s3);
0x000b0b24 jalr t9 | t9 ();
0x000b0b28 lw gp, 0x28(sp) | gp = *(var_28h);
0x000b0b2c lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x000b0b30 lw a0, (v0) | a0 = *(v0);
0x000b0b34 jalr t9 | t9 ();
0x000b0b38 lw gp, 0x28(sp) | gp = *(var_28h);
0x000b0b3c sw v0, 0x20(sp) | *(var_20h) = v0;
0x000b0b40 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x000b0b44 lw v0, -0x7858(gp) | v0 = *((gp - 7702));
0x000b0b48 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.error_writing__s:__s */
0x000b0b4c addiu v0, v0, -0x7f14 | v0 += -0x7f14;
0x000b0b50 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000b0b54 addiu v0, zero, 4 | v0 = 4;
| /* str.port_linux.c */
0x000b0b58 addiu a0, s2, -0x7f40 | a0 = s2 + -0x7f40;
0x000b0b5c sw zero, 0x14(sp) | *(var_14h) = 0;
0x000b0b60 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000b0b64 move a1, s0 | a1 = s0;
0x000b0b68 move a3, zero | a3 = 0;
0x000b0b6c addiu a2, zero, 0x12e | a2 = 0x12e;
0x000b0b70 jalr t9 | t9 ();
0x000b0b74 lw gp, 0x28(sp) | gp = *(var_28h);
0x000b0b78 lw ra, 0x44(sp) | ra = *(var_44h);
0x000b0b7c lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x000b0b80 lw s2, 0x38(sp) | s2 = *(var_38h);
0x000b0b84 lw s1, 0x34(sp) | s1 = *(var_34h);
0x000b0b88 lw s0, 0x30(sp) | s0 = *(var_30h);
0x000b0b8c move a0, s4 | a0 = s4;
0x000b0b90 lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
0x000b0b94 lw s4, 0x40(sp) | s4 = *(var_40h);
0x000b0b98 addiu sp, sp, 0x48 |
0x000b0b9c jr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0xb0740 */
| #include <stdint.h>
|
; (fcn) sym.oom_adjust_setup () | void oom_adjust_setup () {
0x000b0740 lui gp, 5 |
0x000b0744 addiu gp, gp, 0x1bb0 |
0x000b0748 addu gp, gp, t9 | gp += t9;
0x000b074c addiu sp, sp, -0x50 |
0x000b0750 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000b0754 sw s5, 0x44(sp) | *(var_44h) = s5;
0x000b0758 lw s5, -0x7858(gp) | s5 = *((gp - 7702));
0x000b075c sw s4, 0x40(sp) | *(var_40h) = s4;
| /* esilref: '&s' */
0x000b0760 addiu v0, v0, -0x7908 | v0 += -0x7908;
0x000b0764 lw s4, -0x7858(gp) | s4 = *((gp - 7702));
0x000b0768 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.oom_adjust_setup */
0x000b076c addiu a1, s5, -0x7e8c | a1 = s5 + -0x7e8c;
0x000b0770 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000b0774 addiu v0, zero, 7 | v0 = 7;
0x000b0778 sw gp, 0x28(sp) | *(var_28h) = gp;
0x000b077c sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x000b0780 sw s0, 0x30(sp) | *(var_30h) = s0;
0x000b0784 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000b0788 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x000b078c sw s6, 0x48(sp) | *(var_48h) = s6;
0x000b0790 sw s2, 0x38(sp) | *(var_38h) = s2;
0x000b0794 sw s1, 0x34(sp) | *(var_34h) = s1;
0x000b0798 sw a1, 0x1c(sp) | *(var_1ch) = a1;
0x000b079c sw zero, 0x14(sp) | *(var_14h) = 0;
0x000b07a0 move a3, zero | a3 = 0;
0x000b07a4 addiu a2, zero, 0x10a | a2 = 0x10a;
| /* str.port_linux.c */
0x000b07a8 addiu a0, s4, -0x7f40 | a0 = s4 + -0x7f40;
0x000b07ac jalr t9 | t9 ();
0x000b07b0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000b07b4 lw s0, -0x726c(gp) | s0 = *(gp);
0x000b07b8 lw v0, (s0) | v0 = *(s0);
0x000b07bc lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
| if (v0 == 0) {
0x000b07c0 beqz v0, 0xb08b8 | goto label_1;
| }
0x000b07c4 lw s2, -0x7858(gp) | s2 = *((gp - 7702));
| /* esilref: 'r+' */
0x000b07c8 addiu s2, s2, -0x7f30 | s2 += -0x7f30;
0x000b07cc b 0xb07dc |
| while (v0 == 0) {
0x000b07d0 lw v0, (s0) | v0 = *(s0);
0x000b07d4 lw ra, 0x4c(sp) | ra = *(var_4ch);
| if (v0 == 0) {
0x000b07d8 beqz v0, 0xb08bc | goto label_2;
| }
0x000b07dc lw t9, -0x7238(gp) | t9 = sym.imp.fopen64;
0x000b07e0 addiu s0, s0, 8 | s0 += 8;
0x000b07e4 move a0, v0 | a0 = v0;
0x000b07e8 move a1, s2 | a1 = s2;
0x000b07ec sw v0, -0x3360(s3) | *(s3) = v0;
0x000b07f0 lw s6, -4(s0) | s6 = *((s0 - 1));
0x000b07f4 jalr t9 | t9 ();
0x000b07f8 move s1, v0 | s1 = v0;
0x000b07fc lw gp, 0x28(sp) | gp = *(var_28h);
0x000b0800 beqz v0, 0xb07d0 |
| }
0x000b0804 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x000b0808 lw a1, -0x7f34(gp) | a1 = *(gp);
0x000b080c lw t9, -0x7154(gp) | t9 = sym.imp.fscanf;
0x000b0810 addiu a2, s0, -0x5d40 | a2 = s0 + -0x5d40;
| /* esilref: '&d' */
0x000b0814 addiu a1, a1, 0x7b70 | a1 += 0x7b70;
0x000b0818 move a0, v0 | a0 = v0;
0x000b081c jalr t9 | t9 ();
0x000b0820 addiu v1, zero, 1 | v1 = 1;
0x000b0824 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x000b0828 beq v0, v1, 0xb08e4 | goto label_3;
| }
0x000b082c lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x000b0830 lw s0, -0x3360(s3) | s0 = *(s3);
0x000b0834 jalr t9 | t9 ();
0x000b0838 lw gp, 0x28(sp) | gp = *(var_28h);
0x000b083c lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x000b0840 lw a0, (v0) | a0 = *(v0);
0x000b0844 jalr t9 | t9 ();
0x000b0848 lw gp, 0x28(sp) | gp = *(var_28h);
0x000b084c sw v0, 0x20(sp) | *(var_20h) = v0;
0x000b0850 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x000b0854 lw v0, -0x7858(gp) | v0 = *((gp - 7702));
0x000b0858 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.error_reading__s:__s */
0x000b085c addiu v0, v0, -0x7f2c | v0 += -0x7f2c;
0x000b0860 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000b0864 addiu v0, zero, 4 | v0 = 4;
0x000b0868 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000b086c sw v0, 0x10(sp) | *(var_10h) = v0;
0x000b0870 move a3, zero | a3 = 0;
0x000b0874 addiu a2, zero, 0x111 | a2 = 0x111;
| /* str.oom_adjust_setup */
0x000b0878 addiu a1, s5, -0x7e8c | a1 = s5 + -0x7e8c;
| /* str.port_linux.c */
0x000b087c addiu a0, s4, -0x7f40 | a0 = s4 + -0x7f40;
0x000b0880 jalr t9 | t9 ();
0x000b0884 lw gp, 0x28(sp) | gp = *(var_28h);
| do {
| label_0:
0x000b0888 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x000b088c lw s6, 0x48(sp) | s6 = *(var_48h);
0x000b0890 lw s5, 0x44(sp) | s5 = *(var_44h);
0x000b0894 lw s4, 0x40(sp) | s4 = *(var_40h);
0x000b0898 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x000b089c lw s2, 0x38(sp) | s2 = *(var_38h);
0x000b08a0 lw s0, 0x30(sp) | s0 = *(var_30h);
0x000b08a4 move a0, s1 | a0 = s1;
0x000b08a8 lw t9, -0x6f38(gp) | t9 = sym.imp.fclose;
0x000b08ac lw s1, 0x34(sp) | s1 = *(var_34h);
0x000b08b0 addiu sp, sp, 0x50 |
0x000b08b4 jr t9 | t9 ();
| label_1:
0x000b08b8 lw ra, 0x4c(sp) | ra = *(var_4ch);
| label_2:
0x000b08bc lw s6, 0x48(sp) | s6 = *(var_48h);
0x000b08c0 lw s5, 0x44(sp) | s5 = *(var_44h);
0x000b08c4 lw s4, 0x40(sp) | s4 = *(var_40h);
0x000b08c8 lw s2, 0x38(sp) | s2 = *(var_38h);
0x000b08cc lw s1, 0x34(sp) | s1 = *(var_34h);
0x000b08d0 lw s0, 0x30(sp) | s0 = *(var_30h);
0x000b08d4 sw zero, -0x3360(s3) | *(s3) = 0;
0x000b08d8 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x000b08dc addiu sp, sp, 0x50 |
0x000b08e0 jr ra | return v0;
| label_3:
0x000b08e4 lw t9, -0x6d14(gp) | t9 = sym.imp.rewind;
0x000b08e8 move a0, s1 | a0 = s1;
0x000b08ec jalr t9 | t9 ();
0x000b08f0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000b08f4 move a3, s6 | a3 = s6;
0x000b08f8 addiu a1, zero, 1 | a1 = 1;
0x000b08fc lw a2, -0x7f34(gp) | a2 = *(gp);
0x000b0900 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
| /* esilref: '&d
' */
0x000b0904 addiu a2, a2, 0x6f90 | a2 += 0x6f90;
0x000b0908 move a0, s1 | a0 = s1;
0x000b090c jalr t9 | t9 ();
0x000b0910 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 <= 0) {
0x000b0914 blez v0, 0xb0964 | goto label_4;
| }
0x000b0918 lw v0, -0x3360(s3) | v0 = *(s3);
0x000b091c lw v1, -0x5d40(s0) | v1 = *((s0 - 5968));
0x000b0920 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000b0924 lw v0, -0x7858(gp) | v0 = *((gp - 7702));
0x000b0928 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.Set__s_from__d_to__d */
0x000b092c addiu v0, v0, -0x7efc | v0 += -0x7efc;
0x000b0930 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000b0934 addiu v0, zero, 5 | v0 = 5;
0x000b0938 sw s6, 0x24(sp) | *(var_24h) = s6;
0x000b093c sw v1, 0x20(sp) | *(var_20h) = v1;
0x000b0940 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000b0944 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000b0948 move a3, zero | a3 = 0;
0x000b094c addiu a2, zero, 0x119 | a2 = 0x119;
| /* str.oom_adjust_setup */
0x000b0950 addiu a1, s5, -0x7e8c | a1 = s5 + -0x7e8c;
| /* str.port_linux.c */
0x000b0954 addiu a0, s4, -0x7f40 | a0 = s4 + -0x7f40;
0x000b0958 jalr t9 | t9 ();
0x000b095c lw gp, 0x28(sp) | gp = *(var_28h);
0x000b0960 b 0xb0888 |
| } while (1);
| label_4:
0x000b0964 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x000b0968 lw s0, -0x3360(s3) | s0 = *(s3);
0x000b096c jalr t9 | t9 ();
0x000b0970 lw gp, 0x28(sp) | gp = *(var_28h);
0x000b0974 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x000b0978 lw a0, (v0) | a0 = *(v0);
0x000b097c jalr t9 | t9 ();
0x000b0980 lw gp, 0x28(sp) | gp = *(var_28h);
0x000b0984 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000b0988 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x000b098c lw v0, -0x7858(gp) | v0 = *((gp - 7702));
0x000b0990 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.error_writing__s:__s */
0x000b0994 addiu v0, v0, -0x7f14 | v0 += -0x7f14;
0x000b0998 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000b099c addiu v0, zero, 4 | v0 = 4;
0x000b09a0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000b09a4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000b09a8 move a3, zero | a3 = 0;
0x000b09ac addiu a2, zero, 0x116 | a2 = 0x116;
| /* str.oom_adjust_setup */
0x000b09b0 addiu a1, s5, -0x7e8c | a1 = s5 + -0x7e8c;
| /* str.port_linux.c */
0x000b09b4 addiu a0, s4, -0x7f40 | a0 = s4 + -0x7f40;
0x000b09b8 jalr t9 | t9 ();
0x000b09bc lw gp, 0x28(sp) | gp = *(var_28h);
0x000b09c0 b 0xb0888 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x1cda0 */
| #include <stdint.h>
|
; (fcn) sym.parse_server_match_testspec () | void parse_server_match_testspec () {
0x0001cda0 lui gp, 0xe |
0x0001cda4 addiu gp, gp, 0x5550 |
0x0001cda8 addu gp, gp, t9 | gp += t9;
0x0001cdac addiu sp, sp, -0x50 |
0x0001cdb0 sw s6, 0x40(sp) | *(var_40h) = s6;
0x0001cdb4 sw s4, 0x38(sp) | *(var_38h) = s4;
0x0001cdb8 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x0001cdbc lw s4, -0x7f34(gp) | s4 = *(gp);
0x0001cdc0 lw s1, -0x7f34(gp) | s1 = *(gp);
0x0001cdc4 lw s6, -0x7f34(gp) | s6 = *(gp);
0x0001cdc8 sw s7, 0x44(sp) | *(var_44h) = s7;
0x0001cdcc sw s5, 0x3c(sp) | *(var_3ch) = s5;
0x0001cdd0 sw s2, 0x30(sp) | *(var_30h) = s2;
0x0001cdd4 lw s5, -0x7f34(gp) | s5 = *(gp);
0x0001cdd8 lw s2, -0x7fb4(gp) | s2 = *(gp);
0x0001cddc lw s7, -0x7f34(gp) | s7 = *(gp);
0x0001cde0 sw fp, 0x48(sp) | *(var_48h) = fp;
0x0001cde4 sw s3, 0x34(sp) | *(var_34h) = s3;
0x0001cde8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001cdec sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x0001cdf0 sw s0, 0x28(sp) | *(var_28h) = s0;
0x0001cdf4 move s3, a0 | s3 = a0;
0x0001cdf8 sw a1, 0x54(sp) | *(arg_54h) = a1;
0x0001cdfc addiu fp, sp, 0x54 | fp = sp + 0x54;
| /* str.addr */
0x0001ce00 addiu s1, s1, -0x65d4 | s1 += -0x65d4;
| /* str.host */
0x0001ce04 addiu s4, s4, -0x65cc | s4 += -0x65cc;
| /* str.laddr */
0x0001ce08 addiu s6, s6, -0x65bc | s6 += -0x65bc;
| do {
| label_1:
0x0001ce0c lw t9, -0x6d00(gp) | t9 = sym.imp.strsep;
| /* esilref: '' */
0x0001ce10 addiu a1, s2, 0x6750 | a1 = s2 + 0x6750;
0x0001ce14 move a0, fp | a0 = fp;
0x0001ce18 jalr t9 | t9 ();
0x0001ce1c move s0, v0 | s0 = v0;
0x0001ce20 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001ce24 beqz v0, 0x1cf64 | goto label_2;
| }
| label_0:
0x0001ce28 lb v0, (v0) | v0 = *(v0);
0x0001ce2c lw t9, -0x7160(gp) | t9 = sym.imp.strncmp;
| if (v0 == 0) {
0x0001ce30 beqz v0, 0x1cf64 | goto label_2;
| }
0x0001ce34 addiu a2, zero, 5 | a2 = 5;
0x0001ce38 move a1, s1 | a1 = s1;
0x0001ce3c move a0, s0 | a0 = s0;
0x0001ce40 jalr t9 | t9 ();
0x0001ce44 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001ce48 beqz v0, 0x1cf34 | goto label_3;
| }
0x0001ce4c lw t9, -0x7160(gp) | t9 = sym.imp.strncmp;
0x0001ce50 addiu a2, zero, 5 | a2 = 5;
0x0001ce54 move a1, s4 | a1 = s4;
0x0001ce58 move a0, s0 | a0 = s0;
0x0001ce5c jalr t9 | t9 ();
0x0001ce60 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001ce64 beqz v0, 0x1cf9c | goto label_4;
| }
0x0001ce68 lw t9, -0x7160(gp) | t9 = sym.imp.strncmp;
0x0001ce6c addiu a2, zero, 5 | a2 = 5;
| /* str.user */
0x0001ce70 addiu a1, s5, -0x65c4 | a1 = s5 + -0x65c4;
0x0001ce74 move a0, s0 | a0 = s0;
0x0001ce78 jalr t9 | t9 ();
0x0001ce7c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001ce80 beqz v0, 0x1cfb4 | goto label_5;
| }
0x0001ce84 lw t9, -0x7160(gp) | t9 = sym.imp.strncmp;
0x0001ce88 addiu a2, zero, 6 | a2 = 6;
0x0001ce8c move a1, s6 | a1 = s6;
0x0001ce90 move a0, s0 | a0 = s0;
0x0001ce94 jalr t9 | t9 ();
0x0001ce98 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001ce9c beqz v0, 0x1cfcc | goto label_6;
| }
0x0001cea0 lw t9, -0x7160(gp) | t9 = sym.imp.strncmp;
0x0001cea4 addiu a2, zero, 8 | a2 = 8;
| /* str.rdomain */
0x0001cea8 addiu a1, s7, -0x65b4 | a1 = s7 + -0x65b4;
0x0001ceac move a0, s0 | a0 = s0;
0x0001ceb0 jalr t9 | t9 ();
0x0001ceb4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001ceb8 beqz v0, 0x1cfe4 | goto label_7;
| }
0x0001cebc lw a1, -0x7f34(gp) | a1 = *(gp);
0x0001cec0 lw t9, -0x7160(gp) | t9 = sym.imp.strncmp;
0x0001cec4 addiu a2, zero, 6 | a2 = 6;
| /* str.lport */
0x0001cec8 addiu a1, a1, -0x65a8 | a1 += -0x65a8;
0x0001cecc move a0, s0 | a0 = s0;
0x0001ced0 jalr t9 | t9 ();
0x0001ced4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001ced8 bnez v0, 0x1cffc | goto label_8;
| }
0x0001cedc addiu a3, s0, 6 | a3 = s0 + 6;
0x0001cee0 lw t9, -0x7ec0(gp) | t9 = sym.a2port;
0x0001cee4 move a0, a3 | a0 = a3;
0x0001cee8 sw a3, 0x24(sp) | *(var_24h) = a3;
0x0001ceec jalr t9 | t9 ();
0x0001cef0 move v1, v0 | v1 = v0;
0x0001cef4 addiu v0, zero, -1 | v0 = -1;
0x0001cef8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001cefc sw v1, 0x10(s3) | *((s3 + 4)) = v1;
0x0001cf00 lw a3, 0x24(sp) | a3 = *(var_24h);
0x0001cf04 bne v1, v0, 0x1ce0c |
| } while (v1 != v0);
0x0001cf08 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x0001cf0c lw a2, -0x7f34(gp) | a2 = *(gp);
0x0001cf10 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0001cf14 lw a0, (v0) | a0 = *(v0);
0x0001cf18 sw v1, 0x24(sp) | *(var_24h) = v1;
0x0001cf1c sw s0, 0x10(sp) | *(var_10h) = s0;
| /* str.Invalid_port__s_in_test_mode_specification__s_n */
0x0001cf20 addiu a2, a2, -0x65a0 | a2 += -0x65a0;
0x0001cf24 addiu a1, zero, 1 | a1 = 1;
0x0001cf28 jalr t9 | t9 ();
0x0001cf2c lw v1, 0x24(sp) | v1 = *(var_24h);
0x0001cf30 b 0x1cf68 | goto label_9;
| label_3:
0x0001cf34 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0001cf38 addiu a0, s0, 5 | a0 = s0 + 5;
0x0001cf3c jalr t9 | t9 ();
0x0001cf40 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001cf44 sw v0, 8(s3) | *((s3 + 2)) = v0;
| /* esilref: '' */
0x0001cf48 addiu a1, s2, 0x6750 | a1 = s2 + 0x6750;
0x0001cf4c lw t9, -0x6d00(gp) | t9 = sym.imp.strsep;
0x0001cf50 move a0, fp | a0 = fp;
0x0001cf54 jalr t9 | t9 ();
0x0001cf58 move s0, v0 | s0 = v0;
0x0001cf5c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001cf60 bnez v0, 0x1ce28 | goto label_0;
| }
| label_2:
0x0001cf64 move v1, zero | v1 = 0;
| do {
| label_9:
0x0001cf68 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x0001cf6c lw fp, 0x48(sp) | fp = *(var_48h);
0x0001cf70 lw s7, 0x44(sp) | s7 = *(var_44h);
0x0001cf74 lw s6, 0x40(sp) | s6 = *(var_40h);
0x0001cf78 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x0001cf7c lw s4, 0x38(sp) | s4 = *(var_38h);
0x0001cf80 lw s3, 0x34(sp) | s3 = *(var_34h);
0x0001cf84 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0001cf88 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0001cf8c lw s0, 0x28(sp) | s0 = *(var_28h);
0x0001cf90 move v0, v1 | v0 = v1;
0x0001cf94 addiu sp, sp, 0x50 |
0x0001cf98 jr ra | return v1;
| label_4:
0x0001cf9c lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0001cfa0 addiu a0, s0, 5 | a0 = s0 + 5;
0x0001cfa4 jalr t9 | t9 ();
0x0001cfa8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001cfac sw v0, 4(s3) | *((s3 + 1)) = v0;
0x0001cfb0 b 0x1ce0c | goto label_1;
| label_5:
0x0001cfb4 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0001cfb8 addiu a0, s0, 5 | a0 = s0 + 5;
0x0001cfbc jalr t9 | t9 ();
0x0001cfc0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001cfc4 sw v0, (s3) | *(s3) = v0;
0x0001cfc8 b 0x1ce0c | goto label_1;
| label_6:
0x0001cfcc lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0001cfd0 addiu a0, s0, 6 | a0 = s0 + 6;
0x0001cfd4 jalr t9 | t9 ();
0x0001cfd8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001cfdc sw v0, 0xc(s3) | *((s3 + 3)) = v0;
0x0001cfe0 b 0x1ce0c | goto label_1;
| label_7:
0x0001cfe4 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
0x0001cfe8 addiu a0, s0, 8 | a0 = s0 + 8;
0x0001cfec jalr t9 | t9 ();
0x0001cff0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001cff4 sw v0, 0x14(s3) | *((s3 + 5)) = v0;
0x0001cff8 b 0x1ce0c | goto label_1;
| label_8:
0x0001cffc lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x0001d000 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0001d004 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0001d008 lw a0, (v0) | a0 = *(v0);
0x0001d00c move a3, s0 | a3 = s0;
| /* str.Invalid_test_mode_specification__s_n */
0x0001d010 addiu a2, a2, -0x656c | a2 += -aav.0x0000656c;
0x0001d014 addiu a1, zero, 1 | a1 = 1;
0x0001d018 jalr t9 | t9 ();
0x0001d01c addiu v1, zero, -1 | v1 = -1;
0x0001d020 b 0x1cf68 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x83720 */
| #include <stdint.h>
|
; (fcn) sym.sanitise_stdfd () | void sanitise_stdfd () {
0x00083720 lui gp, 8 |
0x00083724 addiu gp, gp, -0x1430 |
0x00083728 addu gp, gp, t9 | gp += t9;
0x0008372c addiu sp, sp, -0x30 |
0x00083730 lw a0, -0x7f34(gp) | a0 = *(gp);
0x00083734 lw t9, -0x7164(gp) | t9 = sym.imp.open64;
0x00083738 addiu a1, zero, 2 | a1 = 2;
0x0008373c sw gp, 0x10(sp) | *(var_10h) = gp;
0x00083740 sw s4, 0x28(sp) | *(var_28h) = s4;
0x00083744 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00083748 sw s3, 0x24(sp) | *(var_24h) = s3;
0x0008374c sw s2, 0x20(sp) | *(var_20h) = s2;
0x00083750 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x00083754 sw s0, 0x18(sp) | *(var_18h) = s0;
| /* str._dev_null */
0x00083758 addiu a0, a0, -0x7ac | a0 += -0x7ac;
0x0008375c jalr t9 | t9 ();
0x00083760 move s4, v0 | s4 = v0;
0x00083764 addiu v0, zero, -1 | v0 = -1;
0x00083768 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s4 == v0) {
0x0008376c beq s4, v0, 0x83878 | goto label_1;
| }
0x00083770 move s0, s4 | s0 = s4;
0x00083774 addiu s1, zero, -1 | s1 = -1;
0x00083778 addiu s3, zero, 9 | s3 = 9;
| do {
| label_0:
0x0008377c lw t9, -0x7f44(gp) | t9 = *(gp);
0x00083780 move a0, s0 | a0 = s0;
0x00083784 addiu a1, zero, 1 | a1 = 1;
0x00083788 jalr t9 | t9 ();
0x0008378c move s0, v0 | s0 = v0;
0x00083790 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00083794 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00083798 beqz v0, 0x8382c | goto label_2;
| }
0x0008379c lw t9, -0x713c(gp) | t9 = sym.imp.fcntl;
0x000837a0 addiu a1, zero, 3 | a1 = 3;
0x000837a4 move a0, s0 | a0 = s0;
0x000837a8 jalr t9 | t9 ();
0x000837ac lw gp, 0x10(sp) | gp = *(var_10h);
0x000837b0 bne v0, s1, 0x8377c |
| } while (v0 != s1);
0x000837b4 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x000837b8 jalr t9 | t9 ();
0x000837bc nop |
0x000837c0 move s2, v0 | s2 = v0;
0x000837c4 lw v0, (v0) | v0 = *(v0);
0x000837c8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != s3) {
0x000837cc bne v0, s3, 0x8377c | goto label_0;
| }
0x000837d0 lw t9, -0x6ee8(gp) | t9 = sym.imp.dup2;
0x000837d4 move a1, s0 | a1 = s0;
0x000837d8 move a0, s4 | a0 = s4;
0x000837dc jalr t9 | t9 ();
0x000837e0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != s1) {
0x000837e4 bne v0, s1, 0x8377c | goto label_0;
| }
0x000837e8 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x000837ec lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x000837f0 lw a0, (s2) | a0 = *(s2);
0x000837f4 lw s0, (v0) | s0 = *(v0);
0x000837f8 jalr t9 | t9 ();
0x000837fc lw gp, 0x10(sp) | gp = *(var_10h);
0x00083800 move a0, s0 | a0 = s0;
0x00083804 move a3, v0 | a3 = v0;
0x00083808 lw a2, -0x7e48(gp) | a2 = *(gp);
0x0008380c lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
| /* str.dup2:__s_n */
0x00083810 addiu a2, a2, -0x710c | a2 += -0x710c;
| do {
0x00083814 addiu a1, zero, 1 | a1 = 1;
0x00083818 jalr t9 | t9 ();
0x0008381c lw gp, 0x10(sp) | gp = *(var_10h);
0x00083820 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x00083824 addiu a0, zero, 1 | a0 = 1;
0x00083828 jalr t9 | t9 ();
| label_2:
0x0008382c slti v0, s4, 3 | v0 = (s4 < 3) ? 1 : 0;
0x00083830 lw ra, 0x2c(sp) | ra = *(var_2ch);
| if (v0 != 0) {
0x00083834 beqz v0, 0x83854 |
0x00083838 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0008383c lw s3, 0x24(sp) | s3 = *(var_24h);
0x00083840 lw s2, 0x20(sp) | s2 = *(var_20h);
0x00083844 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00083848 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0008384c addiu sp, sp, 0x30 |
0x00083850 jr ra | return v0;
| }
0x00083854 lw s3, 0x24(sp) | s3 = *(var_24h);
0x00083858 lw s2, 0x20(sp) | s2 = *(var_20h);
0x0008385c lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00083860 lw s0, 0x18(sp) | s0 = *(var_18h);
0x00083864 move a0, s4 | a0 = s4;
0x00083868 lw t9, -0x7024(gp) | t9 = sym.imp.close;
0x0008386c lw s4, 0x28(sp) | s4 = *(var_28h);
0x00083870 addiu sp, sp, 0x30 |
0x00083874 jr t9 | t9 ();
| label_1:
0x00083878 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x0008387c lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x00083880 lw s0, (v0) | s0 = *(v0);
0x00083884 jalr t9 | t9 ();
0x00083888 lw gp, 0x10(sp) | gp = *(var_10h);
0x0008388c lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x00083890 lw a0, (v0) | a0 = *(v0);
0x00083894 jalr t9 | t9 ();
0x00083898 lw gp, 0x10(sp) | gp = *(var_10h);
0x0008389c move a0, s0 | a0 = s0;
0x000838a0 move a3, v0 | a3 = v0;
0x000838a4 lw a2, -0x7e48(gp) | a2 = *(gp);
0x000838a8 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
| /* str.Couldnt_open__dev_null:__s_n */
0x000838ac addiu a2, a2, -0x712c | a2 += -0x712c;
0x000838b0 b 0x83814 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x46c20 */
| #include <stdint.h>
|
; (fcn) sym.sftp_server_main () | void sftp_server_main () {
0x00046c20 lui gp, 0xc |
0x00046c24 addiu gp, gp, -0x4930 |
0x00046c28 addu gp, gp, t9 | gp += t9;
0x00046c2c addiu sp, sp, -0x40b8 |
0x00046c30 lw v0, -0x6fc4(gp) | v0 = *((gp - 7153));
0x00046c34 sw ra, 0x40b4(sp) | *(arg_40b4h) = ra;
0x00046c38 sw gp, 0x28(sp) | *(var_28h) = gp;
0x00046c3c sw fp, 0x40b0(sp) | *(arg_40b0h) = fp;
0x00046c40 sw s7, 0x40ac(sp) | *(arg_40ach) = s7;
0x00046c44 sw s6, 0x40a8(sp) | *(arg_40a8h) = s6;
0x00046c48 sw s5, 0x40a4(sp) | *(arg_40a4h) = s5;
0x00046c4c sw s4, 0x40a0(sp) | *(arg_40a0h) = s4;
0x00046c50 sw s3, 0x409c(sp) | *(arg_409ch) = s3;
0x00046c54 sw s2, 0x4098(sp) | *(arg_4098h) = s2;
0x00046c58 sw s0, 0x4090(sp) | *(arg_4090h) = s0;
0x00046c5c sw s1, 0x4094(sp) | *(arg_4094h) = s1;
0x00046c60 lw v0, (v0) | v0 = *(v0);
0x00046c64 lw t9, -0x7ef8(gp) | t9 = sym.ssh_get_progname;
0x00046c68 move s4, a0 | s4 = a0;
0x00046c6c lw a0, (a1) | a0 = *(a1);
0x00046c70 sw v0, 0x408c(sp) | *(arg_408ch) = v0;
0x00046c74 lw fp, -0x7fdc(gp) | fp = *((gp - 8183));
0x00046c78 move s6, a2 | s6 = a2;
0x00046c7c lw s7, -0x6d10(gp) | s7 = *((gp - 6980));
0x00046c80 move s3, a1 | s3 = a1;
0x00046c84 jalr t9 | t9 ();
0x00046c88 lw gp, 0x28(sp) | gp = *(var_28h);
0x00046c8c lw a1, -0x5e14(fp) | a1 = *(var_5e14h);
0x00046c90 move a0, v0 | a0 = v0;
0x00046c94 lw t9, -0x7ea4(gp) | t9 = sym.log_init;
0x00046c98 move a3, zero | a3 = 0;
0x00046c9c addiu a2, zero, 2 | a2 = 2;
0x00046ca0 sw v0, (s7) | *(s7) = v0;
0x00046ca4 jalr t9 | t9 ();
0x00046ca8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00046cac move a0, s6 | a0 = s6;
0x00046cb0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00046cb4 lw t9, -0x7e84(gp) | t9 = sym.pwcopy;
0x00046cb8 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00046cbc move s0, v0 | s0 = v0;
0x00046cc0 jalr t9 | t9 ();
0x00046cc4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00046cc8 sw v0, -0x4218(s0) | *((s0 - 4230)) = v0;
0x00046ccc addiu v0, zero, 2 | v0 = 2;
0x00046cd0 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00046cd4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00046cd8 lw s2, -0x7f34(gp) | s2 = *(gp);
0x00046cdc sw v0, 0x30(sp) | *(var_30h) = v0;
0x00046ce0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00046ce4 lw s5, -0x7f34(gp) | s5 = *(gp);
| /* str._llu */
0x00046ce8 addiu v0, v0, -0x4d48 | v0 += -0x4d48;
0x00046cec sw v0, 0x44(sp) | *(var_44h) = v0;
0x00046cf0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00046cf4 sw zero, 0x40(sp) | *(var_40h) = 0;
0x00046cf8 addiu v0, v0, -0x4d40 | v0 += -0x4d40;
0x00046cfc sw zero, 0x34(sp) | *(var_34h) = 0;
0x00046d00 addiu s2, s2, 0x77c | s2 += 0x77c;
0x00046d04 sw v0, 0x48(sp) | *(var_48h) = v0;
| /* str.d:f:l:P:p:Q:u:cehR */
0x00046d08 addiu s1, s5, 0x148c | s1 = s5 + aav.0x0000148c;
0x00046d0c addiu s0, zero, -1 | s0 = -1;
0x00046d10 lw t9, -0x7ee0(gp) | t9 = sym.BSDgetopt;
0x00046d14 move a2, s1 | a2 = s1;
0x00046d18 move a1, s3 | a1 = s3;
0x00046d1c move a0, s4 | a0 = s4;
0x00046d20 jalr t9 | t9 ();
0x00046d24 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != s0) {
0x00046d28 beq v0, s0, 0x47054 |
0x00046d2c lw t9, -0x7f44(gp) | t9 = *(gp);
0x00046d30 addiu a1, zero, -0x50 | a1 = -0x50;
0x00046d34 move a0, v0 | a0 = v0;
0x00046d38 jalr t9 | t9 ();
0x00046d3c sltiu v1, v0, 0x26 | v1 = (v0 < 0x26) ? 1 : 0;
0x00046d40 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 != 0) {
0x00046d44 beqz v1, 0x47020 |
0x00046d48 sll v0, v0, 2 | v0 <<= 2;
0x00046d4c lwx v0, v0(s2) | __asm ("lwx v0, v0(s2)");
0x00046d50 addu v0, v0, gp | v0 += gp;
0x00046d54 jr v0 | v0 ();
0x00046d58 nop |
| }
0x00047020 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x00047024 lw a2, -0x7f34(gp) | a2 = *(gp);
0x00047028 lw a3, (s7) | a3 = *(s7);
0x0004702c lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x00047030 lw a0, (v0) | a0 = *(v0);
| /* str.usage:__s___ehR____d_start_directory____f_log_facility____l_log_level__n_t__P_denied_requests____p_allowed_requests____u_umask__n________s__Q_protocol_feature_n */
0x00047034 addiu a2, a2, 0x13ec | a2 += 0x13ec;
0x00047038 sw a3, 0x10(sp) | *(var_10h) = a3;
0x0004703c addiu a1, zero, 1 | a1 = 1;
0x00047040 jalr t9 | t9 ();
0x00047044 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047048 lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x0004704c addiu a0, zero, 1 | a0 = 1;
0x00047050 jalr t9 | t9 ();
| }
0x00047054 lw a1, -0x5e14(fp) | a1 = *(var_5e14h);
0x00047058 lw t9, -0x7ea4(gp) | t9 = sym.log_init;
0x0004705c lw a3, 0x34(sp) | a3 = *(var_34h);
0x00047060 lw a2, 0x38(sp) | a2 = *(var_38h);
0x00047064 lw a0, (s7) | a0 = *(s7);
0x00047068 jalr t9 | t9 ();
0x0004706c lw gp, 0x28(sp) | gp = *(var_28h);
0x00047070 lw t9, -0x7760(gp) | t9 = sym.platform_disable_tracing;
0x00047074 addiu a0, zero, 1 | a0 = 1;
0x00047078 jalr t9 | t9 ();
0x0004707c lw gp, 0x28(sp) | gp = *(var_28h);
0x00047080 lw t9, -0x775c(gp) | t9 = sym.platform_pledge_sftp_server;
0x00047084 lw s0, -0x7f34(gp) | s0 = *(gp);
0x00047088 jalr t9 | t9 ();
0x0004708c nop |
0x00047090 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047094 lw t9, -0x6d50(gp) | t9 = sym.imp.getenv;
| /* str.SSH_CONNECTION */
0x00047098 addiu a0, s0, -0x3054 | a0 = s0 + -aav.0x00003054;
0x0004709c jalr t9 | t9 ();
0x000470a0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000470a4 sw v0, 0x60(sp) | *(arg_60h) = v0;
0x000470a8 lw t9, -0x7ef4(gp) | t9 = sym.xstrdup;
| if (v0 == 0) {
0x000470ac beqz v0, 0x4755c | goto label_7;
| }
0x000470b0 move a0, v0 | a0 = v0;
0x000470b4 jalr t9 | t9 ();
0x000470b8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000470bc addiu a1, zero, 0x20 | a1 = 0x20;
0x000470c0 move a0, v0 | a0 = v0;
0x000470c4 lw s5, -0x7fdc(gp) | s5 = *((gp - 8183));
0x000470c8 lw t9, -0x6d4c(gp) | t9 = sym.imp.strchr;
0x000470cc sw v0, -0x421c(s5) | *((s5 - 4231)) = v0;
0x000470d0 jalr t9 | t9 ();
0x000470d4 sw v0, 0x60(sp) | *(arg_60h) = v0;
0x000470d8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000470dc beqz v0, 0x47828 | goto label_8;
| }
0x000470e0 sb zero, (v0) | *(v0) = 0;
| label_3:
0x000470e4 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x000470e8 lw v1, -0x421c(s5) | v1 = *((s5 - 4231));
0x000470ec lw s6, -0x7f34(gp) | s6 = *(gp);
0x000470f0 lw v0, -0x4218(v0) | v0 = *((v0 - 4230));
0x000470f4 sw v1, 0x20(sp) | *(var_20h) = v1;
0x000470f8 lw s4, -0x7f34(gp) | s4 = *(gp);
0x000470fc lw v0, (v0) | v0 = *(v0);
0x00047100 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00047104 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00047108 lw v0, -0x7f34(gp) | v0 = *(gp);
0x0004710c move a3, zero | a3 = 0;
| /* str.session_opened_for_local_user__s_from___s_ */
0x00047110 addiu v0, v0, 0x14c8 | v0 += aav.0x000014c8;
0x00047114 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047118 addiu v0, zero, 3 | v0 = 3;
0x0004711c addiu a2, zero, 0x6de | a2 = 0x6de;
| /* str.sftp_server_main */
0x00047120 addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
| /* str.sftp_server.c */
0x00047124 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047128 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004712c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047130 jalr t9 | t9 ();
0x00047134 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047138 lw s3, -0x7784(gp) | s3 = *(gp);
0x0004713c lw t9, -0x7fa8(gp) | t9 = sym.sshbuf_new;
0x00047140 bal 0x4b790 | sym_sshbuf_new ();
0x00047144 nop |
0x00047148 lw gp, 0x28(sp) | gp = *(var_28h);
0x0004714c sw v0, (s3) | *(s3) = v0;
| if (v0 == 0) {
0x00047150 beqz v0, 0x47578 | goto label_9;
| }
0x00047154 lw t9, -0x7fa8(gp) | t9 = sym.sshbuf_new;
0x00047158 lw s2, -0x7788(gp) | s2 = *(gp);
0x0004715c bal 0x4b790 | sym_sshbuf_new ();
0x00047160 nop |
0x00047164 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047168 sw v0, (s2) | *(s2) = v0;
| if (v0 == 0) {
0x0004716c beqz v0, 0x475a8 | goto label_10;
| }
0x00047170 lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x00047174 addiu a1, zero, 4 | a1 = 4;
0x00047178 addiu a0, zero, 1 | a0 = 1;
0x0004717c jalr t9 | t9 ();
0x00047180 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047184 addiu a0, zero, 1 | a0 = 1;
0x00047188 addiu a1, zero, 4 | a1 = 4;
0x0004718c lw t9, -0x7f18(gp) | t9 = sym.xcalloc;
0x00047190 move s1, v0 | s1 = v0;
0x00047194 jalr t9 | t9 ();
0x00047198 lw a0, 0x40(sp) | a0 = *(var_40h);
0x0004719c lw gp, 0x28(sp) | gp = *(var_28h);
0x000471a0 move s0, v0 | s0 = v0;
| if (a0 != 0) {
0x000471a4 beqz a0, 0x4721c |
0x000471a8 lw t9, -0x6fcc(gp) | t9 = sym.imp.chdir;
0x000471ac jalr t9 | t9 ();
0x000471b0 nop |
0x000471b4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000471b8 beqz v0, 0x4721c | goto label_11;
| }
0x000471bc lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x000471c0 jalr t9 | t9 ();
0x000471c4 nop |
0x000471c8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000471cc lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x000471d0 lw a0, (v0) | a0 = *(v0);
0x000471d4 jalr t9 | t9 ();
0x000471d8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000471dc sw v0, 0x20(sp) | *(var_20h) = v0;
0x000471e0 lw v0, 0x40(sp) | v0 = *(var_40h);
0x000471e4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x000471e8 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000471ec lw v0, -0x7f34(gp) | v0 = *(gp);
0x000471f0 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.chdir_to___s__failed:__s */
0x000471f4 addiu v0, v0, 0x14f4 | v0 += 0x14f4;
0x000471f8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000471fc addiu v0, zero, 2 | v0 = 2;
0x00047200 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047204 move a3, zero | a3 = 0;
0x00047208 addiu a2, zero, 0x6f9 | a2 = 0x6f9;
| /* str.sftp_server_main */
0x0004720c addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
| /* str.sftp_server.c */
0x00047210 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047214 jalr t9 | t9 ();
0x00047218 lw gp, 0x28(sp) | gp = *(var_28h);
| }
| label_11:
0x0004721c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00047220 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00047224 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047228 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0004722c lw v0, -0x7f34(gp) | v0 = *(gp);
| /* str.received_client_version__u */
0x00047230 addiu v0, v0, 0x154c | v0 += 0x154c;
0x00047234 sw v0, 0x44(sp) | *(var_44h) = v0;
0x00047238 lw v0, -0x7810(gp) | v0 = *(gp);
0x0004723c addiu v0, v0, 0x6970 | v0 += 0x6970;
0x00047240 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00047244 lw v0, -0x7810(gp) | v0 = *(gp);
| /* fcn.000410c0 */
0x00047248 addiu v0, v0, 0x10c0 | v0 += aav.0x000010c0;
0x0004724c sw v0, 0x48(sp) | *(var_48h) = v0;
| do {
| label_4:
0x00047250 sb zero, (s1) | *(s1) = 0;
| label_0:
0x00047254 sb zero, 1(s1) | *((s1 + 1)) = 0;
0x00047258 sb zero, 2(s1) | *((s1 + 2)) = 0;
0x0004725c sb zero, 3(s1) | *((s1 + 3)) = 0;
0x00047260 sb zero, (s0) | *(s0) = 0;
0x00047264 sb zero, 1(s0) | *((s0 + 1)) = 0;
0x00047268 sb zero, 2(s0) | *((s0 + 2)) = 0;
0x0004726c sb zero, 3(s0) | *((s0 + 3)) = 0;
0x00047270 lw t9, -0x7758(gp) | t9 = sym.sshbuf_check_reserve;
0x00047274 lw a0, (s3) | a0 = *(s3);
0x00047278 addiu a1, zero, 0x4000 | a1 = 0x4000;
0x0004727c bal 0x4c514 | sym_sshbuf_check_reserve ();
0x00047280 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00047284 beqz v0, 0x4752c | goto label_12;
| }
| label_1:
0x00047288 addiu v1, zero, -9 | v1 = -9;
0x0004728c lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
| if (v0 != v1) {
0x00047290 bne v0, v1, 0x478e4 | goto label_13;
| }
| label_2:
0x00047294 lw t9, -0x7f9c(gp) | t9 = sym.sshbuf_len;
0x00047298 lw a0, (s2) | a0 = *(s2);
0x0004729c bal 0x4c154 | sym_sshbuf_len ();
0x000472a0 move s7, v0 | s7 = v0;
0x000472a4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 > 0) {
0x000472a8 blez v0, 0x472c0 |
0x000472ac lw t9, -0x7de8(gp) | t9 = sym.kludge_FD_SET;
0x000472b0 move a1, s0 | a1 = s0;
0x000472b4 addiu a0, zero, 1 | a0 = 1;
0x000472b8 jalr t9 | t9 ();
0x000472bc lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x000472c0 lw t9, -0x7010(gp) | t9 = sym.imp.select;
0x000472c4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x000472c8 move a3, zero | a3 = 0;
0x000472cc move a2, s0 | a2 = s0;
0x000472d0 move a1, s1 | a1 = s1;
0x000472d4 addiu a0, zero, 2 | a0 = 2;
0x000472d8 jalr t9 | t9 ();
0x000472dc addiu fp, zero, -1 | fp = -1;
0x000472e0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != fp) {
0x000472e4 bne v0, fp, 0x47388 | goto label_14;
| }
0x000472e8 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x000472ec jalr t9 | t9 ();
0x000472f0 nop |
0x000472f4 lw a0, (v0) | a0 = *(v0);
0x000472f8 addiu v0, zero, 4 | v0 = 4;
0x000472fc lw gp, 0x28(sp) | gp = *(var_28h);
0x00047300 beq a0, v0, 0x47250 |
| } while (a0 == v0);
0x00047304 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x00047308 jalr t9 | t9 ();
0x0004730c nop |
0x00047310 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047314 sw v0, 0x1c(sp) | *(var_1ch) = v0;
| /* str.sftp_server.c */
0x00047318 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x0004731c lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047320 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.select:__s */
0x00047324 addiu v0, v0, 0x1510 | v0 += 0x1510;
0x00047328 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0004732c addiu v0, zero, 2 | v0 = 2;
0x00047330 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047334 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047338 move a3, zero | a3 = 0;
0x0004733c addiu a2, zero, 0x715 | a2 = 0x715;
| /* str.sftp_server_main */
0x00047340 addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
0x00047344 jalr t9 | t9 ();
0x00047348 lw gp, 0x28(sp) | gp = *(var_28h);
0x0004734c lw t9, -0x7754(gp) | t9 = sym.sftp_server_cleanup_exit;
0x00047350 addiu a0, zero, 2 | a0 = 2;
0x00047354 bal 0x46af0 | sym_sftp_server_cleanup_exit ();
0x00047358 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x0004735c lw a0, -0x7f34(gp) | a0 = *(gp);
0x00047360 lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
0x00047364 lw a3, (v0) | a3 = *(v0);
| /* str.Invalid_query_type_n */
0x00047368 addiu a0, a0, 0x1350 | a0 += 0x1350;
0x0004736c addiu a2, zero, 0x13 | a2 = 0x13;
0x00047370 addiu a1, zero, 1 | a1 = 1;
0x00047374 jalr t9 | t9 ();
0x00047378 lw gp, 0x28(sp) | gp = *(var_28h);
0x0004737c lw t9, -0x7210(gp) | t9 = sym.imp.exit;
0x00047380 addiu a0, zero, 1 | a0 = 1;
0x00047384 jalr t9 | t9 ();
| label_14:
0x00047388 lw t9, -0x7de4(gp) | t9 = sym.kludge_FD_ISSET;
0x0004738c move a1, s1 | a1 = s1;
0x00047390 move a0, zero | a0 = 0;
0x00047394 jalr t9 | t9 ();
0x00047398 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0004739c beqz v0, 0x47428 |
0x000473a0 addiu a3, sp, 0x8c | a3 = sp + 0x8c;
0x000473a4 lw t9, -0x6e24(gp) | t9 = *((gp - 7049));
0x000473a8 move a1, a3 | a1 = a3;
0x000473ac sw a3, 0x38(sp) | *(var_38h) = a3;
0x000473b0 addiu a2, zero, 0x4000 | a2 = 0x4000;
0x000473b4 move a0, zero | a0 = 0;
0x000473b8 jalr t9 | t9 ();
0x000473bc lw gp, 0x28(sp) | gp = *(var_28h);
0x000473c0 lw a3, 0x38(sp) | a3 = *(var_38h);
| if (v0 == 0) {
0x000473c4 beqz v0, 0x47c7c | goto label_15;
| }
0x000473c8 lw t9, -0x7f1c(gp) | t9 = sym.sshbuf_put;
| if (v0 == fp) {
0x000473cc beq v0, fp, 0x47c2c | goto label_16;
| }
0x000473d0 lw a0, (s3) | a0 = *(s3);
0x000473d4 move a2, v0 | a2 = v0;
0x000473d8 move a1, a3 | a1 = a3;
0x000473dc bal 0x5824c | sym_sshbuf_put ();
0x000473e0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000473e4 beqz v0, 0x47428 | goto label_17;
| }
0x000473e8 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x000473ec move a0, v0 | a0 = v0;
0x000473f0 bal 0x4b380 | sym_ssh_err ();
0x000473f4 lw gp, 0x28(sp) | gp = *(var_28h);
0x000473f8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000473fc addiu v0, zero, 1 | v0 = 1;
0x00047400 lw v1, -0x7fb4(gp) | v1 = *(gp);
0x00047404 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_put */
0x00047408 addiu v1, v1, 0x67ec | v1 += 0x67ec;
0x0004740c sw v1, 0x18(sp) | *(var_18h) = v1;
0x00047410 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047414 addiu a3, zero, 1 | a3 = 1;
0x00047418 addiu a2, zero, 0x723 | a2 = 0x723;
| /* str.sftp_server_main */
0x0004741c addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
| /* str.sftp_server.c */
0x00047420 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047424 jalr t9 | t9 ();
| }
| label_17:
0x00047428 lw t9, -0x7de4(gp) | t9 = sym.kludge_FD_ISSET;
0x0004742c move a1, s0 | a1 = s0;
0x00047430 addiu a0, zero, 1 | a0 = 1;
0x00047434 jalr t9 | t9 ();
0x00047438 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0004743c beqz v0, 0x474c8 |
0x00047440 lw t9, -0x7fa0(gp) | t9 = sym.sshbuf_ptr;
0x00047444 lw a0, (s2) | a0 = *(s2);
0x00047448 bal 0x4c334 | sym_sshbuf_ptr ();
0x0004744c lw gp, 0x28(sp) | gp = *(var_28h);
0x00047450 move a2, s7 | a2 = s7;
0x00047454 move a1, v0 | a1 = v0;
0x00047458 lw t9, -0x6d80(gp) | t9 = *((gp - 7008));
0x0004745c addiu a0, zero, 1 | a0 = 1;
0x00047460 jalr t9 | t9 ();
0x00047464 addiu v1, zero, -1 | v1 = -1;
0x00047468 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x0004746c beq v0, v1, 0x47bc8 | goto label_18;
| }
0x00047470 lw t9, -0x77f8(gp) | t9 = sym.sshbuf_consume;
0x00047474 lw a0, (s2) | a0 = *(s2);
0x00047478 move a1, v0 | a1 = v0;
0x0004747c bal 0x4c7fc | sym_sshbuf_consume ();
0x00047480 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00047484 beqz v0, 0x474c8 | goto label_19;
| }
0x00047488 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0004748c move a0, v0 | a0 = v0;
0x00047490 bal 0x4b380 | sym_ssh_err ();
0x00047494 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047498 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0004749c addiu v0, zero, 1 | v0 = 1;
0x000474a0 lw v1, -0x7f34(gp) | v1 = *(gp);
0x000474a4 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* esilref: 'consume' */
0x000474a8 addiu v1, v1, 0x3a68 | v1 += 0x3a68;
0x000474ac sw v1, 0x18(sp) | *(var_18h) = v1;
0x000474b0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000474b4 addiu a3, zero, 1 | a3 = 1;
0x000474b8 addiu a2, zero, 0x72c | a2 = 0x72c;
| /* str.sftp_server_main */
0x000474bc addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
| /* str.sftp_server.c */
0x000474c0 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x000474c4 jalr t9 | t9 ();
| }
| label_19:
0x000474c8 lw t9, -0x7758(gp) | t9 = sym.sshbuf_check_reserve;
0x000474cc lw a0, (s2) | a0 = *(s2);
0x000474d0 lui a1, 4 | a1 = 0x40000;
0x000474d4 bal 0x4c514 | sym_sshbuf_check_reserve ();
0x000474d8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000474dc beqz v0, 0x475d8 | goto label_20;
| }
0x000474e0 addiu v1, zero, -9 | v1 = -9;
| if (v0 == v1) {
0x000474e4 beql v0, v1, 0x47254 | goto label_0;
| }
0x000474e8 sb zero, (s1) | *(s1) = 0;
0x000474ec lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x000474f0 move a0, v0 | a0 = v0;
0x000474f4 bal 0x4b380 | sym_ssh_err ();
0x000474f8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000474fc sw v0, 0x14(sp) | *(var_14h) = v0;
0x00047500 addiu v0, zero, 1 | v0 = 1;
0x00047504 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00047508 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.reserve */
0x0004750c addiu v1, v1, -0x3c8 | v1 += -aav.0x000003c8;
0x00047510 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00047514 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047518 addiu a3, zero, 1 | a3 = 1;
0x0004751c addiu a2, zero, 0x738 | a2 = 0x738;
| /* str.sftp_server_main */
0x00047520 addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
| /* str.sftp_server.c */
0x00047524 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047528 jalr t9 | t9 ();
| label_12:
0x0004752c lw t9, -0x7758(gp) | t9 = sym.sshbuf_check_reserve;
0x00047530 lw a0, (s2) | a0 = *(s2);
0x00047534 lui a1, 4 | a1 = 0x40000;
0x00047538 bal 0x4c514 | sym_sshbuf_check_reserve ();
0x0004753c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00047540 bnez v0, 0x47288 | goto label_1;
| }
0x00047544 lw t9, -0x7de8(gp) | t9 = sym.kludge_FD_SET;
0x00047548 move a1, s1 | a1 = s1;
0x0004754c move a0, zero | a0 = 0;
0x00047550 jalr t9 | t9 ();
0x00047554 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047558 b 0x47294 | goto label_2;
| label_7:
0x0004755c lw a0, -0x7f34(gp) | a0 = *(gp);
0x00047560 lw s5, -0x7fdc(gp) | s5 = *((gp - 8183));
| /* str.UNKNOWN */
0x00047564 addiu a0, a0, -0x79d0 | a0 += -0x79d0;
0x00047568 jalr t9 | t9 ();
0x0004756c sw v0, -0x421c(s5) | *((s5 - 4231)) = v0;
0x00047570 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047574 b 0x470e4 | goto label_3;
| label_9:
0x00047578 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0004757c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_new_failed */
0x00047580 addiu v0, v0, 0x66b0 | v0 += 0x66b0;
0x00047584 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047588 addiu v0, zero, 1 | v0 = 1;
0x0004758c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047590 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047594 addiu a3, zero, 1 | a3 = 1;
0x00047598 addiu a2, zero, 0x6ef | a2 = 0x6ef;
| /* str.sftp_server_main */
0x0004759c addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
| /* str.sftp_server.c */
0x000475a0 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x000475a4 jalr t9 | t9 ();
| label_10:
0x000475a8 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x000475ac lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_new_failed */
0x000475b0 addiu v0, v0, 0x66b0 | v0 += 0x66b0;
0x000475b4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000475b8 addiu v0, zero, 1 | v0 = 1;
0x000475bc sw zero, 0x14(sp) | *(var_14h) = 0;
0x000475c0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000475c4 addiu a3, zero, 1 | a3 = 1;
0x000475c8 addiu a2, zero, 0x6f1 | a2 = 0x6f1;
| /* str.sftp_server_main */
0x000475cc addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
| /* str.sftp_server.c */
0x000475d0 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x000475d4 jalr t9 | t9 ();
| label_20:
0x000475d8 lw t9, -0x7f9c(gp) | t9 = sym.sshbuf_len;
0x000475dc lw a0, (s3) | a0 = *(s3);
0x000475e0 bal 0x4c154 | sym_sshbuf_len ();
0x000475e4 move s7, v0 | s7 = v0;
0x000475e8 sltiu v0, v0, 5 | v0 = (v0 < 5) ? 1 : 0;
0x000475ec lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x000475f0 bnez v0, 0x47250 | goto label_4;
| }
0x000475f4 lw t9, -0x7fa0(gp) | t9 = sym.sshbuf_ptr;
0x000475f8 lw a0, (s3) | a0 = *(s3);
0x000475fc bal 0x4c334 | sym_sshbuf_ptr ();
0x00047600 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047604 lw t9, -0x777c(gp) | t9 = sym.get_u32;
0x00047608 move a0, v0 | a0 = v0;
0x0004760c jalr t9 | t9 ();
0x00047610 move v1, v0 | v1 = v0;
0x00047614 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00047618 lui v0, 4 | v0 = 0x40001;
0x0004761c addiu v0, v0, 1 |
0x00047620 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x00047624 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00047628 beqz v0, 0x47f94 | goto label_21;
| }
0x0004762c lw v0, 0x38(sp) | v0 = *(var_38h);
0x00047630 addiu v0, v0, 4 | v0 += 4;
0x00047634 sltu v0, s7, v0 | v0 = (s7 < v0) ? 1 : 0;
0x00047638 sb zero, (s1) | *(s1) = 0;
| if (v0 == 0) {
0x0004763c bnel v0, zero, 0x47254 | goto label_0;
| }
0x00047640 lw t9, -0x77f8(gp) | t9 = sym.sshbuf_consume;
0x00047644 lw a0, (s3) | a0 = *(s3);
0x00047648 addiu a1, zero, 4 | a1 = 4;
0x0004764c bal 0x4c7fc | sym_sshbuf_consume ();
0x00047650 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00047654 bnez v0, 0x47ebc | goto label_22;
| }
0x00047658 lw t9, -0x7f28(gp) | t9 = sym.sshbuf_get_u8;
0x0004765c lw a0, (s3) | a0 = *(s3);
0x00047660 addiu a1, sp, 0x5f | a1 = sp + 0x5f;
0x00047664 bal 0x57990 | sym_sshbuf_get_u8 ();
0x00047668 addiu v1, s7, -4 | v1 = s7 + -4;
0x0004766c lw gp, 0x28(sp) | gp = *(var_28h);
0x00047670 sw v1, 0x4c(sp) | *(var_4ch) = v1;
| if (v0 != 0) {
0x00047674 bnez v0, 0x47e78 | goto label_23;
| }
0x00047678 lbu v1, 0x5f(sp) | v1 = *(arg_5fh);
0x0004767c addiu v0, zero, 1 | v0 = 1;
0x00047680 addiu a0, zero, 0xc8 | a0 = 0xc8;
| if (v1 == v0) {
0x00047684 beq v1, v0, 0x479cc | goto label_24;
| }
| if (v1 == a0) {
0x00047688 beql v1, a0, 0x47920 | goto label_25;
| }
0x0004768c lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x00047690 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00047694 lw a0, -0x4224(a0) | a0 = *((a0 - 4233));
0x00047698 lw t9, -0x79c8(gp) | t9 = sym.sshbuf_get_u32;
| if (a0 == 0) {
0x0004769c beqz a0, 0x47e44 | goto label_26;
| }
0x000476a0 lw a0, (s3) | a0 = *(s3);
0x000476a4 addiu a1, sp, 0x64 | a1 = sp + 0x64;
0x000476a8 bal 0x5786c | sym_sshbuf_get_u32 ();
0x000476ac lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x000476b0 bnez v0, 0x47e00 | goto label_27;
| }
0x000476b4 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x000476b8 lbu fp, 0x5f(sp) | fp = *(arg_5fh);
| /* esilref: 'open' */
0x000476bc addiu v1, v1, -0x6b10 | v1 += -0x6b10;
0x000476c0 sw v1, 0x50(sp) | *(var_50h) = v1;
0x000476c4 move s7, v1 | s7 = v1;
0x000476c8 b 0x476e8 |
| while (a2 == 0) {
0x000476cc lw a0, -0xc(s7) | a0 = *((s7 - 3));
0x000476d0 lw t9, -0x7f44(gp) | t9 = *(gp);
| if (fp == a0) {
0x000476d4 beq fp, a0, 0x47b80 | goto label_28;
| }
0x000476d8 move a0, v0 | a0 = v0;
0x000476dc addiu a1, zero, 1 | a1 = 1;
0x000476e0 jalr t9 | t9 ();
0x000476e4 lw gp, 0x28(sp) | gp = *(var_28h);
0x000476e8 lw a2, 0xc(s7) | a2 = *((s7 + 3));
0x000476ec addiu s7, s7, 0x14 | s7 += 0x14;
0x000476f0 bnel a2, zero, 0x476cc |
| }
0x000476f4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000476f8 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.Unknown_message__u */
0x000476fc addiu v0, v0, 0x16b0 | v0 += 0x16b0;
0x00047700 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00047704 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047708 addiu v0, zero, 2 | v0 = 2;
0x0004770c sw fp, 0x1c(sp) | *(var_1ch) = fp;
0x00047710 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047714 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047718 move a3, zero | a3 = 0;
0x0004771c addiu a2, zero, 0x643 | a2 = 0x643;
| /* str.process */
0x00047720 addiu a1, a1, 0x860 | a1 += 0x860;
| /* str.sftp_server.c */
0x00047724 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047728 jalr t9 | t9 ();
0x0004772c lw gp, 0x28(sp) | gp = *(var_28h);
| label_5:
0x00047730 lw t9, -0x7f9c(gp) | t9 = sym.sshbuf_len;
0x00047734 lw a0, (s3) | a0 = *(s3);
0x00047738 bal 0x4c154 | sym_sshbuf_len ();
0x0004773c lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x00047740 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x00047744 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00047748 bnez v0, 0x47f50 | goto label_29;
| }
0x0004774c lw t9, -0x7f9c(gp) | t9 = sym.sshbuf_len;
0x00047750 lw a0, (s3) | a0 = *(s3);
0x00047754 bal 0x4c154 | sym_sshbuf_len ();
0x00047758 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0004775c lw a0, 0x38(sp) | a0 = *(var_38h);
0x00047760 subu v1, v1, v0 | __asm ("subu v1, v1, v0");
0x00047764 sltu a0, a0, v1 | a0 = (a0 < v1) ? 1 : 0;
0x00047768 lw gp, 0x28(sp) | gp = *(var_28h);
| if (a0 != 0) {
0x0004776c bnez a0, 0x47f00 | goto label_30;
| }
0x00047770 lw a0, 0x38(sp) | a0 = *(var_38h);
0x00047774 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
| if (v1 == 0) {
0x00047778 beql v1, zero, 0x47254 | goto label_0;
| }
0x0004777c sb zero, (s1) | *(s1) = 0;
0x00047780 move v1, a0 | v1 = a0;
0x00047784 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x00047788 lw t9, -0x77f8(gp) | t9 = sym.sshbuf_consume;
0x0004778c subu a1, v1, a0 | __asm ("subu a1, v1, a0");
0x00047790 lw a0, (s3) | a0 = *(s3);
0x00047794 addu a1, a1, v0 | a1 += v0;
0x00047798 bal 0x4c7fc | sym_sshbuf_consume ();
0x0004779c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000477a0 beqz v0, 0x47250 | goto label_4;
| }
0x000477a4 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x000477a8 move a0, v0 | a0 = v0;
0x000477ac bal 0x4b380 | sym_ssh_err ();
0x000477b0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000477b4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000477b8 addiu v0, zero, 1 | v0 = 1;
0x000477bc lw v1, -0x7f34(gp) | v1 = *(gp);
0x000477c0 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* esilref: 'consume' */
0x000477c4 addiu v1, v1, 0x3a68 | v1 += 0x3a68;
0x000477c8 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x000477cc sw v1, 0x18(sp) | *(var_18h) = v1;
0x000477d0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000477d4 addiu a3, zero, 1 | a3 = 1;
0x000477d8 addiu a2, zero, 0x651 | a2 = 0x651;
| /* str.process */
0x000477dc addiu a1, a1, 0x860 | a1 += 0x860;
| /* str.sftp_server.c */
0x000477e0 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x000477e4 jalr t9 | t9 ();
0x000477e8 lw v0, (s0) | v0 = *(s0);
0x000477ec lw a1, -0x7f34(gp) | a1 = *(gp);
0x000477f0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000477f4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x000477f8 lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.Invalid_umask___s_ */
0x000477fc addiu v0, v0, 0x13d8 | v0 += 0x13d8;
0x00047800 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047804 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00047808 addiu v0, zero, 1 | v0 = 1;
0x0004780c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047810 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047814 move a3, zero | a3 = 0;
0x00047818 addiu a2, zero, 0x6bc | a2 = 0x6bc;
| /* str.sftp_server_main */
0x0004781c addiu a1, a1, 0xab0 | a1 += 0xab0;
| /* str.sftp_server.c */
0x00047820 addiu a0, a0, 0xb00 | a0 += 0xb00;
0x00047824 jalr t9 | t9 ();
| label_8:
0x00047828 lw t9, -0x6d50(gp) | t9 = sym.imp.getenv;
| /* str.SSH_CONNECTION */
0x0004782c addiu a0, s0, -0x3054 | a0 = s0 + -aav.0x00003054;
0x00047830 jalr t9 | t9 ();
0x00047834 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047838 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0004783c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047840 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047844 lw a0, -0x7f34(gp) | a0 = *(gp);
0x00047848 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.Malformed_SSH_CONNECTION_variable:___s_ */
0x0004784c addiu v0, v0, 0x14a0 | v0 += 0x14a0;
0x00047850 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00047854 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047858 addiu v0, zero, 2 | v0 = 2;
| /* str.sftp_server.c */
0x0004785c addiu a0, a0, 0xb00 | a0 += 0xb00;
0x00047860 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047864 move a3, zero | a3 = 0;
0x00047868 addiu a2, zero, 0x6d6 | a2 = 0x6d6;
| /* str.sftp_server_main */
0x0004786c addiu a1, a1, 0xab0 | a1 += 0xab0;
0x00047870 jalr t9 | t9 ();
0x00047874 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047878 lw t9, -0x7754(gp) | t9 = sym.sftp_server_cleanup_exit;
0x0004787c addiu a0, zero, 0xff | a0 = 0xff;
0x00047880 bal 0x46af0 | sym_sftp_server_cleanup_exit ();
0x00047884 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047888 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.Refused_requests_already_set */
0x0004788c addiu v0, v0, 0x13b8 | v0 += aav.0x000013b8;
0x00047890 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047894 addiu v0, zero, 1 | v0 = 1;
0x00047898 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0004789c sw v0, 0x10(sp) | *(var_10h) = v0;
0x000478a0 move a3, zero | a3 = 0;
0x000478a4 addiu a2, zero, 0x6b4 | a2 = 0x6b4;
| do {
0x000478a8 lw a1, -0x7f34(gp) | a1 = *(gp);
0x000478ac lw a0, -0x7f34(gp) | a0 = *(gp);
| /* str.sftp_server_main */
0x000478b0 addiu a1, a1, 0xab0 | a1 += 0xab0;
| /* str.sftp_server.c */
0x000478b4 addiu a0, a0, 0xb00 | a0 += 0xb00;
0x000478b8 jalr t9 | t9 ();
0x000478bc lw v0, -0x7f34(gp) | v0 = *(gp);
0x000478c0 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.Permitted_requests_already_set */
0x000478c4 addiu v0, v0, 0x1398 | v0 += 0x1398;
0x000478c8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000478cc addiu v0, zero, 1 | v0 = 1;
0x000478d0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000478d4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000478d8 move a3, zero | a3 = 0;
0x000478dc addiu a2, zero, 0x6af | a2 = 0x6af;
0x000478e0 b 0x478a8 |
| } while (1);
| label_13:
0x000478e4 move a0, v0 | a0 = v0;
0x000478e8 bal 0x4b380 | sym_ssh_err ();
0x000478ec lw gp, 0x28(sp) | gp = *(var_28h);
0x000478f0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000478f4 addiu v0, zero, 1 | v0 = 1;
0x000478f8 lw v1, -0x7f34(gp) | v1 = *(gp);
0x000478fc lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.reserve */
0x00047900 addiu v1, v1, -0x3c8 | v1 += -aav.0x000003c8;
0x00047904 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00047908 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004790c addiu a3, zero, 1 | a3 = 1;
0x00047910 addiu a2, zero, 0x70c | a2 = 0x70c;
| /* str.sftp_server_main */
0x00047914 addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
| /* str.sftp_server.c */
0x00047918 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x0004791c jalr t9 | t9 ();
| label_25:
0x00047920 lw v1, -0x4224(v1) | v1 = *((v1 - 4233));
0x00047924 lw t9, -0x79c8(gp) | t9 = sym.sshbuf_get_u32;
| if (v1 == 0) {
0x00047928 beqz v1, 0x47dd0 | goto label_31;
| }
0x0004792c lw a0, (s3) | a0 = *(s3);
0x00047930 addiu a1, sp, 0x64 | a1 = sp + 0x64;
0x00047934 bal 0x5786c | sym_sshbuf_get_u32 ();
0x00047938 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0004793c bnez v0, 0x47d8c | goto label_32;
| }
0x00047940 lw t9, -0x7f14(gp) | t9 = sym.sshbuf_get_cstring;
0x00047944 lw a0, (s3) | a0 = *(s3);
0x00047948 move a2, zero | a2 = 0;
0x0004794c addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x00047950 lw s7, 0x64(sp) | s7 = *(arg_64h);
0x00047954 bal 0x57ff0 | sym_sshbuf_get_cstring ();
0x00047958 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0004795c bnez v0, 0x47d48 | goto label_33;
| }
0x00047960 lw t0, 0x68(sp) | t0 = *(arg_68h);
0x00047964 lw t9, -0x7810(gp) | t9 = *(gp);
0x00047968 move a0, t0 | a0 = t0;
| /* fcn.00043ba4 */
0x0004796c addiu t9, t9, 0x3ba4 | t9 += 0x3ba4;
0x00047970 sw t0, 0x50(sp) | *(var_50h) = t0;
0x00047974 bal 0x43ba4 | fcn_00043ba4 ();
0x00047978 lw gp, 0x28(sp) | gp = *(var_28h);
0x0004797c lw t0, 0x50(sp) | t0 = *(var_50h);
| if (v0 == 0) {
0x00047980 beqz v0, 0x47cbc | goto label_34;
| }
0x00047984 lw t9, -0x7810(gp) | t9 = *(gp);
0x00047988 addiu a1, v0, 0x10 | a1 = v0 + 0x10;
0x0004798c move a0, v0 | a0 = v0;
| /* fcn.00046790 */
0x00047990 addiu t9, t9, 0x6790 | t9 += 0x6790;
0x00047994 sw v0, 0x50(sp) | *(var_50h) = v0;
0x00047998 bal 0x46790 | fcn_00046790 ();
0x0004799c lw gp, 0x28(sp) | gp = *(var_28h);
0x000479a0 lw v1, 0x50(sp) | v1 = *(var_50h);
| if (v0 == 0) {
0x000479a4 beqz v0, 0x47d14 | goto label_35;
| }
0x000479a8 lw t9, 0xc(v1) | t9 = *((v1 + 3));
0x000479ac move a0, s7 | a0 = s7;
0x000479b0 jalr t9 | t9 ();
0x000479b4 lw gp, 0x28(sp) | gp = *(var_28h);
| label_6:
0x000479b8 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x000479bc lw a0, 0x68(sp) | a0 = *(arg_68h);
0x000479c0 jalr t9 | t9 ();
0x000479c4 lw gp, 0x28(sp) | gp = *(var_28h);
0x000479c8 b 0x47730 | goto label_5;
| label_24:
0x000479cc lw v0, 0x40(sp) | v0 = *(var_40h);
0x000479d0 lw t9, -0x79c8(gp) | t9 = sym.sshbuf_get_u32;
0x000479d4 lw a0, (s3) | a0 = *(s3);
0x000479d8 sw v1, 0x50(sp) | *(var_50h) = v1;
0x000479dc addiu a1, v0, -0x4220 | a1 = v0 + -0x4220;
0x000479e0 bal 0x5786c | sym_sshbuf_get_u32 ();
0x000479e4 lw gp, 0x28(sp) | gp = *(var_28h);
0x000479e8 lw v1, 0x50(sp) | v1 = *(var_50h);
| if (v0 != 0) {
0x000479ec bnez v0, 0x48064 | goto label_36;
| }
0x000479f0 lw v0, 0x40(sp) | v0 = *(var_40h);
0x000479f4 sw v1, 0x50(sp) | *(var_50h) = v1;
0x000479f8 lw v1, 0x34(sp) | v1 = *(var_34h);
0x000479fc lw v0, -0x4220(v0) | v0 = *((v0 - 4232));
0x00047a00 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00047a04 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00047a08 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00047a0c addiu a1, v1, 0x850 | a1 = v1 + 0x850;
0x00047a10 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047a14 addiu v0, zero, 4 | v0 = 4;
0x00047a18 move a3, zero | a3 = 0;
0x00047a1c addiu a2, zero, 0x2b6 | a2 = 0x2b6;
| /* str.sftp_server.c */
0x00047a20 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047a24 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047a28 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047a2c jalr t9 | t9 ();
0x00047a30 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047a34 lw t9, -0x7fa8(gp) | t9 = sym.sshbuf_new;
0x00047a38 bal 0x4b790 | sym_sshbuf_new ();
0x00047a3c nop |
0x00047a40 move s7, v0 | s7 = v0;
0x00047a44 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047a48 lw v1, 0x50(sp) | v1 = *(var_50h);
| if (v0 == 0) {
0x00047a4c beqz v0, 0x48034 | goto label_37;
| }
0x00047a50 lw t9, -0x7c34(gp) | t9 = sym.sshbuf_put_u8;
0x00047a54 addiu a1, zero, 2 | a1 = 2;
0x00047a58 move a0, v0 | a0 = v0;
0x00047a5c bal 0x58728 | sym_sshbuf_put_u8 ();
0x00047a60 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00047a64 bnez v0, 0x47ff0 | goto label_38;
| }
0x00047a68 lw t9, -0x7b48(gp) | t9 = sym.sshbuf_put_u32;
0x00047a6c addiu a1, zero, 3 | a1 = 3;
0x00047a70 move a0, s7 | a0 = s7;
0x00047a74 bal 0x585f0 | sym_sshbuf_put_u32 ();
0x00047a78 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00047a7c bnez v0, 0x47ff0 | goto label_38;
| }
0x00047a80 lw fp, -0x7e48(gp) | fp = *(gp);
0x00047a84 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00047a88 lw t9, 0x30(sp) | t9 = *(var_30h);
0x00047a8c addiu a2, fp, -0x6588 | a2 = fp + -0x6588;
| /* str.posix_rename_openssh.com */
0x00047a90 addiu a1, a1, 0xebc | a1 += 0xebc;
0x00047a94 move a0, s7 | a0 = s7;
0x00047a98 jalr t9 | t9 ();
0x00047a9c lw gp, 0x28(sp) | gp = *(var_28h);
0x00047aa0 lw t9, 0x30(sp) | t9 = *(var_30h);
0x00047aa4 move a0, s7 | a0 = s7;
0x00047aa8 lw v1, -0x7e48(gp) | v1 = *(gp);
0x00047aac lw a1, -0x7f34(gp) | a1 = *(gp);
| /* esilref: ' ' */
0x00047ab0 addiu a2, v1, -0x7774 | a2 = v1 + -0x7774;
0x00047ab4 sw v1, 0x50(sp) | *(var_50h) = v1;
| /* str.statvfs_openssh.com */
0x00047ab8 addiu a1, a1, 0x1568 | a1 += 0x1568;
0x00047abc jalr t9 | t9 ();
0x00047ac0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047ac4 lw v1, 0x50(sp) | v1 = *(var_50h);
0x00047ac8 lw t9, 0x30(sp) | t9 = *(var_30h);
0x00047acc lw a1, -0x7f34(gp) | a1 = *(gp);
0x00047ad0 addiu a2, v1, -0x7774 | a2 = v1 + -0x7774;
| /* str.fstatvfs_openssh.com */
0x00047ad4 addiu a1, a1, 0x157c | a1 += 0x157c;
0x00047ad8 move a0, s7 | a0 = s7;
0x00047adc jalr t9 | t9 ();
0x00047ae0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047ae4 lw t9, 0x30(sp) | t9 = *(var_30h);
0x00047ae8 addiu a2, fp, -0x6588 | a2 = fp + -0x6588;
0x00047aec lw a1, -0x7f34(gp) | a1 = *(gp);
0x00047af0 move a0, s7 | a0 = s7;
| /* str.hardlink_openssh.com */
0x00047af4 addiu a1, a1, 0x1594 | a1 += 0x1594;
0x00047af8 jalr t9 | t9 ();
0x00047afc lw gp, 0x28(sp) | gp = *(var_28h);
0x00047b00 lw t9, 0x30(sp) | t9 = *(var_30h);
0x00047b04 addiu a2, fp, -0x6588 | a2 = fp + -0x6588;
0x00047b08 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00047b0c move a0, s7 | a0 = s7;
| /* str.fsync_openssh.com */
0x00047b10 addiu a1, a1, 0x15ac | a1 += aav.0x000015ac;
0x00047b14 jalr t9 | t9 ();
0x00047b18 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047b1c lw t9, 0x30(sp) | t9 = *(var_30h);
0x00047b20 addiu a2, fp, -0x6588 | a2 = fp + -0x6588;
0x00047b24 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00047b28 move a0, s7 | a0 = s7;
| /* str.lsetstat_openssh.com */
0x00047b2c addiu a1, a1, 0x15c0 | a1 += 0x15c0;
0x00047b30 jalr t9 | t9 ();
0x00047b34 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047b38 lw t9, 0x30(sp) | t9 = *(var_30h);
0x00047b3c addiu a2, fp, -0x6588 | a2 = fp + -0x6588;
0x00047b40 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00047b44 move a0, s7 | a0 = s7;
| /* str.limits_openssh.com */
0x00047b48 addiu a1, a1, 0x15d8 | a1 += 0x15d8;
0x00047b4c jalr t9 | t9 ();
0x00047b50 lw t9, 0x48(sp) | t9 = *(var_48h);
0x00047b54 move a0, s7 | a0 = s7;
0x00047b58 jalr t9 | t9 ();
0x00047b5c lw gp, 0x28(sp) | gp = *(var_28h);
0x00047b60 lw t9, -0x7f90(gp) | t9 = sym.sshbuf_free;
0x00047b64 move a0, s7 | a0 = s7;
0x00047b68 bal 0x4ba3c | sym_sshbuf_free ();
0x00047b6c lw gp, 0x28(sp) | gp = *(var_28h);
0x00047b70 addiu v1, zero, 1 | v1 = 1;
0x00047b74 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00047b78 sw v1, -0x4224(v0) | *((v0 - 4233)) = v1;
0x00047b7c b 0x47730 | goto label_5;
| label_28:
0x00047b80 addiu a0, zero, 0x14 | a0 = 0x14;
0x00047b84 mul a1, v0, a0 | __asm ("mul a1, v0, a0");
0x00047b88 lw v1, 0x50(sp) | v1 = *(var_50h);
0x00047b8c lw t9, -0x7810(gp) | t9 = *(gp);
0x00047b90 sw a2, 0x54(sp) | *(var_54h) = a2;
| /* fcn.00046790 */
0x00047b94 addiu t9, t9, 0x6790 | t9 += 0x6790;
0x00047b98 addu a0, a1, v1 | a0 = a1 + v1;
0x00047b9c addiu a1, a0, 0x10 | a1 = a0 + 0x10;
0x00047ba0 bal 0x46790 | fcn_00046790 ();
0x00047ba4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047ba8 lw a2, 0x54(sp) | a2 = *(var_54h);
0x00047bac lw a0, 0x64(sp) | a0 = *(arg_64h);
| if (v0 == 0) {
0x00047bb0 beqz v0, 0x47d30 | goto label_39;
| }
0x00047bb4 move t9, a2 | t9 = a2;
0x00047bb8 jalr t9 | t9 ();
0x00047bbc nop |
0x00047bc0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047bc4 b 0x47730 | goto label_5;
| label_18:
0x00047bc8 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x00047bcc jalr t9 | t9 ();
0x00047bd0 nop |
0x00047bd4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047bd8 lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x00047bdc lw a0, (v0) | a0 = *(v0);
0x00047be0 jalr t9 | t9 ();
0x00047be4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047be8 sw v0, 0x1c(sp) | *(var_1ch) = v0;
| /* str.sftp_server.c */
0x00047bec addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047bf0 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047bf4 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.write:__s */
0x00047bf8 addiu v0, v0, -0x292c | v0 += -0x292c;
0x00047bfc sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047c00 addiu v0, zero, 2 | v0 = 2;
0x00047c04 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047c08 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047c0c move a3, zero | a3 = 0;
0x00047c10 addiu a2, zero, 0x729 | a2 = 0x729;
| do {
| /* str.sftp_server_main */
0x00047c14 addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
0x00047c18 jalr t9 | t9 ();
0x00047c1c lw gp, 0x28(sp) | gp = *(var_28h);
0x00047c20 lw t9, -0x7754(gp) | t9 = sym.sftp_server_cleanup_exit;
0x00047c24 addiu a0, zero, 1 | a0 = 1;
0x00047c28 bal 0x46af0 | sym_sftp_server_cleanup_exit ();
| label_16:
0x00047c2c lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x00047c30 jalr t9 | t9 ();
0x00047c34 nop |
0x00047c38 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047c3c lw t9, -0x6c90(gp) | t9 = sym.imp.strerror;
0x00047c40 lw a0, (v0) | a0 = *(v0);
0x00047c44 jalr t9 | t9 ();
0x00047c48 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047c4c sw v0, 0x1c(sp) | *(var_1ch) = v0;
| /* str.sftp_server.c */
0x00047c50 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047c54 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047c58 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.read:__s */
0x00047c5c addiu v0, v0, -0x3ec | v0 += -aav.0x000003ec;
0x00047c60 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047c64 addiu v0, zero, 2 | v0 = 2;
0x00047c68 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047c6c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047c70 move a3, zero | a3 = 0;
0x00047c74 addiu a2, zero, 0x720 | a2 = 0x720;
0x00047c78 b 0x47c14 |
| } while (1);
| label_15:
0x00047c7c lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047c80 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.read_eof */
0x00047c84 addiu v0, v0, 0x151c | v0 += 0x151c;
0x00047c88 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047c8c addiu v0, zero, 5 | v0 = 5;
| /* str.sftp_server.c */
0x00047c90 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047c94 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047c98 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047c9c move a3, zero | a3 = 0;
0x00047ca0 addiu a2, zero, 0x71d | a2 = 0x71d;
| /* str.sftp_server_main */
0x00047ca4 addiu a1, s6, 0xab0 | a1 = s6 + 0xab0;
0x00047ca8 jalr t9 | t9 ();
0x00047cac lw gp, 0x28(sp) | gp = *(var_28h);
0x00047cb0 lw t9, -0x7754(gp) | t9 = sym.sftp_server_cleanup_exit;
0x00047cb4 move a0, zero | a0 = 0;
0x00047cb8 bal 0x46af0 | sym_sftp_server_cleanup_exit ();
| label_34:
0x00047cbc lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047cc0 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.Unknown_extended_request___.100s_ */
0x00047cc4 addiu v0, v0, 0x1628 | v0 += 0x1628;
0x00047cc8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00047ccc sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047cd0 addiu v0, zero, 2 | v0 = 2;
0x00047cd4 move a3, zero | a3 = 0;
0x00047cd8 addiu a2, zero, 0x5fc | a2 = aav.0x000005fc;
| /* str.process_extended */
0x00047cdc addiu a1, a1, 0x828 | a1 += 0x828;
| /* str.sftp_server.c */
0x00047ce0 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047ce4 sw t0, 0x1c(sp) | *(var_1ch) = t0;
0x00047ce8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047cec sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047cf0 jalr t9 | t9 ();
0x00047cf4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047cf8 addiu a1, zero, 8 | a1 = 8;
0x00047cfc lw t9, -0x7810(gp) | t9 = *(gp);
| /* fcn.00041630 */
0x00047d00 addiu t9, t9, 0x1630 | t9 += aav.0x00001630;
0x00047d04 move a0, s7 | a0 = s7;
0x00047d08 bal 0x41630 | fcn_00041630 ();
0x00047d0c lw gp, 0x28(sp) | gp = *(var_28h);
0x00047d10 b 0x479b8 | goto label_6;
| label_35:
0x00047d14 lw t9, -0x7810(gp) | t9 = *(gp);
0x00047d18 addiu a1, zero, 3 | a1 = 3;
| /* fcn.00041630 */
0x00047d1c addiu t9, t9, 0x1630 | t9 += aav.0x00001630;
0x00047d20 move a0, s7 | a0 = s7;
0x00047d24 bal 0x41630 | fcn_00041630 ();
0x00047d28 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047d2c b 0x479b8 | goto label_6;
| label_39:
0x00047d30 lw t9, -0x7810(gp) | t9 = *(gp);
| /* fcn.00041630 */
0x00047d34 addiu t9, t9, 0x1630 | t9 += aav.0x00001630;
0x00047d38 addiu a1, zero, 3 | a1 = 3;
0x00047d3c bal 0x41630 | fcn_00041630 ();
0x00047d40 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047d44 b 0x47730 | goto label_5;
| label_33:
0x00047d48 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00047d4c move a0, v0 | a0 = v0;
0x00047d50 bal 0x4b380 | sym_ssh_err ();
0x00047d54 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047d58 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00047d5c addiu v0, zero, 1 | v0 = 1;
0x00047d60 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00047d64 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.parse */
0x00047d68 addiu v1, v1, -0x2488 | v1 += -0x2488;
0x00047d6c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00047d70 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00047d74 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047d78 addiu a3, zero, 1 | a3 = 1;
0x00047d7c addiu a2, zero, 0x5fa | a2 = 0x5fa;
| /* str.process_extended */
0x00047d80 addiu a1, a1, 0x828 | a1 += 0x828;
| /* str.sftp_server.c */
0x00047d84 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047d88 jalr t9 | t9 ();
| label_32:
0x00047d8c lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00047d90 move a0, v0 | a0 = v0;
0x00047d94 bal 0x4b380 | sym_ssh_err ();
0x00047d98 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047d9c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00047da0 addiu v0, zero, 1 | v0 = 1;
0x00047da4 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00047da8 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.parse_extended_ID */
0x00047dac addiu v1, v1, 0x1614 | v1 += 0x1614;
0x00047db0 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00047db4 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00047db8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047dbc addiu a3, zero, 1 | a3 = 1;
0x00047dc0 addiu a2, zero, 0x62f | a2 = 0x62f;
| /* str.process */
0x00047dc4 addiu a1, a1, 0x860 | a1 += 0x860;
| /* str.sftp_server.c */
0x00047dc8 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047dcc jalr t9 | t9 ();
| label_31:
0x00047dd0 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00047dd4 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.Received_extended_request_before_init */
0x00047dd8 addiu v1, v1, 0x15ec | v1 += 0x15ec;
0x00047ddc lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00047de0 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00047de4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047de8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047dec move a3, zero | a3 = 0;
0x00047df0 addiu a2, zero, 0x62d | a2 = 0x62d;
| /* str.process */
0x00047df4 addiu a1, a1, 0x860 | a1 += 0x860;
| /* str.sftp_server.c */
0x00047df8 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047dfc jalr t9 | t9 ();
| label_27:
0x00047e00 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00047e04 move a0, v0 | a0 = v0;
0x00047e08 bal 0x4b380 | sym_ssh_err ();
0x00047e0c lw gp, 0x28(sp) | gp = *(var_28h);
0x00047e10 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00047e14 addiu v0, zero, 1 | v0 = 1;
0x00047e18 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00047e1c lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.parse_ID */
0x00047e20 addiu v1, v1, 0x166c | v1 += 0x166c;
0x00047e24 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00047e28 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00047e2c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047e30 addiu a3, zero, 1 | a3 = 1;
0x00047e34 addiu a2, zero, 0x636 | a2 = 0x636;
| /* str.process */
0x00047e38 addiu a1, a1, 0x860 | a1 += 0x860;
| /* str.sftp_server.c */
0x00047e3c addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047e40 jalr t9 | t9 ();
| label_26:
0x00047e44 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x00047e48 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00047e4c lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.Received__u_request_before_init */
0x00047e50 addiu v1, v1, 0x164c | v1 += aav.0x0000164c;
0x00047e54 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00047e58 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00047e5c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047e60 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047e64 move a3, zero | a3 = 0;
0x00047e68 addiu a2, zero, 0x634 | a2 = aav.0x00000634;
| /* str.process */
0x00047e6c addiu a1, a1, 0x860 | a1 += 0x860;
| /* str.sftp_server.c */
0x00047e70 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047e74 jalr t9 | t9 ();
| label_23:
0x00047e78 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00047e7c move a0, v0 | a0 = v0;
0x00047e80 bal 0x4b380 | sym_ssh_err ();
0x00047e84 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047e88 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00047e8c addiu v0, zero, 1 | v0 = 1;
0x00047e90 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00047e94 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.parse_type */
0x00047e98 addiu v1, v1, -0xa58 | v1 += -0xa58;
0x00047e9c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00047ea0 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00047ea4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047ea8 addiu a3, zero, 1 | a3 = 1;
0x00047eac addiu a2, zero, 0x624 | a2 = 0x624;
| /* str.process */
0x00047eb0 addiu a1, a1, 0x860 | a1 += 0x860;
| /* str.sftp_server.c */
0x00047eb4 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047eb8 jalr t9 | t9 ();
| label_22:
0x00047ebc lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00047ec0 move a0, v0 | a0 = v0;
0x00047ec4 bal 0x4b380 | sym_ssh_err ();
0x00047ec8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047ecc sw v0, 0x14(sp) | *(var_14h) = v0;
0x00047ed0 addiu v0, zero, 1 | v0 = 1;
0x00047ed4 lw v1, -0x7f34(gp) | v1 = *(gp);
0x00047ed8 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* esilref: 'consume' */
0x00047edc addiu v1, v1, 0x3a68 | v1 += 0x3a68;
0x00047ee0 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00047ee4 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00047ee8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047eec addiu a3, zero, 1 | a3 = 1;
0x00047ef0 addiu a2, zero, 0x621 | a2 = 0x621;
| /* str.process */
0x00047ef4 addiu a1, a1, 0x860 | a1 += 0x860;
| /* str.sftp_server.c */
0x00047ef8 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047efc jalr t9 | t9 ();
| label_30:
0x00047f00 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00047f04 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00047f08 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00047f0c lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047f10 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
| /* str.msg_len__u___consumed__u */
0x00047f14 addiu v0, v0, 0x1694 | v0 += 0x1694;
0x00047f18 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047f1c addiu v0, zero, 2 | v0 = 2;
| /* str.sftp_server.c */
0x00047f20 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047f24 sw v1, 0x20(sp) | *(var_20h) = v1;
0x00047f28 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047f2c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047f30 move a3, zero | a3 = 0;
0x00047f34 addiu a2, zero, 0x64c | a2 = aav.0x0000064c;
| /* str.process */
0x00047f38 addiu a1, a1, 0x860 | a1 += 0x860;
0x00047f3c jalr t9 | t9 ();
0x00047f40 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047f44 lw t9, -0x7754(gp) | t9 = sym.sftp_server_cleanup_exit;
0x00047f48 addiu a0, zero, 0xff | a0 = 0xff;
0x00047f4c bal 0x46af0 | sym_sftp_server_cleanup_exit ();
| label_29:
0x00047f50 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047f54 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.iqueue_grew_unexpectedly */
0x00047f58 addiu v0, v0, 0x1678 | v0 += 0x1678;
0x00047f5c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00047f60 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047f64 addiu v0, zero, 2 | v0 = 2;
| /* str.sftp_server.c */
0x00047f68 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047f6c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047f70 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047f74 move a3, zero | a3 = 0;
0x00047f78 addiu a2, zero, 0x647 | a2 = 0x647;
| /* str.process */
0x00047f7c addiu a1, a1, 0x860 | a1 += 0x860;
0x00047f80 jalr t9 | t9 ();
0x00047f84 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047f88 lw t9, -0x7754(gp) | t9 = sym.sftp_server_cleanup_exit;
0x00047f8c addiu a0, zero, 0xff | a0 = 0xff;
0x00047f90 bal 0x46af0 | sym_sftp_server_cleanup_exit ();
| label_21:
0x00047f94 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00047f98 lw a1, -0x7f34(gp) | a1 = *(gp);
0x00047f9c lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x00047fa0 lw v1, -0x4218(v0) | v1 = *((v0 - 4230));
0x00047fa4 lw v0, -0x421c(s5) | v0 = *((s5 - 4231));
| /* str.sftp_server.c */
0x00047fa8 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00047fac lw v1, (v1) | v1 = *(v1);
0x00047fb0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00047fb4 lw v0, -0x7f34(gp) | v0 = *(gp);
0x00047fb8 sw v1, 0x20(sp) | *(var_20h) = v1;
| /* str.bad_message_from__s_local_user__s */
0x00047fbc addiu v0, v0, 0x1528 | v0 += 0x1528;
0x00047fc0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00047fc4 addiu v0, zero, 2 | v0 = 2;
0x00047fc8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00047fcc sw v0, 0x10(sp) | *(var_10h) = v0;
0x00047fd0 move a3, zero | a3 = 0;
0x00047fd4 addiu a2, zero, 0x61b | a2 = 0x61b;
| /* str.process */
0x00047fd8 addiu a1, a1, 0x860 | a1 += 0x860;
0x00047fdc jalr t9 | t9 ();
0x00047fe0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00047fe4 lw t9, -0x7754(gp) | t9 = sym.sftp_server_cleanup_exit;
0x00047fe8 addiu a0, zero, 0xb | a0 = 0xb;
0x00047fec bal 0x46af0 | sym_sftp_server_cleanup_exit ();
| label_38:
0x00047ff0 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00047ff4 move a0, v0 | a0 = v0;
0x00047ff8 bal 0x4b380 | sym_ssh_err ();
0x00047ffc lw gp, 0x28(sp) | gp = *(var_28h);
0x00048000 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00048004 addiu v0, zero, 1 | v0 = 1;
0x00048008 lw v1, -0x7f34(gp) | v1 = *(gp);
0x0004800c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00048010 lw v0, 0x34(sp) | v0 = *(var_34h);
| /* str.compose */
0x00048014 addiu v1, v1, -0x54d8 | v1 += -0x54d8;
0x00048018 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x0004801c sw v1, 0x18(sp) | *(var_18h) = v1;
0x00048020 addiu a3, zero, 1 | a3 = 1;
0x00048024 addiu a2, zero, 0x2bb | a2 = 0x2bb;
0x00048028 addiu a1, v0, 0x850 | a1 = v0 + 0x850;
| /* str.sftp_server.c */
0x0004802c addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00048030 jalr t9 | t9 ();
| label_37:
0x00048034 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x00048038 lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
| /* str.sshbuf_new_failed */
0x0004803c addiu v0, v0, 0x66b0 | v0 += 0x66b0;
0x00048040 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00048044 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00048048 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0004804c sw v1, 0x10(sp) | *(var_10h) = v1;
0x00048050 addiu a3, zero, 1 | a3 = 1;
0x00048054 addiu a2, zero, 0x2b8 | a2 = aav.0x000002b8;
0x00048058 addiu a1, v0, 0x850 | a1 = v0 + 0x850;
| /* str.sftp_server.c */
0x0004805c addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x00048060 jalr t9 | t9 ();
| label_36:
0x00048064 lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x00048068 sw v1, 0x30(sp) | *(var_30h) = v1;
0x0004806c move a0, v0 | a0 = v0;
0x00048070 bal 0x4b380 | sym_ssh_err ();
0x00048074 lw gp, 0x28(sp) | gp = *(var_28h);
0x00048078 lw v1, 0x30(sp) | v1 = *(var_30h);
0x0004807c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00048080 lw a0, -0x7f34(gp) | a0 = *(gp);
0x00048084 lw a1, -0x7f34(gp) | a1 = *(gp);
| /* str.parse */
0x00048088 addiu a0, a0, -0x2488 | a0 += -0x2488;
0x0004808c lw t9, -0x7f74(gp) | t9 = sym.sshfatal;
0x00048090 sw a0, 0x18(sp) | *(var_18h) = a0;
0x00048094 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00048098 addiu a3, zero, 1 | a3 = 1;
0x0004809c addiu a2, zero, 0x2b5 | a2 = 0x2b5;
| /* str.process_init */
0x000480a0 addiu a1, a1, 0x850 | a1 += 0x850;
| /* str.sftp_server.c */
0x000480a4 addiu a0, s4, 0xb00 | a0 = s4 + 0xb00;
0x000480a8 jalr t9 | t9 ();
0x000480ac nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x9ce5c */
| #include <stdint.h>
|
; (fcn) sym.ssh_krl_file_contains_key () | void ssh_krl_file_contains_key () {
0x0009ce5c lui gp, 6 |
0x0009ce60 addiu gp, gp, 0x5494 |
0x0009ce64 addu gp, gp, t9 | gp += t9;
0x0009ce68 addiu sp, sp, -0x50 |
0x0009ce6c sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0009ce70 lw s1, -0x6fc4(gp) | s1 = *((gp - 7153));
0x0009ce74 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0009ce78 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x0009ce7c sw s4, 0x48(sp) | *(var_48h) = s4;
0x0009ce80 sw s3, 0x44(sp) | *(var_44h) = s3;
0x0009ce84 sw s2, 0x40(sp) | *(var_40h) = s2;
0x0009ce88 sw s0, 0x38(sp) | *(var_38h) = s0;
0x0009ce8c lw v0, (s1) | v0 = *(s1);
0x0009ce90 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0009ce94 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0009ce98 sw zero, 0x30(sp) | *(var_30h) = 0;
| if (a0 == 0) {
0x0009ce9c beqz a0, 0x9cf08 | goto label_13;
| }
0x0009cea0 lw t9, -0x7334(gp) | t9 = sym.sshbuf_load_file;
0x0009cea4 move s4, a1 | s4 = a1;
0x0009cea8 addiu a1, sp, 0x2c | a1 = sp + 0x2c;
0x0009ceac move s2, a0 | s2 = a0;
0x0009ceb0 bal 0x97954 | sym_sshbuf_load_file ();
0x0009ceb4 move s0, v0 | s0 = v0;
0x0009ceb8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0009cebc beqz v0, 0x9cf3c | goto label_14;
| }
0x0009cec0 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
0x0009cec4 jalr t9 | t9 ();
0x0009cec8 nop |
0x0009cecc lw gp, 0x20(sp) | gp = *(var_20h);
0x0009ced0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0009ced4 lw t9, -0x7f90(gp) | t9 = sym.sshbuf_free;
0x0009ced8 lw s3, (v0) | s3 = *(v0);
0x0009cedc jalr t9 | t9 ();
0x0009cee0 lw a0, 0x30(sp) | a0 = *(var_30h);
0x0009cee4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (a0 == 0) {
0x0009cee8 beqz a0, 0x9cf80 | goto label_15;
| }
| do {
| label_1:
0x0009ceec lw t9, -0x7364(gp) | t9 = *(gp);
| /* fcn.00099364 */
0x0009cef0 addiu t9, t9, -0x6c9c | t9 += -0x6c9c;
0x0009cef4 bal 0x99364 | fcn_00099364 ();
0x0009cef8 nop |
0x0009cefc lw gp, 0x20(sp) | gp = *(var_20h);
| label_2:
0x0009cf00 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
| if (s0 != 0) {
0x0009cf04 bnez s0, 0x9cf84 | goto label_16;
| }
| label_13:
0x0009cf08 move s0, zero | s0 = 0;
| label_0:
0x0009cf0c lw a0, 0x34(sp) | a0 = *(var_34h);
0x0009cf10 lw v1, (s1) | v1 = *(s1);
0x0009cf14 move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x0009cf18 bne a0, v1, 0x9d010 | goto label_17;
| }
0x0009cf1c lw ra, 0x4c(sp) | ra = *(var_4ch);
0x0009cf20 lw s4, 0x48(sp) | s4 = *(var_48h);
0x0009cf24 lw s3, 0x44(sp) | s3 = *(var_44h);
0x0009cf28 lw s2, 0x40(sp) | s2 = *(var_40h);
0x0009cf2c lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0009cf30 lw s0, 0x38(sp) | s0 = *(var_38h);
0x0009cf34 addiu sp, sp, 0x50 |
0x0009cf38 jr ra | return v0;
| label_14:
0x0009cf3c lw t9, -0x7330(gp) | t9 = *(gp);
0x0009cf40 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0009cf44 move a3, zero | a3 = 0;
0x0009cf48 move a2, zero | a2 = 0;
0x0009cf4c addiu a1, sp, 0x30 | a1 = sp + 0x30;
0x0009cf50 bal 0x9be18 | sym_ssh_krl_from_blob ();
0x0009cf54 move s3, v0 | s3 = v0;
0x0009cf58 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0009cf5c beqz v0, 0x9cf98 | goto label_18;
| }
0x0009cf60 lw t9, -0x7f90(gp) | t9 = sym.sshbuf_free;
0x0009cf64 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0009cf68 move s0, v0 | s0 = v0;
0x0009cf6c jalr t9 | t9 ();
0x0009cf70 lw a0, 0x30(sp) | a0 = *(var_30h);
0x0009cf74 move s3, zero | s3 = 0;
0x0009cf78 lw gp, 0x20(sp) | gp = *(var_20h);
0x0009cf7c bnez a0, 0x9ceec |
| } while (a0 != 0);
| label_15:
0x0009cf80 lw t9, -0x6c58(gp) | t9 = sym.imp.__errno_location;
| label_16:
0x0009cf84 jalr t9 | t9 ();
0x0009cf88 nop |
0x0009cf8c lw gp, 0x20(sp) | gp = *(var_20h);
0x0009cf90 sw s3, (v0) | *(v0) = s3;
0x0009cf94 b 0x9cf0c | goto label_0;
| label_18:
0x0009cf98 lw v0, -0x7e48(gp) | v0 = *(gp);
0x0009cf9c lw a1, -0x7e48(gp) | a1 = *(gp);
0x0009cfa0 lw a0, -0x7e48(gp) | a0 = *(gp);
| /* str.checking_KRL__s */
0x0009cfa4 addiu v0, v0, -0x431c | v0 += -0x431c;
0x0009cfa8 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0009cfac sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x0009cfb0 addiu v0, zero, 6 | v0 = 6;
0x0009cfb4 addiu a3, zero, 1 | a3 = 1;
0x0009cfb8 addiu a2, zero, 0x541 | a2 = 0x541;
| /* str.ssh_krl_file_contains_key */
0x0009cfbc addiu a1, a1, -0x4204 | a1 += -0x4204;
| /* str.krl.c */
0x0009cfc0 addiu a0, a0, -0x4530 | a0 += -0x4530;
0x0009cfc4 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x0009cfc8 sw s2, 0x1c(sp) | *(var_1ch_3) = s2;
0x0009cfcc sw zero, 0x14(sp) | *(var_14h_2) = 0;
0x0009cfd0 jalr t9 | t9 ();
0x0009cfd4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0009cfd8 lw a0, 0x30(sp) | a0 = *(var_30h);
0x0009cfdc lw t9, -0x7344(gp) | t9 = sym.ssh_krl_check_key;
0x0009cfe0 move a1, s4 | a1 = s4;
0x0009cfe4 bal 0x9bd44 | sym_ssh_krl_check_key ();
0x0009cfe8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0009cfec lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0009cff0 lw t9, -0x7f90(gp) | t9 = sym.sshbuf_free;
0x0009cff4 move s0, v0 | s0 = v0;
0x0009cff8 jalr t9 | t9 ();
0x0009cffc lw a0, 0x30(sp) | a0 = *(var_30h);
0x0009d000 lw gp, 0x20(sp) | gp = *(var_20h);
| if (a0 != 0) {
0x0009d004 bnez a0, 0x9ceec | goto label_1;
| }
0x0009d008 b 0x9cf00 | goto label_2;
0x0009d00c nop |
| label_17:
0x0009d010 lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x0009d014 jalr t9 | t9 ();
0x0009d018 nop |
0x0009d01c lui gp, 6 |
0x0009d020 addiu gp, gp, 0x52d4 |
0x0009d024 addu gp, gp, t9 | gp += t9;
0x0009d028 addiu sp, sp, -0xb8 |
0x0009d02c lw v0, -0x6fc4(gp) | v0 = *((gp - 7153));
0x0009d030 sw ra, 0xb4(sp) | *(var_b4h) = ra;
0x0009d034 sw gp, 0x20(sp) | *(var_20h_2) = gp;
0x0009d038 sw s2, 0x98(sp) | *(var_98h) = s2;
0x0009d03c sw s1, 0x94(sp) | *(var_94h) = s1;
0x0009d040 sw s0, 0x90(sp) | *(var_90h) = s0;
0x0009d044 move s2, a0 | s2 = a0;
0x0009d048 sw fp, 0xb0(sp) | *(var_b0h) = fp;
0x0009d04c sw s7, 0xac(sp) | *(var_ach) = s7;
0x0009d050 sw s6, 0xa8(sp) | *(var_a8h) = s6;
0x0009d054 sw s5, 0xa4(sp) | *(var_a4h) = s5;
0x0009d058 sw s4, 0xa0(sp) | *(var_a0h) = s4;
0x0009d05c sw s3, 0x9c(sp) | *(var_9ch) = s3;
0x0009d060 lw t9, -0x7364(gp) | t9 = *(gp);
0x0009d064 sw v0, 0x3c(sp) | *(var_3ch_2) = v0;
0x0009d068 lw v0, (v0) | v0 = *(v0);
0x0009d06c move s0, a1 | s0 = a1;
0x0009d070 lw a0, 8(a0) | a0 = *((a0 + 2));
0x0009d074 lw a1, 0xc(s2) | a1 = *((s2 + 3));
0x0009d078 addiu s1, sp, 0x4c | s1 = sp + 0x4c;
0x0009d07c move a2, s1 | a2 = s1;
0x0009d080 sw v0, 0x8c(sp) | *(var_8ch) = v0;
| /* fcn.00099adc */
0x0009d084 addiu t9, t9, -0x6524 | t9 += -0x6524;
0x0009d088 sw zero, 0x40(sp) | *(var_40h_2) = 0;
0x0009d08c bal 0x99adc | fcn_00099adc ();
0x0009d090 nop |
0x0009d094 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d098 lw v1, 4(s2) | v1 = *((s2 + 1));
0x0009d09c lw v0, (s2) | v0 = *(s2);
0x0009d0a0 lw a2, -0x7e48(gp) | a2 = *(gp);
0x0009d0a4 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
| /* str._KRL_version__llu_n */
0x0009d0a8 addiu a2, a2, -0x430c | a2 += -0x430c;
0x0009d0ac addiu a1, zero, 1 | a1 = 1;
0x0009d0b0 move a0, s0 | a0 = s0;
0x0009d0b4 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0009d0b8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0009d0bc jalr t9 | t9 ();
0x0009d0c0 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d0c4 move a3, s1 | a3 = s1;
0x0009d0c8 addiu a1, zero, 1 | a1 = 1;
0x0009d0cc lw a2, -0x7e48(gp) | a2 = *(gp);
0x0009d0d0 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
| /* str._Generated_at__s_n */
0x0009d0d4 addiu a2, a2, -0x42f8 | a2 += -0x42f8;
0x0009d0d8 move a0, s0 | a0 = s0;
0x0009d0dc jalr t9 | t9 ();
0x0009d0e0 lw v0, 0x18(s2) | v0 = *((s2 + 6));
0x0009d0e4 lw gp, 0x20(sp) | gp = *(var_20h_2);
| if (v0 != 0) {
0x0009d0e8 beqz v0, 0x9d0f8 |
0x0009d0ec lb v1, (v0) | v1 = *(v0);
0x0009d0f0 lw a3, -0x7f34(gp) | a3 = *(gp);
| if (v1 != 0) {
0x0009d0f4 bnez v1, 0x9d678 | goto label_19;
| }
| }
0x0009d0f8 lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
0x0009d0fc move a1, s0 | a1 = s0;
0x0009d100 addiu a0, zero, 0xa | a0 = 0xa;
0x0009d104 jalr t9 | t9 ();
0x0009d108 lw s6, 0x1c(s2) | s6 = *((s2 + 7));
0x0009d10c lw gp, 0x20(sp) | gp = *(var_20h_2);
| if (s6 != 0) {
0x0009d110 bnez s6, 0x9d11c | goto label_11;
| }
0x0009d114 sw zero, 0x30(sp) | *(var_30h_2) = 0;
0x0009d118 b 0x9d268 | goto label_12;
| do {
| label_11:
0x0009d11c lw v0, 8(s6) | v0 = *((s6 + 2));
0x0009d120 move s6, v0 | s6 = v0;
0x0009d124 bnel v0, zero, 0x9d11c |
| } while (v0 == 0);
0x0009d128 lw v0, -0x7e48(gp) | v0 = *(gp);
0x0009d12c lw s1, -0x7364(gp) | s1 = *(gp);
0x0009d130 sw v0, 0x2c(sp) | *(var_2ch_2) = v0;
0x0009d134 lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0009d138 lw s3, -0x7e48(gp) | s3 = *(gp);
0x0009d13c lw s5, -0x7e48(gp) | s5 = *(gp);
| /* str.sshkey_fingerprint_failed */
0x0009d140 addiu v0, v0, 0x6d18 | v0 += 0x6d18;
0x0009d144 lw s4, -0x7e48(gp) | s4 = *(gp);
0x0009d148 sw zero, 0x30(sp) | *(var_30h_2) = 0;
0x0009d14c addiu fp, sp, 0x40 | fp = sp + 0x40;
| /* fcn.000986a8 */
0x0009d150 addiu s1, s1, -0x7958 | s1 += -0x7958;
0x0009d154 sw v0, 0x34(sp) | *(var_34h_2) = v0;
| /* str.krl_dump */
0x0009d158 addiu s3, s3, -0x4210 | s3 += -0x4210;
| /* str.parse_KRL_key */
0x0009d15c addiu s5, s5, -0x42d4 | s5 += -0x42d4;
0x0009d160 b 0x9d1ec |
| while (v0 == 0) {
0x0009d164 lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
0x0009d168 lw a0, 0x40(sp) | a0 = *(var_40h_2);
0x0009d16c move a2, zero | a2 = 0;
0x0009d170 addiu a1, zero, 2 | a1 = 2;
0x0009d174 jalr t9 | t9 ();
0x0009d178 move s7, v0 | s7 = v0;
0x0009d17c lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d180 sw v0, 0x48(sp) | *(var_48h_2) = v0;
| if (v0 == 0) {
0x0009d184 beqz v0, 0x9d654 | goto label_20;
| }
0x0009d188 lw t9, -0x7e6c(gp) | t9 = sym.sshkey_ssh_name;
0x0009d18c lw a0, 0x40(sp) | a0 = *(var_40h_2);
0x0009d190 jalr t9 | t9 ();
0x0009d194 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d198 move a3, s7 | a3 = s7;
| /* str.hash:_SHA256:_s___s_n */
0x0009d19c addiu a2, s4, -0x42c4 | a2 = s4 + -0x42c4;
0x0009d1a0 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0009d1a4 addiu a1, zero, 1 | a1 = 1;
0x0009d1a8 move a0, s0 | a0 = s0;
0x0009d1ac sw v0, 0x10(sp) | *(var_10h) = v0;
0x0009d1b0 jalr t9 | t9 ();
0x0009d1b4 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d1b8 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0009d1bc lw a0, 0x48(sp) | a0 = *(var_48h_2);
0x0009d1c0 jalr t9 | t9 ();
0x0009d1c4 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d1c8 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0009d1cc lw a0, 0x40(sp) | a0 = *(var_40h_2);
0x0009d1d0 jalr t9 | t9 ();
0x0009d1d4 move t9, s1 | t9 = s1;
0x0009d1d8 move a0, s6 | a0 = s6;
0x0009d1dc bal 0x986a8 | fcn_000986a8 ();
0x0009d1e0 move s6, v0 | s6 = v0;
0x0009d1e4 lw gp, 0x20(sp) | gp = *(var_20h_2);
| if (v0 == 0) {
0x0009d1e8 beqz v0, 0x9d268 | goto label_12;
| }
| label_3:
0x0009d1ec lw t9, -0x7b24(gp) | t9 = sym.sshkey_from_blob;
0x0009d1f0 lw a1, 4(s6) | a1 = *((s6 + 1));
0x0009d1f4 lw a0, (s6) | a0 = *(s6);
0x0009d1f8 move a2, fp | a2 = fp;
0x0009d1fc jalr t9 | t9 ();
0x0009d200 sw v0, 0x44(sp) | *(var_44h_2) = v0;
0x0009d204 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d208 beqz v0, 0x9d164 |
| }
0x0009d20c lw t9, -0x7f70(gp) | t9 = sym.ssh_err;
0x0009d210 move a0, v0 | a0 = v0;
0x0009d214 jalr t9 | t9 ();
0x0009d218 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d21c sw v0, 0x14(sp) | *(var_14h) = v0;
0x0009d220 addiu v0, zero, 2 | v0 = 2;
0x0009d224 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0009d228 sw s5, 0x18(sp) | *(var_18h) = s5;
0x0009d22c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0009d230 move a3, zero | a3 = 0;
0x0009d234 addiu a2, zero, 0x566 | a2 = 0x566;
| label_10:
0x0009d238 lw v0, 0x2c(sp) | v0 = *(var_2ch_2);
0x0009d23c move a1, s3 | a1 = s3;
0x0009d240 addiu a0, v0, -0x4530 | a0 = v0 + -0x4530;
0x0009d244 jalr t9 | t9 ();
0x0009d248 addiu v0, zero, -4 | v0 = -4;
0x0009d24c move a0, s6 | a0 = s6;
0x0009d250 move t9, s1 | t9 = s1;
0x0009d254 sw v0, 0x30(sp) | *(var_30h_2) = v0;
0x0009d258 bal 0x986a8 | fcn_000986a8 ();
0x0009d25c move s6, v0 | s6 = v0;
0x0009d260 lw gp, 0x20(sp) | gp = *(var_20h_2);
| if (v0 != 0) {
0x0009d264 bnez v0, 0x9d1ec | goto label_3;
| }
| label_12:
0x0009d268 lw s3, 0x24(s2) | s3 = *((s2 + 9));
0x0009d26c lw v0, 8(s3) | v0 = *((s3 + 2));
| if (s3 == 0) {
0x0009d270 bnel s3, zero, 0x9d280 | goto label_21;
| }
0x0009d274 lw s3, 0x20(s2) | s3 = *((s2 + 8));
0x0009d278 b 0x9d2f4 | goto label_22;
| do {
0x0009d27c lw v0, 8(s3) | v0 = *((s3 + 2));
| label_21:
0x0009d280 move s3, v0 | s3 = v0;
0x0009d284 bnel v0, zero, 0x9d27c |
| } while (v0 == 0);
0x0009d288 lw s1, -0x7364(gp) | s1 = *(gp);
0x0009d28c lw s4, -0x7e48(gp) | s4 = *(gp);
| /* fcn.000986a8 */
0x0009d290 addiu s1, s1, -0x7958 | s1 += -0x7958;
| /* str.hash:_SHA256:_s_n */
0x0009d294 addiu s4, s4, -0x42ac | s4 += -0x42ac;
| do {
0x0009d298 lw t9, -0x75d8(gp) | t9 = sym.tohex;
0x0009d29c lw a1, 4(s3) | a1 = *((s3 + 1));
0x0009d2a0 lw a0, (s3) | a0 = *(s3);
0x0009d2a4 bal 0x838b4 | sym_tohex ();
0x0009d2a8 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d2ac move a3, v0 | a3 = v0;
0x0009d2b0 move a2, s4 | a2 = s4;
0x0009d2b4 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0009d2b8 addiu a1, zero, 1 | a1 = 1;
0x0009d2bc move a0, s0 | a0 = s0;
0x0009d2c0 sw v0, 0x48(sp) | *(var_48h_2) = v0;
0x0009d2c4 jalr t9 | t9 ();
0x0009d2c8 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d2cc lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0009d2d0 lw a0, 0x48(sp) | a0 = *(var_48h_2);
0x0009d2d4 jalr t9 | t9 ();
0x0009d2d8 move t9, s1 | t9 = s1;
0x0009d2dc move a0, s3 | a0 = s3;
0x0009d2e0 bal 0x986a8 | fcn_000986a8 ();
0x0009d2e4 move s3, v0 | s3 = v0;
0x0009d2e8 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d2ec bnez v0, 0x9d298 |
| } while (v0 != 0);
0x0009d2f0 lw s3, 0x20(s2) | s3 = *((s2 + 8));
| label_22:
0x0009d2f4 lw v0, 8(s3) | v0 = *((s3 + 2));
| if (s3 == 0) {
0x0009d2f8 bnel s3, zero, 0x9d308 | goto label_23;
| }
0x0009d2fc lw s1, 0x28(s2) | s1 = *((s2 + 10));
0x0009d300 b 0x9d37c | goto label_24;
| do {
0x0009d304 lw v0, 8(s3) | v0 = *((s3 + 2));
| label_23:
0x0009d308 move s3, v0 | s3 = v0;
0x0009d30c bnel v0, zero, 0x9d304 |
| } while (v0 == 0);
0x0009d310 lw s1, -0x7364(gp) | s1 = *(gp);
0x0009d314 lw s4, -0x7e48(gp) | s4 = *(gp);
| /* fcn.000986a8 */
0x0009d318 addiu s1, s1, -0x7958 | s1 += -0x7958;
| /* str._hash_SHA1:_s_n */
0x0009d31c addiu s4, s4, -0x4298 | s4 += -0x4298;
| do {
0x0009d320 lw t9, -0x75d8(gp) | t9 = sym.tohex;
0x0009d324 lw a1, 4(s3) | a1 = *((s3 + 1));
0x0009d328 lw a0, (s3) | a0 = *(s3);
0x0009d32c bal 0x838b4 | sym_tohex ();
0x0009d330 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d334 move a3, v0 | a3 = v0;
0x0009d338 move a2, s4 | a2 = s4;
0x0009d33c lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0009d340 addiu a1, zero, 1 | a1 = 1;
0x0009d344 move a0, s0 | a0 = s0;
0x0009d348 sw v0, 0x48(sp) | *(var_48h_2) = v0;
0x0009d34c jalr t9 | t9 ();
0x0009d350 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d354 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0009d358 lw a0, 0x48(sp) | a0 = *(var_48h_2);
0x0009d35c jalr t9 | t9 ();
0x0009d360 move t9, s1 | t9 = s1;
0x0009d364 move a0, s3 | a0 = s3;
0x0009d368 bal 0x986a8 | fcn_000986a8 ();
0x0009d36c move s3, v0 | s3 = v0;
0x0009d370 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d374 bnez v0, 0x9d320 |
| } while (v0 != 0);
0x0009d378 lw s1, 0x28(s2) | s1 = *((s2 + 10));
| label_24:
0x0009d37c lw v0, 0x3c(sp) | v0 = *(var_3ch_2);
| if (s1 == 0) {
0x0009d380 beqz s1, 0x9d59c | goto label_8;
| }
0x0009d384 lw v0, -0x7e48(gp) | v0 = *(gp);
0x0009d388 lw s2, -0x7364(gp) | s2 = *(gp);
0x0009d38c sw v0, 0x34(sp) | *(var_34h_2) = v0;
0x0009d390 lw v0, -0x7e48(gp) | v0 = *(gp);
0x0009d394 lw s4, -0x7364(gp) | s4 = *(gp);
0x0009d398 lw s3, -0x7f34(gp) | s3 = *(gp);
0x0009d39c sw v0, 0x38(sp) | *(var_38h_2) = v0;
| /* fcn.00098180 */
0x0009d3a0 addiu v0, s2, -0x7e80 | v0 = s2 + -0x7e80;
| /* fcn.000981ec */
0x0009d3a4 addiu s4, s4, -0x7e14 | s4 += -0x7e14;
| /* esilref: '&s' */
0x0009d3a8 addiu s3, s3, -0x7908 | s3 += -0x7908;
0x0009d3ac sw v0, 0x2c(sp) | *(var_2ch_2) = v0;
| label_7:
0x0009d3b0 lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
| label_6:
0x0009d3b4 addiu a0, zero, 0xa | a0 = 0xa;
0x0009d3b8 move a1, s0 | a1 = s0;
0x0009d3bc jalr t9 | t9 ();
0x0009d3c0 lw a0, (s1) | a0 = *(s1);
0x0009d3c4 lw gp, 0x20(sp) | gp = *(var_20h_2);
| if (a0 == 0) {
0x0009d3c8 beqz a0, 0x9d630 | goto label_25;
| }
0x0009d3cc lw t9, -0x7e70(gp) | t9 = sym.sshkey_fingerprint;
0x0009d3d0 move a2, zero | a2 = 0;
0x0009d3d4 addiu a1, zero, 2 | a1 = 2;
0x0009d3d8 jalr t9 | t9 ();
0x0009d3dc sw v0, 0x48(sp) | *(var_48h_2) = v0;
0x0009d3e0 lw gp, 0x20(sp) | gp = *(var_20h_2);
| if (v0 == 0) {
0x0009d3e4 beqz v0, 0x9d5dc | goto label_26;
| }
0x0009d3e8 lw t9, -0x7e6c(gp) | t9 = sym.sshkey_ssh_name;
0x0009d3ec lw a0, (s1) | a0 = *(s1);
0x0009d3f0 jalr t9 | t9 ();
0x0009d3f4 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d3f8 move a3, v0 | a3 = v0;
0x0009d3fc lw v0, 0x48(sp) | v0 = *(var_48h_2);
0x0009d400 lw a2, -0x7e48(gp) | a2 = *(gp);
0x0009d404 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
| /* str._CA_key__s__s_n */
0x0009d408 addiu a2, a2, -0x4278 | a2 += -0x4278;
0x0009d40c addiu a1, zero, 1 | a1 = 1;
0x0009d410 move a0, s0 | a0 = s0;
0x0009d414 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0009d418 jalr t9 | t9 ();
0x0009d41c lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d420 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0009d424 lw a0, 0x48(sp) | a0 = *(var_48h_2);
0x0009d428 jalr t9 | t9 ();
0x0009d42c lw gp, 0x20(sp) | gp = *(var_20h_2);
| label_9:
0x0009d430 lw s2, 4(s1) | s2 = *((s1 + 1));
0x0009d434 lw v0, 0x10(s2) | v0 = *((s2 + 4));
| if (s2 == 0) {
0x0009d438 bnel s2, zero, 0x9d448 | goto label_27;
| }
0x0009d43c lw s6, 8(s1) | s6 = *((s1 + 2));
0x0009d440 b 0x9d4f0 | goto label_28;
| do {
0x0009d444 lw v0, 0x10(s2) | v0 = *((s2 + 4));
| label_27:
0x0009d448 move s2, v0 | s2 = v0;
0x0009d44c bnel v0, zero, 0x9d444 |
| } while (v0 == 0);
0x0009d450 lw v0, 0x38(sp) | v0 = *(var_38h_2);
0x0009d454 lw s6, -0x7e48(gp) | s6 = *(gp);
0x0009d458 addiu s5, v0, -0x4258 | s5 = v0 + -0x4258;
| /* str.serial:__llu_n */
0x0009d45c addiu s6, s6, -0x4268 | s6 += -0x4268;
0x0009d460 b 0x9d49c |
| while (v0 != a0) {
0x0009d464 sw a0, 0x18(sp) | *(var_18h) = a0;
| label_4:
0x0009d468 sw a2, 0x1c(sp) | *(var_1ch_2) = a2;
0x0009d46c sw a1, 0x14(sp) | *(var_14h) = a1;
0x0009d470 move a2, s5 | a2 = s5;
0x0009d474 addiu a1, zero, 1 | a1 = 1;
0x0009d478 move a0, s0 | a0 = s0;
0x0009d47c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0009d480 jalr t9 | t9 ();
0x0009d484 lw t9, 0x2c(sp) | t9 = *(var_2ch_2);
0x0009d488 move a0, s2 | a0 = s2;
0x0009d48c jalr t9 | t9 ();
0x0009d490 move s2, v0 | s2 = v0;
0x0009d494 lw gp, 0x20(sp) | gp = *(var_20h_2);
| if (v0 == 0) {
0x0009d498 beqz v0, 0x9d4ec | goto label_29;
| }
| label_5:
0x0009d49c lw v0, (s2) | v0 = *(s2);
0x0009d4a0 lw a0, 8(s2) | a0 = *((s2 + 2));
0x0009d4a4 lw a1, 4(s2) | a1 = *((s2 + 1));
0x0009d4a8 lw a2, 0xc(s2) | a2 = *((s2 + 3));
0x0009d4ac lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0009d4b0 bne v0, a0, 0x9d464 |
| }
0x0009d4b4 sw a0, 0x18(sp) | *(var_18h) = a0;
| if (a1 == a2) {
0x0009d4b8 bnel a1, a2, 0x9d468 | goto label_4;
| }
0x0009d4bc sw a1, 0x14(sp) | *(var_14h) = a1;
0x0009d4c0 move a2, s6 | a2 = s6;
0x0009d4c4 addiu a1, zero, 1 | a1 = 1;
0x0009d4c8 move a0, s0 | a0 = s0;
0x0009d4cc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0009d4d0 jalr t9 | t9 ();
0x0009d4d4 lw t9, 0x2c(sp) | t9 = *(var_2ch_2);
0x0009d4d8 move a0, s2 | a0 = s2;
0x0009d4dc jalr t9 | t9 ();
0x0009d4e0 move s2, v0 | s2 = v0;
0x0009d4e4 lw gp, 0x20(sp) | gp = *(var_20h_2);
| if (v0 != 0) {
0x0009d4e8 bnez v0, 0x9d49c | goto label_5;
| }
| label_29:
0x0009d4ec lw s6, 8(s1) | s6 = *((s1 + 2));
| label_28:
0x0009d4f0 lw v0, 4(s6) | v0 = *((s6 + 1));
| if (s6 == 0) {
0x0009d4f4 bnel s6, zero, 0x9d504 | goto label_30;
| }
0x0009d4f8 lw s1, 0xc(s1) | s1 = *((s1 + 3));
0x0009d4fc b 0x9d590 | goto label_31;
| do {
0x0009d500 lw v0, 4(s6) | v0 = *((s6 + 1));
| label_30:
0x0009d504 move s6, v0 | s6 = v0;
0x0009d508 bnel v0, zero, 0x9d500 |
| } while (v0 == 0);
0x0009d50c lw v0, 0x34(sp) | v0 = *(var_34h_2);
0x0009d510 lui v1, 0x7fff | v1 = 0x7fff0000;
0x0009d514 addiu s2, sp, 0x44 | s2 = sp + 0x44;
0x0009d518 addiu s7, sp, 0x48 | s7 = sp + 0x48;
0x0009d51c ori fp, v1, 0xffff | fp = v1 | 0xffff;
0x0009d520 addiu s5, v0, -0x4244 | s5 = v0 + -0x4244;
| do {
0x0009d524 sw fp, 0x44(sp) | *(var_44h_2) = fp;
0x0009d528 lw v0, (s6) | v0 = *(s6);
0x0009d52c lw t9, -0x732c(gp) | t9 = sym.asmprintf;
0x0009d530 move a3, s3 | a3 = s3;
0x0009d534 move a2, s2 | a2 = s2;
0x0009d538 move a1, fp | a1 = fp;
0x0009d53c move a0, s7 | a0 = s7;
0x0009d540 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0009d544 bal 0x9e528 | sym_asmprintf ();
0x0009d548 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d54c lw a3, 0x48(sp) | a3 = *(var_48h_2);
0x0009d550 move a2, s5 | a2 = s5;
0x0009d554 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0009d558 addiu a1, zero, 1 | a1 = 1;
0x0009d55c move a0, s0 | a0 = s0;
0x0009d560 jalr t9 | t9 ();
0x0009d564 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d568 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0009d56c lw a0, 0x48(sp) | a0 = *(var_48h_2);
0x0009d570 jalr t9 | t9 ();
0x0009d574 move t9, s4 | t9 = s4;
0x0009d578 move a0, s6 | a0 = s6;
0x0009d57c bal 0x981ec | fcn_000981ec ();
0x0009d580 move s6, v0 | s6 = v0;
0x0009d584 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d588 bnez v0, 0x9d524 |
| } while (v0 != 0);
0x0009d58c lw s1, 0xc(s1) | s1 = *((s1 + 3));
| label_31:
0x0009d590 lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
| if (s1 != 0) {
0x0009d594 bnez s1, 0x9d3b4 | goto label_6;
| }
0x0009d598 lw v0, 0x3c(sp) | v0 = *(var_3ch_2);
| label_8:
0x0009d59c lw a0, 0x8c(sp) | a0 = *(var_8ch);
0x0009d5a0 lw v1, (v0) | v1 = *(v0);
0x0009d5a4 lw v0, 0x30(sp) | v0 = *(var_30h_2);
| if (a0 != v1) {
0x0009d5a8 bne a0, v1, 0x9d6f8 | goto label_32;
| }
0x0009d5ac lw ra, 0xb4(sp) | ra = *(var_b4h);
0x0009d5b0 lw fp, 0xb0(sp) | fp = *(var_b0h);
0x0009d5b4 lw s7, 0xac(sp) | s7 = *(var_ach);
0x0009d5b8 lw s6, 0xa8(sp) | s6 = *(var_a8h);
0x0009d5bc lw s5, 0xa4(sp) | s5 = *(var_a4h);
0x0009d5c0 lw s4, 0xa0(sp) | s4 = *(var_a0h);
0x0009d5c4 lw s3, 0x9c(sp) | s3 = *(var_9ch);
0x0009d5c8 lw s2, 0x98(sp) | s2 = *(var_98h);
0x0009d5cc lw s1, 0x94(sp) | s1 = *(var_94h);
0x0009d5d0 lw s0, 0x90(sp) | s0 = *(var_90h);
0x0009d5d4 addiu sp, sp, 0xb8 |
0x0009d5d8 jr ra | return v0;
| label_26:
0x0009d5dc lw v0, -0x7fb4(gp) | v0 = *(gp);
0x0009d5e0 lw a1, -0x7e48(gp) | a1 = *(gp);
0x0009d5e4 lw a0, -0x7e48(gp) | a0 = *(gp);
| /* str.sshkey_fingerprint_failed */
0x0009d5e8 addiu v0, v0, 0x6d18 | v0 += 0x6d18;
0x0009d5ec lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0009d5f0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0009d5f4 addiu v0, zero, 2 | v0 = 2;
0x0009d5f8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0009d5fc sw zero, 0x14(sp) | *(var_14h) = 0;
0x0009d600 move a3, zero | a3 = 0;
0x0009d604 addiu a2, zero, 0x58a | a2 = 0x58a;
| /* str.krl_dump */
0x0009d608 addiu a1, a1, -0x4210 | a1 += -0x4210;
| /* str.krl.c */
0x0009d60c addiu a0, a0, -0x4530 | a0 += -0x4530;
0x0009d610 jalr t9 | t9 ();
0x0009d614 lw s1, 0xc(s1) | s1 = *((s1 + 3));
0x0009d618 addiu v0, zero, -4 | v0 = -4;
0x0009d61c lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d620 sw v0, 0x30(sp) | *(var_30h_2) = v0;
| if (s1 != 0) {
0x0009d624 bnez s1, 0x9d3b0 | goto label_7;
| }
0x0009d628 lw v0, 0x3c(sp) | v0 = *(var_3ch_2);
0x0009d62c b 0x9d59c | goto label_8;
| label_25:
0x0009d630 lw a0, -0x7e48(gp) | a0 = *(gp);
0x0009d634 lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
0x0009d638 move a3, s0 | a3 = s0;
0x0009d63c addiu a2, zero, 0xe | a2 = 0xe;
0x0009d640 addiu a1, zero, 1 | a1 = 1;
| /* str._Wildcard_CA_n */
0x0009d644 addiu a0, a0, -0x4288 | a0 += -0x4288;
0x0009d648 jalr t9 | t9 ();
0x0009d64c lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d650 b 0x9d430 | goto label_9;
| label_20:
0x0009d654 lw v0, 0x34(sp) | v0 = *(var_34h_2);
0x0009d658 lw t9, -0x7f6c(gp) | t9 = sym.sshlog;
0x0009d65c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0009d660 addiu v0, zero, 2 | v0 = 2;
0x0009d664 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0009d668 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0009d66c move a3, zero | a3 = 0;
0x0009d670 addiu a2, zero, 0x56c | a2 = 0x56c;
0x0009d674 b 0x9d238 | goto label_10;
| label_19:
0x0009d678 lui v1, 0x7fff | v1 = 0x7fffffff;
0x0009d67c ori v1, v1, 0xffff |
0x0009d680 lw t9, -0x732c(gp) | t9 = sym.asmprintf;
0x0009d684 move a1, v1 | a1 = v1;
0x0009d688 sw v1, 0x44(sp) | *(var_44h_2) = v1;
| /* esilref: '&s' */
0x0009d68c addiu a3, a3, -0x7908 | a3 += -0x7908;
0x0009d690 addiu a2, sp, 0x44 | a2 = sp + 0x44;
0x0009d694 addiu a0, sp, 0x48 | a0 = sp + 0x48;
0x0009d698 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0009d69c bal 0x9e528 | sym_asmprintf ();
0x0009d6a0 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d6a4 lw a3, 0x48(sp) | a3 = *(var_48h_2);
0x0009d6a8 addiu a1, zero, 1 | a1 = 1;
0x0009d6ac lw a2, -0x7e48(gp) | a2 = *(gp);
0x0009d6b0 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
| /* str._Comment:__s_n */
0x0009d6b4 addiu a2, a2, -0x42e4 | a2 += -0x42e4;
0x0009d6b8 move a0, s0 | a0 = s0;
0x0009d6bc jalr t9 | t9 ();
0x0009d6c0 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d6c4 lw t9, -0x6e6c(gp) | t9 = sym.imp.free;
0x0009d6c8 lw a0, 0x48(sp) | a0 = *(var_48h_2);
0x0009d6cc jalr t9 | t9 ();
0x0009d6d0 lw gp, 0x20(sp) | gp = *(var_20h_2);
0x0009d6d4 move a1, s0 | a1 = s0;
0x0009d6d8 lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
0x0009d6dc addiu a0, zero, 0xa | a0 = 0xa;
0x0009d6e0 jalr t9 | t9 ();
0x0009d6e4 lw s6, 0x1c(s2) | s6 = *((s2 + 7));
0x0009d6e8 lw gp, 0x20(sp) | gp = *(var_20h_2);
| if (s6 != 0) {
0x0009d6ec bnez s6, 0x9d11c | goto label_11;
| }
0x0009d6f0 sw zero, 0x30(sp) | *(var_30h_2) = 0;
0x0009d6f4 b 0x9d268 | goto label_12;
| label_32:
0x0009d6f8 lw t9, -0x7068(gp) | t9 = sym.imp.__stack_chk_fail;
0x0009d6fc jalr t9 | t9 ();
0x0009d700 nop |
0x0009d704 nop |
0x0009d708 nop |
0x0009d70c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x590c0 */
| #include <stdint.h>
|
; (fcn) sym.sshbuf_dump_data () | void sshbuf_dump_data () {
0x000590c0 lui gp, 0xb |
0x000590c4 addiu gp, gp, -0x6dd0 |
0x000590c8 addu gp, gp, t9 | gp += t9;
| if (a1 == 0) {
0x000590cc beqz a1, 0x592b4 | goto label_5;
| }
0x000590d0 nop |
0x000590d4 addiu sp, sp, -0x48 |
0x000590d8 sw fp, 0x40(sp) | *(var_40h_2) = fp;
0x000590dc lw fp, -0x7f34(gp) | fp = *(gp);
0x000590e0 sw s7, 0x3c(sp) | *(var_3ch_4) = s7;
0x000590e4 sw s5, 0x34(sp) | *(var_34h_4) = s5;
0x000590e8 lw s7, -0x7f34(gp) | s7 = *(gp);
0x000590ec lw s5, -0x7f34(gp) | s5 = *(gp);
| /* str._.4zu:_ */
0x000590f0 addiu v0, fp, 0x3550 | v0 = fp + 0x3550;
0x000590f4 sw s6, 0x38(sp) | *(var_38h_4) = s6;
0x000590f8 sw s4, 0x30(sp) | *(var_30h_3) = s4;
0x000590fc sw s2, 0x28(sp) | *(var_28h_2) = s2;
0x00059100 sw s1, 0x24(sp) | *(var_24h_3) = s1;
0x00059104 sw gp, 0x10(sp) | *(var_10h_4) = gp;
0x00059108 sw ra, 0x44(sp) | *(var_44h_2) = ra;
0x0005910c sw s3, 0x2c(sp) | *(var_2ch_4) = s3;
0x00059110 sw s0, 0x20(sp) | *(var_20h_2) = s0;
0x00059114 move s2, a2 | s2 = a2;
0x00059118 move s6, a0 | s6 = a0;
0x0005911c move s4, a1 | s4 = a1;
0x00059120 move s1, zero | s1 = 0;
0x00059124 sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
| /* esilref: ' ' */
0x00059128 addiu s7, s7, 0x3560 | s7 += 0x3560;
| /* str._02x_ */
0x0005912c addiu s5, s5, 0x3558 | s5 += 0x3558;
| label_3:
0x00059130 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x00059134 lw a2, 0x1c(sp) | a2 = *(var_1ch_3);
0x00059138 move a3, s1 | a3 = s1;
0x0005913c addiu a1, zero, 1 | a1 = 1;
0x00059140 move a0, s2 | a0 = s2;
0x00059144 addiu s3, s1, 0x10 | s3 = s1 + 0x10;
0x00059148 jalr t9 | t9 ();
0x0005914c sltu v0, s1, s3 | v0 = (s1 < s3) ? 1 : 0;
0x00059150 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00059154 beqz v0, 0x5929c | goto label_6;
| }
0x00059158 move s0, s1 | s0 = s1;
0x0005915c b 0x59174 |
| while (v0 != 0) {
0x00059160 lbux a3, s0(s6) | __asm ("lbux a3, s0(s6)");
0x00059164 addiu s0, s0, 1 | s0++;
0x00059168 jalr t9 | t9 ();
0x0005916c lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (s0 == s3) {
0x00059170 beq s0, s3, 0x591b4 | goto label_7;
| }
| label_0:
0x00059174 sltu v0, s0, s4 | v0 = (s0 < s4) ? 1 : 0;
0x00059178 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0005917c move a2, s5 | a2 = s5;
0x00059180 addiu a1, zero, 1 | a1 = 1;
0x00059184 move a0, s2 | a0 = s2;
0x00059188 lw v1, -0x702c(gp) | v1 = sym.imp.fwrite;
0x0005918c bnez v0, 0x59160 |
| }
0x00059190 move a3, s2 | a3 = s2;
0x00059194 addiu a2, zero, 3 | a2 = 3;
0x00059198 addiu a1, zero, 1 | a1 = 1;
0x0005919c move a0, s7 | a0 = s7;
0x000591a0 move t9, v1 | t9 = v1;
0x000591a4 addiu s0, s0, 1 | s0++;
0x000591a8 jalr t9 | t9 ();
0x000591ac lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (s0 != s3) {
0x000591b0 bne s0, s3, 0x59174 | goto label_0;
| }
| label_7:
0x000591b4 lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
0x000591b8 move a1, s2 | a1 = s2;
0x000591bc addiu a0, zero, 0x20 | a0 = 0x20;
0x000591c0 jalr t9 | t9 ();
0x000591c4 addiu s0, zero, -0x80 | s0 = -0x80;
0x000591c8 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x000591cc b 0x591f0 | goto label_2;
| label_1:
0x000591d0 lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
0x000591d4 move a1, s2 | a1 = s2;
0x000591d8 addiu a0, zero, 0x2e | a0 = 0x2e;
0x000591dc jalr t9 | t9 ();
0x000591e0 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x000591e4 addiu s1, s1, 1 | s1++;
| do {
0x000591e8 lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
| if (s1 == s3) {
0x000591ec beq s1, s3, 0x59250 | goto label_8;
| }
| label_2:
0x000591f0 sltu v0, s1, s4 | v0 = (s1 < s4) ? 1 : 0;
0x000591f4 beql v0, zero, 0x591e8 |
| } while (v0 == 0);
0x000591f8 addiu s1, s1, 1 | s1++;
0x000591fc lbux fp, s1(s6) | __asm ("lbux fp, s1(s6)");
0x00059200 and v0, fp, s0 | v0 = fp & s0;
0x00059204 lw t9, -0x6ef0(gp) | t9 = sym.imp.__ctype_b_loc;
| if (v0 != 0) {
0x00059208 bnez v0, 0x591d0 | goto label_1;
| }
0x0005920c jalr t9 | t9 ();
0x00059210 nop |
0x00059214 lw v0, (v0) | v0 = *(v0);
0x00059218 sll v1, fp, 1 | v1 = fp << 1;
0x0005921c addu v0, v0, v1 | v0 += v1;
0x00059220 lhu v0, (v0) | v0 = *(v0);
0x00059224 andi v0, v0, 0x4000 | v0 &= 0x4000;
0x00059228 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x0005922c beqz v0, 0x591d0 | goto label_1;
| }
0x00059230 lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
0x00059234 move a1, s2 | a1 = s2;
0x00059238 move a0, fp | a0 = fp;
0x0005923c addiu s1, s1, 1 | s1++;
0x00059240 jalr t9 | t9 ();
0x00059244 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (s1 != s3) {
0x00059248 bne s1, s3, 0x591f0 | goto label_2;
| }
| label_4:
0x0005924c lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
| label_8:
0x00059250 move a1, s2 | a1 = s2;
0x00059254 addiu a0, zero, 0xa | a0 = 0xa;
0x00059258 jalr t9 | t9 ();
0x0005925c sltu v0, s3, s4 | v0 = (s3 < s4) ? 1 : 0;
0x00059260 move s1, s3 | s1 = s3;
0x00059264 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 != 0) {
0x00059268 bnez v0, 0x59130 | goto label_3;
| }
0x0005926c lw ra, 0x44(sp) | ra = *(var_44h_2);
0x00059270 lw fp, 0x40(sp) | fp = *(var_40h_2);
0x00059274 lw s7, 0x3c(sp) | s7 = *(var_3ch_4);
0x00059278 lw s6, 0x38(sp) | s6 = *(var_38h_4);
0x0005927c lw s5, 0x34(sp) | s5 = *(var_34h_4);
0x00059280 lw s4, 0x30(sp) | s4 = *(var_30h_3);
0x00059284 lw s3, 0x2c(sp) | s3 = *(var_2ch_4);
0x00059288 lw s2, 0x28(sp) | s2 = *(var_28h_2);
0x0005928c lw s1, 0x24(sp) | s1 = *(var_24h_3);
0x00059290 lw s0, 0x20(sp) | s0 = *(var_20h_2);
0x00059294 addiu sp, sp, 0x48 |
0x00059298 jr ra | return v0;
| label_6:
0x0005929c lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
0x000592a0 move a1, s2 | a1 = s2;
0x000592a4 addiu a0, zero, 0x20 | a0 = 0x20;
0x000592a8 jalr t9 | t9 ();
0x000592ac lw gp, 0x10(sp) | gp = *(var_10h_4);
0x000592b0 b 0x5924c | goto label_4;
| label_5:
0x000592b4 jr ra | return v0;
0x000592b8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x56504 */
| #include <stdint.h>
|
; (fcn) sym.sshkey_dump_ec_point () | void sshkey_dump_ec_point () {
0x00056504 lui gp, 0xb |
0x00056508 addiu gp, gp, -0x4214 |
0x0005650c addu gp, gp, t9 | gp += t9;
0x00056510 addiu sp, sp, -0x38 |
0x00056514 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00056518 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0005651c sw s3, 0x30(sp) | *(var_30h) = s3;
0x00056520 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x00056524 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00056528 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0005652c lw t9, -0x6fbc(gp) | t9 = sym.imp.BN_new;
| if (a1 == 0) {
0x00056530 beqz a1, 0x566f0 | goto label_1;
| }
0x00056534 move s3, a0 | s3 = a0;
0x00056538 move s0, a1 | s0 = a1;
0x0005653c jalr t9 | t9 ();
0x00056540 move s2, v0 | s2 = v0;
0x00056544 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00056548 beqz v0, 0x565e8 | goto label_2;
| }
0x0005654c lw t9, -0x6fbc(gp) | t9 = sym.imp.BN_new;
0x00056550 jalr t9 | t9 ();
0x00056554 nop |
0x00056558 move s1, v0 | s1 = v0;
0x0005655c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00056560 beqz v0, 0x565e8 | goto label_2;
| }
0x00056564 lw t9, -0x6dbc(gp) | t9 = sym.imp.EC_GROUP_method_of;
0x00056568 move a0, s3 | a0 = s3;
0x0005656c jalr t9 | t9 ();
0x00056570 lw gp, 0x18(sp) | gp = *(var_18h);
0x00056574 lw t9, -0x7218(gp) | t9 = sym.imp.EC_METHOD_get_field_type;
0x00056578 move a0, v0 | a0 = v0;
0x0005657c jalr t9 | t9 ();
0x00056580 addiu v1, zero, 0x196 | v1 = 0x196;
0x00056584 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == v1) {
0x00056588 beq v0, v1, 0x56618 | goto label_3;
| }
0x0005658c lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x00056590 lw a3, -0x7f34(gp) | a3 = *(gp);
0x00056594 lw a2, -0x7f34(gp) | a2 = *(gp);
0x00056598 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x0005659c lw a0, (v0) | a0 = *(v0);
| /* str.sshkey_dump_ec_point */
0x000565a0 addiu a3, a3, 0x3534 | a3 += 0x3534;
| /* str._s:_group_is_not_a_prime_field_n */
0x000565a4 addiu a2, a2, 0x2cb8 | a2 += 0x2cb8;
0x000565a8 addiu a1, zero, 1 | a1 = 1;
0x000565ac jalr t9 | t9 ();
0x000565b0 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
| label_0:
0x000565b4 lw t9, -0x6ec4(gp) | t9 = sym.imp.BN_clear_free;
0x000565b8 move a0, s2 | a0 = s2;
0x000565bc jalr t9 | t9 ();
0x000565c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000565c4 lw ra, 0x34(sp) | ra = *(var_34h);
0x000565c8 lw s3, 0x30(sp) | s3 = *(var_30h);
0x000565cc lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x000565d0 lw s0, 0x24(sp) | s0 = *(var_24h);
0x000565d4 move a0, s1 | a0 = s1;
0x000565d8 lw t9, -0x6ec4(gp) | t9 = sym.imp.BN_clear_free;
0x000565dc lw s1, 0x28(sp) | s1 = *(var_28h);
0x000565e0 addiu sp, sp, 0x38 |
0x000565e4 jr t9 | t9 ();
| label_2:
0x000565e8 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x000565ec lw a3, -0x7f34(gp) | a3 = *(gp);
0x000565f0 lw a2, -0x7f34(gp) | a2 = *(gp);
0x000565f4 lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x000565f8 lw a0, (v0) | a0 = *(v0);
| /* str.sshkey_dump_ec_point */
0x000565fc addiu a3, a3, 0x3534 | a3 += 0x3534;
| /* str._s:_BN_new_failed_n */
0x00056600 addiu a2, a2, 0x2ca4 | a2 += 0x2ca4;
0x00056604 addiu a1, zero, 1 | a1 = 1;
0x00056608 jalr t9 | t9 ();
0x0005660c move s1, zero | s1 = 0;
0x00056610 lw gp, 0x18(sp) | gp = *(var_18h);
0x00056614 b 0x565b4 |
| } while (1);
| label_3:
0x00056618 lw t9, -0x6edc(gp) | t9 = sym.imp.EC_POINT_get_affine_coordinates_GFp;
0x0005661c sw zero, 0x10(sp) | *(var_10h) = 0;
0x00056620 move a3, s1 | a3 = s1;
0x00056624 move a2, s2 | a2 = s2;
0x00056628 move a1, s0 | a1 = s0;
0x0005662c move a0, s3 | a0 = s3;
0x00056630 jalr t9 | t9 ();
0x00056634 addiu v1, zero, 1 | v1 = 1;
0x00056638 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != v1) {
0x0005663c beq v0, v1, 0x5666c |
0x00056640 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x00056644 lw a3, -0x7f34(gp) | a3 = *(gp);
0x00056648 lw a2, -0x7f34(gp) | a2 = *(gp);
0x0005664c lw t9, -0x6ce8(gp) | t9 = sym.imp.__fprintf_chk
0x00056650 lw a0, (v0) | a0 = *(v0);
| /* str.sshkey_dump_ec_point */
0x00056654 addiu a3, a3, 0x3534 | a3 += 0x3534;
| /* str._s:_EC_POINT_get_affine_coordinates_GFp_n */
0x00056658 addiu a2, a2, 0x2cd8 | a2 += 0x2cd8;
0x0005665c addiu a1, zero, 1 | a1 = 1;
0x00056660 jalr t9 | t9 ();
0x00056664 lw gp, 0x18(sp) | gp = *(var_18h);
0x00056668 b 0x565b4 | goto label_0;
| }
0x0005666c lw s0, -0x6f44(gp) | s0 = *((gp - 7121));
0x00056670 lw a0, -0x7f34(gp) | a0 = *(gp);
0x00056674 lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
0x00056678 lw a3, (s0) | a3 = *(s0);
0x0005667c addiu a2, zero, 2 | a2 = 2;
0x00056680 addiu a1, zero, 1 | a1 = 1;
| /* esilref: 'x=' */
0x00056684 addiu a0, a0, 0x2d04 | a0 += 0x2d04;
0x00056688 jalr t9 | t9 ();
0x0005668c lw gp, 0x18(sp) | gp = *(var_18h);
0x00056690 lw a0, (s0) | a0 = *(s0);
0x00056694 lw t9, -0x6f6c(gp) | t9 = sym.imp.BN_print_fp;
0x00056698 move a1, s2 | a1 = s2;
0x0005669c jalr t9 | t9 ();
0x000566a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000566a4 lw a3, (s0) | a3 = *(s0);
0x000566a8 addiu a2, zero, 3 | a2 = 3;
0x000566ac lw a0, -0x7f34(gp) | a0 = *(gp);
0x000566b0 lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
0x000566b4 addiu a1, zero, 1 | a1 = 1;
| /* esilref: '
y=' */
0x000566b8 addiu a0, a0, 0x2d08 | a0 += 0x2d08;
0x000566bc jalr t9 | t9 ();
0x000566c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000566c4 lw a0, (s0) | a0 = *(s0);
0x000566c8 lw t9, -0x6f6c(gp) | t9 = sym.imp.BN_print_fp;
0x000566cc move a1, s1 | a1 = s1;
0x000566d0 jalr t9 | t9 ();
0x000566d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000566d8 lw a1, (s0) | a1 = *(s0);
0x000566dc lw t9, -0x7080(gp) | t9 = sym.imp.fputc;
0x000566e0 addiu a0, zero, 0xa | a0 = 0xa;
0x000566e4 jalr t9 | t9 ();
0x000566e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000566ec b 0x565b4 | goto label_0;
| label_1:
0x000566f0 lw v0, -0x6f44(gp) | v0 = *((gp - 7121));
0x000566f4 lw a0, -0x7f34(gp) | a0 = *(gp);
0x000566f8 lw ra, 0x34(sp) | ra = *(var_34h);
0x000566fc lw s3, 0x30(sp) | s3 = *(var_30h);
0x00056700 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x00056704 lw s1, 0x28(sp) | s1 = *(var_28h);
0x00056708 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0005670c lw a3, (v0) | a3 = *(v0);
0x00056710 lw t9, -0x702c(gp) | t9 = sym.imp.fwrite;
0x00056714 addiu a2, zero, 0xd | a2 = 0xd;
0x00056718 addiu a1, zero, 1 | a1 = 1;
| /* str.point_NULL__n */
0x0005671c addiu a0, a0, 0x2c94 | a0 += 0x2c94;
0x00056720 addiu sp, sp, 0x38 |
0x00056724 jr t9 | return t9 ();
| }
[*] Function fprintf used 42 times sshd