[*] Binary protection state of libssl.so.1.1

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


[*] Function printf tear down of libssl.so.1.1

    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libssl.so.1.1 @ 0x281b4 */
                                                         | #include <stdint.h>
                                                         |  
                                                         | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                         |  
    ; (fcn) sym.SSL_SESSION_print ()                     | void SSL_SESSION_print (int16_t arg1, uint32_t arg2) {
                                                         |     int32_t var_0h;
                                                         |     int32_t var_0h_2;
                                                         |     int16_t var_8h;
                                                         |     int16_t var_10h;
                                                         |     int16_t var_14h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x000281b4 blmi 0xff3bacf0                           |     __asm ("blmi aav.0x00037696");
    0x000281b8 push.w {r4, r5, r6, r7, r8, sb, lr}       |     
    0x000281bc sub sp, 0x1c                              |     
    0x000281be add r2, pc                                |     r2 += pc;
    0x000281c0 ldr r3, [r2, r3]                          |     r3 = *((r2 + r3));
    0x000281c2 ldr r3, [r3]                              |     r3 = *(r3);
    0x000281c4 str r3, [sp, 0x14]                        |     var_14h = r3;
    0x000281c6 mov.w r3, 0                               |     r3 = 0;
    0x000281ca cmp r1, 0                                 |     
                                                         |     if (r1 == 0) {
    0x000281cc beq 0x28252                               |         goto label_2;
                                                         |     }
    0x000281ce mov r4, r1                                |     r4 = r1;
    0x000281d0 ldr r1, [pc, 0x320]                       |     
    0x000281d2 ldr.w r8, [r4]                            |     r8 = *(r4);
    0x000281d6 mov r6, r0                                |     r6 = r0;
    0x000281d8 add r1, pc                                |     r1 = 0x506d0;
    0x000281da blx 0xfd5c                                |     r0 = fcn_0000fd5c ();
    0x000281de cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x000281e0 ble 0x28252                               |         goto label_2;
                                                         |     }
    0x000281e2 ldr r0, [r4]                              |     r0 = *(r4);
    0x000281e4 bl 0x2299c                                |     fcn_0002299c (r0);
    0x000281e8 ldr r1, [pc, 0x30c]                       |     
    0x000281ea mov r2, r0                                |     r2 = r0;
    0x000281ec mov r0, r6                                |     r0 = r6;
    0x000281ee add r1, pc                                |     r1 = 0x506ea;
    0x000281f0 blx 0xf8cc                                |     r0 = BIO_printf ()
    0x000281f4 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x000281f6 ble 0x28252                               |         goto label_2;
                                                         |     }
    0x000281f8 ldr.w r3, [r4, 0x1b8]                     |     r3 = *((r4 + 0x1b8));
    0x000281fc cmp r3, 0                                 |     
                                                         |     if (r3 == 0) {
    0x000281fe beq 0x28276                               |         goto label_11;
                                                         |     }
    0x00028200 ldr r2, [r3, 4]                           |     r2 = *((r3 + 4));
                                                         |     if (r2 == 0) {
    0x00028202 cbz r2, 0x28270                           |         goto label_12;
                                                         |     }
                                                         | label_0:
    0x00028204 ldr r1, [pc, 0x2f4]                       |     
    0x00028206 mov r0, r6                                |     r0 = r6;
    0x00028208 add r1, pc                                |     r1 = 0x50708;
    0x0002820a blx 0xf8cc                                |     r0 = BIO_printf ()
    0x0002820e cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00028210 ble 0x28252                               |         goto label_2;
                                                         |     }
                                                         | label_1:
    0x00028212 ldr r1, [pc, 0x2ec]                       |     
    0x00028214 mov r0, r6                                |     r0 = r6;
    0x00028216 add r1, pc                                |     r1 = 0x5071c;
    0x00028218 blx 0xfd5c                                |     r0 = fcn_0000fd5c ();
    0x0002821c cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x0002821e ble 0x28252                               |         goto label_2;
                                                         |     }
    0x00028220 ldr.w r3, [r4, 0x148]                     |     r3 = *((r4 + 0x148));
                                                         |     if (r3 == 0) {
    0x00028224 cbz r3, 0x28296                           |         goto label_13;
                                                         |     }
    0x00028226 ldr.w sb, [pc, 0x2dc]                     |     sb = case.0x2166c.109;
    0x0002822a addw r7, r4, 0x14b                        |     __asm ("addw r7, r4, 0x14b");
    0x0002822e add sb, pc                                |     sb += pc;
    0x00028230 b 0x28240                                 |     
                                                         |     while (r0 > 0) {
    0x00028232 ldr.w r3, [r4, 0x148]                     |         r3 = *((r4 + 0x148));
    0x00028236 sub.w r5, r5, 0x14a                       |         r5 -= 0x14a;
    0x0002823a subs r5, r5, r4                           |         r5 -= r4;
    0x0002823c cmp r3, r5                                |         
                                                         |         if (r3 < r5) {
    0x0002823e bls 0x28296                               |             goto label_13;
                                                         |         }
    0x00028240 mov r5, r7                                |         r5 = r7;
    0x00028242 mov r1, sb                                |         r1 = sb;
    0x00028244 ldrb r2, [r7, 1]!                         |         r2 = *((r7 += 1));
    0x00028248 mov r0, r6                                |         r0 = r6;
    0x0002824a blx 0xf8cc                                |         r0 = BIO_printf ()
    0x0002824e cmp r0, 0                                 |         
    0x00028250 bgt 0x28232                               |         
                                                         |     }
                                                         | label_2:
    0x00028252 movs r0, 0                                |     r0 = 0;
                                                         | label_3:
    0x00028254 ldr r2, [pc, 0x2b0]                       |     
    0x00028256 ldr r3, [pc, 0x298]                       |     r3 = *(0x284f2);
    0x00028258 add r2, pc                                |     r2 = 0x50764;
    0x0002825a ldr r3, [r2, r3]                          |     r3 = *(0x50764);
    0x0002825c ldr r2, [r3]                              |     r2 = *(0x50764);
    0x0002825e ldr r3, [sp, 0x14]                        |     r3 = var_14h;
    0x00028260 eors r2, r3                               |     r2 ^= r3;
    0x00028262 mov.w r3, 0                               |     r3 = 0;
                                                         |     if (r2 != r3) {
    0x00028266 bne.w 0x284b2                             |         goto label_14;
                                                         |     }
    0x0002826a add sp, 0x1c                              |     
    0x0002826c pop.w {r4, r5, r6, r7, r8, sb, pc}        |     
                                                         | label_12:
    0x00028270 ldr r2, [pc, 0x298]                       |     
    0x00028272 add r2, pc                                |     r2 = 0x50782;
    0x00028274 b 0x28204                                 |     goto label_0;
                                                         | label_11:
    0x00028276 ldr.w r2, [r4, 0x1bc]                     |     r2 = *((r4 + 0x1bc));
    0x0002827a and r3, r2, 0xff000000                    |     r3 = r2 & 0xff000000;
    0x0002827e cmp.w r3, 0x2000000                       |     
                                                         |     if (r3 == 0x2000000) {
    0x00028282 beq 0x2831c                               |         goto label_15;
                                                         |     }
    0x00028284 ldr r1, [pc, 0x288]                       |     
    0x00028286 uxth r2, r2                               |     r2 = (int16_t) r2;
    0x00028288 mov r0, r6                                |     r0 = r6;
    0x0002828a add r1, pc                                |     r1 = 0x5079e;
    0x0002828c blx 0xf8cc                                |     r0 = BIO_printf ()
    0x00028290 cmp r0, 0                                 |     
                                                         |     if (r0 > 0) {
    0x00028292 bgt 0x28212                               |         goto label_1;
                                                         |     }
    0x00028294 b 0x28252                                 |     goto label_2;
                                                         | label_13:
    0x00028296 ldr r1, [pc, 0x27c]                       |     
    0x00028298 mov r0, r6                                |     r0 = r6;
    0x0002829a add r1, pc                                |     r1 = 0x507b4;
    0x0002829c blx 0xfd5c                                |     r0 = fcn_0000fd5c ();
    0x000282a0 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x000282a2 ble 0x28252                               |         goto label_2;
                                                         |     }
    0x000282a4 ldr.w r3, [r4, 0x16c]                     |     r3 = *((r4 + 0x16c));
                                                         |     if (r3 == 0) {
    0x000282a8 cbz r3, 0x282d8                           |         goto label_16;
                                                         |     }
    0x000282aa ldr.w sb, [pc, 0x26c]                     |     
    0x000282ae addw r7, r4, 0x16f                        |     __asm ("addw r7, r4, 0x16f");
    0x000282b2 add sb, pc                                |     sb = 0x507d0;
    0x000282b4 b 0x282c4                                 |     
                                                         |     while (r0 > 0) {
    0x000282b6 ldr.w r3, [r4, 0x16c]                     |         r3 = *((r4 + 0x16c));
    0x000282ba sub.w r5, r5, 0x16e                       |         r5 -= 0x16e;
    0x000282be subs r5, r5, r4                           |         r5 -= r4;
    0x000282c0 cmp r3, r5                                |         
                                                         |         if (r3 < r5) {
    0x000282c2 bls 0x282d8                               |             goto label_16;
                                                         |         }
    0x000282c4 mov r5, r7                                |         r5 = r7;
    0x000282c6 mov r1, sb                                |         r1 = sb;
    0x000282c8 ldrb r2, [r7, 1]!                         |         r2 = *((r7 += 1));
    0x000282cc mov r0, r6                                |         r0 = r6;
    0x000282ce blx 0xf8cc                                |         r0 = BIO_printf ()
    0x000282d2 cmp r0, 0                                 |         
    0x000282d4 bgt 0x282b6                               |         
                                                         |     }
    0x000282d6 b 0x28252                                 |     goto label_2;
                                                         | label_16:
    0x000282d8 cmp.w r8, 0x304                           |     
                                                         |     if (r8 == 0x304) {
    0x000282dc beq.w 0x2843e                             |         goto label_17;
                                                         |     }
    0x000282e0 ldr r1, [pc, 0x238]                       |     
    0x000282e2 mov r0, r6                                |     r0 = r6;
    0x000282e4 add r1, pc                                |     r1 = 0x50804;
    0x000282e6 blx 0xfd5c                                |     r0 = fcn_0000fd5c ();
    0x000282ea cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x000282ec ble 0x28252                               |         goto label_2;
                                                         |     }
                                                         | label_4:
    0x000282ee ldr r3, [r4, 4]                           |     r3 = *((r4 + 4));
                                                         |     if (r3 == 0) {
    0x000282f0 cbz r3, 0x28332                           |         goto label_18;
                                                         |     }
    0x000282f2 ldr.w sb, [pc, 0x22c]                     |     
    0x000282f6 add.w r7, r4, 0x47                        |     r7 = r4 + 0x47;
    0x000282fa add sb, pc                                |     sb = 0x50820;
    0x000282fc b 0x28308                                 |     
                                                         |     while (r0 > 0) {
    0x000282fe ldr r3, [r4, 4]                           |         r3 = *((r4 + 4));
    0x00028300 subs r5, 0x46                             |         r5 -= 0x46;
    0x00028302 subs r5, r5, r4                           |         r5 -= r4;
    0x00028304 cmp r3, r5                                |         
                                                         |         if (r3 < r5) {
    0x00028306 bls 0x28332                               |             goto label_18;
                                                         |         }
    0x00028308 mov r5, r7                                |         r5 = r7;
    0x0002830a mov r1, sb                                |         r1 = sb;
    0x0002830c ldrb r2, [r7, 1]!                         |         r2 = *((r7 += 1));
    0x00028310 mov r0, r6                                |         r0 = r6;
    0x00028312 blx 0xf8cc                                |         r0 = BIO_printf ()
    0x00028316 cmp r0, 0                                 |         
    0x00028318 bgt 0x282fe                               |         
                                                         |     }
    0x0002831a b 0x28252                                 |     goto label_2;
                                                         | label_15:
    0x0002831c ldr r1, [pc, 0x204]                       |     
    0x0002831e bic r2, r2, 0xff000000                    |     r2 = BIT_MASK (r2, 0xff000000);
    0x00028322 mov r0, r6                                |     r0 = r6;
    0x00028324 add r1, pc                                |     r1 = 0x5084c;
    0x00028326 blx 0xf8cc                                |     r0 = BIO_printf ()
    0x0002832a cmp r0, 0                                 |     
                                                         |     if (r0 > 0) {
    0x0002832c bgt.w 0x28212                             |         goto label_1;
                                                         |     }
    0x00028330 b 0x28252                                 |     goto label_2;
                                                         | label_18:
    0x00028332 ldr r1, [pc, 0x1f4]                       |     
    0x00028334 mov r0, r6                                |     r0 = r6;
    0x00028336 add r1, pc                                |     r1 = 0x50864;
    0x00028338 blx 0xfd5c                                |     r0 = fcn_0000fd5c ();
    0x0002833c cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x0002833e ble 0x28252                               |         goto label_2;
                                                         |     }
    0x00028340 ldr.w r2, [r4, 0x194]                     |     r2 = *((r4 + 0x194));
    0x00028344 cmp r2, 0                                 |     
                                                         |     if (r2 == 0) {
    0x00028346 beq.w 0x28450                             |         goto label_19;
                                                         |     }
                                                         | label_5:
    0x0002834a ldr r1, [pc, 0x1e0]                       |     
    0x0002834c mov r0, r6                                |     r0 = r6;
    0x0002834e add r1, pc                                |     r1 = 0x50880;
    0x00028350 blx 0xf8cc                                |     r0 = BIO_printf ()
    0x00028354 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00028356 ble.w 0x28252                             |         goto label_2;
                                                         |     }
    0x0002835a ldr r1, [pc, 0x1d4]                       |     
    0x0002835c mov r0, r6                                |     r0 = r6;
    0x0002835e add r1, pc                                |     r1 = 0x50894;
    0x00028360 blx 0xfd5c                                |     r0 = fcn_0000fd5c ();
    0x00028364 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00028366 ble.w 0x28252                             |         goto label_2;
                                                         |     }
    0x0002836a ldr.w r2, [r4, 0x190]                     |     r2 = *((r4 + 0x190));
    0x0002836e cmp r2, 0                                 |     
                                                         |     if (r2 == 0) {
    0x00028370 beq 0x28456                               |         goto label_20;
                                                         |     }
                                                         | label_6:
    0x00028372 ldr r1, [pc, 0x1c0]                       |     
    0x00028374 mov r0, r6                                |     r0 = r6;
    0x00028376 add r1, pc                                |     r1 = 0x508b0;
    0x00028378 blx 0xf8cc                                |     r0 = BIO_printf ()
    0x0002837c cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x0002837e ble.w 0x28252                             |         goto label_2;
                                                         |     }
    0x00028382 ldr.w r2, [r4, 0x1d8]                     |     r2 = *((r4 + 0x1d8));
    0x00028386 cmp r2, 0                                 |     
                                                         |     if (r2 != 0) {
    0x00028388 bne 0x2845c                               |         goto label_21;
                                                         |     }
                                                         | label_7:
    0x0002838a ldr.w r3, [r4, 0x1d0]                     |     r3 = *((r4 + 0x1d0));
                                                         |     if (r3 == 0) {
    0x0002838e cbz r3, 0x283b2                           |         goto label_22;
                                                         |     }
    0x00028390 ldr r1, [pc, 0x1a4]                       |     
    0x00028392 mov r0, r6                                |     r0 = r6;
    0x00028394 add r1, pc                                |     r1 = 0x508d0;
    0x00028396 blx 0xfd5c                                |     r0 = fcn_0000fd5c ();
    0x0002839a cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x0002839c ble.w 0x28252                             |         goto label_2;
                                                         |     }
    0x000283a0 ldrd r1, r2, [r4, 0x1d0]                  |     __asm ("ldrd r1, r2, [r4, 0x1d0]");
    0x000283a4 movs r3, 4                                |     r3 = 4;
    0x000283a6 mov r0, r6                                |     r0 = r6;
    0x000283a8 blx 0xf960                                |     r0 = fcn_0000f960 ();
    0x000283ac cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x000283ae ble.w 0x28252                             |         goto label_2;
                                                         |     }
                                                         | label_22:
    0x000283b2 ldr.w r3, [r4, 0x1b4]                     |     r3 = *((r4 + 0x1b4));
    0x000283b6 cmp r3, 0                                 |     
                                                         |     if (r3 != 0) {
    0x000283b8 bne 0x2846c                               |         goto label_23;
                                                         |     }
                                                         | label_8:
    0x000283ba ldr.w r2, [r4, 0x1b0]                     |     r2 = *((r4 + 0x1b0));
    0x000283be cmp r2, 0                                 |     
                                                         |     if (r2 != 0) {
    0x000283c0 bne 0x284a0                               |         goto label_24;
                                                         |     }
                                                         | label_9:
    0x000283c2 ldr.w r2, [r4, 0x1ac]                     |     r2 = *((r4 + 0x1ac));
                                                         |     if (r2 == 0) {
    0x000283c6 cbz r2, 0x283da                           |         goto label_25;
                                                         |     }
    0x000283c8 ldr r1, [pc, 0x170]                       |     
    0x000283ca asrs r3, r2, 0x1f                         |     r3 = r2 >> 0x1f;
    0x000283cc mov r0, r6                                |     r0 = r6;
    0x000283ce add r1, pc                                |     r1 = 0x5090e;
    0x000283d0 blx 0xf8cc                                |     r0 = BIO_printf ()
    0x000283d4 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x000283d6 ble.w 0x28252                             |         goto label_2;
                                                         |     }
                                                         | label_25:
    0x000283da ldr r1, [pc, 0x164]                       |     
    0x000283dc mov r0, r6                                |     r0 = r6;
    0x000283de add r1, pc                                |     r1 = 0x50924;
    0x000283e0 blx 0xfd5c                                |     r0 = fcn_0000fd5c ();
    0x000283e4 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x000283e6 ble.w 0x28252                             |         goto label_2;
                                                         |     }
    0x000283ea ldr r1, [pc, 0x158]                       |     
    0x000283ec mov r0, r6                                |     r0 = r6;
    0x000283ee add r1, pc                                |     r1 = 0x50938;
    0x000283f0 blx 0xfd5c                                |     r0 = fcn_0000fd5c ();
    0x000283f4 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x000283f6 ble.w 0x28252                             |         goto label_2;
                                                         |     }
    0x000283fa ldr.w r5, [r4, 0x1a4]                     |     r5 = *((r4 + 0x1a4));
    0x000283fe mov r0, r5                                |     r0 = r5;
    0x00028400 blx 0x108cc                               |     fcn_000108cc ();
    0x00028404 ldr r1, [pc, 0x140]                       |     
    0x00028406 mov r3, r0                                |     r3 = r0;
    0x00028408 mov r2, r5                                |     r2 = r5;
    0x0002840a mov r0, r6                                |     r0 = r6;
    0x0002840c add r1, pc                                |     r1 = 0x50958;
    0x0002840e blx 0xf8cc                                |     r0 = BIO_printf ()
    0x00028412 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00028414 ble.w 0x28252                             |         goto label_2;
                                                         |     }
    0x00028418 ldr.w r3, [r4, 0x1f8]                     |     r3 = *((r4 + 0x1f8));
    0x0002841c lsls r3, r3, 0x1f                         |     r3 <<= 0x1f;
                                                         |     if (r3 < r3) {
    0x0002841e bmi 0x284cc                               |         goto label_26;
                                                         |     }
    0x00028420 ldr r2, [pc, 0x128]                       |     
    0x00028422 add r2, pc                                |     r2 = 0x50972;
                                                         | label_10:
    0x00028424 ldr r1, [pc, 0x128]                       |     
    0x00028426 mov r0, r6                                |     r0 = r6;
    0x00028428 add r1, pc                                |     r1 = 0x5097c;
    0x0002842a blx 0xf8cc                                |     r0 = BIO_printf ()
    0x0002842e cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00028430 ble.w 0x28252                             |         goto label_2;
                                                         |     }
    0x00028434 cmp.w r8, 0x304                           |     
                                                         |     if (r8 == 0x304) {
    0x00028438 beq 0x284d2                               |         goto label_27;
                                                         |     }
    0x0002843a movs r0, 1                                |     r0 = 1;
    0x0002843c b 0x28254                                 |     goto label_3;
                                                         | label_17:
    0x0002843e ldr r1, [pc, 0x114]                       |     
    0x00028440 mov r0, r6                                |     r0 = r6;
    0x00028442 add r1, pc                                |     r1 = 0x5099c;
    0x00028444 blx 0xfd5c                                |     r0 = fcn_0000fd5c ();
    0x00028448 cmp r0, 0                                 |     
                                                         |     if (r0 > 0) {
    0x0002844a bgt.w 0x282ee                             |         goto label_4;
                                                         |     }
    0x0002844e b 0x28252                                 |     goto label_2;
                                                         | label_19:
    0x00028450 ldr r2, [pc, 0x104]                       |     
    0x00028452 add r2, pc                                |     r2 = 0x509ae;
    0x00028454 b 0x2834a                                 |     goto label_5;
                                                         | label_20:
    0x00028456 ldr r2, [pc, 0x104]                       |     
    0x00028458 add r2, pc                                |     r2 = 0x509ba;
    0x0002845a b 0x28372                                 |     goto label_6;
                                                         | label_21:
    0x0002845c ldr r1, [pc, 0x100]                       |     
    0x0002845e mov r0, r6                                |     r0 = r6;
    0x00028460 add r1, pc                                |     r1 = 0x509c4;
    0x00028462 blx 0xf8cc                                |     r0 = BIO_printf ()
    0x00028466 cmp r0, 0                                 |     
                                                         |     if (r0 > 0) {
    0x00028468 bgt 0x2838a                               |         goto label_7;
                                                         |     }
    0x0002846a b 0x28252                                 |     goto label_2;
                                                         | label_23:
    0x0002846c movs r3, 0                                |     r3 = 0;
    0x0002846e add r2, sp, 0x10                          |     r2 += var_10h;
    0x00028470 strd r3, r2, [sp]                         |     __asm ("strd r3, r2, [sp]");
    0x00028474 mov r1, r3                                |     r1 = r3;
    0x00028476 mov r2, r3                                |     r2 = r3;
    0x00028478 mov r0, r4                                |     r0 = r4;
    0x0002847a str r3, [sp, 8]                           |     var_8h = r3;
    0x0002847c str r3, [sp, 0x10]                        |     var_10h = r3;
    0x0002847e bl 0x1d8a8                                |     r0 = fcn_0001d8a8 (r0, r1, r2, r3, r4, r5, r6);
    0x00028482 cmp r0, 0                                 |     
                                                         |     if (r0 == 0) {
    0x00028484 beq.w 0x28252                             |         goto label_2;
                                                         |     }
    0x00028488 ldr r2, [sp, 0x10]                        |     r2 = var_10h;
                                                         |     if (r2 == 0) {
    0x0002848a cbz r2, 0x284b6                           |         goto label_28;
                                                         |     }
    0x0002848c ldr r1, [pc, 0xd4]                        |     
    0x0002848e mov r0, r6                                |     r0 = r6;
    0x00028490 ldrd r2, r3, [r2]                         |     __asm ("ldrd r2, r3, [r2]");
    0x00028494 add r1, pc                                |     r1 = 0x509fc;
    0x00028496 blx 0xf8cc                                |     r0 = BIO_printf ()
    0x0002849a cmp r0, 0                                 |     
                                                         |     if (r0 > 0) {
    0x0002849c bgt 0x283ba                               |         goto label_8;
                                                         |     }
    0x0002849e b 0x28252                                 |     goto label_2;
                                                         | label_24:
    0x000284a0 ldr r1, [pc, 0xc4]                        |     
    0x000284a2 asrs r3, r2, 0x1f                         |     r3 = r2 >> 0x1f;
    0x000284a4 mov r0, r6                                |     r0 = r6;
    0x000284a6 add r1, pc                                |     r1 = 0x50a12;
    0x000284a8 blx 0xf8cc                                |     r0 = BIO_printf ()
    0x000284ac cmp r0, 0                                 |     
                                                         |     if (r0 > 0) {
    0x000284ae bgt 0x283c2                               |         goto label_9;
                                                         |     }
    0x000284b0 b 0x28252                                 |     goto label_2;
                                                         | label_14:
    0x000284b2 blx 0x105f0                               |     fcn_000105f0 ();
                                                         | label_28:
    0x000284b6 ldr r1, [pc, 0xb4]                        |     
    0x000284b8 mov r0, r6                                |     r0 = r6;
    0x000284ba ldr.w r2, [r4, 0x1b4]                     |     r2 = *((r4 + 0x1b4));
    0x000284be add r1, pc                                |     r1 = 0x50a30;
    0x000284c0 blx 0xf8cc                                |     r0 = BIO_printf ()
    0x000284c4 cmp r0, 0                                 |     
                                                         |     if (r0 > 0) {
    0x000284c6 bgt.w 0x283ba                             |         goto label_8;
                                                         |     }
    0x000284ca b 0x28252                                 |     goto label_2;
                                                         | label_26:
    0x000284cc ldr r2, [pc, 0xa0]                        |     
    0x000284ce add r2, pc                                |     r2 = 0x50a42;
    0x000284d0 b 0x28424                                 |     goto label_10;
                                                         | label_27:
    0x000284d2 ldr r1, [pc, 0xa0]                        |     
    0x000284d4 mov r0, r6                                |     r0 = r6;
    0x000284d6 ldr.w r2, [r4, 0x1e0]                     |     r2 = *((r4 + 0x1e0));
    0x000284da add r1, pc                                |     r1 = 0x50a54;
    0x000284dc blx 0xf8cc                                |     r0 = BIO_printf ()
    0x000284e0 cmp r0, 0                                 |     
    0x000284e2 ite le                                    |     
                                                         |     if (r0 > 0) {
    0x000284e4 movle r0, 0                               |         r0 = 0;
                                                         |     }
                                                         |     if (r0 <= 0) {
    0x000284e6 movgt r0, 1                               |         r0 = 1;
                                                         |     }
    0x000284e8 b 0x28254                                 |     goto label_3;
                                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libssl.so.1.1 @ 0x28578 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.SSL_SESSION_print_fp ()      | void SSL_SESSION_print_fp (int16_t arg1, int16_t arg2) {
                                             |     int16_t var_0h;
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x00028578 push {r4, r5, r6, lr}         |     
    0x0002857a sub sp, 8                     |     
    0x0002857c mov r5, r1                    |     r5 = r1;
    0x0002857e mov r6, r0                    |     r6 = r0;
    0x00028580 blx 0xfef4                    |     fcn_0000fef4 ();
    0x00028584 blx 0xffe8                    |     r0 = fcn_0000ffe8 ();
    0x00028588 mov r4, r0                    |     r4 = r0;
                                             |     if (r0 != 0) {
    0x0002858a cbz r0, 0x285ae               |         
    0x0002858c mov r3, r6                    |         r3 = r6;
    0x0002858e movs r2, 0                    |         r2 = 0;
    0x00028590 movs r1, 0x6a                 |         r1 = 0x6a;
    0x00028592 blx 0x10a38                   |         fcn_00010a38 ();
    0x00028596 mov r1, r5                    |         r1 = r5;
    0x00028598 mov r0, r4                    |         r0 = r4;
    0x0002859a bl 0x281b4                    |         r0 = SSL_SESSION_print ();
    0x0002859e mov r3, r0                    |         r3 = r0;
    0x000285a0 mov r0, r4                    |         r0 = r4;
    0x000285a2 mov r4, r3                    |         r4 = r3;
    0x000285a4 blx 0x10a44                   |         fcn_00010a44 ();
    0x000285a8 mov r0, r4                    |         r0 = r4;
    0x000285aa add sp, 8                     |         
    0x000285ac pop {r4, r5, r6, pc}          |         
                                             |     }
    0x000285ae ldr r3, [pc, 0x18]            |     
    0x000285b0 movs r0, 0x16                 |     r0 = 0x16;
    0x000285b2 str r0, [sp]                  |     *(sp) = r0;
    0x000285b4 movs r2, 7                    |     r2 = 7;
    0x000285b6 movs r1, 0xbe                 |     r1 = 0xbe;
    0x000285b8 movs r0, 0x14                 |     r0 = 0x14;
    0x000285ba add r3, pc                    |     r3 = 0x50b88;
    0x000285bc blx 0x1074c                   |     fcn_0001074c ();
    0x000285c0 mov r0, r4                    |     r0 = r4;
    0x000285c2 add sp, 8                     |     
    0x000285c4 pop {r4, r5, r6, pc}          |     
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libssl.so.1.1 @ 0x285cc */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.SSL_SESSION_print_keylog ()          | uint32_t SSL_SESSION_print_keylog (int16_t arg1, int16_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x000285cc invalid                               |     goto label_2;
    0x000285ce ldr.w r3, [r1, 0x148]                 |     r3 = *((r1 + 0x148));
    0x000285d2 push.w {r4, r5, r6, r7, r8, lr}       |     
    0x000285d6 mov r4, r1                            |     r4 = r1;
                                                     |     if (r3 == 0) {
    0x000285d8 cbz r3, 0x285de                       |         goto label_0;
                                                     |     }
    0x000285da ldr r3, [r1, 4]                       |     r3 = *((r1 + 4));
    0x000285dc cbnz r3, 0x285e4                      |     
                                                     |     while (r8 <= r8) {
                                                     | label_0:
    0x000285de movs r0, 0                            |         r0 = 0;
                                                     | label_1:
    0x000285e0 pop.w {r4, r5, r6, r7, r8, pc}        |         
    0x000285e4 ldr r1, [pc, 0xa8]                    |         
    0x000285e6 mov r6, r0                            |         r6 = r0;
    0x000285e8 add r1, pc                            |         r1 = 0x50c7c;
    0x000285ea blx 0xfd5c                            |         r0 = fcn_0000fd5c ();
    0x000285ec subs.w r8, r8, r0, lsl 8              |         r8 -= (r0 << 8);
    0x000285f0 ble 0x285de                           |         
                                                     |     }
    0x000285f2 ldr r1, [pc, 0xa0]                    |     
    0x000285f4 mov r0, r6                            |     r0 = r6;
    0x000285f6 add r1, pc                            |     r1 = 0x50c90;
    0x000285f8 blx 0xfd5c                            |     r0 = fcn_0000fd5c ();
    0x000285fc cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x000285fe ble 0x285de                           |         goto label_0;
                                                     |     }
    0x00028600 ldr.w r3, [r4, 0x148]                 |     r3 = *((r4 + 0x148));
                                                     |     if (r3 == 0) {
    0x00028604 cbz r3, 0x2863a                       |         goto label_3;
                                                     |     }
    0x00028606 ldr.w r8, [pc, 0x90]                  |     
    0x0002860a addw r7, r4, 0x14b                    |     __asm ("addw r7, r4, 0x14b");
    0x0002860e add r8, pc                            |     r8 = 0x50cac;
    0x00028610 b 0x2861a                             |     
                                                     |     while (r0 > 0) {
    0x00028612 ldr.w r3, [r4, 0x148]                 |         r3 = *((r4 + 0x148));
    0x00028616 cmp r3, r5                            |         
                                                     |         if (r3 < r5) {
    0x00028618 bls 0x2863a                           |             goto label_3;
                                                     |         }
    0x0002861a mov r5, r7                            |         r5 = r7;
    0x0002861c mov r1, r8                            |         r1 = r8;
    0x0002861e ldrb r2, [r7, 1]!                     |         r2 = *((r7 += 1));
    0x00028620 cmp r7, 1                             |         
    0x00028622 mov r0, r6                            |         r0 = r6;
    0x00028624 blx 0xf8cc                            |         r0 = BIO_printf ()
    0x00028628 cmp r0, 0                             |         
    0x0002862a sub.w r5, r5, 0x14a                   |         r5 -= 0x14a;
    0x0002862e sub.w r5, r5, r4                      |         r5 -= r4;
    0x00028632 bgt 0x28612                           |         
                                                     |     }
    0x00028634 b 0x285de                             |     goto label_0;
                                                     | label_2:
    0x00028636 movs r0, 0                            |     r0 = 0;
    0x00028638 bx lr                                 |     return r0;
                                                     | label_3:
    0x0002863a ldr r1, [pc, 0x60]                    |     
    0x0002863c mov r0, r6                            |     r0 = r6;
    0x0002863e add r1, pc                            |     r1 = 0x50ce0;
    0x00028640 blx 0xfd5c                            |     r0 = fcn_0000fd5c ();
    0x00028644 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00028646 ble 0x285de                           |         goto label_0;
                                                     |     }
    0x00028648 ldr r3, [r4, 4]                       |     r3 = *((r4 + 4));
                                                     |     if (r3 == 0) {
    0x0002864a cbz r3, 0x2867a                       |         goto label_4;
                                                     |     }
    0x0002864c ldr.w r8, [pc, 0x50]                  |     
    0x00028650 add.w r7, r4, 0x47                    |     r7 = r4 + 0x47;
    0x00028654 add r8, pc                            |     r8 = 0x50cf8;
    0x00028656 b 0x2865e                             |     
                                                     |     while (r0 > 0) {
    0x00028658 ldr r3, [r4, 4]                       |         r3 = *((r4 + 4));
    0x0002865a cmp r3, r5                            |         
                                                     |         if (r3 < r5) {
    0x0002865c bls 0x2867a                           |             goto label_4;
                                                     |         }
    0x0002865e mov r5, r7                            |         r5 = r7;
    0x00028660 mov r1, r8                            |         r1 = r8;
    0x00028662 ldrb r2, [r7, 1]!                     |         r2 = *((r7 += 1));
    0x00028666 mov r0, r6                            |         r0 = r6;
    0x00028668 blx 0xf8cc                            |         r0 = BIO_printf ()
    0x0002866c cmp r0, 0                             |         
    0x0002866e sub.w r5, r5, 0x46                    |         r5 -= 0x46;
    0x00028672 sub.w r5, r5, r4                      |         r5 -= r4;
    0x00028676 bgt 0x28658                           |         
                                                     |     }
    0x00028678 b 0x285de                             |     goto label_0;
                                                     | label_4:
    0x0002867a ldr r1, [pc, 0x28]                    |     
    0x0002867c mov r0, r6                            |     r0 = r6;
    0x0002867e add r1, pc                            |     r1 = 0x50d28;
    0x00028680 blx 0xfd5c                            |     r0 = fcn_0000fd5c ();
    0x00028684 cmp r0, 0                             |     
    0x00028686 ite le                                |     
                                                     |     if (r0 > 0) {
    0x00028688 movle r0, 0                           |         r0 = 0;
                                                     |     }
                                                     |     if (r0 <= 0) {
    0x0002868a movgt r0, 1                           |         r0 = 1;
                                                     |     }
    0x0002868c b 0x285e0                             |     goto label_1;
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libssl.so.1.1 @ 0x285cc */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.SSL_SESSION_print_keylog ()          | uint32_t SSL_SESSION_print_keylog (int16_t arg1, int16_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
                                                     |     if (r1 == 0) {
    0x000285cc cbz r1, 0x28636                       |         goto label_2;
                                                     |     }
    0x000285ce ldr.w r3, [r1, 0x148]                 |     r3 = *((r1 + 0x148));
    0x000285d2 push.w {r4, r5, r6, r7, r8, lr}       |     
    0x000285d6 mov r4, r1                            |     r4 = r1;
                                                     |     if (r3 == 0) {
    0x000285d8 cbz r3, 0x285de                       |         goto label_0;
                                                     |     }
    0x000285da ldr r3, [r1, 4]                       |     r3 = *((r1 + 4));
    0x000285dc cbnz r3, 0x285e4                      |     
                                                     |     while (r8 <= r8) {
                                                     | label_0:
    0x000285de movs r0, 0                            |         r0 = 0;
                                                     | label_1:
    0x000285e0 pop.w {r4, r5, r6, r7, r8, pc}        |         
    0x000285e4 ldr r1, [pc, 0xa8]                    |         
    0x000285e6 mov r6, r0                            |         r6 = r0;
    0x000285e8 add r1, pc                            |         r1 = 0x50c7c;
    0x000285ea blx 0xfd5c                            |         r0 = fcn_0000fd5c ();
    0x000285ec subs.w r8, r8, r0, lsl 8              |         r8 -= (r0 << 8);
    0x000285f0 ble 0x285de                           |         
                                                     |     }
    0x000285f2 ldr r1, [pc, 0xa0]                    |     
    0x000285f4 mov r0, r6                            |     r0 = r6;
    0x000285f6 add r1, pc                            |     r1 = 0x50c90;
    0x000285f8 blx 0xfd5c                            |     r0 = fcn_0000fd5c ();
    0x000285fc cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x000285fe ble 0x285de                           |         goto label_0;
                                                     |     }
    0x00028600 ldr.w r3, [r4, 0x148]                 |     r3 = *((r4 + 0x148));
                                                     |     if (r3 == 0) {
    0x00028604 cbz r3, 0x2863a                       |         goto label_3;
                                                     |     }
    0x00028606 ldr.w r8, [pc, 0x90]                  |     
    0x0002860a addw r7, r4, 0x14b                    |     __asm ("addw r7, r4, 0x14b");
    0x0002860e add r8, pc                            |     r8 = 0x50cac;
    0x00028610 b 0x2861a                             |     
                                                     |     while (r0 > 0) {
    0x00028612 ldr.w r3, [r4, 0x148]                 |         r3 = *((r4 + 0x148));
    0x00028616 cmp r3, r5                            |         
                                                     |         if (r3 < r5) {
    0x00028618 bls 0x2863a                           |             goto label_3;
                                                     |         }
    0x0002861a mov r5, r7                            |         r5 = r7;
    0x0002861c mov r1, r8                            |         r1 = r8;
    0x0002861e ldrb r2, [r7, 1]!                     |         r2 = *((r7 += 1));
    0x00028620 cmp r7, 1                             |         
    0x00028622 mov r0, r6                            |         r0 = r6;
    0x00028624 blx 0xf8cc                            |         r0 = BIO_printf ()
    0x00028628 cmp r0, 0                             |         
    0x0002862a sub.w r5, r5, 0x14a                   |         r5 -= 0x14a;
    0x0002862e sub.w r5, r5, r4                      |         r5 -= r4;
    0x00028632 bgt 0x28612                           |         
                                                     |     }
    0x00028634 b 0x285de                             |     goto label_0;
                                                     | label_2:
    0x00028636 movs r0, 0                            |     r0 = 0;
    0x00028638 bx lr                                 |     return r0;
                                                     | label_3:
    0x0002863a ldr r1, [pc, 0x60]                    |     
    0x0002863c mov r0, r6                            |     r0 = r6;
    0x0002863e add r1, pc                            |     r1 = 0x50ce0;
    0x00028640 blx 0xfd5c                            |     r0 = fcn_0000fd5c ();
    0x00028644 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00028646 ble 0x285de                           |         goto label_0;
                                                     |     }
    0x00028648 ldr r3, [r4, 4]                       |     r3 = *((r4 + 4));
                                                     |     if (r3 == 0) {
    0x0002864a cbz r3, 0x2867a                       |         goto label_4;
                                                     |     }
    0x0002864c ldr.w r8, [pc, 0x50]                  |     
    0x00028650 add.w r7, r4, 0x47                    |     r7 = r4 + 0x47;
    0x00028654 add r8, pc                            |     r8 = 0x50cf8;
    0x00028656 b 0x2865e                             |     
                                                     |     while (r0 > 0) {
    0x00028658 ldr r3, [r4, 4]                       |         r3 = *((r4 + 4));
    0x0002865a cmp r3, r5                            |         
                                                     |         if (r3 < r5) {
    0x0002865c bls 0x2867a                           |             goto label_4;
                                                     |         }
    0x0002865e mov r5, r7                            |         r5 = r7;
    0x00028660 mov r1, r8                            |         r1 = r8;
    0x00028662 ldrb r2, [r7, 1]!                     |         r2 = *((r7 += 1));
    0x00028666 mov r0, r6                            |         r0 = r6;
    0x00028668 blx 0xf8cc                            |         r0 = BIO_printf ()
    0x0002866c cmp r0, 0                             |         
    0x0002866e sub.w r5, r5, 0x46                    |         r5 -= 0x46;
    0x00028672 sub.w r5, r5, r4                      |         r5 -= r4;
    0x00028676 bgt 0x28658                           |         
                                                     |     }
    0x00028678 b 0x285de                             |     goto label_0;
                                                     | label_4:
    0x0002867a ldr r1, [pc, 0x28]                    |     
    0x0002867c mov r0, r6                            |     r0 = r6;
    0x0002867e add r1, pc                            |     r1 = 0x50d28;
    0x00028680 blx 0xfd5c                            |     r0 = fcn_0000fd5c ();
    0x00028684 cmp r0, 0                             |     
    0x00028686 ite le                                |     
                                                     |     if (r0 > 0) {
    0x00028688 movle r0, 0                           |         r0 = 0;
                                                     |     }
                                                     |     if (r0 <= 0) {
    0x0002868a movgt r0, 1                           |         r0 = 1;
                                                     |     }
    0x0002868c b 0x285e0                             |     goto label_1;
                                                     | }

[*] Function printf used 22 times libssl.so.1.1