[*] Binary protection state of gpgv

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function sprintf tear down of gpgv

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x10288 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00010288 ()                  | void fcn_00010288 () {
    0x00010288 lui gp, 5                     |     
    0x0001028c addiu gp, gp, 0x1ea8          |     
    0x00010290 addu gp, gp, t9               |     gp += t9;
    0x00010294 addiu sp, sp, -0x80           |     
    0x00010298 sw s4, 0x74(sp)               |     *(var_74h) = s4;
    0x0001029c lw s4, -0x781c(gp)            |     s4 = *((gp - 7687));
    0x000102a0 sw s2, 0x6c(sp)               |     *(var_6ch) = s2;
    0x000102a4 lw s2, -0x7fc8(gp)            |     s2 = *(gp);
    0x000102a8 lw v1, (s4)                   |     v1 = *(s4);
    0x000102ac sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x000102b0 lw v0, (s2)                   |     v0 = *(s2);
    0x000102b4 sw v1, 0x5c(sp)               |     *(var_5ch) = v1;
    0x000102b8 addiu v1, zero, 1             |     v1 = 1;
    0x000102bc sw s3, 0x70(sp)               |     *(var_70h) = s3;
    0x000102c0 sw s1, 0x68(sp)               |     *(var_68h) = s1;
    0x000102c4 sw s0, 0x64(sp)               |     *(var_64h) = s0;
    0x000102c8 sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x000102cc sw s5, 0x78(sp)               |     *(var_78h) = s5;
    0x000102d0 move s1, a0                   |     s1 = a0;
    0x000102d4 move s3, a1                   |     s3 = a1;
    0x000102d8 sw v1, 0x30(a0)               |     *((a0 + 12)) = v1;
    0x000102dc lw s0, 4(a1)                  |     s0 = *((a1 + 1));
                                             |     if (v0 != 0) {
    0x000102e0 bnez v0, 0x1049c              |         goto label_7;
                                             |     }
                                             | label_1:
    0x000102e4 lw t9, -0x7d88(gp)            |     t9 = sym.is_status_enabled;
    0x000102e8 bal 0x21b70                   |     sym_is_status_enabled ();
    0x000102ec nop                           |     
    0x000102f0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000102f4 bnez v0, 0x10448              |         goto label_8;
                                             |     }
                                             | label_0:
    0x000102f8 lw a0, 0x24(s2)               |     a0 = *((s2 + 9));
    0x000102fc lbu v0, 9(s0)                 |     v0 = *((s0 + 9));
                                             |     if (a0 != 0) {
    0x00010300 bnel a0, zero, 0x1039c        |         
    0x00010304 lw v0, 0x1c8(s2)              |         v0 = *(s2);
    0x00010308 lw t9, -0x7f2c(gp)            |         t9 = sym.xmalloc_clear;
                                             |         if (v0 != 0) {
    0x0001030c beqz v0, 0x10398              |             
    0x00010310 addiu a0, zero, 0x34          |             a0 = 0x34;
    0x00010314 jalr t9                       |             t9 ();
    0x00010318 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x0001031c lw a1, 0x1c8(s2)              |             a1 = *(s2);
    0x00010320 move a0, v0                   |             a0 = v0;
    0x00010324 lw t9, -0x7d84(gp)            |             t9 = sym.get_override_session_key;
    0x00010328 sw v0, 0x2c(s1)               |             *((s1 + 11)) = v0;
    0x0001032c bal 0x635c                    |             sym_get_override_session_key ();
    0x00010330 move s5, v0                   |             s5 = v0;
    0x00010334 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 != 0) {
    0x00010338 bnez v0, 0x1052c              |                 goto label_9;
                                             |             }
                                             | label_3:
    0x0001033c lw t9, -0x7f28(gp)            |             t9 = sym.xmalloc;
    0x00010340 addiu a0, zero, 0x14          |             a0 = 0x14;
    0x00010344 jalr t9                       |             t9 ();
    0x00010348 lw a0, (s0)                   |             a0 = *(s0);
    0x0001034c lw v1, 4(s0)                  |             v1 = *((s0 + 1));
    0x00010350 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x00010354 sw a0, 4(v0)                  |             *((v0 + 1)) = a0;
    0x00010358 sw v1, 8(v0)                  |             *((v0 + 2)) = v1;
    0x0001035c lw v1, (s2)                   |             v1 = *(s2);
    0x00010360 lbu a1, 9(s0)                 |             a1 = *((s0 + 9));
    0x00010364 lw a0, 0x48(s1)               |             a0 = *((s1 + 18));
    0x00010368 slti v1, v1, 2                |             v1 = (v1 < 2) ? 1 : 0;
    0x0001036c sw a1, 0xc(v0)                |             *((v0 + 3)) = a1;
    0x00010370 sw zero, 0x10(v0)             |             *((v0 + 4)) = 0;
    0x00010374 sw a0, (v0)                   |             *(v0) = a0;
    0x00010378 sw v0, 0x48(s1)               |             *((s1 + 18)) = v0;
                                             |             if (v1 != 0) {
    0x0001037c bnez v1, 0x103f4              |                 goto label_4;
                                             |             }
    0x00010380 lw a0, -0x7fdc(gp)            |             a0 = *(gp);
    0x00010384 lw t9, -0x7f30(gp)            |             t9 = sym.g10_log_info;
                                             |             /* str.public_key_encrypted_data:_good_DEK_n */
    0x00010388 addiu a0, a0, 0x3a98          |             a0 += 0x3a98;
    0x0001038c jalr t9                       |             t9 ();
    0x00010390 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x00010394 b 0x103f4                     |             goto label_4;
                                             |         }
    0x00010398 lbu v0, 9(s0)                 |         v0 = *((s0 + 9));
                                             |     }
    0x0001039c addiu v1, v0, -0x10           |     v1 = v0 + -0x10;
    0x000103a0 sltiu v1, v1, 2               |     v1 = (v1 < 2) ? 1 : 0;
    0x000103a4 addiu v0, v0, -1              |     v0 += -1;
                                             |     if (v1 != 0) {
    0x000103a8 bnez v1, 0x10434              |         goto label_10;
                                             |     }
    0x000103ac sltiu v0, v0, 3               |     v0 = (v0 < 3) ? 1 : 0;
    0x000103b0 lw v0, 0x2c(s1)               |     v0 = *((s1 + 11));
                                             |     if (v0 == 0) {
    0x000103b4 bnel v0, zero, 0x10438        |         goto label_11;
                                             |     }
    0x000103b8 addiu s2, zero, 4             |     s2 = 4;
                                             |     do {
    0x000103bc lw t9, -0x7f28(gp)            |         t9 = sym.xmalloc;
    0x000103c0 addiu a0, zero, 0x14          |         a0 = 0x14;
    0x000103c4 jalr t9                       |         t9 ();
    0x000103c8 lw a0, (s0)                   |         a0 = *(s0);
    0x000103cc lw v1, 4(s0)                  |         v1 = *((s0 + 1));
    0x000103d0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000103d4 sw v1, 8(v0)                  |         *((v0 + 2)) = v1;
    0x000103d8 sw a0, 4(v0)                  |         *((v0 + 1)) = a0;
    0x000103dc lbu a0, 9(s0)                 |         a0 = *((s0 + 9));
    0x000103e0 lw v1, 0x48(s1)               |         v1 = *((s1 + 18));
    0x000103e4 sw a0, 0xc(v0)                |         *((v0 + 3)) = a0;
    0x000103e8 sw s2, 0x10(v0)               |         *((v0 + 4)) = s2;
    0x000103ec sw v1, (v0)                   |         *(v0) = v1;
    0x000103f0 sw v0, 0x48(s1)               |         *((s1 + 18)) = v0;
                                             | label_4:
    0x000103f4 lw t9, -0x7dd0(gp)            |         t9 = sym.free_packet;
                                             | label_2:
    0x000103f8 move a0, s3                   |         a0 = s3;
    0x000103fc bal 0x9414                    |         sym_free_packet ();
    0x00010400 lw v1, 0x5c(sp)               |         v1 = *(var_5ch);
    0x00010404 lw v0, (s4)                   |         v0 = *(s4);
    0x00010408 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v1 != v0) {
    0x0001040c bne v1, v0, 0x105a8           |             goto label_12;
                                             |         }
    0x00010410 lw ra, 0x7c(sp)               |         ra = *(var_7ch);
    0x00010414 lw s5, 0x78(sp)               |         s5 = *(var_78h);
    0x00010418 lw s4, 0x74(sp)               |         s4 = *(var_74h);
    0x0001041c lw s3, 0x70(sp)               |         s3 = *(var_70h);
    0x00010420 lw s2, 0x6c(sp)               |         s2 = *(var_6ch);
    0x00010424 lw s1, 0x68(sp)               |         s1 = *(var_68h);
    0x00010428 lw s0, 0x64(sp)               |         s0 = *(var_64h);
    0x0001042c addiu sp, sp, 0x80            |         
    0x00010430 jr ra                         |         return v0;
                                             | label_10:
    0x00010434 lw v0, 0x2c(s1)               |         v0 = *((s1 + 11));
                                             |         if (v0 == 0) {
                                             | label_11:
    0x00010438 beql v0, zero, 0x104c8        |             goto label_13;
                                             |         }
    0x0001043c lw v0, (s0)                   |         v0 = *(s0);
                                             | label_6:
    0x00010440 addiu s2, zero, 0x11          |         s2 = 0x11;
    0x00010444 b 0x103bc                     |         
                                             |     } while (1);
                                             | label_8:
    0x00010448 lbu v0, 9(s0)                 |     v0 = *((s0 + 9));
    0x0001044c lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x00010450 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00010454 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x00010458 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x0001045c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00010460 lw v0, (s0)                   |     v0 = *(s0);
    0x00010464 addiu s5, sp, 0x28            |     s5 = sp + 0x28;
                                             |     /* str._08lX_08lX__d_0 */
    0x00010468 addiu a3, a3, 0x3a88          |     a3 += 0x3a88;
    0x0001046c addiu a2, zero, 0x32          |     a2 = 0x32;
    0x00010470 addiu a1, zero, 1             |     a1 = 1;
    0x00010474 move a0, s5                   |     a0 = s5;
    0x00010478 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0001047c jalr t9                       |     t9 ();
    0x00010480 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010484 move a1, s5                   |     a1 = s5;
    0x00010488 lw t9, -0x7d80(gp)            |     t9 = sym.write_status_text;
    0x0001048c addiu a0, zero, 0x17          |     a0 = 0x17;
    0x00010490 bal 0x21b8c                   |     sym_write_status_text ();
    0x00010494 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010498 b 0x102f8                     |     goto label_0;
                                             | label_7:
    0x0001049c lw t9, -0x7e48(gp)            |     t9 = sym.keystr;
    0x000104a0 move a0, s0                   |     a0 = s0;
    0x000104a4 bal 0x19920                   |     sym_keystr ();
    0x000104a8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000104ac move a1, v0                   |     a1 = v0;
    0x000104b0 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000104b4 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.public_key_is__s_n */
    0x000104b8 addiu a0, a0, 0x3a74          |     a0 += 0x3a74;
    0x000104bc jalr t9                       |     t9 ();
    0x000104c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000104c4 b 0x102e4                     |     goto label_1;
                                             | label_13:
    0x000104c8 lw v0, 0x1d8(s2)              |     v0 = *(s2);
                                             |     if (v0 == 0) {
    0x000104cc bnel v0, zero, 0x10588        |         goto label_14;
                                             |     }
    0x000104d0 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x000104d4 lw v0, 0x1d8(s2)              |     v0 = *(s2);
                                             |     if (v0 == 0) {
    0x000104d8 bnel v0, zero, 0x10588        |         goto label_14;
                                             |     }
                                             | label_5:
    0x000104dc lw t9, -0x7dd0(gp)            |     t9 = sym.free_packet;
                                             |     if (a0 != 0) {
    0x000104e0 bnez a0, 0x103f8              |         goto label_2;
                                             |     }
    0x000104e4 lw t9, -0x7d7c(gp)            |     t9 = sym.xmalloc_secure_clear;
    0x000104e8 addiu a0, zero, 0x34          |     a0 = 0x34;
    0x000104ec jalr t9                       |     t9 ();
    0x000104f0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000104f4 sw v0, 0x2c(s1)               |     *((s1 + 11)) = v0;
    0x000104f8 move a1, v0                   |     a1 = v0;
    0x000104fc lw t9, -0x7d78(gp)            |     t9 = sym.get_session_key;
    0x00010500 move a0, s0                   |     a0 = s0;
    0x00010504 bal 0x6354                    |     sym_get_session_key ();
    0x00010508 move s5, v0                   |     s5 = v0;
    0x0001050c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00010510 beqz v0, 0x1033c              |         goto label_3;
                                             |     }
    0x00010514 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x00010518 lw a0, 0x2c(s1)               |     a0 = *((s1 + 11));
    0x0001051c jalr t9                       |     t9 ();
    0x00010520 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010524 sw zero, 0x2c(s1)             |     *((s1 + 11)) = 0;
    0x00010528 b 0x10540                     |     goto label_15;
                                             | label_9:
    0x0001052c lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x00010530 lw a0, 0x2c(s1)               |     a0 = *((s1 + 11));
    0x00010534 jalr t9                       |     t9 ();
    0x00010538 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0001053c sw zero, 0x2c(s1)             |     *((s1 + 11)) = 0;
                                             | label_15:
    0x00010540 addiu v0, zero, -1            |     v0 = -1;
    0x00010544 lw t9, -0x7dd0(gp)            |     t9 = sym.free_packet;
                                             |     if (s5 == v0) {
    0x00010548 beq s5, v0, 0x103f8           |         goto label_2;
                                             |     }
    0x0001054c lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x00010550 addiu a0, zero, 0x14          |     a0 = 0x14;
    0x00010554 jalr t9                       |     t9 ();
    0x00010558 lw a0, (s0)                   |     a0 = *(s0);
    0x0001055c lw v1, 4(s0)                  |     v1 = *((s0 + 1));
    0x00010560 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010564 sw v1, 8(v0)                  |     *((v0 + 2)) = v1;
    0x00010568 sw a0, 4(v0)                  |     *((v0 + 1)) = a0;
    0x0001056c lbu a0, 9(s0)                 |     a0 = *((s0 + 9));
    0x00010570 lw v1, 0x48(s1)               |     v1 = *((s1 + 18));
    0x00010574 sw a0, 0xc(v0)                |     *((v0 + 3)) = a0;
    0x00010578 sw s5, 0x10(v0)               |     *((v0 + 4)) = s5;
    0x0001057c sw v1, (v0)                   |     *(v0) = v1;
    0x00010580 sw v0, 0x48(s1)               |     *((s1 + 18)) = v0;
    0x00010584 b 0x103f4                     |     goto label_4;
                                             | label_14:
    0x00010588 lw t9, -0x7d74(gp)            |     t9 = sym.seckey_available;
                                             |     if (v0 != 0) {
    0x0001058c bnez v0, 0x104dc              |         goto label_5;
                                             |     }
    0x00010590 move a0, s0                   |     a0 = s0;
    0x00010594 bal 0xcb00                    |     sym_seckey_available ();
    0x00010598 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0001059c bnez v0, 0x10440              |         goto label_6;
                                             |     }
    0x000105a0 lw a0, 0x24(s2)               |     a0 = *((s2 + 9));
    0x000105a4 b 0x104dc                     |     goto label_5;
                                             | label_12:
    0x000105a8 lw t9, -0x7834(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x000105ac jalr t9                       |     t9 ();
    0x000105b0 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x1090c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0001090c ()                  | void fcn_0001090c () {
    0x0001090c lui gp, 5                     |     
    0x00010910 addiu gp, gp, 0x1824          |     
    0x00010914 addu gp, gp, t9               |     gp += t9;
    0x00010918 addiu sp, sp, -0x70           |     
    0x0001091c sw s7, 0x64(sp)               |     *(var_64h) = s7;
    0x00010920 lw s7, -0x781c(gp)            |     s7 = *((gp - 7687));
    0x00010924 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00010928 sw ra, 0x6c(sp)               |     *(var_6ch) = ra;
    0x0001092c lw v0, (s7)                   |     v0 = *(s7);
    0x00010930 sw fp, 0x68(sp)               |     *(var_68h) = fp;
    0x00010934 sw s6, 0x60(sp)               |     *(var_60h) = s6;
    0x00010938 sw s5, 0x5c(sp)               |     *(var_5ch) = s5;
    0x0001093c sw s4, 0x58(sp)               |     *(var_58h) = s4;
    0x00010940 sw s3, 0x54(sp)               |     *(var_54h) = s3;
    0x00010944 sw s2, 0x50(sp)               |     *(var_50h) = s2;
    0x00010948 sw s1, 0x4c(sp)               |     *(var_4ch) = s1;
    0x0001094c sw s0, 0x48(sp)               |     *(var_48h) = s0;
    0x00010950 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x00010954 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (a0 == 0) {
    0x00010958 beqz a0, 0x10b7c              |         goto label_5;
                                             |     }
    0x0001095c lw s5, -0x7fdc(gp)            |     s5 = *(gp);
    0x00010960 lw s4, -0x7fdc(gp)            |     s4 = *(gp);
    0x00010964 lw s3, -0x7fdc(gp)            |     s3 = *(gp);
    0x00010968 sw v0, 0x2c(sp)               |     *(var_2ch_3) = v0;
                                             |     /* str.public_key_decryption_failed:__s_n */
    0x0001096c addiu v0, s5, 0x3c14          |     v0 = s5 + 0x3c14;
    0x00010970 move fp, a0                   |     fp = a0;
    0x00010974 move s2, a1                   |     s2 = a1;
    0x00010978 lw s6, -0x7fdc(gp)            |     s6 = *(gp);
    0x0001097c sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
                                             |     /* str.encrypted_with__s_key__ID__s_n */
    0x00010980 addiu s4, s4, 0x3be8          |     s4 += 0x3be8;
                                             |     /* esilref: '[?]' */
    0x00010984 addiu s3, s3, 0x3ba4          |     s3 += 0x3ba4;
    0x00010988 b 0x10abc                     |     
                                             |     if (v0 != 0) {
                                             |         while (s2 != 0) {
    0x0001098c beql v0, zero, 0x10ab4        |             
    0x00010990 lw fp, (fp)                   |             fp = *(fp);
    0x00010994 lw t9, -0x7d50(gp)            |             t9 = sym.pubkey_algo_to_string;
                                             | label_0:
    0x00010998 lw a0, 0xc(fp)                |             a0 = *(arg_ch);
    0x0001099c addiu s1, fp, 4               |             s1 = fp + 4;
    0x000109a0 bal 0x271dc                   |             sym_pubkey_algo_to_string ();
    0x000109a4 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000109a8 addiu a0, zero, 0x80          |             a0 = 0x80;
    0x000109ac move s5, v0                   |             s5 = v0;
    0x000109b0 lw t9, -0x7f2c(gp)            |             t9 = sym.xmalloc_clear;
                                             |             if (s5 != 0) {
    0x000109b4 movz s5, s3, s5               |                 s5 = s3;
                                             |             }
    0x000109b8 jalr t9                       |             t9 ();
    0x000109bc lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000109c0 move s0, v0                   |             s0 = v0;
    0x000109c4 lw v0, 0xc(fp)                |             v0 = *(arg_ch);
    0x000109c8 lw t9, -0x7e34(gp)            |             t9 = sym.get_pubkey;
    0x000109cc sb v0, 0x1f(s0)               |             *((s0 + 31)) = v0;
    0x000109d0 move a1, s1                   |             a1 = s1;
    0x000109d4 move a0, s0                   |             a0 = s0;
    0x000109d8 bal 0xc768                    |             sym_get_pubkey ();
    0x000109dc lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 != 0) {
    0x000109e0 bnez v0, 0x10ad4              |                 goto label_6;
                                             |             }
    0x000109e4 lw t9, -0x7d4c(gp)            |             t9 = sym.nbits_from_pk;
    0x000109e8 move a0, s0                   |             a0 = s0;
    0x000109ec bal 0x19f48                   |             sym_nbits_from_pk ();
    0x000109f0 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000109f4 move a0, s0                   |             a0 = s0;
    0x000109f8 lw t9, -0x7e6c(gp)            |             t9 = sym.keystr_from_pk;
    0x000109fc sw v0, 0x24(sp)               |             *(var_24h_3) = v0;
    0x00010a00 bal 0x19dd4                   |             sym_keystr_from_pk ();
    0x00010a04 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00010a08 lw a0, (s0)                   |             a0 = *(s0);
    0x00010a0c lw t9, -0x7d48(gp)            |             t9 = sym.strtimestamp;
    0x00010a10 sw v0, 0x20(sp)               |             *(var_20h_4) = v0;
    0x00010a14 jalr t9                       |             t9 ();
    0x00010a18 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00010a1c lw a3, 0x20(sp)               |             a3 = *(var_20h_4);
    0x00010a20 lw a1, 0x24(sp)               |             a1 = *(var_24h_3);
    0x00010a24 lw t9, -0x7f30(gp)            |             t9 = sym.g10_log_info;
    0x00010a28 move a2, s5                   |             a2 = s5;
    0x00010a2c sw v0, 0x10(sp)               |             *(var_10h_4) = v0;
                                             |             /* str.encrypted_with__u_bit__s_key__ID__s__created__s_n */
    0x00010a30 addiu a0, s6, 0x3ba8          |             a0 = s6 + 0x3ba8;
    0x00010a34 jalr t9                       |             t9 ();
    0x00010a38 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00010a3c lw t9, -0x7d44(gp)            |             t9 = sym.get_user_id_native;
    0x00010a40 move a0, s1                   |             a0 = s1;
    0x00010a44 bal 0xd254                    |             sym_get_user_id_native ();
    0x00010a48 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00010a4c lw t9, -0x7d40(gp)            |             t9 = sym.log_stream;
    0x00010a50 move s1, v0                   |             s1 = v0;
    0x00010a54 jalr t9                       |             t9 ();
    0x00010a58 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00010a5c move a3, s1                   |             a3 = s1;
    0x00010a60 addiu a1, zero, 1             |             a1 = 1;
    0x00010a64 lw a2, -0x7fdc(gp)            |             a2 = *(gp);
    0x00010a68 lw t9, -0x7920(gp)            |             t9 = sym.imp.__fprintf_chk;
                                             |             /* str.________s__n */
    0x00010a6c addiu a2, a2, 0x3bdc          |             a2 += 0x3bdc;
    0x00010a70 move a0, v0                   |             a0 = v0;
    0x00010a74 jalr t9                       |             t9 ();
    0x00010a78 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00010a7c lw t9, -0x7f24(gp)            |             t9 = sym.xfree;
    0x00010a80 move a0, s1                   |             a0 = s1;
    0x00010a84 jalr t9                       |             t9 ();
    0x00010a88 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00010a8c lw t9, -0x7e74(gp)            |             t9 = sym.free_public_key;
    0x00010a90 move a0, s0                   |             a0 = s0;
    0x00010a94 bal 0x91c0                    |             sym_free_public_key ();
    0x00010a98 lw a0, 0x10(fp)               |             a0 = *(arg_10h);
    0x00010a9c addiu v0, zero, 0x11          |             v0 = 0x11;
    0x00010aa0 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (a0 == v0) {
    0x00010aa4 beq a0, v0, 0x10b18           |                 goto label_7;
                                             |             }
                                             | label_2:
    0x00010aa8 lw t9, -0x7f88(gp)            |             t9 = sym.g10_errstr;
                                             |             if (a0 != 0) {
    0x00010aac bnez a0, 0x10bb8              |                 goto label_8;
                                             |             }
                                             | label_3:
    0x00010ab0 lw fp, (fp)                   |             fp = *(fp);
                                             |         }
                                             |         if (fp == 0) {
                                             | label_1:
    0x00010ab4 beqz fp, 0x10b7c              |             goto label_5;
                                             |         }
    0x00010ab8 nop                           |         
                                             | label_4:
    0x00010abc lw v0, 0x10(fp)               |         v0 = *(arg_10h);
    0x00010ac0 bnez s2, 0x1098c              |         
                                             |     }
    0x00010ac4 lw t9, -0x7d50(gp)            |     t9 = sym.pubkey_algo_to_string;
                                             |     if (v0 == 0) {
    0x00010ac8 beqz v0, 0x10998              |         goto label_0;
                                             |     }
    0x00010acc lw fp, (fp)                   |     fp = *(fp);
    0x00010ad0 b 0x10ab4                     |     goto label_1;
                                             | label_6:
    0x00010ad4 lw t9, -0x7e48(gp)            |     t9 = sym.keystr;
    0x00010ad8 move a0, s1                   |     a0 = s1;
    0x00010adc bal 0x19920                   |     sym_keystr ();
    0x00010ae0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00010ae4 move a2, v0                   |     a2 = v0;
    0x00010ae8 move a1, s5                   |     a1 = s5;
    0x00010aec lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
    0x00010af0 move a0, s4                   |     a0 = s4;
    0x00010af4 jalr t9                       |     t9 ();
    0x00010af8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00010afc lw t9, -0x7e74(gp)            |     t9 = sym.free_public_key;
    0x00010b00 move a0, s0                   |     a0 = s0;
    0x00010b04 bal 0x91c0                    |     sym_free_public_key ();
    0x00010b08 lw a0, 0x10(fp)               |     a0 = *(arg_10h);
    0x00010b0c addiu v0, zero, 0x11          |     v0 = 0x11;
    0x00010b10 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 != v0) {
    0x00010b14 bne a0, v0, 0x10aa8           |         goto label_2;
                                             |     }
                                             | label_7:
    0x00010b18 lw t9, -0x7d88(gp)            |     t9 = sym.is_status_enabled;
    0x00010b1c bal 0x21b70                   |     sym_is_status_enabled ();
    0x00010b20 nop                           |     
    0x00010b24 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00010b28 beqz v0, 0x10ab0              |         goto label_3;
                                             |     }
    0x00010b2c lw v0, 8(fp)                  |     v0 = *(arg_8h);
    0x00010b30 lw v1, 0x2c(sp)               |     v1 = *(var_2ch_3);
    0x00010b34 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
    0x00010b38 lw v0, 4(fp)                  |     v0 = *(arg_4h);
    0x00010b3c lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x00010b40 addiu s0, sp, 0x30            |     s0 = sp + 0x30;
    0x00010b44 addiu a3, v1, 0x3c08          |     a3 = v1 + 0x3c08;
    0x00010b48 addiu a2, zero, 0x14          |     a2 = 0x14;
    0x00010b4c addiu a1, zero, 1             |     a1 = 1;
    0x00010b50 move a0, s0                   |     a0 = s0;
    0x00010b54 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00010b58 jalr t9                       |     t9 ();
    0x00010b5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00010b60 move a1, s0                   |     a1 = s0;
    0x00010b64 lw t9, -0x7d80(gp)            |     t9 = sym.write_status_text;
    0x00010b68 addiu a0, zero, 0x1b          |     a0 = 0x1b;
    0x00010b6c bal 0x21b8c                   |     sym_write_status_text ();
    0x00010b70 lw fp, (fp)                   |     fp = *(fp);
    0x00010b74 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (fp != 0) {
    0x00010b78 bnez fp, 0x10abc              |         goto label_4;
                                             |     }
                                             | label_5:
    0x00010b7c lw v1, 0x44(sp)               |     v1 = *(var_44h);
    0x00010b80 lw v0, (s7)                   |     v0 = *(s7);
    0x00010b84 lw ra, 0x6c(sp)               |     ra = *(var_6ch);
                                             |     if (v1 == v0) {
    0x00010b88 bne v1, v0, 0x10bdc           |         
    0x00010b8c lw fp, 0x68(sp)               |         fp = *(var_68h);
    0x00010b90 lw s7, 0x64(sp)               |         s7 = *(var_64h);
    0x00010b94 lw s6, 0x60(sp)               |         s6 = *(var_60h);
    0x00010b98 lw s5, 0x5c(sp)               |         s5 = *(var_5ch);
    0x00010b9c lw s4, 0x58(sp)               |         s4 = *(var_58h);
    0x00010ba0 lw s3, 0x54(sp)               |         s3 = *(var_54h);
    0x00010ba4 lw s2, 0x50(sp)               |         s2 = *(var_50h);
    0x00010ba8 lw s1, 0x4c(sp)               |         s1 = *(var_4ch);
    0x00010bac lw s0, 0x48(sp)               |         s0 = *(var_48h);
    0x00010bb0 addiu sp, sp, 0x70            |         
    0x00010bb4 jr ra                         |         return v1;
                                             | label_8:
    0x00010bb8 jalr t9                       |         t9 ();
    0x00010bbc nop                           |         
    0x00010bc0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00010bc4 lw a0, 0x28(sp)               |         a0 = *(var_28h_2);
    0x00010bc8 lw t9, -0x7f30(gp)            |         t9 = sym.g10_log_info;
    0x00010bcc move a1, v0                   |         a1 = v0;
    0x00010bd0 jalr t9                       |         t9 ();
    0x00010bd4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00010bd8 b 0x10ab0                     |         goto label_3;
                                             |     }
    0x00010bdc lw t9, -0x7834(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00010be0 jalr t9                       |     t9 ();
    0x00010be4 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x10be8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00010be8 ()                  | void fcn_00010be8 () {
    0x00010be8 lui gp, 5                     |     
    0x00010bec addiu gp, gp, 0x1548          |     
    0x00010bf0 addu gp, gp, t9               |     gp += t9;
    0x00010bf4 addiu sp, sp, -0x68           |     
    0x00010bf8 sw s3, 0x54(sp)               |     *(var_54h_2) = s3;
    0x00010bfc sw s2, 0x50(sp)               |     *(var_50h_2) = s2;
    0x00010c00 lw s3, -0x781c(gp)            |     s3 = *((gp - 7687));
    0x00010c04 lw s2, -0x7fc8(gp)            |     s2 = *(gp);
    0x00010c08 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00010c0c lw v1, (s3)                   |     v1 = *(s3);
    0x00010c10 lw v0, 4(s2)                  |     v0 = *((s2 + 1));
    0x00010c14 sw s4, 0x58(sp)               |     *(var_58h_2) = s4;
    0x00010c18 sw s0, 0x48(sp)               |     *(var_48h_2) = s0;
    0x00010c1c sw ra, 0x64(sp)               |     *(var_64h_2) = ra;
    0x00010c20 sw s6, 0x60(sp)               |     *(var_60h_2) = s6;
    0x00010c24 sw s5, 0x5c(sp)               |     *(var_5ch_2) = s5;
    0x00010c28 sw s1, 0x4c(sp)               |     *(var_4ch_2) = s1;
    0x00010c2c move s0, a0                   |     s0 = a0;
    0x00010c30 move s4, a1                   |     s4 = a1;
    0x00010c34 sw v1, 0x44(sp)               |     *(var_44h_2) = v1;
    0x00010c38 lw t9, -0x7d3c(gp)            |     t9 = sym.write_status;
                                             |     if (v0 != 0) {
    0x00010c3c bnez v0, 0x10c88              |         goto label_11;
                                             |     }
    0x00010c40 lw a1, 0x44(a0)               |     a1 = *((a0 + 17));
    0x00010c44 sltiu v0, a1, 2               |     v0 = (a1 < 2) ? 1 : 0;
    0x00010c48 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 == 0) {
    0x00010c4c beqz v0, 0x10d84              |         goto label_12;
                                             |     }
                                             |     if (a1 == v0) {
    0x00010c50 beql a1, v0, 0x10f90          |         goto label_13;
                                             |     }
    0x00010c54 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     do {
                                             | label_7:
    0x00010c58 lw s1, -0x7f10(gp)            |         s1 = *(gp);
    0x00010c5c lw a0, 0x48(s0)               |         a0 = *((s0 + 18));
                                             |         /* fcn.0001090c */
    0x00010c60 addiu s1, s1, 0x90c           |         s1 += 0x90c;
    0x00010c64 move t9, s1                   |         t9 = s1;
    0x00010c68 addiu a1, zero, 1             |         a1 = 1;
    0x00010c6c bal 0x1090c                   |         fcn_0001090c ();
    0x00010c70 lw a0, 0x48(s0)               |         a0 = *((s0 + 18));
    0x00010c74 move t9, s1                   |         t9 = s1;
    0x00010c78 move a1, zero                 |         a1 = 0;
    0x00010c7c bal 0x1090c                   |         fcn_0001090c ();
    0x00010c80 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00010c84 lw t9, -0x7d3c(gp)            |         t9 = sym.write_status;
                                             | label_11:
    0x00010c88 addiu a0, zero, 0x29          |         a0 = 0x29;
    0x00010c8c bal 0x21e10                   |         sym_write_status ();
    0x00010c90 lw s1, 0x24(s2)               |         s1 = *((s2 + 9));
    0x00010c94 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00010c98 lw a2, 0x2c(s0)               |         a2 = *((s0 + 11));
                                             |         if (s1 == 0) {
    0x00010c9c bnez s1, 0x10d18              |             
                                             |             if (a2 == 0) {
    0x00010ca0 beql a2, zero, 0x10ec0        |                 goto label_14;
                                             |             }
    0x00010ca4 lw v0, 0x30(s0)               |             v0 = *((s0 + 12));
                                             | label_1:
    0x00010ca8 lw t9, -0x7d38(gp)            |             t9 = sym.decrypt_data;
    0x00010cac lw a1, 4(s4)                  |             a1 = *((s4 + 1));
    0x00010cb0 move a0, s0                   |             a0 = s0;
    0x00010cb4 bal 0x6364                    |             sym_decrypt_data ();
    0x00010cb8 move s5, v0                   |             s5 = v0;
    0x00010cbc addiu v0, zero, -1            |             v0 = -1;
    0x00010cc0 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (s5 == v0) {
    0x00010cc4 beq s5, v0, 0x10eb8           |                 goto label_15;
                                             |             }
    0x00010cc8 lw t9, -0x7d3c(gp)            |             t9 = sym.write_status;
                                             |             if (s5 == 0) {
    0x00010ccc beqz s5, 0x10d9c              |                 goto label_5;
                                             |             }
                                             | label_8:
    0x00010cd0 addiu v0, zero, 8             |             v0 = 8;
                                             |             if (s5 == v0) {
    0x00010cd4 beql s5, v0, 0x10f44          |                 goto label_16;
                                             |             }
    0x00010cd8 lw v0, 0x1c0(s2)              |             v0 = *(s2);
                                             | label_6:
    0x00010cdc lw t9, -0x7d3c(gp)            |             t9 = sym.write_status;
    0x00010ce0 addiu a0, zero, 0x1d          |             a0 = 0x1d;
    0x00010ce4 bal 0x21e10                   |             sym_write_status ();
    0x00010ce8 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x00010cec lw t9, -0x7f88(gp)            |             t9 = sym.g10_errstr;
    0x00010cf0 move a0, s5                   |             a0 = s5;
    0x00010cf4 jalr t9                       |             t9 ();
    0x00010cf8 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x00010cfc move a1, v0                   |             a1 = v0;
    0x00010d00 lw a0, -0x7fdc(gp)            |             a0 = *(gp);
    0x00010d04 lw t9, -0x7f84(gp)            |             t9 = sym.g10_log_error;
                                             |             /* str.decryption_failed:__s_n */
    0x00010d08 addiu a0, a0, 0x3d7c          |             a0 += 0x3d7c;
    0x00010d0c jalr t9                       |             t9 ();
    0x00010d10 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x00010d14 lw a2, 0x2c(s0)               |             a2 = *((s0 + 11));
                                             |         }
                                             | label_0:
    0x00010d18 lw t9, -0x7f24(gp)            |         t9 = sym.xfree;
                                             | label_9:
    0x00010d1c move a0, a2                   |         a0 = a2;
    0x00010d20 jalr t9                       |         t9 ();
    0x00010d24 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00010d28 move a0, s4                   |         a0 = s4;
    0x00010d2c lw t9, -0x7dd0(gp)            |         t9 = sym.free_packet;
    0x00010d30 sw zero, 0x2c(s0)             |         *((s0 + 11)) = 0;
    0x00010d34 bal 0x9414                    |         sym_free_packet ();
    0x00010d38 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00010d3c sw zero, 0x30(s0)             |         *((s0 + 12)) = 0;
    0x00010d40 lw t9, -0x7d3c(gp)            |         t9 = sym.write_status;
    0x00010d44 addiu a0, zero, 0x2a          |         a0 = 0x2a;
    0x00010d48 bal 0x21e10                   |         sym_write_status ();
    0x00010d4c lw v1, 0x44(sp)               |         v1 = *(var_44h_2);
    0x00010d50 lw v0, (s3)                   |         v0 = *(s3);
    0x00010d54 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v1 != v0) {
    0x00010d58 bne v1, v0, 0x110e4           |             goto label_17;
                                             |         }
    0x00010d5c lw ra, 0x64(sp)               |         ra = *(var_64h_2);
    0x00010d60 lw s6, 0x60(sp)               |         s6 = *(var_60h_2);
    0x00010d64 lw s5, 0x5c(sp)               |         s5 = *(var_5ch_2);
    0x00010d68 lw s4, 0x58(sp)               |         s4 = *(var_58h_2);
    0x00010d6c lw s3, 0x54(sp)               |         s3 = *(var_54h_2);
    0x00010d70 lw s2, 0x50(sp)               |         s2 = *(var_50h_2);
    0x00010d74 lw s1, 0x4c(sp)               |         s1 = *(var_4ch_2);
    0x00010d78 lw s0, 0x48(sp)               |         s0 = *(var_48h_2);
    0x00010d7c addiu sp, sp, 0x68            |         
    0x00010d80 jr ra                         |         return v0;
                                             | label_12:
    0x00010d84 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x00010d88 lw t9, -0x7f30(gp)            |         t9 = sym.g10_log_info;
                                             |         /* str.encrypted_with__lu_passphrases_n */
    0x00010d8c addiu a0, a0, 0x3c38          |         a0 += 0x3c38;
    0x00010d90 jalr t9                       |         t9 ();
    0x00010d94 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00010d98 b 0x10c58                     |         
                                             |     } while (1);
                                             | label_5:
    0x00010d9c addiu a0, zero, 0x1e          |     a0 = 0x1e;
    0x00010da0 bal 0x21e10                   |     sym_write_status ();
    0x00010da4 lw v0, (s2)                   |     v0 = *(s2);
    0x00010da8 slti v0, v0, 2                |     v0 = (v0 < 2) ? 1 : 0;
    0x00010dac lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00010db0 beqz v0, 0x10f08              |         goto label_18;
                                             |     }
    0x00010db4 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x00010db8 lbu v0, 0xa(v0)               |     v0 = *((v0 + 10));
                                             |     if (v0 != 0) {
    0x00010dbc beql v0, zero, 0x10dd0        |         
    0x00010dc0 lw v0, 0x170(s2)              |         v0 = *(s2);
                                             | label_3:
    0x00010dc4 lw t9, -0x7d3c(gp)            |         t9 = sym.write_status;
                                             |         if (s5 == 0) {
    0x00010dc8 beqz s5, 0x10fa4              |             goto label_19;
                                             |         }
                                             | label_2:
    0x00010dcc lw v0, 0x170(s2)              |         v0 = *(s2);
                                             |     }
                                             |     if (v0 == 0) {
    0x00010dd0 beql v0, zero, 0x10f30        |         goto label_20;
                                             |     }
    0x00010dd4 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             | label_4:
    0x00010dd8 lw v0, 0x1cc(s2)              |     v0 = *(s2);
    0x00010ddc lw a2, 0x2c(s0)               |     a2 = *((s0 + 11));
                                             |     if (v0 == 0) {
    0x00010de0 beqz v0, 0x10d18              |         goto label_0;
                                             |     }
    0x00010de4 lw a0, 4(a2)                  |     a0 = *((a2 + 1));
    0x00010de8 lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x00010dec addiu a0, a0, 0xa             |     a0 += 0xa;
    0x00010df0 sll a0, a0, 1                 |     a0 <<= 1;
    0x00010df4 jalr t9                       |     t9 ();
    0x00010df8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010dfc lw v1, 0x2c(s0)               |     v1 = *((s0 + 11));
    0x00010e00 move s5, v0                   |     s5 = v0;
    0x00010e04 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x00010e08 lw v0, (v1)                   |     v0 = *(v1);
    0x00010e0c lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x00010e10 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
                                             |     /* esilref: '&d:' */
    0x00010e14 addiu a3, a3, 0x3d28          |     a3 += 0x3d28;
    0x00010e18 addiu a2, zero, -1            |     a2 = -1;
    0x00010e1c addiu a1, zero, 1             |     a1 = 1;
    0x00010e20 move a0, s5                   |     a0 = s5;
    0x00010e24 jalr t9                       |     t9 ();
    0x00010e28 lw s2, 0x2c(s0)               |     s2 = *((s0 + 11));
    0x00010e2c lw v0, 4(s2)                  |     v0 = *((s2 + 1));
    0x00010e30 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 <= 0) {
    0x00010e34 blez v0, 0x10e8c              |         goto label_21;
                                             |     }
    0x00010e38 lw s6, -0x7fdc(gp)            |     s6 = *(gp);
                                             |     /* str._02X */
    0x00010e3c addiu s6, s6, 0x3d40          |     s6 += 0x3d40;
                                             |     do {
    0x00010e40 lw t9, -0x78a0(gp)            |         t9 = sym.imp.strlen;
    0x00010e44 move a0, s5                   |         a0 = s5;
    0x00010e48 jalr t9                       |         t9 ();
    0x00010e4c addu s2, s2, s1               |         s2 += s1;
    0x00010e50 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00010e54 lbu v1, 0x14(s2)              |         v1 = *((s2 + 20));
    0x00010e58 move a3, s6                   |         a3 = s6;
    0x00010e5c lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x00010e60 sw v1, 0x10(sp)               |         *(var_10h_3) = v1;
    0x00010e64 addiu a2, zero, -1            |         a2 = -1;
    0x00010e68 addiu a1, zero, 1             |         a1 = 1;
    0x00010e6c addu a0, s5, v0               |         a0 = s5 + v0;
    0x00010e70 jalr t9                       |         t9 ();
    0x00010e74 lw s2, 0x2c(s0)               |         s2 = *((s0 + 11));
    0x00010e78 addiu s1, s1, 1               |         s1++;
    0x00010e7c lw v0, 4(s2)                  |         v0 = *((s2 + 1));
    0x00010e80 slt v0, s1, v0                |         v0 = (s1 < v0) ? 1 : 0;
    0x00010e84 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00010e88 bnez v0, 0x10e40              |         
                                             |     } while (v0 != 0);
                                             | label_21:
    0x00010e8c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00010e90 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
    0x00010e94 move a1, s5                   |     a1 = s5;
                                             |     /* str.session_key:___s_n */
    0x00010e98 addiu a0, a0, 0x3d2c          |     a0 += 0x3d2c;
    0x00010e9c jalr t9                       |     t9 ();
    0x00010ea0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010ea4 move a1, s5                   |     a1 = s5;
    0x00010ea8 lw t9, -0x7d80(gp)            |     t9 = sym.write_status_text;
    0x00010eac addiu a0, zero, 0x34          |     a0 = 0x34;
    0x00010eb0 bal 0x21b8c                   |     sym_write_status_text ();
    0x00010eb4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_15:
    0x00010eb8 lw a2, 0x2c(s0)               |     a2 = *((s0 + 11));
    0x00010ebc b 0x10d18                     |     goto label_0;
                                             | label_14:
    0x00010ec0 sw a2, 0x2c(sp)               |     *(var_2ch_2) = a2;
                                             |     if (v0 != 0) {
    0x00010ec4 bnez v0, 0x10f88              |         goto label_22;
                                             |     }
    0x00010ec8 lw v0, 0x1c8(s2)              |     v0 = *(s2);
    0x00010ecc lw t9, -0x7f2c(gp)            |     t9 = sym.xmalloc_clear;
                                             |     if (v0 == 0) {
    0x00010ed0 beqz v0, 0x10fb4              |         goto label_23;
                                             |     }
    0x00010ed4 addiu a0, zero, 0x34          |     a0 = 0x34;
    0x00010ed8 jalr t9                       |     t9 ();
    0x00010edc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010ee0 lw a1, 0x1c8(s2)              |     a1 = *(s2);
    0x00010ee4 move a0, v0                   |     a0 = v0;
    0x00010ee8 lw t9, -0x7d84(gp)            |     t9 = sym.get_override_session_key;
    0x00010eec sw v0, 0x2c(s0)               |     *((s0 + 11)) = v0;
    0x00010ef0 bal 0x635c                    |     sym_get_override_session_key ();
    0x00010ef4 move s5, v0                   |     s5 = v0;
    0x00010ef8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00010efc bnez v0, 0x11028              |         goto label_24;
                                             |     }
    0x00010f00 lw a2, 0x2c(s0)               |     a2 = *((s0 + 11));
    0x00010f04 b 0x10ca8                     |     goto label_1;
                                             | label_18:
    0x00010f08 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00010f0c lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.decryption_okay_n */
    0x00010f10 addiu a0, a0, 0x3ce4          |     a0 += 0x3ce4;
    0x00010f14 jalr t9                       |     t9 ();
    0x00010f18 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x00010f1c lbu v0, 0xa(v0)               |     v0 = *((v0 + 10));
    0x00010f20 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00010f24 beqz v0, 0x10dcc              |         goto label_2;
                                             |     }
    0x00010f28 b 0x10dc4                     |     goto label_3;
    0x00010f2c nop                           |     
                                             | label_20:
    0x00010f30 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.WARNING:_message_was_not_integrity_protected_n */
    0x00010f34 addiu a0, a0, 0x3cf8          |     a0 += 0x3cf8;
    0x00010f38 jalr t9                       |     t9 ();
    0x00010f3c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010f40 b 0x10dd8                     |     goto label_4;
                                             | label_16:
    0x00010f44 lw t9, -0x7d3c(gp)            |     t9 = sym.write_status;
                                             |     if (v0 != 0) {
    0x00010f48 bnez v0, 0x10d9c              |         goto label_5;
                                             |     }
    0x00010f4c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00010f50 lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
                                             |     /* str.WARNING:_encrypted_message_has_been_manipulated__n */
    0x00010f54 addiu a0, a0, 0x3d48          |     a0 += 0x3d48;
    0x00010f58 jalr t9                       |     t9 ();
    0x00010f5c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010f60 lw t9, -0x7d3c(gp)            |     t9 = sym.write_status;
    0x00010f64 addiu a0, zero, 0x22          |     a0 = 0x22;
    0x00010f68 bal 0x21e10                   |     sym_write_status ();
    0x00010f6c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010f70 lw t9, -0x7d3c(gp)            |     t9 = sym.write_status;
    0x00010f74 addiu a0, zero, 0x1d          |     a0 = 0x1d;
    0x00010f78 bal 0x21e10                   |     sym_write_status ();
    0x00010f7c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010f80 lw a2, 0x2c(s0)               |     a2 = *((s0 + 11));
    0x00010f84 b 0x10d18                     |     goto label_0;
                                             | label_22:
    0x00010f88 addiu s5, zero, 0x11          |     s5 = 0x11;
    0x00010f8c b 0x10cdc                     |     goto label_6;
                                             | label_13:
    0x00010f90 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.encrypted_with_1_passphrase_n */
    0x00010f94 addiu a0, a0, 0x3c58          |     a0 += 0x3c58;
    0x00010f98 jalr t9                       |     t9 ();
    0x00010f9c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010fa0 b 0x10c58                     |     goto label_7;
                                             | label_19:
    0x00010fa4 addiu a0, zero, 0x21          |     a0 = 0x21;
    0x00010fa8 bal 0x21e10                   |     sym_write_status ();
    0x00010fac lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010fb0 b 0x10dd8                     |     goto label_4;
                                             | label_23:
    0x00010fb4 lw s5, 0x6c(s2)               |     s5 = *((s2 + 27));
    0x00010fb8 lw t9, -0x7d34(gp)            |     t9 = sym.check_cipher_algo;
                                             |     if (s5 == 0) {
    0x00010fbc beqz s5, 0x11050              |         goto label_25;
                                             |     }
    0x00010fc0 lw t9, -0x7d70(gp)            |     t9 = sym.free_notation;
    0x00010fc4 move a0, s5                   |     a0 = s5;
    0x00010fc8 bal 0x63c0                    |     sym_cipher_algo_to_string ();
    0x00010fcc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010fd0 move a1, v0                   |     a1 = v0;
    0x00010fd4 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00010fd8 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.assuming__s_encrypted_data_n */
    0x00010fdc addiu a0, a0, 0x3c78          |     a0 += 0x3c78;
    0x00010fe0 jalr t9                       |     t9 ();
    0x00010fe4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00010fe8 move a3, zero                 |     a3 = 0;
                                             | label_10:
    0x00010fec lw t9, -0x7d68(gp)            |     t9 = sym.passphrase_to_dek;
    0x00010ff0 move a2, s5                   |     a2 = s5;
    0x00010ff4 sw zero, 0x18(sp)             |     *(var_18h_2) = 0;
    0x00010ff8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00010ffc sw zero, 0x10(sp)             |     *(var_10h_3) = 0;
    0x00011000 move a1, zero                 |     a1 = 0;
    0x00011004 move a0, zero                 |     a0 = 0;
    0x00011008 bal 0x637c                    |     sym_passphrase_to_dek ();
    0x0001100c move a2, v0                   |     a2 = v0;
    0x00011010 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00011014 sw v0, 0x2c(s0)               |     *((s0 + 11)) = v0;
                                             |     if (v0 == 0) {
    0x00011018 beqz v0, 0x10ca8              |         goto label_1;
                                             |     }
    0x0001101c addiu v0, zero, 1             |     v0 = 1;
    0x00011020 sw v0, 8(a2)                  |     *((a2 + 2)) = v0;
    0x00011024 b 0x10ca8                     |     goto label_1;
                                             | label_24:
    0x00011028 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x0001102c lw a0, 0x2c(s0)               |     a0 = *((s0 + 11));
    0x00011030 jalr t9                       |     t9 ();
    0x00011034 addiu v0, zero, -1            |     v0 = -1;
    0x00011038 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0001103c sw zero, 0x2c(s0)             |     *((s0 + 11)) = 0;
    0x00011040 lw a2, 0x2c(sp)               |     a2 = *(var_2ch_2);
                                             |     if (s5 != v0) {
    0x00011044 bne s5, v0, 0x10cd0           |         goto label_8;
                                             |     }
    0x00011048 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x0001104c b 0x10d1c                     |     goto label_9;
                                             | label_25:
    0x00011050 addiu a0, zero, 1             |     a0 = 1;
    0x00011054 bal 0x63d8                    |     sym_check_cipher_algo ();
    0x00011058 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0001105c beqz v0, 0x1109c              |         
    0x00011060 lw s5, 0x6c(s2)               |         s5 = *((s2 + 27));
                                             |         if (s5 != 0) {
    0x00011064 beql s5, zero, 0x1106c        |             
    0x00011068 lw s5, 0x114(s2)              |             s5 = *(s2);
                                             |         }
    0x0001106c lw t9, -0x7d70(gp)            |         t9 = sym.free_notation;
    0x00011070 move a0, s5                   |         a0 = s5;
    0x00011074 bal 0x63c0                    |         sym_cipher_algo_to_string ();
    0x00011078 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0001107c move a1, v0                   |         a1 = v0;
    0x00011080 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x00011084 lw t9, -0x7f30(gp)            |         t9 = sym.g10_log_info;
                                             |         /* str.IDEA_cipher_unavailable__optimistically_attempting_to_use__s_instead_n */
    0x00011088 addiu a0, a0, 0x3c94          |         a0 += 0x3c94;
    0x0001108c jalr t9                       |         t9 ();
    0x00011090 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00011094 move a3, zero                 |         a3 = 0;
    0x00011098 b 0x10fec                     |         goto label_10;
                                             |     }
    0x0001109c lw v0, 0x110(s2)              |     v0 = *(s2);
    0x000110a0 move a3, zero                 |     a3 = 0;
                                             |     if (v0 != 0) {
    0x000110a4 bnel v0, zero, 0x110b8        |         
    0x000110a8 addiu v0, zero, 1             |         v0 = 1;
    0x000110ac sw zero, 0x30(sp)             |         *(var_30h_2) = 0;
    0x000110b0 sb v0, 0x34(sp)               |         *(var_34h_2) = v0;
    0x000110b4 addiu a3, sp, 0x30            |         a3 = sp + 0x30;
                                             |     }
    0x000110b8 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x000110bc lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000110c0 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
    0x000110c4 sw a3, 0x2c(sp)               |     *(var_2ch_2) = a3;
                                             |     /* str.IDEA */
    0x000110c8 addiu a1, a1, 0x3cdc          |     a1 += 0x3cdc;
                                             |     /* str.assuming__s_encrypted_data_n */
    0x000110cc addiu a0, a0, 0x3c78          |     a0 += 0x3c78;
    0x000110d0 jalr t9                       |     t9 ();
    0x000110d4 addiu s5, zero, 1             |     s5 = 1;
    0x000110d8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000110dc lw a3, 0x2c(sp)               |     a3 = *(var_2ch_2);
    0x000110e0 b 0x10fec                     |     goto label_10;
                                             | label_17:
    0x000110e4 lw t9, -0x7834(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x000110e8 jalr t9                       |     t9 ();
    0x000110ec nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x12d38 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00012d38 ()                  | void fcn_00012d38 () {
    0x00012d38 lui gp, 5                     |     
    0x00012d3c addiu gp, gp, -0xc08          |     
    0x00012d40 addu gp, gp, t9               |     gp += t9;
    0x00012d44 addiu sp, sp, -0x198          |     
    0x00012d48 lw v0, 4(a1)                  |     v0 = *((a1 + 1));
    0x00012d4c sw s3, 0x17c(sp)              |     *(var_17ch) = s3;
    0x00012d50 sw s2, 0x178(sp)              |     *(var_178h) = s2;
    0x00012d54 lw s3, -0x781c(gp)            |     s3 = *((gp - 7687));
    0x00012d58 lw s2, -0x7fc8(gp)            |     s2 = *(gp);
    0x00012d5c sw s1, 0x174(sp)              |     *(var_174h) = s1;
    0x00012d60 lw v1, (s3)                   |     v1 = *(s3);
    0x00012d64 lw s1, 0xd8(s2)               |     s1 = *((s2 + 54));
    0x00012d68 sw gp, 0x30(sp)               |     *(var_30h) = gp;
    0x00012d6c sw s0, 0x170(sp)              |     *(var_170h) = s0;
    0x00012d70 sw ra, 0x194(sp)              |     *(var_194h) = ra;
    0x00012d74 sw fp, 0x190(sp)              |     *(var_190h) = fp;
    0x00012d78 sw s7, 0x18c(sp)              |     *(var_18ch) = s7;
    0x00012d7c sw s6, 0x188(sp)              |     *(var_188h) = s6;
    0x00012d80 sw s5, 0x184(sp)              |     *(var_184h) = s5;
    0x00012d84 sw s4, 0x180(sp)              |     *(var_180h) = s4;
    0x00012d88 sw v1, 0x16c(sp)              |     *(var_16ch) = v1;
    0x00012d8c lw s0, 4(v0)                  |     s0 = *((v0 + 1));
    0x00012d90 sw zero, 0x60(sp)             |     *(var_60h) = 0;
    0x00012d94 sw zero, 0x64(sp)             |     *(var_64h) = 0;
                                             |     if (s1 != 0) {
    0x00012d98 bnez s1, 0x132d4              |         goto label_49;
                                             |     }
    0x00012d9c lw v0, 0x34(a0)               |     v0 = *((a0 + 13));
    0x00012da0 move s5, a0                   |     s5 = a0;
                                             |     if (v0 == 0) {
    0x00012da4 beqz v0, 0x140c4              |         goto label_50;
                                             |     }
    0x00012da8 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x00012dac move s4, a1                   |     s4 = a1;
    0x00012db0 addiu a0, zero, 2             |     a0 = 2;
    0x00012db4 lw a1, (v1)                   |     a1 = *(v1);
    0x00012db8 addiu a0, zero, 4             |     a0 = 4;
                                             |     if (a1 == a0) {
    0x00012dbc beq a1, a0, 0x13290           |         goto label_51;
                                             |     }
    0x00012dc0 addiu a0, zero, 0x3f          |     a0 = 0x3f;
                                             |     if (a1 == a0) {
    0x00012dc4 beq a1, a0, 0x132f0           |         goto label_52;
                                             |     }
    0x00012dc8 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (a1 != a0) {
    0x00012dcc bne a1, a0, 0x13240           |         goto label_7;
                                             |     }
    0x00012dd0 lw a0, 4(v1)                  |     a0 = *((v1 + 1));
    0x00012dd4 addiu v1, zero, 1             |     v1 = 1;
    0x00012dd8 lw a0, (a0)                   |     a0 = *(a0);
    0x00012ddc lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (a0 != v1) {
    0x00012de0 bne a0, v1, 0x13240           |         goto label_7;
                                             |     }
    0x00012de4 lw v0, (v0)                   |     v0 = *(v0);
    0x00012de8 lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
                                             |     if (v0 == 0) {
    0x00012dec beqz v0, 0x13244              |         goto label_53;
                                             |     }
    0x00012df0 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x00012df4 lw a0, (v1)                   |     a0 = *(v1);
    0x00012df8 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (a0 != a1) {
    0x00012dfc bne a0, a1, 0x13244           |         goto label_53;
                                             |     }
    0x00012e00 lw a0, 4(v1)                  |     a0 = *((v1 + 1));
    0x00012e04 addiu v1, zero, 3             |     v1 = 3;
    0x00012e08 lw a0, (a0)                   |     a0 = *(a0);
    0x00012e0c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (a0 == v1) {
    0x00012e10 bnel a0, v1, 0x13244          |         goto label_53;
                                             |     }
    0x00012e14 lw v0, (v0)                   |     v0 = *(v0);
    0x00012e18 addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v0 == 0) {
    0x00012e1c beqz v0, 0x1323c              |         goto label_11;
                                             |     }
    0x00012e20 lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x00012e24 lw a0, (a0)                   |     a0 = *(a0);
    0x00012e28 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (a0 == v1) {
    0x00012e2c bnel a0, v1, 0x13244          |         goto label_53;
                                             |     }
    0x00012e30 addiu a0, zero, 2             |     a0 = 2;
    0x00012e34 b 0x12e44                     |     
                                             |     while (v0 == 0) {
    0x00012e38 lw v1, (v1)                   |         v1 = *(v1);
    0x00012e3c lw a0, -0x7fdc(gp)            |         a0 = *(gp);
                                             |         if (v1 == a0) {
    0x00012e40 bnel v1, a0, 0x13240          |             goto label_7;
                                             |         }
    0x00012e44 lw v0, (v0)                   |         v0 = *(v0);
    0x00012e48 lw v1, 4(v0)                  |         v1 = *((v0 + 1));
    0x00012e4c bnel v0, zero, 0x12e38        |         
                                             |     }
    0x00012e50 lw t9, -0x7d50(gp)            |     t9 = sym.pubkey_algo_to_string;
                                             | label_5:
    0x00012e54 lbu a0, 0x16(s0)              |     a0 = *((s0 + 22));
    0x00012e58 bal 0x271dc                   |     sym_pubkey_algo_to_string ();
    0x00012e5c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00012e60 lw t9, -0x7cb4(gp)            |     t9 = sym.keystrlen;
    0x00012e64 move s6, v0                   |     s6 = v0;
    0x00012e68 bal 0x198c0                   |     sym_keystrlen ();
    0x00012e6c sltiu v0, v0, 9               |     v0 = (v0 < 9) ? 1 : 0;
    0x00012e70 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00012e74 bnez v0, 0x13368              |         goto label_54;
                                             |     }
    0x00012e78 lw t9, -0x7cb0(gp)            |     t9 = sym.asctimestamp;
    0x00012e7c lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x00012e80 jalr t9                       |     t9 ();
    0x00012e84 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00012e88 move a1, v0                   |     a1 = v0;
    0x00012e8c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00012e90 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.Signature_made__s_n */
    0x00012e94 addiu a0, a0, 0x41e4          |     a0 += 0x41e4;
    0x00012e98 jalr t9                       |     t9 ();
    0x00012e9c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (s6 == 0) {
    0x00012ea0 beqz s6, 0x13c1c              |         goto label_55;
                                             |     }
                                             | label_35:
    0x00012ea4 lw t9, -0x7e48(gp)            |     t9 = sym.keystr;
    0x00012ea8 addiu v0, s0, 4               |     v0 = s0 + 4;
    0x00012eac move a0, v0                   |     a0 = v0;
    0x00012eb0 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x00012eb4 bal 0x19920                   |     sym_keystr ();
    0x00012eb8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00012ebc move a2, v0                   |     a2 = v0;
    0x00012ec0 move a1, s6                   |     a1 = s6;
    0x00012ec4 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00012ec8 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str._______________using__s_key__s_n */
    0x00012ecc addiu a0, a0, 0x41f8          |     a0 += 0x41f8;
    0x00012ed0 jalr t9                       |     t9 ();
    0x00012ed4 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_12:
    0x00012ed8 addiu v0, sp, 0x64            |     v0 = sp + 0x64;
    0x00012edc sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x00012ee0 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00012ee4 lw v0, -0x7f10(gp)            |     v0 = *(gp);
    0x00012ee8 addiu a3, sp, 0x60            |     a3 = sp + 0x60;
                                             |     /* fcn.00011688 */
    0x00012eec addiu t9, v0, 0x1688          |     t9 = v0 + 0x1688;
    0x00012ef0 sw a3, 0x4c(sp)               |     *(var_4ch) = a3;
    0x00012ef4 move a2, zero                 |     a2 = 0;
    0x00012ef8 move a1, s4                   |     a1 = s4;
    0x00012efc move a0, s5                   |     a0 = s5;
    0x00012f00 sw t9, 0x48(sp)               |     *(var_48h) = t9;
    0x00012f04 bal 0x11688                   |     fcn_00011688 ();
    0x00012f08 move s6, v0                   |     s6 = v0;
    0x00012f0c addiu v0, zero, 9             |     v0 = 9;
    0x00012f10 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (s6 == v0) {
    0x00012f14 beq s6, v0, 0x133bc           |         goto label_56;
                                             |     }
                                             | label_17:
    0x00012f18 addiu v1, zero, 5             |     v1 = 5;
                                             |     if (s6 != 0) {
    0x00012f1c bnez s6, 0x13580              |         goto label_57;
                                             |     }
    0x00012f20 lhu v0, (s0)                  |     v0 = *(s0);
                                             | label_48:
    0x00012f24 andi v0, v0, 0x200            |     v0 &= aav.0x00000200;
    0x00012f28 addiu v0, zero, 0x41          |     v0 = 0x41;
                                             |     if (v0 != 0) {
    0x00012f2c bnez v0, 0x13b64              |         goto label_58;
                                             |     }
    0x00012f30 lw s6, 0x60(sp)               |     s6 = *(var_60h);
    0x00012f34 lw v1, 0x64(sp)               |     v1 = *(var_64h);
                                             |     if (s6 != 0) {
    0x00012f38 bnez s6, 0x13614              |         goto label_59;
                                             |     }
    0x00012f3c addiu v0, zero, 0x46          |     v0 = 0x46;
    0x00012f40 addiu fp, zero, 4             |     fp = 4;
                                             |     if (v1 == 0) {
    0x00012f44 movn fp, v0, v1               |         fp = v0;
                                             |     }
    0x00012f48 sw fp, 0x40(sp)               |     *(var_40h_2) = fp;
                                             | label_13:
    0x00012f4c lw t9, -0x7e58(gp)            |     t9 = sym.get_pubkeyblock;
    0x00012f50 lw a0, 0x44(sp)               |     a0 = *(var_44h_2);
    0x00012f54 bal 0xb484                    |     sym_get_pubkeyblock ();
    0x00012f58 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00012f5c lw v1, 8(s0)                  |     v1 = *((s0 + 2));
    0x00012f60 addiu a0, sp, 0x8c            |     a0 = sp + 0x8c;
    0x00012f64 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00012f68 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x00012f6c lw v1, 4(s0)                  |     v1 = *((s0 + 1));
    0x00012f70 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x00012f74 sw a0, 0x3c(sp)               |     *(var_3ch_2) = a0;
    0x00012f78 move s5, v0                   |     s5 = v0;
    0x00012f7c sw v1, 0x10(sp)               |     *(var_10h_2) = v1;
                                             |     /* str._08lX_08lX__uncertain__ */
    0x00012f80 addiu a3, a3, 0x4254          |     a3 += 0x4254;
    0x00012f84 addiu a2, zero, 0x32          |     a2 = 0x32;
    0x00012f88 addiu a1, zero, 1             |     a1 = 1;
    0x00012f8c jalr t9                       |     t9 ();
    0x00012f90 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (s5 == 0) {
    0x00012f94 beqz s5, 0x13cb0              |         goto label_60;
                                             |     }
    0x00012f98 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00012f9c move s7, s5                   |     s7 = s5;
    0x00012fa0 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x00012fa4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00012fa8 move s4, zero                 |     s4 = 0;
                                             |     /* str.___s__n */
    0x00012fac addiu v0, v0, 0x42bc          |     v0 += 0x42bc;
    0x00012fb0 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x00012fb4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00012fb8 addiu fp, zero, 6             |     fp = 6;
                                             |     /* str.Good_signature_from___s_ */
    0x00012fbc addiu v0, v0, 0x42a0          |     v0 += 0x42a0;
    0x00012fc0 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x00012fc4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     /* str.BAD_signature_from___s_ */
    0x00012fc8 addiu v0, v0, 0x426c          |     v0 += 0x426c;
    0x00012fcc sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x00012fd0 b 0x13028                     |     
                                             |     while (v0 == fp) {
    0x00012fd4 lw s7, (s7)                   |         s7 = *(s7);
                                             |         if (v0 != a1) {
    0x00012fd8 bnel v0, a1, 0x13020          |             
    0x00012fdc lw a1, 4(a0)                  |             a1 = *((a0 + 1));
    0x00012fe0 lw v0, 0x40(a1)               |             v0 = *((a1 + 16));
                                             |             if (v0 == 0) {
    0x00012fe4 beql v0, zero, 0x13020        |                 goto label_61;
                                             |             }
    0x00012fe8 lw s7, (s7)                   |             s7 = *(s7);
    0x00012fec lw v0, 0x30(a1)               |             v0 = *((a1 + 12));
    0x00012ff0 lw s7, (s7)                   |             s7 = *(s7);
                                             |             if (v0 == 0) {
    0x00012ff4 bnel v0, zero, 0x13020        |                 goto label_61;
                                             |             }
    0x00012ff8 lw v0, 0x34(a1)               |             v0 = *((a1 + 13));
    0x00012ffc lw s7, (s7)                   |             s7 = *(s7);
                                             |             if (v0 == 0) {
    0x00013000 bnel v0, zero, 0x13020        |                 goto label_61;
                                             |             }
    0x00013004 lw v0, 0x2c(a1)               |             v0 = *((a1 + 11));
                                             |             if (v0 == 0) {
    0x00013008 beql v0, zero, 0x13020        |                 goto label_61;
                                             |             }
    0x0001300c lw s7, (s7)                   |             s7 = *(s7);
    0x00013010 lw v0, 0x10(a1)               |             v0 = *((a1 + 4));
                                             |             if (v0 == 0) {
    0x00013014 beqz v0, 0x1367c              |                 goto label_62;
                                             |             }
    0x00013018 nop                           |             
                                             | label_18:
    0x0001301c lw s7, (s7)                   |             s7 = *(s7);
                                             |         }
                                             |         if (s7 == 0) {
                                             | label_61:
    0x00013020 beqz s7, 0x13044              |             goto label_63;
                                             |         }
    0x00013024 nop                           |         
                                             | label_0:
    0x00013028 lw a0, 4(s7)                  |         a0 = *((s7 + 1));
    0x0001302c lw v0, (a0)                   |         v0 = *(a0);
    0x00013030 addiu a1, zero, 0xd           |         a1 = 0xd;
    0x00013034 bnel v0, fp, 0x12fd4          |         
                                             |     }
    0x00013038 lw s7, (s7)                   |     s7 = *(s7);
    0x0001303c lw s4, 4(a0)                  |     s4 = *((a0 + 1));
                                             |     if (s7 != 0) {
    0x00013040 bnez s7, 0x13028              |         goto label_0;
                                             |     }
                                             |     if (s1 == 0) {
                                             | label_63:
    0x00013044 beql s1, zero, 0x138e4        |         goto label_64;
                                             |     }
    0x00013048 move s1, s5                   |     s1 = s5;
    0x0001304c lw t9, -0x7ea4(gp)            |     t9 = sym.release_kbnode;
                                             |     if (s6 != 0) {
    0x00013050 bnez s6, 0x13b28              |         goto label_65;
                                             |     }
    0x00013054 lw v0, 0x154(s2)              |     v0 = *(s2);
    0x00013058 andi v0, v0, 0x200            |     v0 &= aav.0x00000200;
    0x0001305c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (v0 != 0) {
    0x00013060 bnez v0, 0x1379c              |         goto label_66;
                                             |     }
    0x00013064 lw fp, -0x7fdc(gp)            |     fp = *(gp);
    0x00013068 sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
                                             |     /* str.revoked */
    0x0001306c addiu v0, fp, 0x4128          |     v0 = fp + 0x4128;
    0x00013070 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x00013074 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00013078 lw s6, -0x7fdc(gp)            |     s6 = *(gp);
                                             |     /* str.expired */
    0x0001307c addiu v0, v0, 0x4130          |     v0 += 0x4130;
    0x00013080 move s7, s5                   |     s7 = s5;
    0x00013084 addiu s1, zero, 0xd           |     s1 = 0xd;
                                             |     /* str.___s__n */
    0x00013088 addiu s6, s6, 0x42bc          |     s6 += 0x42bc;
    0x0001308c sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x00013090 b 0x1316c                     |     goto label_67;
                                             | label_2:
    0x00013094 lw t9, -0x7cac(gp)            |     t9 = sym.dump_attribs;
                                             |     if (a1 != 0) {
    0x00013098 beqz a1, 0x13160              |         
                                             | label_4:
    0x0001309c move a2, zero                 |         a2 = 0;
    0x000130a0 move a1, s4                   |         a1 = s4;
    0x000130a4 bal 0x26124                   |         sym_dump_attribs ();
    0x000130a8 lw v0, 0x154(s2)              |         v0 = *(s2);
    0x000130ac andi v0, v0, 1                |         v0 &= 1;
    0x000130b0 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 != 0) {
    0x000130b4 bnez v0, 0x13e1c              |             goto label_68;
                                             |         }
    0x000130b8 lw v0, 4(s7)                  |         v0 = *((s7 + 1));
    0x000130bc lw a0, 4(v0)                  |         a0 = *((v0 + 1));
                                             | label_43:
    0x000130c0 lw a1, 4(a0)                  |         a1 = *((a0 + 1));
                                             | label_3:
    0x000130c4 lw t9, -0x7e2c(gp)            |         t9 = sym.utf8_to_native;
    0x000130c8 move a2, zero                 |         a2 = 0;
    0x000130cc addiu a0, a0, 0x4c            |         a0 += 0x4c;
    0x000130d0 jalr t9                       |         t9 ();
    0x000130d4 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x000130d8 move a1, v0                   |         a1 = v0;
    0x000130dc move fp, v0                   |         fp = v0;
    0x000130e0 lw v0, 0x3c(sp)               |         v0 = *(var_3ch_2);
    0x000130e4 lw t9, -0x7f30(gp)            |         t9 = sym.g10_log_info;
    0x000130e8 addiu a0, v0, 0x42d0          |         a0 = v0 + 0x42d0;
    0x000130ec jalr t9                       |         t9 ();
    0x000130f0 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x000130f4 lw t9, -0x7f24(gp)            |         t9 = sym.xfree;
    0x000130f8 move a0, fp                   |         a0 = fp;
    0x000130fc jalr t9                       |         t9 ();
    0x00013100 lw v0, 0x154(s2)              |         v0 = *(s2);
    0x00013104 andi v0, v0, 0x20             |         v0 &= 0x20;
    0x00013108 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x0001310c beqz v0, 0x13cf4              |             goto label_69;
                                             |         }
    0x00013110 lw v0, 4(s7)                  |         v0 = *((s7 + 1));
    0x00013114 lw a1, 4(v0)                  |         a1 = *((v0 + 1));
    0x00013118 lw v0, 0x30(a1)               |         v0 = *((a1 + 12));
    0x0001311c lw fp, 0x40(sp)               |         fp = *(var_40h_2);
                                             |         if (v0 == 0) {
    0x00013120 bnez v0, 0x13134              |             
    0x00013124 lw v0, 0x34(a1)               |             v0 = *((a1 + 13));
    0x00013128 lw t9, -0x7ca8(gp)            |             t9 = sym.get_validity;
                                             |             if (v0 == 0) {
    0x0001312c beqz v0, 0x13e4c              |                 goto label_70;
                                             |             }
    0x00013130 lw fp, 0x48(sp)               |             fp = *(var_48h);
                                             |         }
                                             | label_44:
    0x00013134 lw t9, -0x7d40(gp)            |         t9 = sym.log_stream;
    0x00013138 jalr t9                       |         t9 ();
    0x0001313c nop                           |         
    0x00013140 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013144 move a3, fp                   |         a3 = fp;
    0x00013148 move a2, s6                   |         a2 = s6;
    0x0001314c lw t9, -0x7920(gp)            |         t9 = sym.imp.__fprintf_chk;
    0x00013150 addiu a1, zero, 1             |         a1 = 1;
    0x00013154 move a0, v0                   |         a0 = v0;
    0x00013158 jalr t9                       |         t9 ();
    0x0001315c lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |     }
                                             | label_40:
    0x00013160 lw s7, (s7)                   |     s7 = *(s7);
                                             |     do {
                                             | label_1:
    0x00013164 lw t9, -0x7ea4(gp)            |         t9 = sym.release_kbnode;
                                             |         if (s7 == 0) {
    0x00013168 beqz s7, 0x1379c              |             goto label_66;
                                             |         }
                                             | label_67:
    0x0001316c lw v0, 4(s7)                  |         v0 = *((s7 + 1));
    0x00013170 lw a0, (v0)                   |         a0 = *(v0);
    0x00013174 lw s7, (s7)                   |         s7 = *(s7);
    0x00013178 bnel a0, s1, 0x13164          |         
                                             |     } while (a0 == s1);
    0x0001317c lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x00013180 lw v0, 0x30(a0)               |     v0 = *((a0 + 12));
    0x00013184 lw v0, 0x154(s2)              |     v0 = *(s2);
                                             |     if (v0 != 0) {
    0x00013188 bnel v0, zero, 0x1319c        |         
    0x0001318c lw v0, 0x34(a0)               |         v0 = *((a0 + 13));
                                             |         if (v0 == 0) {
    0x00013190 beql v0, zero, 0x131ac        |             goto label_71;
                                             |         }
    0x00013194 lw v0, 0x2c(a0)               |         v0 = *((a0 + 11));
    0x00013198 lw v0, 0x154(s2)              |         v0 = *(s2);
                                             |     }
    0x0001319c andi v0, v0, 0x40             |     v0 &= 0x40;
                                             |     if (v0 == 0) {
    0x000131a0 beql v0, zero, 0x13164        |         goto label_1;
                                             |     }
    0x000131a4 lw s7, (s7)                   |     s7 = *(s7);
    0x000131a8 lw v0, 0x2c(a0)               |     v0 = *((a0 + 11));
                                             | label_71:
    0x000131ac lw a1, 0x10(a0)               |     a1 = *((a0 + 4));
                                             |     if (v0 != 0) {
    0x000131b0 bnez v0, 0x13094              |         goto label_2;
                                             |     }
                                             |     if (a1 == 0) {
    0x000131b4 beql a1, zero, 0x130c4        |         goto label_3;
                                             |     }
    0x000131b8 lw a1, 4(a0)                  |     a1 = *((a0 + 1));
    0x000131bc lw t9, -0x7cac(gp)            |     t9 = sym.dump_attribs;
    0x000131c0 b 0x1309c                     |     goto label_4;
                                             | label_8:
    0x000131c4 addiu a2, zero, 0x3f          |     a2 = 0x3f;
                                             | label_9:
    0x000131c8 addiu v1, zero, 3             |     v1 = 3;
                                             |     if (v1 != a2) {
    0x000131cc bne v1, a2, 0x1323c           |         goto label_11;
                                             |     }
    0x000131d0 lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x000131d4 lw a0, (a0)                   |     a0 = *(a0);
    0x000131d8 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (a0 == v1) {
    0x000131dc bnel a0, v1, 0x13240          |         goto label_7;
                                             |     }
    0x000131e0 lw v0, (v0)                   |     v0 = *(v0);
    0x000131e4 addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v0 == 0) {
    0x000131e8 beqz v0, 0x1323c              |         goto label_11;
                                             |     }
    0x000131ec lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x000131f0 lw a0, (a0)                   |     a0 = *(a0);
    0x000131f4 move v1, zero                 |     v1 = 0;
                                             |     if (a0 != v1) {
    0x000131f8 bne a0, v1, 0x1323c           |         goto label_11;
                                             |     }
    0x000131fc addiu a2, zero, 2             |     a2 = 2;
    0x00013200 b 0x13214                     |     
                                             |     while (v0 != 0) {
    0x00013204 lw a0, 4(v0)                  |         a0 = *((v0 + 1));
    0x00013208 lw a0, (a0)                   |         a0 = *(a0);
                                             |         if (a0 != a2) {
    0x0001320c bne a0, a2, 0x13220           |             goto label_72;
                                             |         }
    0x00013210 nop                           |         
    0x00013214 lw v0, (v0)                   |         v0 = *(v0);
    0x00013218 addiu v1, v1, 1               |         v1++;
    0x0001321c bnez v0, 0x13204              |         
                                             |     }
                                             | label_72:
    0x00013220 lw t9, -0x7d50(gp)            |     t9 = sym.pubkey_algo_to_string;
                                             |     if (v1 == a1) {
    0x00013224 beq v1, a1, 0x12e54           |         goto label_5;
                                             |     }
    0x00013228 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x0001322c lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.number_of_one_pass_packets_does_not_match_number_of_signature_packets_n */
    0x00013230 addiu a0, a0, 0x4170          |     a0 += 0x4170;
    0x00013234 jalr t9                       |     t9 ();
    0x00013238 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_11:
    0x0001323c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             | label_7:
    0x00013240 lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
                                             |     /* str.cant_handle_this_ambiguous_signature_data_n */
                                             | label_53:
    0x00013244 addiu a0, a0, 0x41b8          |     a0 += 0x41b8;
    0x00013248 jalr t9                       |     t9 ();
    0x0001324c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_6:
    0x00013250 lw a0, 0x16c(sp)              |     a0 = *(var_16ch);
    0x00013254 lw v1, (s3)                   |     v1 = *(s3);
    0x00013258 move v0, s1                   |     v0 = s1;
                                             |     if (a0 != v1) {
    0x0001325c bne a0, v1, 0x140b8           |         goto label_73;
                                             |     }
    0x00013260 lw ra, 0x194(sp)              |     ra = *(var_194h);
    0x00013264 lw fp, 0x190(sp)              |     fp = *(var_190h);
    0x00013268 lw s7, 0x18c(sp)              |     s7 = *(var_18ch);
    0x0001326c lw s6, 0x188(sp)              |     s6 = *(var_188h);
    0x00013270 lw s5, 0x184(sp)              |     s5 = *(var_184h);
    0x00013274 lw s4, 0x180(sp)              |     s4 = *(var_180h);
    0x00013278 lw s3, 0x17c(sp)              |     s3 = *(var_17ch);
    0x0001327c lw s2, 0x178(sp)              |     s2 = *(var_178h);
    0x00013280 lw s1, 0x174(sp)              |     s1 = *(var_174h);
    0x00013284 lw s0, 0x170(sp)              |     s0 = *(var_170h);
    0x00013288 addiu sp, sp, 0x198           |     
    0x0001328c jr ra                         |     return v0;
                                             | label_51:
    0x00013290 lw v0, (v0)                   |     v0 = *(v0);
    0x00013294 lw t9, -0x7d50(gp)            |     t9 = sym.pubkey_algo_to_string;
                                             |     if (v0 == 0) {
    0x00013298 beqz v0, 0x12e54              |         goto label_5;
                                             |     }
    0x0001329c lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x000132a0 lw v1, (a0)                   |     v1 = *(a0);
    0x000132a4 addiu a1, zero, 2             |     a1 = 2;
                                             |     if (v1 != a1) {
    0x000132a8 bne v1, a1, 0x13338           |         goto label_74;
                                             |     }
    0x000132ac lw v0, (v0)                   |     v0 = *(v0);
    0x000132b0 b 0x132c4                     |     
                                             |     while (v0 == 0) {
    0x000132b4 lw v1, (a0)                   |         v1 = *(a0);
    0x000132b8 addiu a1, zero, 0x3f          |         a1 = 0x3f;
                                             |         if (v1 == a1) {
    0x000132bc bnel v1, a1, 0x1333c          |             goto label_75;
                                             |         }
    0x000132c0 lw v0, (v0)                   |         v0 = *(v0);
    0x000132c4 lw a0, 4(v0)                  |         a0 = *((v0 + 1));
    0x000132c8 bnel v0, zero, 0x132b4        |         
                                             |     }
    0x000132cc lw t9, -0x7d50(gp)            |     t9 = sym.pubkey_algo_to_string;
    0x000132d0 b 0x12e54                     |     goto label_5;
                                             | label_49:
    0x000132d4 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000132d8 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.signature_verification_suppressed_n */
    0x000132dc addiu a0, a0, 0x414c          |     a0 += 0x414c;
    0x000132e0 jalr t9                       |     t9 ();
    0x000132e4 move s1, zero                 |     s1 = 0;
    0x000132e8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000132ec b 0x13250                     |     goto label_6;
                                             | label_52:
    0x000132f0 lw v0, (v0)                   |     v0 = *(v0);
    0x000132f4 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (v0 == 0) {
    0x000132f8 beqz v0, 0x13240              |         goto label_7;
                                             |     }
    0x000132fc lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x00013300 lw v1, (a0)                   |     v1 = *(a0);
    0x00013304 addiu a1, zero, 1             |     a1 = 1;
                                             |     if (v1 != a1) {
    0x00013308 bne v1, a1, 0x131c4           |         goto label_8;
                                             |     }
    0x0001330c addiu a2, zero, 4             |     a2 = 4;
    0x00013310 b 0x13324                     |     goto label_76;
                                             | label_10:
    0x00013314 lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x00013318 lw v1, (a0)                   |     v1 = *(a0);
    0x0001331c addiu a2, zero, 0x3f          |     a2 = 0x3f;
                                             |     if (v1 == a2) {
    0x00013320 bnel v1, a2, 0x131c8          |         goto label_9;
                                             |     }
                                             | label_76:
    0x00013324 lw v0, (v0)                   |     v0 = *(v0);
    0x00013328 addiu a1, a1, 1               |     a1++;
                                             |     if (v0 != 0) {
    0x0001332c bnez v0, 0x13314              |         goto label_10;
                                             |     }
    0x00013330 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00013334 b 0x13240                     |     goto label_7;
                                             | label_74:
    0x00013338 addiu a1, zero, 0x3f          |     a1 = 0x3f;
                                             | label_75:
    0x0001333c addiu v1, zero, 3             |     v1 = 3;
                                             |     if (v1 != a1) {
    0x00013340 bne v1, a1, 0x1323c           |         goto label_11;
                                             |     }
    0x00013344 lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x00013348 lw a0, (a0)                   |     a0 = *(a0);
    0x0001334c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (a0 == v1) {
    0x00013350 bnel a0, v1, 0x13240          |         goto label_7;
                                             |     }
    0x00013354 lw v0, (v0)                   |     v0 = *(v0);
    0x00013358 lw t9, -0x7d50(gp)            |     t9 = sym.pubkey_algo_to_string;
                                             |     if (v0 == 0) {
    0x0001335c beqz v0, 0x12e54              |         goto label_5;
                                             |     }
    0x00013360 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00013364 b 0x13240                     |     goto label_7;
                                             | label_54:
    0x00013368 lw t9, -0x7cb0(gp)            |     t9 = sym.asctimestamp;
    0x0001336c lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x00013370 jalr t9                       |     t9 ();
    0x00013374 move s7, v0                   |     s7 = v0;
    0x00013378 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (s6 == 0) {
    0x0001337c beqz s6, 0x13c10              |         goto label_77;
                                             |     }
                                             | label_34:
    0x00013380 lw t9, -0x7e48(gp)            |     t9 = sym.keystr;
    0x00013384 addiu v0, s0, 4               |     v0 = s0 + 4;
    0x00013388 move a0, v0                   |     a0 = v0;
    0x0001338c sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x00013390 bal 0x19920                   |     sym_keystr ();
    0x00013394 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013398 move a3, v0                   |     a3 = v0;
    0x0001339c move a2, s6                   |     a2 = s6;
    0x000133a0 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000133a4 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
    0x000133a8 move a1, s7                   |     a1 = s7;
                                             |     /* str.Signature_made__s_using__s_key_ID__s_n */
    0x000133ac addiu a0, a0, 0x4218          |     a0 += 0x4218;
    0x000133b0 jalr t9                       |     t9 ();
    0x000133b4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000133b8 b 0x12ed8                     |     goto label_12;
                                             | label_56:
    0x000133bc lhu v0, (s0)                  |     v0 = *(s0);
    0x000133c0 andi v0, v0, 0x100            |     v0 &= aav.0x00000100;
                                             |     if (v0 == 0) {
    0x000133c4 beql v0, zero, 0x13498        |         goto label_78;
                                             |     }
    0x000133c8 lw v0, 0x130(s2)              |     v0 = *(s2);
    0x000133cc addiu v0, sp, 0x6c            |     v0 = sp + 0x6c;
    0x000133d0 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x000133d4 lw s7, -0x7fdc(gp)            |     s7 = *(gp);
    0x000133d8 lw v0, -0x7ca4(gp)            |     v0 = *(gp);
    0x000133dc sw zero, 0x68(sp)             |     *(var_68h) = 0;
    0x000133e0 addiu fp, sp, 0x68            |     fp = sp + 0x68;
                                             |     /* str.Key_available_at:_ */
    0x000133e4 addiu s7, s7, 0x4240          |     s7 += 0x4240;
    0x000133e8 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x000133ec b 0x13460                     |     
                                             |     while (v0 != 0) {
    0x000133f0 lw t9, -0x7f30(gp)            |         t9 = sym.g10_log_info;
    0x000133f4 sw a1, 0x3c(sp)               |         *(var_3ch_2) = a1;
    0x000133f8 move a0, s7                   |         a0 = s7;
    0x000133fc jalr t9                       |         t9 ();
    0x00013400 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013404 lw t9, -0x7d40(gp)            |         t9 = sym.log_stream;
    0x00013408 jalr t9                       |         t9 ();
    0x0001340c nop                           |         
    0x00013410 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013414 lw a2, 0x6c(sp)               |         a2 = *(var_6ch);
    0x00013418 lw a1, 0x3c(sp)               |         a1 = *(var_3ch_2);
    0x0001341c lw t9, -0x7d04(gp)            |         t9 = sym.print_utf8_string;
    0x00013420 move a0, v0                   |         a0 = v0;
    0x00013424 jalr t9                       |         t9 ();
    0x00013428 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x0001342c lw t9, -0x7d40(gp)            |         t9 = sym.log_stream;
    0x00013430 jalr t9                       |         t9 ();
    0x00013434 nop                           |         
    0x00013438 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x0001343c move a1, v0                   |         a1 = v0;
    0x00013440 lw t9, -0x7840(gp)            |         t9 = sym.imp._IO_putc;
    0x00013444 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x00013448 jalr t9                       |         t9 ();
    0x0001344c lw v0, 0x130(s2)              |         v0 = *(s2);
    0x00013450 addiu v1, zero, 0x18          |         v1 = 0x18;
    0x00013454 andi v0, v0, 0x18             |         v0 &= 0x18;
    0x00013458 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 == v1) {
    0x0001345c beq v0, v1, 0x13ba4           |             goto label_79;
                                             |         }
                                             | label_33:
    0x00013460 lw t9, -0x7f34(gp)            |         t9 = sym.enum_sig_subpkt;
    0x00013464 lw a0, 0x2c(s0)               |         a0 = *((s0 + 11));
    0x00013468 lw a2, 0x40(sp)               |         a2 = *(var_40h_2);
    0x0001346c addiu a1, zero, 0x18          |         a1 = 0x18;
    0x00013470 sw zero, 0x10(sp)             |         *(var_10h_2) = 0;
    0x00013474 move a3, fp                   |         a3 = fp;
    0x00013478 bal 0x1c758                   |         sym_enum_sig_subpkt ();
    0x0001347c move a1, v0                   |         a1 = v0;
    0x00013480 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013484 bnez v0, 0x133f0              |         
                                             |     }
    0x00013488 addiu v0, zero, 9             |     v0 = 9;
    0x0001348c addiu v1, zero, 5             |     v1 = 5;
                                             |     if (s6 == v0) {
    0x00013490 bne s6, v0, 0x13580           |         
    0x00013494 lw v0, 0x130(s2)              |         v0 = *(s2);
                                             | label_78:
    0x00013498 addiu v1, zero, 0x28          |         v1 = 0x28;
    0x0001349c andi v0, v0, 0x28             |         v0 &= 0x28;
    0x000134a0 lw t9, -0x7f10(gp)            |         t9 = *(gp);
                                             |         if (v0 == v1) {
    0x000134a4 beq v0, v1, 0x13d5c           |             goto label_80;
                                             |         }
                                             | label_42:
    0x000134a8 lw a1, 0x12c(s2)              |         a1 = *(s2);
    0x000134ac addiu v0, zero, 9             |         v0 = 9;
                                             |         if (a1 != 0) {
    0x000134b0 beqz a1, 0x134c8              |             
    0x000134b4 lw v0, 0x130(s2)              |             v0 = *(s2);
    0x000134b8 andi v0, v0, 8                |             v0 &= 8;
    0x000134bc lw s6, -0x7ca4(gp)            |             s6 = *(gp);
                                             |             if (v0 != 0) {
    0x000134c0 bnez v0, 0x13624              |                 goto label_81;
                                             |             }
                                             | label_16:
    0x000134c4 addiu v0, zero, 9             |             v0 = 9;
                                             |         }
    0x000134c8 sw v0, 0x28(sp)               |         *(var_28h_2) = v0;
    0x000134cc lw v0, 0xc(s0)                |         v0 = *((s0 + 3));
    0x000134d0 lw a3, -0x7fdc(gp)            |         a3 = *(gp);
    0x000134d4 sw v0, 0x24(sp)               |         *(var_24h_2) = v0;
    0x000134d8 lbu v0, 0x15(s0)              |         v0 = *((s0 + 21));
    0x000134dc lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x000134e0 sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x000134e4 lbu v0, 0x17(s0)              |         v0 = *((s0 + 23));
    0x000134e8 addiu s1, sp, 0xc0            |         s1 = sp + 0xc0;
    0x000134ec sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x000134f0 lbu v0, 0x16(s0)              |         v0 = *((s0 + 22));
                                             |         /* str._08lX_08lX__d__d__02x__lu__d */
    0x000134f4 addiu a3, a3, 0x4360          |         a3 += 0x4360;
    0x000134f8 sw v0, 0x18(sp)               |         *(var_18h_2) = v0;
    0x000134fc lw v0, 8(s0)                  |         v0 = *((s0 + 2));
    0x00013500 addiu a2, zero, 0x32          |         a2 = 0x32;
    0x00013504 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00013508 lw v0, 4(s0)                  |         v0 = *((s0 + 1));
    0x0001350c addiu a1, zero, 1             |         a1 = 1;
    0x00013510 move a0, s1                   |         a0 = s1;
    0x00013514 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x00013518 jalr t9                       |         t9 ();
    0x0001351c lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013520 move a1, s1                   |         a1 = s1;
    0x00013524 lw t9, -0x7d80(gp)            |         t9 = sym.write_status_text;
    0x00013528 addiu a0, zero, 6             |         a0 = 6;
    0x0001352c bal 0x21b8c                   |         sym_write_status_text ();
    0x00013530 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             | label_14:
    0x00013534 lw t9, -0x7d80(gp)            |         t9 = sym.write_status_text;
    0x00013538 move a1, s1                   |         a1 = s1;
    0x0001353c addiu a0, zero, 0x1a          |         a0 = 0x1a;
    0x00013540 sb zero, 0xd0(sp)             |         *(var_d0h) = 0;
    0x00013544 bal 0x21b8c                   |         sym_write_status_text ();
    0x00013548 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x0001354c addiu s6, zero, 9             |         s6 = 9;
    0x00013550 lw t9, -0x7f88(gp)            |         t9 = sym.g10_errstr;
                                             | label_15:
    0x00013554 move a0, s6                   |         a0 = s6;
    0x00013558 jalr t9                       |         t9 ();
    0x0001355c lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013560 move a1, v0                   |         a1 = v0;
    0x00013564 move s1, s6                   |         s1 = s6;
    0x00013568 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x0001356c lw t9, -0x7f84(gp)            |         t9 = sym.g10_log_error;
                                             |         /* str.Cant_check_signature:__s_n */
    0x00013570 addiu a0, a0, 0x4380          |         a0 += 0x4380;
    0x00013574 jalr t9                       |         t9 ();
    0x00013578 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x0001357c b 0x13250                     |         goto label_6;
                                             |     }
                                             | label_57:
    0x00013580 addiu v0, zero, 8             |     v0 = 8;
    0x00013584 sw v1, 0x40(sp)               |     *(var_40h_2) = v1;
                                             |     if (s6 == v0) {
    0x00013588 beq s6, v0, 0x12f4c           |         goto label_13;
                                             |     }
    0x0001358c sw s6, 0x28(sp)               |     *(var_28h_2) = s6;
    0x00013590 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x00013594 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x00013598 sw v0, 0x24(sp)               |     *(var_24h_2) = v0;
    0x0001359c lbu v0, 0x15(s0)              |     v0 = *((s0 + 21));
    0x000135a0 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x000135a4 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000135a8 lbu v0, 0x17(s0)              |     v0 = *((s0 + 23));
    0x000135ac addiu s1, sp, 0xc0            |     s1 = sp + 0xc0;
    0x000135b0 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x000135b4 lbu v0, 0x16(s0)              |     v0 = *((s0 + 22));
                                             |     /* str._08lX_08lX__d__d__02x__lu__d */
    0x000135b8 addiu a3, a3, 0x4360          |     a3 += 0x4360;
    0x000135bc sw v0, 0x18(sp)               |     *(var_18h_2) = v0;
    0x000135c0 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x000135c4 addiu a2, zero, 0x32          |     a2 = 0x32;
    0x000135c8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000135cc lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x000135d0 addiu a1, zero, 1             |     a1 = 1;
    0x000135d4 move a0, s1                   |     a0 = s1;
    0x000135d8 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x000135dc jalr t9                       |     t9 ();
    0x000135e0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000135e4 move a1, s1                   |     a1 = s1;
    0x000135e8 lw t9, -0x7d80(gp)            |     t9 = sym.write_status_text;
    0x000135ec addiu a0, zero, 6             |     a0 = 6;
    0x000135f0 bal 0x21b8c                   |     sym_write_status_text ();
    0x000135f4 addiu v0, zero, 9             |     v0 = 9;
    0x000135f8 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (s6 == v0) {
    0x000135fc beq s6, v0, 0x13534           |         goto label_14;
                                             |     }
    0x00013600 addiu v0, zero, 0x34          |     v0 = 0x34;
    0x00013604 lw t9, -0x7f88(gp)            |     t9 = sym.g10_errstr;
                                             |     if (s6 != v0) {
    0x00013608 bne s6, v0, 0x13554           |         goto label_15;
                                             |     }
    0x0001360c move s1, s6                   |     s1 = s6;
    0x00013610 b 0x13250                     |     goto label_6;
                                             | label_59:
    0x00013614 addiu v0, zero, 0x42          |     v0 = 0x42;
    0x00013618 move s6, zero                 |     s6 = 0;
    0x0001361c sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x00013620 b 0x12f4c                     |     goto label_13;
                                             | label_81:
    0x00013624 lw t9, -0x7ca0(gp)            |     t9 = sym.keyserver_import_keyid;
    0x00013628 lw a0, 0x44(sp)               |     a0 = *(var_44h_2);
    0x0001362c lw v0, (s6)                   |     v0 = *(s6);
    0x00013630 addiu v0, v0, 1               |     v0++;
    0x00013634 sw v0, (s6)                   |     *(s6) = v0;
    0x00013638 bal 0x634c                    |     sym_keyserver_import_keyid ();
    0x0001363c lw v1, (s6)                   |     v1 = *(s6);
    0x00013640 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013644 addiu v1, v1, -1              |     v1 += -1;
    0x00013648 sw v1, (s6)                   |     *(s6) = v1;
                                             |     if (v0 != 0) {
    0x0001364c bnez v0, 0x134c4              |         goto label_16;
                                             |     }
    0x00013650 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00013654 lw a3, 0x4c(sp)               |     a3 = *(var_4ch);
    0x00013658 lw t9, 0x48(sp)               |     t9 = *(var_48h);
    0x0001365c sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00013660 move a2, zero                 |     a2 = 0;
    0x00013664 move a1, s4                   |     a1 = s4;
    0x00013668 move a0, s5                   |     a0 = s5;
    0x0001366c jalr t9                       |     t9 ();
    0x00013670 move s6, v0                   |     s6 = v0;
    0x00013674 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013678 b 0x12f18                     |     goto label_17;
                                             | label_62:
    0x0001367c lw t9, -0x7ca8(gp)            |     t9 = sym.get_validity;
                                             |     if (s4 == 0) {
    0x00013680 beqz s4, 0x140e8              |         goto label_82;
                                             |     }
    0x00013684 move a0, s4                   |     a0 = s4;
    0x00013688 bal 0x631c                    |     sym_get_validity ();
    0x0001368c sb zero, 0x9d(sp)             |     *(var_9dh) = 0;
    0x00013690 lw a0, 4(s7)                  |     a0 = *((s7 + 1));
    0x00013694 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013698 addiu t1, zero, -1            |     t1 = -1;
    0x0001369c lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x000136a0 lw t9, -0x7c9c(gp)            |     t9 = sym.write_status_text_and_buffer;
    0x000136a4 addiu a2, a0, 0x4c            |     a2 = a0 + 0x4c;
    0x000136a8 lw a3, 4(a0)                  |     a3 = *((a0 + 1));
    0x000136ac lw a1, 0x3c(sp)               |     a1 = *(var_3ch_2);
    0x000136b0 lw a0, 0x40(sp)               |     a0 = *(var_40h_2);
    0x000136b4 sw t1, 0x10(sp)               |     *(var_10h_2) = t1;
    0x000136b8 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x000136bc bal 0x22334                   |     sym_write_status_text_and_buffer ();
    0x000136c0 lw v0, 4(s7)                  |     v0 = *((s7 + 1));
    0x000136c4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000136c8 move a2, zero                 |     a2 = 0;
    0x000136cc lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x000136d0 lw t9, -0x7e2c(gp)            |     t9 = sym.utf8_to_native;
    0x000136d4 addiu a0, v0, 0x4c            |     a0 = v0 + 0x4c;
    0x000136d8 lw a1, 4(v0)                  |     a1 = *((v0 + 1));
    0x000136dc jalr t9                       |     t9 ();
    0x000136e0 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (s6 != 0) {
    0x000136e4 bnez s6, 0x13b84              |         goto label_83;
                                             |     }
    0x000136e8 lhu a0, (s0)                  |     a0 = *(s0);
    0x000136ec lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
    0x000136f0 andi a0, a0, 0x200            |     a0 &= aav.0x00000200;
    0x000136f4 move a1, v0                   |     a1 = v0;
    0x000136f8 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
                                             |     if (a0 == 0) {
    0x000136fc beqz a0, 0x13b70              |         goto label_84;
                                             |     }
    0x00013700 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00013704 addiu a0, v0, 0x4284          |     a0 = v0 + 0x4284;
    0x00013708 jalr t9                       |     t9 ();
    0x0001370c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013710 lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
                                             | label_32:
    0x00013714 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x00013718 move a0, v0                   |     a0 = v0;
    0x0001371c jalr t9                       |     t9 ();
    0x00013720 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013724 lw v0, 0x154(s2)              |     v0 = *(s2);
    0x00013728 andi v0, v0, 0x20             |     v0 &= 0x20;
    0x0001372c lw t9, -0x7d40(gp)            |     t9 = sym.log_stream;
                                             |     if (v0 == 0) {
    0x00013730 beqz v0, 0x13ab0              |         goto label_85;
                                             |     }
    0x00013734 addiu s1, s1, 1               |     s1++;
    0x00013738 jalr t9                       |     t9 ();
    0x0001373c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013740 lw a0, 0x58(sp)               |     a0 = *(var_58h);
    0x00013744 lw t9, -0x7c98(gp)            |     t9 = sym.trust_value_to_string;
    0x00013748 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0001374c bal 0x6324                    |     sym_trust_value_to_string ();
    0x00013750 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013754 lw t1, 0x58(sp)               |     t1 = *(var_58h);
    0x00013758 lw a2, 0x48(sp)               |     a2 = *(var_48h);
    0x0001375c lw t9, -0x7920(gp)            |     t9 = sym.imp.__fprintf_chk;
    0x00013760 move a3, v0                   |     a3 = v0;
    0x00013764 addiu a1, zero, 1             |     a1 = 1;
    0x00013768 move a0, t1                   |     a0 = t1;
    0x0001376c jalr t9                       |     t9 ();
    0x00013770 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013774 b 0x1301c                     |     goto label_18;
                                             | label_20:
    0x00013778 jalr t9                       |     t9 ();
    0x0001377c nop                           |     
    0x00013780 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013784 move a1, v0                   |     a1 = v0;
    0x00013788 lw t9, -0x7904(gp)            |     t9 = sym.imp.fputc;
    0x0001378c addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00013790 jalr t9                       |     t9 ();
    0x00013794 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013798 lw t9, -0x7ea4(gp)            |     t9 = sym.release_kbnode;
                                             | label_66:
    0x0001379c move a0, s5                   |     a0 = s5;
    0x000137a0 bal 0xfd24                    |     sym_release_kbnode ();
    0x000137a4 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_21:
    0x000137a8 lw v0, 0x154(s2)              |     v0 = *(s2);
    0x000137ac andi v0, v0, 2                |     v0 &= 2;
    0x000137b0 lw t9, -0x7c94(gp)            |     t9 = sym.show_policy_url;
                                             |     if (v0 == 0) {
    0x000137b4 beqz v0, 0x13b08              |         goto label_86;
                                             |     }
    0x000137b8 addiu a2, zero, 1             |     a2 = 1;
    0x000137bc move a1, zero                 |     a1 = 0;
    0x000137c0 move a0, s0                   |     a0 = s0;
    0x000137c4 bal 0x259b8                   |     sym_show_policy_url ();
    0x000137c8 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_29:
    0x000137cc lw v0, 0x154(s2)              |     v0 = *(s2);
    0x000137d0 andi v0, v0, 0x10             |     v0 &= 0x10;
    0x000137d4 lw t9, -0x7c90(gp)            |     t9 = sym.show_keyserver_url;
                                             |     if (v0 == 0) {
    0x000137d8 beqz v0, 0x13af0              |         goto label_87;
                                             |     }
    0x000137dc addiu a2, zero, 1             |     a2 = 1;
    0x000137e0 move a1, zero                 |     a1 = 0;
    0x000137e4 move a0, s0                   |     a0 = s0;
    0x000137e8 bal 0x25be0                   |     sym_show_keyserver_url ();
    0x000137ec lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_28:
    0x000137f0 lw a3, 0x154(s2)              |     a3 = *(s2);
    0x000137f4 andi v0, a3, 0xc              |     v0 = a3 & 0xc;
    0x000137f8 lw t9, -0x7c8c(gp)            |     t9 = sym.show_notation;
                                             |     if (v0 == 0) {
    0x000137fc beqz v0, 0x13ad4              |         goto label_88;
                                             |     }
    0x00013800 ext a3, a3, 2, 2              |     __asm ("ext a3, a3, 2, 2");
    0x00013804 addiu a2, zero, 1             |     a2 = 1;
    0x00013808 move a1, zero                 |     a1 = 0;
    0x0001380c move a0, s0                   |     a0 = s0;
    0x00013810 bal 0x25e7c                   |     sym_show_notation ();
    0x00013814 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_27:
    0x00013818 lw t9, -0x7d88(gp)            |     t9 = sym.is_status_enabled;
    0x0001381c bal 0x21b70                   |     sym_is_status_enabled ();
    0x00013820 nop                           |     
    0x00013824 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00013828 bnez v0, 0x13d1c              |         goto label_89;
                                             |     }
                                             | label_41:
    0x0001382c lw v0, 0x154(s2)              |     v0 = *(s2);
    0x00013830 andi v0, v0, 0x80             |     v0 &= 0x80;
    0x00013834 lw t9, -0x7f10(gp)            |     t9 = *(gp);
                                             |     if (v0 != 0) {
    0x00013838 bnez v0, 0x13c9c              |         goto label_90;
                                             |     }
                                             | label_38:
    0x0001383c lw t9, -0x7c88(gp)            |     t9 = sym.check_signatures_trust;
    0x00013840 move a0, s0                   |     a0 = s0;
    0x00013844 bal 0x630c                    |     sym_check_signatures_trust ();
    0x00013848 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0001384c move s1, v0                   |     s1 = v0;
                                             | label_22:
    0x00013850 lhu v0, (s0)                  |     v0 = *(s0);
    0x00013854 andi v0, v0, 0x200            |     v0 &= aav.0x00000200;
    0x00013858 lw a0, 0x10(s0)               |     a0 = *((s0 + 4));
                                             |     if (v0 != 0) {
    0x0001385c bnez v0, 0x13a78              |         goto label_91;
                                             |     }
    0x00013860 lw t9, -0x7cb0(gp)            |     t9 = sym.asctimestamp;
                                             |     if (a0 != 0) {
    0x00013864 bnez a0, 0x13b3c              |         goto label_92;
                                             |     }
                                             | label_31:
    0x00013868 lw v0, (s2)                   |     v0 = *(s2);
                                             |     if (v0 != 0) {
    0x0001386c beqz v0, 0x138c0              |         
    0x00013870 nop                           |         
                                             | label_25:
    0x00013874 lbu v0, 0x15(s0)              |         v0 = *((s0 + 21));
    0x00013878 lw s4, -0x7fdc(gp)            |         s4 = *(gp);
                                             |         if (v0 == 0) {
    0x0001387c beqz v0, 0x13b20              |             goto label_93;
                                             |         }
    0x00013880 addiu v1, zero, 1             |         v1 = 1;
    0x00013884 lw s4, -0x7fdc(gp)            |         s4 = *(gp);
                                             |         if (v0 == v1) {
    0x00013888 beq v0, v1, 0x13e14           |             goto label_94;
                                             |         }
    0x0001388c lw s4, -0x7fdc(gp)            |         s4 = *(gp);
                                             |         /* str.unknown */
    0x00013890 addiu s4, s4, 0x3850          |         s4 += 0x3850;
                                             | label_30:
    0x00013894 lw t9, -0x7c84(gp)            |         t9 = sym.digest_algo_to_string;
    0x00013898 lbu a0, 0x17(s0)              |         a0 = *((s0 + 23));
    0x0001389c bal 0x27db8                   |         sym_digest_algo_to_string ();
    0x000138a0 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x000138a4 move a2, v0                   |         a2 = v0;
    0x000138a8 move a1, s4                   |         a1 = s4;
    0x000138ac lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x000138b0 lw t9, -0x7f30(gp)            |         t9 = sym.g10_log_info;
                                             |         /* str._s_signature__digest_algorithm__s_n */
    0x000138b4 addiu a0, a0, 0x433c          |         a0 += 0x433c;
    0x000138b8 jalr t9                       |         t9 ();
    0x000138bc lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |     }
    0x000138c0 lw v1, -0x7fd0(gp)            |     v1 = *(gp);
                                             |     if (s1 == 0) {
    0x000138c4 beqz s1, 0x13250              |         goto label_6;
                                             |     }
                                             | label_26:
    0x000138c8 lw v0, 0x40(s2)               |     v0 = *((s2 + 16));
    0x000138cc addiu a0, zero, 1             |     a0 = 1;
    0x000138d0 sw a0, (v1)                   |     *(v1) = a0;
                                             |     if (v0 == 0) {
    0x000138d4 beqz v0, 0x13250              |         goto label_6;
                                             |     }
    0x000138d8 lw t9, -0x7f90(gp)            |     t9 = sym.g10_exit;
    0x000138dc bal 0x62b4                    |     sym_g10_exit ();
    0x000138e0 nop                           |     
                                             | label_64:
    0x000138e4 addiu a0, zero, 0xd           |     a0 = 0xd;
    0x000138e8 b 0x138f4                     |     
                                             |     if (s1 == 0) {
                                             |         while (v1 == a0) {
                                             | label_19:
    0x000138ec beql s1, zero, 0x13a40        |             goto label_95;
                                             |         }
    0x000138f0 lw v1, 4(s5)                  |         v1 = *((s5 + 1));
    0x000138f4 lw v0, 4(s1)                  |         v0 = *((s1 + 1));
    0x000138f8 lw v1, (v0)                   |         v1 = *(v0);
    0x000138fc lw s1, (s1)                   |         s1 = *(s1);
    0x00013900 bnel v1, a0, 0x138ec          |         
                                             |     }
    0x00013904 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x00013908 lw v0, 0x10(v0)               |     v0 = *((v0 + 4));
    0x0001390c lw s1, (s1)                   |     s1 = *(s1);
                                             |     if (v0 == 0) {
    0x00013910 bnel v0, zero, 0x138ec        |         goto label_19;
                                             |     }
                                             | label_23:
    0x00013914 lw v1, 0xe4(s2)               |     v1 = *((s2 + 57));
                                             | label_24:
    0x00013918 addiu v0, zero, 3             |     v0 = 3;
                                             |     if (v1 != v0) {
    0x0001391c beql v1, v0, 0x13924          |         
    0x00013920 sb zero, 0x9d(sp)             |         *(var_9dh) = 0;
                                             |     }
    0x00013924 lw v0, 4(s1)                  |     v0 = *((s1 + 1));
    0x00013928 lw t9, -0x7c9c(gp)            |     t9 = sym.write_status_text_and_buffer;
    0x0001392c lw a1, 0x3c(sp)               |     a1 = *(var_3ch_2);
    0x00013930 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x00013934 lw a0, 0x40(sp)               |     a0 = *(var_40h_2);
    0x00013938 addiu a2, v0, 0x4c            |     a2 = v0 + 0x4c;
    0x0001393c lw a3, 4(v0)                  |     a3 = *((v0 + 1));
    0x00013940 addiu v0, zero, -1            |     v0 = -1;
    0x00013944 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00013948 bal 0x22334                   |     sym_write_status_text_and_buffer ();
    0x0001394c lw v0, 4(s1)                  |     v0 = *((s1 + 1));
    0x00013950 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013954 move a2, zero                 |     a2 = 0;
    0x00013958 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x0001395c lw t9, -0x7e2c(gp)            |     t9 = sym.utf8_to_native;
    0x00013960 addiu a0, v0, 0x4c            |     a0 = v0 + 0x4c;
    0x00013964 lw a1, 4(v0)                  |     a1 = *((v0 + 1));
    0x00013968 jalr t9                       |     t9 ();
    0x0001396c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_39:
    0x00013970 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     if (s6 != 0) {
    0x00013974 bnez s6, 0x13c3c              |         goto label_96;
                                             |     }
    0x00013978 lhu v1, (s0)                  |     v1 = *(s0);
    0x0001397c andi v1, v1, 0x200            |     v1 &= aav.0x00000200;
    0x00013980 move a1, v0                   |     a1 = v0;
                                             |     if (v1 == 0) {
    0x00013984 beqz v1, 0x13c28              |         goto label_97;
                                             |     }
    0x00013988 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str.Expired_signature_from___s_ */
    0x0001398c addiu a0, a0, 0x4284          |     a0 += 0x4284;
    0x00013990 jalr t9                       |     t9 ();
    0x00013994 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_36:
    0x00013998 lw v1, 0xe4(s2)               |     v1 = *((s2 + 57));
    0x0001399c addiu v0, zero, 3             |     v0 = 3;
    0x000139a0 lw t9, -0x7d40(gp)            |     t9 = sym.log_stream;
                                             |     if (v1 == v0) {
    0x000139a4 beq v1, v0, 0x13778           |         goto label_20;
                                             |     }
                                             |     if (s1 == 0) {
    0x000139a8 beqz s1, 0x13778              |         goto label_20;
                                             |     }
    0x000139ac nop                           |     
                                             | label_37:
    0x000139b0 jalr t9                       |     t9 ();
    0x000139b4 nop                           |     
    0x000139b8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000139bc move a1, v0                   |     a1 = v0;
    0x000139c0 lw t9, -0x7840(gp)            |     t9 = sym.imp._IO_putc;
    0x000139c4 addiu a0, zero, 0x20          |     a0 = 0x20;
    0x000139c8 jalr t9                       |     t9 ();
    0x000139cc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000139d0 lw t9, -0x7d40(gp)            |     t9 = sym.log_stream;
    0x000139d4 jalr t9                       |     t9 ();
    0x000139d8 nop                           |     
    0x000139dc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000139e0 move a3, v0                   |     a3 = v0;
    0x000139e4 addiu a2, zero, 0xb           |     a2 = 0xb;
    0x000139e8 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000139ec lw t9, -0x7848(gp)            |     t9 = sym.imp.fwrite;
    0x000139f0 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str._uncertain_ */
    0x000139f4 addiu a0, a0, 0x42c4          |     a0 += 0x42c4;
    0x000139f8 jalr t9                       |     t9 ();
    0x000139fc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013a00 lw t9, -0x7d40(gp)            |     t9 = sym.log_stream;
    0x00013a04 jalr t9                       |     t9 ();
    0x00013a08 nop                           |     
    0x00013a0c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013a10 move a1, v0                   |     a1 = v0;
    0x00013a14 lw t9, -0x7904(gp)            |     t9 = sym.imp.fputc;
    0x00013a18 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00013a1c jalr t9                       |     t9 ();
    0x00013a20 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013a24 lw t9, -0x7ea4(gp)            |     t9 = sym.release_kbnode;
    0x00013a28 move a0, s5                   |     a0 = s5;
    0x00013a2c bal 0xfd24                    |     sym_release_kbnode ();
    0x00013a30 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (s6 == 0) {
    0x00013a34 beqz s6, 0x137a8              |         goto label_21;
                                             |     }
    0x00013a38 move s1, s6                   |     s1 = s6;
    0x00013a3c b 0x13850                     |     goto label_22;
                                             | label_95:
    0x00013a40 addiu v0, zero, 0xd           |     v0 = 0xd;
    0x00013a44 lw v1, (v1)                   |     v1 = *(v1);
    0x00013a48 move s1, s5                   |     s1 = s5;
                                             |     if (v1 == v0) {
    0x00013a4c beq v1, v0, 0x13914           |         goto label_23;
                                             |     }
    0x00013a50 addiu v1, zero, 0xd           |     v1 = 0xd;
    0x00013a54 lw s1, (s1)                   |     s1 = *(s1);
                                             |     do {
                                             |         if (s1 == 0) {
    0x00013a58 beql s1, zero, 0x13cb4        |             goto label_98;
                                             |         }
    0x00013a5c lw s1, -0x7fdc(gp)            |         s1 = *(gp);
    0x00013a60 lw v0, 4(s1)                  |         v0 = *((s1 + 1));
    0x00013a64 lw v0, (v0)                   |         v0 = *(v0);
    0x00013a68 lw s1, (s1)                   |         s1 = *(s1);
    0x00013a6c bnel v0, v1, 0x13a58          |         
                                             |     } while (v0 == v1);
    0x00013a70 lw v1, 0xe4(s2)               |     v1 = *((s2 + 57));
    0x00013a74 b 0x13918                     |     goto label_24;
                                             | label_91:
    0x00013a78 lw t9, -0x7cb0(gp)            |     t9 = sym.asctimestamp;
    0x00013a7c addiu s1, zero, 1             |     s1 = 1;
    0x00013a80 jalr t9                       |     t9 ();
    0x00013a84 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013a88 move a1, v0                   |     a1 = v0;
    0x00013a8c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00013a90 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.Signature_expired__s_n */
    0x00013a94 addiu a0, a0, 0x430c          |     a0 += 0x430c;
    0x00013a98 jalr t9                       |     t9 ();
    0x00013a9c lw v0, (s2)                   |     v0 = *(s2);
    0x00013aa0 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00013aa4 bnez v0, 0x13874              |         goto label_25;
                                             |     }
    0x00013aa8 lw v1, -0x7fd0(gp)            |     v1 = *(gp);
    0x00013aac b 0x138c8                     |     goto label_26;
                                             | label_85:
    0x00013ab0 addiu s1, s1, 1               |     s1++;
    0x00013ab4 jalr t9                       |     t9 ();
    0x00013ab8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013abc move a1, v0                   |     a1 = v0;
    0x00013ac0 lw t9, -0x7904(gp)            |     t9 = sym.imp.fputc;
    0x00013ac4 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00013ac8 jalr t9                       |     t9 ();
    0x00013acc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013ad0 b 0x1301c                     |     goto label_18;
                                             | label_88:
    0x00013ad4 move a3, zero                 |     a3 = 0;
    0x00013ad8 addiu a2, zero, 2             |     a2 = 2;
    0x00013adc move a1, zero                 |     a1 = 0;
    0x00013ae0 move a0, s0                   |     a0 = s0;
    0x00013ae4 bal 0x25e7c                   |     sym_show_notation ();
    0x00013ae8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013aec b 0x13818                     |     goto label_27;
                                             | label_87:
    0x00013af0 addiu a2, zero, 2             |     a2 = 2;
    0x00013af4 move a1, zero                 |     a1 = 0;
    0x00013af8 move a0, s0                   |     a0 = s0;
    0x00013afc bal 0x25be0                   |     sym_show_keyserver_url ();
    0x00013b00 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013b04 b 0x137f0                     |     goto label_28;
                                             | label_86:
    0x00013b08 addiu a2, zero, 2             |     a2 = 2;
    0x00013b0c move a1, zero                 |     a1 = 0;
    0x00013b10 move a0, s0                   |     a0 = s0;
    0x00013b14 bal 0x259b8                   |     sym_show_policy_url ();
    0x00013b18 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013b1c b 0x137cc                     |     goto label_29;
                                             |     /* str.binary */
                                             | label_93:
    0x00013b20 addiu s4, s4, 0x4138          |     s4 += 0x4138;
    0x00013b24 b 0x13894                     |     goto label_30;
                                             | label_65:
    0x00013b28 move a0, s5                   |     a0 = s5;
    0x00013b2c bal 0xfd24                    |     sym_release_kbnode ();
    0x00013b30 move s1, s6                   |     s1 = s6;
    0x00013b34 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013b38 b 0x13850                     |     goto label_22;
                                             | label_92:
    0x00013b3c jalr t9                       |     t9 ();
    0x00013b40 nop                           |     
    0x00013b44 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013b48 move a1, v0                   |     a1 = v0;
    0x00013b4c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00013b50 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.Signature_expires__s_n */
    0x00013b54 addiu a0, a0, 0x4324          |     a0 += 0x4324;
    0x00013b58 jalr t9                       |     t9 ();
    0x00013b5c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013b60 b 0x13868                     |     goto label_31;
                                             | label_58:
    0x00013b64 move s6, zero                 |     s6 = 0;
    0x00013b68 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x00013b6c b 0x12f4c                     |     goto label_13;
                                             | label_84:
    0x00013b70 lw a0, 0x4c(sp)               |     a0 = *(var_4ch);
    0x00013b74 jalr t9                       |     t9 ();
    0x00013b78 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013b7c lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x00013b80 b 0x13714                     |     goto label_32;
                                             | label_83:
    0x00013b84 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
    0x00013b88 lw a0, 0x54(sp)               |     a0 = *(var_54h);
    0x00013b8c move a1, v0                   |     a1 = v0;
    0x00013b90 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
    0x00013b94 jalr t9                       |     t9 ();
    0x00013b98 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013b9c lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x00013ba0 b 0x13714                     |     goto label_32;
                                             | label_79:
    0x00013ba4 lw t9, -0x7c80(gp)            |     t9 = sym.parse_preferred_keyserver;
    0x00013ba8 move a0, s0                   |     a0 = s0;
    0x00013bac bal 0x6390                    |     sym_parse_preferred_keyserver ();
    0x00013bb0 move v1, v0                   |     v1 = v0;
    0x00013bb4 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00013bb8 beqz v0, 0x13460              |         goto label_33;
                                             |     }
    0x00013bbc lw a2, 0x54(sp)               |     a2 = *(var_54h);
    0x00013bc0 lw t9, -0x7ca0(gp)            |     t9 = sym.keyserver_import_keyid;
    0x00013bc4 lw a0, 0x44(sp)               |     a0 = *(var_44h_2);
    0x00013bc8 lw v0, (a2)                   |     v0 = *(a2);
    0x00013bcc move a1, v1                   |     a1 = v1;
    0x00013bd0 addiu v0, v0, 1               |     v0++;
    0x00013bd4 sw v1, 0x3c(sp)               |     *(var_3ch_2) = v1;
    0x00013bd8 sw v0, (a2)                   |     *(a2) = v0;
    0x00013bdc bal 0x634c                    |     sym_keyserver_import_keyid ();
    0x00013be0 lw a2, 0x54(sp)               |     a2 = *(var_54h);
    0x00013be4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013be8 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
    0x00013bec lw a0, (a2)                   |     a0 = *(a2);
    0x00013bf0 addiu a0, a0, -1              |     a0 += -1;
    0x00013bf4 sw a0, (a2)                   |     *(a2) = a0;
                                             |     if (v0 == 0) {
    0x00013bf8 beqz v0, 0x14070              |         goto label_99;
                                             |     }
    0x00013bfc lw t9, -0x7c7c(gp)            |     t9 = sym.free_keyserver_spec;
    0x00013c00 move a0, v1                   |     a0 = v1;
    0x00013c04 bal 0x63a0                    |     sym_free_keyserver_spec ();
    0x00013c08 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013c0c b 0x13460                     |     goto label_33;
                                             | label_77:
    0x00013c10 lw s6, -0x7fdc(gp)            |     s6 = *(gp);
    0x00013c14 addiu s6, s6, 0x239c          |     s6 += 0x239c;
    0x00013c18 b 0x13380                     |     goto label_34;
                                             | label_55:
    0x00013c1c lw s6, -0x7fdc(gp)            |     s6 = *(gp);
    0x00013c20 addiu s6, s6, 0x239c          |     s6 += 0x239c;
    0x00013c24 b 0x12ea4                     |     goto label_35;
                                             | label_97:
    0x00013c28 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str.Good_signature_from___s_ */
    0x00013c2c addiu a0, a0, 0x42a0          |     a0 += 0x42a0;
    0x00013c30 jalr t9                       |     t9 ();
    0x00013c34 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013c38 b 0x13998                     |     goto label_36;
                                             | label_96:
    0x00013c3c lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00013c40 move a1, v0                   |     a1 = v0;
                                             |     /* str.BAD_signature_from___s_ */
    0x00013c44 addiu a0, a0, 0x426c          |     a0 += 0x426c;
    0x00013c48 jalr t9                       |     t9 ();
    0x00013c4c lw v1, 0xe4(s2)               |     v1 = *((s2 + 57));
    0x00013c50 addiu v0, zero, 3             |     v0 = 3;
    0x00013c54 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v1 == v0) {
    0x00013c58 beq v1, v0, 0x13c64           |         goto label_100;
                                             |     }
    0x00013c5c lw t9, -0x7d40(gp)            |     t9 = sym.log_stream;
                                             |     if (s1 != 0) {
    0x00013c60 bnez s1, 0x139b0              |         goto label_37;
                                             |     }
                                             | label_100:
    0x00013c64 lw t9, -0x7d40(gp)            |     t9 = sym.log_stream;
    0x00013c68 move s1, s6                   |     s1 = s6;
    0x00013c6c jalr t9                       |     t9 ();
    0x00013c70 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013c74 move a1, v0                   |     a1 = v0;
    0x00013c78 lw t9, -0x7904(gp)            |     t9 = sym.imp.fputc;
    0x00013c7c addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00013c80 jalr t9                       |     t9 ();
    0x00013c84 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013c88 lw t9, -0x7ea4(gp)            |     t9 = sym.release_kbnode;
    0x00013c8c move a0, s5                   |     a0 = s5;
    0x00013c90 bal 0xfd24                    |     sym_release_kbnode ();
    0x00013c94 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013c98 b 0x13850                     |     goto label_22;
                                             |     /* fcn.00012b44 */
                                             | label_90:
    0x00013c9c addiu t9, t9, 0x2b44          |     t9 += 0x2b44;
    0x00013ca0 move a0, s0                   |     a0 = s0;
    0x00013ca4 bal 0x12b44                   |     fcn_00012b44 ();
    0x00013ca8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013cac b 0x1383c                     |     goto label_38;
                                             | label_60:
    0x00013cb0 lw s1, -0x7fdc(gp)            |     s1 = *(gp);
                                             | label_98:
    0x00013cb4 lw t9, -0x7c9c(gp)            |     t9 = sym.write_status_text_and_buffer;
    0x00013cb8 addiu v0, zero, -1            |     v0 = -1;
    0x00013cbc lw a1, 0x3c(sp)               |     a1 = *(var_3ch_2);
    0x00013cc0 lw a0, 0x40(sp)               |     a0 = *(var_40h_2);
                                             |     /* esilref: '[?]' */
    0x00013cc4 addiu a2, s1, 0x3ba4          |     a2 = s1 + 0x3ba4;
    0x00013cc8 addiu a3, zero, 3             |     a3 = 3;
    0x00013ccc sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00013cd0 sb zero, 0x9d(sp)             |     *(var_9dh) = 0;
    0x00013cd4 bal 0x22334                   |     sym_write_status_text_and_buffer ();
    0x00013cd8 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     /* esilref: '[?]' */
    0x00013cdc addiu a0, s1, 0x3ba4          |     a0 = s1 + 0x3ba4;
    0x00013ce0 lw t9, -0x7e4c(gp)            |     t9 = sym.xstrdup;
    0x00013ce4 move s1, zero                 |     s1 = 0;
    0x00013ce8 jalr t9                       |     t9 ();
    0x00013cec lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013cf0 b 0x13970                     |     goto label_39;
                                             | label_69:
    0x00013cf4 lw t9, -0x7d40(gp)            |     t9 = sym.log_stream;
    0x00013cf8 jalr t9                       |     t9 ();
    0x00013cfc nop                           |     
    0x00013d00 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013d04 move a1, v0                   |     a1 = v0;
    0x00013d08 lw t9, -0x7904(gp)            |     t9 = sym.imp.fputc;
    0x00013d0c addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00013d10 jalr t9                       |     t9 ();
    0x00013d14 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013d18 b 0x13160                     |     goto label_40;
                                             | label_89:
    0x00013d1c lw t9, -0x7f2c(gp)            |     t9 = sym.xmalloc_clear;
    0x00013d20 addiu a0, zero, 0x80          |     a0 = 0x80;
    0x00013d24 jalr t9                       |     t9 ();
    0x00013d28 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013d2c lw a1, 0x44(sp)               |     a1 = *(var_44h_2);
    0x00013d30 move a0, v0                   |     a0 = v0;
    0x00013d34 lw t9, -0x7e34(gp)            |     t9 = sym.get_pubkey;
    0x00013d38 move s5, v0                   |     s5 = v0;
    0x00013d3c bal 0xc768                    |     sym_get_pubkey ();
    0x00013d40 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00013d44 beqz v0, 0x13e70              |         goto label_101;
                                             |     }
                                             | label_45:
    0x00013d48 lw t9, -0x7e74(gp)            |     t9 = sym.free_public_key;
    0x00013d4c move a0, s5                   |     a0 = s5;
    0x00013d50 bal 0x91c0                    |     sym_free_public_key ();
    0x00013d54 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013d58 b 0x1382c                     |     goto label_41;
                                             |     /* fcn.00012b44 */
                                             | label_80:
    0x00013d5c addiu t9, t9, 0x2b44          |     t9 += 0x2b44;
    0x00013d60 move a0, s0                   |     a0 = s0;
    0x00013d64 bal 0x12b44                   |     fcn_00012b44 ();
    0x00013d68 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00013d6c beqz v0, 0x134a8              |         goto label_42;
                                             |     }
    0x00013d70 lw t9, -0x7c78(gp)            |     t9 = sym.parse_keyserver_uri;
    0x00013d74 move a3, zero                 |     a3 = 0;
    0x00013d78 move a2, zero                 |     a2 = 0;
    0x00013d7c addiu a1, zero, 1             |     a1 = 1;
    0x00013d80 move a0, v0                   |     a0 = v0;
    0x00013d84 bal 0x6398                    |     sym_parse_keyserver_uri ();
    0x00013d88 move s6, v0                   |     s6 = v0;
    0x00013d8c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00013d90 beqz v0, 0x134a8              |         goto label_42;
                                             |     }
    0x00013d94 lw s7, -0x7ca4(gp)            |     s7 = *(gp);
    0x00013d98 move a1, v0                   |     a1 = v0;
    0x00013d9c lw t9, -0x7ca0(gp)            |     t9 = sym.keyserver_import_keyid;
    0x00013da0 lw v0, (s7)                   |     v0 = *(s7);
    0x00013da4 lw a0, 0x44(sp)               |     a0 = *(var_44h_2);
    0x00013da8 addiu v0, v0, 1               |     v0++;
    0x00013dac sw v0, (s7)                   |     *(s7) = v0;
    0x00013db0 bal 0x634c                    |     sym_keyserver_import_keyid ();
    0x00013db4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013db8 lw v1, (s7)                   |     v1 = *(s7);
    0x00013dbc move fp, v0                   |     fp = v0;
    0x00013dc0 lw t9, -0x7c7c(gp)            |     t9 = sym.free_keyserver_spec;
    0x00013dc4 addiu v1, v1, -1              |     v1 += -1;
    0x00013dc8 move a0, s6                   |     a0 = s6;
    0x00013dcc sw v1, (s7)                   |     *(s7) = v1;
    0x00013dd0 bal 0x63a0                    |     sym_free_keyserver_spec ();
    0x00013dd4 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (fp != 0) {
    0x00013dd8 bnez fp, 0x134a8              |         goto label_42;
                                             |     }
    0x00013ddc lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00013de0 lw a3, 0x4c(sp)               |     a3 = *(var_4ch);
    0x00013de4 lw t9, 0x48(sp)               |     t9 = *(var_48h);
    0x00013de8 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00013dec move a2, zero                 |     a2 = 0;
    0x00013df0 move a1, s4                   |     a1 = s4;
    0x00013df4 move a0, s5                   |     a0 = s5;
    0x00013df8 jalr t9                       |     t9 ();
    0x00013dfc move s6, v0                   |     s6 = v0;
    0x00013e00 addiu v0, zero, 9             |     v0 = 9;
    0x00013e04 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (s6 == v0) {
    0x00013e08 beq s6, v0, 0x134a8           |         goto label_42;
                                             |     }
    0x00013e0c b 0x12f18                     |     goto label_17;
    0x00013e10 nop                           |     
                                             |     /* str.textmode */
                                             | label_94:
    0x00013e14 addiu s4, s4, 0x4140          |     s4 += 0x4140;
    0x00013e18 b 0x13894                     |     goto label_30;
                                             | label_68:
    0x00013e1c lw v0, 4(s7)                  |     v0 = *((s7 + 1));
    0x00013e20 lw t9, -0x7c74(gp)            |     t9 = sym.show_photos;
    0x00013e24 move a3, zero                 |     a3 = 0;
    0x00013e28 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x00013e2c move a2, s4                   |     a2 = s4;
    0x00013e30 lw a0, 8(v0)                  |     a0 = *((v0 + 2));
    0x00013e34 lw a1, 0xc(v0)                |     a1 = *((v0 + 3));
    0x00013e38 bal 0x63a8                    |     sym_show_photos ();
    0x00013e3c lw v0, 4(s7)                  |     v0 = *((s7 + 1));
    0x00013e40 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013e44 lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x00013e48 b 0x130c0                     |     goto label_43;
                                             | label_70:
    0x00013e4c move a0, s4                   |     a0 = s4;
    0x00013e50 bal 0x631c                    |     sym_get_validity ();
    0x00013e54 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013e58 lw t9, -0x7c98(gp)            |     t9 = sym.trust_value_to_string;
    0x00013e5c move a0, v0                   |     a0 = v0;
    0x00013e60 bal 0x6324                    |     sym_trust_value_to_string ();
    0x00013e64 move fp, v0                   |     fp = v0;
    0x00013e68 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013e6c b 0x13134                     |     goto label_44;
                                             | label_101:
    0x00013e70 lw t9, -0x7dc0(gp)            |     t9 = sym.fingerprint_from_pk;
    0x00013e74 addiu a2, sp, 0x6c            |     a2 = sp + 0x6c;
    0x00013e78 addiu s6, sp, 0x78            |     s6 = sp + 0x78;
    0x00013e7c sw a2, 0x40(sp)               |     *(var_40h_2) = a2;
    0x00013e80 sw s6, 0x3c(sp)               |     *(var_3ch_2) = s6;
    0x00013e84 move a1, s6                   |     a1 = s6;
    0x00013e88 move a0, s5                   |     a0 = s5;
    0x00013e8c bal 0x1a318                   |     sym_fingerprint_from_pk ();
    0x00013e90 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x00013e94 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00013e98 beqz v0, 0x14064              |         goto label_102;
                                             |     }
    0x00013e9c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00013ea0 addiu s1, sp, 0xc0            |     s1 = sp + 0xc0;
    0x00013ea4 move s7, zero                 |     s7 = 0;
    0x00013ea8 move s4, s1                   |     s4 = s1;
                                             |     /* str._02X */
    0x00013eac addiu fp, v0, 0x3d40          |     fp = v0 + 0x3d40;
                                             |     do {
    0x00013eb0 lbu v0, (s6)                  |         v0 = *(s6);
    0x00013eb4 lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x00013eb8 move a0, s4                   |         a0 = s4;
    0x00013ebc sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x00013ec0 move a3, fp                   |         a3 = fp;
    0x00013ec4 addiu a2, zero, 0xaa          |         a2 = 0xaa;
    0x00013ec8 addiu a1, zero, 1             |         a1 = 1;
    0x00013ecc jalr t9                       |         t9 ();
    0x00013ed0 lw v0, 0x6c(sp)               |         v0 = *(var_6ch);
    0x00013ed4 addiu s7, s7, 1               |         s7++;
    0x00013ed8 sltu v0, s7, v0               |         v0 = (s7 < v0) ? 1 : 0;
    0x00013edc lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013ee0 addiu s6, s6, 1               |         s6++;
    0x00013ee4 addiu s4, s4, 2               |         s4 += 2;
    0x00013ee8 bnez v0, 0x13eb0              |         
                                             |     } while (v0 != 0);
                                             | label_47:
    0x00013eec lw t9, -0x7d48(gp)            |     t9 = sym.strtimestamp;
    0x00013ef0 lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x00013ef4 jalr t9                       |     t9 ();
    0x00013ef8 lbu v1, 0x15(s0)              |     v1 = *((s0 + 21));
    0x00013efc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013f00 sw v1, 0x28(sp)               |     *(var_28h_2) = v1;
    0x00013f04 lbu v1, 0x17(s0)              |     v1 = *((s0 + 23));
    0x00013f08 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x00013f0c sw v1, 0x24(sp)               |     *(var_24h_2) = v1;
    0x00013f10 lbu v1, 0x16(s0)              |     v1 = *((s0 + 22));
    0x00013f14 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x00013f18 sw v1, 0x20(sp)               |     *(var_20h) = v1;
    0x00013f1c lbu v1, 0x14(s0)              |     v1 = *((s0 + 20));
    0x00013f20 move a0, s4                   |     a0 = s4;
    0x00013f24 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x00013f28 lw v1, 0x10(s0)               |     v1 = *((s0 + 4));
                                             |     /* str.__s__lu__lu__d_0__d__d__02X_ */
    0x00013f2c addiu a3, a3, 0x42ec          |     a3 += 0x42ec;
    0x00013f30 sw v1, 0x18(sp)               |     *(var_18h_2) = v1;
    0x00013f34 lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
    0x00013f38 addiu a2, zero, 0xaa          |     a2 = 0xaa;
    0x00013f3c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00013f40 addiu a1, zero, 1             |     a1 = 1;
    0x00013f44 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00013f48 jalr t9                       |     t9 ();
    0x00013f4c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013f50 lw t9, -0x78a0(gp)            |     t9 = sym.imp.strlen;
    0x00013f54 move a0, s4                   |     a0 = s4;
    0x00013f58 jalr t9                       |     t9 ();
    0x00013f5c lbu v1, 0x4c(s5)              |     v1 = *((s5 + 76));
    0x00013f60 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013f64 addu s4, s4, v0               |     s4 += v0;
                                             |     if (v1 == 0) {
    0x00013f68 beqz v1, 0x13fd8              |         goto label_103;
                                             |     }
                                             | label_46:
    0x00013f6c lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x00013f70 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (v0 == 0) {
    0x00013f74 beqz v0, 0x13fc0              |         goto label_104;
                                             |     }
    0x00013f78 lw s6, 0x3c(sp)               |     s6 = *(var_3ch_2);
    0x00013f7c move fp, zero                 |     fp = 0;
                                             |     /* str._02X */
    0x00013f80 addiu s7, v0, 0x3d40          |     s7 = v0 + 0x3d40;
                                             |     do {
    0x00013f84 lbu v0, (s6)                  |         v0 = *(s6);
    0x00013f88 lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x00013f8c move a0, s4                   |         a0 = s4;
    0x00013f90 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x00013f94 move a3, s7                   |         a3 = s7;
    0x00013f98 addiu a2, zero, -1            |         a2 = -1;
    0x00013f9c addiu a1, zero, 1             |         a1 = 1;
    0x00013fa0 jalr t9                       |         t9 ();
    0x00013fa4 lw v0, 0x6c(sp)               |         v0 = *(var_6ch);
    0x00013fa8 addiu fp, fp, 1               |         fp++;
    0x00013fac sltu v0, fp, v0               |         v0 = (fp < v0) ? 1 : 0;
    0x00013fb0 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013fb4 addiu s6, s6, 1               |         s6++;
    0x00013fb8 addiu s4, s4, 2               |         s4 += 2;
    0x00013fbc bnez v0, 0x13f84              |         
                                             |     } while (v0 != 0);
                                             | label_104:
    0x00013fc0 lw t9, -0x7d80(gp)            |     t9 = sym.write_status_text;
    0x00013fc4 move a1, s1                   |     a1 = s1;
    0x00013fc8 addiu a0, zero, 0x15          |     a0 = 0x15;
    0x00013fcc bal 0x21b8c                   |     sym_write_status_text ();
    0x00013fd0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013fd4 b 0x13d48                     |     goto label_45;
                                             | label_103:
    0x00013fd8 lw v1, 0x3c(s5)               |     v1 = *((s5 + 15));
    0x00013fdc lw v0, 0x40(s5)               |     v0 = *((s5 + 16));
    0x00013fe0 lw t9, -0x7e74(gp)            |     t9 = sym.free_public_key;
    0x00013fe4 move a0, s5                   |     a0 = s5;
    0x00013fe8 sw v1, 0x70(sp)               |     *(var_70h) = v1;
    0x00013fec sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x00013ff0 bal 0x91c0                    |     sym_free_public_key ();
    0x00013ff4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013ff8 lw t9, -0x7f2c(gp)            |     t9 = sym.xmalloc_clear;
    0x00013ffc addiu a0, zero, 0x80          |     a0 = 0x80;
    0x00014000 jalr t9                       |     t9 ();
    0x00014004 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00014008 addiu a1, sp, 0x70            |     a1 = sp + 0x70;
    0x0001400c move a0, v0                   |     a0 = v0;
    0x00014010 lw t9, -0x7e34(gp)            |     t9 = sym.get_pubkey;
    0x00014014 move s5, v0                   |     s5 = v0;
    0x00014018 bal 0xc768                    |     sym_get_pubkey ();
    0x0001401c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00014020 beqz v0, 0x14048              |         
    0x00014024 addiu v0, zero, 0x14          |         v0 = 0x14;
    0x00014028 sw v0, 0x6c(sp)               |         *(var_6ch) = v0;
    0x0001402c lw v0, 0x3c(sp)               |         v0 = *(var_3ch_2);
    0x00014030 sw zero, 0x78(sp)             |         *(var_78h) = 0;
    0x00014034 sw zero, 4(v0)                |         *((v0 + 1)) = 0;
    0x00014038 sw zero, 8(v0)                |         *((v0 + 2)) = 0;
    0x0001403c sw zero, 0xc(v0)              |         *((v0 + 3)) = 0;
    0x00014040 sw zero, 0x10(v0)             |         *((v0 + 4)) = 0;
    0x00014044 b 0x13f6c                     |         goto label_46;
                                             |     }
    0x00014048 lw t9, -0x7dc0(gp)            |     t9 = sym.fingerprint_from_pk;
    0x0001404c lw a2, 0x40(sp)               |     a2 = *(var_40h_2);
    0x00014050 lw a1, 0x3c(sp)               |     a1 = *(var_3ch_2);
    0x00014054 move a0, s5                   |     a0 = s5;
    0x00014058 bal 0x1a318                   |     sym_fingerprint_from_pk ();
    0x0001405c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00014060 b 0x13f6c                     |     goto label_46;
                                             | label_102:
    0x00014064 addiu s1, sp, 0xc0            |     s1 = sp + 0xc0;
    0x00014068 move s4, s1                   |     s4 = s1;
    0x0001406c b 0x13eec                     |     goto label_47;
                                             | label_99:
    0x00014070 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00014074 lw a3, 0x4c(sp)               |     a3 = *(var_4ch);
    0x00014078 lw t9, 0x48(sp)               |     t9 = *(var_48h);
    0x0001407c move a2, zero                 |     a2 = 0;
    0x00014080 move a1, s4                   |     a1 = s4;
    0x00014084 move a0, s5                   |     a0 = s5;
    0x00014088 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0001408c jalr t9                       |     t9 ();
    0x00014090 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00014094 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
    0x00014098 move s6, v0                   |     s6 = v0;
    0x0001409c lw t9, -0x7c7c(gp)            |     t9 = sym.free_keyserver_spec;
    0x000140a0 move a0, v1                   |     a0 = v1;
    0x000140a4 bal 0x63a0                    |     sym_free_keyserver_spec ();
    0x000140a8 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (s6 != 0) {
    0x000140ac bnez s6, 0x13460              |         goto label_33;
                                             |     }
    0x000140b0 lhu v0, (s0)                  |     v0 = *(s0);
    0x000140b4 b 0x12f24                     |     goto label_48;
                                             | label_73:
    0x000140b8 lw t9, -0x7834(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x000140bc jalr t9                       |     t9 ();
    0x000140c0 nop                           |     
                                             | label_50:
    0x000140c4 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x000140c8 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x000140cc lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000140d0 lw t9, -0x7944(gp)            |     t9 = sym.imp.__assert_fail;
                                             |     /* str.check_sig_and_print */
    0x000140d4 addiu a3, a3, 0x48f8          |     a3 += 0x48f8;
    0x000140d8 addiu a2, zero, 0x5bc         |     a2 = 0x5bc;
                                             |     /* str..._.._gnupg_1.4.7_g10_mainproc.c */
    0x000140dc addiu a1, a1, 0x3eac          |     a1 += 0x3eac;
    0x000140e0 addiu a0, a0, 0x4fe0          |     a0 += 0x4fe0;
    0x000140e4 jalr t9                       |     t9 ();
                                             | label_82:
    0x000140e8 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x000140ec lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x000140f0 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000140f4 lw t9, -0x7944(gp)            |     t9 = sym.imp.__assert_fail;
                                             |     /* str.check_sig_and_print */
    0x000140f8 addiu a3, a3, 0x48f8          |     a3 += 0x48f8;
    0x000140fc addiu a2, zero, 0x69b         |     a2 = 0x69b;
                                             |     /* str..._.._gnupg_1.4.7_g10_mainproc.c */
    0x00014100 addiu a1, a1, 0x3eac          |     a1 += 0x3eac;
                                             |     /* esilref: 'pk' */
    0x00014104 addiu a0, a0, 0x2c00          |     a0 += 0x2c00;
    0x00014108 jalr t9                       |     return t9 ();
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x19034 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00019034 ()              | void fcn_00019034 () {
    0x00019034 lui gp, 5                 |     
    0x00019038 addiu gp, gp, -0x6f04     |     
    0x0001903c addu gp, gp, t9           |     gp += t9;
    0x00019040 addiu sp, sp, -0x30       |     
    0x00019044 sw gp, 0x20(sp)           |     *(var_18h) = gp;
    0x00019048 sw s0, 0x28(sp)           |     *(var_20h) = s0;
    0x0001904c sw ra, 0x2c(sp)           |     *(var_24h) = ra;
    0x00019050 move s0, a0               |     s0 = a0;
    0x00019054 sw a1, 0x34(sp)           |     *(arg_34h) = a1;
                                         |     if (a1 >= 0) {
    0x00019058 bltz a1, 0x190bc          |         
    0x0001905c lw t9, -0x78b4(gp)        |         t9 = sym.imp.gmtime;
    0x00019060 addiu a0, sp, 0x34        |         a0 = sp + 0x34;
    0x00019064 jalr t9                   |         t9 ();
    0x00019068 lw v1, 0xc(v0)            |         v1 = *((v0 + 3));
    0x0001906c lw gp, 0x20(sp)           |         gp = *(var_18h);
    0x00019070 sw v1, 0x18(sp)           |         *(var_10h) = v1;
    0x00019074 lw v1, 0x10(v0)           |         v1 = *((v0 + 4));
    0x00019078 lw a3, -0x7fdc(gp)        |         a3 = *(gp);
    0x0001907c addiu v1, v1, 1           |         v1++;
    0x00019080 sw v1, 0x14(sp)           |         *(var_14h) = v1;
    0x00019084 lw v0, 0x14(v0)           |         v0 = *((v0 + 5));
    0x00019088 lw t9, -0x794c(gp)        |         t9 = sym.imp.__sprintf_chk
    0x0001908c addiu v0, v0, 0x76c       |         v0 += 0x76c;
    0x00019090 move a0, s0               |         a0 = s0;
                                         |         /* str._04d__02d__02d */
    0x00019094 addiu a3, a3, 0x5184      |         a3 += 0x5184;
    0x00019098 addiu a2, zero, -1        |         a2 = -1;
    0x0001909c sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x000190a0 addiu a1, zero, 1         |         a1 = 1;
    0x000190a4 jalr t9                   |         t9 ();
    0x000190a8 lw ra, 0x2c(sp)           |         ra = *(var_24h);
    0x000190ac move v0, s0               |         v0 = s0;
    0x000190b0 lw s0, 0x28(sp)           |         s0 = *(var_20h);
    0x000190b4 addiu sp, sp, 0x30        |         
    0x000190b8 jr ra                     |         return v0;
                                         |     }
    0x000190bc lw v1, -0x7fdc(gp)        |     v1 = *(gp);
                                         |     /* str.__________ */
    0x000190c0 addiu v0, v1, 0x5178      |     v0 = v1 + 0x5178;
    0x000190c4 lw a1, 0x5178(v1)         |     a1 = *((v1 + 5214));
    0x000190c8 lw a0, 4(v0)              |     a0 = *((v0 + 1));
    0x000190cc lhu v1, 8(v0)             |     v1 = *((v0 + 4));
    0x000190d0 lbu v0, 0xa(v0)           |     v0 = *((v0 + 10));
    0x000190d4 sw a1, (s0)               |     *(s0) = a1;
    0x000190d8 sb v0, 0xa(s0)            |     *((s0 + 10)) = v0;
    0x000190dc sw a0, 4(s0)              |     *((s0 + 1)) = a0;
    0x000190e0 sh v1, 8(s0)              |     *((s0 + 4)) = v1;
    0x000190e4 lw ra, 0x2c(sp)           |     ra = *(var_24h);
    0x000190e8 move v0, s0               |     v0 = s0;
    0x000190ec lw s0, 0x28(sp)           |     s0 = *(var_20h);
    0x000190f0 addiu sp, sp, 0x30        |     
    0x000190f4 jr ra                     |     return v0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x23edc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00023edc ()                  | void fcn_00023edc () {
    0x00023edc lui gp, 4                     |     
    0x00023ee0 addiu gp, gp, -0x1dac         |     
    0x00023ee4 addu gp, gp, t9               |     gp += t9;
    0x00023ee8 addiu sp, sp, -0x50           |     
    0x00023eec sw s5, 0x44(sp)               |     *(var_44h_3) = s5;
    0x00023ef0 lw s5, -0x781c(gp)            |     s5 = *((gp - 7687));
    0x00023ef4 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x00023ef8 sw s4, 0x40(sp)               |     *(var_40h_3) = s4;
    0x00023efc lw v0, (s5)                   |     v0 = *(s5);
    0x00023f00 sw s2, 0x38(sp)               |     *(var_38h_3) = s2;
    0x00023f04 sw s0, 0x30(sp)               |     *(var_30h_2) = s0;
    0x00023f08 sw ra, 0x4c(sp)               |     *(var_4ch_3) = ra;
    0x00023f0c sw s6, 0x48(sp)               |     *(var_48h_3) = s6;
    0x00023f10 sw s3, 0x3c(sp)               |     *(var_3ch_3) = s3;
    0x00023f14 sw s1, 0x34(sp)               |     *(var_34h_3) = s1;
    0x00023f18 move s4, a2                   |     s4 = a2;
    0x00023f1c move s0, a0                   |     s0 = a0;
    0x00023f20 move s2, a3                   |     s2 = a3;
    0x00023f24 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x00023f28 sw zero, (a2)                 |     *(a2) = 0;
                                             |     if (a2 != 0) {
    0x00023f2c bnel a2, zero, 0x23f30        |         
                                             |     }
    0x00023f30 sw zero, (s2)                 |     *(s2) = 0;
                                             |     if (s2 != 0) {
    0x00023f34 bnel s2, zero, 0x23f38        |         
                                             |     }
    0x00023f38 lw a2, (s0)                   |     a2 = *(s0);
    0x00023f3c lw s1, (a1)                   |     s1 = *(a1);
    0x00023f40 sltu v0, s1, a2               |     v0 = (s1 < a2) ? 1 : 0;
    0x00023f44 subu s1, a2, s1               |     __asm ("subu s1, a2, s1");
                                             |     if (v0 == 0) {
    0x00023f48 beqz v0, 0x23f98              |         goto label_2;
                                             |     }
    0x00023f4c addiu v0, zero, 1             |     v0 = 1;
    0x00023f50 lw s3, -0x7fdc(gp)            |     s3 = *(gp);
                                             |     if (s1 == v0) {
    0x00023f54 beq s1, v0, 0x240dc           |         goto label_3;
                                             |     }
    0x00023f58 lw s3, -0x7fdc(gp)            |     s3 = *(gp);
                                             |     /* str.public_key__s_is__lu_seconds_newer_than_the_signature_n */
    0x00023f5c addiu s3, s3, 0x6f70          |     s3 += 0x6f70;
                                             |     do {
    0x00023f60 lw t9, -0x7e6c(gp)            |         t9 = sym.keystr_from_pk;
    0x00023f64 move a0, s0                   |         a0 = s0;
    0x00023f68 bal 0x19dd4                   |         sym_keystr_from_pk ();
    0x00023f6c lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x00023f70 move a1, v0                   |         a1 = v0;
    0x00023f74 move a2, s1                   |         a2 = s1;
    0x00023f78 lw t9, -0x7f30(gp)            |         t9 = sym.g10_log_info;
    0x00023f7c move a0, s3                   |         a0 = s3;
    0x00023f80 bal 0x384ac                   |         sym_g10_log_info ();
    0x00023f84 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x00023f88 lw v0, -0x7fc8(gp)            |         v0 = *(gp);
    0x00023f8c lw v0, 0x1b4(v0)              |         v0 = *(v0);
    0x00023f90 addiu v0, zero, 0x28          |         v0 = 0x28;
                                             |         if (v0 != 0) {
    0x00023f94 beqz v0, 0x240a8              |             
                                             | label_2:
    0x00023f98 lw t9, -0x7ea0(gp)            |             t9 = sym.make_timestamp;
    0x00023f9c bal 0x38c7c                   |             sym_make_timestamp ();
    0x00023fa0 nop                           |             
    0x00023fa4 lw a2, (s0)                   |             a2 = *(s0);
    0x00023fa8 move s3, v0                   |             s3 = v0;
    0x00023fac sltu v0, v0, a2               |             v0 = (v0 < a2) ? 1 : 0;
    0x00023fb0 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
                                             |             if (v0 != 0) {
    0x00023fb4 beqz v0, 0x24008              |                 
    0x00023fb8 subu s1, a2, s3               |                 __asm ("subu s1, a2, s3");
    0x00023fbc addiu v0, zero, 1             |                 v0 = 1;
    0x00023fc0 lw s6, -0x7fdc(gp)            |                 s6 = *(gp);
                                             |                 if (s1 == v0) {
    0x00023fc4 beq s1, v0, 0x240e4           |                     goto label_4;
                                             |                 }
    0x00023fc8 lw s6, -0x7fdc(gp)            |                 s6 = *(gp);
                                             |                 /* str.key__s_was_created__lu_seconds_in_the_future__time_warp_or_clock_problem__n */
    0x00023fcc addiu s6, s6, 0x6ff4          |                 s6 += 0x6ff4;
                                             | label_0:
    0x00023fd0 lw t9, -0x7e6c(gp)            |                 t9 = sym.keystr_from_pk;
    0x00023fd4 move a0, s0                   |                 a0 = s0;
    0x00023fd8 bal 0x19dd4                   |                 sym_keystr_from_pk ();
    0x00023fdc lw gp, 0x18(sp)               |                 gp = *(var_18h_2);
    0x00023fe0 move a1, v0                   |                 a1 = v0;
    0x00023fe4 move a2, s1                   |                 a2 = s1;
    0x00023fe8 lw t9, -0x7f30(gp)            |                 t9 = sym.g10_log_info;
    0x00023fec move a0, s6                   |                 a0 = s6;
    0x00023ff0 bal 0x384ac                   |                 sym_g10_log_info ();
    0x00023ff4 lw gp, 0x18(sp)               |                 gp = *(var_18h_2);
    0x00023ff8 lw v0, -0x7fc8(gp)            |                 v0 = *(gp);
    0x00023ffc lw v0, 0x1b4(v0)              |                 v0 = *(v0);
    0x00024000 addiu v0, zero, 0x28          |                 v0 = 0x28;
                                             |                 if (v0 == 0) {
    0x00024004 beqz v0, 0x240a8              |                     goto label_5;
                                             |                 }
                                             |             }
    0x00024008 lw v0, 4(s0)                  |             v0 = *((s0 + 1));
                                             |             if (v0 != 0) {
    0x0002400c beql v0, zero, 0x2408c        |                 
    0x00024010 lw v0, 0x28(s0)               |                 v0 = *((s0 + 10));
    0x00024014 sltu s3, v0, s3               |                 s3 = (v0 < s3) ? 1 : 0;
                                             |                 if (s3 == 0) {
    0x00024018 beql s3, zero, 0x2408c        |                     goto label_6;
                                             |                 }
    0x0002401c lw v0, 0x28(s0)               |                 v0 = *((s0 + 10));
    0x00024020 lw v1, -0x7fc8(gp)            |                 v1 = *(gp);
    0x00024024 lw v1, (v1)                   |                 v1 = *(v1);
    0x00024028 lw t9, -0x7e6c(gp)            |                 t9 = sym.keystr_from_pk;
                                             |                 if (v1 != 0) {
    0x0002402c bnez v1, 0x240ec              |                     goto label_7;
                                             |                 }
                                             | label_1:
    0x00024030 lw a3, -0x7fdc(gp)            |                 a3 = *(gp);
    0x00024034 lw t9, -0x794c(gp)            |                 t9 = sym.imp.__sprintf_chk
    0x00024038 addiu s1, sp, 0x20            |                 s1 = sp + 0x20;
                                             |                 /* esilref: '&lu' */
    0x0002403c addiu a3, a3, 0x4eb0          |                 a3 += 0x4eb0;
    0x00024040 addiu a2, zero, 0xb           |                 a2 = 0xb;
    0x00024044 addiu a1, zero, 1             |                 a1 = 1;
    0x00024048 move a0, s1                   |                 a0 = s1;
    0x0002404c sw v0, 0x10(sp)               |                 *(var_58h_2) = v0;
    0x00024050 jalr t9                       |                 t9 ();
    0x00024054 lw gp, 0x18(sp)               |                 gp = *(var_18h_2);
    0x00024058 move a1, s1                   |                 a1 = s1;
    0x0002405c lw t9, -0x7d80(gp)            |                 t9 = sym.write_status_text;
    0x00024060 addiu a0, zero, 9             |                 a0 = 9;
    0x00024064 bal 0x21b8c                   |                 sym_write_status_text ();
    0x00024068 lw gp, 0x18(sp)               |                 gp = *(var_18h_2);
    0x0002406c lw t9, -0x7d3c(gp)            |                 t9 = sym.write_status;
    0x00024070 addiu a0, zero, 0x40          |                 a0 = 0x40;
    0x00024074 bal 0x21e10                   |                 sym_write_status ();
    0x00024078 lw gp, 0x18(sp)               |                 gp = *(var_18h_2);
                                             |                 if (s4 != 0) {
    0x0002407c beqz s4, 0x24088              |                     
    0x00024080 addiu v0, zero, 1             |                     v0 = 1;
    0x00024084 sw v0, (s4)                   |                     *(s4) = v0;
                                             |                 }
    0x00024088 lw v0, 0x28(s0)               |                 v0 = *((s0 + 10));
                                             |             }
                                             |             if (v0 == 0) {
                                             | label_6:
    0x0002408c beqz v0, 0x240a8              |                 goto label_5;
                                             |             }
    0x00024090 nop                           |             
    0x00024094 move v0, zero                 |             v0 = 0;
                                             |             if (s2 == 0) {
    0x00024098 beqz s2, 0x240a8              |                 goto label_5;
                                             |             }
    0x0002409c addiu v0, zero, 1             |             v0 = 1;
    0x000240a0 sw v0, (s2)                   |             *(s2) = v0;
    0x000240a4 move v0, zero                 |             v0 = 0;
                                             |         }
                                             | label_5:
    0x000240a8 lw a0, 0x2c(sp)               |         a0 = *(var_2ch_2);
    0x000240ac lw v1, (s5)                   |         v1 = *(s5);
    0x000240b0 lw ra, 0x4c(sp)               |         ra = *(var_4ch_3);
                                             |         if (a0 != v1) {
    0x000240b4 bne a0, v1, 0x24130           |             goto label_8;
                                             |         }
    0x000240b8 lw s6, 0x48(sp)               |         s6 = *(var_48h_3);
    0x000240bc lw s5, 0x44(sp)               |         s5 = *(var_44h_3);
    0x000240c0 lw s4, 0x40(sp)               |         s4 = *(var_40h_3);
    0x000240c4 lw s3, 0x3c(sp)               |         s3 = *(var_3ch_3);
    0x000240c8 lw s2, 0x38(sp)               |         s2 = *(var_38h_3);
    0x000240cc lw s1, 0x34(sp)               |         s1 = *(var_34h_3);
    0x000240d0 lw s0, 0x30(sp)               |         s0 = *(var_30h_2);
    0x000240d4 addiu sp, sp, 0x50            |         
    0x000240d8 jr ra                         |         return v0;
                                             |         /* str.public_key__s_is__lu_second_newer_than_the_signature_n */
                                             | label_3:
    0x000240dc addiu s3, s3, 0x6f38          |         s3 += 0x6f38;
    0x000240e0 b 0x23f60                     |         
                                             |     } while (1);
                                             |     /* str.key__s_was_created__lu_second_in_the_future__time_warp_or_clock_problem__n */
                                             | label_4:
    0x000240e4 addiu s6, s6, 0x6fa8          |     s6 += 0x6fa8;
    0x000240e8 b 0x23fd0                     |     goto label_0;
                                             | label_7:
    0x000240ec move a0, s0                   |     a0 = s0;
    0x000240f0 bal 0x19dd4                   |     sym_keystr_from_pk ();
    0x000240f4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x000240f8 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x000240fc lw t9, -0x7cb0(gp)            |     t9 = sym.asctimestamp;
    0x00024100 move s1, v0                   |     s1 = v0;
    0x00024104 bal 0x38ee4                   |     sym_asctimestamp ();
    0x00024108 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0002410c move a2, v0                   |     a2 = v0;
    0x00024110 move a1, s1                   |     a1 = s1;
    0x00024114 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00024118 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.NOTE:_signature_key__s_expired__s_n */
    0x0002411c addiu a0, a0, 0x7040          |     a0 += 0x7040;
    0x00024120 bal 0x384ac                   |     sym_g10_log_info ();
    0x00024124 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x00024128 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x0002412c b 0x24030                     |     goto label_1;
                                             | label_8:
    0x00024130 lw t9, -0x7834(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00024134 jalr t9                       |     t9 ();
    0x00024138 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x186f4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.ask_outfile_name ()          | void ask_outfile_name () {
    0x000186f4 lui gp, 5                     |     
    0x000186f8 addiu gp, gp, -0x65c4         |     
    0x000186fc addu gp, gp, t9               |     gp += t9;
    0x00018700 lw a2, -0x7fc8(gp)            |     a2 = *(gp);
    0x00018704 addiu sp, sp, -0x30           |     
    0x00018708 lw a2, 0x40(a2)               |     a2 = *((a2 + 16));
    0x0001870c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00018710 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00018714 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x00018718 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0001871c sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x00018720 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (a2 == 0) {
    0x00018724 bnel a2, zero, 0x18918        |         goto label_0;
                                             |     }
    0x00018728 lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
                                             |     if (a0 == 0) {
    0x0001872c beqz a0, 0x1873c              |         goto label_1;
                                             |     }
    0x00018730 lw t9, -0x7c08(gp)            |     t9 = sym.make_printable_string;
    0x00018734 bnez a1, 0x18818              |     
                                             |     while (v0 == 0) {
    0x00018738 lw t9, -0x7f28(gp)            |         t9 = sym.xmalloc;
                                             | label_1:
    0x0001873c addiu a0, zero, 0x1c          |         a0 = 0x1c;
    0x00018740 jalr t9                       |         t9 ();
    0x00018744 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00018748 move s1, v0                   |         s1 = v0;
    0x0001874c addiu a2, zero, -1            |         a2 = -1;
    0x00018750 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00018754 lw a3, -0x7fdc(gp)            |         a3 = *(gp);
    0x00018758 lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
                                             |         /* str.Enter_new_filename */
    0x0001875c addiu v0, v0, 0x5004          |         v0 += 0x5004;
                                             |         /* str._s:_ */
    0x00018760 addiu a3, a3, 0x502c          |         a3 += 0x502c;
    0x00018764 addiu a1, zero, 1             |         a1 = 1;
    0x00018768 move a0, s1                   |         a0 = s1;
    0x0001876c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00018770 jalr t9                       |         t9 ();
    0x00018774 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00018778 move a0, zero                 |         a0 = 0;
    0x0001877c lw t9, -0x7c04(gp)            |         t9 = sym.tty_enable_completion;
    0x00018780 move s2, zero                 |         s2 = 0;
    0x00018784 bal 0x6458                    |         sym_tty_enable_completion ();
    0x00018788 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001878c move a1, s1                   |         a1 = s1;
    0x00018790 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x00018794 lw t9, -0x7c00(gp)            |         t9 = sym.cpr_get;
                                             |         /* str.openfile.askoutname */
    0x00018798 addiu a0, a0, 0x5018          |         a0 += 0x5018;
    0x0001879c bal 0x22690                   |         sym_cpr_get ();
    0x000187a0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000187a4 lw t9, -0x7bfc(gp)            |         t9 = sym.cpr_kill_prompt;
    0x000187a8 move s0, v0                   |         s0 = v0;
    0x000187ac bal 0x227a0                   |         sym_cpr_kill_prompt ();
    0x000187b0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000187b4 lw t9, -0x7bf8(gp)            |         t9 = sym.tty_disable_completion;
    0x000187b8 bal 0x6460                    |         sym_tty_disable_completion ();
    0x000187bc nop                           |         
    0x000187c0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000187c4 lw t9, -0x7f24(gp)            |         t9 = sym.xfree;
    0x000187c8 move a0, s1                   |         a0 = s1;
    0x000187cc jalr t9                       |         t9 ();
    0x000187d0 lb v0, (s0)                   |         v0 = *(s0);
    0x000187d4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000187d8 bnez v0, 0x188e0              |             goto label_2;
                                             |         }
    0x000187dc lw t9, -0x7f24(gp)            |         t9 = sym.xfree;
    0x000187e0 move a0, s0                   |         a0 = s0;
    0x000187e4 jalr t9                       |         t9 ();
    0x000187e8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000187ec move a0, zero                 |         a0 = 0;
    0x000187f0 lw t9, -0x7f24(gp)            |         t9 = sym.xfree;
    0x000187f4 move s0, zero                 |         s0 = 0;
    0x000187f8 jalr t9                       |         t9 ();
    0x000187fc lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x00018800 move v0, s0                   |         v0 = s0;
    0x00018804 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00018808 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0001880c lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00018810 addiu sp, sp, 0x30            |         
    0x00018814 jr ra                         |         return v0;
    0x00018818 move a2, zero                 |         a2 = 0;
    0x0001881c jalr t9                       |         t9 ();
    0x00018820 move s2, v0                   |         s2 = v0;
    0x00018824 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00018828 beqz v0, 0x18738              |         
                                             |     }
    0x0001882c lw t9, -0x78a0(gp)            |     t9 = sym.imp.strlen;
    0x00018830 move a0, v0                   |     a0 = v0;
    0x00018834 jalr t9                       |     t9 ();
    0x00018838 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001883c lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x00018840 addiu a0, v0, 0x1c            |     a0 = v0 + 0x1c;
    0x00018844 jalr t9                       |     t9 ();
    0x00018848 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001884c move s1, v0                   |     s1 = v0;
    0x00018850 move a0, v0                   |     a0 = v0;
    0x00018854 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00018858 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
                                             |     /* str.Enter_new_filename */
    0x0001885c addiu v0, v0, 0x5004          |     v0 += 0x5004;
    0x00018860 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
                                             |     /* str._s___s_:_ */
    0x00018864 addiu a3, a3, 0x4ff8          |     a3 += 0x4ff8;
    0x00018868 addiu a2, zero, -1            |     a2 = -1;
    0x0001886c addiu a1, zero, 1             |     a1 = 1;
    0x00018870 sw s2, 0x14(sp)               |     *(var_14h) = s2;
    0x00018874 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00018878 jalr t9                       |     t9 ();
    0x0001887c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018880 lw t9, -0x7c04(gp)            |     t9 = sym.tty_enable_completion;
    0x00018884 move a0, zero                 |     a0 = 0;
    0x00018888 bal 0x6458                    |     sym_tty_enable_completion ();
    0x0001888c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018890 move a1, s1                   |     a1 = s1;
    0x00018894 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00018898 lw t9, -0x7c00(gp)            |     t9 = sym.cpr_get;
                                             |     /* str.openfile.askoutname */
    0x0001889c addiu a0, a0, 0x5018          |     a0 += 0x5018;
    0x000188a0 bal 0x22690                   |     sym_cpr_get ();
    0x000188a4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000188a8 lw t9, -0x7bfc(gp)            |     t9 = sym.cpr_kill_prompt;
    0x000188ac move s0, v0                   |     s0 = v0;
    0x000188b0 bal 0x227a0                   |     sym_cpr_kill_prompt ();
    0x000188b4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000188b8 lw t9, -0x7bf8(gp)            |     t9 = sym.tty_disable_completion;
    0x000188bc bal 0x6460                    |     sym_tty_disable_completion ();
    0x000188c0 nop                           |     
    0x000188c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000188c8 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x000188cc move a0, s1                   |     a0 = s1;
    0x000188d0 jalr t9                       |     t9 ();
    0x000188d4 lb v0, (s0)                   |     v0 = *(s0);
    0x000188d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000188dc beqz v0, 0x18934              |         goto label_3;
                                             |     }
                                             | label_2:
    0x000188e0 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x000188e4 move a0, s2                   |     a0 = s2;
    0x000188e8 jalr t9                       |     t9 ();
    0x000188ec lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
    0x000188f0 lw t9, -0x7bf4(gp)            |         t9 = sym.trim_spaces;
    0x000188f4 move a0, s0                   |         a0 = s0;
    0x000188f8 jalr t9                       |         t9 ();
    0x000188fc lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x00018900 move v0, s0                   |         v0 = s0;
    0x00018904 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00018908 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0001890c lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00018910 addiu sp, sp, 0x30            |         
    0x00018914 jr ra                         |         return v0;
                                             | label_0:
    0x00018918 move s0, zero                 |         s0 = 0;
    0x0001891c move v0, s0                   |         v0 = s0;
    0x00018920 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00018924 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x00018928 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0001892c addiu sp, sp, 0x30            |         
    0x00018930 jr ra                         |         return v0;
                                             | label_3:
    0x00018934 lw t9, -0x7f24(gp)            |         t9 = sym.xfree;
    0x00018938 move a0, s0                   |         a0 = s0;
    0x0001893c jalr t9                       |         t9 ();
    0x00018940 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00018944 move a0, zero                 |         a0 = 0;
    0x00018948 lw t9, -0x7f24(gp)            |         t9 = sym.xfree;
    0x0001894c move s0, s2                   |         s0 = s2;
    0x00018950 jalr t9                       |         t9 ();
    0x00018954 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00018958 b 0x188f0                     |         
                                             |     } while (1);
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x1a0ec */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.colon_datestr_from_pk ()         | void colon_datestr_from_pk () {
    0x0001a0ec lui gp, 5                         |     
    0x0001a0f0 addiu gp, gp, -0x7fbc             |     
    0x0001a0f4 addu gp, gp, t9                   |     gp += t9;
    0x0001a0f8 lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x0001a0fc addiu sp, sp, -0x28               |     
    0x0001a100 lw a1, (a0)                       |     a1 = *(a0);
    0x0001a104 lw v0, 0x1b0(v0)                  |     v0 = *(v0);
    0x0001a108 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x0001a10c sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x0001a110 sw s0, 0x20(sp)                   |     *(var_20h) = s0;
    0x0001a114 lw a0, -0x7fb4(gp)                |     a0 = *((gp - 8173));
                                                 |     if (v0 == 0) {
    0x0001a118 bnez v0, 0x1a138                  |         
    0x0001a11c lw t9, -0x7bd4(gp)                |         t9 = *(gp);
    0x0001a120 lw ra, 0x24(sp)                   |         ra = *(var_24h);
    0x0001a124 lw s0, 0x20(sp)                   |         s0 = *(var_20h);
    0x0001a128 addiu a0, a0, -0x4dd4             |         a0 += -0x4dd4;
                                                 |         /* fcn.00019034 */
    0x0001a12c addiu t9, t9, -0x6fcc             |         t9 += -0x6fcc;
    0x0001a130 addiu sp, sp, 0x28                |         
    0x0001a134 b 0x19034                         |         void (*0x19034)() ();
                                                 |     }
    0x0001a138 lw s0, -0x7fb4(gp)                |     s0 = *((gp - 8173));
    0x0001a13c lw a3, -0x7fdc(gp)                |     a3 = *(gp);
    0x0001a140 lw t9, -0x794c(gp)                |     t9 = sym.imp.__sprintf_chk
    0x0001a144 sw a1, 0x10(sp)                   |     *(var_10h) = a1;
    0x0001a148 addiu a0, s0, -0x4e44             |     a0 = s0 + -0x4e44;
                                                 |     /* esilref: '&lu' */
    0x0001a14c addiu a3, a3, 0x4eb0              |     a3 += 0x4eb0;
    0x0001a150 addiu a2, zero, 0xf               |     a2 = 0xf;
    0x0001a154 addiu a1, zero, 1                 |     a1 = 1;
    0x0001a158 jalr t9                           |     t9 ();
    0x0001a15c lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x0001a160 addiu v0, s0, -0x4e44             |     v0 = s0 + -0x4e44;
    0x0001a164 lw s0, 0x20(sp)                   |     s0 = *(var_20h);
    0x0001a168 addiu sp, sp, 0x28                |     
    0x0001a16c jr ra                             |     return v0;
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x1a1f4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.colon_datestr_from_sig ()        | void colon_datestr_from_sig () {
    0x0001a1f4 lui gp, 4                         |     
    0x0001a1f8 addiu gp, gp, 0x7f3c              |     
    0x0001a1fc addu gp, gp, t9                   |     gp += t9;
    0x0001a200 lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x0001a204 addiu sp, sp, -0x28               |     
    0x0001a208 lw a1, 0xc(a0)                    |     a1 = *((a0 + 3));
    0x0001a20c lw v0, 0x1b0(v0)                  |     v0 = *(v0);
    0x0001a210 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x0001a214 sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x0001a218 sw s0, 0x20(sp)                   |     *(var_20h) = s0;
    0x0001a21c lw a0, -0x7fb4(gp)                |     a0 = *((gp - 8173));
                                                 |     if (v0 == 0) {
    0x0001a220 bnez v0, 0x1a240                  |         
    0x0001a224 lw t9, -0x7bd4(gp)                |         t9 = *(gp);
    0x0001a228 lw ra, 0x24(sp)                   |         ra = *(var_24h);
    0x0001a22c lw s0, 0x20(sp)                   |         s0 = *(var_20h);
    0x0001a230 addiu a0, a0, -0x4df4             |         a0 += -0x4df4;
                                                 |         /* fcn.00019034 */
    0x0001a234 addiu t9, t9, -0x6fcc             |         t9 += -0x6fcc;
    0x0001a238 addiu sp, sp, 0x28                |         
    0x0001a23c b 0x19034                         |         void (*0x19034)() ();
                                                 |     }
    0x0001a240 lw s0, -0x7fb4(gp)                |     s0 = *((gp - 8173));
    0x0001a244 lw a3, -0x7fdc(gp)                |     a3 = *(gp);
    0x0001a248 lw t9, -0x794c(gp)                |     t9 = sym.imp.__sprintf_chk
    0x0001a24c sw a1, 0x10(sp)                   |     *(var_10h) = a1;
    0x0001a250 addiu a0, s0, -0x4e64             |     a0 = s0 + -0x4e64;
                                                 |     /* esilref: '&lu' */
    0x0001a254 addiu a3, a3, 0x4eb0              |     a3 += 0x4eb0;
    0x0001a258 addiu a2, zero, 0xf               |     a2 = 0xf;
    0x0001a25c addiu a1, zero, 1                 |     a1 = 1;
    0x0001a260 jalr t9                           |     t9 ();
    0x0001a264 lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x0001a268 addiu v0, s0, -0x4e64             |     v0 = s0 + -0x4e64;
    0x0001a26c lw s0, 0x20(sp)                   |     s0 = *(var_20h);
    0x0001a270 addiu sp, sp, 0x28                |     
    0x0001a274 jr ra                             |     return v0;
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x1a170 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.colon_datestr_from_sk ()         | void colon_datestr_from_sk () {
    0x0001a170 lui gp, 4                         |     
    0x0001a174 addiu gp, gp, 0x7fc0              |     
    0x0001a178 addu gp, gp, t9                   |     gp += t9;
    0x0001a17c lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x0001a180 addiu sp, sp, -0x28               |     
    0x0001a184 lw a1, (a0)                       |     a1 = *(a0);
    0x0001a188 lw v0, 0x1b0(v0)                  |     v0 = *(v0);
    0x0001a18c sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x0001a190 sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x0001a194 sw s0, 0x20(sp)                   |     *(var_20h) = s0;
    0x0001a198 lw a0, -0x7fb4(gp)                |     a0 = *((gp - 8173));
                                                 |     if (v0 == 0) {
    0x0001a19c bnez v0, 0x1a1bc                  |         
    0x0001a1a0 lw t9, -0x7bd4(gp)                |         t9 = *(gp);
    0x0001a1a4 lw ra, 0x24(sp)                   |         ra = *(var_24h);
    0x0001a1a8 lw s0, 0x20(sp)                   |         s0 = *(var_20h);
    0x0001a1ac addiu a0, a0, -0x4de4             |         a0 += -0x4de4;
                                                 |         /* fcn.00019034 */
    0x0001a1b0 addiu t9, t9, -0x6fcc             |         t9 += -0x6fcc;
    0x0001a1b4 addiu sp, sp, 0x28                |         
    0x0001a1b8 b 0x19034                         |         void (*0x19034)() ();
                                                 |     }
    0x0001a1bc lw s0, -0x7fb4(gp)                |     s0 = *((gp - 8173));
    0x0001a1c0 lw a3, -0x7fdc(gp)                |     a3 = *(gp);
    0x0001a1c4 lw t9, -0x794c(gp)                |     t9 = sym.imp.__sprintf_chk
    0x0001a1c8 sw a1, 0x10(sp)                   |     *(var_10h) = a1;
    0x0001a1cc addiu a0, s0, -0x4e54             |     a0 = s0 + -0x4e54;
                                                 |     /* esilref: '&lu' */
    0x0001a1d0 addiu a3, a3, 0x4eb0              |     a3 += 0x4eb0;
    0x0001a1d4 addiu a2, zero, 0xf               |     a2 = 0xf;
    0x0001a1d8 addiu a1, zero, 1                 |     a1 = 1;
    0x0001a1dc jalr t9                           |     t9 ();
    0x0001a1e0 lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x0001a1e4 addiu v0, s0, -0x4e54             |     v0 = s0 + -0x4e54;
    0x0001a1e8 lw s0, 0x20(sp)                   |     s0 = *(var_20h);
    0x0001a1ec addiu sp, sp, 0x28                |     
    0x0001a1f0 jr ra                             |     return v0;
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x1a278 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.colon_expirestr_from_sig ()          | void colon_expirestr_from_sig () {
    0x0001a278 lui gp, 4                             |     
    0x0001a27c addiu gp, gp, 0x7eb8                  |     
    0x0001a280 addu gp, gp, t9                       |     gp += t9;
    0x0001a284 addiu sp, sp, -0x28                   |     
    0x0001a288 lw a1, 0x10(a0)                       |     a1 = *((a0 + 4));
    0x0001a28c sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x0001a290 sw ra, 0x24(sp)                       |     *(var_24h) = ra;
    0x0001a294 sw s0, 0x20(sp)                       |     *(var_20h) = s0;
    0x0001a298 lw v0, -0x7fc8(gp)                    |     v0 = *(gp);
                                                     |     if (a1 != 0) {
    0x0001a29c beqz a1, 0x1a300                      |         
    0x0001a2a0 lw v0, 0x1b0(v0)                      |         v0 = *(v0);
    0x0001a2a4 lw a0, -0x7fb4(gp)                    |         a0 = *((gp - 8173));
                                                     |         if (v0 == 0) {
    0x0001a2a8 bnez v0, 0x1a2c8                      |             
    0x0001a2ac lw t9, -0x7bd4(gp)                    |             t9 = *(gp);
    0x0001a2b0 lw ra, 0x24(sp)                       |             ra = *(var_24h);
    0x0001a2b4 lw s0, 0x20(sp)                       |             s0 = *(var_20h);
    0x0001a2b8 addiu a0, a0, -0x4e14                 |             a0 += -0x4e14;
                                                     |             /* fcn.00019034 */
    0x0001a2bc addiu t9, t9, -0x6fcc                 |             t9 += -0x6fcc;
    0x0001a2c0 addiu sp, sp, 0x28                    |             
    0x0001a2c4 b 0x19034                             |             void (*0x19034)() ();
                                                     |         }
    0x0001a2c8 lw s0, -0x7fb4(gp)                    |         s0 = *((gp - 8173));
    0x0001a2cc lw a3, -0x7fdc(gp)                    |         a3 = *(gp);
    0x0001a2d0 lw t9, -0x794c(gp)                    |         t9 = sym.imp.__sprintf_chk
    0x0001a2d4 sw a1, 0x10(sp)                       |         *(var_10h) = a1;
    0x0001a2d8 addiu a0, s0, -0x4e74                 |         a0 = s0 + -0x4e74;
                                                     |         /* esilref: '&lu' */
    0x0001a2dc addiu a3, a3, 0x4eb0                  |         a3 += 0x4eb0;
    0x0001a2e0 addiu a2, zero, 0xf                   |         a2 = 0xf;
    0x0001a2e4 addiu a1, zero, 1                     |         a1 = 1;
    0x0001a2e8 jalr t9                               |         t9 ();
    0x0001a2ec lw ra, 0x24(sp)                       |         ra = *(var_24h);
    0x0001a2f0 addiu v0, s0, -0x4e74                 |         v0 = s0 + -0x4e74;
    0x0001a2f4 lw s0, 0x20(sp)                       |         s0 = *(var_20h);
    0x0001a2f8 addiu sp, sp, 0x28                    |         
    0x0001a2fc jr ra                                 |         return v0;
                                                     |     }
    0x0001a300 lw ra, 0x24(sp)                       |     ra = *(var_24h);
    0x0001a304 lw v0, -0x7fdc(gp)                    |     v0 = *(gp);
    0x0001a308 lw s0, 0x20(sp)                       |     s0 = *(var_20h);
    0x0001a30c addiu v0, v0, 0x4b84                  |     v0 += 0x4b84;
    0x0001a310 addiu sp, sp, 0x28                    |     
    0x0001a314 jr ra                                 |     return v0;
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x1a05c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.colon_strtime ()             | void colon_strtime () {
    0x0001a05c lui gp, 5                     |     
    0x0001a060 addiu gp, gp, -0x7f2c         |     
    0x0001a064 addu gp, gp, t9               |     gp += t9;
    0x0001a068 addiu sp, sp, -0x28           |     
    0x0001a06c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0001a070 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x0001a074 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0001a078 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
                                             |     if (a0 != 0) {
    0x0001a07c beqz a0, 0x1a0d4              |         
    0x0001a080 lw v1, 0x1b0(v1)              |         v1 = *(v1);
    0x0001a084 lw ra, 0x24(sp)               |         ra = *(var_24h);
                                             |         if (v1 == 0) {
    0x0001a088 bnez v1, 0x1a09c              |             
    0x0001a08c lw s0, 0x20(sp)               |             s0 = *(var_20h);
    0x0001a090 lw t9, -0x7d48(gp)            |             t9 = sym.strtimestamp;
    0x0001a094 addiu sp, sp, 0x28            |             
    0x0001a098 b 0x38df8                     |             void (*0x38df8)() ();
                                             |         }
    0x0001a09c lw s0, -0x7fb4(gp)            |         s0 = *((gp - 8173));
    0x0001a0a0 lw a3, -0x7fdc(gp)            |         a3 = *(gp);
    0x0001a0a4 lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x0001a0a8 sw a0, 0x10(sp)               |         *(var_10h) = a0;
                                             |         /* esilref: '&lu' */
    0x0001a0ac addiu a3, a3, 0x4eb0          |         a3 += 0x4eb0;
    0x0001a0b0 addiu a0, s0, -0x4e34         |         a0 = s0 + -0x4e34;
    0x0001a0b4 addiu a2, zero, 0xf           |         a2 = 0xf;
    0x0001a0b8 addiu a1, zero, 1             |         a1 = 1;
    0x0001a0bc jalr t9                       |         t9 ();
    0x0001a0c0 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x0001a0c4 addiu v0, s0, -0x4e34         |         v0 = s0 + -0x4e34;
    0x0001a0c8 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0001a0cc addiu sp, sp, 0x28            |         
    0x0001a0d0 jr ra                         |         return v0;
                                             |     }
    0x0001a0d4 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x0001a0d8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0001a0dc lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0001a0e0 addiu v0, v0, 0x4b84          |     v0 += 0x4b84;
    0x0001a0e4 addiu sp, sp, 0x28            |     
    0x0001a0e8 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x3d3b4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.g10_errstr ()                | void g10_errstr () {
    0x0003d3b4 lui gp, 2                     |     
    0x0003d3b8 addiu gp, gp, 0x4d7c          |     
    0x0003d3bc addu gp, gp, t9               |     gp += t9;
    0x0003d3c0 addiu sp, sp, -0x28           |     
    0x0003d3c4 addiu v0, a0, 1               |     v0 = a0 + 1;
    0x0003d3c8 sltiu v1, v0, 0x3c            |     v1 = (v0 < 0x3c) ? 1 : 0;
    0x0003d3cc sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0003d3d0 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x0003d3d4 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0003d3d8 sll v1, v0, 2                 |     v1 = v0 << 2;
                                             |     if (v1 == 0) {
    0x0003d3dc beqz v1, 0x3d6bc              |         goto label_0;
                                             |     }
    0x0003d3e0 lw v0, -0x7d90(gp)            |     v0 = *((gp - 8036));
    0x0003d3e4 addiu v0, v0, -0x6ffc         |     v0 += -0x6ffc;
    0x0003d3e8 lwx v0, v1(v0)                |     __asm ("lwx v0, v1(v0)");
    0x0003d3ec addu v0, v0, gp               |     v0 += gp;
    0x0003d3f0 jr v0                         |     v0 ();
    0x0003d3f4 nop                           |     
                                             |     do {
    0x0003d400 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x0003d404 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0003d408 addiu sp, sp, 0x28            |         
    0x0003d40c jr ra                         |         return v0;
                                             | label_0:
    0x0003d6bc lw s0, -0x7fb4(gp)            |         s0 = *((gp - 8173));
    0x0003d6c0 lw a3, -0x7d90(gp)            |         a3 = *((gp - 8036));
    0x0003d6c4 lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x0003d6c8 sw a0, 0x10(sp)               |         *(var_10h) = a0;
                                             |         /* str.g10err_d */
    0x0003d6cc addiu a3, a3, -0x7008         |         a3 += -0x7008;
    0x0003d6d0 addiu a2, zero, 0x32          |         a2 = 0x32;
    0x0003d6d4 addiu a1, zero, 1             |         a1 = 1;
    0x0003d6d8 addiu a0, s0, -0x48fc         |         a0 = s0 + -0x48fc;
    0x0003d6dc jalr t9                       |         t9 ();
    0x0003d6e0 addiu v0, s0, -0x48fc         |         v0 = s0 + -0x48fc;
    0x0003d6e4 b 0x3d400                     |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x22cb4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.handle_plaintext ()          | void handle_plaintext () {
    0x00022cb4 lui gp, 4                     |     
    0x00022cb8 addiu gp, gp, -0xb84          |     
    0x00022cbc addu gp, gp, t9               |     gp += t9;
    0x00022cc0 lw v0, -0x781c(gp)            |     v0 = *((gp - 7687));
    0x00022cc4 addiu sp, sp, -0x88           |     
    0x00022cc8 lw v1, (v0)                   |     v1 = *(v0);
    0x00022ccc sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x00022cd0 lw v0, 0xc(a0)                |     v0 = *((a0 + 3));
    0x00022cd4 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00022cd8 sw s5, 0x74(sp)               |     *(var_74h) = s5;
    0x00022cdc sw s4, 0x70(sp)               |     *(var_70h) = s4;
    0x00022ce0 sw s2, 0x68(sp)               |     *(var_68h) = s2;
    0x00022ce4 sw s0, 0x60(sp)               |     *(var_60h) = s0;
    0x00022ce8 sw ra, 0x84(sp)               |     *(var_84h) = ra;
    0x00022cec sw fp, 0x80(sp)               |     *(var_80h) = fp;
    0x00022cf0 sw s7, 0x7c(sp)               |     *(var_7ch) = s7;
    0x00022cf4 sw s6, 0x78(sp)               |     *(var_78h) = s6;
    0x00022cf8 sw s3, 0x6c(sp)               |     *(var_6ch) = s3;
    0x00022cfc sw s1, 0x64(sp)               |     *(var_64h) = s1;
    0x00022d00 move s0, a0                   |     s0 = a0;
    0x00022d04 move s2, a1                   |     s2 = a1;
    0x00022d08 move s5, a3                   |     s5 = a3;
    0x00022d0c sw v1, 0x5c(sp)               |     *(var_5ch) = v1;
    0x00022d10 addiu s4, v0, -0x74           |     s4 = v0 + -0x74;
                                             |     if (a2 == 0) {
    0x00022d14 beqz a2, 0x230cc              |         goto label_35;
                                             |     }
    0x00022d18 move s3, zero                 |     s3 = 0;
    0x00022d1c move s1, zero                 |     s1 = 0;
                                             | label_5:
    0x00022d20 lbu v0, 9(s0)                 |     v0 = *((s0 + 9));
                                             |     if (v0 != 0) {
                                             | label_6:
    0x00022d24 bnez v0, 0x22e9c              |         goto label_36;
                                             |     }
    0x00022d28 nop                           |     
    0x00022d2c sltiu v0, s4, 2               |     v0 = (s4 < 2) ? 1 : 0;
                                             |     if (s5 != 0) {
    0x00022d30 bnez s5, 0x23868              |         goto label_37;
                                             |     }
    0x00022d34 lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
                                             |     if (v0 == 0) {
    0x00022d38 beqz v0, 0x23618              |         goto label_38;
                                             |     }
    0x00022d3c lw v0, (s0)                   |     v0 = *(s0);
    0x00022d40 lw s6, -0x7fc8(gp)            |     s6 = *(gp);
                                             |     if (v0 == 0) {
    0x00022d44 beqz v0, 0x2300c              |         goto label_14;
                                             |     }
    0x00022d48 lw s4, -0x7fb4(gp)            |     s4 = *((gp - 8173));
    0x00022d4c addiu s5, zero, -1            |     s5 = -1;
    0x00022d50 addiu s7, zero, 0xd           |     s7 = 0xd;
    0x00022d54 b 0x22e20                     |     
                                             |     while (v1 == 0) {
    0x00022d58 lw a3, 0x14(a0)               |         a3 = *((a0 + 5));
    0x00022d5c addiu a1, v1, 1               |         a1 = v1 + 1;
    0x00022d60 sltu v1, a1, v1               |         v1 = (a1 < v1) ? 1 : 0;
    0x00022d64 lw a2, 0x34(a0)               |         a2 = *((a0 + 13));
    0x00022d68 addu v1, v1, a3               |         v1 += a3;
    0x00022d6c addiu a3, v0, 1               |         a3 = v0 + 1;
    0x00022d70 sw a1, 0x10(a0)               |         *((a0 + 4)) = a1;
    0x00022d74 sw v1, 0x14(a0)               |         *((a0 + 5)) = v1;
    0x00022d78 sw a3, 0x2c(a0)               |         *((a0 + 11)) = a3;
    0x00022d7c lbux v0, v0(a2)               |         __asm ("lbux v0, v0(a2)");
                                             | label_0:
    0x00022d80 lw a0, (s2)                   |         a0 = *(s2);
                                             |         if (a0 != 0) {
    0x00022d84 beqz a0, 0x22dac              |             
    0x00022d88 nop                           |             
    0x00022d8c lw v1, 0x10(a0)               |             v1 = *((a0 + 4));
    0x00022d90 lw a1, 0x14(a0)               |             a1 = *((a0 + 5));
    0x00022d94 lw t9, -0x7be4(gp)            |             t9 = sym.md_write;
                                             |             if (v1 == a1) {
    0x00022d98 beq v1, a1, 0x22fd8           |                 goto label_39;
                                             |             }
                                             | label_4:
    0x00022d9c addu a1, a0, v1               |             a1 = a0 + v1;
    0x00022da0 addiu v1, v1, 1               |             v1++;
    0x00022da4 sw v1, 0x10(a0)               |             *((a0 + 4)) = v1;
    0x00022da8 sb v0, 0x18(a1)               |             *((a1 + 24)) = v0;
                                             |         }
                                             |         if (v0 != s7) {
    0x00022dac beql v0, s7, 0x22e14          |             
    0x00022db0 lw v0, (s0)                   |             v0 = *(s0);
                                             |             if (s1 == 0) {
    0x00022db4 beql s1, zero, 0x22e14        |                 goto label_40;
                                             |             }
    0x00022db8 lw v0, (s0)                   |             v0 = *(s0);
    0x00022dbc lw a2, 0x18(s6)               |             a2 = *((s6 + 6));
    0x00022dc0 lw a0, 0x1c(s6)               |             a0 = *((s6 + 7));
    0x00022dc4 or v1, a2, a0                 |             v1 = a2 | a0;
    0x00022dc8 lw v1, -0x4c98(s4)            |             v1 = *((s4 - 4902));
                                             |             if (v1 != 0) {
    0x00022dcc beqz v1, 0x22df8              |                 
    0x00022dd0 lw a3, -0x4c94(s4)            |                 a3 = *((s4 - 4901));
    0x00022dd4 addiu a1, v1, 1               |                 a1 = v1 + 1;
    0x00022dd8 sltu v1, a1, v1               |                 v1 = (a1 < v1) ? 1 : 0;
    0x00022ddc addu v1, v1, a3               |                 v1 += a3;
    0x00022de0 slt a3, a0, v1                |                 a3 = (a0 < v1) ? 1 : 0;
    0x00022de4 sw a1, -0x4c98(s4)            |                 *((s4 - 4902)) = a1;
    0x00022de8 sw v1, -0x4c94(s4)            |                 *((s4 - 4901)) = v1;
                                             |                 if (a3 != 0) {
    0x00022dec bnez a3, 0x237f0              |                     goto label_41;
                                             |                 }
    0x00022df0 sltu a1, a2, a1               |                 a1 = (a2 < a1) ? 1 : 0;
                                             |                 if (v1 == a0) {
    0x00022df4 beq v1, a0, 0x23924           |                     goto label_42;
                                             |                 }
                                             |             }
    0x00022df8 lw t9, -0x7840(gp)            |             t9 = sym.imp._IO_putc;
                                             | label_30:
    0x00022dfc move a1, s1                   |             a1 = s1;
    0x00022e00 move a0, v0                   |             a0 = v0;
    0x00022e04 jalr t9                       |             t9 ();
    0x00022e08 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 == s5) {
    0x00022e0c beq v0, s5, 0x22f98           |                 goto label_10;
                                             |             }
    0x00022e10 lw v0, (s0)                   |             v0 = *(s0);
                                             |         }
                                             | label_40:
    0x00022e14 addiu v0, v0, -1              |         v0 += -1;
    0x00022e18 sw v0, (s0)                   |         *(s0) = v0;
                                             |         if (v0 == 0) {
    0x00022e1c beqz v0, 0x2300c              |             goto label_14;
                                             |         }
    0x00022e20 lw a0, 4(s0)                  |         a0 = *((s0 + 1));
    0x00022e24 lw v0, 0x20(a0)               |         v0 = *((a0 + 8));
    0x00022e28 lw t9, -0x7c38(gp)            |         t9 = sym.iobuf_readbyte;
                                             |         if (v0 != 0) {
    0x00022e2c bnez v0, 0x22e48              |             goto label_43;
                                             |         }
    0x00022e30 lw v0, 0x2c(a0)               |         v0 = *((a0 + 11));
    0x00022e34 lw v1, 0x30(a0)               |         v1 = *((a0 + 12));
    0x00022e38 sltu v1, v0, v1               |         v1 = (v0 < v1) ? 1 : 0;
    0x00022e3c lw v1, 0x10(a0)               |         v1 = *((a0 + 4));
    0x00022e40 bnel v1, zero, 0x22d58        |         
                                             |     }
    0x00022e44 lw t9, -0x7c38(gp)            |     t9 = sym.iobuf_readbyte;
                                             | label_43:
    0x00022e48 bal 0x3fb3c                   |     sym_iobuf_readbyte ();
    0x00022e4c nop                           |     
    0x00022e50 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != s5) {
    0x00022e54 bne v0, s5, 0x22d80           |         goto label_0;
                                             |     }
    0x00022e58 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00022e5c lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
    0x00022e60 lw a1, (s0)                   |     a1 = *(s0);
                                             |     /* str.Problem_reading_source___u_bytes_remaining__n */
    0x00022e64 addiu a0, a0, 0x6da4          |     a0 += 0x6da4;
    0x00022e68 bal 0x38550                   |     sym_g10_log_error ();
    0x00022e6c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00022e70 addiu s0, zero, 0x15          |     s0 = 0x15;
                                             | label_27:
    0x00022e74 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
                                             |     if (s1 == 0) {
    0x00022e78 beqz s1, 0x2307c              |         goto label_44;
                                             |     }
                                             | label_3:
    0x00022e7c lw v0, -0x78e0(gp)            |     v0 = *((gp - 7736));
    0x00022e80 lw v0, (v0)                   |     v0 = *(v0);
    0x00022e84 lw t9, -0x7910(gp)            |     t9 = sym.imp.fclose;
                                             |     if (v0 == s1) {
    0x00022e88 beq v0, s1, 0x23078           |         goto label_9;
                                             |     }
    0x00022e8c move a0, s1                   |     a0 = s1;
    0x00022e90 jalr t9                       |     t9 ();
    0x00022e94 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00022e98 b 0x23078                     |     goto label_9;
                                             | label_36:
    0x00022e9c lw s6, -0x7fc8(gp)            |     s6 = *(gp);
                                             |     if (s5 != 0) {
    0x00022ea0 bnez s5, 0x23268              |         goto label_45;
                                             |     }
    0x00022ea4 sltiu v0, s4, 2               |     v0 = (s4 < 2) ? 1 : 0;
    0x00022ea8 lw s4, -0x7fb4(gp)            |     s4 = *((gp - 8173));
                                             |     if (v0 == 0) {
    0x00022eac beqz v0, 0x23468              |         goto label_46;
                                             |     }
    0x00022eb0 addiu s5, zero, -1            |     s5 = -1;
    0x00022eb4 addiu s7, zero, 0xd           |     s7 = 0xd;
                                             | label_2:
    0x00022eb8 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
                                             |     do {
                                             | label_1:
    0x00022ebc lw v0, 0x20(a0)               |         v0 = *((a0 + 8));
    0x00022ec0 lw t9, -0x7c38(gp)            |         t9 = sym.iobuf_readbyte;
                                             |         if (v0 != 0) {
    0x00022ec4 bnez v0, 0x235dc              |             goto label_47;
                                             |         }
    0x00022ec8 lw v0, 0x2c(a0)               |         v0 = *((a0 + 11));
    0x00022ecc lw v1, 0x30(a0)               |         v1 = *((a0 + 12));
    0x00022ed0 sltu v1, v0, v1               |         v1 = (v0 < v1) ? 1 : 0;
                                             |         if (v1 == 0) {
    0x00022ed4 beqz v1, 0x235dc              |             goto label_47;
                                             |         }
    0x00022ed8 nop                           |         
    0x00022edc lw v1, 0x10(a0)               |         v1 = *((a0 + 4));
    0x00022ee0 lw a3, 0x14(a0)               |         a3 = *((a0 + 5));
    0x00022ee4 addiu a1, v1, 1               |         a1 = v1 + 1;
    0x00022ee8 sltu v1, a1, v1               |         v1 = (a1 < v1) ? 1 : 0;
    0x00022eec lw a2, 0x34(a0)               |         a2 = *((a0 + 13));
    0x00022ef0 addu v1, v1, a3               |         v1 += a3;
    0x00022ef4 addiu a3, v0, 1               |         a3 = v0 + 1;
    0x00022ef8 sw a1, 0x10(a0)               |         *((a0 + 4)) = a1;
    0x00022efc sw v1, 0x14(a0)               |         *((a0 + 5)) = v1;
    0x00022f00 sw a3, 0x2c(a0)               |         *((a0 + 11)) = a3;
    0x00022f04 lbux v0, v0(a2)               |         __asm ("lbux v0, v0(a2)");
                                             | label_18:
    0x00022f08 lw a0, (s2)                   |         a0 = *(s2);
                                             |         if (a0 != 0) {
    0x00022f0c beqz a0, 0x22f34              |             
    0x00022f10 nop                           |             
    0x00022f14 lw v1, 0x10(a0)               |             v1 = *((a0 + 4));
    0x00022f18 lw a1, 0x14(a0)               |             a1 = *((a0 + 5));
                                             |             if (v1 == a1) {
    0x00022f1c beql v1, a1, 0x235f4          |                 goto label_48;
                                             |             }
    0x00022f20 lw t9, -0x7be4(gp)            |             t9 = sym.md_write;
                                             | label_19:
    0x00022f24 addu a1, a0, v1               |             a1 = a0 + v1;
    0x00022f28 addiu v1, v1, 1               |             v1++;
    0x00022f2c sw v1, 0x10(a0)               |             *((a0 + 4)) = v1;
    0x00022f30 sb v0, 0x18(a1)               |             *((a1 + 24)) = v0;
                                             |         }
    0x00022f34 beql v0, s7, 0x22ebc          |         
                                             |     } while (v0 == s7);
    0x00022f38 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
                                             |     if (s1 == 0) {
    0x00022f3c beql s1, zero, 0x22ebc        |         goto label_1;
                                             |     }
    0x00022f40 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x00022f44 lw a2, 0x18(s6)               |     a2 = *((s6 + 6));
    0x00022f48 lw a0, 0x1c(s6)               |     a0 = *((s6 + 7));
    0x00022f4c or v1, a2, a0                 |     v1 = a2 | a0;
    0x00022f50 lw v1, -0x4c98(s4)            |     v1 = *((s4 - 4902));
                                             |     if (v1 != 0) {
    0x00022f54 beqz v1, 0x22f80              |         
    0x00022f58 lw a3, -0x4c94(s4)            |         a3 = *((s4 - 4901));
    0x00022f5c addiu a1, v1, 1               |         a1 = v1 + 1;
    0x00022f60 sltu v1, a1, v1               |         v1 = (a1 < v1) ? 1 : 0;
    0x00022f64 addu v1, v1, a3               |         v1 += a3;
    0x00022f68 slt a3, a0, v1                |         a3 = (a0 < v1) ? 1 : 0;
    0x00022f6c sw a1, -0x4c98(s4)            |         *((s4 - 4902)) = a1;
    0x00022f70 sw v1, -0x4c94(s4)            |         *((s4 - 4901)) = v1;
                                             |         if (a3 != 0) {
    0x00022f74 bnez a3, 0x237f0              |             goto label_41;
                                             |         }
    0x00022f78 sltu a1, a2, a1               |         a1 = (a2 < a1) ? 1 : 0;
                                             |         if (v1 == a0) {
    0x00022f7c beq v1, a0, 0x23934           |             goto label_49;
                                             |         }
                                             |     }
    0x00022f80 lw t9, -0x7840(gp)            |     t9 = sym.imp._IO_putc;
                                             | label_32:
    0x00022f84 move a1, s1                   |     a1 = s1;
    0x00022f88 move a0, v0                   |     a0 = v0;
    0x00022f8c jalr t9                       |     t9 ();
    0x00022f90 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != s5) {
    0x00022f94 bne v0, s5, 0x22eb8           |         goto label_2;
                                             |     }
                                             | label_10:
    0x00022f98 lw t9, -0x78c4(gp)            |     t9 = sym.imp.__errno_location;
    0x00022f9c addiu s0, zero, 0x16          |     s0 = 0x16;
    0x00022fa0 jalr t9                       |     t9 ();
    0x00022fa4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00022fa8 lw t9, -0x787c(gp)            |     t9 = sym.imp.strerror;
    0x00022fac lw a0, (v0)                   |     a0 = *(v0);
    0x00022fb0 jalr t9                       |     t9 ();
    0x00022fb4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00022fb8 move a2, v0                   |     a2 = v0;
    0x00022fbc move a1, s3                   |     a1 = s3;
    0x00022fc0 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00022fc4 lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
                                             |     /* str.Error_writing_to___s:__s_n */
    0x00022fc8 addiu a0, a0, 0x6df4          |     a0 += 0x6df4;
    0x00022fcc bal 0x38550                   |     sym_g10_log_error ();
    0x00022fd0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00022fd4 b 0x22e7c                     |     goto label_3;
                                             | label_39:
    0x00022fd8 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x00022fdc move a2, zero                 |     a2 = 0;
    0x00022fe0 move a1, zero                 |     a1 = 0;
    0x00022fe4 bal 0x28014                   |     sym_md_write ();
    0x00022fe8 lw a0, (s2)                   |     a0 = *(s2);
    0x00022fec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00022ff0 lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x00022ff4 lw v1, 0x10(a0)               |     v1 = *((a0 + 4));
    0x00022ff8 b 0x22d9c                     |     goto label_4;
                                             | label_20:
    0x00022ffc lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x00023000 move a0, s4                   |     a0 = s4;
    0x00023004 bal 0x3cd20                   |     sym_xfree ();
    0x00023008 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_14:
    0x0002300c move s0, zero                 |     s0 = 0;
                                             |     if (s1 != 0) {
    0x00023010 beqz s1, 0x23078              |         
    0x00023014 lw v0, -0x78e0(gp)            |         v0 = *((gp - 7736));
    0x00023018 lw v0, (v0)                   |         v0 = *(v0);
    0x0002301c lw t9, -0x7910(gp)            |         t9 = sym.imp.fclose;
                                             |         if (v0 == s1) {
    0x00023020 beq v0, s1, 0x23078           |             goto label_9;
                                             |         }
    0x00023024 move a0, s1                   |         a0 = s1;
    0x00023028 jalr t9                       |         t9 ();
    0x0002302c move s0, v0                   |         s0 = v0;
    0x00023030 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00023034 beqz v0, 0x23078              |             goto label_9;
                                             |         }
    0x00023038 lw t9, -0x78c4(gp)            |         t9 = sym.imp.__errno_location;
    0x0002303c addiu s0, zero, 0x16          |         s0 = 0x16;
    0x00023040 jalr t9                       |         t9 ();
    0x00023044 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023048 lw t9, -0x787c(gp)            |         t9 = sym.imp.strerror;
    0x0002304c lw a0, (v0)                   |         a0 = *(v0);
    0x00023050 jalr t9                       |         t9 ();
    0x00023054 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023058 move a2, v0                   |         a2 = v0;
    0x0002305c move a1, s3                   |         a1 = s3;
    0x00023060 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x00023064 lw t9, -0x7f84(gp)            |         t9 = sym.g10_log_error;
                                             |         /* str.Error_closing___s:__s_n */
    0x00023068 addiu a0, a0, 0x6e10          |         a0 += 0x6e10;
    0x0002306c bal 0x38550                   |         sym_g10_log_error ();
    0x00023070 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023074 b 0x23078                     |         
                                             |     }
                                             | label_9:
    0x00023078 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
                                             | label_44:
    0x0002307c move a0, s3                   |     a0 = s3;
    0x00023080 bal 0x3cd20                   |     sym_xfree ();
    0x00023084 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x00023088 lw a0, 0x5c(sp)               |     a0 = *(var_5ch);
    0x0002308c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023090 lw v1, (v0)                   |     v1 = *(v0);
    0x00023094 move v0, s0                   |     v0 = s0;
                                             |     if (a0 != v1) {
    0x00023098 bne a0, v1, 0x23954           |         goto label_50;
                                             |     }
    0x0002309c lw ra, 0x84(sp)               |     ra = *(var_84h);
    0x000230a0 lw fp, 0x80(sp)               |     fp = *(var_80h);
    0x000230a4 lw s7, 0x7c(sp)               |     s7 = *(var_7ch);
    0x000230a8 lw s6, 0x78(sp)               |     s6 = *(var_78h);
    0x000230ac lw s5, 0x74(sp)               |     s5 = *(var_74h);
    0x000230b0 lw s4, 0x70(sp)               |     s4 = *(var_70h);
    0x000230b4 lw s3, 0x6c(sp)               |     s3 = *(var_6ch);
    0x000230b8 lw s2, 0x68(sp)               |     s2 = *(var_68h);
    0x000230bc lw s1, 0x64(sp)               |     s1 = *(var_64h);
    0x000230c0 lw s0, 0x60(sp)               |     s0 = *(var_60h);
    0x000230c4 addiu sp, sp, 0x88            |     
    0x000230c8 jr ra                         |     return v0;
                                             | label_35:
    0x000230cc lw t9, -0x7d88(gp)            |     t9 = sym.is_status_enabled;
    0x000230d0 bal 0x21b70                   |     sym_is_status_enabled ();
    0x000230d4 nop                           |     
    0x000230d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000230dc bnez v0, 0x2374c              |         goto label_51;
                                             |     }
                                             | label_25:
    0x000230e0 lw s1, -0x7fc8(gp)            |     s1 = *(gp);
    0x000230e4 lw s3, 0x10(s1)               |     s3 = *((s1 + 4));
    0x000230e8 lw t9, -0x78a0(gp)            |     t9 = sym.imp.strlen;
                                             |     if (s3 == 0) {
    0x000230ec beqz s3, 0x231fc              |         goto label_52;
                                             |     }
    0x000230f0 move a0, s3                   |     a0 = s3;
    0x000230f4 jalr t9                       |     t9 ();
    0x000230f8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000230fc lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x00023100 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x00023104 bal 0x3cb1c                   |     sym_xmalloc ();
    0x00023108 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002310c lw a1, 0x10(s1)               |     a1 = *((s1 + 4));
    0x00023110 move a0, v0                   |     a0 = v0;
    0x00023114 lw t9, -0x7854(gp)            |     t9 = sym.imp.strcpy;
    0x00023118 move s3, v0                   |     s3 = v0;
    0x0002311c jalr t9                       |     t9 ();
    0x00023120 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_8:
    0x00023124 lw t9, -0x7c2c(gp)            |     t9 = sym.iobuf_is_pipe_filename;
    0x00023128 move a0, s3                   |     a0 = s3;
    0x0002312c bal 0x3e7c0                   |     sym_iobuf_is_pipe_filename ();
    0x00023130 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00023134 bnez v0, 0x231e4              |         goto label_53;
                                             |     }
    0x00023138 lb v0, (s3)                   |     v0 = *(s3);
    0x0002313c lw t9, -0x7b64(gp)            |     t9 = sym.overwrite_filep;
                                             |     if (v0 != 0) {
    0x00023140 bnez v0, 0x23184              |         goto label_54;
                                             |     }
    0x00023144 lw v0, -0x78e0(gp)            |     v0 = *((gp - 7736));
    0x00023148 b 0x231e8                     |     goto label_55;
                                             |     do {
    0x0002314c lw t9, -0x7b60(gp)            |         t9 = sym.ask_outfile_name;
    0x00023150 move a1, zero                 |         a1 = 0;
    0x00023154 move a0, zero                 |         a0 = 0;
    0x00023158 bal 0x186f4                   |         sym_ask_outfile_name ();
    0x0002315c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023160 lw t9, -0x7f24(gp)            |         t9 = sym.xfree;
                                             |         if (v0 == 0) {
    0x00023164 beqz v0, 0x23884              |             goto label_56;
                                             |         }
    0x00023168 lb v1, (v0)                   |         v1 = *(v0);
    0x0002316c move a0, s3                   |         a0 = s3;
                                             |         if (v1 == 0) {
    0x00023170 beqz v1, 0x23884              |             goto label_56;
                                             |         }
    0x00023174 move s3, v0                   |         s3 = v0;
    0x00023178 bal 0x3cd20                   |         sym_xfree ();
    0x0002317c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023180 lw t9, -0x7b64(gp)            |         t9 = sym.overwrite_filep;
                                             | label_54:
    0x00023184 move a0, s3                   |         a0 = s3;
    0x00023188 bal 0x18440                   |         sym_overwrite_filep ();
    0x0002318c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023190 beqz v0, 0x2314c              |         
                                             |     } while (v0 == 0);
    0x00023194 lw t9, -0x7e08(gp)            |     t9 = sym.is_secured_filename;
                                             | label_7:
    0x00023198 move a0, s3                   |     a0 = s3;
    0x0002319c bal 0x180cc                   |     sym_is_secured_filename ();
    0x000231a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000231a4 bnez v0, 0x23590              |         goto label_57;
                                             |     }
    0x000231a8 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x000231ac lw t9, -0x7918(gp)            |     t9 = sym.imp.fopen64;
                                             |     /* esilref: 'wb' */
    0x000231b0 addiu a1, a1, 0x6d74          |     a1 += 0x6d74;
    0x000231b4 move a0, s3                   |     a0 = s3;
    0x000231b8 jalr t9                       |     t9 ();
    0x000231bc move s1, v0                   |     s1 = v0;
    0x000231c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000231c4 bnez v0, 0x22d20              |         goto label_5;
                                             |     }
    0x000231c8 lw t9, -0x78c4(gp)            |     t9 = sym.imp.__errno_location;
    0x000231cc addiu s0, zero, 0x19          |     s0 = 0x19;
    0x000231d0 jalr t9                       |     t9 ();
    0x000231d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000231d8 lw a0, (v0)                   |     a0 = *(v0);
    0x000231dc lw t9, -0x787c(gp)            |     t9 = sym.imp.strerror;
    0x000231e0 b 0x235b0                     |     goto label_58;
                                             | label_53:
    0x000231e4 lw v0, -0x78e0(gp)            |     v0 = *((gp - 7736));
                                             | label_55:
    0x000231e8 lw s1, (v0)                   |     s1 = *(v0);
    0x000231ec lbu v0, 9(s0)                 |     v0 = *((s0 + 9));
                                             |     if (s1 == 0) {
    0x000231f0 bnel s1, zero, 0x22d24        |         goto label_6;
                                             |     }
    0x000231f4 lw t9, -0x7e08(gp)            |     t9 = sym.is_secured_filename;
    0x000231f8 b 0x23198                     |     goto label_7;
                                             | label_52:
    0x000231fc lw s6, 0x14(s0)               |     s6 = *((s0 + 5));
    0x00023200 addiu v0, zero, 8             |     v0 = 8;
    0x00023204 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
                                             |     if (s6 == v0) {
    0x00023208 beq s6, v0, 0x23558           |         goto label_59;
                                             |     }
                                             | label_17:
    0x0002320c lbu v0, 0x228(s1)             |     v0 = *(s1);
    0x00023210 andi v0, v0, 2                |     v0 &= 2;
    0x00023214 lw t9, -0x7e2c(gp)            |     t9 = sym.utf8_to_native;
                                             |     if (v0 != 0) {
    0x00023218 bnez v0, 0x2344c              |         goto label_60;
                                             |     }
    0x0002321c lw t9, -0x7c60(gp)            |     t9 = sym.iobuf_get_real_fname;
    0x00023220 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x00023224 bal 0x41108                   |     sym_iobuf_get_real_fname ();
    0x00023228 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002322c lw t9, -0x7b5c(gp)            |     t9 = sym.make_outfile_name;
    0x00023230 move a0, v0                   |     a0 = v0;
    0x00023234 bal 0x18540                   |     sym_make_outfile_name ();
    0x00023238 move s3, v0                   |     s3 = v0;
    0x0002323c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00023240 bnez v0, 0x23124              |         goto label_8;
                                             |     }
    0x00023244 lw t9, -0x7b60(gp)            |     t9 = sym.ask_outfile_name;
    0x00023248 lw a1, 0x14(s0)               |     a1 = *((s0 + 5));
    0x0002324c addiu a0, s0, 0x18            |     a0 = s0 + 0x18;
    0x00023250 bal 0x186f4                   |     sym_ask_outfile_name ();
    0x00023254 move s3, v0                   |     s3 = v0;
    0x00023258 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0002325c bnez v0, 0x23124              |         goto label_8;
                                             |     }
    0x00023260 addiu s0, zero, 0x19          |     s0 = 0x19;
    0x00023264 b 0x23078                     |     goto label_9;
                                             | label_45:
    0x00023268 lw s5, -0x7fb4(gp)            |     s5 = *((gp - 8173));
    0x0002326c move s4, zero                 |     s4 = 0;
    0x00023270 addiu s7, zero, -1            |     s7 = -1;
                                             | label_11:
    0x00023274 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x00023278 lw v0, 0x20(a0)               |     v0 = *((a0 + 8));
    0x0002327c lw t9, -0x7c38(gp)            |     t9 = sym.iobuf_readbyte;
                                             |     if (v0 != 0) {
    0x00023280 bnez v0, 0x233b0              |         goto label_61;
                                             |     }
                                             | label_12:
    0x00023284 lw v1, 0x2c(a0)               |     v1 = *((a0 + 11));
    0x00023288 lw v0, 0x30(a0)               |     v0 = *((a0 + 12));
    0x0002328c sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x00023290 lw t9, -0x7c38(gp)            |     t9 = sym.iobuf_readbyte;
                                             |     if (v0 == 0) {
    0x00023294 beqz v0, 0x233b0              |         goto label_61;
                                             |     }
    0x00023298 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x0002329c lw a3, 0x14(a0)               |     a3 = *((a0 + 5));
    0x000232a0 addiu a1, v0, 1               |     a1 = v0 + 1;
    0x000232a4 sltu v0, a1, v0               |     v0 = (a1 < v0) ? 1 : 0;
    0x000232a8 lw a2, 0x34(a0)               |     a2 = *((a0 + 13));
    0x000232ac addu v0, v0, a3               |     v0 += a3;
    0x000232b0 addiu a3, v1, 1               |     a3 = v1 + 1;
    0x000232b4 sw a1, 0x10(a0)               |     *((a0 + 4)) = a1;
    0x000232b8 sw v0, 0x14(a0)               |     *((a0 + 5)) = v0;
    0x000232bc sw a3, 0x2c(a0)               |     *((a0 + 11)) = a3;
    0x000232c0 lbux fp, v1(a2)               |     __asm ("lbux fp, v1(a2)");
                                             |     if (s1 == 0) {
                                             | label_13:
    0x000232c4 beql s1, zero, 0x23324        |         goto label_62;
                                             |     }
    0x000232c8 lw a0, (s2)                   |     a0 = *(s2);
    0x000232cc lw a2, 0x18(s6)               |     a2 = *((s6 + 6));
    0x000232d0 lw a0, 0x1c(s6)               |     a0 = *((s6 + 7));
    0x000232d4 or v0, a2, a0                 |     v0 = a2 | a0;
    0x000232d8 lw v0, -0x4c98(s5)            |     v0 = *((s5 - 4902));
                                             |     if (v0 != 0) {
    0x000232dc beqz v0, 0x23308              |         
    0x000232e0 lw a3, -0x4c94(s5)            |         a3 = *((s5 - 4901));
    0x000232e4 addiu a1, v0, 1               |         a1 = v0 + 1;
    0x000232e8 sltu v0, a1, v0               |         v0 = (a1 < v0) ? 1 : 0;
    0x000232ec addu v0, v0, a3               |         v0 += a3;
    0x000232f0 slt a3, a0, v0                |         a3 = (a0 < v0) ? 1 : 0;
    0x000232f4 sw a1, -0x4c98(s5)            |         *((s5 - 4902)) = a1;
    0x000232f8 sw v0, -0x4c94(s5)            |         *((s5 - 4901)) = v0;
                                             |         if (a3 != 0) {
    0x000232fc bnez a3, 0x237f0              |             goto label_41;
                                             |         }
    0x00023300 sltu a1, a2, a1               |         a1 = (a2 < a1) ? 1 : 0;
                                             |         if (v0 == a0) {
    0x00023304 beq v0, a0, 0x237e8           |             goto label_63;
                                             |         }
                                             |     }
    0x00023308 lw t9, -0x7840(gp)            |     t9 = sym.imp._IO_putc;
                                             | label_26:
    0x0002330c move a1, s1                   |     a1 = s1;
    0x00023310 move a0, fp                   |     a0 = fp;
    0x00023314 jalr t9                       |     t9 ();
    0x00023318 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == s7) {
    0x0002331c beq v0, s7, 0x22f98           |         goto label_10;
                                             |     }
    0x00023320 lw a0, (s2)                   |     a0 = *(s2);
                                             | label_62:
    0x00023324 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (a0 == 0) {
    0x00023328 beqz a0, 0x23274              |         goto label_11;
                                             |     }
                                             |     if (s4 == v0) {
    0x0002332c beql s4, v0, 0x233cc          |         goto label_64;
                                             |     }
    0x00023330 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x00023334 addiu v0, zero, 0xd           |     v0 = 0xd;
                                             |     if (s4 == 0) {
    0x00023338 beqz s4, 0x23408              |         goto label_65;
                                             |     }
    0x0002333c addiu v0, zero, 0xa           |     v0 = 0xa;
                                             |     if (fp != v0) {
    0x00023340 beql fp, v0, 0x233a0          |         
    0x00023344 lw a0, 4(s0)                  |         a0 = *((s0 + 1));
    0x00023348 lw v0, 0x10(a0)               |         v0 = *((a0 + 4));
    0x0002334c lw a1, 0x14(a0)               |         a1 = *((a0 + 5));
    0x00023350 lw t9, -0x7be4(gp)            |         t9 = sym.md_write;
                                             |         if (v0 == a1) {
    0x00023354 beq v0, a1, 0x23908           |             goto label_66;
                                             |         }
                                             | label_29:
    0x00023358 addu a2, a0, v0               |         a2 = a0 + v0;
    0x0002335c addiu a3, zero, 0xd           |         a3 = 0xd;
    0x00023360 addiu v0, v0, 1               |         v0++;
    0x00023364 addiu a1, zero, 0xd           |         a1 = 0xd;
    0x00023368 sw v0, 0x10(a0)               |         *((a0 + 4)) = v0;
    0x0002336c sb a3, 0x18(a2)               |         *((a2 + 24)) = a3;
                                             |         if (fp == a1) {
    0x00023370 beq fp, a1, 0x23444           |             goto label_67;
                                             |         }
    0x00023374 lw a1, 0x14(a0)               |         a1 = *((a0 + 5));
    0x00023378 addu a1, a0, v0               |         a1 = a0 + v0;
                                             |         if (v0 != a1) {
    0x0002337c bne v0, a1, 0x23430           |             goto label_68;
                                             |         }
    0x00023380 lw t9, -0x7be4(gp)            |         t9 = sym.md_write;
                                             | label_16:
    0x00023384 move a2, zero                 |         a2 = 0;
    0x00023388 move a1, zero                 |         a1 = 0;
    0x0002338c bal 0x28014                   |         sym_md_write ();
    0x00023390 lw a0, (s2)                   |         a0 = *(s2);
    0x00023394 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023398 lw v0, 0x10(a0)               |         v0 = *((a0 + 4));
    0x0002339c b 0x2342c                     |         goto label_69;
                                             |     }
                                             | label_15:
    0x000233a0 lw v0, 0x20(a0)               |     v0 = *((a0 + 8));
    0x000233a4 addiu s4, zero, 2             |     s4 = 2;
                                             |     if (v0 == 0) {
    0x000233a8 beqz v0, 0x23284              |         goto label_12;
                                             |     }
    0x000233ac lw t9, -0x7c38(gp)            |     t9 = sym.iobuf_readbyte;
                                             | label_61:
    0x000233b0 bal 0x3fb3c                   |     sym_iobuf_readbyte ();
    0x000233b4 nop                           |     
    0x000233b8 move fp, v0                   |     fp = v0;
    0x000233bc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != s7) {
    0x000233c0 bne v0, s7, 0x232c4           |         goto label_13;
                                             |     }
    0x000233c4 sw zero, 4(s0)                |     *((s0 + 1)) = 0;
    0x000233c8 b 0x2300c                     |     goto label_14;
                                             | label_64:
    0x000233cc lw a1, 0x14(a0)               |     a1 = *((a0 + 5));
    0x000233d0 lw t9, -0x7be4(gp)            |     t9 = sym.md_write;
                                             |     if (v0 == a1) {
    0x000233d4 beq v0, a1, 0x2372c           |         goto label_70;
                                             |     }
                                             | label_24:
    0x000233d8 addu a2, a0, v0               |     a2 = a0 + v0;
    0x000233dc addiu a3, zero, 0xd           |     a3 = 0xd;
    0x000233e0 addiu v0, v0, 1               |     v0++;
    0x000233e4 sw v0, 0x10(a0)               |     *((a0 + 4)) = v0;
    0x000233e8 sb a3, 0x18(a2)               |     *((a2 + 24)) = a3;
                                             |     if (v0 == a1) {
    0x000233ec beq v0, a1, 0x2370c           |         goto label_71;
                                             |     }
                                             | label_23:
    0x000233f0 addu a1, a0, v0               |     a1 = a0 + v0;
    0x000233f4 addiu v0, v0, 1               |     v0++;
    0x000233f8 sw v0, 0x10(a0)               |     *((a0 + 4)) = v0;
    0x000233fc addiu v0, zero, 0xa           |     v0 = 0xa;
    0x00023400 sb v0, 0x18(a1)               |     *((a1 + 24)) = v0;
    0x00023404 addiu v0, zero, 0xd           |     v0 = 0xd;
                                             | label_65:
    0x00023408 addiu v0, zero, 0xa           |     v0 = 0xa;
                                             |     if (fp == v0) {
    0x0002340c beq fp, v0, 0x23444           |         goto label_67;
                                             |     }
                                             |     if (fp == v0) {
    0x00023410 beql fp, v0, 0x233a0          |         goto label_15;
                                             |     }
    0x00023414 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x00023418 lw a0, (s2)                   |     a0 = *(s2);
    0x0002341c lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x00023420 lw a1, 0x14(a0)               |     a1 = *((a0 + 5));
    0x00023424 lw t9, -0x7be4(gp)            |     t9 = sym.md_write;
                                             |     if (v0 == a1) {
    0x00023428 beq v0, a1, 0x23384           |         goto label_16;
                                             |     }
                                             | label_69:
    0x0002342c addu a1, a0, v0               |     a1 = a0 + v0;
                                             | label_68:
    0x00023430 addiu v0, v0, 1               |     v0++;
    0x00023434 sw v0, 0x10(a0)               |     *((a0 + 4)) = v0;
    0x00023438 move s4, zero                 |     s4 = 0;
    0x0002343c sb fp, 0x18(a1)               |     *((a1 + 24)) = fp;
    0x00023440 b 0x23274                     |     goto label_11;
                                             | label_67:
    0x00023444 addiu s4, zero, 1             |     s4 = 1;
    0x00023448 b 0x23274                     |     goto label_11;
                                             | label_60:
    0x0002344c move a2, zero                 |     a2 = 0;
    0x00023450 move a1, s6                   |     a1 = s6;
    0x00023454 addiu a0, s0, 0x18            |     a0 = s0 + 0x18;
    0x00023458 bal 0x3a610                   |     sym_utf8_to_native ();
    0x0002345c move s3, v0                   |     s3 = v0;
    0x00023460 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023464 b 0x23124                     |     goto label_8;
                                             | label_46:
    0x00023468 lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x0002346c ori a0, zero, 0x8000          |     a0 = 0x8000;
    0x00023470 bal 0x3cb1c                   |     sym_xmalloc ();
    0x00023474 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023478 move s4, v0                   |     s4 = v0;
    0x0002347c addiu s7, zero, -1            |     s7 = -1;
    0x00023480 lw s6, -0x7fc8(gp)            |     s6 = *(gp);
    0x00023484 lw s5, -0x7fb4(gp)            |     s5 = *((gp - 8173));
    0x00023488 lw t9, -0x7f64(gp)            |     t9 = sym.iobuf_read;
                                             |     do {
    0x0002348c lw a0, 4(s0)                  |         a0 = *((s0 + 1));
    0x00023490 ori a2, zero, 0x8000          |         a2 = 0x8000;
    0x00023494 move a1, s4                   |         a1 = s4;
    0x00023498 bal 0x3fc68                   |         sym_iobuf_read ();
    0x0002349c move fp, v0                   |         fp = v0;
    0x000234a0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == s7) {
    0x000234a4 beq v0, s7, 0x23540           |             goto label_72;
                                             |         }
    0x000234a8 lw a0, (s2)                   |         a0 = *(s2);
    0x000234ac lw t9, -0x7be4(gp)            |         t9 = sym.md_write;
                                             |         if (a0 != 0) {
    0x000234b0 beqz a0, 0x234c4              |             
    0x000234b4 move a2, v0                   |             a2 = v0;
    0x000234b8 move a1, s4                   |             a1 = s4;
    0x000234bc bal 0x28014                   |             sym_md_write ();
    0x000234c0 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x000234c4 ori v0, zero, 0x8000          |         v0 = 0x8000;
                                             |         if (s1 != 0) {
    0x000234c8 beqz s1, 0x23534              |             
    0x000234cc lw a3, 0x18(s6)               |             a3 = *((s6 + 6));
    0x000234d0 lw a2, 0x1c(s6)               |             a2 = *((s6 + 7));
    0x000234d4 or v0, a3, a2                 |             v0 = a3 | a2;
    0x000234d8 lw a1, -0x4c98(s5)            |             a1 = *((s5 - 4902));
                                             |             if (v0 != 0) {
    0x000234dc beqz v0, 0x23510              |                 
    0x000234e0 lw t0, -0x4c94(s5)            |                 t0 = *((s5 - 4901));
    0x000234e4 addu a1, fp, a1               |                 a1 = fp + a1;
    0x000234e8 sra v0, fp, 0x1f              |                 v0 = fp >> 0x1f;
    0x000234ec sltu a0, a1, fp               |                 a0 = (a1 < fp) ? 1 : 0;
    0x000234f0 addu v0, v0, t0               |                 v0 += t0;
    0x000234f4 addu v0, a0, v0               |                 v0 = a0 + v0;
    0x000234f8 slt a0, a2, v0                |                 a0 = (a2 < v0) ? 1 : 0;
    0x000234fc sw a1, -0x4c98(s5)            |                 *((s5 - 4902)) = a1;
    0x00023500 sw v0, -0x4c94(s5)            |                 *((s5 - 4901)) = v0;
                                             |                 if (a0 != 0) {
    0x00023504 bnez a0, 0x238d0              |                     goto label_73;
                                             |                 }
    0x00023508 sltu a1, a3, a1               |                 a1 = (a3 < a1) ? 1 : 0;
                                             |                 if (v0 == a2) {
    0x0002350c beq v0, a2, 0x238c8           |                     goto label_74;
                                             |                 }
                                             |             }
    0x00023510 lw t9, -0x7848(gp)            |             t9 = sym.imp.fwrite;
                                             | label_28:
    0x00023514 move a3, s1                   |             a3 = s1;
    0x00023518 move a2, fp                   |             a2 = fp;
    0x0002351c addiu a1, zero, 1             |             a1 = 1;
    0x00023520 move a0, s4                   |             a0 = s4;
    0x00023524 jalr t9                       |             t9 ();
    0x00023528 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (fp != v0) {
    0x0002352c bne fp, v0, 0x23818           |                 goto label_75;
                                             |             }
    0x00023530 ori v0, zero, 0x8000          |             v0 = 0x8000;
                                             |         }
    0x00023534 slt v1, fp, v0                |         v1 = (fp < v0) ? 1 : 0;
    0x00023538 lw t9, -0x7f64(gp)            |         t9 = sym.iobuf_read;
    0x0002353c beqz v1, 0x2348c              |         
                                             |     } while (v1 == 0);
                                             | label_72:
    0x00023540 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x00023544 move a0, s4                   |     a0 = s4;
    0x00023548 bal 0x3cd20                   |     sym_xfree ();
    0x0002354c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023550 sw zero, 4(s0)                |     *((s0 + 1)) = 0;
    0x00023554 b 0x2300c                     |     goto label_14;
                                             | label_59:
    0x00023558 lw t9, -0x782c(gp)            |     t9 = sym.imp.memcmp;
    0x0002355c addiu a2, zero, 8             |     a2 = 8;
                                             |     /* str._CONSOLE */
    0x00023560 addiu a1, a1, 0x3d94          |     a1 += 0x3d94;
    0x00023564 addiu a0, s0, 0x18            |     a0 = s0 + 0x18;
    0x00023568 jalr t9                       |     t9 ();
    0x0002356c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00023570 bnez v0, 0x2320c              |         goto label_17;
                                             |     }
    0x00023574 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00023578 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.data_not_saved__use_option____output__to_save_it_n */
    0x0002357c addiu a0, a0, 0x6d24          |     a0 += 0x6d24;
    0x00023580 bal 0x384ac                   |     sym_g10_log_info ();
    0x00023584 move s1, zero                 |     s1 = 0;
    0x00023588 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002358c b 0x22d20                     |     goto label_5;
                                             | label_57:
    0x00023590 lw t9, -0x78c4(gp)            |     t9 = sym.imp.__errno_location;
    0x00023594 addiu s0, zero, 0x19          |     s0 = 0x19;
    0x00023598 jalr t9                       |     t9 ();
    0x0002359c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000235a0 addiu v1, zero, 1             |     v1 = 1;
    0x000235a4 addiu a0, zero, 1             |     a0 = 1;
    0x000235a8 lw t9, -0x787c(gp)            |     t9 = sym.imp.strerror;
    0x000235ac sw v1, (v0)                   |     *(v0) = v1;
                                             | label_58:
    0x000235b0 jalr t9                       |     t9 ();
    0x000235b4 nop                           |     
    0x000235b8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000235bc move a2, v0                   |     a2 = v0;
    0x000235c0 move a1, s3                   |     a1 = s3;
    0x000235c4 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000235c8 lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
                                             |     /* str.error_creating___s:__s_n */
    0x000235cc addiu a0, a0, 0x6d58          |     a0 += 0x6d58;
    0x000235d0 bal 0x38550                   |     sym_g10_log_error ();
    0x000235d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000235d8 b 0x23078                     |     goto label_9;
                                             | label_47:
    0x000235dc bal 0x3fb3c                   |     sym_iobuf_readbyte ();
    0x000235e0 nop                           |     
    0x000235e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != s5) {
    0x000235e8 bne v0, s5, 0x22f08           |         goto label_18;
                                             |     }
    0x000235ec sw zero, 4(s0)                |     *((s0 + 1)) = 0;
    0x000235f0 b 0x2300c                     |     goto label_14;
                                             | label_48:
    0x000235f4 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000235f8 move a2, zero                 |     a2 = 0;
    0x000235fc move a1, zero                 |     a1 = 0;
    0x00023600 bal 0x28014                   |     sym_md_write ();
    0x00023604 lw a0, (s2)                   |     a0 = *(s2);
    0x00023608 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002360c lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x00023610 lw v1, 0x10(a0)               |     v1 = *((a0 + 4));
    0x00023614 b 0x22f24                     |     goto label_19;
                                             | label_38:
    0x00023618 ori a0, zero, 0x8000          |     a0 = 0x8000;
    0x0002361c bal 0x3cb1c                   |     sym_xmalloc ();
    0x00023620 lw v1, (s0)                   |     v1 = *(s0);
    0x00023624 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023628 move s4, v0                   |     s4 = v0;
                                             |     if (v1 == 0) {
    0x0002362c beqz v1, 0x22ffc              |         goto label_20;
                                             |     }
    0x00023630 ori s7, zero, 0x8000          |     s7 = 0x8000;
    0x00023634 lw s6, -0x7fc8(gp)            |     s6 = *(gp);
    0x00023638 lw s5, -0x7fb4(gp)            |     s5 = *((gp - 8173));
    0x0002363c b 0x236b0                     |     goto label_76;
                                             | label_21:
    0x00023640 lw a1, 0x1c(s6)               |     a1 = *((s6 + 7));
    0x00023644 or v0, a2, a1                 |     v0 = a2 | a1;
    0x00023648 lw a0, -0x4c98(s5)            |     a0 = *((s5 - 4902));
                                             |     if (v0 != 0) {
    0x0002364c beqz v0, 0x23680              |         
    0x00023650 lw a3, -0x4c94(s5)            |         a3 = *((s5 - 4901));
    0x00023654 addu a0, fp, a0               |         a0 = fp + a0;
    0x00023658 sra v0, fp, 0x1f              |         v0 = fp >> 0x1f;
    0x0002365c sltu v1, a0, fp               |         v1 = (a0 < fp) ? 1 : 0;
    0x00023660 addu v0, v0, a3               |         v0 += a3;
    0x00023664 addu v0, v1, v0               |         v0 = v1 + v0;
    0x00023668 slt v1, a1, v0                |         v1 = (a1 < v0) ? 1 : 0;
    0x0002366c sw a0, -0x4c98(s5)            |         *((s5 - 4902)) = a0;
    0x00023670 sw v0, -0x4c94(s5)            |         *((s5 - 4901)) = v0;
                                             |         if (v1 != 0) {
    0x00023674 bnez v1, 0x238d0              |             goto label_73;
                                             |         }
    0x00023678 sltu a0, a2, a0               |         a0 = (a2 < a0) ? 1 : 0;
                                             |         if (v0 == a1) {
    0x0002367c beq v0, a1, 0x23944           |             goto label_77;
                                             |         }
                                             |     }
    0x00023680 lw t9, -0x7848(gp)            |     t9 = sym.imp.fwrite;
                                             | label_33:
    0x00023684 move a3, s1                   |     a3 = s1;
    0x00023688 move a2, fp                   |     a2 = fp;
    0x0002368c addiu a1, zero, 1             |     a1 = 1;
    0x00023690 move a0, s4                   |     a0 = s4;
    0x00023694 jalr t9                       |     t9 ();
    0x00023698 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (fp != v0) {
    0x0002369c bne fp, v0, 0x23818           |         goto label_75;
                                             |     }
                                             | label_22:
    0x000236a0 lw v1, (s0)                   |     v1 = *(s0);
    0x000236a4 subu v1, v1, v0               |     __asm ("subu v1, v1, v0");
    0x000236a8 sw v1, (s0)                   |     *(s0) = v1;
                                             |     if (v1 == 0) {
    0x000236ac beqz v1, 0x22ffc              |         goto label_20;
                                             |     }
                                             | label_76:
    0x000236b0 ori v0, zero, 0x8001          |     v0 = 0x8001;
    0x000236b4 sltu a2, v1, v0               |     a2 = (v1 < v0) ? 1 : 0;
    0x000236b8 lw t9, -0x7f64(gp)            |     t9 = sym.iobuf_read;
                                             |     if (a2 != 0) {
    0x000236bc movz v1, s7, a2               |         v1 = s7;
                                             |     }
    0x000236c0 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x000236c4 move a2, v1                   |     a2 = v1;
    0x000236c8 move a1, s4                   |     a1 = s4;
    0x000236cc bal 0x3fc68                   |     sym_iobuf_read ();
    0x000236d0 move fp, v0                   |     fp = v0;
    0x000236d4 addiu v0, zero, -1            |     v0 = -1;
    0x000236d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (fp == v0) {
    0x000236dc beq fp, v0, 0x23898           |         goto label_78;
                                             |     }
    0x000236e0 lw a0, (s2)                   |     a0 = *(s2);
    0x000236e4 lw t9, -0x7be4(gp)            |     t9 = sym.md_write;
                                             |     if (a0 != 0) {
    0x000236e8 beqz a0, 0x236fc              |         
    0x000236ec move a2, fp                   |         a2 = fp;
    0x000236f0 move a1, s4                   |         a1 = s4;
    0x000236f4 bal 0x28014                   |         sym_md_write ();
    0x000236f8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x000236fc lw a2, 0x18(s6)               |     a2 = *((s6 + 6));
                                             |     if (s1 == 0) {
    0x00023700 bnel s1, zero, 0x23640        |         goto label_21;
                                             |     }
    0x00023704 move v0, fp                   |     v0 = fp;
    0x00023708 b 0x236a0                     |     goto label_22;
                                             | label_71:
    0x0002370c lw t9, -0x7be4(gp)            |     t9 = sym.md_write;
    0x00023710 move a2, zero                 |     a2 = 0;
    0x00023714 move a1, zero                 |     a1 = 0;
    0x00023718 bal 0x28014                   |     sym_md_write ();
    0x0002371c lw a0, (s2)                   |     a0 = *(s2);
    0x00023720 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023724 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x00023728 b 0x233f0                     |     goto label_23;
                                             | label_70:
    0x0002372c move a1, zero                 |     a1 = 0;
    0x00023730 move a2, zero                 |     a2 = 0;
    0x00023734 bal 0x28014                   |     sym_md_write ();
    0x00023738 lw a0, (s2)                   |     a0 = *(s2);
    0x0002373c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023740 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x00023744 lw a1, 0x14(a0)               |     a1 = *((a0 + 5));
    0x00023748 b 0x233d8                     |     goto label_24;
                                             | label_51:
    0x0002374c lw v1, 0x10(s0)               |     v1 = *((s0 + 4));
    0x00023750 lbu v0, 0xc(s0)               |     v0 = *((s0 + 12));
    0x00023754 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x00023758 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x0002375c addiu s1, sp, 0x28            |     s1 = sp + 0x28;
                                             |     /* str._X__lu_ */
    0x00023760 addiu a3, a3, 0x6d1c          |     a3 += 0x6d1c;
    0x00023764 addiu a2, zero, 0x32          |     a2 = 0x32;
    0x00023768 addiu a1, zero, 1             |     a1 = 1;
    0x0002376c move a0, s1                   |     a0 = s1;
    0x00023770 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00023774 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00023778 jalr t9                       |     t9 ();
    0x0002377c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023780 lw a3, 0x14(s0)               |     a3 = *((s0 + 5));
    0x00023784 addiu a2, s0, 0x18            |     a2 = s0 + 0x18;
    0x00023788 lw t9, -0x7c9c(gp)            |     t9 = sym.write_status_text_and_buffer;
    0x0002378c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00023790 move a1, s1                   |     a1 = s1;
    0x00023794 addiu a0, zero, 0x49          |     a0 = 0x49;
    0x00023798 bal 0x22334                   |     sym_write_status_text_and_buffer ();
    0x0002379c lbu v0, 9(s0)                 |     v0 = *((s0 + 9));
    0x000237a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000237a4 bnez v0, 0x230e0              |         goto label_25;
                                             |     }
    0x000237a8 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x000237ac lw v0, (s0)                   |     v0 = *(s0);
    0x000237b0 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
                                             |     /* esilref: '&lu' */
    0x000237b4 addiu a3, a3, 0x4eb0          |     a3 += 0x4eb0;
    0x000237b8 addiu a2, zero, 0x32          |     a2 = 0x32;
    0x000237bc addiu a1, zero, 1             |     a1 = 1;
    0x000237c0 move a0, s1                   |     a0 = s1;
    0x000237c4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000237c8 jalr t9                       |     t9 ();
    0x000237cc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000237d0 move a1, s1                   |     a1 = s1;
    0x000237d4 lw t9, -0x7d80(gp)            |     t9 = sym.write_status_text;
    0x000237d8 addiu a0, zero, 0x4a          |     a0 = 0x4a;
    0x000237dc bal 0x21b8c                   |     sym_write_status_text ();
    0x000237e0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000237e4 b 0x230e0                     |     goto label_25;
                                             | label_63:
    0x000237e8 lw t9, -0x7840(gp)            |     t9 = sym.imp._IO_putc;
                                             |     if (a1 == 0) {
    0x000237ec beqz a1, 0x2330c              |         goto label_26;
                                             |     }
                                             | label_41:
    0x000237f0 lw a2, -0x7fdc(gp)            |     a2 = *(gp);
                                             | label_31:
    0x000237f4 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000237f8 lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
                                             |     /* str.exceeded___max_output_limit_n */
    0x000237fc addiu a2, a2, 0x6dd4          |     a2 += 0x6dd4;
    0x00023800 move a1, s3                   |     a1 = s3;
                                             |     /* str.Error_writing_to___s:__s_n */
    0x00023804 addiu a0, a0, 0x6df4          |     a0 += 0x6df4;
    0x00023808 bal 0x38550                   |     sym_g10_log_error ();
    0x0002380c addiu s0, zero, 0x16          |     s0 = 0x16;
    0x00023810 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023814 b 0x22e7c                     |     goto label_3;
                                             | label_75:
    0x00023818 lw t9, -0x78c4(gp)            |     t9 = sym.imp.__errno_location;
    0x0002381c addiu s0, zero, 0x16          |     s0 = 0x16;
    0x00023820 jalr t9                       |     t9 ();
    0x00023824 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023828 lw t9, -0x787c(gp)            |     t9 = sym.imp.strerror;
    0x0002382c lw a0, (v0)                   |     a0 = *(v0);
    0x00023830 jalr t9                       |     t9 ();
    0x00023834 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023838 move a2, v0                   |     a2 = v0;
    0x0002383c move a1, s3                   |     a1 = s3;
    0x00023840 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00023844 lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
                                             |     /* str.Error_writing_to___s:__s_n */
    0x00023848 addiu a0, a0, 0x6df4          |     a0 += 0x6df4;
    0x0002384c bal 0x38550                   |     sym_g10_log_error ();
    0x00023850 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023854 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x00023858 move a0, s4                   |     a0 = s4;
    0x0002385c bal 0x3cd20                   |     sym_xfree ();
    0x00023860 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023864 b 0x22e7c                     |     goto label_3;
                                             | label_37:
    0x00023868 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x0002386c lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
                                             |     /* str.clearsig_encountered_while_not_expected_n */
    0x00023870 addiu a0, a0, 0x6d78          |     a0 += 0x6d78;
    0x00023874 bal 0x38550                   |     sym_g10_log_error ();
    0x00023878 addiu s0, zero, 0x27          |     s0 = 0x27;
    0x0002387c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023880 b 0x22e74                     |     goto label_27;
                                             | label_56:
    0x00023884 move a0, v0                   |     a0 = v0;
    0x00023888 bal 0x3cd20                   |     sym_xfree ();
    0x0002388c addiu s0, zero, 0x19          |     s0 = 0x19;
    0x00023890 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023894 b 0x23078                     |     goto label_9;
                                             | label_78:
    0x00023898 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x0002389c lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
    0x000238a0 lw a1, (s0)                   |     a1 = *(s0);
                                             |     /* str.Problem_reading_source___u_bytes_remaining__n */
    0x000238a4 addiu a0, a0, 0x6da4          |     a0 += 0x6da4;
    0x000238a8 bal 0x38550                   |     sym_g10_log_error ();
    0x000238ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000238b0 move a0, s4                   |     a0 = s4;
    0x000238b4 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x000238b8 addiu s0, zero, 0x15          |     s0 = 0x15;
    0x000238bc bal 0x3cd20                   |     sym_xfree ();
    0x000238c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000238c4 b 0x22e74                     |     goto label_27;
                                             | label_74:
    0x000238c8 lw t9, -0x7848(gp)            |     t9 = sym.imp.fwrite;
                                             |     if (a1 == 0) {
    0x000238cc beqz a1, 0x23514              |         goto label_28;
                                             |     }
                                             | label_73:
    0x000238d0 lw a2, -0x7fdc(gp)            |     a2 = *(gp);
                                             | label_34:
    0x000238d4 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000238d8 lw t9, -0x7f84(gp)            |     t9 = sym.g10_log_error;
                                             |     /* str.exceeded___max_output_limit_n */
    0x000238dc addiu a2, a2, 0x6dd4          |     a2 += 0x6dd4;
    0x000238e0 move a1, s3                   |     a1 = s3;
                                             |     /* str.Error_writing_to___s:__s_n */
    0x000238e4 addiu a0, a0, 0x6df4          |     a0 += 0x6df4;
    0x000238e8 bal 0x38550                   |     sym_g10_log_error ();
    0x000238ec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000238f0 move a0, s4                   |     a0 = s4;
    0x000238f4 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x000238f8 addiu s0, zero, 0x16          |     s0 = 0x16;
    0x000238fc bal 0x3cd20                   |     sym_xfree ();
    0x00023900 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023904 b 0x22e7c                     |     goto label_3;
                                             | label_66:
    0x00023908 move a2, zero                 |     a2 = 0;
    0x0002390c move a1, zero                 |     a1 = 0;
    0x00023910 bal 0x28014                   |     sym_md_write ();
    0x00023914 lw a0, (s2)                   |     a0 = *(s2);
    0x00023918 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002391c lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x00023920 b 0x23358                     |     goto label_29;
                                             | label_42:
    0x00023924 lw t9, -0x7840(gp)            |     t9 = sym.imp._IO_putc;
                                             |     if (a1 == 0) {
    0x00023928 beqz a1, 0x22dfc              |         goto label_30;
                                             |     }
    0x0002392c lw a2, -0x7fdc(gp)            |     a2 = *(gp);
    0x00023930 b 0x237f4                     |     goto label_31;
                                             | label_49:
    0x00023934 lw t9, -0x7840(gp)            |     t9 = sym.imp._IO_putc;
                                             |     if (a1 == 0) {
    0x00023938 beqz a1, 0x22f84              |         goto label_32;
                                             |     }
    0x0002393c lw a2, -0x7fdc(gp)            |     a2 = *(gp);
    0x00023940 b 0x237f4                     |     goto label_31;
                                             | label_77:
    0x00023944 lw t9, -0x7848(gp)            |     t9 = sym.imp.fwrite;
                                             |     if (a0 == 0) {
    0x00023948 beqz a0, 0x23684              |         goto label_33;
                                             |     }
    0x0002394c lw a2, -0x7fdc(gp)            |     a2 = *(gp);
    0x00023950 b 0x238d4                     |     goto label_34;
                                             | label_50:
    0x00023954 lw t9, -0x7834(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00023958 jalr t9                       |     t9 ();
    0x0002395c nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x3e830 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.iobuf_fdopen ()              | void iobuf_fdopen () {
    0x0003e830 lui gp, 2                     |     
    0x0003e834 addiu gp, gp, 0x3900          |     
    0x0003e838 addu gp, gp, t9               |     gp += t9;
    0x0003e83c addiu sp, sp, -0x38           |     
    0x0003e840 lw t9, -0x789c(gp)            |     t9 = sym.imp.strchr;
    0x0003e844 move v0, a1                   |     v0 = a1;
    0x0003e848 addiu a1, zero, 0x77          |     a1 = 0x77;
    0x0003e84c sw ra, 0x34(sp)               |     *(var_2ch) = ra;
    0x0003e850 sw gp, 0x18(sp)               |     *(var_10h) = gp;
    0x0003e854 sw s4, 0x30(sp)               |     *(var_28h) = s4;
    0x0003e858 sw s3, 0x2c(sp)               |     *(var_24h) = s3;
    0x0003e85c sw s2, 0x28(sp)               |     *(var_20h) = s2;
    0x0003e860 sw s1, 0x24(sp)               |     *(var_1ch) = s1;
    0x0003e864 move s2, a0                   |     s2 = a0;
    0x0003e868 sw s0, 0x20(sp)               |     *(var_20h_2) = s0;
    0x0003e86c move a0, v0                   |     a0 = v0;
    0x0003e870 jalr t9                       |     t9 ();
    0x0003e874 lw gp, 0x18(sp)               |     gp = *(var_10h);
    0x0003e878 addiu s3, zero, 1             |     s3 = 1;
    0x0003e87c addiu a0, zero, 2             |     a0 = 2;
    0x0003e880 lw t9, -0x7970(gp)            |     t9 = sym.iobuf_alloc;
    0x0003e884 addiu a1, zero, 0x2000        |     a1 = 0x2000;
                                             |     if (v0 != 0) {
    0x0003e888 movz a0, s3, v0               |         a0 = s3;
                                             |     }
    0x0003e88c bal 0x3e698                   |     sym_iobuf_alloc ();
    0x0003e890 lw gp, 0x18(sp)               |     gp = *(var_10h);
    0x0003e894 addiu a0, zero, 0x2c          |     a0 = 0x2c;
    0x0003e898 lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x0003e89c move s1, v0                   |     s1 = v0;
    0x0003e8a0 bal 0x3cb1c                   |     sym_xmalloc ();
    0x0003e8a4 lw gp, 0x18(sp)               |     gp = *(var_10h);
    0x0003e8a8 addiu s4, v0, 0x14            |     s4 = v0 + 0x14;
    0x0003e8ac sw s2, (v0)                   |     *(v0) = s2;
    0x0003e8b0 lw a3, -0x7d90(gp)            |     a3 = *((gp - 8036));
    0x0003e8b4 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x0003e8b8 sw s3, 0x10(v0)               |     *((v0 + 4)) = s3;
                                             |     /* str._fd__d_ */
    0x0003e8bc addiu a3, a3, -0x6be4         |     a3 += -0x6be4;
    0x0003e8c0 sw s2, 0x10(sp)               |     *(var_10h_2) = s2;
    0x0003e8c4 addiu a2, zero, -1            |     a2 = -1;
    0x0003e8c8 addiu a1, zero, 1             |     a1 = 1;
    0x0003e8cc move a0, s4                   |     a0 = s4;
    0x0003e8d0 move s0, v0                   |     s0 = v0;
    0x0003e8d4 jalr t9                       |     t9 ();
    0x0003e8d8 lw gp, 0x18(sp)               |     gp = *(var_10h);
    0x0003e8dc sw s0, 0x44(s1)               |     *((s1 + 17)) = s0;
    0x0003e8e0 lw v0, -0x7974(gp)            |     v0 = *(gp);
    0x0003e8e4 lw v1, (v0)                   |     v1 = *(v0);
    0x0003e8e8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0003e8ec addiu v0, v0, -0x2884         |     v0 += -0x2884;
    0x0003e8f0 sw v0, 0x40(s1)               |     *((s1 + 16)) = v0;
    0x0003e8f4 lw v0, -0x7d90(gp)            |     v0 = *((gp - 8036));
                                             |     /* str.file_filter_fd_ */
    0x0003e8f8 addiu v0, v0, -0x6ed8         |     v0 += -0x6ed8;
    0x0003e8fc sw v0, 0x5c(s1)               |     *((s1 + 23)) = v0;
    0x0003e900 sw zero, 0xc(s0)              |     *((s0 + 3)) = 0;
    0x0003e904 sw zero, 4(s0)                |     *((s0 + 1)) = 0;
    0x0003e908 sw zero, 8(s0)                |     *((s0 + 2)) = 0;
    0x0003e90c bnez v1, 0x3e950              |     
                                             |     while (1) {
    0x0003e910 lw t9, -0x7fdc(gp)            |         t9 = *(gp);
    0x0003e914 move a0, s1                   |         a0 = s1;
    0x0003e918 move a3, zero                 |         a3 = 0;
    0x0003e91c addiu a2, zero, 1             |         a2 = 1;
                                             |         /* fcn.0003e4bc */
    0x0003e920 addiu t9, t9, -0x1b44         |         t9 += -0x1b44;
    0x0003e924 addiu a1, zero, 3             |         a1 = 3;
    0x0003e928 bal 0x3e4bc                   |         fcn_0003e4bc ();
    0x0003e92c lw ra, 0x34(sp)               |         ra = *(var_2ch);
    0x0003e930 move v0, s1                   |         v0 = s1;
    0x0003e934 lw s4, 0x30(sp)               |         s4 = *(var_28h);
    0x0003e938 lw s3, 0x2c(sp)               |         s3 = *(var_24h);
    0x0003e93c lw s2, 0x28(sp)               |         s2 = *(var_20h);
    0x0003e940 lw s1, 0x24(sp)               |         s1 = *(var_1ch);
    0x0003e944 lw s0, 0x20(sp)               |         s0 = *(var_20h_2);
    0x0003e948 addiu sp, sp, 0x38            |         
    0x0003e94c jr ra                         |         return v0;
    0x0003e950 lw a0, -0x7d90(gp)            |         a0 = *((gp - 8036));
    0x0003e954 lw t9, -0x7f5c(gp)            |         t9 = sym.g10_log_debug;
    0x0003e958 lw a2, 0x58(s1)               |         a2 = *((s1 + 22));
    0x0003e95c lw a1, 0x54(s1)               |         a1 = *((s1 + 21));
    0x0003e960 move a3, s4                   |         a3 = s4;
                                             |         /* str.iobuf__d._d:_fdopen___s_n */
    0x0003e964 addiu a0, a0, -0x6bdc         |         a0 += -0x6bdc;
    0x0003e968 bal 0x388a0                   |         sym_g10_log_debug ();
    0x0003e96c lw gp, 0x18(sp)               |         gp = *(var_10h);
    0x0003e970 b 0x3e910                     |         
                                             |     }
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x198c0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.keystrlen ()             | void keystrlen () {
    0x000198c0 lui gp, 5                 |     
    0x000198c4 addiu gp, gp, -0x7790     |     
    0x000198c8 addu gp, gp, t9           |     gp += t9;
    0x000198cc lw v0, -0x7fc8(gp)        |     v0 = *(gp);
    0x000198d0 addiu sp, sp, -0x20       |     
    0x000198d4 lw v0, 0xf0(v0)           |     v0 = *((v0 + 60));
    0x000198d8 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000198dc sltiu v1, v0, 4           |     v1 = (v0 < 4) ? 1 : 0;
    0x000198e0 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x000198e4 sll v1, v0, 2             |     v1 = v0 << 2;
                                         |     if (v1 != 0) {
    0x000198e8 beqz v1, 0x19904          |         
    0x000198ec lw v0, -0x7fdc(gp)        |         v0 = *(gp);
    0x000198f0 lw ra, 0x1c(sp)           |         ra = *(var_1ch);
    0x000198f4 addiu v0, v0, 0x5228      |         v0 += 0x5228;
    0x000198f8 addiu sp, sp, 0x20        |         
    0x000198fc lwx v0, v1(v0)            |         __asm ("lwx v0, v1(v0)");
    0x00019900 jr ra                     |         return v0;
                                         |     }
    0x00019904 lw a2, -0x7fdc(gp)        |     a2 = *(gp);
    0x00019908 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x0001990c lw t9, -0x7f18(gp)        |     t9 = sym.g10_log_bug0;
                                         |     /* str.keystrlen */
    0x00019910 addiu a2, a2, 0x52b8      |     a2 += 0x52b8;
    0x00019914 addiu a1, zero, 0xa6      |     a1 = 0xa6;
                                         |     /* str..._.._gnupg_1.4.7_g10_keyid.c */
    0x00019918 addiu a0, a0, 0x5194      |     a0 += 0x5194;
    0x0001991c bal 0x38750               |     return sym_g10_log_bug0 ();
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x19920 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.keystr ()                | void keystr () {
    0x00019920 lui gp, 5                 |     
    0x00019924 addiu gp, gp, -0x77f0     |     
    0x00019928 addu gp, gp, t9           |     gp += t9;
    0x0001992c lw v0, -0x7fc8(gp)        |     v0 = *(gp);
    0x00019930 addiu sp, sp, -0x28       |     
    0x00019934 addiu v1, zero, 1         |     v1 = 1;
    0x00019938 lw v0, 0xf0(v0)           |     v0 = *((v0 + 60));
    0x0001993c sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00019940 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x00019944 sw s0, 0x20(sp)           |     *(var_20h) = s0;
                                         |     if (v0 == v1) {
    0x00019948 beql v0, v1, 0x199e4      |         goto label_2;
                                         |     }
    0x0001994c lw v0, (a0)               |     v0 = *(a0);
    0x00019950 addiu v1, zero, 2         |     v1 = 2;
                                         |     if (v0 == 0) {
    0x00019954 beqz v0, 0x199c8          |         goto label_3;
                                         |     }
    0x00019958 addiu v1, zero, 3         |     v1 = 3;
                                         |     if (v0 != v1) {
    0x0001995c beq v0, v1, 0x1998c       |         
    0x00019960 lw s0, -0x7fb4(gp)        |         s0 = *((gp - 8173));
                                         |         if (v0 != v1) {
    0x00019964 bne v0, v1, 0x19a40       |             goto label_4;
                                         |         }
    0x00019968 lw v0, (a0)               |         v0 = *(a0);
    0x0001996c lw v1, 4(a0)              |         v1 = *((a0 + 1));
    0x00019970 lw t9, -0x794c(gp)        |         t9 = sym.imp.__sprintf_chk
                                         |         if (v0 == 0) {
    0x00019974 beqz v0, 0x19a38          |             goto label_5;
                                         |         }
    0x00019978 lw a3, -0x7fdc(gp)        |         a3 = *(gp);
    0x0001997c sw v1, 0x14(sp)           |         *(var_14h) = v1;
    0x00019980 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
                                         |         /* str.0x_08lX_08lX */
    0x00019984 addiu a3, a3, 0x51c4      |         a3 += 0x51c4;
    0x00019988 b 0x19a04                 |         goto label_6;
                                         |     }
    0x0001998c lw v0, 4(a0)              |     v0 = *((a0 + 1));
    0x00019990 lw s0, -0x7fb4(gp)        |     s0 = *((gp - 8173));
    0x00019994 lw t9, -0x794c(gp)        |     t9 = sym.imp.__sprintf_chk
    0x00019998 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
                                         | label_1:
    0x0001999c lw a3, -0x7fdc(gp)        |     a3 = *(gp);
                                         |     /* str.0x_08lX */
    0x000199a0 addiu a3, a3, 0x51bc      |     a3 += 0x51bc;
                                         |     do {
                                         | label_0:
    0x000199a4 addiu a0, s0, -0x4dc4     |         a0 = s0 + -0x4dc4;
    0x000199a8 addiu a2, zero, 0x13      |         a2 = 0x13;
    0x000199ac addiu a1, zero, 1         |         a1 = 1;
    0x000199b0 jalr t9                   |         t9 ();
    0x000199b4 lw ra, 0x24(sp)           |         ra = *(var_24h);
    0x000199b8 addiu v0, s0, -0x4dc4     |         v0 = s0 + -0x4dc4;
    0x000199bc lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x000199c0 addiu sp, sp, 0x28        |         
    0x000199c4 jr ra                     |         return v1;
                                         | label_3:
    0x000199c8 lw v0, 4(a0)              |         v0 = *((a0 + 1));
    0x000199cc lw a3, -0x7fdc(gp)        |         a3 = *(gp);
    0x000199d0 lw s0, -0x7fb4(gp)        |         s0 = *((gp - 8173));
    0x000199d4 lw t9, -0x794c(gp)        |         t9 = sym.imp.__sprintf_chk
    0x000199d8 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
                                         |         /* str._08lX */
    0x000199dc addiu a3, a3, 0x51b4      |         a3 += 0x51b4;
    0x000199e0 b 0x199a4                 |         
                                         |     } while (1);
                                         | label_2:
    0x000199e4 lw v1, 4(a0)              |     v1 = *((a0 + 1));
    0x000199e8 lw s0, -0x7fb4(gp)        |     s0 = *((gp - 8173));
    0x000199ec lw t9, -0x794c(gp)        |     t9 = sym.imp.__sprintf_chk
                                         |     if (v0 != 0) {
    0x000199f0 beqz v0, 0x19a28          |         
    0x000199f4 lw a3, -0x7fdc(gp)        |         a3 = *(gp);
    0x000199f8 sw v1, 0x14(sp)           |         *(var_14h) = v1;
    0x000199fc sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
                                         |         /* str._08lX_08lX */
    0x00019a00 addiu a3, a3, 0x3c08      |         a3 += 0x3c08;
                                         | label_6:
    0x00019a04 addiu a0, s0, -0x4dc4     |         a0 = s0 + -0x4dc4;
    0x00019a08 addiu a2, zero, 0x13      |         a2 = 0x13;
    0x00019a0c addiu a1, zero, 1         |         a1 = 1;
    0x00019a10 jalr t9                   |         t9 ();
    0x00019a14 lw ra, 0x24(sp)           |         ra = *(var_24h);
    0x00019a18 addiu v0, s0, -0x4dc4     |         v0 = s0 + -0x4dc4;
    0x00019a1c lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x00019a20 addiu sp, sp, 0x28        |         
    0x00019a24 jr ra                     |         return v1;
                                         |     }
    0x00019a28 lw a3, -0x7fdc(gp)        |     a3 = *(gp);
    0x00019a2c sw v1, 0x10(sp)           |     *(var_10h_2) = v1;
                                         |     /* str._08lX */
    0x00019a30 addiu a3, a3, 0x51b4      |     a3 += 0x51b4;
    0x00019a34 b 0x199a4                 |     goto label_0;
                                         | label_5:
    0x00019a38 sw v1, 0x10(sp)           |     *(var_10h_2) = v1;
    0x00019a3c b 0x1999c                 |     goto label_1;
                                         | label_4:
    0x00019a40 lw a2, -0x7fdc(gp)        |     a2 = *(gp);
    0x00019a44 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x00019a48 lw t9, -0x7f18(gp)        |     t9 = sym.g10_log_bug0;
                                         |     /* str.keystr */
    0x00019a4c addiu a2, a2, 0x52b0      |     a2 += 0x52b0;
    0x00019a50 addiu a1, zero, 0xc8      |     a1 = 0xc8;
                                         |     /* str..._.._gnupg_1.4.7_g10_keyid.c */
    0x00019a54 addiu a0, a0, 0x5194      |     a0 += 0x5194;
    0x00019a58 bal 0x38750               |     return sym_g10_log_bug0 ();
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x19bf4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.keystr_from_sk ()            | void keystr_from_sk () {
    0x00019bf4 lui gp, 5                     |     
    0x00019bf8 addiu gp, gp, -0x7ac4         |     
    0x00019bfc addu gp, gp, t9               |     gp += t9;
    0x00019c00 addiu sp, sp, -0x20           |     
    0x00019c04 lw t9, -0x7e5c(gp)            |     t9 = sym.keyid_from_sk;
    0x00019c08 move a1, zero                 |     a1 = 0;
    0x00019c0c sw s0, 0x18(sp)               |     *(var_18h_2) = s0;
    0x00019c10 sw ra, 0x1c(sp)               |     *(var_1ch_3) = ra;
    0x00019c14 sw gp, 0x10(sp)               |     *(var_10h_4) = gp;
    0x00019c18 move s0, a0                   |     s0 = a0;
    0x00019c1c bal 0x19a5c                   |     sym_keyid_from_sk ();
    0x00019c20 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00019c24 lw ra, 0x1c(sp)               |     ra = *(var_1ch_3);
    0x00019c28 addiu a0, s0, 0x28            |     a0 = s0 + 0x28;
    0x00019c2c lw t9, -0x7e48(gp)            |     t9 = sym.keystr;
    0x00019c30 lw s0, 0x18(sp)               |     s0 = *(var_18h_2);
    0x00019c34 addiu sp, sp, 0x20            |     
    0x00019c38 b 0x19920                     |     return void (*0x19920)() ();
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x19dd4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.keystr_from_pk ()        | void keystr_from_pk () {
    0x00019dd4 lui gp, 5                 |     
    0x00019dd8 addiu gp, gp, -0x7ca4     |     
    0x00019ddc addu gp, gp, t9           |     gp += t9;
    0x00019de0 addiu sp, sp, -0x20       |     
    0x00019de4 lw t9, -0x7eb4(gp)        |     t9 = sym.keyid_from_pk;
    0x00019de8 move a1, zero             |     a1 = 0;
    0x00019dec sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00019df0 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x00019df4 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00019df8 move s0, a0               |     s0 = a0;
    0x00019dfc bal 0x19c3c               |     sym_keyid_from_pk ();
    0x00019e00 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00019e04 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x00019e08 addiu a0, s0, 0x44        |     a0 = s0 + 0x44;
    0x00019e0c lw t9, -0x7e48(gp)        |     t9 = sym.keystr;
    0x00019e10 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x00019e14 addiu sp, sp, 0x20        |     
    0x00019e18 b 0x19920                 |     return void (*0x19920)() ();
                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x1e620 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.make_attribute_uidname ()        | void make_attribute_uidname () {
    0x0001e620 lui gp, 4                         |     
    0x0001e624 addiu gp, gp, 0x3b10              |     
    0x0001e628 addu gp, gp, t9                   |     gp += t9;
    0x0001e62c addiu sp, sp, -0x40               |     
    0x0001e630 sltiu a1, a1, 0x47                |     a1 = (a1 < 0x47) ? 1 : 0;
    0x0001e634 sw s2, 0x38(sp)                   |     *(var_38h) = s2;
    0x0001e638 lw s2, -0x781c(gp)                |     s2 = *((gp - 7687));
    0x0001e63c sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x0001e640 sw ra, 0x3c(sp)                   |     *(var_3ch) = ra;
    0x0001e644 lw v0, (s2)                       |     v0 = *(s2);
    0x0001e648 sw s1, 0x34(sp)                   |     *(var_34h) = s1;
    0x0001e64c sw s0, 0x30(sp)                   |     *(var_30h) = s0;
    0x0001e650 sw v0, 0x2c(sp)                   |     *(var_2ch) = v0;
    0x0001e654 move s0, a0                       |     s0 = a0;
                                                 |     if (a1 != 0) {
    0x0001e658 bnez a1, 0x1e7a8                  |         goto label_3;
                                                 |     }
    0x0001e65c lw v0, 0xc(a0)                    |     v0 = *((a0 + 3));
    0x0001e660 addiu s1, a0, 0x4c                |     s1 = a0 + 0x4c;
                                                 |     if (v0 <= 0) {
    0x0001e664 blez v0, 0x1e70c                  |         goto label_4;
                                                 |     }
    0x0001e668 addiu v1, zero, 1                 |     v1 = 1;
    0x0001e66c lw v1, 0x14(a0)                   |     v1 = *((a0 + 5));
                                                 |     if (v0 == v1) {
    0x0001e670 bnel v0, v1, 0x1e6e0              |         goto label_5;
                                                 |     }
    0x0001e674 lw a0, 8(a0)                      |     a0 = *((a0 + 2));
    0x0001e678 lbu v1, (a0)                      |     v1 = *(a0);
    0x0001e67c lw a3, -0x7fdc(gp)                |     a3 = *(gp);
                                                 |     if (v1 == v0) {
    0x0001e680 beq v1, v0, 0x1e724               |         goto label_6;
                                                 |     }
    0x0001e684 lw v0, 8(a0)                      |     v0 = *((a0 + 2));
    0x0001e688 lw t9, -0x794c(gp)                |     t9 = sym.imp.__sprintf_chk
    0x0001e68c sw v0, 0x10(sp)                   |     *(var_f0h) = v0;
                                                 |     /* str._unknown_attribute_of_size__lu_ */
    0x0001e690 addiu a3, a3, 0x5ddc              |     a3 += 0x5ddc;
                                                 | label_0:
    0x0001e694 addiu a2, zero, -1                |     a2 = -1;
    0x0001e698 addiu a1, zero, 1                 |     a1 = 1;
    0x0001e69c move a0, s1                       |     a0 = s1;
    0x0001e6a0 jalr t9                           |     t9 ();
    0x0001e6a4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     do {
                                                 | label_2:
    0x0001e6a8 lw t9, -0x78a0(gp)                |         t9 = sym.imp.strlen;
    0x0001e6ac move a0, s1                       |         a0 = s1;
    0x0001e6b0 jalr t9                           |         t9 ();
    0x0001e6b4 lw a0, 0x2c(sp)                   |         a0 = *(var_2ch);
    0x0001e6b8 lw v1, (s2)                       |         v1 = *(s2);
    0x0001e6bc lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e6c0 sw v0, 4(s0)                      |         *((s0 + 1)) = v0;
                                                 |         if (a0 != v1) {
    0x0001e6c4 bne a0, v1, 0x1e7cc               |             goto label_7;
                                                 |         }
    0x0001e6c8 lw ra, 0x3c(sp)                   |         ra = *(var_3ch);
    0x0001e6cc lw s2, 0x38(sp)                   |         s2 = *(var_38h);
    0x0001e6d0 lw s1, 0x34(sp)                   |         s1 = *(var_34h);
    0x0001e6d4 lw s0, 0x30(sp)                   |         s0 = *(var_30h);
    0x0001e6d8 addiu sp, sp, 0x40                |         
    0x0001e6dc jr ra                             |         return v0;
                                                 | label_5:
    0x0001e6e0 lw a3, -0x7fdc(gp)                |         a3 = *(gp);
    0x0001e6e4 lw t9, -0x794c(gp)                |         t9 = sym.imp.__sprintf_chk
    0x0001e6e8 sw v1, 0x14(sp)                   |         *(var_f4h) = v1;
    0x0001e6ec sw v0, 0x10(sp)                   |         *(var_f0h) = v0;
                                                 |         /* str.__d_attributes_of_size__lu_ */
    0x0001e6f0 addiu a3, a3, 0x5d94              |         a3 += sym._init;
                                                 | label_1:
    0x0001e6f4 addiu a2, zero, -1                |         a2 = -1;
    0x0001e6f8 addiu a1, zero, 1                 |         a1 = 1;
    0x0001e6fc move a0, s1                       |         a0 = s1;
    0x0001e700 jalr t9                           |         t9 ();
    0x0001e704 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e708 b 0x1e6a8                         |         
                                                 |     } while (1);
                                                 | label_4:
    0x0001e70c lw v0, 0x14(a0)                   |     v0 = *((a0 + 5));
    0x0001e710 lw a3, -0x7fdc(gp)                |     a3 = *(gp);
    0x0001e714 lw t9, -0x794c(gp)                |     t9 = sym.imp.__sprintf_chk
    0x0001e718 sw v0, 0x10(sp)                   |     *(var_f0h) = v0;
                                                 |     /* str._bad_attribute_packet_of_size__lu_ */
    0x0001e71c addiu a3, a3, 0x5d70              |     a3 += 0x5d70;
    0x0001e720 b 0x1e694                         |     goto label_0;
                                                 | label_6:
    0x0001e724 lw t9, -0x7b9c(gp)                |     t9 = sym.parse_image_header;
    0x0001e728 addiu a2, sp, 0x28                |     a2 = sp + 0x28;
    0x0001e72c addiu a1, sp, 0x27                |     a1 = sp + 0x27;
    0x0001e730 bal 0x63b0                        |     sym_parse_image_header ();
    0x0001e734 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0001e738 beqz v0, 0x1e76c                  |         
    0x0001e73c lw t9, -0x7b98(gp)                |         t9 = sym.image_type_to_string;
    0x0001e740 lbu a0, 0x27(sp)                  |         a0 = *(var_27h);
    0x0001e744 addiu a1, zero, 1                 |         a1 = 1;
    0x0001e748 bal 0x63b8                        |         sym_image_type_to_string ();
    0x0001e74c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e750 lw v1, 0x28(sp)                   |         v1 = *(var_28h_2);
    0x0001e754 sw v0, 0x10(sp)                   |         *(var_f0h) = v0;
    0x0001e758 lw a3, -0x7fdc(gp)                |         a3 = *(gp);
    0x0001e75c lw t9, -0x794c(gp)                |         t9 = sym.imp.__sprintf_chk
    0x0001e760 sw v1, 0x14(sp)                   |         *(var_f4h) = v1;
                                                 |         /* str.__.20s_image_of_size__lu_ */
    0x0001e764 addiu a3, a3, 0x5db0              |         a3 += 0x5db0;
    0x0001e768 b 0x1e6f4                         |         goto label_1;
                                                 |     }
    0x0001e76c lw v1, -0x7fdc(gp)                |     v1 = *(gp);
                                                 |     /* str._invalid_image_ */
    0x0001e770 addiu v0, v1, 0x5dcc              |     v0 = v1 + 0x5dcc;
    0x0001e774 lw v1, 0x5dcc(v1)                 |     v1 = *((v1 + 6003));
    0x0001e778 lw a0, 4(v0)                      |     a0 = *((v0 + 1));
    0x0001e77c swl v1, 3(s1)                     |     __asm ("swl v1, 3(s1)");
    0x0001e780 swr v1, (s1)                      |     __asm ("swr v1, (s1)");
    0x0001e784 swl a0, 7(s1)                     |     __asm ("swl a0, 7(s1)");
    0x0001e788 lw v1, 8(v0)                      |     v1 = *((v0 + 2));
    0x0001e78c swr a0, 4(s1)                     |     __asm ("swr a0, 4(s1)");
    0x0001e790 swl v1, 0xb(s1)                   |     __asm ("swl v1, 0xb(s1)");
    0x0001e794 lw v0, 0xc(v0)                    |     v0 = *((v0 + 3));
    0x0001e798 swr v1, 8(s1)                     |     __asm ("swr v1, 8(s1)");
    0x0001e79c swl v0, 0xf(s1)                   |     __asm ("swl v0, 0xf(s1)");
    0x0001e7a0 swr v0, 0xc(s1)                   |     __asm ("swr v0, 0xc(s1)");
    0x0001e7a4 b 0x1e6a8                         |     goto label_2;
                                                 | label_3:
    0x0001e7a8 lw a3, -0x7fdc(gp)                |     a3 = *(gp);
    0x0001e7ac lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001e7b0 lw a0, -0x7fdc(gp)                |     a0 = *(gp);
    0x0001e7b4 lw t9, -0x7944(gp)                |     t9 = sym.imp.__assert_fail;
                                                 |     /* str.make_attribute_uidname */
    0x0001e7b8 addiu a3, a3, 0x6524              |     a3 += 0x6524;
    0x0001e7bc addiu a2, zero, 0x7fd             |     a2 = 0x7fd;
                                                 |     /* str..._.._gnupg_1.4.7_g10_parse_packet.c */
    0x0001e7c0 addiu a1, a1, 0x5d34              |     a1 += 0x5d34;
                                                 |     /* str.max_namelen___70 */
    0x0001e7c4 addiu a0, a0, 0x5d5c              |     a0 += 0x5d5c;
    0x0001e7c8 jalr t9                           |     t9 ();
                                                 | label_7:
    0x0001e7cc lw t9, -0x7834(gp)                |     t9 = sym.imp.__stack_chk_fail;
    0x0001e7d0 jalr t9                           |     t9 ();
    0x0001e7d4 nop                               |     
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x39320 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.make_printable_string ()     | void make_printable_string () {
    0x00039320 lui gp, 3                     |     
    0x00039324 addiu gp, gp, -0x71f0         |     
    0x00039328 addu gp, gp, t9               |     gp += t9;
    0x0003932c addiu sp, sp, -0x48           |     
    0x00039330 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00039334 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x00039338 sw fp, 0x40(sp)               |     *(var_40h) = fp;
    0x0003933c sw s7, 0x3c(sp)               |     *(var_3ch) = s7;
    0x00039340 sw s6, 0x38(sp)               |     *(var_38h) = s6;
    0x00039344 sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x00039348 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0003934c sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x00039350 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x00039354 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x00039358 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0003935c move s0, a0                   |     s0 = a0;
                                             |     if (a1 == 0) {
    0x00039360 beqz a1, 0x39548              |         goto label_2;
                                             |     }
    0x00039364 move s4, a2                   |     s4 = a2;
    0x00039368 addu s2, a0, a1               |     s2 = a0 + a1;
    0x0003936c move v0, a0                   |     v0 = a0;
    0x00039370 addiu a3, zero, -9            |     a3 = -9;
    0x00039374 addiu a0, zero, 1             |     a0 = 1;
    0x00039378 addiu a2, zero, 0x5c          |     a2 = 0x5c;
    0x0003937c lbu v1, (v0)                  |     v1 = *(v0);
                                             |     do {
    0x00039380 sltiu a1, v1, 0x20            |         a1 = (v1 < 0x20) ? 1 : 0;
    0x00039384 addiu a1, v1, -0xa            |         a1 = v1 + -0xa;
                                             |         if (a1 != 0) {
    0x00039388 bnez a1, 0x394b8              |             goto label_3;
                                             |         }
    0x0003938c addiu a1, v1, -0x7f           |         a1 = v1 + -0x7f;
    0x00039390 sltiu a1, a1, 0x21            |         a1 = (a1 < 0x21) ? 1 : 0;
    0x00039394 addiu a0, a0, 4               |         a0 += 4;
                                             |         if (a1 != 0) {
    0x00039398 bnel a1, zero, 0x393b8        |             
                                             |             if (v1 == s4) {
    0x0003939c beql v1, s4, 0x393b8          |                 goto label_1;
                                             |             }
    0x000393a0 addiu a0, a0, 4               |             a0 += 4;
                                             |             if (s4 == 0) {
    0x000393a4 beql s4, zero, 0x393b8        |                 goto label_1;
                                             |             }
    0x000393a8 addiu a0, a0, 1               |             a0++;
                                             |             if (v1 == a2) {
    0x000393ac beql v1, a2, 0x393b8          |                 goto label_1;
                                             |             }
    0x000393b0 addiu a0, a0, 4               |             a0 += 4;
    0x000393b4 addiu a0, a0, 1               |             a0++;
                                             |         }
                                             | label_1:
    0x000393b8 addiu v0, v0, 1               |         v0++;
    0x000393bc lbu v1, (v0)                  |         v1 = *(v0);
    0x000393c0 bnel s2, v0, 0x39380          |         
                                             |     } while (s2 == v0);
    0x000393c4 lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x000393c8 addiu s5, zero, 0x5c          |     s5 = 0x5c;
    0x000393cc bal 0x3cb1c                   |     sym_xmalloc ();
    0x000393d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000393d4 move fp, v0                   |     fp = v0;
    0x000393d8 move s1, v0                   |     s1 = v0;
    0x000393dc lw s7, -0x7d90(gp)            |     s7 = *((gp - 8036));
    0x000393e0 addiu s3, zero, 0xa           |     s3 = 0xa;
    0x000393e4 addiu s6, zero, 0xd           |     s6 = 0xd;
                                             |     /* str.x_02x */
    0x000393e8 addiu s7, s7, -0x7dec         |     s7 += -0x7dec;
    0x000393ec lbu v0, (s0)                  |     v0 = *(s0);
                                             |     do {
    0x000393f0 sltiu v1, v0, 0x20            |         v1 = (v0 < 0x20) ? 1 : 0;
    0x000393f4 sb s5, (s1)                   |         *(s1) = s5;
                                             |         if (v1 == 0) {
    0x000393f8 bnel v1, zero, 0x39474        |             goto label_4;
                                             |         }
    0x000393fc addiu v1, v0, -0x7f           |         v1 = v0 + -0x7f;
    0x00039400 sltiu v1, v1, 0x21            |         v1 = (v1 < 0x21) ? 1 : 0;
    0x00039404 sb s5, (s1)                   |         *(s1) = s5;
                                             |         if (v1 == 0) {
    0x00039408 bnel v1, zero, 0x39474        |             goto label_4;
                                             |         }
                                             |         if (v0 == s4) {
    0x0003940c beql v0, s4, 0x39474          |             goto label_4;
                                             |         }
    0x00039410 sb s5, (s1)                   |         *(s1) = s5;
                                             |         if (s4 != 0) {
    0x00039414 beql s4, zero, 0x3942c        |             
    0x00039418 sb v0, (s1)                   |             *(s1) = v0;
    0x0003941c addiu v1, zero, 0x5c          |             v1 = 0x5c;
                                             |             if (v0 == v1) {
    0x00039420 beql v0, v1, 0x39474          |                 goto label_4;
                                             |             }
    0x00039424 sb s5, (s1)                   |             *(s1) = s5;
    0x00039428 sb v0, (s1)                   |             *(s1) = v0;
                                             |         }
    0x0003942c addiu s1, s1, 1               |         s1++;
                                             | label_0:
    0x00039430 addiu s0, s0, 1               |         s0++;
    0x00039434 lbu v0, (s0)                  |         v0 = *(s0);
    0x00039438 bnel s2, s0, 0x393f0          |         
                                             |     } while (s2 == s0);
    0x0003943c sb zero, (s1)                 |     *(s1) = 0;
    0x00039440 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x00039444 move v0, fp                   |     v0 = fp;
    0x00039448 lw s7, 0x3c(sp)               |     s7 = *(var_3ch);
    0x0003944c lw fp, 0x40(sp)               |     fp = *(var_40h);
    0x00039450 lw s6, 0x38(sp)               |     s6 = *(var_38h);
    0x00039454 lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x00039458 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x0003945c lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x00039460 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x00039464 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00039468 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0003946c addiu sp, sp, 0x48            |     
    0x00039470 jr ra                         |     return v0;
                                             | label_4:
    0x00039474 lbu v0, (s0)                  |     v0 = *(s0);
                                             |     if (v0 != s3) {
    0x00039478 beql v0, s3, 0x394cc          |         
    0x0003947c addiu v0, zero, 0x6e          |         v0 = 0x6e;
    0x00039480 addiu v1, zero, 0xc           |         v1 = 0xc;
                                             |         if (v0 == s6) {
    0x00039484 beq v0, s6, 0x394d8           |             goto label_5;
                                             |         }
    0x00039488 addiu v1, zero, 0xb           |         v1 = 0xb;
                                             |         if (v0 == v1) {
    0x0003948c beq v0, v1, 0x394e8           |             goto label_6;
                                             |         }
    0x00039490 addiu v1, zero, 8             |         v1 = 8;
                                             |         if (v0 == v1) {
    0x00039494 beq v0, v1, 0x394f8           |             goto label_7;
                                             |         }
                                             |         if (v0 == v1) {
    0x00039498 beql v0, v1, 0x39518          |             goto label_8;
                                             |         }
    0x0003949c addiu v0, zero, 0x62          |         v0 = 0x62;
    0x000394a0 lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
                                             |         if (v0 != 0) {
    0x000394a4 bnez v0, 0x39524              |             goto label_9;
                                             |         }
    0x000394a8 addiu v0, zero, 0x30          |         v0 = 0x30;
    0x000394ac sb v0, 1(s1)                  |         *((s1 + 1)) = v0;
    0x000394b0 addiu s1, s1, 2               |         s1 += 2;
    0x000394b4 b 0x39430                     |         goto label_0;
                                             | label_3:
    0x000394b8 sltiu a1, a1, 4               |         a1 = (a1 < 4) ? 1 : 0;
                                             |         if (a1 == 0) {
    0x000394bc beql a1, zero, 0x39508        |             goto label_10;
                                             |         }
    0x000394c0 and v1, v1, a3                |         v1 &= a3;
    0x000394c4 addiu a0, a0, 2               |         a0 += 2;
    0x000394c8 b 0x393b8                     |         goto label_1;
                                             |     }
    0x000394cc sb v0, 1(s1)                  |     *((s1 + 1)) = v0;
    0x000394d0 addiu s1, s1, 2               |     s1 += 2;
    0x000394d4 b 0x39430                     |     goto label_0;
                                             | label_5:
    0x000394d8 addiu v0, zero, 0x72          |     v0 = 0x72;
    0x000394dc sb v0, 1(s1)                  |     *((s1 + 1)) = v0;
    0x000394e0 addiu s1, s1, 2               |     s1 += 2;
    0x000394e4 b 0x39430                     |     goto label_0;
                                             | label_6:
    0x000394e8 addiu v0, zero, 0x66          |     v0 = 0x66;
    0x000394ec sb v0, 1(s1)                  |     *((s1 + 1)) = v0;
    0x000394f0 addiu s1, s1, 2               |     s1 += 2;
    0x000394f4 b 0x39430                     |     goto label_0;
                                             | label_7:
    0x000394f8 addiu v0, zero, 0x76          |     v0 = 0x76;
    0x000394fc sb v0, 1(s1)                  |     *((s1 + 1)) = v0;
    0x00039500 addiu s1, s1, 2               |     s1 += 2;
    0x00039504 b 0x39430                     |     goto label_0;
                                             |     if (v1 == 0) {
                                             | label_10:
    0x00039508 beql v1, zero, 0x393b8        |         goto label_1;
                                             |     }
    0x0003950c addiu a0, a0, 2               |     a0 += 2;
    0x00039510 addiu a0, a0, 4               |     a0 += 4;
    0x00039514 b 0x393b8                     |     goto label_1;
                                             | label_8:
    0x00039518 sb v0, 1(s1)                  |     *((s1 + 1)) = v0;
    0x0003951c addiu s1, s1, 2               |     s1 += 2;
    0x00039520 b 0x39430                     |     goto label_0;
                                             | label_9:
    0x00039524 addiu a0, s1, 1               |     a0 = s1 + 1;
    0x00039528 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0003952c move a3, s7                   |     a3 = s7;
    0x00039530 addiu a2, zero, -1            |     a2 = -1;
    0x00039534 addiu a1, zero, 1             |     a1 = 1;
    0x00039538 jalr t9                       |     t9 ();
    0x0003953c addiu s1, s1, 4               |     s1 += 4;
    0x00039540 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00039544 b 0x39430                     |     goto label_0;
                                             | label_2:
    0x00039548 lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x0003954c addiu a0, zero, 1             |     a0 = 1;
    0x00039550 bal 0x3cb1c                   |     sym_xmalloc ();
    0x00039554 move s1, v0                   |     s1 = v0;
    0x00039558 move fp, v0                   |     fp = v0;
    0x0003955c sb zero, (s1)                 |     *(s1) = 0;
    0x00039560 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x00039564 move v0, fp                   |     v0 = fp;
    0x00039568 lw s7, 0x3c(sp)               |     s7 = *(var_3ch);
    0x0003956c lw fp, 0x40(sp)               |     fp = *(var_40h);
    0x00039570 lw s6, 0x38(sp)               |     s6 = *(var_38h);
    0x00039574 lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x00039578 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x0003957c lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x00039580 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x00039584 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00039588 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0003958c addiu sp, sp, 0x48            |     
    0x00039590 jr ra                         |     return v0;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x284b8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.md_start_debug ()        | void md_start_debug () {
    0x000284b8 lui gp, 4                 |     
    0x000284bc addiu gp, gp, -0x6388     |     
    0x000284c0 addu gp, gp, t9           |     gp += t9;
    0x000284c4 addiu sp, sp, -0x50       |     
    0x000284c8 lw v0, 4(a0)              |     v0 = *((a0 + 1));
    0x000284cc sw s0, 0x40(sp)           |     *(var_40h) = s0;
    0x000284d0 lw s0, -0x781c(gp)        |     s0 = *((gp - 7687));
    0x000284d4 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x000284d8 sw ra, 0x4c(sp)           |     *(var_4ch) = ra;
    0x000284dc lw v1, (s0)               |     v1 = *(s0);
    0x000284e0 sw s2, 0x48(sp)           |     *(var_48h) = s2;
    0x000284e4 sw s1, 0x44(sp)           |     *(var_44h) = s1;
    0x000284e8 sw v1, 0x3c(sp)           |     *(var_3ch) = v1;
    0x000284ec lw t9, -0x7f5c(gp)        |     t9 = sym.g10_log_debug;
                                         |     if (v0 == 0) {
    0x000284f0 beqz v0, 0x28528          |         goto label_1;
                                         |     }
    0x000284f4 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
                                         |     /* str.Oops:_md_debug_already_started_n */
    0x000284f8 addiu a0, a0, 0x77e8      |     a0 += 0x77e8;
    0x000284fc bal 0x388a0               |     sym_g10_log_debug ();
    0x00028500 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     do {
                                         | label_0:
    0x00028504 lw v1, 0x3c(sp)           |         v1 = *(var_3ch);
    0x00028508 lw v0, (s0)               |         v0 = *(s0);
    0x0002850c lw ra, 0x4c(sp)           |         ra = *(var_4ch);
                                         |         if (v1 != v0) {
    0x00028510 bne v1, v0, 0x285a8       |             goto label_2;
                                         |         }
    0x00028514 lw s2, 0x48(sp)           |         s2 = *(var_48h);
    0x00028518 lw s1, 0x44(sp)           |         s1 = *(var_44h);
    0x0002851c lw s0, 0x40(sp)           |         s0 = *(var_40h);
    0x00028520 addiu sp, sp, 0x50        |         
    0x00028524 jr ra                     |         return v0;
                                         | label_1:
    0x00028528 lw v1, -0x7fb4(gp)        |         v1 = *((gp - 8173));
    0x0002852c lw a3, -0x7fdc(gp)        |         a3 = *(gp);
    0x00028530 move t0, a1               |         t0 = a1;
    0x00028534 lw v0, -0x4a24(v1)        |         v0 = *((v1 - 4745));
    0x00028538 lw t9, -0x794c(gp)        |         t9 = sym.imp.__sprintf_chk
    0x0002853c addiu v0, v0, 1           |         v0++;
    0x00028540 addiu s2, sp, 0x20        |         s2 = sp + 0x20;
    0x00028544 move s1, a0               |         s1 = a0;
                                         |         /* str.dbgmd__05d._.10s */
    0x00028548 addiu a3, a3, 0x7808      |         a3 += 0x7808;
    0x0002854c addiu a2, zero, 0x19      |         a2 = 0x19;
    0x00028550 addiu a1, zero, 1         |         a1 = 1;
    0x00028554 move a0, s2               |         a0 = s2;
    0x00028558 sw t0, 0x14(sp)           |         *(var_14h) = t0;
    0x0002855c sw v0, -0x4a24(v1)        |         *((v1 - 4745)) = v0;
    0x00028560 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x00028564 jalr t9                   |         t9 ();
    0x00028568 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x0002856c move a0, s2               |         a0 = s2;
    0x00028570 lw a1, -0x7fdc(gp)        |         a1 = *(gp);
    0x00028574 lw t9, -0x7918(gp)        |         t9 = sym.imp.fopen64;
                                         |         /* esilref: 'wb' */
    0x00028578 addiu a1, a1, 0x6d74      |         a1 += 0x6d74;
    0x0002857c jalr t9                   |         t9 ();
    0x00028580 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00028584 sw v0, 4(s1)              |         *((s1 + 1)) = v0;
    0x00028588 bnez v0, 0x28504          |         
                                         |     } while (v0 != 0);
    0x0002858c lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x00028590 lw t9, -0x7f5c(gp)        |     t9 = sym.g10_log_debug;
    0x00028594 move a1, s2               |     a1 = s2;
                                         |     /* str.md_debug:_cant_open__s_n */
    0x00028598 addiu a0, a0, 0x781c      |     a0 += 0x781c;
    0x0002859c bal 0x388a0               |     sym_g10_log_debug ();
    0x000285a0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000285a4 b 0x28504                 |     goto label_0;
                                         | label_2:
    0x000285a8 lw t9, -0x7834(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000285ac jalr t9                   |     t9 ();
    0x000285b0 nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x17d78 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.progress_filter ()           | void progress_filter () {
    0x00017d78 lui gp, 5                     |     
    0x00017d7c addiu gp, gp, -0x5c48         |     
    0x00017d80 addu gp, gp, t9               |     gp += t9;
    0x00017d84 addiu sp, sp, -0x80           |     
    0x00017d88 addiu v0, zero, 1             |     v0 = 1;
    0x00017d8c sw s1, 0x6c(sp)               |     *(var_6ch) = s1;
    0x00017d90 lw s1, -0x781c(gp)            |     s1 = *((gp - 7687));
    0x00017d94 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00017d98 sw s3, 0x74(sp)               |     *(var_74h) = s3;
    0x00017d9c lw v1, (s1)                   |     v1 = *(s1);
    0x00017da0 sw s0, 0x68(sp)               |     *(var_68h) = s0;
    0x00017da4 sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x00017da8 sw s4, 0x78(sp)               |     *(var_78h) = s4;
    0x00017dac sw s2, 0x70(sp)               |     *(var_70h) = s2;
    0x00017db0 move s0, a0                   |     s0 = a0;
    0x00017db4 lw s3, 0x90(sp)               |     s3 = *(var_10h);
    0x00017db8 sw v1, 0x64(sp)               |     *(var_64h) = v1;
    0x00017dbc addiu v0, zero, 3             |     v0 = 3;
                                             |     if (a1 == v0) {
    0x00017dc0 beq a1, v0, 0x17e10           |         goto label_5;
                                             |     }
    0x00017dc4 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (a1 == v0) {
    0x00017dc8 beq a1, v0, 0x17ea0           |         goto label_6;
                                             |     }
    0x00017dcc lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
                                             |     if (a1 == v0) {
    0x00017dd0 beq a1, v0, 0x17f64           |         goto label_7;
                                             |     }
    0x00017dd4 addiu v0, zero, 5             |     v0 = 5;
    0x00017dd8 move s2, zero                 |     s2 = 0;
                                             |     if (a1 == v0) {
    0x00017ddc beq a1, v0, 0x17e84           |         goto label_8;
                                             |     }
                                             |     do {
                                             | label_0:
    0x00017de0 lw a0, 0x64(sp)               |         a0 = *(var_64h);
    0x00017de4 lw v1, (s1)                   |         v1 = *(s1);
    0x00017de8 move v0, s2                   |         v0 = s2;
                                             |         if (a0 != v1) {
    0x00017dec bne a0, v1, 0x17fb0           |             goto label_9;
                                             |         }
    0x00017df0 lw ra, 0x7c(sp)               |         ra = *(var_7ch);
    0x00017df4 lw s4, 0x78(sp)               |         s4 = *(var_78h);
    0x00017df8 lw s3, 0x74(sp)               |         s3 = *(var_74h);
    0x00017dfc lw s2, 0x70(sp)               |         s2 = *(var_70h);
    0x00017e00 lw s1, 0x6c(sp)               |         s1 = *(var_6ch);
    0x00017e04 lw s0, 0x68(sp)               |         s0 = *(var_68h);
    0x00017e08 addiu sp, sp, 0x80            |         
    0x00017e0c jr ra                         |         return v0;
                                             | label_5:
    0x00017e10 lw t9, -0x7ea0(gp)            |         t9 = sym.make_timestamp;
    0x00017e14 sw zero, 8(a0)                |         *((a0 + 2)) = 0;
    0x00017e18 sw zero, 0xc(a0)              |         *((a0 + 3)) = 0;
    0x00017e1c jalr t9                       |         t9 ();
    0x00017e20 lw v1, (s0)                   |         v1 = *(s0);
    0x00017e24 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00017e28 sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
                                             |         if (v1 == 0) {
    0x00017e2c beqz v1, 0x17e94              |             goto label_10;
                                             |         }
                                             | label_1:
    0x00017e30 lw t0, 0x10(s0)               |         t0 = *((s0 + 4));
    0x00017e34 lw v0, 0xc(s0)                |         v0 = *((s0 + 3));
    0x00017e38 lw a3, -0x7fdc(gp)            |         a3 = *(gp);
    0x00017e3c lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x00017e40 addiu s0, sp, 0x30            |         s0 = sp + 0x30;
                                             |         /* str._.20s____lu__lu */
    0x00017e44 addiu a3, a3, 0x4ea4          |         a3 += 0x4ea4;
    0x00017e48 addiu a2, zero, 0x32          |         a2 = 0x32;
    0x00017e4c addiu a1, zero, 1             |         a1 = 1;
    0x00017e50 move a0, s0                   |         a0 = s0;
    0x00017e54 sw t0, 0x18(sp)               |         *(var_18h) = t0;
    0x00017e58 sw v1, 0x10(sp)               |         *(var_10h_2) = v1;
    0x00017e5c sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00017e60 jalr t9                       |         t9 ();
    0x00017e64 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00017e68 move a1, s0                   |         a1 = s0;
    0x00017e6c addiu a0, zero, 0x32          |         a0 = 0x32;
    0x00017e70 lw t9, -0x7d80(gp)            |         t9 = sym.write_status_text;
    0x00017e74 move s2, zero                 |         s2 = 0;
    0x00017e78 bal 0x21b8c                   |         sym_write_status_text ();
    0x00017e7c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00017e80 b 0x17de0                     |         
                                             |     } while (1);
                                             | label_8:
    0x00017e84 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     /* str.progress_filter */
    0x00017e88 addiu v0, v0, 0x4eb4          |     v0 += 0x4eb4;
    0x00017e8c sw v0, (a3)                   |     *(a3) = v0;
    0x00017e90 b 0x17de0                     |     goto label_0;
                                             | label_10:
    0x00017e94 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00017e98 addiu v1, v1, 0x239c          |     v1 += 0x239c;
    0x00017e9c b 0x17e30                     |     goto label_1;
                                             | label_6:
    0x00017ea0 lw t9, -0x7ea0(gp)            |     t9 = sym.make_timestamp;
    0x00017ea4 sw a3, 0x2c(sp)               |     *(var_2ch_3) = a3;
    0x00017ea8 move s2, a2                   |     s2 = a2;
    0x00017eac jalr t9                       |     t9 ();
    0x00017eb0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017eb4 lw a3, 0x2c(sp)               |     a3 = *(var_2ch_3);
    0x00017eb8 lw a2, (s3)                   |     a2 = *(s3);
    0x00017ebc lw t9, -0x7f64(gp)            |     t9 = sym.iobuf_read;
    0x00017ec0 move a0, s2                   |     a0 = s2;
    0x00017ec4 move a1, a3                   |     a1 = a3;
    0x00017ec8 move s4, v0                   |     s4 = v0;
    0x00017ecc jalr t9                       |     t9 ();
    0x00017ed0 move s2, v0                   |     s2 = v0;
    0x00017ed4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x00017ed8 bltz v0, 0x17f7c              |         goto label_11;
                                             |     }
    0x00017edc lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x00017ee0 addu v0, v0, s2               |     v0 += s2;
    0x00017ee4 sw v0, 0xc(s0)                |     *((s0 + 3)) = v0;
    0x00017ee8 sw s2, (s3)                   |     *(s3) = s2;
    0x00017eec move s2, zero                 |     s2 = 0;
                                             | label_4:
    0x00017ef0 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
                                             |     if (v0 == s4) {
                                             | label_2:
    0x00017ef4 beq v0, s4, 0x17de0           |         goto label_0;
                                             |     }
    0x00017ef8 nop                           |     
    0x00017efc lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
    0x00017f00 lw v0, (s0)                   |     v0 = *(s0);
                                             |     if (v0 == 0) {
                                             |         do {
    0x00017f04 beql v0, zero, 0x17fa0        |             goto label_12;
                                             |         }
    0x00017f08 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             | label_3:
    0x00017f0c lw t0, 0x10(s0)               |         t0 = *((s0 + 4));
    0x00017f10 lw a3, -0x7fdc(gp)            |         a3 = *(gp);
    0x00017f14 lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x00017f18 addiu s3, sp, 0x30            |         s3 = sp + 0x30;
                                             |         /* str._.20s____lu__lu */
    0x00017f1c addiu a3, a3, 0x4ea4          |         a3 += 0x4ea4;
    0x00017f20 addiu a2, zero, 0x32          |         a2 = 0x32;
    0x00017f24 addiu a1, zero, 1             |         a1 = 1;
    0x00017f28 move a0, s3                   |         a0 = s3;
    0x00017f2c sw t0, 0x18(sp)               |         *(var_18h) = t0;
    0x00017f30 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00017f34 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x00017f38 jalr t9                       |         t9 ();
    0x00017f3c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00017f40 move a1, s3                   |         a1 = s3;
    0x00017f44 lw t9, -0x7d80(gp)            |         t9 = sym.write_status_text;
    0x00017f48 addiu a0, zero, 0x32          |         a0 = 0x32;
    0x00017f4c bal 0x21b8c                   |         sym_write_status_text ();
    0x00017f50 lw v0, 0xc(s0)                |         v0 = *((s0 + 3));
    0x00017f54 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00017f58 sw s4, 4(s0)                  |         *((s0 + 1)) = s4;
    0x00017f5c sw v0, 8(s0)                  |         *((s0 + 2)) = v0;
    0x00017f60 b 0x17de0                     |         goto label_0;
                                             | label_7:
    0x00017f64 lw a0, (a0)                   |         a0 = *(a0);
    0x00017f68 move s2, zero                 |         s2 = 0;
    0x00017f6c jalr t9                       |         t9 ();
    0x00017f70 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00017f74 sw zero, (s0)                 |         *(s0) = 0;
    0x00017f78 b 0x17de0                     |         goto label_0;
                                             | label_11:
    0x00017f7c addiu v0, zero, -1            |         v0 = -1;
    0x00017f80 sw zero, (s3)                 |         *(s3) = 0;
                                             |         if (s2 != v0) {
    0x00017f84 bne s2, v0, 0x17fa8           |             goto label_13;
                                             |         }
    0x00017f88 lw v1, 0xc(s0)                |         v1 = *((s0 + 3));
    0x00017f8c lw v0, 8(s0)                  |         v0 = *((s0 + 2));
    0x00017f90 lw v0, (s0)                   |         v0 = *(s0);
    0x00017f94 bnel v1, v0, 0x17f04          |         
                                             |     } while (v1 == v0);
    0x00017f98 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x00017f9c b 0x17ef4                     |     goto label_2;
                                             | label_12:
    0x00017fa0 addiu v0, v0, 0x239c          |     v0 += 0x239c;
    0x00017fa4 b 0x17f0c                     |     goto label_3;
                                             | label_13:
    0x00017fa8 addiu s2, zero, -1            |     s2 = -1;
    0x00017fac b 0x17ef0                     |     goto label_4;
                                             | label_9:
    0x00017fb0 lw t9, -0x7834(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00017fb4 jalr t9                       |     t9 ();
    0x00017fb8 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x25be0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.show_keyserver_url ()        | void show_keyserver_url () {
    0x00025be0 lui gp, 4                     |     
    0x00025be4 addiu gp, gp, -0x3ab0         |     
    0x00025be8 addu gp, gp, t9               |     gp += t9;
    0x00025bec lw v0, -0x781c(gp)            |     v0 = *((gp - 7687));
    0x00025bf0 addiu sp, sp, -0xa8           |     
    0x00025bf4 sw v0, 0x38(sp)               |     *(var_38h_2) = v0;
    0x00025bf8 lw v0, (v0)                   |     v0 = *(v0);
    0x00025bfc sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00025c00 sw s5, 0x94(sp)               |     *(var_94h) = s5;
    0x00025c04 sw s3, 0x8c(sp)               |     *(var_8ch) = s3;
    0x00025c08 sw s0, 0x80(sp)               |     *(var_80h) = s0;
    0x00025c0c sw ra, 0xa4(sp)               |     *(var_a4h) = ra;
    0x00025c10 sw fp, 0xa0(sp)               |     *(var_a0h) = fp;
    0x00025c14 sw s7, 0x9c(sp)               |     *(var_9ch) = s7;
    0x00025c18 sw s6, 0x98(sp)               |     *(var_98h) = s6;
    0x00025c1c sw s4, 0x90(sp)               |     *(var_90h) = s4;
    0x00025c20 sw s2, 0x88(sp)               |     *(var_88h) = s2;
    0x00025c24 sw s1, 0x84(sp)               |     *(var_84h) = s1;
    0x00025c28 move s3, a2                   |     s3 = a2;
    0x00025c2c move s5, a0                   |     s5 = a0;
    0x00025c30 move s0, a1                   |     s0 = a1;
    0x00025c34 sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
    0x00025c38 sw zero, 0x4c(sp)             |     *(var_4ch_2) = 0;
                                             |     if (a2 != 0) {
    0x00025c3c bnez a2, 0x25e58              |         goto label_3;
                                             |     }
    0x00025c40 lw v0, -0x78e0(gp)            |     v0 = *((gp - 7736));
    0x00025c44 lw v0, (v0)                   |     v0 = *(v0);
    0x00025c48 sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
                                             | label_2:
    0x00025c4c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00025c50 lw s1, -0x78e0(gp)            |     s1 = *((gp - 7736));
                                             |     /* str.Critical_preferred_keyserver:_ */
    0x00025c54 addiu v0, v0, 0x7444          |     v0 += 0x7444;
    0x00025c58 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x00025c5c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00025c60 addiu fp, sp, 0x4c            |     fp = sp + 0x4c;
                                             |     /* str.Preferred_keyserver:_ */
    0x00025c64 addiu v0, v0, 0x7464          |     v0 += 0x7464;
    0x00025c68 sw v0, 0x30(sp)               |     *(var_30h_3) = v0;
    0x00025c6c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00025c70 addiu s7, sp, 0x48            |     s7 = sp + 0x48;
    0x00025c74 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x00025c78 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00025c7c addiu s4, sp, 0x50            |     s4 = sp + 0x50;
                                             |     /* str._d__u__u_ */
    0x00025c80 addiu v0, v0, 0x747c          |     v0 += 0x747c;
    0x00025c84 sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
                                             |     do {
                                             | label_0:
    0x00025c88 lw t9, -0x7f34(gp)            |         t9 = sym.enum_sig_subpkt;
    0x00025c8c lw a0, 0x2c(s5)               |         a0 = *((s5 + 11));
    0x00025c90 move a3, fp                   |         a3 = fp;
    0x00025c94 sw s4, 0x10(sp)               |         *(var_10h_2) = s4;
    0x00025c98 move a2, s7                   |         a2 = s7;
    0x00025c9c addiu a1, zero, 0x18          |         a1 = 0x18;
    0x00025ca0 bal 0x1c758                   |         sym_enum_sig_subpkt ();
    0x00025ca4 move s2, v0                   |         s2 = v0;
    0x00025ca8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00025cac beqz v0, 0x25e18              |             goto label_4;
                                             |         }
    0x00025cb0 addiu v0, zero, 2             |         v0 = 2;
                                             |         if (s3 != v0) {
    0x00025cb4 bne s3, v0, 0x25d40           |             goto label_5;
                                             |         }
    0x00025cb8 nop                           |         
                                             | label_1:
    0x00025cbc lw v0, 0x50(sp)               |         v0 = *(var_50h_2);
    0x00025cc0 lw v1, 0x48(sp)               |         v1 = *(var_48h_2);
    0x00025cc4 addiu a2, zero, 3             |         a2 = 3;
    0x00025cc8 addiu a1, zero, 1             |         a1 = 1;
                                             |         if (v0 == 0) {
    0x00025ccc movn a1, a2, v0               |             a1 = a2;
                                             |         }
    0x00025cd0 sltiu a0, v1, 0x101           |         a0 = (v1 < 0x101) ? 1 : 0;
    0x00025cd4 move v0, a1                   |         v0 = a1;
    0x00025cd8 beqz a0, 0x25c88              |         
                                             |     } while (a0 == 0);
    0x00025cdc lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x00025ce0 addiu t2, sp, 0x54            |     t2 = sp + 0x54;
    0x00025ce4 lw a3, 0x3c(sp)               |     a3 = *(var_3ch_2);
    0x00025ce8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00025cec addiu v0, zero, 0x18          |     v0 = 0x18;
    0x00025cf0 move a0, t2                   |     a0 = t2;
    0x00025cf4 addiu a2, zero, 0x28          |     a2 = 0x28;
    0x00025cf8 addiu a1, zero, 1             |     a1 = 1;
    0x00025cfc sw t2, 0x44(sp)               |     *(var_44h_4) = t2;
    0x00025d00 sw v1, 0x18(sp)               |     *(var_18h_3) = v1;
    0x00025d04 sw v1, 0x40(sp)               |     *(var_40h_4) = v1;
    0x00025d08 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00025d0c jalr t9                       |     t9 ();
    0x00025d10 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00025d14 lw v1, 0x40(sp)               |     v1 = *(var_40h_4);
    0x00025d18 lw t2, 0x44(sp)               |     t2 = *(var_44h_4);
    0x00025d1c lw t9, -0x7c9c(gp)            |     t9 = sym.write_status_text_and_buffer;
    0x00025d20 sw zero, 0x10(sp)             |     *(var_10h_2) = 0;
    0x00025d24 move a3, v1                   |     a3 = v1;
    0x00025d28 move a2, s2                   |     a2 = s2;
    0x00025d2c move a1, t2                   |     a1 = t2;
    0x00025d30 addiu a0, zero, 0x4d          |     a0 = 0x4d;
    0x00025d34 bal 0x22334                   |     sym_write_status_text_and_buffer ();
    0x00025d38 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00025d3c b 0x25c88                     |     goto label_0;
                                             | label_5:
    0x00025d40 lw a1, 0x50(sp)               |     a1 = *(var_50h_2);
                                             |     if (s0 <= 0) {
    0x00025d44 blez s0, 0x25d6c              |         goto label_6;
                                             |     }
    0x00025d48 move s6, zero                 |     s6 = 0;
                                             |     do {
    0x00025d4c lw t9, -0x7840(gp)            |         t9 = sym.imp._IO_putc;
    0x00025d50 lw a1, (s1)                   |         a1 = *(s1);
    0x00025d54 addiu a0, zero, 0x20          |         a0 = 0x20;
    0x00025d58 addiu s6, s6, 1               |         s6++;
    0x00025d5c jalr t9                       |         t9 ();
    0x00025d60 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00025d64 bne s0, s6, 0x25d4c           |         
                                             |     } while (s0 != s6);
    0x00025d68 lw a1, 0x50(sp)               |     a1 = *(var_50h_2);
                                             | label_6:
    0x00025d6c lw v0, 0x30(sp)               |     v0 = *(var_30h_3);
    0x00025d70 lw v1, 0x2c(sp)               |     v1 = *(var_2ch_2);
                                             |     if (a1 == 0) {
    0x00025d74 movn v0, v1, a1               |         v0 = v1;
                                             |     }
    0x00025d78 move a1, v0                   |     a1 = v0;
                                             |     if (s3 != 0) {
    0x00025d7c beqz s3, 0x25dc8              |         
    0x00025d80 lw v0, 0x34(sp)               |         v0 = *(var_34h_2);
    0x00025d84 lw t9, -0x7f30(gp)            |         t9 = sym.g10_log_info;
    0x00025d88 addiu a0, v0, 0x586c          |         a0 = v0 + aav.0x0000586c;
    0x00025d8c bal 0x384ac                   |         sym_g10_log_info ();
    0x00025d90 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00025d94 lw s6, 0x28(sp)               |         s6 = *(var_28h_2);
    0x00025d98 lw a2, 0x48(sp)               |         a2 = *(var_48h_2);
    0x00025d9c lw t9, -0x7d04(gp)            |         t9 = sym.print_utf8_string;
    0x00025da0 move a1, s2                   |         a1 = s2;
    0x00025da4 move a0, s6                   |         a0 = s6;
    0x00025da8 bal 0x39308                   |         sym_print_utf8_string ();
    0x00025dac lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00025db0 move a1, s6                   |         a1 = s6;
    0x00025db4 lw t9, -0x7904(gp)            |         t9 = sym.imp.fputc;
    0x00025db8 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x00025dbc jalr t9                       |         t9 ();
    0x00025dc0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00025dc4 b 0x25cbc                     |         goto label_1;
                                             |     }
    0x00025dc8 move a2, v0                   |     a2 = v0;
    0x00025dcc lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
    0x00025dd0 lw t9, -0x78e4(gp)            |     t9 = sym.imp.__printf_chk;
    0x00025dd4 addiu a1, v0, 0x586c          |     a1 = v0 + aav.0x0000586c;
    0x00025dd8 addiu a0, zero, 1             |     a0 = 1;
    0x00025ddc jalr t9                       |     t9 ();
    0x00025de0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00025de4 move a1, s2                   |     a1 = s2;
    0x00025de8 lw s2, 0x28(sp)               |     s2 = *(var_28h_2);
    0x00025dec lw a2, 0x48(sp)               |     a2 = *(var_48h_2);
    0x00025df0 lw t9, -0x7d04(gp)            |     t9 = sym.print_utf8_string;
    0x00025df4 move a0, s2                   |     a0 = s2;
    0x00025df8 bal 0x39308                   |     sym_print_utf8_string ();
    0x00025dfc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00025e00 move a1, s2                   |     a1 = s2;
    0x00025e04 lw t9, -0x7904(gp)            |     t9 = sym.imp.fputc;
    0x00025e08 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00025e0c jalr t9                       |     t9 ();
    0x00025e10 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00025e14 b 0x25c88                     |     goto label_0;
                                             | label_4:
    0x00025e18 lw v0, 0x38(sp)               |     v0 = *(var_38h_2);
    0x00025e1c lw v1, 0x7c(sp)               |     v1 = *(var_7ch);
    0x00025e20 lw v0, (v0)                   |     v0 = *(v0);
    0x00025e24 lw ra, 0xa4(sp)               |     ra = *(var_a4h);
                                             |     if (v1 == v0) {
    0x00025e28 bne v1, v0, 0x25e70           |         
    0x00025e2c lw fp, 0xa0(sp)               |         fp = *(var_a0h);
    0x00025e30 lw s7, 0x9c(sp)               |         s7 = *(var_9ch);
    0x00025e34 lw s6, 0x98(sp)               |         s6 = *(var_98h);
    0x00025e38 lw s5, 0x94(sp)               |         s5 = *(var_94h);
    0x00025e3c lw s4, 0x90(sp)               |         s4 = *(var_90h);
    0x00025e40 lw s3, 0x8c(sp)               |         s3 = *(var_8ch);
    0x00025e44 lw s2, 0x88(sp)               |         s2 = *(var_88h);
    0x00025e48 lw s1, 0x84(sp)               |         s1 = *(var_84h);
    0x00025e4c lw s0, 0x80(sp)               |         s0 = *(var_80h);
    0x00025e50 addiu sp, sp, 0xa8            |         
    0x00025e54 jr ra                         |         return v0;
                                             | label_3:
    0x00025e58 lw t9, -0x7d40(gp)            |         t9 = sym.log_stream;
    0x00025e5c bal 0x382e4                   |         sym_log_stream ();
    0x00025e60 nop                           |         
    0x00025e64 sw v0, 0x28(sp)               |         *(var_28h_2) = v0;
    0x00025e68 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00025e6c b 0x25c4c                     |         goto label_2;
                                             |     }
    0x00025e70 lw t9, -0x7834(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00025e74 jalr t9                       |     t9 ();
    0x00025e78 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x24644 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.signature_check2 ()          | void signature_check2 () {
    0x00024644 lui gp, 4                     |     
    0x00024648 addiu gp, gp, -0x2514         |     
    0x0002464c addu gp, gp, t9               |     gp += t9;
    0x00024650 addiu sp, sp, -0x58           |     
    0x00024654 lw t9, -0x7f2c(gp)            |     t9 = sym.xmalloc_clear;
    0x00024658 sw s2, 0x38(sp)               |     *(var_38h_5) = s2;
    0x0002465c lw s2, -0x781c(gp)            |     s2 = *((gp - 7687));
    0x00024660 sw gp, 0x20(sp)               |     *(var_20h_3) = gp;
    0x00024664 sw ra, 0x54(sp)               |     *(var_54h_3) = ra;
    0x00024668 lw v0, (s2)                   |     v0 = *(s2);
    0x0002466c sw fp, 0x50(sp)               |     *(var_50h_3) = fp;
    0x00024670 sw s7, 0x4c(sp)               |     *(var_4ch_4) = s7;
    0x00024674 sw s6, 0x48(sp)               |     *(var_48h_4) = s6;
    0x00024678 sw s5, 0x44(sp)               |     *(var_44h_5) = s5;
    0x0002467c sw s4, 0x40(sp)               |     *(var_40h_5) = s4;
    0x00024680 sw s3, 0x3c(sp)               |     *(var_3ch_5) = s3;
    0x00024684 sw s1, 0x34(sp)               |     *(var_34h_5) = s1;
    0x00024688 sw s0, 0x30(sp)               |     *(var_30h_4) = s0;
    0x0002468c move s1, a0                   |     s1 = a0;
    0x00024690 sw v0, 0x2c(sp)               |     *(var_2ch_4) = v0;
    0x00024694 addiu a0, zero, 0x80          |     a0 = 0x80;
    0x00024698 move s3, a1                   |     s3 = a1;
    0x0002469c move s5, a2                   |     s5 = a2;
    0x000246a0 move s6, a3                   |     s6 = a3;
    0x000246a4 lw s7, 0x68(sp)               |     s7 = *(var_10h_3);
    0x000246a8 lw fp, 0x6c(sp)               |     fp = *(var_6ch);
    0x000246ac bal 0x3cbdc                   |     sym_xmalloc_clear ();
    0x000246b0 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x000246b4 lbu a0, 0x17(s1)              |     a0 = *((s1 + 23));
    0x000246b8 lw t9, -0x7d6c(gp)            |     t9 = sym.check_digest_algo;
    0x000246bc move s4, v0                   |     s4 = v0;
    0x000246c0 bal 0x27e48                   |     sym_check_digest_algo ();
    0x000246c4 move s0, v0                   |     s0 = v0;
    0x000246c8 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x000246cc beqz v0, 0x24720              |     
                                             |     while (v0 != 0) {
                                             | label_1:
    0x000246d0 lw t9, -0x7e74(gp)            |         t9 = sym.free_public_key;
    0x000246d4 move a0, s4                   |         a0 = s4;
    0x000246d8 bal 0x91c0                    |         sym_free_public_key ();
    0x000246dc lw gp, 0x20(sp)               |         gp = *(var_20h_3);
                                             | label_0:
    0x000246e0 lw a0, 0x2c(sp)               |         a0 = *(var_2ch_4);
    0x000246e4 lw v1, (s2)                   |         v1 = *(s2);
    0x000246e8 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x000246ec bne a0, v1, 0x24c5c           |             goto label_11;
                                             |         }
    0x000246f0 lw ra, 0x54(sp)               |         ra = *(var_54h_3);
    0x000246f4 lw fp, 0x50(sp)               |         fp = *(var_50h_3);
    0x000246f8 lw s7, 0x4c(sp)               |         s7 = *(var_4ch_4);
    0x000246fc lw s6, 0x48(sp)               |         s6 = *(var_48h_4);
    0x00024700 lw s5, 0x44(sp)               |         s5 = *(var_44h_5);
    0x00024704 lw s4, 0x40(sp)               |         s4 = *(var_40h_5);
    0x00024708 lw s3, 0x3c(sp)               |         s3 = *(var_3ch_5);
    0x0002470c lw s2, 0x38(sp)               |         s2 = *(var_38h_5);
    0x00024710 lw s1, 0x34(sp)               |         s1 = *(var_34h_5);
    0x00024714 lw s0, 0x30(sp)               |         s0 = *(var_30h_4);
    0x00024718 addiu sp, sp, 0x58            |         
    0x0002471c jr ra                         |         return v0;
    0x00024720 lw t9, -0x7e8c(gp)            |         t9 = sym.check_pubkey_algo;
    0x00024724 lbu a0, 0x16(s1)              |         a0 = *((s1 + 22));
    0x00024728 bal 0x27418                   |         sym_check_pubkey_algo ();
    0x0002472c move s0, v0                   |         s0 = v0;
    0x00024730 lw gp, 0x20(sp)               |         gp = *(var_20h_3);
    0x00024734 bnez v0, 0x246d0              |         
                                             |     }
    0x00024738 lw t9, -0x7b48(gp)            |     t9 = sym.md_algo_present;
    0x0002473c lbu a1, 0x17(s1)              |     a1 = *((s1 + 23));
    0x00024740 move a0, s3                   |     a0 = s3;
    0x00024744 bal 0x282e8                   |     sym_md_algo_present ();
    0x00024748 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 == 0) {
    0x0002474c bnez v0, 0x2477c              |         
    0x00024750 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x00024754 lw t9, -0x7f30(gp)            |         t9 = sym.g10_log_info;
                                             |         /* str.WARNING:_signature_digest_conflict_in_message_n */
    0x00024758 addiu a0, a0, 0x70a8          |         a0 += 0x70a8;
    0x0002475c bal 0x384ac                   |         sym_g10_log_info ();
    0x00024760 lw gp, 0x20(sp)               |         gp = *(var_20h_3);
                                             | label_10:
    0x00024764 lw t9, -0x7e74(gp)            |         t9 = sym.free_public_key;
                                             | label_8:
    0x00024768 move a0, s4                   |         a0 = s4;
    0x0002476c bal 0x91c0                    |         sym_free_public_key ();
    0x00024770 addiu s0, zero, 1             |         s0 = 1;
    0x00024774 lw gp, 0x20(sp)               |         gp = *(var_20h_3);
    0x00024778 b 0x246e0                     |         goto label_0;
                                             |     }
    0x0002477c lw t9, -0x7e34(gp)            |     t9 = sym.get_pubkey;
    0x00024780 addiu a1, s1, 4               |     a1 = s1 + 4;
    0x00024784 move a0, s4                   |     a0 = s4;
    0x00024788 bal 0xc768                    |     sym_get_pubkey ();
    0x0002478c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 != 0) {
    0x00024790 bnez v0, 0x24a84              |         goto label_12;
                                             |     }
    0x00024794 lw v0, 0x30(s4)               |     v0 = *((s4 + 12));
                                             |     if (v0 == 0) {
    0x00024798 bnez v0, 0x247ac              |         
    0x0002479c nop                           |         
    0x000247a0 lbu v0, 0x4c(s4)              |         v0 = *((s4 + 76));
    0x000247a4 lw t9, -0x7e74(gp)            |         t9 = sym.free_public_key;
                                             |         if (v0 == 0) {
    0x000247a8 beqz v0, 0x24bbc              |             goto label_13;
                                             |         }
                                             |     }
    0x000247ac lw t9, -0x7bd4(gp)            |     t9 = *(gp);
                                             |     if (s5 != 0) {
    0x000247b0 beqz s5, 0x247bc              |         
    0x000247b4 lw v0, 4(s4)                  |         v0 = *((s4 + 1));
    0x000247b8 sw v0, (s5)                   |         *(s5) = v0;
                                             |     }
    0x000247bc sw fp, 0x14(sp)               |     *(var_14h_3) = fp;
    0x000247c0 sw s7, 0x10(sp)               |     *(var_10h_6) = s7;
    0x000247c4 move a3, s6                   |     a3 = s6;
    0x000247c8 move a2, s3                   |     a2 = s3;
    0x000247cc move a1, s1                   |     a1 = s1;
                                             |     /* fcn.0002413c */
    0x000247d0 addiu t9, t9, 0x413c          |     t9 += 0x413c;
    0x000247d4 move a0, s4                   |     a0 = s4;
    0x000247d8 bal 0x2413c                   |     fcn_0002413c ();
    0x000247dc move s0, v0                   |     s0 = v0;
    0x000247e0 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 != 0) {
    0x000247e4 bnez v0, 0x246d0              |         goto label_1;
                                             |     }
    0x000247e8 lbu v0, 0x4c(s4)              |     v0 = *((s4 + 76));
    0x000247ec lw t9, -0x7e74(gp)            |     t9 = sym.free_public_key;
                                             |     if (v0 == 0) {
    0x000247f0 bnez v0, 0x24804              |         
    0x000247f4 lbu v0, 0x38(s4)              |         v0 = *((s4 + 56));
    0x000247f8 sltiu v1, v0, 2               |         v1 = (v0 < 2) ? 1 : 0;
    0x000247fc lw t9, -0x7e6c(gp)            |         t9 = sym.keystr_from_pk;
                                             |         if (v1 == 0) {
    0x00024800 bnel v1, zero, 0x24bd0        |             goto label_14;
                                             |         }
                                             |     }
                                             | label_9:
    0x00024804 move a0, s4                   |     a0 = s4;
    0x00024808 bal 0x91c0                    |     sym_free_public_key ();
    0x0002480c lbu v0, 0x15(s1)              |     v0 = *((s1 + 21));
    0x00024810 sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x00024814 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 == 0) {
    0x00024818 beqz v0, 0x246e0              |         goto label_0;
                                             |     }
    0x0002481c lw t9, -0x7d88(gp)            |     t9 = sym.is_status_enabled;
    0x00024820 bal 0x21b70                   |     sym_is_status_enabled ();
    0x00024824 nop                           |     
    0x00024828 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 == 0) {
    0x0002482c beqz v0, 0x246e0              |         goto label_0;
                                             |     }
    0x00024830 lw t9, -0x7f4c(gp)            |     t9 = sym.pubkey_get_nsig;
    0x00024834 lbu a0, 0x16(s1)              |     a0 = *((s1 + 22));
    0x00024838 lw s5, 0xc(s1)                |     s5 = *((s1 + 3));
    0x0002483c bal 0x27620                   |     sym_pubkey_get_nsig ();
    0x00024840 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024844 move a1, zero                 |     a1 = 0;
    0x00024848 addiu a0, zero, 3             |     a0 = 3;
    0x0002484c lw t9, -0x7d2c(gp)            |     t9 = sym.md_open;
    0x00024850 move s4, v0                   |     s4 = v0;
    0x00024854 bal 0x27ed8                   |     sym_md_open ();
    0x00024858 lw a1, 0x10(s3)               |     a1 = *((s3 + 4));
    0x0002485c lw v1, 0x14(s3)               |     v1 = *((s3 + 5));
    0x00024860 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024864 move s6, v0                   |     s6 = v0;
                                             |     if (a1 == v1) {
    0x00024868 beq a1, v1, 0x24b0c           |         goto label_15;
                                             |     }
                                             | label_3:
    0x0002486c addiu a0, a1, 1               |     a0 = a1 + 1;
    0x00024870 sw a0, 0x10(s3)               |     *((s3 + 4)) = a0;
    0x00024874 addu a1, s3, a1               |     a1 = s3 + a1;
    0x00024878 lbu v0, 0x16(s1)              |     v0 = *((s1 + 22));
    0x0002487c sb v0, 0x18(a1)               |     *((a1 + 24)) = v0;
                                             |     if (a0 == v1) {
    0x00024880 beq a0, v1, 0x24ae8           |         goto label_16;
                                             |     }
                                             | label_2:
    0x00024884 addiu v0, a0, 1               |     v0 = a0 + 1;
    0x00024888 sw v0, 0x10(s3)               |     *((s3 + 4)) = v0;
    0x0002488c addu a0, s3, a0               |     a0 = s3 + a0;
    0x00024890 lbu a1, 0x17(s1)              |     a1 = *((s1 + 23));
    0x00024894 sb a1, 0x18(a0)               |     *((a0 + 24)) = a1;
                                             |     if (v0 == v1) {
    0x00024898 beq v0, v1, 0x24b98           |         goto label_17;
                                             |     }
                                             | label_7:
    0x0002489c addu a1, s3, v0               |     a1 = s3 + v0;
    0x000248a0 srl a0, s5, 0x18              |     a0 = s5 >> 0x18;
    0x000248a4 addiu v0, v0, 1               |     v0++;
    0x000248a8 sw v0, 0x10(s3)               |     *((s3 + 4)) = v0;
    0x000248ac sb a0, 0x18(a1)               |     *((a1 + 24)) = a0;
                                             |     if (v0 == v1) {
    0x000248b0 beq v0, v1, 0x24b74           |         goto label_18;
                                             |     }
                                             | label_6:
    0x000248b4 addu a1, s3, v0               |     a1 = s3 + v0;
    0x000248b8 srl a0, s5, 0x10              |     a0 = s5 >> 0x10;
    0x000248bc addiu v0, v0, 1               |     v0++;
    0x000248c0 sw v0, 0x10(s3)               |     *((s3 + 4)) = v0;
    0x000248c4 sb a0, 0x18(a1)               |     *((a1 + 24)) = a0;
                                             |     if (v0 == v1) {
    0x000248c8 beq v0, v1, 0x24b50           |         goto label_19;
                                             |     }
                                             | label_5:
    0x000248cc addu a1, s3, v0               |     a1 = s3 + v0;
    0x000248d0 srl a0, s5, 8                 |     a0 = s5 >> 8;
    0x000248d4 addiu v0, v0, 1               |     v0++;
    0x000248d8 sw v0, 0x10(s3)               |     *((s3 + 4)) = v0;
    0x000248dc sb a0, 0x18(a1)               |     *((a1 + 24)) = a0;
                                             |     if (v0 == v1) {
    0x000248e0 beq v0, v1, 0x24b30           |         goto label_20;
                                             |     }
                                             | label_4:
    0x000248e4 addu v1, s3, v0               |     v1 = s3 + v0;
    0x000248e8 addiu v0, v0, 1               |     v0++;
    0x000248ec sw v0, 0x10(s3)               |     *((s3 + 4)) = v0;
    0x000248f0 sb s5, 0x18(v1)               |     *((v1 + 24)) = s5;
                                             |     if (s4 <= 0) {
    0x000248f4 blez s4, 0x2499c              |         goto label_21;
                                             |     }
    0x000248f8 addiu s3, s1, 0x38            |     s3 = s1 + 0x38;
    0x000248fc move s5, zero                 |     s5 = 0;
    0x00024900 addiu fp, sp, 0x28            |     fp = sp + 0x28;
    0x00024904 lw t9, -0x7db0(gp)            |     t9 = sym.mpi_get_nbits;
    0x00024908 lw a0, (s3)                   |     a0 = *(s3);
    0x0002490c bal 0x317a8                   |     sym_mpi_get_nbits ();
    0x00024910 lw v1, 0x10(s6)               |     v1 = *((s6 + 4));
    0x00024914 lw a1, 0x14(s6)               |     a1 = *((s6 + 5));
    0x00024918 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0002491c sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
                                             |     if (v1 == a1) {
    0x00024920 beq v1, a1, 0x24ac0           |         void (*0x24ac0)() ();
                                             |     }
                                             | label_21:
    0x0002499c lw t9, -0x7bd8(gp)            |     t9 = sym.md_final;
    0x000249a0 move a0, s6                   |     a0 = s6;
    0x000249a4 bal 0x28148                   |     sym_md_final ();
    0x000249a8 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x000249ac move a1, zero                 |     a1 = 0;
    0x000249b0 lw t9, -0x7da0(gp)            |     t9 = sym.md_read;
    0x000249b4 move a0, s6                   |     a0 = s6;
    0x000249b8 bal 0x281e0                   |     sym_md_read ();
    0x000249bc lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x000249c0 addiu a1, zero, 0x14          |     a1 = 0x14;
    0x000249c4 lw t9, -0x7b44(gp)            |     t9 = sym.make_radix64_string;
    0x000249c8 move a0, v0                   |     a0 = v0;
    0x000249cc bal 0x178b4                   |     sym_make_radix64_string ();
    0x000249d0 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x000249d4 move a0, v0                   |     a0 = v0;
    0x000249d8 lw t9, -0x78a0(gp)            |     t9 = sym.imp.strlen;
    0x000249dc move s3, v0                   |     s3 = v0;
    0x000249e0 jalr t9                       |     t9 ();
    0x000249e4 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x000249e8 lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x000249ec addiu a0, v0, 0x3c            |     a0 = v0 + 0x3c;
    0x000249f0 bal 0x3cb1c                   |     sym_xmalloc ();
    0x000249f4 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x000249f8 lw a0, 0xc(s1)                |     a0 = *((s1 + 3));
    0x000249fc lw t9, -0x7d48(gp)            |     t9 = sym.strtimestamp;
    0x00024a00 move s4, v0                   |     s4 = v0;
    0x00024a04 bal 0x38df8                   |     sym_strtimestamp ();
    0x00024a08 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024a0c lw v1, 0xc(s1)                |     v1 = *((s1 + 3));
    0x00024a10 addiu a2, zero, -1            |     a2 = -1;
    0x00024a14 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x00024a18 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
                                             |     /* str._s__s__lu */
    0x00024a1c addiu a3, a3, 0x71a4          |     a3 += 0x71a4;
    0x00024a20 sw v1, 0x18(sp)               |     *(var_18h_5) = v1;
    0x00024a24 addiu a1, zero, 1             |     a1 = 1;
    0x00024a28 move a0, s4                   |     a0 = s4;
    0x00024a2c sw v0, 0x14(sp)               |     *(var_14h_3) = v0;
    0x00024a30 sw s3, 0x10(sp)               |     *(var_10h_6) = s3;
    0x00024a34 jalr t9                       |     t9 ();
    0x00024a38 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024a3c move a1, s4                   |     a1 = s4;
    0x00024a40 lw t9, -0x7d80(gp)            |     t9 = sym.write_status_text;
    0x00024a44 addiu a0, zero, 0x16          |     a0 = 0x16;
    0x00024a48 bal 0x21b8c                   |     sym_write_status_text ();
    0x00024a4c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024a50 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x00024a54 move a0, s4                   |     a0 = s4;
    0x00024a58 bal 0x3cd20                   |     sym_xfree ();
    0x00024a5c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024a60 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x00024a64 move a0, s3                   |     a0 = s3;
    0x00024a68 bal 0x3cd20                   |     sym_xfree ();
    0x00024a6c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024a70 lw t9, -0x7d08(gp)            |     t9 = sym.md_close;
    0x00024a74 move a0, s6                   |     a0 = s6;
    0x00024a78 bal 0x287a4                   |     sym_md_close ();
    0x00024a7c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024a80 b 0x246e0                     |     goto label_0;
                                             | label_12:
    0x00024a84 lw t9, -0x7e74(gp)            |     t9 = sym.free_public_key;
    0x00024a88 move a0, s4                   |     a0 = s4;
    0x00024a8c bal 0x91c0                    |     sym_free_public_key ();
    0x00024a90 addiu s0, zero, 9             |     s0 = 9;
    0x00024a94 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024a98 b 0x246e0                     |     goto label_0;
                                             | label_16:
    0x00024ae8 lw t9, -0x7be4(gp)            |     t9 = sym.md_write;
    0x00024aec move a0, s3                   |     a0 = s3;
    0x00024af0 move a2, zero                 |     a2 = 0;
    0x00024af4 move a1, zero                 |     a1 = 0;
    0x00024af8 bal 0x28014                   |     sym_md_write ();
    0x00024afc lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024b00 lw a0, 0x10(s3)               |     a0 = *((s3 + 4));
    0x00024b04 lw v1, 0x14(s3)               |     v1 = *((s3 + 5));
    0x00024b08 b 0x24884                     |     goto label_2;
                                             | label_15:
    0x00024b0c lw t9, -0x7be4(gp)            |     t9 = sym.md_write;
    0x00024b10 move a1, zero                 |     a1 = 0;
    0x00024b14 move a2, zero                 |     a2 = 0;
    0x00024b18 move a0, s3                   |     a0 = s3;
    0x00024b1c bal 0x28014                   |     sym_md_write ();
    0x00024b20 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024b24 lw a1, 0x10(s3)               |     a1 = *((s3 + 4));
    0x00024b28 lw v1, 0x14(s3)               |     v1 = *((s3 + 5));
    0x00024b2c b 0x2486c                     |     goto label_3;
                                             | label_20:
    0x00024b30 lw t9, -0x7be4(gp)            |     t9 = sym.md_write;
    0x00024b34 move a2, zero                 |     a2 = 0;
    0x00024b38 move a1, zero                 |     a1 = 0;
    0x00024b3c move a0, s3                   |     a0 = s3;
    0x00024b40 bal 0x28014                   |     sym_md_write ();
    0x00024b44 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024b48 lw v0, 0x10(s3)               |     v0 = *((s3 + 4));
    0x00024b4c b 0x248e4                     |     goto label_4;
                                             | label_19:
    0x00024b50 lw t9, -0x7be4(gp)            |     t9 = sym.md_write;
    0x00024b54 move a2, zero                 |     a2 = 0;
    0x00024b58 move a1, zero                 |     a1 = 0;
    0x00024b5c move a0, s3                   |     a0 = s3;
    0x00024b60 bal 0x28014                   |     sym_md_write ();
    0x00024b64 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024b68 lw v0, 0x10(s3)               |     v0 = *((s3 + 4));
    0x00024b6c lw v1, 0x14(s3)               |     v1 = *((s3 + 5));
    0x00024b70 b 0x248cc                     |     goto label_5;
                                             | label_18:
    0x00024b74 lw t9, -0x7be4(gp)            |     t9 = sym.md_write;
    0x00024b78 move a2, zero                 |     a2 = 0;
    0x00024b7c move a1, zero                 |     a1 = 0;
    0x00024b80 move a0, s3                   |     a0 = s3;
    0x00024b84 bal 0x28014                   |     sym_md_write ();
    0x00024b88 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024b8c lw v0, 0x10(s3)               |     v0 = *((s3 + 4));
    0x00024b90 lw v1, 0x14(s3)               |     v1 = *((s3 + 5));
    0x00024b94 b 0x248b4                     |     goto label_6;
                                             | label_17:
    0x00024b98 lw t9, -0x7be4(gp)            |     t9 = sym.md_write;
    0x00024b9c move a2, zero                 |     a2 = 0;
    0x00024ba0 move a1, zero                 |     a1 = 0;
    0x00024ba4 move a0, s3                   |     a0 = s3;
    0x00024ba8 bal 0x28014                   |     sym_md_write ();
    0x00024bac lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024bb0 lw v0, 0x10(s3)               |     v0 = *((s3 + 4));
    0x00024bb4 lw v1, 0x14(s3)               |     v1 = *((s3 + 5));
    0x00024bb8 b 0x2489c                     |     goto label_7;
                                             | label_13:
    0x00024bbc move a0, s4                   |     a0 = s4;
    0x00024bc0 bal 0x91c0                    |     sym_free_public_key ();
    0x00024bc4 addiu s0, zero, 6             |     s0 = 6;
    0x00024bc8 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024bcc b 0x246e0                     |     goto label_0;
                                             | label_14:
    0x00024bd0 move a0, s4                   |     a0 = s4;
                                             |     if (v0 != 0) {
    0x00024bd4 bnez v0, 0x24c34              |         goto label_22;
                                             |     }
    0x00024bd8 bal 0x19dd4                   |     sym_keystr_from_pk ();
    0x00024bdc nop                           |     
    0x00024be0 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024be4 move a1, v0                   |     a1 = v0;
    0x00024be8 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00024bec lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.WARNING:_signing_subkey__s_is_not_cross_certified_n */
    0x00024bf0 addiu a0, a0, 0x70d8          |     a0 += 0x70d8;
    0x00024bf4 bal 0x384ac                   |     sym_g10_log_info ();
    0x00024bf8 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024bfc lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x00024c00 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00024c04 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.http:__www.gnupg.org_faq_subkey_cross_certify.html */
    0x00024c08 addiu a1, a1, 0x710c          |     a1 += 0x710c;
                                             |     /* str.please_see__s_for_more_information_n */
    0x00024c0c addiu a0, a0, 0x7140          |     a0 += 0x7140;
    0x00024c10 bal 0x384ac                   |     sym_g10_log_info ();
    0x00024c14 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024c18 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00024c1c lbu v0, 0x228(v0)             |     v0 = *(v0);
    0x00024c20 andi v0, v0, 1                |     v0 &= 1;
    0x00024c24 lw t9, -0x7e74(gp)            |     t9 = sym.free_public_key;
                                             |     if (v0 != 0) {
    0x00024c28 bnez v0, 0x24768              |         goto label_8;
                                             |     }
    0x00024c2c b 0x24804                     |     goto label_9;
    0x00024c30 nop                           |     
                                             | label_22:
    0x00024c34 bal 0x19dd4                   |     sym_keystr_from_pk ();
    0x00024c38 nop                           |     
    0x00024c3c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024c40 move a1, v0                   |     a1 = v0;
    0x00024c44 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00024c48 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.WARNING:_signing_subkey__s_has_an_invalid_cross_certification_n */
    0x00024c4c addiu a0, a0, 0x7164          |     a0 += 0x7164;
    0x00024c50 bal 0x384ac                   |     sym_g10_log_info ();
    0x00024c54 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x00024c58 b 0x24764                     |     goto label_10;
                                             | label_11:
    0x00024c5c lw t9, -0x7834(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00024c60 jalr t9                       |     t9 ();
    0x00024c64 nop                           |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x38df8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.strtimestamp ()          | void strtimestamp () {
    0x00038df8 lui gp, 3                 |     
    0x00038dfc addiu gp, gp, -0x6cc8     |     
    0x00038e00 addu gp, gp, t9           |     gp += t9;
    0x00038e04 addiu sp, sp, -0x40       |     
    0x00038e08 sw s0, 0x34(sp)           |     *(var_34h) = s0;
    0x00038e0c lw s0, -0x781c(gp)        |     s0 = *((gp - 7687));
    0x00038e10 sw gp, 0x20(sp)           |     *(var_20h_2) = gp;
    0x00038e14 sw ra, 0x3c(sp)           |     *(var_24h) = ra;
    0x00038e18 lw v0, (s0)               |     v0 = *(s0);
    0x00038e1c sw s1, 0x38(sp)           |     *(var_20h) = s1;
    0x00038e20 sw a0, 0x28(sp)           |     *(var_10h) = a0;
    0x00038e24 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00038e28 lw t9, -0x78b4(gp)        |     t9 = sym.imp.gmtime;
                                         |     if (a0 < 0) {
    0x00038e2c bltz a0, 0x38ea4          |         goto label_0;
                                         |     }
    0x00038e30 addiu a0, sp, 0x28        |     a0 = sp + 0x28;
    0x00038e34 jalr t9                   |     t9 ();
    0x00038e38 lw v1, 0xc(v0)            |     v1 = *((v0 + 3));
    0x00038e3c lw gp, 0x20(sp)           |     gp = *(var_20h_2);
    0x00038e40 sw v1, 0x18(sp)           |     *(var_18h_3) = v1;
    0x00038e44 lw v1, 0x10(v0)           |     v1 = *((v0 + 4));
    0x00038e48 lw s1, -0x7fb4(gp)        |     s1 = *((gp - 8173));
    0x00038e4c addiu v1, v1, 1           |     v1++;
    0x00038e50 sw v1, 0x14(sp)           |     *(var_14h) = v1;
    0x00038e54 lw v0, 0x14(v0)           |     v0 = *((v0 + 5));
    0x00038e58 lw a3, -0x7fdc(gp)        |     a3 = *(gp);
    0x00038e5c addiu v0, v0, 0x76c       |     v0 += 0x76c;
    0x00038e60 lw t9, -0x794c(gp)        |     t9 = sym.imp.__sprintf_chk
                                         |     /* str._04d__02d__02d */
    0x00038e64 addiu a3, a3, 0x5184      |     a3 += 0x5184;
    0x00038e68 sw v0, 0x10(sp)           |     *(var_10h_3) = v0;
    0x00038e6c addiu a2, zero, 0x10      |     a2 = 0x10;
    0x00038e70 addiu a1, zero, 1         |     a1 = 1;
    0x00038e74 addiu a0, s1, -0x4984     |     a0 = s1 + -0x4984;
    0x00038e78 jalr t9                   |     t9 ();
    0x00038e7c lw gp, 0x20(sp)           |     gp = *(var_20h_2);
    0x00038e80 addiu v0, s1, -0x4984     |     v0 = s1 + -0x4984;
                                         |     do {
    0x00038e84 lw a0, 0x2c(sp)           |         a0 = *(var_2ch);
    0x00038e88 lw v1, (s0)               |         v1 = *(s0);
    0x00038e8c lw ra, 0x3c(sp)           |         ra = *(var_24h);
                                         |         if (a0 != v1) {
    0x00038e90 bne a0, v1, 0x38ed8       |             goto label_1;
                                         |         }
    0x00038e94 lw s1, 0x38(sp)           |         s1 = *(var_20h);
    0x00038e98 lw s0, 0x34(sp)           |         s0 = *(var_34h);
    0x00038e9c addiu sp, sp, 0x40        |         
    0x00038ea0 jr ra                     |         return v1;
                                         | label_0:
    0x00038ea4 lw a0, -0x7fdc(gp)        |         a0 = *(gp);
    0x00038ea8 lw s1, -0x7fb4(gp)        |         s1 = *((gp - 8173));
                                         |         /* str.__________ */
    0x00038eac addiu v1, a0, 0x5178      |         v1 = a0 + 0x5178;
    0x00038eb0 addiu v0, s1, -0x4984     |         v0 = s1 + -0x4984;
    0x00038eb4 lw a2, 0x5178(a0)         |         a2 = *((a0 + 5214));
    0x00038eb8 lw a1, 4(v1)              |         a1 = *((v1 + 1));
    0x00038ebc lhu a0, 8(v1)             |         a0 = *((v1 + 4));
    0x00038ec0 lbu v1, 0xa(v1)           |         v1 = *((v1 + 10));
    0x00038ec4 sw a2, -0x4984(s1)        |         *((s1 - 4705)) = a2;
    0x00038ec8 sw a1, 4(v0)              |         *((v0 + 1)) = a1;
    0x00038ecc sh a0, 8(v0)              |         *((v0 + 4)) = a0;
    0x00038ed0 sb v1, 0xa(v0)            |         *((v0 + 10)) = v1;
    0x00038ed4 b 0x38e84                 |         
                                         |     } while (1);
                                         | label_1:
    0x00038ed8 lw t9, -0x7834(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00038edc jalr t9                   |     t9 ();
    0x00038ee0 nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x38c94 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.strtimevalue ()              | void strtimevalue () {
    0x00038c94 lui gp, 3                     |     
    0x00038c98 addiu gp, gp, -0x6b64         |     
    0x00038c9c addu gp, gp, t9               |     gp += t9;
    0x00038ca0 lui v1, 0x8888                |     v1 = 0x88888889;
    0x00038ca4 ori v1, v1, 0x8889            |     
    0x00038ca8 multu a0, v1                  |     __asm ("multu a0, v1");
    0x00038cac mfhi a2                       |     __asm ("mfhi a2");
    0x00038cb0 lui a1, 0xaaaa                |     a1 = 0xaaaaaaab;
    0x00038cb4 ori a1, a1, 0xaaab            |     
    0x00038cb8 addiu sp, sp, -0x38           |     
    0x00038cbc lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x00038cc0 srl a2, a2, 5                 |     a2 >>= 5;
    0x00038cc4 multu a2, v1                  |     __asm ("multu a2, v1");
    0x00038cc8 mfhi v1                       |     __asm ("mfhi v1");
    0x00038ccc sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x00038cd0 move s0, a0                   |     s0 = a0;
    0x00038cd4 lui a0, 0x6719                |     a0 = 0x6719f361;
    0x00038cd8 ori a0, a0, 0xf361            |     
    0x00038cdc srl v1, v1, 5                 |     v1 >>= 5;
    0x00038ce0 multu v1, a1                  |     __asm ("multu v1, a1");
    0x00038ce4 mfhi a1                       |     __asm ("mfhi a1");
    0x00038ce8 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x00038cec sll t0, v1, 4                 |     t0 = v1 << 4;
    0x00038cf0 subu t0, t0, v1               |     __asm ("subu t0, t0, v1");
    0x00038cf4 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x00038cf8 srl a1, a1, 4                 |     a1 >>= 4;
    0x00038cfc multu a1, a0                  |     __asm ("multu a1, a0");
    0x00038d00 mfhi a0                       |     __asm ("mfhi a0");
    0x00038d04 sll a3, a1, 1                 |     a3 = a1 << 1;
    0x00038d08 addu a3, a3, a1               |     a3 += a1;
    0x00038d0c sll a3, a3, 3                 |     a3 <<= 3;
    0x00038d10 lw s1, -0x7fb4(gp)            |     s1 = *((gp - 8173));
    0x00038d14 subu v0, a1, a0               |     __asm ("subu v0, a1, a0");
    0x00038d18 srl v0, v0, 1                 |     v0 >>= 1;
    0x00038d1c addu a0, a0, v0               |     a0 += v0;
    0x00038d20 srl s2, a0, 8                 |     s2 = a0 >> 8;
    0x00038d24 addiu v0, zero, 0x16d         |     v0 = 0x16d;
    0x00038d28 mul t1, s2, v0                |     __asm ("mul t1, s2, v0");
    0x00038d2c subu v1, v1, a3               |     __asm ("subu v1, v1, a3");
    0x00038d30 sll t0, t0, 2                 |     t0 <<= 2;
    0x00038d34 lw a3, -0x7d90(gp)            |     a3 = *((gp - 8036));
    0x00038d38 subu a2, a2, t0               |     __asm ("subu a2, a2, t0");
    0x00038d3c subu s2, a1, t1               |     __asm ("subu s2, a1, t1");
    0x00038d40 srl a0, a0, 8                 |     a0 >>= 8;
    0x00038d44 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00038d48 sw a2, 0x1c(sp)               |     *(var_1ch) = a2;
    0x00038d4c sw a0, 0x10(sp)               |     *(var_10h) = a0;
    0x00038d50 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00038d54 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00038d58 sw s2, 0x14(sp)               |     *(var_14h) = s2;
                                             |     /* str._uy_ud_uh_um */
    0x00038d5c addiu a3, a3, -0x7e04         |     a3 += -0x7e04;
    0x00038d60 addiu a2, zero, 0x1e          |     a2 = 0x1e;
    0x00038d64 addiu a1, zero, 1             |     a1 = 1;
    0x00038d68 addiu a0, s1, -0x4974         |     a0 = s1 + -0x4974;
    0x00038d6c jalr t9                       |     t9 ();
    0x00038d70 lui v0, 0x1e1                 |     v0 = 0x1e13380;
    0x00038d74 addiu v0, v0, 0x3380          |     
    0x00038d78 sltu s0, s0, v0               |     s0 = (s0 < v0) ? 1 : 0;
    0x00038d7c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s0 != 0) {
    0x00038d80 beqz s0, 0x38ddc              |         
    0x00038d84 lw t9, -0x789c(gp)            |         t9 = sym.imp.strchr;
                                             |         if (s2 == 0) {
    0x00038d88 bnez s2, 0x38db4              |             
    0x00038d8c addiu a0, s1, -0x4974         |             a0 = s1 + -0x4974;
    0x00038d90 addiu a1, zero, 0x64          |             a1 = 0x64;
    0x00038d94 jalr t9                       |             t9 ();
    0x00038d98 lw ra, 0x34(sp)               |             ra = *(var_34h);
    0x00038d9c lw s2, 0x30(sp)               |             s2 = *(var_30h);
    0x00038da0 lw s1, 0x2c(sp)               |             s1 = *(var_2ch);
    0x00038da4 lw s0, 0x28(sp)               |             s0 = *(var_28h);
    0x00038da8 addiu v0, v0, 1               |             v0++;
    0x00038dac addiu sp, sp, 0x38            |             
    0x00038db0 jr ra                         |             return v0;
                                             |         }
    0x00038db4 addiu a0, s1, -0x4974         |         a0 = s1 + -0x4974;
    0x00038db8 addiu a1, zero, 0x79          |         a1 = 0x79;
    0x00038dbc jalr t9                       |         t9 ();
    0x00038dc0 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00038dc4 lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x00038dc8 lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x00038dcc lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x00038dd0 addiu v0, v0, 1               |         v0++;
    0x00038dd4 addiu sp, sp, 0x38            |         
    0x00038dd8 jr ra                         |         return v0;
                                             |     }
    0x00038ddc lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x00038de0 addiu v0, s1, -0x4974         |     v0 = s1 + -0x4974;
    0x00038de4 lw s2, 0x30(sp)               |     s2 = *(var_30h);
    0x00038de8 lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x00038dec lw s0, 0x28(sp)               |     s0 = *(var_28h);
    0x00038df0 addiu sp, sp, 0x38            |     
    0x00038df4 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x3a610 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.utf8_to_native ()            | void utf8_to_native () {
                                             | label_11:
    0x0003a610 lui gp, 2                     |     
    0x0003a614 addiu gp, gp, 0x7b20          |     
    0x0003a618 addu gp, gp, t9               |     gp += t9;
    0x0003a61c lw v0, -0x781c(gp)            |     v0 = *((gp - 7687));
    0x0003a620 addiu sp, sp, -0x98           |     
    0x0003a624 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x0003a628 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x0003a62c lw v0, (v0)                   |     v0 = *(v0);
    0x0003a630 sw a1, 0x9c(sp)               |     *(arg_9ch) = a1;
    0x0003a634 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x0003a638 lw v0, -0x7d90(gp)            |     v0 = *((gp - 8036));
    0x0003a63c lw a3, -0x7fb4(gp)            |     a3 = *((gp - 8173));
    0x0003a640 addiu v0, v0, -0x7d00         |     v0 += -0x7d00;
    0x0003a644 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x0003a648 lw v0, -0x7d90(gp)            |     v0 = *((gp - 8036));
    0x0003a64c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0003a650 addiu v0, v0, -0x7cc8         |     v0 += -0x7cc8;
    0x0003a654 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x0003a658 lw v0, 0x9c(sp)               |     v0 = *(arg_9ch);
    0x0003a65c sw s5, 0x84(sp)               |     *(var_84h) = s5;
    0x0003a660 sw s2, 0x78(sp)               |     *(var_78h) = s2;
    0x0003a664 sw ra, 0x94(sp)               |     *(var_94h) = ra;
    0x0003a668 sw fp, 0x90(sp)               |     *(var_90h) = fp;
    0x0003a66c sw s7, 0x8c(sp)               |     *(var_8ch) = s7;
    0x0003a670 sw s6, 0x88(sp)               |     *(var_88h) = s6;
    0x0003a674 sw s4, 0x80(sp)               |     *(var_80h) = s4;
    0x0003a678 sw s3, 0x7c(sp)               |     *(var_7ch) = s3;
    0x0003a67c sw s1, 0x74(sp)               |     *(var_74h) = s1;
    0x0003a680 sw s0, 0x70(sp)               |     *(var_70h) = s0;
    0x0003a684 sw v1, 0x30(sp)               |     *(var_30h) = v1;
    0x0003a688 sw a3, 0x3c(sp)               |     *(var_3ch) = a3;
    0x0003a68c sw a0, 0x2c(sp)               |     *(var_2ch) = a0;
    0x0003a690 sw a2, 0xa0(sp)               |     *(arg_a0h) = a2;
    0x0003a694 move t2, zero                 |     t2 = 0;
    0x0003a698 move s2, zero                 |     s2 = 0;
    0x0003a69c sw zero, 0x24(sp)             |     *(var_24h) = 0;
                                             |     /* esilref: '\x&x' */
    0x0003a6a0 addiu s5, v1, 0x53a0          |     s5 = v1 + 0x53a0;
                                             |     if (v0 == 0) {
    0x0003a6a4 beqz v0, 0x3a778              |         goto label_14;
                                             |     }
                                             | label_0:
    0x0003a6a8 lw v0, -0x7d90(gp)            |     v0 = *((gp - 8036));
    0x0003a6ac lw s7, 0x2c(sp)               |     s7 = *(var_2ch);
    0x0003a6b0 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0003a6b4 lw v0, -0x7fb4(gp)            |     v0 = *((gp - 8173));
    0x0003a6b8 lw fp, 0x24(sp)               |     fp = *(var_24h);
    0x0003a6bc sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x0003a6c0 lw v0, 0x9c(sp)               |     v0 = *(arg_9ch);
    0x0003a6c4 move s1, zero                 |     s1 = 0;
    0x0003a6c8 addu s4, s7, v0               |     s4 = s7 + v0;
    0x0003a6cc move s0, zero                 |     s0 = 0;
    0x0003a6d0 move t1, zero                 |     t1 = 0;
                                             |     do {
    0x0003a6d4 lbu v0, (s7)                  |         v0 = *(s7);
                                             |         if (t2 == 0) {
    0x0003a6d8 beqz t2, 0x3a820              |             goto label_15;
                                             |         }
    0x0003a6dc seb a0, v0                    |         __asm ("seb a0, v0");
    0x0003a6e0 addiu a0, v0, 0x40            |         a0 = v0 + 0x40;
                                             |         if (a0 < 0) {
    0x0003a6e4 bltz a0, 0x3a7e4              |             goto label_16;
                                             |         }
    0x0003a6e8 addiu s3, s0, 1               |         s3 = s0 + 1;
                                             |         if (t1 != 0) {
    0x0003a6ec bnez t1, 0x3a800              |             goto label_4;
                                             |         }
    0x0003a6f0 lw v1, 0xa0(sp)               |         v1 = *(arg_a0h);
                                             | label_3:
    0x0003a6f4 addiu a0, zero, -1            |         a0 = -1;
    0x0003a6f8 sltiu a0, v0, 0x20            |         a0 = (v0 < 0x20) ? 1 : 0;
                                             |         if (v1 != a0) {
    0x0003a6fc beq v1, a0, 0x3a728           |             
    0x0003a700 addiu a0, zero, 0x7f          |             a0 = 0x7f;
                                             |             if (a0 != 0) {
    0x0003a704 bnez a0, 0x3a934              |                 goto label_17;
                                             |             }
                                             |             if (v0 == a0) {
    0x0003a708 beq v0, a0, 0x3aba4           |                 goto label_18;
                                             |             }
    0x0003a70c nop                           |             
                                             |             if (v0 == v1) {
    0x0003a710 beq v0, v1, 0x3a934           |                 goto label_17;
                                             |             }
    0x0003a714 nop                           |             
    0x0003a718 addiu a0, zero, 0x5c          |             a0 = 0x5c;
                                             |             if (v1 == 0) {
    0x0003a71c beqz v1, 0x3a728              |                 goto label_19;
                                             |             }
                                             |             if (v0 == a0) {
    0x0003a720 beq v0, a0, 0x3aba4           |                 goto label_18;
                                             |             }
    0x0003a724 nop                           |             
                                             |         }
                                             | label_19:
    0x0003a728 addiu s1, s1, 1               |         s1++;
                                             |         if (fp != 0) {
    0x0003a72c beqz fp, 0x3a738              |             
    0x0003a730 sb v0, (fp)                   |             *(fp) = v0;
    0x0003a734 addiu fp, fp, 1               |             fp++;
                                             |         }
    0x0003a738 move t2, zero                 |         t2 = 0;
    0x0003a73c move t1, zero                 |         t1 = 0;
                                             | label_2:
    0x0003a740 addiu s7, s7, 1               |         s7++;
    0x0003a744 bne s7, s4, 0x3a6d4           |         
                                             |     } while (s7 != s4);
    0x0003a748 nop                           |     
    0x0003a74c lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x0003a750 sw t2, 0x28(sp)               |     *(var_28h) = t2;
                                             |     if (v0 != 0) {
    0x0003a754 bnez v0, 0x3a78c              |         goto label_20;
                                             |     }
                                             | label_1:
    0x0003a758 lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x0003a75c addiu a0, s1, 1               |     a0 = s1 + 1;
    0x0003a760 bal 0x3cb1c                   |     sym_xmalloc ();
    0x0003a764 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0003a768 lw v0, 0x9c(sp)               |     v0 = *(arg_9ch);
    0x0003a76c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003a770 lw t2, 0x28(sp)               |     t2 = *(var_28h);
                                             |     if (v0 != 0) {
    0x0003a774 bnez v0, 0x3a6a8              |         goto label_0;
                                             |     }
                                             | label_14:
    0x0003a778 lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x0003a77c lw fp, 0x24(sp)               |     fp = *(var_24h);
    0x0003a780 move s1, zero                 |     s1 = 0;
    0x0003a784 sw t2, 0x28(sp)               |     *(var_28h) = t2;
                                             |     if (v0 == 0) {
    0x0003a788 beqz v0, 0x3a758              |         goto label_1;
                                             |     }
                                             | label_20:
    0x0003a78c lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x0003a790 lw v0, -0x4940(v0)            |     v0 = *((v0 - 4688));
    0x0003a794 lw s3, -0x7fb4(gp)            |     s3 = *((gp - 8173));
                                             |     if (v0 != 0) {
    0x0003a798 bnez v0, 0x3ad68              |         goto label_21;
                                             |     }
    0x0003a79c sb zero, (fp)                 |     *(fp) = 0;
                                             | label_12:
    0x0003a7a0 lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x0003a7a4 lw a0, 0x6c(sp)               |     a0 = *(var_6ch);
    0x0003a7a8 lw v1, (v0)                   |     v1 = *(v0);
    0x0003a7ac lw v0, 0x24(sp)               |     v0 = *(var_24h);
                                             |     if (a0 != v1) {
    0x0003a7b0 bne a0, v1, 0x3af30           |         goto label_22;
                                             |     }
    0x0003a7b4 lw ra, 0x94(sp)               |     ra = *(var_94h);
    0x0003a7b8 lw fp, 0x90(sp)               |     fp = *(var_90h);
    0x0003a7bc lw s7, 0x8c(sp)               |     s7 = *(var_8ch);
    0x0003a7c0 lw s6, 0x88(sp)               |     s6 = *(var_88h);
    0x0003a7c4 lw s5, 0x84(sp)               |     s5 = *(var_84h);
    0x0003a7c8 lw s4, 0x80(sp)               |     s4 = *(var_80h);
    0x0003a7cc lw s3, 0x7c(sp)               |     s3 = *(var_7ch);
    0x0003a7d0 lw s2, 0x78(sp)               |     s2 = *(var_78h);
    0x0003a7d4 lw s1, 0x74(sp)               |     s1 = *(var_74h);
    0x0003a7d8 lw s0, 0x70(sp)               |     s0 = *(var_70h);
    0x0003a7dc addiu sp, sp, 0x98            |     
    0x0003a7e0 jr ra                         |     return v0;
                                             | label_16:
    0x0003a7e4 andi a0, a0, 0xff             |     a0 &= 0xff;
    0x0003a7e8 sltiu a0, a0, 0x3e            |     a0 = (a0 < 0x3e) ? 1 : 0;
                                             |     if (a0 == 0) {
    0x0003a7ec beqz a0, 0x3aae4              |         goto label_23;
                                             |     }
    0x0003a7f0 nop                           |     
    0x0003a7f4 andi a0, v0, 0xe0             |     a0 = v0 & 0xe0;
                                             |     if (t1 == 0) {
    0x0003a7f8 beqz t1, 0x3a838              |         goto label_24;
                                             |     }
    0x0003a7fc addiu s3, s0, 1               |     s3 = s0 + 1;
                                             |     if (fp != 0) {
                                             | label_4:
    0x0003a800 bnez fp, 0x3aa70              |         goto label_25;
                                             |     }
    0x0003a804 nop                           |     
                                             | label_5:
    0x0003a808 sll s3, s3, 2                 |     s3 <<= 2;
    0x0003a80c addu s1, s1, s3               |     s1 += s3;
    0x0003a810 addiu t2, zero, 1             |     t2 = 1;
    0x0003a814 move s0, zero                 |     s0 = 0;
    0x0003a818 move t1, zero                 |     t1 = 0;
    0x0003a81c b 0x3a740                     |     goto label_2;
                                             | label_15:
    0x0003a820 xori a0, v0, 0x80             |     a0 = v0 ^ 0x80;
                                             |     if (t1 != 0) {
    0x0003a824 bnez t1, 0x3a8ac              |         goto label_26;
                                             |     }
    0x0003a828 seb a0, v0                    |     __asm ("seb a0, v0");
    0x0003a82c lw v1, 0xa0(sp)               |     v1 = *(arg_a0h);
                                             |     if (a0 >= 0) {
    0x0003a830 bgez a0, 0x3a6f4              |         goto label_3;
                                             |     }
    0x0003a834 andi a0, v0, 0xe0             |     a0 = v0 & 0xe0;
                                             | label_24:
    0x0003a838 addiu a1, zero, 0xc0          |     a1 = 0xc0;
    0x0003a83c andi a0, v0, 0xf0             |     a0 = v0 & 0xf0;
                                             |     if (a0 == a1) {
    0x0003a840 beq a0, a1, 0x3ab24           |         goto label_27;
                                             |     }
    0x0003a844 addiu a1, zero, 0xe0          |     a1 = 0xe0;
    0x0003a848 andi a0, v0, 0xf8             |     a0 = v0 & 0xf8;
                                             |     if (a0 == a1) {
    0x0003a84c beq a0, a1, 0x3ab60           |         goto label_28;
                                             |     }
    0x0003a850 addiu a1, zero, 0xf0          |     a1 = 0xf0;
    0x0003a854 andi a0, v0, 0xfc             |     a0 = v0 & 0xfc;
                                             |     if (a0 == a1) {
    0x0003a858 beq a0, a1, 0x3abc0           |         goto label_29;
                                             |     }
    0x0003a85c addiu a1, zero, 0xf8          |     a1 = 0xf8;
    0x0003a860 andi a0, v0, 0xfe             |     a0 = v0 & 0xfe;
                                             |     if (a0 == a1) {
    0x0003a864 beq a0, a1, 0x3ac08           |         goto label_30;
                                             |     }
    0x0003a868 addiu a1, zero, 0xfc          |     a1 = 0xfc;
                                             |     if (a0 == a1) {
    0x0003a86c beql a0, a1, 0x3ac7c          |         goto label_31;
                                             |     }
    0x0003a870 andi s2, v0, 1                |     s2 = v0 & 1;
    0x0003a874 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
                                             |     if (fp != 0) {
    0x0003a878 beqz fp, 0x3a89c              |         
    0x0003a87c move a0, fp                   |         a0 = fp;
    0x0003a880 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0003a884 move a3, s5                   |         a3 = s5;
    0x0003a888 addiu a2, zero, -1            |         a2 = -1;
    0x0003a88c addiu a1, zero, 1             |         a1 = 1;
    0x0003a890 jalr t9                       |         t9 ();
    0x0003a894 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003a898 addiu fp, fp, 4               |         fp += 4;
                                             |     }
    0x0003a89c addiu s1, s1, 4               |     s1 += 4;
    0x0003a8a0 addiu t2, zero, 1             |     t2 = 1;
    0x0003a8a4 move t1, zero                 |     t1 = 0;
    0x0003a8a8 b 0x3a740                     |     goto label_2;
                                             | label_26:
    0x0003a8ac addiu t3, s0, 1               |     t3 = s0 + 1;
    0x0003a8b0 sltiu a0, a0, 0x40            |     a0 = (a0 < 0x40) ? 1 : 0;
    0x0003a8b4 move s3, t3                   |     s3 = t3;
                                             |     if (a0 == 0) {
    0x0003a8b8 beqz a0, 0x3a800              |         goto label_4;
                                             |     }
    0x0003a8bc addiu v1, sp, 0x70            |     v1 = sp + 0x70;
    0x0003a8c0 addu s0, v1, s0               |     s0 = v1 + s0;
    0x0003a8c4 sll s2, s2, 6                 |     s2 <<= 6;
    0x0003a8c8 andi a0, v0, 0x3f             |     a0 = v0 & 0x3f;
    0x0003a8cc addiu t1, t1, -1              |     t1 += -1;
    0x0003a8d0 sb v0, -0xc(s0)               |     *((s0 - 12)) = v0;
    0x0003a8d4 or s2, a0, s2                 |     s2 = a0 | s2;
                                             |     if (t1 == 0) {
    0x0003a8d8 bnez t1, 0x3a92c              |         
    0x0003a8dc lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x0003a8e0 lw t2, -0x493c(v0)            |         t2 = *((v0 - 4687));
                                             |         if (t2 == 0) {
    0x0003a8e4 beql t2, zero, 0x3ab3c        |             goto label_32;
                                             |         }
    0x0003a8e8 lw v0, 0x3c(sp)               |         v0 = *(var_3ch);
    0x0003a8ec addiu v0, sp, 0x64            |         v0 = sp + 0x64;
                                             |         if (fp != 0) {
    0x0003a8f0 bnez fp, 0x3abe8              |             goto label_33;
                                             |         }
                                             | label_10:
    0x0003a8f4 addu s1, s1, t3               |         s1 += t3;
                                             | label_8:
    0x0003a8f8 move t2, zero                 |         t2 = 0;
    0x0003a8fc move s0, zero                 |         s0 = 0;
    0x0003a900 b 0x3a740                     |         goto label_2;
                                             | label_6:
    0x0003a904 lw v0, -0x4938(v0)            |         v0 = *((v0 - 4686));
    0x0003a908 move a0, zero                 |         a0 = 0;
                                             |         if (v0 != 0) {
    0x0003a90c bnez v0, 0x3ac20              |             goto label_34;
                                             |         }
    0x0003a910 addiu v0, s2, -0x80           |         v0 = s2 + -0x80;
    0x0003a914 sltiu v0, v0, 0x80            |         v0 = (v0 < 0x80) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0003a918 beqz v0, 0x3ac90              |             goto label_35;
                                             |         }
    0x0003a91c nop                           |         
    0x0003a920 addiu s1, s1, 1               |         s1++;
                                             |         if (fp != 0) {
    0x0003a924 bnez fp, 0x3aca8              |             goto label_36;
                                             |         }
    0x0003a928 move t2, fp                   |         t2 = fp;
                                             |     }
    0x0003a92c move s0, t3                   |     s0 = t3;
    0x0003a930 b 0x3a740                     |     goto label_2;
                                             |     if (fp == 0) {
                                             | label_17:
    0x0003a934 beql fp, zero, 0x3ab78        |         goto label_37;
                                             |     }
    0x0003a938 sltiu a0, v0, 0xe             |     a0 = (v0 < 0xe) ? 1 : 0;
    0x0003a93c addiu v0, zero, 0x5c          |     v0 = 0x5c;
                                             | label_7:
    0x0003a940 sb v0, (fp)                   |     *(fp) = v0;
    0x0003a944 lbu a1, (s7)                  |     a1 = *(s7);
    0x0003a948 sltiu v0, a1, 0xe             |     v0 = (a1 < 0xe) ? 1 : 0;
    0x0003a94c addiu a0, fp, 1               |     a0 = fp + 1;
                                             |     if (v0 != 0) {
    0x0003a950 beqz v0, 0x3aa38              |         
    0x0003a954 lw v1, 0x38(sp)               |         v1 = *(var_38h);
    0x0003a958 sll v0, a1, 2                 |         v0 = a1 << 2;
    0x0003a95c lwx v0, v0(v1)                |         __asm ("lwx v0, v0(v1)");
    0x0003a960 addu v0, v0, gp               |         v0 += gp;
    0x0003a964 jr v0                         |         v0 ();
    0x0003a968 nop                           |         
                                             |     }
    0x0003aa38 addiu s1, s1, 4               |     s1 += 4;
                                             |     if (a0 == 0) {
    0x0003aa3c beqz a0, 0x3abd8              |         goto label_38;
                                             |     }
    0x0003aa40 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x0003aa44 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x0003aa48 sw a1, 0x10(sp)               |     *(var_10h) = a1;
    0x0003aa4c addiu a3, v0, -0x7dec         |     a3 = v0 + -0x7dec;
    0x0003aa50 addiu a2, zero, -1            |     a2 = -1;
    0x0003aa54 addiu a1, zero, 1             |     a1 = 1;
    0x0003aa58 jalr t9                       |     t9 ();
    0x0003aa5c addiu fp, fp, 4               |     fp += 4;
    0x0003aa60 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003aa64 move t2, zero                 |     t2 = 0;
    0x0003aa68 move t1, zero                 |     t1 = 0;
    0x0003aa6c b 0x3a740                     |     goto label_2;
                                             |     if (s0 == 0) {
                                             | label_25:
    0x0003aa70 beql s0, zero, 0x3aab8        |         goto label_39;
                                             |     }
    0x0003aa74 move s0, fp                   |     s0 = fp;
    0x0003aa78 sll s0, s0, 2                 |     s0 <<= 2;
    0x0003aa7c addiu s6, sp, 0x64            |     s6 = sp + 0x64;
    0x0003aa80 addu s0, fp, s0               |     s0 = fp + s0;
                                             |     do {
    0x0003aa84 lbu v0, (s6)                  |         v0 = *(s6);
    0x0003aa88 lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x0003aa8c move a0, fp                   |         a0 = fp;
    0x0003aa90 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0003aa94 move a3, s5                   |         a3 = s5;
    0x0003aa98 addiu a2, zero, -1            |         a2 = -1;
    0x0003aa9c addiu a1, zero, 1             |         a1 = 1;
    0x0003aaa0 addiu fp, fp, 4               |         fp += 4;
    0x0003aaa4 jalr t9                       |         t9 ();
    0x0003aaa8 addiu s6, s6, 1               |         s6++;
    0x0003aaac lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003aab0 bne s0, fp, 0x3aa84           |         
                                             |     } while (s0 != fp);
    0x0003aab4 lbu v0, (s7)                  |     v0 = *(s7);
                                             | label_39:
    0x0003aab8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0003aabc lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x0003aac0 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
    0x0003aac4 addiu a3, v0, 0x53a0          |     a3 = v0 + 0x53a0;
    0x0003aac8 addiu a2, zero, -1            |     a2 = -1;
    0x0003aacc addiu a1, zero, 1             |     a1 = 1;
    0x0003aad0 move a0, s0                   |     a0 = s0;
    0x0003aad4 jalr t9                       |     t9 ();
    0x0003aad8 addiu fp, s0, 4               |     fp = s0 + 4;
    0x0003aadc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003aae0 b 0x3a808                     |     goto label_5;
                                             | label_23:
    0x0003aae4 lw t9, -0x794c(gp)            |     t9 = sym.imp.__sprintf_chk
                                             |     if (fp != 0) {
    0x0003aae8 beqz fp, 0x3ab1c              |         
    0x0003aaec sw t2, 0x44(sp)               |         *(var_44h) = t2;
    0x0003aaf0 sw t1, 0x40(sp)               |         *(var_40h) = t1;
    0x0003aaf4 move a0, fp                   |         a0 = fp;
    0x0003aaf8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0003aafc move a3, s5                   |         a3 = s5;
    0x0003ab00 addiu a2, zero, -1            |         a2 = -1;
    0x0003ab04 addiu a1, zero, 1             |         a1 = 1;
    0x0003ab08 jalr t9                       |         t9 ();
    0x0003ab0c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003ab10 lw t2, 0x44(sp)               |         t2 = *(var_44h);
    0x0003ab14 lw t1, 0x40(sp)               |         t1 = *(var_40h);
    0x0003ab18 addiu fp, fp, 4               |         fp += 4;
                                             |     }
    0x0003ab1c addiu s1, s1, 4               |     s1 += 4;
    0x0003ab20 b 0x3a740                     |     goto label_2;
                                             | label_27:
    0x0003ab24 andi s2, v0, 0x1f             |     s2 = v0 & 0x1f;
    0x0003ab28 sb v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0003ab2c move t2, zero                 |     t2 = 0;
    0x0003ab30 addiu s0, zero, 1             |     s0 = 1;
    0x0003ab34 addiu t1, zero, 1             |     t1 = 1;
    0x0003ab38 b 0x3a740                     |     goto label_2;
                                             | label_32:
    0x0003ab3c lw t1, -0x4940(v0)            |     t1 = *((v0 - 4688));
                                             |     if (t1 == 0) {
    0x0003ab40 beql t1, zero, 0x3a904        |         goto label_6;
                                             |     }
    0x0003ab44 lw v0, -0x7fb4(gp)            |     v0 = *((gp - 8173));
    0x0003ab48 addiu v0, sp, 0x64            |     v0 = sp + 0x64;
                                             |     if (fp != 0) {
    0x0003ab4c bnez fp, 0x3ac5c              |         goto label_40;
                                             |     }
    0x0003ab50 addu s1, s1, t3               |     s1 += t3;
                                             | label_9:
    0x0003ab54 move s0, zero                 |     s0 = 0;
    0x0003ab58 move t1, zero                 |     t1 = 0;
    0x0003ab5c b 0x3a740                     |     goto label_2;
                                             | label_28:
    0x0003ab60 andi s2, v0, 0xf              |     s2 = v0 & 0xf;
    0x0003ab64 sb v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0003ab68 move t2, zero                 |     t2 = 0;
    0x0003ab6c addiu s0, zero, 1             |     s0 = 1;
    0x0003ab70 addiu t1, zero, 2             |     t1 = 2;
    0x0003ab74 b 0x3a740                     |     goto label_2;
                                             | label_37:
    0x0003ab78 lw v1, 0x48(sp)               |     v1 = *(var_48h);
                                             |     if (a0 == 0) {
    0x0003ab7c beqz a0, 0x3abac              |         goto label_41;
                                             |     }
    0x0003ab80 sll v0, v0, 2                 |     v0 <<= 2;
    0x0003ab84 lwx v0, v0(v1)                |     __asm ("lwx v0, v0(v1)");
    0x0003ab88 addu v0, v0, gp               |     v0 += gp;
    0x0003ab8c jr v0                         |     v0 ();
    0x0003ab90 nop                           |     
                                             | label_18:
    0x0003aba4 addiu v0, zero, 0x5c          |     v0 = 0x5c;
                                             |     if (fp != 0) {
    0x0003aba8 bnez fp, 0x3a940              |         goto label_7;
                                             |     }
                                             | label_41:
    0x0003abac addiu s1, s1, 4               |     s1 += 4;
    0x0003abb0 move t2, zero                 |     t2 = 0;
    0x0003abb4 move fp, zero                 |     fp = 0;
    0x0003abb8 move t1, zero                 |     t1 = 0;
    0x0003abbc b 0x3a740                     |     goto label_2;
                                             | label_29:
    0x0003abc0 andi s2, v0, 7                |     s2 = v0 & 7;
    0x0003abc4 sb v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0003abc8 move t2, zero                 |     t2 = 0;
    0x0003abcc addiu s0, zero, 1             |     s0 = 1;
    0x0003abd0 addiu t1, zero, 3             |     t1 = 3;
    0x0003abd4 b 0x3a740                     |     goto label_2;
                                             | label_38:
    0x0003abd8 move fp, zero                 |     fp = 0;
    0x0003abdc move t2, zero                 |     t2 = 0;
    0x0003abe0 move t1, zero                 |     t1 = 0;
    0x0003abe4 b 0x3a740                     |     goto label_2;
                                             | label_33:
    0x0003abe8 addu a1, fp, t3               |     a1 = fp + t3;
                                             |     do {
    0x0003abec lbu a0, (v0)                  |         a0 = *(v0);
    0x0003abf0 addiu fp, fp, 1               |         fp++;
    0x0003abf4 addiu v0, v0, 1               |         v0++;
    0x0003abf8 sb a0, -1(fp)                 |         *((fp - 1)) = a0;
    0x0003abfc bne fp, a1, 0x3abec           |         
                                             |     } while (fp != a1);
    0x0003ac00 addu s1, s1, t3               |     s1 += t3;
    0x0003ac04 b 0x3a8f8                     |     goto label_8;
                                             | label_30:
    0x0003ac08 andi s2, v0, 3                |     s2 = v0 & 3;
    0x0003ac0c sb v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0003ac10 move t2, zero                 |     t2 = 0;
    0x0003ac14 addiu s0, zero, 1             |     s0 = 1;
    0x0003ac18 addiu t1, zero, 4             |     t1 = 4;
    0x0003ac1c b 0x3a740                     |     goto label_2;
                                             | label_34:
    0x0003ac20 addiu a2, zero, 0x80          |     a2 = 0x80;
    0x0003ac24 b 0x3ac30                     |     
                                             |     while (a1 == s2) {
    0x0003ac28 addiu v0, v0, 2               |         v0 += 2;
                                             |         if (a0 == a2) {
    0x0003ac2c beq a0, a2, 0x3ad08           |             goto label_42;
                                             |         }
    0x0003ac30 lhu a1, (v0)                  |         a1 = *(v0);
    0x0003ac34 addiu a0, a0, 1               |         a0++;
    0x0003ac38 bnel a1, s2, 0x3ac28          |         
                                             |     }
    0x0003ac3c addiu a0, a0, -0x80           |     a0 += -0x80;
                                             |     if (fp != 0) {
    0x0003ac40 beqz fp, 0x3ac4c              |         
    0x0003ac44 sb a0, (fp)                   |         *(fp) = a0;
    0x0003ac48 addiu fp, fp, 1               |         fp++;
                                             |     }
    0x0003ac4c addiu s1, s1, 1               |     s1++;
    0x0003ac50 move t2, zero                 |     t2 = 0;
    0x0003ac54 move s0, t3                   |     s0 = t3;
    0x0003ac58 b 0x3a740                     |     goto label_2;
                                             | label_40:
    0x0003ac5c addu a1, fp, t3               |     a1 = fp + t3;
                                             |     do {
    0x0003ac60 lbu a0, (v0)                  |         a0 = *(v0);
    0x0003ac64 addiu fp, fp, 1               |         fp++;
    0x0003ac68 addiu v0, v0, 1               |         v0++;
    0x0003ac6c sb a0, -1(fp)                 |         *((fp - 1)) = a0;
    0x0003ac70 bne fp, a1, 0x3ac60           |         
                                             |     } while (fp != a1);
    0x0003ac74 addu s1, s1, t3               |     s1 += t3;
    0x0003ac78 b 0x3ab54                     |     goto label_9;
                                             | label_31:
    0x0003ac7c sb v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0003ac80 move t2, zero                 |     t2 = 0;
    0x0003ac84 addiu s0, zero, 1             |     s0 = 1;
    0x0003ac88 addiu t1, zero, 5             |     t1 = 5;
    0x0003ac8c b 0x3a740                     |     goto label_2;
                                             | label_35:
    0x0003ac90 sll s6, t3, 2                 |     s6 = t3 << 2;
                                             |     if (fp == 0) {
    0x0003ac94 bnez fp, 0x3acb8              |         
    0x0003ac98 addu s1, s1, s6               |         s1 += s6;
    0x0003ac9c move t2, zero                 |         t2 = 0;
    0x0003aca0 move s0, zero                 |         s0 = 0;
    0x0003aca4 b 0x3a740                     |         goto label_2;
                                             | label_36:
    0x0003aca8 sb s2, (fp)                   |         *(fp) = s2;
    0x0003acac move s0, t3                   |         s0 = t3;
    0x0003acb0 addiu fp, fp, 1               |         fp++;
    0x0003acb4 b 0x3a740                     |         goto label_2;
                                             |     }
    0x0003acb8 addiu s3, sp, 0x64            |     s3 = sp + 0x64;
    0x0003acbc addu s0, fp, s6               |     s0 = fp + s6;
                                             |     do {
    0x0003acc0 lbu v0, (s3)                  |         v0 = *(s3);
    0x0003acc4 lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x0003acc8 sw t1, 0x40(sp)               |         *(var_40h) = t1;
    0x0003accc move a0, fp                   |         a0 = fp;
    0x0003acd0 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0003acd4 move a3, s5                   |         a3 = s5;
    0x0003acd8 addiu a2, zero, -1            |         a2 = -1;
    0x0003acdc addiu a1, zero, 1             |         a1 = 1;
    0x0003ace0 addiu fp, fp, 4               |         fp += 4;
    0x0003ace4 jalr t9                       |         t9 ();
    0x0003ace8 addiu s3, s3, 1               |         s3++;
    0x0003acec lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003acf0 lw t1, 0x40(sp)               |         t1 = *(var_40h);
    0x0003acf4 bne fp, s0, 0x3acc0           |         
                                             |     } while (fp != s0);
    0x0003acf8 addu s1, s1, s6               |     s1 += s6;
    0x0003acfc move t2, zero                 |     t2 = 0;
    0x0003ad00 move s0, zero                 |     s0 = 0;
    0x0003ad04 b 0x3a740                     |     goto label_2;
                                             | label_42:
    0x0003ad08 sll s0, t3, 2                 |     s0 = t3 << 2;
                                             |     if (fp != 0) {
    0x0003ad0c bnel fp, zero, 0x3ad18        |         
    0x0003ad10 sll t3, t3, 2                 |         t3 <<= 2;
    0x0003ad14 b 0x3a8f4                     |         goto label_10;
                                             |     }
    0x0003ad18 addiu s3, sp, 0x64            |     s3 = sp + 0x64;
    0x0003ad1c addu s0, fp, s0               |     s0 = fp + s0;
                                             |     do {
    0x0003ad20 lbu v0, (s3)                  |         v0 = *(s3);
    0x0003ad24 lw t9, -0x794c(gp)            |         t9 = sym.imp.__sprintf_chk
    0x0003ad28 sw t3, 0x44(sp)               |         *(var_44h) = t3;
    0x0003ad2c sw t1, 0x40(sp)               |         *(var_40h) = t1;
    0x0003ad30 move a0, fp                   |         a0 = fp;
    0x0003ad34 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0003ad38 move a3, s5                   |         a3 = s5;
    0x0003ad3c addiu a2, zero, -1            |         a2 = -1;
    0x0003ad40 addiu a1, zero, 1             |         a1 = 1;
    0x0003ad44 addiu fp, fp, 4               |         fp += 4;
    0x0003ad48 jalr t9                       |         t9 ();
    0x0003ad4c addiu s3, s3, 1               |         s3++;
    0x0003ad50 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003ad54 lw t1, 0x40(sp)               |         t1 = *(var_40h);
    0x0003ad58 lw t3, 0x44(sp)               |         t3 = *(var_44h);
    0x0003ad5c bne fp, s0, 0x3ad20           |         
                                             |     } while (fp != s0);
    0x0003ad60 sll t3, t3, 2                 |     t3 <<= 2;
    0x0003ad64 b 0x3a8f4                     |     goto label_10;
                                             | label_21:
    0x0003ad68 lw s2, -0x7d90(gp)            |     s2 = *((gp - 8036));
    0x0003ad6c lw t9, -0x7870(gp)            |     t9 = sym.imp.iconv_open;
    0x0003ad70 lw a0, -0x5ecc(s3)            |     a0 = *((s3 - 6067));
    0x0003ad74 sb zero, (fp)                 |     *(fp) = 0;
                                             |     /* str.utf_8 */
    0x0003ad78 addiu a1, s2, -0x7dd0         |     a1 = s2 + -0x7dd0;
    0x0003ad7c jalr t9                       |     t9 ();
    0x0003ad80 addiu s4, zero, -1            |     s4 = -1;
    0x0003ad84 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003ad88 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == s4) {
    0x0003ad8c beq v0, s4, 0x3aec8           |         goto label_43;
                                             |     }
    0x0003ad90 lw a2, 0x24(sp)               |     a2 = *(var_24h);
    0x0003ad94 subu v1, fp, a2               |     __asm ("subu v1, fp, a2");
    0x0003ad98 addiu v0, v1, 1               |     v0 = v1 + 1;
    0x0003ad9c sll a0, v0, 4                 |     a0 = v0 << 4;
    0x0003ada0 ext a1, v0, 0, 0x1c           |     __asm ("ext a1, v0, 0, 0x1c");
    0x0003ada4 sw v1, 0x5c(sp)               |     *(var_5ch) = v1;
    0x0003ada8 sw a2, 0x54(sp)               |     *(var_54h) = a2;
    0x0003adac sw a0, 0x60(sp)               |     *(var_60h) = a0;
                                             |     if (a1 != v0) {
    0x0003adb0 bne a1, v0, 0x3af14           |         goto label_44;
                                             |     }
    0x0003adb4 lw t9, -0x7f28(gp)            |     t9 = sym.xmalloc;
    0x0003adb8 bal 0x3cb1c                   |     sym_xmalloc ();
    0x0003adbc nop                           |     
    0x0003adc0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003adc4 move s1, v0                   |     s1 = v0;
    0x0003adc8 addiu v0, sp, 0x60            |     v0 = sp + 0x60;
    0x0003adcc lw t9, -0x77dc(gp)            |     t9 = sym.imp.iconv;
    0x0003add0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0003add4 addiu a3, sp, 0x58            |     a3 = sp + 0x58;
    0x0003add8 addiu a2, sp, 0x5c            |     a2 = sp + 0x5c;
    0x0003addc addiu a1, sp, 0x54            |     a1 = sp + 0x54;
    0x0003ade0 move a0, s0                   |     a0 = s0;
    0x0003ade4 sw s1, 0x58(sp)               |     *(var_58h) = s1;
    0x0003ade8 jalr t9                       |     t9 ();
    0x0003adec lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != s4) {
    0x0003adf0 bne v0, s4, 0x3ae68           |         goto label_45;
                                             |     }
    0x0003adf4 lw s4, -0x7fb4(gp)            |     s4 = *((gp - 8173));
    0x0003adf8 lw v0, -0x4954(s4)            |     v0 = *((s4 - 4693));
    0x0003adfc lw t9, -0x78c4(gp)            |     t9 = sym.imp.__errno_location;
                                             |     if (v0 == 0) {
    0x0003ae00 beqz v0, 0x3ae88              |         goto label_46;
                                             |     }
                                             | label_13:
    0x0003ae04 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x0003ae08 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x0003ae0c addiu s2, zero, 1             |     s2 = 1;
    0x0003ae10 sw s2, -0x4954(s4)            |     *((s4 - 4693)) = s2;
    0x0003ae14 bal 0x3cd20                   |     sym_xfree ();
    0x0003ae18 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003ae1c lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x0003ae20 move a0, s1                   |     a0 = s1;
    0x0003ae24 bal 0x3cd20                   |     sym_xfree ();
    0x0003ae28 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003ae2c lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x0003ae30 lw a2, 0xa0(sp)               |     a2 = *(arg_a0h);
    0x0003ae34 lw t9, -0x7e2c(gp)            |     t9 = sym.utf8_to_native;
    0x0003ae38 lw a1, 0x9c(sp)               |     a1 = *(arg_9ch);
    0x0003ae3c lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x0003ae40 sw zero, -0x4940(s1)          |     *((s1 - 4688)) = 0;
    0x0003ae44 bal 0x3a610                   |     sym_utf8_to_native ();
                                             |     goto label_11;
    0x0003ae48 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003ae4c sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0003ae50 sw s2, -0x4940(s1)            |     *((s1 - 4688)) = s2;
                                             |     do {
    0x0003ae54 lw t9, -0x77d8(gp)            |         t9 = sym.imp.iconv_close;
    0x0003ae58 move a0, s0                   |         a0 = s0;
    0x0003ae5c jalr t9                       |         t9 ();
    0x0003ae60 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003ae64 b 0x3a7a0                     |         goto label_12;
                                             | label_45:
    0x0003ae68 lw v0, 0x58(sp)               |         v0 = *(var_58h);
    0x0003ae6c lw t9, -0x7f24(gp)            |         t9 = sym.xfree;
    0x0003ae70 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0003ae74 sb zero, (v0)                 |         *(v0) = 0;
    0x0003ae78 sw s1, 0x24(sp)               |         *(var_24h) = s1;
    0x0003ae7c bal 0x3cd20                   |         sym_xfree ();
    0x0003ae80 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003ae84 b 0x3ae54                     |         
                                             |     } while (1);
                                             | label_46:
    0x0003ae88 lw s3, -0x5ecc(s3)            |     s3 = *((s3 - 6067));
    0x0003ae8c jalr t9                       |     t9 ();
    0x0003ae90 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003ae94 lw t9, -0x787c(gp)            |     t9 = sym.imp.strerror;
    0x0003ae98 lw a0, (v0)                   |     a0 = *(v0);
    0x0003ae9c jalr t9                       |     t9 ();
    0x0003aea0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003aea4 move a3, v0                   |     a3 = v0;
    0x0003aea8 move a2, s3                   |     a2 = s3;
    0x0003aeac lw a0, -0x7d90(gp)            |     a0 = *((gp - 8036));
    0x0003aeb0 lw t9, -0x7f30(gp)            |     t9 = sym.g10_log_info;
                                             |     /* str.utf_8 */
    0x0003aeb4 addiu a1, s2, -0x7dd0         |     a1 = s2 + -0x7dd0;
                                             |     /* str.conversion_from___s_to___s_failed:__s_n */
    0x0003aeb8 addiu a0, a0, -0x7d50         |     a0 += -0x7d50;
    0x0003aebc bal 0x384ac                   |     sym_g10_log_info ();
    0x0003aec0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003aec4 b 0x3ae04                     |     goto label_13;
                                             | label_43:
    0x0003aec8 lw t9, -0x7fdc(gp)            |     t9 = *(gp);
    0x0003aecc lw a0, -0x5ecc(s3)            |     a0 = *((s3 - 6067));
    0x0003aed0 addiu a2, zero, 1             |     a2 = 1;
                                             |     /* fcn.00039814 */
    0x0003aed4 addiu t9, t9, -0x67ec         |     t9 += -0x67ec;
                                             |     /* str.utf_8 */
    0x0003aed8 addiu a1, s2, -0x7dd0         |     a1 = s2 + -0x7dd0;
    0x0003aedc bal 0x39814                   |     fcn_00039814 ();
    0x0003aee0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003aee4 lw t9, -0x7f24(gp)            |     t9 = sym.xfree;
    0x0003aee8 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x0003aeec bal 0x3cd20                   |     sym_xfree ();
    0x0003aef0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003aef4 lw a2, 0xa0(sp)               |     a2 = *(arg_a0h);
    0x0003aef8 lw a1, 0x9c(sp)               |     a1 = *(arg_9ch);
    0x0003aefc lw t9, -0x7e2c(gp)            |     t9 = sym.utf8_to_native;
    0x0003af00 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x0003af04 bal 0x3a610                   |     sym_utf8_to_native ();
                                             |     goto label_11;
    0x0003af08 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0003af0c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003af10 b 0x3a7a0                     |     goto label_12;
                                             | label_44:
    0x0003af14 lw a2, -0x7d90(gp)            |     a2 = *((gp - 8036));
    0x0003af18 lw a0, -0x7d90(gp)            |     a0 = *((gp - 8036));
    0x0003af1c lw t9, -0x7f18(gp)            |     t9 = sym.g10_log_bug0;
                                             |     /* str.utf8_to_native */
    0x0003af20 addiu a2, a2, -0x7c90         |     a2 += -0x7c90;
    0x0003af24 addiu a1, zero, 0x3f0         |     a1 = 0x3f0;
                                             |     /* str..._.._gnupg_1.4.7_util_strgutil.c */
    0x0003af28 addiu a0, a0, -0x7d24         |     a0 += -0x7d24;
    0x0003af2c bal 0x38750                   |     sym_g10_log_bug0 ();
                                             | label_22:
    0x0003af30 lw t9, -0x7834(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0003af34 jalr t9                       |     t9 ();
    0x0003af38 nop                           |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x21b8c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.write_status_text ()     | void write_status_text () {
                                         | label_3:
    0x00021b8c lui gp, 4                 |     
    0x00021b90 addiu gp, gp, 0x5a4       |     
    0x00021b94 addu gp, gp, t9           |     gp += t9;
    0x00021b98 addiu sp, sp, -0x30       |     
    0x00021b9c sw s1, 0x1c(sp)           |     *(var_1ch) = s1;
    0x00021ba0 lw s1, -0x7fb4(gp)        |     s1 = *((gp - 8173));
    0x00021ba4 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00021ba8 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x00021bac lw a3, -0x4c9c(s1)        |     a3 = *((s1 - 4903));
    0x00021bb0 sw s4, 0x28(sp)           |     *(var_28h) = s4;
    0x00021bb4 sw s3, 0x24(sp)           |     *(var_24h) = s3;
    0x00021bb8 sw s2, 0x20(sp)           |     *(var_20h) = s2;
    0x00021bbc sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00021bc0 lw v0, -0x7ca4(gp)        |     v0 = *(gp);
                                         |     if (a3 == 0) {
    0x00021bc4 beqz a3, 0x21c80          |         goto label_4;
                                         |     }
    0x00021bc8 move s2, a0               |     s2 = a0;
    0x00021bcc lw v0, (v0)               |     v0 = *(v0);
    0x00021bd0 move s0, a1               |     s0 = a1;
                                         |     if (v0 != 0) {
    0x00021bd4 beqz v0, 0x21c00          |         
    0x00021bd8 addiu v0, a0, -0x24       |         v0 = a0 + -0x24;
    0x00021bdc sltiu v1, v0, 0x22        |         v1 = (v0 < 0x22) ? 1 : 0;
    0x00021be0 sll v1, v0, 2             |         v1 = v0 << 2;
                                         |         if (v1 == 0) {
    0x00021be4 beqz v1, 0x21c80          |             goto label_4;
                                         |         }
    0x00021be8 lw v0, -0x7fdc(gp)        |         v0 = *(gp);
    0x00021bec addiu v0, v0, 0x6b50      |         v0 += 0x6b50;
    0x00021bf0 lwx v0, v1(v0)            |         __asm ("lwx v0, v1(v0)");
    0x00021bf4 addu v0, v0, gp           |         v0 += gp;
    0x00021bf8 jr v0                     |         v0 ();
    0x00021bfc nop                       |         
                                         |     }
    0x00021c00 lw a0, -0x7fdc(gp)        |     a0 = *(gp);
    0x00021c04 lw t9, -0x7848(gp)        |     t9 = sym.imp.fwrite;
    0x00021c08 addiu a2, zero, 9         |     a2 = 9;
    0x00021c0c addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str._GNUPG:__ */
    0x00021c10 addiu a0, a0, 0x6b44      |     a0 += 0x6b44;
    0x00021c14 jalr t9                   |     t9 ();
    0x00021c18 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00021c1c lw t9, -0x7bd4(gp)        |     t9 = *(gp);
                                         |     /* fcn.00021598 */
    0x00021c20 addiu t9, t9, 0x1598      |     t9 += 0x1598;
    0x00021c24 move a0, s2               |     a0 = s2;
    0x00021c28 bal 0x21598               |     fcn_00021598 ();
    0x00021c2c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00021c30 lw a1, -0x4c9c(s1)        |     a1 = *((s1 - 4903));
    0x00021c34 lw t9, -0x793c(gp)        |     t9 = sym.imp.fputs;
    0x00021c38 move a0, v0               |     a0 = v0;
    0x00021c3c jalr t9                   |     t9 ();
    0x00021c40 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00021c44 bnez s0, 0x21ca0          |     
                                         |     while (v0 == 0) {
    0x00021c48 lw t9, -0x7840(gp)        |         t9 = sym.imp._IO_putc;
                                         | label_0:
    0x00021c4c lw a1, -0x4c9c(s1)        |         a1 = *((s1 - 4903));
    0x00021c50 addiu a0, zero, 0xa       |         a0 = 0xa;
    0x00021c54 jalr t9                   |         t9 ();
    0x00021c58 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00021c5c lw t9, -0x77fc(gp)        |         t9 = sym.imp.fflush;
    0x00021c60 lw a0, -0x4c9c(s1)        |         a0 = *((s1 - 4903));
    0x00021c64 jalr t9                   |         t9 ();
    0x00021c68 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 != 0) {
    0x00021c6c beqz v0, 0x21c80          |             
    0x00021c70 lw v0, -0x7fc8(gp)        |             v0 = *(gp);
    0x00021c74 lw v0, 0x214(v0)          |             v0 = *(v0);
    0x00021c78 lw t9, -0x7f90(gp)        |             t9 = sym.g10_exit;
                                         |             if (v0 != 0) {
    0x00021c7c bnez v0, 0x21d44          |                 goto label_5;
                                         |             }
                                         |         }
                                         | label_4:
    0x00021c80 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x00021c84 lw s4, 0x28(sp)           |         s4 = *(var_28h);
    0x00021c88 lw s3, 0x24(sp)           |         s3 = *(var_24h);
    0x00021c8c lw s2, 0x20(sp)           |         s2 = *(var_20h);
    0x00021c90 lw s1, 0x1c(sp)           |         s1 = *(var_1ch);
    0x00021c94 lw s0, 0x18(sp)           |         s0 = *(var_18h);
    0x00021c98 addiu sp, sp, 0x30        |         
    0x00021c9c jr ra                     |         return v1;
    0x00021ca0 lw t9, -0x7840(gp)        |         t9 = sym.imp._IO_putc;
    0x00021ca4 lw a1, -0x4c9c(s1)        |         a1 = *((s1 - 4903));
    0x00021ca8 addiu a0, zero, 0x20      |         a0 = 0x20;
    0x00021cac jalr t9                   |         t9 ();
    0x00021cb0 lb v0, (s0)               |         v0 = *(s0);
    0x00021cb4 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00021cb8 beqz v0, 0x21c48          |         
                                         |     }
    0x00021cbc lw s3, -0x7fdc(gp)        |     s3 = *(gp);
    0x00021cc0 lw s4, -0x7fdc(gp)        |     s4 = *(gp);
    0x00021cc4 addiu s2, zero, 0xa       |     s2 = 0xa;
                                         |     /* esilref: '\r' */
    0x00021cc8 addiu s3, s3, 0x4c28      |     s3 += 0x4c28;
                                         |     /* esilref: '\n' */
    0x00021ccc addiu s4, s4, 0x4c24      |     s4 += 0x4c24;
    0x00021cd0 b 0x21cf0                 |     goto label_6;
                                         | label_1:
    0x00021cd4 lbu a0, (s0)              |     a0 = *(s0);
    0x00021cd8 jalr t9                   |     t9 ();
    0x00021cdc lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         | label_2:
    0x00021ce0 addiu s0, s0, 1           |     s0++;
    0x00021ce4 lb v0, (s0)               |     v0 = *(s0);
    0x00021ce8 lw t9, -0x7840(gp)        |     t9 = sym.imp._IO_putc;
                                         |     if (v0 == 0) {
    0x00021cec beqz v0, 0x21c4c          |         goto label_0;
                                         |     }
                                         | label_6:
    0x00021cf0 lw a1, -0x4c9c(s1)        |     a1 = *((s1 - 4903));
                                         |     if (v0 == s2) {
    0x00021cf4 beq v0, s2, 0x21d24       |         goto label_7;
                                         |     }
    0x00021cf8 addiu v1, zero, 0xd       |     v1 = 0xd;
    0x00021cfc lw t9, -0x7840(gp)        |     t9 = sym.imp._IO_putc;
                                         |     if (v0 != v1) {
    0x00021d00 bne v0, v1, 0x21cd4       |         goto label_1;
                                         |     }
    0x00021d04 lw t9, -0x7848(gp)        |     t9 = sym.imp.fwrite;
    0x00021d08 move a3, a1               |     a3 = a1;
    0x00021d0c addiu a2, zero, 2         |     a2 = 2;
    0x00021d10 addiu a1, zero, 1         |     a1 = 1;
    0x00021d14 move a0, s3               |     a0 = s3;
    0x00021d18 jalr t9                   |     t9 ();
    0x00021d1c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00021d20 b 0x21ce0                 |     goto label_2;
                                         | label_7:
    0x00021d24 lw t9, -0x7848(gp)        |     t9 = sym.imp.fwrite;
    0x00021d28 move a3, a1               |     a3 = a1;
    0x00021d2c addiu a2, zero, 2         |     a2 = 2;
    0x00021d30 addiu a1, zero, 1         |     a1 = 1;
    0x00021d34 move a0, s4               |     a0 = s4;
    0x00021d38 jalr t9                   |     t9 ();
    0x00021d3c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00021d40 b 0x21ce0                 |     goto label_2;
                                         | label_5:
    0x00021d44 move a0, zero             |     a0 = 0;
    0x00021d48 bal 0x62b4                |     sym_g10_exit ();
    0x00021d4c lui gp, 4                 |     
    0x00021d50 addiu gp, gp, 0x3e4       |     
    0x00021d54 addu gp, gp, t9           |     gp += t9;
    0x00021d58 addiu sp, sp, -0x68       |     
    0x00021d5c addiu v0, zero, 0xa       |     v0 = 0xa;
    0x00021d60 sw s0, 0x5c(sp)           |     *(var_5ch) = s0;
    0x00021d64 lw s0, -0x781c(gp)        |     s0 = *((gp - 7687));
    0x00021d68 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x00021d6c sw s1, 0x60(sp)           |     *(var_60h) = s1;
    0x00021d70 lw v1, (s0)               |     v1 = *(s0);
    0x00021d74 sw ra, 0x64(sp)           |     *(var_64h) = ra;
    0x00021d78 sw v1, 0x54(sp)           |     *(var_54h) = v1;
    0x00021d7c lw t9, -0x794c(gp)        |     t9 = sym.imp.__sprintf_chk
    0x00021d80 addiu s1, sp, 0x20        |     s1 = sp + 0x20;
                                         |     if (a1 == v0) {
    0x00021d84 beq a1, v0, 0x21de0       |         goto label_8;
                                         |     }
    0x00021d88 lw a3, -0x7fdc(gp)        |     a3 = *(gp);
    0x00021d8c sw a1, 0x14(sp)           |     *(var_14h) = a1;
    0x00021d90 sw a0, 0x10(sp)           |     *(var_10h_2) = a0;
                                         |     /* str._.20s__c_0_0 */
    0x00021d94 addiu a3, a3, 0x6be8      |     a3 += 0x6be8;
    0x00021d98 addiu a2, zero, 0x32      |     a2 = 0x32;
    0x00021d9c addiu a1, zero, 1         |     a1 = 1;
    0x00021da0 move a0, s1               |     a0 = s1;
    0x00021da4 jalr t9                   |     t9 ();
    0x00021da8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     do {
    0x00021dac lw t9, -0x7d80(gp)        |         t9 = sym.write_status_text;
    0x00021db0 move a1, s1               |         a1 = s1;
    0x00021db4 addiu a0, zero, 0x32      |         a0 = 0x32;
    0x00021db8 bal 0x21b8c               |         sym_write_status_text ();
                                         |         goto label_3;
    0x00021dbc lw v1, 0x54(sp)           |         v1 = *(var_54h);
    0x00021dc0 lw v0, (s0)               |         v0 = *(s0);
    0x00021dc4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v1 != v0) {
    0x00021dc8 bne v1, v0, 0x21e04       |             goto label_9;
                                         |         }
    0x00021dcc lw ra, 0x64(sp)           |         ra = *(var_64h);
    0x00021dd0 lw s1, 0x60(sp)           |         s1 = *(var_60h);
    0x00021dd4 lw s0, 0x5c(sp)           |         s0 = *(var_5ch);
    0x00021dd8 addiu sp, sp, 0x68        |         
    0x00021ddc jr ra                     |         return v1;
                                         | label_8:
    0x00021de0 lw a3, -0x7fdc(gp)        |         a3 = *(gp);
    0x00021de4 sw a0, 0x10(sp)           |         *(var_10h_2) = a0;
                                         |         /* str._.20s_X_100_100 */
    0x00021de8 addiu a3, a3, 0x6bd8      |         a3 += 0x6bd8;
    0x00021dec addiu a2, zero, 0x32      |         a2 = 0x32;
    0x00021df0 addiu a1, zero, 1         |         a1 = 1;
    0x00021df4 move a0, s1               |         a0 = s1;
    0x00021df8 jalr t9                   |         t9 ();
    0x00021dfc lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00021e00 b 0x21dac                 |         
                                         |     } while (1);
                                         | label_9:
    0x00021e04 lw t9, -0x7834(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00021e08 jalr t9                   |     t9 ();
    0x00021e0c nop                       |     
                                         | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/gpgv @ 0x22334 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.write_status_text_and_buffer ()      | void write_status_text_and_buffer () {
    0x00022334 lui gp, 4                             |     
    0x00022338 addiu gp, gp, -0x204                  |     
    0x0002233c addu gp, gp, t9                       |     gp += t9;
    0x00022340 addiu sp, sp, -0x50                   |     
    0x00022344 sw s1, 0x2c(sp)                       |     *(var_2ch_2) = s1;
    0x00022348 lw s1, -0x7fb4(gp)                    |     s1 = *((gp - 8173));
    0x0002234c sw gp, 0x10(sp)                       |     *(var_10h_3) = gp;
    0x00022350 sw fp, 0x48(sp)                       |     *(var_10h_2) = fp;
    0x00022354 lw v1, -0x4c9c(s1)                    |     v1 = *((s1 - 4903));
    0x00022358 sw ra, 0x4c(sp)                       |     *(var_4ch) = ra;
    0x0002235c sw s7, 0x44(sp)                       |     *(var_44h) = s7;
    0x00022360 sw s6, 0x40(sp)                       |     *(var_40h) = s6;
    0x00022364 sw s5, 0x3c(sp)                       |     *(var_3ch) = s5;
    0x00022368 sw s4, 0x38(sp)                       |     *(var_38h) = s4;
    0x0002236c sw s3, 0x34(sp)                       |     *(var_34h_2) = s3;
    0x00022370 sw s2, 0x30(sp)                       |     *(var_30h) = s2;
    0x00022374 sw s0, 0x28(sp)                       |     *(var_28h_2) = s0;
    0x00022378 sw a1, 0x54(sp)                       |     *(var_1ch_2) = a1;
    0x0002237c lw fp, 0x60(sp)                       |     fp = *(var_28h);
                                                     |     if (v1 == 0) {
    0x00022380 beqz v1, 0x22440                      |         goto label_12;
                                                     |     }
    0x00022384 lw v0, -0x7ca4(gp)                    |     v0 = *(gp);
    0x00022388 move s5, a2                           |     s5 = a2;
    0x0002238c lw v0, (v0)                           |     v0 = *(v0);
    0x00022390 move s7, a3                           |     s7 = a3;
                                                     |     if (v0 == 0) {
    0x00022394 beqz v0, 0x22470                      |         goto label_13;
                                                     |     }
    0x00022398 addiu v0, a0, -0x24                   |     v0 = a0 + -0x24;
    0x0002239c sltiu a1, v0, 0x22                    |     a1 = (v0 < 0x22) ? 1 : 0;
    0x000223a0 sll a1, v0, 2                         |     a1 = v0 << 2;
                                                     |     if (a1 == 0) {
    0x000223a4 beqz a1, 0x22440                      |         goto label_12;
                                                     |     }
    0x000223a8 lw v0, -0x7fdc(gp)                    |     v0 = *(gp);
    0x000223ac addiu v0, v0, 0x6c88                  |     v0 += 0x6c88;
    0x000223b0 lwx v0, a1(v0)                        |     __asm ("lwx v0, a1(v0)");
    0x000223b4 addu v0, v0, gp                       |     v0 += gp;
    0x000223b8 jr v0                                 |     v0 ();
    0x000223bc nop                                   |     
                                                     | label_0:
    0x000223c0 move t4, zero                         |     t4 = 0;
                                                     |     if (s0 != 0) {
    0x000223c4 bnez s0, 0x225f0                      |         goto label_14;
                                                     |     }
                                                     | label_9:
    0x000223c8 move s7, v0                           |     s7 = v0;
                                                     |     if (s5 == v1) {
    0x000223cc beq s5, v1, 0x225d8                   |         goto label_15;
                                                     |     }
    0x000223d0 move s6, v1                           |     s6 = v1;
    0x000223d4 lw t9, -0x7848(gp)                    |     t9 = sym.imp.fwrite;
                                                     | label_6:
    0x000223d8 sw t4, 0x18(sp)                       |     *(var_18h_3) = t4;
    0x000223dc move a3, a1                           |     a3 = a1;
    0x000223e0 addiu a2, zero, 1                     |     a2 = 1;
    0x000223e4 subu a1, s6, s5                       |     __asm ("subu a1, s6, s5");
    0x000223e8 move a0, s5                           |     a0 = s5;
    0x000223ec jalr t9                               |     t9 ();
    0x000223f0 lw gp, 0x10(sp)                       |     gp = *(var_10h_3);
    0x000223f4 lw a1, -0x4c9c(s1)                    |     a1 = *((s1 - 4903));
    0x000223f8 lw t4, 0x18(sp)                       |     t4 = *(var_18h_3);
                                                     |     if (s0 != 0) {
    0x000223fc bnez s0, 0x22598                      |         goto label_16;
                                                     |     }
                                                     |     if (t4 == 0) {
                                                     | label_7:
    0x00022400 beqz t4, 0x22578                      |         goto label_17;
                                                     |     }
    0x00022404 nop                                   |     
    0x00022408 lw t9, -0x7840(gp)                    |     t9 = sym.imp._IO_putc;
                                                     |     if (s7 != 0) {
    0x0002240c bnez s7, 0x225fc                      |         goto label_18;
                                                     |     }
                                                     |     do {
                                                     | label_5:
    0x00022410 addiu a0, zero, 0xa                   |         a0 = 0xa;
    0x00022414 jalr t9                               |         t9 ();
    0x00022418 lw gp, 0x10(sp)                       |         gp = *(var_10h_3);
    0x0002241c lw t9, -0x77fc(gp)                    |         t9 = sym.imp.fflush;
    0x00022420 lw a0, -0x4c9c(s1)                    |         a0 = *((s1 - 4903));
    0x00022424 jalr t9                               |         t9 ();
    0x00022428 lw gp, 0x10(sp)                       |         gp = *(var_10h_3);
                                                     |         if (v0 != 0) {
    0x0002242c beqz v0, 0x22440                      |             
    0x00022430 lw v0, -0x7fc8(gp)                    |             v0 = *(gp);
    0x00022434 lw v0, 0x214(v0)                      |             v0 = *(v0);
    0x00022438 lw t9, -0x7f90(gp)                    |             t9 = sym.g10_exit;
                                                     |             if (v0 != 0) {
    0x0002243c bnez v0, 0x22618                      |                 goto label_19;
                                                     |             }
                                                     |         }
                                                     | label_12:
    0x00022440 lw ra, 0x4c(sp)                       |         ra = *(var_4ch);
    0x00022444 lw fp, 0x48(sp)                       |         fp = *(var_10h_2);
    0x00022448 lw s7, 0x44(sp)                       |         s7 = *(var_44h);
    0x0002244c lw s6, 0x40(sp)                       |         s6 = *(var_40h);
    0x00022450 lw s5, 0x3c(sp)                       |         s5 = *(var_3ch);
    0x00022454 lw s4, 0x38(sp)                       |         s4 = *(var_38h);
    0x00022458 lw s3, 0x34(sp)                       |         s3 = *(var_34h_2);
    0x0002245c lw s2, 0x30(sp)                       |         s2 = *(var_30h);
    0x00022460 lw s1, 0x2c(sp)                       |         s1 = *(var_2ch_2);
    0x00022464 lw s0, 0x28(sp)                       |         s0 = *(var_28h_2);
    0x00022468 addiu sp, sp, 0x50                    |         
    0x0002246c jr ra                                 |         return v1;
                                                     | label_13:
    0x00022470 addiu v0, zero, -1                    |         v0 = -1;
    0x00022474 addiu s4, zero, 0x1f                  |         s4 = 0x1f;
                                                     |         if (fp == v0) {
    0x00022478 beq fp, v0, 0x22570                   |             goto label_20;
                                                     |         }
    0x0002247c addiu s4, zero, 0x20                  |         s4 = 0x20;
                                                     | label_3:
    0x00022480 lw t9, -0x7bd4(gp)                    |         t9 = *(gp);
                                                     |         /* fcn.00021598 */
    0x00022484 addiu t9, t9, 0x1598                  |         t9 += 0x1598;
    0x00022488 addiu s0, zero, 1                     |         s0 = 1;
    0x0002248c bal 0x21598                           |         fcn_00021598 ();
    0x00022490 lw gp, 0x10(sp)                       |         gp = *(var_10h_3);
    0x00022494 sw v0, 0x1c(sp)                       |         *(var_1ch_3) = v0;
    0x00022498 lw s2, -0x7fdc(gp)                    |         s2 = *(gp);
    0x0002249c lw a0, -0x7fdc(gp)                    |         a0 = *(gp);
                                                     |         /* str.___02X */
    0x000224a0 addiu v0, s2, 0x6c80                  |         v0 = s2 + 0x6c80;
    0x000224a4 sw a0, 0x20(sp)                       |         *(var_20h_3) = a0;
    0x000224a8 sw v0, 0x24(sp)                       |         *(var_24h_3) = v0;
                                                     | label_11:
    0x000224ac lw v0, 0x20(sp)                       |         v0 = *(var_20h_3);
    0x000224b0 lw t9, -0x7920(gp)                    |         t9 = sym.imp.__fprintf_chk;
    0x000224b4 lw a3, 0x1c(sp)                       |         a3 = *(var_1ch_3);
    0x000224b8 addiu a1, zero, 1                     |         a1 = 1;
    0x000224bc addiu a2, v0, 0x6c70                  |         a2 = v0 + 0x6c70;
    0x000224c0 move a0, v1                           |         a0 = v1;
    0x000224c4 jalr t9                               |         t9 ();
    0x000224c8 lw gp, 0x10(sp)                       |         gp = *(var_10h_3);
    0x000224cc lw a1, -0x4c9c(s1)                    |         a1 = *((s1 - 4903));
                                                     |         if (s0 == 0) {
    0x000224d0 beqz s0, 0x225d0                      |             goto label_21;
                                                     |         }
    0x000224d4 lw v0, 0x54(sp)                       |         v0 = *(var_1ch_2);
    0x000224d8 lw t9, -0x793c(gp)                    |         t9 = sym.imp.fputs;
                                                     |         if (v0 == 0) {
    0x000224dc beqz v0, 0x225d0                      |             goto label_21;
                                                     |         }
    0x000224e0 move a0, v0                           |         a0 = v0;
    0x000224e4 jalr t9                               |         t9 ();
    0x000224e8 lw gp, 0x10(sp)                       |         gp = *(var_10h_3);
    0x000224ec lw t9, -0x78a0(gp)                    |         t9 = sym.imp.strlen;
    0x000224f0 lw a0, 0x54(sp)                       |         a0 = *(var_1ch_2);
    0x000224f4 jalr t9                               |         t9 ();
    0x000224f8 lw gp, 0x10(sp)                       |         gp = *(var_10h_3);
    0x000224fc lw a1, -0x4c9c(s1)                    |         a1 = *((s1 - 4903));
    0x00022500 move s2, v0                           |         s2 = v0;
                                                     | label_8:
    0x00022504 lw t9, -0x7840(gp)                    |         t9 = sym.imp._IO_putc;
    0x00022508 beqz s7, 0x22410                      |         
                                                     |     } while (s7 == 0);
    0x0002250c addiu s3, zero, 0x25                  |     s3 = 0x25;
                                                     | label_4:
    0x00022510 move s6, s5                           |     s6 = s5;
    0x00022514 b 0x2255c                             |     goto label_22;
                                                     | label_1:
    0x00022518 slt v1, s4, v0                        |     v1 = (s4 < v0) ? 1 : 0;
    0x0002251c addiu s0, zero, 1                     |     s0 = 1;
                                                     |     if (v1 != 0) {
    0x00022520 beqz v1, 0x2252c                      |         
    0x00022524 xori v0, v0, 0x7f                     |         v0 ^= 0x7f;
    0x00022528 sltiu s0, v0, 1                       |         s0 = (v0 < 1) ? 1 : 0;
                                                     |     }
                                                     | label_2:
    0x0002252c addiu v0, s7, -1                      |     v0 = s7 + -1;
                                                     |     if (fp != 0) {
    0x00022530 beqz fp, 0x22544                      |         
    0x00022534 addiu s2, s2, 1                       |         s2++;
    0x00022538 sltu v0, fp, s2                       |         v0 = (fp < s2) ? 1 : 0;
    0x0002253c addiu v0, s7, -1                      |         v0 = s7 + -1;
                                                     |         if (v0 != 0) {
    0x00022540 bnez v0, 0x225e0                      |             goto label_23;
                                                     |         }
                                                     |     }
    0x00022544 addiu v1, s6, 1                       |     v1 = s6 + 1;
                                                     |     if (v0 == 0) {
    0x00022548 beqz v0, 0x223c0                      |         goto label_0;
                                                     |     }
    0x0002254c move t4, zero                         |     t4 = 0;
                                                     |     if (s0 != 0) {
    0x00022550 bnez s0, 0x22588                      |         goto label_10;
                                                     |     }
    0x00022554 move s7, v0                           |     s7 = v0;
    0x00022558 move s6, v1                           |     s6 = v1;
                                                     | label_22:
    0x0002255c lb v0, (s6)                           |     v0 = *(s6);
    0x00022560 andi v0, v0, 0xff                     |     v0 &= 0xff;
                                                     |     if (v0 != s3) {
    0x00022564 bne v0, s3, 0x22518                   |         goto label_1;
                                                     |     }
    0x00022568 addiu s0, zero, 1                     |     s0 = 1;
    0x0002256c b 0x2252c                             |     goto label_2;
                                                     | label_20:
    0x00022570 move fp, zero                         |     fp = 0;
    0x00022574 b 0x22480                             |     goto label_3;
                                                     | label_17:
    0x00022578 move s5, s6                           |     s5 = s6;
                                                     |     if (s7 != 0) {
    0x0002257c bnez s7, 0x22510                      |         goto label_4;
                                                     |     }
    0x00022580 lw t9, -0x7840(gp)                    |     t9 = sym.imp._IO_putc;
    0x00022584 b 0x22410                             |     goto label_5;
                                                     | label_10:
    0x00022588 addiu s0, zero, 1                     |     s0 = 1;
                                                     |     if (s5 != s6) {
    0x0002258c beq s5, s6, 0x2259c                   |         
    0x00022590 lw t9, -0x7848(gp)                    |         t9 = sym.imp.fwrite;
    0x00022594 b 0x223d8                             |         goto label_6;
                                                     | label_16:
    0x00022598 move s5, s6                           |         s5 = s6;
                                                     |     }
    0x0002259c lw t9, -0x7920(gp)                    |     t9 = sym.imp.__fprintf_chk;
    0x000225a0 lbu a3, (s5)                          |     a3 = *(s5);
    0x000225a4 lw a2, 0x24(sp)                       |     a2 = *(var_24h_3);
    0x000225a8 sw t4, 0x18(sp)                       |     *(var_18h_3) = t4;
    0x000225ac move a0, a1                           |     a0 = a1;
    0x000225b0 addiu a1, zero, 1                     |     a1 = 1;
    0x000225b4 jalr t9                               |     t9 ();
    0x000225b8 addiu s6, s5, 1                       |     s6 = s5 + 1;
    0x000225bc lw gp, 0x10(sp)                       |     gp = *(var_10h_3);
    0x000225c0 lw a1, -0x4c9c(s1)                    |     a1 = *((s1 - 4903));
    0x000225c4 addiu s7, s7, -1                      |     s7 += -1;
    0x000225c8 lw t4, 0x18(sp)                       |     t4 = *(var_18h_3);
    0x000225cc b 0x22400                             |     goto label_7;
                                                     | label_21:
    0x000225d0 move s2, zero                         |     s2 = 0;
    0x000225d4 b 0x22504                             |     goto label_8;
                                                     | label_15:
    0x000225d8 move s6, s5                           |     s6 = s5;
    0x000225dc b 0x22400                             |     goto label_7;
                                                     | label_23:
    0x000225e0 move v1, s6                           |     v1 = s6;
    0x000225e4 move v0, s7                           |     v0 = s7;
    0x000225e8 addiu t4, zero, 1                     |     t4 = 1;
                                                     |     if (s0 == 0) {
    0x000225ec beqz s0, 0x223c8                      |         goto label_9;
                                                     |     }
                                                     | label_14:
    0x000225f0 addiu s6, v1, -1                      |     s6 = v1 + -1;
    0x000225f4 addiu s7, v0, 1                       |     s7 = v0 + 1;
    0x000225f8 b 0x22588                             |     goto label_10;
                                                     | label_18:
    0x000225fc addiu a0, zero, 0xa                   |     a0 = 0xa;
    0x00022600 jalr t9                               |     t9 ();
    0x00022604 move s5, s6                           |     s5 = s6;
    0x00022608 lw gp, 0x10(sp)                       |     gp = *(var_10h_3);
    0x0002260c lw v1, -0x4c9c(s1)                    |     v1 = *((s1 - 4903));
    0x00022610 move s0, zero                         |     s0 = 0;
    0x00022614 b 0x224ac                             |     goto label_11;
                                                     | label_19:
    0x00022618 move a0, zero                         |     a0 = 0;
    0x0002261c bal 0x62b4                            |     return sym_g10_exit ();
                                                     | }

[*] Function sprintf used 48 times gpgv