[*] Binary protection state of snmpd_migrate

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


[*] Function printf tear down of snmpd_migrate

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/libexec/snmpd_migrate @ 0x1240 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00001240 ()                                  | void fcn_00001240 (int16_t arg_1h_2, int16_t arg_1h, int16_t arg_8h, int16_t arg_ch, int16_t arg_10h, int16_t arg_14h, int16_t arg_18h, int16_t arg_1ch, int16_t arg_20h, int16_t arg_24h, int16_t arg_28h, int16_t arg_2ch, void * arg_34h, int16_t arg_38h, int16_t arg_3ch, void * ptr, void * arg_44h, void * arg_48h, int16_t arg_4ch, int16_t arg_50h, int16_t arg_54h, int16_t arg_58h, char * arg_60h, int16_t arg_cch) {
                                                             |     int16_t var_0h;
                                                             |     int16_t var_4h;
                                                             |     do {
                                                             | label_14:
    0x000007e6 ldr.w r2, [pc, 0x92c]                         |         r2 = *(0x00001114);
    0x000007ea ldr.w r3, [pc, 0x91c]                         |         r3 = *(0x110a);
    0x000007ee add r2, pc                                    |         r2 += pc;
    0x000007f0 ldr r3, [r2, r3]                              |         r3 = *((r2 + r3));
    0x000007f2 ldr r2, [r3]                                  |         r2 = *(0x110a);
    0x000007f4 ldr r3, [sp, 0xcc]                            |         r3 = *(arg_cch);
    0x000007f6 eors r2, r3                                   |         r2 ^= r3;
    0x000007f8 mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x000007fc bne.w 0x1016                                  |             goto label_17;
                                                             |         }
    0x000007fe strh r3, [r1, 0x20]                           |         *((r1 + 0x20)) = r3;
    0x00000800 mov r0, r6                                    |         r0 = r6;
    0x00000802 add sp, 0xd4                                  |         
    0x00000804 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |         
                                                             | label_3:
    0x000008cc add.w r3, sl, r7                              |         r3 = sl + r7;
    0x000008d0 ldrb.w r2, [sl, r7]                           |         r2 = *((sl + r7));
    0x000008d4 ldrb r3, [r3, 1]                              |         r3 = *((r3 + 1));
    0x000008d6 adds r7, 2                                    |         r7 += 2;
    0x000008d8 str r2, [sp, 0x38]                            |         *(arg_38h) = r2;
    0x000008da str r3, [sp, 0x3c]                            |         *(arg_3ch) = r3;
    0x000008dc cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000008de beq.w 0xbba                                   |             goto label_18;
                                                             |         }
    0x000008e2 mov.w fp, 0                                   |         
                                                             | label_2:
    0x000008e6 movs r0, 0x10                                 |         r0 = 0x10;
    0x000008e8 add.w r5, sl, r7                              |         r5 = sl + r7;
    0x000008ec blx 0x738                                     |         r0 = malloc (r0);
    0x000008f0 mov r4, r0                                    |         r4 = r0;
    0x000008f2 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000008f4 beq.w 0xfec                                   |             goto label_19;
                                                             |         }
    0x000008f6 strh r2, [r7, 0x1a]                           |         *((r7 + 0x1a)) = r2;
    0x000008f8 ldrb.w r1, [sl, r7]                           |         r1 = *((sl + r7));
    0x000008fc ldr.w r6, [r5, 1]                             |         r6 = *((r5 + 1));
    0x00000900 sub.w r3, r1, 0xb                             |         r3 = r1 - 0xb;
    0x00000904 str r1, [r0]                                  |         *(r0) = r1;
    0x00000906 str r6, [r0, 4]                               |         *((r0 + 4)) = r6;
    0x00000908 cmp r3, 0xf                                   |         
                                                             |         if (r3 <= 0xf) {
    0x0000090a bhi 0x930                                     |             
                                                             |             /* switch table (17 cases) at 0x910 */
    0x0000090c tbh [pc, r3, lsl 1]                           |             __asm ("tbh [pc, r3, lsl 1]");
                                                             |         }
    0x00000930 ldr.w r3, [pc, 0x7ec]                         |         
    0x00000934 movs r0, 0                                    |         r0 = 0;
    0x00000936 ldr.w r2, [pc, 0x7ec]                         |         
    0x0000093a str r1, [sp]                                  |         *(sp) = r1;
    0x0000093c mov.w r1, 0x100                               |         r1 = 0x100;
    0x00000940 add r3, pc                                    |         r3 = ">\t>\n>";
    0x00000942 add r2, pc                                    |         r2 = 0x1a6c;
                                                             | label_15:
    0x00000944 blx 0x768                                     |         g_log ();
    0x00000948 mov r0, r4                                    |         r0 = r4;
    0x0000094a blx 0x6e4                                     |         free (r0);
    0x0000094c mcr p6, 6, r4, c12, c0, 2                     |         __asm ("mcr p6, 6, r4, c12, c0, 2");
    0x00000950 blx 0x6e4                                     |         free (r0);
    0x00000954 ldr.w r0, [pc, 0x7d0]                         |         
    0x00000958 movs r6, 1                                    |         r6 = 1;
    0x0000095a add r0, pc                                    |         r0 = 0x1a86;
    0x0000095c blx 0x72c                                     |         puts (r0);
    0x00000960 ldr.w r0, [pc, 0x7c8]                         |         
    0x00000964 add r0, pc                                    |         r0 = 0x1a94;
    0x00000966 blx 0x72c                                     |         puts (r0);
    0x0000096a ldr r3, [sp, 0x34]                            |         r3 = *(arg_34h);
    0x0000096c ldr r4, [r3]                                  |         r4 = *(r3);
    0x0000096e cmp r4, 0                                     |         
                                                             |         if (r4 != 0) {
    0x00000970 bne 0x9e8                                     |             goto label_4;
                                                             |         }
                                                             | label_0:
    0x00000972 ldr r3, [sp, 0x40]                            |         r3 = *(ptr);
    0x00000974 ldr r0, [r3]                                  |         r0 = *(r3);
                                                             |         if (r0 != 0) {
    0x00000976 cbz r0, 0x97c                                 |             
    0x00000978 blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x0000097c ldr r3, [sp, 0x40]                            |         r3 = *(ptr);
    0x0000097e ldr r0, [r3, 4]                               |         r0 = *((r3 + 4));
                                                             |         if (r0 != 0) {
    0x00000980 cbz r0, 0x986                                 |             
    0x00000982 blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x00000986 ldr r3, [sp, 0x40]                            |         r3 = *(ptr);
    0x00000988 ldr r0, [r3, 8]                               |         r0 = *((r3 + 8));
                                                             |         if (r0 != 0) {
    0x0000098a cbz r0, 0x990                                 |             
    0x0000098c blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x00000990 ldr r3, [sp, 0x40]                            |         r3 = *(ptr);
    0x00000992 ldr r0, [r3, 0x14]                            |         r0 = *((r3 + 0x14));
                                                             |         if (r0 != 0) {
    0x00000994 cbz r0, 0x99a                                 |             
    0x00000996 blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x0000099a ldr r3, [sp, 0x40]                            |         r3 = *(ptr);
    0x0000099c ldr r0, [r3, 0x18]                            |         r0 = *((r3 + 0x18));
                                                             |         if (r0 != 0) {
    0x0000099e cbz r0, 0x9a4                                 |             
    0x000009a0 blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x000009a4 ldr r0, [sp, 0x40]                            |         r0 = *(ptr);
    0x000009a6 blx 0x6e4                                     |         free (r0);
    0x000009a8 invalid                                       |         
    0x000009ac ldr r0, [r3]                                  |         r0 = *(r3);
                                                             |         if (r0 != 0) {
    0x000009ae cbz r0, 0x9b4                                 |             
    0x000009b0 blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x000009b4 ldr r3, [sp, 0x44]                            |         r3 = *(arg_44h);
    0x000009b6 ldr r0, [r3, 0xc]                             |         r0 = *((r3 + 0xc));
                                                             |         if (r0 != 0) {
    0x000009b8 cbz r0, 0x9be                                 |             
    0x000009ba blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x000009be ldr r0, [sp, 0x44]                            |         r0 = *(arg_44h);
    0x000009c0 blx 0x6e4                                     |         free (r0);
    0x000009c4 ldr r3, [sp, 0x48]                            |         r3 = *(arg_48h);
    0x000009c6 ldr r0, [r3]                                  |         r0 = *(r3);
                                                             |         if (r0 != 0) {
    0x000009c8 cbz r0, 0x9ce                                 |             
    0x000009ca blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x000009ce ldr r3, [sp, 0x48]                            |         r3 = *(arg_48h);
    0x000009d0 ldr r0, [r3, 4]                               |         r0 = *((r3 + 4));
                                                             |         if (r0 != 0) {
    0x000009d2 cbz r0, 0x9d8                                 |             
    0x000009d4 blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x000009d8 ldr r0, [sp, 0x48]                            |         r0 = *(arg_48h);
    0x000009da blx 0x6e4                                     |         free (r0);
    0x000009de ldr r0, [sp, 0x34]                            |         r0 = *(arg_34h);
    0x000009e0 blx 0x6e4                                     |         free (r0);
    0x000009e4 b 0x7e6                                       |         
                                                             |     } while (1);
                                                             |     do {
    0x000009e6 mov r4, r5                                    |         r4 = r5;
                                                             | label_4:
    0x000009e8 ldr r5, [r4]                                  |         r5 = *(r4);
    0x000009ea cmp r5, 0                                     |         
                                                             |         if (r5 == 0) {
    0x000009ec beq.w 0x1000                                  |             goto label_20;
                                                             |         }
    0x000009f0 ldr r0, [r5, 8]                               |         r0 = *((r5 + 8));
                                                             |         if (r0 != 0) {
    0x000009f2 cbz r0, 0x9f8                                 |             
    0x000009f4 blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x000009f8 ldr r0, [r5, 0xc]                             |         r0 = *((r5 + 0xc));
                                                             |         if (r0 != 0) {
    0x000009fa cbz r0, 0xa00                                 |             
    0x000009fc blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x00000a00 ldr r0, [r5, 0x10]                            |         r0 = *((r5 + 0x10));
                                                             |         if (r0 != 0) {
    0x00000a02 cbz r0, 0xa08                                 |             
    0x00000a04 blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x00000a08 ldr r0, [r5, 0x14]                            |         r0 = *((r5 + 0x14));
                                                             |         if (r0 != 0) {
    0x00000a0a cbz r0, 0xa10                                 |             
    0x00000a0c blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x00000a10 ldr r0, [r5, 0x18]                            |         r0 = *((r5 + 0x18));
                                                             |         if (r0 != 0) {
    0x00000a12 cbz r0, 0xa18                                 |             
    0x00000a14 blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x00000a18 ldr r0, [r5, 0x1c]                            |         r0 = *((r5 + 0x1c));
                                                             |         if (r0 != 0) {
    0x00000a1a cbz r0, 0xa20                                 |             
    0x00000a1c blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x00000a20 ldr r0, [r5, 0x20]                            |         r0 = *((r5 + 0x20));
                                                             |         if (r0 != 0) {
    0x00000a22 cbz r0, 0xa28                                 |             
    0x00000a24 blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x00000a28 ldr r0, [r5, 0x24]                            |         r0 = *((r5 + 0x24));
                                                             |         if (r0 != 0) {
    0x00000a2a cbz r0, 0xa30                                 |             
    0x00000a2c blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x00000a30 mov r0, r5                                    |         r0 = r5;
    0x00000a32 blx 0x6e4                                     |         free (r0);
    0x00000a36 ldr r5, [r4, 4]                               |         r5 = *((r4 + 4));
    0x00000a38 mov r0, r4                                    |         r0 = r4;
    0x00000a3a blx 0x6e4                                     |         free (r0);
    0x00000a3e cmp r5, 0                                     |         
    0x00000a40 bne 0x9e6                                     |         
                                                             |     } while (r5 != 0);
    0x00000a42 b 0x972                                       |     goto label_0;
    0x00000a44 movs r0, 0x84                                 |     r0 = 0x84;
    0x00000a46 blx 0x738                                     |     malloc (r0);
    0x00000a4a movs r3, 0x18                                 |     r3 = 0x18;
    0x00000a4c str r0, [r4, 8]                               |     *((r4 + 8)) = r0;
    0x00000a4e str r3, [r4]                                  |     *(r4) = r3;
    0x00000a50 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000a52 beq.w 0x109e                                  |         goto label_21;
                                                             |     }
    0x00000a56 ldr.w r6, [r5, 5]                             |     r6 = *((r5 + 5));
    0x00000a5a cmp r6, 0x40                                  |     
    0x00000a5c str r6, [r0]                                  |     *(r0) = r6;
    0x00000a5e it gt                                         |     
                                                             |     if (r6 <= 0x40) {
    0x00000a60 movgt r8, 9                                   |         r8 = 9;
                                                             |     }
                                                             |     if (r6 <= 0x40) {
    0x00000a64 bgt 0xa90                                     |         
    0x00000a66 cmp r6, 0                                     |         
                                                             |         if (r6 <= 0) {
    0x00000a68 ble.w 0xe76                                   |             goto label_22;
                                                             |         }
    0x00000a6c add.w r8, r6, -1                              |         r8 = r6 + -1;
    0x00000a70 lsls r2, r6, 1                                |         r2 = r6 << 1;
    0x00000a72 lsl.w r8, r8, 1                               |         r8 <<= 1;
    0x00000a74 lsrs r0, r1, 1                                |         r0 = r1 >> 1;
    0x00000a76 adds r0, 4                                    |         r0 += 4;
    0x00000a78 add.w r1, r5, 9                               |         r1 = r5 + 9;
    0x00000a7c blx 0x6f0                                     |         memcpy (r0, r1, r2);
    0x00000a80 add.w r3, r8, 0xb                             |         r3 = r8 + 0xb;
    0x00000a84 add.w r8, r8, 0xc                             |         r8 += 0xc;
                                                             | label_1:
    0x00000a88 ldrb r3, [r5, r3]                             |         r3 = *((r5 + r3));
    0x00000a8a and r3, r3, 7                                 |         r3 &= 7;
    0x00000a8e str r3, [r4, 0xc]                             |         *((r4 + 0xc)) = r3;
                                                             |     }
    0x00000a90 ldr r3, [sp, 0x38]                            |     r3 = *(arg_38h);
    0x00000a92 add r7, r8                                    |     r7 += r8;
    0x00000a94 sub.w r6, r3, 0x16                            |     r6 = r3 - 0x16;
    0x00000a98 cmp r6, 0xe                                   |     
                                                             |     if (r6 > 0xe) {
    0x00000a9a bhi.w 0xe16                                   |         goto label_23;
                                                             |     }
    0x00000a9e ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x00000aa0 ldrd r5, sb, [r3]                             |     __asm ("ldrd r5, sb, [r3]");
    0x00000aa4 cmp sb, fp                                    |     
                                                             |     if (sb > fp) {
    0x00000aa6 bgt.w 0xe1c                                   |         goto label_24;
                                                             |     }
    0x00000aaa movs r1, 0x28                                 |     r1 = 0x28;
    0x00000aac movs r0, 1                                    |     r0 = 1;
    0x00000aae blx 0x6b4                                     |     r0 = calloc (r0, r1);
    0x00000ab2 mov r8, r0                                    |     r8 = r0;
    0x00000ab4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000ab6 beq.w 0x10b4                                  |         goto label_25;
                                                             |     }
    0x00000aba movs r1, 8                                    |     r1 = 8;
    0x00000abc movs r0, 1                                    |     r0 = 1;
    0x00000abe blx 0x6b4                                     |     r0 = calloc (r0, r1);
    0x00000ac2 mov r1, r0                                    |     r1 = r0;
    0x00000ac4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000ac6 beq.w 0x10c8                                  |         goto label_26;
                                                             |     }
    0x00000aca movs r3, 0                                    |     r3 = 0;
    0x00000acc str.w r8, [r0]                                |     __asm ("str.w r8, [r0]");
    0x00000ad0 str r3, [r0, 4]                               |     *((r0 + 4)) = r3;
    0x00000ad2 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00000ad4 beq.w 0xe44                                   |         goto label_27;
                                                             |     }
    0x00000ad6 strh r6, [r6, 0xc]                            |     *((r6 + 0xc)) = r6;
    0x00000ad8 mov r3, r5                                    |     r3 = r5;
                                                             |     do {
    0x00000ada mov r2, r3                                    |         r2 = r3;
    0x00000adc ldr r3, [r3, 4]                               |         r3 = *((r3 + 4));
    0x00000ade cmp r3, 0                                     |         
    0x00000ae0 bne 0xada                                     |         
                                                             |     } while (r3 != 0);
    0x00000ae2 str r1, [r2, 4]                               |     *((r2 + 4)) = r1;
                                                             | label_8:
    0x00000ae4 ldr r2, [sp, 0x34]                            |     r2 = *(arg_34h);
    0x00000ae6 add.w r3, sb, 1                               |     r3 = sb + 1;
    0x00000aea str r5, [r2]                                  |     *(r2) = r5;
    0x00000aec str r3, [r2, 4]                               |     *((r2 + 4)) = r3;
                                                             | label_7:
    0x00000aee ldr r5, [r4]                                  |     r5 = *(r4);
    0x00000af0 ldr.w sb, [r4, 8]                             |     sb = *((r4 + 8));
    0x00000af4 cmp r6, 0x23                                  |     
                                                             |     if (r6 > 0x23) {
    0x00000af6 bhi 0xb9a                                     |         goto label_5;
                                                             |     }
                                                             |     /* switch table (37 cases) at 0xafc */
    0x00000af8 tbh [pc, r6, lsl 1]                           |     __asm ("tbh [pc, r6, lsl 1]");
    0x00000b44 cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x00000b46 bne.w 0xe48                                   |         goto label_28;
                                                             |     }
    0x00000b4a str r6, [r0, 8]                               |     *((r0 + 8)) = r6;
                                                             |     do {
    0x00000b4c movs r3, 5                                    |         r3 = 5;
    0x00000b4e mov.w r8, 6                                   |         r8 = 6;
    0x00000b52 b 0xa88                                       |         goto label_1;
    0x00000b54 ldr.w r3, [r5, 5]                             |         r3 = *((r5 + 5));
    0x00000b58 mov.w r8, 0xa                                 |         r8 = 0xa;
    0x00000b5c str r3, [r0, 8]                               |         *((r0 + 8)) = r3;
    0x00000b5e movs r3, 9                                    |         r3 = 9;
    0x00000b60 b 0xa88                                       |         goto label_1;
    0x00000b62 cmp r6, 4                                     |         
                                                             |         if (r6 > 4) {
    0x00000b64 bhi.w 0x10d8                                  |             goto label_29;
                                                             |         }
    0x00000b68 cmp r6, 0                                     |         
    0x00000b6a beq 0xb4c                                     |         
                                                             |     } while (r6 == 0);
    0x00000b6c mov r2, r6                                    |     r2 = r6;
    0x00000b6e adds r1, r5, 5                                |     r1 = r5 + 5;
    0x00000b70 adds r0, 8                                    |     r0 += 8;
    0x00000b72 add.w r8, r6, 6                               |     r8 = r6 + 6;
    0x00000b76 blx 0x6f0                                     |     memcpy (r0, r1, r2);
    0x00000b7a adds r3, r6, 5                                |     r3 = r6 + 5;
    0x00000b7c b 0xa88                                       |     goto label_1;
    0x00000b7e movs r3, 0                                    |     r3 = 0;
    0x00000b80 mov.w r8, 6                                   |     r8 = 6;
    0x00000b84 strd r3, r3, [r0, 4]                          |     __asm ("strd r3, r3, [r0, 4]");
    0x00000b88 movs r3, 0x1a                                 |     r3 = 0x1a;
    0x00000b8a str r3, [r0]                                  |     *(r0) = r3;
    0x00000b8c movs r3, 5                                    |     r3 = 5;
    0x00000b8e b 0xa88                                       |     goto label_1;
    0x00000b90 mov r0, sb                                    |     r0 = sb;
    0x00000b92 blx 0x6fc                                     |     strdup (r0);
    0x00000b96 ldr r3, [sp, 0x48]                            |     r3 = *(arg_48h);
    0x00000b98 str r0, [r3, 4]                               |     *((r3 + 4)) = r0;
                                                             | label_5:
    0x00000b9a cmp r5, 0x15                                  |     
                                                             |     if (r5 != 0x15) {
    0x00000b9c beq 0xba2                                     |         
                                                             | label_6:
    0x00000b9e cmp r5, 0x18                                  |         
                                                             |         if (r5 != 0x18) {
    0x00000ba0 bne 0xba8                                     |             goto label_30;
                                                             |         }
                                                             |     }
                                                             | label_10:
    0x00000ba2 mov r0, sb                                    |     r0 = sb;
    0x00000ba4 blx 0x6e4                                     |     free (r0);
    0x00000ba6 invalid                                       |     
                                                             | label_30:
    0x00000ba8 mov r0, r4                                    |     r0 = r4;
    0x00000baa add.w fp, fp, 1                               |     
    0x00000bae blx 0x6e4                                     |     free (r0);
    0x00000bb2 ldr r3, [sp, 0x3c]                            |     r3 = *(arg_3ch);
    0x00000bb4 cmp fp, r3                                    |     
                                                             |     if (fp != r3) {
    0x00000bb6 bne.w 0x8e6                                   |         goto label_2;
                                                             |     }
                                                             | label_18:
    0x00000bba ldr r3, [sp, 0x50]                            |     r3 = *(arg_50h);
    0x00000bbc cmp r3, r7                                    |     
                                                             |     if (r3 > r7) {
    0x00000bbe bgt.w 0x8cc                                   |         goto label_3;
                                                             |     }
    0x00000bc2 mov r0, sl                                    |     r0 = sl;
    0x00000bc4 blx 0x6e4                                     |     free (r0);
    0x00000bc8 ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x00000bca ldr r4, [r3]                                  |     r4 = *(r3);
    0x00000bcc cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00000bce beq.w 0xe72                                   |         goto label_31;
                                                             |     }
    0x00000bd0 strh r0, [r2, 0xa]                            |     *((r2 + 0xa)) = r0;
    0x00000bd2 ldr r3, [sp, 0x4c]                            |     r3 = *(arg_4ch);
    0x00000bd4 movs r5, 0                                    |     r5 = 0;
    0x00000bd6 mov.w r2, 0x1a0                               |     r2 = 0x1a0;
    0x00000bda movw r1, 0x241                                |     r1 = 0x241;
    0x00000bde str r5, [sp, 0x60]                            |     *(arg_60h) = r5;
    0x00000be0 ldr r0, [r3, 8]                               |     r0 = *((r3 + 8));
    0x00000be2 blx 0x714                                     |     r0 = open64 ();
    0x00000be6 subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 < r0) {
    0x00000be8 blt.w 0xf58                                   |         goto label_32;
                                                             |     }
    0x00000bec ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x00000bee ldr r3, [r3, 4]                               |     r3 = *((r3 + 4));
    0x00000bf0 cmp r3, r5                                    |     
                                                             |     if (r3 > r5) {
    0x00000bf2 bgt.w 0xe9a                                   |         goto label_33;
                                                             |     }
    0x00000bf6 mov r8, r5                                    |     r8 = r5;
                                                             | label_11:
    0x00000bf8 ldr r2, [sp, 0x40]                            |     r2 = *(ptr);
    0x00000bfa ldr r5, [sp, 0x60]                            |     r5 = *(arg_60h);
    0x00000bfc ldr r3, [r2]                                  |     r3 = *(r2);
                                                             |     if (r3 != 0) {
    0x00000bfe cbz r3, 0xc44                                 |         
    0x00000c00 str r3, [sp]                                  |         *(sp) = r3;
    0x00000c02 movs r1, 1                                    |         r1 = 1;
    0x00000c04 ldr r3, [r2, 0x20]                            |         r3 = *((r2 + 0x20));
    0x00000c06 ldr r0, [sp, 0x54]                            |         r0 = *(arg_54h);
    0x00000c08 str r3, [sp, 0x20]                            |         *(arg_20h) = r3;
    0x00000c0a ldr r3, [r2, 0x1c]                            |         r3 = *((r2 + 0x1c));
    0x00000c0c str r3, [sp, 0x1c]                            |         *(arg_1ch) = r3;
    0x00000c0e ldr r3, [r2, 0x18]                            |         r3 = *((r2 + 0x18));
    0x00000c10 str r3, [sp, 0x18]                            |         *(arg_18h) = r3;
    0x00000c12 ldr r3, [r2, 0x14]                            |         r3 = *((r2 + 0x14));
    0x00000c14 str r3, [sp, 0x14]                            |         *(arg_14h) = r3;
    0x00000c16 ldr r3, [r2, 0x10]                            |         r3 = *((r2 + 0x10));
    0x00000c18 str r3, [sp, 0x10]                            |         *(arg_10h) = r3;
    0x00000c1a ldr r3, [r2, 0xc]                             |         r3 = *((r2 + 0xc));
    0x00000c1c str r3, [sp, 0xc]                             |         *(arg_ch) = r3;
    0x00000c1e ldr r3, [r2, 8]                               |         r3 = *((r2 + 8));
    0x00000c20 str r3, [sp, 8]                               |         *(arg_8h) = r3;
    0x00000c22 ldr r3, [r2, 4]                               |         r3 = *((r2 + 4));
    0x00000c24 ldr.w r2, [pc, 0x508]                         |         
    0x00000c28 str r3, [sp, 4]                               |         var_4h = r3;
    0x00000c2a mov r3, r5                                    |         r3 = r5;
    0x00000c2c add r2, pc                                    |         r2 = 0x1d60;
    0x00000c2e blx 0x720                                     |         r0 = asprintf_chk ()
    0x00000c32 mov r8, r0                                    |         r8 = r0;
    0x00000c34 mov r0, r5                                    |         r0 = r5;
    0x00000c36 blx 0x6e4                                     |         free (r0);
    0x00000c3a cmp.w r8, 0                                   |         
                                                             |         if (r8 < 0) {
    0x00000c3e blt.w 0xfb4                                   |             goto label_34;
                                                             |         }
    0x00000c42 ldr r5, [sp, 0x60]                            |         r5 = *(arg_60h);
                                                             |     }
    0x00000c44 ldr r2, [sp, 0x44]                            |     r2 = *(arg_44h);
    0x00000c46 ldr r3, [r2]                                  |     r3 = *(r2);
                                                             |     if (r3 != 0) {
    0x00000c48 cbz r3, 0xc86                                 |         
    0x00000c4a str r3, [sp]                                  |         *(sp) = r3;
    0x00000c4c movs r1, 1                                    |         r1 = 1;
    0x00000c4e ldr r3, [r2, 0x18]                            |         r3 = *((r2 + 0x18));
    0x00000c50 ldr r0, [sp, 0x54]                            |         r0 = *(arg_54h);
    0x00000c52 str r3, [sp, 0x18]                            |         *(arg_18h) = r3;
    0x00000c54 ldr r3, [r2, 0x14]                            |         r3 = *((r2 + 0x14));
    0x00000c56 str r3, [sp, 0x14]                            |         *(arg_14h) = r3;
    0x00000c58 ldr r3, [r2, 0x10]                            |         r3 = *((r2 + 0x10));
    0x00000c5a str r3, [sp, 0x10]                            |         *(arg_10h) = r3;
    0x00000c5c ldr r3, [r2, 0xc]                             |         r3 = *((r2 + 0xc));
    0x00000c5e str r3, [sp, 0xc]                             |         *(arg_ch) = r3;
    0x00000c60 ldr r3, [r2, 8]                               |         r3 = *((r2 + 8));
    0x00000c62 str r3, [sp, 8]                               |         *(arg_8h) = r3;
    0x00000c64 ldr r3, [r2, 4]                               |         r3 = *((r2 + 4));
    0x00000c66 ldr.w r2, [pc, 0x4cc]                         |         
    0x00000c6a str r3, [sp, 4]                               |         var_4h = r3;
    0x00000c6c mov r3, r5                                    |         r3 = r5;
    0x00000c6e add r2, pc                                    |         r2 = 0x1da8;
    0x00000c70 blx 0x720                                     |         r0 = asprintf_chk ()
    0x00000c74 mov r8, r0                                    |         r8 = r0;
    0x00000c76 mov r0, r5                                    |         r0 = r5;
    0x00000c78 blx 0x6e4                                     |         free (r0);
    0x00000c7c cmp.w r8, 0                                   |         
                                                             |         if (r8 < 0) {
    0x00000c80 blt.w 0xf38                                   |             goto label_35;
                                                             |         }
    0x00000c84 ldr r5, [sp, 0x60]                            |         r5 = *(arg_60h);
                                                             |     }
    0x00000c86 ldr r2, [sp, 0x48]                            |     r2 = *(arg_48h);
    0x00000c88 ldr r3, [r2]                                  |     r3 = *(r2);
                                                             |     if (r3 != 0) {
    0x00000c8a cbz r3, 0xcbe                                 |         
    0x00000c8c str r3, [sp]                                  |         *(sp) = r3;
    0x00000c8e movs r1, 1                                    |         r1 = 1;
    0x00000c90 ldr r3, [r2, 0x10]                            |         r3 = *((r2 + 0x10));
    0x00000c92 ldr r0, [sp, 0x54]                            |         r0 = *(arg_54h);
    0x00000c94 str r3, [sp, 0x10]                            |         *(arg_10h) = r3;
    0x00000c96 ldr r3, [r2, 0xc]                             |         r3 = *((r2 + 0xc));
    0x00000c98 str r3, [sp, 0xc]                             |         *(arg_ch) = r3;
    0x00000c9a ldr r3, [r2, 8]                               |         r3 = *((r2 + 8));
    0x00000c9c str r3, [sp, 8]                               |         *(arg_8h) = r3;
    0x00000c9e ldr r3, [r2, 4]                               |         r3 = *((r2 + 4));
    0x00000ca0 ldr.w r2, [pc, 0x494]                         |         
    0x00000ca2 movs r4, 0x94                                 |         r4 = 0x94;
    0x00000ca4 str r3, [sp, 4]                               |         var_4h = r3;
    0x00000ca6 mov r3, r5                                    |         r3 = r5;
    0x00000ca8 add r2, pc                                    |         r2 = 0x1de4;
    0x00000caa blx 0x720                                     |         r0 = asprintf_chk ()
    0x00000cae mov r8, r0                                    |         r8 = r0;
    0x00000cb0 mov r0, r5                                    |         r0 = r5;
    0x00000cb2 blx 0x6e4                                     |         free (r0);
    0x00000cb6 cmp.w r8, 0                                   |         
    0x00000cb8 lsrs r0, r0, 0x1c                             |         r0 >>= 0x1c;
                                                             |         if (r0 < r0) {
    0x00000cba blt.w 0xfa0                                   |             goto label_36;
                                                             |         }
                                                             |     }
    0x00000cbe ldr r1, [sp, 0x60]                            |     r1 = *(arg_60h);
    0x00000cc0 mov r2, r8                                    |     r2 = r8;
    0x00000cc2 mov r0, r6                                    |     r0 = r6;
    0x00000cc4 blx 0x75c                                     |     r0 = write (r0, r1, r2);
    0x00000cc8 cmp r0, 0                                     |     
                                                             |     if (r0 < 0) {
    0x00000cca blt.w 0xf8c                                   |         goto label_37;
                                                             |     }
    0x00000cce ldr r5, [sp, 0x60]                            |     r5 = *(arg_60h);
    0x00000cd0 cmp r5, 0                                     |     
                                                             |     if (r5 != 0) {
    0x00000cd2 bne.w 0xfdc                                   |         goto label_38;
                                                             |     }
    0x00000cd6 mov r0, r6                                    |     r0 = r6;
    0x00000cd8 mov r6, r5                                    |     r6 = r5;
    0x00000cda blx 0x78c                                     |     close (r0);
    0x00000cde b 0x9e8                                       |     goto label_4;
    0x00000ce0 ldr r1, [r4, 4]                               |     r1 = *((r4 + 4));
    0x00000ce2 mov r0, sb                                    |     r0 = sb;
    0x00000ce4 bl 0x1360                                     |     fcn_00001360 (r0, r1);
    0x00000ce6 invalid                                       |     
    0x00000cea movs r0, r1                                   |     r0 = r1;
    0x00000cec b 0xb9a                                       |     goto label_5;
    0x00000cee mov r0, sb                                    |     r0 = sb;
    0x00000cf0 blx 0x6fc                                     |     strdup (r0);
    0x00000cf4 ldr r3, [sp, 0x48]                            |     r3 = *(arg_48h);
    0x00000cf6 str r0, [r3]                                  |     *(r3) = r0;
    0x00000cf8 b 0xb9a                                       |     goto label_5;
    0x00000cfa ldr r3, [sp, 0x44]                            |     r3 = *(arg_44h);
    0x00000cfc str.w sb, [r3, 0x18]                          |     __asm ("str.w sb, [r3, 0x18]");
    0x00000d00 b 0xb9a                                       |     goto label_5;
    0x00000d02 ldr r3, [sp, 0x44]                            |     r3 = *(arg_44h);
    0x00000d04 str.w sb, [r3, 0x14]                          |     __asm ("str.w sb, [r3, 0x14]");
    0x00000d08 b 0xb9a                                       |     goto label_5;
    0x00000d0a ldr r3, [sp, 0x44]                            |     r3 = *(arg_44h);
    0x00000d0c str.w sb, [r3, 0x10]                          |     __asm ("str.w sb, [r3, 0x10]");
    0x00000d10 b 0xb9a                                       |     goto label_5;
    0x00000d12 mov r0, sb                                    |     r0 = sb;
    0x00000d14 blx 0x6fc                                     |     strdup (r0);
    0x00000d16 invalid                                       |     
    0x00000d1a str r0, [r3, 0xc]                             |     *((r3 + 0xc)) = r0;
    0x00000d1c b 0xb9a                                       |     goto label_5;
    0x00000d1e ldr r3, [sp, 0x44]                            |     r3 = *(arg_44h);
    0x00000d20 str.w sb, [r3, 8]                             |     __asm ("str.w sb, [r3, 8]");
    0x00000d24 b 0xb9a                                       |     goto label_5;
    0x00000d26 ldr r3, [sp, 0x44]                            |     r3 = *(arg_44h);
    0x00000d28 str.w sb, [r3, 4]                             |     __asm ("str.w sb, [r3, 4]");
    0x00000d2c b 0xb9a                                       |     goto label_5;
    0x00000d2e mov r0, sb                                    |     r0 = sb;
    0x00000d30 blx 0x6fc                                     |     strdup (r0);
    0x00000d34 ldr r3, [sp, 0x44]                            |     r3 = *(arg_44h);
    0x00000d36 str r0, [r3]                                  |     *(r3) = r0;
    0x00000d38 b 0xb9a                                       |     goto label_5;
    0x00000d3a mov r0, sb                                    |     r0 = sb;
    0x00000d3c blx 0x6fc                                     |     strdup (r0);
    0x00000d40 str.w r0, [r8, 0x10]                          |     __asm ("str.w r0, [r8, 0x10]");
    0x00000d44 b 0xb9a                                       |     goto label_5;
    0x00000d46 mov r0, sb                                    |     r0 = sb;
    0x00000d48 blx 0x6fc                                     |     strdup (r0);
    0x00000d4c str.w r0, [r8, 0xc]                           |     __asm ("str.w r0, [r8, 0xc]");
    0x00000d50 b 0xb9a                                       |     goto label_5;
    0x00000d52 ldr r3, [sp, 0x48]                            |     r3 = *(arg_48h);
    0x00000d54 str.w sb, [r3, 0x10]                          |     __asm ("str.w sb, [r3, 0x10]");
    0x00000d56 str r0, [sp, 0x40]                            |     *((sp + 0x40)) = r0;
    0x00000d58 b 0xb9a                                       |     goto label_5;
    0x00000d5a ldr r3, [sp, 0x48]                            |     r3 = *(arg_48h);
    0x00000d5c str.w sb, [r3, 0xc]                           |     __asm ("str.w sb, [r3, 0xc]");
    0x00000d60 b 0xb9a                                       |     goto label_5;
    0x00000d62 ldr r3, [sp, 0x48]                            |     r3 = *(arg_48h);
    0x00000d64 str.w sb, [r3, 8]                             |     __asm ("str.w sb, [r3, 8]");
    0x00000d68 b 0xb9a                                       |     goto label_5;
    0x00000d6a ldr r3, [sp, 0x40]                            |     r3 = *(ptr);
    0x00000d6c str.w sb, [r3, 0x20]                          |     __asm ("str.w sb, [r3, 0x20]");
    0x00000d70 b 0xb9a                                       |     goto label_5;
    0x00000d72 ldr r3, [sp, 0x40]                            |     r3 = *(ptr);
    0x00000d74 str.w sb, [r3, 0x1c]                          |     __asm ("str.w sb, [r3, 0x1c]");
    0x00000d78 b 0xb9a                                       |     goto label_5;
    0x00000d7a mov r0, sb                                    |     r0 = sb;
    0x00000d7c blx 0x6fc                                     |     strdup (r0);
    0x00000d80 ldr r3, [sp, 0x40]                            |     r3 = *(ptr);
    0x00000d82 str r0, [r3, 0x18]                            |     *((r3 + 0x18)) = r0;
                                                             | label_16:
    0x00000d84 b 0xb9a                                       |     goto label_5;
    0x00000d86 mov r0, sb                                    |     r0 = sb;
    0x00000d88 blx 0x6fc                                     |     strdup (r0);
    0x00000d8c ldr r3, [sp, 0x40]                            |     r3 = *(ptr);
    0x00000d8e str r0, [r3, 0x14]                            |     *((r3 + 0x14)) = r0;
    0x00000d90 b 0xb9a                                       |     goto label_5;
    0x00000d92 ldr r3, [sp, 0x40]                            |     r3 = *(ptr);
    0x00000d94 str.w sb, [r3, 0x10]                          |     __asm ("str.w sb, [r3, 0x10]");
    0x00000d98 b 0xb9a                                       |     goto label_5;
    0x00000d9a ldr r3, [sp, 0x40]                            |     r3 = *(ptr);
    0x00000d9c str.w sb, [r3, 0xc]                           |     __asm ("str.w sb, [r3, 0xc]");
    0x00000da0 b 0xb9a                                       |     goto label_5;
    0x00000da2 ldr r1, [r4, 4]                               |     r1 = *((r4 + 4));
    0x00000da4 mov r0, sb                                    |     r0 = sb;
    0x00000da6 bl 0x1360                                     |     fcn_00001360 (r0, r1);
    0x00000daa ldr r3, [sp, 0x40]                            |     r3 = *(ptr);
    0x00000dac str r0, [r3, 8]                               |     *((r3 + 8)) = r0;
    0x00000dae b 0xb9a                                       |     goto label_5;
    0x00000db0 mov r0, sb                                    |     r0 = sb;
    0x00000db2 bl 0x1308                                     |     fcn_00001308 (r0);
    0x00000db6 ldr r3, [sp, 0x40]                            |     r3 = *(ptr);
    0x00000db8 str r0, [r3, 4]                               |     *((r3 + 4)) = r0;
    0x00000dba b 0xb9a                                       |     goto label_5;
    0x00000dbc mov r0, sb                                    |     r0 = sb;
    0x00000dbe blx 0x6fc                                     |     strdup (r0);
    0x00000dc2 ldr r3, [sp, 0x40]                            |     r3 = *(ptr);
    0x00000dc4 str r0, [r3]                                  |     *(r3) = r0;
    0x00000dc6 b 0xb9a                                       |     goto label_5;
    0x00000dc8 ldr r1, [r4, 4]                               |     r1 = *((r4 + 4));
    0x00000dca mov r0, sb                                    |     r0 = sb;
    0x00000dcc bl 0x1360                                     |     fcn_00001360 (r0, r1);
    0x00000dd0 str.w r0, [r8, 0x24]                          |     __asm ("str.w r0, [r8, 0x24]");
    0x00000dd4 b 0xb9a                                       |     goto label_5;
    0x00000dd6 ldr r1, [r4, 4]                               |     r1 = *((r4 + 4));
    0x00000dd8 mov r0, sb                                    |     r0 = sb;
    0x00000dda bl 0x1360                                     |     fcn_00001360 (r0, r1);
    0x00000dde str.w r0, [r8, 0x1c]                          |     __asm ("str.w r0, [r8, 0x1c]");
    0x00000de2 b 0xb9a                                       |     goto label_5;
    0x00000de4 str.w sb, [r8]                                |     __asm ("str.w sb, [r8]");
    0x00000de8 b 0xb9a                                       |     goto label_5;
    0x00000dea str.w sb, [r8, 4]                             |     __asm ("str.w sb, [r8, 4]");
    0x00000dee b 0xb9a                                       |     goto label_5;
    0x00000df0 mov r0, sb                                    |     r0 = sb;
    0x00000df2 bl 0x1308                                     |     fcn_00001308 (r0);
    0x00000df6 str.w r0, [r8, 0x20]                          |     __asm ("str.w r0, [r8, 0x20]");
    0x00000dfa b 0xb9a                                       |     goto label_5;
    0x00000dfc mov r0, sb                                    |     r0 = sb;
    0x00000dfe bl 0x1308                                     |     fcn_00001308 (r0);
    0x00000e02 str.w r0, [r8, 0x18]                          |     __asm ("str.w r0, [r8, 0x18]");
    0x00000e06 b 0xb9a                                       |     goto label_5;
    0x00000e08 cmp r5, 0x15                                  |     
                                                             |     if (r5 == 0x15) {
    0x00000e0a beq.w 0xf2c                                   |         goto label_39;
                                                             |     }
    0x00000e0e movs r3, 0                                    |     r3 = 0;
    0x00000e10 str.w r3, [r8, 0x14]                          |     __asm ("str.w r3, [r8, 0x14]");
    0x00000e14 b 0xb9e                                       |     goto label_6;
                                                             | label_23:
    0x00000e16 mov.w r8, 0                                   |     r8 = 0;
    0x00000e1a b 0xaee                                       |     goto label_7;
                                                             | label_24:
    0x00000e1c cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00000e1e beq.w 0x105c                                  |         goto label_40;
                                                             |     }
    0x00000e22 cmp.w fp, 0                                   |     
    0x00000e26 add.w r3, fp, -1                              |     r3 = fp + -1;
                                                             |     if (fp > 0) {
    0x00000e2a bgt 0xe30                                     |         goto label_41;
                                                             |     }
    0x00000e2c b 0xe3a                                       |     goto label_42;
                                                             |     if (r5 == 0) {
                                                             |         do {
    0x00000e2e cbz r5, 0xe40                                 |             goto label_43;
                                                             |         }
                                                             | label_41:
    0x00000e30 subs r3, 1                                    |         r3--;
    0x00000e32 ldr r5, [r5, 4]                               |         r5 = *((r5 + 4));
    0x00000e34 adds r2, r3, 1                                |         r2 = r3 + 1;
    0x00000e36 bne 0xe2e                                     |         
                                                             |     } while (r2 != r3);
                                                             |     if (r5 != 0) {
    0x00000e38 cbz r5, 0xe40                                 |         
                                                             | label_42:
    0x00000e3a ldr.w r8, [r5]                                |         r8 = *(r5);
    0x00000e3e b 0xaee                                       |         goto label_7;
                                                             |     }
                                                             | label_43:
    0x00000e40 mov r8, r5                                    |     r8 = r5;
    0x00000e42 b 0xaee                                       |     goto label_7;
                                                             | label_27:
    0x00000e44 mov r5, r0                                    |     r5 = r0;
    0x00000e46 b 0xae4                                       |     goto label_8;
                                                             | label_28:
    0x00000e48 adds r0, r6, 1                                |     r0 = r6 + 1;
    0x00000e4a blx 0x738                                     |     malloc (r0);
    0x00000e4e movs r3, 0x15                                 |     r3 = 0x15;
    0x00000e50 mov r8, r0                                    |     r8 = r0;
    0x00000e52 str r0, [r4, 8]                               |     *((r4 + 8)) = r0;
    0x00000e54 str r3, [r4]                                  |     *(r4) = r3;
    0x00000e56 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000e58 beq.w 0x1072                                  |         goto label_44;
                                                             |     }
    0x00000e5c mov r2, r6                                    |     r2 = r6;
    0x00000e5e adds r1, r5, 5                                |     r1 = r5 + 5;
    0x00000e60 blx 0x6f0                                     |     memcpy (r0, r1, r2);
    0x00000e64 movs r3, 0                                    |     r3 = 0;
    0x00000e66 strb.w r3, [r8, r6]                           |     *((r8 + r6)) = r3;
    0x00000e6a adds r3, r6, 5                                |     r3 = r6 + 5;
    0x00000e6c add.w r8, r6, 6                               |     r8 = r6 + 6;
    0x00000e70 b 0xa88                                       |     goto label_1;
                                                             | label_31:
    0x00000e72 mov r6, r4                                    |     r6 = r4;
    0x00000e74 b 0x972                                       |     goto label_0;
                                                             | label_22:
    0x00000e76 movs r3, 9                                    |     r3 = 9;
    0x00000e78 mov.w r8, 0xa                                 |     r8 = 0xa;
    0x00000e7c b 0xa88                                       |     goto label_1;
                                                             | label_33:
    0x00000e9a ldr r3, [r4]                                  |     r3 = *(r4);
    0x00000e9c movs r1, 1                                    |     r1 = 1;
    0x00000e9e ldr r2, [pc, 0x2a4]                           |     
    0x00000ea0 ldr r0, [sp, 0x54]                            |     r0 = *(arg_54h);
    0x00000ea2 ldr r3, [r3, 8]                               |     r3 = *((r3 + 8));
    0x00000ea4 add r2, pc                                    |     r2 = 0x1fee;
    0x00000ea6 blx 0x720                                     |     r0 = asprintf_chk ()
    0x00000eaa cmp r0, r5                                    |     
                                                             |     if (r0 < r5) {
    0x00000eac blt.w 0xfc8                                   |         goto label_45;
                                                             |     }
    0x00000eb0 ldr r3, [pc, 0x294]                           |     
    0x00000eb2 mov r5, r4                                    |     r5 = r4;
    0x00000eb4 ldr.w fp, [pc, 0x294]                         |     
    0x00000eb8 ldr.w sl, [pc, 0x294]                         |     
    0x00000ebc add r3, pc                                    |     r3 = 0x2008;
    0x00000ebe strd r6, r4, [sp, 0x4c]                       |     __asm ("strd r6, r4, [sp, 0x4c]");
    0x00000ec2 str r3, [sp, 0x3c]                            |     *(arg_3ch) = r3;
    0x00000ec4 add fp, pc                                    |     fp = 0x2014;
    0x00000ec6 ldr r3, [sp, 0x54]                            |     r3 = *(arg_54h);
    0x00000ec8 add sl, pc                                    |     sl = 0x201c;
    0x00000eca str r3, [sp, 0x38]                            |     *(arg_38h) = r3;
    0x00000ecc b 0xf10                                       |     
                                                             |     while (r1 != 0) {
    0x00000ece mov r0, sl                                    |         r0 = sl;
                                                             | label_9:
    0x00000ed0 ldr r4, [r2, 0x24]                            |         r4 = *((r2 + 0x24));
    0x00000ed2 str r4, [sp, 0x2c]                            |         *(arg_2ch) = r4;
    0x00000ed4 ldr r4, [r2, 0x20]                            |         r4 = *((r2 + 0x20));
    0x00000ed6 str r4, [sp, 0x28]                            |         *(arg_28h) = r4;
    0x00000ed8 ldr r4, [r2, 0x1c]                            |         r4 = *((r2 + 0x1c));
    0x00000eda str r4, [sp, 0x24]                            |         *(arg_24h) = r4;
    0x00000edc ldr r2, [r2, 0x18]                            |         r2 = *((r2 + 0x18));
    0x00000ede str r1, [sp, 0x18]                            |         *(arg_18h) = r1;
    0x00000ee0 movs r1, 1                                    |         r1 = 1;
    0x00000ee2 strd r8, sb, [sp, 0xc]                        |         __asm ("strd r8, sb, [sp, 0xc]");
    0x00000ee6 str r2, [sp, 0x20]                            |         *(arg_20h) = r2;
    0x00000ee8 ldr r2, [pc, 0x268]                           |         
    0x00000eea strd r3, r6, [sp]                             |         __asm ("strd r3, r6, [sp]");
    0x00000eee mov r3, r7                                    |         r3 = r7;
    0x00000ef0 str r0, [sp, 0x1c]                            |         *(arg_1ch) = r0;
    0x00000ef2 str r0, [sp, 0x14]                            |         *(arg_14h) = r0;
    0x00000ef4 add r2, pc                                    |         r2 = 0x204c;
    0x00000ef6 ldr r0, [sp, 0x38]                            |         r0 = *(arg_38h);
    0x00000ef8 str.w lr, [sp, 8]                             |         __asm ("str.w lr, [arg_8h]");
    0x00000efc blx 0x720                                     |         r0 = asprintf_chk ()
    0x00000f00 subs.w r8, r0, 0                              |         r8 = r0 - 0;
                                                             |         if (r8 < r0) {
    0x00000f04 blt 0xf76                                     |             goto label_46;
                                                             |         }
    0x00000f06 mov r0, r7                                    |         r0 = r7;
    0x00000f08 blx 0x6e4                                     |         free (r0);
    0x00000f0c ldr r5, [r5, 4]                               |         r5 = *((r5 + 4));
                                                             |         if (r5 == 0) {
    0x00000f0e cbz r5, 0xf70                                 |             goto label_47;
                                                             |         }
    0x00000f10 ldr r2, [r5]                                  |         r2 = *(r5);
    0x00000f12 ldr r7, [sp, 0x60]                            |         r7 = *(arg_60h);
    0x00000f14 ldr r1, [r2, 0x14]                            |         r1 = *((r2 + 0x14));
    0x00000f16 ldrd r3, r6, [r2]                             |         __asm ("ldrd r3, r6, [r2]");
    0x00000f1a ldrd lr, r8, [r2, 8]                          |         __asm ("ldrd lr, r8, [r2, 8]");
    0x00000f1e ldr.w sb, [r2, 0x10]                          |         sb = *((r2 + 0x10));
    0x00000f22 cmp r1, 0                                     |         
    0x00000f24 bne 0xece                                     |         
                                                             |     }
    0x00000f26 ldr r1, [sp, 0x3c]                            |     r1 = *(arg_3ch);
    0x00000f28 mov r0, fp                                    |     r0 = fp;
    0x00000f2a b 0xed0                                       |     goto label_9;
                                                             | label_39:
    0x00000f2c mov r0, sb                                    |     r0 = sb;
    0x00000f2e blx 0x6fc                                     |     strdup (r0);
    0x00000f32 str.w r0, [r8, 0x14]                          |     __asm ("str.w r0, [r8, 0x14]");
    0x00000f36 b 0xba2                                       |     goto label_10;
                                                             | label_35:
    0x00000f38 ldr r3, [pc, 0x21c]                           |     
    0x00000f3a mov.w r1, 0x100                               |     r1 = 0x100;
    0x00000f3e ldr r2, [pc, 0x21c]                           |     
    0x00000f40 movs r0, 0                                    |     r0 = 0;
    0x00000f42 add r3, pc                                    |     r3 = 0x209e;
    0x00000f44 add r2, pc                                    |     r2 = 0x20a6;
    0x00000f46 blx 0x768                                     |     g_log ();
                                                             |     do {
                                                             | label_12:
    0x00000f4a ldr r0, [sp, 0x60]                            |         r0 = *(arg_60h);
                                                             |         if (r0 != 0) {
    0x00000f4c cbz r0, 0xf52                                 |             
    0x00000f4e blx 0x6e4                                     |             free (r0);
                                                             |         }
    0x00000f52 mov r0, r6                                    |         r0 = r6;
    0x00000f54 blx 0x78c                                     |         close (r0);
                                                             | label_32:
    0x00000f58 ldr r0, [pc, 0x204]                           |         
    0x00000f5a movs r6, 1                                    |         r6 = 1;
    0x00000f5c add r0, pc                                    |         r0 = 0x20c0;
    0x00000f5e blx 0x72c                                     |         puts (r0);
    0x00000f62 ldr r0, [pc, 0x200]                           |         
    0x00000f64 add r0, pc                                    |         r0 = 0x20ce;
    0x00000f66 blx 0x72c                                     |         puts (r0);
                                                             | label_13:
    0x00000f6a ldr r3, [sp, 0x34]                            |         r3 = *(arg_34h);
    0x00000f6c ldr r4, [r3]                                  |         r4 = *(r3);
    0x00000f6e b 0x9e8                                       |         goto label_4;
                                                             | label_47:
    0x00000f70 ldrd r6, r4, [sp, 0x4c]                       |         __asm ("ldrd r6, r4, [arg_4ch]");
    0x00000f74 b 0xbf8                                       |         goto label_11;
                                                             | label_46:
    0x00000f76 ldr r3, [pc, 0x1f0]                           |         
    0x00000f78 mov.w r1, 0x100                               |         r1 = 0x100;
    0x00000f7c ldr r2, [pc, 0x1ec]                           |         
    0x00000f7e movs r0, 0                                    |         r0 = 0;
    0x00000f80 ldr r6, [sp, 0x4c]                            |         r6 = *(arg_4ch);
    0x00000f82 add r3, pc                                    |         r3 = 0x20f0;
    0x00000f84 add r2, pc                                    |         r2 = 0x20f4;
    0x00000f86 blx 0x768                                     |         g_log ();
    0x00000f8a b 0xf4a                                       |         
                                                             |     } while (1);
                                                             | label_37:
    0x00000f8c ldr r3, [pc, 0x1e0]                           |     
    0x00000f8e mov.w r1, 0x100                               |     r1 = 0x100;
    0x00000f92 ldr r2, [pc, 0x1e0]                           |     
    0x00000f94 movs r0, 0                                    |     r0 = 0;
    0x00000f96 add r3, pc                                    |     r3 = 0x210a;
    0x00000f98 add r2, pc                                    |     r2 = 0x2112;
    0x00000f9a blx 0x768                                     |     g_log ();
    0x00000f9e b 0xf4a                                       |     goto label_12;
                                                             | label_36:
    0x00000fa0 ldr r3, [pc, 0x1d4]                           |     
    0x00000fa2 mov.w r1, 0x100                               |     r1 = 0x100;
    0x00000fa6 ldr r2, [pc, 0x1d4]                           |     
    0x00000fa8 movs r0, 0                                    |     r0 = 0;
    0x00000faa add r3, pc                                    |     r3 = 0x2126;
    0x00000fac add r2, pc                                    |     r2 = 0x212e;
    0x00000fae blx 0x768                                     |     g_log ();
    0x00000fb2 b 0xf4a                                       |     goto label_12;
                                                             | label_34:
    0x00000fb4 ldr r3, [pc, 0x1c8]                           |     
    0x00000fb6 mov.w r1, 0x100                               |     r1 = 0x100;
    0x00000fba ldr r2, [pc, 0x1c8]                           |     
    0x00000fbc movs r0, 0                                    |     r0 = 0;
    0x00000fbe add r3, pc                                    |     r3 = 0x2142;
    0x00000fc0 add r2, pc                                    |     r2 = 0x214a;
    0x00000fc2 blx 0x768                                     |     g_log ();
    0x00000fc6 b 0xf4a                                       |     goto label_12;
                                                             | label_45:
    0x00000fc8 ldr r3, [pc, 0x1bc]                           |     
    0x00000fca mov r0, r5                                    |     r0 = r5;
    0x00000fcc ldr r2, [pc, 0x1bc]                           |     
    0x00000fce mov.w r1, 0x100                               |     r1 = 0x100;
    0x00000fd2 add r3, pc                                    |     r3 = 0x215e;
    0x00000fd4 add r2, pc                                    |     r2 = 0x2164;
    0x00000fd6 blx 0x768                                     |     g_log ();
    0x00000fda b 0xf4a                                       |     goto label_12;
                                                             | label_38:
    0x00000fdc mov r0, r5                                    |     r0 = r5;
    0x00000fde blx 0x6e4                                     |     free (r0);
    0x00000fe2 mov r0, r6                                    |     r0 = r6;
    0x00000fe4 movs r6, 0                                    |     r6 = 0;
    0x00000fe6 blx 0x78c                                     |     close (r0);
    0x00000fea b 0xf6a                                       |     goto label_13;
                                                             | label_19:
    0x00000fec ldr r3, [pc, 0x1a0]                           |     
    0x00000fee movs r2, 0xf0                                 |     r2 = 0xf0;
    0x00000ff0 ldr r1, [pc, 0x1a0]                           |     
    0x00000ff2 ldr r0, [pc, 0x1a4]                           |     
    0x00000ff4 add r3, pc                                    |     r3 = 0x2188;
    0x00000ff6 add r1, pc                                    |     r1 = 0x218e;
    0x00000ff8 adds r3, 0x20                                 |     r3 += 0x20;
    0x00000ffa add r0, pc                                    |     r0 = 0x2198;
    0x00000ffc blx 0x7a4                                     |     assert_fail ();
                                                             | label_20:
    0x00001000 ldr r3, [pc, 0x198]                           |     
    0x00001002 mov.w r2, 0x1f4                               |     r2 = 0x1f4;
    0x00001006 ldr r1, [pc, 0x198]                           |     
    0x00001008 ldr r0, [pc, 0x198]                           |     
    0x0000100a add r3, pc                                    |     r3 = 0x21aa;
    0x0000100c add r1, pc                                    |     r1 = 0x21b2;
    0x0000100e adds r3, 0x4c                                 |     r3 += 0x4c;
    0x00001010 add r0, pc                                    |     r0 = 0x21b8;
    0x00001012 blx 0x7a4                                     |     assert_fail ();
                                                             | label_17:
    0x00001016 blx 0x708                                     |     stack_chk_fail ();
    0x0000101a ldr r3, [pc, 0x18c]                           |     
    0x0000101c mov.w r1, 0x100                               |     r1 = 0x100;
    0x00001020 ldr r2, [pc, 0x188]                           |     
    0x00001022 movs r6, 1                                    |     r6 = 1;
    0x00001024 add r3, pc                                    |     r3 = 0x21d2;
    0x00001026 add r2, pc                                    |     r2 = 0x21d6;
    0x00001028 blx 0x768                                     |     g_log ();
    0x0000102c b.w 0x7e6                                     |     goto label_14;
                                                             | label_40:
    0x0000105c ldr r3, [pc, 0x160]                           |     
    0x0000105e movw r2, 0x3a6                                |     r2 = 0x3a6;
    0x00001062 ldr r1, [pc, 0x160]                           |     
    0x00001064 ldr r0, [pc, 0x160]                           |     
    0x00001066 add r3, pc                                    |     r3 = 0x222a;
    0x00001068 add r1, pc                                    |     r1 = 0x2232;
    0x0000106a adds r3, 0x34                                 |     r3 += 0x34;
    0x0000106c add r0, pc                                    |     r0 = 0x2238;
    0x0000106e blx 0x7a4                                     |     assert_fail ();
                                                             | label_44:
    0x00001072 ldr r3, [pc, 0x158]                           |     
    0x00001074 mov.w r2, 0x132                               |     r2 = 0x132;
    0x00001078 ldr r1, [pc, 0x154]                           |     
    0x0000107a ldr r0, [pc, 0x158]                           |     
    0x0000107c add r3, pc                                    |     r3 = 0x224e;
    0x0000107e add r1, pc                                    |     r1 = 0x2252;
    0x00001080 adds r3, 0x20                                 |     r3 += 0x20;
    0x00001082 add r0, pc                                    |     r0 = 0x225c;
    0x00001084 blx 0x7a4                                     |     assert_fail ();
    0x00001088 ldr r3, [pc, 0x14c]                           |     
    0x0000108a mov.w r1, 0x100                               |     r1 = 0x100;
    0x0000108e ldr r2, [pc, 0x14c]                           |     
    0x00001090 movs r6, 1                                    |     r6 = 1;
    0x00001092 add r3, pc                                    |     r3 = 0x226e;
    0x00001094 add r2, pc                                    |     r2 = 0x2276;
    0x00001096 blx 0x768                                     |     g_log ();
    0x0000109a b.w 0x7e6                                     |     goto label_14;
                                                             | label_21:
    0x0000109e ldr r3, [pc, 0x140]                           |     
    0x000010a0 movw r2, 0x165                                |     r2 = 0x165;
    0x000010a4 ldr r1, [pc, 0x13c]                           |     
    0x000010a6 ldr r0, [pc, 0x140]                           |     
    0x000010a8 add r3, pc                                    |     r3 = 0x228e;
    0x000010aa add r1, pc                                    |     r1 = 0x2292;
    0x000010ac adds r3, 0x20                                 |     r3 += 0x20;
    0x000010ae add r0, pc                                    |     r0 = 0x229c;
    0x000010b0 blx 0x7a4                                     |     assert_fail ();
                                                             | label_25:
    0x000010b4 add.w r3, fp, 1                               |     r3 += arg_1h_2;
    0x000010b8 ldr r2, [pc, 0x130]                           |     
    0x000010ba str r3, [sp]                                  |     *(sp) = r3;
    0x000010bc mov.w r1, 0x100                               |     r1 = 0x100;
    0x000010c0 ldr r3, [pc, 0x12c]                           |     
    0x000010c2 add r2, pc                                    |     r2 = 0x22b2;
    0x000010c4 add r3, pc                                    |     r3 = 0x22b8;
    0x000010c6 b 0x944                                       |     goto label_15;
                                                             | label_26:
    0x000010c8 ldrd r3, r2, [sp, 0x58]                       |     __asm ("ldrd r3, r2, [arg_58h]");
    0x000010cc mov.w r1, 0x100                               |     r1 = 0x100;
    0x000010d0 mov r5, r0                                    |     r5 = r0;
    0x000010d2 blx 0x768                                     |     g_log ();
    0x000010d6 b 0xae4                                       |     goto label_8;
                                                             | label_29:
    0x000010d8 ldr r3, [pc, 0x118]                           |     
    0x000010da movw r2, 0x103                                |     r2 = 0x103;
    0x000010de ldr r1, [pc, 0x118]                           |     
    0x000010e0 ldr r0, [pc, 0x118]                           |     
    0x000010e2 add r3, pc                                    |     r3 = 0x22da;
    0x000010e4 add r1, pc                                    |     r1 = 0x22e2;
    0x000010e6 adds r3, 0x20                                 |     r3 += 0x20;
    0x000010e8 add r0, pc                                    |     r0 = 0x22e8;
    0x000010ea blx 0x7a4                                     |     assert_fail ();
    0x000010ee ldr r3, [pc, 0x110]                           |     
    0x000010f0 movw r2, 0x1c9                                |     r2 = 0x1c9;
    0x000010f4 ldr r1, [pc, 0x10c]                           |     
    0x000010f6 ldr r0, [pc, 0x110]                           |     
    0x000010f8 add r3, pc                                    |     r3 = 0x22fe;
    0x000010fa add r1, pc                                    |     r1 = 0x2302;
    0x000010fc add r0, pc                                    |     r0 = 0x230a;
    0x000010fe blx 0x7a4                                     |     assert_fail ();
    0x00001102 nop                                           |     
    0x00001104 asrs r4, r0, 0x1f                             |     r4 = r0 >> 0x1f;
    0x00001106 movs r1, r0                                   |     r1 = r0;
    0x00001108 lsls r0, r5, 1                                |     r0 = r5 << 1;
    0x0000110a movs r0, r0                                   |     
    0x0000110c lsrs r2, r4, 0x12                             |     r2 = r4 >> 0x12;
    0x0000110e movs r0, r0                                   |     
    0x00001110 lsrs r0, r7, 0x12                             |     r0 = r7 >> 0x12;
    0x00001112 movs r0, r0                                   |     
    0x00001114 asrs r6, r2, 0x1e                             |     r6 = r2 >> 0x1e;
    0x00001116 movs r1, r0                                   |     r1 = r0;
    0x00001118 lsrs r0, r7, 0x1d                             |     r0 = r7 >> 0x1d;
    0x0000111a movs r0, r0                                   |     
    0x0000111c lsrs r0, r6, 0x16                             |     r0 = r6 >> 0x16;
    0x0000111e movs r0, r0                                   |     
    0x00001120 lsrs r0, r7, 0x1b                             |     r0 = r7 >> 0x1b;
    0x00001122 movs r0, r0                                   |     
    0x00001124 lsrs r6, r4, 0x13                             |     r6 = r4 >> 0x13;
    0x00001126 movs r0, r0                                   |     
    0x00001128 lsrs r6, r2, 0x15                             |     r6 = r2 >> 0x15;
    0x0000112a movs r0, r0                                   |     
    0x0000112c lsrs r4, r6, 0xc                              |     r4 = r6 >> 0xc;
    0x0000112e movs r0, r0                                   |     
    0x00001130 lsrs r0, r0, 0xe                              |     r0 >>= 0xe;
    0x00001132 movs r0, r0                                   |     
    0x00001134 lsrs r6, r4, 0xe                              |     r6 = r4 >> 0xe;
    0x00001136 movs r0, r0                                   |     
    0x00001138 lsrs r0, r2, 0xf                              |     r0 = r2 >> 0xf;
    0x0000113a movs r0, r0                                   |     
    0x0000113c lsrs r0, r5, 6                                |     r0 = r5 >> 6;
    0x0000113e movs r0, r0                                   |     
    0x00001140 lsrs r6, r2, 0xb                              |     r6 = r2 >> 0xb;
    0x00001142 movs r0, r0                                   |     
    0x00001144 lsrs r4, r1, 1                                |     r4 = r1 >> 1;
    0x00001146 movs r0, r0                                   |     
    0x00001148 lsls r0, r6, 0x16                             |     r0 = r6 << 0x16;
    0x0000114a movs r0, r0                                   |     
    0x0000114c lsrs r4, r6, 5                                |     r4 = r6 >> 5;
    0x0000114e movs r0, r0                                   |     
    0x00001150 lsls r4, r5, 0x16                             |     r4 = r5 << 0x16;
    0x00001152 movs r0, r0                                   |     
    0x00001154 lsrs r4, r0, 1                                |     r4 = r0 >> 1;
    0x00001156 movs r0, r0                                   |     
    0x00001158 lsrs r6, r6, 3                                |     r6 >>= 3;
    0x0000115a movs r0, r0                                   |     
    0x0000115c lsrs r0, r7, 3                                |     r0 = r7 >> 3;
    0x0000115e movs r0, r0                                   |     
    0x00001160 lsrs r0, r0, 7                                |     r0 >>= 7;
    0x00001162 movs r0, r0                                   |     
    0x00001164 lsls r4, r6, 0x14                             |     r4 = r6 << 0x14;
    0x00001166 movs r0, r0                                   |     
    0x00001168 lsrs r6, r6, 2                                |     r6 >>= 2;
    0x0000116a movs r0, r0                                   |     
    0x0000116c lsls r0, r5, 0x1f                             |     r0 = r5 << 0x1f;
    0x0000116e movs r0, r0                                   |     
    0x00001170 lsrs r2, r4, 2                                |     r2 = r4 >> 2;
    0x00001172 movs r0, r0                                   |     
    0x00001174 lsrs r0, r1, 5                                |     r0 = r1 >> 5;
    0x00001176 movs r0, r0                                   |     
    0x00001178 lsrs r6, r1, 2                                |     r6 = r1 >> 2;
    0x0000117a movs r0, r0                                   |     
    0x0000117c lsrs r4, r6, 3                                |     r4 = r6 >> 3;
    0x0000117e movs r0, r0                                   |     
    0x00001180 lsrs r2, r7, 1                                |     r2 = r7 >> 1;
    0x00001182 movs r0, r0                                   |     
    0x00001184 lsrs r4, r3, 0x20                             |     r4 = r3 >> 0x20;
    0x00001186 movs r0, r0                                   |     
    0x00001188 lsrs r6, r4, 1                                |     r6 = r4 >> 1;
    0x0000118a movs r0, r0                                   |     
    0x0000118c lsls r4, r5, 0x1c                             |     r4 = r5 << 0x1c;
    0x0000118e movs r0, r0                                   |     
    0x00001190 lsrs r4, r1, 6                                |     r4 = r1 >> 6;
    0x00001192 movs r0, r0                                   |     
    0x00001194 lsls r2, r6, 0x16                             |     r2 = r6 << 0x16;
    0x00001196 movs r0, r0                                   |     
    0x00001198 lsls r2, r1, 0x17                             |     r2 = r1 << 0x17;
    0x0000119a movs r0, r0                                   |     
    0x0000119c lsrs r6, r6, 5                                |     r6 >>= 5;
    0x0000119e movs r0, r0                                   |     
    0x000011a0 lsls r4, r3, 0x16                             |     r4 = r3 << 0x16;
    0x000011a2 movs r0, r0                                   |     
    0x000011a4 lsrs r4, r1, 5                                |     r4 = r1 >> 5;
    0x000011a6 movs r0, r0                                   |     
    0x000011a8 lsrs r4, r2, 0x20                             |     r4 = r2 >> 0x20;
    0x000011aa movs r0, r0                                   |     
    0x000011ac lsls r6, r5, 0x13                             |     r6 = r5 << 0x13;
    0x000011ae movs r0, r0                                   |     
    0x000011b0 lsls r6, r7, 0x1f                             |     r6 = r7 << 0x1f;
    0x000011b2 movs r0, r0                                   |     
    0x000011b4 lsls r0, r1, 0x14                             |     r0 = r1 << 0x14;
    0x000011b6 movs r0, r0                                   |     
    0x000011b8 lsls r0, r5, 0x1f                             |     r0 = r5 << 0x1f;
    0x000011ba movs r0, r0                                   |     
    0x000011bc lsls r2, r4, 0x14                             |     r2 = r4 << 0x14;
    0x000011be movs r0, r0                                   |     
    0x000011c0 lsrs r2, r3, 4                                |     r2 = r3 >> 4;
    0x000011c2 movs r0, r0                                   |     
    0x000011c4 lsls r0, r0, 0x15                             |     r0 <<= 0x15;
    0x000011c6 movs r0, r0                                   |     
    0x000011c8 lsls r4, r7, 0x18                             |     r4 = r7 << 0x18;
    0x000011ca movs r0, r0                                   |     
    0x000011cc lsrs r4, r0, 4                                |     r4 = r0 >> 4;
    0x000011ce movs r0, r0                                   |     
    0x000011d0 lsls r2, r5, 0x14                             |     r2 = r5 << 0x14;
    0x000011d2 movs r0, r0                                   |     
    0x000011d4 lsls r6, r7, 0x15                             |     r6 = r7 << 0x15;
    0x000011d6 movs r0, r0                                   |     
    0x000011d8 lsls r6, r4, 0x1e                             |     r6 = r4 << 0x1e;
    0x000011da movs r0, r0                                   |     
    0x000011dc lsls r0, r2, 0x11                             |     r0 = r2 << 0x11;
    0x000011de movs r0, r0                                   |     
    0x000011e0 lsrs r0, r3, 3                                |     r0 = r3 >> 3;
    0x000011e2 movs r0, r0                                   |     
    0x000011e4 lsls r6, r7, 0x13                             |     r6 = r7 << 0x13;
    0x000011e6 movs r0, r0                                   |     
    0x000011e8 lsls r6, r4, 0x15                             |     r6 = r4 << 0x15;
    0x000011ea movs r0, r0                                   |     
    0x000011ec lsls r6, r0, 0x16                             |     r6 = r0 << 0x16;
    0x000011ee movs r0, r0                                   |     
    0x000011f0 lsls r4, r6, 0x1d                             |     r4 = r6 << 0x1d;
    0x000011f2 movs r0, r0                                   |     
    0x000011f4 lsrs r6, r3, 2                                |     r6 = r3 >> 2;
    0x000011f6 movs r0, r0                                   |     
    0x000011f8 lsls r4, r0, 0x13                             |     r4 = r0 << 0x13;
    0x000011fa movs r0, r0                                   |     
    0x000011fc lsls r0, r4, 0x13                             |     r0 = r4 << 0x13;
    0x000011fe movs r0, r0                                   |     
    0x00001200 lsrs r0, r1, 2                                |     r0 = r1 >> 2;
    0x00001202 movs r0, r0                                   |     
    0x00001204 lsls r6, r5, 0x12                             |     r6 = r5 << 0x12;
    0x00001206 movs r0, r0                                   |     
    0x00001208 lsls r4, r0, 0x13                             |     r4 = r0 << 0x13;
    0x0000120a movs r0, r0                                   |     
    0x00001240 adds r0, 0x14                                 |     r0 += 0x14;
    0x00001242 b 0xd84                                       |     goto label_16;
                                                             | }

[*] Function printf used 6 times snmpd_migrate