[*] Binary protection state of htdbm
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of htdbm
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/htdbm @ 0x11a0 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 6768 named .text */
0x000011a0 lui gp, 2 |
0x000011a4 addiu gp, gp, -0x5190 |
0x000011a8 addu gp, gp, t9 | gp += t9;
0x000011ac lw v0, -0x7ee8(gp) | v0 = *((gp - 8122));
0x000011b0 addiu sp, sp, -0x190 |
0x000011b4 lw t9, -0x7ed4(gp) | t9 = sym.imp.apr_app_initialize;
0x000011b8 sw v0, 0x34(sp) | *(var_34h) = v0;
0x000011bc lw v0, (v0) | v0 = *(v0);
0x000011c0 sw ra, 0x18c(sp) | *(var_18ch) = ra;
0x000011c4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000011c8 move a2, zero | a2 = 0;
0x000011cc sw s2, 0x170(sp) | *(var_170h) = s2;
0x000011d0 sw a0, 0x190(sp) | *(envp) = a0;
0x000011d4 sw a1, 0x3c(sp) | *(var_3ch) = a1;
0x000011d8 addiu a0, sp, 0x190 | a0 = sp + aav.0x00000190;
0x000011dc addiu a1, sp, 0x3c | a1 = sp + 0x3c;
0x000011e0 sw fp, 0x188(sp) | *(var_188h) = fp;
0x000011e4 sw s7, 0x184(sp) | *(var_184h) = s7;
0x000011e8 sw s6, 0x180(sp) | *(var_180h) = s6;
0x000011ec sw s5, 0x17c(sp) | *(var_17ch) = s5;
0x000011f0 sw s4, 0x178(sp) | *(var_178h) = s4;
0x000011f4 sw s3, 0x174(sp) | *(var_174h) = s3;
0x000011f8 sw s1, 0x16c(sp) | *(var_16ch) = s1;
0x000011fc sw s0, 0x168(sp) | *(var_168h) = s0;
0x00001200 sw v0, 0x164(sp) | *(var_164h) = v0;
0x00001204 jalr t9 | t9 ();
0x00001208 nop |
0x0000120c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001210 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001214 lw t9, -0x7fd4(gp) | t9 = *(gp);
0x00001218 addiu a0, a0, 0x1f90 | a0 += 0x1f90;
0x0000121c bal 0x2bf0 | fcn_00002bf0 ();
0x00001220 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001224 move a3, zero | a3 = 0;
0x00001228 move a2, zero | a2 = 0;
0x0000122c lw t9, -0x7ee0(gp) | t9 = sym.imp.apr_pool_create_ex;
0x00001230 move a1, zero | a1 = 0;
0x00001234 addiu a0, sp, 0x48 | a0 = sp + 0x48;
0x00001238 jalr t9 | t9 ();
0x0000123c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001240 lw t9, -0x7ee4(gp) | t9 = sym.imp.apr_pool_abort_set;
0x00001244 lw a0, -0x7fd0(gp) | a0 = sym.abort_on_oom;
0x00001248 lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
0x0000124c lw a1, 0x48(sp) | a1 = *(var_48h);
0x00001250 jalr t9 | t9 ();
0x00001254 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001258 lw t9, -0x7eec(gp) | t9 = sym.imp.apr_file_open_stderr;
0x0000125c lw a0, -0x7fcc(gp) | a0 = *(gp);
0x00001260 lw a1, 0x48(sp) | a1 = *(var_48h);
0x00001264 jalr t9 | t9 ();
0x00001268 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000126c addiu a0, zero, 2 | a0 = 2;
0x00001270 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001274 lw t9, -0x7f74(gp) | t9 = sym.imp.apr_signal;
0x00001278 addiu a1, a1, 0x1fa8 | a1 += 0x1fa8;
0x0000127c jalr t9 | t9 ();
0x00001280 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001284 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00001288 lw t9, -0x7f04(gp) | t9 = sym.imp.apr_palloc;
0x0000128c addiu a1, zero, 0x3c | a1 = 0x3c;
0x00001290 jalr t9 | t9 ();
0x00001294 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001298 addiu a2, zero, 0x3c | a2 = 0x3c;
0x0000129c move a1, zero | a1 = 0;
0x000012a0 lw t9, -0x7f48(gp) | t9 = sym.imp.memset;
0x000012a4 move a0, v0 | a0 = v0;
0x000012a8 jalr t9 | t9 ();
0x000012ac lw gp, 0x18(sp) | gp = *(var_18h);
0x000012b0 addiu v1, zero, 2 | v1 = 2;
0x000012b4 sw v1, 0x18(v0) | *((v0 + 6)) = v1;
0x000012b8 lw v1, -0x7fd8(gp) | v1 = *((gp - 8182));
0x000012bc lw a1, 0x48(sp) | a1 = *(var_48h);
0x000012c0 addiu v1, v1, 0x2fb8 | v1 += str.default;
0x000012c4 lw t9, -0x7eb8(gp) | t9 = sym.imp.apr_getopt_init;
0x000012c8 lw a3, 0x3c(sp) | a3 = *(var_3ch);
0x000012cc lw a2, 0x190(sp) | a2 = *(envp);
0x000012d0 sw a1, 4(v0) | *((v0 + 1)) = a1;
0x000012d4 sw v1, 0x30(v0) | *((v0 + 12)) = v1;
0x000012d8 addiu a0, sp, 0x4c | a0 = sp + 0x4c;
0x000012dc sw v0, 0x4180(s2) | *((s2 + 4192)) = v0;
0x000012e0 jalr t9 | t9 ();
0x000012e4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000012e8 bnez v0, 0x1db0 | goto label_15;
| }
0x000012ec lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x000012f0 lw s1, -0x7fd8(gp) | s1 = *((gp - 8182));
0x000012f4 addiu v0, zero, 1 | v0 = 1;
0x000012f8 addiu s3, zero, 2 | s3 = 2;
0x000012fc move s4, zero | s4 = 0;
0x00001300 sw zero, 0x28(sp) | *(var_28h) = 0;
0x00001304 addiu s6, zero, 1 | s6 = 1;
0x00001308 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0000130c sw v0, 0x24(sp) | *(var_24h) = v0;
0x00001310 addiu s7, sp, 0x50 | s7 = sp + 0x50;
0x00001314 addiu fp, sp, 0x47 | fp = sp + 0x47;
0x00001318 addiu s0, s0, 0x2fcc | s0 += str.cnmspdBbtivxlC:T:;
0x0000131c addiu s1, s1, 0x3800 | s1 += 0x3800;
0x00001320 addiu s5, zero, 1 | s5 = 1;
| do {
0x00001324 lw t9, -0x7f94(gp) | t9 = sym.imp.apr_getopt;
0x00001328 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000132c move a3, s7 | a3 = s7;
0x00001330 move a2, fp | a2 = fp;
0x00001334 move a1, s0 | a1 = s0;
0x00001338 jalr t9 | t9 ();
0x0000133c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001340 bnez v0, 0x1450 | goto label_16;
| }
0x00001344 lb a1, 0x47(sp) | a1 = *(var_47h);
0x00001348 addiu v0, a1, -0x54 | v0 = a1 + -0x54;
0x0000134c andi v0, v0, 0xff | v0 &= 0xff;
0x00001350 sltiu a0, v0, 0x25 | a0 = (v0 < 0x25) ? 1 : 0;
0x00001354 sll v0, v0, 2 | v0 <<= 2;
| if (a0 != 0) {
0x00001358 beqz a0, 0x13f8 |
0x0000135c lwx v0, v0(s1) | __asm ("lwx v0, v0(s1)");
0x00001360 addu v0, v0, gp | v0 += gp;
0x00001364 jr v0 | v0 ();
0x00001368 nop |
| }
0x000013f8 lw a0, 0x4180(s2) | a0 = *((s2 + 4192));
0x000013fc lw t9, -0x7fc8(gp) | t9 = sym.parse_common_options;
0x00001400 lw a2, 0x50(sp) | a2 = *(var_50h);
0x00001404 addiu a0, a0, 4 | a0 += 4;
0x00001408 bal 0x29bc | sym_parse_common_options ();
0x0000140c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001410 beqz v0, 0x1324 |
| } while (v0 == 0);
0x00001414 lw v1, -0x7ed0(gp) | v1 = *((gp - 8116));
0x00001418 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0000141c lw v0, 0x4180(s2) | v0 = *((s2 + 4192));
0x00001420 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001424 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001428 lw a0, (v1) | a0 = *(v1);
0x0000142c lw a3, 8(v0) | a3 = *((v0 + 2));
0x00001430 addiu a2, a2, 0x2fc0 | a2 += str.Error:__s_n;
0x00001434 addiu a1, zero, 1 | a1 = 1;
0x00001438 jalr t9 | t9 ();
0x0000143c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001440 lw t1, 0x24(sp) | t1 = *(var_24h);
0x00001444 lw t9, -0x7f14(gp) | t9 = sym.imp.exit;
0x00001448 move a0, t1 | a0 = t1;
0x0000144c jalr t9 | t9 ();
| label_16:
0x00001450 lw s0, 0x4180(s2) | s0 = *((s2 + 4192));
0x00001454 addiu v1, zero, 1 | v1 = 1;
0x00001458 lw a0, 0x20(s0) | a0 = *((s0 + 8));
0x0000145c lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (a0 == v1) {
0x00001460 bne a0, v1, 0x146c |
0x00001464 addiu s3, s3, 1 | s3++;
0x00001468 move s6, zero | s6 = 0;
| }
0x0000146c lui v1, 1 | v1 = 0x1117e;
0x00001470 addiu v1, v1, 0x117e |
0x00001474 lw s1, 0xc(a0) | s1 = *((a0 + 3));
| if (v0 != v1) {
0x00001478 bne v0, v1, 0x1d8c | goto label_17;
| }
0x0000147c lw v0, 0x190(sp) | v0 = *(envp);
0x00001480 subu v0, v0, s1 | __asm ("subu v0, v0, s1");
0x00001484 lw v0, 0x24(sp) | v0 = *(var_24h);
| if (v0 != s3) {
0x00001488 bne v0, s3, 0x1d8c | goto label_17;
| }
0x0000148c lw a1, 0x3c(sp) | a1 = *(var_3ch);
| if (v0 != 0) {
0x00001490 bnez v0, 0x17dc | goto label_18;
| }
| label_4:
0x00001494 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00001498 lw a1, 0x3c(sp) | a1 = *(var_3ch);
| if (v0 != 0) {
0x0000149c bnez v0, 0x1774 | goto label_19;
| }
| label_3:
0x000014a0 lw v1, 0x20(s0) | v1 = *((s0 + 8));
0x000014a4 addiu v0, zero, 1 | v0 = 1;
0x000014a8 lw a1, 0x3c(sp) | a1 = *(var_3ch);
| if (v1 == v0) {
0x000014ac beq v1, v0, 0x1b28 | goto label_20;
| }
| label_7:
0x000014b0 lw t9, -0x7fc4(gp) | t9 = sym.get_password;
| if (s6 != 0) {
0x000014b4 bnez s6, 0x1758 | goto label_21;
| }
| label_2:
0x000014b8 lw v0, 0x28(sp) | v0 = *(var_28h);
0x000014bc lw a1, 0x3c(sp) | a1 = *(var_3ch);
| if (v0 != 0) {
0x000014c0 bnez v0, 0x1734 | goto label_22;
| }
| label_1:
0x000014c4 addiu v0, zero, 2 | v0 = 2;
0x000014c8 addiu v0, zero, 3 | v0 = 3;
| if (s4 == v0) {
0x000014cc beq s4, v0, 0x1a3c | goto label_23;
| }
0x000014d0 addiu v0, zero, 1 | v0 = 1;
| if (s4 == v0) {
0x000014d4 beq s4, v0, 0x18b8 | goto label_24;
| }
0x000014d8 lw t9, -0x7fc0(gp) | t9 = sym.mkhash;
| if (s4 == v0) {
0x000014dc beq s4, v0, 0x15cc | goto label_25;
| }
0x000014e0 addiu v0, zero, 0x100 | v0 = aav.0x00000100;
0x000014e4 addiu s3, sp, 0x64 | s3 = sp + 0x64;
0x000014e8 sw s3, 0xc(s0) | *((s0 + 3)) = s3;
0x000014ec sw v0, 0x10(s0) | *((s0 + 4)) = v0;
0x000014f0 addiu a0, s0, 4 | a0 = s0 + 4;
0x000014f4 bal 0x2534 | sym_mkhash ();
0x000014f8 move s1, v0 | s1 = v0;
0x000014fc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001500 bnez v0, 0x1bb0 | goto label_26;
| }
0x00001504 lw t9, -0x7f20(gp) | t9 = sym.imp.apr_pstrdup;
0x00001508 lw a0, 4(s0) | a0 = *((s0 + 1));
0x0000150c move a1, s3 | a1 = s3;
0x00001510 jalr t9 | t9 ();
0x00001514 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001518 sw v0, 0x14(s0) | *((s0 + 5)) = v0;
0x0000151c lw v0, 0x24(sp) | v0 = *(var_24h);
0x00001520 lw s0, 0x4180(s2) | s0 = *((s2 + 4192));
| if (v0 != 0) {
0x00001524 bnez v0, 0x1638 | goto label_27;
| }
| label_11:
0x00001528 addiu v0, zero, 4 | v0 = 4;
| label_0:
0x0000152c lw v0, 0x4180(s2) | v0 = *((s2 + 4192));
| if (s4 == v0) {
0x00001530 bne s4, v0, 0x1568 |
0x00001534 lw v1, -0x7ed0(gp) | v1 = *((gp - 8116));
0x00001538 lw a1, 0x28(sp) | a1 = *(var_28h);
0x0000153c lw a3, 0x28(v0) | a3 = *((v0 + 10));
0x00001540 lw a0, (v1) | a0 = *(v1);
0x00001544 lw v1, 0x14(v0) | v1 = *((v0 + 5));
| if (a1 != 0) {
0x00001548 bnez a1, 0x1b50 | goto label_28;
| }
0x0000154c lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001550 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001554 sw v1, 0x10(sp) | *(var_10h_2) = v1;
0x00001558 addiu a2, a2, 0x37e4 | a2 += str._s:_s_n;
0x0000155c addiu a1, zero, 1 | a1 = 1;
0x00001560 jalr t9 | t9 ();
0x00001564 lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_8:
0x00001568 lw s0, 0x4180(s2) | s0 = *((s2 + 4192));
| do {
0x0000156c lw a0, (s0) | a0 = *(s0);
0x00001570 lw t9, -0x7f1c(gp) | t9 = sym.imp.apr_dbm_close;
| if (a0 != 0) {
0x00001574 beqz a0, 0x1584 |
0x00001578 jalr t9 | t9 ();
0x0000157c nop |
0x00001580 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00001584 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00001588 sw zero, (s0) | *(s0) = 0;
0x0000158c lw a0, 0x164(sp) | a0 = *(var_164h);
0x00001590 lw v1, (v0) | v1 = *(v0);
0x00001594 move v0, zero | v0 = 0;
| if (a0 != v1) {
0x00001598 bne a0, v1, 0x1e14 | goto label_29;
| }
0x0000159c lw ra, 0x18c(sp) | ra = *(var_18ch);
0x000015a0 lw fp, 0x188(sp) | fp = *(var_188h);
0x000015a4 lw s7, 0x184(sp) | s7 = *(var_184h);
0x000015a8 lw s6, 0x180(sp) | s6 = *(var_180h);
0x000015ac lw s5, 0x17c(sp) | s5 = *(var_17ch);
0x000015b0 lw s4, 0x178(sp) | s4 = *(var_178h);
0x000015b4 lw s3, 0x174(sp) | s3 = *(var_174h);
0x000015b8 lw s2, 0x170(sp) | s2 = *(var_170h);
0x000015bc lw s1, 0x16c(sp) | s1 = *(var_16ch);
0x000015c0 lw s0, 0x168(sp) | s0 = *(var_168h);
0x000015c4 addiu sp, sp, 0x190 |
0x000015c8 jr ra | return v0;
| label_25:
0x000015cc lw s1, 0x28(s0) | s1 = *((s0 + 10));
0x000015d0 lw t9, -0x7f2c(gp) | t9 = sym.imp.strlen;
0x000015d4 move a0, s1 | a0 = s1;
0x000015d8 sw s1, 0x5c(sp) | *(var_5ch) = s1;
0x000015dc jalr t9 | t9 ();
0x000015e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000015e4 lw a0, (s0) | a0 = *(s0);
0x000015e8 move a1, s1 | a1 = s1;
0x000015ec lw t9, -0x7efc(gp) | t9 = sym.imp.apr_dbm_exists;
0x000015f0 move a2, v0 | a2 = v0;
0x000015f4 sw v0, 0x60(sp) | *(var_60h) = v0;
0x000015f8 jalr t9 | t9 ();
0x000015fc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001600 beqz v0, 0x1d1c | goto label_30;
| }
0x00001604 lw t9, -0x7f28(gp) | t9 = sym.imp.apr_dbm_delete;
0x00001608 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x0000160c lw a2, 0x60(sp) | a2 = *(var_60h);
0x00001610 lw a0, (s0) | a0 = *(s0);
0x00001614 jalr t9 | t9 ();
0x00001618 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000161c bnez v0, 0x1d1c | goto label_30;
| }
0x00001620 lw v0, 0x4180(s2) | v0 = *((s2 + 4192));
0x00001624 addiu s1, zero, 1 | s1 = 1;
0x00001628 sw zero, 0x28(v0) | *((v0 + 10)) = 0;
| label_6:
0x0000162c lw v0, 0x24(sp) | v0 = *(var_24h);
0x00001630 lw s0, 0x4180(s2) | s0 = *((s2 + 4192));
0x00001634 beqz v0, 0x156c |
| } while (v0 == 0);
| label_27:
0x00001638 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x0000163c addiu v0, zero, 4 | v0 = 4;
| if (v0 != 0) {
0x00001640 bnez v0, 0x152c | goto label_0;
| }
0x00001644 lw s3, 0x28(s0) | s3 = *((s0 + 10));
0x00001648 lw t9, -0x7f2c(gp) | t9 = sym.imp.strlen;
| if (s3 != 0) {
0x0000164c beqz s3, 0x1708 |
0x00001650 move a0, s3 | a0 = s3;
0x00001654 sw s3, 0x54(sp) | *(var_54h) = s3;
0x00001658 jalr t9 | t9 ();
0x0000165c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001660 lw a0, (s0) | a0 = *(s0);
0x00001664 move a1, s3 | a1 = s3;
0x00001668 lw t9, -0x7efc(gp) | t9 = sym.imp.apr_dbm_exists;
0x0000166c move a2, v0 | a2 = v0;
0x00001670 sw v0, 0x58(sp) | *(var_58h) = v0;
0x00001674 jalr t9 | t9 ();
0x00001678 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000167c lw s5, 0x14(s0) | s5 = *((s0 + 5));
0x00001680 addiu v1, zero, 1 | v1 = 1;
0x00001684 lw t9, -0x7f2c(gp) | t9 = sym.imp.strlen;
0x00001688 move a0, s5 | a0 = s5;
| if (v0 == 0) {
0x0000168c movn s1, v1, v0 | s1 = v1;
| }
0x00001690 jalr t9 | t9 ();
0x00001694 lw a3, 0x2c(s0) | a3 = *((s0 + 11));
0x00001698 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000169c move s3, v0 | s3 = v0;
| if (a3 == 0) {
0x000016a0 beqz a3, 0x1d68 | goto label_31;
| }
0x000016a4 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000016a8 lw t9, -0x7f6c(gp) | t9 = sym.imp.apr_pstrcat;
0x000016ac lw a0, 4(s0) | a0 = *((s0 + 1));
0x000016b0 addiu a2, a2, 0x2fdc | a2 += 0x2fdc;
0x000016b4 move a1, s5 | a1 = s5;
0x000016b8 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x000016bc jalr t9 | t9 ();
0x000016c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000016c4 lw a0, 0x2c(s0) | a0 = *((s0 + 11));
0x000016c8 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x000016cc lw t9, -0x7f2c(gp) | t9 = sym.imp.strlen;
0x000016d0 addiu s3, s3, 1 | s3++;
0x000016d4 jalr t9 | t9 ();
0x000016d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000016dc addu s3, s3, v0 | s3 += v0;
| label_13:
0x000016e0 lw a0, (s0) | a0 = *(s0);
0x000016e4 lw t9, -0x7ef4(gp) | t9 = sym.imp.apr_dbm_store;
0x000016e8 lw a3, 0x5c(sp) | a3 = *(var_5ch);
0x000016ec lw a1, 0x54(sp) | a1 = *(var_54h);
0x000016f0 lw a2, 0x58(sp) | a2 = *(var_58h);
0x000016f4 sw s3, 0x60(sp) | *(var_60h) = s3;
0x000016f8 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x000016fc jalr t9 | t9 ();
0x00001700 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001704 bnez v0, 0x1df0 | goto label_32;
| }
| }
0x00001708 lw v0, 0x4180(s2) | v0 = *((s2 + 4192));
0x0000170c lw a0, -0x7f58(gp) | a0 = *((gp - 8150));
0x00001710 lw v1, 0x34(v0) | v1 = *((v0 + 13));
0x00001714 lw a0, (a0) | a0 = *(a0);
0x00001718 lw a3, 0x24(v0) | a3 = *((v0 + 9));
| if (v1 != 0) {
0x0000171c bnez v1, 0x1cf4 | goto label_33;
| }
| if (s1 == 0) {
0x00001720 beql s1, zero, 0x1d40 | goto label_34;
| }
0x00001724 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001728 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000172c addiu v0, v0, 0x2fa4 | v0 += str.modified;
0x00001730 b 0x1cfc | goto label_35;
| label_22:
0x00001734 sll s1, s1, 2 | s1 <<= 2;
0x00001738 lw t9, -0x7f20(gp) | t9 = sym.imp.apr_pstrdup;
0x0000173c lwx a1, s1(a1) | __asm ("lwx a1, s1(a1)");
0x00001740 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00001744 jalr t9 | t9 ();
0x00001748 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000174c sw v0, 0x2c(s0) | *((s0 + 11)) = v0;
0x00001750 lw s0, 0x4180(s2) | s0 = *((s2 + 4192));
0x00001754 b 0x14c4 | goto label_1;
| label_21:
0x00001758 addiu a0, s0, 4 | a0 = s0 + 4;
0x0000175c bal 0x22a4 | sym_get_password ();
0x00001760 move s0, v0 | s0 = v0;
0x00001764 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001768 bnez v0, 0x1dbc | goto label_36;
| }
0x0000176c lw s0, 0x4180(s2) | s0 = *((s2 + 4192));
0x00001770 b 0x14b8 | goto label_2;
| label_19:
0x00001774 sll v0, s1, 2 | v0 = s1 << 2;
0x00001778 lw t9, -0x7f20(gp) | t9 = sym.imp.apr_pstrdup;
0x0000177c lwx a1, v0(a1) | __asm ("lwx a1, v0(a1)");
0x00001780 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00001784 jalr t9 | t9 ();
0x00001788 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000178c sw v0, 0x28(s0) | *((s0 + 10)) = v0;
0x00001790 lw s0, 0x4180(s2) | s0 = *((s2 + 4192));
0x00001794 lw s3, 0x28(s0) | s3 = *((s0 + 10));
0x00001798 lw t9, -0x7f2c(gp) | t9 = sym.imp.strlen;
| if (s3 == 0) {
0x0000179c beqz s3, 0x1c0c | goto label_37;
| }
0x000017a0 move a0, s3 | a0 = s3;
0x000017a4 jalr t9 | t9 ();
0x000017a8 sltiu v0, v0, 0x41 | v0 = (v0 < 0x41) ? 1 : 0;
0x000017ac lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000017b0 beqz v0, 0x1c0c | goto label_37;
| }
0x000017b4 lb v0, (s3) | v0 = *(s3);
0x000017b8 lw t9, -0x7f24(gp) | t9 = sym.imp.strchr;
| if (v0 == 0) {
0x000017bc beqz v0, 0x1c0c | goto label_37;
| }
0x000017c0 addiu a1, zero, 0x3a | a1 = 0x3a;
0x000017c4 move a0, s3 | a0 = s3;
0x000017c8 jalr t9 | t9 ();
0x000017cc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000017d0 bnez v0, 0x1d48 | goto label_38;
| }
0x000017d4 addiu s1, s1, 1 | s1++;
0x000017d8 b 0x14a0 | goto label_3;
| label_18:
0x000017dc sll v0, s1, 2 | v0 = s1 << 2;
0x000017e0 lw t9, -0x7f20(gp) | t9 = sym.imp.apr_pstrdup;
0x000017e4 lw a0, 4(s0) | a0 = *((s0 + 1));
0x000017e8 lwx a1, v0(a1) | __asm ("lwx a1, v0(a1)");
0x000017ec addiu s1, s1, 1 | s1++;
0x000017f0 jalr t9 | t9 ();
0x000017f4 lw a0, 0x4180(s2) | a0 = *((s2 + 4192));
0x000017f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000017fc sw v0, 0x24(s0) | *((s0 + 9)) = v0;
0x00001800 lw v0, 0x34(a0) | v0 = *((a0 + 13));
0x00001804 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (v0 != 0) {
0x00001808 bnez v0, 0x1c70 | goto label_39;
| }
0x0000180c lw v0, 4(a0) | v0 = *((a0 + 1));
0x00001810 lw a3, 0x38(a0) | a3 = *((a0 + 14));
0x00001814 lw a1, 0x30(a0) | a1 = *((a0 + 12));
0x00001818 lw a2, 0x24(a0) | a2 = *((a0 + 9));
0x0000181c sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00001820 addiu v0, zero, 0xfff | v0 = 0xfff;
0x00001824 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00001828 addiu v0, zero, 2 | v0 = 2;
0x0000182c lw t9, -0x7f5c(gp) | t9 = sym.imp.apr_dbm_open_ex;
| if (a3 != 0) {
0x00001830 movz v1, v0, a3 | v1 = v0;
| }
0x00001834 move a3, v1 | a3 = v1;
0x00001838 jalr t9 | t9 ();
0x0000183c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001840 move s3, v0 | s3 = v0;
| label_10:
0x00001844 lw s0, 0x4180(s2) | s0 = *((s2 + 4192));
| if (s3 == 0) {
0x00001848 beqz s3, 0x1494 | goto label_4;
| }
0x0000184c lw s1, -0x7ed0(gp) | s1 = *((gp - 8116));
0x00001850 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001854 lw a3, 0x24(s0) | a3 = *((s0 + 9));
0x00001858 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x0000185c lw a0, (s1) | a0 = *(s1);
0x00001860 addiu a2, a2, 0x360c | a2 += str.Error_opening_database__s_n;
0x00001864 addiu a1, zero, 1 | a1 = 1;
0x00001868 jalr t9 | t9 ();
0x0000186c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001870 addiu s0, sp, 0x64 | s0 = sp + 0x64;
0x00001874 addiu a2, zero, 0x100 | a2 = aav.0x00000100;
0x00001878 lw t9, -0x7f8c(gp) | t9 = sym.imp.apr_strerror;
0x0000187c move a1, s0 | a1 = s0;
0x00001880 move a0, s3 | a0 = s3;
0x00001884 jalr t9 | t9 ();
0x00001888 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000188c lw a0, (s1) | a0 = *(s1);
0x00001890 move a3, s0 | a3 = s0;
0x00001894 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001898 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x0000189c addiu a2, a2, 0x3628 | a2 += 0x3628;
0x000018a0 addiu a1, zero, 1 | a1 = 1;
0x000018a4 jalr t9 | t9 ();
0x000018a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000018ac lw t9, -0x7f14(gp) | t9 = sym.imp.exit;
0x000018b0 addiu a0, zero, 1 | a0 = 1;
0x000018b4 jalr t9 | t9 ();
| label_24:
0x000018b8 lw t9, -0x7f54(gp) | t9 = sym.imp.apr_dbm_firstkey;
0x000018bc addiu v0, sp, 0x54 | v0 = sp + 0x54;
0x000018c0 lw a0, (s0) | a0 = *(s0);
0x000018c4 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x000018c8 move a1, v0 | a1 = v0;
0x000018cc jalr t9 | t9 ();
0x000018d0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000018d4 bnez v0, 0x1be0 | goto label_40;
| }
0x000018d8 lw s1, -0x7ed0(gp) | s1 = *((gp - 8116));
0x000018dc lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000018e0 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x000018e4 lw a3, 0x24(s0) | a3 = *((s0 + 9));
0x000018e8 lw a0, (s1) | a0 = *(s1);
0x000018ec addiu a2, a2, 0x3724 | a2 += str.Dumping_records_from_database_____s_n;
0x000018f0 addiu a1, zero, 1 | a1 = 1;
0x000018f4 jalr t9 | t9 ();
0x000018f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000018fc lw a0, (s1) | a0 = *(s1);
0x00001900 addiu a1, zero, 1 | a1 = 1;
0x00001904 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x00001908 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x0000190c lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001910 addiu a3, a3, 0x374c | a3 += str.Username;
0x00001914 addiu a2, a2, 0x3758 | a2 += str.______32s_Comment_n;
0x00001918 jalr t9 | t9 ();
0x0000191c lw v0, 0x54(sp) | v0 = *(var_54h);
0x00001920 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001924 beqz v0, 0x1ca0 | goto label_41;
| }
0x00001928 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000192c lw s6, -0x7fd8(gp) | s6 = *((gp - 8182));
0x00001930 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00001934 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001938 move s3, zero | s3 = 0;
0x0000193c addiu v0, v0, 0x3798 | v0 += str.__.s;
0x00001940 addiu s5, sp, 0x5c | s5 = sp + 0x5c;
0x00001944 addiu s6, s6, 0x378c | s6 += str.______32.s;
0x00001948 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0000194c b 0x195c |
| while (v0 == 0) {
| label_5:
0x00001950 lw v0, 0x54(sp) | v0 = *(var_54h);
0x00001954 addiu s3, s3, 1 | s3++;
| if (v0 == 0) {
0x00001958 beqz v0, 0x1ca4 | goto label_42;
| }
0x0000195c lw t9, -0x7f38(gp) | t9 = sym.imp.apr_dbm_fetch;
0x00001960 lw a1, 0x54(sp) | a1 = *(var_54h);
0x00001964 lw a2, 0x58(sp) | a2 = *(var_58h);
0x00001968 lw a0, (s0) | a0 = *(s0);
0x0000196c move a3, s5 | a3 = s5;
0x00001970 jalr t9 | t9 ();
0x00001974 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001978 bnez v0, 0x1ccc | goto label_43;
| }
0x0000197c lw v0, 0x54(sp) | v0 = *(var_54h);
0x00001980 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001984 lw a0, (s1) | a0 = *(s1);
0x00001988 lw a3, 0x58(sp) | a3 = *(var_58h);
0x0000198c move a2, s6 | a2 = s6;
0x00001990 addiu a1, zero, 1 | a1 = 1;
0x00001994 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00001998 jalr t9 | t9 ();
0x0000199c lw gp, 0x18(sp) | gp = *(var_18h);
0x000019a0 lw fp, 0x5c(sp) | fp = *(var_5ch);
0x000019a4 lw s7, 0x60(sp) | s7 = *(var_60h);
0x000019a8 lw t9, -0x7f50(gp) | t9 = sym.imp.memchr;
0x000019ac move a2, s7 | a2 = s7;
0x000019b0 addiu a1, zero, 0x3a | a1 = 0x3a;
0x000019b4 move a0, fp | a0 = fp;
0x000019b8 jalr t9 | t9 ();
0x000019bc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000019c0 beqz v0, 0x19ec |
0x000019c4 addiu v0, v0, 1 | v0++;
0x000019c8 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x000019cc lw a0, (s1) | a0 = *(s1);
0x000019d0 addu a3, fp, s7 | a3 = fp + s7;
0x000019d4 lw a2, 0x30(sp) | a2 = *(var_30h);
0x000019d8 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000019dc subu a3, a3, v0 | __asm ("subu a3, a3, v0");
0x000019e0 addiu a1, zero, 1 | a1 = 1;
0x000019e4 jalr t9 | t9 ();
0x000019e8 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x000019ec lw t9, -0x7f68(gp) | t9 = sym.imp.fputc;
0x000019f0 lw a1, (s1) | a1 = *(s1);
0x000019f4 addiu a0, zero, 0xa | a0 = 0xa;
0x000019f8 jalr t9 | t9 ();
0x000019fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a00 lw a0, (s0) | a0 = *(s0);
0x00001a04 lw t9, -0x7f9c(gp) | t9 = sym.imp.apr_dbm_nextkey;
0x00001a08 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x00001a0c jalr t9 | t9 ();
0x00001a10 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a14 beqz v0, 0x1950 |
| }
0x00001a18 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00001a1c lw t9, -0x7f00(gp) | t9 = sym.imp.fwrite;
0x00001a20 lw a3, (s1) | a3 = *(s1);
0x00001a24 addiu a2, zero, 0x17 | a2 = 0x17;
0x00001a28 addiu a1, zero, 1 | a1 = 1;
0x00001a2c addiu a0, v0, 0x37a0 | a0 = v0 + str.Failed_getting_NextKey_n;
0x00001a30 jalr t9 | t9 ();
0x00001a34 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a38 b 0x1950 | goto label_5;
| label_23:
0x00001a3c lw s1, 0x28(s0) | s1 = *((s0 + 10));
0x00001a40 lw t9, -0x7f2c(gp) | t9 = sym.imp.strlen;
0x00001a44 move a0, s1 | a0 = s1;
0x00001a48 sw s1, 0x54(sp) | *(var_54h) = s1;
0x00001a4c jalr t9 | t9 ();
0x00001a50 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a54 lw a0, (s0) | a0 = *(s0);
0x00001a58 move a1, s1 | a1 = s1;
0x00001a5c lw t9, -0x7efc(gp) | t9 = sym.imp.apr_dbm_exists;
0x00001a60 move a2, v0 | a2 = v0;
0x00001a64 sw v0, 0x58(sp) | *(var_58h) = v0;
0x00001a68 jalr t9 | t9 ();
0x00001a6c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001a70 beqz v0, 0x1b78 |
0x00001a74 lw t9, -0x7f38(gp) | t9 = sym.imp.apr_dbm_fetch;
0x00001a78 lw a1, 0x54(sp) | a1 = *(var_54h);
0x00001a7c lw a2, 0x58(sp) | a2 = *(var_58h);
0x00001a80 lw a0, (s0) | a0 = *(s0);
0x00001a84 addiu a3, sp, 0x5c | a3 = sp + 0x5c;
0x00001a88 jalr t9 | t9 ();
0x00001a8c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001a90 bnez v0, 0x1b78 | goto label_44;
| }
0x00001a94 lw t9, -0x7f70(gp) | t9 = sym.imp.apr_pstrndup;
0x00001a98 lw a2, 0x60(sp) | a2 = *(var_60h);
0x00001a9c lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x00001aa0 lw a0, 4(s0) | a0 = *((s0 + 1));
0x00001aa4 jalr t9 | t9 ();
0x00001aa8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001aac addiu a1, zero, 0x3a | a1 = 0x3a;
0x00001ab0 move a0, v0 | a0 = v0;
0x00001ab4 lw t9, -0x7f24(gp) | t9 = sym.imp.strchr;
0x00001ab8 move s1, v0 | s1 = v0;
0x00001abc jalr t9 | t9 ();
0x00001ac0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001ac4 beqz v0, 0x1d70 | goto label_45;
| }
0x00001ac8 lw t9, -0x7f70(gp) | t9 = sym.imp.apr_pstrndup;
0x00001acc lw a0, 4(s0) | a0 = *((s0 + 1));
0x00001ad0 move a1, s1 | a1 = s1;
0x00001ad4 subu a2, v0, s1 | __asm ("subu a2, v0, s1");
0x00001ad8 jalr t9 | t9 ();
0x00001adc lw gp, 0x18(sp) | gp = *(var_18h);
0x00001ae0 move a1, v0 | a1 = v0;
| label_14:
0x00001ae4 lw t9, -0x7ef0(gp) | t9 = sym.imp.apr_password_validate;
0x00001ae8 lw a0, 0x14(s0) | a0 = *((s0 + 5));
0x00001aec jalr t9 | t9 ();
0x00001af0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001af4 bnez v0, 0x1c34 | goto label_46;
| }
0x00001af8 lw v0, 0x4180(s2) | v0 = *((s2 + 4192));
0x00001afc lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001b00 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001b04 lw a3, 0x28(v0) | a3 = *((v0 + 10));
0x00001b08 lw v0, -0x7ed0(gp) | v0 = *((gp - 8116));
0x00001b0c addiu a2, a2, 0x36c4 | a2 += str.Password_validated_for_user__s_n;
0x00001b10 addiu a1, zero, 1 | a1 = 1;
0x00001b14 lw a0, (v0) | a0 = *(v0);
0x00001b18 move s1, zero | s1 = 0;
0x00001b1c jalr t9 | t9 ();
0x00001b20 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001b24 b 0x162c | goto label_6;
| label_20:
0x00001b28 sll v0, s1, 2 | v0 = s1 << 2;
0x00001b2c lw t9, -0x7f20(gp) | t9 = sym.imp.apr_pstrdup;
0x00001b30 lwx a1, v0(a1) | __asm ("lwx a1, v0(a1)");
0x00001b34 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00001b38 addiu s1, s1, 1 | s1++;
0x00001b3c jalr t9 | t9 ();
0x00001b40 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001b44 sw v0, 0x14(s0) | *((s0 + 5)) = v0;
0x00001b48 lw s0, 0x4180(s2) | s0 = *((s2 + 4192));
0x00001b4c b 0x14b0 | goto label_7;
| label_28:
0x00001b50 lw v0, 0x2c(v0) | v0 = *((v0 + 11));
0x00001b54 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001b58 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001b5c sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00001b60 sw v1, 0x10(sp) | *(var_10h_2) = v1;
0x00001b64 addiu a2, a2, 0x37ec | a2 += str._s:_s:_s_n;
0x00001b68 addiu a1, zero, 1 | a1 = 1;
0x00001b6c jalr t9 | t9 ();
0x00001b70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001b74 b 0x1568 | goto label_8;
| }
| label_44:
0x00001b78 lw s1, -0x7ed0(gp) | s1 = *((gp - 8116));
| label_9:
0x00001b7c lw v0, 0x4180(s2) | v0 = *((s2 + 4192));
0x00001b80 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001b84 lw a0, (s1) | a0 = *(s1);
0x00001b88 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001b8c lw a3, 0x28(v0) | a3 = *((v0 + 10));
0x00001b90 addiu a2, a2, 0x3670 | a2 += str.The_user__s_could_not_be_found_in_database_n;
0x00001b94 addiu a1, zero, 1 | a1 = 1;
| label_12:
0x00001b98 jalr t9 | t9 ();
0x00001b9c nop |
0x00001ba0 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x00001ba4 lw t9, -0x7f14(gp) | t9 = sym.imp.exit;
0x00001ba8 addiu a0, zero, 6 | a0 = 6;
0x00001bac jalr t9 | t9 ();
| label_26:
0x00001bb0 lw v0, -0x7ed0(gp) | v0 = *((gp - 8116));
0x00001bb4 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001bb8 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001bbc lw a0, (v0) | a0 = *(v0);
0x00001bc0 lw a3, 8(s0) | a3 = *((s0 + 2));
0x00001bc4 addiu a2, a2, 0x2fc0 | a2 += str.Error:__s_n;
0x00001bc8 addiu a1, zero, 1 | a1 = 1;
0x00001bcc jalr t9 | t9 ();
0x00001bd0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001bd4 lw t9, -0x7f14(gp) | t9 = sym.imp.exit;
0x00001bd8 move a0, s1 | a0 = s1;
0x00001bdc jalr t9 | t9 ();
| label_40:
0x00001be0 lw v0, -0x7ed0(gp) | v0 = *((gp - 8116));
0x00001be4 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001be8 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001bec lw a3, 0x24(s0) | a3 = *((s0 + 9));
0x00001bf0 lw a0, (v0) | a0 = *(v0);
0x00001bf4 addiu a2, a2, 0x370c | a2 += str.Empty_database_____s_n;
0x00001bf8 addiu a1, zero, 1 | a1 = 1;
0x00001bfc jalr t9 | t9 ();
0x00001c00 move s1, zero | s1 = 0;
0x00001c04 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001c08 b 0x162c | goto label_6;
| label_37:
0x00001c0c lw v0, -0x7ed0(gp) | v0 = *((gp - 8116));
0x00001c10 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001c14 lw t9, -0x7f00(gp) | t9 = sym.imp.fwrite;
0x00001c18 lw a3, (v0) | a3 = *(v0);
0x00001c1c addiu a2, zero, 0x18 | a2 = 0x18;
0x00001c20 addiu a1, zero, 1 | a1 = 1;
0x00001c24 addiu a0, a0, 0x362c | a0 += str.Invalid_username_length_n;
0x00001c28 jalr t9 | t9 ();
0x00001c2c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001c30 b 0x1ba4 |
| } while (1);
| label_46:
0x00001c34 lw s1, -0x7ed0(gp) | s1 = *((gp - 8116));
0x00001c38 lw a1, 0x4180(s2) | a1 = *((s2 + 4192));
0x00001c3c addiu v1, zero, 2 | v1 = 2;
0x00001c40 lw a0, (s1) | a0 = *(s1);
0x00001c44 lw a3, 0x28(a1) | a3 = *((a1 + 10));
| if (v0 == v1) {
0x00001c48 beq v0, v1, 0x1b7c | goto label_9;
| }
0x00001c4c lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001c50 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001c54 addiu a2, a2, 0x36a0 | a2 += str.Password_mismatch_for_user__s_n;
0x00001c58 addiu a1, zero, 1 | a1 = 1;
0x00001c5c jalr t9 | t9 ();
0x00001c60 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001c64 lw t9, -0x7f14(gp) | t9 = sym.imp.exit;
0x00001c68 addiu a0, zero, 3 | a0 = 3;
0x00001c6c jalr t9 | t9 ();
| label_39:
0x00001c70 lw v0, 4(a0) | v0 = *((a0 + 1));
0x00001c74 lw a2, 0x24(a0) | a2 = *((a0 + 9));
0x00001c78 lw a1, 0x30(a0) | a1 = *((a0 + 12));
0x00001c7c lw t9, -0x7f5c(gp) | t9 = sym.imp.apr_dbm_open_ex;
0x00001c80 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00001c84 addiu v0, zero, 0xfff | v0 = 0xfff;
0x00001c88 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00001c8c addiu a3, zero, 3 | a3 = 3;
0x00001c90 jalr t9 | t9 ();
0x00001c94 move s3, v0 | s3 = v0;
0x00001c98 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001c9c b 0x1844 | goto label_10;
| label_41:
0x00001ca0 move s3, zero | s3 = 0;
| label_42:
0x00001ca4 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001ca8 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001cac lw a0, (s1) | a0 = *(s1);
0x00001cb0 move a3, s3 | a3 = s3;
0x00001cb4 addiu a2, a2, 0x37b8 | a2 += str.Total_records_:__d_n;
0x00001cb8 addiu a1, zero, 1 | a1 = 1;
0x00001cbc jalr t9 | t9 ();
0x00001cc0 move s1, zero | s1 = 0;
0x00001cc4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001cc8 b 0x162c | goto label_6;
| label_43:
0x00001ccc lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001cd0 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001cd4 lw a0, (s1) | a0 = *(s1);
0x00001cd8 lw a3, 0x24(s0) | a3 = *((s0 + 9));
0x00001cdc addiu a2, a2, 0x376c | a2 += str.Failed_getting_data_from__s_n;
0x00001ce0 addiu a1, zero, 1 | a1 = 1;
0x00001ce4 jalr t9 | t9 ();
0x00001ce8 move s1, zero | s1 = 0;
0x00001cec lw gp, 0x18(sp) | gp = *(var_18h);
0x00001cf0 b 0x162c | goto label_6;
| label_33:
0x00001cf4 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001cf8 addiu v0, v0, 0x2f9c | v0 += str.created;
| do {
| label_35:
0x00001cfc lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001d00 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001d04 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00001d08 addiu a2, a2, 0x37d0 | a2 += str.Database__s__s._n;
0x00001d0c addiu a1, zero, 1 | a1 = 1;
0x00001d10 jalr t9 | t9 ();
0x00001d14 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001d18 b 0x1528 | goto label_11;
| label_30:
0x00001d1c lw v0, 0x4180(s2) | v0 = *((s2 + 4192));
0x00001d20 lw v1, -0x7ed0(gp) | v1 = *((gp - 8116));
0x00001d24 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001d28 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001d2c lw a0, (v1) | a0 = *(v1);
0x00001d30 lw a3, 0x28(v0) | a3 = *((v0 + 10));
0x00001d34 addiu a2, a2, 0x36e8 | a2 += str.Cannot_find_user__s_in_database_n;
0x00001d38 addiu a1, zero, 1 | a1 = 1;
0x00001d3c b 0x1b98 | goto label_12;
| label_34:
0x00001d40 addiu v0, v0, 0x2fb0 | v0 += str.updated;
0x00001d44 b 0x1cfc |
| } while (1);
| label_38:
0x00001d48 lw v0, -0x7ed0(gp) | v0 = *((gp - 8116));
0x00001d4c lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001d50 lw t9, -0x7f00(gp) | t9 = sym.imp.fwrite;
0x00001d54 lw a3, (v0) | a3 = *(v0);
0x00001d58 addiu a2, zero, 0x25 | a2 = 0x25;
0x00001d5c addiu a1, zero, 1 | a1 = 1;
0x00001d60 addiu a0, a0, 0x3648 | a0 += str.Username_contains_invalid_characters_n;
0x00001d64 b 0x1b98 | goto label_12;
| label_31:
0x00001d68 sw s5, 0x5c(sp) | *(var_5ch) = s5;
0x00001d6c b 0x16e0 | goto label_13;
| label_45:
0x00001d70 lw t9, -0x7f20(gp) | t9 = sym.imp.apr_pstrdup;
0x00001d74 lw a0, 4(s0) | a0 = *((s0 + 1));
0x00001d78 move a1, s1 | a1 = s1;
0x00001d7c jalr t9 | t9 ();
0x00001d80 move a1, v0 | a1 = v0;
0x00001d84 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001d88 b 0x1ae4 | goto label_14;
| label_17:
0x00001d8c lw v0, -0x7ed0(gp) | v0 = *((gp - 8116));
0x00001d90 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001d94 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001d98 lw a0, (v0) | a0 = *(v0);
0x00001d9c addiu a3, zero, 5 | a3 = 5;
0x00001da0 addiu a2, a2, 0x2fe0 | a2 += str.htdbm____program_for_manipulating_DBM_password_databases._n_nUsage:_htdbm_____cimBdpstvx____C_cost____TDBTYPE__database_username_n_________________b_cmBdptsv____C_cost____TDBTYPE__database_username_password_n_________________n_imBdpst_____C_cost__username_n_________________nb_mBdpst_____C_cost__username_password_n_________________v_imBdps______C_cost____TDBTYPE__database_username_n_________________vb_mBdps______C_cost____TDBTYPE__database_username_password_n_________________x____________;
0x00001da4 addiu a1, zero, 1 | a1 = 1;
0x00001da8 jalr t9 | t9 ();
0x00001dac lw gp, 0x18(sp) | gp = *(var_18h);
| label_15:
0x00001db0 lw t9, -0x7f14(gp) | t9 = sym.imp.exit;
0x00001db4 addiu a0, zero, 2 | a0 = 2;
0x00001db8 jalr t9 | t9 ();
| label_36:
0x00001dbc lw v1, -0x7ed0(gp) | v1 = *((gp - 8116));
0x00001dc0 lw v0, 0x4180(s2) | v0 = *((s2 + 4192));
0x00001dc4 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001dc8 lw t9, -0x7f7c(gp) | t9 = sym.imp.__fprintf_chk
0x00001dcc lw a0, (v1) | a0 = *(v1);
0x00001dd0 lw a3, 8(v0) | a3 = *((v0 + 2));
0x00001dd4 addiu a2, a2, 0x2fc0 | a2 += str.Error:__s_n;
0x00001dd8 addiu a1, zero, 1 | a1 = 1;
0x00001ddc jalr t9 | t9 ();
0x00001de0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001de4 lw t9, -0x7f14(gp) | t9 = sym.imp.exit;
0x00001de8 move a0, s0 | a0 = s0;
0x00001dec jalr t9 | t9 ();
| label_32:
0x00001df0 lw t9, -0x7f8c(gp) | t9 = sym.imp.apr_strerror;
0x00001df4 move a0, v0 | a0 = v0;
0x00001df8 addiu a2, zero, 0x100 | a2 = aav.0x00000100;
0x00001dfc addiu a1, sp, 0x64 | a1 = sp + 0x64;
0x00001e00 jalr t9 | t9 ();
0x00001e04 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001e08 lw t9, -0x7f14(gp) | t9 = sym.imp.exit;
0x00001e0c addiu a0, zero, 1 | a0 = 1;
0x00001e10 jalr t9 | t9 ();
| label_29:
0x00001e14 lw t9, -0x7ef8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00001e18 jalr t9 | t9 ();
0x00001e1c nop |
| }
[*] Function fprintf used 21 times htdbm