[*] Binary protection state of libdbparser.so

  
  	Full RELRO     Canary found      NX disabled  DSO          No RPATH     No RUNPATH   No Symbols


[*] Function popen tear down of libdbparser.so

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/syslog-ng/libdbparser.so @ 0x5504 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) entry.fini0 ()               | void entry_fini0 () {
    0x00005504 lui gp, 3                 |     
    0x00005508 addiu gp, gp, 0x1c5c      |     
    0x0000550c addu gp, gp, t9           |     gp += t9;
    0x00005510 addiu sp, sp, -0x20       |     
    0x00005514 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00005518 lw s0, -0x7fe4(gp)        |     s0 = *((gp - 8185));
    0x0000551c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00005520 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x00005524 lbu v0, -0x8c0(s0)        |     v0 = *((s0 - 2240));
    0x00005528 lw v0, -0x7b54(gp)        |     v0 = *((gp - 7893));
                                         |     if (v0 == 0) {
    0x0000552c bnez v0, 0x5560           |         
    0x00005530 lw v0, -0x7fe0(gp)        |         v0 = *((gp - 8184));
                                         |         if (v0 != 0) {
    0x00005534 beqz v0, 0x5548           |             
    0x00005538 lw t9, -0x7b54(gp)        |             t9 = *((gp - 7893));
    0x0000553c lw a0, (v0)               |             a0 = *(v0);
    0x00005540 jalr t9                   |             t9 ();
    0x00005544 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |         }
    0x00005548 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x0000554c addiu t9, t9, 0x5480      |         t9 += entry0;
    0x00005550 bal 0x5480                |         entry0 ();
    0x00005554 nop                       |         
    0x00005558 addiu v0, zero, 1         |         v0 = 1;
    0x0000555c sb v0, -0x8c0(s0)         |         *((s0 - 2240)) = v0;
                                         |     }
    0x00005560 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x00005564 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x00005568 addiu sp, sp, 0x20        |     
    0x0000556c jr ra                     |     return v0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/syslog-ng/libdbparser.so @ 0xce44 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000ce44 ()                  | void fcn_0000ce44 () {
                                             | label_8:
    0x0000ce44 lui gp, 3                     |     
    0x0000ce48 addiu gp, gp, -0x5ce4         |     
    0x0000ce4c addu gp, gp, t9               |     gp += t9;
    0x0000ce50 lw v0, -0x7afc(gp)            |     v0 = *((gp - 7871));
    0x0000ce54 lw v1, (a1)                   |     v1 = *(a1);
    0x0000ce58 addiu sp, sp, -0x90           |     
    0x0000ce5c sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x0000ce60 sw v1, 0x2c(sp)               |     *(var_2ch) = v1;
    0x0000ce64 lw v0, (v0)                   |     v0 = *(v0);
    0x0000ce68 lw v1, 0x24(v1)               |     v1 = *((v1 + 9));
    0x0000ce6c sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0000ce70 sw ra, 0x8c(sp)               |     *(var_8ch) = ra;
    0x0000ce74 sw fp, 0x88(sp)               |     *(var_88h) = fp;
    0x0000ce78 sw s7, 0x84(sp)               |     *(var_84h) = s7;
    0x0000ce7c sw s6, 0x80(sp)               |     *(var_80h) = s6;
    0x0000ce80 sw s5, 0x7c(sp)               |     *(var_7ch) = s5;
    0x0000ce84 sw s4, 0x78(sp)               |     *(var_78h) = s4;
    0x0000ce88 sw s3, 0x74(sp)               |     *(var_74h) = s3;
    0x0000ce8c sw s2, 0x70(sp)               |     *(var_70h) = s2;
    0x0000ce90 sw s1, 0x6c(sp)               |     *(var_6ch) = s1;
    0x0000ce94 sw s0, 0x68(sp)               |     *(var_68h) = s0;
    0x0000ce98 sw v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0000ce9c lw v0, 0x30(sp)               |     v0 = *(var_30h);
                                             |     if (v1 == 0) {
    0x0000cea0 beqz v1, 0xd00c               |         goto label_9;
                                             |     }
    0x0000cea4 lw v0, 4(v1)                  |     v0 = *((v1 + 1));
    0x0000cea8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     if (v0 == 0) {
    0x0000ceac beqz v0, 0xd008               |         goto label_10;
                                             |     }
    0x0000ceb0 move s5, a1                   |     s5 = a1;
    0x0000ceb4 sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
    0x0000ceb8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000cebc move s1, a0                   |     s1 = a0;
    0x0000cec0 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x0000cec4 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000cec8 move s0, a2                   |     s0 = a2;
    0x0000cecc addiu v0, v0, -0x328c         |     v0 += -0x328c;
    0x0000ced0 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x0000ced4 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000ced8 move s6, zero                 |     s6 = 0;
    0x0000cedc addiu v0, v0, -0x2c18         |     v0 += -0x2c18;
    0x0000cee0 sw v0, 0x38(sp)               |     *(var_38h_2) = v0;
    0x0000cee4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000cee8 addiu v0, v0, -0x3a9c         |     v0 += -0x3a9c;
    0x0000ceec sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0000cef0 lw t0, (v1)                   |     t0 = *(v1);
                                             |     do {
    0x0000cef4 sll a0, s6, 2                 |         a0 = s6 << 2;
    0x0000cef8 lwx s2, a0(t0)                |         __asm ("lwx s2, a0(t0)");
    0x0000cefc sw s2, 4(s5)                  |         *((s5 + 1)) = s2;
    0x0000cf00 lw v0, 4(s2)                  |         v0 = *((s2 + 1));
    0x0000cf04 lw v0, 4(v1)                  |         v0 = *((v1 + 1));
                                             |         if (s0 != v0) {
    0x0000cf08 bnel s0, v0, 0xcff8           |             
    0x0000cf0c lw a0, (s2)                   |             a0 = *(s2);
    0x0000cf10 lw s7, 0xc(s5)                |             s7 = *((s5 + 3));
                                             |             if (a0 != 0) {
    0x0000cf14 beqz a0, 0xcf44               |                 
    0x0000cf18 lw v0, 8(s5)                  |                 v0 = *((s5 + 2));
    0x0000cf1c lw t9, -0x7f58(gp)            |                 t9 = *((gp - 8150));
                                             |                 if (v0 == 0) {
    0x0000cf20 beqz v0, 0xd304               |                     goto label_11;
                                             |                 }
    0x0000cf24 lw v0, 0x18(v0)               |                 v0 = *((v0 + 6));
    0x0000cf28 lw a2, 4(v0)                  |                 a2 = *((v0 + 1));
    0x0000cf2c lw a1, (v0)                   |                 a1 = *(v0);
    0x0000cf30 jalr t9                       |                 t9 ();
    0x0000cf34 lw gp, 0x20(sp)               |                 gp = *(var_20h);
                                             |                 if (v0 == 0) {
    0x0000cf38 beqz v0, 0xcfec               |                     goto label_0;
                                             |                 }
                                             | label_3:
    0x0000cf3c lw s2, 4(s5)                  |                 s2 = *((s5 + 1));
    0x0000cf40 lw s7, 0xc(s5)                |                 s7 = *((s5 + 3));
                                             |             }
    0x0000cf44 lhu v0, 0x10(s2)              |             v0 = *((s2 + 8));
                                             |             if (v0 == 0) {
    0x0000cf48 beql v0, zero, 0xd054         |                 goto label_12;
                                             |             }
    0x0000cf4c lw v0, 8(s2)                  |             v0 = *((s2 + 2));
    0x0000cf50 lw fp, (s5)                   |             fp = *(s5);
    0x0000cf54 lw s3, 0x10(s5)               |             s3 = *((s5 + 4));
    0x0000cf58 lw a1, -0x7fd8(gp)            |             a1 = *((gp - 8182));
    0x0000cf5c lw t9, -0x7cf4(gp)            |             t9 = *((gp - 7997));
    0x0000cf60 lbu a3, 0x12(s2)              |             a3 = *((s2 + 18));
    0x0000cf64 lw a2, 8(fp)                  |             a2 = *(arg_8h);
    0x0000cf68 addiu a1, a1, -0x3498         |             a1 += -0x3498;
    0x0000cf6c move a0, s3                   |             a0 = s3;
    0x0000cf70 jalr t9                       |             t9 ();
    0x0000cf74 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x0000cf78 addiu s4, sp, 0x50            |             s4 = sp + 0x50;
    0x0000cf7c lw a3, (s3)                   |             a3 = *(s3);
    0x0000cf80 lw t9, -0x7df8(gp)            |             t9 = *((gp - 8062));
    0x0000cf84 lw a1, 0x1c(fp)               |             a1 = *(arg_1ch);
    0x0000cf88 move a2, s7                   |             a2 = s7;
    0x0000cf8c move a0, s4                   |             a0 = s4;
    0x0000cf90 jalr t9                       |             t9 ();
    0x0000cf94 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x0000cf98 lw a0, 0x3c(s1)               |             a0 = *((s1 + 15));
    0x0000cf9c lw t9, -0x7cc8(gp)            |             t9 = *((gp - 7986));
    0x0000cfa0 move a1, s4                   |             a1 = s4;
    0x0000cfa4 jalr t9                       |             t9 ();
    0x0000cfa8 move s7, v0                   |             s7 = v0;
    0x0000cfac lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x0000cfb0 beqz v0, 0xd320               |                 goto label_13;
                                             |             }
                                             | label_5:
    0x0000cfb4 lw t9, -0x7af8(gp)            |             t9 = *((gp - 7870));
    0x0000cfb8 lw a0, 0x40(s1)               |             a0 = *((s1 + 16));
    0x0000cfbc jalr t9                       |             t9 ();
    0x0000cfc0 lw a0, 0x18(s7)               |             a0 = *((s7 + 6));
    0x0000cfc4 lw a1, 0x1c(s7)               |             a1 = *((s7 + 7));
    0x0000cfc8 or a1, a0, a1                 |             a1 = a0 | a1;
    0x0000cfcc lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (a1 != 0) {
    0x0000cfd0 bnez a1, 0xd2b0               |                 goto label_14;
                                             |             }
    0x0000cfd4 lhu a1, 0x10(s2)              |             a1 = *((s2 + 8));
    0x0000cfd8 sw v0, 0x18(s7)               |             *((s7 + 6)) = v0;
    0x0000cfdc sw v1, 0x1c(s7)               |             *((s7 + 7)) = v1;
    0x0000cfe0 sw a1, 0x14(s7)               |             *((s7 + 5)) = a1;
                                             | label_2:
    0x0000cfe4 addiu a1, a1, -1              |             a1 += -1;
                                             |             if (a1 == 0) {
    0x0000cfe8 bnel a1, zero, 0xd048         |                 goto label_15;
                                             |             }
                                             | label_0:
    0x0000cfec lw v0, 0x2c(sp)               |             v0 = *(var_2ch);
                                             | label_4:
    0x0000cff0 lw v1, 0x24(v0)               |             v1 = *((v0 + 9));
                                             | label_1:
    0x0000cff4 lw v0, 4(v1)                  |             v0 = *((v1 + 1));
                                             |         }
    0x0000cff8 addiu s6, s6, 1               |         s6++;
    0x0000cffc sltu v0, s6, v0               |         v0 = (s6 < v0) ? 1 : 0;
    0x0000d000 lw t0, (v1)                   |         t0 = *(v1);
    0x0000d004 bnel v0, zero, 0xcef4         |         
                                             |     } while (v0 == 0);
                                             | label_10:
    0x0000d008 lw v0, 0x30(sp)               |     v0 = *(var_30h);
                                             | label_9:
    0x0000d00c lw v1, 0x64(sp)               |     v1 = *(var_64h);
    0x0000d010 lw v0, (v0)                   |     v0 = *(v0);
    0x0000d014 lw ra, 0x8c(sp)               |     ra = *(var_8ch);
                                             |     if (v1 != v0) {
    0x0000d018 bne v1, v0, 0xd3dc            |         goto label_16;
                                             |     }
    0x0000d01c lw fp, 0x88(sp)               |     fp = *(var_88h);
    0x0000d020 lw s7, 0x84(sp)               |     s7 = *(var_84h);
    0x0000d024 lw s6, 0x80(sp)               |     s6 = *(var_80h);
    0x0000d028 lw s5, 0x7c(sp)               |     s5 = *(var_7ch);
    0x0000d02c lw s4, 0x78(sp)               |     s4 = *(var_78h);
    0x0000d030 lw s3, 0x74(sp)               |     s3 = *(var_74h);
    0x0000d034 lw s2, 0x70(sp)               |     s2 = *(var_70h);
    0x0000d038 lw s1, 0x6c(sp)               |     s1 = *(var_6ch);
    0x0000d03c lw s0, 0x68(sp)               |     s0 = *(var_68h);
    0x0000d040 addiu sp, sp, 0x90            |     
    0x0000d044 jr ra                         |     return v0;
                                             | label_15:
    0x0000d048 lw s2, 4(s5)                  |     s2 = *((s5 + 1));
    0x0000d04c sw a1, 0x14(s7)               |     *((s7 + 5)) = a1;
    0x0000d050 lw v0, 8(s2)                  |     v0 = *((s2 + 2));
                                             | label_12:
    0x0000d054 addiu v1, zero, 1             |     v1 = 1;
                                             |     if (v0 == v1) {
    0x0000d058 beql v0, v1, 0xd25c           |         goto label_17;
                                             |     }
    0x0000d05c lw a1, 8(s5)                  |     a1 = *((s5 + 2));
    0x0000d060 addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v0 == 0) {
    0x0000d064 beqz v0, 0xcfec               |         goto label_0;
                                             |     }
    0x0000d068 lw a3, -0x7fd8(gp)            |     a3 = *((gp - 8182));
                                             |     if (v0 != v1) {
    0x0000d06c bne v0, v1, 0xd3bc            |         goto label_18;
                                             |     }
    0x0000d070 lw s3, 8(s5)                  |     s3 = *((s5 + 2));
    0x0000d074 lw s7, (s5)                   |     s7 = *(s5);
    0x0000d078 lw s4, 0x10(s5)               |     s4 = *((s5 + 4));
    0x0000d07c addiu a0, s2, 0x14            |     a0 = s2 + 0x14;
                                             |     if (s3 == 0) {
    0x0000d080 beqz s3, 0xd360               |         goto label_19;
                                             |     }
    0x0000d084 lw t9, -0x7ed4(gp)            |     t9 = *((gp - 8117));
    0x0000d088 move a2, s4                   |     a2 = s4;
    0x0000d08c move a1, s3                   |     a1 = s3;
    0x0000d090 jalr t9                       |     t9 ();
    0x0000d094 lw v1, 0x18(s3)               |     v1 = *((s3 + 6));
    0x0000d098 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d09c lw a0, 0x28(s2)               |     a0 = *((s2 + 10));
    0x0000d0a0 lw a2, 4(v1)                  |     a2 = *((v1 + 1));
    0x0000d0a4 lw a1, (v1)                   |     a1 = *(v1);
    0x0000d0a8 lw t9, -0x7c1c(gp)            |     t9 = *((gp - 7943));
    0x0000d0ac move a3, zero                 |     a3 = 0;
    0x0000d0b0 sw s4, 0x1c(sp)               |     *(var_1ch) = s4;
    0x0000d0b4 sw zero, 0x18(sp)             |     *(var_18h_2) = 0;
    0x0000d0b8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000d0bc sw zero, 0x10(sp)             |     *(var_50h) = 0;
    0x0000d0c0 move fp, v0                   |     fp = v0;
    0x0000d0c4 jalr t9                       |     t9 ();
    0x0000d0c8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_6:
    0x0000d0cc lw v0, -0x7d64(gp)            |     v0 = *((gp - 8025));
    0x0000d0d0 lw v0, (v0)                   |     v0 = *(v0);
                                             |     if (v0 != 0) {
    0x0000d0d4 beql v0, zero, 0xd198         |         
    0x0000d0d8 lw a3, (s4)                   |         a3 = *(s4);
    0x0000d0dc lw v0, 0x3c(sp)               |         v0 = *(var_3ch_2);
    0x0000d0e0 lw t9, -0x7d54(gp)            |         t9 = *((gp - 8021));
    0x0000d0e4 lw a1, 8(s7)                  |         a1 = *((s7 + 2));
    0x0000d0e8 addiu a0, v0, -0x3490         |         a0 = v0 + -0x3490;
    0x0000d0ec jalr t9                       |         t9 ();
    0x0000d0f0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d0f4 lw a1, (s4)                   |         a1 = *(s4);
    0x0000d0f8 lw a0, 0x40(sp)               |         a0 = *(var_40h);
    0x0000d0fc lw t9, -0x7d54(gp)            |         t9 = *((gp - 8021));
    0x0000d100 sw v0, 0x4c(sp)               |         *(var_4ch) = v0;
    0x0000d104 jalr t9                       |         t9 ();
    0x0000d108 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d10c lw v1, 0x44(sp)               |         v1 = *(var_44h);
    0x0000d110 lw a1, 0x20(s2)               |         a1 = *((s2 + 8));
    0x0000d114 lw t9, -0x7e20(gp)            |         t9 = *((gp - 8072));
    0x0000d118 addiu a0, v1, -0x3488         |         a0 = v1 + -0x3488;
    0x0000d11c sw v0, 0x48(sp)               |         *(var_48h) = v0;
    0x0000d120 jalr t9                       |         t9 ();
    0x0000d124 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d128 lw a0, 0x40(s1)               |         a0 = *((s1 + 16));
    0x0000d12c lw t9, -0x7af8(gp)            |         t9 = *((gp - 7870));
    0x0000d130 move s3, v0                   |         s3 = v0;
    0x0000d134 jalr t9                       |         t9 ();
    0x0000d138 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d13c lw a1, 0x20(s2)               |         a1 = *((s2 + 8));
    0x0000d140 lw a0, -0x7fd8(gp)            |         a0 = *((gp - 8182));
    0x0000d144 lw t9, -0x7e20(gp)            |         t9 = *((gp - 8072));
    0x0000d148 addu a1, a1, v0               |         a1 += v0;
    0x0000d14c addiu a0, a0, -0x3478         |         a0 += -0x3478;
    0x0000d150 jalr t9                       |         t9 ();
    0x0000d154 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d158 lw a3, 0x48(sp)               |         a3 = *(var_48h);
    0x0000d15c lw a2, 0x4c(sp)               |         a2 = *(var_4ch);
    0x0000d160 lw a1, -0x7fd8(gp)            |         a1 = *((gp - 8182));
    0x0000d164 lw t9, -0x7a5c(gp)            |         t9 = *((gp - 7831));
    0x0000d168 addiu a1, a1, -0x3464         |         a1 += -0x3464;
    0x0000d16c addiu a0, zero, 7             |         a0 = 7;
    0x0000d170 sw zero, 0x18(sp)             |         *(var_18h_2) = 0;
    0x0000d174 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0000d178 sw s3, 0x10(sp)               |         *(var_50h) = s3;
    0x0000d17c jalr t9                       |         t9 ();
    0x0000d180 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d184 lw t9, -0x7ef0(gp)            |         t9 = *((gp - 8124));
    0x0000d188 move a0, v0                   |         a0 = v0;
    0x0000d18c jalr t9                       |         t9 ();
    0x0000d190 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d194 lw a3, (s4)                   |         a3 = *(s4);
                                             |     }
    0x0000d198 lw t9, -0x7df8(gp)            |     t9 = *((gp - 8062));
    0x0000d19c lw a1, 0x24(s2)               |     a1 = *((s2 + 9));
    0x0000d1a0 addiu s3, sp, 0x50            |     s3 = sp + 0x50;
    0x0000d1a4 move a2, fp                   |     a2 = fp;
    0x0000d1a8 move a0, s3                   |     a0 = s3;
    0x0000d1ac jalr t9                       |     t9 ();
    0x0000d1b0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d1b4 lw t9, -0x7d40(gp)            |     t9 = *((gp - 8016));
    0x0000d1b8 move a0, s3                   |     a0 = s3;
    0x0000d1bc jalr t9                       |     t9 ();
    0x0000d1c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d1c4 lw a0, 0x38(s1)               |     a0 = *((s1 + 14));
    0x0000d1c8 move a2, v0                   |     a2 = v0;
    0x0000d1cc lw t9, -0x7be4(gp)            |     t9 = *((gp - 7929));
    0x0000d1d0 move a1, v0                   |     a1 = v0;
    0x0000d1d4 move s3, v0                   |     s3 = v0;
    0x0000d1d8 jalr t9                       |     t9 ();
    0x0000d1dc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d1e0 lw t9, -0x7b40(gp)            |     t9 = *((gp - 7888));
    0x0000d1e4 move a0, s4                   |     a0 = s4;
    0x0000d1e8 jalr t9                       |     t9 ();
    0x0000d1ec lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d1f0 lw a0, 0x18(s3)               |     a0 = *((s3 + 6));
    0x0000d1f4 lw t9, -0x7ef4(gp)            |     t9 = *((gp - 8125));
    0x0000d1f8 move a1, fp                   |     a1 = fp;
    0x0000d1fc jalr t9                       |     t9 ();
    0x0000d200 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d204 move a0, s3                   |     a0 = s3;
    0x0000d208 lw s4, 0x40(s1)               |     s4 = *((s1 + 16));
    0x0000d20c lw t9, -0x7e88(gp)            |     t9 = *((gp - 8098));
    0x0000d210 lw fp, 0x18(s7)               |     fp = *((s7 + 6));
    0x0000d214 jalr t9                       |     t9 ();
    0x0000d218 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d21c move a3, v0                   |     a3 = v0;
    0x0000d220 lw a2, 0x38(sp)               |     a2 = *(var_38h_2);
    0x0000d224 lw v0, -0x7e54(gp)            |     v0 = *((gp - 8085));
    0x0000d228 lw t9, -0x7df0(gp)            |     t9 = *((gp - 8060));
    0x0000d22c move a1, fp                   |     a1 = fp;
    0x0000d230 move a0, s4                   |     a0 = s4;
    0x0000d234 sw v0, 0x10(sp)               |     *(var_50h) = v0;
    0x0000d238 jalr t9                       |     t9 ();
    0x0000d23c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d240 sw v0, 0x14(s3)               |     *((s3 + 5)) = v0;
    0x0000d244 lw t9, -0x7e84(gp)            |     t9 = *((gp - 8097));
    0x0000d248 move a0, s7                   |     a0 = s7;
    0x0000d24c jalr t9                       |     t9 ();
    0x0000d250 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d254 sw v0, 0x24(s3)               |     *((s3 + 9)) = v0;
    0x0000d258 b 0xcfec                      |     goto label_0;
                                             | label_17:
    0x0000d25c lw a2, 0x10(s5)               |     a2 = *((s5 + 4));
    0x0000d260 addiu a0, s2, 0x14            |     a0 = s2 + 0x14;
                                             |     if (a1 == 0) {
    0x0000d264 beqz a1, 0xd3a8               |         goto label_20;
                                             |     }
    0x0000d268 lw t9, -0x7ed4(gp)            |     t9 = *((gp - 8117));
    0x0000d26c jalr t9                       |     t9 ();
    0x0000d270 nop                           |     
    0x0000d274 move s3, v0                   |     s3 = v0;
                                             | label_7:
    0x0000d278 lw a0, 0x50(s1)               |     a0 = *((s1 + 20));
    0x0000d27c lw t9, 0x34(sp)               |     t9 = *(var_34h_2);
    0x0000d280 move a3, s3                   |     a3 = s3;
    0x0000d284 addiu a2, zero, 1             |     a2 = 1;
    0x0000d288 move a1, s5                   |     a1 = s5;
    0x0000d28c jalr t9                       |     t9 ();
    0x0000d290 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d294 lw t9, -0x7cfc(gp)            |     t9 = *((gp - 7999));
    0x0000d298 move a0, s3                   |     a0 = s3;
    0x0000d29c jalr t9                       |     t9 ();
    0x0000d2a0 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x0000d2a4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d2a8 lw v1, 0x24(v0)               |     v1 = *((v0 + 9));
    0x0000d2ac b 0xcff4                      |     goto label_1;
                                             | label_14:
    0x0000d2b0 lw a1, 0xc(s2)                |     a1 = *((s2 + 3));
    0x0000d2b4 lhu a3, 0x10(s2)              |     a3 = *((s2 + 8));
    0x0000d2b8 sll a1, a1, 8                 |     a1 <<= 8;
    0x0000d2bc div zero, a1, a3              |     __asm ("div zero, a1, a3");
    0x0000d2c0 teq a3, zero, 7               |     __asm ("teq a3, zero, 7");
    0x0000d2c4 subu a1, v0, a0               |     __asm ("subu a1, v0, a0");
    0x0000d2c8 sll a0, a1, 8                 |     a0 = a1 << 8;
    0x0000d2cc mflo a2                       |     __asm ("mflo a2");
    0x0000d2d0 div zero, a0, a2              |     __asm ("div zero, a0, a2");
    0x0000d2d4 teq a2, zero, 7               |     __asm ("teq a2, zero, 7");
    0x0000d2d8 mflo a0                       |     __asm ("mflo a0");
    0x0000d2dc lw a1, 0x14(s7)               |     a1 = *((s7 + 5));
                                             |     if (a0 == 0) {
    0x0000d2e0 beqz a0, 0xcfe4               |         goto label_2;
                                             |     }
    0x0000d2e4 addu a0, a0, a1               |     a0 += a1;
    0x0000d2e8 slt a1, a3, a0                |     a1 = (a3 < a0) ? 1 : 0;
                                             |     if (a1 != 0) {
    0x0000d2ec movz a3, a0, a1               |         a3 = a0;
                                             |     }
    0x0000d2f0 move a1, a3                   |     a1 = a3;
    0x0000d2f4 sw a3, 0x14(s7)               |     *((s7 + 5)) = a3;
    0x0000d2f8 sw v0, 0x18(s7)               |     *((s7 + 6)) = v0;
    0x0000d2fc sw v1, 0x1c(s7)               |     *((s7 + 7)) = v1;
    0x0000d300 b 0xcfe4                      |     goto label_2;
                                             | label_11:
    0x0000d304 lw t9, -0x7ecc(gp)            |     t9 = *((gp - 8115));
    0x0000d308 move a1, s7                   |     a1 = s7;
    0x0000d30c jalr t9                       |     t9 ();
    0x0000d310 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0000d314 bnez v0, 0xcf3c               |         goto label_3;
                                             |     }
    0x0000d318 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x0000d31c b 0xcff0                      |     goto label_4;
                                             | label_13:
    0x0000d320 lw t9, -0x7ba0(gp)            |     t9 = *((gp - 7912));
    0x0000d324 move a0, s4                   |     a0 = s4;
    0x0000d328 jalr t9                       |     t9 ();
    0x0000d32c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d330 lw a0, 0x3c(s1)               |     a0 = *((s1 + 15));
    0x0000d334 move a2, v0                   |     a2 = v0;
    0x0000d338 lw t9, -0x7be4(gp)            |     t9 = *((gp - 7929));
    0x0000d33c move a1, v0                   |     a1 = v0;
    0x0000d340 move s7, v0                   |     s7 = v0;
    0x0000d344 jalr t9                       |     t9 ();
    0x0000d348 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d34c lw t9, -0x7b40(gp)            |     t9 = *((gp - 7888));
    0x0000d350 move a0, s3                   |     a0 = s3;
    0x0000d354 jalr t9                       |     t9 ();
    0x0000d358 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d35c b 0xcfb4                      |     goto label_5;
                                             | label_19:
    0x0000d360 lw s3, 0xc(s5)                |     s3 = *((s5 + 3));
    0x0000d364 lw t9, -0x7b3c(gp)            |     t9 = *((gp - 7887));
    0x0000d368 move a2, s4                   |     a2 = s4;
    0x0000d36c move a1, s3                   |     a1 = s3;
    0x0000d370 jalr t9                       |     t9 ();
    0x0000d374 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d378 lw a0, 0x28(s2)               |     a0 = *((s2 + 10));
    0x0000d37c sw s4, 0x18(sp)               |     *(var_18h_2) = s4;
    0x0000d380 lw t9, -0x7cd0(gp)            |     t9 = *((gp - 7988));
    0x0000d384 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000d388 sw zero, 0x10(sp)             |     *(var_50h) = 0;
    0x0000d38c move a3, zero                 |     a3 = 0;
    0x0000d390 move a2, zero                 |     a2 = 0;
    0x0000d394 move a1, s3                   |     a1 = s3;
    0x0000d398 move fp, v0                   |     fp = v0;
    0x0000d39c jalr t9                       |     t9 ();
    0x0000d3a0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000d3a4 b 0xd0cc                      |     goto label_6;
                                             | label_20:
    0x0000d3a8 lw t9, -0x7b3c(gp)            |     t9 = *((gp - 7887));
    0x0000d3ac lw a1, 0xc(s5)                |     a1 = *((s5 + 3));
    0x0000d3b0 jalr t9                       |     t9 ();
    0x0000d3b4 move s3, v0                   |     s3 = v0;
    0x0000d3b8 b 0xd278                      |     goto label_7;
                                             | label_18:
    0x0000d3bc lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x0000d3c0 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x0000d3c4 sw zero, 0x10(sp)             |     *(var_50h) = 0;
    0x0000d3c8 addiu a3, a3, -0x3380         |     a3 += -0x3380;
    0x0000d3cc addiu a2, zero, 0x173         |     a2 = 0x173;
    0x0000d3d0 addiu a1, a1, -0x342c         |     a1 += -0x342c;
    0x0000d3d4 move a0, zero                 |     a0 = 0;
    0x0000d3d8 jalr t9                       |     t9 ();
                                             | label_16:
    0x0000d3dc lw t9, -0x7d24(gp)            |     t9 = *((gp - 8009));
    0x0000d3e0 jalr t9                       |     t9 ();
    0x0000d3e4 nop                           |     
    0x0000d3e8 lui gp, 3                     |     
    0x0000d3ec addiu gp, gp, -0x6288         |     
    0x0000d3f0 addu gp, gp, t9               |     gp += t9;
    0x0000d3f4 addiu sp, sp, -0x40           |     
    0x0000d3f8 lw t9, -0x7c10(gp)            |     t9 = *((gp - 7940));
    0x0000d3fc sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000d400 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0000d404 sw s4, 0x34(sp)               |     *(var_34h) = s4;
    0x0000d408 sw s3, 0x30(sp)               |     *(var_30h_2) = s3;
    0x0000d40c sw s2, 0x2c(sp)               |     *(var_2ch_2) = s2;
    0x0000d410 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x0000d414 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x0000d418 sw s5, 0x38(sp)               |     *(var_38h) = s5;
    0x0000d41c lw s1, 0x50(sp)               |     s1 = *(var_50h);
    0x0000d420 jalr t9                       |     t9 ();
    0x0000d424 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000d428 addiu a0, zero, 0x100         |     a0 = aav.0x00000100;
    0x0000d42c lw t9, -0x7d18(gp)            |     t9 = *((gp - 8006));
    0x0000d430 move s2, v0                   |     s2 = v0;
    0x0000d434 jalr t9                       |     t9 ();
    0x0000d438 lw v1, 0x18(s1)               |     v1 = *((s1 + 6));
    0x0000d43c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000d440 move s4, v0                   |     s4 = v0;
    0x0000d444 lw s3, (v1)                   |     s3 = *(v1);
    0x0000d448 lw v0, 4(v1)                  |     v0 = *((v1 + 1));
    0x0000d44c lw v1, -0x7d64(gp)            |     v1 = *((gp - 8025));
    0x0000d450 sll v0, v0, 2                 |     v0 <<= 2;
    0x0000d454 addiu v0, v0, -4              |     v0 += -4;
    0x0000d458 lw v1, (v1)                   |     v1 = *(v1);
    0x0000d45c lwx s3, v0(s3)                |     __asm ("lwx s3, v0(s3)");
    0x0000d460 lw s0, 0x4c(s2)               |     s0 = *((s2 + 19));
                                             |     if (v1 != 0) {
    0x0000d464 beqz v1, 0xd4e8               |         
    0x0000d468 lw v0, 0x24(s1)               |         v0 = *((s1 + 9));
    0x0000d46c lw a0, -0x7fd8(gp)            |         a0 = *((gp - 8182));
    0x0000d470 lw t9, -0x7d54(gp)            |         t9 = *((gp - 8021));
    0x0000d474 lw a1, 8(v0)                  |         a1 = *((v0 + 2));
    0x0000d478 addiu a0, a0, -0x33f8         |         a0 += -0x33f8;
    0x0000d47c jalr t9                       |         t9 ();
    0x0000d480 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000d484 lw a0, 0x40(s2)               |         a0 = *((s2 + 16));
    0x0000d488 lw t9, -0x7af8(gp)            |         t9 = *((gp - 7870));
    0x0000d48c move s5, v0                   |         s5 = v0;
    0x0000d490 jalr t9                       |         t9 ();
    0x0000d494 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000d498 move a3, v1                   |         a3 = v1;
    0x0000d49c move a2, v0                   |         a2 = v0;
    0x0000d4a0 lw a0, -0x7fd8(gp)            |         a0 = *((gp - 8182));
    0x0000d4a4 lw t9, -0x7bcc(gp)            |         t9 = *((gp - 7923));
    0x0000d4a8 addiu a0, a0, -0x3adc         |         a0 += -0x3adc;
    0x0000d4ac jalr t9                       |         t9 ();
    0x0000d4b0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000d4b4 move a3, v0                   |         a3 = v0;
    0x0000d4b8 move a2, s5                   |         a2 = s5;
    0x0000d4bc lw a1, -0x7fd8(gp)            |         a1 = *((gp - 8182));
    0x0000d4c0 lw t9, -0x7a5c(gp)            |         t9 = *((gp - 7831));
    0x0000d4c4 addiu a1, a1, -0x33ec         |         a1 += -0x33ec;
    0x0000d4c8 addiu a0, zero, 7             |         a0 = 7;
    0x0000d4cc sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x0000d4d0 jalr t9                       |         t9 ();
    0x0000d4d4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000d4d8 lw t9, -0x7ef0(gp)            |         t9 = *((gp - 8124));
    0x0000d4dc move a0, v0                   |         a0 = v0;
    0x0000d4e0 jalr t9                       |         t9 ();
    0x0000d4e4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0000d4e8 lw v0, 0x24(s1)               |     v0 = *((s1 + 9));
    0x0000d4ec lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000d4f0 move a1, s0                   |     a1 = s0;
    0x0000d4f4 move a0, s2                   |     a0 = s2;
    0x0000d4f8 sw s1, 8(s0)                  |     *((s0 + 2)) = s1;
    0x0000d4fc sw v0, (s0)                   |     *(s0) = v0;
    0x0000d500 sw s3, 0xc(s0)                |     *((s0 + 3)) = s3;
    0x0000d504 sw s4, 0x10(s0)               |     *((s0 + 4)) = s4;
    0x0000d508 addiu t9, t9, -0x31bc         |     t9 += -0x31bc;
    0x0000d50c addiu a2, zero, 2             |     a2 = 2;
    0x0000d510 bal 0xce44                    |     fcn_0000ce44 ();
                                             |     goto label_8;
    0x0000d514 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000d518 lw a0, 0x38(s2)               |     a0 = *((s2 + 14));
    0x0000d51c lw t9, -0x7e04(gp)            |     t9 = *((gp - 8065));
    0x0000d520 move a1, s1                   |     a1 = s1;
    0x0000d524 jalr t9                       |     t9 ();
    0x0000d528 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000d52c lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x0000d530 lw s5, 0x38(sp)               |     s5 = *(var_38h);
    0x0000d534 lw s3, 0x30(sp)               |     s3 = *(var_30h_2);
    0x0000d538 lw s2, 0x2c(sp)               |     s2 = *(var_2ch_2);
    0x0000d53c lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x0000d540 lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x0000d544 move a0, s4                   |     a0 = s4;
    0x0000d548 lw t9, -0x7e14(gp)            |     t9 = *((gp - 8069));
    0x0000d54c lw s4, 0x34(sp)               |     s4 = *(var_34h);
    0x0000d550 addiu a1, zero, 1             |     a1 = 1;
    0x0000d554 addiu sp, sp, 0x40            |     
    0x0000d558 jr t9                         |     return t9 ();
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/syslog-ng/libdbparser.so @ 0x12df4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.synthetic_message_apply ()       | void synthetic_message_apply () {
    0x00012df4 lui gp, 2                         |     
    0x00012df8 addiu gp, gp, 0x436c              |     
    0x00012dfc addu gp, gp, t9                   |     gp += t9;
    0x00012e00 addiu sp, sp, -0x50               |     
    0x00012e04 lw v1, 4(a0)                      |     v1 = *((a0 + 1));
    0x00012e08 sw gp, 0x20(sp)                   |     *(var_20h) = gp;
    0x00012e0c sw s3, 0x34(sp)                   |     *(var_34h) = s3;
    0x00012e10 sw s2, 0x30(sp)                   |     *(var_30h) = s2;
    0x00012e14 sw s1, 0x2c(sp)                   |     *(var_2ch) = s1;
    0x00012e18 sw ra, 0x4c(sp)                   |     *(var_4ch) = ra;
    0x00012e1c sw fp, 0x48(sp)                   |     *(var_48h) = fp;
    0x00012e20 sw s7, 0x44(sp)                   |     *(var_44h) = s7;
    0x00012e24 sw s6, 0x40(sp)                   |     *(var_40h) = s6;
    0x00012e28 sw s5, 0x3c(sp)                   |     *(var_3ch) = s5;
    0x00012e2c sw s4, 0x38(sp)                   |     *(var_38h) = s4;
    0x00012e30 sw s0, 0x28(sp)                   |     *(var_28h) = s0;
    0x00012e34 move s1, a0                       |     s1 = a0;
    0x00012e38 move s3, a1                       |     s3 = a1;
    0x00012e3c sw a2, 0x58(sp)                   |     *(arg_58h) = a2;
    0x00012e40 move s2, a3                       |     s2 = a3;
                                                 |     if (v1 == 0) {
    0x00012e44 beqz v1, 0x12e8c                  |         goto label_1;
                                                 |     }
    0x00012e48 lw v0, 4(v1)                      |     v0 = *((v1 + 1));
                                                 |     if (v0 == 0) {
    0x00012e4c beql v0, zero, 0x12e90            |         goto label_2;
                                                 |     }
    0x00012e50 lw v1, 8(s1)                      |     v1 = *((s1 + 2));
    0x00012e54 move s0, zero                     |     s0 = 0;
                                                 |     do {
    0x00012e58 lw v0, (v1)                       |         v0 = *(v1);
    0x00012e5c sll v1, s0, 1                     |         v1 = s0 << 1;
    0x00012e60 addu v0, v0, v1                   |         v0 += v1;
    0x00012e64 lw t9, -0x7c00(gp)                |         t9 = *((gp - 7936));
    0x00012e68 lhu a1, (v0)                      |         a1 = *(v0);
    0x00012e6c lw a0, 0x58(sp)                   |         a0 = *(arg_58h);
    0x00012e70 addiu s0, s0, 1                   |         s0++;
    0x00012e74 jalr t9                           |         t9 ();
    0x00012e78 lw v1, 4(s1)                      |         v1 = *((s1 + 1));
    0x00012e7c lw v0, 4(v1)                      |         v0 = *((v1 + 1));
    0x00012e80 sltu v0, s0, v0                   |         v0 = (s0 < v0) ? 1 : 0;
    0x00012e84 lw gp, 0x20(sp)                   |         gp = *(var_20h);
    0x00012e88 bnez v0, 0x12e58                  |         
                                                 |     } while (v0 != 0);
                                                 | label_1:
    0x00012e8c lw v1, 8(s1)                      |     v1 = *((s1 + 2));
                                                 | label_2:
    0x00012e90 lw ra, 0x4c(sp)                   |     ra = *(var_4ch);
                                                 |     if (v1 == 0) {
    0x00012e94 beqz v1, 0x12f58                  |         goto label_3;
                                                 |     }
    0x00012e98 lw v0, 4(v1)                      |     v0 = *((v1 + 1));
    0x00012e9c move s0, zero                     |     s0 = 0;
                                                 |     if (v0 == 0) {
    0x00012ea0 beqz v0, 0x12f58                  |         goto label_3;
                                                 |     }
    0x00012ea4 addiu s4, sp, 0x58                |     s4 = sp + 0x58;
    0x00012ea8 b 0x12f34                         |     
                                                 |     while (s3 != 0) {
    0x00012eac lw v0, 0x18(s3)                   |         v0 = *((s3 + 6));
    0x00012eb0 lw v1, 0xc(s3)                    |         v1 = *((s3 + 3));
    0x00012eb4 lw a1, (v0)                       |         a1 = *(v0);
    0x00012eb8 lw a2, 4(v0)                      |         a2 = *((v0 + 1));
                                                 | label_0:
    0x00012ebc lw t9, -0x7c1c(gp)                |         t9 = *((gp - 7943));
    0x00012ec0 sw v1, 0x18(sp)                   |         *(var_18h) = v1;
    0x00012ec4 move a3, zero                     |         a3 = 0;
    0x00012ec8 sw s2, 0x1c(sp)                   |         *(var_1ch) = s2;
    0x00012ecc sw zero, 0x14(sp)                 |         *(var_14h) = 0;
    0x00012ed0 sw zero, 0x10(sp)                 |         *(var_10h) = 0;
    0x00012ed4 jalr t9                           |         t9 ();
    0x00012ed8 lw v0, 8(s1)                      |         v0 = *((s1 + 2));
    0x00012edc lw gp, 0x20(sp)                   |         gp = *(var_20h);
    0x00012ee0 lw s6, 0x58(sp)                   |         s6 = *(arg_58h);
    0x00012ee4 lw v0, (v0)                       |         v0 = *(v0);
    0x00012ee8 lw t9, -0x7f10(gp)                |         t9 = *((gp - 8132));
    0x00012eec lw s7, (s2)                       |         s7 = *(s2);
    0x00012ef0 lwx v0, s5(v0)                    |         __asm ("lwx v0, s5(v0)");
    0x00012ef4 lw fp, 4(s2)                      |         fp = *((s2 + 1));
    0x00012ef8 addiu s0, s0, 1                   |         s0++;
    0x00012efc lw a0, 4(v0)                      |         a0 = *((v0 + 1));
    0x00012f00 jalr t9                           |         t9 ();
    0x00012f04 lw gp, 0x20(sp)                   |         gp = *(var_20h);
    0x00012f08 move a1, v0                       |         a1 = v0;
    0x00012f0c move a3, fp                       |         a3 = fp;
    0x00012f10 lw t9, -0x7fa8(gp)                |         t9 = *((gp - 8170));
    0x00012f14 move a2, s7                       |         a2 = s7;
    0x00012f18 move a0, s6                       |         a0 = s6;
    0x00012f1c jalr t9                           |         t9 ();
    0x00012f20 lw v1, 8(s1)                      |         v1 = *((s1 + 2));
    0x00012f24 lw v0, 4(v1)                      |         v0 = *((v1 + 1));
    0x00012f28 sltu v0, s0, v0                   |         v0 = (s0 < v0) ? 1 : 0;
    0x00012f2c lw gp, 0x20(sp)                   |         gp = *(var_20h);
                                                 |         if (v0 == 0) {
    0x00012f30 beqz v0, 0x12f54                  |             goto label_4;
                                                 |         }
    0x00012f34 lw a0, (v1)                       |         a0 = *(v1);
    0x00012f38 sll s5, s0, 2                     |         s5 = s0 << 2;
    0x00012f3c lwx a0, s5(a0)                    |         __asm ("lwx a0, s5(a0)");
    0x00012f40 bnez s3, 0x12eac                  |         
                                                 |     }
    0x00012f44 addiu a2, zero, 1                 |     a2 = 1;
    0x00012f48 move a1, s4                       |     a1 = s4;
    0x00012f4c move v1, zero                     |     v1 = 0;
    0x00012f50 b 0x12ebc                         |     goto label_0;
                                                 | label_4:
    0x00012f54 lw ra, 0x4c(sp)                   |     ra = *(var_4ch);
                                                 | label_3:
    0x00012f58 lw fp, 0x48(sp)                   |     fp = *(var_48h);
    0x00012f5c lw s7, 0x44(sp)                   |     s7 = *(var_44h);
    0x00012f60 lw s6, 0x40(sp)                   |     s6 = *(var_40h);
    0x00012f64 lw s5, 0x3c(sp)                   |     s5 = *(var_3ch);
    0x00012f68 lw s4, 0x38(sp)                   |     s4 = *(var_38h);
    0x00012f6c lw s3, 0x34(sp)                   |     s3 = *(var_34h);
    0x00012f70 lw s2, 0x30(sp)                   |     s2 = *(var_30h);
    0x00012f74 lw s1, 0x2c(sp)                   |     s1 = *(var_2ch);
    0x00012f78 lw s0, 0x28(sp)                   |     s0 = *(var_28h);
    0x00012f7c addiu sp, sp, 0x50                |     
    0x00012f80 jr ra                             |     return v1;
                                                 | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/syslog-ng/libdbparser.so @ 0x1303c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.synthetic_message_generate_with_context ()       | void synthetic_message_generate_with_context () {
    0x0001303c lui gp, 2                                         |     
    0x00013040 addiu gp, gp, 0x4124                              |     
    0x00013044 addu gp, gp, t9                                   |     gp += t9;
    0x00013048 addiu sp, sp, -0x38                               |     
    0x0001304c addiu v0, zero, 2                                 |     v0 = 2;
    0x00013050 sw s2, 0x2c(sp)                                   |     *(var_2ch) = s2;
    0x00013054 move s2, a0                                       |     s2 = a0;
    0x00013058 lw a0, (a0)                                       |     a0 = *(a0);
    0x0001305c sw gp, 0x18(sp)                                   |     *(var_18h) = gp;
    0x00013060 sw s3, 0x30(sp)                                   |     *(var_30h) = s3;
    0x00013064 sw s0, 0x24(sp)                                   |     *(var_24h) = s0;
    0x00013068 sw ra, 0x34(sp)                                   |     *(var_34h) = ra;
    0x0001306c sw s1, 0x28(sp)                                   |     *(var_28h) = s1;
    0x00013070 move s0, a1                                       |     s0 = a1;
    0x00013074 move s3, a2                                       |     s3 = a2;
                                                                 |     if (a0 == v0) {
    0x00013078 beq a0, v0, 0x13184                               |         goto label_0;
                                                                 |     }
    0x0001307c lw v1, 0x18(a1)                                   |     v1 = *((a1 + 6));
    0x00013080 lw t9, -0x7fd4(gp)                                |     t9 = *((gp - 8181));
    0x00013084 lw v0, 4(v1)                                      |     v0 = *((v1 + 1));
    0x00013088 lw a1, (v1)                                       |     a1 = *(v1);
    0x0001308c sll v0, v0, 2                                     |     v0 <<= 2;
    0x00013090 addiu v0, v0, -4                                  |     v0 += -4;
    0x00013094 addiu t9, t9, 0x29e0                              |     t9 += 0x29e0;
    0x00013098 lwx a1, v0(a1)                                    |     __asm ("lwx a1, v0(a1)");
    0x0001309c bal 0x129e0                                       |     fcn_000129e0 ();
    0x000130a0 lw gp, 0x18(sp)                                   |     gp = *(var_18h);
    0x000130a4 move s1, v0                                       |     s1 = v0;
                                                                 |     do {
    0x000130a8 lbu v0, 0x10(s0)                                  |         v0 = *((s0 + 16));
    0x000130ac addiu v1, zero, 1                                 |         v1 = 1;
    0x000130b0 lw t9, -0x7fa8(gp)                                |         t9 = *((gp - 8170));
                                                                 |         if (v0 != v1) {
    0x000130b4 beq v0, v1, 0x13104                               |             
    0x000130b8 addiu v1, zero, 2                                 |             v1 = 2;
                                                                 |             if (v0 == 0) {
    0x000130bc beqz v0, 0x1311c                                  |                 goto label_1;
                                                                 |             }
    0x000130c0 addiu v1, zero, 3                                 |             v1 = 3;
                                                                 |             if (v0 != v1) {
    0x000130c4 beq v0, v1, 0x130e8                               |                 
    0x000130c8 addiu a3, zero, -1                                |                 a3 = -1;
                                                                 |                 if (v0 != v1) {
    0x000130cc bne v0, v1, 0x1319c                               |                     goto label_2;
                                                                 |                 }
    0x000130d0 lw a2, 8(s0)                                      |                 a2 = *((s0 + 2));
    0x000130d4 addiu a1, zero, 5                                 |                 a1 = 5;
    0x000130d8 move a0, s1                                       |                 a0 = s1;
    0x000130dc jalr t9                                           |                 t9 ();
    0x000130e0 lw gp, 0x18(sp)                                   |                 gp = *(var_18h);
    0x000130e4 lw t9, -0x7fa8(gp)                                |                 t9 = *((gp - 8170));
                                                                 |             }
    0x000130e8 lw a2, 4(s0)                                      |             a2 = *((s0 + 1));
    0x000130ec addiu a3, zero, -1                                |             a3 = -1;
    0x000130f0 addiu a1, zero, 4                                 |             a1 = 4;
    0x000130f4 move a0, s1                                       |             a0 = s1;
    0x000130f8 jalr t9                                           |             t9 ();
    0x000130fc lw gp, 0x18(sp)                                   |             gp = *(var_18h);
    0x00013100 lw t9, -0x7fa8(gp)                                |             t9 = *((gp - 8170));
                                                                 |         }
    0x00013104 lw a2, (s0)                                       |         a2 = *(s0);
    0x00013108 addiu a3, zero, -1                                |         a3 = -1;
    0x0001310c addiu a1, zero, 1                                 |         a1 = 1;
    0x00013110 move a0, s1                                       |         a0 = s1;
    0x00013114 jalr t9                                           |         t9 ();
    0x00013118 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
                                                                 | label_1:
    0x0001311c lw t9, -0x7ef4(gp)                                |         t9 = *((gp - 8125));
    0x00013120 lw a0, 0x18(s0)                                   |         a0 = *((s0 + 6));
    0x00013124 move a1, s1                                       |         a1 = s1;
    0x00013128 jalr t9                                           |         t9 ();
    0x0001312c lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x00013130 move a3, s3                                       |         a3 = s3;
    0x00013134 move a2, s1                                       |         a2 = s1;
    0x00013138 lw t9, -0x7b68(gp)                                |         t9 = *((gp - 7898));
    0x0001313c move a1, s0                                       |         a1 = s0;
    0x00013140 move a0, s2                                       |         a0 = s2;
    0x00013144 jalr t9                                           |         t9 ();
    0x00013148 lw v0, 0x18(s0)                                   |         v0 = *((s0 + 6));
    0x0001314c lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x00013150 move a0, v0                                       |         a0 = v0;
    0x00013154 lw a1, 4(v0)                                      |         a1 = *((v0 + 1));
    0x00013158 lw t9, -0x7bac(gp)                                |         t9 = *((gp - 7915));
    0x0001315c addiu a1, a1, -1                                  |         a1 += -1;
    0x00013160 jalr t9                                           |         t9 ();
    0x00013164 lw ra, 0x34(sp)                                   |         ra = *(var_34h);
    0x00013168 move v0, s1                                       |         v0 = s1;
    0x0001316c lw s3, 0x30(sp)                                   |         s3 = *(var_30h);
    0x00013170 lw s2, 0x2c(sp)                                   |         s2 = *(var_2ch);
    0x00013174 lw s1, 0x28(sp)                                   |         s1 = *(var_28h);
    0x00013178 lw s0, 0x24(sp)                                   |         s0 = *(var_24h);
    0x0001317c addiu sp, sp, 0x38                                |         
    0x00013180 jr ra                                             |         return v0;
                                                                 | label_0:
    0x00013184 lw t9, -0x7cd4(gp)                                |         t9 = *((gp - 7989));
    0x00013188 move a0, a1                                       |         a0 = a1;
    0x0001318c jalr t9                                           |         t9 ();
    0x00013190 move s1, v0                                       |         s1 = v0;
    0x00013194 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x00013198 b 0x130a8                                         |         
                                                                 |     } while (1);
                                                                 | label_2:
    0x0001319c lw a3, -0x7fd8(gp)                                |     a3 = *((gp - 8182));
    0x000131a0 lw a1, -0x7fd8(gp)                                |     a1 = *((gp - 8182));
    0x000131a4 lw t9, -0x7f38(gp)                                |     t9 = *((gp - 8142));
    0x000131a8 sw zero, 0x10(sp)                                 |     *(var_10h) = 0;
    0x000131ac addiu a3, a3, -0x2464                             |     a3 += -0x2464;
    0x000131b0 addiu a2, zero, 0xd7                              |     a2 = 0xd7;
    0x000131b4 addiu a1, a1, -0x2510                             |     a1 += -0x2510;
    0x000131b8 move a0, zero                                     |     a0 = 0;
    0x000131bc jalr t9                                           |     return t9 ();
                                                                 | }

[*] Function popen used 1 times libdbparser.so