[*] Binary protection state of pdbtool

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


[*] Function fprintf tear down of pdbtool

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/pdbtool @ 0x5d98 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00005d98 ()              | void fcn_00005d98 () {
                                         | label_5:
    0x00005d98 lui gp, 3                 |     
    0x00005d9c addiu gp, gp, -0x2898     |     
    0x00005da0 addu gp, gp, t9           |     gp += t9;
    0x00005da4 addiu sp, sp, -0x78       |     
    0x00005da8 lw t9, -0x7c5c(gp)        |     t9 = sym.imp.g_dir_open;
    0x00005dac sw s6, 0x68(sp)           |     *(var_68h) = s6;
    0x00005db0 lw s6, -0x7a84(gp)        |     s6 = *((gp - 7841));
    0x00005db4 sw s0, 0x50(sp)           |     *(var_50h) = s0;
    0x00005db8 addiu s0, sp, 0x30        |     s0 = sp + 0x30;
    0x00005dbc lw v0, (s6)               |     v0 = *(s6);
    0x00005dc0 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00005dc4 sw fp, 0x70(sp)           |     *(var_70h) = fp;
    0x00005dc8 sw s5, 0x64(sp)           |     *(var_64h) = s5;
    0x00005dcc sw s4, 0x60(sp)           |     *(var_60h) = s4;
    0x00005dd0 sw ra, 0x74(sp)           |     *(var_74h) = ra;
    0x00005dd4 sw s7, 0x6c(sp)           |     *(var_6ch) = s7;
    0x00005dd8 sw s3, 0x5c(sp)           |     *(var_5ch) = s3;
    0x00005ddc sw s2, 0x58(sp)           |     *(var_58h) = s2;
    0x00005de0 sw s1, 0x54(sp)           |     *(var_54h) = s1;
    0x00005de4 move s4, a1               |     s4 = a1;
    0x00005de8 move fp, a2               |     fp = a2;
    0x00005dec move a1, zero             |     a1 = 0;
    0x00005df0 move a2, s0               |     a2 = s0;
    0x00005df4 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00005df8 sw zero, 0x30(sp)         |     *(var_30h) = 0;
    0x00005dfc move s5, a0               |     s5 = a0;
    0x00005e00 jalr t9                   |     t9 ();
    0x00005e04 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00005e08 beqz v0, 0x60e4           |         goto label_9;
                                         |     }
    0x00005e0c move s2, v0               |     s2 = v0;
    0x00005e10 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00005e14 lw t9, -0x7c88(gp)        |     t9 = sym.imp.g_dir_read_name;
    0x00005e18 sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x00005e1c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00005e20 move a0, s2               |     a0 = s2;
                                         |     /* str.Error_parsing_pattern_database_file__filename_s__error_s_n */
    0x00005e24 addiu v0, v0, -0x7edc     |     v0 += -0x7edc;
    0x00005e28 sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x00005e2c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00005e30 lw s7, -0x7fd8(gp)        |     s7 = *((gp - 8182));
                                         |     /* str.Unknown_error */
    0x00005e34 addiu v0, v0, -0x7f54     |     v0 += -0x7f54;
    0x00005e38 sw v0, 0x2c(sp)           |     *(var_2ch_2) = v0;
    0x00005e3c lw v0, -0x7fbc(gp)        |     v0 = *((gp - 8175));
    0x00005e40 addiu s3, zero, 1         |     s3 = 1;
    0x00005e44 addiu v0, v0, 0x5d98      |     v0 += fcn.00005d98;
    0x00005e48 sw v0, 0x20(sp)           |     *(var_20h_2) = v0;
    0x00005e4c jalr t9                   |     t9 ();
    0x00005e50 move s1, v0               |     s1 = v0;
    0x00005e54 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00005e58 beqz v0, 0x5f64           |         goto label_10;
                                         |     }
                                         |     do {
    0x00005e5c lw t9, -0x7adc(gp)        |         t9 = sym.imp.g_build_filename;
                                         |         if (s3 == 0) {
    0x00005e60 beqz s3, 0x5f64           |             goto label_10;
                                         |         }
    0x00005e64 move a2, zero             |         a2 = 0;
    0x00005e68 move a1, s1               |         a1 = s1;
    0x00005e6c move a0, s5               |         a0 = s5;
    0x00005e70 jalr t9                   |         t9 ();
    0x00005e74 move s0, v0               |         s0 = v0;
    0x00005e78 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (s4 != 0) {
    0x00005e7c beqz s4, 0x5e94           |             
    0x00005e80 lw t9, -0x7bb0(gp)        |             t9 = sym.imp.is_file_directory;
    0x00005e84 move a0, v0               |             a0 = v0;
    0x00005e88 jalr t9                   |             t9 ();
    0x00005e8c lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |             if (v0 != 0) {
    0x00005e90 bnez v0, 0x5fb4           |                 goto label_11;
                                         |             }
                                         |         }
    0x00005e94 lw t9, -0x7ca0(gp)        |         t9 = sym.imp.is_file_regular;
    0x00005e98 move a0, s0               |         a0 = s0;
    0x00005e9c jalr t9                   |         t9 ();
    0x00005ea0 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 != 0) {
    0x00005ea4 beqz v0, 0x5f3c           |             
    0x00005ea8 lw a0, -0x44c0(s7)        |             a0 = *((s7 - 4400));
    0x00005eac lw t9, -0x7bf4(gp)        |             t9 = sym.imp.g_pattern_match_simple;
                                         |             if (a0 != 0) {
    0x00005eb0 beqz a0, 0x5ec4           |                 
    0x00005eb4 move a1, s1               |                 a1 = s1;
    0x00005eb8 jalr t9                   |                 t9 ();
    0x00005ebc lw gp, 0x18(sp)           |                 gp = *(var_18h);
                                         |                 if (v0 == 0) {
    0x00005ec0 beqz v0, 0x5f3c           |                     goto label_1;
                                         |                 }
                                         |             }
    0x00005ec4 lw t9, -0x7be8(gp)        |             t9 = sym.imp.g_file_get_contents;
    0x00005ec8 addiu s3, sp, 0x34        |             s3 = sp + 0x34;
    0x00005ecc move a3, s3               |             a3 = s3;
    0x00005ed0 addiu a2, sp, 0x3c        |             a2 = sp + 0x3c;
    0x00005ed4 addiu a1, sp, 0x38        |             a1 = sp + 0x38;
    0x00005ed8 move a0, s0               |             a0 = s0;
    0x00005edc sw zero, 0x34(sp)         |             *(var_34h_2) = 0;
    0x00005ee0 sw zero, 0x38(sp)         |             *(var_38h_2) = 0;
    0x00005ee4 jalr t9                   |             t9 ();
    0x00005ee8 lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |             if (v0 != 0) {
    0x00005eec bnez v0, 0x5fe4           |                 goto label_12;
                                         |             }
    0x00005ef0 lw v1, -0x7d6c(gp)        |             v1 = *((gp - 8027));
    0x00005ef4 lw v0, 0x34(sp)           |             v0 = *(var_34h_2);
    0x00005ef8 lw a0, (v1)               |             a0 = *(v1);
                                         |             if (v0 == 0) {
    0x00005efc beqz v0, 0x6134           |                 goto label_13;
                                         |             }
    0x00005f00 lw v0, 8(v0)              |             v0 = *((v0 + 2));
                                         | label_4:
    0x00005f04 sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x00005f08 lw v0, 0x24(sp)           |             v0 = *(var_24h_2);
    0x00005f0c lw t9, -0x7cf4(gp)        |             t9 = sym.imp.__fprintf_chk
    0x00005f10 move a3, s0               |             a3 = s0;
    0x00005f14 addiu a2, v0, -0x7f1c     |             a2 = v0 + -0x7f1c;
    0x00005f18 addiu a1, zero, 1         |             a1 = 1;
    0x00005f1c jalr t9                   |             t9 ();
    0x00005f20 lw a0, 0x38(sp)           |             a0 = *(var_38h_2);
    0x00005f24 lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |             if (a0 == 0) {
    0x00005f28 beqz a0, 0x60c4           |                 goto label_14;
                                         |             }
    0x00005f2c lw t9, -0x7c38(gp)        |             t9 = *((gp - 7950));
    0x00005f30 move s3, zero             |             s3 = 0;
    0x00005f34 jalr t9                   |             t9 ();
    0x00005f38 lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |         }
                                         | label_1:
    0x00005f3c lw t9, -0x7c38(gp)        |         t9 = *((gp - 7950));
    0x00005f40 move a0, s0               |         a0 = s0;
    0x00005f44 jalr t9                   |         t9 ();
    0x00005f48 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         | label_0:
    0x00005f4c lw t9, -0x7c88(gp)        |         t9 = sym.imp.g_dir_read_name;
    0x00005f50 move a0, s2               |         a0 = s2;
    0x00005f54 jalr t9                   |         t9 ();
    0x00005f58 move s1, v0               |         s1 = v0;
    0x00005f5c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00005f60 bnez v0, 0x5e5c           |         
                                         |     } while (v0 != 0);
                                         | label_10:
    0x00005f64 lw t9, -0x7b60(gp)        |     t9 = sym.imp.g_dir_close;
    0x00005f68 move a0, s2               |     a0 = s2;
    0x00005f6c jalr t9                   |     t9 ();
    0x00005f70 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00005f74 addiu v0, zero, 1         |     v0 = 1;
                                         | label_3:
    0x00005f78 lw a0, 0x4c(sp)           |     a0 = *(var_4ch);
    0x00005f7c lw v1, (s6)               |     v1 = *(s6);
    0x00005f80 lw ra, 0x74(sp)           |     ra = *(var_74h);
                                         |     if (a0 != v1) {
    0x00005f84 bne a0, v1, 0x6148        |         goto label_15;
                                         |     }
    0x00005f88 lw fp, 0x70(sp)           |     fp = *(var_70h);
    0x00005f8c lw s7, 0x6c(sp)           |     s7 = *(var_6ch);
    0x00005f90 lw s6, 0x68(sp)           |     s6 = *(var_68h);
    0x00005f94 lw s5, 0x64(sp)           |     s5 = *(var_64h);
    0x00005f98 lw s4, 0x60(sp)           |     s4 = *(var_60h);
    0x00005f9c lw s3, 0x5c(sp)           |     s3 = *(var_5ch);
    0x00005fa0 lw s2, 0x58(sp)           |     s2 = *(var_58h);
    0x00005fa4 lw s1, 0x54(sp)           |     s1 = *(var_54h);
    0x00005fa8 lw s0, 0x50(sp)           |     s0 = *(var_50h);
    0x00005fac addiu sp, sp, 0x78        |     
    0x00005fb0 jr ra                     |     return v0;
                                         | label_11:
    0x00005fb4 lw t9, 0x20(sp)           |     t9 = *(var_20h_2);
    0x00005fb8 move a2, fp               |     a2 = fp;
    0x00005fbc move a1, s4               |     a1 = s4;
    0x00005fc0 move a0, s0               |     a0 = s0;
    0x00005fc4 jalr t9                   |     t9 ();
    0x00005fc8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00005fcc move a0, s0               |     a0 = s0;
    0x00005fd0 lw t9, -0x7c38(gp)        |     t9 = *((gp - 7950));
    0x00005fd4 move s3, v0               |     s3 = v0;
    0x00005fd8 jalr t9                   |     t9 ();
    0x00005fdc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00005fe0 b 0x5f4c                  |     goto label_0;
                                         | label_12:
    0x00005fe4 lw t9, -0x7c20(gp)        |     t9 = sym.imp.g_markup_parse_context_new;
    0x00005fe8 lw a0, -0x7fb8(gp)        |     a0 = *(gp);
    0x00005fec move a3, zero             |     a3 = 0;
    0x00005ff0 addiu a2, sp, 0x40        |     a2 = sp + 0x40;
    0x00005ff4 move a1, zero             |     a1 = 0;
    0x00005ff8 sw zero, 0x44(sp)         |     *(var_44h_2) = 0;
    0x00005ffc sw fp, 0x40(sp)           |     *(var_40h_2) = fp;
    0x00006000 sw zero, 0x48(sp)         |     *(var_48h_2) = 0;
    0x00006004 jalr t9                   |     t9 ();
    0x00006008 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000600c lw a2, 0x3c(sp)           |     a2 = *(var_3ch_2);
    0x00006010 lw a1, 0x38(sp)           |     a1 = *(var_38h_2);
    0x00006014 lw t9, -0x7b58(gp)        |     t9 = sym.imp.g_markup_parse_context_parse;
    0x00006018 move a3, s3               |     a3 = s3;
    0x0000601c move a0, v0               |     a0 = v0;
    0x00006020 move s1, v0               |     s1 = v0;
    0x00006024 jalr t9                   |     t9 ();
    0x00006028 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x0000602c beqz v0, 0x6050           |         
    0x00006030 lw t9, -0x7af8(gp)        |         t9 = sym.imp.g_markup_parse_context_end_parse;
    0x00006034 move a1, s3               |         a1 = s3;
    0x00006038 move a0, s1               |         a0 = s1;
    0x0000603c jalr t9                   |         t9 ();
    0x00006040 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 != 0) {
    0x00006044 beqz v0, 0x6050           |             
    0x00006048 addiu s3, zero, 1         |             s3 = 1;
    0x0000604c b 0x6084                  |             
                                         |         }
                                         |     } else {
    0x00006050 lw v1, -0x7d6c(gp)        |         v1 = *((gp - 8027));
    0x00006054 lw v0, 0x34(sp)           |         v0 = *(var_34h_2);
    0x00006058 lw a0, (v1)               |         a0 = *(v1);
                                         |         if (v0 == 0) {
    0x0000605c beqz v0, 0x60dc           |             goto label_16;
                                         |         }
    0x00006060 lw v0, 8(v0)              |         v0 = *((v0 + 2));
                                         | label_2:
    0x00006064 lw t9, -0x7cf4(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00006068 lw a2, 0x28(sp)           |         a2 = *(var_28h);
    0x0000606c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00006070 move a3, s0               |         a3 = s0;
    0x00006074 addiu a1, zero, 1         |         a1 = 1;
    0x00006078 jalr t9                   |         t9 ();
    0x0000607c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00006080 move s3, zero             |         s3 = 0;
                                         |     }
    0x00006084 lw a0, 0x38(sp)           |     a0 = *(var_38h_2);
    0x00006088 lw t9, -0x7c38(gp)        |     t9 = *((gp - 7950));
                                         |     if (a0 != 0) {
    0x0000608c beqz a0, 0x609c           |         
    0x00006090 jalr t9                   |         t9 ();
    0x00006094 nop                       |         
    0x00006098 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |     }
    0x0000609c lw t9, -0x7c40(gp)        |     t9 = sym.imp.g_markup_parse_context_free;
                                         |     if (s1 == 0) {
    0x000060a0 beqz s1, 0x5f3c           |         goto label_1;
                                         |     }
    0x000060a4 move a0, s1               |     a0 = s1;
    0x000060a8 jalr t9                   |     t9 ();
    0x000060ac lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000060b0 lw t9, -0x7c38(gp)        |     t9 = *((gp - 7950));
    0x000060b4 move a0, s0               |     a0 = s0;
    0x000060b8 jalr t9                   |     t9 ();
    0x000060bc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000060c0 b 0x5f4c                  |     goto label_0;
                                         | label_14:
    0x000060c4 lw t9, -0x7c38(gp)        |     t9 = *((gp - 7950));
    0x000060c8 move a0, s0               |     a0 = s0;
    0x000060cc jalr t9                   |     t9 ();
    0x000060d0 move s3, zero             |     s3 = 0;
    0x000060d4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000060d8 b 0x5f4c                  |     goto label_0;
                                         | label_16:
    0x000060dc lw v0, 0x2c(sp)           |     v0 = *(var_2ch_2);
    0x000060e0 b 0x6064                  |     goto label_2;
                                         | label_9:
    0x000060e4 lw v1, -0x7d6c(gp)        |     v1 = *((gp - 8027));
    0x000060e8 lw v0, 0x30(sp)           |     v0 = *(var_30h);
    0x000060ec lw a0, (v1)               |     a0 = *(v1);
    0x000060f0 lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x000060f4 lw a3, -0x44bc(v1)        |     a3 = *((v1 - 4399));
                                         |     if (v0 == 0) {
    0x000060f8 beqz v0, 0x613c           |         goto label_17;
                                         |     }
    0x000060fc lw v0, 8(v0)              |     v0 = *((v0 + 2));
                                         |     do {
    0x00006100 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00006104 lw t9, -0x7cf4(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.Error_opening_directory__s__error_s_n */
    0x00006108 addiu a2, a2, -0x7f44     |         a2 += -0x7f44;
    0x0000610c addiu a1, zero, 1         |         a1 = 1;
    0x00006110 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00006114 jalr t9                   |         t9 ();
    0x00006118 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000611c lw t9, -0x7c8c(gp)        |         t9 = sym.imp.g_clear_error;
    0x00006120 move a0, s0               |         a0 = s0;
    0x00006124 jalr t9                   |         t9 ();
    0x00006128 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000612c move v0, zero             |         v0 = 0;
    0x00006130 b 0x5f78                  |         goto label_3;
                                         | label_13:
    0x00006134 lw v0, 0x2c(sp)           |         v0 = *(var_2ch_2);
    0x00006138 b 0x5f04                  |         goto label_4;
                                         | label_17:
    0x0000613c lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
                                         |         /* str.Unknown_error */
    0x00006140 addiu v0, v0, -0x7f54     |         v0 += -0x7f54;
    0x00006144 b 0x6100                  |         
                                         |     } while (1);
                                         | label_15:
    0x00006148 lw t9, -0x7c04(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x0000614c jalr t9                   |     t9 ();
    0x00006150 nop                       |     
    0x00006154 lui gp, 3                 |     
    0x00006158 addiu gp, gp, -0x2c54     |     
    0x0000615c addu gp, gp, t9           |     gp += t9;
    0x00006160 addiu sp, sp, -0x50       |     
    0x00006164 sw s3, 0x40(sp)           |     *(var_40h) = s3;
    0x00006168 sw s2, 0x3c(sp)           |     *(var_3ch) = s2;
    0x0000616c lw s3, -0x7fd8(gp)        |     s3 = *((gp - 8182));
    0x00006170 lw s2, -0x7a84(gp)        |     s2 = *((gp - 7841));
    0x00006174 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x00006178 lw v0, -0x44bc(s3)        |     v0 = *((s3 - 4399));
    0x0000617c lw v1, (s2)               |     v1 = *(s2);
    0x00006180 sw ra, 0x4c(sp)           |     *(var_4ch_2) = ra;
    0x00006184 sw s5, 0x48(sp)           |     *(var_48h) = s5;
    0x00006188 sw s4, 0x44(sp)           |     *(var_44h) = s4;
    0x0000618c sw s1, 0x38(sp)           |     *(var_38h) = s1;
    0x00006190 sw s0, 0x34(sp)           |     *(var_34h) = s0;
    0x00006194 sw zero, 0x20(sp)         |     *(var_20h) = 0;
    0x00006198 sw v1, 0x2c(sp)           |     *(var_2ch) = v1;
    0x0000619c lw v0, -0x7d6c(gp)        |     v0 = *((gp - 8027));
                                         |     if (v0 == 0) {
    0x000061a0 beqz v0, 0x639c           |         goto label_18;
                                         |     }
    0x000061a4 lw s4, -0x7fd8(gp)        |     s4 = *((gp - 8182));
    0x000061a8 lw v0, -0x4b4c(s4)        |     v0 = *((s4 - 4819));
    0x000061ac lw t9, -0x7bfc(gp)        |     t9 = sym.imp.g_string_sized_new;
                                         |     if (v0 == 0) {
    0x000061b0 beqz v0, 0x6370           |         goto label_19;
                                         |     }
    0x000061b4 addiu a0, zero, 0x1000    |     a0 = 0x1000;
    0x000061b8 jalr t9                   |     t9 ();
    0x000061bc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000061c0 addiu s0, sp, 0x24        |     s0 = sp + 0x24;
    0x000061c4 addiu a1, zero, 1         |     a1 = 1;
    0x000061c8 lw t9, -0x7bd0(gp)        |     t9 = sym.imp.g_date_clear;
    0x000061cc move a0, s0               |     a0 = s0;
    0x000061d0 move s1, v0               |     s1 = v0;
    0x000061d4 jalr t9                   |     t9 ();
    0x000061d8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000061dc lw t9, -0x7b2c(gp)        |     t9 = sym.imp.time;
    0x000061e0 move a0, zero             |     a0 = 0;
    0x000061e4 jalr t9                   |     t9 ();
    0x000061e8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000061ec move a1, v0               |     a1 = v0;
    0x000061f0 lw t9, -0x7ad8(gp)        |     t9 = sym.imp.g_date_set_time_t;
    0x000061f4 move a0, s0               |     a0 = s0;
    0x000061f8 jalr t9                   |     t9 ();
    0x000061fc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006200 lw t9, -0x7a20(gp)        |     t9 = sym.imp.g_date_get_year;
    0x00006204 move a0, s0               |     a0 = s0;
    0x00006208 jalr t9                   |     t9 ();
    0x0000620c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006210 move a0, s0               |     a0 = s0;
    0x00006214 lw t9, -0x7b74(gp)        |     t9 = sym.imp.g_date_get_month;
    0x00006218 move s5, v0               |     s5 = v0;
    0x0000621c jalr t9                   |     t9 ();
    0x00006220 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006224 move a0, s0               |     a0 = s0;
    0x00006228 lw t9, -0x7c44(gp)        |     t9 = sym.imp.g_date_get_day;
    0x0000622c move s0, v0               |     s0 = v0;
    0x00006230 jalr t9                   |     t9 ();
    0x00006234 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006238 move a3, v0               |     a3 = v0;
    0x0000623c move a2, s0               |     a2 = s0;
    0x00006240 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00006244 lw t9, -0x7c34(gp)        |     t9 = sym.imp.g_markup_printf_escaped;
    0x00006248 move a1, s5               |     a1 = s5;
                                         |     /* str.__xml_version1.0_encodingUTF_8___n_patterndb_version4_pub_date_04d__02d__02d_ */
    0x0000624c addiu a0, a0, -0x7e44     |     a0 += -0x7e44;
    0x00006250 jalr t9                   |     t9 ();
    0x00006254 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006258 move a1, v0               |     a1 = v0;
    0x0000625c move a0, s1               |     a0 = s1;
    0x00006260 lw t9, -0x7d48(gp)        |     t9 = sym.imp.g_string_append;
    0x00006264 move s0, v0               |     s0 = v0;
    0x00006268 jalr t9                   |     t9 ();
    0x0000626c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006270 lw t9, -0x7c38(gp)        |     t9 = *((gp - 7950));
    0x00006274 move a0, s0               |     a0 = s0;
    0x00006278 jalr t9                   |     t9 ();
    0x0000627c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006280 lw a0, -0x44bc(s3)        |     a0 = *((s3 - 4399));
    0x00006284 move a2, s1               |     a2 = s1;
    0x00006288 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000628c lw t9, -0x7fbc(gp)        |     t9 = *((gp - 8175));
    0x00006290 addiu t9, t9, 0x5d98      |     t9 += fcn.00005d98;
    0x00006294 lw a1, -0x44c4(v0)        |     a1 = *((v0 - 4401));
    0x00006298 bal 0x5d98                |     fcn_00005d98 ();
                                         |     goto label_5;
    0x0000629c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000062a0 move s0, v0               |     s0 = v0;
    0x000062a4 move a0, s1               |     a0 = s1;
    0x000062a8 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000062ac lw t9, -0x7d48(gp)        |     t9 = sym.imp.g_string_append;
                                         |     /* str.__patterndb__n */
    0x000062b0 addiu a1, a1, -0x7de8     |     a1 += -0x7de8;
    0x000062b4 jalr t9                   |     t9 ();
    0x000062b8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (s0 != 0) {
    0x000062bc bnez s0, 0x630c           |         goto label_20;
                                         |     }
    0x000062c0 addiu s0, zero, 1         |     s0 = 1;
                                         |     do {
                                         | label_6:
    0x000062c4 lw t9, -0x7ca4(gp)        |         t9 = sym.imp.g_string_free;
    0x000062c8 addiu a1, zero, 1         |         a1 = 1;
    0x000062cc move a0, s1               |         a0 = s1;
    0x000062d0 jalr t9                   |         t9 ();
    0x000062d4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         | label_7:
    0x000062d8 lw a0, 0x2c(sp)           |         a0 = *(var_2ch);
    0x000062dc lw v1, (s2)               |         v1 = *(s2);
    0x000062e0 move v0, s0               |         v0 = s0;
                                         |         if (a0 != v1) {
    0x000062e4 bne a0, v1, 0x63d0        |             goto label_21;
                                         |         }
    0x000062e8 lw ra, 0x4c(sp)           |         ra = *(var_4ch_2);
    0x000062ec lw s5, 0x48(sp)           |         s5 = *(var_48h);
    0x000062f0 lw s4, 0x44(sp)           |         s4 = *(var_44h);
    0x000062f4 lw s3, 0x40(sp)           |         s3 = *(var_40h);
    0x000062f8 lw s2, 0x3c(sp)           |         s2 = *(var_3ch);
    0x000062fc lw s1, 0x38(sp)           |         s1 = *(var_38h);
    0x00006300 lw s0, 0x34(sp)           |         s0 = *(var_34h);
    0x00006304 addiu sp, sp, 0x50        |         
    0x00006308 jr ra                     |         return v0;
                                         | label_20:
    0x0000630c lw t9, -0x7b5c(gp)        |         t9 = sym.imp.g_file_set_contents;
    0x00006310 lw a2, 4(s1)              |         a2 = *((s1 + 1));
    0x00006314 lw a1, (s1)               |         a1 = *(s1);
    0x00006318 lw a0, -0x4b4c(s4)        |         a0 = *((s4 - 4819));
    0x0000631c addiu a3, sp, 0x20        |         a3 = sp + 0x20;
    0x00006320 jalr t9                   |         t9 ();
    0x00006324 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 != 0) {
    0x00006328 bnez v0, 0x6368           |             goto label_22;
                                         |         }
    0x0000632c lw v1, -0x7d6c(gp)        |         v1 = *((gp - 8027));
    0x00006330 lw v0, 0x20(sp)           |         v0 = *(var_20h);
    0x00006334 lw a3, -0x4b4c(s4)        |         a3 = *((s4 - 4819));
    0x00006338 lw a0, (v1)               |         a0 = *(v1);
                                         |         if (v0 == 0) {
    0x0000633c beqz v0, 0x63c4           |             goto label_23;
                                         |         }
    0x00006340 lw v0, 8(v0)              |         v0 = *((v0 + 2));
                                         | label_8:
    0x00006344 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00006348 lw t9, -0x7cf4(gp)        |         t9 = sym.imp.__fprintf_chk
    0x0000634c sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
                                         |         /* str.Error_storing_patterndb__filename_s__errror_s_n */
    0x00006350 addiu a2, a2, -0x7dd8     |         a2 += -0x7dd8;
    0x00006354 addiu a1, zero, 1         |         a1 = 1;
    0x00006358 jalr t9                   |         t9 ();
    0x0000635c addiu s0, zero, 1         |         s0 = 1;
    0x00006360 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00006364 b 0x62c4                  |         
                                         |     } while (1);
                                         | label_22:
    0x00006368 move s0, zero             |     s0 = 0;
    0x0000636c b 0x62c4                  |     goto label_6;
                                         | label_19:
    0x00006370 lw v0, -0x7d6c(gp)        |     v0 = *((gp - 8027));
    0x00006374 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00006378 lw t9, -0x7ae4(gp)        |     t9 = sym.imp.fwrite;
    0x0000637c lw a3, (v0)               |     a3 = *(v0);
    0x00006380 addiu a2, zero, 0x2b      |     a2 = 0x2b;
    0x00006384 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.No_patterndb_file_is_specified_to_merge_to_n */
    0x00006388 addiu a0, a0, -0x7e70     |     a0 += -0x7e70;
    0x0000638c jalr t9                   |     t9 ();
    0x00006390 addiu s0, zero, 1         |     s0 = 1;
    0x00006394 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006398 b 0x62d8                  |     goto label_7;
                                         | label_18:
    0x0000639c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000063a0 lw t9, -0x7ae4(gp)        |     t9 = sym.imp.fwrite;
    0x000063a4 lw a3, (v0)               |     a3 = *(v0);
    0x000063a8 addiu a2, zero, 0x28      |     a2 = 0x28;
    0x000063ac addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.No_directory_is_specified_to_merge_from_n */
    0x000063b0 addiu a0, a0, -0x7e9c     |     a0 += -0x7e9c;
    0x000063b4 jalr t9                   |     t9 ();
    0x000063b8 addiu s0, zero, 1         |     s0 = 1;
    0x000063bc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000063c0 b 0x62d8                  |     goto label_7;
                                         | label_23:
    0x000063c4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     /* str.Unknown_error */
    0x000063c8 addiu v0, v0, -0x7f54     |     v0 += -0x7f54;
    0x000063cc b 0x6344                  |     goto label_8;
                                         | label_21:
    0x000063d0 lw t9, -0x7c04(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000063d4 jalr t9                   |     t9 ();
    0x000063d8 nop                       |     
    0x000063dc lui gp, 3                 |     
    0x000063e0 addiu gp, gp, -0x2edc     |     
    0x000063e4 addu gp, gp, t9           |     gp += t9;
    0x000063e8 lw v0, -0x7ad4(gp)        |     v0 = *((gp - 7861));
    0x000063ec lw t9, -0x7ca8(gp)        |     t9 = sym.imp.cfg_load_module;
    0x000063f0 lw a0, (v0)               |     a0 = *(v0);
    0x000063f4 jr t9                     |     return t9 ();
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/pdbtool @ 0x6c68 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00006c68 ()              | void fcn_00006c68 () {
                                         | label_37:
    0x00006c68 lui gp, 3                 |     
    0x00006c6c addiu gp, gp, -0x3768     |     
    0x00006c70 addu gp, gp, t9           |     gp += t9;
    0x00006c74 addiu sp, sp, -0x48       |     
    0x00006c78 lw t9, -0x7d30(gp)        |     t9 = sym.imp.log_msg_get_value_handle;
    0x00006c7c sw s1, 0x34(sp)           |     *(var_34h) = s1;
    0x00006c80 lw s1, -0x7a84(gp)        |     s1 = *((gp - 7841));
    0x00006c84 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00006c88 sw s3, 0x3c(sp)           |     *(var_3ch) = s3;
    0x00006c8c lw v0, (s1)               |     v0 = *(s1);
    0x00006c90 sw s2, 0x38(sp)           |     *(var_38h) = s2;
    0x00006c94 sw s0, 0x30(sp)           |     *(var_30h) = s0;
    0x00006c98 sw ra, 0x44(sp)           |     *(var_44h) = ra;
    0x00006c9c sw s4, 0x40(sp)           |     *(var_40h) = s4;
    0x00006ca0 move s0, a0               |     s0 = a0;
    0x00006ca4 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00006ca8 move a0, a1               |     a0 = a1;
    0x00006cac move s3, a1               |     s3 = a1;
    0x00006cb0 move s2, a2               |     s2 = a2;
    0x00006cb4 jalr t9                   |     t9 ();
    0x00006cb8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00006cbc beqz v0, 0x6d94           |         goto label_1;
                                         |     }
    0x00006cc0 lw a0, -0x7aec(gp)        |     a0 = *((gp - 7867));
    0x00006cc4 sll v1, v0, 3             |     v1 = v0 << 3;
    0x00006cc8 lw a0, (a0)               |     a0 = *(a0);
    0x00006ccc lw a0, 4(a0)              |     a0 = *((a0 + 1));
    0x00006cd0 lw a0, (a0)               |     a0 = *(a0);
    0x00006cd4 addu v1, a0, v1           |     v1 = a0 + v1;
    0x00006cd8 lhu a1, -4(v1)            |     a1 = *((v1 - 2));
    0x00006cdc andi v1, a1, 4            |     v1 = a1 & 4;
    0x00006ce0 lw t9, -0x7b6c(gp)        |     t9 = sym.imp.log_msg_get_macro_value;
                                         |     if (v1 == 0) {
    0x00006ce4 beqz v1, 0x6da4           |         goto label_56;
                                         |     }
    0x00006ce8 move a0, s0               |     a0 = s0;
    0x00006cec addiu a2, sp, 0x24        |     a2 = sp + 0x24;
    0x00006cf0 srl a1, a1, 8             |     a1 >>= 8;
    0x00006cf4 jalr t9                   |     t9 ();
    0x00006cf8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00006cfc move s0, v0               |     s0 = v0;
                                         |     do {
                                         | label_3:
    0x00006d00 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
                                         |         if (s0 == 0) {
    0x00006d04 beqz s0, 0x6e3c           |             goto label_57;
                                         |         }
    0x00006d08 lw s4, 0x24(sp)           |         s4 = *(var_24h);
                                         | label_2:
    0x00006d0c lw t9, -0x7c68(gp)        |         t9 = sym.imp.strncmp;
    0x00006d10 move a2, s4               |         a2 = s4;
    0x00006d14 move a1, s2               |         a1 = s2;
    0x00006d18 move a0, s0               |         a0 = s0;
    0x00006d1c jalr t9                   |         t9 ();
    0x00006d20 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00006d24 bnez v0, 0x6d3c           |             
    0x00006d28 lw t9, -0x7af0(gp)        |             t9 = sym.imp.strlen;
    0x00006d2c move a0, s2               |             a0 = s2;
    0x00006d30 jalr t9                   |             t9 ();
    0x00006d34 lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |             if (s4 == v0) {
    0x00006d38 beq s4, v0, 0x6e7c        |                 goto label_58;
                                         |             }
                                         |         }
    0x00006d3c lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00006d40 lw t9, -0x7a1c(gp)        |         t9 = sym.imp.__printf_chk;
    0x00006d44 sw s2, 0x14(sp)           |         *(var_14h_2) = s2;
    0x00006d48 sw s0, 0x10(sp)           |         *(var_10h_4) = s0;
    0x00006d4c move a3, s4               |         a3 = s4;
    0x00006d50 move a2, s3               |         a2 = s3;
                                         |         /* str._Wrong_match_name_s__value_.s__expected_s_n */
    0x00006d54 addiu a1, a1, -0x7c9c     |         a1 += -0x7c9c;
    0x00006d58 addiu a0, zero, 1         |         a0 = 1;
    0x00006d5c jalr t9                   |         t9 ();
    0x00006d60 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00006d64 move v0, zero             |         v0 = 0;
                                         | label_5:
    0x00006d68 lw a0, 0x2c(sp)           |         a0 = *(var_2ch);
    0x00006d6c lw v1, (s1)               |         v1 = *(s1);
    0x00006d70 lw ra, 0x44(sp)           |         ra = *(var_44h);
                                         |         if (a0 != v1) {
    0x00006d74 bne a0, v1, 0x6ec0        |             goto label_59;
                                         |         }
    0x00006d78 lw s4, 0x40(sp)           |         s4 = *(var_40h);
    0x00006d7c lw s3, 0x3c(sp)           |         s3 = *(var_3ch);
    0x00006d80 lw s2, 0x38(sp)           |         s2 = *(var_38h);
    0x00006d84 lw s1, 0x34(sp)           |         s1 = *(var_34h);
    0x00006d88 lw s0, 0x30(sp)           |         s0 = *(var_30h);
    0x00006d8c addiu sp, sp, 0x48        |         
    0x00006d90 jr ra                     |         return v0;
                                         | label_1:
    0x00006d94 lw v0, -0x7aac(gp)        |         v0 = *((gp - 7851));
                                         | label_0:
    0x00006d98 sw zero, 0x24(sp)         |         *(var_24h) = 0;
    0x00006d9c lw s0, (v0)               |         s0 = *(v0);
    0x00006da0 b 0x6d00                  |         
                                         |     } while (1);
                                         | label_56:
    0x00006da4 lw s0, 0x48(s0)           |     s0 = *((s0 + 18));
    0x00006da8 lbu v1, 0xa(s0)           |     v1 = *((s0 + 10));
    0x00006dac sltu v1, v1, v0           |     v1 = (v1 < v0) ? 1 : 0;
                                         |     if (v1 == 0) {
    0x00006db0 beql v1, zero, 0x6e18     |         goto label_60;
                                         |     }
    0x00006db4 addiu v0, v0, 1           |     v0++;
    0x00006db8 lw t9, -0x7c80(gp)        |     t9 = sym.imp.nv_table_get_entry_slow;
    0x00006dbc addiu a2, sp, 0x28        |     a2 = sp + 0x28;
    0x00006dc0 move a1, v0               |     a1 = v0;
    0x00006dc4 move a0, s0               |     a0 = s0;
    0x00006dc8 jalr t9                   |     t9 ();
    0x00006dcc lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
                                         | label_4:
    0x00006dd0 beql v0, zero, 0x6d98     |         goto label_0;
                                         |     }
    0x00006dd4 lw v0, -0x7aac(gp)        |     v0 = *((gp - 7851));
    0x00006dd8 lbu v1, (v0)              |     v1 = *(v0);
    0x00006ddc andi a0, v1, 4            |     a0 = v1 & 4;
    0x00006de0 andi v1, v1, 1            |     v1 &= 1;
                                         |     if (a0 != 0) {
    0x00006de4 bnez a0, 0x6d94           |         goto label_1;
                                         |     }
    0x00006de8 lw t9, -0x7b70(gp)        |     t9 = sym.imp.nv_table_resolve_indirect;
                                         |     if (v1 != 0) {
    0x00006dec bnez v1, 0x6e60           |         goto label_61;
                                         |     }
    0x00006df0 lw v1, 8(v0)              |     v1 = *((v0 + 2));
    0x00006df4 sw v1, 0x24(sp)           |     *(var_24h) = v1;
    0x00006df8 lbu s0, 1(v0)             |     s0 = *((v0 + 1));
    0x00006dfc addu v0, v0, s0           |     v0 += s0;
    0x00006e00 addiu s0, v0, 0xd         |     s0 = v0 + 0xd;
                                         | label_6:
    0x00006e04 lw s4, 0x24(sp)           |     s4 = *(var_24h);
                                         |     if (s0 != 0) {
    0x00006e08 bnez s0, 0x6d0c           |         goto label_2;
                                         |     }
    0x00006e0c lw v0, -0x7aac(gp)        |     v0 = *((gp - 7851));
    0x00006e10 lw s0, (v0)               |     s0 = *(v0);
    0x00006e14 b 0x6d00                  |     goto label_3;
                                         | label_60:
    0x00006e18 sll v0, v0, 2             |     v0 <<= 2;
    0x00006e1c addu v0, s0, v0           |     v0 = s0 + v0;
    0x00006e20 lw a1, 4(v0)              |     a1 = *((v0 + 1));
    0x00006e24 sw zero, 0x28(sp)         |     *(var_28h_4) = 0;
                                         |     if (a1 == 0) {
    0x00006e28 beqz a1, 0x6d94           |         goto label_1;
                                         |     }
    0x00006e2c lw v0, (s0)               |     v0 = *(s0);
    0x00006e30 subu v0, v0, a1           |     __asm ("subu v0, v0, a1");
    0x00006e34 addu v0, s0, v0           |     v0 = s0 + v0;
    0x00006e38 b 0x6dd0                  |     goto label_4;
                                         | label_57:
    0x00006e3c lw t9, -0x7a1c(gp)        |     t9 = sym.imp.__printf_chk;
    0x00006e40 move a3, s2               |     a3 = s2;
    0x00006e44 move a2, s3               |     a2 = s3;
                                         |     /* str._No_value_to_match_name_s__expected_s_n */
    0x00006e48 addiu a1, a1, -0x7c64     |     a1 += -0x7c64;
    0x00006e4c addiu a0, zero, 1         |     a0 = 1;
    0x00006e50 jalr t9                   |     t9 ();
    0x00006e54 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00006e58 move v0, zero             |     v0 = 0;
    0x00006e5c b 0x6d68                  |     goto label_5;
                                         | label_61:
    0x00006e60 move a0, s0               |     a0 = s0;
    0x00006e64 addiu a2, sp, 0x24        |     a2 = sp + 0x24;
    0x00006e68 move a1, v0               |     a1 = v0;
    0x00006e6c jalr t9                   |     t9 ();
    0x00006e70 move s0, v0               |     s0 = v0;
    0x00006e74 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00006e78 b 0x6e04                  |     goto label_6;
                                         | label_58:
    0x00006e7c lw v0, -0x7b40(gp)        |     v0 = *((gp - 7888));
    0x00006e80 lw v0, (v0)               |     v0 = *(v0);
    0x00006e84 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
                                         |     if (v0 == 0) {
    0x00006e88 bnez v0, 0x6e94           |         
    0x00006e8c addiu v0, zero, 1         |         v0 = 1;
    0x00006e90 b 0x6d68                  |         goto label_5;
                                         |     }
    0x00006e94 lw t9, -0x7a1c(gp)        |     t9 = sym.imp.__printf_chk;
    0x00006e98 sw s2, 0x14(sp)           |     *(var_14h_2) = s2;
    0x00006e9c sw s0, 0x10(sp)           |     *(var_10h_4) = s0;
    0x00006ea0 move a3, s4               |     a3 = s4;
    0x00006ea4 move a2, s3               |     a2 = s3;
                                         |     /* str._Match_name_s__value_.s__expected_s_n */
    0x00006ea8 addiu a1, a1, -0x7ccc     |     a1 += -0x7ccc;
    0x00006eac addiu a0, zero, 1         |     a0 = 1;
    0x00006eb0 jalr t9                   |     t9 ();
    0x00006eb4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00006eb8 addiu v0, zero, 1         |     v0 = 1;
    0x00006ebc b 0x6d68                  |     goto label_5;
                                         | label_59:
    0x00006ec0 lw t9, -0x7c04(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00006ec4 jalr t9                   |     t9 ();
    0x00006ec8 nop                       |     
    0x00006ecc lui gp, 3                 |     
    0x00006ed0 addiu gp, gp, -0x39cc     |     
    0x00006ed4 addu gp, gp, t9           |     gp += t9;
    0x00006ed8 lw v0, -0x7a84(gp)        |     v0 = *((gp - 7841));
    0x00006edc lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00006ee0 addiu sp, sp, -0x118      |     
    0x00006ee4 lw v1, (v0)               |     v1 = *(v0);
    0x00006ee8 sw s7, 0x10c(sp)          |     *(var_10ch) = s7;
    0x00006eec sw v0, 0x50(sp)           |     *(var_50h) = v0;
    0x00006ef0 addiu s7, sp, 0xa8        |     s7 = sp + 0xa8;
    0x00006ef4 lw v0, -0x44cc(a0)        |     v0 = *((a0 - 4403));
    0x00006ef8 sw gp, 0x28(sp)           |     *(var_28h) = gp;
    0x00006efc sw v1, 0xec(sp)           |     *(var_ech) = v1;
    0x00006f00 addiu v1, zero, 1         |     v1 = 1;
    0x00006f04 sw ra, 0x114(sp)          |     *(var_114h) = ra;
    0x00006f08 sw fp, 0x110(sp)          |     *(var_110h) = fp;
    0x00006f0c sw s6, 0x108(sp)          |     *(var_108h) = s6;
    0x00006f10 sw s5, 0x104(sp)          |     *(var_104h) = s5;
    0x00006f14 sw s4, 0x100(sp)          |     *(var_100h) = s4;
    0x00006f18 sw s3, 0xfc(sp)           |     *(var_fch) = s3;
    0x00006f1c sw s2, 0xf8(sp)           |     *(var_f8h) = s2;
    0x00006f20 sw s1, 0xf4(sp)           |     *(var_f4h) = s1;
    0x00006f24 sw s0, 0xf0(sp)           |     *(var_f0h) = s0;
    0x00006f28 sw zero, 0xa8(sp)         |     *(var_a8h) = 0;
    0x00006f2c sw a0, 0x3c(sp)           |     *(var_3ch_2) = a0;
    0x00006f30 sw zero, 0x74(sp)         |     *(var_74h) = 0;
    0x00006f34 sw zero, 0x78(sp)         |     *(var_78h) = 0;
    0x00006f38 sw zero, 0x80(sp)         |     *(var_80h) = 0;
    0x00006f3c sw v1, 0x84(sp)           |     *(var_84h) = v1;
    0x00006f40 sw zero, 4(s7)            |     *((s7 + 1)) = 0;
    0x00006f44 sw zero, 8(s7)            |     *((s7 + 2)) = 0;
    0x00006f48 sw zero, 0xc(s7)          |     *((s7 + 3)) = 0;
    0x00006f4c sw zero, 0x10(s7)         |     *((s7 + 4)) = 0;
    0x00006f50 sw zero, 0x14(s7)         |     *((s7 + 5)) = 0;
    0x00006f54 sw zero, 0x18(s7)         |     *((s7 + 6)) = 0;
    0x00006f58 sw zero, 0x1c(s7)         |     *((s7 + 7)) = 0;
    0x00006f5c sw zero, 0x20(s7)         |     *((s7 + 8)) = 0;
                                         |     if (v0 == 0) {
    0x00006f60 beqz v0, 0x7440           |         goto label_62;
                                         |     }
    0x00006f64 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
                                         | label_7:
    0x00006f68 lw a0, -0x44d4(v0)        |     a0 = *((v0 - 4405));
    0x00006f6c lw s0, -0x7ad4(gp)        |     s0 = *((gp - 7861));
                                         |     if (a0 == 0) {
    0x00006f70 beqz a0, 0x7438           |         goto label_63;
                                         |     }
    0x00006f74 lw t9, -0x7cc8(gp)        |     t9 = sym.imp.g_strcompress;
    0x00006f78 jalr t9                   |     t9 ();
    0x00006f7c nop                       |     
    0x00006f80 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00006f84 lw a0, (s0)               |     a0 = *(s0);
    0x00006f88 move a1, zero             |     a1 = 0;
    0x00006f8c lw t9, -0x7a38(gp)        |     t9 = sym.imp.log_template_new;
    0x00006f90 move s1, v0               |     s1 = v0;
    0x00006f94 jalr t9                   |     t9 ();
    0x00006f98 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00006f9c move a2, zero             |     a2 = 0;
    0x00006fa0 move a1, s1               |     a1 = s1;
    0x00006fa4 lw t9, -0x7cc4(gp)        |     t9 = sym.imp.log_template_compile;
    0x00006fa8 move a0, v0               |     a0 = v0;
    0x00006fac sw v0, 0x54(sp)           |     *(var_54h) = v0;
    0x00006fb0 jalr t9                   |     t9 ();
    0x00006fb4 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00006fb8 lw t9, -0x7c38(gp)        |     t9 = *((gp - 7950));
    0x00006fbc move a0, s1               |     a0 = s1;
    0x00006fc0 jalr t9                   |     t9 ();
    0x00006fc4 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     do {
    0x00006fc8 lw t9, -0x7bfc(gp)        |         t9 = sym.imp.g_string_sized_new;
    0x00006fcc addiu a0, zero, 0x200     |         a0 = 0x200;
    0x00006fd0 jalr t9                   |         t9 ();
    0x00006fd4 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00006fd8 sw v0, 0x44(sp)           |         *(var_44h_2) = v0;
    0x00006fdc lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00006fe0 lw s1, -0x44d8(v0)        |         s1 = *((v0 - 4406));
    0x00006fe4 lw t9, -0x7af0(gp)        |         t9 = sym.imp.strlen;
                                         |         if (s1 != 0) {
    0x00006fe8 beqz s1, 0x7034           |             
    0x00006fec move a0, s1               |             a0 = s1;
    0x00006ff0 jalr t9                   |             t9 ();
    0x00006ff4 lw gp, 0x28(sp)           |             gp = *(var_28h);
    0x00006ff8 lw a0, (s0)               |             a0 = *(s0);
    0x00006ffc move a2, v0               |             a2 = v0;
    0x00007000 lw t9, -0x7aa4(gp)        |             t9 = sym.imp.cfg_lexer_new_buffer;
    0x00007004 move a1, s1               |             a1 = s1;
    0x00007008 jalr t9                   |             t9 ();
    0x0000700c lw gp, 0x28(sp)           |             gp = *(var_28h);
    0x00007010 lw a0, (s0)               |             a0 = *(s0);
    0x00007014 addiu a3, sp, 0x80        |             a3 = sp + 0x80;
    0x00007018 lw t9, -0x7a58(gp)        |             t9 = sym.imp.cfg_run_parser;
    0x0000701c lw a2, -0x7cf0(gp)        |             a2 = *((gp - 7996));
    0x00007020 sw zero, 0x10(sp)         |             *(var_10h_3) = 0;
    0x00007024 move a1, v0               |             a1 = v0;
    0x00007028 jalr t9                   |             t9 ();
    0x0000702c lw gp, 0x28(sp)           |             gp = *(var_28h);
                                         |             if (v0 == 0) {
    0x00007030 beqz v0, 0x7898           |                 goto label_64;
                                         |             }
                                         |         }
    0x00007034 lw t9, -0x7a64(gp)        |         t9 = sym.imp.msg_format_options_defaults;
    0x00007038 move a0, s7               |         a0 = s7;
    0x0000703c jalr t9                   |         t9 ();
    0x00007040 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007044 lw v0, 0xb4(sp)           |         v0 = *(var_b4h);
    0x00007048 lw a1, (s0)               |         a1 = *(s0);
    0x0000704c lw t9, -0x7a60(gp)        |         t9 = sym.imp.msg_format_options_init;
    0x00007050 ori v0, v0, 0x104         |         v0 |= aav.0x00000104;
    0x00007054 sw v0, 0xb4(sp)           |         *(var_b4h) = v0;
    0x00007058 move a0, s7               |         a0 = s7;
    0x0000705c jalr t9                   |         t9 ();
    0x00007060 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007064 addiu s1, sp, 0x8c        |         s1 = sp + 0x8c;
    0x00007068 lw t9, -0x7c3c(gp)        |         t9 = sym.imp.log_proto_server_options_defaults;
    0x0000706c move a0, s1               |         a0 = s1;
    0x00007070 jalr t9                   |         t9 ();
    0x00007074 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007078 lw a1, (s0)               |         a1 = *(s0);
    0x0000707c lui v0, 1                 |         v0 = 0x10000;
    0x00007080 lw t9, -0x7c14(gp)        |         t9 = sym.imp.log_proto_server_options_init;
    0x00007084 move a0, s1               |         a0 = s1;
    0x00007088 sw v0, 0x98(sp)           |         *(var_98h) = v0;
    0x0000708c jalr t9                   |         t9 ();
    0x00007090 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007094 lw t9, -0x7fac(gp)        |         t9 = sym.pattern_db_new;
    0x00007098 bal 0xdb30                |         sym_pattern_db_new ();
    0x0000709c nop                       |         
    0x000070a0 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x000070a4 move s6, v0               |         s6 = v0;
    0x000070a8 lw a1, (s0)               |         a1 = *(s0);
    0x000070ac lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x000070b0 lw t9, -0x7fa8(gp)        |         t9 = sym.pattern_db_reload_ruleset;
    0x000070b4 move a0, s6               |         a0 = s6;
    0x000070b8 lw a2, -0x4b4c(v0)        |         a2 = *((v0 - 4819));
    0x000070bc bal 0xd770                |         sym_pattern_db_reload_ruleset ();
    0x000070c0 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 == 0) {
    0x000070c4 bnez v0, 0x7174           |             
    0x000070c8 move s0, zero             |             s0 = 0;
                                         | label_11:
    0x000070cc lw a0, 0x54(sp)           |             a0 = *(var_54h);
    0x000070d0 lw t9, -0x7c98(gp)        |             t9 = sym.imp.log_template_unref;
                                         |             if (a0 != 0) {
    0x000070d4 beqz a0, 0x70e4           |                 
    0x000070d8 jalr t9                   |                 t9 ();
    0x000070dc nop                       |                 
    0x000070e0 lw gp, 0x28(sp)           |                 gp = *(var_28h);
                                         |             }
    0x000070e4 lw a0, 0x44(sp)           |             a0 = *(var_44h_2);
    0x000070e8 lw t9, -0x7ca4(gp)        |             t9 = sym.imp.g_string_free;
                                         |             if (a0 != 0) {
    0x000070ec beqz a0, 0x70fc           |                 
    0x000070f0 addiu a1, zero, 1         |                 a1 = 1;
    0x000070f4 jalr t9                   |                 t9 ();
    0x000070f8 lw gp, 0x28(sp)           |                 gp = *(var_28h);
                                         |             }
    0x000070fc lw t9, -0x7fa4(gp)        |             t9 = sym.pattern_db_free;
    0x00007100 move a0, s6               |             a0 = s6;
    0x00007104 bal 0xdbb4                |             sym_pattern_db_free ();
    0x00007108 lw gp, 0x28(sp)           |             gp = *(var_28h);
                                         |             if (s0 != 0) {
    0x0000710c beqz s0, 0x7120           |                 
    0x00007110 lw t9, -0x7be0(gp)        |                 t9 = sym.imp.log_msg_unref;
    0x00007114 move a0, s0               |                 a0 = s0;
    0x00007118 jalr t9                   |                 t9 ();
    0x0000711c lw gp, 0x28(sp)           |                 gp = *(var_28h);
                                         |             }
    0x00007120 lw t9, -0x7c74(gp)        |             t9 = sym.imp.msg_format_options_destroy;
    0x00007124 move a0, s7               |             a0 = s7;
    0x00007128 jalr t9                   |             t9 ();
    0x0000712c lw gp, 0x28(sp)           |             gp = *(var_28h);
    0x00007130 lw v0, 0x74(sp)           |             v0 = *(var_74h);
                                         | label_8:
    0x00007134 lw v1, 0x50(sp)           |             v1 = *(var_50h);
    0x00007138 lw a0, 0xec(sp)           |             a0 = *(var_ech);
    0x0000713c lw v1, (v1)               |             v1 = *(v1);
    0x00007140 lw ra, 0x114(sp)          |             ra = *(var_114h);
                                         |             if (a0 != v1) {
    0x00007144 bne a0, v1, 0x8094        |                 goto label_65;
                                         |             }
    0x00007148 lw fp, 0x110(sp)          |             fp = *(var_110h);
    0x0000714c lw s7, 0x10c(sp)          |             s7 = *(var_10ch);
    0x00007150 lw s6, 0x108(sp)          |             s6 = *(var_108h);
    0x00007154 lw s5, 0x104(sp)          |             s5 = *(var_104h);
    0x00007158 lw s4, 0x100(sp)          |             s4 = *(var_100h);
    0x0000715c lw s3, 0xfc(sp)           |             s3 = *(var_fch);
    0x00007160 lw s2, 0xf8(sp)           |             s2 = *(var_f8h);
    0x00007164 lw s1, 0xf4(sp)           |             s1 = *(var_f4h);
    0x00007168 lw s0, 0xf0(sp)           |             s0 = *(var_f0h);
    0x0000716c addiu sp, sp, 0x118       |             
    0x00007170 jr ra                     |             return v0;
                                         |         }
    0x00007174 lw t9, -0x7ce8(gp)        |         t9 = sym.imp.log_msg_new_empty;
    0x00007178 jalr t9                   |         t9 ();
    0x0000717c nop                       |         
    0x00007180 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007184 move s0, v0               |         s0 = v0;
    0x00007188 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x0000718c lw s2, -0x44d0(v0)        |         s2 = *((v0 - 4404));
    0x00007190 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
                                         |         if (s2 == 0) {
    0x00007194 beqz s2, 0x7908           |             goto label_66;
                                         |         }
    0x00007198 lw t9, -0x7b20(gp)        |         t9 = sym.imp.strcmp;
    0x0000719c addiu a1, a1, -0x7b50     |         a1 += -0x7b50;
    0x000071a0 move a0, s2               |         a0 = s2;
    0x000071a4 jalr t9                   |         t9 ();
    0x000071a8 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 != 0) {
    0x000071ac bnez v0, 0x74bc           |             goto label_67;
                                         |         }
                                         | label_10:
    0x000071b0 lw t9, -0x7b98(gp)        |         t9 = sym.imp.log_transport_file_new;
    0x000071b4 move a0, v0               |         a0 = v0;
    0x000071b8 jalr t9                   |         t9 ();
    0x000071bc lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x000071c0 move a1, s1               |         a1 = s1;
    0x000071c4 lw t9, -0x7a8c(gp)        |         t9 = sym.imp.log_proto_text_server_new;
    0x000071c8 move a0, v0               |         a0 = v0;
    0x000071cc jalr t9                   |         t9 ();
    0x000071d0 move s1, v0               |         s1 = v0;
    0x000071d4 lw v0, (v0)               |         v0 = *(v0);
    0x000071d8 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 == 0) {
    0x000071dc beqz v0, 0x751c           |             goto label_68;
                                         |         }
                                         | label_12:
    0x000071e0 sltu s2, zero, v0         |         s2 = (0 < v0) ? 1 : 0;
                                         | label_28:
    0x000071e4 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x000071e8 sw v0, 0x34(sp)           |         *(var_34h_2) = v0;
    0x000071ec lw v0, -0x44dc(v0)        |         v0 = *((v0 - 4407));
    0x000071f0 lw v0, 0x80(sp)           |         v0 = *(var_80h);
                                         |         if (v0 == 0) {
    0x000071f4 beqz v0, 0x747c           |             goto label_69;
                                         |         }
    0x000071f8 lw t9, -0x7bb8(gp)        |         t9 = sym.imp.g_array_new;
    0x000071fc addiu a2, zero, 0x14      |         a2 = 0x14;
    0x00007200 move a1, zero             |         a1 = 0;
    0x00007204 move a0, zero             |         a0 = 0;
    0x00007208 jalr t9                   |         t9 ();
    0x0000720c lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007210 move s4, v0               |         s4 = v0;
                                         | label_9:
    0x00007214 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
                                         |         if (s2 != 0) {
    0x00007218 bnez s2, 0x7750           |             goto label_70;
                                         |         }
    0x0000721c sw s7, 0x30(sp)           |         *(var_30h_4) = s7;
    0x00007220 sw v0, 0x38(sp)           |         *(var_38h_3) = v0;
    0x00007224 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
                                         |         /* str.e_01_0m */
    0x00007228 addiu v0, v0, -0x7aac     |         v0 += -0x7aac;
    0x0000722c sw v0, 0x40(sp)           |         *(var_40h_3) = v0;
    0x00007230 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00007234 addiu v0, v0, -0x7c38     |         v0 += -0x7c38;
    0x00007238 sw v0, 0x48(sp)           |         *(var_48h) = v0;
    0x0000723c lw v0, 0x78(sp)           |         v0 = *(var_78h);
    0x00007240 lw v0, 0x3c(sp)           |         v0 = *(var_3ch_2);
                                         |         if (v0 == 0) {
    0x00007244 beqz v0, 0x77a4           |             goto label_71;
                                         |         }
    0x00007248 lw t9, -0x7c60(gp)        |         t9 = sym.imp.invalidate_cached_time;
                                         | label_17:
    0x0000724c jalr t9                   |         t9 ();
    0x00007250 nop                       |         
    0x00007254 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (s1 == 0) {
    0x00007258 beqz s1, 0x77c0           |             goto label_72;
                                         |         }
                                         | label_19:
    0x0000725c lw t9, -0x7be0(gp)        |         t9 = sym.imp.log_msg_unref;
    0x00007260 move a0, s0               |         a0 = s0;
    0x00007264 jalr t9                   |         t9 ();
    0x00007268 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x0000726c lw t9, -0x7ce8(gp)        |         t9 = sym.imp.log_msg_new_empty;
    0x00007270 addiu s2, zero, 1         |         s2 = 1;
    0x00007274 jalr t9                   |         t9 ();
    0x00007278 move s0, v0               |         s0 = v0;
    0x0000727c lw v0, 0xb0(sp)           |         v0 = *(var_b0h);
    0x00007280 lw a2, 0x7c(sp)           |         a2 = *(var_7ch_2);
    0x00007284 lw a1, 0x78(sp)           |         a1 = *(var_78h);
    0x00007288 lw t9, 4(v0)              |         t9 = *((v0 + 1));
    0x0000728c lw a0, 0x30(sp)           |         a0 = *(var_30h_4);
    0x00007290 move a3, s0               |         a3 = s0;
    0x00007294 jalr t9                   |         t9 ();
    0x00007298 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         | label_20:
    0x0000729c lw v0, 0x34(sp)           |         v0 = *(var_34h_2);
    0x000072a0 lw v0, -0x44dc(v0)        |         v0 = *((v0 - 4407));
    0x000072a4 lw t9, -0x7fa0(gp)        |         t9 = sym.pattern_db_process;
                                         |         if (v0 == 0) {
    0x000072a8 beqz v0, 0x7738           |             goto label_73;
                                         |         }
    0x000072ac lw s7, -0x7aec(gp)        |         s7 = *((gp - 7867));
    0x000072b0 lw t9, -0x7f9c(gp)        |         t9 = sym.pattern_db_debug_ruleset;
    0x000072b4 move a1, s0               |         a1 = s0;
    0x000072b8 move a2, s4               |         a2 = s4;
    0x000072bc move a0, s6               |         a0 = s6;
    0x000072c0 bal 0xd978                |         sym_pattern_db_debug_ruleset ();
    0x000072c4 lw v0, (s7)               |         v0 = *(s7);
    0x000072c8 lw v0, 4(v0)              |         v0 = *((v0 + 1));
    0x000072cc lw v0, (v0)               |         v0 = *(v0);
    0x000072d0 lhu a1, 0x14(v0)          |         a1 = *((v0 + 10));
    0x000072d4 andi v0, a1, 4            |         v0 = a1 & 4;
    0x000072d8 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 != 0) {
    0x000072dc bnez v0, 0x7850           |             goto label_74;
                                         |         }
    0x000072e0 lw s3, 0x48(s0)           |         s3 = *((s0 + 18));
    0x000072e4 lbu v0, 0xa(s3)           |         v0 = *((s3 + 10));
    0x000072e8 sltiu v0, v0, 3           |         v0 = (v0 < 3) ? 1 : 0;
                                         |         if (v0 == 0) {
    0x000072ec beql v0, zero, 0x7870     |             goto label_75;
                                         |         }
    0x000072f0 lw a1, 0x14(s3)           |         a1 = *((s3 + 5));
    0x000072f4 lw t9, -0x7c80(gp)        |         t9 = sym.imp.nv_table_get_entry_slow;
    0x000072f8 addiu a2, sp, 0x88        |         a2 = sp + 0x88;
    0x000072fc addiu a1, zero, 3         |         a1 = 3;
    0x00007300 move a0, s3               |         a0 = s3;
    0x00007304 jalr t9                   |         t9 ();
    0x00007308 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 == 0) {
                                         | label_26:
    0x0000730c beql v0, zero, 0x787c     |             goto label_76;
                                         |         }
    0x00007310 lw v0, -0x7aac(gp)        |         v0 = *((gp - 7851));
    0x00007314 lbu v1, (v0)              |         v1 = *(v0);
    0x00007318 andi a0, v1, 4            |         a0 = v1 & 4;
    0x0000731c andi v1, v1, 1            |         v1 &= 1;
                                         |         if (a0 != 0) {
    0x00007320 bnez a0, 0x7878           |             goto label_77;
                                         |         }
    0x00007324 lw t9, -0x7b70(gp)        |         t9 = sym.imp.nv_table_resolve_indirect;
                                         |         if (v1 != 0) {
    0x00007328 bnez v1, 0x78ec           |             goto label_78;
                                         |         }
    0x0000732c lbu a1, 1(v0)             |         a1 = *((v0 + 1));
    0x00007330 addu v0, v0, a1           |         v0 += a1;
    0x00007334 addiu v0, v0, 0xd         |         v0 += 0xd;
    0x00007338 sw v0, 0x58(sp)           |         *(var_58h_2) = v0;
                                         | label_27:
    0x0000733c lw v0, 0x58(sp)           |         v0 = *(var_58h_2);
    0x00007340 lw v0, -0x7aac(gp)        |         v0 = *((gp - 7851));
                                         |         if (v0 == 0) {
    0x00007344 beqz v0, 0x787c           |             goto label_76;
                                         |         }
                                         | label_25:
    0x00007348 lw v0, 0x38(sp)           |         v0 = *(var_38h_3);
    0x0000734c lw v0, -0x44e0(v0)        |         v0 = *((v0 - 4408));
                                         |         if (v0 == 0) {
    0x00007350 beql v0, zero, 0x7994     |             goto label_79;
                                         |         }
    0x00007354 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007358 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
                                         | label_30:
    0x0000735c lw t9, -0x7cc0(gp)        |         t9 = sym.imp.puts;
                                         |         /* str.PDBTOOL_HEADERi:len:key_keylen:match_off_match_len:parser_type:parser_name */
    0x00007360 addiu a0, a0, -0x7b24     |         a0 += -0x7b24;
    0x00007364 jalr t9                   |         t9 ();
    0x00007368 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         | label_29:
    0x0000736c lw v0, 4(s4)              |         v0 = *((s4 + 1));
    0x00007370 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
                                         |         if (v0 == 0) {
    0x00007374 beqz v0, 0x75b0           |             goto label_80;
                                         |         }
    0x00007378 move fp, zero             |         fp = 0;
    0x0000737c sw v0, 0x4c(sp)           |         *(var_4ch_2) = v0;
    0x00007380 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00007384 move s5, zero             |         s5 = 0;
    0x00007388 addiu v0, v0, -0x6e54     |         v0 += -0x6e54;
    0x0000738c sw s1, 0x64(sp)           |         *(var_64h_2) = s1;
    0x00007390 move s1, s4               |         s1 = s4;
    0x00007394 move s4, fp               |         s4 = fp;
    0x00007398 lw fp, 0x58(sp)           |         fp = *(var_58h_2);
    0x0000739c sw s0, 0x60(sp)           |         *(var_60h_2) = s0;
    0x000073a0 sw v0, 0x5c(sp)           |         *(var_5ch_2) = v0;
    0x000073a4 move s0, s5               |         s0 = s5;
                                         | label_13:
    0x000073a8 lw s3, (s1)               |         s3 = *(s1);
    0x000073ac lw v0, 0x38(sp)           |         v0 = *(var_38h_3);
    0x000073b0 addu s3, s3, s0           |         s3 += s0;
    0x000073b4 lw a1, (s3)               |         a1 = *(s3);
    0x000073b8 lw a0, -0x44e0(v0)        |         a0 = *((v0 - 4408));
    0x000073bc lw a3, 8(s3)              |         a3 = *((s3 + 2));
    0x000073c0 lw v0, 4(s3)              |         v0 = *((s3 + 1));
    0x000073c4 lw a1, 4(a1)              |         a1 = *((a1 + 1));
                                         |         if (a0 == 0) {
    0x000073c8 beqz a0, 0x77c8           |             goto label_81;
                                         |         }
    0x000073cc lw a2, 0xc(s3)            |         a2 = *((s3 + 3));
    0x000073d0 lw t1, 0x10(s3)           |         t1 = *((s3 + 4));
                                         |         if (v0 == 0) {
    0x000073d4 beqz v0, 0x7844           |             goto label_82;
                                         |         }
    0x000073d8 lw a0, 0xc(v0)            |         a0 = *((v0 + 3));
    0x000073dc lbu v0, 0xa(v0)           |         v0 = *((v0 + 10));
                                         |         if (a0 == 0) {
    0x000073e0 beqz a0, 0x7814           |             goto label_83;
                                         |         }
    0x000073e4 lw t3, (s7)               |         t3 = *(s7);
    0x000073e8 addiu t2, a0, -1          |         t2 = a0 + -1;
    0x000073ec lw t3, 4(t3)              |         t3 = *((t3 + 1));
    0x000073f0 lw t4, 4(t3)              |         t4 = *((t3 + 1));
    0x000073f4 sltu t2, t2, t4           |         t2 = (t2 < t4) ? 1 : 0;
    0x000073f8 sll a0, a0, 3             |         a0 <<= 3;
                                         |         if (t2 == 0) {
    0x000073fc beqz t2, 0x78c4           |             goto label_84;
                                         |         }
    0x00007400 lw t2, (t3)               |         t2 = *(t3);
    0x00007404 addiu a0, a0, -8          |         a0 += -8;
    0x00007408 addu a0, t2, a0           |         a0 = t2 + a0;
    0x0000740c sltiu t3, v0, 0xf         |         t3 = (v0 < 0xf) ? 1 : 0;
    0x00007410 lbu t2, 6(a0)             |         t2 = *((a0 + 6));
    0x00007414 lw a0, (a0)               |         a0 = *(a0);
                                         |         if (t3 == 0) {
    0x00007418 beqz t3, 0x772c           |             goto label_85;
                                         |         }
    0x0000741c sll t3, v0, 2             |         t3 = v0 << 2;
    0x00007420 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00007424 addiu v0, v0, -0x6e90     |         v0 += -0x6e90;
    0x00007428 lwx v0, t3(v0)            |         __asm ("lwx v0, t3(v0)");
    0x0000742c addu v0, v0, gp           |         v0 += gp;
    0x00007430 jr v0                     |         v0 ();
    0x00007434 nop                       |         
                                         | label_63:
    0x00007438 sw zero, 0x54(sp)         |         *(var_54h) = 0;
    0x0000743c b 0x6fc8                  |         
                                         |     } while (1);
                                         | label_62:
    0x00007440 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00007444 lw v0, -0x44d0(v0)        |     v0 = *((v0 - 4404));
    0x00007448 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
                                         |     if (v0 == 0) {
    0x0000744c bnel v0, zero, 0x6f68     |         goto label_7;
                                         |     }
    0x00007450 lw v0, -0x7d6c(gp)        |     v0 = *((gp - 8027));
    0x00007454 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00007458 lw t9, -0x7ae4(gp)        |     t9 = sym.imp.fwrite;
    0x0000745c lw a3, (v0)               |     a3 = *(v0);
    0x00007460 addiu a2, zero, 0x3e      |     a2 = 0x3e;
    0x00007464 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Either__M_or__f_is_required_to_specify_which_message_to_match_n */
    0x00007468 addiu a0, a0, -0x7bb4     |     a0 += -0x7bb4;
    0x0000746c jalr t9                   |     t9 ();
    0x00007470 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00007474 lw v0, 0x74(sp)           |     v0 = *(var_74h);
    0x00007478 b 0x7134                  |     goto label_8;
                                         | label_69:
    0x0000747c lw a1, -0x7fbc(gp)        |     a1 = *((gp - 8175));
    0x00007480 sw v0, 0xcc(sp)           |     *(var_cch) = v0;
    0x00007484 lw v0, 0x54(sp)           |     v0 = *(var_54h);
    0x00007488 lw t9, -0x7f98(gp)        |     t9 = sym.pattern_db_set_emit_func;
    0x0000748c sw v0, 0xd0(sp)           |     *(var_d0h) = v0;
    0x00007490 addiu v0, sp, 0x74        |     v0 = sp + 0x74;
    0x00007494 sw v0, 0xd4(sp)           |     *(var_d4h) = v0;
    0x00007498 lw v0, 0x44(sp)           |     v0 = *(var_44h_2);
    0x0000749c addiu a2, sp, 0xcc        |     a2 = sp + 0xcc;
    0x000074a0 addiu a1, a1, 0x594c      |     a1 += fcn.0000594c;
    0x000074a4 move a0, s6               |     a0 = s6;
    0x000074a8 sw v0, 0xd8(sp)           |     *(var_d8h) = v0;
    0x000074ac bal 0xd84c                |     sym_pattern_db_set_emit_func ();
    0x000074b0 move s4, zero             |     s4 = 0;
    0x000074b4 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000074b8 b 0x7214                  |     goto label_9;
                                         | label_67:
    0x000074bc lw t9, -0x7a4c(gp)        |     t9 = sym.imp.open64;
    0x000074c0 move a1, zero             |     a1 = 0;
    0x000074c4 move a0, s2               |     a0 = s2;
    0x000074c8 jalr t9                   |     t9 ();
    0x000074cc lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 >= 0) {
    0x000074d0 bgez v0, 0x71b0           |         goto label_10;
                                         |     }
    0x000074d4 lw v0, -0x7d6c(gp)        |     v0 = *((gp - 8027));
    0x000074d8 lw t9, -0x7b44(gp)        |     t9 = sym.imp.__errno_location;
    0x000074dc lw s1, (v0)               |     s1 = *(v0);
    0x000074e0 jalr t9                   |     t9 ();
    0x000074e4 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000074e8 lw t9, -0x7ba0(gp)        |     t9 = sym.imp.g_strerror;
    0x000074ec lw a0, (v0)               |     a0 = *(v0);
    0x000074f0 jalr t9                   |     t9 ();
    0x000074f4 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000074f8 move a3, v0               |     a3 = v0;
    0x000074fc addiu a1, zero, 1         |     a1 = 1;
    0x00007500 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00007504 lw t9, -0x7cf4(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.Error_opening_file_to_be_processed:__s_n */
    0x00007508 addiu a2, a2, -0x7b4c     |     a2 += -0x7b4c;
    0x0000750c move a0, s1               |     a0 = s1;
    0x00007510 jalr t9                   |     t9 ();
    0x00007514 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00007518 b 0x70cc                  |     goto label_11;
                                         | label_68:
    0x0000751c sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00007520 sw zero, 0x10(sp)         |     *(var_10h_3) = 0;
    0x00007524 lw t9, 0x24(s1)           |     t9 = *((s1 + 9));
    0x00007528 addiu a3, sp, 0x84        |     a3 = sp + 0x84;
    0x0000752c addiu a2, sp, 0x7c        |     a2 = sp + 0x7c;
    0x00007530 addiu a1, sp, 0x78        |     a1 = sp + 0x78;
    0x00007534 move a0, s1               |     a0 = s1;
    0x00007538 jalr t9                   |     t9 ();
    0x0000753c lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00007540 b 0x71e0                  |     goto label_12;
                                         | label_14:
    0x00007558 lw v1, 0x48(sp)           |     v1 = *(var_48h);
                                         |     if (t2 != 0) {
    0x0000755c movz a0, v1, t2           |         a0 = v1;
                                         |     }
                                         | label_24:
    0x00007560 sw a1, 0x10(sp)           |     *(var_10h_3) = a1;
    0x00007564 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00007568 lw t9, -0x7a1c(gp)        |     t9 = sym.imp.__printf_chk;
    0x0000756c sw a0, 0x20(sp)           |     *(var_20h_2) = a0;
    0x00007570 sw a2, 0x14(sp)           |     *(var_14h) = a2;
    0x00007574 sw v0, 0x1c(sp)           |     *(var_1ch_2) = v0;
    0x00007578 sw t1, 0x18(sp)           |     *(var_18h_3) = t1;
    0x0000757c move a2, s4               |     a2 = s4;
                                         |     /* str.PDBTOOL_DEBUG_d:_d:_d:_d:_d:_s:_s_n */
    0x00007580 addiu a1, a1, -0x7a80     |     a1 += -0x7a80;
    0x00007584 addiu a0, zero, 1         |     a0 = 1;
    0x00007588 jalr t9                   |     t9 ();
    0x0000758c lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         | label_21:
    0x00007590 lw v0, 4(s1)              |     v0 = *((s1 + 1));
    0x00007594 addiu s4, s4, 1           |     s4++;
    0x00007598 sltu v0, s4, v0           |     v0 = (s4 < v0) ? 1 : 0;
    0x0000759c addiu s0, s0, 0x14        |     s0 += 0x14;
                                         |     if (v0 != 0) {
    0x000075a0 bnez v0, 0x73a8           |         goto label_13;
                                         |     }
    0x000075a4 move s4, s1               |     s4 = s1;
    0x000075a8 lw s0, 0x60(sp)           |     s0 = *(var_60h_2);
    0x000075ac lw s1, 0x64(sp)           |     s1 = *(var_64h_2);
                                         | label_80:
    0x000075b0 lw t9, -0x7ce4(gp)        |     t9 = sym.imp.g_array_set_size;
    0x000075b4 move a1, zero             |     a1 = 0;
    0x000075b8 move a0, s4               |     a0 = s4;
    0x000075bc jalr t9                   |     t9 ();
    0x000075c0 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000075c4 addiu v0, sp, 0x74        |     v0 = sp + 0x74;
    0x000075c8 sw v0, 0xe4(sp)           |     *(var_e4h) = v0;
    0x000075cc lw t9, -0x7fbc(gp)        |     t9 = *((gp - 8175));
    0x000075d0 lw v0, 0x44(sp)           |     v0 = *(var_44h_2);
    0x000075d4 addiu a2, sp, 0xdc        |     a2 = sp + 0xdc;
    0x000075d8 move a1, zero             |     a1 = 0;
    0x000075dc move a0, s0               |     a0 = s0;
    0x000075e0 sw zero, 0xdc(sp)         |     *(var_dch) = 0;
    0x000075e4 sw zero, 0xe0(sp)         |     *(var_e0h) = 0;
    0x000075e8 addiu t9, t9, 0x594c      |     t9 += fcn.0000594c;
    0x000075ec sw v0, 0xe8(sp)           |     *(var_e8h) = v0;
    0x000075f0 bal 0x594c                |     fcn_0000594c ();
    0x000075f4 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (s2 == 0) {
    0x000075f8 beqz s2, 0x774c           |         goto label_18;
                                         |     }
                                         |     do {
    0x000075fc lw v0, (s1)               |         v0 = *(s1);
    0x00007600 sw zero, 0x78(sp)         |         *(var_78h) = 0;
                                         |         if (v0 == 0) {
    0x00007604 beqz v0, 0x776c           |             goto label_86;
                                         |         }
                                         | label_16:
    0x00007608 lw t9, -0x7f94(gp)        |         t9 = sym.pattern_db_expire_state;
    0x0000760c move a0, s6               |         a0 = s6;
    0x00007610 lw s7, 0x30(sp)           |         s7 = *(var_30h_4);
    0x00007614 bal 0xd9f4                |         sym_pattern_db_expire_state ();
    0x00007618 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x0000761c lw t9, -0x7a50(gp)        |         t9 = sym.imp.log_proto_server_free;
                                         | label_15:
    0x00007620 move a0, s1               |         a0 = s1;
    0x00007624 jalr t9                   |         t9 ();
    0x00007628 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x0000762c b 0x70cc                  |         goto label_11;
                                         | label_22:
    0x00007720 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007724 addiu t2, zero, 4         |         t2 = 4;
                                         |         /* str.None */
    0x00007728 addiu a0, a0, -0x7bbc     |         a0 += -0x7bbc;
                                         | label_85:
    0x0000772c lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
                                         |         /* str.UNKNOWN */
    0x00007730 addiu v0, v0, -0x7c24     |         v0 += -0x7c24;
    0x00007734 b 0x7558                  |         goto label_14;
                                         | label_73:
    0x00007738 move a1, s0               |         a1 = s0;
    0x0000773c move a0, s6               |         a0 = s6;
    0x00007740 bal 0xd878                |         sym_pattern_db_process ();
    0x00007744 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007748 bnez s2, 0x75fc           |         
                                         |     } while (s2 != 0);
                                         | label_18:
    0x0000774c lw s7, 0x30(sp)           |     s7 = *(var_30h_4);
                                         | label_70:
    0x00007750 lw t9, -0x7f94(gp)        |     t9 = sym.pattern_db_expire_state;
    0x00007754 move a0, s6               |     a0 = s6;
    0x00007758 bal 0xd9f4                |     sym_pattern_db_expire_state ();
    0x0000775c lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (s1 == 0) {
    0x00007760 beqz s1, 0x70cc           |         goto label_11;
                                         |     }
    0x00007764 lw t9, -0x7a50(gp)        |     t9 = sym.imp.log_proto_server_free;
    0x00007768 b 0x7620                  |     goto label_15;
                                         | label_86:
    0x0000776c sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00007770 sw zero, 0x10(sp)         |     *(var_10h_3) = 0;
    0x00007774 lw t9, 0x24(s1)           |     t9 = *((s1 + 9));
    0x00007778 addiu a3, sp, 0x84        |     a3 = sp + 0x84;
    0x0000777c addiu a2, sp, 0x7c        |     a2 = sp + 0x7c;
    0x00007780 addiu a1, sp, 0x78        |     a1 = sp + 0x78;
    0x00007784 move a0, s1               |     a0 = s1;
    0x00007788 jalr t9                   |     t9 ();
    0x0000778c lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 != 0) {
    0x00007790 bnez v0, 0x7608           |         goto label_16;
                                         |     }
    0x00007794 lw v0, 0x78(sp)           |     v0 = *(var_78h);
    0x00007798 lw t9, -0x7c60(gp)        |     t9 = sym.imp.invalidate_cached_time;
                                         |     if (v0 != 0) {
    0x0000779c bnez v0, 0x724c           |         goto label_17;
                                         |     }
    0x000077a0 lw v0, 0x3c(sp)           |     v0 = *(var_3ch_2);
                                         | label_71:
    0x000077a4 lw v0, -0x44cc(v0)        |     v0 = *((v0 - 4403));
    0x000077a8 lw t9, -0x7c60(gp)        |     t9 = sym.imp.invalidate_cached_time;
                                         |     if (v0 == 0) {
    0x000077ac beqz v0, 0x774c           |         goto label_18;
                                         |     }
    0x000077b0 jalr t9                   |     t9 ();
    0x000077b4 nop                       |     
    0x000077b8 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (s1 != 0) {
    0x000077bc bnez s1, 0x725c           |         goto label_19;
                                         |     }
                                         | label_72:
    0x000077c0 move s2, zero             |     s2 = 0;
    0x000077c4 b 0x729c                  |     goto label_20;
                                         | label_81:
    0x000077c8 lw v1, 0x4c(sp)           |     v1 = *(var_4ch_2);
    0x000077cc addu a0, fp, s5           |     a0 = fp + s5;
    0x000077d0 lw a2, -0x4b48(v1)        |     a2 = *((v1 - 4818));
                                         |     if (a3 == a1) {
    0x000077d4 beq a3, a1, 0x7834        |         goto label_87;
                                         |     }
                                         |     if (v0 != 0) {
    0x000077d8 beql v0, zero, 0x77e4     |         
    0x000077dc lw a2, 0xc(a2)            |         a2 = *((a2 + 3));
    0x000077e0 lw a2, 4(a2)              |         a2 = *((a2 + 1));
                                         |     }
                                         | label_23:
    0x000077e4 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000077e8 lw v0, 0x40(sp)           |     v0 = *(var_40h_3);
    0x000077ec lw t9, -0x7a1c(gp)        |     t9 = sym.imp.__printf_chk;
    0x000077f0 sw a0, 0x10(sp)           |     *(var_10h_3) = a0;
    0x000077f4 sw v0, 0x14(sp)           |     *(var_14h) = v0;
                                         |     /* str._s_.s_s */
    0x000077f8 addiu a1, a1, -0x7a9c     |     a1 += -0x7a9c;
    0x000077fc addiu a0, zero, 1         |     a0 = 1;
    0x00007800 jalr t9                   |     t9 ();
    0x00007804 lw v0, 8(s3)              |     v0 = *((s3 + 2));
    0x00007808 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x0000780c addu s5, s5, v0           |     s5 += v0;
    0x00007810 b 0x7590                  |     goto label_21;
                                         | label_83:
    0x00007814 sltiu a0, v0, 0xf         |     a0 = (v0 < 0xf) ? 1 : 0;
    0x00007818 lw v1, 0x5c(sp)           |     v1 = *(var_5ch_2);
                                         |     if (a0 == 0) {
    0x0000781c beqz a0, 0x7720           |         goto label_22;
                                         |     }
    0x00007820 sll v0, v0, 2             |     v0 <<= 2;
    0x00007824 lwx v0, v0(v1)            |     __asm ("lwx v0, v0(v1)");
    0x00007828 addu v0, v0, gp           |     v0 += gp;
    0x0000782c jr v0                     |     v0 ();
    0x00007830 nop                       |     
                                         | label_87:
    0x00007834 lw a2, 4(a2)              |     a2 = *((a2 + 1));
                                         |     if (v0 == 0) {
    0x00007838 bnel v0, zero, 0x77e4     |         goto label_23;
                                         |     }
    0x0000783c lw a2, 8(a2)              |     a2 = *((a2 + 2));
    0x00007840 b 0x77e4                  |     goto label_23;
                                         | label_82:
    0x00007844 lw a0, 0x48(sp)           |     a0 = *(var_48h);
    0x00007848 move v0, a0               |     v0 = a0;
    0x0000784c b 0x7560                  |     goto label_24;
                                         | label_74:
    0x00007850 lw t9, -0x7b6c(gp)        |     t9 = sym.imp.log_msg_get_macro_value;
    0x00007854 move a2, zero             |     a2 = 0;
    0x00007858 srl a1, a1, 8             |     a1 >>= 8;
    0x0000785c move a0, s0               |     a0 = s0;
    0x00007860 jalr t9                   |     t9 ();
    0x00007864 sw v0, 0x58(sp)           |     *(var_58h_2) = v0;
    0x00007868 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x0000786c b 0x7348                  |     goto label_25;
                                         | label_75:
    0x00007870 sw zero, 0x88(sp)         |     *(var_88h) = 0;
                                         |     if (a1 == 0) {
    0x00007874 bnez a1, 0x7888           |         
                                         | label_77:
    0x00007878 lw v0, -0x7aac(gp)        |         v0 = *((gp - 7851));
                                         | label_76:
    0x0000787c lw v0, (v0)               |         v0 = *(v0);
    0x00007880 sw v0, 0x58(sp)           |         *(var_58h_2) = v0;
    0x00007884 b 0x7348                  |         goto label_25;
                                         |     }
    0x00007888 lw v0, (s3)               |     v0 = *(s3);
    0x0000788c subu v0, v0, a1           |     __asm ("subu v0, v0, a1");
    0x00007890 addu v0, s3, v0           |     v0 = s3 + v0;
    0x00007894 b 0x730c                  |     goto label_26;
                                         | label_64:
    0x00007898 lw v0, -0x7d6c(gp)        |     v0 = *((gp - 8027));
    0x0000789c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000078a0 lw t9, -0x7ae4(gp)        |     t9 = sym.imp.fwrite;
    0x000078a4 lw a3, (v0)               |     a3 = *(v0);
    0x000078a8 addiu a2, zero, 0x20      |     a2 = 0x20;
    0x000078ac addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Error_parsing_filter_expression_n */
    0x000078b0 addiu a0, a0, -0x7b74     |     a0 += -0x7b74;
    0x000078b4 jalr t9                   |     t9 ();
    0x000078b8 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000078bc addiu v0, zero, 1         |     v0 = 1;
    0x000078c0 b 0x7134                  |     goto label_8;
                                         | label_84:
    0x000078c4 sltiu a0, v0, 0xf         |     a0 = (v0 < 0xf) ? 1 : 0;
                                         |     if (a0 == 0) {
    0x000078c8 beql a0, zero, 0x7eb4     |         goto label_88;
                                         |     }
    0x000078cc lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000078d0 sll a0, v0, 2             |     a0 = v0 << 2;
    0x000078d4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000078d8 addiu v0, v0, -0x6e18     |     v0 += -0x6e18;
    0x000078dc lwx v0, a0(v0)            |     __asm ("lwx v0, a0(v0)");
    0x000078e0 addu v0, v0, gp           |     v0 += gp;
    0x000078e4 jr v0                     |     v0 ();
    0x000078e8 nop                       |     
                                         | label_78:
    0x000078ec move a2, zero             |     a2 = 0;
    0x000078f0 move a1, v0               |     a1 = v0;
    0x000078f4 move a0, s3               |     a0 = s3;
    0x000078f8 jalr t9                   |     t9 ();
    0x000078fc sw v0, 0x58(sp)           |     *(var_58h_2) = v0;
    0x00007900 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00007904 b 0x733c                  |     goto label_27;
                                         | label_66:
    0x00007908 lw v0, 0x3c(sp)           |     v0 = *(var_3ch_2);
    0x0000790c lw t9, -0x7af0(gp)        |     t9 = sym.imp.strlen;
    0x00007910 lw s1, -0x44cc(v0)        |     s1 = *((v0 - 4403));
    0x00007914 move a0, s1               |     a0 = s1;
    0x00007918 jalr t9                   |     t9 ();
    0x0000791c lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00007920 move a3, v0               |     a3 = v0;
    0x00007924 move a2, s1               |     a2 = s1;
    0x00007928 lw t9, -0x7d90(gp)        |     t9 = sym.imp.log_msg_set_value;
    0x0000792c addiu a1, zero, 3         |     a1 = 3;
    0x00007930 move a0, s0               |     a0 = s0;
    0x00007934 jalr t9                   |     t9 ();
    0x00007938 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x0000793c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00007940 lw s1, -0x44c8(v0)        |     s1 = *((v0 - 4402));
                                         |     if (s1 != 0) {
    0x00007944 beql s1, zero, 0x798c     |         
    0x00007948 move s1, zero             |         s1 = 0;
    0x0000794c lb v0, (s1)               |         v0 = *(s1);
                                         |         if (v0 == 0) {
    0x00007950 beql v0, zero, 0x798c     |             goto label_89;
                                         |         }
    0x00007954 move s1, zero             |         s1 = 0;
    0x00007958 lw t9, -0x7af0(gp)        |         t9 = sym.imp.strlen;
    0x0000795c move a0, s1               |         a0 = s1;
    0x00007960 jalr t9                   |         t9 ();
    0x00007964 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007968 move a2, s1               |         a2 = s1;
    0x0000796c move a3, v0               |         a3 = v0;
    0x00007970 lw t9, -0x7d90(gp)        |         t9 = sym.imp.log_msg_set_value;
    0x00007974 addiu a1, zero, 4         |         a1 = 4;
    0x00007978 move a0, s0               |         a0 = s0;
    0x0000797c jalr t9                   |         t9 ();
    0x00007980 move s1, zero             |         s1 = 0;
    0x00007984 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007988 b 0x71e4                  |         goto label_28;
                                         |     }
                                         | label_89:
    0x0000798c move s2, zero             |     s2 = 0;
    0x00007990 b 0x71e4                  |     goto label_28;
                                         | label_79:
    0x00007994 lw t9, -0x7cc0(gp)        |     t9 = sym.imp.puts;
                                         |     /* str.Pattern_matching_part: */
    0x00007998 addiu a0, a0, -0x7ad8     |     a0 += -0x7ad8;
    0x0000799c jalr t9                   |     t9 ();
    0x000079a0 lw v0, 4(s4)              |     v0 = *((s4 + 1));
    0x000079a4 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 == 0) {
    0x000079a8 beqz v0, 0x807c           |         goto label_90;
                                         |     }
    0x000079ac lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000079b0 lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x000079b4 sw v0, 0x4c(sp)           |     *(var_4ch_2) = v0;
    0x000079b8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000079bc move s5, zero             |     s5 = 0;
    0x000079c0 sw v0, 0x64(sp)           |     *(var_64h_2) = v0;
    0x000079c4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000079c8 move fp, zero             |     fp = 0;
                                         |     /* str.UNKNOWN */
    0x000079cc addiu v0, v0, -0x7c24     |     v0 += -0x7c24;
    0x000079d0 sw v0, 0x6c(sp)           |     *(var_6ch_2) = v0;
    0x000079d4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000079d8 sw s0, 0x68(sp)           |     *(var_68h_2) = s0;
                                         |     /* str.None */
    0x000079dc addiu v0, v0, -0x7bbc     |     v0 += -0x7bbc;
    0x000079e0 sw v0, 0x60(sp)           |     *(var_60h_2) = v0;
    0x000079e4 move v0, s5               |     v0 = s5;
    0x000079e8 sw v1, 0x5c(sp)           |     *(var_5ch_2) = v1;
    0x000079ec move s5, s4               |     s5 = s4;
    0x000079f0 move s0, fp               |     s0 = fp;
    0x000079f4 move s3, v1               |     s3 = v1;
    0x000079f8 move s4, v0               |     s4 = v0;
                                         |     do {
    0x000079fc lw v0, (s5)               |         v0 = *(s5);
    0x00007a00 lw a1, -0x4b48(s3)        |         a1 = *((s3 - 4818));
    0x00007a04 addu v0, v0, fp           |         v0 += fp;
    0x00007a08 lw a3, 8(v0)              |         a3 = *((v0 + 2));
    0x00007a0c lw v1, 4(v0)              |         v1 = *((v0 + 1));
    0x00007a10 addu s0, s0, a3           |         s0 += a3;
                                         |         if (v1 != 0) {
    0x00007a14 beqz v1, 0x7aa0           |             
    0x00007a18 lw a0, 0xc(v1)            |             a0 = *((v1 + 3));
    0x00007a1c lw a2, 4(a1)              |             a2 = *((a1 + 1));
    0x00007a20 lbu v1, 0xa(v1)           |             v1 = *((v1 + 10));
                                         |             if (a0 != 0) {
    0x00007a24 beqz a0, 0x7a7c           |                 
    0x00007a28 lw a3, (s7)               |                 a3 = *(s7);
    0x00007a2c addiu a1, a0, -1          |                 a1 = a0 + -1;
    0x00007a30 lw a3, 4(a3)              |                 a3 = *((a3 + 1));
    0x00007a34 lw t2, 4(a3)              |                 t2 = *((a3 + 1));
    0x00007a38 sltu a1, a1, t2           |                 a1 = (a1 < t2) ? 1 : 0;
    0x00007a3c sll a0, a0, 3             |                 a0 <<= 3;
                                         |                 if (a1 == 0) {
    0x00007a40 beqz a1, 0x7efc           |                     goto label_91;
                                         |                 }
    0x00007a44 lw a1, (a3)               |                 a1 = *(a3);
    0x00007a48 addiu a0, a0, -8          |                 a0 += -8;
    0x00007a4c addu a0, a1, a0           |                 a0 = a1 + a0;
    0x00007a50 sltiu a3, v1, 0xf         |                 a3 = (v1 < 0xf) ? 1 : 0;
    0x00007a54 lbu a1, 6(a0)             |                 a1 = *((a0 + 6));
    0x00007a58 lw a0, (a0)               |                 a0 = *(a0);
                                         |                 if (a3 == 0) {
    0x00007a5c beqz a3, 0x7ea8           |                     goto label_92;
                                         |                 }
    0x00007a60 sll a3, v1, 2             |                 a3 = v1 << 2;
    0x00007a64 lw v1, -0x7fdc(gp)        |                 v1 = *((gp - 8183));
    0x00007a68 addiu v1, v1, -0x6ddc     |                 v1 += -0x6ddc;
    0x00007a6c lwx v1, a3(v1)            |                 __asm ("lwx v1, a3(v1)");
    0x00007a70 addu v1, v1, gp           |                 v1 += gp;
    0x00007a74 jr v1                     |                 v1 ();
    0x00007a78 nop                       |                 
                                         |             }
    0x00007a7c sltiu a0, v1, 0xf         |             a0 = (v1 < 0xf) ? 1 : 0;
    0x00007a80 sll v1, v1, 2             |             v1 <<= 2;
                                         |             if (a0 == 0) {
    0x00007a84 beqz a0, 0x7e9c           |                 goto label_93;
                                         |             }
    0x00007a88 lw a0, -0x7fdc(gp)        |             a0 = *((gp - 8183));
    0x00007a8c addiu a0, a0, -0x6da0     |             a0 += -0x6da0;
    0x00007a90 lwx v1, v1(a0)            |             __asm ("lwx v1, v1(a0)");
    0x00007a94 addu v1, v1, gp           |             v1 += gp;
    0x00007a98 jr v1                     |             v1 ();
    0x00007a9c nop                       |             
                                         |         }
    0x00007aa0 lw v0, (v0)               |         v0 = *(v0);
    0x00007aa4 lw v1, 4(v0)              |         v1 = *((v0 + 1));
    0x00007aa8 lw v0, (v0)               |         v0 = *(v0);
                                         |         if (a3 == v1) {
    0x00007aac beq a3, v1, 0x7ed0        |             goto label_94;
                                         |         }
    0x00007ab0 lw a2, 0xc(a1)            |         a2 = *((a1 + 3));
                                         |         if (v0 == 0) {
    0x00007ab4 beqz v0, 0x7ec4           |             goto label_95;
                                         |         }
                                         | label_35:
    0x00007ab8 lw v1, 0x40(sp)           |         v1 = *(var_40h_3);
    0x00007abc sw v0, 0x10(sp)           |         *(var_10h_3) = v0;
    0x00007ac0 lw v0, 0x64(sp)           |         v0 = *(var_64h_2);
    0x00007ac4 lw t9, -0x7a1c(gp)        |         t9 = sym.imp.__printf_chk;
    0x00007ac8 sw v1, 0x14(sp)           |         *(var_14h) = v1;
    0x00007acc addiu a1, v0, -0x7a9c     |         a1 = v0 + -0x7a9c;
    0x00007ad0 addiu a0, zero, 1         |         a0 = 1;
    0x00007ad4 jalr t9                   |         t9 ();
    0x00007ad8 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         | label_31:
    0x00007adc lw v0, 4(s5)              |         v0 = *((s5 + 1));
    0x00007ae0 addiu s4, s4, 1           |         s4++;
    0x00007ae4 sltu v0, s4, v0           |         v0 = (s4 < v0) ? 1 : 0;
    0x00007ae8 addiu fp, fp, 0x14        |         fp += 0x14;
    0x00007aec bnez v0, 0x79fc           |         
                                         |     } while (v0 != 0);
    0x00007af0 lw v0, 0x58(sp)           |     v0 = *(var_58h_2);
    0x00007af4 move fp, s0               |     fp = s0;
    0x00007af8 lw s0, 0x68(sp)           |     s0 = *(var_68h_2);
    0x00007afc move s4, s5               |     s4 = s5;
    0x00007b00 addu a3, v0, fp           |     a3 = v0 + fp;
                                         | label_36:
    0x00007b04 lw v0, 0x5c(sp)           |     v0 = *(var_5ch_2);
    0x00007b08 lw t9, -0x7a1c(gp)        |     t9 = sym.imp.__printf_chk;
    0x00007b0c addiu a0, zero, 1         |     a0 = 1;
    0x00007b10 lw v0, -0x4b48(v0)        |     v0 = *((v0 - 4818));
    0x00007b14 lw a2, (v0)               |     a2 = *(v0);
    0x00007b18 lw v0, 0x4c(sp)           |     v0 = *(var_4ch_2);
    0x00007b1c addiu a1, v0, -0x7aa4     |     a1 = v0 + -0x7aa4;
    0x00007b20 lw v0, 0x40(sp)           |     v0 = *(var_40h_3);
    0x00007b24 sw v0, 0x10(sp)           |     *(var_10h_3) = v0;
    0x00007b28 jalr t9                   |     t9 ();
    0x00007b2c lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00007b30 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00007b34 lw t9, -0x7cc0(gp)        |     t9 = sym.imp.puts;
                                         |     /* str._nMatching_part: */
    0x00007b38 addiu a0, a0, -0x7a90     |     a0 += -0x7a90;
    0x00007b3c jalr t9                   |     t9 ();
    0x00007b40 lw v0, 0x38(sp)           |     v0 = *(var_38h_3);
    0x00007b44 lw v0, -0x44e0(v0)        |     v0 = *((v0 - 4408));
    0x00007b48 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 == 0) {
    0x00007b4c beqz v0, 0x736c           |         goto label_29;
                                         |     }
    0x00007b50 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00007b54 b 0x735c                  |     goto label_30;
                                         | label_33:
    0x00007bc4 lw v1, 0xc(v0)            |     v1 = *((v0 + 3));
                                         |     do {
    0x00007bc8 lw a1, 0x58(sp)           |         a1 = *(var_58h_2);
    0x00007bcc lw v0, 0x10(v0)           |         v0 = *((v0 + 4));
    0x00007bd0 addu v1, a1, v1           |         v1 = a1 + v1;
                                         | label_32:
    0x00007bd4 lw a1, 0x40(sp)           |         a1 = *(var_40h_3);
    0x00007bd8 lw t9, -0x7a1c(gp)        |         t9 = sym.imp.__printf_chk;
    0x00007bdc sw a1, 0x1c(sp)           |         *(var_1ch_2) = a1;
    0x00007be0 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00007be4 sw a0, 0x10(sp)           |         *(var_10h_3) = a0;
    0x00007be8 sw v1, 0x18(sp)           |         *(var_18h_3) = v1;
    0x00007bec sw v0, 0x14(sp)           |         *(var_14h) = v0;
                                         |         /* str._s__s:_s_.s__s */
    0x00007bf0 addiu a1, a1, -0x7ac0     |         a1 += -0x7ac0;
    0x00007bf4 addiu a0, zero, 1         |         a0 = 1;
    0x00007bf8 jalr t9                   |         t9 ();
    0x00007bfc lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007c00 b 0x7adc                  |         goto label_31;
                                         | label_34:
    0x00007cdc lw v1, 0xc(v0)            |         v1 = *((v0 + 3));
    0x00007ce0 bnel a1, zero, 0x7bc8     |         
                                         |     } while (a1 == 0);
                                         |     do {
    0x00007ce4 lw v1, 0x48(sp)           |         v1 = *(var_48h);
    0x00007ce8 move v0, zero             |         v0 = 0;
    0x00007cec move a0, v1               |         a0 = v1;
    0x00007cf0 b 0x7bd4                  |         goto label_32;
                                         | label_93:
    0x00007e9c lw a3, 0x6c(sp)           |         a3 = *(var_6ch_2);
    0x00007ea0 lw a0, 0x60(sp)           |         a0 = *(var_60h_2);
    0x00007ea4 b 0x7bc4                  |         goto label_33;
                                         | label_92:
    0x00007ea8 lw a3, 0x6c(sp)           |         a3 = *(var_6ch_2);
    0x00007eac b 0x7cdc                  |         goto label_34;
                                         | label_88:
    0x00007eb4 move t2, zero             |         t2 = 0;
    0x00007eb8 move a0, zero             |         a0 = 0;
                                         |         /* str.UNKNOWN */
    0x00007ebc addiu v0, v0, -0x7c24     |         v0 += -0x7c24;
    0x00007ec0 b 0x7558                  |         goto label_14;
                                         | label_95:
    0x00007ec4 move a3, zero             |         a3 = 0;
    0x00007ec8 lw v0, 0x48(sp)           |         v0 = *(var_48h);
    0x00007ecc b 0x7ab8                  |         goto label_35;
                                         | label_94:
    0x00007ed0 lw v1, 0x40(sp)           |         v1 = *(var_40h_3);
    0x00007ed4 move a3, v0               |         a3 = v0;
    0x00007ed8 lw v0, 0x4c(sp)           |         v0 = *(var_4ch_2);
    0x00007edc lw a2, 8(a1)              |         a2 = *((a1 + 2));
    0x00007ee0 lw t9, -0x7a1c(gp)        |         t9 = sym.imp.__printf_chk;
    0x00007ee4 sw v1, 0x10(sp)           |         *(var_10h_3) = v1;
    0x00007ee8 addiu a1, v0, -0x7aa4     |         a1 = v0 + -0x7aa4;
    0x00007eec addiu a0, zero, 1         |         a0 = 1;
    0x00007ef0 jalr t9                   |         t9 ();
    0x00007ef4 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00007ef8 b 0x7adc                  |         goto label_31;
                                         | label_91:
    0x00007efc sltiu v0, v1, 0xf         |         v0 = (v1 < 0xf) ? 1 : 0;
    0x00007f00 lw a3, 0x6c(sp)           |         a3 = *(var_6ch_2);
    0x00007f04 beqz v0, 0x7ce4           |         
                                         |     } while (v0 == 0);
    0x00007f08 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007f0c sll v1, v1, 2             |     v1 <<= 2;
    0x00007f10 addiu v0, v0, -0x6d64     |     v0 += -0x6d64;
    0x00007f14 lwx v0, v1(v0)            |     __asm ("lwx v0, v1(v0)");
    0x00007f18 addu v0, v0, gp           |     v0 += gp;
    0x00007f1c jr v0                     |     v0 ();
    0x00007f20 nop                       |     
                                         | label_90:
    0x0000807c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008080 lw a3, 0x58(sp)           |     a3 = *(var_58h_2);
    0x00008084 sw v0, 0x5c(sp)           |     *(var_5ch_2) = v0;
    0x00008088 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000808c sw v0, 0x4c(sp)           |     *(var_4ch_2) = v0;
    0x00008090 b 0x7b04                  |     goto label_36;
                                         | label_65:
    0x00008094 lw t9, -0x7c04(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00008098 jalr t9                   |     t9 ();
    0x0000809c nop                       |     
    0x000080a0 lui gp, 3                 |     
    0x000080a4 addiu gp, gp, -0x4ba0     |     
    0x000080a8 addu gp, gp, t9           |     gp += t9;
    0x000080ac lw v0, -0x7a84(gp)        |     v0 = *((gp - 7841));
    0x000080b0 addiu sp, sp, -0x80       |     
    0x000080b4 move v1, v0               |     v1 = v0;
    0x000080b8 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x000080bc lw v1, (v1)               |     v1 = *(v1);
    0x000080c0 sw v0, 0x40(sp)           |     *(var_40h_2) = v0;
    0x000080c4 slti v0, a0, 2            |     v0 = (a0 < 2) ? 1 : 0;
    0x000080c8 sw ra, 0x7c(sp)           |     *(var_7ch) = ra;
    0x000080cc sw fp, 0x78(sp)           |     *(var_78h_2) = fp;
    0x000080d0 sw s7, 0x74(sp)           |     *(var_74h_2) = s7;
    0x000080d4 sw s6, 0x70(sp)           |     *(var_70h) = s6;
    0x000080d8 sw s5, 0x6c(sp)           |     *(var_6ch) = s5;
    0x000080dc sw s4, 0x68(sp)           |     *(var_68h) = s4;
    0x000080e0 sw s3, 0x64(sp)           |     *(var_64h) = s3;
    0x000080e4 sw s2, 0x60(sp)           |     *(var_60h) = s2;
    0x000080e8 sw s1, 0x5c(sp)           |     *(var_5ch) = s1;
    0x000080ec sw s0, 0x58(sp)           |     *(var_58h) = s0;
    0x000080f0 sw v1, 0x54(sp)           |     *(var_54h_2) = v1;
    0x000080f4 sw zero, 0x4c(sp)         |     *(var_4ch) = 0;
                                         |     if (v0 != 0) {
    0x000080f8 bnez v0, 0x8868           |         goto label_96;
                                         |     }
    0x000080fc sll a0, a0, 2             |     a0 <<= 2;
    0x00008100 addu v0, a1, a0           |     v0 = a1 + a0;
    0x00008104 sw v0, 0x2c(sp)           |     *(var_2ch_3) = v0;
    0x00008108 lw v0, -0x7fbc(gp)        |     v0 = *((gp - 8175));
    0x0000810c lw s3, -0x7fbc(gp)        |     s3 = *((gp - 8175));
    0x00008110 addiu v0, v0, 0x6ecc      |     v0 += 0x6ecc;
    0x00008114 sw v0, 0x44(sp)           |     *(var_44h_3) = v0;
    0x00008118 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000811c addiu s5, a1, 4           |     s5 = a1 + 4;
                                         |     /* str.___s_n */
    0x00008120 addiu v0, v0, -0x7998     |     v0 += -0x7998;
    0x00008124 addiu s2, zero, 1         |     s2 = 1;
    0x00008128 sw zero, 0x3c(sp)         |     *(var_3ch_3) = 0;
    0x0000812c move s1, zero             |     s1 = 0;
    0x00008130 sw zero, 0x34(sp)         |     *(var_34h_4) = 0;
    0x00008134 addiu s3, s3, 0x6c68      |     s3 += fcn.00006c68;
    0x00008138 sw v0, 0x28(sp)           |     *(var_28h_3) = v0;
    0x0000813c b 0x8158                  |     
                                         |     while (v0 == 0) {
    0x00008140 addiu v0, zero, 1         |         v0 = 1;
    0x00008144 sw v0, 0x34(sp)           |         *(var_34h_4) = v0;
                                         | label_53:
    0x00008148 lw v0, 0x2c(sp)           |         v0 = *(var_2ch_3);
    0x0000814c addiu s5, s5, 4           |         s5 += 4;
    0x00008150 lw v0, 0x34(sp)           |         v0 = *(var_34h_4);
                                         |         if (v0 == s5) {
    0x00008154 beq v0, s5, 0x8568        |             goto label_97;
                                         |         }
                                         | label_39:
    0x00008158 lw t9, -0x7a48(gp)        |         t9 = sym.imp.access;
    0x0000815c lw a0, (s5)               |         a0 = *(s5);
    0x00008160 addiu a1, zero, 4         |         a1 = 4;
    0x00008164 jalr t9                   |         t9 ();
    0x00008168 addiu v1, zero, -1        |         v1 = -1;
    0x0000816c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == v1) {
    0x00008170 beq v0, v1, 0x87c4        |             goto label_98;
                                         |         }
    0x00008174 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00008178 lw v0, -0x44e4(v0)        |         v0 = *((v0 - 4409));
    0x0000817c lw t9, -0x7fac(gp)        |         t9 = sym.pattern_db_new;
                                         |         if (v0 != 0) {
    0x00008180 beqz v0, 0x81a8           |             
    0x00008184 lw t9, -0x7f90(gp)        |             t9 = sym.pdb_file_validate;
    0x00008188 addiu s0, sp, 0x50        |             s0 = sp + 0x50;
    0x0000818c lw a0, (s5)               |             a0 = *(s5);
    0x00008190 move a1, s0               |             a1 = s0;
    0x00008194 sw zero, 0x50(sp)         |             *(var_50h_2) = 0;
    0x00008198 bal 0xe144                |             sym_pdb_file_validate ();
    0x0000819c lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |             if (v0 == 0) {
    0x000081a0 beqz v0, 0x87fc           |                 goto label_99;
                                         |             }
    0x000081a4 lw t9, -0x7fac(gp)        |             t9 = sym.pattern_db_new;
                                         |         }
    0x000081a8 bal 0xdb30                |         sym_pattern_db_new ();
    0x000081ac nop                       |         
    0x000081b0 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000081b4 move a0, v0               |         a0 = v0;
    0x000081b8 lw t9, -0x7f8c(gp)        |         t9 = sym.pattern_db_get_ruleset;
    0x000081bc move s7, v0               |         s7 = v0;
    0x000081c0 bal 0xd870                |         sym_pattern_db_get_ruleset ();
    0x000081c4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000081c8 lw a2, (s5)               |         a2 = *(s5);
    0x000081cc addiu a3, sp, 0x4c        |         a3 = sp + 0x4c;
    0x000081d0 lw v1, -0x7ad4(gp)        |         v1 = *((gp - 7861));
    0x000081d4 lw t9, -0x7fb4(gp)        |         t9 = sym.pdb_rule_set_load;
    0x000081d8 move a0, v0               |         a0 = v0;
    0x000081dc lw a1, (v1)               |         a1 = *(v1);
    0x000081e0 bal 0x10010               |         sym_pdb_rule_set_load ();
    0x000081e4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000081e8 beqz v0, 0x8140           |         
                                         |     }
    0x000081ec lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x000081f0 lw v0, 0x4c(sp)           |     v0 = *(var_4ch);
    0x000081f4 sw v1, 0x38(sp)           |     *(var_38h_2) = v1;
    0x000081f8 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x000081fc sw v1, 0x30(sp)           |     *(var_30h_3) = v1;
                                         | label_41:
    0x00008200 lw t9, -0x7fa4(gp)        |     t9 = sym.pattern_db_free;
                                         |     if (v0 == 0) {
    0x00008204 beqz v0, 0x854c           |         goto label_100;
                                         |     }
                                         | label_38:
    0x00008208 lw s0, (v0)               |     s0 = *(v0);
    0x0000820c lw a2, 4(s0)              |     a2 = *((s0 + 1));
    0x00008210 lw v0, 8(s0)              |     v0 = *((s0 + 2));
                                         |     if (a2 == 0) {
    0x00008214 beqz a2, 0x85cc           |         goto label_101;
                                         |     }
    0x00008218 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
                                         |     if (v0 == 0) {
    0x0000821c beqz v0, 0x85f0           |         goto label_102;
                                         |     }
    0x00008220 lw a1, -0x44e8(v0)        |     a1 = *((v0 - 4410));
    0x00008224 lw t9, -0x7b20(gp)        |     t9 = sym.imp.strcmp;
                                         |     if (a1 == 0) {
    0x00008228 beqz a1, 0x87f4           |         goto label_103;
                                         |     }
    0x0000822c lw v0, (s0)               |     v0 = *(s0);
    0x00008230 lw a0, 8(v0)              |     a0 = *((v0 + 2));
    0x00008234 jalr t9                   |     t9 ();
    0x00008238 move fp, v0               |     fp = v0;
    0x0000823c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x00008240 bnez v0, 0x860c           |         goto label_104;
                                         |     }
                                         | label_54:
    0x00008244 lw t9, -0x7ce8(gp)        |     t9 = sym.imp.log_msg_new_empty;
    0x00008248 jalr t9                   |     t9 ();
    0x0000824c nop                       |     
    0x00008250 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00008254 lw s4, 4(s0)              |     s4 = *((s0 + 1));
    0x00008258 move s2, v0               |     s2 = v0;
    0x0000825c lw t9, -0x7af0(gp)        |     t9 = sym.imp.strlen;
    0x00008260 move a0, s4               |     a0 = s4;
    0x00008264 jalr t9                   |     t9 ();
    0x00008268 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000826c move a2, s4               |     a2 = s4;
    0x00008270 move a3, v0               |     a3 = v0;
    0x00008274 lw t9, -0x7d90(gp)        |     t9 = sym.imp.log_msg_set_value;
    0x00008278 addiu a1, zero, 3         |     a1 = 3;
    0x0000827c move a0, s2               |     a0 = s2;
    0x00008280 jalr t9                   |     t9 ();
    0x00008284 lw a2, 8(s0)              |     a2 = *((s0 + 2));
    0x00008288 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (a2 != 0) {
    0x0000828c beqz a2, 0x829c           |         
    0x00008290 lb v0, (a2)               |         v0 = *(a2);
    0x00008294 lw t9, -0x7af0(gp)        |         t9 = sym.imp.strlen;
                                         |         if (v0 != 0) {
    0x00008298 bnez v0, 0x86d4           |             goto label_105;
                                         |         }
                                         |     }
                                         | label_47:
    0x0000829c lw s6, -0x7aec(gp)        |     s6 = *((gp - 7867));
    0x000082a0 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000082a4 lw t9, -0x7a1c(gp)        |     t9 = sym.imp.__printf_chk;
    0x000082a8 lw a3, 4(s0)              |     a3 = *((s0 + 1));
                                         |     /* str.Testing_message:_program_s_message_s_n */
    0x000082ac addiu a1, a1, -0x7a0c     |     a1 += -0x7a0c;
    0x000082b0 addiu a0, zero, 1         |     a0 = 1;
    0x000082b4 jalr t9                   |     t9 ();
    0x000082b8 lw v0, (s6)               |     v0 = *(s6);
    0x000082bc lw v0, 4(v0)              |     v0 = *((v0 + 1));
    0x000082c0 lw v0, (v0)               |     v0 = *(v0);
    0x000082c4 lhu a1, 0x1c(v0)          |     a1 = *((v0 + 14));
    0x000082c8 andi v1, a1, 4            |     v1 = a1 & 4;
    0x000082cc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v1 != 0) {
    0x000082d0 bnez v1, 0x8638           |         goto label_106;
                                         |     }
    0x000082d4 lw s4, 0x48(s2)           |     s4 = *((s2 + 18));
    0x000082d8 lbu v1, 0xa(s4)           |     v1 = *((s4 + 10));
    0x000082dc sltiu v1, v1, 4           |     v1 = (v1 < 4) ? 1 : 0;
                                         |     if (v1 == 0) {
    0x000082e0 beql v1, zero, 0x868c     |         goto label_107;
                                         |     }
    0x000082e4 lw a1, 0x18(s4)           |     a1 = *((s4 + 6));
    0x000082e8 lw t9, -0x7c80(gp)        |     t9 = sym.imp.nv_table_get_entry_slow;
    0x000082ec addiu a2, sp, 0x50        |     a2 = sp + 0x50;
    0x000082f0 addiu a1, zero, 4         |     a1 = 4;
    0x000082f4 move a0, s4               |     a0 = s4;
    0x000082f8 jalr t9                   |     t9 ();
    0x000082fc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
                                         | label_45:
    0x00008300 beql v0, zero, 0x884c     |         goto label_108;
                                         |     }
    0x00008304 lw v0, (s6)               |     v0 = *(s6);
    0x00008308 lbu v1, (v0)              |     v1 = *(v0);
    0x0000830c andi a0, v1, 4            |     a0 = v1 & 4;
    0x00008310 andi v1, v1, 1            |     v1 &= 1;
                                         |     if (a0 != 0) {
    0x00008314 bnez a0, 0x8848           |         goto label_109;
                                         |     }
    0x00008318 lw t9, -0x7b70(gp)        |     t9 = sym.imp.nv_table_resolve_indirect;
                                         |     if (v1 != 0) {
    0x0000831c bnez v1, 0x8750           |         goto label_110;
                                         |     }
    0x00008320 lbu s4, 1(v0)             |     s4 = *((v0 + 1));
    0x00008324 addu v0, v0, s4           |     v0 += s4;
    0x00008328 addiu s4, v0, 0xd         |     s4 = v0 + 0xd;
                                         | label_50:
    0x0000832c lw v0, (s6)               |     v0 = *(s6);
    0x00008330 lw v0, 4(v0)              |     v0 = *((v0 + 1));
    0x00008334 lw v0, (v0)               |     v0 = *(v0);
                                         |     if (s4 == 0) {
    0x00008338 beqz s4, 0x8694           |         goto label_111;
                                         |     }
                                         | label_44:
    0x0000833c lhu a1, 0x14(v0)          |     a1 = *((v0 + 10));
    0x00008340 andi v0, a1, 4            |     v0 = a1 & 4;
    0x00008344 lw t9, -0x7b6c(gp)        |     t9 = sym.imp.log_msg_get_macro_value;
                                         |     if (v0 != 0) {
    0x00008348 bnez v0, 0x8670           |         goto label_112;
                                         |     }
                                         | label_42:
    0x0000834c lw s6, 0x48(s2)           |     s6 = *((s2 + 18));
    0x00008350 lbu v0, 0xa(s6)           |     v0 = *((s6 + 10));
    0x00008354 sltiu v0, v0, 3           |     v0 = (v0 < 3) ? 1 : 0;
                                         |     if (v0 == 0) {
    0x00008358 beql v0, zero, 0x86b0     |         goto label_113;
                                         |     }
    0x0000835c lw a1, 0x14(s6)           |     a1 = *((s6 + 5));
    0x00008360 lw t9, -0x7c80(gp)        |     t9 = sym.imp.nv_table_get_entry_slow;
    0x00008364 addiu a2, sp, 0x50        |     a2 = sp + 0x50;
    0x00008368 addiu a1, zero, 3         |     a1 = 3;
    0x0000836c move a0, s6               |     a0 = s6;
    0x00008370 jalr t9                   |     t9 ();
    0x00008374 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
                                         | label_46:
    0x00008378 beql v0, zero, 0x86bc     |         goto label_114;
                                         |     }
    0x0000837c lw v0, -0x7aac(gp)        |     v0 = *((gp - 7851));
    0x00008380 lbu v1, (v0)              |     v1 = *(v0);
    0x00008384 andi a0, v1, 4            |     a0 = v1 & 4;
    0x00008388 andi v1, v1, 1            |     v1 &= 1;
                                         |     if (a0 != 0) {
    0x0000838c bnez a0, 0x86b8           |         goto label_115;
                                         |     }
    0x00008390 lw t9, -0x7b70(gp)        |     t9 = sym.imp.nv_table_resolve_indirect;
                                         |     if (v1 != 0) {
    0x00008394 bnez v1, 0x876c           |         goto label_116;
                                         |     }
    0x00008398 lbu s6, 1(v0)             |     s6 = *((v0 + 1));
    0x0000839c addu v0, v0, s6           |     v0 += s6;
    0x000083a0 addiu s6, v0, 0xd         |     s6 = v0 + 0xd;
                                         | label_51:
    0x000083a4 lw v0, -0x7aac(gp)        |     v0 = *((gp - 7851));
                                         |     if (s6 == 0) {
    0x000083a8 beqz s6, 0x86bc           |         goto label_114;
                                         |     }
                                         | label_43:
    0x000083ac lw t9, -0x7f8c(gp)        |     t9 = sym.pattern_db_get_ruleset;
    0x000083b0 move a0, s7               |     a0 = s7;
    0x000083b4 bal 0xd870                |     sym_pattern_db_get_ruleset ();
    0x000083b8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000083bc move a0, s4               |     a0 = s4;
    0x000083c0 lw t9, -0x7af0(gp)        |     t9 = sym.imp.strlen;
    0x000083c4 sw v0, 0x24(sp)           |     *(var_24h_3) = v0;
    0x000083c8 jalr t9                   |     t9 ();
    0x000083cc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000083d0 lw v1, 0x24(sp)           |     v1 = *(var_24h_3);
    0x000083d4 move a1, s4               |     a1 = s4;
    0x000083d8 lw t9, -0x7fb0(gp)        |     t9 = sym.r_find_node;
    0x000083dc lw a0, (v1)               |     a0 = *(v1);
    0x000083e0 move a3, zero             |     a3 = 0;
    0x000083e4 move a2, v0               |     a2 = v0;
    0x000083e8 bal 0xadcc                |     sym_r_find_node ();
    0x000083ec move s4, v0               |     s4 = v0;
    0x000083f0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x000083f4 beqz v0, 0x8454           |         
    0x000083f8 lw t9, -0x7af0(gp)        |         t9 = sym.imp.strlen;
    0x000083fc move a0, s6               |         a0 = s6;
    0x00008400 jalr t9                   |         t9 ();
    0x00008404 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00008408 lw v1, 0xc(s4)            |         v1 = *((s4 + 3));
    0x0000840c move a2, v0               |         a2 = v0;
    0x00008410 lw t9, -0x7f88(gp)        |         t9 = sym.r_find_all_applicable_nodes;
    0x00008414 lw a3, -0x7f84(gp)        |         a3 = sym.pdb_rule_get_name;
    0x00008418 lw a0, 4(v1)              |         a0 = *((v1 + 1));
    0x0000841c move a1, s6               |         a1 = s6;
    0x00008420 bal 0xaee8                |         sym_r_find_all_applicable_nodes ();
    0x00008424 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00008428 move a0, v0               |         a0 = v0;
    0x0000842c lw t9, -0x7bf0(gp)        |         t9 = sym.imp.g_strv_length;
    0x00008430 move s4, v0               |         s4 = v0;
    0x00008434 jalr t9                   |         t9 ();
    0x00008438 slti v0, v0, 2            |         v0 = (v0 < 2) ? 1 : 0;
    0x0000843c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == 0) {
    0x00008440 beqz v0, 0x8708           |             goto label_117;
                                         |         }
                                         | label_48:
    0x00008444 lw t9, -0x7bec(gp)        |         t9 = sym.imp.g_strfreev;
                                         | label_49:
    0x00008448 move a0, s4               |         a0 = s4;
    0x0000844c jalr t9                   |         t9 ();
    0x00008450 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |     }
    0x00008454 lw t9, -0x7fa0(gp)        |     t9 = sym.pattern_db_process;
    0x00008458 move a1, s2               |     a1 = s2;
    0x0000845c move a0, s7               |     a0 = s7;
    0x00008460 bal 0xd878                |     sym_pattern_db_process ();
    0x00008464 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00008468 lw v0, (s0)               |     v0 = *(s0);
    0x0000846c move a0, s2               |     a0 = s2;
    0x00008470 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00008474 lw a2, 8(v0)              |     a2 = *((v0 + 2));
    0x00008478 move t9, s3               |     t9 = s3;
                                         |     /* str..classifier.rule_id */
    0x0000847c addiu a1, a1, -0x7d94     |     a1 += -0x7d94;
    0x00008480 bal 0x6c68                |     fcn_00006c68 ();
                                         |     goto label_37;
    0x00008484 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00008488 bnez v0, 0x84a0           |         
    0x0000848c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00008490 lw v0, -0x44dc(v0)        |         v0 = *((v0 - 4407));
    0x00008494 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
                                         |         if (v0 != 0) {
    0x00008498 bnez v0, 0x8788           |             goto label_118;
                                         |         }
    0x0000849c addiu s1, zero, 1         |         s1 = 1;
                                         |     }
                                         | label_52:
    0x000084a0 lw v1, 0xc(s0)            |     v1 = *((s0 + 3));
    0x000084a4 lw t9, -0x7be0(gp)        |     t9 = sym.imp.log_msg_unref;
                                         |     if (v1 == 0) {
    0x000084a8 beqz v1, 0x850c           |         goto label_119;
                                         |     }
    0x000084ac lw v0, 4(v1)              |     v0 = *((v1 + 1));
                                         |     if (v0 == 0) {
    0x000084b0 beqz v0, 0x850c           |         goto label_119;
                                         |     }
    0x000084b4 nop                       |     
    0x000084b8 move s6, zero             |     s6 = 0;
    0x000084bc addiu s4, zero, 1         |     s4 = 1;
    0x000084c0 b 0x84d4                  |     
                                         |     while (v1 != 0) {
    0x000084c4 lw v0, 4(v1)              |         v0 = *((v1 + 1));
    0x000084c8 sltu v0, s6, v0           |         v0 = (s6 < v0) ? 1 : 0;
    0x000084cc lw t9, -0x7be0(gp)        |         t9 = sym.imp.log_msg_unref;
                                         |         if (v0 == 0) {
    0x000084d0 beqz v0, 0x850c           |             goto label_119;
                                         |         }
    0x000084d4 lw v0, (v1)               |         v0 = *(v1);
    0x000084d8 sll v1, s6, 2             |         v1 = s6 << 2;
    0x000084dc move a0, s2               |         a0 = s2;
    0x000084e0 lwx v0, v1(v0)            |         __asm ("lwx v0, v1(v0)");
    0x000084e4 move t9, s3               |         t9 = s3;
    0x000084e8 addiu s6, s6, 1           |         s6++;
    0x000084ec lw a2, 4(v0)              |         a2 = *((v0 + 1));
    0x000084f0 lw a1, (v0)               |         a1 = *(v0);
    0x000084f4 bal 0x6c68                |         fcn_00006c68 ();
                                         |         goto label_37;
    0x000084f8 lw v1, 0xc(s0)            |         v1 = *((s0 + 3));
    0x000084fc lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 != 0) {
    0x00008500 movz s1, s4, v0           |             s1 = s4;
                                         |         }
    0x00008504 bnez v1, 0x84c4           |         
                                         |     }
    0x00008508 lw t9, -0x7be0(gp)        |     t9 = sym.imp.log_msg_unref;
                                         | label_119:
    0x0000850c move a0, s2               |     a0 = s2;
    0x00008510 jalr t9                   |     t9 ();
    0x00008514 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00008518 move s2, fp               |     s2 = fp;
                                         | label_40:
    0x0000851c lw t9, -0x7f80(gp)        |     t9 = sym.pdb_example_free;
    0x00008520 move a0, s0               |     a0 = s0;
    0x00008524 bal 0x10c00               |     sym_pdb_example_free ();
    0x00008528 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000852c lw a1, 0x4c(sp)           |     a1 = *(var_4ch);
    0x00008530 lw t9, -0x7ad0(gp)        |     t9 = sym.imp.g_list_delete_link;
    0x00008534 move a0, a1               |     a0 = a1;
    0x00008538 jalr t9                   |     t9 ();
    0x0000853c sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00008540 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x00008544 bnez v0, 0x8208           |         goto label_38;
                                         |     }
    0x00008548 lw t9, -0x7fa4(gp)        |     t9 = sym.pattern_db_free;
                                         | label_100:
    0x0000854c move a0, s7               |     a0 = s7;
    0x00008550 bal 0xdbb4                |     sym_pattern_db_free ();
    0x00008554 lw v0, 0x2c(sp)           |     v0 = *(var_2ch_3);
    0x00008558 addiu s5, s5, 4           |     s5 += 4;
    0x0000855c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != s5) {
    0x00008560 bne v0, s5, 0x8158        |         goto label_39;
                                         |     }
    0x00008564 lw v0, 0x34(sp)           |     v0 = *(var_34h_4);
                                         | label_97:
    0x00008568 lw v1, 0x3c(sp)           |     v1 = *(var_3ch_3);
    0x0000856c or v0, v0, v1             |     v0 |= v1;
    0x00008570 addiu v0, zero, 1         |     v0 = 1;
                                         |     if (v0 != 0) {
    0x00008574 bnel v0, zero, 0x858c     |         
    0x00008578 addiu v0, zero, 2         |         v0 = 2;
                                         |         if (s1 != 0) {
    0x0000857c bnez s1, 0x858c           |             goto label_55;
                                         |         }
    0x00008580 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
                                         |         if (s2 != 0) {
    0x00008584 bnez s2, 0x886c           |             goto label_120;
                                         |         }
    0x00008588 move v0, zero             |         v0 = 0;
                                         |     }
                                         | label_55:
    0x0000858c lw v1, 0x40(sp)           |     v1 = *(var_40h_2);
    0x00008590 lw a0, 0x54(sp)           |     a0 = *(var_54h_2);
    0x00008594 lw v1, (v1)               |     v1 = *(v1);
    0x00008598 lw ra, 0x7c(sp)           |     ra = *(var_7ch);
                                         |     if (a0 != v1) {
    0x0000859c bne a0, v1, 0x8894        |         goto label_121;
                                         |     }
    0x000085a0 lw fp, 0x78(sp)           |     fp = *(var_78h_2);
    0x000085a4 lw s7, 0x74(sp)           |     s7 = *(var_74h_2);
    0x000085a8 lw s6, 0x70(sp)           |     s6 = *(var_70h);
    0x000085ac lw s5, 0x6c(sp)           |     s5 = *(var_6ch);
    0x000085b0 lw s4, 0x68(sp)           |     s4 = *(var_68h);
    0x000085b4 lw s3, 0x64(sp)           |     s3 = *(var_64h);
    0x000085b8 lw s2, 0x60(sp)           |     s2 = *(var_60h);
    0x000085bc lw s1, 0x5c(sp)           |     s1 = *(var_5ch);
    0x000085c0 lw s0, 0x58(sp)           |     s0 = *(var_58h);
    0x000085c4 addiu sp, sp, 0x80        |     
    0x000085c8 jr ra                     |     return v0;
                                         | label_101:
    0x000085cc move a2, v0               |     a2 = v0;
                                         |     if (v0 == 0) {
    0x000085d0 beqz v0, 0x851c           |         goto label_40;
                                         |     }
    0x000085d4 lw v0, 0x38(sp)           |     v0 = *(var_38h_2);
    0x000085d8 lw t9, -0x7a1c(gp)        |     t9 = sym.imp.__printf_chk;
    0x000085dc addiu a1, v0, -0x7900     |     a1 = v0 + -0x7900;
    0x000085e0 addiu a0, zero, 1         |     a0 = 1;
    0x000085e4 jalr t9                   |     t9 ();
    0x000085e8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000085ec b 0x851c                  |     goto label_40;
                                         | label_102:
    0x000085f0 lw v0, 0x30(sp)           |     v0 = *(var_30h_3);
    0x000085f4 lw t9, -0x7a1c(gp)        |     t9 = sym.imp.__printf_chk;
    0x000085f8 addiu a1, v0, -0x7938     |     a1 = v0 + -0x7938;
    0x000085fc addiu a0, zero, 1         |     a0 = 1;
    0x00008600 jalr t9                   |     t9 ();
    0x00008604 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00008608 b 0x851c                  |     goto label_40;
                                         | label_104:
    0x0000860c lw t9, -0x7f80(gp)        |     t9 = sym.pdb_example_free;
    0x00008610 move a0, s0               |     a0 = s0;
    0x00008614 bal 0x10c00               |     sym_pdb_example_free ();
    0x00008618 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000861c lw a1, 0x4c(sp)           |     a1 = *(var_4ch);
    0x00008620 lw t9, -0x7ad0(gp)        |     t9 = sym.imp.g_list_delete_link;
    0x00008624 move a0, a1               |     a0 = a1;
    0x00008628 jalr t9                   |     t9 ();
    0x0000862c sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00008630 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00008634 b 0x8200                  |     goto label_41;
                                         | label_106:
    0x00008638 lw t9, -0x7b6c(gp)        |     t9 = sym.imp.log_msg_get_macro_value;
    0x0000863c srl a1, a1, 8             |     a1 >>= 8;
    0x00008640 move a2, zero             |     a2 = 0;
    0x00008644 move a0, s2               |     a0 = s2;
    0x00008648 jalr t9                   |     t9 ();
    0x0000864c lw v1, (s6)               |     v1 = *(s6);
    0x00008650 move s4, v0               |     s4 = v0;
    0x00008654 lw v0, 4(v1)              |     v0 = *((v1 + 1));
    0x00008658 lw v0, (v0)               |     v0 = *(v0);
    0x0000865c lhu a1, 0x14(v0)          |     a1 = *((v0 + 10));
    0x00008660 andi v0, a1, 4            |     v0 = a1 & 4;
    0x00008664 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00008668 beqz v0, 0x834c           |         goto label_42;
                                         |     }
    0x0000866c lw t9, -0x7b6c(gp)        |     t9 = sym.imp.log_msg_get_macro_value;
                                         | label_112:
    0x00008670 move a2, zero             |     a2 = 0;
    0x00008674 srl a1, a1, 8             |     a1 >>= 8;
    0x00008678 move a0, s2               |     a0 = s2;
    0x0000867c jalr t9                   |     t9 ();
    0x00008680 move s6, v0               |     s6 = v0;
    0x00008684 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00008688 b 0x83ac                  |     goto label_43;
                                         | label_107:
    0x0000868c sw zero, 0x50(sp)         |     *(var_50h_2) = 0;
                                         |     if (a1 == 0) {
    0x00008690 bnez a1, 0x86a0           |         
                                         | label_111:
    0x00008694 lw v1, -0x7aac(gp)        |         v1 = *((gp - 7851));
    0x00008698 lw s4, (v1)               |         s4 = *(v1);
    0x0000869c b 0x833c                  |         goto label_44;
                                         |     }
    0x000086a0 lw v0, (s4)               |     v0 = *(s4);
    0x000086a4 subu v0, v0, a1           |     __asm ("subu v0, v0, a1");
    0x000086a8 addu v0, s4, v0           |     v0 = s4 + v0;
    0x000086ac b 0x8300                  |     goto label_45;
                                         | label_113:
    0x000086b0 sw zero, 0x50(sp)         |     *(var_50h_2) = 0;
                                         |     if (a1 == 0) {
    0x000086b4 bnez a1, 0x86c4           |         
                                         | label_115:
    0x000086b8 lw v0, -0x7aac(gp)        |         v0 = *((gp - 7851));
                                         | label_114:
    0x000086bc lw s6, (v0)               |         s6 = *(v0);
    0x000086c0 b 0x83ac                  |         goto label_43;
                                         |     }
    0x000086c4 lw v0, (s6)               |     v0 = *(s6);
    0x000086c8 subu v0, v0, a1           |     __asm ("subu v0, v0, a1");
    0x000086cc addu v0, s6, v0           |     v0 = s6 + v0;
    0x000086d0 b 0x8378                  |     goto label_46;
                                         | label_105:
    0x000086d4 move a0, a2               |     a0 = a2;
    0x000086d8 sw a2, 0x24(sp)           |     *(var_24h_3) = a2;
    0x000086dc jalr t9                   |     t9 ();
    0x000086e0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000086e4 lw a2, 0x24(sp)           |     a2 = *(var_24h_3);
    0x000086e8 move a3, v0               |     a3 = v0;
    0x000086ec lw t9, -0x7d90(gp)        |     t9 = sym.imp.log_msg_set_value;
    0x000086f0 addiu a1, zero, 4         |     a1 = 4;
    0x000086f4 move a0, s2               |     a0 = s2;
    0x000086f8 jalr t9                   |     t9 ();
    0x000086fc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00008700 lw a2, 8(s0)              |     a2 = *((s0 + 2));
    0x00008704 b 0x829c                  |     goto label_47;
                                         | label_117:
    0x00008708 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000870c lw t9, -0x7cc0(gp)        |     t9 = sym.imp.puts;
                                         |     /* str._Rule_conflict__Multiple_rules_match_this_message__list_of_IDs_follow */
    0x00008710 addiu a0, a0, -0x79e0     |     a0 += -0x79e0;
    0x00008714 jalr t9                   |     t9 ();
    0x00008718 lw a2, (s4)               |     a2 = *(s4);
    0x0000871c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (a2 == 0) {
    0x00008720 beqz a2, 0x8444           |         goto label_48;
                                         |     }
    0x00008724 addiu s6, s4, 4           |     s6 = s4 + 4;
                                         |     do {
    0x00008728 lw t9, -0x7a1c(gp)        |         t9 = sym.imp.__printf_chk;
    0x0000872c addiu s6, s6, 4           |         s6 += 4;
    0x00008730 lw a1, 0x28(sp)           |         a1 = *(var_28h_3);
    0x00008734 addiu a0, zero, 1         |         a0 = 1;
    0x00008738 jalr t9                   |         t9 ();
    0x0000873c lw a2, -4(s6)             |         a2 = *((s6 - 1));
    0x00008740 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00008744 bnez a2, 0x8728           |         
                                         |     } while (a2 != 0);
    0x00008748 lw t9, -0x7bec(gp)        |     t9 = sym.imp.g_strfreev;
    0x0000874c b 0x8448                  |     goto label_49;
                                         | label_110:
    0x00008750 move a0, s4               |     a0 = s4;
    0x00008754 move a2, zero             |     a2 = 0;
    0x00008758 move a1, v0               |     a1 = v0;
    0x0000875c jalr t9                   |     t9 ();
    0x00008760 move s4, v0               |     s4 = v0;
    0x00008764 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00008768 b 0x832c                  |     goto label_50;
                                         | label_116:
    0x0000876c move a0, s6               |     a0 = s6;
    0x00008770 move a2, zero             |     a2 = 0;
    0x00008774 move a1, v0               |     a1 = v0;
    0x00008778 jalr t9                   |     t9 ();
    0x0000877c move s6, v0               |     s6 = v0;
    0x00008780 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00008784 b 0x83a4                  |     goto label_51;
                                         | label_118:
    0x00008788 lw a0, 4(s0)              |     a0 = *((s0 + 1));
    0x0000878c lw v1, 8(s0)              |     v1 = *((s0 + 2));
    0x00008790 sw a0, -0x44cc(v0)        |     *((v0 - 4403)) = a0;
    0x00008794 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008798 lw t9, 0x44(sp)           |     t9 = *(var_44h_3);
    0x0000879c move a1, zero             |     a1 = 0;
    0x000087a0 sw v1, -0x44c8(v0)        |     *((v0 - 4402)) = v1;
    0x000087a4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000087a8 lw v1, (s5)               |     v1 = *(s5);
    0x000087ac move a0, zero             |     a0 = 0;
    0x000087b0 sw v1, -0x4b4c(v0)        |     *((v0 - 4819)) = v1;
    0x000087b4 jalr t9                   |     t9 ();
    0x000087b8 addiu s1, zero, 1         |     s1 = 1;
    0x000087bc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000087c0 b 0x84a0                  |     goto label_52;
                                         | label_98:
    0x000087c4 lw v0, -0x7d6c(gp)        |     v0 = *((gp - 8027));
    0x000087c8 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000087cc lw t9, -0x7cf4(gp)        |     t9 = sym.imp.__fprintf_chk
    0x000087d0 lw a3, (s5)               |     a3 = *(s5);
    0x000087d4 lw a0, (v0)               |     a0 = *(v0);
                                         |     /* str._s:_Unable_to_access_the_patterndb_file_n */
    0x000087d8 addiu a2, a2, -0x7a5c     |     a2 += -0x7a5c;
    0x000087dc addiu a1, zero, 1         |     a1 = 1;
    0x000087e0 jalr t9                   |     t9 ();
    0x000087e4 addiu v0, zero, 1         |     v0 = 1;
    0x000087e8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000087ec sw v0, 0x3c(sp)           |     *(var_3ch_3) = v0;
    0x000087f0 b 0x8148                  |     goto label_53;
                                         | label_103:
    0x000087f4 move fp, s2               |     fp = s2;
    0x000087f8 b 0x8244                  |     goto label_54;
                                         | label_99:
    0x000087fc lw v0, 0x50(sp)           |     v0 = *(var_50h_2);
    0x00008800 lw v1, -0x7d6c(gp)        |     v1 = *((gp - 8027));
    0x00008804 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00008808 lw v0, 8(v0)              |     v0 = *((v0 + 2));
    0x0000880c lw a0, (v1)               |     a0 = *(v1);
    0x00008810 lw t9, -0x7cf4(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00008814 lw a3, (s5)               |     a3 = *(s5);
                                         |     /* str._s:_error_validating_pdb_file:__s_n */
    0x00008818 addiu a2, a2, -0x7a30     |     a2 += -0x7a30;
    0x0000881c addiu a1, zero, 1         |     a1 = 1;
    0x00008820 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00008824 jalr t9                   |     t9 ();
    0x00008828 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000882c lw t9, -0x7c8c(gp)        |     t9 = sym.imp.g_clear_error;
    0x00008830 move a0, s0               |     a0 = s0;
    0x00008834 jalr t9                   |     t9 ();
    0x00008838 addiu v0, zero, 1         |     v0 = 1;
    0x0000883c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00008840 sw v0, 0x3c(sp)           |     *(var_3ch_3) = v0;
    0x00008844 b 0x8148                  |     goto label_53;
                                         | label_109:
    0x00008848 lw v0, (s6)               |     v0 = *(s6);
                                         | label_108:
    0x0000884c lw v1, -0x7aac(gp)        |     v1 = *((gp - 7851));
    0x00008850 lw v0, 4(v0)              |     v0 = *((v0 + 1));
    0x00008854 lw s4, (v1)               |     s4 = *(v1);
    0x00008858 lw v0, (v0)               |     v0 = *(v0);
    0x0000885c b 0x833c                  |     goto label_44;
                                         | label_96:
    0x00008868 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
                                         | label_120:
    0x0000886c lw v0, -0x44e8(v0)        |     v0 = *((v0 - 4410));
                                         |     if (v0 == 0) {
    0x00008870 beql v0, zero, 0x858c     |         goto label_55;
                                         |     }
    0x00008874 move v0, zero             |     v0 = 0;
    0x00008878 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000887c lw t9, -0x7cc0(gp)        |     t9 = sym.imp.puts;
                                         |     /* str.Could_not_find_the_specified_ID__or_the_defined_rule_doesnt_have_an_example_message. */
    0x00008880 addiu a0, a0, -0x7990     |     a0 += -0x7990;
    0x00008884 jalr t9                   |     t9 ();
    0x00008888 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000888c addiu v0, zero, 3         |     v0 = 3;
    0x00008890 b 0x858c                  |     goto label_55;
                                         | label_121:
    0x00008894 lw t9, -0x7c04(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00008898 jalr t9                   |     t9 ();
    0x0000889c nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/pdbtool @ 0x5380 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 73712 named .text */
    0x00005380 lui gp, 3                 |     
    0x00005384 addiu gp, gp, -0x1e80     |     
    0x00005388 addu gp, gp, t9           |     gp += t9;
    0x0000538c addiu sp, sp, -0x48       |     
    0x00005390 lw t9, -0x7f78(gp)        |     t9 = sym.pdbtool_mode;
    0x00005394 sw s4, 0x38(sp)           |     *(var_38h) = s4;
    0x00005398 lw s4, -0x7a84(gp)        |     s4 = *((gp - 7841));
    0x0000539c sw s5, 0x3c(sp)           |     *(var_3ch) = s5;
    0x000053a0 addiu s5, sp, 0x1c        |     s5 = sp + 0x1c;
    0x000053a4 lw v0, (s4)               |     v0 = *(s4);
    0x000053a8 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000053ac sw a0, 0x48(sp)           |     *(argv) = a0;
    0x000053b0 sw a1, 0x1c(sp)           |     *(var_1ch) = a1;
    0x000053b4 sw ra, 0x44(sp)           |     *(var_44h) = ra;
    0x000053b8 sw s6, 0x40(sp)           |     *(var_40h) = s6;
    0x000053bc sw s3, 0x34(sp)           |     *(var_34h) = s3;
    0x000053c0 sw s2, 0x30(sp)           |     *(var_30h) = s2;
    0x000053c4 sw s1, 0x2c(sp)           |     *(var_2ch) = s1;
    0x000053c8 sw s0, 0x28(sp)           |     *(var_28h) = s0;
    0x000053cc addiu a0, sp, 0x48        |     a0 = sp + 0x48;
    0x000053d0 move a1, s5               |     a1 = s5;
    0x000053d4 sw v0, 0x24(sp)           |     *(var_24h) = v0;
    0x000053d8 sw zero, 0x20(sp)         |     *(var_20h) = 0;
    0x000053dc bal 0x8ce4                |     sym_pdbtool_mode ();
    0x000053e0 nop                       |     
    0x000053e4 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 == 0) {
    0x000053e8 beqz v0, 0x5618           |         goto label_1;
                                         |     }
    0x000053ec lw s3, -0x7fd8(gp)        |     s3 = *((gp - 8182));
    0x000053f0 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         |     /* section..data.rel.ro */
    0x000053f4 addiu s3, s3, -0x5070     |     s3 += -0x5070;
    0x000053f8 move s2, v0               |     s2 = v0;
    0x000053fc move s0, s3               |     s0 = s3;
    0x00005400 move s1, zero             |     s1 = 0;
                                         |     /* str.match */
    0x00005404 addiu a0, a0, -0x7820     |     a0 += -0x7820;
    0x00005408 b 0x541c                  |     
                                         |     while (v0 != 0) {
    0x0000540c addiu s0, s0, 0x10        |         s0 += 0x10;
    0x00005410 lw a0, (s0)               |         a0 = *(s0);
    0x00005414 addiu s1, s1, 1           |         s1++;
                                         |         if (a0 == 0) {
    0x00005418 beqz a0, 0x55f4           |             goto label_2;
                                         |         }
    0x0000541c lw t9, -0x7b20(gp)        |         t9 = sym.imp.strcmp;
    0x00005420 move a1, s2               |         a1 = s2;
    0x00005424 jalr t9                   |         t9 ();
    0x00005428 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000542c bnez v0, 0x540c           |         
                                         |     }
    0x00005430 lw t9, -0x7ab0(gp)        |     t9 = sym.imp.g_option_context_new;
    0x00005434 move a0, s2               |     a0 = s2;
    0x00005438 jalr t9                   |     t9 ();
    0x0000543c sll s1, s1, 4             |     s1 <<= 4;
    0x00005440 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00005444 addu s2, s3, s1           |     s2 = s3 + s1;
    0x00005448 move a0, v0               |     a0 = v0;
    0x0000544c lw t9, -0x7ac4(gp)        |     t9 = sym.imp.g_option_context_set_summary;
    0x00005450 lw a1, 8(s2)              |     a1 = *((s2 + 2));
    0x00005454 move s0, v0               |     s0 = v0;
    0x00005458 jalr t9                   |     t9 ();
    0x0000545c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00005460 lw a1, 4(s2)              |     a1 = *((s2 + 1));
    0x00005464 move a2, zero             |     a2 = 0;
    0x00005468 lw t9, -0x7c94(gp)        |     t9 = sym.imp.g_option_context_add_main_entries;
    0x0000546c move a0, s0               |     a0 = s0;
    0x00005470 jalr t9                   |     t9 ();
    0x00005474 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00005478 move a2, zero             |     a2 = 0;
    0x0000547c move a0, s0               |     a0 = s0;
    0x00005480 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00005484 lw t9, -0x7c94(gp)        |     t9 = sym.imp.g_option_context_add_main_entries;
                                         |     /* esilref: 'debug' */
    0x00005488 addiu a1, a1, -0x4fe0     |     a1 += -0x4fe0;
    0x0000548c jalr t9                   |     t9 ();
    0x00005490 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00005494 lw t9, -0x7cb8(gp)        |     t9 = sym.imp.msg_add_option_group;
    0x00005498 move a0, s0               |     a0 = s0;
    0x0000549c jalr t9                   |     t9 ();
    0x000054a0 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (s0 != 0) {
    0x000054a4 beqz s0, 0x55f4           |         
    0x000054a8 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x000054ac lw t9, -0x7ac8(gp)        |         t9 = sym.imp.setlocale;
    0x000054b0 addiu a1, a1, -0x7c38     |         a1 += -0x7c38;
    0x000054b4 addiu a0, zero, 6         |         a0 = 6;
    0x000054b8 jalr t9                   |         t9 ();
    0x000054bc lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000054c0 addiu a0, zero, 1         |         a0 = 1;
    0x000054c4 lw t9, -0x7b48(gp)        |         t9 = sym.imp.msg_init;
    0x000054c8 addiu s6, sp, 0x20        |         s6 = sp + 0x20;
    0x000054cc jalr t9                   |         t9 ();
    0x000054d0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000054d4 lw a0, -0x7abc(gp)        |         a0 = *((gp - 7855));
    0x000054d8 lw t9, -0x7a94(gp)        |         t9 = sym.imp.resolved_configurable_paths_init;
    0x000054dc lw s2, -0x7ad4(gp)        |         s2 = *((gp - 7861));
    0x000054e0 jalr t9                   |         t9 ();
    0x000054e4 nop                       |         
    0x000054e8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000054ec lw t9, -0x7c28(gp)        |         t9 = sym.imp.stats_init;
    0x000054f0 jalr t9                   |         t9 ();
    0x000054f4 nop                       |         
    0x000054f8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000054fc lw t9, -0x7ab4(gp)        |         t9 = sym.imp.scratch_buffers_global_init;
    0x00005500 jalr t9                   |         t9 ();
    0x00005504 nop                       |         
    0x00005508 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000550c lw t9, -0x7b24(gp)        |         t9 = sym.imp.scratch_buffers_allocator_init;
    0x00005510 jalr t9                   |         t9 ();
    0x00005514 nop                       |         
    0x00005518 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000551c lw t9, -0x7d2c(gp)        |         t9 = sym.imp.log_msg_global_init;
    0x00005520 jalr t9                   |         t9 ();
    0x00005524 nop                       |         
    0x00005528 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000552c lw t9, -0x7aa8(gp)        |         t9 = sym.imp.log_template_global_init;
    0x00005530 jalr t9                   |         t9 ();
    0x00005534 nop                       |         
    0x00005538 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000553c lw t9, -0x7d8c(gp)        |         t9 = sym.imp.log_tags_global_init;
    0x00005540 jalr t9                   |         t9 ();
    0x00005544 nop                       |         
    0x00005548 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000554c lw t9, -0x7f74(gp)        |         t9 = sym.pattern_db_global_init;
    0x00005550 bal 0xdc28                |         sym_pattern_db_global_init ();
    0x00005554 nop                       |         
    0x00005558 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000555c lw t9, -0x7a98(gp)        |         t9 = sym.imp.crypto_init;
    0x00005560 jalr t9                   |         t9 ();
    0x00005564 nop                       |         
    0x00005568 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000556c lw t9, -0x7b04(gp)        |         t9 = sym.imp.cfg_new_snippet;
    0x00005570 jalr t9                   |         t9 ();
    0x00005574 nop                       |         
    0x00005578 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000557c move a3, s6               |         a3 = s6;
    0x00005580 move a2, s5               |         a2 = s5;
    0x00005584 lw t9, -0x7a34(gp)        |         t9 = sym.imp.g_option_context_parse;
    0x00005588 addiu a1, sp, 0x48        |         a1 = sp + 0x48;
    0x0000558c move a0, s0               |         a0 = s0;
    0x00005590 sw v0, (s2)               |         *(s2) = v0;
    0x00005594 jalr t9                   |         t9 ();
    0x00005598 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 != 0) {
    0x0000559c bnez v0, 0x5660           |             goto label_3;
                                         |         }
    0x000055a0 lw v1, -0x7d6c(gp)        |         v1 = *((gp - 8027));
    0x000055a4 lw v0, 0x20(sp)           |         v0 = *(var_20h);
    0x000055a8 lw a0, (v1)               |         a0 = *(v1);
                                         |         if (v0 == 0) {
    0x000055ac beqz v0, 0x5758           |             goto label_4;
                                         |         }
    0x000055b0 lw a3, 8(v0)              |         a3 = *((v0 + 2));
                                         | label_0:
    0x000055b4 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x000055b8 lw t9, -0x7cf4(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.Error_parsing_command_line_arguments:__s_n */
    0x000055bc addiu a2, a2, -0x77a4     |         a2 += -0x77a4;
    0x000055c0 addiu a1, zero, 1         |         a1 = 1;
    0x000055c4 jalr t9                   |         t9 ();
    0x000055c8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000055cc lw t9, -0x7c8c(gp)        |         t9 = sym.imp.g_clear_error;
    0x000055d0 move a0, s6               |         a0 = s6;
    0x000055d4 jalr t9                   |         t9 ();
    0x000055d8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000055dc move a0, s0               |         a0 = s0;
    0x000055e0 lw t9, -0x7c00(gp)        |         t9 = sym.imp.g_option_context_free;
    0x000055e4 addiu s0, zero, 1         |         s0 = 1;
    0x000055e8 jalr t9                   |         t9 ();
    0x000055ec lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000055f0 b 0x5628                  |         
                                         |     } else {
                                         | label_2:
    0x000055f4 lw v0, -0x7d6c(gp)        |         v0 = *((gp - 8027));
    0x000055f8 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x000055fc lw t9, -0x7ae4(gp)        |         t9 = sym.imp.fwrite;
    0x00005600 lw a3, (v0)               |         a3 = *(v0);
    0x00005604 addiu a2, zero, 0x10      |         a2 = 0x10;
    0x00005608 addiu a1, zero, 1         |         a1 = 1;
                                         |         /* str.Unknown_command_n */
    0x0000560c addiu a0, a0, -0x77b8     |         a0 += -0x77b8;
    0x00005610 jalr t9                   |         t9 ();
    0x00005614 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         | label_1:
    0x00005618 lw t9, -0x7f70(gp)        |         t9 = sym.usage;
    0x0000561c addiu s0, zero, 1         |         s0 = 1;
    0x00005620 bal 0x8dc8                |         sym_usage ();
    0x00005624 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
                                         |     do {
    0x00005628 lw a0, 0x24(sp)           |         a0 = *(var_24h);
    0x0000562c lw v1, (s4)               |         v1 = *(s4);
    0x00005630 move v0, s0               |         v0 = s0;
                                         |         if (a0 != v1) {
    0x00005634 bne a0, v1, 0x5764        |             goto label_5;
                                         |         }
    0x00005638 lw ra, 0x44(sp)           |         ra = *(var_44h);
    0x0000563c lw s6, 0x40(sp)           |         s6 = *(var_40h);
    0x00005640 lw s5, 0x3c(sp)           |         s5 = *(var_3ch);
    0x00005644 lw s4, 0x38(sp)           |         s4 = *(var_38h);
    0x00005648 lw s3, 0x34(sp)           |         s3 = *(var_34h);
    0x0000564c lw s2, 0x30(sp)           |         s2 = *(var_30h);
    0x00005650 lw s1, 0x2c(sp)           |         s1 = *(var_2ch);
    0x00005654 lw s0, 0x28(sp)           |         s0 = *(var_28h);
    0x00005658 addiu sp, sp, 0x48        |         
    0x0000565c jr ra                     |         return v0;
                                         | label_3:
    0x00005660 lw t9, -0x7c00(gp)        |         t9 = sym.imp.g_option_context_free;
    0x00005664 move a0, s0               |         a0 = s0;
    0x00005668 jalr t9                   |         t9 ();
    0x0000566c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00005670 lw a0, (s2)               |         a0 = *(s2);
    0x00005674 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00005678 lw t9, -0x7ca8(gp)        |         t9 = sym.imp.cfg_load_module;
                                         |         /* str.syslogformat */
    0x0000567c addiu a1, a1, -0x7778     |         a1 += -0x7778;
    0x00005680 jalr t9                   |         t9 ();
    0x00005684 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00005688 lw a0, (s2)               |         a0 = *(s2);
    0x0000568c lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00005690 lw t9, -0x7ca8(gp)        |         t9 = sym.imp.cfg_load_module;
                                         |         /* str.basicfuncs */
    0x00005694 addiu a1, a1, -0x7768     |         a1 += -0x7768;
    0x00005698 jalr t9                   |         t9 ();
    0x0000569c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000056a0 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x000056a4 lw v0, -0x44b8(v0)        |         v0 = *((v0 - 4398));
    0x000056a8 addu s1, s3, s1           |         s1 = s3 + s1;
                                         |         if (v0 != 0) {
    0x000056ac beqz v0, 0x56c0           |             
    0x000056b0 lw v1, -0x7fd8(gp)        |             v1 = *((gp - 8182));
    0x000056b4 lw v0, -0x7fd8(gp)        |             v0 = *((gp - 8182));
    0x000056b8 addiu v0, v0, -0x4b34     |             v0 += -0x4b34;
    0x000056bc sw v0, -0x4b48(v1)        |             *((v1 - 4818)) = v0;
                                         |         }
    0x000056c0 lw a1, 0x1c(sp)           |         a1 = *(var_1ch);
    0x000056c4 lw t9, 0xc(s1)            |         t9 = *((s1 + 3));
    0x000056c8 lw a0, 0x48(sp)           |         a0 = *(argv);
    0x000056cc jalr t9                   |         t9 ();
    0x000056d0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000056d4 lw t9, -0x7ce0(gp)        |         t9 = sym.imp.scratch_buffers_allocator_deinit;
    0x000056d8 move s0, v0               |         s0 = v0;
    0x000056dc jalr t9                   |         t9 ();
    0x000056e0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000056e4 lw t9, -0x7b50(gp)        |         t9 = sym.imp.scratch_buffers_global_deinit;
    0x000056e8 jalr t9                   |         t9 ();
    0x000056ec nop                       |         
    0x000056f0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000056f4 lw t9, -0x7c18(gp)        |         t9 = sym.imp.stats_destroy;
    0x000056f8 jalr t9                   |         t9 ();
    0x000056fc nop                       |         
    0x00005700 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00005704 lw t9, -0x7a30(gp)        |         t9 = sym.imp.log_tags_global_deinit;
    0x00005708 jalr t9                   |         t9 ();
    0x0000570c nop                       |         
    0x00005710 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00005714 lw t9, -0x7d78(gp)        |         t9 = sym.imp.log_msg_global_deinit;
    0x00005718 jalr t9                   |         t9 ();
    0x0000571c nop                       |         
    0x00005720 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00005724 lw t9, -0x7a88(gp)        |         t9 = sym.imp.cfg_free;
    0x00005728 lw a0, (s2)               |         a0 = *(s2);
    0x0000572c jalr t9                   |         t9 ();
    0x00005730 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00005734 lw t9, -0x7d7c(gp)        |         t9 = sym.imp.crypto_deinit;
    0x00005738 sw zero, (s2)             |         *(s2) = 0;
    0x0000573c jalr t9                   |         t9 ();
    0x00005740 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00005744 lw t9, -0x7a7c(gp)        |         t9 = sym.imp.msg_deinit;
    0x00005748 jalr t9                   |         t9 ();
    0x0000574c nop                       |         
    0x00005750 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00005754 b 0x5628                  |         
                                         |     } while (1);
                                         | label_4:
    0x00005758 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
                                         |     /* str.Invalid_arguments */
    0x0000575c addiu a3, a3, -0x77cc     |     a3 += -0x77cc;
    0x00005760 b 0x55b4                  |     goto label_0;
                                         | label_5:
    0x00005764 lw t9, -0x7c04(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00005768 jalr t9                   |     t9 ();
    0x0000576c nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/pdbtool @ 0x8dc8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.usage ()                 | void usage () {
    0x00008dc8 lui gp, 3                 |     
    0x00008dcc addiu gp, gp, -0x58c8     |     
    0x00008dd0 addu gp, gp, t9           |     gp += t9;
    0x00008dd4 addiu sp, sp, -0x38       |     
    0x00008dd8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00008ddc sw s2, 0x2c(sp)           |     *(var_2ch) = s2;
    0x00008de0 lw s2, -0x7d6c(gp)        |     s2 = *((gp - 8027));
    0x00008de4 lw t9, -0x7ae4(gp)        |     t9 = sym.imp.fwrite;
    0x00008de8 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00008dec lw a3, (s2)               |     a3 = *(s2);
    0x00008df0 sw s3, 0x30(sp)           |     *(var_30h) = s3;
    0x00008df4 sw s1, 0x28(sp)           |     *(var_28h) = s1;
    0x00008df8 sw s0, 0x24(sp)           |     *(var_24h) = s0;
    0x00008dfc sw ra, 0x34(sp)           |     *(var_34h) = ra;
    0x00008e00 addiu a2, zero, 0x3b      |     a2 = 0x3b;
    0x00008e04 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Syntax:_pdbtool__command___options__nPossible_commands_are:_n */
    0x00008e08 addiu a0, a0, -0x7818     |     a0 += -0x7818;
    0x00008e0c jalr t9                   |     t9 ();
    0x00008e10 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008e14 lw s0, -0x7fd8(gp)        |     s0 = *((gp - 8182));
    0x00008e18 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00008e1c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00008e20 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00008e24 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
                                         |     /* section..data.rel.ro */
    0x00008e28 addiu s0, s0, -0x5070     |     s0 += -0x5070;
                                         |     /* str.dump */
    0x00008e2c addiu s1, s1, -0x7858     |     s1 += -0x7858;
                                         |     /* str.Match_a_message_against_the_pattern_database */
    0x00008e30 addiu v0, v0, -0x7850     |     v0 += -0x7850;
                                         |     /* str.match */
    0x00008e34 addiu a3, a3, -0x7820     |     a3 += -0x7820;
                                         |     /* str.______12s__s_n */
    0x00008e38 addiu s3, s3, -0x77dc     |     s3 += -0x77dc;
    0x00008e3c b 0x8e4c                  |     
                                         |     while (s1 != 0) {
    0x00008e40 move a3, s1               |         a3 = s1;
    0x00008e44 lw v0, 8(s0)              |         v0 = *((s0 + 2));
    0x00008e48 lw s1, 0x10(s0)           |         s1 = *((s0 + 4));
    0x00008e4c lw t9, -0x7cf4(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00008e50 lw a0, (s2)               |         a0 = *(s2);
    0x00008e54 move a2, s3               |         a2 = s3;
    0x00008e58 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00008e5c addiu a1, zero, 1         |         a1 = 1;
    0x00008e60 jalr t9                   |         t9 ();
    0x00008e64 addiu s0, s0, 0x10        |         s0 += 0x10;
    0x00008e68 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008e6c bnez s1, 0x8e40           |         
                                         |     }
    0x00008e70 lw ra, 0x34(sp)           |     ra = *(var_34h);
    0x00008e74 lw s3, 0x30(sp)           |     s3 = *(var_30h);
    0x00008e78 lw s2, 0x2c(sp)           |     s2 = *(var_2ch);
    0x00008e7c lw s1, 0x28(sp)           |     s1 = *(var_28h);
    0x00008e80 lw s0, 0x24(sp)           |     s0 = *(var_24h);
    0x00008e84 addiu sp, sp, 0x38        |     
    0x00008e88 jr ra                     |     return v0;
                                         | }

[*] Function fprintf used 10 times pdbtool