[*] Binary protection state of login.shadow
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function system tear down of login.shadow
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/login.shadow @ 0x2850 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 43984 named .text */
0x00002850 lui gp, 2 |
0x00002854 addiu gp, gp, 0x5ad0 |
0x00002858 addu gp, gp, t9 | gp += t9;
0x0000285c lw v0, -0x7cb8(gp) | v0 = *((gp - 7982));
0x00002860 addiu sp, sp, -0x23c0 |
0x00002864 lw t9, -0x7dc0(gp) | t9 = sym.imp.memset;
0x00002868 sw s0, 0x2398(sp) | *(arg_2398h) = s0;
0x0000286c sw v0, 0x80(sp) | *(arg_80h) = v0;
0x00002870 lw s0, -0x7e54(gp) | s0 = *((gp - 8085));
0x00002874 lw v0, (v0) | v0 = *(v0);
0x00002878 sw ra, 0x23bc(sp) | *(arg_23bch) = ra;
0x0000287c addiu a2, zero, 0x7c | a2 = 0x7c;
0x00002880 sw gp, 0x20(sp) | *(arg_20h) = gp;
0x00002884 sw s3, 0x23a4(sp) | *(arg_23a4h) = s3;
0x00002888 sw s2, 0x23a0(sp) | *(arg_23a0h) = s2;
0x0000288c sw s1, 0x239c(sp) | *(arg_239ch) = s1;
0x00002890 move s3, a1 | s3 = a1;
0x00002894 sw s0, 0x60(sp) | *(arg_60h) = s0;
0x00002898 move a1, zero | a1 = 0;
0x0000289c sw fp, 0x23b8(sp) | *(arg_23b8h) = fp;
0x000028a0 sw s7, 0x23b4(sp) | *(arg_23b4h) = s7;
0x000028a4 sw s6, 0x23b0(sp) | *(arg_23b0h) = s6;
0x000028a8 sw s5, 0x23ac(sp) | *(arg_23ach) = s5;
0x000028ac sw s4, 0x23a8(sp) | *(arg_23a8h) = s4;
0x000028b0 move s2, a0 | s2 = a0;
0x000028b4 sw v0, 0x2394(sp) | *(arg_2394h) = v0;
0x000028b8 sw zero, 0x114(sp) | *(arg_114h) = 0;
0x000028bc addiu a0, sp, 0x118 | a0 = sp + 0x118;
0x000028c0 jalr t9 | t9 ();
0x000028c4 lw gp, 0x20(sp) | gp = *(arg_20h);
0x000028c8 lw v0, (s0) | v0 = *(s0);
0x000028cc lw s1, -0x7fd4(gp) | s1 = *((gp - 8181));
0x000028d0 lw t9, -0x7fd0(gp) | t9 = sym.sanitize_env;
0x000028d4 sw s1, 0x7c(sp) | *(arg_7ch) = s1;
0x000028d8 sw v0, 0x3c(sp) | *(arg_3ch) = v0;
0x000028dc bal 0x5a10 | sym_sanitize_env ();
0x000028e0 lw gp, 0x20(sp) | gp = *(arg_20h);
0x000028e4 addiu a1, s1, -0x1144 | a1 = s1 + -0x1144;
0x000028e8 lw t9, -0x7e0c(gp) | t9 = sym.imp.setlocale;
0x000028ec addiu a0, zero, 6 | a0 = 6;
0x000028f0 jalr t9 | t9 ();
0x000028f4 lw gp, 0x20(sp) | gp = *(arg_20h);
0x000028f8 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x000028fc lw t9, -0x7fcc(gp) | t9 = sym.initenv;
0x00002900 sw s0, 0x38(sp) | *(arg_38h) = s0;
0x00002904 bal 0x54c0 | sym_initenv ();
0x00002908 lw gp, 0x20(sp) | gp = *(arg_20h);
0x0000290c lw s1, -0x7fd8(gp) | s1 = *(gp);
0x00002910 lw t9, -0x7cfc(gp) | t9 = sym.imp.getuid;
0x00002914 sw s1, 0x40(sp) | *(arg_40h) = s1;
0x00002918 jalr t9 | t9 ();
0x0000291c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002920 lw a0, (s3) | a0 = *(s3);
0x00002924 sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x00002928 lw t9, -0x7fc8(gp) | t9 = sym.Basename;
0x0000292c sb v0, 0x7e8(s0) | *((s0 + 2024)) = v0;
0x00002930 bal 0x5130 | sym_Basename ();
0x00002934 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002938 lw t9, -0x7d08(gp) | t9 = sym.imp.geteuid;
0x0000293c sw v0, (s1) | *(s1) = v0;
0x00002940 jalr t9 | t9 ();
0x00002944 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x00002948 bnez v0, 0x3f94 | goto label_40;
| }
0x0000294c slti v0, s2, 2 | v0 = (s2 < 2) ? 1 : 0;
0x00002950 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
| if (v0 != 0) {
0x00002954 bnez v0, 0x29c8 | goto label_41;
| }
0x00002958 addiu s5, s3, 4 | s5 = s3 + 4;
0x0000295c addiu s6, zero, 1 | s6 = 1;
0x00002960 addiu s1, zero, 0x2d | s1 = 0x2d;
0x00002964 addiu s0, s0, -0x2338 | s0 += -0x2338;
0x00002968 b 0x2990 | goto label_42;
| label_0:
0x0000296c lw t9, -0x7c80(gp) | t9 = sym.imp.strcmp;
| do {
0x00002970 move a1, s0 | a1 = s0;
0x00002974 move a0, s4 | a0 = s4;
0x00002978 jalr t9 | t9 ();
0x0000297c lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00002980 beqz v0, 0x29c8 | goto label_41;
| }
0x00002984 addiu s6, s6, 1 | s6++;
0x00002988 addiu s5, s5, 4 | s5 += 4;
| if (s2 == s6) {
0x0000298c beq s2, s6, 0x29c8 | goto label_41;
| }
| label_42:
0x00002990 lw s4, (s5) | s4 = *(s5);
0x00002994 lb v0, (s4) | v0 = *(s4);
0x00002998 lw t9, -0x7c80(gp) | t9 = sym.imp.strcmp;
0x0000299c bne v0, s1, 0x2970 |
| } while (v0 != s1);
0x000029a0 lw t9, -0x7d88(gp) | t9 = sym.imp.strlen;
0x000029a4 move a0, s4 | a0 = s4;
0x000029a8 jalr t9 | t9 ();
0x000029ac sltiu v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x000029b0 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x000029b4 bnez v0, 0x296c | goto label_0;
| }
| do {
| label_1:
0x000029b8 lw t9, -0x7fc4(gp) | t9 = *((gp - 8177));
| label_2:
0x000029bc addiu t9, t9, 0x42c4 | t9 += fcn.000042c4;
0x000029c0 bal 0x42c4 | fcn_000042c4 ();
0x000029c4 nop |
| label_41:
0x000029c8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000029cc lw s4, -0x7fd4(gp) | s4 = *((gp - 8181));
0x000029d0 sw v0, 0x2c(sp) | *(arg_2ch) = v0;
0x000029d4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000029d8 lw s5, -0x7fd4(gp) | s5 = *((gp - 8181));
0x000029dc lw s7, -0x7fdc(gp) | s7 = *((gp - 8183));
0x000029e0 lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
0x000029e4 lw fp, -0x7fdc(gp) | fp = *((gp - 8183));
0x000029e8 sw v0, 0x30(sp) | *(arg_30h) = v0;
0x000029ec addiu s4, s4, -0x1e50 | s4 += -0x1e50;
0x000029f0 addiu s1, s5, -0x2334 | s1 = s5 + -0x2334;
0x000029f4 addiu s0, zero, -1 | s0 = -1;
0x000029f8 lw t9, -0x7d98(gp) | t9 = sym.imp.getopt;
0x000029fc move a2, s1 | a2 = s1;
0x00002a00 move a1, s3 | a1 = s3;
0x00002a04 move a0, s2 | a0 = s2;
0x00002a08 jalr t9 | t9 ();
0x00002a0c lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == s0) {
0x00002a10 beq v0, s0, 0x2a98 | goto label_43;
| }
0x00002a14 addiu v0, v0, -0x64 | v0 += -0x64;
0x00002a18 sltiu v1, v0, 0xf | v1 = (v0 < 0xf) ? 1 : 0;
0x00002a1c sll v0, v0, 2 | v0 <<= 2;
0x00002a20 beqz v1, 0x29b8 |
| } while (v1 == 0);
0x00002a24 lwx v0, v0(s4) | __asm ("lwx v0, v0(s4)");
0x00002a28 addu v0, v0, gp | v0 += gp;
0x00002a2c jr v0 | v0 ();
0x00002a30 nop |
| label_43:
0x00002a98 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00002a9c sw v0, 0x30(sp) | *(arg_30h) = v0;
0x00002aa0 lbu v0, 0x7eb(v0) | v0 = *((v0 + 2027));
0x00002aa4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 == 0) {
0x00002aa8 beqz v0, 0x2e90 | goto label_44;
| }
0x00002aac lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x00002ab0 lbu v0, 0x7ea(s1) | v0 = *((s1 + 2026));
0x00002ab4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 != 0) {
0x00002ab8 bnez v0, 0x29b8 | goto label_1;
| }
0x00002abc sw v0, 0x34(sp) | *(arg_34h) = v0;
0x00002ac0 lbu v0, 0x7ec(v0) | v0 = *((v0 + 2028));
0x00002ac4 lw t9, -0x7fc4(gp) | t9 = *((gp - 8177));
| if (v0 != 0) {
0x00002ac8 bnez v0, 0x29bc | goto label_2;
| }
0x00002acc lw v0, 0x38(sp) | v0 = *(arg_38h);
| label_3:
0x00002ad0 lbu v0, 0x7e8(v0) | v0 = *((v0 + 2024));
0x00002ad4 lw s4, -0x7ce0(gp) | s4 = *((gp - 7992));
| if (v0 == 0) {
0x00002ad8 beqz v0, 0x3ff4 | goto label_45;
| }
0x00002adc lw v0, (s4) | v0 = *(s4);
0x00002ae0 slt v1, v0, s2 | v1 = (v0 < s2) ? 1 : 0;
| if (v1 != 0) {
0x00002ae4 beql v1, zero, 0x2b54 |
0x00002ae8 lw v0, 0x30(sp) | v0 = *(arg_30h);
0x00002aec lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
| label_4:
0x00002af0 lw v1, 0x914(s0) | v1 = *((s0 + 581));
0x00002af4 sll v0, v0, 2 | v0 <<= 2;
| if (v1 != 0) {
0x00002af8 bnez v1, 0x3f70 | goto label_46;
| }
0x00002afc lw t9, -0x7fc0(gp) | t9 = sym.xstrdup;
0x00002b00 lwx a0, v0(s3) | __asm ("lwx a0, v0(s3)");
0x00002b04 bal 0xa734 | sym_xstrdup ();
0x00002b08 lw v1, (s4) | v1 = *(s4);
0x00002b0c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002b10 sll v1, v1, 2 | v1 <<= 2;
0x00002b14 sw v0, 0x914(s0) | *((s0 + 581)) = v0;
0x00002b18 lwx s0, v1(s3) | __asm ("lwx s0, v1(s3)");
0x00002b1c lw t9, -0x7d88(gp) | t9 = sym.imp.strlen;
0x00002b20 move a0, s0 | a0 = s0;
0x00002b24 jalr t9 | t9 ();
0x00002b28 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002b2c move a2, v0 | a2 = v0;
0x00002b30 move a1, zero | a1 = 0;
0x00002b34 lw t9, -0x7dc0(gp) | t9 = sym.imp.memset;
0x00002b38 move a0, s0 | a0 = s0;
0x00002b3c jalr t9 | t9 ();
0x00002b40 lw v0, (s4) | v0 = *(s4);
0x00002b44 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002b48 addiu v0, v0, 1 | v0++;
0x00002b4c sw v0, (s4) | *(s4) = v0;
0x00002b50 lw v0, 0x30(sp) | v0 = *(arg_30h);
| }
0x00002b54 lbu v0, 0x7eb(v0) | v0 = *((v0 + 2027));
0x00002b58 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
| if (v0 == 0) {
0x00002b5c beqz v0, 0x3a44 | goto label_47;
| }
0x00002b60 lw v0, 0x914(s0) | v0 = *((s0 + 581));
0x00002b64 lw v0, 0x34(sp) | v0 = *(arg_34h);
| if (v0 != 0) {
0x00002b68 bnez v0, 0x29b8 | goto label_1;
| }
0x00002b6c lbu v0, 0x7ec(v0) | v0 = *((v0 + 2028));
0x00002b70 lw t9, -0x7fc4(gp) | t9 = *((gp - 8177));
| if (v0 != 0) {
0x00002b74 bnez v0, 0x29bc | goto label_2;
| }
| label_24:
0x00002b78 lw t9, -0x7e4c(gp) | t9 = sym.imp.isatty;
| label_5:
0x00002b7c move a0, zero | a0 = 0;
0x00002b80 jalr t9 | t9 ();
0x00002b84 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00002b88 beqz v0, 0x3fe8 | goto label_48;
| }
0x00002b8c lw t9, -0x7e4c(gp) | t9 = sym.imp.isatty;
0x00002b90 addiu a0, zero, 1 | a0 = 1;
0x00002b94 jalr t9 | t9 ();
0x00002b98 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00002b9c beqz v0, 0x3fe8 | goto label_48;
| }
0x00002ba0 lw t9, -0x7e4c(gp) | t9 = sym.imp.isatty;
0x00002ba4 addiu a0, zero, 2 | a0 = 2;
0x00002ba8 jalr t9 | t9 ();
0x00002bac lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00002bb0 beqz v0, 0x3fe8 | goto label_48;
| }
0x00002bb4 lw t9, -0x7fbc(gp) | t9 = sym.get_current_utmp;
0x00002bb8 bal 0x9690 | sym_get_current_utmp ();
0x00002bbc nop |
0x00002bc0 lw v1, 0x38(sp) | v1 = *(arg_38h);
0x00002bc4 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002bc8 sw v0, 0x44(sp) | *(arg_44h) = v0;
0x00002bcc lbu v1, 0x7e8(v1) | v1 = *((v1 + 2024));
0x00002bd0 lw t9, -0x7d84(gp) | t9 = sym.imp.ttyname;
| if (v1 == 0) {
0x00002bd4 bnez v1, 0x2be0 |
0x00002bd8 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
| if (v0 == 0) {
0x00002bdc beqz v0, 0x406c | goto label_49;
| }
| }
0x00002be0 move a0, zero | a0 = 0;
0x00002be4 jalr t9 | t9 ();
0x00002be8 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00002bec beqz v0, 0x3be0 | goto label_50;
| }
| label_29:
0x00002bf0 lw t9, -0x7dcc(gp) | t9 = sym.imp.strncpy;
0x00002bf4 addiu s0, sp, 0x394 | s0 = sp + 0x394;
0x00002bf8 addiu a2, zero, 0x1fff | a2 = 0x1fff;
0x00002bfc move a1, v0 | a1 = v0;
0x00002c00 move a0, s0 | a0 = s0;
0x00002c04 sw s0, 0x38(sp) | *(arg_38h) = s0;
0x00002c08 jalr t9 | t9 ();
0x00002c0c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002c10 move a0, s0 | a0 = s0;
0x00002c14 lw t9, -0x7fb8(gp) | t9 = sym.console;
0x00002c18 sb zero, 0x2393(sp) | *(arg_2393h) = 0;
0x00002c1c bal 0x5300 | sym_console ();
0x00002c20 nop |
0x00002c24 sll a0, zero, 0 | a0 = 0;
0x00002c28 sw v0, 0x58(sp) | *(arg_58h) = v0;
0x00002c2c lbu v1, 0x7eb(v1) | v1 = *((v1 + 2027));
0x00002c30 sc zero, 0x36f(v1) | __asm ("sc zero, 0x36f(v1)");
0x00002c34 invalid |
0x00002c38 invalid |
0x00002c3c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00002c40 bne a3, ra, 0x2c3c |
0x00002c44 lw v0, 0x34(sp) | v0 = *(arg_34h);
0x00002c48 lbu v0, 0x7ec(v0) | v0 = *((v0 + 2028));
| if (v0 != 0) {
0x00002c4c beqz v0, 0x2ce4 |
0x00002c50 nop |
0x00002c54 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| label_22:
0x00002c58 addiu v1, zero, 1 | v1 = 1;
0x00002c5c invalid |
| label_21:
0x00002c60 lbu v0, 0x700(s1) | v0 = *((s1 + 1792));
0x00002c64 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 != 0) {
0x00002c68 beqz v0, 0x2c74 |
0x00002c6c addiu v1, zero, 0xca | v1 = 0xca;
0x00002c70 sw v1, 0x10(v0) | *((v0 + 4)) = v1;
| }
0x00002c74 lw v0, 0x30(sp) | v0 = *(arg_30h);
0x00002c78 lbu v0, 0x7eb(v0) | v0 = *((v0 + 2027));
0x00002c7c lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
| if (v0 == 0) {
0x00002c80 beqz v0, 0x2ce4 | goto label_51;
| }
0x00002c84 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x00002c88 lw v0, 0x914(s0) | v0 = *((s0 + 581));
0x00002c8c lw t9, -0x7fb4(gp) | t9 = sym.xmalloc;
| if (v0 != 0) {
0x00002c90 bnez v0, 0x408c | goto label_52;
| }
0x00002c94 addiu a0, zero, 0x21 | a0 = 0x21;
0x00002c98 bal 0xa690 | sym_xmalloc ();
0x00002c9c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002ca0 sb zero, 0x20(v0) | *((v0 + 32)) = 0;
0x00002ca4 addiu a3, sp, 0x114 | a3 = sp + 0x114;
0x00002ca8 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x00002cac lw t9, -0x7fb0(gp) | t9 = sym.do_rlogin;
0x00002cb0 addiu a2, zero, 0x20 | a2 = 0x20;
0x00002cb4 lw a0, 0x20(v1) | a0 = *((v1 + 8));
0x00002cb8 addiu v1, zero, 0x80 | v1 = 0x80;
0x00002cbc sw v1, 0x10(sp) | *(arg_10h) = v1;
0x00002cc0 move a1, v0 | a1 = v0;
0x00002cc4 sw v0, 0x914(s0) | *((s0 + 581)) = v0;
0x00002cc8 bal 0x8474 | sym_do_rlogin ();
0x00002ccc lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00002cd0 beqz v0, 0x3d48 | goto label_53;
| }
0x00002cd4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00002cd8 addiu v1, zero, 1 | v1 = 1;
0x00002cdc sb v1, 0x7e9(v0) | *((v0 + 2025)) = v1;
| label_33:
0x00002ce0 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
| }
| label_51:
0x00002ce4 lw t9, -0x7e28(gp) | t9 = sym.imp.openlog;
0x00002ce8 addiu a2, zero, 0x50 | a2 = 0x50;
0x00002cec addiu a1, zero, 1 | a1 = 1;
0x00002cf0 invalid |
0x00002cf4 addiu a0, a0, -0x2201 | a0 += -0x2201;
0x00002cf8 xori gp, sp, 0x20 | gp = sp ^ 0x20;
0x00002cfc nop |
0x00002d00 invalid |
0x00002d04 lw t9, -0x7e50(gp) | t9 = sym.imp.tcgetattr;
0x00002d08 move a0, zero | a0 = 0;
0x00002d0c jalr t9 | t9 ();
0x00002d10 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00002d14 beqz v0, 0x3b30 | goto label_54;
| }
| label_27:
0x00002d18 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00002d1c lw t9, -0x7fac(gp) | t9 = sym.getdef_num;
0x00002d20 addiu a1, zero, 0x12 | a1 = 0x12;
0x00002d24 addiu a0, a0, -0x2238 | a0 += -0x2238;
0x00002d28 bal 0xb0a8 | sym_getdef_num ();
0x00002d2c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002d30 lw t9, -0x7e60(gp) | t9 = sym.imp.umask;
0x00002d34 move a0, v0 | a0 = v0;
0x00002d38 jalr t9 | t9 ();
0x00002d3c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002d40 addiu a1, zero, -1 | a1 = -1;
0x00002d44 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00002d48 lw t9, -0x7fa8(gp) | t9 = sym.getdef_long;
0x00002d4c addiu a0, a0, -0x2230 | a0 += -0x2230;
0x00002d50 bal 0xb2c4 | sym_getdef_long ();
0x00002d54 addiu v1, zero, -1 | v1 = -1;
0x00002d58 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != v1) {
0x00002d5c beq v0, v1, 0x2d70 |
0x00002d60 lw t9, -0x7fa4(gp) | t9 = sym.set_filesize_limit;
0x00002d64 move a0, v0 | a0 = v0;
0x00002d68 bal 0x9650 | sym_set_filesize_limit ();
0x00002d6c lw gp, 0x20(sp) | gp = *(arg_20h);
| }
0x00002d70 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x00002d74 lbu v0, 0x7ed(s0) | v0 = *((s0 + 2029));
0x00002d78 lb v0, 0x114(sp) | v0 = *(arg_114h);
| if (v0 == 0) {
0x00002d7c beqz v0, 0x3a20 | goto label_55;
| }
0x00002d80 lw s5, 0x3c(sp) | s5 = *(arg_3ch);
0x00002d84 lw a0, (s5) | a0 = *(s5);
| if (a0 == 0) {
0x00002d88 beqz a0, 0x3f10 | goto label_56;
| }
0x00002d8c nop |
| do {
0x00002d90 lw t9, -0x7fa0(gp) | t9 = sym.addenv;
0x00002d94 addiu s5, s5, 4 | s5 += 4;
0x00002d98 move a1, zero | a1 = 0;
0x00002d9c bal 0x5500 | sym_addenv ();
0x00002da0 lw a0, (s5) | a0 = *(s5);
0x00002da4 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002da8 bnez a0, 0x2d90 |
| } while (a0 != 0);
0x00002dac lb v0, 0x114(sp) | v0 = *(arg_114h);
0x00002db0 lbu v0, 0x7ed(s0) | v0 = *((s0 + 2029));
| if (v0 != 0) {
0x00002db4 bnez v0, 0x3a28 | goto label_57;
| }
0x00002db8 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
| if (v0 == 0) {
0x00002dbc beqz v0, 0x3d1c | goto label_58;
| }
| label_23:
0x00002dc0 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
| label_35:
0x00002dc4 lw t9, -0x7d3c(gp) | t9 = sym.imp.getenv;
0x00002dc8 addiu a0, s0, -0x2220 | a0 = s0 + -0x2220;
0x00002dcc jalr t9 | t9 ();
0x00002dd0 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x00002dd4 beqz v0, 0x2dec |
0x00002dd8 lw t9, -0x7fa0(gp) | t9 = sym.addenv;
0x00002ddc move a1, v0 | a1 = v0;
0x00002de0 addiu a0, s0, -0x2220 | a0 = s0 + -0x2220;
0x00002de4 bal 0x5500 | sym_addenv ();
0x00002de8 lw gp, 0x20(sp) | gp = *(arg_20h);
| }
0x00002dec lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x00002df0 lw t9, -0x7d3c(gp) | t9 = sym.imp.getenv;
0x00002df4 j 0xc1377b0 | void (*0xc1377b0)() ();
0x00002df8 jalr t9 | t9 ();
0x00002dfc invalid |
0x00002e00 lw zero, (t8) | 0 = *(t8);
0x00002e04 lw t9, -0x7fa0(gp) | t9 = sym.addenv;
0x00002e08 move a1, v0 | a1 = v0;
0x00002e0c addiu a0, s0, -0x2214 | a0 = s0 + -0x2214;
0x00002e10 bal 0x5500 | sym_addenv ();
0x00002e14 lw gp, 0x20(sp) | gp = *(arg_20h);
| label_31:
0x00002e18 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x00002e1c lw t9, -0x7d3c(gp) | t9 = sym.imp.getenv;
0x00002e20 addiu a0, s0, -0x220c | a0 = s0 + -0x220c;
0x00002e24 jalr t9 | t9 ();
0x00002e28 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00002e2c beqz v0, 0x3bec | goto label_59;
| }
0x00002e30 lw t9, -0x7fa0(gp) | t9 = sym.addenv;
0x00002e34 move a1, v0 | a1 = v0;
0x00002e38 addiu a0, s0, -0x220c | a0 = s0 + -0x220c;
0x00002e3c bal 0x5500 | sym_addenv ();
0x00002e40 lw gp, 0x20(sp) | gp = *(arg_20h);
| label_30:
0x00002e44 lw a0, (s4) | a0 = *(s4);
0x00002e48 slt v0, a0, s2 | v0 = (a0 < s2) ? 1 : 0;
0x00002e4c lw t9, -0x7f9c(gp) | t9 = sym.set_env;
| if (v0 != 0) {
0x00002e50 bnez v0, 0x3bc8 | goto label_60;
| }
| label_28:
0x00002e54 lw v0, 0x30(sp) | v0 = *(arg_30h);
0x00002e58 lbu v0, 0x7eb(v0) | v0 = *((v0 + 2027));
0x00002e5c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 != 0) {
0x00002e60 bnez v0, 0x39a8 | goto label_61;
| }
0x00002e64 lbu v0, 0x7ea(s1) | v0 = *((s1 + 2026));
0x00002e68 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 != 0) {
0x00002e6c bnez v0, 0x39a8 | goto label_61;
| }
0x00002e70 lw v1, 0x44(sp) | v1 = *(arg_44h);
0x00002e74 lw v0, 0x38(sp) | v0 = *(arg_38h);
| if (v1 == 0) {
0x00002e78 beqz v1, 0x2ed0 | goto label_62;
| }
0x00002e7c lb v0, 0x4c(v1) | v0 = *((v1 + 76));
| if (v0 == 0) {
0x00002e80 beql v0, zero, 0x2ed0 | goto label_62;
| }
0x00002e84 lw v0, 0x38(sp) | v0 = *(arg_38h);
0x00002e88 addiu v0, v1, 0x4c | v0 = v1 + 0x4c;
0x00002e8c b 0x39ac | goto label_63;
| label_44:
0x00002e90 sw v0, 0x34(sp) | *(arg_34h) = v0;
0x00002e94 lbu v0, 0x7ec(v0) | v0 = *((v0 + 2028));
0x00002e98 lw v0, 0x38(sp) | v0 = *(arg_38h);
| if (v0 != 0) {
0x00002e9c bnez v0, 0x2ad0 | goto label_3;
| }
0x00002ea0 lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x00002ea4 lbu v0, 0x7ea(s1) | v0 = *((s1 + 2026));
0x00002ea8 lw v0, 0x38(sp) | v0 = *(arg_38h);
| if (v0 != 0) {
0x00002eac bnez v0, 0x2ad0 | goto label_3;
| }
0x00002eb0 lw s4, -0x7ce0(gp) | s4 = *((gp - 7992));
0x00002eb4 lw v0, (s4) | v0 = *(s4);
0x00002eb8 slt v1, v0, s2 | v1 = (v0 < s2) ? 1 : 0;
0x00002ebc lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
| if (v1 != 0) {
0x00002ec0 bnez v1, 0x2af0 | goto label_4;
| }
0x00002ec4 lw t9, -0x7e4c(gp) | t9 = sym.imp.isatty;
0x00002ec8 b 0x2b7c | goto label_5;
| label_19:
0x00002ecc lw v0, 0x38(sp) | v0 = *(arg_38h);
| label_62:
0x00002ed0 lw t9, -0x7c7c(gp) | t9 = sym.imp.__snprintf_chk;
0x00002ed4 sw v0, 0x14(sp) | *(arg_14h) = v0;
0x00002ed8 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00002edc addiu a0, sp, 0x194 | a0 = sp + 0x194;
0x00002ee0 addiu v0, v0, -0x21ec | v0 += -0x21ec;
0x00002ee4 sw a0, 0x2c(sp) | *(arg_2ch) = a0;
0x00002ee8 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x00002eec addiu a3, zero, 0x200 | a3 = 0x200;
0x00002ef0 addiu a2, zero, 1 | a2 = 1;
0x00002ef4 addiu a1, zero, 0x200 | a1 = 0x200;
0x00002ef8 jalr t9 | t9 ();
0x00002efc lw gp, 0x20(sp) | gp = *(arg_20h);
| label_20:
0x00002f00 invalid |
| if (t8 > 0) {
0x00002f04 bgtzl t8, 0x2f08 | goto label_64;
| }
| label_64:
0x00002f08 sw zero, 0x2c(t8) | *((t8 + 44)) = 0;
0x00002f0c lw v0, (gp) | v0 = *(gp);
0x00002f10 lw fp, -0x7fdc(gp) | fp = *((gp - 8183));
0x00002f14 sw v0, 0x6c(sp) | *(arg_6ch) = v0;
0x00002f18 lw v0, -0x7fc4(gp) | v0 = *((gp - 8177));
0x00002f1c move s2, zero | s2 = 0;
0x00002f20 sw v0, 0x78(sp) | *(arg_78h) = v0;
0x00002f24 lw v0, -0x7f98(gp) | v0 = *(gp);
0x00002f28 move s1, zero | s1 = 0;
0x00002f2c sw v0, 0x5c(sp) | *(arg_5ch) = v0;
0x00002f30 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00002f34 sw zero, 0x48(sp) | *(arg_48h) = 0;
0x00002f38 sw v0, 0x70(sp) | *(arg_70h) = v0;
0x00002f3c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00002f40 sw v0, 0x74(sp) | *(arg_74h) = v0;
0x00002f44 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00002f48 sw v0, 0x40(sp) | *(arg_40h) = v0;
0x00002f4c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00002f50 addiu v0, v0, -0x21cc | v0 += -0x21cc;
0x00002f54 sw v0, 0x64(sp) | *(arg_64h) = v0;
0x00002f58 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00002f5c addiu v0, v0, -0x218c | v0 += -0x218c;
0x00002f60 sw v0, 0x4c(sp) | *(arg_4ch) = v0;
0x00002f64 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00002f68 addiu v0, v0, -0x1e68 | v0 += -0x1e68;
0x00002f6c sw v0, 0x3c(sp) | *(arg_3ch) = v0;
0x00002f70 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00002f74 addiu v0, v0, -0x2378 | v0 += -0x2378;
0x00002f78 sw v0, 0x54(sp) | *(arg_54h) = v0;
| label_26:
0x00002f7c lw v0, 0x68(sp) | v0 = *(arg_68h);
0x00002f80 lw t9, -0x7f94(gp) | t9 = sym.getdef_unum;
0x00002f84 addiu a1, zero, 0x3c | a1 = 0x3c;
0x00002f88 addiu a0, v0, -0x21dc | a0 = v0 + -0x21dc;
0x00002f8c bal 0xb1b4 | sym_getdef_unum ();
0x00002f90 move s3, v0 | s3 = v0;
0x00002f94 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002f98 lw v0, 0x6c(sp) | v0 = *(arg_6ch);
0x00002f9c addiu a3, zero, 0x100 | a3 = aav.0x00000100;
0x00002fa0 addiu a0, v0, 0x6e8 | a0 = v0 + 0x6e8;
0x00002fa4 lw v0, 0x64(sp) | v0 = *(arg_64h);
0x00002fa8 lw t9, -0x7c7c(gp) | t9 = sym.imp.__snprintf_chk;
0x00002fac addiu a2, zero, 1 | a2 = 1;
0x00002fb0 addiu a1, zero, 0x100 | a1 = aav.0x00000100;
0x00002fb4 sw s3, 0x14(sp) | *(arg_14h) = s3;
0x00002fb8 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x00002fbc jalr t9 | t9 ();
0x00002fc0 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00002fc4 lw v0, 0x78(sp) | v0 = *(arg_78h);
0x00002fc8 addiu a0, zero, 0xe | a0 = 0xe;
0x00002fcc lw t9, -0x7ccc(gp) | t9 = sym.imp.signal;
0x00002fd0 addiu a1, v0, 0x4270 | a1 = v0 + 0x4270;
0x00002fd4 jalr t9 | t9 ();
0x00002fd8 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (s3 != 0) {
0x00002fdc bnez s3, 0x3a64 | goto label_65;
| }
| label_25:
0x00002fe0 lw v1, 0x70(sp) | v1 = *(arg_70h);
0x00002fe4 lw v0, 0x5c(sp) | v0 = *(arg_5ch);
0x00002fe8 addiu a0, v1, -0x21a8 | a0 = v1 + -0x21a8;
0x00002fec lw v1, 0x60(sp) | v1 = *(arg_60h);
0x00002ff0 lw v0, (v0) | v0 = *(v0);
0x00002ff4 lw t9, -0x7f94(gp) | t9 = sym.getdef_unum;
0x00002ff8 addiu a1, zero, 1 | a1 = 1;
0x00002ffc sw v0, (v1) | *(v1) = v0;
0x00003000 bal 0xb1b4 | sym_getdef_unum ();
0x00003004 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003008 lw v1, 0x74(sp) | v1 = *(arg_74h);
0x0000300c addiu a1, zero, 3 | a1 = 3;
0x00003010 lw t9, -0x7f94(gp) | t9 = sym.getdef_unum;
0x00003014 addiu a0, v1, -0x219c | a0 = v1 + -0x219c;
0x00003018 move s7, v0 | s7 = v0;
0x0000301c bal 0xb1b4 | sym_getdef_unum ();
0x00003020 move s6, v0 | s6 = v0;
0x00003024 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003028 b 0x3214 | goto label_66;
| label_6:
0x0000302c lw t9, -0x7f90(gp) | t9 = sym.getdef_bool;
| do {
0x00003030 move s4, a0 | s4 = a0;
0x00003034 lw a0, 0x3c(sp) | a0 = *(arg_3ch);
0x00003038 bal 0xb008 | sym_getdef_bool ();
0x0000303c lb v1, (s4) | v1 = *(s4);
0x00003040 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v1 == 0) {
0x00003044 beqz v1, 0x32b8 | goto label_67;
| }
0x00003048 lw t9, -0x7c74(gp) | t9 = sym.imp.getpwnam;
| if (v0 == 0) {
0x0000304c beqz v0, 0x32a8 | goto label_68;
| }
| label_8:
0x00003050 lw t9, -0x7f8c(gp) | t9 = sym.xgetpwnam;
0x00003054 lw a0, 0x914(s0) | a0 = *((s0 + 581));
0x00003058 bal 0x9e10 | sym_xgetpwnam ();
0x0000305c move s1, v0 | s1 = v0;
0x00003060 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003064 beqz v0, 0x32d4 | goto label_69;
| }
| label_9:
0x00003068 lw s5, 4(v0) | s5 = *((v0 + 1));
0x0000306c addiu v0, zero, 0x21 | v0 = 0x21;
0x00003070 lb s3, (s5) | s3 = *(s5);
| if (s3 != v0) {
0x00003074 beql s3, v0, 0x3084 |
0x00003078 addiu s3, zero, 1 | s3 = 1;
0x0000307c xori s3, s3, 0x2a | s3 ^= 0x2a;
0x00003080 sltiu s3, s3, 1 | s3 = (s3 < 1) ? 1 : 0;
| }
0x00003084 lw v0, 0x40(sp) | v0 = *(arg_40h);
0x00003088 lw t9, -0x7c80(gp) | t9 = sym.imp.strcmp;
0x0000308c addiu a1, v0, -0x2180 | a1 = v0 + -0x2180;
0x00003090 move a0, s5 | a0 = s5;
0x00003094 jalr t9 | t9 ();
0x00003098 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x0000309c beqz v0, 0x3334 | goto label_70;
| }
0x000030a0 move s2, zero | s2 = 0;
| label_17:
0x000030a4 lbu v0, 0x7e9(fp) | v0 = *(envp);
0x000030a8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 == 0) {
0x000030ac beqz v0, 0x335c | goto label_71;
| }
| label_11:
0x000030b0 lw s3, -0x7fd4(gp) | s3 = *((gp - 8181));
| if (s3 != 0) {
0x000030b4 bnel s3, zero, 0x3124 |
0x000030b8 lw v0, 8(s1) | v0 = *((s1 + 2));
0x000030bc lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 == 0) {
0x000030c0 bnez v0, 0x30d0 |
0x000030c4 lw v0, 0x58(sp) | v0 = *(arg_58h);
0x000030c8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 == 0) {
0x000030cc beqz v0, 0x3960 | goto label_72;
| }
| }
0x000030d0 lw a0, 0x914(s0) | a0 = *((s0 + 581));
0x000030d4 sw v0, 0x50(sp) | *(arg_50h) = v0;
0x000030d8 lw a1, 0x20(v0) | a1 = *((v0 + 8));
0x000030dc lb v0, (a1) | v0 = *(a1);
0x000030e0 lw t9, -0x7f88(gp) | t9 = sym.login_access;
| if (v0 != 0) {
0x000030e4 bnez v0, 0x34a8 | goto label_73;
| }
0x000030e8 lw a1, 0x38(sp) | a1 = *(arg_38h);
0x000030ec bal 0x4960 | sym_login_access ();
0x000030f0 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x000030f4 bnez v0, 0x34b8 | goto label_74;
| }
| label_15:
0x000030f8 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x000030fc lw v0, 0x2c(sp) | v0 = *(arg_2ch);
0x00003100 lw t9, -0x7dfc(gp) | t9 = sym.imp.__syslog_chk;
0x00003104 lw a3, 0x914(s0) | a3 = *((s0 + 581));
0x00003108 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x0000310c addiu a2, a2, -0x2124 | a2 += -0x2124;
0x00003110 addiu a1, zero, 1 | a1 = 1;
0x00003114 addiu a0, zero, 4 | a0 = 4;
0x00003118 jalr t9 | t9 ();
0x0000311c lw gp, 0x20(sp) | gp = *(arg_20h);
| label_18:
0x00003120 lw s3, -0x7fd4(gp) | s3 = *((gp - 8181));
| }
0x00003124 lw t9, -0x7f90(gp) | t9 = sym.getdef_bool;
0x00003128 addiu a0, s3, -0x20e8 | a0 = s3 + -0x20e8;
0x0000312c bal 0xb008 | sym_getdef_bool ();
0x00003130 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x00003134 bnez v0, 0x33bc | goto label_75;
| }
| label_12:
0x00003138 lw t9, -0x7f90(gp) | t9 = sym.getdef_bool;
0x0000313c addiu a0, s3, -0x20e8 | a0 = s3 + -0x20e8;
0x00003140 bal 0xb008 | sym_getdef_bool ();
0x00003144 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x00003148 bnez v0, 0x3418 | goto label_76;
| }
| label_10:
0x0000314c lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00003150 lw t9, -0x7f84(gp) | t9 = sym.getdef_str;
0x00003154 addiu a0, a0, -0x20d8 | a0 += -0x20d8;
0x00003158 bal 0xaf88 | sym_getdef_str ();
0x0000315c lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x00003160 beqz v0, 0x31ac |
0x00003164 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003168 lw t9, -0x7f80(gp) | t9 = sym.prepare_utmp;
0x0000316c lw a3, 0x44(sp) | a3 = *(arg_44h);
0x00003170 lw a2, 0x20(v0) | a2 = *((v0 + 8));
0x00003174 lw a1, 0x38(sp) | a1 = *(arg_38h);
0x00003178 move a0, s4 | a0 = s4;
0x0000317c bal 0x98b8 | sym_prepare_utmp ();
0x00003180 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003184 move a1, v0 | a1 = v0;
0x00003188 move a0, s4 | a0 = s4;
0x0000318c lw t9, -0x7f7c(gp) | t9 = sym.failtmp;
0x00003190 move s3, v0 | s3 = v0;
0x00003194 bal 0x61d8 | sym_failtmp ();
0x00003198 lw gp, 0x20(sp) | gp = *(arg_20h);
0x0000319c lw t9, -0x7ca8(gp) | t9 = sym.imp.free;
0x000031a0 move a0, s3 | a0 = s3;
0x000031a4 jalr t9 | t9 ();
0x000031a8 lw gp, 0x20(sp) | gp = *(arg_20h);
| }
0x000031ac addiu s6, s6, -1 | s6 += -1;
0x000031b0 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
| if (s6 == 0) {
0x000031b4 beqz s6, 0x3488 | goto label_77;
| }
| label_14:
0x000031b8 lb v0, (s5) | v0 = *(s5);
0x000031bc lw a0, 0x914(s0) | a0 = *((s0 + 581));
| if (v0 == 0) {
0x000031c0 beqz v0, 0x3438 | goto label_78;
| }
0x000031c4 lw t9, -0x7ca8(gp) | t9 = sym.imp.free;
0x000031c8 jalr t9 | t9 ();
0x000031cc nop |
0x000031d0 lw gp, 0x20(sp) | gp = *(arg_20h);
0x000031d4 sw zero, 0x914(s0) | *((s0 + 581)) = 0;
| if (s7 != 0) {
0x000031d8 bnez s7, 0x3474 | goto label_79;
| }
| label_13:
0x000031dc lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x000031e0 lw t9, -0x7d50(gp) | t9 = sym.imp.puts;
0x000031e4 addiu a0, a0, -0x20b0 | a0 += -0x20b0;
0x000031e8 jalr t9 | t9 ();
0x000031ec lw v0, 0x30(sp) | v0 = *(arg_30h);
0x000031f0 lbu v0, 0x7eb(v0) | v0 = *((v0 + 2027));
0x000031f4 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x000031f8 bnez v0, 0x3ef4 | goto label_80;
| }
0x000031fc lw v0, 0x34(sp) | v0 = *(arg_34h);
0x00003200 lbu v0, 0x7ec(v0) | v0 = *((v0 + 2028));
0x00003204 lw t9, -0x7d78(gp) | t9 = sym.imp.closelog;
| if (v0 != 0) {
0x00003208 bnez v0, 0x3ef8 | goto label_81;
| }
| if (s6 == 0) {
0x0000320c beqz s6, 0x3ef8 | goto label_81;
| }
0x00003210 nop |
| label_66:
0x00003214 lw t9, -0x7f78(gp) | t9 = sym.pw_free;
| if (s1 != 0) {
0x00003218 beqz s1, 0x3228 |
0x0000321c move a0, s1 | a0 = s1;
0x00003220 bal 0xcd30 | sym_pw_free ();
0x00003224 lw gp, 0x20(sp) | gp = *(arg_20h);
| }
0x00003228 lw t9, -0x7f74(gp) | t9 = sym.spw_free;
| if (s2 != 0) {
0x0000322c beqz s2, 0x323c |
0x00003230 move a0, s2 | a0 = s2;
0x00003234 bal 0xd01c | sym_spw_free ();
0x00003238 lw gp, 0x20(sp) | gp = *(arg_20h);
| }
| label_7:
0x0000323c lw a0, 0x914(s0) | a0 = *((s0 + 581));
0x00003240 lw t9, -0x7f90(gp) | t9 = sym.getdef_bool;
0x00003244 bnez a0, 0x3030 |
| } while (a0 != 0);
0x00003248 lw v0, 0x48(sp) | v0 = *(arg_48h);
0x0000324c lw t9, -0x7fb4(gp) | t9 = sym.xmalloc;
| if (v0 != 0) {
0x00003250 bnez v0, 0x3ef4 | goto label_80;
| }
0x00003254 addiu a0, zero, 0x21 | a0 = 0x21;
0x00003258 sb zero, 0x7e9(fp) | *(envp) = 0;
0x0000325c bal 0xa690 | sym_xmalloc ();
0x00003260 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003264 lw a0, 0x4c(sp) | a0 = *(arg_4ch);
0x00003268 sb zero, 0x20(v0) | *((v0 + 32)) = 0;
0x0000326c lw t9, -0x7f70(gp) | t9 = sym.login_prompt;
0x00003270 move a1, v0 | a1 = v0;
0x00003274 sw v0, 0x914(s0) | *((s0 + 581)) = v0;
0x00003278 addiu a2, zero, 0x20 | a2 = 0x20;
0x0000327c bal 0x7c44 | sym_login_prompt ();
0x00003280 lw a0, 0x914(s0) | a0 = *((s0 + 581));
0x00003284 lb v0, (a0) | v0 = *(a0);
0x00003288 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x0000328c bnez v0, 0x302c | goto label_6;
| }
0x00003290 lw t9, -0x7ca8(gp) | t9 = sym.imp.free;
0x00003294 jalr t9 | t9 ();
0x00003298 nop |
0x0000329c lw gp, 0x20(sp) | gp = *(arg_20h);
0x000032a0 sw zero, 0x914(s0) | *((s0 + 581)) = 0;
0x000032a4 b 0x323c | goto label_7;
| label_68:
0x000032a8 move a0, s4 | a0 = s4;
0x000032ac jalr t9 | t9 ();
0x000032b0 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x000032b4 bnez v0, 0x3050 | goto label_8;
| }
| label_67:
0x000032b8 lw t9, -0x7f8c(gp) | t9 = sym.xgetpwnam;
0x000032bc lw a0, 0x914(s0) | a0 = *((s0 + 581));
0x000032c0 lw s4, 0x54(sp) | s4 = *(arg_54h);
0x000032c4 bal 0x9e10 | sym_xgetpwnam ();
0x000032c8 move s1, v0 | s1 = v0;
0x000032cc lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x000032d0 bnez v0, 0x3068 | goto label_9;
| }
| label_69:
0x000032d4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000032d8 lw s5, -0x7fd4(gp) | s5 = *((gp - 8181));
0x000032dc lw t9, -0x7f6c(gp) | t9 = sym.pw_auth;
0x000032e0 lw a2, 0x10(v0) | a2 = *((v0 + 4));
0x000032e4 lw a1, 0x914(s0) | a1 = *((s0 + 581));
0x000032e8 move a3, zero | a3 = 0;
0x000032ec addiu a0, s5, -0x2370 | a0 = s5 + -0x2370;
0x000032f0 sb zero, 0x7e9(fp) | *(envp) = 0;
0x000032f4 bal 0xcb40 | sym_pw_auth ();
0x000032f8 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x000032fc beqz v0, 0x3928 | goto label_82;
| }
0x00003300 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003304 lw v0, 0x2c(sp) | v0 = *(arg_2ch);
0x00003308 lw t9, -0x7dfc(gp) | t9 = sym.imp.__syslog_chk;
0x0000330c sw v0, 0x10(sp) | *(arg_10h) = v0;
0x00003310 move a3, s4 | a3 = s4;
0x00003314 addiu a2, a2, -0x215c | a2 += -0x215c;
0x00003318 addiu a1, zero, 1 | a1 = 1;
0x0000331c addiu a0, zero, 4 | a0 = 4;
0x00003320 jalr t9 | t9 ();
0x00003324 addiu s5, s5, -0x2370 | s5 += -0x2370;
0x00003328 lw gp, 0x20(sp) | gp = *(arg_20h);
0x0000332c move s2, zero | s2 = 0;
0x00003330 b 0x314c | goto label_10;
| label_70:
0x00003334 lw t9, -0x7f68(gp) | t9 = sym.xgetspnam;
0x00003338 lw a0, 0x914(s0) | a0 = *((s0 + 581));
0x0000333c bal 0xa470 | sym_xgetspnam ();
0x00003340 move s2, v0 | s2 = v0;
0x00003344 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003348 beqz v0, 0x3934 | goto label_83;
| }
0x0000334c lw s5, 4(v0) | s5 = *((v0 + 1));
0x00003350 lbu v0, 0x7e9(fp) | v0 = *(envp);
0x00003354 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 != 0) {
0x00003358 bnez v0, 0x30b0 | goto label_11;
| }
| label_71:
0x0000335c lw t9, -0x7f6c(gp) | t9 = sym.pw_auth;
0x00003360 lw a1, 0x914(s0) | a1 = *((s0 + 581));
0x00003364 lw a2, 0x10(v0) | a2 = *((v0 + 4));
0x00003368 move a3, zero | a3 = 0;
0x0000336c move a0, s5 | a0 = s5;
0x00003370 bal 0xcb40 | sym_pw_auth ();
0x00003374 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003378 beqz v0, 0x30b0 | goto label_11;
| }
0x0000337c lw v0, 0x2c(sp) | v0 = *(arg_2ch);
0x00003380 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003384 lw t9, -0x7dfc(gp) | t9 = sym.imp.__syslog_chk;
0x00003388 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x0000338c move a3, s4 | a3 = s4;
0x00003390 addiu a2, a2, -0x215c | a2 += -0x215c;
0x00003394 addiu a1, zero, 1 | a1 = 1;
0x00003398 addiu a0, zero, 4 | a0 = 4;
0x0000339c jalr t9 | t9 ();
0x000033a0 lw gp, 0x20(sp) | gp = *(arg_20h);
0x000033a4 lw s3, -0x7fd4(gp) | s3 = *((gp - 8181));
0x000033a8 lw t9, -0x7f90(gp) | t9 = sym.getdef_bool;
0x000033ac addiu a0, s3, -0x20e8 | a0 = s3 + -0x20e8;
0x000033b0 bal 0xb008 | sym_getdef_bool ();
0x000033b4 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x000033b8 beqz v0, 0x3138 | goto label_12;
| }
| label_75:
0x000033bc lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000033c0 lw t9, -0x7f64(gp) | t9 = sym.failcheck;
0x000033c4 lw a0, 8(s1) | a0 = *((s1 + 2));
0x000033c8 addiu a2, zero, 1 | a2 = 1;
0x000033cc addiu a1, a1, 0x6d0 | a1 += 0x6d0;
0x000033d0 bal 0x5e10 | sym_failcheck ();
0x000033d4 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x000033d8 bnez v0, 0x3138 | goto label_12;
| }
| label_16:
0x000033dc lw v0, 0x2c(sp) | v0 = *(arg_2ch);
0x000033e0 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x000033e4 lw t9, -0x7dfc(gp) | t9 = sym.imp.__syslog_chk;
0x000033e8 lw a3, 0x914(s0) | a3 = *((s0 + 581));
0x000033ec sw v0, 0x10(sp) | *(arg_10h) = v0;
0x000033f0 addiu a2, a2, -0x210c | a2 += -0x210c;
0x000033f4 addiu a1, zero, 1 | a1 = 1;
0x000033f8 addiu a0, zero, 2 | a0 = 2;
0x000033fc jalr t9 | t9 ();
0x00003400 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003404 lw t9, -0x7f90(gp) | t9 = sym.getdef_bool;
0x00003408 addiu a0, s3, -0x20e8 | a0 = s3 + -0x20e8;
0x0000340c bal 0xb008 | sym_getdef_bool ();
0x00003410 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003414 beqz v0, 0x314c | goto label_10;
| }
| label_76:
0x00003418 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x0000341c lw t9, -0x7f60(gp) | t9 = sym.failure;
0x00003420 lw a0, 8(s1) | a0 = *((s1 + 2));
0x00003424 lw a1, 0x38(sp) | a1 = *(arg_38h);
0x00003428 addiu a2, a2, 0x6d0 | a2 += 0x6d0;
0x0000342c bal 0x5bb0 | sym_failure ();
0x00003430 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003434 b 0x314c | goto label_10;
| label_78:
0x00003438 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000343c move a1, a0 | a1 = a0;
0x00003440 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00003444 lw t9, -0x7f6c(gp) | t9 = sym.pw_auth;
0x00003448 lw a2, 0x10(v0) | a2 = *((v0 + 4));
0x0000344c move a3, zero | a3 = 0;
0x00003450 addiu a0, a0, -0x2370 | a0 += -0x2370;
0x00003454 bal 0xcb40 | sym_pw_auth ();
0x00003458 lw gp, 0x20(sp) | gp = *(arg_20h);
0x0000345c lw t9, -0x7ca8(gp) | t9 = sym.imp.free;
0x00003460 lw a0, 0x914(s0) | a0 = *((s0 + 581));
0x00003464 jalr t9 | t9 ();
0x00003468 lw gp, 0x20(sp) | gp = *(arg_20h);
0x0000346c sw zero, 0x914(s0) | *((s0 + 581)) = 0;
| if (s7 == 0) {
0x00003470 beqz s7, 0x31dc | goto label_13;
| }
| label_79:
0x00003474 lw t9, -0x7cd4(gp) | t9 = sym.imp.sleep;
0x00003478 move a0, s7 | a0 = s7;
0x0000347c jalr t9 | t9 ();
0x00003480 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003484 b 0x31dc | goto label_13;
| label_77:
0x00003488 lw t9, -0x7dfc(gp) | t9 = sym.imp.__syslog_chk;
0x0000348c lw a3, 0x2c(sp) | a3 = *(arg_2ch);
0x00003490 addiu a2, a2, -0x20cc | a2 += -0x20cc;
0x00003494 addiu a1, zero, 1 | a1 = 1;
0x00003498 addiu a0, zero, 2 | a0 = 2;
0x0000349c jalr t9 | t9 ();
0x000034a0 lw gp, 0x20(sp) | gp = *(arg_20h);
0x000034a4 b 0x31b8 | goto label_14;
| label_73:
0x000034a8 bal 0x4960 | sym_login_access ();
0x000034ac nop |
0x000034b0 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x000034b4 beqz v0, 0x30f8 | goto label_15;
| }
| label_74:
0x000034b8 lw s3, -0x7fd4(gp) | s3 = *((gp - 8181));
0x000034bc lw t9, -0x7f90(gp) | t9 = sym.getdef_bool;
0x000034c0 addiu a0, s3, -0x20e8 | a0 = s3 + -0x20e8;
0x000034c4 bal 0xb008 | sym_getdef_bool ();
0x000034c8 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x000034cc beqz v0, 0x34f0 | goto label_84;
| }
0x000034d0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000034d4 lw t9, -0x7f64(gp) | t9 = sym.failcheck;
0x000034d8 lw a0, 8(s1) | a0 = *((s1 + 2));
0x000034dc move a2, zero | a2 = 0;
0x000034e0 addiu a1, a1, 0x6d0 | a1 += 0x6d0;
0x000034e4 bal 0x5e10 | sym_failcheck ();
0x000034e8 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x000034ec beqz v0, 0x33dc | goto label_16;
| }
| label_84:
0x000034f0 lw v0, 0x914(s0) | v0 = *((s0 + 581));
0x000034f4 lw t9, -0x7ce4(gp) | t9 = sym.imp.alarm;
| if (v0 == 0) {
0x000034f8 beqz v0, 0x3984 | goto label_85;
| }
0x000034fc move a0, zero | a0 = 0;
0x00003500 jalr t9 | t9 ();
0x00003504 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003508 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x0000350c lw t9, -0x7f90(gp) | t9 = sym.getdef_bool;
0x00003510 addiu a0, a0, -0x208c | a0 += -0x208c;
0x00003514 bal 0xb008 | sym_getdef_bool ();
0x00003518 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x0000351c beqz v0, 0x3550 |
0x00003520 lw t9, -0x7cc4(gp) | t9 = sym.imp.time;
0x00003524 move a0, zero | a0 = 0;
0x00003528 lw s4, 0x914(s0) | s4 = *((s0 + 581));
0x0000352c jalr t9 | t9 ();
0x00003530 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003534 lw a1, 0x38(sp) | a1 = *(arg_38h);
0x00003538 move a2, v0 | a2 = v0;
0x0000353c lw t9, -0x7f5c(gp) | t9 = sym.isttytime;
0x00003540 move a0, s4 | a0 = s4;
0x00003544 bal 0xc278 | sym_isttytime ();
0x00003548 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x0000354c beqz v0, 0x40a0 | goto label_86;
| }
| }
0x00003550 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00003554 lw v0, 8(s1) | v0 = *((s1 + 2));
0x00003558 lw t9, -0x7f84(gp) | t9 = sym.getdef_str;
0x0000355c addiu a0, a0, -0x2040 | a0 += -0x2040;
0x00003560 sw v0, 0x48(sp) | *(arg_48h) = v0;
0x00003564 bal 0xaf88 | sym_getdef_str ();
0x00003568 move s4, v0 | s4 = v0;
0x0000356c lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x00003570 beqz v0, 0x358c |
0x00003574 lw t9, -0x7de4(gp) | t9 = sym.imp.access;
0x00003578 move a1, zero | a1 = 0;
0x0000357c move a0, v0 | a0 = v0;
0x00003580 jalr t9 | t9 ();
0x00003584 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003588 beqz v0, 0x3ca0 | goto label_87;
| }
| }
| label_34:
0x0000358c lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00003590 lw t9, -0x7d3c(gp) | t9 = sym.imp.getenv;
0x00003594 addiu a0, a0, -0x1fd4 | a0 += -0x1fd4;
0x00003598 jalr t9 | t9 ();
0x0000359c lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x000035a0 beqz v0, 0x35bc |
0x000035a4 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x000035a8 lw t9, -0x7fa0(gp) | t9 = sym.addenv;
0x000035ac move a1, zero | a1 = 0;
0x000035b0 addiu a0, a0, -0x1fd0 | a0 += -0x1fd0;
0x000035b4 bal 0x5500 | sym_addenv ();
0x000035b8 lw gp, 0x20(sp) | gp = *(arg_20h);
| }
0x000035bc lw v0, 0x18(s1) | v0 = *((s1 + 6));
0x000035c0 addiu v1, zero, 0x2a | v1 = 0x2a;
0x000035c4 lb a0, (v0) | a0 = *(v0);
0x000035c8 lw s4, -0x7fd4(gp) | s4 = *((gp - 8181));
| if (a0 == v1) {
0x000035cc beq a0, v1, 0x3ad0 | goto label_88;
| }
0x000035d0 lw t9, -0x7f90(gp) | t9 = sym.getdef_bool;
0x000035d4 addiu a0, s4, -0x1fc8 | a0 = s4 + -0x1fc8;
0x000035d8 bal 0xb008 | sym_getdef_bool ();
0x000035dc lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 != 0) {
0x000035e0 bnez v0, 0x3c5c | goto label_89;
| }
| label_32:
0x000035e4 lw t9, -0x7f58(gp) | t9 = sym.expire;
| if (s2 == 0) {
0x000035e8 beqz s2, 0x3600 | void (*0x3600)() ();
| }
| label_82:
0x00003928 addiu s5, s5, -0x2370 | s5 += -0x2370;
0x0000392c move s2, zero | s2 = 0;
0x00003930 b 0x314c | goto label_10;
| label_83:
0x00003934 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003938 lw v0, 0x2c(sp) | v0 = *(arg_2ch);
0x0000393c lw t9, -0x7dfc(gp) | t9 = sym.imp.__syslog_chk;
0x00003940 lw a3, 0x914(s0) | a3 = *((s0 + 581));
0x00003944 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x00003948 addiu a2, a2, -0x217c | a2 += -0x217c;
0x0000394c addiu a1, zero, 1 | a1 = 1;
0x00003950 addiu a0, zero, 4 | a0 = 4;
0x00003954 jalr t9 | t9 ();
0x00003958 lw gp, 0x20(sp) | gp = *(arg_20h);
0x0000395c b 0x30a4 | goto label_17;
| label_72:
0x00003960 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003964 lw t9, -0x7dfc(gp) | t9 = sym.imp.__syslog_chk;
0x00003968 lw a3, 0x2c(sp) | a3 = *(arg_2ch);
0x0000396c addiu a2, a2, -0x213c | a2 += -0x213c;
0x00003970 addiu a1, zero, 1 | a1 = 1;
0x00003974 addiu a0, zero, 2 | a0 = 2;
0x00003978 jalr t9 | t9 ();
0x0000397c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003980 b 0x3120 | goto label_18;
| label_85:
0x00003984 lw a3, -0x7fd4(gp) | a3 = *((gp - 8181));
0x00003988 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0000398c lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00003990 lw t9, -0x7e84(gp) | t9 = sym.imp.__assert_fail;
0x00003994 addiu a3, a3, -0x1e04 | a3 += -0x1e04;
0x00003998 addiu a2, zero, 0x446 | a2 = 0x446;
0x0000399c addiu a1, a1, -0x2310 | a1 += -0x2310;
0x000039a0 addiu a0, a0, -0x20a0 | a0 += -0x20a0;
0x000039a4 jalr t9 | t9 ();
| label_61:
0x000039a8 lw v0, 0x20(v0) | v0 = *((v0 + 8));
| label_63:
0x000039ac lb v1, (v0) | v1 = *(v0);
0x000039b0 lw t9, -0x7c7c(gp) | t9 = sym.imp.__snprintf_chk;
| if (v1 == 0) {
0x000039b4 beqz v1, 0x2ecc | goto label_19;
| }
0x000039b8 sw v0, 0x18(sp) | *(arg_18h) = v0;
0x000039bc lw v0, 0x38(sp) | v0 = *(arg_38h);
0x000039c0 sw v0, 0x14(sp) | *(arg_14h) = v0;
0x000039c4 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x000039c8 addiu a0, sp, 0x194 | a0 = sp + 0x194;
0x000039cc addiu v0, v0, -0x2208 | v0 += -0x2208;
0x000039d0 sw a0, 0x2c(sp) | *(arg_2ch) = a0;
0x000039d4 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x000039d8 addiu a3, zero, 0x200 | a3 = 0x200;
0x000039dc addiu a2, zero, 1 | a2 = 1;
0x000039e0 addiu a1, zero, 0x200 | a1 = 0x200;
0x000039e4 jalr t9 | t9 ();
0x000039e8 lw gp, 0x20(sp) | gp = *(arg_20h);
0x000039ec b 0x2f00 | goto label_20;
0x000039f0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000039f4 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x000039f8 lw t9, -0x7fa0(gp) | t9 = sym.addenv;
0x000039fc lw a1, 0x20(v0) | a1 = *((v0 + 8));
0x00003a00 addiu a0, a0, -0x2298 | a0 += -0x2298;
0x00003a04 bal 0x5500 | sym_addenv ();
0x00003a08 lw v0, 0x34(sp) | v0 = *(arg_34h);
0x00003a0c lbu v0, 0x7ec(v0) | v0 = *((v0 + 2028));
0x00003a10 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003a14 beqz v0, 0x2c60 | goto label_21;
| }
0x00003a18 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003a1c b 0x2c58 | goto label_22;
| label_55:
0x00003a20 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
| if (v0 == 0) {
0x00003a24 beqz v0, 0x3d1c | goto label_58;
| }
| label_57:
0x00003a28 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
| label_36:
0x00003a2c lw t9, -0x7fa0(gp) | t9 = sym.addenv;
0x00003a30 addiu a1, sp, 0x114 | a1 = sp + 0x114;
0x00003a34 addiu a0, a0, -0x2228 | a0 += -0x2228;
0x00003a38 bal 0x5500 | sym_addenv ();
0x00003a3c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003a40 b 0x2dc0 | goto label_23;
| label_47:
0x00003a44 lw v0, 0x34(sp) | v0 = *(arg_34h);
0x00003a48 lbu v0, 0x7ec(v0) | v0 = *((v0 + 2028));
0x00003a4c lw v0, 0x914(s0) | v0 = *((s0 + 581));
| if (v0 == 0) {
0x00003a50 beqz v0, 0x2b78 | goto label_24;
| }
0x00003a54 lw t9, -0x7e4c(gp) | t9 = sym.imp.isatty;
| if (v0 == 0) {
0x00003a58 bnel v0, zero, 0x2b7c | goto label_5;
| }
0x00003a5c lw t9, -0x7fc4(gp) | t9 = *((gp - 8177));
0x00003a60 b 0x29bc | goto label_2;
| label_65:
0x00003a64 lw t9, -0x7ce4(gp) | t9 = sym.imp.alarm;
0x00003a68 move a0, s3 | a0 = s3;
0x00003a6c jalr t9 | t9 ();
0x00003a70 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003a74 b 0x2fe0 | goto label_25;
| label_88:
0x00003ad0 lw t9, -0x7f20(gp) | t9 = sym.subsystem
0x00003ad4 addiu v0, v0, 1 | v0++;
0x00003ad8 move a0, s1 | a0 = s1;
0x00003adc sw v0, 0x18(s1) | *((s1 + 6)) = v0;
0x00003ae0 bal 0x9170 | sym_subsystem ()
0x00003ae4 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003ae8 addiu v0, zero, 1 | v0 = 1;
0x00003aec lw t9, -0x7e1c(gp) | t9 = sym.imp.endpwent;
0x00003af0 sw v0, 0x48(sp) | *(arg_48h) = v0;
0x00003af4 jalr t9 | t9 ();
0x00003af8 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003afc lw t9, -0x7c78(gp) | t9 = sym.imp.endgrent;
0x00003b00 jalr t9 | t9 ();
0x00003b04 nop |
0x00003b08 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003b0c lw t9, -0x7dd0(gp) | t9 = sym.imp.endspent;
0x00003b10 jalr t9 | t9 ();
0x00003b14 nop |
0x00003b18 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003b1c lw t9, -0x7f48(gp) | t9 = sym.endsgent;
0x00003b20 bal 0xba7c | sym_endsgent ();
0x00003b24 nop |
0x00003b28 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003b2c b 0x2f7c | goto label_26;
| label_54:
0x00003b30 lw v0, 0x9c(sp) | v0 = *(arg_9ch);
0x00003b34 lui v1, 0xffff | v1 = 0xffff7b7f;
0x00003b38 addiu v1, v1, 0x7b7f |
0x00003b3c lw a2, 0x90(sp) | a2 = *(arg_90h);
0x00003b40 and v0, v0, v1 | v0 &= v1;
0x00003b44 lw v1, 0x94(sp) | v1 = *(arg_94h);
0x00003b48 lw s7, -0x7fd4(gp) | s7 = *((gp - 8181));
0x00003b4c lw t9, -0x7fac(gp) | t9 = sym.getdef_num;
0x00003b50 ori v1, v1, 4 | v1 |= 4;
0x00003b54 ori a2, a2, 0x100 | a2 |= aav.0x00000100;
0x00003b58 lbu a1, 0xa3(sp) | a1 = *(arg_a3h);
0x00003b5c ori v0, v0, 0xa1b | v0 |= 0xa1b;
0x00003b60 sw v1, 0x94(sp) | *(arg_94h) = v1;
0x00003b64 addiu a0, s7, -0x2284 | a0 = s7 + -0x2284;
0x00003b68 sw a2, 0x90(sp) | *(arg_90h) = a2;
0x00003b6c lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x00003b70 sw v0, 0x9c(sp) | *(arg_9ch) = v0;
0x00003b74 bal 0xb0a8 | sym_getdef_num ();
0x00003b78 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003b7c lbu a1, 0xa4(sp) | a1 = *(arg_a4h);
0x00003b80 move s6, v0 | s6 = v0;
0x00003b84 lw t9, -0x7fac(gp) | t9 = sym.getdef_num;
0x00003b88 addiu a0, s0, -0x2278 | a0 = s0 + -0x2278;
0x00003b8c bal 0xb0a8 | sym_getdef_num ();
0x00003b90 andi v1, s6, 0xff | v1 = s6 & 0xff;
0x00003b94 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003b98 sb s6, 0xa3(sp) | *(arg_a3h) = s6;
0x00003b9c sb v0, 0xa4(sp) | *(arg_a4h) = v0;
| if (v1 != s6) {
0x00003ba0 bne v1, s6, 0x4020 | goto label_90;
| }
0x00003ba4 andi v1, v0, 0xff | v1 = v0 & 0xff;
0x00003ba8 lw t9, -0x7d34(gp) | t9 = sym.imp.tcsetattr;
| if (v1 != v0) {
0x00003bac bne v1, v0, 0x4054 | goto label_91;
| }
0x00003bb0 move a2, s5 | a2 = s5;
0x00003bb4 addiu a1, zero, 0x540e | a1 = 0x540e;
0x00003bb8 move a0, zero | a0 = 0;
0x00003bbc jalr t9 | t9 ();
0x00003bc0 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003bc4 b 0x2d18 | goto label_27;
| label_60:
0x00003bc8 sll a1, a0, 2 | a1 = a0 << 2;
0x00003bcc addu a1, s3, a1 | a1 = s3 + a1;
0x00003bd0 subu a0, s2, a0 | __asm ("subu a0, s2, a0");
0x00003bd4 bal 0x5814 | sym_set_env ();
0x00003bd8 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003bdc b 0x2e54 | goto label_28;
| label_50:
0x00003be0 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00003be4 addiu v0, v0, -0x2378 | v0 += -0x2378;
0x00003be8 b 0x2bf0 | goto label_29;
| label_59:
0x00003bec lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00003bf0 lw t9, -0x7f84(gp) | t9 = sym.getdef_str;
0x00003bf4 addiu a0, a0, -0x2210 | a0 += -0x2210;
0x00003bf8 bal 0xaf88 | sym_getdef_str ();
0x00003bfc lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003c00 beqz v0, 0x2e44 | goto label_30;
| }
0x00003c04 lw t9, -0x7fa0(gp) | t9 = sym.addenv;
0x00003c08 move a1, zero | a1 = 0;
0x00003c0c move a0, v0 | a0 = v0;
0x00003c10 bal 0x5500 | sym_addenv ();
0x00003c14 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003c18 b 0x2e44 | goto label_30;
0x00003c1c lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00003c20 lw t9, -0x7f84(gp) | t9 = sym.getdef_str;
0x00003c24 addiu a0, a0, -0x2218 | a0 += -0x2218;
0x00003c28 bal 0xaf88 | sym_getdef_str ();
0x00003c2c lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003c30 beqz v0, 0x2e18 | goto label_31;
| }
0x00003c34 lb a0, (v0) | a0 = *(v0);
0x00003c38 addiu v1, zero, 0x2f | v1 = 0x2f;
0x00003c3c lw t9, -0x7f1c(gp) | t9 = sym.tz;
| if (a0 == v1) {
0x00003c40 beq a0, v1, 0x3f20 | goto label_92;
| }
| label_37:
0x00003c44 lw t9, -0x7fa0(gp) | t9 = sym.addenv;
0x00003c48 move a1, zero | a1 = 0;
0x00003c4c move a0, v0 | a0 = v0;
0x00003c50 bal 0x5500 | sym_addenv ();
0x00003c54 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003c58 b 0x2e18 | goto label_31;
| label_89:
0x00003c5c lw v0, 0x50(sp) | v0 = *(arg_50h);
0x00003c60 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00003c64 lw t9, -0x7f18(gp) | t9 = sym.dolastlog;
0x00003c68 lw a3, 0x20(v0) | a3 = *((v0 + 8));
0x00003c6c lw a2, 0x38(sp) | a2 = *(arg_38h);
0x00003c70 move a1, s1 | a1 = s1;
0x00003c74 addiu a0, a0, 0x7f0 | a0 += 0x7f0;
0x00003c78 bal 0x7990 | sym_dolastlog ();
0x00003c7c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003c80 b 0x35e4 | goto label_32;
| label_87:
0x00003ca0 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00003ca4 lw t9, -0x7e30(gp) | t9 = sym.imp.fopen64;
0x00003ca8 move a0, s4 | a0 = s4;
0x00003cac addiu a1, a1, -0x2030 | a1 += -0x2030;
0x00003cb0 jalr t9 | t9 ();
0x00003cb4 move s4, v0 | s4 = v0;
0x00003cb8 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003cbc beqz v0, 0x3f30 | goto label_93;
| }
0x00003cc0 lw s5, -0x7de8(gp) | s5 = *((gp - 8058));
0x00003cc4 addiu s6, zero, -1 | s6 = -1;
0x00003cc8 addiu s7, zero, 0xa | s7 = 0xa;
0x00003ccc sw s0, 0x84(sp) | *(arg_84h) = s0;
0x00003cd0 b 0x3ce4 |
0x00003ce4 lw t9, -0x7cf8(gp) | t9 = sym.imp._IO_getc;
0x00003ce8 move a0, s4 | a0 = s4;
0x00003cec jalr t9 | t9 ();
0x00003cf0 move s0, v0 | s0 = v0;
0x00003cf4 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == s6) {
0x00003cf8 beq v0, s6, 0x3df0 | goto label_94;
| }
0x00003cfc lw a1, (s5) | a1 = *(s5);
| if (s0 != s7) {
0x00003d00 bne s0, s7, 0x3cd4 | void (*0x3cd4)() ();
| }
| label_58:
0x00003d1c lw t9, -0x7d3c(gp) | t9 = sym.imp.getenv;
0x00003d20 addiu a0, s0, -0x2228 | a0 = s0 + -0x2228;
0x00003d24 jalr t9 | t9 ();
0x00003d28 lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003d2c beqz v0, 0x2dc0 | goto label_23;
| }
0x00003d30 lw t9, -0x7fa0(gp) | t9 = sym.addenv;
0x00003d34 move a1, v0 | a1 = v0;
0x00003d38 addiu a0, s0, -0x2228 | a0 = s0 + -0x2228;
0x00003d3c bal 0x5500 | sym_addenv ();
0x00003d40 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003d44 b 0x2dc0 | goto label_23;
| label_53:
0x00003d48 lw t9, -0x7ca8(gp) | t9 = sym.imp.free;
0x00003d4c lw a0, 0x914(s0) | a0 = *((s0 + 581));
0x00003d50 jalr t9 | t9 ();
0x00003d54 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003d58 sw zero, 0x914(s0) | *((s0 + 581)) = 0;
0x00003d5c b 0x2ce0 | goto label_33;
| label_94:
0x00003df0 lw t9, -0x7c98(gp) | t9 = sym.imp.fflush;
0x00003df4 lw a0, (s5) | a0 = *(s5);
0x00003df8 lw s0, 0x84(sp) | s0 = *(arg_84h);
0x00003dfc jalr t9 | t9 ();
0x00003e00 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003e04 lw t9, -0x7e2c(gp) | t9 = sym.imp.fclose;
0x00003e08 move a0, s4 | a0 = s4;
0x00003e0c jalr t9 | t9 ();
0x00003e10 lw gp, 0x20(sp) | gp = *(arg_20h);
| label_38:
0x00003e14 lw v0, 0x48(sp) | v0 = *(arg_48h);
0x00003e18 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
| if (v0 != 0) {
0x00003e1c beqz v0, 0x3ee0 |
0x00003e20 lw t9, -0x7d78(gp) | t9 = sym.imp.closelog;
0x00003e24 jalr t9 | t9 ();
0x00003e28 nop |
0x00003e2c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003e30 lw t9, -0x7d60(gp) | t9 = sym.imp.exit;
0x00003e34 move a0, zero | a0 = 0;
0x00003e38 jalr t9 | t9 ();
0x00003e3c lw t9, -0x7f78(gp) | t9 = sym.pw_free;
0x00003e40 move a0, s1 | a0 = s1;
0x00003e44 bal 0xcd30 | sym_pw_free ();
0x00003e48 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003e4c lw t9, -0x7f8c(gp) | t9 = sym.xgetpwnam;
0x00003e50 lw a0, 0x914(s0) | a0 = *((s0 + 581));
0x00003e54 bal 0x9e10 | sym_xgetpwnam ();
0x00003e58 move s1, v0 | s1 = v0;
0x00003e5c lw gp, 0x20(sp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00003e60 beqz v0, 0x3fc8 | goto label_95;
| }
| }
0x00003ee0 lw t9, -0x7d50(gp) | t9 = sym.imp.puts;
0x00003ee4 addiu a0, a0, -0x2004 | a0 += -0x2004;
0x00003ee8 jalr t9 | t9 ();
0x00003eec lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003ef0 b 0x358c | goto label_34;
| label_80:
0x00003ef4 lw t9, -0x7d78(gp) | t9 = sym.imp.closelog;
| label_81:
0x00003ef8 jalr t9 | t9 ();
0x00003efc nop |
0x00003f00 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003f04 lw t9, -0x7d60(gp) | t9 = sym.imp.exit;
0x00003f08 addiu a0, zero, 1 | a0 = 1;
0x00003f0c jalr t9 | t9 ();
| label_56:
0x00003f10 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
| if (v0 == 0) {
0x00003f14 beqz v0, 0x2dc4 | goto label_35;
| }
0x00003f18 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00003f1c b 0x3a2c | goto label_36;
| label_92:
0x00003f20 move a0, v0 | a0 = v0;
0x00003f24 bal 0x9490 | sym_tz ();
0x00003f28 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003f2c b 0x3c44 | goto label_37;
| label_93:
0x00003f30 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00003f34 lw t9, -0x7d50(gp) | t9 = sym.imp.puts;
0x00003f38 addiu a0, a0, -0x202c | a0 += -0x202c;
0x00003f3c jalr t9 | t9 ();
0x00003f40 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003f44 b 0x3e14 | goto label_38;
| label_46:
0x00003f70 lw a3, -0x7fd4(gp) | a3 = *((gp - 8181));
0x00003f74 lw t9, -0x7e84(gp) | t9 = sym.imp.__assert_fail;
0x00003f78 addiu a3, a3, -0x1e14 | a3 += -0x1e14;
0x00003f7c addiu a2, zero, 0x160 | a2 = 0x160;
| label_39:
0x00003f80 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00003f84 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x00003f88 addiu a1, a1, -0x2310 | a1 += -0x2310;
0x00003f8c addiu a0, a0, -0x22f0 | a0 += -0x22f0;
0x00003f90 jalr t9 | t9 ();
| label_40:
0x00003f94 lw v0, -0x7ca0(gp) | v0 = *((gp - 7976));
0x00003f98 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003f9c lw t9, -0x7e3c(gp) | t9 = sym.imp.__fprintf_chk;
0x00003fa0 lw a0, (v0) | a0 = *(v0);
0x00003fa4 lw v0, 0x40(sp) | v0 = *(arg_40h);
0x00003fa8 addiu a2, a2, -0x236c | a2 += -0x236c;
0x00003fac lw a3, (v0) | a3 = *(v0);
| do {
0x00003fb0 addiu a1, zero, 1 | a1 = 1;
0x00003fb4 jalr t9 | t9 ();
0x00003fb8 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00003fbc lw t9, -0x7d60(gp) | t9 = sym.imp.exit;
0x00003fc0 addiu a0, zero, 1 | a0 = 1;
0x00003fc4 jalr t9 | t9 ();
| label_95:
0x00003fc8 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003fcc lw t9, -0x7dfc(gp) | t9 = sym.imp.__syslog_chk;
0x00003fd0 lw a3, 0x914(s0) | a3 = *((s0 + 581));
0x00003fd4 addiu a0, zero, 3 | a0 = 3;
0x00003fd8 addiu a2, a2, -0x1fb8 | a2 += -0x1fb8;
0x00003fdc addiu a1, zero, 1 | a1 = 1;
0x00003fe0 jalr t9 | t9 ();
0x00003fe4 lw gp, 0x20(sp) | gp = *(arg_20h);
| label_48:
0x00003fe8 lw t9, -0x7d60(gp) | t9 = sym.imp.exit;
0x00003fec addiu a0, zero, 1 | a0 = 1;
0x00003ff0 jalr t9 | t9 ();
| label_45:
0x00003ff4 lw v0, -0x7ca0(gp) | v0 = *((gp - 7976));
0x00003ff8 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003ffc lw t9, -0x7e3c(gp) | t9 = sym.imp.__fprintf_chk;
0x00004000 lw a0, (v0) | a0 = *(v0);
0x00004004 lw v0, 0x40(sp) | v0 = *(arg_40h);
0x00004008 addiu a2, a2, -0x2328 | a2 += -0x2328;
0x0000400c lw a3, (v0) | a3 = *(v0);
0x00004010 b 0x3fb0 |
| } while (1);
| label_90:
0x00004020 lw v0, -0x7ca0(gp) | v0 = *((gp - 7976));
0x00004024 lw t9, -0x7e3c(gp) | t9 = sym.imp.__fprintf_chk;
0x00004028 addiu a3, s7, -0x2284 | a3 = s7 + -0x2284;
0x0000402c lw a0, (v0) | a0 = *(v0);
0x00004030 sw s6, 0x10(sp) | *(arg_10h) = s6;
| do {
0x00004034 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00004038 addiu a1, zero, 1 | a1 = 1;
0x0000403c addiu a2, a2, -0x226c | a2 += -0x226c;
0x00004040 jalr t9 | t9 ();
0x00004044 lw gp, 0x20(sp) | gp = *(arg_20h);
0x00004048 lw t9, -0x7d60(gp) | t9 = sym.imp.exit;
0x0000404c addiu a0, zero, 1 | a0 = 1;
0x00004050 jalr t9 | t9 ();
| label_91:
0x00004054 lw v1, -0x7ca0(gp) | v1 = *((gp - 7976));
0x00004058 lw t9, -0x7e3c(gp) | t9 = sym.imp.__fprintf_chk;
0x0000405c addiu a3, s0, -0x2278 | a3 = s0 + -0x2278;
0x00004060 lw a0, (v1) | a0 = *(v1);
0x00004064 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x00004068 b 0x4034 |
| } while (1);
| label_49:
0x0000406c lw t9, -0x7d50(gp) | t9 = sym.imp.puts;
0x00004070 addiu a0, a0, -0x22dc | a0 += -0x22dc;
| do {
0x00004074 jalr t9 | t9 ();
0x00004078 nop |
0x0000407c lw gp, 0x20(sp) | gp = *(arg_20h);
0x00004080 lw t9, -0x7d60(gp) | t9 = sym.imp.exit;
0x00004084 addiu a0, zero, 1 | a0 = 1;
0x00004088 jalr t9 | t9 ();
| label_52:
0x0000408c lw a3, -0x7fd4(gp) | a3 = *((gp - 8181));
0x00004090 lw t9, -0x7e84(gp) | t9 = sym.imp.__assert_fail;
0x00004094 addiu a3, a3, -0x1e04 | a3 += -0x1e04;
0x00004098 addiu a2, zero, 0x268 | a2 = 0x268;
0x0000409c b 0x3f80 | goto label_39;
| label_86:
0x000040a0 lw v0, 0x2c(sp) | v0 = *(arg_2ch);
0x000040a4 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x000040a8 lw t9, -0x7dfc(gp) | t9 = sym.imp.__syslog_chk;
0x000040ac lw a3, 0x914(s0) | a3 = *((s0 + 581));
0x000040b0 addiu a2, a2, -0x2074 | a2 += -0x2074;
0x000040b4 addiu a1, zero, 1 | a1 = 1;
0x000040b8 addiu a0, zero, 4 | a0 = 4;
0x000040bc sw v0, 0x10(sp) | *(arg_10h) = v0;
0x000040c0 jalr t9 | t9 ();
0x000040c4 lw gp, 0x20(sp) | gp = *(arg_20h);
0x000040c8 lw t9, -0x7d78(gp) | t9 = sym.imp.closelog;
0x000040cc jalr t9 | t9 ();
0x000040d0 nop |
0x000040d4 lw gp, 0x20(sp) | gp = *(arg_20h);
0x000040d8 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x000040dc lw t9, -0x7d50(gp) | t9 = sym.imp.puts;
0x000040e0 addiu a0, a0, -0x2054 | a0 += -0x2054;
0x000040e4 jalr t9 | t9 ();
0x000040e8 lw gp, 0x20(sp) | gp = *(arg_20h);
0x000040ec lw v0, -0x7de8(gp) | v0 = *((gp - 8058));
0x000040f0 lw t9, -0x7c98(gp) | t9 = sym.imp.fflush;
0x000040f4 lw a0, (v0) | a0 = *(v0);
0x000040f8 b 0x4074 |
| } while (1);
| while (a3 != ra);
| }
[*] Function system used 3 times login.shadow