[*] Binary protection state of opkg

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


[*] Function printf tear down of opkg

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/opkg @ 0x12b4 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.000012b4 ()                                  | void fcn_000012b4 (int16_t arg_ch, int16_t arg_10h, int16_t arg_14h, int16_t arg_1ch, int16_t arg4) {
                                                             |     int16_t var_0h;
                                                             |     r3 = arg4;
                                                             |     do {
                                                             | label_0:
    0x00000ba8 mov r3, fp                                    |         r3 = fp;
    0x00000baa mov r2, sb                                    |         r2 = sb;
    0x00000bac mov r1, r5                                    |         r1 = r5;
    0x00000bae mov r0, r4                                    |         r0 = r4;
    0x00000bb0 str r7, [sp]                                  |         *(sp) = r7;
    0x00000bb2 blx 0xa6c                                     |         getopt_long ();
    0x00000bb4 invalid                                       |         
    0x00000bb8 mov r2, r0                                    |         r2 = r0;
                                                             |         if (? == ?) {
    0x00000bba beq.w 0xef0                                   |             goto label_10;
                                                             |         }
    0x00000bbe sub.w r3, r0, 0x3a                            |         r3 = r0 - 0x3a;
    0x00000bc2 cmp r3, 0x63                                  |         
                                                             |         if (r3 <= 0x63) {
    0x00000bc4 bhi 0xc92                                     |             
                                                             |             /* switch table (101 cases) at 0xbca */
    0x00000bc6 tbh [pc, r3, lsl 1]                           |             __asm ("tbh [pc, r3, lsl 1]");
                                                             |         }
    0x00000c92 ldr r1, [sp, 0xc]                             |         r1 = *(arg_ch);
    0x00000c94 movs r0, 1                                    |         r0 = 1;
    0x00000c96 blx 0xa24                                     |         printf_chk ()
    0x00000c9a b 0xba8                                       |         
                                                             |     } while (1);
    0x00000c9c mov.w sl, -1                                  |     sl = -1;
    0x00000ca0 b 0xba8                                       |     goto label_0;
    0x00000ca2 ldr.w r3, [pc, 0x55c]                         |     r3 = *(0x1202);
    0x00000ca6 str r0, [sp, 0x14]                            |     *(arg_14h) = r0;
    0x00000ca8 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00000cac ldr r0, [r3]                                  |     r0 = *(0x1202);
    0x00000cae blx 0xafc                                     |     xstrdup ();
    0x00000cb2 movs r1, 0x3a                                 |     r1 = 0x3a;
    0x00000cb4 str r0, [sp, 0x10]                            |     *(arg_10h) = r0;
    0x00000cb6 blx 0xa30                                     |     strchr (r0, r1);
    0x00000cb8 vmov.f64 d9, -1.562500e-01                    |     __asm ("vmov.f64 d9, -1");
    0x00000cbc mov r1, r0                                    |     r1 = r0;
                                                             |     if (r0 != 0) {
    0x00000cbe cbz r0, 0xce8                                 |         
    0x00000cc0 movs r0, 0                                    |         r0 = 0;
    0x00000cc2 strb r0, [r1]                                 |         *(r1) = r0;
    0x00000cc4 ldrb r0, [r3]                                 |         r0 = *(r3);
                                                             |         if (r0 == 0) {
    0x00000cc6 cbz r0, 0xce8                                 |             goto label_11;
                                                             |         }
    0x00000cc8 ldrb r0, [r1, 1]                              |         r0 = *((r1 + 1));
                                                             |         if (r0 == 0) {
    0x00000cca cbz r0, 0xce8                                 |             goto label_11;
                                                             |         }
    0x00000ccc ldr r2, [sp, 0x14]                            |         r2 = *(arg_14h);
    0x00000cce ldr r0, [r6]                                  |         r0 = *(r6);
    0x00000cd0 str r3, [sp, 0x10]                            |         *(arg_10h) = r3;
    0x00000cd2 cmp r2, 0x8e                                  |         
    0x00000cd4 add.w r2, r1, 1                               |         r2 = r1 + 1;
    0x00000cd8 it eq                                         |         
                                                             |         if (r2 != 0x8e) {
    0x00000cda addeq r0, 0x20                                |             r0 += 0x20;
                                                             |         }
    0x00000cdc mov r1, r3                                    |         r1 = r3;
    0x00000cde it ne                                         |         
                                                             |         if (r2 == 0x8e) {
    0x00000ce0 addne r0, 0x18                                |             r0 += 0x18;
                                                             |         }
    0x00000ce2 blx 0xa84                                     |         nv_pair_list_append ();
    0x00000ce6 ldr r3, [sp, 0x10]                            |         r3 = *(arg_10h);
                                                             |     }
                                                             | label_11:
    0x00000ce8 mov r0, r3                                    |     r0 = r3;
    0x00000cea blx 0xa60                                     |     free (r0);
    0x00000cee b 0xba8                                       |     goto label_0;
    0x00000cf0 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000cf2 movs r2, 1                                    |     r2 = 1;
    0x00000cf4 str.w r2, [r3, 0xdc]                          |     __asm ("str.w r2, [r3, 0xdc]");
    0x00000cf8 b 0xba8                                       |     goto label_0;
    0x00000cfa ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000cfc movs r2, 1                                    |     r2 = 1;
    0x00000cfe str.w r2, [r3, 0xa8]                          |     __asm ("str.w r2, [r3, 0xa8]");
    0x00000d02 b 0xba8                                       |     goto label_0;
    0x00000d04 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d06 movs r2, 1                                    |     r2 = 1;
    0x00000d08 str.w r2, [r3, 0xa4]                          |     __asm ("str.w r2, [r3, 0xa4]");
    0x00000d0c b 0xba8                                       |     goto label_0;
    0x00000d0e ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d10 movs r2, 1                                    |     r2 = 1;
    0x00000d12 str.w r2, [r3, 0x104]                         |     __asm ("str.w r2, [r3, 0x104]");
    0x00000d16 b 0xba8                                       |     goto label_0;
    0x00000d18 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d1a movs r2, 1                                    |     r2 = 1;
    0x00000d1c str.w r2, [r3, 0xf8]                          |     __asm ("str.w r2, [r3, 0xf8]");
    0x00000d20 b 0xba8                                       |     goto label_0;
    0x00000d22 ldr.w r3, [pc, 0x4dc]                         |     r3 = *(0x1202);
    0x00000d26 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00000d2a ldr r0, [r3]                                  |     r0 = *(0x1202);
    0x00000d2c ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d2e str r3, [sp, 0x10]                            |     *(arg_10h) = r3;
    0x00000d30 blx 0xafc                                     |     xstrdup ();
    0x00000d34 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00000d36 str r0, [r3, 0x54]                            |     *((r3 + 0x54)) = r0;
    0x00000d38 b 0xba8                                       |     goto label_0;
    0x00000d3a ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d3c movs r2, 1                                    |     r2 = 1;
    0x00000d3e str.w r2, [r3, 0xc4]                          |     __asm ("str.w r2, [r3, 0xc4]");
    0x00000d42 b 0xba8                                       |     goto label_0;
    0x00000d44 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d46 movs r2, 1                                    |     r2 = 1;
    0x00000d48 str.w r2, [r3, 0xa0]                          |     __asm ("str.w r2, [r3, 0xa0]");
    0x00000d4c b 0xba8                                       |     goto label_0;
    0x00000d4e ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d50 movs r2, 1                                    |     r2 = 1;
    0x00000d52 str.w r2, [r3, 0x9c]                          |     __asm ("str.w r2, [r3, 0x9c]");
    0x00000d56 b 0xba8                                       |     goto label_0;
    0x00000d58 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d5a movs r2, 1                                    |     r2 = 1;
    0x00000d5c str.w r2, [r3, 0x90]                          |     __asm ("str.w r2, [r3, 0x90]");
    0x00000d60 b 0xba8                                       |     goto label_0;
    0x00000d62 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d64 movs r2, 1                                    |     r2 = 1;
    0x00000d66 str.w r2, [r3, 0x98]                          |     __asm ("str.w r2, [r3, 0x98]");
    0x00000d6a b 0xba8                                       |     goto label_0;
    0x00000d6c ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d6e movs r2, 1                                    |     r2 = 1;
    0x00000d70 str.w r2, [r3, 0xf0]                          |     __asm ("str.w r2, [r3, 0xf0]");
    0x00000d74 b 0xba8                                       |     goto label_0;
    0x00000d76 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d78 movs r2, 1                                    |     r2 = 1;
    0x00000d7a str.w r2, [r3, 0xec]                          |     __asm ("str.w r2, [r3, 0xec]");
    0x00000d7e b 0xba8                                       |     goto label_0;
    0x00000d80 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d82 movs r2, 1                                    |     r2 = 1;
    0x00000d84 str r2, [r3, 0x70]                            |     *((r3 + 0x70)) = r2;
    0x00000d86 b 0xba8                                       |     goto label_0;
    0x00000d88 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d8a movs r2, 1                                    |     r2 = 1;
    0x00000d8c str.w r2, [r3, 0xc0]                          |     __asm ("str.w r2, [r3, 0xc0]");
    0x00000d90 b 0xba8                                       |     goto label_0;
    0x00000d92 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d94 movs r2, 1                                    |     r2 = 1;
    0x00000d96 str.w r2, [r3, 0xe0]                          |     __asm ("str.w r2, [r3, 0xe0]");
    0x00000d9a b 0xba8                                       |     goto label_0;
    0x00000d9c ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000d9e movs r2, 1                                    |     r2 = 1;
    0x00000da0 str.w r2, [r3, 0xd8]                          |     __asm ("str.w r2, [r3, 0xd8]");
    0x00000da4 b 0xba8                                       |     goto label_0;
    0x00000da6 ldr.w r3, [pc, 0x458]                         |     r3 = *(0x1202);
    0x00000daa ldr r0, [r6]                                  |     r0 = *(r6);
    0x00000dac ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00000db0 adds r0, 0x30                                 |     r0 += 0x30;
    0x00000db2 ldr r1, [r3]                                  |     r1 = *(0x1202);
    0x00000db4 blx 0xab4                                     |     str_list_append ();
    0x00000db8 b 0xba8                                       |     goto label_0;
    0x00000dba ldr.w r3, [pc, 0x444]                         |     r3 = *(0x1202);
    0x00000dbe ldr r0, [r6]                                  |     r0 = *(r6);
    0x00000dc0 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00000dc4 adds r0, 0x28                                 |     r0 += 0x28;
    0x00000dc6 ldr r1, [r3]                                  |     r1 = *(0x1202);
    0x00000dc8 blx 0xab4                                     |     str_list_append ();
    0x00000dcc b 0xba8                                       |     goto label_0;
    0x00000dce ldr.w r3, [pc, 0x430]                         |     r3 = *(0x1202);
    0x00000dd2 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00000dd6 ldr r0, [r3]                                  |     r0 = *(0x1202);
    0x00000dd8 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000dda str r3, [sp, 0x10]                            |     *(arg_10h) = r3;
    0x00000ddc blx 0xafc                                     |     xstrdup ();
    0x00000de0 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00000de2 str r0, [r3, 0x64]                            |     *((r3 + 0x64)) = r0;
    0x00000de4 b 0xba8                                       |     goto label_0;
    0x00000de6 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000de8 movs r2, 1                                    |     r2 = 1;
    0x00000dea str.w r2, [r3, 0xd0]                          |     __asm ("str.w r2, [r3, 0xd0]");
    0x00000dee b 0xba8                                       |     goto label_0;
    0x00000df0 ldr.w r3, [pc, 0x40c]                         |     r3 = *(0x1200);
    0x00000df4 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
                                                             | label_9:
    0x00000df8 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00000dfa ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000dfc str r3, [sp, 0x10]                            |     *(arg_10h) = r3;
    0x00000dfe blx 0xafc                                     |     xstrdup ();
    0x00000e02 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00000e04 str r0, [r3, 0x40]                            |     *((r3 + 0x40)) = r0;
    0x00000e06 b 0xba8                                       |     goto label_0;
    0x00000e08 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000e0a movs r1, 2                                    |     r1 = 2;
    0x00000e0c ldr r2, [pc, 0x3f0]                           |     r2 = *(0x1200);
    0x00000e0e str.w r1, [r3, 0xd4]                          |     __asm ("str.w r1, [r3, 0xd4]");
    0x00000e12 str r3, [sp, 0x10]                            |     *(arg_10h) = r3;
    0x00000e14 ldr.w r2, [r8, r2]                            |     r2 = *((r8 + r2));
    0x00000e16 movs r0, 2                                    |     r0 = 2;
    0x00000e18 ldr r0, [r2]                                  |     r0 = *(0x1200);
    0x00000e1a cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000e1c beq.w 0xba8                                   |         goto label_0;
                                                             |     }
    0x00000e20 movs r2, 0xa                                  |     r2 = 0xa;
    0x00000e22 movs r1, 0                                    |     r1 = 0;
    0x00000e24 blx 0xaa8                                     |     strtol (r0, r1, r2);
    0x00000e28 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00000e2a str.w r0, [r3, 0xd4]                          |     __asm ("str.w r0, [r3, 0xd4]");
    0x00000e2e b 0xba8                                       |     goto label_0;
    0x00000e30 ldr r3, [pc, 0x3cc]                           |     r3 = *(0x1200);
    0x00000e32 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00000e36 ldr r0, [r3]                                  |     r0 = *(0x1200);
    0x00000e38 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000e3a str r3, [sp, 0x10]                            |     *(arg_10h) = r3;
    0x00000e3c blx 0xafc                                     |     xstrdup ();
    0x00000e40 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00000e42 str r0, [r3, 0x48]                            |     *((r3 + 0x48)) = r0;
    0x00000e44 b 0xba8                                       |     goto label_0;
    0x00000e46 ldr r3, [pc, 0x3b8]                           |     r3 = *(0x1202);
    0x00000e48 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00000e4c ldr r0, [r3]                                  |     r0 = *(0x1202);
    0x00000e4e ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000e50 str r3, [sp, 0x10]                            |     *(arg_10h) = r3;
    0x00000e52 blx 0xafc                                     |     xstrdup ();
    0x00000e56 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00000e58 str.w r0, [r3, 0xc8]                          |     __asm ("str.w r0, [r3, 0xc8]");
    0x00000e5c b 0xba8                                       |     goto label_0;
    0x00000e5e ldr r3, [pc, 0x3a0]                           |     r3 = *(0x1202);
    0x00000e60 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00000e64 ldr r0, [r3]                                  |     r0 = *(0x1202);
    0x00000e66 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000e68 str r3, [sp, 0x10]                            |     *(arg_10h) = r3;
    0x00000e6a blx 0xafc                                     |     xstrdup ();
    0x00000e6e ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00000e70 str r0, [r3, 0x50]                            |     *((r3 + 0x50)) = r0;
    0x00000e72 b 0xba8                                       |     goto label_0;
    0x00000e74 ldr r3, [pc, 0x388]                           |     r3 = *(0x1200);
    0x00000e76 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00000e7a ldr r0, [r3]                                  |     r0 = *(0x1200);
    0x00000e7c ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000e7e str r3, [sp, 0x10]                            |     *(arg_10h) = r3;
    0x00000e80 blx 0xafc                                     |     xstrdup ();
    0x00000e84 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00000e86 str r0, [r3, 0x44]                            |     *((r3 + 0x44)) = r0;
    0x00000e88 b 0xba8                                       |     goto label_0;
    0x00000e8a ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000e8c movs r2, 1                                    |     r2 = 1;
    0x00000e8e str.w r2, [r3, 0x94]                          |     __asm ("str.w r2, [r3, 0x94]");
    0x00000e90 movs r0, 0x94                                 |     r0 = 0x94;
    0x00000e92 b 0xba8                                       |     goto label_0;
    0x00000e94 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000e96 movs r2, 1                                    |     r2 = 1;
    0x00000e98 str.w r2, [r3, 0x8c]                          |     __asm ("str.w r2, [r3, 0x8c]");
    0x00000e9c b 0xba8                                       |     goto label_0;
    0x00000e9e ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000ea0 movs r2, 1                                    |     r2 = 1;
    0x00000ea2 str.w r2, [r3, 0x88]                          |     __asm ("str.w r2, [r3, 0x88]");
    0x00000ea6 b 0xba8                                       |     goto label_0;
    0x00000ea8 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000eaa movs r2, 1                                    |     r2 = 1;
    0x00000eac str.w r2, [r3, 0x84]                          |     __asm ("str.w r2, [r3, 0x84]");
    0x00000eb0 b 0xba8                                       |     goto label_0;
    0x00000eb2 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000eb4 movs r2, 1                                    |     r2 = 1;
    0x00000eb6 str r2, [r3, 0x78]                            |     *((r3 + 0x78)) = r2;
    0x00000eb8 b 0xba8                                       |     goto label_0;
    0x00000eba ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000ebc movs r2, 1                                    |     r2 = 1;
    0x00000ebe str.w r2, [r3, 0x80]                          |     __asm ("str.w r2, [r3, 0x80]");
    0x00000ec2 b 0xba8                                       |     goto label_0;
    0x00000ec4 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00000ec6 movs r2, 1                                    |     r2 = 1;
    0x00000ec8 str r2, [r3, 0x7c]                            |     *((r3 + 0x7c)) = r2;
    0x00000eca b 0xba8                                       |     goto label_0;
    0x00000ecc blx 0xa90                                     |     r0 = opkg_solver_version_alloc ();
    0x00000ed0 mov r4, r0                                    |     r4 = r0;
    0x00000ed2 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000ed4 beq.w 0x1016                                  |         goto label_12;
                                                             |     }
    0x00000ed8 ldr r1, [pc, 0x328]                           |     
    0x00000eda mov r2, r0                                    |     r2 = r0;
    0x00000edc movs r0, 1                                    |     r0 = 1;
    0x00000ede add r1, pc                                    |     r1 = 0x20e6;
    0x00000ee0 blx 0xa24                                     |     printf_chk ()
    0x00000ee4 mov r0, r4                                    |     r0 = r4;
    0x00000ee6 blx 0xa60                                     |     free (r0);
    0x00000ee8 invalid                                       |     
                                                             |     do {
    0x00000eea movs r0, 0                                    |         r0 = 0;
    0x00000eec blx 0xb2c                                     |         exit (r0);
                                                             | label_10:
    0x00000ef0 cmp.w sl, 0                                   |         
                                                             |         if (sl == 0) {
    0x00000ef4 bne 0xf00                                     |             
    0x00000ef6 ldr r3, [pc, 0x310]                           |             r3 = *(0x120a);
    0x00000ef8 ldr.w r3, [r8, r3]                            |             r3 = *((r8 + r3));
    0x00000efc ldr.w sl, [r3]                                |             sl = *(0x120a);
                                                             |         }
    0x00000f00 cmp r4, sl                                    |         
                                                             |         if (r4 == sl) {
    0x00000f02 beq.w 0x11c8                                  |             goto label_13;
                                                             |         }
    0x00000f06 cmp.w sl, 0                                   |         
                                                             |         if (sl < 0) {
    0x00000f0a blt.w 0x11c8                                  |             goto label_13;
                                                             |         }
    0x00000f0e ldr.w sb, [r5, sl, lsl 2]                     |         offset_0 = sl << 2;
                                                             |         sb = *((r5 + offset_0));
    0x00000f12 lsl.w r3, sl, 2                               |         r3 = sl << 2;
    0x00000f16 ldr r1, [pc, 0x2f4]                           |         
    0x00000f18 add.w r7, sl, 1                               |         r7 = sl + 1;
    0x00000f1c str r2, [sp, 0xc]                             |         *(arg_ch) = r2;
    0x00000f1e mov r0, sb                                    |         r0 = sb;
    0x00000f20 str r3, [sp, 0x14]                            |         *(arg_14h) = r3;
    0x00000f22 add r1, pc                                    |         r1 = 0x2134;
    0x00000f24 blx 0xb20                                     |         strcmp (r0, r1);
    0x00000f28 ldr r1, [pc, 0x2e4]                           |         
    0x00000f2a mov sl, r0                                    |         sl = r0;
    0x00000f2c mov r0, sb                                    |         r0 = sb;
    0x00000f2e add r1, pc                                    |         r1 = 0x2142;
    0x00000f30 blx 0xb20                                     |         strcmp (r0, r1);
    0x00000f34 ldr r1, [pc, 0x2dc]                           |         
    0x00000f36 str r0, [sp, 0x10]                            |         *(arg_10h) = r0;
    0x00000f38 mov r0, sb                                    |         r0 = sb;
    0x00000f3a add r1, pc                                    |         r1 = 0x2152;
    0x00000f3c blx 0xb20                                     |         strcmp (r0, r1);
    0x00000f40 ldr r2, [sp, 0xc]                             |         r2 = *(arg_ch);
    0x00000f42 mov fp, r0                                    |         
    0x00000f44 cmp.w sl, 0                                   |         
                                                             |         if (sl != 0) {
    0x00000f48 beq 0xf5a                                     |             
    0x00000f4a ldr r1, [pc, 0x2cc]                           |             
    0x00000f4c mov r0, sb                                    |             r0 = sb;
    0x00000f4e add r1, pc                                    |             r1 = 0x216c;
    0x00000f50 blx 0xb20                                     |             strcmp (r0, r1);
    0x00000f54 ldr r2, [sp, 0xc]                             |             r2 = *(arg_ch);
    0x00000f56 cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x00000f58 bne 0x1020                                    |                 goto label_14;
                                                             |             }
                                                             |         }
                                                             | label_1:
    0x00000f5a cmp.w fp, 0                                   |         
                                                             |         if (fp != 0) {
    0x00000f5e beq 0xf74                                     |             
    0x00000f60 ldr r1, [pc, 0x2b8]                           |             
    0x00000f62 mov r0, sb                                    |             r0 = sb;
    0x00000f64 str r2, [sp, 0xc]                             |             *(arg_ch) = r2;
    0x00000f66 add r1, pc                                    |             r1 = 0x2186;
    0x00000f68 blx 0xb20                                     |             strcmp (r0, r1);
    0x00000f6c ldr r2, [sp, 0xc]                             |             r2 = *(arg_ch);
    0x00000f6e cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x00000f70 bne.w 0x10a6                                  |                 goto label_15;
                                                             |             }
                                                             |         }
    0x00000f74 mov.w sl, 1                                   |         sl = 1;
    0x00000f78 mov fp, sl                                    |         
                                                             | label_4:
    0x00000f7a ldr r3, [sp, 0x10]                            |         r3 = *(arg_10h);
                                                             |         if (r3 != 0) {
    0x00000f7c cbz r3, 0xf90                                 |             
                                                             | label_7:
    0x00000f7e ldr r1, [pc, 0x2a0]                           |             
    0x00000f80 mov r0, sb                                    |             r0 = sb;
    0x00000f82 str r2, [sp, 0xc]                             |             *(arg_ch) = r2;
    0x00000f84 add r1, pc                                    |             r1 = 0x21aa;
    0x00000f86 blx 0xb20                                     |             strcmp (r0, r1);
    0x00000f8a ldr r2, [sp, 0xc]                             |             r2 = *(arg_ch);
    0x00000f8c cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x00000f8e bne 0x107a                                    |                 goto label_16;
                                                             |             }
                                                             |         }
                                                             | label_5:
    0x00000f90 mov r0, sb                                    |         r0 = sb;
    0x00000f92 str r2, [sp, 0xc]                             |         *(arg_ch) = r2;
    0x00000f94 blx 0xb44                                     |         opkg_cmd_find ();
    0x00000f98 ldr r2, [sp, 0xc]                             |         r2 = *(arg_ch);
    0x00000f9a mov r3, r0                                    |         r3 = r0;
    0x00000f9c cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000f9e beq.w 0x113c                                  |             goto label_17;
                                                             |         }
    0x00000fa2 ldr r1, [r6]                                  |         r1 = *(r6);
    0x00000fa4 ldr r0, [r3, 0xc]                             |         r0 = *((r3 + 0xc));
    0x00000fa6 str r0, [r1, 0x68]                            |         *((r1 + 0x68)) = r0;
                                                             | label_2:
    0x00000fa8 cmp.w sl, 0                                   |         
                                                             |         if (sl == 0) {
    0x00000fac bne 0xfd0                                     |             
    0x00000fae cmp.w fp, 0                                   |             
                                                             |             if (fp == 0) {
    0x00000fb2 bne 0xfc2                                     |                 
    0x00000fb4 strd r3, r2, [sp, 0xc]                        |                 __asm ("strd r3, r2, [sp, 0xc]");
    0x00000fb8 blx 0xa0c                                     |                 pkg_hash_load_feeds ();
    0x00000fbc ldrd r3, r2, [sp, 0xc]                        |                 __asm ("ldrd r3, r2, [arg_ch]");
                                                             |                 if (r0 != 0) {
    0x00000fc0 cbnz r0, 0xff0                                |                     goto label_18;
                                                             |                 }
                                                             |             }
    0x00000fc2 strd r3, r2, [sp, 0xc]                        |             __asm ("strd r3, r2, [sp, 0xc]");
    0x00000fc6 blx 0xb14                                     |             pkg_hash_load_status_files ();
    0x00000fca ldrd r3, r2, [sp, 0xc]                        |             __asm ("ldrd r3, r2, [arg_ch]");
                                                             |             if (r0 != 0) {
    0x00000fce cbnz r0, 0xff0                                |                 goto label_18;
                                                             |             }
                                                             |         }
    0x00000fd0 ldr r2, [r3, 4]                               |         r2 = *((r3 + 4));
                                                             |         if (r2 != 0) {
    0x00000fd2 cbz r2, 0xfda                                 |             
    0x00000fd4 cmp r4, r7                                    |             
                                                             |             if (r4 == r7) {
    0x00000fd6 beq.w 0x11be                                  |                 goto label_19;
                                                             |             }
                                                             |         }
    0x00000fda ldr r2, [sp, 0x14]                            |         r2 = *(arg_14h);
    0x00000fdc subs r1, r4, r7                               |         r1 = r4 - r7;
    0x00000fde mov r0, r3                                    |         r0 = r3;
    0x00000fe0 adds r2, 4                                    |         r2 += 4;
    0x00000fe2 add r2, r5                                    |         r2 += r5;
    0x00000fe4 blx 0xacc                                     |         opkg_cmd_exec ();
    0x00000fe8 str r0, [sp, 0xc]                             |         *(arg_ch) = r0;
    0x00000fea blx 0xa54                                     |         opkg_download_cleanup ();
    0x00000fee ldr r2, [sp, 0xc]                             |         r2 = *(arg_ch);
                                                             | label_18:
    0x00000ff0 str r2, [sp, 0xc]                             |         *(arg_ch) = r2;
    0x00000ff2 blx 0xa48                                     |         opkg_conf_deinit ();
    0x00000ff6 ldr r2, [sp, 0xc]                             |         r2 = *(arg_ch);
                                                             | label_3:
    0x00000ff8 ldr r1, [pc, 0x228]                           |         
    0x00000ffa ldr r3, [pc, 0x1ec]                           |         r3 = *(0x11ea);
    0x00000ffc add r1, pc                                    |         r1 = 0x2224;
    0x00000ffe ldr r3, [r1, r3]                              |         r3 = imp.opkg_config;
    0x00001000 ldr r1, [r3]                                  |         r1 = imp.opkg_config;
    0x00001002 ldr r3, [sp, 0x1c]                            |         r3 = *(arg_1ch);
    0x00001004 eors r1, r3                                   |         r1 ^= r3;
    0x00001006 mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r1 != r3) {
    0x0000100a bne.w 0x11e0                                  |             goto label_20;
                                                             |         }
    0x0000100e mov r0, r2                                    |         r0 = r2;
    0x00001010 add sp, 0x24                                  |         
    0x00001012 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |         
                                                             | label_12:
    0x00001016 ldr r0, [pc, 0x210]                           |         
    0x00001018 add r0, pc                                    |         r0 = 0x2246;
    0x0000101a blx 0xaf0                                     |         puts (r0);
    0x0000101e b 0xeea                                       |         
                                                             |     } while (1);
                                                             | label_14:
    0x00001020 ldr r1, [pc, 0x208]                           |     
    0x00001022 mov r0, sb                                    |     r0 = sb;
    0x00001024 add r1, pc                                    |     r1 = 0x2254;
    0x00001026 blx 0xb20                                     |     strcmp (r0, r1);
    0x0000102a ldr r2, [sp, 0xc]                             |     r2 = *(arg_ch);
    0x0000102c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000102e beq 0xf5a                                     |         goto label_1;
                                                             |     }
    0x00001030 ldr r1, [pc, 0x1fc]                           |     
    0x00001032 mov r0, sb                                    |     r0 = sb;
    0x00001034 add r1, pc                                    |     r1 = "\t                                  2 informative messages";
    0x00001036 blx 0xb20                                     |     strcmp (r0, "\t                                  2 informative messages");
    0x00001038 vldmdb r4!, {s19, s20, s21}                   |     __asm ("vldmdb r4!, {s19, s20, s21}");
    0x0000103c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000103e beq 0xf5a                                     |         goto label_1;
                                                             |     }
    0x00001040 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00001042 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00001044 beq.w 0x1158                                  |         goto label_21;
                                                             |     }
    0x00001048 ldr r1, [pc, 0x1e8]                           |     
    0x0000104a mov r0, sb                                    |     r0 = sb;
    0x0000104c add r1, pc                                    |     r1 = 0x2284;
    0x0000104e blx 0xb20                                     |     strcmp (r0, r1);
    0x00001052 ldr r2, [sp, 0xc]                             |     r2 = *(arg_ch);
    0x00001054 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001056 beq.w 0x118c                                  |         goto label_22;
                                                             |     }
    0x0000105a ldr r1, [pc, 0x1dc]                           |     
    0x0000105c mov r0, sb                                    |     r0 = sb;
    0x0000105e add r1, pc                                    |     r1 = 0x229c;
    0x00001060 blx 0xb20                                     |     r0 = strcmp (r0, r1);
    0x00001064 clz sl, r0                                    |     sl &= r0;
    0x00001068 ldr r2, [sp, 0xc]                             |     r2 = *(arg_ch);
    0x0000106a lsr.w sl, sl, 5                               |     sl >>= 5;
    0x0000106e cmp.w fp, 0                                   |     
                                                             |     if (fp != 0) {
    0x00001072 bne.w 0x1196                                  |         goto label_23;
                                                             |     }
    0x00001076 mov.w fp, 1                                   |     
                                                             | label_16:
    0x0000107a mov r0, sb                                    |     r0 = sb;
    0x0000107c str r2, [sp, 0xc]                             |     *(arg_ch) = r2;
    0x0000107e blx 0xb44                                     |     opkg_cmd_find ();
    0x00001082 ldr r2, [sp, 0xc]                             |     r2 = *(arg_ch);
    0x00001084 mov r3, r0                                    |     r3 = r0;
    0x00001086 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001088 beq 0x113c                                    |         goto label_17;
                                                             |     }
    0x0000108a ldr r0, [r3, 0xc]                             |     r0 = *((r3 + 0xc));
    0x0000108c ldr r1, [r6]                                  |     r1 = *(r6);
    0x0000108e str r2, [sp, 0x10]                            |     *(arg_10h) = r2;
    0x00001090 str r3, [sp, 0xc]                             |     *(arg_ch) = r3;
    0x00001092 str r0, [r1, 0x68]                            |     *((r1 + 0x68)) = r0;
    0x00001094 blx 0xa9c                                     |     opkg_conf_load ();
    0x00001098 ldrd r3, r2, [sp, 0xc]                        |     __asm ("ldrd r3, r2, [arg_ch]");
    0x0000109c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000109e beq 0xfa8                                     |         goto label_2;
                                                             |     }
    0x000010a0 mov.w r2, -1                                  |     r2 = -1;
    0x000010a4 b 0xff8                                       |     goto label_3;
                                                             | label_15:
    0x000010a6 ldr r1, [pc, 0x194]                           |     
    0x000010a8 mov r0, sb                                    |     r0 = sb;
    0x000010aa mov.w sl, 1                                   |     sl = 1;
    0x000010ae add r1, pc                                    |     r1 = 0x22f0;
    0x000010b0 blx 0xb20                                     |     strcmp (r0, r1);
    0x000010b4 ldr r2, [sp, 0xc]                             |     r2 = *(arg_ch);
    0x000010b6 cmp r0, 0                                     |     
    0x000010b8 beq 0x1136                                    |     
                                                             |     while (1) {
                                                             | label_6:
    0x000010ba ldr r1, [pc, 0x184]                           |         
    0x000010bc mov r0, sb                                    |         r0 = sb;
    0x000010be str r2, [sp, 0xc]                             |         *(arg_ch) = r2;
    0x000010c0 add r1, pc                                    |         r1 = 0x2306;
    0x000010c2 blx 0xb20                                     |         strcmp (r0, r1);
    0x000010c6 ldr r2, [sp, 0xc]                             |         r2 = *(arg_ch);
    0x000010c8 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000010ca beq 0x1136                                    |             
    0x000010cc ldr r1, [pc, 0x174]                           |             
    0x000010ce mov r0, sb                                    |             r0 = sb;
    0x000010d0 add r1, pc                                    |             r1 = 0x2318;
    0x000010d2 blx 0xb20                                     |             strcmp (r0, r1);
    0x000010d6 ldr r2, [sp, 0xc]                             |             r2 = *(arg_ch);
                                                             |             if (r0 == 0) {
    0x000010d8 cbz r0, 0x1136                                |                 goto label_24;
                                                             |             }
    0x000010da ldr r1, [pc, 0x16c]                           |             
    0x000010dc mov r0, sb                                    |             r0 = sb;
    0x000010de add r1, pc                                    |             r1 = 0x232c;
    0x000010e0 blx 0xb20                                     |             strcmp (r0, r1);
    0x000010e4 ldr r2, [sp, 0xc]                             |             r2 = *(arg_ch);
                                                             |             if (r0 == 0) {
    0x000010e6 cbz r0, 0x1136                                |                 goto label_24;
                                                             |             }
    0x000010e8 ldr r1, [pc, 0x160]                           |             
    0x000010ea mov r0, sb                                    |             r0 = sb;
    0x000010ec add r1, pc                                    |             r1 = 0x233c;
    0x000010ee blx 0xb20                                     |             strcmp (r0, r1);
    0x000010f2 ldr r2, [sp, 0xc]                             |             r2 = *(arg_ch);
                                                             |             if (r0 == 0) {
    0x000010f4 cbz r0, 0x1136                                |                 goto label_24;
                                                             |             }
    0x000010f6 ldr r1, [pc, 0x158]                           |             
    0x000010f8 mov r0, sb                                    |             r0 = sb;
    0x000010fa add r1, pc                                    |             r1 = 0x2350;
    0x000010fc blx 0xb20                                     |             strcmp (r0, r1);
    0x00001100 ldr r2, [sp, 0xc]                             |             r2 = *(arg_ch);
                                                             |             if (r0 == 0) {
    0x00001102 cbz r0, 0x1136                                |                 goto label_24;
                                                             |             }
    0x00001104 ldr r1, [pc, 0x14c]                           |             
    0x00001106 mov r0, sb                                    |             r0 = sb;
    0x00001108 add r1, pc                                    |             r1 = 0x2360;
    0x0000110a blx 0xb20                                     |             strcmp (r0, r1);
    0x0000110e ldr r2, [sp, 0xc]                             |             r2 = *(arg_ch);
                                                             |             if (r0 == 0) {
    0x00001110 cbz r0, 0x1136                                |                 goto label_24;
                                                             |             }
    0x00001112 ldr r1, [pc, 0x144]                           |             
    0x00001114 mov r0, sb                                    |             r0 = sb;
    0x00001116 add r1, pc                                    |             r1 = 0x2374;
    0x00001118 blx 0xb20                                     |             strcmp (r0, r1);
    0x0000111c ldr r2, [sp, 0xc]                             |             r2 = *(arg_ch);
                                                             |             if (r0 == 0) {
    0x0000111e cbz r0, 0x1136                                |                 goto label_24;
                                                             |             }
    0x00001120 ldr r1, [pc, 0x138]                           |             
    0x00001122 mov r0, sb                                    |             r0 = sb;
    0x00001124 add r1, pc                                    |             r1 = 0x2384;
    0x00001126 blx 0xb20                                     |             r0 = strcmp (r0, r1);
    0x0000112a clz fp, r0                                    |             
    0x0000112e ldr r2, [sp, 0xc]                             |             r2 = *(arg_ch);
    0x00001130 lsr.w fp, fp, 5                               |             
    0x00001134 b 0xf7a                                       |             goto label_4;
                                                             |         }
                                                             | label_24:
    0x00001136 mov.w fp, 1                                   |         
    0x0000113a b 0xf7a                                       |         goto label_4;
                                                             | label_17:
    0x0000113c ldr r2, [pc, 0x120]                           |         
    0x0000113e ldr r1, [pc, 0x124]                           |         r1 = *(0x1266);
    0x00001140 ldr r3, [r5]                                  |         r3 = *(r5);
    0x00001142 add r2, pc                                    |         r2 = 0x23a6;
                                                             | label_8:
    0x00001144 ldr.w r0, [r8, r1]                            |         r0 = *((r8 + r1));
    0x00001148 movs r1, 1                                    |         r1 = 1;
    0x0000114a str.w sb, [sp]                                |         __asm ("str.w sb, [sp]");
    0x0000114e ldr r0, [r0]                                  |         r0 = *(r0);
    0x00001150 blx 0xae4                                     |         fprintf_chk ()
    0x00001154 bl 0x137c                                     |         fcn_0000137c ();
                                                             | label_21:
    0x00001158 cmp.w fp, 0                                   |         
                                                             |         if (fp == 0) {
    0x0000115c beq 0x1184                                    |             goto label_25;
                                                             |         }
    0x0000115e ldr r1, [pc, 0x108]                           |         
    0x00001160 mov r0, sb                                    |         r0 = sb;
    0x00001162 str r2, [sp, 0xc]                             |         *(arg_ch) = r2;
    0x00001164 add r1, pc                                    |         r1 = 0x23d2;
    0x00001166 blx 0xb20                                     |         strcmp (r0, r1);
    0x0000116a ldr r2, [sp, 0xc]                             |         r2 = *(arg_ch);
                                                             |         if (r0 == 0) {
    0x0000116c cbz r0, 0x1184                                |             goto label_25;
                                                             |         }
    0x0000116e ldr r1, [pc, 0xfc]                            |         
    0x00001170 mov r0, sb                                    |         r0 = sb;
    0x00001172 str r2, [sp, 0xc]                             |         *(arg_ch) = r2;
    0x00001174 add r1, pc                                    |         r1 = 0x23e6;
    0x00001176 blx 0xb20                                     |         strcmp (r0, r1);
    0x0000117a ldr r2, [sp, 0xc]                             |         r2 = *(arg_ch);
                                                             |         if (r0 == 0) {
    0x0000117c cbz r0, 0x1184                                |             goto label_25;
                                                             |         }
    0x0000117e mov.w sl, 1                                   |         sl = 1;
    0x00001182 b 0x10ba                                      |         
                                                             |     }
                                                             |     do {
                                                             | label_25:
    0x00001184 mov.w fp, 1                                   |         
    0x00001188 mov sl, fp                                    |         sl = fp;
    0x0000118a b 0xf90                                       |         goto label_5;
                                                             | label_22:
    0x0000118c cmp.w fp, 0                                   |         
    0x00001190 beq 0x1184                                    |         
                                                             |     } while (fp == 0);
    0x00001192 mov.w sl, 1                                   |     sl = 1;
                                                             | label_23:
    0x00001196 ldr r1, [pc, 0xd8]                            |     
    0x00001198 mov r0, sb                                    |     r0 = sb;
    0x0000119a str r2, [sp, 0xc]                             |     *(arg_ch) = r2;
    0x0000119c add r1, pc                                    |     r1 = 0x2412;
    0x0000119e blx 0xb20                                     |     strcmp (r0, r1);
    0x000011a2 ldr r2, [sp, 0xc]                             |     r2 = *(arg_ch);
                                                             |     if (r0 == 0) {
    0x000011a4 cbz r0, 0x11b8                                |         goto label_26;
                                                             |     }
    0x000011a6 ldr r1, [pc, 0xcc]                            |     
    0x000011a8 mov r0, sb                                    |     r0 = sb;
    0x000011aa str r2, [sp, 0xc]                             |     *(arg_ch) = r2;
    0x000011ac add r1, pc                                    |     r1 = 0x2426;
    0x000011ae blx 0xb20                                     |     strcmp (r0, r1);
    0x000011b2 ldr r2, [sp, 0xc]                             |     r2 = *(arg_ch);
    0x000011b4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000011b6 bne 0x10ba                                    |         goto label_6;
                                                             |     }
                                                             | label_26:
    0x000011b8 mov.w fp, 1                                   |     
    0x000011bc b 0xf7e                                       |     goto label_7;
                                                             | label_19:
    0x000011be ldr r2, [pc, 0xb8]                            |     
    0x000011c0 ldr r1, [pc, 0xa0]                            |     r1 = *(0x1264);
    0x000011c2 ldr r3, [r5]                                  |     r3 = *(r5);
    0x000011c4 add r2, pc                                    |     r2 = 0x2442;
    0x000011c6 b 0x1144                                      |     goto label_8;
                                                             | label_13:
    0x000011c8 ldr r3, [pc, 0x98]                            |     
    0x000011ca movs r2, 0x28                                 |     r2 = 0x28;
    0x000011cc ldr r0, [pc, 0xac]                            |     
    0x000011ce movs r1, 1                                    |     r1 = 1;
    0x000011d0 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x000011d4 add r0, pc                                    |     r0 = 0x2454;
    0x000011d6 ldr r3, [r3]                                  |     r3 = *(0x1264);
    0x000011d8 blx 0xac0                                     |     r0 = fwrite (r0, r1, r2, r3);
    0x000011dc bl 0x137c                                     |     fcn_0000137c ();
                                                             | label_20:
    0x000011e0 blx 0xad8                                     |     stack_chk_fail ();
    0x000011e4 adds r3, 0xfa                                 |     r3 += 0xfa;
    0x000011e6 movs r1, r0                                   |     r1 = r0;
    0x000011e8 lsls r0, r2, 2                                |     r0 = r2 << 2;
    0x000011ea movs r0, r0                                   |     
    0x000011ec adds r3, 0xee                                 |     r3 += 0xee;
    0x000011ee movs r1, r0                                   |     r1 = r0;
    0x000011f0 lsls r0, r0, 2                                |     r0 <<= 2;
    0x000011f2 movs r0, r0                                   |     
    0x000011f4 adds r4, 0x6c                                 |     r4 += 0x6c;
    0x000011f6 movs r1, r0                                   |     r1 = r0;
    0x000011f8 movs r4, 0x96                                 |     r4 = 0x96;
    0x000011fa movs r0, r0                                   |     
    0x000011fc movs r4, 0xd6                                 |     r4 = 0xd6;
    0x000011fe movs r0, r0                                   |     
    0x00001200 lsls r0, r3, 2                                |     r0 = r3 << 2;
    0x00001202 movs r0, r0                                   |     
    0x00001204 movs r1, 0x66                                 |     r1 = 0x66;
    0x00001206 movs r0, r0                                   |     
    0x00001208 lsls r0, r1, 2                                |     r0 = r1 << 2;
    0x0000120a movs r0, r0                                   |     
    0x0000120c movs r1, 0xa2                                 |     r1 = 0xa2;
    0x0000120e movs r0, r0                                   |     
    0x00001210 movs r1, 0xaa                                 |     r1 = 0xaa;
    0x00001212 movs r0, r0                                   |     
    0x00001214 movs r1, 0xb2                                 |     r1 = 0xb2;
    0x00001216 movs r0, r0                                   |     
    0x00001218 movs r1, 0xa6                                 |     r1 = 0xa6;
    0x0000121a movs r0, r0                                   |     
    0x0000121c movs r1, 0xfe                                 |     r1 = 0xfe;
    0x0000121e movs r0, r0                                   |     
    0x00001220 movs r1, 0xc4                                 |     r1 = 0xc4;
    0x00001222 movs r0, r0                                   |     
    0x00001224 cmp r7, 0x5c                                  |     
    0x00001226 movs r1, r0                                   |     r1 = r0;
    0x00001228 movs r0, 0x48                                 |     r0 = 0x48;
    0x0000122a movs r0, r0                                   |     
    0x0000122c movs r0, 0xe4                                 |     r0 = 0xe4;
    0x0000122e movs r0, r0                                   |     
    0x00001230 movs r0, 0xf4                                 |     r0 = 0xf4;
    0x00001232 movs r0, r0                                   |     
    0x00001234 movs r0, 0xfc                                 |     r0 = 0xfc;
    0x00001236 movs r0, r0                                   |     
    0x00001238 movs r0, 0xfe                                 |     r0 = 0xfe;
    0x0000123a movs r0, r0                                   |     
    0x0000123c movs r1, 0x8e                                 |     r1 = 0x8e;
    0x0000123e movs r0, r0                                   |     
    0x00001240 movs r0, 0xb0                                 |     r0 = 0xb0;
    0x00001242 movs r0, r0                                   |     
    0x00001244 movs r0, 0xa8                                 |     r0 = 0xa8;
    0x00001246 movs r0, r0                                   |     
    0x00001248 movs r0, 0xa2                                 |     r0 = 0xa2;
    0x0000124a movs r0, r0                                   |     
    0x0000124c movs r0, 0xa4                                 |     r0 = 0xa4;
    0x0000124e movs r0, r0                                   |     
    0x00001250 movs r0, 0xa6                                 |     r0 = 0xa6;
    0x00001252 movs r0, r0                                   |     
    0x00001254 movs r0, 0xb0                                 |     r0 = 0xb0;
    0x00001256 movs r0, r0                                   |     
    0x00001258 movs r0, 0xba                                 |     r0 = 0xba;
    0x0000125a movs r0, r0                                   |     
    0x0000125c movs r0, 0x38                                 |     r0 = 0x38;
    0x0000125e movs r0, r0                                   |     
    0x00001260 movs r0, 0x96                                 |     r0 = 0x96;
    0x00001262 movs r0, r0                                   |     
    0x00001264 lsls r4, r2, 2                                |     r4 = r2 << 2;
    0x00001266 movs r0, r0                                   |     
    0x00001268 movs r0, 0                                    |     r0 = 0;
    0x0000126a movs r0, r0                                   |     
    0x0000126c movs r0, 0xc8                                 |     r0 = 0xc8;
    0x0000126e movs r0, r0                                   |     
    0x00001270 subs r0, r1, 7                                |     r0 = r1 - 7;
    0x00001272 movs r0, r0                                   |     
    0x00001274 movs r0, 0x90                                 |     r0 = 0x90;
    0x00001276 movs r0, r0                                   |     
    0x00001278 movs r0, 0x30                                 |     r0 = 0x30;
    0x0000127a movs r0, r0                                   |     
    0x0000127c subs r4, r0, 3                                |     r4 = r0 - 3;
    0x0000127e movs r0, r0                                   |     
    0x000012b4 adds r0, 0x14                                 |     r0 += 0x14;
    0x000012b6 b 0xdf8                                       |     goto label_9;
                                                             | }

[*] Function printf used 4 times opkg