[*] Binary protection state of libloggen_helper-3.38.so.0.0.0

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


[*] Function printf tear down of libloggen_helper-3.38.so.0.0.0

    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libloggen_helper-3.38.so.0.0.0 @ 0x1484 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.00001484 ()                          | void fcn_00001484 (int16_t arg2, int16_t domain, int16_t type) {
                                                     |     int16_t var_0h;
                                                     |     int16_t var_4h;
                                                     |     r1 = arg2;
                                                     |     r0 = domain;
                                                     |     r2 = type;
    0x00001484 mvnsmi lr, 0xb4000                    |     __asm ("mvnsmi lr, 0xb4000");
    0x00001488 mov r4, r2                            |     r4 = r2;
    0x0000148a ldr r7, [pc, 0x158]                   |     
    0x0000148c sub sp, 0xc                           |     
    0x0000148e mov r5, r0                            |     r5 = r0;
    0x00001490 mov r6, r1                            |     r6 = r1;
    0x00001492 ldrh r0, [r0]                         |     r0 = *(r0);
    0x00001494 mov r1, r4                            |     r1 = r4;
    0x00001496 movs r2, 0                            |     r2 = 0;
    0x00001498 add r7, pc                            |     r7 = 0x2a82;
    0x0000149a blx 0x1234                            |     r0 = socket (r0, r1, r2);
    0x0000149e subs r4, r0, 0                        |     r4 = r0 - 0;
                                                     |     if (r4 < r0) {
    0x000014a0 blt 0x1548                            |         goto label_1;
                                                     |     }
    0x000014a2 blx 0x115c                            |     r0 = fcn_0000115c ();
    0x000014a6 cbnz r0, 0x14c4                       |     
                                                     |     while (1) {
    0x000014a8 mov r2, r6                            |         r2 = r6;
    0x000014aa mov r1, r5                            |         r1 = r5;
    0x000014ac mov r0, r4                            |         r0 = r4;
    0x000014ae blx 0x1280                            |         r0 = fcn_00001280 ();
    0x000014b2 cmp r0, 0                             |         
                                                     |         if (r0 < 0) {
    0x000014b4 blt 0x1594                            |             goto label_2;
                                                     |         }
    0x000014b6 blx 0x115c                            |         r0 = fcn_0000115c ();
                                                     |         if (r0 != 0) {
    0x000014ba cbnz r0, 0x1506                       |             goto label_3;
                                                     |         }
                                                     | label_0:
    0x000014bc mov r0, r4                            |         r0 = r4;
    0x000014be add sp, 0xc                           |         
    0x000014c0 pop.w {r4, r5, r6, r7, r8, sb, pc}    |         
    0x000014c4 ldr r0, [pc, 0x120]                   |         
    0x000014c6 add r0, pc                            |         r0 = 0x2ab2;
    0x000014c8 blx 0x1180                            |         g_path_get_basename ();
    0x000014cc ldr r3, [pc, 0x11c]                   |         r3 = *(0x15ec);
    0x000014ce mov r8, r0                            |         r8 = r0;
    0x000014d0 ldr r2, [pc, 0x11c]                   |         
    0x000014d2 movs r1, 1                            |         r1 = 1;
    0x000014d4 ldr.w sb, [r7, r3]                    |         sb = *((r7 + r3));
    0x000014d8 ldr r3, [pc, 0x118]                   |         
    0x000014da add r2, pc                            |         r2 = 0x2ace;
    0x000014dc add r3, pc                            |         r3 = 0x2ad4;
    0x000014de str r3, [sp]                          |         *(sp) = r3;
    0x000014e0 movs r3, 0x4c                         |         r3 = 0x4c;
    0x000014e2 ldr.w r0, [sb]                        |         r0 = *(sb);
    0x000014e6 str r3, [sp, 4]                       |         var_4h = r3;
    0x000014e8 mov r3, r8                            |         r3 = r8;
    0x000014ea blx 0x11a4                            |         fprintf_chk ()
    0x000014ee ldr r0, [pc, 0x108]                   |         
    0x000014f0 movs r2, 0x1d                         |         r2 = 0x1d;
    0x000014f2 ldr.w r3, [sb]                        |         r3 = *(sb);
    0x000014f6 movs r1, 1                            |         r1 = 1;
    0x000014f8 add r0, pc                            |         r0 = 0x2af6;
    0x000014fa blx 0x12a4                            |         fcn_000012a4 ();
    0x000014fe mov r0, r8                            |         r0 = r8;
    0x00001500 blx 0x1244                            |         fcn_00001244 ();
    0x00001504 b 0x14a8                              |         
                                                     |     }
                                                     | label_3:
    0x00001506 ldr r0, [pc, 0xf4]                    |     
    0x00001508 add r0, pc                            |     r0 = 0x2b0a;
    0x0000150a blx 0x1180                            |     g_path_get_basename ();
    0x0000150e ldr r3, [pc, 0xdc]                    |     r3 = *(0x15ee);
    0x00001510 movs r2, 0x53                         |     r2 = 0x53;
    0x00001512 ldr r1, [pc, 0xec]                    |     
    0x00001514 mov r5, r0                            |     r5 = r0;
    0x00001516 ldr r6, [r7, r3]                      |     r6 = *((r7 + r3));
    0x00001518 mov r3, r0                            |     r3 = r0;
    0x0000151a str r2, [sp, 4]                       |     var_4h = r2;
    0x0000151c add r1, pc                            |     r1 = 0x2b22;
    0x0000151e ldr r2, [pc, 0xe4]                    |     
    0x00001520 str r1, [sp]                          |     *(sp) = r1;
    0x00001522 movs r1, 1                            |     r1 = 1;
    0x00001524 ldr r0, [r6]                          |     r0 = *(r6);
    0x00001526 add r2, pc                            |     r2 = 0x2b30;
    0x00001528 blx 0x11a4                            |     fprintf_chk ()
    0x0000152c ldr r2, [pc, 0xd8]                    |     
    0x0000152e mov r3, r4                            |     r3 = r4;
    0x00001530 movs r1, 1                            |     r1 = 1;
    0x00001532 ldr r0, [r6]                          |     r0 = *(r6);
    0x00001534 add r2, pc                            |     r2 = 0x2b40;
    0x00001536 blx 0x11a4                            |     fprintf_chk ()
    0x0000153a mov r0, r5                            |     r0 = r5;
    0x0000153c blx 0x1244                            |     fcn_00001244 ();
    0x00001540 mov r0, r4                            |     r0 = r4;
    0x00001542 add sp, 0xc                           |     
    0x00001544 pop.w {r4, r5, r6, r7, r8, sb, pc}    |     
                                                     | label_1:
    0x00001548 ldr r0, [pc, 0xc0]                    |     
    0x0000154a add r0, pc                            |     
    0x0000154c blx 0x1180                            |     g_path_get_basename ();
    0x00001550 ldr r3, [pc, 0xbc]                    |     r3 = *(0x1610);
    0x00001552 movs r2, 0x40                         |     r2 = 0x40;
    0x00001554 ldr r1, [pc, 0xbc]                    |     
    0x00001556 mov r4, r0                            |     r4 = r0;
    0x00001558 ldr r5, [r7, r3]                      |     r5 = *((r7 + r3));
    0x0000155a mov r3, r0                            |     r3 = r0;
    0x0000155c str r2, [sp, 4]                       |     var_4h = r2;
    0x0000155e add r1, pc                            |     r1 = 0x2b76;
    0x00001560 ldr r2, [pc, 0xb4]                    |     
    0x00001562 str r1, [sp]                          |     *(sp) = r1;
    0x00001564 movs r1, 1                            |     r1 = 1;
    0x00001566 ldr r0, [r5]                          |     r0 = *(r5);
    0x00001568 add r2, pc                            |     r2 = 0x2b84;
    0x0000156a blx 0x11a4                            |     fprintf_chk ()
    0x0000156e blx 0x132c                            |     r0 = fcn_0000132c ();
    0x00001572 ldr r0, [r0]                          |     r0 = *(0x2b5a);
    0x00001574 blx 0x11f8                            |     g_strerror ();
    0x00001578 ldr r5, [r5]                          |     r5 = *(r5);
    0x0000157a mov r3, r0                            |     r3 = r0;
    0x0000157c ldr r2, [pc, 0x9c]                    |     
    0x0000157e movs r1, 1                            |     r1 = 1;
    0x00001580 mov r0, r5                            |     r0 = r5;
    0x00001582 add r2, pc                            |     r2 = 0x2ba2;
    0x00001584 blx 0x11a4                            |     fprintf_chk ()
    0x00001588 mov r0, r4                            |     r0 = r4;
    0x0000158a blx 0x1244                            |     fcn_00001244 ();
                                                     |     do {
    0x0000158e mov.w r4, -1                          |         r4 = -1;
    0x00001592 b 0x14bc                              |         goto label_0;
                                                     | label_2:
    0x00001594 ldr r0, [pc, 0x88]                    |         
    0x00001596 add r0, pc                            |         
    0x00001598 blx 0x1180                            |         g_path_get_basename ();
    0x0000159c ldr r3, [pc, 0x70]                    |         r3 = *(0x1610);
    0x0000159e movs r2, 0x4f                         |         r2 = 0x4f;
    0x000015a0 ldr r1, [pc, 0x80]                    |         
    0x000015a2 mov r5, r0                            |         r5 = r0;
    0x000015a4 ldr r6, [r7, r3]                      |         r6 = *((r7 + r3));
    0x000015a6 mov r3, r0                            |         r3 = r0;
    0x000015a8 str r2, [sp, 4]                       |         var_4h = r2;
    0x000015aa add r1, pc                            |         r1 = 0x2bd2;
    0x000015ac ldr r2, [pc, 0x78]                    |         
    0x000015ae str r1, [sp]                          |         *(sp) = r1;
    0x000015b0 movs r1, 1                            |         r1 = 1;
    0x000015b2 ldr r0, [r6]                          |         r0 = *(r6);
    0x000015b4 add r2, pc                            |         r2 = 0x2be0;
    0x000015b6 blx 0x11a4                            |         fprintf_chk ()
    0x000015ba blx 0x132c                            |         r0 = fcn_0000132c ();
    0x000015be ldr r0, [r0]                          |         r0 = *(0x2bba);
    0x000015c0 blx 0x11f8                            |         g_strerror ();
    0x000015c4 ldr r6, [r6]                          |         r6 = *(r6);
    0x000015c6 mov r3, r0                            |         r3 = r0;
    0x000015c8 ldr r2, [pc, 0x60]                    |         
    0x000015ca movs r1, 1                            |         r1 = 1;
    0x000015cc mov r0, r6                            |         r0 = r6;
    0x000015ce add r2, pc                            |         r2 = 0x2bfe;
    0x000015d0 blx 0x11a4                            |         fprintf_chk ()
    0x000015d4 mov r0, r5                            |         r0 = r5;
    0x000015d6 blx 0x1244                            |         fcn_00001244 ();
    0x000015da mov r0, r4                            |         r0 = r4;
    0x000015dc blx 0x11c8                            |         close (r0);
    0x000015e0 b 0x158e                              |         
                                                     |     } while (1);
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libloggen_helper-3.38.so.0.0.0 @ 0x1de4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.close_ssl_connection ()      | void close_ssl_connection (int16_t arg1) {
                                             |     int16_t var_0h;
                                             |     int16_t var_4h;
                                             |     r0 = arg1;
    0x00001de4 push {r4, r5, lr}             |     
    0x00001de6 sub sp, 0xc                   |     
    0x00001de8 ldr r5, [pc, 0xa4]            |     
    0x00001dea add r5, pc                    |     r5 = 0x3c7e;
                                             |     if (r0 == 0) {
    0x00001dec cbz r0, 0x1e52                |         goto label_1;
                                             |     }
    0x00001dee mov r4, r0                    |     r4 = r0;
    0x00001df0 blx 0x10fc                    |     SSL_shutdown ();
    0x00001df4 mov r0, r4                    |     r0 = r4;
    0x00001df6 blx 0x1168                    |     SSL_get_SSL_CTX ();
    0x00001dfa blx 0x13a4                    |     fcn_000013a4 ();
    0x00001dfe mov r0, r4                    |     r0 = r4;
    0x00001e00 blx 0x1374                    |     fcn_00001374 ();
    0x00001e04 blx 0x115c                    |     r0 = fcn_0000115c ();
    0x00001e08 cbnz r0, 0x1e0e               |     
                                             |     while (r0 == 0) {
    0x00001e0a add sp, 0xc                   |         
    0x00001e0c pop {r4, r5, pc}              |         
    0x00001e0e ldr r0, [pc, 0x84]            |         
    0x00001e10 add r0, pc                    |         r0 = 0x3caa;
    0x00001e12 blx 0x1180                    |         g_path_get_basename ();
    0x00001e14 invalid                       |         
    0x00001e16 ldr r3, [pc, 0x80]            |         r3 = *(0x1e9a);
    0x00001e18 mov.w r2, 0x130               |         r2 = 0x130;
    0x00001e1c ldr r1, [pc, 0x7c]            |         
    0x00001e1e mov r4, r0                    |         r4 = r0;
    0x00001e20 ldr r5, [r5, r3]              |         r5 = *((r5 + r3));
    0x00001e22 mov r3, r0                    |         r3 = r0;
    0x00001e24 str r2, [sp, 4]               |         var_4h = r2;
    0x00001e26 add r1, pc                    |         r1 = 0x3cc6;
    0x00001e28 ldr r2, [pc, 0x74]            |         
    0x00001e2a adds r1, 0x7c                 |         r1 += 0x7c;
    0x00001e2c str r1, [sp]                  |         *(sp) = r1;
    0x00001e2e movs r1, 1                    |         r1 = 1;
    0x00001e30 ldr r0, [r5]                  |         r0 = *(r5);
    0x00001e32 add r2, pc                    |         r2 = 0x3cd6;
    0x00001e34 blx 0x11a4                    |         fprintf_chk ()
    0x00001e38 ldr r0, [pc, 0x68]            |         
    0x00001e3a movs r2, 0x16                 |         r2 = 0x16;
    0x00001e3c ldr r3, [r5]                  |         r3 = *(r5);
    0x00001e3e add r0, pc                    |         r0 = 0x3ce6;
                                             | label_0:
    0x00001e40 movs r1, 1                    |         r1 = 1;
    0x00001e42 blx 0x12a4                    |         fcn_000012a4 ();
    0x00001e46 mov r0, r4                    |         r0 = r4;
    0x00001e48 add sp, 0xc                   |         
    0x00001e4a pop.w {r4, r5, lr}            |         
    0x00001e4e b.w 0x1240                    |         void (*0x1240)() ();
                                             | label_1:
    0x00001e52 blx 0x115c                    |         r0 = fcn_0000115c ();
    0x00001e56 cmp r0, 0                     |         
    0x00001e58 beq 0x1e0a                    |         
                                             |     }
    0x00001e5a ldr r0, [pc, 0x4c]            |     
    0x00001e5c add r0, pc                    |     r0 = 0x3d0a;
    0x00001e5e blx 0x1180                    |     g_path_get_basename ();
    0x00001e62 ldr r3, [pc, 0x34]            |     r3 = *(0x1e9a);
    0x00001e64 mov.w r2, 0x128               |     r2 = 0x128;
    0x00001e68 ldr r1, [pc, 0x40]            |     
    0x00001e6a mov r4, r0                    |     r4 = r0;
    0x00001e6c ldr r5, [r5, r3]              |     r5 = *((r5 + r3));
    0x00001e6e mov r3, r0                    |     r3 = r0;
    0x00001e70 str r2, [sp, 4]               |     var_4h = r2;
    0x00001e72 add r1, pc                    |     r1 = 0x3d22;
    0x00001e74 ldr r2, [pc, 0x38]            |     
    0x00001e76 adds r1, 0x7c                 |     r1 += 0x7c;
    0x00001e78 str r1, [sp]                  |     *(sp) = r1;
    0x00001e7a movs r1, 1                    |     r1 = 1;
    0x00001e7c ldr r0, [r5]                  |     r0 = *(r5);
    0x00001e7e add r2, pc                    |     r2 = 0x3d32;
    0x00001e80 blx 0x11a4                    |     fprintf_chk ()
    0x00001e84 ldr r0, [pc, 0x2c]            |     
    0x00001e86 movs r2, 0x23                 |     r2 = 0x23;
    0x00001e88 ldr r3, [r5]                  |     r3 = *(r5);
    0x00001e8a add r0, pc                    |     r0 = 0x3d42;
    0x00001e8c b 0x1e40                      |     goto label_0;
                                             | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libloggen_helper-3.38.so.0.0.0 @ 0x17ac */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.connect_ip_socket ()                     | void connect_ip_socket (int16_t arg1, uint32_t arg2, uint32_t arg3, int16_t arg4) {
                                                         |     int16_t var_0h;
                                                         |     int16_t var_4h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
                                                         |     r2 = arg3;
                                                         |     r3 = arg4;
    0x000017ac push.w {r4, r5, r6, r7, r8, sb, lr}       |     
    0x000017b0 cmp r2, 0                                 |     
    0x000017b2 it ne                                     |     
                                                         |     if (r2 != 0) {
    0x000017b4 cmpne r1, 0                               |         __asm ("cmpne r1, 0");
                                                         |     }
    0x000017b6 ldr.w r8, [pc, 0xd0]                      |     
    0x000017ba sub sp, 0xc                               |     
    0x000017bc add r8, pc                                |     r8 = 0x304a;
                                                         |     if (r2 == 0) {
    0x000017be beq 0x1842                                |         goto label_1;
                                                         |     }
    0x000017c0 mov r6, r0                                |     r6 = r0;
    0x000017c2 mov r7, r3                                |     r7 = r3;
    0x000017c4 mov r4, r1                                |     r4 = r1;
    0x000017c6 mov r5, r2                                |     r5 = r2;
    0x000017c8 blx 0x115c                                |     r0 = fcn_0000115c ();
    0x000017cc cbnz r0, 0x17fc                           |     
                                                         |     while (1) {
    0x000017ce mov r1, r4                                |         r1 = r4;
    0x000017d0 mov r3, r7                                |         r3 = r7;
    0x000017d2 mov r2, r5                                |         r2 = r5;
    0x000017d4 mov r0, r6                                |         r0 = r6;
    0x000017d6 blx 0x1174                                |         r0 = fcn_00001174 ();
    0x000017da mov r4, r0                                |         r4 = r0;
    0x000017dc cmp r0, 0                                 |         
                                                         |         if (r0 == 0) {
    0x000017de beq 0x1880                                |             goto label_2;
                                                         |         }
    0x000017e0 ldrd r1, r0, [r0, 0x10]                   |         __asm ("ldrd r1, r0, [r0, 0x10]");
    0x000017e4 mov r2, r6                                |         r2 = r6;
    0x000017e6 bl 0x1484                                 |         r0 = fcn_00001484 (r0, r1, r2);
    0x000017ea mov r3, r0                                |         r3 = r0;
    0x000017ec mov r0, r4                                |         r0 = r4;
    0x000017ee mov r4, r3                                |         r4 = r3;
    0x000017f0 blx 0x112c                                |         freeaddrinfo ();
                                                         | label_0:
    0x000017f4 mov r0, r4                                |         r0 = r4;
    0x000017f6 add sp, 0xc                               |         
    0x000017f8 pop.w {r4, r5, r6, r7, r8, sb, pc}        |         
    0x000017fc ldr r0, [pc, 0x8c]                        |         
    0x000017fe add r0, pc                                |         r0 = 0x308e;
    0x00001800 blx 0x1180                                |         g_path_get_basename ();
    0x00001804 ldr r3, [pc, 0x88]                        |         r3 = *(0x1890);
    0x00001806 mov sb, r0                                |         sb = r0;
    0x00001808 ldr r2, [pc, 0x88]                        |         
    0x0000180a movs r1, 1                                |         r1 = 1;
    0x0000180c ldr.w r8, [r8, r3]                        |         r8 = *((r8 + r3));
    0x00001810 ldr r3, [pc, 0x84]                        |         
    0x00001812 add r2, pc                                |         r2 = 0x30aa;
    0x00001814 add r3, pc                                |         r3 = 0x30b0;
    0x00001816 adds r3, 0x38                             |         r3 += 0x38;
    0x00001818 str r3, [sp]                              |         *(sp) = r3;
    0x0000181a movs r3, 0x80                             |         r3 = 0x80;
    0x0000181c ldr.w r0, [r8]                            |         r0 = *(r8);
    0x00001820 str r3, [sp, 4]                           |         var_4h = r3;
    0x00001822 mov r3, sb                                |         r3 = sb;
    0x00001824 blx 0x11a4                                |         fprintf_chk ()
    0x00001828 ldr r2, [pc, 0x70]                        |         
    0x0000182a mov r3, r4                                |         r3 = r4;
    0x0000182c ldr.w r0, [r8]                            |         r0 = *(r8);
    0x00001830 movs r1, 1                                |         r1 = 1;
    0x00001832 str r5, [sp]                              |         *(sp) = r5;
    0x00001834 add r2, pc                                |         r2 = 0x30d4;
    0x00001836 blx 0x11a4                                |         fprintf_chk ()
    0x0000183a mov r0, sb                                |         r0 = sb;
    0x0000183c blx 0x1244                                |         fcn_00001244 ();
    0x00001840 b 0x17ce                                  |         
                                                         |     }
                                                         | label_1:
    0x00001842 ldr r0, [pc, 0x5c]                        |     
    0x00001844 add r0, pc                                |     r0 = 0x30ea;
    0x00001846 blx 0x1180                                |     g_path_get_basename ();
    0x0000184a ldr r3, [pc, 0x58]                        |     r3 = *(0x18a6);
    0x0000184c movs r2, 0x7c                             |     r2 = 0x7c;
    0x0000184e ldr r1, [pc, 0x58]                        |     
    0x00001850 mov r4, r0                                |     r4 = r0;
    0x00001852 ldr.w r5, [r8, r3]                        |     r5 = *((r8 + r3));
    0x00001856 mov r3, r0                                |     r3 = r0;
    0x00001858 str r2, [sp, 4]                           |     var_4h = r2;
    0x0000185a add r1, pc                                |     r1 = 0x3108;
    0x0000185c ldr r2, [pc, 0x4c]                        |     
    0x0000185e adds r1, 0x38                             |     r1 += 0x38;
    0x00001860 str r1, [sp]                              |     *(sp) = r1;
    0x00001862 movs r1, 1                                |     r1 = 1;
    0x00001864 ldr r0, [r5]                              |     r0 = *(r5);
    0x00001866 add r2, pc                                |     r2 = 0x3116;
    0x00001868 blx 0x11a4                                |     fprintf_chk ()
    0x0000186c ldr r0, [pc, 0x40]                        |     
    0x0000186e movs r2, 0x1c                             |     r2 = 0x1c;
    0x00001870 ldr r3, [r5]                              |     r3 = *(r5);
    0x00001872 movs r1, 1                                |     r1 = 1;
    0x00001874 add r0, pc                                |     r0 = 0x3128;
    0x00001876 blx 0x12a4                                |     fcn_000012a4 ();
    0x0000187a mov r0, r4                                |     r0 = r4;
    0x0000187c blx 0x1244                                |     fcn_00001244 ();
                                                         | label_2:
    0x00001880 mov.w r4, -1                              |     r4 = -1;
    0x00001884 b 0x17f4                                  |     goto label_0;
                                                         | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libloggen_helper-3.38.so.0.0.0 @ 0x18b4 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.connect_unix_domain_socket ()        | void connect_unix_domain_socket (int16_t arg1, uint32_t arg2) {
                                                     |     int16_t var_0h;
                                                     |     int16_t var_4h;
                                                     |     int16_t var_ch;
                                                     |     int16_t var_eh;
                                                     |     int16_t var_7ch;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x000018b4 ldr r2, [pc, 0x12c]                   |     
    0x000018b6 ldr r3, [pc, 0x130]                   |     r3 = *(0x19ea);
    0x000018b8 push.w {r4, r5, r6, r7, r8, lr}       |     
    0x000018bc sub sp, 0x80                          |     
    0x000018be add r2, pc                            |     r2 = 0x32a6;
    0x000018c0 ldr r7, [pc, 0x128]                   |     
    0x000018c2 ldr r3, [r2, r3]                      |     
    0x000018c4 add r7, pc                            |     r7 = 0x32b4;
    0x000018c6 ldr r3, [r3]                          |     r3 = *(0x32a6);
    0x000018c8 str r3, [sp, 0x7c]                    |     var_7ch = r3;
    0x000018ca mov.w r3, 0                           |     r3 = 0;
    0x000018ce cmp r1, 0                             |     
                                                     |     if (r1 == 0) {
    0x000018d0 beq 0x19a2                            |         goto label_1;
                                                     |     }
    0x000018d2 mov r6, r0                            |     r6 = r0;
    0x000018d4 mov r4, r1                            |     r4 = r1;
    0x000018d6 blx 0x115c                            |     r0 = fcn_0000115c ();
    0x000018da cbnz r0, 0x191c                       |     
                                                     |     while (1) {
    0x000018dc movs r5, 1                            |         r5 = 1;
    0x000018de mov r0, r4                            |         r0 = r4;
    0x000018e0 strh.w r5, [sp, 0xc]                  |         var_ch = r5;
    0x000018e4 blx 0x12d4                            |         r0 = fcn_000012d4 ();
    0x000018e8 cmp r0, 0x6b                          |         
                                                     |         if (r0 > 0x6b) {
    0x000018ea bhi 0x1960                            |             goto label_2;
                                                     |         }
    0x000018ec adds r2, r0, 1                        |         r2 = r0 + 1;
    0x000018ee mov r1, r4                            |         r1 = r4;
    0x000018f0 add.w r0, sp, 0xe                     |         r0 += var_eh;
    0x000018f4 blx 0x12bc                            |         fcn_000012bc ();
    0x000018f8 mov r2, r6                            |         r2 = r6;
    0x000018fa movs r1, 0x6e                         |         r1 = 0x6e;
    0x000018fc add r0, sp, 0xc                       |         r0 += var_ch;
    0x000018fe bl 0x1484                             |         fcn_00001484 (r0, r1, r2);
                                                     | label_0:
    0x00001902 ldr r2, [pc, 0xec]                    |         
    0x00001904 ldr r3, [pc, 0xe0]                    |         r3 = *(0x19e8);
    0x00001906 add r2, pc                            |         r2 = 0x32fc;
    0x00001908 ldr r3, [r2, r3]                      |         r3 = *(0x32fc);
    0x0000190a ldr r2, [r3]                          |         r2 = *(0x32fc);
    0x0000190c ldr r3, [sp, 0x7c]                    |         r3 = var_7ch;
    0x0000190e eors r2, r3                           |         r2 ^= r3;
    0x00001910 mov.w r3, 0                           |         r3 = 0;
                                                     |         if (r2 != r3) {
    0x00001914 bne 0x19e0                            |             goto label_3;
                                                     |         }
    0x00001916 add sp, 0x80                          |         
    0x00001918 pop.w {r4, r5, r6, r7, r8, pc}        |         
    0x0000191c ldr r0, [pc, 0xd4]                    |         
    0x0000191e add r0, pc                            |         r0 = 0x3316;
    0x00001920 blx 0x1180                            |         g_path_get_basename ();
    0x00001924 ldr r3, [pc, 0xd0]                    |         r3 = *(0x19f8);
    0x00001926 mov r5, r0                            |         r5 = r0;
    0x00001928 ldr r2, [pc, 0xd0]                    |         
    0x0000192a movs r1, 1                            |         r1 = 1;
    0x0000192c ldr.w r8, [r7, r3]                    |         r8 = *((r7 + r3));
    0x00001930 ldr r3, [pc, 0xcc]                    |         
    0x00001932 add r2, pc                            |         r2 = 0x3332;
    0x00001934 add r3, pc                            |         r3 = 0x3338;
    0x00001936 adds r3, 0x4c                         |         r3 += 0x4c;
    0x00001938 str r3, [sp]                          |         *(sp) = r3;
    0x0000193a movs r3, 0xb6                         |         r3 = 0xb6;
    0x0000193c ldr.w r0, [r8]                        |         r0 = *(r8);
    0x00001940 str r3, [sp, 4]                       |         var_4h = r3;
    0x00001942 mov r3, r5                            |         r3 = r5;
    0x00001944 blx 0x11a4                            |         fprintf_chk ()
    0x00001948 ldr r2, [pc, 0xb8]                    |         
    0x0000194a mov r3, r4                            |         r3 = r4;
    0x0000194c ldr.w r0, [r8]                        |         r0 = *(r8);
    0x00001950 movs r1, 1                            |         r1 = 1;
    0x00001952 add r2, pc                            |         r2 = 0x335a;
    0x00001954 blx 0x11a4                            |         fprintf_chk ()
    0x00001958 mov r0, r5                            |         r0 = r5;
    0x0000195a blx 0x1244                            |         fcn_00001244 ();
    0x0000195e b 0x18dc                              |         
                                                     |     }
                                                     | label_2:
    0x00001960 ldr r0, [pc, 0xa4]                    |     
    0x00001962 add r0, pc                            |     r0 = 0x336e;
    0x00001964 blx 0x1180                            |     g_path_get_basename ();
    0x00001968 ldr r3, [pc, 0xa0]                    |     r3 = *(0x1a0c);
    0x0000196a movs r2, 0xbc                         |     r2 = 0xbc;
    0x0000196c ldr r1, [pc, 0xa0]                    |     
    0x0000196e mov r4, r0                            |     r4 = r0;
    0x00001970 ldr r6, [r7, r3]                      |     r6 = *((r7 + r3));
    0x00001972 mov r3, r0                            |     r3 = r0;
    0x00001974 str r2, [sp, 4]                       |     var_4h = r2;
    0x00001976 add r1, pc                            |     r1 = 0x338a;
    0x00001978 ldr r2, [pc, 0x98]                    |     
    0x0000197a adds r1, 0x4c                         |     r1 += 0x4c;
    0x0000197c str r1, [sp]                          |     *(sp) = r1;
    0x0000197e mov r1, r5                            |     r1 = r5;
    0x00001980 ldr r0, [r6]                          |     r0 = *(r6);
    0x00001982 add r2, pc                            |     r2 = 0x339a;
    0x00001984 blx 0x11a4                            |     fprintf_chk ()
    0x00001988 ldr r2, [pc, 0x8c]                    |     
    0x0000198a movs r3, 0x6b                         |     r3 = 0x6b;
    0x0000198c ldr r0, [r6]                          |     r0 = *(r6);
    0x0000198e mov r1, r5                            |     r1 = r5;
    0x00001990 add r2, pc                            |     r2 = 0x33ac;
    0x00001992 blx 0x11a4                            |     fprintf_chk ()
    0x00001996 mov r0, r4                            |     r0 = r4;
    0x00001998 blx 0x1244                            |     fcn_00001244 ();
                                                     |     do {
    0x0000199c mov.w r0, -1                          |         r0 = -1;
    0x000019a0 b 0x1902                              |         goto label_0;
                                                     | label_1:
    0x000019a2 ldr r0, [pc, 0x78]                    |         
    0x000019a4 add r0, pc                            |         r0 = 0x33c6;
    0x000019a6 blx 0x1180                            |         g_path_get_basename ();
    0x000019aa ldr r3, [pc, 0x60]                    |         r3 = *(0x1a0e);
    0x000019ac movs r2, 0xb2                         |         r2 = 0xb2;
    0x000019ae ldr r1, [pc, 0x70]                    |         
    0x000019b0 mov r4, r0                            |         r4 = r0;
    0x000019b2 ldr r5, [r7, r3]                      |         r5 = *((r7 + r3));
    0x000019b4 mov r3, r0                            |         r3 = r0;
    0x000019b6 str r2, [sp, 4]                       |         var_4h = r2;
    0x000019b8 add r1, pc                            |         r1 = 0x33de;
    0x000019ba ldr r2, [pc, 0x68]                    |         
    0x000019bc adds r1, 0x4c                         |         r1 += 0x4c;
    0x000019be str r1, [sp]                          |         *(sp) = r1;
    0x000019c0 movs r1, 1                            |         r1 = 1;
    0x000019c2 ldr r0, [r5]                          |         r0 = *(r5);
    0x000019c4 add r2, pc                            |         r2 = 0x33ee;
    0x000019c6 blx 0x11a4                            |         fprintf_chk ()
    0x000019ca ldr r0, [pc, 0x5c]                    |         
    0x000019cc movs r2, 0x19                         |         r2 = 0x19;
    0x000019ce ldr r3, [r5]                          |         r3 = *(r5);
    0x000019d0 movs r1, 1                            |         r1 = 1;
    0x000019d2 add r0, pc                            |         r0 = 0x3400;
    0x000019d4 blx 0x12a4                            |         fcn_000012a4 ();
    0x000019d8 mov r0, r4                            |         r0 = r4;
    0x000019da blx 0x1244                            |         fcn_00001244 ();
    0x000019de b 0x199c                              |         
                                                     |     } while (1);
                                                     | label_3:
    0x000019e0 blx 0x121c                            |     stack_chk_fail ();
    0x000019e4 movs r6, 0x2e                         |     r6 = 0x2e;
    0x000019e6 movs r0, r0                           |     
    0x000019e8 lsls r4, r6, 3                        |     r4 = r6 << 3;
    0x000019ea movs r0, r0                           |     
    0x000019ec movs r6, 0x28                         |     r6 = 0x28;
    0x000019ee movs r0, r0                           |     
    0x000019f0 movs r5, 0xe6                         |     r5 = 0xe6;
    0x000019f2 movs r0, r0                           |     
    0x000019f4 lsrs r6, r2, 0xa                      |     r6 = r2 >> 0xa;
    0x000019f6 movs r0, r0                           |     
    0x000019f8 lsls r4, r7, 3                        |     r4 = r7 << 3;
    0x000019fa movs r0, r0                           |     
    0x000019fc lsrs r2, r6, 0xb                      |     r2 = r6 >> 0xb;
    0x000019fe movs r0, r0                           |     
    0x00001a00 lsrs r0, r0, 0x16                     |     r0 >>= 0x16;
    0x00001a02 movs r0, r0                           |     
    0x00001a04 lsrs r2, r5, 0xf                      |     r2 = r5 >> 0xf;
    0x00001a06 movs r0, r0                           |     
    0x00001a08 lsrs r2, r2, 9                        |     r2 >>= 9;
    0x00001a0a movs r0, r0                           |     
    0x00001a0c lsls r0, r7, 3                        |     r0 = r7 << 3;
    0x00001a0e movs r0, r0                           |     
    0x00001a10 lsrs r6, r7, 0x14                     |     r6 = r7 >> 0x14;
    0x00001a12 movs r0, r0                           |     
    0x00001a14 lsrs r2, r6, 9                        |     r2 = r6 >> 9;
    0x00001a16 movs r0, r0                           |     
    0x00001a18 lsrs r4, r0, 0xf                      |     r4 = r0 >> 0xf;
    0x00001a1a movs r0, r0                           |     
    0x00001a1c lsrs r0, r2, 8                        |     r0 = r2 >> 8;
    0x00001a1e movs r0, r0                           |     
    0x00001a20 lsrs r4, r7, 0x13                     |     r4 = r7 >> 0x13;
    0x00001a22 movs r0, r0                           |     
    0x00001a24 lsrs r0, r6, 8                        |     r0 = r6 >> 8;
    0x00001a26 movs r0, r0                           |     
    0x00001a28 lsrs r6, r1, 0xd                      |     r6 = r1 >> 0xd;
    0x00001a2a movs r0, r0                           |     
                                                     | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libloggen_helper-3.38.so.0.0.0 @ 0x1eb8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.generate_proxy_header ()                     | void generate_proxy_header (int16_t arg_e8h, int16_t arg_f0h, int16_t arg1, int16_t arg2, uint32_t arg4) {
                                                             |     int16_t var_10ch;
                                                             |     int16_t var_0h;
                                                             |     int16_t var_4h;
                                                             |     int32_t var_4h_2;
                                                             |     int16_t var_14h;
                                                             |     int16_t var_1ch;
                                                             |     int16_t var_2ch;
                                                             |     int16_t var_7h;
                                                             |     int16_t var_3ch;
                                                             |     int16_t var_bch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
                                                             |     r3 = arg4;
    0x00001eb8 svcmi 0xf0e92d                                |     __asm ("svcmi 0xf0e92d");
    0x00001ebc mov r6, r1                                    |     r6 = r1;
    0x00001ebe ldr r1, [pc, 0x1b0]                           |     
    0x00001ec0 sub sp, 0xc4                                  |     
    0x00001ec2 mov r5, r0                                    |     r5 = r0;
    0x00001ec4 ldr r2, [pc, 0x1ac]                           |     r2 = *(0x2074);
    0x00001ec6 add r1, pc                                    |     r1 = "H_";
    0x00001ec8 ldr.w r8, [pc, 0x1ac]                         |     
    0x00001ecc ldrd r7, sb, [sp, 0xe8]                       |     __asm ("ldrd r7, sb, [arg_e8h]");
    0x00001ed0 ldr r2, [r1, r2]                              |     
    0x00001ed2 add r8, pc                                    |     r8 = 0x3f4e;
    0x00001ed4 ldr.w sl, [sp, 0xf0]                          |     sl = *(arg_f0h);
    0x00001ed8 ldr r2, [r2]                                  |     r2 = "H_";
    0x00001eda str r2, [sp, 0xbc]                            |     var_bch = r2;
    0x00001edc mov.w r2, 0                                   |     r2 = 0;
    0x00001ee0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00001ee2 beq 0x1f8a                                    |         goto label_2;
                                                             |     }
    0x00001ee4 mov r4, r3                                    |     r4 = r3;
    0x00001ee6 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00001ee8 beq 0x1fd0                                    |         goto label_3;
                                                             |     }
    0x00001eea cmp.w sb, 0                                   |     
                                                             |     if (sb == 0) {
    0x00001eee beq.w 0x200e                                  |         goto label_4;
                                                             |     }
                                                             | label_1:
    0x00001ef2 cmp.w sl, 0                                   |     
                                                             |     if (sl == 0) {
    0x00001ef6 beq 0x1f82                                    |         goto label_5;
                                                             |     }
                                                             | label_0:
    0x00001ef8 ldr r2, [pc, 0x180]                           |     
    0x00001efa mov r3, r4                                    |     r3 = r4;
    0x00001efc str r7, [sp]                                  |     *(sp) = r7;
    0x00001efe add r7, sp, 0x3c                              |     r7 += var_3ch;
    0x00001f00 movs r1, 0x80                                 |     r1 = 0x80;
    0x00001f02 mov r0, r7                                    |     r0 = r7;
    0x00001f04 add r2, pc                                    |     r2 = 0x3f84;
    0x00001f06 strd sb, sl, [sp, 4]                          |     __asm ("strd sb, sl, [var_4h]");
    0x00001f0a blx 0x1308                                    |     r0 = fcn_00001308 ();
    0x00001f0e cmp r0, r6                                    |     
    0x00001f10 mov r4, r0                                    |     r4 = r0;
    0x00001f12 bgt 0x1f3c                                    |     
                                                             |     while (1) {
    0x00001f14 mov r2, r4                                    |         r2 = r4;
    0x00001f16 mov r1, r7                                    |         r1 = r7;
    0x00001f18 mov r0, r5                                    |         r0 = r5;
    0x00001f1a blx 0x12bc                                    |         fcn_000012bc ();
    0x00001f1e ldr r2, [pc, 0x160]                           |         
    0x00001f20 ldr r3, [pc, 0x150]                           |         r3 = *(0x2074);
    0x00001f22 add r2, pc                                    |         r2 = 0x3fa8;
    0x00001f24 ldr r3, [r2, r3]                              |         r3 = *(0x3fa8);
    0x00001f26 ldr r2, [r3]                                  |         r2 = *(0x3fa8);
    0x00001f28 ldr r3, [sp, 0xbc]                            |         r3 = var_bch;
    0x00001f2a eors r2, r3                                   |         r2 ^= r3;
    0x00001f2c mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x00001f30 bne.w 0x206a                                  |             goto label_6;
                                                             |         }
    0x00001f34 mov r0, r4                                    |         r0 = r4;
    0x00001f36 add sp, 0xc4                                  |         
    0x00001f38 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |         
    0x00001f3c ldr r0, [pc, 0x144]                           |         
    0x00001f3e add r0, pc                                    |         r0 = 0x3fc6;
    0x00001f40 blx 0x1180                                    |         g_path_get_basename ();
    0x00001f44 ldr r3, [pc, 0x140]                           |         r3 = *(0x2088);
    0x00001f46 mov r6, r0                                    |         r6 = r0;
    0x00001f48 ldr r2, [pc, 0x140]                           |         
    0x00001f4a movs r1, 1                                    |         r1 = 1;
    0x00001f4c ldr.w r8, [r8, r3]                            |         r8 = *((r8 + r3));
    0x00001f4e strh r3, [r0]                                 |         *(r0) = r3;
    0x00001f50 ldr r3, [pc, 0x13c]                           |         
    0x00001f52 add r2, pc                                    |         r2 = 0x3fe2;
    0x00001f54 add r3, pc                                    |         r3 = 0x3fe8;
    0x00001f56 adds r3, 0x94                                 |         r3 += 0x94;
    0x00001f58 str r3, [sp]                                  |         *(sp) = r3;
    0x00001f5a mov.w r3, 0x156                               |         r3 = 0x156;
    0x00001f5e ldr.w r0, [r8]                                |         r0 = *(r8);
    0x00001f62 str r3, [sp, 4]                               |         var_4h = r3;
    0x00001f64 mov r3, r6                                    |         r3 = r6;
    0x00001f66 blx 0x11a4                                    |         fprintf_chk ()
    0x00001f6a ldr r2, [pc, 0x128]                           |         
    0x00001f6c mov r3, r5                                    |         r3 = r5;
    0x00001f6e ldr.w r0, [r8]                                |         r0 = *(r8);
    0x00001f72 movs r1, 1                                    |         r1 = 1;
    0x00001f74 add r2, pc                                    |         r2 = 0x400e;
    0x00001f76 blx 0x11a4                                    |         fprintf_chk ()
    0x00001f7a mov r0, r6                                    |         r0 = r6;
    0x00001f7c blx 0x1244                                    |         fcn_00001244 ();
    0x00001f80 b 0x1f14                                      |         
                                                             |     }
                                                             | label_5:
    0x00001f82 ldr.w sl, [pc, 0x114]                         |     
    0x00001f86 add sl, pc                                    |     sl = 0x4024;
    0x00001f88 b 0x1ef8                                      |     goto label_0;
                                                             | label_2:
    0x00001f8a ldr.w fp, [pc, 0x110]                         |     
    0x00001f8e movs r1, 0x64                                 |     r1 = 0x64;
    0x00001f90 movs r0, 1                                    |     r0 = 1;
    0x00001f92 add r4, sp, 0x1c                              |     r4 += var_1ch;
    0x00001f94 blx 0x118c                                    |     g_random_int_range ();
    0x00001f98 add fp, pc                                    |     fp = 0x403a;
    0x00001f9a mov r3, r0                                    |     r3 = r0;
    0x00001f9c mov r2, fp                                    |     r2 = fp;
    0x00001f9e movs r1, 0x10                                 |     r1 = 0x10;
    0x00001fa0 mov r0, r4                                    |     r0 = r4;
    0x00001fa2 blx 0x1308                                    |     fcn_00001308 ();
    0x00001fa6 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00001fa8 beq 0x202e                                    |         goto label_7;
                                                             |     }
    0x00001faa cmp.w sb, 0                                   |     
                                                             |     if (sb != 0) {
    0x00001fae bne 0x1ef2                                    |         goto label_1;
                                                             |     }
    0x00001fb0 movw r1, 0x2710                               |     r1 = 0x2710;
    0x00001fb4 movw r0, 0x1388                               |     r0 = 0x1388;
    0x00001fb8 blx 0x118c                                    |     g_random_int_range ();
    0x00001fbc ldr r2, [pc, 0xe0]                            |     
    0x00001fbe add.w sb, sp, 0x14                            |     sb += var_14h;
    0x00001fc2 mov r3, r0                                    |     r3 = r0;
    0x00001fc4 movs r1, 6                                    |     r1 = 6;
    0x00001fc6 mov r0, sb                                    |     r0 = sb;
    0x00001fc8 add r2, pc                                    |     r2 = 0x406c;
    0x00001fca blx 0x1308                                    |     fcn_00001308 ();
    0x00001fce b 0x1ef2                                      |     goto label_1;
                                                             | label_3:
    0x00001fd0 movs r1, 0x64                                 |     r1 = 0x64;
    0x00001fd2 movs r0, 1                                    |     r0 = 1;
    0x00001fd4 blx 0x118c                                    |     g_random_int_range ();
    0x00001fd8 ldr r2, [pc, 0xc8]                            |     
    0x00001fda add r7, sp, 0x2c                              |     r7 += var_2ch;
    0x00001fdc mov r3, r0                                    |     r3 = r0;
    0x00001fde movs r1, 0x10                                 |     r1 = 0x10;
    0x00001fe0 mov r0, r7                                    |     r0 = r7;
    0x00001fe2 add r2, pc                                    |     r2 = 0x408a;
    0x00001fe4 blx 0x1308                                    |     fcn_00001308 ();
    0x00001fe8 cmp.w sb, 0                                   |     
                                                             |     if (sb != 0) {
    0x00001fec bne 0x1ef2                                    |         goto label_1;
                                                             |     }
    0x00001fee movw r1, 0x2710                               |     r1 = 0x2710;
    0x00001ff2 movw r0, 0x1388                               |     r0 = 0x1388;
    0x00001ff6 blx 0x118c                                    |     g_random_int_range ();
    0x00001ffa ldr r2, [pc, 0xac]                            |     
    0x00001ffc add.w sb, sp, 0x14                            |     sb += var_14h;
    0x00002000 mov r3, r0                                    |     r3 = r0;
    0x00002002 movs r1, 6                                    |     r1 = 6;
    0x00002004 mov r0, sb                                    |     r0 = sb;
    0x00002006 add r2, pc                                    |     r2 = 0x40b4;
    0x00002008 blx 0x1308                                    |     fcn_00001308 ();
    0x0000200c b 0x1ef2                                      |     goto label_1;
                                                             | label_4:
    0x0000200e movw r1, 0x2710                               |     r1 = 0x2710;
    0x00002012 movw r0, 0x1388                               |     r0 = 0x1388;
    0x00002016 blx 0x118c                                    |     g_random_int_range ();
    0x0000201a ldr r2, [pc, 0x90]                            |     
    0x0000201c add.w sb, sp, 0x14                            |     sb += var_14h;
    0x00002020 mov r3, r0                                    |     r3 = r0;
    0x00002022 movs r1, 6                                    |     r1 = 6;
    0x00002024 mov r0, sb                                    |     r0 = sb;
    0x00002026 add r2, pc                                    |     r2 = 0x40d8;
    0x00002028 blx 0x1308                                    |     fcn_00001308 ();
    0x0000202c b 0x1ef2                                      |     goto label_1;
                                                             | label_7:
    0x0000202e movs r1, 0x64                                 |     r1 = 0x64;
    0x00002030 movs r0, 1                                    |     r0 = 1;
    0x00002032 add r7, sp, 0x2c                              |     r7 += var_2ch;
    0x00002034 blx 0x118c                                    |     g_random_int_range ();
    0x00002038 mov r2, fp                                    |     r2 = fp;
    0x0000203a mov r3, r0                                    |     r3 = r0;
    0x0000203c movs r1, 0x10                                 |     r1 = 0x10;
    0x0000203e mov r0, r7                                    |     r0 = r7;
    0x00002040 blx 0x1308                                    |     fcn_00001308 ();
    0x00002044 cmp.w sb, 0                                   |     
                                                             |     if (sb != 0) {
    0x00002048 bne.w 0x1ef2                                  |         goto label_1;
                                                             |     }
    0x0000204c movw r1, 0x2710                               |     r1 = 0x2710;
    0x00002050 movw r0, 0x1388                               |     r0 = 0x1388;
    0x00002054 blx 0x118c                                    |     g_random_int_range ();
    0x00002058 ldr r2, [pc, 0x54]                            |     
    0x0000205a mov r3, r0                                    |     r3 = r0;
    0x0000205c movs r1, 6                                    |     r1 = 6;
    0x0000205e add r0, sp, 0x14                              |     r0 += var_14h;
    0x00002060 mov sb, r0                                    |     sb = r0;
    0x00002062 add r2, pc                                    |     r2 = 0x4116;
    0x00002064 blx 0x1308                                    |     fcn_00001308 ();
    0x00002068 b 0x1ef2                                      |     goto label_1;
                                                             | label_6:
    0x0000206a blx 0x121c                                    |     stack_chk_fail ();
    0x0000206e nop                                           |     
    0x00002070 movs r0, 0x26                                 |     r0 = 0x26;
    0x00002072 movs r0, r0                                   |     
    0x00002074 lsls r4, r6, 3                                |     r4 = r6 << 3;
    0x00002076 movs r0, r0                                   |     
    0x00002078 movs r0, 0x1a                                 |     r0 = 0x1a;
    0x0000207a movs r0, r0                                   |     
    0x0000207c lsls r4, r2, 0x1d                             |     r4 = r2 << 0x1d;
    0x0000207e movs r0, r0                                   |     
    0x00002080 subs r2, r1, 7                                |     r2 -= var_7h;
    0x00002082 movs r0, r0                                   |     
    0x00002084 lsls r6, r6, 0x11                             |     r6 <<= 0x11;
    0x00002086 movs r0, r0                                   |     
    0x00002088 lsls r0, r7, 3                                |     r0 = r7 << 3;
    0x0000208a movs r0, r0                                   |     
    0x0000208c lsls r2, r4, 0x12                             |     r2 = r4 << 0x12;
    0x0000208e movs r0, r0                                   |     
    0x00002090 lsls r0, r4, 0x1d                             |     r0 = r4 << 0x1d;
    0x00002092 movs r0, r0                                   |     
    0x00002094 lsls r4, r7, 0x1b                             |     r4 = r7 << 0x1b;
    0x00002096 movs r0, r0                                   |     
    0x00002098 lsls r2, r7, 0x1a                             |     r2 = r7 << 0x1a;
    0x0000209a movs r0, r0                                   |     
    0x0000209c lsls r4, r5, 0x1a                             |     r4 = r5 << 0x1a;
    0x0000209e movs r0, r0                                   |     
    0x000020a0 lsls r4, r1, 0x1a                             |     r4 = r1 << 0x1a;
    0x000020a2 movs r0, r0                                   |     
    0x000020a4 lsls r2, r4, 0x19                             |     r2 = r4 << 0x19;
    0x000020a6 movs r0, r0                                   |     
    0x000020a8 lsls r6, r1, 0x19                             |     r6 = r1 << 0x19;
    0x000020aa movs r0, r0                                   |     
    0x000020ac lsls r6, r5, 0x18                             |     r6 = r5 << 0x18;
    0x000020ae movs r0, r0                                   |     
    0x000020b0 lsls r2, r6, 0x17                             |     r2 = r6 << 0x17;
    0x000020b2 movs r0, r0                                   |     
                                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libloggen_helper-3.38.so.0.0.0 @ 0x1c40 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.open_ssl_connection ()           | void open_ssl_connection (int16_t arg1) {
                                                 |     int16_t var_0h;
                                                 |     int16_t var_4h_2;
                                                 |     r0 = arg1;
                                                 |     if (? >= ?) {
    0x00001c40 addlt fp, r2, r0, ror r5          |         
                                                 |     }
    0x00001c44 ldr r6, [pc, 0x150]               |     
    0x00001c46 mov r5, r0                        |     r5 = r0;
    0x00001c48 add r6, pc                        |     r6 = 0x39e4;
    0x00001c4a blx 0x135c                        |     fcn_0000135c ();
    0x00001c4e blx 0x1228                        |     r0 = SSL_CTX_new ();
    0x00001c52 cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x00001c54 beq 0x1d16                        |         goto label_1;
                                                 |     }
    0x00001c56 mov r4, r0                        |     r4 = r0;
    0x00001c58 movs r3, 0                        |     r3 = 0;
    0x00001c5a movs r2, 4                        |     r2 = 4;
    0x00001c5c movs r1, 0x21                     |     r1 = 0x21;
    0x00001c5e blx 0x12fc                        |     fcn_000012fc ();
    0x00001c62 mov r0, r4                        |     r0 = r4;
    0x00001c64 blx 0x1150                        |     r0 = SSL_new ();
    0x00001c68 mov r4, r0                        |     r4 = r0;
    0x00001c6a cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x00001c6c beq 0x1d56                        |         goto label_2;
                                                 |     }
    0x00001c6e mov r1, r5                        |     r1 = r5;
    0x00001c70 blx 0x1114                        |     SSL_set_fd ();
    0x00001c74 mov r0, r4                        |     r0 = r4;
    0x00001c76 blx 0x1250                        |     r0 = fcn_00001250 ();
    0x00001c7a cmp r0, 0                         |     
                                                 |     if (r0 <= 0) {
    0x00001c7c ble 0x1cce                        |         goto label_3;
                                                 |     }
    0x00001c7e blx 0x115c                        |     r0 = fcn_0000115c ();
    0x00001c82 cbnz r0, 0x1c8a                   |     
                                                 |     while (1) {
    0x00001c84 mov r0, r4                        |         r0 = r4;
    0x00001c86 add sp, 8                         |         
    0x00001c88 pop {r4, r5, r6, pc}              |         
    0x00001c8a ldr r0, [pc, 0x110]               |         
    0x00001c8c add r0, pc                        |         r0 = 0x3a2e;
    0x00001c8e blx 0x1180                        |         g_path_get_basename ();
    0x00001c92 ldr r3, [pc, 0x10c]               |         r3 = *(0x1da2);
    0x00001c94 movw r2, 0x11f                    |         r2 = 0x11f;
    0x00001c98 ldr r1, [pc, 0x108]               |         
    0x00001c9a mov r5, r0                        |         r5 = r0;
    0x00001c9c ldr r6, [r6, r3]                  |         r6 = *((r6 + r3));
    0x00001c9e mov r3, r0                        |         r3 = r0;
    0x00001ca0 str r2, [sp, 4]                   |         var_4h_2 = r2;
    0x00001ca2 add r1, pc                        |         r1 = 0x3a4a;
    0x00001ca4 ldr r2, [pc, 0x100]               |         
    0x00001ca6 adds r1, 0x68                     |         r1 += 0x68;
    0x00001ca8 str r1, [sp]                      |         *(sp) = r1;
    0x00001caa movs r1, 1                        |         r1 = 1;
    0x00001cac ldr r0, [r6]                      |         r0 = *(r6);
    0x00001cae add r2, pc                        |         r2 = 0x3a5a;
    0x00001cb0 blx 0x11a4                        |         fprintf_chk ()
    0x00001cb4 ldr r0, [pc, 0xf4]                |         
    0x00001cb6 movs r2, 0x1b                     |         r2 = 0x1b;
    0x00001cb8 ldr r3, [r6]                      |         r3 = *(r6);
    0x00001cba movs r1, 1                        |         r1 = 1;
    0x00001cbc add r0, pc                        |         r0 = 0x3a6c;
    0x00001cbe blx 0x12a4                        |         fcn_000012a4 ();
    0x00001cc2 mov r0, r5                        |         r0 = r5;
    0x00001cc4 blx 0x1244                        |         fcn_00001244 ();
    0x00001cc8 mov r0, r4                        |         r0 = r4;
    0x00001cca add sp, 8                         |         
    0x00001ccc pop {r4, r5, r6, pc}              |         
                                                 | label_3:
    0x00001cce ldr r0, [pc, 0xe0]                |         
    0x00001cd0 add r0, pc                        |         r0 = 0x3a86;
    0x00001cd2 blx 0x1180                        |         g_path_get_basename ();
    0x00001cd6 ldr r3, [pc, 0xdc]                |         r3 = *(0x1db6);
    0x00001cd8 mov.w r2, 0x11a                   |         r2 = 0x11a;
    0x00001cdc ldr r1, [pc, 0xd8]                |         
    0x00001cde mov r4, r0                        |         r4 = r0;
    0x00001ce0 ldr r5, [r6, r3]                  |         r5 = *((r6 + r3));
    0x00001ce2 mov r3, r0                        |         r3 = r0;
    0x00001ce4 str r2, [sp, 4]                   |         var_4h_2 = r2;
    0x00001ce6 add r1, pc                        |         r1 = 0x3aa2;
    0x00001ce8 ldr r2, [pc, 0xd0]                |         
    0x00001cea adds r1, 0x68                     |         r1 += 0x68;
    0x00001cec str r1, [sp]                      |         *(sp) = r1;
    0x00001cee movs r1, 1                        |         r1 = 1;
    0x00001cf0 ldr r0, [r5]                      |         r0 = *(r5);
    0x00001cf2 add r2, pc                        |         r2 = 0x3ab2;
    0x00001cf4 blx 0x11a4                        |         fprintf_chk ()
    0x00001cf8 ldr r0, [pc, 0xc4]                |         
    0x00001cfa movs r2, 0x13                     |         r2 = 0x13;
    0x00001cfc ldr r3, [r5]                      |         r3 = *(r5);
    0x00001cfe movs r1, 1                        |         r1 = 1;
    0x00001d00 add r0, pc                        |         r0 = 0x3ac4;
    0x00001d02 blx 0x12a4                        |         fcn_000012a4 ();
    0x00001d06 mov r0, r4                        |         r0 = r4;
    0x00001d08 blx 0x1244                        |         fcn_00001244 ();
    0x00001d0c ldr r0, [r5]                      |         r0 = *(r5);
    0x00001d0e blx 0x1298                        |         fcn_00001298 ();
                                                 | label_0:
    0x00001d12 movs r4, 0                        |         r4 = 0;
    0x00001d14 b 0x1c84                          |         
                                                 |     }
                                                 | label_1:
    0x00001d16 ldr r0, [pc, 0xac]                |     
    0x00001d18 add r0, pc                        |     r0 = 0x3ae2;
    0x00001d1a blx 0x1180                        |     g_path_get_basename ();
    0x00001d1e ldr r3, [pc, 0x94]                |     r3 = *(0x1db6);
    0x00001d20 mov.w r2, 0x10a                   |     r2 = 0x10a;
    0x00001d24 ldr r1, [pc, 0xa0]                |     
    0x00001d26 mov r4, r0                        |     r4 = r0;
    0x00001d28 ldr r5, [r6, r3]                  |     r5 = *((r6 + r3));
    0x00001d2a mov r3, r0                        |     r3 = r0;
    0x00001d2c str r2, [sp, 4]                   |     var_4h_2 = r2;
    0x00001d2e add r1, pc                        |     r1 = 0x3afa;
    0x00001d30 ldr r2, [pc, 0x98]                |     
    0x00001d32 adds r1, 0x68                     |     r1 += 0x68;
    0x00001d34 str r1, [sp]                      |     *(sp) = r1;
    0x00001d36 movs r1, 1                        |     r1 = 1;
    0x00001d38 ldr r0, [r5]                      |     r0 = *(r5);
    0x00001d3a add r2, pc                        |     r2 = 0x3b0a;
    0x00001d3c blx 0x11a4                        |     fprintf_chk ()
    0x00001d40 ldr r0, [pc, 0x8c]                |     
    0x00001d42 movs r2, 0x17                     |     r2 = 0x17;
    0x00001d44 ldr r3, [r5]                      |     r3 = *(r5);
    0x00001d46 movs r1, 1                        |     r1 = 1;
    0x00001d48 add r0, pc                        |     r0 = 0x3b1c;
    0x00001d4a blx 0x12a4                        |     fcn_000012a4 ();
    0x00001d4e mov r0, r4                        |     r0 = r4;
    0x00001d50 blx 0x1244                        |     fcn_00001244 ();
    0x00001d54 b 0x1d12                          |     goto label_0;
                                                 | label_2:
    0x00001d56 ldr r0, [pc, 0x7c]                |     
    0x00001d58 add r0, pc                        |     r0 = 0x3b32;
    0x00001d5a blx 0x1180                        |     g_path_get_basename ();
    0x00001d5e ldr r3, [pc, 0x54]                |     r3 = *(0x1db6);
    0x00001d60 movw r2, 0x113                    |     r2 = 0x113;
    0x00001d64 ldr r1, [pc, 0x70]                |     
    0x00001d66 mov r4, r0                        |     r4 = r0;
    0x00001d68 ldr r5, [r6, r3]                  |     r5 = *((r6 + r3));
    0x00001d6a mov r3, r0                        |     r3 = r0;
    0x00001d6c str r2, [sp, 4]                   |     var_4h_2 = r2;
    0x00001d6e add r1, pc                        |     r1 = 0x3b4a;
    0x00001d70 ldr r2, [pc, 0x68]                |     
    0x00001d72 adds r1, 0x68                     |     r1 += 0x68;
    0x00001d74 str r1, [sp]                      |     *(sp) = r1;
    0x00001d76 movs r1, 1                        |     r1 = 1;
    0x00001d78 ldr r0, [r5]                      |     r0 = *(r5);
    0x00001d7a add r2, pc                        |     r2 = 0x3b5a;
    0x00001d7c blx 0x11a4                        |     fprintf_chk ()
    0x00001d80 ldr r0, [pc, 0x5c]                |     
    0x00001d82 movs r2, 0x13                     |     r2 = 0x13;
    0x00001d84 ldr r3, [r5]                      |     r3 = *(r5);
    0x00001d86 movs r1, 1                        |     r1 = 1;
    0x00001d88 add r0, pc                        |     r0 = 0x3b6c;
    0x00001d8a blx 0x12a4                        |     fcn_000012a4 ();
    0x00001d8e mov r0, r4                        |     r0 = r4;
    0x00001d90 blx 0x1244                        |     fcn_00001244 ();
    0x00001d94 b 0x1d12                          |     goto label_0;
                                                 | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libloggen_helper-3.38.so.0.0.0 @ 0x163c */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) sym.resolve_address_using_getaddrinfo ()             | void resolve_address_using_getaddrinfo (int16_t arg_0h, int16_t arg1, int16_t arg2, int16_t arg3, uint32_t arg4) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_10h_2;
                                                                 |     int32_t var_18h;
                                                                 |     int32_t var_18h_2;
                                                                 |     int32_t var_20h;
                                                                 |     int32_t var_20h_2;
                                                                 |     int16_t var_28h;
                                                                 |     int16_t var_2ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
                                                                 |     r3 = arg4;
    0x0000163c push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00001640 mov r6, r1                                        |     r6 = r1;
    0x00001642 ldr r1, [pc, 0x130]                               |     
    0x00001644 mov r5, r2                                        |     r5 = r2;
    0x00001646 cmp r3, 0                                         |     
    0x00001648 sub sp, 0x34                                      |     
    0x0000164a ldr r2, [pc, 0x12c]                               |     r2 = *(0x177a);
    0x0000164c ite eq                                            |     
                                                                 |     if (r3 != 0) {
    0x0000164e moveq r3, 2                                       |         r3 = 2;
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x00001650 movne r3, 0xa                                     |         r3 = 0xa;
                                                                 |     }
    0x00001652 add r1, pc                                        |     r1 = 0x2dcc;
    0x00001654 strd r3, r0, [sp, 0x10]                           |     __asm ("strd r3, r0, [var_10h]");
    0x00001658 add.w r8, sp, 8                                   |     r8 += var_8h;
    0x0000165c ldr r2, [r1, r2]                                  |     
    0x0000165e movs r3, 0x28                                     |     r3 = 0x28;
    0x00001660 ldr.w sb, [pc, 0x118]                             |     
    0x00001664 add r7, sp, 0xc                                   |     r7 += var_ch;
    0x00001666 movs r4, 0                                        |     r4 = 0;
    0x00001668 mov r0, r6                                        |     r0 = r6;
    0x0000166a ldr r2, [r2]                                      |     r2 = *(0x2dcc);
    0x0000166c str r2, [sp, 0x2c]                                |     var_2ch = r2;
    0x0000166e mov.w r2, 0                                       |     r2 = 0;
    0x00001672 mov r1, r5                                        |     r1 = r5;
    0x00001674 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00001676 mov r2, r7                                        |     r2 = r7;
    0x00001678 mov r3, r8                                        |     r3 = r8;
    0x0000167a add sb, pc                                        |     sb = 0x2dfa;
    0x0000167c strd r4, r4, [sp, 0x18]                           |     __asm ("strd r4, r4, [var_18h]");
    0x00001680 strd r4, r4, [sp, 0x20]                           |     __asm ("strd r4, r4, [var_20h]");
    0x00001684 str r4, [sp, 0x28]                                |     var_28h = r4;
    0x00001686 blx 0x1138                                        |     r0 = getaddrinfo ();
    0x0000168a cbnz r0, 0x16a8                                   |     
                                                                 |     while (r0 == 0) {
    0x0000168c ldr r0, [sp, 8]                                   |         r0 = var_8h;
                                                                 | label_0:
    0x0000168e ldr r2, [pc, 0xf0]                                |         
    0x00001690 ldr r3, [pc, 0xe4]                                |         r3 = *(0x1778);
    0x00001692 add r2, pc                                        |         r2 = 0x2e18;
    0x00001694 ldr r3, [r2, r3]                                  |         r3 = *(0x2e18);
    0x00001696 ldr r2, [r3]                                      |         r2 = *(0x2e18);
    0x00001698 ldr r3, [sp, 0x2c]                                |         r3 = var_2ch;
    0x0000169a eors r2, r3                                       |         r2 ^= r3;
    0x0000169c mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x000016a0 bne 0x1770                                        |             goto label_2;
                                                                 |         }
    0x000016a2 add sp, 0x34                                      |         
    0x000016a4 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
    0x000016a8 mov r4, r0                                        |         r4 = r0;
    0x000016aa blx 0x115c                                        |         r0 = fcn_0000115c ();
    0x000016ae cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x000016b0 bne 0x1720                                        |             goto label_3;
                                                                 |         }
                                                                 | label_1:
    0x000016b2 ldr r1, [sp, 0xc]                                 |         r1 = var_ch;
    0x000016b4 mov r3, r8                                        |         r3 = r8;
    0x000016b6 mov r2, r7                                        |         r2 = r7;
    0x000016b8 mov r0, r6                                        |         r0 = r6;
    0x000016ba bic r1, r1, 0x20                                  |         r1 = BIT_MASK (r1, 0x20);
    0x000016be str r1, [sp, 0xc]                                 |         var_ch = r1;
    0x000016c0 mov r1, r5                                        |         r1 = r5;
    0x000016c2 blx 0x1138                                        |         r0 = getaddrinfo ();
    0x000016c6 mov r4, r0                                        |         r4 = r0;
    0x000016c8 cmp r0, 0                                         |         
    0x000016ca beq 0x168c                                        |         
                                                                 |     }
    0x000016cc ldr r0, [pc, 0xb4]                                |     
    0x000016ce add r0, pc                                        |     r0 = 0x2e56;
    0x000016d0 blx 0x1180                                        |     g_path_get_basename ();
    0x000016d4 ldr r3, [pc, 0xb0]                                |     r3 = *(0x1788);
    0x000016d6 mov r7, r0                                        |     r7 = r0;
    0x000016d8 ldr r2, [pc, 0xb0]                                |     
    0x000016da movs r1, 1                                        |     r1 = 1;
    0x000016dc ldr.w r8, [sb, r3]                                |     r8 = *((sb + r3));
    0x000016e0 ldr r3, [pc, 0xac]                                |     
    0x000016e2 add r2, pc                                        |     r2 = 0x2e72;
    0x000016e4 add r3, pc                                        |     r3 = 0x2e78;
    0x000016e6 adds r3, 0x14                                     |     r3 += 0x14;
    0x000016e8 str r3, [sp]                                      |     *(sp) = r3;
    0x000016ea movs r3, 0x6d                                     |     r3 = 0x6d;
    0x000016ec ldr.w r0, [r8]                                    |     r0 = *(r8);
    0x000016f0 str r3, [sp, 4]                                   |     var_4h = r3;
    0x000016f2 mov r3, r7                                        |     r3 = r7;
    0x000016f4 blx 0x11a4                                        |     fprintf_chk ()
    0x000016f8 mov r0, r4                                        |     r0 = r4;
    0x000016fa ldr.w r8, [r8]                                    |     r8 = *(r8);
    0x000016fe blx 0x1344                                        |     r0 = fcn_00001344 ();
    0x00001702 mov r2, r0                                        |     r2 = r0;
    0x00001704 mov r3, r6                                        |     r3 = r6;
    0x00001706 str r2, [sp, 4]                                   |     var_4h = r2;
    0x00001708 movs r1, 1                                        |     r1 = 1;
    0x0000170a ldr r2, [pc, 0x88]                                |     
    0x0000170c mov r0, r8                                        |     r0 = r8;
    0x0000170e str r5, [sp]                                      |     *(sp) = r5;
    0x00001710 add r2, pc                                        |     r2 = 0x2eaa;
    0x00001712 blx 0x11a4                                        |     fprintf_chk ()
    0x00001716 mov r0, r7                                        |     r0 = r7;
    0x00001718 blx 0x1244                                        |     fcn_00001244 ();
    0x0000171c movs r0, 0                                        |     r0 = 0;
    0x0000171e b 0x168e                                          |     goto label_0;
                                                                 | label_3:
    0x00001720 ldr r0, [pc, 0x74]                                |     
    0x00001722 add r0, pc                                        |     r0 = 0x2ebe;
    0x00001724 blx 0x1180                                        |     g_path_get_basename ();
    0x00001728 ldr r3, [pc, 0x70]                                |     r3 = *(0x179c);
    0x0000172a mov sl, r0                                        |     sl = r0;
    0x0000172c ldr r2, [pc, 0x70]                                |     
    0x0000172e movs r1, 1                                        |     r1 = 1;
    0x00001730 ldr.w fp, [sb, r3]                                |     fp = *((sb + r3));
    0x00001734 ldr r3, [pc, 0x6c]                                |     
    0x00001736 add r2, pc                                        |     r2 = 0x2eda;
    0x00001738 add r3, pc                                        |     r3 = 0x2ee0;
    0x0000173a adds r3, 0x14                                     |     r3 += 0x14;
    0x0000173c str r3, [sp]                                      |     *(sp) = r3;
    0x0000173e movs r3, 0x67                                     |     r3 = 0x67;
    0x00001740 ldr.w r0, [fp]                                    |     r0 = *(fp);
    0x00001744 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00001746 mov r3, sl                                        |     r3 = sl;
    0x00001748 blx 0x11a4                                        |     fprintf_chk ()
    0x0000174c mov r0, r4                                        |     r0 = r4;
    0x0000174e ldr.w fp, [fp]                                    |     fp = *(fp);
    0x00001752 blx 0x1344                                        |     fcn_00001344 ();
    0x00001756 ldr r2, [pc, 0x50]                                |     
    0x00001758 mov r3, r6                                        |     r3 = r6;
    0x0000175a str r0, [sp, 4]                                   |     var_4h = r0;
    0x0000175c movs r1, 1                                        |     r1 = 1;
    0x0000175e mov r0, fp                                        |     r0 = fp;
    0x00001760 str r5, [sp]                                      |     *(sp) = r5;
    0x00001762 add r2, pc                                        |     r2 = 0x2f10;
    0x00001764 blx 0x11a4                                        |     fprintf_chk ()
    0x00001768 mov r0, sl                                        |     r0 = sl;
    0x0000176a blx 0x1244                                        |     fcn_00001244 ();
    0x0000176e b 0x16b2                                          |     goto label_1;
                                                                 | label_2:
    0x00001770 blx 0x121c                                        |     r0 = stack_chk_fail ();
    0x00001774 cmp r0, 0x9a                                      |     
    0x00001776 movs r0, r0                                       |     
    0x00001778 lsls r4, r6, 3                                    |     r4 = r6 << 3;
    0x0000177a movs r0, r0                                       |     
    0x0000177c cmp r0, 0x72                                      |     
    0x0000177e movs r0, r0                                       |     
    0x00001780 cmp r0, 0x5a                                      |     
    0x00001782 movs r0, r0                                       |     
    0x00001784 lsrs r6, r4, 0x13                                 |     r6 = r4 >> 0x13;
    0x00001786 movs r0, r0                                       |     
    0x00001788 lsls r0, r7, 3                                    |     r0 = r7 << 3;
    0x0000178a movs r0, r0                                       |     
    0x0000178c lsrs r2, r2, 0x14                                 |     r2 >>= 0x14;
    0x0000178e movs r0, r0                                       |     
    0x00001790 lsrs r0, r2, 0x1f                                 |     r0 = r2 >> 0x1f;
    0x00001792 movs r0, r0                                       |     
    0x00001794 lsrs r4, r7, 0x16                                 |     r4 = r7 >> 0x16;
    0x00001796 movs r0, r0                                       |     
    0x00001798 lsrs r2, r2, 0x12                                 |     r2 >>= 0x12;
    0x0000179a movs r0, r0                                       |     
    0x0000179c lsls r4, r7, 3                                    |     r4 = r7 << 3;
    0x0000179e movs r0, r0                                       |     
    0x000017a0 lsrs r6, r5, 0x13                                 |     r6 = r5 >> 0x13;
    0x000017a2 movs r0, r0                                       |     
    0x000017a4 lsrs r4, r7, 0x1d                                 |     r4 = r7 >> 0x1d;
    0x000017a6 movs r0, r0                                       |     
    0x000017a8 lsrs r2, r7, 0x14                                 |     r2 = r7 >> 0x14;
    0x000017aa movs r0, r0                                       |     
                                                                 | }

[*] Function printf used 28 times libloggen_helper-3.38.so.0.0.0