[*] Binary protection state of libaxhttp.so.1.0

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


[*] Function printf tear down of libaxhttp.so.1.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/libaxhttp.so.1.0 @ 0x1a0c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.ax_http_server_socket_new ()         | void ax_http_server_socket_new (int16_t arg1, int16_t arg2, int16_t arg3) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
                                                     |     r2 = arg3;
    0x00001a0c invalid                               |     
    0x00001a10 movs r0, 0x20                         |     r0 = 0x20;
    0x00001a12 mov r6, r1                            |     r6 = r1;
    0x00001a14 mov r5, r2                            |     r5 = r2;
    0x00001a16 blx 0x1148                            |     g_slice_alloc ();
    0x00001a1a movs r2, 0x20                         |     r2 = 0x20;
    0x00001a1c movs r1, 0                            |     r1 = 0;
    0x00001a1e mov r4, r0                            |     r4 = r0;
    0x00001a20 blx 0x1094                            |     memset (r0, r1, r2);
    0x00001a24 mov r0, r7                            |     r0 = r7;
    0x00001a26 blx 0x104c                            |     g_strdup ();
    0x00001a2a ldr r1, [pc, 0xb4]                    |     
    0x00001a2c mov r2, r0                            |     r2 = r0;
    0x00001a2e str r0, [r4]                          |     *(r4) = r0;
    0x00001a30 mov.w r3, -1                          |     r3 = -1;
    0x00001a34 ldr r0, [pc, 0xac]                    |     
    0x00001a36 add r1, pc                            |     r1 = 0x351c;
    0x00001a38 strd r6, r5, [r4, 0x18]               |     __asm ("strd r6, r5, [r4, 0x18]");
    0x00001a3c str r3, [r4, 0xc]                     |     *((r4 + 0xc)) = r3;
    0x00001a3e add r0, pc                            |     r0 = 0x3526;
    0x00001a40 blx 0x10b8                            |     g_strdup_printf ()
    0x00001a44 movw r1, 0x1fd                        |     r1 = 0x1fd;
    0x00001a48 str r0, [r4, 4]                       |     *((r4 + 4)) = r0;
    0x00001a4a blx 0xfd4                             |     r0 = g_mkdir_with_parents ();
                                                     |     if (r0 != 0) {
    0x00001a4e cbnz r0, 0x1aaa                       |         goto label_4;
                                                     |     }
                                                     | label_1:
    0x00001a50 ldr r2, [pc, 0x94]                    |     
    0x00001a52 ldr r0, [pc, 0x98]                    |     
    0x00001a54 ldr r1, [r4, 4]                       |     r1 = *((r4 + 4));
    0x00001a56 add r2, pc                            |     r2 = 0x3542;
    0x00001a58 add r0, pc                            |     r0 = 0x354a;
    0x00001a5a blx 0x10b8                            |     g_strdup_printf ()
    0x00001a5e movs r1, 0x10                         |     r1 = 0x10;
    0x00001a60 str r0, [r4, 8]                       |     *((r4 + 8)) = r0;
    0x00001a62 blx 0x12a0                            |     r0 = fcn_000012a0 ();
    0x00001a66 cbnz r0, 0x1a9e                       |     
                                                     |     while (r0 == 0) {
    0x00001a68 ldr r0, [r4, 8]                       |         r0 = *((r4 + 8));
    0x00001a6a mov.w r1, 0x1b6                       |         r1 = 0x1b6;
    0x00001a6e blx 0x107c                            |         r0 = fdipc_server_socket ();
    0x00001a72 cmp r0, 0                             |         
    0x00001a74 str r0, [r4, 0xc]                     |         *((r4 + 0xc)) = r0;
                                                     |         if (r0 >= 0) {
    0x00001a76 blt 0x1a8c                            |             
    0x00001a78 blx 0x1028                            |             g_io_channel_unix_new ();
    0x00001a7c movs r2, 0                            |             r2 = 0;
    0x00001a7e str r0, [r4, 0x14]                    |             *((r4 + 0x14)) = r0;
    0x00001a80 mov r1, r2                            |             r1 = r2;
    0x00001a82 blx 0x1010                            |             r0 = g_io_channel_set_encoding ();
    0x00001a86 cmp r0, 1                             |             
    0x00001a88 mov r1, r0                            |             r1 = r0;
                                                     |             if (r0 == 1) {
    0x00001a8a beq 0x1acc                            |                 goto label_5;
                                                     |             }
                                                     |         }
                                                     | label_0:
    0x00001a8c mov r0, r4                            |         r0 = r4;
    0x00001a8e bl 0x1980                             |         fcn_00001980 (r0);
                                                     | label_2:
    0x00001a92 mov r0, r4                            |         r0 = r4;
    0x00001a94 movs r4, 0                            |         r4 = 0;
    0x00001a96 blx 0xff8                             |         fcn_00000ff8 ();
                                                     | label_3:
    0x00001a9a mov r0, r4                            |         r0 = r4;
    0x00001a9c pop {r3, r4, r5, r6, r7, pc}          |         
    0x00001a9e ldr r0, [r4, 8]                       |         r0 = *((r4 + 8));
    0x00001aa0 blx 0xfec                             |         r0 = g_unlink ();
    0x00001aa4 cmp r0, 0                             |         
    0x00001aa6 beq 0x1a68                            |         
                                                     |     }
    0x00001aa8 b 0x1a8c                              |     goto label_0;
                                                     | label_4:
    0x00001aaa ldr r0, [r4, 4]                       |     r0 = *((r4 + 4));
    0x00001aac movs r1, 4                            |     r1 = 4;
    0x00001aae blx 0x12a0                            |     r0 = fcn_000012a0 ();
    0x00001ab2 mov r5, r0                            |     r5 = r0;
    0x00001ab4 cmp r0, 0                             |     
                                                     |     if (r0 != 0) {
    0x00001ab6 bne 0x1a50                            |         goto label_1;
                                                     |     }
    0x00001ab8 ldr r0, [r4, 4]                       |     r0 = *((r4 + 4));
    0x00001aba cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x00001abc beq 0x1a92                            |         goto label_2;
                                                     |     }
    0x00001abe blx 0x113c                            |     g_rmdir ();
    0x00001ac2 ldr r0, [r4, 4]                       |     r0 = *((r4 + 4));
    0x00001ac4 blx 0xfc8                             |     g_free ();
    0x00001ac8 str r5, [r4, 4]                       |     *((r4 + 4)) = r5;
    0x00001aca b 0x1a92                              |     goto label_2;
                                                     | label_5:
    0x00001acc ldr r2, [pc, 0x20]                    |     
    0x00001ace mov r3, r4                            |     r3 = r4;
    0x00001ad0 ldr r0, [r4, 0x14]                    |     r0 = *((r4 + 0x14));
    0x00001ad2 add r2, pc                            |     r2 = 0x35c6;
    0x00001ad4 blx 0x10dc                            |     g_io_add_watch ();
    0x00001ad8 str r0, [r4, 0x10]                    |     *((r4 + 0x10)) = r0;
    0x00001ada cmp r0, 0                             |     
                                                     |     if (r0 != 0) {
    0x00001adc bne 0x1a9a                            |         goto label_3;
                                                     |     }
    0x00001ade b 0x1a8c                              |     goto label_0;
                                                     | }

[*] Function printf used 3 times libaxhttp.so.1.0