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

  
  	Partial RELRO  No Canary found   NX disabled  DSO          No RPATH     No RUNPATH   No Symbols


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

    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/lib/libssl.so.1.1 @ 0x315e4 */
                                                     | #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 (int32_t arg1, int32_t arg2) {
                                                     |     int32_t var_0h;
                                                     |     int32_t var_14h;
                                                     |     int32_t var_18h;
                                                     |     int32_t var_1ch;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x000315e4 push {r4, r5, r6, r7, r8, sb, lr}     |     
    0x000315e8 subs r5, r1, 0                        |     r5 = r1 - 0;
    0x000315ec sub sp, sp, 0x1c                      |     
    0x000315f0 bne 0x31600                           |     
                                                     |     while (r0 <= 0) {
                                                     | label_0:
    0x000315f4 mov r0, 0                             |         r0 = 0;
                                                     | label_6:
    0x000315f8 add sp, sp, 0x1c                      |         
    0x000315fc pop {r4, r5, r6, r7, r8, sb, pc}      |         
    0x00031600 ldr r1, [pc, 0x474]                   |         r1 = *(0x31a78);
    0x00031604 mov r4, r0                            |         r4 = r0;
    0x00031608 add r1, pc, r1                        |         r1 = pc + r1;
    0x0003160c ldr r6, [r5]                          |         r6 = *(r5);
    0x00031610 bl 0x1108c                            |         r0 = BIO_puts ();
    0x00031614 cmp r0, 0                             |         
    0x00031618 ble 0x315f4                           |         
                                                     |     }
    0x0003161c ldr r0, [r5]                          |     r0 = *(r5);
    0x00031620 bl 0x29944                            |     fcn_00029944 (r0);
    0x00031624 ldr r1, [pc, 0x454]                   |     r1 = *(0x31a7c);
    0x00031628 add r1, pc, r1                        |     r1 = pc + r1;
    0x0003162c mov r2, r0                            |     r2 = r0;
    0x00031630 mov r0, r4                            |     r0 = r4;
    0x00031634 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031638 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x0003163c ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x00031640 ldr r3, [r5, 0x1bc]                   |     r3 = *((r5 + 0x1bc));
    0x00031644 cmp r3, 0                             |     
                                                     |     if (r3 != 0) {
    0x00031648 bne 0x3173c                           |         goto label_13;
                                                     |     }
    0x0003164c ldr r2, [r5, 0x1c0]                   |     r2 = *((r5 + 0x1c0));
    0x00031650 and r3, r2, 0xff000000                |     r3 = r2 & 0xff000000;
    0x00031654 cmp r3, 0x2000000                     |     
                                                     |     if (r3 != 0x2000000) {
    0x00031658 bne 0x31728                           |         goto label_14;
                                                     |     }
    0x0003165c ldr r1, [pc, 0x420]                   |     r1 = *(0x31a80);
    0x00031660 bic r2, r2, 0xff000000                |     r2 = BIT_MASK (r2, 0xff000000);
    0x00031664 add r1, pc, r1                        |     r1 = pc + r1;
                                                     | label_1:
    0x00031668 mov r0, r4                            |     r0 = r4;
    0x0003166c bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031670 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031674 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x00031678 ldr r1, [pc, 0x408]                   |     r1 = *(0x31a84);
    0x0003167c mov r0, r4                            |     r0 = r4;
    0x00031680 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031684 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031688 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x0003168c ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x00031690 ldr r8, [pc, 0x3f4]                   |     r8 = *(0x31a88);
    0x00031694 ldr sb, [pc, 0x3f4]                   |     sb = *(0x31a8c);
    0x00031698 add r7, r5, 0x14c                     |     r7 = r5 + 0x14c;
    0x0003169c sub r8, r8, r5                        |     r8 -= r5;
    0x000316a0 add sb, pc, sb                        |     sb = pc + sb;
                                                     | label_2:
    0x000316a4 ldr r2, [r5, 0x148]                   |     r2 = *((r5 + 0x148));
    0x000316a8 add r3, r8, r7                        |     r3 = r8 + r7;
    0x000316ac cmp r2, r3                            |     
                                                     |     if (r2 > r3) {
    0x000316b0 bhi 0x31758                           |         goto label_15;
                                                     |     }
    0x000316b4 ldr r1, [pc, 0x3d8]                   |     r1 = *(0x31a90);
    0x000316b8 mov r0, r4                            |     r0 = r4;
    0x000316bc add r1, pc, r1                        |     r1 = pc + r1;
    0x000316c0 bl 0x1108c                            |     r0 = BIO_puts ();
    0x000316c4 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x000316c8 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x000316cc ldr r8, [pc, 0x3c4]                   |     r8 = *(0x31a94);
    0x000316d0 ldr sb, [pc, 0x3c4]                   |     sb = *(0x31a98);
    0x000316d4 add r7, r5, 0x170                     |     r7 = r5 + 0x170;
    0x000316d8 sub r8, r8, r5                        |     r8 -= r5;
    0x000316dc add sb, pc, sb                        |     sb = pc + sb;
                                                     | label_3:
    0x000316e0 ldr r2, [r5, 0x16c]                   |     r2 = *((r5 + 0x16c));
    0x000316e4 add r3, r8, r7                        |     r3 = r8 + r7;
    0x000316e8 cmp r2, r3                            |     
                                                     |     if (r2 > r3) {
    0x000316ec bhi 0x31774                           |         goto label_16;
                                                     |     }
    0x000316f0 cmp r6, 0x304                         |     
                                                     |     if (r6 != 0x304) {
    0x000316f4 bne 0x31790                           |         goto label_17;
                                                     |     }
    0x000316f8 ldr r1, [pc, 0x3a0]                   |     r1 = *(0x31a9c);
    0x000316fc add r1, pc, r1                        |     r1 = pc + r1;
                                                     | label_4:
    0x00031700 mov r0, r4                            |     r0 = r4;
    0x00031704 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031708 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x0003170c ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x00031710 ldr sb, [pc, 0x38c]                   |     sb = *(0x31aa0);
    0x00031714 mvn r8, 0x47                          |     r8 = ~0x47;
    0x00031718 add r7, r5, 0x48                      |     r7 = r5 + 0x48;
    0x0003171c sub r8, r8, r5                        |     r8 -= r5;
    0x00031720 add sb, pc, sb                        |     sb = pc + sb;
    0x00031724 b 0x317b4                             |     goto label_18;
                                                     | label_14:
    0x00031728 ldr r1, [pc, 0x378]                   |     r1 = *(0x31aa4);
    0x0003172c lsl r2, r2, 0x10                      |     r2 <<= 0x10;
    0x00031730 lsr r2, r2, 0x10                      |     r2 >>= 0x10;
    0x00031734 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031738 b 0x31668                             |     goto label_1;
                                                     | label_13:
    0x0003173c ldr r2, [r3, 4]                       |     r2 = *((r3 + 4));
    0x00031740 cmp r2, 0                             |     
                                                     |     if (r2 != 0) {
    0x00031744 ldreq r2, [pc, 0x360]                 |         r2 = *((pc + 0x360));
                                                     |     }
                                                     |     if (r2 != 0) {
    0x00031748 addeq r2, pc, r2                      |         r2 = pc + r2;
                                                     |     }
    0x0003174c ldr r1, [pc, 0x35c]                   |     r1 = *(0x31aac);
    0x00031750 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031754 b 0x31668                             |     goto label_1;
                                                     | label_15:
    0x00031758 ldrb r2, [r7], 1                      |     r2 = *(r7);
                                                     |     r7++;
    0x0003175c mov r1, sb                            |     r1 = sb;
    0x00031760 mov r0, r4                            |     r0 = r4;
    0x00031764 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031768 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x0003176c bgt 0x316a4                           |         goto label_2;
                                                     |     }
    0x00031770 b 0x315f4                             |     goto label_0;
                                                     | label_16:
    0x00031774 ldrb r2, [r7], 1                      |     r2 = *(r7);
                                                     |     r7++;
    0x00031778 mov r1, sb                            |     r1 = sb;
    0x0003177c mov r0, r4                            |     r0 = r4;
    0x00031780 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031784 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x00031788 bgt 0x316e0                           |         goto label_3;
                                                     |     }
    0x0003178c b 0x315f4                             |     goto label_0;
                                                     | label_17:
    0x00031790 ldr r1, [pc, 0x31c]                   |     r1 = *(0x31ab0);
    0x00031794 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031798 b 0x31700                             |     goto label_4;
                                                     | label_5:
    0x0003179c ldrb r2, [r7], 1                      |     r2 = *(r7);
                                                     |     r7++;
    0x000317a0 mov r1, sb                            |     r1 = sb;
    0x000317a4 mov r0, r4                            |     r0 = r4;
    0x000317a8 bl 0x10c24                            |     r0 = BIO_printf ()
    0x000317ac cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x000317b0 ble 0x315f4                           |         goto label_0;
                                                     |     }
                                                     | label_18:
    0x000317b4 ldr r2, [r5, 4]                       |     r2 = *((r5 + 4));
    0x000317b8 add r3, r8, r7                        |     r3 = r8 + r7;
    0x000317bc cmp r2, r3                            |     
                                                     |     if (r2 > r3) {
    0x000317c0 bhi 0x3179c                           |         goto label_5;
                                                     |     }
    0x000317c4 ldr r1, [pc, 0x2ec]                   |     r1 = *(0x31ab4);
    0x000317c8 mov r0, r4                            |     r0 = r4;
    0x000317cc add r1, pc, r1                        |     r1 = pc + r1;
    0x000317d0 bl 0x1108c                            |     r0 = BIO_puts ();
    0x000317d4 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x000317d8 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x000317dc ldr r2, [r5, 0x194]                   |     r2 = *((r5 + 0x194));
    0x000317e0 cmp r2, 0                             |     
                                                     |     if (r2 != 0) {
    0x000317e4 ldreq r2, [pc, 0x2d0]                 |         r2 = *((pc + 0x2d0));
                                                     |     }
                                                     |     if (r2 != 0) {
    0x000317e8 addeq r2, pc, r2                      |         r2 = pc + r2;
                                                     |     }
    0x000317ec ldr r1, [pc, 0x2cc]                   |     r1 = *(0x31abc);
    0x000317f0 mov r0, r4                            |     r0 = r4;
    0x000317f4 add r1, pc, r1                        |     r1 = pc + r1;
    0x000317f8 bl 0x10c24                            |     r0 = BIO_printf ()
    0x000317fc cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031800 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x00031804 ldr r1, [pc, 0x2b8]                   |     r1 = *(0x31ac0);
    0x00031808 mov r0, r4                            |     r0 = r4;
    0x0003180c add r1, pc, r1                        |     r1 = pc + r1;
    0x00031810 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031814 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031818 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x0003181c ldr r2, [r5, 0x190]                   |     r2 = *((r5 + 0x190));
    0x00031820 cmp r2, 0                             |     
                                                     |     if (r2 != 0) {
    0x00031824 ldreq r2, [pc, 0x29c]                 |         r2 = *((pc + 0x29c));
                                                     |     }
                                                     |     if (r2 != 0) {
    0x00031828 addeq r2, pc, r2                      |         r2 = pc + r2;
                                                     |     }
    0x0003182c ldr r1, [pc, 0x298]                   |     r1 = *(0x31ac8);
    0x00031830 mov r0, r4                            |     r0 = r4;
    0x00031834 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031838 bl 0x10c24                            |     r0 = BIO_printf ()
    0x0003183c cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031840 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x00031844 ldr r1, [pc, 0x284]                   |     r1 = *(0x31acc);
    0x00031848 mov r0, r4                            |     r0 = r4;
    0x0003184c add r1, pc, r1                        |     r1 = pc + r1;
    0x00031850 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031854 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031858 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x0003185c ldr r2, [r5, 0x208]                   |     r2 = *((r5 + 0x208));
    0x00031860 cmp r2, 0                             |     
                                                     |     if (r2 != 0) {
    0x00031864 ldreq r2, [pc, 0x268]                 |         r2 = *((pc + 0x268));
                                                     |     }
                                                     |     if (r2 != 0) {
    0x00031868 addeq r2, pc, r2                      |         r2 = pc + r2;
                                                     |     }
    0x0003186c ldr r1, [pc, 0x264]                   |     r1 = *(0x31ad4);
    0x00031870 mov r0, r4                            |     r0 = r4;
    0x00031874 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031878 bl 0x10c24                            |     r0 = BIO_printf ()
    0x0003187c cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031880 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x00031884 ldr r2, [r5, 0x1f0]                   |     r2 = *((r5 + 0x1f0));
    0x00031888 cmp r2, 0                             |     
                                                     |     if (r2 != 0) {
    0x0003188c bne 0x319cc                           |         goto label_19;
                                                     |     }
                                                     | label_7:
    0x00031890 ldr r3, [r5, 0x1e8]                   |     r3 = *((r5 + 0x1e8));
    0x00031894 cmp r3, 0                             |     
                                                     |     if (r3 != 0) {
    0x00031898 bne 0x319e8                           |         goto label_20;
                                                     |     }
                                                     | label_8:
    0x0003189c ldr r3, [r5, 0x1b8]                   |     r3 = *((r5 + 0x1b8));
    0x000318a0 cmp r3, 0                             |     
                                                     |     if (r3 == 0) {
    0x000318a4 beq 0x318fc                           |         goto label_21;
                                                     |     }
    0x000318a8 mov r3, 0                             |     r3 = 0;
    0x000318ac add r2, sp, 0x18                      |     r2 += var_18h;
    0x000318b0 str r3, [r2, -4]!                     |     *((r2 -= 4)) = r3;
    0x000318b4 mov r1, r3                            |     r1 = r3;
    0x000318b8 stmib sp, {r2, r3}                    |     __asm ("stmib sp, {r2, r3}");
    0x000318bc str r3, [sp]                          |     *(sp) = r3;
    0x000318c0 mov r2, r3                            |     r2 = r3;
    0x000318c4 mov r0, r5                            |     r0 = r5;
    0x000318c8 bl 0x230a0                            |     r0 = fcn_000230a0 (r0, r1, r2, r3, r4);
    0x000318cc cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x000318d0 beq 0x315f4                           |         goto label_0;
                                                     |     }
    0x000318d4 ldr r2, [sp, 0x14]                    |     r2 = var_14h;
    0x000318d8 cmp r2, 0                             |     
                                                     |     if (r2 != 0) {
    0x000318dc bne 0x31a20                           |         goto label_22;
                                                     |     }
    0x000318e0 ldr r1, [pc, 0x1f4]                   |     r1 = *(0x31ad8);
    0x000318e4 ldr r2, [r5, 0x1b8]                   |     r2 = *((r5 + 0x1b8));
    0x000318e8 add r1, pc, r1                        |     r1 = pc + r1;
    0x000318ec mov r0, r4                            |     r0 = r4;
    0x000318f0 bl 0x10c24                            |     r0 = BIO_printf ()
                                                     | label_9:
    0x000318f4 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x000318f8 ble 0x315f4                           |         goto label_0;
                                                     |     }
                                                     | label_21:
    0x000318fc ldr r2, [r5, 0x1b4]                   |     r2 = *((r5 + 0x1b4));
    0x00031900 cmp r2, 0                             |     
                                                     |     if (r2 != 0) {
    0x00031904 bne 0x31a38                           |         goto label_23;
                                                     |     }
                                                     | label_10:
    0x00031908 ldr r2, [r5, 0x1b0]                   |     r2 = *((r5 + 0x1b0));
    0x0003190c cmp r2, 0                             |     
                                                     |     if (r2 != 0) {
    0x00031910 bne 0x31a54                           |         goto label_24;
                                                     |     }
                                                     | label_11:
    0x00031914 ldr r1, [pc, 0x1c4]                   |     r1 = *(0x31adc);
    0x00031918 mov r0, r4                            |     r0 = r4;
    0x0003191c add r1, pc, r1                        |     r1 = pc + r1;
    0x00031920 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031924 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031928 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x0003192c ldr r1, [pc, 0x1b0]                   |     r1 = *(0x31ae0);
    0x00031930 mov r0, r4                            |     r0 = r4;
    0x00031934 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031938 bl 0x1108c                            |     r0 = BIO_puts ();
    0x0003193c cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031940 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x00031944 ldr r7, [r5, 0x1a8]                   |     r7 = *((r5 + 0x1a8));
    0x00031948 mov r0, r7                            |     r0 = r7;
    0x0003194c bl 0x11c38                            |     X509_verify_cert_error_string ();
    0x00031950 ldr r1, [pc, 0x190]                   |     r1 = *(0x31ae4);
    0x00031954 mov r2, r7                            |     r2 = r7;
    0x00031958 add r1, pc, r1                        |     r1 = pc + r1;
    0x0003195c mov r3, r0                            |     r3 = r0;
    0x00031960 mov r0, r4                            |     r0 = r4;
    0x00031964 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031968 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x0003196c ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x00031970 ldr r3, [r5, 0x214]                   |     r3 = *((r5 + 0x214));
    0x00031974 tst r3, 1                             |     
                                                     |     if ((r3 & 1) != 0) {
    0x00031978 bne 0x31a70                           |         goto label_25;
                                                     |     }
    0x0003197c ldr r2, [pc, 0x168]                   |     r2 = *(0x31ae8);
    0x00031980 add r2, pc, r2                        |     r2 = pc + r2;
                                                     | label_12:
    0x00031984 ldr r1, [pc, 0x164]                   |     r1 = *(0x31aec);
    0x00031988 mov r0, r4                            |     r0 = r4;
    0x0003198c add r1, pc, r1                        |     r1 = pc + r1;
    0x00031990 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031994 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031998 ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x0003199c cmp r6, 0x304                         |     
                                                     |     if (r6 != 0x304) {
    0x000319a0 movne r0, 1                           |         r0 = 1;
                                                     |         goto label_26;
                                                     |     }
                                                     |     if (r6 != 0x304) {
                                                     | label_26:
    0x000319a4 bne 0x315f8                           |         goto label_6;
                                                     |     }
    0x000319a8 ldr r1, [pc, 0x144]                   |     r1 = *(0x31af0);
    0x000319ac ldr r2, [r5, 0x1f8]                   |     r2 = *((r5 + 0x1f8));
    0x000319b0 add r1, pc, r1                        |     r1 = pc + r1;
    0x000319b4 mov r0, r4                            |     r0 = r4;
    0x000319b8 bl 0x10c24                            |     r0 = BIO_printf ()
    0x000319bc cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x000319c0 movle r0, 0                           |         r0 = 0;
                                                     |     }
                                                     |     if (r0 <= 0) {
    0x000319c4 movgt r0, 1                           |         r0 = 1;
                                                     |     }
    0x000319c8 b 0x315f8                             |     goto label_6;
                                                     | label_19:
    0x000319cc ldr r1, [pc, 0x124]                   |     r1 = *(0x31af4);
    0x000319d0 mov r0, r4                            |     r0 = r4;
    0x000319d4 add r1, pc, r1                        |     r1 = pc + r1;
    0x000319d8 bl 0x10c24                            |     r0 = BIO_printf ()
    0x000319dc cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x000319e0 bgt 0x31890                           |         goto label_7;
                                                     |     }
    0x000319e4 b 0x315f4                             |     goto label_0;
                                                     | label_20:
    0x000319e8 ldr r1, [pc, 0x10c]                   |     r1 = *(0x31af8);
    0x000319ec mov r0, r4                            |     r0 = r4;
    0x000319f0 add r1, pc, r1                        |     r1 = pc + r1;
    0x000319f4 bl 0x1108c                            |     r0 = BIO_puts ();
    0x000319f8 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x000319fc ble 0x315f4                           |         goto label_0;
                                                     |     }
    0x00031a00 mov r3, 4                             |     r3 = 4;
    0x00031a04 ldr r2, [r5, 0x1ec]                   |     r2 = *((r5 + 0x1ec));
    0x00031a08 ldr r1, [r5, 0x1e8]                   |     r1 = *((r5 + 0x1e8));
    0x00031a0c mov r0, r4                            |     r0 = r4;
    0x00031a10 bl 0x10cb4                            |     r0 = BIO_dump_indent ();
    0x00031a14 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x00031a18 bgt 0x3189c                           |         goto label_8;
                                                     |     }
    0x00031a1c b 0x315f4                             |     goto label_0;
                                                     | label_22:
    0x00031a20 ldr r1, [pc, 0xd8]                    |     r1 = *(0x31afc);
    0x00031a24 ldm r2, {r2, r3}                      |     r2 = *(r2);
                                                     |     r3 = *((r2 + 4));
    0x00031a28 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031a2c mov r0, r4                            |     r0 = r4;
    0x00031a30 bl 0x10c24                            |     BIO_printf ()
    0x00031a34 b 0x318f4                             |     goto label_9;
                                                     | label_23:
    0x00031a38 ldr r1, [pc, 0xc4]                    |     r1 = *(0x31b00);
    0x00031a3c mov r0, r4                            |     r0 = r4;
    0x00031a40 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031a44 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031a48 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x00031a4c bgt 0x31908                           |         goto label_10;
                                                     |     }
    0x00031a50 b 0x315f4                             |     goto label_0;
                                                     | label_24:
    0x00031a54 ldr r1, [pc, 0xac]                    |     r1 = *(0x31b04);
    0x00031a58 mov r0, r4                            |     r0 = r4;
    0x00031a5c add r1, pc, r1                        |     r1 = pc + r1;
    0x00031a60 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031a64 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x00031a68 bgt 0x31914                           |         goto label_11;
                                                     |     }
    0x00031a6c b 0x315f4                             |     goto label_0;
                                                     | label_25:
    0x00031a70 ldr r2, [pc, 0x94]                    |     r2 = *(0x31b08);
    0x00031a74 add r2, pc, r2                        |     r2 = pc + r2;
    0x00031a78 b 0x31984                             |     goto label_12;
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/lib/libssl.so.1.1 @ 0x31b10 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.SSL_SESSION_print_fp ()              | void SSL_SESSION_print_fp (int32_t arg1, int32_t arg2) {
                                                     |     int32_t var_0h;
                                                     |     int32_t var_8h;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00031b10 push {r0, r1, r4, r5, r6, lr}         |     
    0x00031b14 mov r5, r1                            |     r5 = r1;
    0x00031b18 mov r6, r0                            |     r6 = r0;
    0x00031b1c bl 0x11278                            |     BIO_s_file ();
    0x00031b20 bl 0x11398                            |     r0 = BIO_new ();
    0x00031b24 subs r4, r0, 0                        |     r4 = r0 - 0;
                                                     |     if (r4 != r0) {
    0x00031b28 bne 0x31b5c                           |         goto label_0;
                                                     |     }
    0x00031b2c mov r3, 0x16                          |     r3 = 0x16;
    0x00031b30 str r3, [sp]                          |     *(sp) = r3;
    0x00031b34 ldr r3, [pc, 0x4c]                    |     r3 = *(0x31b84);
    0x00031b38 mov r2, 7                             |     r2 = 7;
    0x00031b3c add r3, pc, r3                        |     r3 = pc + r3;
    0x00031b40 mov r1, 0xbe                          |     r1 = 0xbe;
    0x00031b44 mov r0, 0x14                          |     r0 = 0x14;
    0x00031b48 bl 0x11ab8                            |     ERR_put_error ();
    0x00031b4c mov r5, r4                            |     r5 = r4;
                                                     |     do {
    0x00031b50 mov r0, r5                            |         r0 = r5;
    0x00031b54 add sp, sp, 8                         |         
    0x00031b58 pop {r4, r5, r6, pc}                  |         
                                                     | label_0:
    0x00031b5c mov r3, r6                            |         r3 = r6;
    0x00031b60 mov r2, 0                             |         r2 = 0;
    0x00031b64 mov r1, 0x6a                          |         r1 = 0x6a;
    0x00031b68 bl 0x11dc4                            |         BIO_ctrl ();
    0x00031b6c mov r1, r5                            |         r1 = r5;
    0x00031b70 mov r0, r4                            |         r0 = r4;
    0x00031b74 bl 0x315e4                            |         r0 = SSL_SESSION_print ();
    0x00031b78 mov r5, r0                            |         r5 = r0;
    0x00031b7c mov r0, r4                            |         r0 = r4;
    0x00031b80 bl 0x11ddc                            |         BIO_free ();
    0x00031b84 b 0x31b50                             |         
                                                     |     } while (1);
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/lib/libssl.so.1.1 @ 0x31b8c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.SSL_SESSION_print_keylog ()          | void SSL_SESSION_print_keylog (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00031b8c push {r4, r5, r6, r7, r8, lr}         |     
    0x00031b90 subs r4, r1, 0                        |     r4 = r1 - 0;
    0x00031b94 bne 0x31ba0                           |     
                                                     |     while (r3 == 0) {
                                                     | label_0:
    0x00031b98 mov r0, 0                             |         r0 = 0;
    0x00031b9c pop {r4, r5, r6, r7, r8, pc}          |         
    0x00031ba0 ldr r3, [r4, 0x148]                   |         r3 = *((r4 + 0x148));
    0x00031ba4 cmp r3, 0                             |         
    0x00031ba8 beq 0x31b98                           |         
                                                     |     }
    0x00031bac ldr r3, [r4, 4]                       |     r3 = *((r4 + 4));
    0x00031bb0 cmp r3, 0                             |     
                                                     |     if (r3 == 0) {
    0x00031bb4 beq 0x31b98                           |         goto label_0;
                                                     |     }
    0x00031bb8 ldr r1, [pc, 0xe0]                    |     r1 = *(0x31c9c);
    0x00031bbc mov r5, r0                            |     r5 = r0;
    0x00031bc0 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031bc4 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031bc8 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031bcc ble 0x31b98                           |         goto label_0;
                                                     |     }
    0x00031bd0 ldr r1, [pc, 0xcc]                    |     r1 = *(0x31ca0);
    0x00031bd4 mov r0, r5                            |     r0 = r5;
    0x00031bd8 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031bdc bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031be0 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031be4 ble 0x31b98                           |         goto label_0;
                                                     |     }
    0x00031be8 ldr r7, [pc, 0xb8]                    |     r7 = *(0x31ca4);
    0x00031bec ldr r8, [pc, 0xb8]                    |     r8 = *(0x31ca8);
    0x00031bf0 add r6, r4, 0x14c                     |     r6 = r4 + 0x14c;
    0x00031bf4 sub r7, r7, r4                        |     r7 -= r4;
    0x00031bf8 add r8, pc, r8                        |     r8 = pc + r8;
                                                     | label_1:
    0x00031bfc ldr r2, [r4, 0x148]                   |     r2 = *((r4 + 0x148));
    0x00031c00 add r3, r7, r6                        |     r3 = r7 + r6;
    0x00031c04 cmp r2, r3                            |     
                                                     |     if (r2 > r3) {
    0x00031c08 bhi 0x31c68                           |         goto label_3;
                                                     |     }
    0x00031c0c ldr r1, [pc, 0x9c]                    |     r1 = *(0x31cac);
    0x00031c10 mov r0, r5                            |     r0 = r5;
    0x00031c14 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031c18 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031c1c cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031c20 ble 0x31b98                           |         goto label_0;
                                                     |     }
    0x00031c24 ldr r8, [pc, 0x88]                    |     r8 = *(0x31cb0);
    0x00031c28 mvn r7, 0x47                          |     r7 = ~0x47;
    0x00031c2c add r6, r4, 0x48                      |     r6 = r4 + 0x48;
    0x00031c30 sub r7, r7, r4                        |     r7 -= r4;
    0x00031c34 add r8, pc, r8                        |     r8 = pc + r8;
                                                     | label_2:
    0x00031c38 ldr r2, [r4, 4]                       |     r2 = *((r4 + 4));
    0x00031c3c add r3, r7, r6                        |     r3 = r7 + r6;
    0x00031c40 cmp r2, r3                            |     
                                                     |     if (r2 > r3) {
    0x00031c44 bhi 0x31c84                           |         goto label_4;
                                                     |     }
    0x00031c48 ldr r1, [pc, 0x68]                    |     r1 = *(0x31cb4);
    0x00031c4c mov r0, r5                            |     r0 = r5;
    0x00031c50 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031c54 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031c58 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x00031c5c movle r0, 0                           |         r0 = 0;
                                                     |     }
                                                     |     if (r0 <= 0) {
    0x00031c60 movgt r0, 1                           |         r0 = 1;
                                                     |     }
    0x00031c64 pop {r4, r5, r6, r7, r8, pc}          |     
                                                     | label_3:
    0x00031c68 ldrb r2, [r6], 1                      |     r2 = *(r6);
                                                     |     r6++;
    0x00031c6c mov r1, r8                            |     r1 = r8;
    0x00031c70 mov r0, r5                            |     r0 = r5;
    0x00031c74 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031c78 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x00031c7c bgt 0x31bfc                           |         goto label_1;
                                                     |     }
    0x00031c80 b 0x31b98                             |     goto label_0;
                                                     | label_4:
    0x00031c84 ldrb r2, [r6], 1                      |     r2 = *(r6);
                                                     |     r6++;
    0x00031c88 mov r1, r8                            |     r1 = r8;
    0x00031c8c mov r0, r5                            |     r0 = r5;
    0x00031c90 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031c94 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x00031c98 bgt 0x31c38                           |         goto label_2;
                                                     |     }
    0x00031c9c b 0x31b98                             |     goto label_0;
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/lib/libssl.so.1.1 @ 0x31b8c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.SSL_SESSION_print_keylog ()          | void SSL_SESSION_print_keylog (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00031b8c push {r4, r5, r6, r7, r8, lr}         |     
    0x00031b90 subs r4, r1, 0                        |     r4 = r1 - 0;
    0x00031b94 bne 0x31ba0                           |     
                                                     |     while (r3 == 0) {
                                                     | label_0:
    0x00031b98 mov r0, 0                             |         r0 = 0;
    0x00031b9c pop {r4, r5, r6, r7, r8, pc}          |         
    0x00031ba0 ldr r3, [r4, 0x148]                   |         r3 = *((r4 + 0x148));
    0x00031ba4 cmp r3, 0                             |         
    0x00031ba8 beq 0x31b98                           |         
                                                     |     }
    0x00031bac ldr r3, [r4, 4]                       |     r3 = *((r4 + 4));
    0x00031bb0 cmp r3, 0                             |     
                                                     |     if (r3 == 0) {
    0x00031bb4 beq 0x31b98                           |         goto label_0;
                                                     |     }
    0x00031bb8 ldr r1, [pc, 0xe0]                    |     r1 = *(0x31c9c);
    0x00031bbc mov r5, r0                            |     r5 = r0;
    0x00031bc0 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031bc4 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031bc8 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031bcc ble 0x31b98                           |         goto label_0;
                                                     |     }
    0x00031bd0 ldr r1, [pc, 0xcc]                    |     r1 = *(0x31ca0);
    0x00031bd4 mov r0, r5                            |     r0 = r5;
    0x00031bd8 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031bdc bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031be0 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031be4 ble 0x31b98                           |         goto label_0;
                                                     |     }
    0x00031be8 ldr r7, [pc, 0xb8]                    |     r7 = *(0x31ca4);
    0x00031bec ldr r8, [pc, 0xb8]                    |     r8 = *(0x31ca8);
    0x00031bf0 add r6, r4, 0x14c                     |     r6 = r4 + 0x14c;
    0x00031bf4 sub r7, r7, r4                        |     r7 -= r4;
    0x00031bf8 add r8, pc, r8                        |     r8 = pc + r8;
                                                     | label_1:
    0x00031bfc ldr r2, [r4, 0x148]                   |     r2 = *((r4 + 0x148));
    0x00031c00 add r3, r7, r6                        |     r3 = r7 + r6;
    0x00031c04 cmp r2, r3                            |     
                                                     |     if (r2 > r3) {
    0x00031c08 bhi 0x31c68                           |         goto label_3;
                                                     |     }
    0x00031c0c ldr r1, [pc, 0x9c]                    |     r1 = *(0x31cac);
    0x00031c10 mov r0, r5                            |     r0 = r5;
    0x00031c14 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031c18 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031c1c cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00031c20 ble 0x31b98                           |         goto label_0;
                                                     |     }
    0x00031c24 ldr r8, [pc, 0x88]                    |     r8 = *(0x31cb0);
    0x00031c28 mvn r7, 0x47                          |     r7 = ~0x47;
    0x00031c2c add r6, r4, 0x48                      |     r6 = r4 + 0x48;
    0x00031c30 sub r7, r7, r4                        |     r7 -= r4;
    0x00031c34 add r8, pc, r8                        |     r8 = pc + r8;
                                                     | label_2:
    0x00031c38 ldr r2, [r4, 4]                       |     r2 = *((r4 + 4));
    0x00031c3c add r3, r7, r6                        |     r3 = r7 + r6;
    0x00031c40 cmp r2, r3                            |     
                                                     |     if (r2 > r3) {
    0x00031c44 bhi 0x31c84                           |         goto label_4;
                                                     |     }
    0x00031c48 ldr r1, [pc, 0x68]                    |     r1 = *(0x31cb4);
    0x00031c4c mov r0, r5                            |     r0 = r5;
    0x00031c50 add r1, pc, r1                        |     r1 = pc + r1;
    0x00031c54 bl 0x1108c                            |     r0 = BIO_puts ();
    0x00031c58 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x00031c5c movle r0, 0                           |         r0 = 0;
                                                     |     }
                                                     |     if (r0 <= 0) {
    0x00031c60 movgt r0, 1                           |         r0 = 1;
                                                     |     }
    0x00031c64 pop {r4, r5, r6, r7, r8, pc}          |     
                                                     | label_3:
    0x00031c68 ldrb r2, [r6], 1                      |     r2 = *(r6);
                                                     |     r6++;
    0x00031c6c mov r1, r8                            |     r1 = r8;
    0x00031c70 mov r0, r5                            |     r0 = r5;
    0x00031c74 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031c78 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x00031c7c bgt 0x31bfc                           |         goto label_1;
                                                     |     }
    0x00031c80 b 0x31b98                             |     goto label_0;
                                                     | label_4:
    0x00031c84 ldrb r2, [r6], 1                      |     r2 = *(r6);
                                                     |     r6++;
    0x00031c88 mov r1, r8                            |     r1 = r8;
    0x00031c8c mov r0, r5                            |     r0 = r5;
    0x00031c90 bl 0x10c24                            |     r0 = BIO_printf ()
    0x00031c94 cmp r0, 0                             |     
                                                     |     if (r0 > 0) {
    0x00031c98 bgt 0x31c38                           |         goto label_2;
                                                     |     }
    0x00031c9c b 0x31b98                             |     goto label_0;
                                                     | }

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