[*] Binary protection state of depd

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


[*] Function printf tear down of depd

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/depd @ 0x3338 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00003338 ()              | void fcn_00003338 () {
                                         | label_6:
    0x00003338 lui gp, 2                 |     
    0x0000333c addiu gp, gp, -0x6328     |     
    0x00003340 addu gp, gp, t9           |     gp += t9;
    0x00003344 addiu sp, sp, -0x60       |     
    0x00003348 sw ra, 0x5c(sp)           |     *(var_5ch) = ra;
    0x0000334c sw fp, 0x58(sp)           |     *(var_58h) = fp;
    0x00003350 sw s7, 0x54(sp)           |     *(var_54h) = s7;
    0x00003354 sw s6, 0x50(sp)           |     *(var_50h) = s6;
    0x00003358 sw s5, 0x4c(sp)           |     *(var_4ch) = s5;
    0x0000335c sw s4, 0x48(sp)           |     *(var_48h) = s4;
    0x00003360 sw s3, 0x44(sp)           |     *(var_44h) = s3;
    0x00003364 sw s2, 0x40(sp)           |     *(var_40h) = s2;
    0x00003368 sw s1, 0x3c(sp)           |     *(var_3ch) = s1;
    0x0000336c sw s0, 0x38(sp)           |     *(var_38h) = s0;
    0x00003370 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00003374 sw a0, 0x60(sp)           |     *(arg_60h) = a0;
    0x00003378 move s1, a1               |     s1 = a1;
    0x0000337c move s0, a2               |     s0 = a2;
    0x00003380 addiu a1, zero, 1         |     a1 = 1;
    0x00003384 move a0, s1               |     a0 = s1;
    0x00003388 lw t9, -0x7f84(gp)        |     t9 = sym.imp.g_file_test;
    0x0000338c jalr t9                   |     t9 ();
    0x00003390 nop                       |     
    0x00003394 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003398 addiu a1, zero, 4         |     a1 = 4;
                                         |     if (v0 == 0) {
    0x0000339c beqz v0, 0x3744           |         goto label_11;
                                         |     }
    0x000033a0 move a0, s1               |     a0 = s1;
    0x000033a4 lw t9, -0x7e94(gp)        |     t9 = sym.imp.xmlnode_load_file;
    0x000033a8 jalr t9                   |     t9 ();
    0x000033ac nop                       |     
    0x000033b0 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000033b4 sw v0, 0x24(sp)           |     *(var_24h) = v0;
                                         |     if (v0 != 0) {
    0x000033b8 beqz v0, 0x341c           |         
    0x000033bc lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x000033c0 addiu a1, a1, 0x4be4      |         a1 += str.registrations;
    0x000033c4 lw v0, 0x24(sp)           |         v0 = *(var_24h);
    0x000033c8 lw a0, 4(v0)              |         a0 = *((v0 + 1));
    0x000033cc lw t9, -0x7e64(gp)        |         t9 = sym.imp.g_strcmp0;
    0x000033d0 jalr t9                   |         t9 ();
    0x000033d4 nop                       |         
    0x000033d8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000033dc lw v0, 0x24(sp)           |         v0 = *(var_24h);
                                         |         if (v0 != 0) {
    0x000033e0 bnez v0, 0x3460           |             goto label_12;
                                         |         }
    0x000033e4 lw s4, 0x10(v0)           |         s4 = *((v0 + 4));
    0x000033e8 lw s1, -0x7fd0(gp)        |         s1 = *((gp - 8180));
                                         |         if (s4 == 0) {
    0x000033ec beqz s4, 0x394c           |             goto label_13;
                                         |         }
    0x000033f0 lw v0, -0x7fd0(gp)        |         v0 = *((gp - 8180));
    0x000033f4 addiu v0, v0, 0x4c20      |         v0 += str.registration;
    0x000033f8 sw v0, 0x2c(sp)           |         *(var_2ch) = v0;
    0x000033fc addiu s1, s1, 0x329c      |         s1 += fcn.0000329c;
    0x00003400 lw v0, -0x7fd0(gp)        |         v0 = *((gp - 8180));
    0x00003404 addiu v0, v0, 0x4c64      |         v0 += str.keyvalue;
    0x00003408 sw v0, 0x30(sp)           |         *(var_30h) = v0;
    0x0000340c lw v0, -0x7fd0(gp)        |         v0 = *((gp - 8180));
    0x00003410 addiu v0, v0, 0x4c94      |         v0 += 0x4c94;
    0x00003414 sw v0, 0x34(sp)           |         *(var_34h) = v0;
    0x00003418 b 0x39c8                  |         goto label_14;
                                         |     }
    0x0000341c lw t9, -0x7fc4(gp)        |     t9 = sym.depd_error_quark;
                                         |     if (s0 == 0) {
    0x00003420 beqz s0, 0x3a88           |         goto label_15;
                                         |     }
    0x00003424 bal 0x4160                |     sym_depd_error_quark ();
    0x00003428 nop                       |     
    0x0000342c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003430 move a3, s1               |     a3 = s1;
    0x00003434 lw a2, -0x7fd0(gp)        |     a2 = *((gp - 8180));
    0x00003438 addiu a2, a2, 0x4bc8      |     a2 += str.Failed_to_open_file:___s;
    0x0000343c addiu a1, zero, 1         |     a1 = 1;
    0x00003440 move a0, v0               |     a0 = v0;
    0x00003444 lw t9, -0x7e50(gp)        |     t9 = sym.imp.g_error_new;
    0x00003448 jalr t9                   |     t9 ();
    0x0000344c nop                       |     
    0x00003450 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003454 sw v0, (s0)               |     *(s0) = v0;
    0x00003458 move v0, zero             |     v0 = 0;
    0x0000345c b 0x34f0                  |     goto label_5;
                                         | label_12:
    0x00003460 lw t9, -0x7fc4(gp)        |     t9 = sym.depd_error_quark;
    0x00003464 bal 0x4160                |     sym_depd_error_quark ();
    0x00003468 nop                       |     
    0x0000346c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003470 lw v1, 0x24(sp)           |     v1 = *(var_24h);
    0x00003474 lw a3, 4(v1)              |     a3 = *((v1 + 1));
    0x00003478 lw a2, -0x7fd0(gp)        |     a2 = *((gp - 8180));
    0x0000347c addiu a2, a2, 0x4bf4      |     a2 += str.Expected_tag__registrations___found___s_;
    0x00003480 addiu a1, zero, 1         |     a1 = 1;
    0x00003484 move a0, v0               |     a0 = v0;
    0x00003488 lw t9, -0x7e50(gp)        |     t9 = sym.imp.g_error_new;
    0x0000348c jalr t9                   |     t9 ();
    0x00003490 nop                       |     
    0x00003494 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003498 sw v0, (s0)               |     *(s0) = v0;
    0x0000349c b 0x34d8                  |     goto label_8;
                                         | label_7:
    0x000034a0 lw t9, -0x7fc4(gp)        |     t9 = sym.depd_error_quark;
    0x000034a4 bal 0x4160                |     sym_depd_error_quark ();
    0x000034a8 nop                       |     
    0x000034ac lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000034b0 lw a3, 4(s2)              |     a3 = *((s2 + 1));
    0x000034b4 lw a2, -0x7fd0(gp)        |     a2 = *((gp - 8180));
    0x000034b8 addiu a2, a2, 0x4c30      |     a2 += str.Expected_tag__registration___found___s_;
    0x000034bc addiu a1, zero, 1         |     a1 = 1;
    0x000034c0 move a0, v0               |     a0 = v0;
    0x000034c4 lw t9, -0x7e50(gp)        |     t9 = sym.imp.g_error_new;
    0x000034c8 jalr t9                   |     t9 ();
    0x000034cc nop                       |     
    0x000034d0 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000034d4 sw v0, (s0)               |     *(s0) = v0;
                                         | label_8:
    0x000034d8 lw a0, 0x24(sp)           |     a0 = *(var_24h);
                                         |     do {
    0x000034dc lw t9, -0x7e70(gp)        |         t9 = sym.imp.xmlnode_free_tree;
    0x000034e0 jalr t9                   |         t9 ();
    0x000034e4 nop                       |         
    0x000034e8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000034ec move v0, zero             |         v0 = 0;
                                         | label_5:
    0x000034f0 lw ra, 0x5c(sp)           |         ra = *(var_5ch);
    0x000034f4 lw fp, 0x58(sp)           |         fp = *(var_58h);
    0x000034f8 lw s7, 0x54(sp)           |         s7 = *(var_54h);
    0x000034fc lw s6, 0x50(sp)           |         s6 = *(var_50h);
    0x00003500 lw s5, 0x4c(sp)           |         s5 = *(var_4ch);
    0x00003504 lw s4, 0x48(sp)           |         s4 = *(var_48h);
    0x00003508 lw s3, 0x44(sp)           |         s3 = *(var_44h);
    0x0000350c lw s2, 0x40(sp)           |         s2 = *(var_40h);
    0x00003510 lw s1, 0x3c(sp)           |         s1 = *(var_3ch);
    0x00003514 lw s0, 0x38(sp)           |         s0 = *(var_38h);
    0x00003518 addiu sp, sp, 0x60        |         
    0x0000351c jr ra                     |         return v0;
                                         | label_0:
    0x00003520 lw t9, -0x7fc4(gp)        |         t9 = sym.depd_error_quark;
    0x00003524 bal 0x4160                |         sym_depd_error_quark ();
    0x00003528 nop                       |         
    0x0000352c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00003530 lw a3, 4(s3)              |         a3 = *((s3 + 1));
    0x00003534 lw a2, -0x7fd0(gp)        |         a2 = *((gp - 8180));
    0x00003538 addiu a2, a2, 0x4c70      |         a2 += str.Expected_tag__keyvalue___found___s_;
    0x0000353c addiu a1, zero, 1         |         a1 = 1;
    0x00003540 move a0, v0               |         a0 = v0;
    0x00003544 lw t9, -0x7e50(gp)        |         t9 = sym.imp.g_error_new;
    0x00003548 jalr t9                   |         t9 ();
    0x0000354c nop                       |         
    0x00003550 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00003554 sw v0, (s0)               |         *(s0) = v0;
                                         | label_1:
    0x00003558 lw a0, 0x18(sp)           |         a0 = *(var_18h);
    0x0000355c lw t9, -0x7e30(gp)        |         t9 = sym.imp.g_hash_table_destroy;
    0x00003560 jalr t9                   |         t9 ();
    0x00003564 nop                       |         
    0x00003568 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000356c lw a0, 0x24(sp)           |         a0 = *(var_24h);
    0x00003570 b 0x34dc                  |         
                                         |     } while (1);
                                         | label_2:
    0x00003574 lw a1, -0x7fd0(gp)        |     a1 = *((gp - 8180));
    0x00003578 addiu a1, a1, 0x4cb4      |     a1 += str.boolean;
    0x0000357c move a0, s3               |     a0 = s3;
    0x00003580 lw t9, -0x7e64(gp)        |     t9 = sym.imp.g_strcmp0;
    0x00003584 jalr t9                   |     t9 ();
    0x00003588 nop                       |     
    0x0000358c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003590 addiu a2, zero, 2         |     a2 = 2;
                                         |     if (v0 != 0) {
    0x00003594 bnez v0, 0x36a8           |         goto label_16;
                                         |     }
                                         | label_4:
    0x00003598 move a1, s7               |     a1 = s7;
                                         | label_3:
    0x0000359c move a0, s5               |     a0 = s5;
    0x000035a0 lw t9, -0x7fb4(gp)        |     t9 = sym.key_value_pair_new;
    0x000035a4 bal 0x3df0                |     sym_key_value_pair_new ();
    0x000035a8 nop                       |     
    0x000035ac lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000035b0 move s3, v0               |     s3 = v0;
    0x000035b4 move a0, s5               |     a0 = s5;
    0x000035b8 lw t9, -0x7e68(gp)        |     t9 = sym.imp.g_strdup;
    0x000035bc jalr t9                   |     t9 ();
    0x000035c0 nop                       |     
    0x000035c4 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000035c8 move a2, s3               |     a2 = s3;
    0x000035cc move a1, v0               |     a1 = v0;
    0x000035d0 lw a0, 0x18(sp)           |     a0 = *(var_18h);
    0x000035d4 lw t9, -0x7e74(gp)        |     t9 = sym.imp.g_hash_table_insert;
    0x000035d8 jalr t9                   |     t9 ();
    0x000035dc nop                       |     
    0x000035e0 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000035e4 lw s2, 4(s2)              |     s2 = *((s2 + 1));
    0x000035e8 lw a2, 0x18(sp)           |     a2 = *(var_18h);
                                         |     if (s2 == 0) {
    0x000035ec beqz s2, 0x396c           |         goto label_17;
                                         |     }
                                         | label_10:
    0x000035f0 lw s3, (s2)               |     s3 = *(s2);
    0x000035f4 lw a1, 0x30(sp)           |     a1 = *(var_30h);
    0x000035f8 lw a0, 4(s3)              |     a0 = *((s3 + 1));
    0x000035fc lw t9, -0x7e64(gp)        |     t9 = sym.imp.g_strcmp0;
    0x00003600 jalr t9                   |     t9 ();
    0x00003604 nop                       |     
    0x00003608 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x0000360c move a2, s0               |     a2 = s0;
                                         |     if (v0 != 0) {
    0x00003610 bnez v0, 0x3520           |         goto label_0;
                                         |     }
    0x00003614 lw a1, 0x34(sp)           |     a1 = *(var_34h);
    0x00003618 move a0, s3               |     a0 = s3;
    0x0000361c move t9, s1               |     t9 = s1;
    0x00003620 jalr t9                   |     t9 ();
    0x00003624 nop                       |     
    0x00003628 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x0000362c move s5, v0               |     s5 = v0;
                                         |     if (v0 == 0) {
    0x00003630 beqz v0, 0x3558           |         goto label_1;
                                         |     }
    0x00003634 move a2, s0               |     a2 = s0;
    0x00003638 lw a1, 0x28(sp)           |     a1 = *(var_28h);
    0x0000363c move a0, s3               |     a0 = s3;
    0x00003640 move t9, s1               |     t9 = s1;
    0x00003644 jalr t9                   |     t9 ();
    0x00003648 nop                       |     
    0x0000364c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003650 move s7, v0               |     s7 = v0;
                                         |     if (v0 == 0) {
    0x00003654 beqz v0, 0x3558           |         goto label_1;
                                         |     }
    0x00003658 move a2, s0               |     a2 = s0;
    0x0000365c addiu a1, s6, 0x4ca0      |     a1 = s6 + str.value_type;
    0x00003660 move a0, s3               |     a0 = s3;
    0x00003664 move t9, s1               |     t9 = s1;
    0x00003668 jalr t9                   |     t9 ();
    0x0000366c nop                       |     
    0x00003670 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003674 move s3, v0               |     s3 = v0;
                                         |     if (v0 == 0) {
    0x00003678 beqz v0, 0x3558           |         goto label_1;
                                         |     }
    0x0000367c lw a1, -0x7fd0(gp)        |     a1 = *((gp - 8180));
    0x00003680 addiu a1, a1, 0x4cac      |     a1 += str.bool;
    0x00003684 move a0, v0               |     a0 = v0;
    0x00003688 lw t9, -0x7e64(gp)        |     t9 = sym.imp.g_strcmp0;
    0x0000368c jalr t9                   |     t9 ();
    0x00003690 nop                       |     
    0x00003694 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003698 addiu a2, zero, 2         |     a2 = 2;
                                         |     if (v0 != 0) {
    0x0000369c bnez v0, 0x3574           |         goto label_2;
                                         |     }
    0x000036a0 move a1, s7               |     a1 = s7;
    0x000036a4 b 0x359c                  |     goto label_3;
                                         | label_16:
    0x000036a8 lw a1, -0x7fd0(gp)        |     a1 = *((gp - 8180));
    0x000036ac addiu a1, a1, 0x4cbc      |     a1 += 0x4cbc;
    0x000036b0 move a0, s3               |     a0 = s3;
    0x000036b4 lw t9, -0x7e64(gp)        |     t9 = sym.imp.g_strcmp0;
    0x000036b8 jalr t9                   |     t9 ();
    0x000036bc nop                       |     
    0x000036c0 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000036c4 addiu a2, zero, 1         |     a2 = 1;
                                         |     if (v0 == 0) {
    0x000036c8 beqz v0, 0x3598           |         goto label_4;
                                         |     }
    0x000036cc lw a1, -0x7fd0(gp)        |     a1 = *((gp - 8180));
    0x000036d0 addiu a1, a1, 0x4cc0      |     a1 += str.integer;
    0x000036d4 move a0, s3               |     a0 = s3;
    0x000036d8 lw t9, -0x7e64(gp)        |     t9 = sym.imp.g_strcmp0;
    0x000036dc jalr t9                   |     t9 ();
    0x000036e0 nop                       |     
    0x000036e4 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000036e8 addiu a2, zero, 1         |     a2 = 1;
                                         |     if (v0 == 0) {
    0x000036ec beqz v0, 0x3598           |         goto label_4;
                                         |     }
    0x000036f0 lw a1, -0x7fd0(gp)        |     a1 = *((gp - 8180));
    0x000036f4 addiu a1, a1, 0x4cc8      |     a1 += str.double;
    0x000036f8 move a0, s3               |     a0 = s3;
    0x000036fc lw t9, -0x7e64(gp)        |     t9 = sym.imp.g_strcmp0;
    0x00003700 jalr t9                   |     t9 ();
    0x00003704 nop                       |     
    0x00003708 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x0000370c lw a1, -0x7fd0(gp)        |     a1 = *((gp - 8180));
                                         |     if (v0 == 0) {
    0x00003710 bnez v0, 0x371c           |         
    0x00003714 addiu a2, zero, 3         |         a2 = 3;
    0x00003718 b 0x3598                  |         goto label_4;
                                         |     }
    0x0000371c addiu a1, a1, 0x4cd0      |     a1 += str.float;
    0x00003720 move a0, s3               |     a0 = s3;
    0x00003724 lw t9, -0x7e64(gp)        |     t9 = sym.imp.g_strcmp0;
    0x00003728 jalr t9                   |     t9 ();
    0x0000372c nop                       |     
    0x00003730 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003734 addiu a2, zero, 4         |     a2 = 4;
    0x00003738 addiu v1, zero, 3         |     v1 = 3;
                                         |     if (v0 != 0) {
    0x0000373c movz a2, v1, v0           |         a2 = v1;
                                         |     }
    0x00003740 b 0x3598                  |     goto label_4;
                                         | label_11:
    0x00003744 move a0, s1               |     a0 = s1;
    0x00003748 lw t9, -0x7f84(gp)        |     t9 = sym.imp.g_file_test;
    0x0000374c jalr t9                   |     t9 ();
    0x00003750 nop                       |     
    0x00003754 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003758 addiu a1, zero, 2         |     a1 = 2;
                                         |     if (v0 == 0) {
    0x0000375c beqz v0, 0x38a4           |         goto label_18;
                                         |     }
    0x00003760 move a2, s0               |     a2 = s0;
    0x00003764 move a1, zero             |     a1 = 0;
    0x00003768 move a0, s1               |     a0 = s1;
    0x0000376c lw t9, -0x7f78(gp)        |     t9 = sym.imp.g_dir_open;
    0x00003770 jalr t9                   |     t9 ();
    0x00003774 nop                       |     
    0x00003778 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x0000377c move s3, v0               |     s3 = v0;
                                         |     if (v0 == 0) {
    0x00003780 beqz v0, 0x380c           |         goto label_19;
                                         |     }
    0x00003784 lw s5, -0x7fd0(gp)        |     s5 = *((gp - 8180));
    0x00003788 addiu s5, s5, 0x4cf8      |     s5 += str._s_c_s;
    0x0000378c lw s4, -0x7fd0(gp)        |     s4 = *((gp - 8180));
    0x00003790 addiu s4, s4, 0x3338      |     s4 += fcn.00003338;
    0x00003794 move a0, s3               |     a0 = s3;
                                         |     do {
    0x00003798 lw t9, -0x7e40(gp)        |         t9 = sym.imp.g_dir_read_name;
    0x0000379c jalr t9                   |         t9 ();
    0x000037a0 nop                       |         
    0x000037a4 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000037a8 move a3, v0               |         a3 = v0;
                                         |         if (v0 == 0) {
    0x000037ac beqz v0, 0x3888           |             goto label_20;
                                         |         }
    0x000037b0 addiu a2, zero, 0x2f      |         a2 = 0x2f;
    0x000037b4 move a1, s1               |         a1 = s1;
    0x000037b8 move a0, s5               |         a0 = s5;
    0x000037bc lw t9, -0x7ec0(gp)        |         t9 = sym.imp.g_strdup_printf
    0x000037c0 jalr t9                   |         t9 ();
    0x000037c4 nop                       |         
    0x000037c8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000037cc move s2, v0               |         s2 = v0;
    0x000037d0 move a2, s0               |         a2 = s0;
    0x000037d4 move a1, v0               |         a1 = v0;
    0x000037d8 lw a0, 0x60(sp)           |         a0 = *(arg_60h);
    0x000037dc move t9, s4               |         t9 = s4;
    0x000037e0 jalr t9                   |         t9 ();
    0x000037e4 nop                       |         
    0x000037e8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000037ec move a0, s2               |         a0 = s2;
                                         |         if (v0 == 0) {
    0x000037f0 beqz v0, 0x3850           |             goto label_21;
                                         |         }
    0x000037f4 lw t9, -0x7e20(gp)        |         t9 = *((gp - 8072));
    0x000037f8 jalr t9                   |         t9 ();
    0x000037fc nop                       |         
    0x00003800 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00003804 move a0, s3               |         a0 = s3;
    0x00003808 b 0x3798                  |         
                                         |     } while (1);
                                         | label_19:
    0x0000380c lw t9, -0x7fc4(gp)        |     t9 = sym.depd_error_quark;
                                         |     if (s0 == 0) {
    0x00003810 beqz s0, 0x3a90           |         goto label_22;
                                         |     }
    0x00003814 bal 0x4160                |     sym_depd_error_quark ();
    0x00003818 nop                       |     
    0x0000381c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003820 move a3, s1               |     a3 = s1;
    0x00003824 lw a2, -0x7fd0(gp)        |     a2 = *((gp - 8180));
    0x00003828 addiu a2, a2, 0x4cd8      |     a2 += str.Failed_to_open_directory:__s;
    0x0000382c addiu a1, zero, 1         |     a1 = 1;
    0x00003830 move a0, v0               |     a0 = v0;
    0x00003834 lw t9, -0x7e50(gp)        |     t9 = sym.imp.g_error_new;
    0x00003838 jalr t9                   |     t9 ();
    0x0000383c nop                       |     
    0x00003840 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003844 sw v0, (s0)               |     *(s0) = v0;
    0x00003848 move v0, zero             |     v0 = 0;
    0x0000384c b 0x34f0                  |     goto label_5;
                                         | label_21:
    0x00003850 move a0, s3               |     a0 = s3;
    0x00003854 lw t9, -0x7e2c(gp)        |     t9 = sym.imp.g_dir_close;
    0x00003858 jalr t9                   |     t9 ();
    0x0000385c nop                       |     
    0x00003860 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003864 move v0, zero             |     v0 = 0;
                                         |     if (s2 == 0) {
    0x00003868 beqz s2, 0x34f0           |         goto label_5;
                                         |     }
    0x0000386c move a0, s2               |     a0 = s2;
                                         |     do {
    0x00003870 lw t9, -0x7e20(gp)        |         t9 = *((gp - 8072));
    0x00003874 jalr t9                   |         t9 ();
    0x00003878 nop                       |         
    0x0000387c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00003880 move v0, zero             |         v0 = 0;
    0x00003884 b 0x34f0                  |         goto label_5;
                                         | label_20:
    0x00003888 move a0, s3               |         a0 = s3;
    0x0000388c lw t9, -0x7e2c(gp)        |         t9 = sym.imp.g_dir_close;
    0x00003890 jalr t9                   |         t9 ();
    0x00003894 nop                       |         
    0x00003898 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000389c addiu v0, zero, 1         |         v0 = 1;
    0x000038a0 b 0x34f0                  |         goto label_5;
                                         | label_18:
    0x000038a4 move a0, s1               |         a0 = s1;
    0x000038a8 lw t9, -0x7f84(gp)        |         t9 = sym.imp.g_file_test;
    0x000038ac jalr t9                   |         t9 ();
    0x000038b0 nop                       |         
    0x000038b4 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000038b8 lw a3, -0x7fd0(gp)        |         a3 = *((gp - 8180));
                                         |         if (v0 == 0) {
    0x000038bc beqz v0, 0x3920           |             goto label_23;
                                         |         }
    0x000038c0 move a1, s0               |         a1 = s0;
    0x000038c4 move a0, s1               |         a0 = s1;
    0x000038c8 lw t9, -0x7ea4(gp)        |         t9 = sym.imp.g_file_read_link;
    0x000038cc jalr t9                   |         t9 ();
    0x000038d0 nop                       |         
    0x000038d4 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000038d8 move s2, v0               |         s2 = v0;
                                         |         if (v0 == 0) {
    0x000038dc beqz v0, 0x3a98           |             goto label_24;
                                         |         }
    0x000038e0 move a2, s0               |         a2 = s0;
    0x000038e4 move a1, v0               |         a1 = v0;
    0x000038e8 lw a0, 0x60(sp)           |         a0 = *(arg_60h);
    0x000038ec lw t9, -0x7fd0(gp)        |         t9 = *((gp - 8180));
    0x000038f0 addiu t9, t9, 0x3338      |         t9 += fcn.00003338;
    0x000038f4 bal 0x3338                |         fcn_00003338 ();
                                         |         goto label_6;
    0x000038f8 nop                       |         
    0x000038fc lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00003900 move a0, s2               |         a0 = s2;
    0x00003904 beqz v0, 0x3870           |         
                                         |     } while (v0 == 0);
    0x00003908 lw t9, -0x7e20(gp)        |     t9 = *((gp - 8072));
    0x0000390c jalr t9                   |     t9 ();
    0x00003910 nop                       |     
    0x00003914 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003918 addiu v0, zero, 1         |     v0 = 1;
    0x0000391c b 0x34f0                  |     goto label_5;
                                         | label_23:
    0x00003920 addiu a3, a3, 0x4d00      |     a3 += str._usr_share_event_registrations.d;
    0x00003924 lw a2, -0x7fd0(gp)        |     a2 = *((gp - 8180));
    0x00003928 addiu a2, a2, 0x4d24      |     a2 += str.Could_not_find_directory_or_files:__s;
    0x0000392c addiu a1, zero, 0x80      |     a1 = 0x80;
    0x00003930 move a0, zero             |     a0 = 0;
    0x00003934 lw t9, -0x7f68(gp)        |     t9 = sym.imp.g_log;
    0x00003938 jalr t9                   |     t9 ();
    0x0000393c nop                       |     
    0x00003940 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003944 addiu v0, zero, 1         |     v0 = 1;
    0x00003948 b 0x34f0                  |     goto label_5;
                                         | label_13:
    0x0000394c lw a0, 0x24(sp)           |     a0 = *(var_24h);
                                         |     do {
    0x00003950 lw t9, -0x7e70(gp)        |         t9 = sym.imp.xmlnode_free_tree;
    0x00003954 jalr t9                   |         t9 ();
    0x00003958 nop                       |         
    0x0000395c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00003960 addiu v0, zero, 1         |         v0 = 1;
    0x00003964 b 0x34f0                  |         goto label_5;
                                         | label_9:
    0x00003968 lw a2, 0x18(sp)           |         a2 = *(var_18h);
                                         | label_17:
    0x0000396c lw a1, 0x20(sp)           |         a1 = *(var_20h);
    0x00003970 lw a0, 0x1c(sp)           |         a0 = *(var_1ch);
    0x00003974 lw t9, -0x7fb0(gp)        |         t9 = sym.registration_new;
    0x00003978 bal 0x3cd0                |         sym_registration_new ();
    0x0000397c nop                       |         
    0x00003980 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00003984 move s2, v0               |         s2 = v0;
    0x00003988 lw s3, (fp)               |         s3 = *(fp);
    0x0000398c lw a0, 4(v0)              |         a0 = *((v0 + 1));
    0x00003990 lw t9, -0x7e68(gp)        |         t9 = sym.imp.g_strdup;
    0x00003994 jalr t9                   |         t9 ();
    0x00003998 nop                       |         
    0x0000399c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000039a0 move a2, s2               |         a2 = s2;
    0x000039a4 move a1, v0               |         a1 = v0;
    0x000039a8 move a0, s3               |         a0 = s3;
    0x000039ac lw t9, -0x7e74(gp)        |         t9 = sym.imp.g_hash_table_insert;
    0x000039b0 jalr t9                   |         t9 ();
    0x000039b4 nop                       |         
    0x000039b8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000039bc lw s4, 4(s4)              |         s4 = *((s4 + 1));
    0x000039c0 lw a0, 0x24(sp)           |         a0 = *(var_24h);
    0x000039c4 beqz s4, 0x3950           |         
                                         |     } while (s4 == 0);
                                         | label_14:
    0x000039c8 lw s2, (s4)               |     s2 = *(s4);
    0x000039cc lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000039d0 lw v0, 0x5224(v0)         |     v0 = *((v0 + 5257));
    0x000039d4 lw v1, 0x60(sp)           |     v1 = *(arg_60h);
    0x000039d8 addu fp, v1, v0           |     fp = v1 + v0;
    0x000039dc lw a1, 0x2c(sp)           |     a1 = *(var_2ch);
    0x000039e0 lw a0, 4(s2)              |     a0 = *((s2 + 1));
    0x000039e4 lw t9, -0x7e64(gp)        |     t9 = sym.imp.g_strcmp0;
    0x000039e8 jalr t9                   |     t9 ();
    0x000039ec nop                       |     
    0x000039f0 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000039f4 move a2, s0               |     a2 = s0;
                                         |     if (v0 != 0) {
    0x000039f8 bnez v0, 0x34a0           |         goto label_7;
                                         |     }
    0x000039fc lw a1, -0x7fd0(gp)        |     a1 = *((gp - 8180));
    0x00003a00 addiu a1, a1, 0x4c58      |     a1 += str.type;
    0x00003a04 move a0, s2               |     a0 = s2;
    0x00003a08 move t9, s1               |     t9 = s1;
    0x00003a0c jalr t9                   |     t9 ();
    0x00003a10 nop                       |     
    0x00003a14 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003a18 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
                                         |     if (v0 == 0) {
    0x00003a1c beqz v0, 0x34d8           |         goto label_8;
                                         |     }
    0x00003a20 move a2, s0               |     a2 = s0;
    0x00003a24 lw a1, -0x7fd0(gp)        |     a1 = *((gp - 8180));
    0x00003a28 addiu a1, a1, 0x4c60      |     a1 += 0x4c60;
    0x00003a2c move a0, s2               |     a0 = s2;
    0x00003a30 move t9, s1               |     t9 = s1;
    0x00003a34 jalr t9                   |     t9 ();
    0x00003a38 nop                       |     
    0x00003a3c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003a40 sw v0, 0x20(sp)           |     *(var_20h) = v0;
                                         |     if (v0 == 0) {
    0x00003a44 beqz v0, 0x34d8           |         goto label_8;
                                         |     }
    0x00003a48 lw a3, -0x7fac(gp)        |     a3 = sym.key_value_pair_free;
    0x00003a4c lw a2, -0x7e20(gp)        |     a2 = *((gp - 8072));
    0x00003a50 lw a1, -0x7f6c(gp)        |     a1 = *((gp - 8155));
    0x00003a54 lw a0, -0x7e34(gp)        |     a0 = *((gp - 8077));
    0x00003a58 lw t9, -0x7ed8(gp)        |     t9 = sym.imp.g_hash_table_new_full;
    0x00003a5c jalr t9                   |     t9 ();
    0x00003a60 nop                       |     
    0x00003a64 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00003a68 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00003a6c lw s2, 0x10(s2)           |     s2 = *((s2 + 4));
    0x00003a70 lw v0, -0x7fd0(gp)        |     v0 = *((gp - 8180));
                                         |     if (s2 == 0) {
    0x00003a74 beqz s2, 0x3968           |         goto label_9;
                                         |     }
    0x00003a78 addiu v0, v0, 0x4c98      |     v0 += str.value;
    0x00003a7c sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x00003a80 lw s6, -0x7fd0(gp)        |     s6 = *((gp - 8180));
    0x00003a84 b 0x35f0                  |     goto label_10;
                                         | label_15:
    0x00003a88 move v0, zero             |     v0 = 0;
    0x00003a8c b 0x34f0                  |     goto label_5;
                                         | label_22:
    0x00003a90 move v0, zero             |     v0 = 0;
    0x00003a94 b 0x34f0                  |     goto label_5;
                                         | label_24:
    0x00003a98 move v0, zero             |     v0 = 0;
    0x00003a9c b 0x34f0                  |     goto label_5;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/depd @ 0x3f2c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.key_value_pair_print ()      | void key_value_pair_print () {
    0x00003f2c lui gp, 2                     |     
    0x00003f30 addiu gp, gp, -0x6f1c         |     
    0x00003f34 addu gp, gp, t9               |     gp += t9;
    0x00003f38 addiu sp, sp, -0x20           |     
    0x00003f3c sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x00003f40 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00003f44 lw v0, 0x1c(a0)               |     v0 = *((a0 + 7));
    0x00003f48 addiu v1, zero, 2             |     v1 = 2;
    0x00003f4c addiu v1, zero, 3             |     v1 = 3;
                                             |     if (v0 == v1) {
    0x00003f50 beq v0, v1, 0x3fc4            |         goto label_1;
                                             |     }
    0x00003f54 addiu v1, zero, 1             |     v1 = 1;
                                             |     if (v0 == v1) {
    0x00003f58 beq v0, v1, 0x3fec            |         goto label_2;
                                             |     }
    0x00003f5c lw t9, -0x7ec0(gp)            |     t9 = sym.imp.g_strdup_printf
                                             |     if (v0 != v1) {
    0x00003f60 beq v0, v1, 0x3f88            |         
    0x00003f64 lw a2, 8(a0)                  |         a2 = *((a0 + 2));
    0x00003f68 lw a1, (a0)                   |         a1 = *(a0);
    0x00003f6c lw a0, -0x7fd0(gp)            |         a0 = *((gp - 8180));
    0x00003f70 addiu a0, a0, 0x4d88          |         a0 += str._s____s__string_;
    0x00003f74 jalr t9                       |         t9 ();
    0x00003f78 nop                           |         
    0x00003f7c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00003f80 move a0, v0                   |         a0 = v0;
    0x00003f84 b 0x3fa8                      |         
                                             |     } else {
    0x00003f88 lw a2, 0xc(a0)                |         a2 = *((a0 + 3));
    0x00003f8c lw a1, (a0)                   |         a1 = *(a0);
    0x00003f90 lw a0, -0x7fd0(gp)            |         a0 = *((gp - 8180));
    0x00003f94 addiu a0, a0, 0x4d4c          |         a0 += str._s____d__integer_;
    0x00003f98 jalr t9                       |         t9 ();
    0x00003f9c nop                           |         
    0x00003fa0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00003fa4 move a0, v0                   |         a0 = v0;
                                             |     }
                                             |     do {
                                             | label_0:
    0x00003fa8 lw t9, -0x7e20(gp)            |         t9 = *((gp - 8072));
    0x00003fac jalr t9                       |         t9 ();
    0x00003fb0 nop                           |         
    0x00003fb4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00003fb8 lw ra, 0x1c(sp)               |         ra = *(var_1ch);
    0x00003fbc addiu sp, sp, 0x20            |         
    0x00003fc0 jr ra                         |         return v0;
                                             | label_1:
    0x00003fc4 lw a2, 0x18(a0)               |         a2 = *((a0 + 6));
    0x00003fc8 lw a1, (a0)                   |         a1 = *(a0);
    0x00003fcc lw a0, -0x7fd0(gp)            |         a0 = *((gp - 8180));
    0x00003fd0 addiu a0, a0, 0x4d60          |         a0 += str._s____d__boolean_;
    0x00003fd4 lw t9, -0x7ec0(gp)            |         t9 = sym.imp.g_strdup_printf
    0x00003fd8 jalr t9                       |         t9 ();
    0x00003fdc nop                           |         
    0x00003fe0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00003fe4 move a0, v0                   |         a0 = v0;
    0x00003fe8 b 0x3fa8                      |         
                                             |     } while (1);
                                             | label_2:
    0x00003fec lw a2, 0x10(a0)               |     a2 = *((a0 + 4));
    0x00003ff0 lw a3, 0x14(a0)               |     a3 = *((a0 + 5));
    0x00003ff4 lw a1, (a0)                   |     a1 = *(a0);
    0x00003ff8 lw a0, -0x7fd0(gp)            |     a0 = *((gp - 8180));
    0x00003ffc addiu a0, a0, 0x4d74          |     a0 += str._s____f__double_;
    0x00004000 lw t9, -0x7ec0(gp)            |     t9 = sym.imp.g_strdup_printf
    0x00004004 jalr t9                       |     t9 ();
    0x00004008 nop                           |     
    0x0000400c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00004010 move a0, v0                   |     a0 = v0;
    0x00004014 b 0x3fa8                      |     goto label_0;
                                             | }

[*] Function printf used 5 times depd