[*] Binary protection state of libnetsnmp.so.40.1.0

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


[*] Function fprintf tear down of libnetsnmp.so.40.1.0

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x2ddbc */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.netsnmp_tdomain_transport_tspec ()               | void netsnmp_tdomain_transport_tspec (int16_t arg_4h, int16_t arg_3ch, int16_t arg_43ch, int16_t arg1) {
                                                                 |     int16_t var_1h;
                                                                 |     int16_t var_8h_3;
                                                                 |     int16_t var_18h_2;
                                                                 |     int16_t var_1ch_3;
                                                                 |     int32_t var_43ch;
                                                                 |     int16_t var_28h;
                                                                 |     int16_t var_4h_2;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_18h;
                                                                 |     int16_t var_1ch;
                                                                 |     int16_t var_20h;
                                                                 |     r0 = arg1;
    0x0002ddbc strths pc, [r0], 0x8df                            |     __asm ("strths pc, [r0], aav.0x000224de");
    0x0002ddc0 movs r1, 0x28                                     |     r1 = 0x28;
    0x0002ddc2 ldr.w r3, [pc, 0x4a0]                             |     
    0x0002ddc6 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x0002ddca subw sp, sp, 0x444                                |     __asm ("subw sp, sp, case.0x269a8.32");
    0x0002ddce add r2, pc                                        |     r2 += pc;
    0x0002ddd0 mov r6, r0                                        |     r6 = r0;
    0x0002ddd2 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x0002ddd4 ldr r2, [r6]                                      |     r2 = *(r6);
    0x0002ddd6 ldr r4, [r6, 4]                                   |     r4 = *((r6 + 4));
    0x0002ddd8 ldr r3, [r3]                                      |     r3 = *(0x2e266);
    0x0002ddda str.w r3, [sp, 0x43c]                             |     __asm ("str.w r3, [arg_43ch]");
    0x0002ddde mov.w r3, 0                                       |     r3 = 0;
    0x0002dde2 ldr r3, [r0, 8]                                   |     r3 = *((r0 + 8));
    0x0002dde4 movs r0, 0                                        |     r0 = 0;
    0x0002dde6 ldrd r8, sb, [r6, 0xc]                            |     __asm ("ldrd r8, sb, [r6, 0xc]");
    0x0002ddea str r2, [sp, 0x1c]                                |     var_1ch = r2;
    0x0002ddec and r3, r3, 1                                     |     r3 &= 1;
    0x0002ddf0 str r3, [sp, 0x14]                                |     var_14h = r3;
    0x0002ddf2 blx 0x1096c                                       |     r0 = fcn_0001096c ();
    0x0002ddf6 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002ddf8 beq.w 0x2e040                                     |         goto label_20;
                                                                 |     }
    0x0002ddfc cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x0002ddfe beq 0x2def2                                       |         goto label_8;
                                                                 |     }
                                                                 | label_9:
    0x0002de00 movs r1, 0x3a                                     |     r1 = 0x3a;
    0x0002de02 mov r0, r4                                        |     r0 = r4;
    0x0002de04 blx 0xfbc8                                        |     r0 = fcn_0000fbc8 ();
    0x0002de08 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002de0a beq 0x2deea                                       |         goto label_21;
                                                                 |     }
    0x0002de0c adds r7, r0, 1                                    |     r7 = r0 + 1;
    0x0002de0e sub.w fp, r0, r4                                  |     
    0x0002de12 subs r0, r7, r4                                   |     r0 = r7 - r4;
    0x0002de14 blx 0x10d34                                       |     fcn_00010d34 ();
    0x0002de16 invalid                                           |     
    0x0002de1a mov r1, r4                                        |     r1 = r4;
    0x0002de1c mov sl, r0                                        |     sl = r0;
    0x0002de1e blx 0x1063c                                       |     fcn_0001063c ();
    0x0002de22 ldr.w r3, [pc, 0x444]                             |     
    0x0002de26 add r3, pc                                        |     r3 = 0x5c094;
    0x0002de28 ldr r5, [r3, 8]                                   |     r5 = *(0x5c09c);
    0x0002de2a movs r3, 0                                        |     r3 = 0;
    0x0002de2c strb.w r3, [sl, fp]                               |     *((sl + fp)) = r3;
    0x0002de30 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002de32 beq 0x2dee4                                       |         goto label_22;
                                                                 |     }
                                                                 | label_1:
    0x0002de34 ldr r3, [r5, 8]                                   |     r3 = *((r5 + 8));
    0x0002de36 ldr r0, [r3]                                      |     r0 = *(r3);
    0x0002de38 mov fp, r3                                        |     
                                                                 |     if (r0 != 0) {
    0x0002de3a cbnz r0, 0x2de46                                  |         goto label_23;
                                                                 |     }
    0x0002de3c b 0x2dede                                         |     goto label_24;
                                                                 |     do {
    0x0002de3e ldr r0, [fp, 4]!                                  |         r0 = *(arg_4h);
    0x0002de42 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0002de44 beq 0x2dede                                       |             goto label_24;
                                                                 |         }
                                                                 | label_23:
    0x0002de46 mov r1, sl                                        |         r1 = sl;
    0x0002de48 blx 0xfbe0                                        |         r0 = fcn_0000fbe0 ();
    0x0002de4c cmp r0, 0                                         |         
    0x0002de4e bne 0x2de3e                                       |         
                                                                 |     } while (r0 != 0);
    0x0002de50 mov r8, r0                                        |     r8 = r0;
    0x0002de52 str r0, [sp, 0x18]                                |     var_18h = r0;
    0x0002de54 mov r0, sl                                        |     r0 = sl;
    0x0002de56 mov sl, r4                                        |     sl = r4;
    0x0002de58 mov r4, r7                                        |     r4 = r7;
    0x0002de5a mov r7, r8                                        |     r7 = r8;
    0x0002de5c blx 0x10168                                       |     fcn_00010168 ();
    0x0002de60 str.w r8, [sp, 0x10]                              |     __asm ("str.w r8, [var_10h]");
                                                                 | label_2:
    0x0002de64 ldr.w r3, [pc, 0x404]                             |     
    0x0002de68 add.w r8, sp, 0x20                                |     r8 += var_20h;
    0x0002de6c add r3, pc                                        |     r3 = 0x5c0dc;
    0x0002de6e str r3, [sp, 8]                                   |     var_8h = r3;
    0x0002de70 movs r3, 0                                        |     r3 = 0;
    0x0002de72 str r3, [sp, 0xc]                                 |     var_ch = r3;
                                                                 |     if (r5 != 0) {
                                                                 | label_0:
    0x0002de74 cbz r5, 0x2dea2                                   |         
    0x0002de76 cmp.w sb, 0                                       |         
                                                                 |         if (sb == 0) {
    0x0002de7a beq.w 0x2dfc0                                     |             goto label_25;
                                                                 |         }
    0x0002de7e ldr.w fp, [r5, 0x1c]                              |         fp = *((r5 + 0x1c));
    0x0002de82 mov ip, sb                                        |         
    0x0002de84 cmp.w fp, 0                                       |         
                                                                 |         if (fp != 0) {
    0x0002de88 bne 0x2df7c                                       |             goto label_26;
                                                                 |         }
                                                                 | label_5:
    0x0002de8a ldr r3, [r5, 0xc]                                 |         r3 = *((r5 + 0xc));
    0x0002de8c cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0002de8e beq.w 0x2dff8                                     |             goto label_27;
                                                                 |         }
    0x0002de92 ldr r1, [sp, 0x14]                                |         r1 = var_14h;
    0x0002de94 mov r0, r4                                        |         r0 = r4;
    0x0002de96 blx r3                                            |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r1);
                                                                 | label_7:
    0x0002de98 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0002de9a bne.w 0x2dfa6                                     |             goto label_28;
                                                                 |         }
                                                                 | label_4:
    0x0002de9e movs r3, 1                                        |         r3 = 1;
    0x0002dea0 str r3, [sp, 0xc]                                 |         var_ch = r3;
                                                                 |     }
    0x0002dea2 ldr r3, [sp, 8]                                   |     r3 = var_8h;
    0x0002dea4 ldr r5, [r3, 8]                                   |     r5 = *((r3 + 8));
    0x0002dea6 mov r3, r7                                        |     r3 = r7;
                                                                 |     do {
    0x0002dea8 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0002deaa beq.w 0x2e004                                     |             goto label_29;
                                                                 |         }
    0x0002deae ldr r2, [r3], 4                                   |         r2 = *(r3);
                                                                 |         r3 += 4;
    0x0002deb2 cmp r2, 0                                         |         
                                                                 |         if (r2 == 0) {
    0x0002deb4 beq.w 0x2e004                                     |             goto label_29;
                                                                 |         }
    0x0002deb8 mov r7, r3                                        |         r7 = r3;
    0x0002deba cmp r5, 0                                         |         
    0x0002debc beq 0x2dea8                                       |         
                                                                 |     } while (r5 == 0);
    0x0002debe mov fp, r2                                        |     
                                                                 | label_3:
    0x0002dec0 ldr r4, [r5, 8]                                   |     r4 = *((r5 + 8));
    0x0002dec2 ldr r0, [r4]                                      |     r0 = *(r4);
                                                                 |     if (r0 != 0) {
    0x0002dec4 cbnz r0, 0x2ded0                                  |         goto label_30;
                                                                 |     }
    0x0002dec6 b 0x2df72                                         |     goto label_31;
                                                                 |     do {
    0x0002dec8 ldr r0, [r4, 4]!                                  |         r0 = *((r4 += 4));
    0x0002decc cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0002dece beq 0x2df72                                       |             goto label_31;
                                                                 |         }
                                                                 | label_30:
    0x0002ded0 mov r1, fp                                        |         r1 = fp;
    0x0002ded2 blx 0xfbe0                                        |         r0 = fcn_0000fbe0 ();
    0x0002ded6 cmp r0, 0                                         |         
    0x0002ded8 bne 0x2dec8                                       |         
                                                                 |     } while (r0 != 0);
    0x0002deda mov r4, sl                                        |     r4 = sl;
    0x0002dedc b 0x2de74                                         |     goto label_0;
                                                                 | label_24:
    0x0002dede ldr r5, [r5, 0x14]                                |     r5 = *((r5 + 0x14));
    0x0002dee0 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002dee2 bne 0x2de34                                       |         goto label_1;
                                                                 |     }
                                                                 | label_22:
    0x0002dee4 mov r0, sl                                        |     r0 = sl;
    0x0002dee6 blx 0x10168                                       |     fcn_00010168 ();
                                                                 | label_21:
    0x0002deea ldrb r3, [r4]                                     |     r3 = *(r4);
    0x0002deec cmp r3, 0x2f                                      |     
                                                                 |     if (r3 == 0x2f) {
    0x0002deee beq.w 0x2e142                                     |         goto label_32;
                                                                 |     }
                                                                 | label_8:
    0x0002def2 cmp.w r8, 0                                       |     
                                                                 |     if (r8 == 0) {
    0x0002def6 beq.w 0x2e182                                     |         goto label_33;
                                                                 |     }
    0x0002defa movs r1, 0x2c                                     |     r1 = 0x2c;
    0x0002defc mov r0, r8                                        |     r0 = r8;
    0x0002defe blx 0xfbc8                                        |     r0 = fcn_0000fbc8 ();
    0x0002df02 mov r7, r0                                        |     r7 = r0;
    0x0002df04 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002df06 beq.w 0x2e112                                     |         goto label_34;
                                                                 |     }
    0x0002df0a add.w sl, sp, 0x20                                |     sl += var_20h;
    0x0002df0e movs r5, 0                                        |     r5 = 0;
    0x0002df10 mov r0, r8                                        |     r0 = r8;
    0x0002df12 str.w r5, [sl]                                    |     __asm ("str.w r5, [sl]");
    0x0002df16 blx 0x10d18                                       |     fcn_00010d18 ();
    0x0002df1a ldrb.w r3, [r8, 1]                                |     r3 = *((r8 + 1));
    0x0002df1e add.w r8, r8, 1                                   |     r8++;
    0x0002df22 str r0, [sp, 0x18]                                |     var_18h = r0;
    0x0002df24 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0002df26 beq.w 0x2e210                                     |         goto label_35;
                                                                 |     }
    0x0002df2a mov r2, r5                                        |     r2 = r5;
                                                                 |     do {
    0x0002df2c cmp r3, 0x2c                                      |         
    0x0002df2e ldrb r3, [r8, 1]!                                 |         r3 = *((r8 += 1));
    0x0002df32 it eq                                             |         
                                                                 |         if (r3 != 0x2c) {
    0x0002df34 addeq r2, 1                                       |             r2++;
                                                                 |         }
    0x0002df36 cmp r3, 0                                         |         
    0x0002df38 bne 0x2df2c                                       |         
                                                                 |     } while (r3 != 0);
    0x0002df3a adds r0, r2, 2                                    |     r0 = r2 + 2;
                                                                 | label_18:
    0x0002df3c ldr.w fp, [pc, 0x330]                             |     
    0x0002df40 movs r1, 4                                        |     r1 = 4;
    0x0002df42 blx 0xfca0                                        |     r0 = fcn_0000fca0 ();
    0x0002df46 mov r7, r0                                        |     r7 = r0;
    0x0002df48 mov r2, sl                                        |     r2 = sl;
    0x0002df4a add fp, pc                                        |     fp = 0x5c1be;
    0x0002df4c mov r8, r7                                        |     r8 = r7;
    0x0002df4e ldr r0, [sp, 0x18]                                |     r0 = var_18h;
    0x0002df50 mov r1, fp                                        |     r1 = fp;
    0x0002df52 blx 0x10f3c                                       |     fcn_00010f3c ();
    0x0002df56 str r0, [r7]                                      |     *(r7) = r0;
                                                                 |     do {
    0x0002df58 mov r2, sl                                        |         r2 = sl;
    0x0002df5a mov r1, fp                                        |         r1 = fp;
    0x0002df5c movs r0, 0                                        |         r0 = 0;
    0x0002df5e blx 0x10f3c                                       |         fcn_00010f3c ();
    0x0002df62 str r0, [r8, 4]!                                  |         *((r8 += 4)) = r0;
    0x0002df66 cmp r0, 0                                         |         
    0x0002df68 bne 0x2df58                                       |         
                                                                 |     } while (r0 != 0);
    0x0002df6a mov r5, r0                                        |     r5 = r0;
    0x0002df6c mov sl, r4                                        |     sl = r4;
    0x0002df6e str r7, [sp, 0x10]                                |     var_10h = r7;
    0x0002df70 b 0x2de64                                         |     goto label_2;
                                                                 | label_31:
    0x0002df72 ldr r5, [r5, 0x14]                                |     r5 = *((r5 + 0x14));
    0x0002df74 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002df76 bne 0x2dec0                                       |         goto label_3;
                                                                 |     }
    0x0002df78 mov r4, sl                                        |     r4 = sl;
    0x0002df7a b 0x2de74                                         |     goto label_0;
                                                                 | label_26:
    0x0002df7c ldr r0, [r6]                                      |     r0 = *(r6);
    0x0002df7e mov r5, r8                                        |     r5 = r8;
    0x0002df80 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0002df82 ldr r2, [r6, 8]                                   |     r2 = *((r6 + 8));
    0x0002df84 ldr r3, [r6, 0xc]                                 |     r3 = *((r6 + 0xc));
    0x0002df86 stm r5!, {r0, r1, r2, r3}                         |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
                                                                 |     *((r5! + 12)) = r3;
    0x0002df88 ldr r0, [r6, 0x10]                                |     r0 = *((r6 + 0x10));
    0x0002df8a ldr r1, [r6, 0x14]                                |     r1 = *((r6 + 0x14));
    0x0002df8c ldr r2, [r6, 0x18]                                |     r2 = *((r6 + 0x18));
    0x0002df8e stm r5!, {r0, r1, r2}                             |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
                                                                 | label_6:
    0x0002df90 ldr.w r3, [r8, 4]                                 |     r3 = *((r8 + 4));
    0x0002df94 mov r0, r8                                        |     r0 = r8;
    0x0002df96 cmp r3, r4                                        |     
    0x0002df98 it ne                                             |     
                                                                 |     if (r3 == r4) {
    0x0002df9a strne r4, [r8, 4]                                 |         *((r8 + 4)) = r4;
                                                                 |     }
    0x0002df9c ands r4, r0                                       |     r4 &= r0;
    0x0002df9e blx fp                                            |     r0 = fp (r0, r1, r2, r3);
    0x0002dfa0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002dfa2 beq.w 0x2de9e                                     |         goto label_4;
                                                                 |     }
                                                                 | label_28:
    0x0002dfa6 ldr r5, [sp, 0x10]                                |     r5 = var_10h;
    0x0002dfa8 mov r4, r0                                        |     r4 = r0;
    0x0002dfaa cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002dfac beq.w 0x2e13e                                     |         goto label_36;
                                                                 |     }
    0x0002dfb0 ldr r0, [sp, 0x18]                                |     r0 = var_18h;
    0x0002dfb2 blx 0x10168                                       |     fcn_00010168 ();
    0x0002dfb6 mov r0, r5                                        |     r0 = r5;
    0x0002dfb8 blx 0x10168                                       |     fcn_00010168 ();
    0x0002dfbc str r4, [sp, 0x10]                                |     var_10h = r4;
    0x0002dfbe b 0x2e01e                                         |     goto label_12;
                                                                 | label_25:
    0x0002dfc0 ldr r3, [r5, 8]                                   |     r3 = *((r5 + 8));
    0x0002dfc2 ldr r0, [sp, 0x1c]                                |     r0 = var_1ch;
    0x0002dfc4 ldr r1, [r3]                                      |     r1 = *(r3);
    0x0002dfc6 blx 0xfddc                                        |     fcn_0000fddc ();
    0x0002dfc8 invalid                                           |     
    0x0002dfcc add sp, 0x70                                      |     
    0x0002dfce mov ip, r0                                        |     
    0x0002dfd0 cmp.w fp, 0                                       |     
                                                                 |     if (fp == 0) {
    0x0002dfd4 beq.w 0x2de8a                                     |         goto label_5;
                                                                 |     }
    0x0002dfd8 ldr r0, [r6]                                      |     r0 = *(r6);
    0x0002dfda mov r5, r8                                        |     r5 = r8;
    0x0002dfdc ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0002dfde ldr r2, [r6, 8]                                   |     r2 = *((r6 + 8));
    0x0002dfe0 ldr r3, [r6, 0xc]                                 |     r3 = *((r6 + 0xc));
    0x0002dfe2 stm r5!, {r0, r1, r2, r3}                         |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
                                                                 |     *((r5! + 12)) = r3;
    0x0002dfe4 ldr r0, [r6, 0x10]                                |     r0 = *((r6 + 0x10));
    0x0002dfe6 ldr r1, [r6, 0x14]                                |     r1 = *((r6 + 0x14));
    0x0002dfe8 ldr r2, [r6, 0x18]                                |     r2 = *((r6 + 0x18));
    0x0002dfea stm r5!, {r0, r1, r2}                             |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
    0x0002dfec cmp.w ip, 0                                       |     
                                                                 |     if (ip == 0) {
    0x0002dff0 beq 0x2df90                                       |         goto label_6;
                                                                 |     }
    0x0002dff2 str.w ip, [r8, 0x10]                              |     __asm ("str.w ip, [r8, 0x10]");
    0x0002dff6 b 0x2df90                                         |     goto label_6;
                                                                 | label_27:
    0x0002dff8 ldr r3, [r5, 0x18]                                |     r3 = *((r5 + 0x18));
    0x0002dffa mov r2, ip                                        |     r2 = ip;
    0x0002dffc ldr r1, [sp, 0x14]                                |     r1 = var_14h;
    0x0002dffe mov r0, r4                                        |     r0 = r4;
    0x0002e000 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0002e002 b 0x2de98                                         |     goto label_7;
                                                                 | label_29:
    0x0002e004 ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x0002e006 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0002e008 beq 0x2e106                                       |         goto label_37;
                                                                 |     }
                                                                 | label_11:
    0x0002e00a ldr r4, [sp, 0x10]                                |     r4 = var_10h;
                                                                 |     if (r4 != 0) {
    0x0002e00c cbz r4, 0x2e01e                                   |         
    0x0002e00e ldr r0, [sp, 0x18]                                |         r0 = var_18h;
    0x0002e010 blx 0x10168                                       |         fcn_00010168 ();
    0x0002e014 mov r0, r4                                        |         r0 = r4;
    0x0002e016 blx 0x10168                                       |         fcn_00010168 ();
    0x0002e01a movs r3, 0                                        |         r3 = 0;
    0x0002e01c str r3, [sp, 0x10]                                |         var_10h = r3;
                                                                 |     }
                                                                 | label_12:
    0x0002e01e ldr r2, [pc, 0x254]                               |     
    0x0002e020 ldr r3, [pc, 0x240]                               |     r3 = *(0x2e264);
    0x0002e022 add r2, pc                                        |     r2 = 0x5c29c;
    0x0002e024 ldr r3, [r2, r3]                                  |     r3 = *(0x5c29c);
    0x0002e026 ldr r2, [r3]                                      |     r2 = *(0x5c29c);
    0x0002e028 ldr.w r3, [sp, 0x43c]                             |     r3 = *(arg_43ch);
    0x0002e02c eors r2, r3                                       |     r2 ^= r3;
    0x0002e02e mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x0002e032 bne.w 0x2e25a                                     |         goto label_38;
                                                                 |     }
    0x0002e036 ldr r0, [sp, 0x10]                                |     r0 = var_10h;
    0x0002e038 addw sp, sp, 0x444                                |     __asm ("addw sp, var_28h");
    0x0002e03c pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_20:
    0x0002e040 cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x0002e042 beq.w 0x2def2                                     |         goto label_8;
                                                                 |     }
    0x0002e046 ldrb r5, [r4]                                     |     r5 = *(r4);
                                                                 |     if (r5 == 0) {
    0x0002e048 cbz r5, 0x2e07a                                   |         goto label_39;
                                                                 |     }
    0x0002e04a mov r7, r4                                        |     r7 = r4;
                                                                 | label_10:
    0x0002e04c cmp r5, 0x2e                                      |     
                                                                 |     if (r5 == 0x2e) {
    0x0002e04e beq 0x2e072                                       |         goto label_40;
                                                                 |     }
    0x0002e050 blx 0x10cf0                                       |     r0 = fcn_00010cf0 ();
    0x0002e054 ldr r3, [r0]                                      |     r3 = *(r0);
    0x0002e056 cmp r5, 0x2d                                      |     
    0x0002e058 ldrh.w r3, [r3, r5, lsl 1]                        |     offset_0 = r5 << 1;
                                                                 |     r3 = *((r3 + offset_0));
    0x0002e05a adds r0, 0x15                                     |     r0 += 0x15;
    0x0002e05c and r3, r3, 0xb00                                 |     r3 &= case.0x269a8.32;
    0x0002e060 clz r3, r3                                        |     r3 &= r3;
    0x0002e064 lsr.w r3, r3, 5                                   |     r3 >>= 5;
    0x0002e068 it eq                                             |     
                                                                 |     if (r0 != 0x15) {
    0x0002e06a moveq r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0002e06c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0002e06e bne.w 0x2de00                                     |         goto label_9;
                                                                 |     }
                                                                 | label_40:
    0x0002e072 ldrb r5, [r7, 1]!                                 |     r5 = *((r7 += 1));
    0x0002e076 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002e078 bne 0x2e04c                                       |         goto label_10;
                                                                 |     }
                                                                 | label_39:
    0x0002e07a ldr r2, [pc, 0x1fc]                               |     
    0x0002e07c add r2, pc                                        |     r2 = 0x5c2fa;
    0x0002e07e ldr r3, [r2, 0xc]                                 |     r3 = *(0x5c306);
    0x0002e080 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0002e082 beq.w 0x2e1f8                                     |         goto label_41;
                                                                 |     }
                                                                 | label_17:
    0x0002e086 movs r1, 0x1b                                     |     r1 = 0x1b;
    0x0002e088 movs r0, 0                                        |     r0 = 0;
    0x0002e08a blx 0xfce0                                        |     r0 = fcn_0000fce0 ();
    0x0002e08e mov r5, r0                                        |     r5 = r0;
    0x0002e090 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002e092 beq.w 0x2e1ae                                     |         goto label_42;
                                                                 |     }
    0x0002e096 blx 0x10d18                                       |     r0 = fcn_00010d18 ();
    0x0002e09a mov r5, r0                                        |     r5 = r0;
    0x0002e09c ldr r0, [pc, 0x1dc]                               |     
    0x0002e09e add r7, sp, 0x3c                                  |     r7 += arg_3ch;
    0x0002e0a0 add r0, pc                                        |     r0 = 0x5c320;
    0x0002e0a2 blx 0xfea8                                        |     fcn_0000fea8 ();
    0x0002e0a6 ldr r3, [pc, 0x1d8]                               |     
    0x0002e0a8 movs r2, 1                                        |     r2 = 1;
    0x0002e0aa mov sl, r0                                        |     sl = r0;
    0x0002e0ac movw r1, 0x3ff                                    |     r1 = (r1 & 0xFFFF0000) | (case.0x269a8.32 & 0xFFFF);
    0x0002e0b0 mov r0, r7                                        |     r0 = r7;
    0x0002e0b2 str r4, [sp, 4]                                   |     var_4h_2 = r4;
    0x0002e0b4 add r3, pc                                        |     r3 = 0x5c33a;
    0x0002e0b6 str r3, [sp]                                      |     *(sp) = r3;
    0x0002e0b8 mov.w r3, 0x400                                   |     r3 = case.0x269a8.32;
    0x0002e0bc blx 0x10a44                                       |     fcn_00010a44 ();
    0x0002e0c0 add r1, sp, 0x20                                  |     r1 += var_20h;
    0x0002e0c2 movs r0, 2                                        |     r0 = 2;
    0x0002e0c4 strd r7, sl, [r1]                                 |     __asm ("strd r7, sl, [r1]");
    0x0002e0c8 mov.w sl, 0                                       |     sl = 0;
    0x0002e0cc str.w sl, [r1, 8]                                 |     __asm ("str.w sl, [r1, 8]");
    0x0002e0d0 blx 0x10c08                                       |     fprintf_chk ()
    0x0002e0d4 mov r0, sl                                        |     r0 = sl;
    0x0002e0d6 movs r1, 0x1b                                     |     r1 = 0x1b;
    0x0002e0d8 blx 0xfce0                                        |     r0 = fcn_0000fce0 ();
    0x0002e0dc mov r2, r0                                        |     r2 = r0;
                                                                 |     if (r0 != 0) {
    0x0002e0de cbz r0, 0x2e0ee                                   |         
                                                                 | label_16:
    0x0002e0e0 mov r1, r2                                        |         r1 = r2;
    0x0002e0e2 mov r0, r7                                        |         r0 = r7;
    0x0002e0e4 mov.w r2, 0x400                                   |         r2 = case.0x269a8.32;
    0x0002e0e8 mov r4, r7                                        |         r4 = r7;
    0x0002e0ea blx 0xf7f4                                        |         fcn_0000f7f4 ();
                                                                 |     }
    0x0002e0ee mov r2, r5                                        |     r2 = r5;
    0x0002e0f0 movs r1, 0x1b                                     |     r1 = 0x1b;
    0x0002e0f2 movs r0, 0                                        |     r0 = 0;
    0x0002e0f4 blx 0x10be4                                       |     chdir ();
    0x0002e0f8 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002e0fa beq.w 0x2de00                                     |         goto label_9;
                                                                 |     }
    0x0002e0fe mov r0, r5                                        |     r0 = r5;
    0x0002e100 blx 0x10168                                       |     fcn_00010168 ();
    0x0002e104 b 0x2de00                                         |     goto label_9;
                                                                 | label_37:
    0x0002e106 ldr r1, [pc, 0x17c]                               |     
    0x0002e108 movs r0, 3                                        |     r0 = 3;
    0x0002e10a add r1, pc                                        |     r1 = 0x5c394;
    0x0002e10c blx 0x11494                                       |     fcn_00011494 ();
    0x0002e110 b 0x2e00a                                         |     goto label_11;
                                                                 | label_34:
    0x0002e112 ldr r3, [pc, 0x174]                               |     
    0x0002e114 add r3, pc                                        |     r3 = 0x5c3a2;
    0x0002e116 ldr r5, [r3, 8]                                   |     r5 = *(0x5c3aa);
    0x0002e118 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002e11a beq 0x2e19e                                       |         goto label_43;
                                                                 |     }
                                                                 | label_13:
    0x0002e11c ldr r3, [r5, 8]                                   |     r3 = *((r5 + 8));
    0x0002e11e ldr r0, [r3]                                      |     r0 = *(r3);
    0x0002e120 mov sl, r3                                        |     sl = r3;
                                                                 |     if (r0 != 0) {
    0x0002e122 cbnz r0, 0x2e12c                                  |         goto label_44;
                                                                 |     }
    0x0002e124 b 0x2e172                                         |     goto label_45;
                                                                 |     do {
    0x0002e126 ldr r0, [sl, 4]!                                  |         r0 = *((sl += 4));
                                                                 |         if (r0 == 0) {
    0x0002e12a cbz r0, 0x2e172                                   |             goto label_45;
                                                                 |         }
                                                                 | label_44:
    0x0002e12c mov r1, r8                                        |         r1 = r8;
    0x0002e12e blx 0xfbe0                                        |         r0 = fcn_0000fbe0 ();
    0x0002e132 cmp r0, 0                                         |         
    0x0002e134 bne 0x2e126                                       |         
                                                                 |     } while (r0 != 0);
    0x0002e136 mov sl, r4                                        |     sl = r4;
    0x0002e138 str r0, [sp, 0x18]                                |     var_18h = r0;
    0x0002e13a str r0, [sp, 0x10]                                |     var_10h = r0;
    0x0002e13c b 0x2de64                                         |     goto label_2;
                                                                 | label_36:
    0x0002e13e str r0, [sp, 0x10]                                |     var_10h = r0;
    0x0002e140 b 0x2e01e                                         |     goto label_12;
                                                                 | label_32:
    0x0002e142 ldr r3, [pc, 0x148]                               |     
    0x0002e144 add r3, pc                                        |     r3 = 0x5c3d6;
    0x0002e146 ldr r5, [r3, 8]                                   |     r5 = *(0x5c3de);
                                                                 |     if (r5 == 0) {
    0x0002e148 cbz r5, 0x2e178                                   |         goto label_15;
                                                                 |     }
    0x0002e14a ldr.w r8, [pc, 0x144]                             |     
    0x0002e14e add r8, pc                                        |     r8 = 0x5c3e4;
                                                                 | label_14:
    0x0002e150 ldr r7, [r5, 8]                                   |     r7 = *((r5 + 8));
    0x0002e152 ldr r0, [r7]                                      |     r0 = *(r7);
                                                                 |     if (r0 != 0) {
    0x0002e154 cbnz r0, 0x2e15e                                  |         goto label_46;
                                                                 |     }
    0x0002e156 b 0x2e1a6                                         |     goto label_47;
                                                                 |     do {
    0x0002e158 ldr r0, [r7, 4]!                                  |         r0 = *((r7 += 4));
                                                                 |         if (r0 == 0) {
    0x0002e15c cbz r0, 0x2e1a6                                   |             goto label_47;
                                                                 |         }
                                                                 | label_46:
    0x0002e15e mov r1, r8                                        |         r1 = r8;
    0x0002e160 blx 0xfbe0                                        |         r0 = fcn_0000fbe0 ();
    0x0002e164 cmp r0, 0                                         |         
    0x0002e166 bne 0x2e158                                       |         
                                                                 |     } while (r0 != 0);
    0x0002e168 mov r7, r0                                        |     r7 = r0;
    0x0002e16a mov sl, r4                                        |     sl = r4;
    0x0002e16c str r0, [sp, 0x18]                                |     var_18h = r0;
    0x0002e16e str r0, [sp, 0x10]                                |     var_10h = r0;
    0x0002e170 b 0x2de64                                         |     goto label_2;
                                                                 | label_45:
    0x0002e172 ldr r5, [r5, 0x14]                                |     r5 = *((r5 + 0x14));
    0x0002e174 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002e176 bne 0x2e11c                                       |         goto label_13;
                                                                 |     }
                                                                 | label_15:
    0x0002e178 mov sl, r4                                        |     sl = r4;
    0x0002e17a mov r7, r5                                        |     r7 = r5;
    0x0002e17c str r5, [sp, 0x18]                                |     var_18h = r5;
    0x0002e17e str r5, [sp, 0x10]                                |     var_10h = r5;
    0x0002e180 b 0x2de64                                         |     goto label_2;
                                                                 | label_33:
    0x0002e182 ldr r0, [sp, 0x1c]                                |     r0 = var_1ch;
    0x0002e184 blx 0x1059c                                       |     r0 = fcn_0001059c ();
    0x0002e188 mov r7, r0                                        |     r7 = r0;
    0x0002e18a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002e18c beq 0x2e220                                       |         goto label_48;
                                                                 |     }
    0x0002e18e ldr r5, [r0]                                      |     r5 = *(r0);
    0x0002e190 mov r3, r0                                        |     r3 = r0;
    0x0002e192 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002e194 beq 0x2e214                                       |         goto label_49;
                                                                 |     }
                                                                 |     do {
    0x0002e196 ldr r5, [r3, 4]!                                  |         r5 = *((r3 += 4));
    0x0002e19a cmp r5, 0                                         |         
    0x0002e19c bne 0x2e196                                       |         
                                                                 |     } while (r5 != 0);
                                                                 | label_43:
    0x0002e19e mov sl, r4                                        |     sl = r4;
    0x0002e1a0 str r5, [sp, 0x18]                                |     var_18h = r5;
    0x0002e1a2 str r5, [sp, 0x10]                                |     var_10h = r5;
    0x0002e1a4 b 0x2de64                                         |     goto label_2;
                                                                 | label_47:
    0x0002e1a6 ldr r5, [r5, 0x14]                                |     r5 = *((r5 + 0x14));
    0x0002e1a8 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002e1aa bne 0x2e150                                       |         goto label_14;
                                                                 |     }
    0x0002e1ac b 0x2e178                                         |     goto label_15;
                                                                 | label_42:
    0x0002e1ae ldr r0, [pc, 0xe4]                                |     
    0x0002e1b0 add r7, sp, 0x3c                                  |     r7 += arg_3ch;
    0x0002e1b2 add r0, pc                                        |     r0 = 0x5c44c;
    0x0002e1b4 blx 0xfea8                                        |     fcn_0000fea8 ();
    0x0002e1b8 ldr r3, [pc, 0xdc]                                |     
    0x0002e1ba movs r2, 1                                        |     r2 = 1;
    0x0002e1bc movw r1, 0x3ff                                    |     r1 = (r1 & 0xFFFF0000) | (case.0x269a8.32 & 0xFFFF);
    0x0002e1c0 mov sl, r0                                        |     sl = r0;
    0x0002e1c2 str r4, [sp, 4]                                   |     var_4h_2 = r4;
    0x0002e1c4 mov r0, r7                                        |     r0 = r7;
    0x0002e1c6 add r3, pc                                        |     r3 = 0x5c462;
    0x0002e1c8 str r3, [sp]                                      |     *(sp) = r3;
    0x0002e1ca mov.w r3, 0x400                                   |     r3 = case.0x269a8.32;
    0x0002e1ce blx 0x10a44                                       |     fcn_00010a44 ();
    0x0002e1d2 add r1, sp, 0x20                                  |     r1 += var_20h;
    0x0002e1d4 str r5, [r1, 8]                                   |     *((r1 + 8)) = r5;
    0x0002e1d6 strd r7, sl, [r1]                                 |     __asm ("strd r7, sl, [r1]");
    0x0002e1da movs r0, 2                                        |     r0 = 2;
    0x0002e1dc blx 0x10c08                                       |     fprintf_chk ()
    0x0002e1e0 movs r1, 0x1b                                     |     r1 = 0x1b;
    0x0002e1e2 mov r0, r5                                        |     r0 = r5;
    0x0002e1e4 blx 0xfce0                                        |     r0 = fcn_0000fce0 ();
    0x0002e1e8 mov r2, r0                                        |     r2 = r0;
    0x0002e1ea cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0002e1ec bne.w 0x2e0e0                                     |         goto label_16;
                                                                 |     }
    0x0002e1f0 movs r1, 0x1b                                     |     r1 = 0x1b;
    0x0002e1f2 blx 0x10be4                                       |     chdir ();
    0x0002e1f6 b 0x2de00                                         |     goto label_9;
                                                                 | label_41:
    0x0002e1f8 movs r1, 0x1b                                     |     r1 = 0x1b;
    0x0002e1fa movs r0, 4                                        |     r0 = 4;
    0x0002e1fc str r1, [sp]                                      |     *(sp) = r1;
    0x0002e1fe movs r1, 1                                        |     r1 = 1;
    0x0002e200 str r1, [r2, 0xc]                                 |     *((r2 + 0xc)) = r1;
    0x0002e202 ldr r2, [pc, 0x98]                                |     
    0x0002e204 ldr r1, [pc, 0x98]                                |     
    0x0002e206 add r2, pc                                        |     r2 = 0x5c4a8;
    0x0002e208 add r1, pc                                        |     r1 = 0x5c4ac;
    0x0002e20a blx 0x100e0                                       |     fcn_000100e0 ();
    0x0002e20e b 0x2e086                                         |     goto label_17;
                                                                 | label_35:
    0x0002e210 movs r0, 2                                        |     r0 = 2;
    0x0002e212 b 0x2df3c                                         |     goto label_18;
                                                                 |     do {
                                                                 | label_49:
    0x0002e214 mov sl, r4                                        |         sl = r4;
    0x0002e216 str.w r8, [sp, 0x18]                              |         __asm ("str.w r8, [var_18h]");
    0x0002e21a str.w r8, [sp, 0x10]                              |         __asm ("str.w r8, [var_10h]");
    0x0002e21e b 0x2de64                                         |         goto label_2;
                                                                 | label_48:
    0x0002e220 ldr r3, [pc, 0x80]                                |         
    0x0002e222 add r3, pc                                        |         r3 = 0x5c4ca;
    0x0002e224 ldr r5, [r3, 8]                                   |         r5 = *(0x5c4d2);
    0x0002e226 cmp r5, 0                                         |         
    0x0002e228 beq 0x2e214                                       |         
                                                                 |     } while (r5 == 0);
    0x0002e22a ldr.w sl, [pc, 0x7c]                              |     
    0x0002e22e add sl, pc                                        |     sl = 0x5c4dc;
                                                                 | label_19:
    0x0002e230 ldr r3, [r5, 8]                                   |     r3 = *((r5 + 8));
    0x0002e232 ldr r0, [r3]                                      |     r0 = *(r3);
    0x0002e234 mov r8, r3                                        |     r8 = r3;
                                                                 |     if (r0 != 0) {
    0x0002e236 cbnz r0, 0x2e240                                  |         goto label_50;
                                                                 |     }
    0x0002e238 b 0x2e252                                         |     goto label_51;
                                                                 |     do {
    0x0002e23a ldr r0, [r8, 4]!                                  |         r0 = *((r8 += 4));
                                                                 |         if (r0 == 0) {
    0x0002e23e cbz r0, 0x2e252                                   |             goto label_51;
                                                                 |         }
                                                                 | label_50:
    0x0002e240 mov r1, sl                                        |         r1 = sl;
    0x0002e242 blx 0xfbe0                                        |         r0 = fcn_0000fbe0 ();
    0x0002e246 cmp r0, 0                                         |         
    0x0002e248 bne 0x2e23a                                       |         
                                                                 |     } while (r0 != 0);
    0x0002e24a mov sl, r4                                        |     sl = r4;
    0x0002e24c str r0, [sp, 0x18]                                |     var_18h = r0;
    0x0002e24e str r0, [sp, 0x10]                                |     var_10h = r0;
    0x0002e250 b 0x2de64                                         |     goto label_2;
                                                                 | label_51:
    0x0002e252 ldr r5, [r5, 0x14]                                |     r5 = *((r5 + 0x14));
    0x0002e254 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002e256 bne 0x2e230                                       |         goto label_19;
                                                                 |     }
    0x0002e258 b 0x2e178                                         |     goto label_15;
                                                                 | label_38:
    0x0002e25a blx 0x10d58                                       |     fcn_00010d58 ();
    0x0002e25e nop                                               |     
    0x0002e260 movs r4, 0xde                                     |     r4 = 0xde;
    0x0002e262 movs r2, r0                                       |     r2 = r0;
    0x0002e264 lsrs r4, r7, 0x11                                 |     r4 = r7 >> 0x11;
    0x0002e266 movs r0, r0                                       |     
    0x0002e268 str r6, [r1, 0x48]                                |     *((r1 + 0x48)) = r6;
    0x0002e26a movs r2, r0                                       |     r2 = r0;
    0x0002e26c str r0, [r1, 0x44]                                |     *((r1 + 0x44)) = r0;
    0x0002e26e movs r2, r0                                       |     r2 = r0;
    0x0002e270 add.w r0, r2, r0                                  |     r0 = r2 + r0;
    0x0002e274 movs r2, 0x8a                                     |     r2 = 0x8a;
    0x0002e276 movs r2, r0                                       |     r2 = r0;
    0x0002e278 str r0, [r7, 0x20]                                |     *((r7 + 0x20)) = r0;
    0x0002e27a movs r2, r0                                       |     r2 = r0;
    0x0002e27c rev16 r4, r4                                      |     __asm ("rev16 r4, r4");
    0x0002e27e movs r0, r0                                       |     
    0x0002e280 lsls r4, r0, 5                                    |     r4 = r0 << 5;
    0x0002e282 movs r1, r0                                       |     r1 = r0;
    0x0002e284 lsls r2, r0, 4                                    |     r2 = r0 << 4;
    0x0002e286 movs r1, r0                                       |     r1 = r0;
    0x0002e288 str r0, [r4, 0x18]                                |     *((r4 + 0x18)) = r0;
    0x0002e28a movs r2, r0                                       |     r2 = r0;
    0x0002e28c str r0, [r6, 0x14]                                |     *((r6 + 0x14)) = r0;
    0x0002e28e movs r2, r0                                       |     r2 = r0;
    0x0002e290 lsls r6, r6, 2                                    |     r6 <<= 2;
    0x0002e292 movs r1, r0                                       |     r1 = r0;
                                                                 |     if (r2 != 0) {
    0x0002e294 cbnz r2, 0x2e2ac                                  |         void (*0x2e2ac)() ();
                                                                 |     }
    0x0002e296 movs r0, r0                                       |     
    0x0002e298 movs r2, r6                                       |     r2 = r6;
    0x0002e29a movs r1, r0                                       |     r1 = r0;
    0x0002e29c vaddl.u32 q8, d6, d0                              |     __asm ("vaddl.u32 q8, d6, d0");
    0x0002e2a0 invalid                                           |     
                                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x23334 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.read_config_get_handlers ()      | void read_config_get_handlers (int16_t arg1) {
                                                 |     r0 = arg1;
    0x00023334 push {r3, r4, r5, lr}             |     
    0x00023336 mov r5, r0                        |     r5 = r0;
    0x00023338 ldr r3, [pc, 0x20]                |     
    0x0002333a ldr r2, [pc, 0x24]                |     r2 = *(0x23362);
    0x0002333c add r3, pc                        |     
    0x0002333e ldr r3, [r3, r2]                  |     r3 = *(0x4669c);
    0x00023340 ldr r4, [r3]                      |     r4 = *(0x4669c);
                                                 |     if (r4 != 0) {
    0x00023342 cbnz r4, 0x2334a                  |         goto label_0;
                                                 |     }
    0x00023344 b 0x23358                         |     goto label_1;
                                                 |     do {
    0x00023346 ldr r4, [r4, 8]                   |         r4 = *((r4 + 8));
                                                 |         if (r4 == 0) {
    0x00023348 cbz r4, 0x23358                   |             goto label_1;
                                                 |         }
                                                 | label_0:
    0x0002334a ldr r0, [r4]                      |         r0 = *(r4);
    0x0002334c mov r1, r5                        |         r1 = r5;
    0x0002334e blx 0x11768                       |         r0 = fcn_00011768 ();
    0x00023352 cmp r0, 0                         |         
    0x00023354 bne 0x23346                       |         
                                                 |     } while (r0 != 0);
    0x00023356 ldr r4, [r4, 4]                   |     r4 = *((r4 + 4));
                                                 | label_1:
    0x00023358 mov r0, r4                        |     r0 = r4;
    0x0002335a pop {r3, r4, r5, pc}              |     
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x23364 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.read_config_find_handler ()      | void read_config_find_handler (int16_t arg1, int16_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00023364 push {r3, r4, r5, lr}             |     
    0x00023366 mov r4, r0                        |     r4 = r0;
                                                 |     if (r0 == 0) {
    0x00023368 cbz r0, 0x2337e                   |         goto label_0;
                                                 |     }
    0x0002336a mov r5, r1                        |     r5 = r1;
    0x0002336c b 0x23372                         |     
                                                 |     while (r0 != 0) {
    0x0002336e ldr r4, [r4, 0xc]                 |         r4 = *((r4 + 0xc));
                                                 |         if (r4 == 0) {
    0x00023370 cbz r4, 0x2337e                   |             goto label_0;
                                                 |         }
    0x00023372 ldr r1, [r4]                      |         r1 = *(r4);
    0x00023374 mov r0, r5                        |         r0 = r5;
    0x00023376 blx 0xfbe0                        |         r0 = fcn_0000fbe0 ();
    0x0002337a cmp r0, 0                         |         
    0x0002337c bne 0x2336e                       |         
                                                 |     }
                                                 | label_0:
    0x0002337e mov r0, r4                        |     r0 = r4;
    0x00023380 pop {r3, r4, r5, pc}              |     
                                                 | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x2369c */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.read_config_print_usage ()               | void read_config_print_usage (int16_t arg1) {
                                                         |     int16_t var_0h;
                                                         |     int16_t var_4h;
                                                         |     r0 = arg1;
    0x0002369c ldr r3, [pc, 0x6c]                        |     
    0x0002369e ldr r2, [pc, 0x70]                        |     r2 = *(0x23712);
    0x000236a0 push.w {r4, r5, r6, r7, r8, sb, lr}       |     
    0x000236a4 mov r6, r0                                |     r6 = r0;
    0x000236a6 add r3, pc                                |     
    0x000236a8 sub sp, 0xc                               |     
    0x000236aa ldr r3, [r3, r2]                          |     r3 = *(0x46db6);
    0x000236ac ldr.w r8, [r3]                            |     r8 = *(0x46db6);
                                                         |     if (r0 == 0) {
    0x000236b0 cbz r0, 0x23704                           |         goto label_2;
                                                         |     }
                                                         | label_1:
    0x000236b2 cmp.w r8, 0                               |     
                                                         |     if (r8 == 0) {
    0x000236b6 beq 0x236fe                               |         goto label_3;
                                                         |     }
    0x000236b8 ldr.w sb, [pc, 0x58]                      |     
    0x000236bc ldr r7, [pc, 0x58]                        |     
    0x000236be add sb, pc                                |     sb = 0x46dd6;
    0x000236c0 add r7, pc                                |     r7 = 0x46ddc;
                                                         | label_0:
    0x000236c2 ldr.w r3, [r8]                            |     r3 = *(r8);
    0x000236c6 mov r2, r6                                |     r2 = r6;
    0x000236c8 mov r1, sb                                |     r1 = sb;
    0x000236ca movs r0, 6                                |     r0 = 6;
    0x000236cc str r3, [sp]                              |     *(sp) = r3;
    0x000236ce blx 0x11494                               |     fcn_00011494 ();
    0x000236d2 ldr.w r4, [r8, 4]                         |     r4 = *((r8 + 4));
                                                         |     if (r4 == 0) {
    0x000236d6 cbz r4, 0x236f4                           |         goto label_4;
                                                         |     }
                                                         |     do {
    0x000236d8 ldr r5, [r4, 0x14]                        |         r5 = *((r4 + 0x14));
    0x000236da mov r3, r6                                |         r3 = r6;
    0x000236dc mov r2, r6                                |         r2 = r6;
    0x000236de mov r1, r7                                |         r1 = r7;
    0x000236e0 movs r0, 6                                |         r0 = 6;
                                                         |         if (r5 != 0) {
    0x000236e2 cbz r5, 0x236ee                           |             
    0x000236e4 str r5, [sp, 4]                           |             var_4h = r5;
    0x000236e6 ldr r5, [r4]                              |             r5 = *(r4);
    0x000236e8 str r5, [sp]                              |             *(sp) = r5;
    0x000236ea blx 0x11494                               |             fcn_00011494 ();
                                                         |         }
    0x000236ee ldr r4, [r4, 0xc]                         |         r4 = *((r4 + 0xc));
    0x000236f0 cmp r4, 0                                 |         
    0x000236f2 bne 0x236d8                               |         
                                                         |     } while (r4 != 0);
                                                         | label_4:
    0x000236f4 ldr.w r8, [r8, 8]                         |     r8 = *((r8 + 8));
    0x000236f8 cmp.w r8, 0                               |     
                                                         |     if (r8 != 0) {
    0x000236fc bne 0x236c2                               |         goto label_0;
                                                         |     }
                                                         | label_3:
    0x000236fe add sp, 0xc                               |     
    0x00023700 pop.w {r4, r5, r6, r7, r8, sb, pc}        |     
                                                         | label_2:
    0x00023704 ldr r6, [pc, 0x14]                        |     
    0x00023706 add r6, pc                                |     r6 = 0x46e26;
    0x00023708 b 0x236b2                                 |     goto label_1;
                                                         | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x23720 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.read_config_store ()                 | void read_config_store (int16_t arg1, int16_t arg2) {
                                                     |     int16_t var_0h;
                                                     |     int16_t var_14h;
                                                     |     int16_t var_213h;
                                                     |     int16_t var_214h;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
                                                     | label_3:
    0x00023550 ldr r2, [pc, 0xe8]                    |     
    0x00023552 ldr r3, [pc, 0xec]                    |     r3 = *(0x23642);
    0x00023554 push.w {r4, r5, r6, r7, r8, lr}       |     
    0x00023558 mov r8, r0                            |     r8 = r0;
    0x0002355a add r2, pc                            |     r2 = 0x46b9a;
    0x0002355c ldr r0, [pc, 0xe4]                    |     
    0x0002355e sub.w sp, sp, 0x218                   |     
    0x00023562 mov r7, r1                            |     r7 = r1;
    0x00023564 ldr r3, [r2, r3]                      |     
    0x00023566 add r0, pc                            |     r0 = 0x46bae;
    0x00023568 ldr r3, [r3]                          |     r3 = *(0x46b9a);
    0x0002356a str r3, [sp, 0x214]                   |     var_214h = r3;
    0x0002356c mov.w r3, 0                           |     r3 = 0;
    0x00023570 blx 0x10cfc                           |     r0 = fcn_00010cfc ();
    0x00023574 mov r5, r0                            |     r5 = r0;
    0x00023576 cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x00023578 beq 0x23604                           |         goto label_4;
                                                     |     }
                                                     | label_1:
    0x0002357a movs r0, 0x1f                         |     r0 = 0x1f;
    0x0002357c blx 0x103c0                           |     fcn_000103c0 ();
    0x00023580 movs r2, 1                            |     r2 = 1;
    0x00023582 mov r6, r0                            |     r6 = r0;
    0x00023584 mov.w r1, 0x1c0                       |     r1 = case.0x269a8.32;
    0x00023588 mov r0, r5                            |     r0 = r5;
    0x0002358a blx 0x10fb8                           |     r0 = fcn_00010fb8 ();
                                                     |     if (r0 != 0) {
    0x0002358e cbnz r0, 0x235f6                      |         goto label_5;
                                                     |     }
                                                     | label_0:
    0x00023590 ldr r1, [pc, 0xb4]                    |     
    0x00023592 mov r0, r5                            |     r0 = r5;
    0x00023594 add r1, pc                            |     r1 = 0x46be0;
    0x00023596 blx 0xfd38                            |     r0 = fcn_0000fd38 ();
    0x0002359a mov r4, r0                            |     r4 = r0;
                                                     |     if (r0 != 0) {
    0x0002359c cbnz r0, 0x235ce                      |         goto label_6;
                                                     |     }
    0x0002359e ldr r0, [pc, 0xac]                    |     
    0x000235a0 mov r1, r8                            |     r1 = r8;
    0x000235a2 add r0, pc                            |     r0 = 0x46bf4;
    0x000235a4 blx 0x11768                           |     r0 = fcn_00011768 ();
    0x000235a8 cmp r0, 0                             |     
                                                     |     if (r0 != 0) {
    0x000235aa bne 0x2362a                           |         goto label_7;
                                                     |     }
                                                     |     do {
                                                     | label_2:
    0x000235ac mov r0, r6                            |         r0 = r6;
    0x000235ae blx 0x103c0                           |         fcn_000103c0 ();
    0x000235b2 ldr r2, [pc, 0x9c]                    |         
    0x000235b4 ldr r3, [pc, 0x88]                    |         r3 = *(0x23640);
    0x000235b6 add r2, pc                            |         r2 = 0x46c0c;
    0x000235b8 ldr r3, [r2, r3]                      |         r3 = *(0x46c0c);
    0x000235ba ldr r2, [r3]                          |         r2 = *(0x46c0c);
    0x000235bc ldr r3, [sp, 0x214]                   |         r3 = var_214h;
    0x000235be eors r2, r3                           |         r2 ^= r3;
    0x000235c0 mov.w r3, 0                           |         r3 = 0;
                                                     |         if (r2 != r3) {
    0x000235c4 bne 0x23638                           |             goto label_8;
                                                     |         }
    0x000235c6 add.w sp, sp, 0x218                   |         
    0x000235ca pop.w {r4, r5, r6, r7, r8, pc}        |         
                                                     | label_6:
    0x000235ce mov r1, r4                            |         r1 = r4;
    0x000235d0 mov r0, r7                            |         r0 = r7;
    0x000235d2 blx 0x11940                           |         fcn_00011940 ();
    0x000235d6 mov r1, r4                            |         r1 = r4;
    0x000235d8 movs r0, 0xa                          |         r0 = 0xa;
    0x000235da blx 0x10e68                           |         fcn_00010e68 ();
    0x000235de mov r0, r4                            |         r0 = r4;
    0x000235e0 blx 0x103dc                           |         fcn_000103dc ();
    0x000235e4 mov r0, r4                            |         r0 = r4;
    0x000235e6 blx 0xf610                            |         fcn_0000f610 ();
    0x000235ea blx 0xfec0                            |         fcn_0000fec0 ();
    0x000235ee mov r0, r4                            |         r0 = r4;
    0x000235f0 blx 0xfb10                            |         fcn_0000fb10 ();
    0x000235f4 b 0x235ac                             |         
                                                     |     } while (1);
                                                     | label_5:
    0x000235f6 ldr r1, [pc, 0x5c]                    |     
    0x000235f8 add r2, sp, 0x14                      |     r2 += var_14h;
    0x000235fa movs r0, 3                            |     r0 = 3;
    0x000235fc add r1, pc                            |     r1 = 0x46c56;
    0x000235fe blx 0x11494                           |     fcn_00011494 ();
    0x00023602 b 0x23590                             |     goto label_0;
                                                     | label_4:
    0x00023604 blx 0x10d80                           |     fcn_00010d80 ();
    0x00023608 ldr r3, [pc, 0x4c]                    |     
    0x0002360a add r4, sp, 0x14                      |     r4 += var_14h;
    0x0002360c strd r0, r8, [sp, 4]                  |     __asm ("strd r0, r8, [sp, 4]");
    0x00023610 movs r2, 1                            |     r2 = 1;
    0x00023612 mov r0, r4                            |     r0 = r4;
    0x00023614 add r3, pc                            |     r3 = 0x46c70;
    0x00023616 str r3, [sp]                          |     *(sp) = r3;
    0x00023618 mov.w r3, 0x200                       |     r3 = case.0x269a8.32;
    0x0002361c mov r1, r3                            |     r1 = r3;
    0x0002361e blx 0x10a44                           |     fcn_00010a44 ();
    0x00023622 strb.w r5, [sp, 0x213]                |     var_213h = r5;
    0x00023626 mov r5, r4                            |     r5 = r4;
    0x00023628 b 0x2357a                             |     goto label_1;
                                                     | label_7:
    0x0002362a ldr r1, [pc, 0x30]                    |     
    0x0002362c mov r2, r5                            |     r2 = r5;
    0x0002362e movs r0, 3                            |     r0 = 3;
    0x00023630 add r1, pc                            |     r1 = 0x46c92;
    0x00023632 blx 0x11494                           |     fcn_00011494 ();
    0x00023636 b 0x235ac                             |     goto label_2;
                                                     | label_8:
    0x00023638 blx 0x10d58                           |     fcn_00010d58 ();
    0x0002363c ldm r5!, {r1, r4, r6}                 |     r1 = *(r5!);
                                                     |     r4 = *((r5! + 4));
                                                     |     r6 = *((r5! + 8));
    0x0002363e movs r2, r0                           |     r2 = r0;
    0x00023640 lsrs r4, r7, 0x11                     |     r4 = r7 >> 0x11;
    0x00023642 movs r0, r0                           |     
    0x00023644 ldrh r2, [r7, 0x3a]                   |     r2 = *((r7 + 0x3a));
    0x00023646 movs r1, r0                           |     r1 = r0;
    0x00023648 ldr r0, [r1, 0x7c]                    |     r0 = *((r1 + 0x7c));
    0x0002364a movs r1, r0                           |     r1 = r0;
    0x0002364c ldrh r6, [r4, 0xa]                    |     r6 = *((r4 + 0xa));
    0x0002364e movs r1, r0                           |     r1 = r0;
    0x00023650 ldm r4, {r1, r2, r4, r5, r6, r7}      |     r1 = *(r4);
                                                     |     r2 = *((r4 + 4));
                                                     |     r4 = *((r4 + 8));
                                                     |     r5 = *((r4 + 12));
                                                     |     r6 = *((r4 + 16));
                                                     |     r7 = *((r4 + 20));
    0x00023652 movs r2, r0                           |     r2 = r0;
    0x00023654 ldrh r0, [r1, 0x38]                   |     r0 = *((r1 + 0x38));
    0x00023656 movs r1, r0                           |     r1 = r0;
    0x00023658 ldrh r4, [r4, 0x36]                   |     r4 = *((r4 + 0x36));
    0x0002365a movs r1, r0                           |     r1 = r0;
    0x0002365c ldrh r0, [r1, 0x38]                   |     r0 = *((r1 + 0x38));
    0x0002365e movs r1, r0                           |     r1 = r0;
    0x00023720 push {r3, r4, r5, lr}                 |     
    0x00023722 mov r4, r0                            |     r4 = r0;
    0x00023724 mov r5, r1                            |     r5 = r1;
    0x00023726 movs r0, 0                            |     r0 = 0;
    0x00023728 movs r1, 0x20                         |     r1 = 0x20;
    0x0002372a blx 0x1096c                           |     r0 = fcn_0001096c ();
    0x0002372e cbz r0, 0x23732                       |     
                                                     |     while (r0 != 0) {
    0x00023730 pop {r3, r4, r5, pc}                  |         
    0x00023732 movs r1, 0x23                         |         r1 = 0x23;
    0x00023734 blx 0x1096c                           |         r0 = fcn_0001096c ();
    0x00023738 cmp r0, 0                             |         
    0x0002373a bne 0x23730                           |         
                                                     |     }
    0x0002373c mov r1, r5                            |     r1 = r5;
    0x0002373e mov r0, r4                            |     r0 = r4;
    0x00023740 pop.w {r3, r4, r5, lr}                |     
    0x00023744 b 0x23550                             |     goto label_3;
                                                     | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x23eb8 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.read_config ()                                   | void read_config (int16_t arg1, int16_t arg2, int16_t arg3) {
                                                                 |     int16_t var_0h;
                                                                 |     int32_t var_4h_4;
                                                                 |     int32_t var_4h_5;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_18h;
                                                                 |     int16_t var_1ch;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_24h;
                                                                 |     int16_t var_28h;
                                                                 |     int16_t var_2ch;
                                                                 |     int16_t var_30h;
                                                                 |     int16_t var_34h;
                                                                 |     int16_t var_410h;
                                                                 |     int32_t var_4h_2;
                                                                 |     int32_t var_8h;
                                                                 |     int16_t var_1h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_3h;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_4h_3;
                                                                 |     int8_t var_1h_2;
                                                                 |     int16_t var_448h;
                                                                 |     int16_t var_1440h;
                                                                 |     int32_t var_0h_2;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
    0x00023eb8 ldr.w r3, [pc, 0x4d4]                             |     
    0x00023ebc push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00023ec0 sub.w sp, sp, 0x1440                              |     
    0x00023ec4 sub sp, 0xc                                       |     
    0x00023ec6 mov fp, r2                                        |     
    0x00023ec8 add r3, pc                                        |     r3 = 0x4825c;
    0x00023eca strd r1, r0, [sp, 0x14]                           |     __asm ("strd r1, r0, [var_18h]");
    0x00023ece add.w r0, sp, 0x1440                              |     r0 += var_1440h;
    0x00023ed2 ldr r1, [r3, 4]                                   |     r1 = *(0x48260);
    0x00023ed4 adds r0, 4                                        |     r0 += 4;
    0x00023ed6 ldr.w r2, [pc, 0x4bc]                             |     r2 = *(0x24396);
    0x00023eda str r1, [sp, 0x24]                                |     var_24h = r1;
    0x00023edc ldr.w r1, [pc, 0x4b8]                             |     
    0x00023ee0 add r1, pc                                        |     r1 = 0x4827c;
    0x00023ee2 ldr r2, [r1, r2]                                  |     
    0x00023ee4 ldr r1, [r3]                                      |     r1 = *(0x4825c);
    0x00023ee6 ldr r2, [r2]                                      |     r2 = *(0x4827c);
    0x00023ee8 str r2, [r0]                                      |     *(r0) = r2;
    0x00023eea mov.w r2, 0                                       |     r2 = 0;
    0x00023eee ldr r2, [r3, 0x10]                                |     r2 = *(0x4826c);
    0x00023ef0 str r1, [sp, 0x28]                                |     var_28h = r1;
                                                                 |     if (r2 == 0) {
    0x00023ef2 cbnz r2, 0x23ef6                                  |         
    0x00023ef4 str r2, [r3, 0x14]                                |         *((r3 + 0x14)) = r2;
                                                                 |     }
    0x00023ef6 ldr.w r1, [pc, 0x4a4]                             |     
    0x00023efa ldr r0, [sp, 0x18]                                |     r0 = var_18h;
    0x00023efc add r1, pc                                        |     r1 = 0x4829e;
    0x00023efe blx 0xfd38                                        |     r0 = fcn_0000fd38 ();
    0x00023f02 mov r6, r0                                        |     r6 = r0;
    0x00023f04 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00023f06 beq.w 0x24338                                     |         goto label_13;
                                                                 |     }
    0x00023f0a ldr.w r3, [pc, 0x494]                             |     
    0x00023f0e add r3, pc                                        |     r3 = 0x482b4;
    0x00023f10 ldr r1, [r3, 0x14]                                |     r1 = *(0x482c8);
    0x00023f12 cmp.w r1, 0x1000                                  |     
                                                                 |     if (r1 > 0x1000) {
    0x00023f16 bgt.w 0x24352                                     |         goto label_14;
                                                                 |     }
    0x00023f1a ldr r2, [r3, 0x10]                                |     r2 = *((r3 + 0x10));
    0x00023f1c cmp r2, 0x10                                      |     
                                                                 |     if (r2 > 0x10) {
    0x00023f1e bgt.w 0x24378                                     |         goto label_15;
                                                                 |     }
    0x00023f22 adds r2, 1                                        |     r2++;
    0x00023f24 movs r5, 0                                        |     r5 = 0;
    0x00023f26 str r2, [r3, 0x10]                                |     *((r3 + 0x10)) = r2;
    0x00023f28 adds r1, 1                                        |     r1++;
    0x00023f2a ldr r2, [sp, 0x18]                                |     r2 = var_18h;
    0x00023f2c mov r4, r5                                        |     r4 = r5;
    0x00023f2e str r1, [r3, 0x14]                                |     *((r3 + 0x14)) = r1;
    0x00023f30 str r5, [r3]                                      |     *(r3) = r5;
    0x00023f32 str r2, [r3, 4]                                   |     *((r3 + 4)) = r2;
    0x00023f34 ldr.w r3, [pc, 0x46c]                             |     
    0x00023f38 add r3, pc                                        |     r3 = 0x482e0;
    0x00023f3a str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x00023f3c ldr.w r3, [pc, 0x468]                             |     
    0x00023f40 add r3, pc                                        |     r3 = 0x482ec;
    0x00023f42 str r3, [sp, 0x20]                                |     var_20h = r3;
    0x00023f44 ldr.w r3, [pc, 0x464]                             |     
    0x00023f48 add r3, pc                                        |     r3 = 0x482f8;
    0x00023f4a str r3, [sp, 0x30]                                |     var_30h = r3;
    0x00023f4c ldr.w r3, [pc, 0x460]                             |     
    0x00023f50 add r3, pc                                        |     r3 = 0x48304;
    0x00023f52 str r3, [sp, 0x34]                                |     var_34h = r3;
                                                                 | label_1:
    0x00023f54 movs r7, 0                                        |     r7 = 0;
    0x00023f56 b 0x23f7a                                         |     
                                                                 |     while (r3 <= r5) {
                                                                 | label_0:
    0x00023f58 add.w sb, r4, r7                                  |         sb = r4 + r7;
    0x00023f5c mov r2, r6                                        |         r2 = r6;
    0x00023f5e subs r1, r5, r7                                   |         r1 = r5 - r7;
    0x00023f60 mov r0, sb                                        |         r0 = sb;
    0x00023f62 blx 0xfb28                                        |         r0 = fcn_0000fb28 ();
                                                                 |         if (r0 == 0) {
    0x00023f66 cbz r0, 0x23f96                                   |             goto label_16;
                                                                 |         }
    0x00023f68 mov r0, sb                                        |         r0 = sb;
    0x00023f6a blx 0x10548                                       |         r0 = fcn_00010548 ();
    0x00023f6e add r7, r0                                        |         r7 += r0;
    0x00023f70 subs r3, r7, 1                                    |         r3 = r7 - 1;
    0x00023f72 ldrb r2, [r4, r3]                                 |         r2 = *((r4 + r3));
    0x00023f74 add r3, r4                                        |         r3 += r4;
    0x00023f76 cmp r2, 0xa                                       |         
                                                                 |         if (r2 == 0xa) {
    0x00023f78 beq 0x24034                                       |             goto label_17;
                                                                 |         }
    0x00023f7a adds r3, r7, 1                                    |         r3 = r7 + 1;
    0x00023f7c cmp r3, r5                                        |         
    0x00023f7e blo 0x23f58                                       |         
                                                                 |     }
    0x00023f80 add.w r5, r5, 0x100                               |     r5 += case.0x269a8.32;
    0x00023f84 mov r0, r4                                        |     r0 = r4;
    0x00023f86 mov r1, r5                                        |     r1 = r5;
    0x00023f88 blx 0x11594                                       |     r0 = fcn_00011594 ();
    0x00023f8c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00023f8e beq.w 0x2431e                                     |         goto label_18;
                                                                 |     }
    0x00023f92 mov r4, r0                                        |     r4 = r0;
    0x00023f94 b 0x23f58                                         |     goto label_0;
                                                                 | label_16:
    0x00023f96 strb.w r0, [sb]                                   |     *(sb) = r0;
    0x00023f9a mov r8, r0                                        |     r8 = r0;
    0x00023f9c mov r0, r6                                        |     r0 = r6;
    0x00023f9e blx 0xfb10                                        |     fcn_0000fb10 ();
    0x00023fa2 ldr.w r2, [pc, 0x410]                             |     
    0x00023fa6 mov r0, r4                                        |     r0 = r4;
    0x00023fa8 add r2, pc                                        |     r2 = 0x48362;
    0x00023faa ldr r3, [r2]                                      |     r3 = *(0x48362);
    0x00023fac adds r3, 1                                        |     r3++;
    0x00023fae str r3, [r2]                                      |     *(r2) = r3;
    0x00023fb0 blx 0xf718                                        |     r0 = fcn_0000f718 ();
                                                                 |     if (r0 == 0) {
    0x00023fb4 cbz r0, 0x23ff4                                   |         goto label_3;
                                                                 |     }
    0x00023fb6 mov r6, r8                                        |     r6 = r8;
                                                                 | label_2:
    0x00023fb8 add.w sb, sp, 0x48                                |     sb += var_48h;
    0x00023fbc mov.w r2, 0x400                                   |     r2 = case.0x269a8.32;
    0x00023fbe str r0, [r0, 0x28]                                |     *((r0 + 0x28)) = r0;
    0x00023fc0 sub.w r8, sb, 4                                   |     r8 -= var_4h;
    0x00023fc4 add.w sl, sp, 0x448                               |     sl += var_448h;
    0x00023fc8 mov r1, r8                                        |     r1 = r8;
    0x00023fca blx 0x101b4                                       |     fcn_000101b4 ();
    0x00023fce ldrb.w r3, [r8]                                   |     r3 = *(r8);
    0x00023fd2 mov r7, r0                                        |     r7 = r0;
    0x00023fd4 cmp r3, 0x5b                                      |     
                                                                 |     if (r3 == 0x5b) {
    0x00023fd6 beq 0x2404e                                       |         goto label_19;
                                                                 |     }
    0x00023fd8 cmp r3, 0x69                                      |     
                                                                 |     if (r3 == 0x69) {
    0x00023fda beq 0x24076                                       |         goto label_20;
                                                                 |     }
                                                                 | label_4:
    0x00023fdc ldr.w sl, [sp, 0x14]                              |     sl = var_14h;
                                                                 | label_6:
    0x00023fe0 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x00023fe2 beq 0x240d0                                       |         goto label_21;
                                                                 |     }
    0x00023fe4 mov r2, r7                                        |     r2 = r7;
    0x00023fe6 mov r1, r8                                        |     r1 = r8;
    0x00023fe8 mov r0, sl                                        |     r0 = sl;
    0x00023fea mov r3, fp                                        |     r3 = fp;
    0x00023fec blx 0x10b04                                       |     fcn_00010b04 ();
                                                                 | label_5:
    0x00023ff0 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x00023ff2 bne 0x23f54                                       |         goto label_1;
                                                                 |     }
                                                                 | label_3:
    0x00023ff4 mov r0, r4                                        |     r0 = r4;
    0x00023ff6 blx 0x10168                                       |     fcn_00010168 ();
    0x00023ffa ldr r3, [pc, 0x3bc]                               |     
    0x00023ffc movs r0, 0                                        |     r0 = 0;
    0x00023ffe ldr r1, [sp, 0x28]                                |     r1 = var_28h;
    0x00024000 add r3, pc                                        |     r3 = 0x483be;
    0x00024002 ldr r2, [r3, 0x10]                                |     r2 = *(0x483ce);
    0x00024004 str r1, [r3]                                      |     *(r3) = r1;
    0x00024006 ldr r1, [sp, 0x24]                                |     r1 = var_24h;
    0x00024008 subs r2, 1                                        |     r2--;
    0x0002400a str r2, [r3, 0x10]                                |     *((r3 + 0x10)) = r2;
    0x0002400c str r1, [r3, 4]                                   |     *((r3 + 4)) = r1;
                                                                 | label_12:
    0x0002400e ldr r2, [pc, 0x3ac]                               |     
    0x00024010 add.w r1, sp, 0x1440                              |     r1 += var_1440h;
    0x00024014 ldr r3, [pc, 0x37c]                               |     r3 = *(0x24394);
    0x00024016 adds r1, 4                                        |     r1 += 4;
    0x00024018 add r2, pc                                        |     r2 = 0x483da;
    0x0002401a ldr r3, [r2, r3]                                  |     r3 = *(0x483da);
    0x0002401c ldr r2, [r3]                                      |     r2 = *(0x483da);
    0x0002401e ldr r3, [r1]                                      |     r3 = *(r1);
    0x00024020 eors r2, r3                                       |     r2 ^= r3;
    0x00024022 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x00024026 bne.w 0x24374                                     |         goto label_22;
                                                                 |     }
    0x0002402a add.w sp, sp, 0x1440                              |     
    0x0002402e add sp, 0xc                                       |     
    0x00024030 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_17:
    0x00024034 ldr r2, [pc, 0x388]                               |     
    0x00024036 movs r1, 0                                        |     r1 = 0;
    0x00024038 strb r1, [r3]                                     |     *(r3) = r1;
    0x0002403a mov r0, r4                                        |     r0 = r4;
    0x0002403c add r2, pc                                        |     r2 = 0x48400;
    0x0002403e ldr r3, [r2]                                      |     r3 = *(0x48400);
    0x00024040 adds r3, 1                                        |     r3++;
    0x00024042 str r3, [r2]                                      |     *(r2) = r3;
    0x00024044 blx 0xf718                                        |     r0 = fcn_0000f718 ();
    0x00024048 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002404a beq 0x23f54                                       |         goto label_1;
                                                                 |     }
    0x0002404c b 0x23fb8                                         |     goto label_2;
                                                                 | label_19:
    0x0002404e mov r0, r8                                        |     r0 = r8;
    0x00024050 str.w r8, [sp, 0x1c]                              |     __asm ("str.w r8, [var_1ch]");
    0x00024054 blx 0x10548                                       |     fcn_00010548 ();
    0x00024058 subs r3, r0, 1                                    |     r3 -= var_1h;
    0x0002405a ldrb.w r1, [r8, r3]                               |     r1 = *((r8 + r3));
    0x0002405e cmp r1, 0x5d                                      |     
                                                                 |     if (r1 == 0x5d) {
    0x00024060 beq 0x240e0                                       |         goto label_23;
                                                                 |     }
    0x00024062 ldr r0, [pc, 0x360]                               |     
    0x00024064 sub.w r1, sb, 3                                   |     r1 -= var_3h;
    0x00024068 add r0, pc                                        |     r0 = 0x48432;
    0x0002406a blx 0x11018                                       |     fcn_00011018 ();
    0x0002406e cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x00024070 bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x00024074 b 0x23ff4                                         |     goto label_3;
                                                                 | label_20:
    0x00024076 ldr r1, [sp, 0x20]                                |     r1 = var_20h;
    0x00024078 movs r2, 7                                        |     r2 = 7;
    0x0002407a mov r0, r8                                        |     r0 = r8;
    0x0002407c blx 0x10bfc                                       |     r0 = fcn_00010bfc ();
    0x00024080 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00024082 bne 0x23fdc                                       |         goto label_4;
                                                                 |     }
    0x00024084 ldr r1, [sp, 0x20]                                |     r1 = var_20h;
    0x00024086 mov r0, r8                                        |     r0 = r8;
    0x00024088 blx 0xfbe0                                        |     r0 = fcn_0000fbe0 ();
    0x0002408c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002408e beq.w 0x241de                                     |         goto label_24;
                                                                 |     }
    0x00024092 ldr r1, [pc, 0x334]                               |     
    0x00024094 mov r0, r8                                        |     r0 = r8;
    0x00024096 add r1, pc                                        |     r1 = 0x48464;
    0x00024098 blx 0xfbe0                                        |     r0 = fcn_0000fbe0 ();
    0x0002409c cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0002409e bne 0x24114                                       |         goto label_25;
                                                                 |     }
    0x000240a0 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x000240a2 beq.w 0x242ac                                     |         goto label_26;
                                                                 |     }
    0x000240a6 mov r0, r7                                        |     r0 = r7;
    0x000240a8 sub.w sl, sl, 4                                   |     sl -= var_4h_3;
    0x000240ac blx 0xf7a8                                        |     fcn_0000f7a8 ();
    0x000240b0 mov sb, r4                                        |     sb = r4;
    0x000240b2 mov r8, r0                                        |     r8 = r0;
    0x000240b4 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000240b6 bne 0x241b6                                       |         goto label_7;
                                                                 |     }
    0x000240b8 cmp.w fp, 1                                       |     
                                                                 |     if (fp == 1) {
    0x000240bc beq 0x23ff0                                       |         goto label_5;
                                                                 |     }
    0x000240be ldr r0, [pc, 0x30c]                               |     
    0x000240c0 mov r1, r7                                        |     r1 = r7;
    0x000240c2 add r0, pc                                        |     r0 = 0x48494;
    0x000240c4 blx 0x11018                                       |     fcn_00011018 ();
    0x000240c8 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x000240ca bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x000240ce b 0x23ff4                                         |     goto label_3;
                                                                 | label_21:
    0x000240d0 ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
    0x000240d2 mov r1, r8                                        |     r1 = r8;
    0x000240d4 blx 0x11018                                       |     fcn_00011018 ();
    0x000240d8 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x000240da bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x000240de b 0x23ff4                                         |     goto label_3;
                                                                 | label_23:
    0x000240e0 movs r1, 0                                        |     r1 = 0;
    0x000240e2 sub.w sb, sb, 3                                   |     sb -= var_3h;
    0x000240e6 mov r0, sb                                        |     r0 = sb;
    0x000240e8 strb.w r1, [r8, r3]                               |     *((r8 + r3)) = r1;
    0x000240ec blx 0xfea8                                        |     r0 = fcn_0000fea8 ();
    0x000240f0 mov sl, r0                                        |     sl = r0;
    0x000240f2 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000240f4 beq.w 0x24288                                     |         goto label_27;
                                                                 |     }
                                                                 |     if (r7 != 0) {
    0x000240f8 cbz r7, 0x2410a                                   |         
    0x000240fa mov r0, r7                                        |         r0 = r7;
    0x000240fc mov.w r2, 0x400                                   |         r2 = case.0x269a8.32;
    0x00024100 mov r1, r8                                        |         r1 = r8;
    0x00024102 blx 0x101b4                                       |         r0 = fcn_000101b4 ();
    0x00024106 mov r7, r0                                        |         r7 = r0;
    0x00024108 b 0x23fe0                                         |         goto label_6;
                                                                 |     }
    0x0002410a str r0, [sp, 0x14]                                |     var_14h = r0;
    0x0002410c cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0002410e bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x00024112 b 0x23ff4                                         |     goto label_3;
                                                                 | label_25:
    0x00024114 ldr r1, [pc, 0x2b8]                               |     
    0x00024116 mov r0, r8                                        |     r0 = r8;
    0x00024118 add r1, pc                                        |     r1 = 0x484ec;
    0x0002411a blx 0xfbe0                                        |     r0 = fcn_0000fbe0 ();
    0x0002411e cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00024120 bne 0x24204                                       |         goto label_28;
                                                                 |     }
    0x00024122 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x00024124 beq.w 0x242d6                                     |         goto label_29;
                                                                 |     }
    0x00024128 ldrb r2, [r7]                                     |     r2 = *(r7);
    0x0002412a cmp r2, 0x2f                                      |     
                                                                 |     if (r2 == 0x2f) {
    0x0002412c beq.w 0x2429a                                     |         goto label_30;
                                                                 |     }
    0x00024130 sub.w r8, sl, 4                                   |     r8 -= var_4h_3;
    0x00024134 ldr r1, [sp, 0x18]                                |     r1 = var_18h;
    0x00024136 mov.w r2, 0x1000                                  |     r2 = case.0x269a8.32;
    0x0002413a str r0, [sp, 0x1c]                                |     var_1ch = r0;
    0x0002413c mov r0, r8                                        |     r0 = r8;
    0x0002413e blx 0xf7f4                                        |     fcn_0000f7f4 ();
    0x00024142 movs r1, 0x2f                                     |     r1 = 0x2f;
    0x00024144 mov r0, r8                                        |     r0 = r8;
    0x00024146 blx 0xfe9c                                        |     fcn_0000fe9c ();
    0x0002414a ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0002414c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002414e beq.w 0x24318                                     |         goto label_31;
                                                                 |     }
    0x00024152 strb r3, [r0, 1]                                  |     var_1h_2 = r3;
                                                                 | label_11:
    0x00024154 mov r1, r7                                        |     r1 = r7;
    0x00024156 mov.w r2, 0x1000                                  |     r2 = case.0x269a8.32;
    0x0002415a mov r0, r8                                        |     r0 = r8;
    0x0002415c blx 0x110e4                                       |     fcn_000110e4 ();
                                                                 | label_9:
    0x00024160 ldr r1, [sp, 0x14]                                |     r1 = var_14h;
    0x00024162 mov r2, fp                                        |     r2 = fp;
    0x00024164 mov r0, r8                                        |     r0 = r8;
    0x00024166 bl 0x23eb8                                        |     r0 = read_config ();
    0x0002416a cmp r0, 0                                         |     
    0x0002416c it ne                                             |     
                                                                 |     if (r0 == 0) {
    0x0002416e cmpne fp, 1                                       |         __asm ("cmpne fp, 1");
                                                                 |         goto label_32;
                                                                 |     }
                                                                 |     if (r0 == 0) {
                                                                 | label_32:
    0x00024172 beq.w 0x23ff0                                     |         goto label_5;
                                                                 |     }
    0x00024176 ldr r0, [pc, 0x25c]                               |     
    0x00024178 mov r1, r8                                        |     r1 = r8;
    0x0002417a add r0, pc                                        |     r0 = 0x48554;
    0x0002417c blx 0x11018                                       |     fcn_00011018 ();
    0x00024180 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x00024182 bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x00024186 b 0x23ff4                                         |     goto label_3;
                                                                 | label_8:
    0x00024188 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0002418a adds r2, 6                                        |     r2 += 6;
    0x0002418c ldr r1, [sp, 0x30]                                |     r1 = var_30h;
    0x0002418e adds r0, r3, r2                                   |     r0 = r3 + r2;
    0x00024190 blx 0x11768                                       |     r0 = fcn_00011768 ();
                                                                 |     if (r0 != 0) {
    0x00024194 cbnz r0, 0x241b6                                  |         goto label_7;
                                                                 |     }
    0x00024196 ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x00024198 movs r2, 1                                        |     r2 = 1;
    0x0002419a mov r0, sl                                        |     r0 = sl;
    0x0002419c strd r7, r4, [sp, 4]                              |     __asm ("strd r7, r4, [var_4h_4]");
    0x000241a0 str r3, [sp]                                      |     *(sp) = r3;
    0x000241a2 mov.w r3, 0x1000                                  |     r3 = case.0x269a8.32;
    0x000241a6 mov r1, r3                                        |     r1 = r3;
    0x000241a8 blx 0x10a44                                       |     fcn_00010a44 ();
    0x000241ac ldr r1, [sp, 0x14]                                |     r1 = var_14h;
    0x000241ae mov r2, fp                                        |     r2 = fp;
    0x000241b0 mov r0, sl                                        |     r0 = sl;
    0x000241b2 bl 0x23eb8                                        |     read_config ();
                                                                 |     do {
                                                                 | label_7:
    0x000241b6 mov r0, r8                                        |         r0 = r8;
    0x000241b8 blx 0x1167c                                       |         r0 = fcn_0001167c ();
    0x000241bc mov r3, r0                                        |         r3 = r0;
    0x000241be cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x000241c0 beq.w 0x242c6                                     |             goto label_33;
                                                                 |         }
    0x000241c4 ldrb r2, [r3, 0xb]                                |         r2 = *((r3 + 0xb));
    0x000241c6 cmp r2, 0x2e                                      |         
    0x000241c8 beq 0x241b6                                       |         
                                                                 |     } while (r2 == 0x2e);
    0x000241ca add.w r4, r3, 0xb                                 |     r4 = r3 + 0xb;
    0x000241ce str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x000241d0 mov r0, r4                                        |     r0 = r4;
    0x000241d2 blx 0x10548                                       |     r0 = fcn_00010548 ();
    0x000241d6 cmp r0, 5                                         |     
    0x000241d8 mov r2, r0                                        |     r2 = r0;
                                                                 |     if (r0 < 5) {
    0x000241da bls 0x241b6                                       |         goto label_7;
                                                                 |     }
    0x000241dc b 0x24188                                         |     goto label_8;
                                                                 | label_24:
    0x000241de cmp.w fp, 1                                       |     
                                                                 |     if (fp == 1) {
    0x000241e2 beq.w 0x23ff0                                     |         goto label_5;
                                                                 |     }
    0x000241e6 movs r1, 0x11                                     |     r1 = 0x11;
    0x000241e8 blx 0x1096c                                       |     r0 = fcn_0001096c ();
    0x000241ec cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000241ee bne.w 0x23ff0                                     |         goto label_5;
                                                                 |     }
    0x000241f2 ldr r0, [pc, 0x1e4]                               |     
    0x000241f4 mov r1, r8                                        |     r1 = r8;
    0x000241f6 add r0, pc                                        |     r0 = 0x485d4;
    0x000241f8 blx 0x118ec                                       |     fcn_000118ec ();
    0x000241fc cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x000241fe bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x00024202 b 0x23ff4                                         |     goto label_3;
                                                                 | label_28:
    0x00024204 ldr r1, [pc, 0x1d4]                               |     
    0x00024206 mov r0, r8                                        |     r0 = r8;
    0x00024208 add r1, pc                                        |     r1 = 0x485e8;
    0x0002420a blx 0xfbe0                                        |     r0 = fcn_0000fbe0 ();
    0x0002420e cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00024210 bne.w 0x23fdc                                     |         goto label_4;
                                                                 |     }
    0x00024214 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x00024216 beq 0x242fe                                       |         goto label_34;
                                                                 |     }
    0x00024218 str r0, [sp, 0x1c]                                |     var_1ch = r0;
    0x0002421a mov r0, r7                                        |     r0 = r7;
    0x0002421c blx 0x10548                                       |     fcn_00010548 ();
    0x00024220 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x00024222 sub.w sl, sl, 0x410                               |     sl -= var_410h;
    0x00024226 cmp r0, 5                                         |     
    0x00024228 str.w r7, [sl]                                    |     __asm ("str.w r7, [sl]");
    0x0002422c str.w r3, [sl, 8]                                 |     __asm ("str.w r3, [var_8h]");
    0x00024230 ldr r3, [sp, 0x14]                                |     r3 = var_14h;
    0x00024232 str.w r3, [sl, 4]                                 |     __asm ("str.w r3, [var_4h_2]");
                                                                 |     if (r0 < 5) {
    0x00024236 bls 0x242f0                                       |         goto label_35;
                                                                 |     }
    0x00024238 ldr r1, [pc, 0x1a4]                               |     
    0x0002423a sub.w r8, r0, 5                                   |     r8 = r0 - 5;
    0x0002423c lsrs r5, r0, 0x20                                 |     r5 = r0 >> 0x20;
    0x0002423e add.w sl, r7, r8                                  |     sl = r7 + r8;
    0x00024242 mov r0, sl                                        |     r0 = sl;
    0x00024244 add r1, pc                                        |     r1 = 0x48628;
    0x00024246 blx 0x11768                                       |     r0 = fcn_00011768 ();
                                                                 |     if (r0 == 0) {
    0x0002424a cbnz r0, 0x24252                                  |         
    0x0002424c movs r3, 0                                        |         r3 = 0;
    0x0002424e strb.w r3, [r7, r8]                               |         *((r7 + r8)) = r3;
                                                                 |     }
    0x00024252 sub.w r1, sb, 0x10                                |     r1 -= var_410h;
    0x00024256 mov r0, fp                                        |     r0 = fp;
    0x00024258 blx 0x10c08                                       |     fprintf_chk ()
    0x0002425c ldrb.w r2, [sl]                                   |     r2 = *(sl);
    0x00024260 mov r3, r0                                        |     r3 = r0;
                                                                 |     if (r2 == 0) {
    0x00024262 cbnz r2, 0x2426a                                  |         
    0x00024264 movs r2, 0x2e                                     |         r2 = 0x2e;
    0x00024266 strb.w r2, [sl]                                   |         *(sl) = r2;
                                                                 |     }
                                                                 | label_10:
    0x0002426a cmp r3, 0                                         |     
    0x0002426c it ne                                             |     
                                                                 |     if (r3 == 0) {
    0x0002426e cmpne fp, 1                                       |         __asm ("cmpne fp, 1");
                                                                 |         goto label_36;
                                                                 |     }
                                                                 |     if (r3 == 0) {
                                                                 | label_36:
    0x00024272 beq.w 0x23ff0                                     |         goto label_5;
                                                                 |     }
    0x00024276 ldr r0, [pc, 0x16c]                               |     
    0x00024278 mov r1, r7                                        |     r1 = r7;
    0x0002427a add r0, pc                                        |     r0 = 0x48664;
    0x0002427c blx 0x11018                                       |     fcn_00011018 ();
    0x00024280 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x00024282 bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x00024286 b 0x23ff4                                         |     goto label_3;
                                                                 | label_27:
    0x00024288 ldr r0, [pc, 0x15c]                               |     
    0x0002428a mov r1, sb                                        |     r1 = sb;
    0x0002428c add r0, pc                                        |     r0 = 0x48678;
    0x0002428e blx 0x11018                                       |     fcn_00011018 ();
    0x00024292 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x00024294 bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x00024298 b 0x23ff4                                         |     goto label_3;
                                                                 | label_30:
    0x0002429a sub.w r8, sl, 4                                   |     r8 -= var_4h_3;
    0x0002429e mov r1, r7                                        |     r1 = r7;
    0x000242a0 mov.w r2, 0x1000                                  |     r2 = case.0x269a8.32;
    0x000242a4 mov r0, r8                                        |     r0 = r8;
    0x000242a6 blx 0xf7f4                                        |     fcn_0000f7f4 ();
    0x000242aa b 0x24160                                         |     goto label_9;
                                                                 | label_26:
    0x000242ac cmp.w fp, 1                                       |     
                                                                 |     if (fp == 1) {
    0x000242b0 beq.w 0x23ff0                                     |         goto label_5;
                                                                 |     }
    0x000242b4 ldr r0, [pc, 0x134]                               |     
    0x000242b6 mov r1, r8                                        |     r1 = r8;
    0x000242b8 add r0, pc                                        |     r0 = 0x486a8;
    0x000242ba blx 0x11018                                       |     fcn_00011018 ();
    0x000242be cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x000242c0 bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x000242c4 b 0x23ff4                                         |     goto label_3;
                                                                 | label_33:
    0x000242c6 mov r0, r8                                        |     r0 = r8;
    0x000242c8 mov r4, sb                                        |     r4 = sb;
    0x000242ca blx 0x10bc8                                       |     fcn_00010bc8 ();
    0x000242ce cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x000242d0 bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x000242d4 b 0x23ff4                                         |     goto label_3;
                                                                 | label_29:
    0x000242d6 cmp.w fp, 1                                       |     
                                                                 |     if (fp == 1) {
    0x000242da beq.w 0x23ff0                                     |         goto label_5;
                                                                 |     }
    0x000242de ldr r0, [pc, 0x110]                               |     
    0x000242e0 mov r1, r8                                        |     r1 = r8;
    0x000242e2 add r0, pc                                        |     r0 = 0x486d8;
    0x000242e4 blx 0x11018                                       |     fcn_00011018 ();
    0x000242e8 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x000242ea bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x000242ee b 0x23ff4                                         |     goto label_3;
                                                                 | label_35:
    0x000242f0 sub.w r1, sb, 0x10                                |     r1 -= var_410h;
    0x000242f4 mov r0, fp                                        |     r0 = fp;
    0x000242f6 blx 0x10c08                                       |     r0 = fprintf_chk ()
    0x000242fa mov r3, r0                                        |     r3 = r0;
    0x000242fc b 0x2426a                                         |     goto label_10;
                                                                 | label_34:
    0x000242fe cmp.w fp, 1                                       |     
                                                                 |     if (fp == 1) {
    0x00024302 beq.w 0x23ff0                                     |         goto label_5;
                                                                 |     }
    0x00024306 ldr r0, [pc, 0xec]                                |     
    0x00024308 mov r1, r8                                        |     r1 = r8;
    0x0002430a add r0, pc                                        |     r0 = 0x48704;
    0x0002430c blx 0x11018                                       |     fcn_00011018 ();
    0x00024310 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x00024312 bne.w 0x23f54                                     |         goto label_1;
                                                                 |     }
    0x00024316 b 0x23ff4                                         |     goto label_3;
                                                                 | label_31:
    0x00024318 strb r0, [sl, -0x4]                               |     *((sl - 0x4)) = r0;
    0x0002431c b 0x24154                                         |     goto label_11;
                                                                 | label_18:
    0x0002431e ldr r0, [pc, 0xd8]                                |     
    0x00024320 add r0, pc                                        |     r0 = 0x4871e;
    0x00024322 blx 0x11018                                       |     fcn_00011018 ();
    0x00024326 mov r0, r4                                        |     r0 = r4;
    0x00024328 blx 0x10168                                       |     fcn_00010168 ();
    0x0002432c mov r0, r6                                        |     r0 = r6;
    0x0002432e blx 0xfb10                                        |     fcn_0000fb10 ();
    0x00024332 mov.w r0, -1                                      |     r0 = -1;
    0x00024336 b 0x2400e                                         |     goto label_12;
                                                                 | label_13:
    0x00024338 blx 0x117cc                                       |     r0 = fcn_000117cc ();
    0x0002433c ldr r0, [r0]                                      |     r0 = *(r0);
    0x0002433e cmp r0, 2                                         |     
                                                                 |     if (r0 != 2) {
    0x00024340 beq 0x2436a                                       |         
    0x00024342 cmp r0, 0xd                                       |         
                                                                 |         if (r0 == 0xd) {
    0x00024344 beq 0x2436a                                       |             goto label_37;
                                                                 |         }
    0x00024346 ldr r0, [sp, 0x18]                                |         r0 = var_18h;
    0x00024348 blx 0x106e4                                       |         fcn_000106e4 ();
    0x0002434c mov.w r0, -1                                      |         r0 = -1;
    0x00024350 b 0x2400e                                         |         goto label_12;
                                                                 | label_14:
    0x00024352 ldr r0, [pc, 0xa8]                                |         
    0x00024354 mov.w r1, 0x1000                                  |         r1 = case.0x269a8.32;
    0x00024358 add r0, pc                                        |         r0 = 0x4875a;
    0x0002435a blx 0x11018                                       |         fcn_00011018 ();
    0x0002435e mov r0, r6                                        |         r0 = r6;
    0x00024360 blx 0xfb10                                        |         fcn_0000fb10 ();
    0x00024364 mov.w r0, -1                                      |         r0 = -1;
    0x00024368 b 0x2400e                                         |         goto label_12;
                                                                 |     }
                                                                 | label_37:
    0x0002436a blx 0xf5f8                                        |     fcn_0000f5f8 ();
    0x0002436e mov.w r0, -1                                      |     r0 = -1;
    0x00024372 b 0x2400e                                         |     goto label_12;
                                                                 | label_22:
    0x00024374 blx 0x10d58                                       |     fcn_00010d58 ();
                                                                 | label_15:
    0x00024378 ldr r0, [pc, 0x84]                                |     
    0x0002437a movs r1, 0x10                                     |     r1 = 0x10;
    0x0002437c add r0, pc                                        |     r0 = 0x48780;
    0x0002437e blx 0x11018                                       |     fcn_00011018 ();
    0x00024382 mov r0, r6                                        |     r0 = r6;
    0x00024384 blx 0xfb10                                        |     fcn_0000fb10 ();
    0x00024388 mov.w r0, -1                                      |     r0 = -1;
    0x0002438c b 0x2400e                                         |     goto label_12;
                                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24404 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.read_config_with_type_when ()        | void read_config_with_type_when (int16_t arg1, int16_t arg2, int16_t arg3) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
                                                     |     r2 = arg3;
                                                     |     do {
    0x0000fb44 bx pc                                 |         return void (*pc)() ();
    0x00024404 push {r3, r4, r5, lr}                 |         
    0x00024406 mov r4, r0                            |         r4 = r0;
    0x00024408 mov r0, r1                            |         r0 = r1;
    0x0002440a mov r5, r2                            |         r5 = r2;
    0x0002440c blx 0xfea8                            |         r0 = fcn_0000fea8 ();
                                                     |         if (r0 == 0) {
    0x00024410 cbz r0, 0x24420                       |             goto label_0;
                                                     |         }
    0x00024412 mov r1, r0                            |         r1 = r0;
    0x00024414 mov r2, r5                            |         r2 = r5;
    0x00024416 mov r0, r4                            |         r0 = r4;
    0x00024418 pop.w {r3, r4, r5, lr}                |         
    0x0002441c b.w 0xfb44                            |         
                                                     |     } while (1);
                                                     | label_0:
    0x00024420 mov.w r0, -1                          |     r0 = -1;
    0x00024424 pop {r3, r4, r5, pc}                  |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24428 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.read_config_with_type ()     | void read_config_with_type () {
                                             |     do {
    0x00010068 bx pc                         |         return void (*pc)() ();
    0x00024428 movs r2, 2                    |         r2 = 2;
    0x0002442a b.w 0x10068                   |         
                                             |     } while (1);
                                             | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24430 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.read_configs_optional ()                         | void read_configs_optional (int16_t arg1, int16_t arg2) {
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_64h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00024430 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00024434 movs r3, 0                                        |     r3 = 0;
    0x00024436 ldr r5, [pc, 0xc0]                                |     
    0x00024438 sub sp, 0x6c                                      |     
    0x0002443a mov r4, r0                                        |     r4 = r0;
    0x0002443c mov sl, r1                                        |     sl = r1;
    0x0002443e ldr r2, [pc, 0xbc]                                |     r2 = *(0x244fe);
    0x00024440 mov r0, r3                                        |     r0 = r3;
    0x00024442 add r5, pc                                        |     r5 = 0x48940;
    0x00024444 movs r1, 6                                        |     r1 = 6;
    0x00024446 ldr r2, [r5, r2]                                  |     
    0x00024448 ldr r2, [r2]                                      |     r2 = *(0x48940);
    0x0002444a str r2, [sp, 0x64]                                |     var_64h = r2;
    0x0002444c mov.w r2, 0                                       |     r2 = 0;
    0x00024450 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00024452 blx 0xfce0                                        |     fcn_0000fce0 ();
    0x00024454 mcrr p8, 0, r2, r6, c0                            |     __asm ("mcrr p8, 0, r2, r6, c0");
    0x00024458 it ne                                             |     
                                                                 |     if (r1 != 6) {
    0x0002445a cmpne r4, 0                                       |         __asm ("cmpne r4, 0");
                                                                 |     }
                                                                 |     if (r1 == 6) {
    0x0002445c beq 0x244ec                                       |         goto label_1;
                                                                 |     }
    0x0002445e mov sb, r0                                        |     sb = r0;
    0x00024460 mov r0, r4                                        |     r0 = r4;
    0x00024462 blx 0x10d18                                       |     r0 = fcn_00010d18 ();
    0x00024466 mov fp, r0                                        |     
    0x00024468 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002446a beq 0x244ec                                       |         goto label_1;
                                                                 |     }
    0x0002446c ldr r6, [pc, 0x90]                                |     
    0x0002446e add r7, sp, 4                                     |     r7 += var_4h;
    0x00024470 mov r2, r7                                        |     r2 = r7;
    0x00024472 mov.w r5, -1                                      |     r5 = -1;
    0x00024476 add r6, pc                                        |     r6 = 0x4897a;
    0x00024478 mov r1, r6                                        |     r1 = r6;
    0x0002447a blx 0x10f3c                                       |     r0 = fcn_00010f3c ();
    0x0002447e mov r4, r0                                        |     r4 = r0;
                                                                 |     if (r0 == 0) {
    0x00024480 cbz r0, 0x244ca                                   |         goto label_2;
                                                                 |     }
    0x00024482 add.w r8, sp, 8                                   |     r8 += var_8h;
    0x00024486 b 0x2449c                                         |     
                                                                 |     while (r0 != 0) {
    0x00024488 mov r0, r4                                        |         r0 = r4;
    0x0002448a blx 0x106e4                                       |         fcn_000106e4 ();
    0x0002448e mov r2, r7                                        |         r2 = r7;
    0x00024490 mov r1, r6                                        |         r1 = r6;
    0x00024492 movs r0, 0                                        |         r0 = 0;
    0x00024494 blx 0x10f3c                                       |         r0 = fcn_00010f3c ();
    0x00024498 mov r4, r0                                        |         r4 = r0;
                                                                 |         if (r0 == 0) {
    0x0002449a cbz r0, 0x244ca                                   |             goto label_2;
                                                                 |         }
                                                                 | label_0:
    0x0002449c mov r1, r8                                        |         r1 = r8;
    0x0002449e mov r0, r4                                        |         r0 = r4;
    0x000244a0 blx 0x116d4                                       |         r0 = fcn_000116d4 ();
    0x000244a4 cmp r0, 0                                         |         
    0x000244a6 bne 0x24488                                       |         
                                                                 |     }
    0x000244a8 mov r2, sl                                        |     r2 = sl;
    0x000244aa mov r1, sb                                        |     r1 = sb;
    0x000244ac mov r0, r4                                        |     r0 = r4;
    0x000244ae blx 0x1006c                                       |     fcn_0001006c ();
    0x000244b2 mov r2, r7                                        |     r2 = r7;
    0x000244b4 cmp r0, 0                                         |     
    0x000244b6 mov r1, r6                                        |     r1 = r6;
    0x000244b8 mov.w r0, 0                                       |     r0 = 0;
    0x000244bc it eq                                             |     
                                                                 |     if (r0 != 0) {
    0x000244be moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
    0x000244c0 blx 0x10f3c                                       |     r0 = fcn_00010f3c ();
    0x000244c4 mov r4, r0                                        |     r4 = r0;
    0x000244c6 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000244c8 bne 0x2449c                                       |         goto label_0;
                                                                 |     }
                                                                 | label_2:
    0x000244ca mov r0, fp                                        |     r0 = fp;
    0x000244cc blx 0x10168                                       |     fcn_00010168 ();
                                                                 |     do {
    0x000244d0 ldr r2, [pc, 0x30]                                |         
    0x000244d2 ldr r3, [pc, 0x28]                                |         r3 = *(0x244fe);
    0x000244d4 add r2, pc                                        |         r2 = 0x489dc;
    0x000244d6 ldr r3, [r2, r3]                                  |         r3 = *(0x489dc);
    0x000244d8 ldr r2, [r3]                                      |         r2 = *(0x489dc);
    0x000244da ldr r3, [sp, 0x64]                                |         r3 = var_64h;
    0x000244dc eors r2, r3                                       |         r2 ^= r3;
    0x000244de mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x000244e2 bne 0x244f2                                       |             goto label_3;
                                                                 |         }
    0x000244e4 mov r0, r5                                        |         r0 = r5;
    0x000244e6 add sp, 0x6c                                      |         
    0x000244e8 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_1:
    0x000244ec mov.w r5, -1                                      |         r5 = -1;
    0x000244f0 b 0x244d0                                         |         
                                                                 |     } while (1);
                                                                 | label_3:
    0x000244f2 blx 0x10d58                                       |     fcn_00010d58 ();
    0x000244f6 nop                                               |     
    0x000244f8 bkpt 0x6a                                         |     __asm ("bkpt 0x6a");
                                                                 | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x246e4 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.read_config_files_of_type ()             | void read_config_files_of_type (int16_t arg1, int16_t arg2) {
                                                         |     int16_t var_0h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x000246e4 mvnsmi lr, 0xb4000                        |     __asm ("mvnsmi lr, case.0x269a8.32");
    0x000246e8 mov r7, r0                                |     r7 = r0;
    0x000246ea sub sp, 0xc                               |     
    0x000246ec mov r5, r1                                |     r5 = r1;
    0x000246ee movs r0, 0                                |     r0 = 0;
    0x000246f0 movs r1, 0x20                             |     r1 = 0x20;
    0x000246f2 blx 0x1096c                               |     r0 = fcn_0001096c ();
    0x000246f6 cmp r0, 0                                 |     
                                                         |     if (r0 != 0) {
    0x000246f8 bne 0x2479e                               |         goto label_2;
                                                         |     }
    0x000246fa movs r1, 6                                |     r1 = 6;
    0x000246fc blx 0x1096c                               |     fcn_0001096c ();
    0x00024700 clz r3, r5                                |     r3 &= r5;
    0x00024704 lsrs r3, r3, 5                            |     r3 >>= 5;
    0x00024706 cmp r0, 0                                 |     
    0x00024708 it ne                                     |     
                                                         |     if (r0 == 0) {
    0x0002470a orrne r3, r3, 1                           |         r3 |= 1;
                                                         |     }
    0x0002470e cmp r3, 0                                 |     
                                                         |     if (r3 != 0) {
    0x00024710 bne 0x2479e                               |         goto label_2;
                                                         |     }
    0x00024712 blx 0x10464                               |     r0 = fcn_00010464 ();
    0x00024716 mov sb, r0                                |     sb = r0;
    0x00024718 ldr r0, [pc, 0x88]                        |     
    0x0002471a add r0, pc                                |     r0 = 0x48ec2;
    0x0002471c blx 0x10cfc                               |     r0 = fcn_00010cfc ();
    0x00024720 mov r8, r0                                |     r8 = r0;
    0x00024722 ldr r0, [pc, 0x84]                        |     
    0x00024724 add r0, pc                                |     r0 = 0x48ed2;
    0x00024726 blx 0x10cfc                               |     fcn_00010cfc ();
    0x00024728 invalid                                   |     
    0x0002472a mov r6, r0                                |     r6 = r0;
    0x0002472c blx 0x10d80                               |     fcn_00010d80 ();
    0x00024730 blx 0x10d18                               |     r0 = fcn_00010d18 ();
    0x00024734 mov r4, r0                                |     r4 = r0;
                                                         |     if (r6 == 0) {
    0x00024736 cbz r6, 0x2475e                           |         goto label_3;
                                                         |     }
    0x00024738 mov r1, r5                                |     r1 = r5;
    0x0002473a mov r2, r7                                |     r2 = r7;
    0x0002473c mov r0, r6                                |     r0 = r6;
    0x0002473e mov r3, r4                                |     r3 = r4;
    0x00024740 str.w r8, [sp]                            |     __asm ("str.w r8, [sp]");
    0x00024744 bl 0x24508                                |     r0 = fcn_00024508 (r0, r1, r2, r3, r4);
    0x00024748 subs r5, r0, 0                            |     r5 = r0 - 0;
    0x0002474a it ne                                     |     
                                                         |     if (r5 == r0) {
    0x0002474c movne r5, 1                               |         r5 = 1;
                                                         |     }
    0x0002474e rsbs r5, r5, 0                            |     r5 -= ;
                                                         |     do {
                                                         | label_0:
    0x00024750 mov r0, r4                                |         r0 = r4;
    0x00024752 blx 0x10168                               |         fcn_00010168 ();
                                                         | label_1:
    0x00024756 mov r0, r5                                |         r0 = r5;
    0x00024758 add sp, 0xc                               |         
    0x0002475a pop.w {r4, r5, r6, r7, r8, sb, pc}        |         
                                                         | label_3:
    0x0002475e mov r3, r4                                |         r3 = r4;
    0x00024760 mov r1, r5                                |         r1 = r5;
    0x00024762 mov r2, r7                                |         r2 = r7;
    0x00024764 mov r0, sb                                |         r0 = sb;
    0x00024766 str.w r8, [sp]                            |         __asm ("str.w r8, [sp]");
    0x0002476a bl 0x24508                                |         r0 = fcn_00024508 (r0, r1, r2, r3, r4);
    0x0002476e mov r6, r0                                |         r6 = r0;
    0x00024770 mov r0, r4                                |         r0 = r4;
    0x00024772 blx 0x10168                               |         fcn_00010168 ();
    0x00024776 blx 0x10d80                               |         fcn_00010d80 ();
    0x00024778 add.w r7, r4, ip, asr 31                  |         r7 = r4 + (ip >> 31);
    0x0002477c pkhtb r6, lr, sb, asr 0x10                |         __asm ("pkhtb r6, lr, sb, asr 0x10");
    0x00024780 mov r2, r7                                |         r2 = r7;
    0x00024782 mov r3, r0                                |         r3 = r0;
    0x00024784 str.w r8, [sp]                            |         __asm ("str.w r8, [sp]");
    0x00024788 mov r4, r0                                |         r4 = r0;
    0x0002478a bl 0x24508                                |         r0 = fcn_00024508 (r0, r1, r2, r3, r4);
    0x0002478e mov r5, r0                                |         r5 = r0;
    0x00024790 cmp r0, 0                                 |         
    0x00024792 beq 0x24750                               |         
                                                         |     } while (r0 == 0);
    0x00024794 subs r3, r6, 0                            |     r3 = r6 - 0;
    0x00024796 it ne                                     |     
                                                         |     if (r3 == r6) {
    0x00024798 movne r3, 1                               |         r3 = 1;
                                                         |     }
    0x0002479a rsbs r5, r3, 0                            |     r5 = r3 - ;
    0x0002479c b 0x24750                                 |     goto label_0;
                                                         | label_2:
    0x0002479e mov.w r5, -1                              |     r5 = -1;
    0x000247a2 b 0x24756                                 |     goto label_1;
                                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x247ac */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.read_config_files ()     | void read_config_files (uint32_t arg1) {
                                         |     r0 = arg1;
    0x000247ac ldr r3, [pc, 0x5c]        |     
    0x000247ae cmp r0, 1                 |     
    0x000247b0 ldr r1, [pc, 0x5c]        |     r1 = *(0x24810);
    0x000247b2 ldr r2, [pc, 0x60]        |     
    0x000247b4 add r3, pc                |     r3 = 0x48fc4;
    0x000247b6 push {r4, r5, r6, lr}     |     
    0x000247b8 ldr r1, [r3, r1]          |     r1 = *(0x48fc4);
    0x000247ba mov.w r4, 0               |     r4 = 0;
    0x000247be add r2, pc                |     r2 = 0x48fd8;
    0x000247c0 mov r6, r0                |     r6 = r0;
    0x000247c2 str r4, [r2, 0xc]         |     *((r2 + 0xc)) = r4;
    0x000247c4 ldr r4, [r1]              |     r4 = *(0x48fc4);
                                         |     if (r0 == 1) {
    0x000247c6 beq 0x247f8               |         goto label_3;
                                         |     }
                                         |     if (r4 == 0) {
    0x000247c8 cbz r4, 0x24806           |         goto label_4;
                                         |     }
                                         | label_0:
    0x000247ca mov.w r5, -1              |     r5 = -1;
                                         |     do {
    0x000247ce mov r1, r4                |         r1 = r4;
    0x000247d0 mov r0, r6                |         r0 = r6;
    0x000247d2 blx 0x10c08               |         fprintf_chk ()
    0x000247d6 ldr r4, [r4, 8]           |         r4 = *((r4 + 8));
    0x000247d8 cmp r0, 0                 |         
    0x000247da it eq                     |         
                                         |         if (r0 != 0) {
    0x000247dc moveq r5, 0               |             r5 = 0;
                                         |         }
    0x000247de cmp r4, 0                 |         
    0x000247e0 bne 0x247ce               |         
                                         |     } while (r4 != 0);
                                         | label_1:
    0x000247e2 ldr r3, [pc, 0x34]        |     
    0x000247e4 add r3, pc                |     r3 = 0x49002;
    0x000247e6 ldr r2, [r3, 0xc]         |     r2 = *(0x4900e);
                                         |     if (r2 != 0) {
    0x000247e8 cbz r2, 0x247f4           |         
    0x000247ea ldr r1, [pc, 0x30]        |         
    0x000247ec movs r0, 3                |         r0 = 3;
    0x000247ee add r1, pc                |         r1 = 0x49010;
    0x000247f0 blx 0x11494               |         fcn_00011494 ();
                                         |     }
                                         | label_2:
    0x000247f4 mov r0, r5                |     r0 = r5;
    0x000247f6 pop {r4, r5, r6, pc}      |     
                                         | label_3:
    0x000247f8 blx 0xf51c                |     fcn_0000f51c ();
    0x000247fc cmp r4, 0                 |     
                                         |     if (r4 != 0) {
    0x000247fe bne 0x247ca               |         goto label_0;
                                         |     }
    0x00024800 mov.w r5, -1              |     r5 = -1;
    0x00024804 b 0x247e2                 |     goto label_1;
                                         | label_4:
    0x00024806 mov.w r5, -1              |     r5 = -1;
    0x0002480a b 0x247f4                 |     goto label_2;
                                         | }
    ; assembly                       | /* r2dec pseudo code output */
                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24820 */
                                     | #include <stdint.h>
                                     |  
    ; (fcn) sym.read_configs ()      | void read_configs () {
    0x00024820 push {r4, lr}         |     
    0x00024822 movs r1, 5            |     r1 = 5;
    0x00024824 movs r0, 0            |     r0 = 0;
    0x00024826 blx 0xfce0            |     fcn_0000fce0 ();
    0x0002482a movs r2, 0            |     r2 = 0;
    0x0002482c mov r4, r0            |     r4 = r0;
    0x0002482e movs r1, 7            |     r1 = 7;
    0x00024830 mov r0, r2            |     r0 = r2;
    0x00024832 blx 0xf958            |     fcn_0000f958 ();
                                     |     if (r4 == 0) {
    0x00024836 cbz r4, 0x24874       |         goto label_0;
                                     |     }
    0x00024838 ldrb r3, [r4]         |     r3 = *(r4);
    0x0002483a cmp r3, 0x2d          |     
                                     |     if (r3 == 0x2d) {
    0x0002483c beq 0x2486c           |         goto label_1;
                                     |     }
    0x0002483e movs r0, 0            |     r0 = 0;
    0x00024840 blx 0xfbf8            |     fcn_0000fbf8 ();
    0x00024844 movs r1, 0            |     r1 = 0;
    0x00024846 mov r0, r4            |     r0 = r4;
    0x00024848 blx 0x101dc           |     fcn_000101dc ();
                                     |     do {
    0x0002484c movs r1, 1            |         r1 = 1;
    0x0002484e movs r0, 0            |         r0 = 0;
    0x00024850 blx 0x10158           |         fcn_00010158 ();
    0x00024854 movs r2, 1            |         r2 = 1;
    0x00024856 movs r1, 0x1b         |         r1 = 0x1b;
    0x00024858 movs r0, 0            |         r0 = 0;
    0x0002485a blx 0xf8c4            |         clock_gettime ();
    0x0002485e movs r2, 0            |         r2 = 0;
    0x00024860 pop.w {r4, lr}        |         
    0x00024864 mov r1, r2            |         r1 = r2;
    0x00024866 mov r0, r2            |         r0 = r2;
    0x00024868 b.w 0xf954            |         void (*0xf954)() ();
                                     | label_1:
    0x0002486c movs r1, 0            |         r1 = 0;
    0x0002486e adds r0, r4, 1        |         r0 = r4 + 1;
    0x00024870 blx 0x101dc           |         fcn_000101dc ();
                                     | label_0:
    0x00024874 movs r0, 0            |         r0 = 0;
    0x00024876 blx 0xfbf8            |         fcn_0000fbf8 ();
    0x0002487a b 0x2484c             |         
                                     |     } while (1);
                                     | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x2491c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.read_config_save_octet_string ()             | void read_config_save_octet_string (int16_t arg1, uint32_t arg2, uint32_t arg3) {
                                                             |     int16_t var_0h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
                                                             |     r2 = arg3;
    0x0002491c cmp r2, 0                                     |     
    0x0002491e it ne                                         |     
                                                             |     if (r2 != 0) {
    0x00024920 cmpne r1, 0                                   |         __asm ("cmpne r1, 0");
                                                             |     }
    0x00024922 push.w {r4, r5, r6, r7, r8, sb, sl, lr}       |     
    0x00024926 mov r7, r0                                    |     r7 = r0;
    0x00024928 sub sp, 8                                     |     
    0x0002492a mov r6, r1                                    |     r6 = r1;
                                                             |     if (r2 == 0) {
    0x0002492c beq 0x249ce                                   |         goto label_1;
                                                             |     }
    0x0002492e mov r5, r2                                    |     r5 = r2;
    0x00024930 blx 0x10cf0                                   |     r0 = fcn_00010cf0 ();
    0x00024934 ldr r2, [r0]                                  |     r2 = *(r0);
    0x00024936 subs r1, r6, 1                                |     r1 = r6 - 1;
    0x00024938 mov r4, r1                                    |     r4 = r1;
    0x0002493a mov.w lr, 0                                   |     lr = 0;
                                                             |     do {
    0x0002493e ldrb r3, [r4, 1]!                             |         r3 = *((r4 += 1));
    0x00024942 add.w lr, lr, 1                               |         lr++;
    0x00024946 ldrh.w ip, [r2, r3, lsl 1]                    |         offset_0 = r3 << 1;
                                                             |         ip = *((r2 + offset_0));
    0x0002494a sub.w r3, r3, 0x20                            |         r3 -= 0x20;
    0x0002494e clz r3, r3                                    |         r3 &= r3;
    0x00024952 lsrs r3, r3, 5                                |         r3 >>= 5;
    0x00024954 and ip, ip, 0xc00                             |         
    0x00024958 cmp.w ip, 0                                   |         
    0x0002495c it ne                                         |         
                                                             |         if (ip == 0) {
    0x0002495e orrne r3, r3, 1                               |             r3 |= 1;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x00024962 cbz r3, 0x2498a                               |             goto label_2;
                                                             |         }
    0x00024964 cmp r5, lr                                    |         
    0x00024966 bhi 0x2493e                                   |         
                                                             |     } while (r5 > lr);
                                                             |     if (r5 == lr) {
    0x00024968 bne 0x2498a                                   |         
    0x0002496a movs r4, 0x22                                 |         r4 = 0x22;
    0x0002496c mov r2, r5                                    |         r2 = r5;
    0x0002496e strb r4, [r7], 1                              |         *(r7) = r4;
                                                             |         r7++;
    0x00024972 mov r1, r6                                    |         r1 = r6;
    0x00024974 mov r0, r7                                    |         r0 = r7;
    0x00024976 blx 0x1063c                                   |         fcn_0001063c ();
    0x0002497a adds r3, r7, r5                               |         r3 = r7 + r5;
    0x0002497c movs r2, 0                                    |         r2 = 0;
    0x0002497e adds r0, r3, 1                                |         r0 = r3 + 1;
    0x00024980 strb r4, [r7, r5]                             |         *((r7 + r5)) = r4;
    0x00024982 strb r2, [r3, 1]                              |         *((r3 + 1)) = r2;
                                                             | label_0:
    0x00024984 add sp, 8                                     |         
    0x00024986 pop.w {r4, r5, r6, r7, r8, sb, sl, pc}        |         
    0x00024988 strh r0, [r6, 0x3e]                           |         *((r6 + 0x3e)) = r0;
                                                             |     }
                                                             | label_2:
    0x0002498a ldr r3, [pc, 0x68]                            |     
    0x0002498c mov sb, r7                                    |     sb = r7;
    0x0002498e ldr.w sl, [pc, 0x68]                          |     
    0x00024992 add.w r8, r5, -1                              |     r8 = r5 + -1;
    0x00024996 add r8, r6                                    |     r8 += r6;
    0x00024998 mov r4, r1                                    |     r4 = r1;
    0x0002499a add r3, pc                                    |     r3 = 0x49394;
    0x0002499c ldrh r2, [r3]                                 |     r2 = *(r3);
    0x0002499e add sl, pc                                    |     sl = 0x4939c;
    0x000249a0 ldrb r3, [r3, 2]                              |     r3 = *((r3 + 2));
    0x000249a2 strh r2, [r7]                                 |     *(r7) = r2;
    0x000249a4 strb r3, [sb, 2]!                             |     *((sb += 2)) = r3;
    0x000249a8 mov r6, sb                                    |     r6 = sb;
                                                             |     do {
    0x000249aa ldrb r7, [r4, 1]!                             |         r7 = *((r4 += 1));
    0x000249ae mov r0, r6                                    |         r0 = r6;
    0x000249b0 mov r3, sl                                    |         r3 = sl;
    0x000249b2 mov.w r2, -1                                  |         r2 = -1;
    0x000249b6 movs r1, 1                                    |         r1 = 1;
    0x000249b8 adds r6, 2                                    |         r6 += 2;
    0x000249ba str r7, [sp]                                  |         *(sp) = r7;
    0x000249bc blx 0x114a0                                   |         fcn_000114a0 ();
    0x000249c0 cmp r8, r4                                    |         
    0x000249c2 bne 0x249aa                                   |         
                                                             |     } while (r8 != r4);
    0x000249c4 add.w r0, sb, r5, lsl 1                       |     r0 = sb + (r5 << 1);
    0x000249c8 add sp, 8                                     |     
    0x000249ca pop.w {r4, r5, r6, r7, r8, sb, sl, pc}        |     
                                                             | label_1:
    0x000249ce adds r0, 2                                    |     r0 += 2;
                                                             |     if (r1 == 0) {
    0x000249d0 cbnz r1, 0x249e4                              |         
    0x000249d2 ldr r3, [pc, 0x28]                            |         
    0x000249d4 add r3, pc                                    |         r3 = 0x493d6;
    0x000249d6 ldrh r2, [r3]                                 |         r2 = *(r3);
    0x000249d8 ldrb r3, [r3, 2]                              |         r3 = *((r3 + 2));
    0x000249da strh r2, [r7]                                 |         *(r7) = r2;
    0x000249dc strb r3, [r7, 2]                              |         *((r7 + 2)) = r3;
    0x000249de add sp, 8                                     |         
    0x000249e0 pop.w {r4, r5, r6, r7, r8, sb, sl, pc}        |         
                                                             |     }
    0x000249e4 ldr r3, [pc, 0x18]                            |     
    0x000249e6 add r3, pc                                    |     r3 = 0x493ea;
    0x000249e8 ldrh r2, [r3]                                 |     r2 = *(r3);
    0x000249ea ldrb r3, [r3, 2]                              |     r3 = *((r3 + 2));
    0x000249ec strh r2, [r7]                                 |     *(r7) = r2;
    0x000249ee strb r3, [r7, 2]                              |     *((r7 + 2)) = r3;
    0x000249f0 b 0x24984                                     |     goto label_0;
                                                             | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24a04 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.read_config_read_octet_string_const ()               | void read_config_read_octet_string_const (uint32_t arg1, uint32_t arg2, uint32_t arg3) {
                                                                     |     int16_t var_0h_2;
                                                                     |     int16_t c;
                                                                     |     int16_t var_8h;
                                                                     |     int16_t var_1000h;
                                                                     |     int32_t var_0h;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
                                                                     |     r2 = arg3;
    0x00024a04 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x00024a08 cmp r2, 0                                             |     
    0x00024a0a it ne                                                 |     
                                                                     |     if (r2 != 0) {
    0x00024a0c cmpne r1, 0                                           |         __asm ("cmpne r1, 0");
                                                                     |     }
    0x00024a0e mov r7, r1                                            |     r7 = r1;
    0x00024a10 ldr r1, [pc, 0x18c]                                   |     
    0x00024a12 mov r6, r2                                            |     r6 = r2;
    0x00024a14 sub.w sp, sp, 0x1000                                  |     
    0x00024a18 ldr r2, [pc, 0x188]                                   |     r2 = *(0x24ba4);
    0x00024a1a sub sp, 0xc                                           |     
    0x00024a1c add r1, pc                                            |     r1 = 0x495c0;
    0x00024a1e ite eq                                                |     
                                                                     |     if (r2 != 0) {
    0x00024a20 moveq r3, 1                                           |         r3 = 1;
                                                                     |     }
                                                                     |     if (r2 == 0) {
    0x00024a22 movne r3, 0                                           |         r3 = 0;
                                                                     |     }
    0x00024a24 add.w r5, sp, 0x1000                                  |     r5 += var_1000h;
    0x00024a28 ldr r2, [r1, r2]                                      |     
    0x00024a2a cmp r0, 0                                             |     
    0x00024a2c it eq                                                 |     
                                                                     |     if (r0 != 0) {
    0x00024a2e orreq r3, r3, 1                                       |         r3 |= 1;
                                                                     |     }
    0x00024a32 adds r5, 4                                            |     r5 += 4;
    0x00024a34 ldr r2, [r2]                                          |     r2 = *(0x495c0);
    0x00024a36 str r2, [r5]                                          |     *(r5) = r2;
    0x00024a38 mov.w r2, 0                                           |     r2 = 0;
    0x00024a3c cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x00024a3e bne 0x24ae4                                           |         goto label_3;
                                                                     |     }
    0x00024a40 ldr r1, [pc, 0x164]                                   |     
    0x00024a42 movs r2, 2                                            |     r2 = 2;
    0x00024a44 mov r4, r0                                            |     r4 = r0;
    0x00024a46 add r1, pc                                            |     r1 = 0x495f2;
    0x00024a48 blx 0x10bfc                                           |     r0 = fcn_00010bfc ();
                                                                     |     if (r0 != 0) {
    0x00024a4c cbz r0, 0x24a8c                                       |         
    0x00024a4e ldr r1, [r7]                                          |         r1 = *(r7);
    0x00024a50 cmp r1, 0                                             |         
                                                                     |         if (r1 == 0) {
    0x00024a52 beq 0x24af2                                           |             goto label_4;
                                                                     |         }
    0x00024a54 mov r0, r4                                            |         r0 = r4;
    0x00024a56 ldr r2, [r6]                                          |         r2 = *(r6);
    0x00024a58 blx 0xfb58                                            |         strchr (r0, r1);
    0x00024a5c ldr r3, [r6]                                          |         r3 = *(r6);
    0x00024a5e mov r4, r0                                            |         r4 = r0;
    0x00024a60 cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x00024a62 bne 0x24ae8                                           |             goto label_5;
                                                                     |         }
                                                                     | label_0:
    0x00024a64 ldr r2, [pc, 0x144]                                   |         
    0x00024a66 add.w r1, sp, 0x1000                                  |         r1 += var_1000h;
    0x00024a6a ldr r3, [pc, 0x138]                                   |         r3 = *(0x24ba6);
    0x00024a6c adds r1, 4                                            |         r1 += 4;
    0x00024a6e add r2, pc                                            |         r2 = 0x4961e;
    0x00024a70 ldr r3, [r2, r3]                                      |         r3 = *(0x4961e);
    0x00024a72 ldr r2, [r3]                                          |         r2 = *(0x4961e);
    0x00024a74 ldr r3, [r1]                                          |         r3 = *(r1);
    0x00024a76 eors r2, r3                                           |         r2 ^= r3;
    0x00024a78 mov.w r3, 0                                           |         r3 = 0;
                                                                     |         if (r2 != r3) {
    0x00024a7c bne.w 0x24b9c                                         |             goto label_6;
                                                                     |         }
    0x00024a80 mov r0, r4                                            |         r0 = r4;
    0x00024a82 add.w sp, sp, 0x1000                                  |         
    0x00024a86 add sp, 0xc                                           |         
    0x00024a88 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |         
                                                                     |     }
    0x00024a8c adds r4, 2                                            |     r4 += 2;
    0x00024a8e mov r0, r4                                            |     r0 = r4;
    0x00024a90 blx 0x10f80                                           |     r0 = fcn_00010f80 ();
    0x00024a94 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x00024a96 beq 0x24b22                                           |         goto label_7;
                                                                     |     }
    0x00024a98 subs r0, r0, r4                                       |     r0 -= r4;
                                                                     | label_1:
    0x00024a9a ands sb, r0, 1                                        |     sb = r0 & 1;
                                                                     |     if (sb != r0) {
    0x00024a9e bne 0x24b8e                                           |         goto label_8;
                                                                     |     }
    0x00024aa0 ldr r5, [r7]                                          |     r5 = *(r7);
    0x00024aa2 lsr.w r8, r0, 1                                       |     r8 = r0 >> 1;
    0x00024aa6 cmp r5, 0                                             |     
                                                                     |     if (r5 == 0) {
    0x00024aa8 beq 0x24b7c                                           |         goto label_9;
                                                                     |     }
    0x00024aaa ldr r2, [r6]                                          |     r2 = *(r6);
    0x00024aac cmp r2, r8                                            |     
                                                                     |     if (r2 < r8) {
    0x00024aae bls 0x24b3e                                           |         goto label_10;
                                                                     |     }
                                                                     | label_2:
    0x00024ab0 cmp.w r8, 0                                           |     
                                                                     |     if (r8 == 0) {
    0x00024ab4 beq 0x24b2a                                           |         goto label_11;
                                                                     |     }
    0x00024ab6 ldr.w fp, [pc, 0xf8]                                  |     
    0x00024aba add.w r7, r5, r8                                      |     r7 = r5 + r8;
    0x00024abe add.w sl, sp, 8                                       |     sl += var_8h;
    0x00024ac2 mov sb, sp                                            |     sb = sp;
    0x00024ac4 add fp, pc                                            |     fp = 0x4967a;
    0x00024ac6 b 0x24ad6                                             |     
                                                                     |     while (r0 == 1) {
    0x00024ac8 ldr r3, [sl, -0x8]                                    |         r3 = *((sl - 0x8));
    0x00024acc adds r4, 2                                            |         r4 += 2;
    0x00024ace strb r3, [r5], 1                                      |         *(r5) = r3;
                                                                     |         r5++;
    0x00024ad2 cmp r7, r5                                            |         
                                                                     |         if (r7 == r5) {
    0x00024ad4 beq 0x24b2c                                           |             goto label_12;
                                                                     |         }
    0x00024ad6 mov r2, sb                                            |         r2 = sb;
    0x00024ad8 mov r1, fp                                            |         r1 = fp;
    0x00024ada mov r0, r4                                            |         r0 = r4;
    0x00024adc blx 0xfa2c                                            |         r0 = fcn_0000fa2c ();
    0x00024ae0 cmp r0, 1                                             |         
    0x00024ae2 beq 0x24ac8                                           |         
                                                                     |     }
                                                                     |     do {
                                                                     | label_3:
    0x00024ae4 movs r4, 0                                            |         r4 = 0;
    0x00024ae6 b 0x24a64                                             |         goto label_0;
                                                                     | label_5:
    0x00024ae8 ldr r0, [r7]                                          |         r0 = *(r7);
    0x00024aea blx 0x10548                                           |         fcn_00010548 ();
    0x00024aee str r0, [r6]                                          |         *(r6) = r0;
    0x00024af0 b 0x24a64                                             |         goto label_0;
                                                                     | label_4:
    0x00024af2 add r5, sp, 4                                         |         r5 += c;
    0x00024af4 mov.w r2, 0x1000                                      |         r2 = case.0x269a8.32;
    0x00024af8 mov r1, r5                                            |         r1 = r5;
    0x00024afa mov r0, r4                                            |         r0 = r4;
    0x00024afc blx 0xfb58                                            |         r0 = strchr (r0, r1);
    0x00024b00 mov r4, r0                                            |         r4 = r0;
    0x00024b02 mov r0, r5                                            |         r0 = r5;
    0x00024b04 blx 0x10548                                           |         fcn_00010548 ();
    0x00024b08 str r0, [r6]                                          |         *(r6) = r0;
    0x00024b0a adds r0, 1                                            |         r0++;
    0x00024b0c blx 0x10d34                                           |         fcn_00010d34 ();
    0x00024b10 str r0, [r7]                                          |         *(r7) = r0;
    0x00024b12 cmp r0, 0                                             |         
    0x00024b14 beq 0x24ae4                                           |         
                                                                     |     } while (r0 == 0);
    0x00024b16 ldr r2, [r6]                                          |     r2 = *(r6);
    0x00024b18 mov r1, r5                                            |     r1 = r5;
    0x00024b1a adds r2, 1                                            |     r2++;
    0x00024b1c blx 0x1063c                                           |     fcn_0001063c ();
    0x00024b20 b 0x24a64                                             |     goto label_0;
                                                                     | label_7:
    0x00024b22 mov r0, r4                                            |     r0 = r4;
    0x00024b24 blx 0x10548                                           |     fcn_00010548 ();
    0x00024b28 b 0x24a9a                                             |     goto label_1;
                                                                     | label_11:
    0x00024b2a mov r7, r5                                            |     r7 = r5;
                                                                     | label_12:
    0x00024b2c movs r3, 0                                            |     r3 = 0;
    0x00024b2e mov r0, r4                                            |     r0 = r4;
    0x00024b30 strb r3, [r7]                                         |     *(r7) = r3;
    0x00024b32 str.w r8, [r6]                                        |     __asm ("str.w r8, [r6]");
    0x00024b36 blx 0xfb04                                            |     r0 = fcn_0000fb04 ();
    0x00024b3a mov r4, r0                                            |     r4 = r0;
    0x00024b3c b 0x24a64                                             |     goto label_0;
                                                                     | label_10:
    0x00024b3e ldr r1, [pc, 0x74]                                    |     
    0x00024b40 mov r3, r8                                            |     r3 = r8;
    0x00024b42 movs r0, 4                                            |     r0 = 4;
    0x00024b44 add r1, pc                                            |     r1 = 0x496fe;
    0x00024b46 blx 0x11494                                           |     fcn_00011494 ();
    0x00024b4a mov r0, r4                                            |     r0 = r4;
    0x00024b4c str.w sb, [r6]                                        |     __asm ("str.w sb, [r6]");
    0x00024b50 blx 0x10f80                                           |     fcn_00010f80 ();
    0x00024b54 ldr r2, [pc, 0x60]                                    |     
    0x00024b56 add.w r1, sp, 0x1000                                  |     r1 += var_1000h;
    0x00024b58 str r0, [r0, r6]                                      |     *((r0 + r6)) = r0;
    0x00024b5a ldr r3, [pc, 0x48]                                    |     r3 = *(0x24ba6);
    0x00024b5c adds r1, 4                                            |     r1 += 4;
    0x00024b5e add r2, pc                                            |     r2 = 0x4971a;
    0x00024b60 ldr r3, [r2, r3]                                      |     r3 = *(0x4971a);
    0x00024b62 ldr r2, [r3]                                          |     r2 = *(0x4971a);
    0x00024b64 ldr r3, [r1]                                          |     r3 = *(0x496fe);
    0x00024b66 eors r2, r3                                           |     r2 ^= r3;
    0x00024b68 mov.w r3, 0                                           |     r3 = 0;
                                                                     |     if (r2 != r3) {
    0x00024b6c bne 0x24b9c                                           |         goto label_6;
                                                                     |     }
    0x00024b6e add.w sp, sp, 0x1000                                  |     
    0x00024b72 add sp, 0xc                                           |     
    0x00024b74 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}            |     
    0x00024b78 b.w 0xfb00                                            |     void (*0xfb00)() ();
                                                                     | label_9:
    0x00024b7c add.w r0, r8, 1                                       |     r0 = r8 + 1;
    0x00024b80 blx 0x10d34                                           |     r0 = fcn_00010d34 ();
    0x00024b84 mov r5, r0                                            |     r5 = r0;
    0x00024b86 str r0, [r7]                                          |     *(r7) = r0;
    0x00024b88 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x00024b8a bne 0x24ab0                                           |         goto label_2;
                                                                     |     }
    0x00024b8c b 0x24ae4                                             |     goto label_3;
                                                                     | label_8:
    0x00024b8e ldr r1, [pc, 0x2c]                                    |     
    0x00024b90 movs r0, 4                                            |     r0 = 4;
    0x00024b92 movs r4, 0                                            |     r4 = 0;
    0x00024b94 add r1, pc                                            |     r1 = 0x49756;
    0x00024b96 blx 0x11494                                           |     fcn_00011494 ();
    0x00024b9a b 0x24a64                                             |     goto label_0;
                                                                     | label_6:
    0x00024b9c blx 0x10d58                                           |     fcn_00010d58 ();
    0x00024ba0 invalid                                               |     
                                                                     | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24bc0 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.read_config_read_octet_string ()         | void read_config_read_octet_string () {
                                                         |     do {
    0x00010a90 invalid                                   |         void (*0x10a94)() ();
    0x00024bc0 b.w 0x10a90                               |         
                                                         |     } while (1);
                                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24bc4 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.read_config_save_objid ()                | void read_config_save_objid (int16_t arg1, int16_t arg2, uint32_t arg3) {
                                                         |     int16_t var_0h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
                                                         |     r2 = arg3;
    0x00024bc4 cmp r2, 0                                 |     
    0x00024bc6 push.w {r4, r5, r6, r7, r8, lr}           |     
    0x00024bca mov r4, r0                                |     r4 = r0;
    0x00024bcc sub sp, 8                                 |     
                                                         |     if (r2 == 0) {
    0x00024bce beq 0x24c06                               |         goto label_0;
                                                         |     }
                                                         |     if (r2 <= 0) {
    0x00024bd0 ble 0x24bfe                               |         goto label_1;
                                                         |     }
    0x00024bd2 ldr.w r8, [pc, 0x54]                      |     
    0x00024bd6 add.w r7, r1, r2, lsl 2                   |     r7 = r1 + (r2 << 2);
    0x00024bda mov r5, r1                                |     r5 = r1;
    0x00024bdc add r8, pc                                |     r8 = 0x4980a;
                                                         |     do {
    0x00024bde ldr r6, [r5], 4                           |         r6 = *(r5);
                                                         |         r5 += 4;
    0x00024be2 mov r3, r8                                |         r3 = r8;
    0x00024be4 mov.w r2, -1                              |         r2 = -1;
    0x00024be8 movs r1, 1                                |         r1 = 1;
    0x00024bea mov r0, r4                                |         r0 = r4;
    0x00024bec str r6, [sp]                              |         *(sp) = r6;
    0x00024bee blx 0x114a0                               |         fcn_000114a0 ();
    0x00024bf2 mov r0, r4                                |         r0 = r4;
    0x00024bf4 blx 0x10548                               |         fcn_00010548 ();
    0x00024bf8 cmp r5, r7                                |         
    0x00024bfa add r4, r0                                |         r4 += r0;
    0x00024bfc bne 0x24bde                               |         
                                                         |     } while (r5 != r7);
                                                         | label_1:
    0x00024bfe mov r0, r4                                |     r0 = r4;
    0x00024c00 add sp, 8                                 |     
    0x00024c02 pop.w {r4, r5, r6, r7, r8, pc}            |     
                                                         | label_0:
    0x00024c06 blx 0x10548                               |     fcn_00010548 ();
    0x00024c0a ldr r2, [pc, 0x20]                        |     
    0x00024c0c adds r1, r4, r0                           |     r1 = r4 + r0;
    0x00024c0e mov r3, r0                                |     r3 = r0;
    0x00024c10 add r2, pc                                |     r2 = 0x49842;
    0x00024c12 ldr r0, [r2]                              |     r0 = *(0x49842);
    0x00024c14 ldrb r2, [r2, 4]                          |     r2 = *((r2 + 4));
    0x00024c16 str r0, [r4, r3]                          |     *((r4 + r3)) = r0;
    0x00024c18 adds r3, 4                                |     r3 += 4;
    0x00024c1a add r4, r3                                |     r4 += r3;
    0x00024c1c strb r2, [r1, 4]                          |     *((r1 + 4)) = r2;
    0x00024c1e mov r0, r4                                |     r0 = r4;
    0x00024c20 add sp, 8                                 |     
    0x00024c22 pop.w {r4, r5, r6, r7, r8, pc}            |     
                                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24c30 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.read_config_read_objid_const ()          | void read_config_read_objid_const (int16_t arg_a04h, uint32_t arg1, uint32_t arg2, uint32_t arg3) {
                                                         |     int16_t var_a0ch;
                                                         |     int16_t c;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
                                                         |     r2 = arg3;
                                                         |     do {
    0x00010f9c invalid                                   |         void (*0x10fa0)() ();
    0x00024c30 cmp r2, 0                                 |         
    0x00024c32 it ne                                     |         
                                                         |         if (r2 != 0) {
    0x00024c34 cmpne r0, 0                               |             __asm ("cmpne r0, 0");
                                                         |         }
    0x00024c36 push {r4, r5, r6, r7, lr}                 |         
    0x00024c38 ite eq                                    |         
                                                         |         if (r2 != 0) {
    0x00024c3a moveq r3, 1                               |             r3 = 1;
                                                         |         }
                                                         |         if (r2 == 0) {
    0x00024c3c movne r3, 0                               |             r3 = 0;
                                                         |         }
    0x00024c3e cmp r1, 0                                 |         
    0x00024c40 it eq                                     |         
                                                         |         if (r1 != 0) {
    0x00024c42 orreq r3, r3, 1                           |             r3 |= 1;
                                                         |         }
    0x00024c46 mov r5, r1                                |         r5 = r1;
    0x00024c48 ldr r1, [pc, 0xa8]                        |         
    0x00024c4a mov r6, r2                                |         r6 = r2;
    0x00024c4c ldr r2, [pc, 0xa8]                        |         r2 = *(0x24cf8);
    0x00024c4e subw sp, sp, 0xa0c                        |         __asm ("subw sp, sp, case.0x269a8.32");
    0x00024c52 add r1, pc                                |         r1 = 0x4994a;
    0x00024c54 ldr r2, [r1, r2]                          |         
    0x00024c56 ldr r2, [r2]                              |         r2 = *(0x4994a);
    0x00024c58 str.w r2, [sp, 0xa04]                     |         __asm ("str.w r2, [arg_a04h]");
    0x00024c5c mov.w r2, 0                               |         r2 = 0;
                                                         |         if (r3 != 0) {
    0x00024c60 cbnz r3, 0x24cbc                          |             goto label_2;
                                                         |         }
    0x00024c62 ldr r3, [r5]                              |         r3 = *(r5);
    0x00024c64 mov r4, r0                                |         r4 = r0;
    0x00024c66 cmp r3, 0                                 |         
                                                         |         if (r3 == 0) {
    0x00024c68 beq 0x24cda                               |             goto label_3;
                                                         |         }
                                                         | label_1:
    0x00024c6a ldr r1, [pc, 0x90]                        |         
    0x00024c6c movs r2, 4                                |         r2 = 4;
    0x00024c6e mov r0, r4                                |         r0 = r4;
    0x00024c70 add r1, pc                                |         r1 = 0x49972;
    0x00024c72 blx 0x11524                               |         r0 = fcn_00011524 ();
                                                         |         if (r0 != 0) {
    0x00024c76 cbnz r0, 0x24c9e                          |             goto label_4;
                                                         |         }
    0x00024c78 str r0, [r6]                              |         *(r6) = r0;
                                                         | label_0:
    0x00024c7a ldr r2, [pc, 0x84]                        |         
    0x00024c7c ldr r3, [pc, 0x78]                        |         r3 = *(0x24cf8);
    0x00024c7e add r2, pc                                |         r2 = 0x49984;
    0x00024c80 ldr r3, [r2, r3]                          |         r3 = *(0x49984);
    0x00024c82 ldr r2, [r3]                              |         r2 = *(0x49984);
    0x00024c84 ldr.w r3, [sp, 0xa04]                     |         r3 = *(arg_a04h);
    0x00024c88 eors r2, r3                               |         r2 ^= r3;
    0x00024c8a mov.w r3, 0                               |         r3 = 0;
                                                         |         if (r2 != r3) {
    0x00024c8e bne 0x24cf0                               |             goto label_5;
                                                         |         }
    0x00024c90 mov r0, r4                                |         r0 = r4;
    0x00024c92 addw sp, sp, 0xa0c                        |         __asm ("addw sp, var_a0ch");
    0x00024c96 pop.w {r4, r5, r6, r7, lr}                |         
    0x00024c9a b.w 0x10f9c                               |         
                                                         |     } while (1);
                                                         | label_4:
    0x00024c9e add r7, sp, 4                             |     r7 += c;
    0x00024ca0 mov.w r2, 0xa00                           |     r2 = case.0x269a8.32;
    0x00024ca4 mov r1, r7                                |     r1 = r7;
    0x00024ca6 mov r0, r4                                |     r0 = r4;
    0x00024ca8 blx 0xfb58                                |     strchr (r0, r1);
    0x00024cac ldr r1, [r5]                              |     r1 = *(r5);
    0x00024cae mov r2, r6                                |     r2 = r6;
    0x00024cb0 mov r0, r7                                |     r0 = r7;
    0x00024cb2 blx 0x110a8                               |     r0 = fcn_000110a8 ();
    0x00024cb6 cmp r0, 0                                 |     
                                                         |     if (r0 != 0) {
    0x00024cb8 bne 0x24c7a                               |         goto label_0;
                                                         |     }
    0x00024cba str r0, [r6]                              |     *(r6) = r0;
                                                         |     do {
                                                         | label_2:
    0x00024cbc ldr r2, [pc, 0x44]                        |         
    0x00024cbe ldr r3, [pc, 0x38]                        |         r3 = *(0x24cfa);
    0x00024cc0 add r2, pc                                |         r2 = 0x499c8;
    0x00024cc2 ldr r3, [r2, r3]                          |         r3 = *(0x499c8);
    0x00024cc4 ldr r2, [r3]                              |         r2 = *(0x499c8);
    0x00024cc6 ldr.w r3, [sp, 0xa04]                     |         r3 = *(arg_a04h);
    0x00024cc8 subs r2, 4                                |         r2 -= 4;
    0x00024cca eors r2, r3                               |         r2 ^= r3;
    0x00024ccc mov.w r3, 0                               |         r3 = 0;
                                                         |         if (r2 != r3) {
    0x00024cd0 bne 0x24cf0                               |             goto label_5;
                                                         |         }
    0x00024cd2 movs r0, 0                                |         r0 = 0;
    0x00024cd4 addw sp, sp, 0xa0c                        |         __asm ("addw sp, var_a0ch");
    0x00024cd8 pop {r4, r5, r6, r7, pc}                  |         
                                                         | label_3:
    0x00024cda mov.w r0, 0x200                           |         r0 = case.0x269a8.32;
    0x00024cde str r3, [r6]                              |         *(r6) = r3;
    0x00024ce0 blx 0x10d34                               |         fcn_00010d34 ();
    0x00024ce4 str r0, [r5]                              |         *(r5) = r0;
    0x00024ce6 cmp r0, 0                                 |         
    0x00024ce8 beq 0x24cbc                               |         
                                                         |     } while (r0 == 0);
    0x00024cea movs r3, 0x80                             |     r3 = 0x80;
    0x00024cec str r3, [r6]                              |     *(r6) = r3;
    0x00024cee b 0x24c6a                                 |     goto label_1;
                                                         | label_5:
    0x00024cf0 blx 0x10d58                               |     fcn_00010d58 ();
    0x00024cf4 invalid                                   |     
                                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24d08 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.read_config_read_objid ()        | void read_config_read_objid () {
                                                 |     do {
    0x00010e58 invalid                           |         void (*0x10e5c)() ();
    0x00024d08 b.w 0x10e58                       |         
                                                 |     } while (1);
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24d0c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.read_config_read_data ()     | uint32_t read_config_read_data (uint32_t arg1, uint32_t arg2, uint32_t arg3, int16_t arg4) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
                                             |     r2 = arg3;
                                             |     r3 = arg4;
                                             | label_2:
    0x00011510 bx pc                         |     return void (*pc)() ();
                                             |     do {
                                             | label_1:
    0x00011848 bx pc                         |         return void (*pc)() ();
    0x00024d0c cmp r2, 0                     |         
    0x00024d0e it ne                         |         
                                             |         if (r2 != 0) {
    0x00024d10 cmpne r1, 0                   |             __asm ("cmpne r1, 0");
                                             |         }
                                             |         if (r2 == 0) {
    0x00024d12 beq 0x24da6                   |             goto label_3;
                                             |         }
    0x00024d14 cmp r0, 6                     |         
    0x00024d16 push {r3, r4, r5, lr}         |         
    0x00024d18 mov r5, r2                    |         r5 = r2;
    0x00024d1a mov r4, r1                    |         r4 = r1;
                                             |         if (r0 == 6) {
    0x00024d1c beq 0x24d98                   |             goto label_4;
                                             |         }
                                             |         if (r0 <= 6) {
    0x00024d1e ble 0x24d44                   |             goto label_5;
                                             |         }
    0x00024d20 cmp r0, 0x40                  |         
                                             |         if (r0 == 0x40) {
    0x00024d22 beq 0x24d72                   |             goto label_6;
                                             |         }
    0x00024d24 subs r0, 0x42                 |         r0 -= 0x42;
    0x00024d26 cmp r0, 1                     |         
                                             |         if (r0 >= 1) {
    0x00024d28 bls 0x24d2e                   |             
                                             | label_0:
    0x00024d2a movs r0, 0                    |             r0 = 0;
    0x00024d2c pop {r3, r4, r5, pc}          |             
                                             |         }
    0x00024d2e movs r2, 0                    |         r2 = 0;
    0x00024d30 mov r0, r1                    |         r0 = r1;
    0x00024d32 mov r1, r2                    |         r1 = r2;
    0x00024d34 blx 0x105c0                   |         fcn_000105c0 ();
    0x00024d38 str r0, [r5]                  |         *(r5) = r0;
    0x00024d3a mov r0, r4                    |         r0 = r4;
    0x00024d3c pop.w {r3, r4, r5, lr}        |         
    0x00024d40 b.w 0x11848                   |         
                                             |     } while (1);
                                             | label_5:
    0x00024d44 cmp r0, 2                     |     
                                             |     if (r0 == 2) {
    0x00024d46 beq 0x24d5c                   |         goto label_7;
                                             |     }
    0x00024d48 subs r0, 3                    |     r0 -= 3;
    0x00024d4a cmp r0, 1                     |     
                                             |     if (r0 > 1) {
    0x00024d4c bhi 0x24d2a                   |         goto label_0;
                                             |     }
    0x00024d4e mov r2, r3                    |     r2 = r3;
    0x00024d50 mov r1, r5                    |     r1 = r5;
    0x00024d52 mov r0, r4                    |     r0 = r4;
    0x00024d54 pop.w {r3, r4, r5, lr}        |     
    0x00024d58 b.w 0x117e4                   |     void (*0x117e4)() ();
    0x00024d5a pop {r2, r6, pc}              |     
                                             | label_7:
    0x00024d5c mov r0, r4                    |     r0 = r4;
    0x00024d5e movs r2, 0xa                  |     r2 = 0xa;
    0x00024d60 movs r1, 0                    |     r1 = 0;
    0x00024d62 blx 0x107c8                   |     fcn_000107c8 ();
    0x00024d66 str r0, [r5]                  |     *(r5) = r0;
    0x00024d68 mov r0, r4                    |     r0 = r4;
    0x00024d6a pop.w {r3, r4, r5, lr}        |     
    0x00024d6e b.w 0x11848                   |     goto label_1;
                                             | label_6:
    0x00024d72 mov r0, r1                    |     r0 = r1;
    0x00024d74 blx 0xfa94                    |     fcn_0000fa94 ();
    0x00024d78 str r0, [r5]                  |     *(r5) = r0;
    0x00024d7a adds r0, 1                    |     r0++;
                                             |     if (r0 != 1) {
    0x00024d7c bne 0x24d8e                   |         goto label_8;
                                             |     }
    0x00024d7e ldr r1, [pc, 0x2c]            |     
    0x00024d80 movs r2, 0xf                  |     r2 = 0xf;
    0x00024d82 mov r0, r4                    |     r0 = r4;
    0x00024d84 add r1, pc                    |     r1 = 0x49b36;
    0x00024d86 blx 0x11524                   |     r0 = fcn_00011524 ();
    0x00024d8a cmp r0, 0                     |     
                                             |     if (r0 != 0) {
    0x00024d8c bne 0x24d2a                   |         goto label_0;
                                             |     }
                                             | label_8:
    0x00024d8e mov r0, r4                    |     r0 = r4;
    0x00024d90 pop.w {r3, r4, r5, lr}        |     
    0x00024d94 b.w 0x11848                   |     goto label_1;
                                             | label_4:
    0x00024d98 mov r2, r3                    |     r2 = r3;
    0x00024d9a mov r1, r5                    |     r1 = r5;
    0x00024d9c mov r0, r4                    |     r0 = r4;
    0x00024d9e pop.w {r3, r4, r5, lr}        |     
    0x00024da2 b.w 0x11510                   |     goto label_2;
                                             | label_3:
    0x00024da6 movs r0, 0                    |     r0 = 0;
    0x00024da8 bx lr                         |     return r0;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24db0 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.read_config_read_memory ()           | void read_config_read_memory (uint32_t arg1, uint32_t arg2, uint32_t arg3, int16_t arg4) {
                                                     |     uint32_t var_4h;
                                                     |     int16_t var_ch;
                                                     |     int16_t var_10h;
                                                     |     int32_t var_4h_2;
                                                     |     int32_t var_4h_3;
                                                     |     int16_t var_a0ch;
                                                     |     int16_t var_a10h;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
                                                     |     r2 = arg3;
                                                     |     r3 = arg4;
    0x00024db0 push.w {r4, r5, r6, r7, r8, lr}       |     
    0x00024db4 cmp r1, 0                             |     
    0x00024db6 it ne                                 |     
                                                     |     if (r1 != 0) {
    0x00024db8 cmpne r2, 0                           |         __asm ("cmpne r2, 0");
                                                     |     }
    0x00024dba ldr r5, [pc, 0x16c]                   |     
    0x00024dbc sub.w sp, sp, 0xa10                   |     
    0x00024dc0 add.w ip, sp, 4                       |     
    0x00024dc4 it eq                                 |     
                                                     |     if (r1 != 0) {
    0x00024dc6 moveq r7, 1                           |         r7 = 1;
                                                     |     }
    0x00024dc8 ldr r4, [pc, 0x160]                   |     r4 = *(0x24f2c);
    0x00024dca it ne                                 |     
                                                     |     if (r1 == 0) {
    0x00024dcc movne r7, 0                           |         r7 = 0;
                                                     |     }
    0x00024dce add r5, pc                            |     r5 = 0x49cfc;
    0x00024dd0 ldr r4, [r5, r4]                      |     
    0x00024dd2 ldr r4, [r4]                          |     r4 = *(0x49cfc);
    0x00024dd4 str.w r4, [sp, 0xa0c]                 |     __asm ("str.w r4, [var_a0ch]");
    0x00024dd8 mov.w r4, 0                           |     r4 = 0;
    0x00024ddc str.w r2, [ip]                        |     __asm ("str.w r2, [ip]");
                                                     |     if (r1 == 0) {
    0x00024de0 beq 0x24e98                           |         goto label_1;
                                                     |     }
    0x00024de2 cmp r0, 0x43                          |     
    0x00024de4 mov r6, r3                            |     r6 = r3;
    0x00024de6 mov r5, r2                            |     r5 = r2;
    0x00024de8 mov r4, r1                            |     r4 = r1;
                                                     |     if (r0 > 0x43) {
    0x00024dea bgt 0x24e86                           |         goto label_3;
                                                     |     }
    0x00024dec cmp r0, 0x40                          |     
                                                     |     if (r0 > 0x40) {
    0x00024dee bgt 0x24ec4                           |         goto label_4;
                                                     |     }
    0x00024df0 cmp r0, 6                             |     
                                                     |     if (r0 == 6) {
    0x00024df2 beq 0x24e9c                           |         goto label_5;
                                                     |     }
                                                     |     if (r0 <= 6) {
    0x00024df4 ble 0x24e40                           |         goto label_6;
                                                     |     }
    0x00024df6 cmp r0, 0x40                          |     
                                                     |     if (r0 != 0x40) {
    0x00024df8 bne 0x24e98                           |         goto label_1;
                                                     |     }
    0x00024dfa ldr r3, [r3]                          |     r3 = *(r3);
    0x00024dfc cmp r3, 3                             |     
                                                     |     if (r3 < 3) {
    0x00024dfe bls 0x24e98                           |         goto label_1;
                                                     |     }
    0x00024e00 add r7, sp, 0xc                       |     r7 += var_ch;
    0x00024e02 mov.w r2, 0xa00                       |     r2 = case.0x269a8.32;
    0x00024e06 mov r0, r1                            |     r0 = r1;
    0x00024e08 mov r1, r7                            |     r1 = r7;
    0x00024e0a blx 0x101b4                           |     r0 = fcn_000101b4 ();
    0x00024e0e mov r4, r0                            |     r4 = r0;
    0x00024e10 mov r0, r7                            |     r0 = r7;
    0x00024e12 blx 0xfa94                            |     fcn_0000fa94 ();
    0x00024e14 cdp p0, 4, c6, c0, c8, 1              |     __asm ("cdp p0, 4, c6, c0, c8, 1");
    0x00024e18 adds r0, 1                            |     r0++;
                                                     |     if (r0 == 1) {
    0x00024e1a beq 0x24eee                           |         goto label_7;
                                                     |     }
                                                     | label_2:
    0x00024e1c movs r3, 4                            |     r3 = 4;
    0x00024e1e str r3, [r6]                          |     *(r6) = r3;
                                                     |     do {
                                                     | label_0:
    0x00024e20 ldr r2, [pc, 0x10c]                   |         
    0x00024e22 ldr r3, [pc, 0x108]                   |         r3 = *(0x24f2e);
    0x00024e24 add r2, pc                            |         r2 = 0x49d58;
    0x00024e26 ldr r3, [r2, r3]                      |         r3 = *(0x49d58);
    0x00024e28 ldr r2, [r3]                          |         r2 = *(0x49d58);
    0x00024e2a ldr.w r3, [sp, 0xa0c]                 |         r3 = var_a0ch;
    0x00024e2e eors r2, r3                           |         r2 ^= r3;
    0x00024e30 mov.w r3, 0                           |         r3 = 0;
                                                     |         if (r2 != r3) {
    0x00024e34 bne 0x24f24                           |             goto label_8;
                                                     |         }
    0x00024e36 mov r0, r4                            |         r0 = r4;
    0x00024e38 add.w sp, sp, 0xa10                   |         
    0x00024e3c pop.w {r4, r5, r6, r7, r8, pc}        |         
                                                     | label_6:
    0x00024e40 cmp r0, 2                             |         
                                                     |         if (r0 != 2) {
    0x00024e42 bne 0x24e6e                           |             goto label_9;
                                                     |         }
    0x00024e44 ldr r3, [r3]                          |         r3 = *(r3);
    0x00024e46 cmp r3, 3                             |         
                                                     |         if (r3 < 3) {
    0x00024e48 bls 0x24e98                           |             goto label_1;
                                                     |         }
    0x00024e4a add.w r8, sp, 0xc                     |         r8 += var_ch;
    0x00024e4e mov r0, r1                            |         r0 = r1;
    0x00024e50 mov.w r2, 0xa00                       |         r2 = case.0x269a8.32;
    0x00024e54 mov r1, r8                            |         r1 = r8;
    0x00024e56 blx 0x101b4                           |         fcn_000101b4 ();
    0x00024e5a mov r1, r7                            |         r1 = r7;
    0x00024e5c mov r4, r0                            |         r4 = r0;
    0x00024e5e movs r2, 0xa                          |         r2 = 0xa;
    0x00024e60 mov r0, r8                            |         r0 = r8;
    0x00024e62 blx 0x107c8                           |         fcn_000107c8 ();
    0x00024e66 movs r3, 4                            |         r3 = 4;
    0x00024e68 str r0, [r5]                          |         *(r5) = r0;
    0x00024e6a str r3, [r6]                          |         *(r6) = r3;
    0x00024e6c b 0x24e20                             |         
                                                     |     } while (1);
                                                     | label_9:
    0x00024e6e subs r0, 3                            |     r0 -= 3;
    0x00024e70 cmp r0, 1                             |     
    0x00024e72 it hi                                 |     
                                                     |     if (r0 > 1) {
    0x00024e74 movhi r4, r7                          |         r4 = r7;
                                                     |         goto label_10;
                                                     |     }
                                                     |     if (r0 > 1) {
                                                     | label_10:
    0x00024e76 bhi 0x24e20                           |         goto label_0;
                                                     |     }
                                                     |     do {
    0x00024e78 mov r0, r4                            |         r0 = r4;
    0x00024e7a mov r2, r6                            |         r2 = r6;
    0x00024e7c mov r1, ip                            |         r1 = ip;
    0x00024e7e blx 0x117e8                           |         r0 = fcn_000117e8 ();
    0x00024e82 mov r4, r0                            |         r4 = r0;
    0x00024e84 b 0x24e20                             |         goto label_0;
                                                     | label_3:
    0x00024e86 cmp r0, 0xc4                          |         
    0x00024e88 beq 0x24e78                           |         
                                                     |     } while (r0 == 0xc4);
    0x00024e8a cmp r0, 0xc6                          |     
                                                     |     if (r0 == 0xc6) {
    0x00024e8c beq 0x24e9c                           |         goto label_5;
                                                     |     }
    0x00024e8e cmp r0, 0x46                          |     
                                                     |     if (r0 != 0x46) {
    0x00024e90 bne 0x24e98                           |         goto label_1;
                                                     |     }
    0x00024e92 ldr r3, [r3]                          |     r3 = *(r3);
    0x00024e94 cmp r3, 7                             |     
    0x00024e96 bhi 0x24eb0                           |     
                                                     |     while (r3 < 3) {
                                                     | label_1:
    0x00024e98 movs r4, 0                            |         r4 = 0;
    0x00024e9a b 0x24e20                             |         goto label_0;
                                                     | label_5:
    0x00024e9c mov r0, r4                            |         r0 = r4;
    0x00024e9e mov r2, r6                            |         r2 = r6;
    0x00024ea0 mov r1, ip                            |         r1 = ip;
    0x00024ea2 blx 0x11514                           |         fcn_00011514 ();
    0x00024ea6 ldr r3, [r6]                          |         r3 = *(r6);
    0x00024ea8 mov r4, r0                            |         r4 = r0;
    0x00024eaa lsls r3, r3, 2                        |         r3 <<= 2;
    0x00024eac str r3, [r6]                          |         *(r6) = r3;
    0x00024eae b 0x24e20                             |         goto label_0;
    0x00024eb0 movs r3, 8                            |         r3 = 8;
    0x00024eb2 mov r0, r2                            |         r0 = r2;
    0x00024eb4 str r3, [r6]                          |         *(r6) = r3;
    0x00024eb6 blx 0xf854                            |         fcn_0000f854 ();
    0x00024eba mov r0, r4                            |         r0 = r4;
    0x00024ebc blx 0x1184c                           |         r0 = fcn_0001184c ();
    0x00024ec0 mov r4, r0                            |         r4 = r0;
    0x00024ec2 b 0x24e20                             |         goto label_0;
                                                     | label_4:
    0x00024ec4 ldr r3, [r3]                          |         r3 = *(r3);
    0x00024ec6 cmp r3, 3                             |         
    0x00024ec8 bls 0x24e98                           |         
                                                     |     }
    0x00024eca add.w r8, sp, 0xc                     |     r8 += var_ch;
    0x00024ece mov r0, r1                            |     r0 = r1;
    0x00024ed0 mov.w r2, 0xa00                       |     r2 = case.0x269a8.32;
    0x00024ed4 mov r1, r8                            |     r1 = r8;
    0x00024ed6 blx 0x101b4                           |     fcn_000101b4 ();
    0x00024ed8 strd r4, r6, [lr, -0xe8]!             |     __asm ("strd r4, r6, [lr, -0xe8]!");
    0x00024edc mov r4, r0                            |     r4 = r0;
    0x00024ede mov r1, r7                            |     r1 = r7;
    0x00024ee0 mov r0, r8                            |     r0 = r8;
    0x00024ee2 blx 0x105c0                           |     fcn_000105c0 ();
    0x00024ee6 movs r3, 4                            |     r3 = 4;
    0x00024ee8 str r0, [r5]                          |     *(r5) = r0;
    0x00024eea str r3, [r6]                          |     *(r6) = r3;
    0x00024eec b 0x24e20                             |     goto label_0;
                                                     | label_7:
    0x00024eee ldr r2, [sp, 0xc]                     |     r2 = var_ch;
    0x00024ef0 movw r3, 0x3532                       |     
    0x00024ef4 movt r3, 0x2e35                       |     r3 = 0xNaN;
    0x00024ef8 cmp r2, r3                            |     
                                                     |     if (r2 != r3) {
    0x00024efa bne 0x24e98                           |         goto label_1;
                                                     |     }
    0x00024efc ldr r1, [sp, 0x10]                    |     r1 = var_10h;
    0x00024efe add r3, sp, 0x10                      |     r3 += var_10h;
    0x00024f00 cmp r1, r2                            |     
                                                     |     if (r1 != r2) {
    0x00024f02 bne 0x24e98                           |         goto label_1;
                                                     |     }
    0x00024f04 ldr r1, [r3, 4]!                      |     r1 = var_4h_2;
    0x00024f08 movw r2, 0x3532                       |     
    0x00024f0c movt r2, 0x2e35                       |     r2 = 0xNaN;
    0x00024f10 cmp r1, r2                            |     
                                                     |     if (r1 != r2) {
    0x00024f12 bne 0x24e98                           |         goto label_1;
                                                     |     }
    0x00024f14 ldr r2, [r3, 4]                       |     r2 = var_4h_3;
    0x00024f16 movw r3, 0x3532                       |     
    0x00024f1a movt r3, 0x35                         |     r3 = 0xNaN;
    0x00024f1e cmp r2, r3                            |     
                                                     |     if (r2 != r3) {
    0x00024f20 bne 0x24e98                           |         goto label_1;
                                                     |     }
    0x00024f22 b 0x24e1c                             |     goto label_2;
                                                     | label_8:
    0x00024f24 blx 0x10d58                           |     fcn_00010d58 ();
    0x00024f28 push {r1, r2, r3, r4, r6, r7}         |     
    0x00024f2a movs r2, r0                           |     r2 = r0;
    0x00024f2c lsrs r4, r7, 0x11                     |     r4 = r7 >> 0x11;
    0x00024f2e movs r0, r0                           |     
    0x00024f30 push {r3, r7}                         |     
    0x00024f32 movs r2, r0                           |     r2 = r0;
                                                     | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24f34 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.read_config_store_data_prefix ()         | void read_config_store_data_prefix (int16_t arg1, uint32_t arg2, int16_t arg3, uint32_t arg4) {
                                                         |     int16_t var_18h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
                                                         |     r2 = arg3;
                                                         |     r3 = arg4;
                                                         | label_3:
    0x0000ff30 invalid                                   |     void (*0xff34)() ();
                                                         | label_0:
    0x000111d0 bx pc                                     |     return void (*pc)() ();
    0x00024f34 push {r4, r5, lr}                         |     
    0x00024f36 mov r4, r2                                |     r4 = r2;
    0x00024f38 cmp r3, 0                                 |     
    0x00024f3a it ne                                     |     
                                                         |     if (r3 != 0) {
    0x00024f3c cmpne r4, 0                               |         __asm ("cmpne r4, 0");
                                                         |     }
    0x00024f3e sub sp, 0xc                               |     
    0x00024f40 mov r5, r0                                |     r5 = r0;
    0x00024f42 it ne                                     |     
                                                         |     if (r3 == 0) {
    0x00024f44 movne r0, 1                               |         r0 = 1;
                                                         |     }
    0x00024f46 ldr r2, [sp, 0x18]                        |     r2 = var_18h;
    0x00024f48 it eq                                     |     
                                                         |     if (r3 != 0) {
    0x00024f4a moveq r0, 0                               |         r0 = 0;
                                                         |     }
                                                         |     if (r3 == 0) {
    0x00024f4c beq 0x24f60                               |         goto label_4;
                                                         |     }
    0x00024f4e cmp r1, 6                                 |     
                                                         |     if (r1 == 6) {
    0x00024f50 beq 0x24fbe                               |         goto label_5;
                                                         |     }
                                                         |     if (r1 <= 6) {
    0x00024f52 ble 0x24f86                               |         goto label_6;
                                                         |     }
    0x00024f54 cmp r1, 0x40                              |     
                                                         |     if (r1 == 0x40) {
    0x00024f56 beq 0x24faa                               |         goto label_7;
                                                         |     }
    0x00024f58 subs r1, 0x42                             |     r1 -= 0x42;
    0x00024f5a cmp r1, 1                                 |     
    0x00024f5c bls 0x24f64                               |     
                                                         |     while (r1 > 1) {
    0x00024f5e movs r0, 0                                |         r0 = 0;
                                                         | label_4:
    0x00024f60 add sp, 0xc                               |         
    0x00024f62 pop {r4, r5, pc}                          |         
    0x00024f64 ldr r1, [r3]                              |         r1 = *(r3);
    0x00024f66 ldr r3, [pc, 0x68]                        |         
    0x00024f68 add r3, pc                                |         r3 = 0x49f3e;
                                                         | label_1:
    0x00024f6a mov.w r2, -1                              |         r2 = -1;
    0x00024f6e strd r5, r1, [sp]                         |         __asm ("strd r5, r1, [sp]");
    0x00024f70 str r0, [r0, r4]                          |         *((r0 + r4)) = r0;
                                                         | label_2:
    0x00024f72 movs r1, 1                                |         r1 = 1;
    0x00024f74 mov r0, r4                                |         r0 = r4;
    0x00024f76 blx 0x114a0                               |         fcn_000114a0 ();
    0x00024f7a mov r0, r4                                |         r0 = r4;
    0x00024f7c blx 0x10548                               |         fcn_00010548 ();
    0x00024f7e invalid                                   |         
    0x00024f82 add sp, 0xc                               |         
    0x00024f84 pop {r4, r5, pc}                          |         
                                                         | label_6:
    0x00024f86 cmp r1, 2                                 |         
                                                         |         if (r1 == 2) {
    0x00024f88 beq 0x24fa2                               |             goto label_8;
                                                         |         }
    0x00024f8a subs r1, 3                                |         r1 -= 3;
    0x00024f8c cmp r1, 1                                 |         
    0x00024f8e bhi 0x24f5e                               |         
                                                         |     }
    0x00024f90 mov r0, r4                                |     r0 = r4;
    0x00024f92 strb r5, [r0], 1                          |     *(r0) = r5;
                                                         |     r0++;
    0x00024f96 ldr r1, [r3]                              |     r1 = *(r3);
    0x00024f98 add sp, 0xc                               |     
    0x00024f9a pop.w {r4, r5, lr}                        |     
    0x00024f9e b.w 0x111d0                               |     goto label_0;
                                                         | label_8:
    0x00024fa2 ldr r1, [r3]                              |     r1 = *(r3);
    0x00024fa4 ldr r3, [pc, 0x2c]                        |     
    0x00024fa6 add r3, pc                                |     r3 = 0x49f7e;
    0x00024fa8 b 0x24f6a                                 |     goto label_1;
                                                         | label_7:
    0x00024faa ldr r0, [r3]                              |     r0 = *(r3);
    0x00024fac blx 0xf8e8                                |     fcn_0000f8e8 ();
    0x00024fb0 ldr r3, [pc, 0x24]                        |     
    0x00024fb2 mov.w r2, -1                              |     r2 = -1;
    0x00024fb6 strd r5, r0, [sp]                         |     __asm ("strd r5, r0, [sp]");
    0x00024fba add r3, pc                                |     r3 = 0x49f96;
    0x00024fbc b 0x24f72                                 |     goto label_2;
                                                         | label_5:
    0x00024fbe mov r0, r4                                |     r0 = r4;
    0x00024fc0 strb r5, [r0], 1                          |     *(r0) = r5;
                                                         |     r0++;
    0x00024fc4 ldr r1, [r3]                              |     r1 = *(r3);
    0x00024fc6 add sp, 0xc                               |     
    0x00024fc8 pop.w {r4, r5, lr}                        |     
    0x00024fcc b.w 0xff30                                |     goto label_3;
                                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x24fdc */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.read_config_store_data ()        | void read_config_store_data (int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                 |     int16_t var_0h;
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
                                                 |     r2 = arg3;
                                                 |     r3 = arg4;
    0x00024fdc mov ip, r3                        |     
    0x00024fde push {r4, lr}                     |     
    0x00024fe0 mov r3, r2                        |     r3 = r2;
    0x00024fe2 sub sp, 8                         |     
    0x00024fe4 mov r4, ip                        |     r4 = ip;
    0x00024fe6 cmp.w ip, 0                       |     
                                                 |     if (ip != 0) {
    0x00024fea beq 0x24ff0                       |         
    0x00024fec ldr.w r4, [ip]                    |         r4 = *(ip);
                                                 |     }
    0x00024ff0 mov r2, r1                        |     r2 = r1;
    0x00024ff2 str r4, [sp]                      |     *(sp) = r4;
    0x00024ff4 mov r1, r0                        |     r1 = r0;
    0x00024ff6 movs r0, 0x20                     |     r0 = 0x20;
    0x00024ff8 blx 0x10c14                       |     HMAC ();
    0x00024ffc add sp, 8                         |     
    0x00024ffe pop {r4, pc}                      |     
                                                 | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x246e4 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.read_config_files_of_type ()             | void read_config_files_of_type (int16_t arg1, int16_t arg2) {
                                                         |     int16_t var_0h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x000246e4 mvnsmi lr, 0xb4000                        |     __asm ("mvnsmi lr, case.0x269a8.32");
    0x000246e8 mov r7, r0                                |     r7 = r0;
    0x000246ea sub sp, 0xc                               |     
    0x000246ec mov r5, r1                                |     r5 = r1;
    0x000246ee movs r0, 0                                |     r0 = 0;
    0x000246f0 movs r1, 0x20                             |     r1 = 0x20;
    0x000246f2 blx 0x1096c                               |     r0 = fcn_0001096c ();
    0x000246f6 cmp r0, 0                                 |     
                                                         |     if (r0 != 0) {
    0x000246f8 bne 0x2479e                               |         goto label_2;
                                                         |     }
    0x000246fa movs r1, 6                                |     r1 = 6;
    0x000246fc blx 0x1096c                               |     fcn_0001096c ();
    0x00024700 clz r3, r5                                |     r3 &= r5;
    0x00024704 lsrs r3, r3, 5                            |     r3 >>= 5;
    0x00024706 cmp r0, 0                                 |     
    0x00024708 it ne                                     |     
                                                         |     if (r0 == 0) {
    0x0002470a orrne r3, r3, 1                           |         r3 |= 1;
                                                         |     }
    0x0002470e cmp r3, 0                                 |     
                                                         |     if (r3 != 0) {
    0x00024710 bne 0x2479e                               |         goto label_2;
                                                         |     }
    0x00024712 blx 0x10464                               |     r0 = fcn_00010464 ();
    0x00024716 mov sb, r0                                |     sb = r0;
    0x00024718 ldr r0, [pc, 0x88]                        |     
    0x0002471a add r0, pc                                |     r0 = 0x48ec2;
    0x0002471c blx 0x10cfc                               |     r0 = fcn_00010cfc ();
    0x00024720 mov r8, r0                                |     r8 = r0;
    0x00024722 ldr r0, [pc, 0x84]                        |     
    0x00024724 add r0, pc                                |     r0 = 0x48ed2;
    0x00024726 blx 0x10cfc                               |     fcn_00010cfc ();
    0x00024728 invalid                                   |     
    0x0002472a mov r6, r0                                |     r6 = r0;
    0x0002472c blx 0x10d80                               |     fcn_00010d80 ();
    0x00024730 blx 0x10d18                               |     r0 = fcn_00010d18 ();
    0x00024734 mov r4, r0                                |     r4 = r0;
                                                         |     if (r6 == 0) {
    0x00024736 cbz r6, 0x2475e                           |         goto label_3;
                                                         |     }
    0x00024738 mov r1, r5                                |     r1 = r5;
    0x0002473a mov r2, r7                                |     r2 = r7;
    0x0002473c mov r0, r6                                |     r0 = r6;
    0x0002473e mov r3, r4                                |     r3 = r4;
    0x00024740 str.w r8, [sp]                            |     __asm ("str.w r8, [sp]");
    0x00024744 bl 0x24508                                |     r0 = fcn_00024508 (r0, r1, r2, r3, r4);
    0x00024748 subs r5, r0, 0                            |     r5 = r0 - 0;
    0x0002474a it ne                                     |     
                                                         |     if (r5 == r0) {
    0x0002474c movne r5, 1                               |         r5 = 1;
                                                         |     }
    0x0002474e rsbs r5, r5, 0                            |     r5 -= ;
                                                         |     do {
                                                         | label_0:
    0x00024750 mov r0, r4                                |         r0 = r4;
    0x00024752 blx 0x10168                               |         fcn_00010168 ();
                                                         | label_1:
    0x00024756 mov r0, r5                                |         r0 = r5;
    0x00024758 add sp, 0xc                               |         
    0x0002475a pop.w {r4, r5, r6, r7, r8, sb, pc}        |         
                                                         | label_3:
    0x0002475e mov r3, r4                                |         r3 = r4;
    0x00024760 mov r1, r5                                |         r1 = r5;
    0x00024762 mov r2, r7                                |         r2 = r7;
    0x00024764 mov r0, sb                                |         r0 = sb;
    0x00024766 str.w r8, [sp]                            |         __asm ("str.w r8, [sp]");
    0x0002476a bl 0x24508                                |         r0 = fcn_00024508 (r0, r1, r2, r3, r4);
    0x0002476e mov r6, r0                                |         r6 = r0;
    0x00024770 mov r0, r4                                |         r0 = r4;
    0x00024772 blx 0x10168                               |         fcn_00010168 ();
    0x00024776 blx 0x10d80                               |         fcn_00010d80 ();
    0x00024778 add.w r7, r4, ip, asr 31                  |         r7 = r4 + (ip >> 31);
    0x0002477c pkhtb r6, lr, sb, asr 0x10                |         __asm ("pkhtb r6, lr, sb, asr 0x10");
    0x00024780 mov r2, r7                                |         r2 = r7;
    0x00024782 mov r3, r0                                |         r3 = r0;
    0x00024784 str.w r8, [sp]                            |         __asm ("str.w r8, [sp]");
    0x00024788 mov r4, r0                                |         r4 = r0;
    0x0002478a bl 0x24508                                |         r0 = fcn_00024508 (r0, r1, r2, r3, r4);
    0x0002478e mov r5, r0                                |         r5 = r0;
    0x00024790 cmp r0, 0                                 |         
    0x00024792 beq 0x24750                               |         
                                                         |     } while (r0 == 0);
    0x00024794 subs r3, r6, 0                            |     r3 = r6 - 0;
    0x00024796 it ne                                     |     
                                                         |     if (r3 == r6) {
    0x00024798 movne r3, 1                               |         r3 = 1;
                                                         |     }
    0x0002479a rsbs r5, r3, 0                            |     r5 = r3 - ;
    0x0002479c b 0x24750                                 |     goto label_0;
                                                         | label_2:
    0x0002479e mov.w r5, -1                              |     r5 = -1;
    0x000247a2 b 0x24756                                 |     goto label_1;
                                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmp.so.40.1.0 @ 0x247ac */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.read_config_files ()     | void read_config_files (uint32_t arg1) {
                                         |     r0 = arg1;
    0x000247ac ldr r3, [pc, 0x5c]        |     
    0x000247ae cmp r0, 1                 |     
    0x000247b0 ldr r1, [pc, 0x5c]        |     r1 = *(0x24810);
    0x000247b2 ldr r2, [pc, 0x60]        |     
    0x000247b4 add r3, pc                |     r3 = 0x48fc4;
    0x000247b6 push {r4, r5, r6, lr}     |     
    0x000247b8 ldr r1, [r3, r1]          |     r1 = *(0x48fc4);
    0x000247ba mov.w r4, 0               |     r4 = 0;
    0x000247be add r2, pc                |     r2 = 0x48fd8;
    0x000247c0 mov r6, r0                |     r6 = r0;
    0x000247c2 str r4, [r2, 0xc]         |     *((r2 + 0xc)) = r4;
    0x000247c4 ldr r4, [r1]              |     r4 = *(0x48fc4);
                                         |     if (r0 == 1) {
    0x000247c6 beq 0x247f8               |         goto label_3;
                                         |     }
                                         |     if (r4 == 0) {
    0x000247c8 cbz r4, 0x24806           |         goto label_4;
                                         |     }
                                         | label_0:
    0x000247ca mov.w r5, -1              |     r5 = -1;
                                         |     do {
    0x000247ce mov r1, r4                |         r1 = r4;
    0x000247d0 mov r0, r6                |         r0 = r6;
    0x000247d2 blx 0x10c08               |         fprintf_chk ()
    0x000247d6 ldr r4, [r4, 8]           |         r4 = *((r4 + 8));
    0x000247d8 cmp r0, 0                 |         
    0x000247da it eq                     |         
                                         |         if (r0 != 0) {
    0x000247dc moveq r5, 0               |             r5 = 0;
                                         |         }
    0x000247de cmp r4, 0                 |         
    0x000247e0 bne 0x247ce               |         
                                         |     } while (r4 != 0);
                                         | label_1:
    0x000247e2 ldr r3, [pc, 0x34]        |     
    0x000247e4 add r3, pc                |     r3 = 0x49002;
    0x000247e6 ldr r2, [r3, 0xc]         |     r2 = *(0x4900e);
                                         |     if (r2 != 0) {
    0x000247e8 cbz r2, 0x247f4           |         
    0x000247ea ldr r1, [pc, 0x30]        |         
    0x000247ec movs r0, 3                |         r0 = 3;
    0x000247ee add r1, pc                |         r1 = 0x49010;
    0x000247f0 blx 0x11494               |         fcn_00011494 ();
                                         |     }
                                         | label_2:
    0x000247f4 mov r0, r5                |     r0 = r5;
    0x000247f6 pop {r4, r5, r6, pc}      |     
                                         | label_3:
    0x000247f8 blx 0xf51c                |     fcn_0000f51c ();
    0x000247fc cmp r4, 0                 |     
                                         |     if (r4 != 0) {
    0x000247fe bne 0x247ca               |         goto label_0;
                                         |     }
    0x00024800 mov.w r5, -1              |     r5 = -1;
    0x00024804 b 0x247e2                 |     goto label_1;
                                         | label_4:
    0x00024806 mov.w r5, -1              |     r5 = -1;
    0x0002480a b 0x247f4                 |     goto label_2;
                                         | }

[*] Function fprintf used 7 times libnetsnmp.so.40.1.0