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

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


[*] Function printf tear down of libcrypto.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/libcrypto.so.1.1 @ 0x5ba48 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.0005ba48 ()                                      | void fcn_0005ba48 (int32_t arg_f0h, int32_t arg_f4h, int32_t arg_f8h, int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_18h;
                                                                 |     int32_t var_1ch;
                                                                 |     int32_t var_20h;
                                                                 |     int32_t var_24h;
                                                                 |     int32_t var_28h;
                                                                 |     int32_t var_2ch;
                                                                 |     int32_t var_30h;
                                                                 |     int32_t var_34h;
                                                                 |     int32_t var_38h;
                                                                 |     int32_t var_3ch;
                                                                 |     int32_t var_40h;
                                                                 |     int32_t var_44h;
                                                                 |     int32_t var_48h;
                                                                 |     int32_t var_c8h;
                                                                 |     int32_t var_cch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0005ba48 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0005ba4c sub sp, sp, 0xcc                                  |     
    0x0005ba50 str r3, [sp, 0x18]                                |     var_18h = r3;
    0x0005ba54 ldr r3, [sp, 0xf0]                                |     r3 = *(arg_f0h);
    0x0005ba58 mov fp, 0                                         |     
    0x0005ba5c cmp r3, 0x81                                      |     
    0x0005ba60 ldr r6, [sp, 0xf8]                                |     r6 = *(arg_f8h);
    0x0005ba64 str fp, [sp, 0x44]                                |     var_44h = fp;
                                                                 |     if (r3 != 0x81) {
    0x0005ba68 bne 0x5ba88                                       |         goto label_25;
                                                                 |     }
    0x0005ba6c ldr r1, [pc, 0x994]                               |     r1 = *(0x5c404);
    0x0005ba70 mov r5, fp                                        |     r5 = fp;
    0x0005ba74 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005ba78 bl 0x6e860                                        |     BIO_puts ();
                                                                 |     do {
    0x0005ba7c mov r0, r5                                        |         r0 = r5;
    0x0005ba80 add sp, sp, 0xcc                                  |         
    0x0005ba84 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_25:
    0x0005ba88 ldr r3, [r1]                                      |         r3 = *(r1);
    0x0005ba8c mov r4, r0                                        |         r4 = r0;
    0x0005ba90 str r3, [sp, 0x30]                                |         var_30h = r3;
    0x0005ba94 add r3, r3, r2                                    |         r3 += r2;
    0x0005ba98 str r3, [sp, 0x1c]                                |         var_1ch = r3;
    0x0005ba9c ldr r3, [sp, 0xf4]                                |         r3 = *(arg_f4h);
    0x0005baa0 mov sb, r1                                        |         sb = r1;
    0x0005baa4 cmp r3, 0                                         |         
    0x0005baa8 ldr r3, [sp, 0xf0]                                |         r3 = *(arg_f0h);
                                                                 |         if (r3 != 0) {
    0x0005baac moveq r3, 0                                       |             r3 = 0;
                                                                 |         }
    0x0005bab0 str r3, [sp, 0x20]                                |         var_20h = r3;
    0x0005bab4 ldr r3, [pc, 0x950]                               |         r3 = *(0x5c408);
    0x0005bab8 mov r5, r2                                        |         r5 = r2;
    0x0005babc add r3, pc, r3                                    |         r3 = pc + r3;
    0x0005bac0 str r3, [sp, 0x24]                                |         var_24h = r3;
    0x0005bac4 ldr r3, [pc, 0x944]                               |         r3 = *(0x5c40c);
    0x0005bac8 add r3, pc, r3                                    |         r3 = pc + r3;
    0x0005bacc str r3, [sp, 0x28]                                |         var_28h = r3;
                                                                 | label_7:
    0x0005bad0 cmp r5, 0                                         |         
                                                                 |         if (r5 > 0) {
    0x0005bad4 movle r7, 0                                       |             r7 = 0;
                                                                 |         }
                                                                 |         if (r5 > 0) {
    0x0005bad8 movle r5, 1                                       |             r5 = 1;
                                                                 |         }
                                                                 |         if (r5 > 0) {
    0x0005badc ble 0x5bb68                                       |             
    0x0005bae0 str r5, [sp]                                      |             *(sp) = r5;
    0x0005bae4 add r3, sp, 0x40                                  |             r3 += var_40h;
    0x0005bae8 add r2, sp, 0x3c                                  |             r2 += var_3ch;
    0x0005baec add r1, sp, 0x38                                  |             r1 += var_38h;
    0x0005baf0 add r0, sp, 0x30                                  |             r0 += var_30h;
    0x0005baf4 ldr r8, [sp, 0x30]                                |             r8 = var_30h;
    0x0005baf8 bl 0x5b3b0                                        |             ASN1_get_object ();
    0x0005bafc tst r0, 0x80                                      |             
    0x0005bb00 mov sl, r0                                        |             sl = r0;
                                                                 |             if ((r0 & 0x80) != 0) {
    0x0005bb04 beq 0x5bb28                                       |                 
    0x0005bb08 ldr r1, [pc, 0x904]                               |                 r1 = *(0x5c410);
    0x0005bb0c mov r2, 0x12                                      |                 r2 = 0x12;
    0x0005bb10 add r1, pc, r1                                    |                 r1 = pc + r1;
    0x0005bb14 mov r0, r4                                        |                 r0 = r4;
    0x0005bb18 bl 0x6e820                                        |                 BIO_write ();
    0x0005bb1c mov r7, 0                                         |                 r7 = 0;
                                                                 | label_9:
    0x0005bb20 mov r5, 0                                         |                 r5 = 0;
    0x0005bb24 b 0x5bb68                                         |                 
                                                                 |             } else {
    0x0005bb28 ldr r3, [sp, 0x30]                                |                 r3 = var_30h;
    0x0005bb2c ldr r2, [sb]                                      |                 r2 = *(sb);
    0x0005bb30 sub r7, r3, r8                                    |                 r7 = r3 - r8;
    0x0005bb34 str r3, [sp, 0x10]                                |                 var_10h = r3;
    0x0005bb38 sub r3, r5, r7                                    |                 r3 = r5 - r7;
    0x0005bb3c str r3, [sp, 0x14]                                |                 var_14h = r3;
    0x0005bb40 ldr r3, [sp, 0x18]                                |                 r3 = var_18h;
    0x0005bb44 sub r2, r8, r2                                    |                 r2 = r8 - r2;
    0x0005bb48 add r2, r2, r3                                    |                 r2 += r3;
    0x0005bb4c ldr r1, [sp, 0x24]                                |                 r1 = var_24h;
    0x0005bb50 mov r0, r4                                        |                 r0 = r4;
    0x0005bb54 bl 0x6bbc4                                        |                 r0 = BIO_printf ()
    0x0005bb58 cmp r0, 0                                         |                 
                                                                 |                 if (r0 > 0) {
    0x0005bb5c bgt 0x5bb84                                       |                     goto label_26;
                                                                 |                 }
                                                                 | label_0:
    0x0005bb60 mov r5, 0                                         |                 r5 = 0;
    0x0005bb64 mov r7, r5                                        |                 r7 = r5;
                                                                 |             }
                                                                 |         }
                                                                 | label_13:
    0x0005bb68 ldr r0, [sp, 0x44]                                |         r0 = var_44h;
    0x0005bb6c bl 0x560f4                                        |         ASN1_OBJECT_free ();
    0x0005bb70 mov r0, r7                                        |         r0 = r7;
    0x0005bb74 bl 0x65840                                        |         ASN1_OCTET_STRING_free ();
    0x0005bb78 ldr r3, [sp, 0x30]                                |         r3 = var_30h;
    0x0005bb7c str r3, [sb]                                      |         *(sb) = r3;
    0x0005bb80 b 0x5ba7c                                         |         
                                                                 |     } while (1);
                                                                 | label_26:
    0x0005bb84 cmp sl, 0x21                                      |     
                                                                 |     if (sl == 0x21) {
    0x0005bb88 beq 0x5bca4                                       |         goto label_27;
                                                                 |     }
    0x0005bb8c ldr r3, [sp, 0x38]                                |     r3 = var_38h;
    0x0005bb90 ldr r1, [pc, 0x880]                               |     r1 = *(0x5c414);
    0x0005bb94 str r3, [sp]                                      |     *(sp) = r3;
    0x0005bb98 ldr r2, [sp, 0xf0]                                |     r2 = *(arg_f0h);
    0x0005bb9c mov r3, r7                                        |     r3 = r7;
    0x0005bba0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bba4 mov r0, r4                                        |     r0 = r4;
    0x0005bba8 bl 0x6bbc4                                        |     r0 = BIO_printf ()
                                                                 | label_1:
    0x0005bbac cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005bbb0 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005bbb4 ands r2, sl, 0x20                                 |     r2 = sl & 0x20;
    0x0005bbb8 ldr r5, [sp, 0x3c]                                |     r5 = var_3ch;
    0x0005bbbc ldr r3, [sp, 0x40]                                |     r3 = var_40h;
    0x0005bbc0 str r2, [sp, 0x2c]                                |     var_2ch = r2;
                                                                 |     if (r2 == sl) {
    0x0005bbc4 beq 0x5bcc0                                       |         goto label_28;
                                                                 |     }
    0x0005bbc8 ldr r1, [pc, 0x84c]                               |     r1 = *(0x5c418);
    0x0005bbcc add r1, pc, r1                                    |     r1 = pc + r1;
                                                                 | label_2:
    0x0005bbd0 mov r2, 6                                         |     r2 = 6;
    0x0005bbd4 mov r0, r4                                        |     r0 = r4;
    0x0005bbd8 str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x0005bbdc bl 0x6e820                                        |     BIO_write ();
    0x0005bbe0 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x0005bbe4 cmp r0, 5                                         |     
                                                                 |     if (r0 <= 5) {
    0x0005bbe8 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005bbec mov r2, 0x80                                      |     r2 = 0x80;
    0x0005bbf0 ldr r1, [sp, 0x20]                                |     r1 = var_20h;
    0x0005bbf4 mov r0, r4                                        |     r0 = r4;
    0x0005bbf8 str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x0005bbfc bl 0x6eb94                                        |     BIO_indent ();
    0x0005bc00 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x0005bc04 and r2, r3, 0xc0                                  |     r2 = r3 & 0xc0;
    0x0005bc08 cmp r2, 0xc0                                      |     
                                                                 |     if (r2 != 0xc0) {
    0x0005bc0c bne 0x5bccc                                       |         goto label_29;
                                                                 |     }
    0x0005bc10 ldr r2, [pc, 0x808]                               |     r2 = *(0x5c41c);
    0x0005bc14 mov r3, r5                                        |     r3 = r5;
    0x0005bc18 add r2, pc, r2                                    |     r2 = pc + r2;
                                                                 | label_3:
    0x0005bc1c add r5, sp, 0x48                                  |     r5 += var_48h;
    0x0005bc20 mov r1, 0x80                                      |     r1 = 0x80;
    0x0005bc24 mov r0, r5                                        |     r0 = r5;
    0x0005bc28 bl 0x6bc48                                        |     BIO_snprintf ()
                                                                 | label_4:
    0x0005bc2c ldr r1, [pc, 0x7f0]                               |     r1 = *(0x5c420);
    0x0005bc30 mov r2, r5                                        |     r2 = r5;
    0x0005bc34 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bc38 mov r0, r4                                        |     r0 = r4;
    0x0005bc3c bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x0005bc40 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005bc44 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005bc48 ands r3, sl, 0x20                                 |     r3 = sl & 0x20;
    0x0005bc4c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0005bc50 beq 0x5be08                                       |         goto label_30;
                                                                 |     }
    0x0005bc54 ldr r1, [pc, 0x7cc]                               |     r1 = *(0x5c424);
    0x0005bc58 mov r2, 1                                         |     r2 = 1;
    0x0005bc5c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bc60 mov r0, r4                                        |     r0 = r4;
    0x0005bc64 ldr r8, [sp, 0x30]                                |     r8 = var_30h;
    0x0005bc68 ldr r7, [sp, 0x38]                                |     r7 = var_38h;
    0x0005bc6c bl 0x6e820                                        |     BIO_write ();
    0x0005bc70 add r7, r8, r7                                    |     r7 = r8 + r7;
    0x0005bc74 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005bc78 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005bc7c ldr r5, [sp, 0x38]                                |     r5 = var_38h;
    0x0005bc80 ldr r3, [sp, 0x14]                                |     r3 = var_14h;
    0x0005bc84 cmp r5, r3                                        |     
                                                                 |     if (r5 <= r3) {
    0x0005bc88 ble 0x5bd18                                       |         goto label_31;
                                                                 |     }
    0x0005bc8c ldr r1, [pc, 0x798]                               |     r1 = *(0x5c428);
    0x0005bc90 mov r2, r3                                        |     r2 = r3;
    0x0005bc94 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bc98 mov r0, r4                                        |     r0 = r4;
    0x0005bc9c bl 0x6bbc4                                        |     BIO_printf ()
    0x0005bca0 b 0x5bb60                                         |     goto label_0;
                                                                 | label_27:
    0x0005bca4 ldr r1, [pc, 0x784]                               |     r1 = *(0x5c42c);
    0x0005bca8 mov r3, r7                                        |     r3 = r7;
    0x0005bcac ldr r2, [sp, 0xf0]                                |     r2 = *(arg_f0h);
    0x0005bcb0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bcb4 mov r0, r4                                        |     r0 = r4;
    0x0005bcb8 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005bcbc b 0x5bbac                                         |     goto label_1;
                                                                 | label_28:
    0x0005bcc0 ldr r1, [pc, 0x76c]                               |     r1 = *(0x5c430);
    0x0005bcc4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bcc8 b 0x5bbd0                                         |     goto label_2;
                                                                 | label_29:
    0x0005bccc tst r3, 0x80                                      |     
                                                                 |     if ((r3 & 0x80) == 0) {
    0x0005bcd0 ldrne r2, [pc, 0x760]                             |         r2 = *((pc + 0x760));
                                                                 |     }
                                                                 |     if ((r3 & 0x80) == 0) {
    0x0005bcd4 movne r3, r5                                      |         r3 = r5;
                                                                 |     }
                                                                 |     if ((r3 & 0x80) != 0) {
    0x0005bcd8 addne r2, pc, r2                                  |         r2 = pc + r2;
                                                                 |         goto label_32;
                                                                 |     }
                                                                 |     if ((r3 & 0x80) != 0) {
                                                                 | label_32:
    0x0005bcdc bne 0x5bc1c                                       |         goto label_3;
                                                                 |     }
    0x0005bce0 tst r3, 0x40                                      |     
                                                                 |     if ((r3 & 0x40) == 0) {
    0x0005bce4 ldrne r2, [pc, 0x750]                             |         r2 = *((pc + 0x750));
                                                                 |     }
                                                                 |     if ((r3 & 0x40) == 0) {
    0x0005bce8 movne r3, r5                                      |         r3 = r5;
                                                                 |     }
                                                                 |     if ((r3 & 0x40) != 0) {
    0x0005bcec addne r2, pc, r2                                  |         r2 = pc + r2;
                                                                 |         goto label_33;
                                                                 |     }
                                                                 |     if ((r3 & 0x40) != 0) {
                                                                 | label_33:
    0x0005bcf0 bne 0x5bc1c                                       |         goto label_3;
                                                                 |     }
    0x0005bcf4 cmp r5, 0x1e                                      |     
                                                                 |     if (r5 <= 0x1e) {
    0x0005bcf8 ldrgt r2, [pc, 0x740]                             |         r2 = *((pc + 0x740));
                                                                 |     }
                                                                 |     if (r5 <= 0x1e) {
    0x0005bcfc movgt r3, r5                                      |         r3 = r5;
                                                                 |     }
                                                                 |     if (r5 > 0x1e) {
    0x0005bd00 addgt r2, pc, r2                                  |         r2 = pc + r2;
                                                                 |         goto label_34;
                                                                 |     }
                                                                 |     if (r5 > 0x1e) {
                                                                 | label_34:
    0x0005bd04 bgt 0x5bc1c                                       |         goto label_3;
                                                                 |     }
    0x0005bd08 mov r0, r5                                        |     r0 = r5;
    0x0005bd0c bl 0x5ba08                                        |     r0 = ASN1_tag2str ();
    0x0005bd10 mov r5, r0                                        |     r5 = r0;
    0x0005bd14 b 0x5bc2c                                         |     goto label_4;
                                                                 | label_31:
    0x0005bd18 cmp r5, 0                                         |     
    0x0005bd1c cmpeq sl, 0x21                                    |     __asm ("cmpeq sl, 0x21");
                                                                 |     if (r5 != 0) {
    0x0005bd20 ldreq r3, [sp, 0xf0]                              |         r3 = *(arg_f0h);
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0005bd24 addeq r5, sp, 0x30                                |         r5 += var_30h;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0005bd28 addeq r7, r3, 1                                   |         r7 = r3 + 1;
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x0005bd2c beq 0x5bd98                                       |         goto label_6;
                                                                 |     }
    0x0005bd30 ldr r3, [sp, 0xf0]                                |     r3 = *(arg_f0h);
    0x0005bd34 add sl, sp, 0x30                                  |     sl += var_30h;
    0x0005bd38 add r3, r3, 1                                     |     r3++;
    0x0005bd3c str r3, [sp, 0x10]                                |     var_10h = r3;
                                                                 | label_5:
    0x0005bd40 ldr r8, [sp, 0x30]                                |     r8 = var_30h;
    0x0005bd44 cmp r8, r7                                        |     
                                                                 |     if (r8 >= r7) {
    0x0005bd48 bhs 0x5bdf8                                       |         goto label_15;
                                                                 |     }
    0x0005bd4c ldr r2, [sp, 0xf4]                                |     r2 = *(arg_f4h);
    0x0005bd50 ldr r3, [sb]                                      |     r3 = *(sb);
    0x0005bd54 str r2, [sp, 4]                                   |     var_4h = r2;
    0x0005bd58 ldr r2, [sp, 0x10]                                |     r2 = var_10h;
    0x0005bd5c sub r3, r8, r3                                    |     r3 = r8 - r3;
    0x0005bd60 str r2, [sp]                                      |     *(sp) = r2;
    0x0005bd64 ldr r2, [sp, 0x18]                                |     r2 = var_18h;
    0x0005bd68 str r6, [sp, 8]                                   |     var_8h = r6;
    0x0005bd6c add r3, r3, r2                                    |     r3 += r2;
    0x0005bd70 mov r1, sl                                        |     r1 = sl;
    0x0005bd74 mov r2, r5                                        |     r2 = r5;
    0x0005bd78 mov r0, r4                                        |     r0 = r4;
    0x0005bd7c bl 0x5ba48                                        |     r0 = fcn_0005ba48 (r0, r1, r2, r3, r4);
    0x0005bd80 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0005bd84 beq 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005bd88 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x0005bd8c sub r8, r3, r8                                    |     r8 = r3 - r8;
    0x0005bd90 sub r5, r5, r8                                    |     r5 -= r8;
    0x0005bd94 b 0x5bd40                                         |     goto label_5;
                                                                 | label_6:
    0x0005bd98 ldr r1, [sp, 0xf4]                                |     r1 = *(arg_f4h);
    0x0005bd9c ldr r3, [sb]                                      |     r3 = *(sb);
    0x0005bda0 ldr r2, [sp, 0x30]                                |     r2 = var_30h;
    0x0005bda4 str r1, [sp, 4]                                   |     var_4h = r1;
    0x0005bda8 ldr r1, [sp, 0x18]                                |     r1 = var_18h;
    0x0005bdac sub r3, r2, r3                                    |     r3 = r2 - r3;
    0x0005bdb0 add r3, r3, r1                                    |     r3 += r1;
    0x0005bdb4 ldr r1, [sp, 0x1c]                                |     r1 = var_1ch;
    0x0005bdb8 str r6, [sp, 8]                                   |     var_8h = r6;
    0x0005bdbc sub r2, r1, r2                                    |     r2 = r1 - r2;
    0x0005bdc0 str r7, [sp]                                      |     *(sp) = r7;
    0x0005bdc4 mov r1, r5                                        |     r1 = r5;
    0x0005bdc8 mov r0, r4                                        |     r0 = r4;
    0x0005bdcc bl 0x5ba48                                        |     r0 = fcn_0005ba48 (r0, r1, r2, r3, r4);
    0x0005bdd0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0005bdd4 beq 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005bdd8 cmp r0, 2                                         |     
    0x0005bddc ldr r3, [sp, 0x30]                                |     r3 = var_30h;
                                                                 |     if (r0 == 2) {
    0x0005bde0 beq 0x5bdf0                                       |         goto label_35;
                                                                 |     }
    0x0005bde4 ldr r2, [sp, 0x1c]                                |     r2 = var_1ch;
    0x0005bde8 cmp r2, r3                                        |     
                                                                 |     if (r2 > r3) {
    0x0005bdec bhi 0x5bd98                                       |         goto label_6;
                                                                 |     }
                                                                 | label_35:
    0x0005bdf0 sub r8, r3, r8                                    |     r8 = r3 - r8;
    0x0005bdf4 str r8, [sp, 0x38]                                |     var_38h = r8;
                                                                 |     do {
                                                                 | label_15:
    0x0005bdf8 ldr r5, [sp, 0x38]                                |         r5 = var_38h;
    0x0005bdfc ldr r3, [sp, 0x14]                                |         r3 = var_14h;
    0x0005be00 sub r5, r3, r5                                    |         r5 = r3 - r5;
    0x0005be04 b 0x5bad0                                         |         goto label_7;
                                                                 | label_30:
    0x0005be08 ldr r5, [sp, 0x40]                                |         r5 = var_40h;
    0x0005be0c cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x0005be10 beq 0x5be44                                       |             goto label_36;
                                                                 |         }
    0x0005be14 ldr r3, [sp, 0x30]                                |         r3 = var_30h;
    0x0005be18 ldr r2, [sp, 0x38]                                |         r2 = var_38h;
    0x0005be1c ldr r1, [pc, 0x620]                               |         r1 = *(0x5c440);
    0x0005be20 add r3, r3, r2                                    |         r3 += r2;
    0x0005be24 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0005be28 mov r2, 1                                         |         r2 = 1;
    0x0005be2c mov r0, r4                                        |         r0 = r4;
    0x0005be30 str r3, [sp, 0x30]                                |         var_30h = r3;
    0x0005be34 bl 0x6e820                                        |         r0 = BIO_write ();
    0x0005be38 cmp r0, 0                                         |         
    0x0005be3c bgt 0x5bdf8                                       |         
                                                                 |     } while (r0 > 0);
    0x0005be40 b 0x5bb60                                         |     goto label_0;
                                                                 | label_36:
    0x0005be44 ldr sl, [sp, 0x3c]                                |     sl = var_3ch;
    0x0005be48 cmp sl, 0x1a                                      |     
                                                                 |     if (sl > 0x1a) {
    0x0005be4c bhi 0x5bf68                                       |         goto label_37;
                                                                 |     }
    0x0005be50 ldr r3, [pc, 0x5f0]                               |     r3 = *(0x5c444);
    0x0005be54 mvn r3, r3, lsr sl                                |     r3 = ~r3;
    0x0005be58 tst r3, 1                                         |     
                                                                 |     if ((r3 & 1) != 0) {
    0x0005be5c bne 0x5beac                                       |         goto label_38;
                                                                 |     }
    0x0005be60 ldr r1, [pc, 0x5e4]                               |     r1 = *(0x5c448);
    0x0005be64 mov r2, 1                                         |     r2 = 1;
    0x0005be68 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005be6c mov r0, r4                                        |     r0 = r4;
    0x0005be70 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005be74 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005be78 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005be7c ldr r2, [sp, 0x38]                                |     r2 = var_38h;
    0x0005be80 cmp r2, 0                                         |     
                                                                 |     if (r2 <= 0) {
    0x0005be84 ble 0x5bea0                                       |         goto label_8;
                                                                 |     }
    0x0005be88 ldr r1, [sp, 0x30]                                |     r1 = var_30h;
    0x0005be8c mov r0, r4                                        |     r0 = r4;
    0x0005be90 bl 0x6e820                                        |     BIO_write ();
    0x0005be94 ldr r3, [sp, 0x38]                                |     r3 = var_38h;
    0x0005be98 cmp r0, r3                                        |     
                                                                 |     if (r0 != r3) {
    0x0005be9c bne 0x5bb60                                       |         goto label_0;
                                                                 |     }
                                                                 | label_8:
    0x0005bea0 cmp fp, 0                                         |     
                                                                 |     if (fp != 0) {
    0x0005bea4 bne 0x5bf18                                       |         goto label_14;
                                                                 |     }
    0x0005bea8 b 0x5c0f4                                         |     goto label_39;
                                                                 | label_38:
    0x0005beac cmp sl, 6                                         |     
                                                                 |     if (sl != 6) {
    0x0005beb0 bne 0x5bf68                                       |         goto label_37;
                                                                 |     }
    0x0005beb4 ldr r2, [sp, 0x38]                                |     r2 = var_38h;
    0x0005beb8 add r1, sp, 0x34                                  |     r1 += var_34h;
    0x0005bebc add r2, r7, r2                                    |     r2 = r7 + r2;
    0x0005bec0 add r0, sp, 0x44                                  |     r0 += var_44h;
    0x0005bec4 str r8, [sp, 0x34]                                |     var_34h = r8;
    0x0005bec8 bl 0x563c8                                        |     r0 = d2i_ASN1_OBJECT ();
    0x0005becc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0005bed0 beq 0x5bf00                                       |         goto label_40;
                                                                 |     }
    0x0005bed4 ldr r1, [pc, 0x574]                               |     r1 = *(0x5c44c);
    0x0005bed8 mov r2, 1                                         |     r2 = 1;
    0x0005bedc add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bee0 mov r0, r4                                        |     r0 = r4;
    0x0005bee4 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005bee8 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005beec ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005bef0 ldr r1, [sp, 0x44]                                |     r1 = var_44h;
    0x0005bef4 mov r0, r4                                        |     r0 = r4;
    0x0005bef8 bl 0x55f58                                        |     i2a_ASN1_OBJECT ();
    0x0005befc b 0x5bea0                                         |     goto label_8;
                                                                 | label_40:
    0x0005bf00 ldr r1, [pc, 0x54c]                               |     r1 = *(0x5c450);
    0x0005bf04 mov r0, r4                                        |     r0 = r4;
    0x0005bf08 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bf0c bl 0x6e860                                        |     r0 = BIO_puts ();
    0x0005bf10 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005bf14 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
                                                                 | label_14:
    0x0005bf18 ldr r1, [pc, 0x538]                               |     r1 = *(0x5c454);
    0x0005bf1c mov r0, r4                                        |     r0 = r4;
    0x0005bf20 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bf24 bl 0x6e860                                        |     r0 = BIO_puts ();
    0x0005bf28 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005bf2c ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005bf30 ldr r7, [sp, 0x10]                                |     r7 = var_10h;
                                                                 | label_24:
    0x0005bf34 ldr r3, [sp, 0x10]                                |     r3 = var_10h;
    0x0005bf38 ldr r2, [sp, 0x38]                                |     r2 = var_38h;
    0x0005bf3c sub r3, r7, r3                                    |     r3 = r7 - r3;
    0x0005bf40 cmp r2, r3                                        |     
                                                                 |     if (r2 > r3) {
    0x0005bf44 bgt 0x5c3ec                                       |         goto label_41;
                                                                 |     }
    0x0005bf48 ldr r1, [pc, 0x50c]                               |     r1 = *(0x5c458);
    0x0005bf4c mov r0, r4                                        |     r0 = r4;
    0x0005bf50 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bf54 bl 0x6e860                                        |     r0 = BIO_puts ();
    0x0005bf58 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005bf5c ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005bf60 mov fp, 1                                         |     
    0x0005bf64 b 0x5c0ec                                         |     goto label_42;
                                                                 | label_37:
    0x0005bf68 cmp sl, 1                                         |     
                                                                 |     if (sl != 1) {
    0x0005bf6c bne 0x5bfc0                                       |         goto label_43;
                                                                 |     }
    0x0005bf70 ldr r3, [sp, 0x38]                                |     r3 = var_38h;
    0x0005bf74 cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x0005bf78 beq 0x5bf98                                       |         goto label_44;
                                                                 |     }
    0x0005bf7c ldr r1, [pc, 0x4dc]                               |     r1 = *(0x5c45c);
    0x0005bf80 mov r0, r4                                        |     r0 = r4;
    0x0005bf84 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bf88 bl 0x6e860                                        |     r0 = BIO_puts ();
    0x0005bf8c cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005bf90 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005bf94 mov fp, sl                                        |     
                                                                 | label_44:
    0x0005bf98 ldr r3, [sp, 0x38]                                |     r3 = var_38h;
    0x0005bf9c cmp r3, 0                                         |     
                                                                 |     if (r3 <= 0) {
    0x0005bfa0 ble 0x5bea0                                       |         goto label_8;
                                                                 |     }
    0x0005bfa4 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x0005bfa8 ldr r1, [pc, 0x4b4]                               |     r1 = *(0x5c460);
    0x0005bfac ldrb r2, [r3]                                     |     r2 = *(r3);
    0x0005bfb0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005bfb4 mov r0, r4                                        |     r0 = r4;
    0x0005bfb8 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005bfbc b 0x5bea0                                         |     goto label_8;
                                                                 | label_43:
    0x0005bfc0 cmp sl, 0x1e                                      |     
                                                                 |     if (sl == 0x1e) {
    0x0005bfc4 beq 0x5bea0                                       |         goto label_8;
                                                                 |     }
    0x0005bfc8 cmp sl, 4                                         |     
    0x0005bfcc ldr r2, [sp, 0x38]                                |     r2 = var_38h;
                                                                 |     if (sl != 4) {
    0x0005bfd0 bne 0x5c190                                       |         goto label_45;
                                                                 |     }
    0x0005bfd4 add r1, sp, 0xc8                                  |     r1 += var_c8h;
    0x0005bfd8 add r2, r2, r7                                    |     r2 += r7;
    0x0005bfdc str r8, [r1, -0x94]!                              |     *((r1 -= 0x94)) = r8;
    0x0005bfe0 mov r0, 0                                         |     r0 = 0;
    0x0005bfe4 bl 0x657e4                                        |     r0 = d2i_ASN1_OCTET_STRING ();
    0x0005bfe8 subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 == r0) {
    0x0005bfec beq 0x5c0dc                                       |         goto label_16;
                                                                 |     }
    0x0005bff0 ldr r0, [r7]                                      |     r0 = *(r7);
    0x0005bff4 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005bff8 ble 0x5c0dc                                       |         goto label_16;
                                                                 |     }
    0x0005bffc ldr r2, [r7, 8]                                   |     r2 = *((r7 + 8));
    0x0005c000 mov r1, r2                                        |     r1 = r2;
    0x0005c004 str r2, [sp, 0x34]                                |     var_34h = r2;
                                                                 | label_12:
    0x0005c008 ldrb r3, [r1], 1                                  |     r3 = *(r1);
                                                                 |     r1++;
    0x0005c00c cmp r3, 0x1f                                      |     
                                                                 |     if (r3 <= 0x1f) {
    0x0005c010 movhi ip, 0                                       |         
                                                                 |     }
                                                                 |     if (r3 > 0x1f) {
    0x0005c014 movls ip, 1                                       |         
                                                                 |     }
    0x0005c018 cmp r3, 0xa                                       |     
                                                                 |     if (r3 != 0xa) {
    0x0005c01c moveq ip, 0                                       |         
                                                                 |     }
    0x0005c020 cmp ip, 0                                         |     
                                                                 |     if (ip == 0) {
    0x0005c024 beq 0x5c094                                       |         goto label_46;
                                                                 |     }
    0x0005c028 and r3, r3, 0xfb                                  |     r3 &= 0xfb;
    0x0005c02c cmp r3, 9                                         |     
                                                                 |     if (r3 == 9) {
    0x0005c030 beq 0x5c09c                                       |         goto label_47;
                                                                 |     }
                                                                 | label_11:
    0x0005c034 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0005c038 bne 0x5c140                                       |         goto label_48;
                                                                 |     }
    0x0005c03c ldr r1, [pc, 0x424]                               |     r1 = *(0x5c464);
    0x0005c040 mov r2, 0xb                                       |     r2 = 0xb;
    0x0005c044 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c048 mov r0, r4                                        |     r0 = r4;
    0x0005c04c bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c050 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c054 ble 0x5bb20                                       |         goto label_9;
                                                                 |     }
    0x0005c058 ldr sl, [pc, 0x40c]                               |     sl = *(0x5c468);
    0x0005c05c mov r8, r6                                        |     r8 = r6;
    0x0005c060 add sl, pc, sl                                    |     sl = pc + sl;
                                                                 | label_10:
    0x0005c064 ldr r3, [r7]                                      |     r3 = *(r7);
    0x0005c068 cmp r3, r8                                        |     
                                                                 |     if (r3 <= r8) {
    0x0005c06c ble 0x5c0dc                                       |         goto label_16;
                                                                 |     }
    0x0005c070 ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x0005c074 mov r1, sl                                        |     r1 = sl;
    0x0005c078 ldrb r2, [r3, r8]                                 |     r2 = *((r3 + r8));
    0x0005c07c mov r0, r4                                        |     r0 = r4;
    0x0005c080 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x0005c084 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c088 ble 0x5bb20                                       |         goto label_9;
                                                                 |     }
    0x0005c08c add r8, r8, 1                                     |     r8++;
    0x0005c090 b 0x5c064                                         |     goto label_10;
                                                                 | label_46:
    0x0005c094 cmp r3, 0x7e                                      |     
                                                                 |     if (r3 > 0x7e) {
    0x0005c098 bhi 0x5c034                                       |         goto label_11;
                                                                 |     }
                                                                 | label_47:
    0x0005c09c sub r3, r1, r2                                    |     r3 = r1 - r2;
    0x0005c0a0 cmp r0, r3                                        |     
                                                                 |     if (r0 > r3) {
    0x0005c0a4 bgt 0x5c008                                       |         goto label_12;
                                                                 |     }
    0x0005c0a8 ldr r1, [pc, 0x3c0]                               |     r1 = *(0x5c46c);
    0x0005c0ac mov r2, 1                                         |     r2 = 1;
    0x0005c0b0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c0b4 mov r0, r4                                        |     r0 = r4;
    0x0005c0b8 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c0bc cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c0c0 ble 0x5bb68                                       |         goto label_13;
                                                                 |     }
    0x0005c0c4 ldr r2, [r7]                                      |     r2 = *(r7);
    0x0005c0c8 ldr r1, [sp, 0x34]                                |     r1 = var_34h;
    0x0005c0cc mov r0, r4                                        |     r0 = r4;
    0x0005c0d0 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c0d4 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c0d8 ble 0x5bb68                                       |         goto label_13;
                                                                 |     }
                                                                 | label_16:
    0x0005c0dc mov r0, r7                                        |     r0 = r7;
    0x0005c0e0 bl 0x65840                                        |     ASN1_OCTET_STRING_free ();
    0x0005c0e4 cmp fp, 0                                         |     
                                                                 |     if (fp != 0) {
    0x0005c0e8 bne 0x5bf18                                       |         goto label_14;
                                                                 |     }
                                                                 | label_42:
    0x0005c0ec cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0005c0f0 bne 0x5c110                                       |         goto label_23;
                                                                 |     }
                                                                 | label_39:
    0x0005c0f4 ldr r1, [pc, 0x378]                               |     r1 = *(0x5c470);
    0x0005c0f8 mov r2, 1                                         |     r2 = 1;
    0x0005c0fc add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c100 mov r0, r4                                        |     r0 = r4;
    0x0005c104 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c108 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c10c ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
                                                                 | label_23:
    0x0005c110 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x0005c114 ldr r2, [sp, 0x38]                                |     r2 = var_38h;
    0x0005c118 add r3, r3, r2                                    |     r3 += r2;
    0x0005c11c str r3, [sp, 0x30]                                |     var_30h = r3;
    0x0005c120 ldr r3, [sp, 0x3c]                                |     r3 = var_3ch;
    0x0005c124 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0005c128 bne 0x5bdf8                                       |         goto label_15;
                                                                 |     }
    0x0005c12c ldr r7, [sp, 0x40]                                |     r7 = var_40h;
    0x0005c130 cmp r7, 0                                         |     
                                                                 |     if (r7 != 0) {
    0x0005c134 bne 0x5bdf8                                       |         goto label_15;
                                                                 |     }
    0x0005c138 mov r5, 2                                         |     r5 = 2;
    0x0005c13c b 0x5bb68                                         |     goto label_13;
                                                                 | label_48:
    0x0005c140 ldr r1, [pc, 0x330]                               |     r1 = TS_VERIFY_CTX_free;
    0x0005c144 mov r2, 1                                         |     r2 = 1;
    0x0005c148 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c14c mov r0, r4                                        |     r0 = r4;
    0x0005c150 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c154 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c158 ble 0x5bb68                                       |         goto label_13;
                                                                 |     }
    0x0005c15c cmn r6, 1                                         |     
    0x0005c160 ldr r1, [sp, 0x34]                                |     r1 = var_34h;
    0x0005c164 ldr r2, [r7]                                      |     r2 = *(r7);
                                                                 |     if (r6 != 1) {
    0x0005c168 beq 0x5c174                                       |         
    0x0005c16c cmp r2, r6                                        |         
                                                                 |         if (r2 >= r6) {
    0x0005c170 movge r2, r6                                      |             r2 = r6;
                                                                 |             goto label_49;
                                                                 |         }
                                                                 |     }
                                                                 | label_49:
    0x0005c174 mov r3, 6                                         |     r3 = 6;
    0x0005c178 mov r0, r4                                        |     r0 = r4;
    0x0005c17c bl 0x6a508                                        |     r0 = BIO_dump_indent ();
    0x0005c180 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c184 ble 0x5bb68                                       |         goto label_13;
                                                                 |     }
    0x0005c188 mov r5, 1                                         |     r5 = 1;
    0x0005c18c b 0x5c0dc                                         |     goto label_16;
                                                                 | label_45:
    0x0005c190 cmp sl, 2                                         |     
                                                                 |     if (sl != 2) {
    0x0005c194 bne 0x5c28c                                       |         goto label_50;
                                                                 |     }
    0x0005c198 add r1, sp, 0xc8                                  |     r1 += var_c8h;
    0x0005c19c add r2, r2, r7                                    |     r2 += r7;
    0x0005c1a0 str r8, [r1, -0x94]!                              |     *((r1 -= 0x94)) = r8;
    0x0005c1a4 mov r0, 0                                         |     r0 = 0;
    0x0005c1a8 bl 0x65844                                        |     r0 = d2i_ASN1_INTEGER ();
    0x0005c1ac subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 == r0) {
    0x0005c1b0 beq 0x5c26c                                       |         goto label_51;
                                                                 |     }
    0x0005c1b4 ldr r1, [pc, 0x2c0]                               |     r1 = *(0x5c478);
    0x0005c1b8 mov r2, 1                                         |     r2 = 1;
    0x0005c1bc add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c1c0 mov r0, r4                                        |     r0 = r4;
    0x0005c1c4 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c1c8 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c1cc ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005c1d0 ldr r2, [r7, 4]                                   |     r2 = *((r7 + 4));
    0x0005c1d4 ldr r3, [pc, 0x2a4]                               |     r3 = *(0x5c47c);
    0x0005c1d8 cmp r2, r3                                        |     
                                                                 |     if (r2 == r3) {
    0x0005c1dc beq 0x5c228                                       |         goto label_52;
                                                                 |     }
                                                                 | label_17:
    0x0005c1e0 ldr sl, [pc, 0x29c]                               |     sl = *(0x5c480);
    0x0005c1e4 mov r8, 0                                         |     r8 = 0;
    0x0005c1e8 add sl, pc, sl                                    |     sl = pc + sl;
                                                                 | label_18:
    0x0005c1ec ldr r3, [r7]                                      |     r3 = *(r7);
    0x0005c1f0 cmp r3, r8                                        |     
                                                                 |     if (r3 > r8) {
    0x0005c1f4 bgt 0x5c248                                       |         goto label_53;
                                                                 |     }
    0x0005c1f8 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0005c1fc bne 0x5c21c                                       |         goto label_19;
                                                                 |     }
    0x0005c200 ldr r1, [pc, 0x280]                               |     r1 = *(0x5c484);
    0x0005c204 mov r2, 2                                         |     r2 = 2;
    0x0005c208 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c20c mov r0, r4                                        |     r0 = r4;
    0x0005c210 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c214 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c218 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
                                                                 | label_19:
    0x0005c21c mov r0, r7                                        |     r0 = r7;
    0x0005c220 bl 0x658a0                                        |     ASN1_INTEGER_free ();
    0x0005c224 b 0x5bea0                                         |     goto label_8;
                                                                 | label_52:
    0x0005c228 ldr r1, [pc, 0x25c]                               |     r1 = *(0x5c488);
    0x0005c22c mov r2, 1                                         |     r2 = 1;
    0x0005c230 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c234 mov r0, r4                                        |     r0 = r4;
    0x0005c238 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c23c cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x0005c240 bgt 0x5c1e0                                       |         goto label_17;
                                                                 |     }
    0x0005c244 b 0x5bb60                                         |     goto label_0;
                                                                 | label_53:
    0x0005c248 ldr r3, [r7, 8]                                   |     r3 = *((r7 + 8));
    0x0005c24c mov r1, sl                                        |     r1 = sl;
    0x0005c250 ldrb r2, [r3, r8]                                 |     r2 = *((r3 + r8));
    0x0005c254 mov r0, r4                                        |     r0 = r4;
    0x0005c258 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x0005c25c cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c260 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005c264 add r8, r8, 1                                     |     r8++;
    0x0005c268 b 0x5c1ec                                         |     goto label_18;
                                                                 | label_51:
    0x0005c26c ldr r1, [pc, 0x21c]                               |     r1 = *(0x5c48c);
    0x0005c270 mov r0, r4                                        |     r0 = r4;
    0x0005c274 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c278 bl 0x6e860                                        |     r0 = BIO_puts ();
    0x0005c27c cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c280 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005c284 mov fp, 1                                         |     
    0x0005c288 b 0x5c21c                                         |     goto label_19;
                                                                 | label_50:
    0x0005c28c cmp sl, 0xa                                       |     
                                                                 |     if (sl != 0xa) {
    0x0005c290 bne 0x5c388                                       |         goto label_54;
                                                                 |     }
    0x0005c294 add r1, sp, 0xc8                                  |     r1 += var_c8h;
    0x0005c298 add r2, r2, r7                                    |     r2 += r7;
    0x0005c29c str r8, [r1, -0x94]!                              |     *((r1 -= 0x94)) = r8;
    0x0005c2a0 mov r0, 0                                         |     r0 = 0;
    0x0005c2a4 bl 0x658a4                                        |     r0 = d2i_ASN1_ENUMERATED ();
    0x0005c2a8 subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 == r0) {
    0x0005c2ac beq 0x5c368                                       |         goto label_55;
                                                                 |     }
    0x0005c2b0 ldr r1, [pc, 0x1dc]                               |     r1 = *(0x5c490);
    0x0005c2b4 mov r2, 1                                         |     r2 = 1;
    0x0005c2b8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c2bc mov r0, r4                                        |     r0 = r4;
    0x0005c2c0 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c2c4 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c2c8 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005c2cc ldr r2, [r7, 4]                                   |     r2 = *((r7 + 4));
    0x0005c2d0 ldr r3, [pc, 0x1c0]                               |     r3 = *(0x5c494);
    0x0005c2d4 cmp r2, r3                                        |     
                                                                 |     if (r2 == r3) {
    0x0005c2d8 beq 0x5c324                                       |         goto label_56;
                                                                 |     }
                                                                 | label_20:
    0x0005c2dc ldr sl, [pc, 0x1b8]                               |     sl = *(0x5c498);
    0x0005c2e0 mov r8, 0                                         |     r8 = 0;
    0x0005c2e4 add sl, pc, sl                                    |     sl = pc + sl;
                                                                 | label_21:
    0x0005c2e8 ldr r3, [r7]                                      |     r3 = *(r7);
    0x0005c2ec cmp r3, r8                                        |     
                                                                 |     if (r3 > r8) {
    0x0005c2f0 bgt 0x5c344                                       |         goto label_57;
                                                                 |     }
    0x0005c2f4 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0005c2f8 bne 0x5c318                                       |         goto label_22;
                                                                 |     }
    0x0005c2fc ldr r1, [pc, 0x19c]                               |     r1 = *(0x5c49c);
    0x0005c300 mov r2, 2                                         |     r2 = 2;
    0x0005c304 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c308 mov r0, r4                                        |     r0 = r4;
    0x0005c30c bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c310 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c314 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
                                                                 | label_22:
    0x0005c318 mov r0, r7                                        |     r0 = r7;
    0x0005c31c bl 0x65900                                        |     ASN1_ENUMERATED_free ();
    0x0005c320 b 0x5bea0                                         |     goto label_8;
                                                                 | label_56:
    0x0005c324 ldr r1, [pc, 0x178]                               |     r1 = *(0x5c4a0);
    0x0005c328 mov r2, 1                                         |     r2 = 1;
    0x0005c32c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c330 mov r0, r4                                        |     r0 = r4;
    0x0005c334 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c338 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x0005c33c bgt 0x5c2dc                                       |         goto label_20;
                                                                 |     }
    0x0005c340 b 0x5bb60                                         |     goto label_0;
                                                                 | label_57:
    0x0005c344 ldr r3, [r7, 8]                                   |     r3 = *((r7 + 8));
    0x0005c348 mov r1, sl                                        |     r1 = sl;
    0x0005c34c ldrb r2, [r3, r8]                                 |     r2 = *((r3 + r8));
    0x0005c350 mov r0, r4                                        |     r0 = r4;
    0x0005c354 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x0005c358 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c35c ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005c360 add r8, r8, 1                                     |     r8++;
    0x0005c364 b 0x5c2e8                                         |     goto label_21;
                                                                 | label_55:
    0x0005c368 ldr r1, [pc, 0x138]                               |     r1 = *(0x5c4a4);
    0x0005c36c mov r0, r4                                        |     r0 = r4;
    0x0005c370 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c374 bl 0x6e860                                        |     r0 = BIO_puts ();
    0x0005c378 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c37c ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005c380 mov fp, 1                                         |     
    0x0005c384 b 0x5c318                                         |     goto label_22;
                                                                 | label_54:
    0x0005c388 cmp r6, 0                                         |     
    0x0005c38c cmpne r2, 0                                       |     __asm ("cmpne r2, 0");
                                                                 |     if (r6 <= 0) {
    0x0005c390 ble 0x5bea0                                       |         goto label_8;
                                                                 |     }
    0x0005c394 ldr r1, [pc, 0x110]                               |     r1 = *(0x5c4a8);
    0x0005c398 mov r2, 1                                         |     r2 = 1;
    0x0005c39c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005c3a0 mov r0, r4                                        |     r0 = r4;
    0x0005c3a4 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0005c3a8 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c3ac ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005c3b0 cmn r6, 1                                         |     
    0x0005c3b4 ldr r1, [sp, 0x30]                                |     r1 = var_30h;
    0x0005c3b8 ldr r2, [sp, 0x38]                                |     r2 = var_38h;
                                                                 |     if (r6 != 1) {
    0x0005c3bc beq 0x5c3c8                                       |         
    0x0005c3c0 cmp r2, r6                                        |         
                                                                 |         if (r2 >= r6) {
    0x0005c3c4 movge r2, r6                                      |             r2 = r6;
                                                                 |             goto label_58;
                                                                 |         }
                                                                 |     }
                                                                 | label_58:
    0x0005c3c8 mov r3, 6                                         |     r3 = 6;
    0x0005c3cc mov r0, r4                                        |     r0 = r4;
    0x0005c3d0 bl 0x6a508                                        |     r0 = BIO_dump_indent ();
    0x0005c3d4 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005c3d8 ble 0x5bb60                                       |         goto label_0;
                                                                 |     }
    0x0005c3dc cmp fp, 0                                         |     
                                                                 |     if (fp == 0) {
    0x0005c3e0 beq 0x5c110                                       |         goto label_23;
                                                                 |     }
    0x0005c3e4 mov r5, fp                                        |     r5 = fp;
    0x0005c3e8 b 0x5bf18                                         |     goto label_14;
                                                                 | label_41:
    0x0005c3ec ldrb r2, [r7], 1                                  |     r2 = *(r7);
                                                                 |     r7++;
    0x0005c3f0 ldr r1, [sp, 0x28]                                |     r1 = var_28h;
    0x0005c3f4 mov r0, r4                                        |     r0 = r4;
    0x0005c3f8 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x0005c3fc cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x0005c400 bgt 0x5bf34                                       |         goto label_24;
                                                                 |     }
    0x0005c404 b 0x5bb60                                         |     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/libcrypto.so.1.1 @ 0x5d734 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.0005d734 ()                                      | void fcn_0005d734 (int32_t arg_88h, int32_t arg_8ch) {
                                                                 |     int32_t var_bp_0h;
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_18h;
                                                                 |     int32_t var_1ch;
                                                                 |     int32_t var_24h;
                                                                 |     int32_t var_28h;
                                                                 |     int32_t var_2ch;
                                                                 |     int32_t var_30h;
                                                                 |     int32_t var_54h;
    0x0005d734 mov r1, 0x20                                      |     r1 = 0x20;
    0x0005d738 mov r0, fp                                        |     r0 = fp;
    0x0005d73c bl 0x13790c                                       |     r0 = RAND_bytes ();
    0x0005d740 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0005d744 movgt r2, 0                                       |         r2 = 0;
                                                                 |     }
                                                                 |     if (r0 > 0) {
    0x0005d748 bgt 0x5d770                                       |         goto label_8;
                                                                 |     }
                                                                 | label_5:
    0x0005d74c mov r0, 0                                         |     r0 = 0;
                                                                 | label_3:
    0x0005d750 add sp, sp, 0x5c                                  |     
    0x0005d754 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |     
                                                                 |     do {
                                                                 | label_8:
    0x0005d770 ldrb r3, [fp, r2]                                 |         r3 = *((fp + r2));
    0x0005d774 and r3, r3, 0xf                                   |         r3 &= 0xf;
    0x0005d778 cmp r3, 9                                         |         
                                                                 |         if (r3 > 9) {
    0x0005d77c addls r3, r3, 0x30                                |             r3 += 0x30;
                                                                 |         }
                                                                 |         if (r3 <= 9) {
    0x0005d780 addhi r3, r3, 0x37                                |             r3 += 0x37;
                                                                 |         }
    0x0005d784 strb r3, [fp, r2]                                 |         *((fp + r2)) = r3;
    0x0005d788 add r2, r2, 1                                     |         r2++;
    0x0005d78c cmp r2, 0x20                                      |         
    0x0005d790 bne 0x5d770                                       |         
                                                                 |     } while (r2 != 0x20);
    0x0005d794 ldr r1, [pc, 0x55c]                               |     r1 = *(0x5dcf4);
    0x0005d798 mov r6, 0                                         |     r6 = 0;
    0x0005d79c mov r2, r5                                        |     r2 = r5;
    0x0005d7a0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d7a4 mov r0, r4                                        |     r0 = r4;
    0x0005d7a8 strb r6, [sp, 0x54]                               |     var_54h = r6;
    0x0005d7ac bl 0x6bbc4                                        |     BIO_printf ()
    0x0005d7b0 ldr r1, [pc, 0x544]                               |     r1 = *(0x5dcf8);
    0x0005d7b4 mov r0, r4                                        |     r0 = r4;
    0x0005d7b8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d7bc bl 0x6bbc4                                        |     BIO_printf ()
    0x0005d7c0 ldr r1, [pc, 0x538]                               |     r1 = *(0x5dcfc);
    0x0005d7c4 ldr r2, [sp, 8]                                   |     r2 = var_8h;
    0x0005d7c8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d7cc mov r0, r4                                        |     r0 = r4;
    0x0005d7d0 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005d7d4 ldr r1, [pc, 0x528]                               |     r1 = *(0x5dd00);
    0x0005d7d8 mov r0, r4                                        |     r0 = r4;
    0x0005d7dc add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d7e0 bl 0x6e860                                        |     BIO_puts ();
    0x0005d7e4 ldr r3, [pc, 0x51c]                               |     r3 = PEM_read_bio_DHparams;
    0x0005d7e8 mov sl, r6                                        |     sl = r6;
    0x0005d7ec add r3, pc, r3                                    |     r3 = pc + r3;
    0x0005d7f0 str r3, [sp, 0x14]                                |     var_14h = r3;
    0x0005d7f4 ldr r3, [pc, 0x510]                               |     r3 = *(0x5dd08);
    0x0005d7f8 mov sb, r6                                        |     sb = r6;
    0x0005d7fc add r3, pc, r3                                    |     r3 = pc + r3;
    0x0005d800 str r3, [sp, 0x18]                                |     var_18h = r3;
    0x0005d804 ldr r3, [pc, 0x504]                               |     r3 = *(0x5dd0c);
    0x0005d808 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0005d80c str r3, [sp, 0x1c]                                |     var_1ch = r3;
                                                                 |     do {
    0x0005d810 ldr r0, [sp, 0x88]                                |         r0 = *(arg_88h);
    0x0005d814 bl 0x154518                                       |         r0 = OPENSSL_sk_num ();
    0x0005d818 cmp sb, r0                                        |         
                                                                 |         if (sb >= r0) {
    0x0005d81c bge 0x5d924                                       |             goto label_9;
                                                                 |         }
    0x0005d820 cmp r6, 0                                         |         
                                                                 |         if (r6 != 0) {
    0x0005d824 beq 0x5d838                                       |             
    0x0005d828 mov r2, 1                                         |             r2 = 1;
    0x0005d82c ldr r1, [sp, 0x14]                                |             r1 = var_14h;
    0x0005d830 mov r0, r4                                        |             r0 = r4;
    0x0005d834 bl 0x6e820                                        |             BIO_write ();
                                                                 |         }
    0x0005d838 mov r1, sb                                        |         r1 = sb;
    0x0005d83c ldr r0, [sp, 0x88]                                |         r0 = *(arg_88h);
    0x0005d840 bl 0x154528                                       |         r0 = OPENSSL_sk_value ();
    0x0005d844 ldr r0, [r0]                                      |         r0 = *(r0);
    0x0005d848 bl 0x120878                                       |         r0 = OBJ_obj2nid ();
    0x0005d84c mov r6, r0                                        |         r6 = r0;
    0x0005d850 bl 0x1205a4                                       |         OBJ_nid2sn ();
    0x0005d854 bl 0x10cd54                                       |         r0 = EVP_get_digestbyname ();
    0x0005d858 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0005d85c beq 0x5d8bc                                       |             goto label_10;
                                                                 |         }
    0x0005d860 ldr r8, [r0, 0x2c]                                |         r8 = *((r0 + 0x2c));
    0x0005d864 cmp r8, 0                                         |         
                                                                 |         if (r8 == 0) {
    0x0005d868 beq 0x5d8bc                                       |             goto label_10;
                                                                 |         }
    0x0005d86c mov r2, 0                                         |         r2 = 0;
    0x0005d870 add r3, sp, 0x28                                  |         r3 += var_28h;
    0x0005d874 mov r1, 2                                         |         r1 = 2;
    0x0005d878 mov r0, r2                                        |         r0 = r2;
    0x0005d87c blx r8                                            |         r0 = uint32_t (*r8)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0005d880 cmp r0, 0                                         |         
                                                                 |         if (r0 <= 0) {
    0x0005d884 ble 0x5d8b4                                       |             goto label_11;
                                                                 |         }
    0x0005d888 ldr r1, [sp, 0x28]                                |         r1 = var_28h;
    0x0005d88c mov r0, r4                                        |         r0 = r4;
    0x0005d890 bl 0x6e860                                        |         BIO_puts ();
    0x0005d894 ldr r1, [pc, 0x478]                               |         r1 = *(0x5dd10);
    0x0005d898 mov r2, 0xaa                                      |         r2 = 0xaa;
    0x0005d89c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0005d8a0 ldr r0, [sp, 0x28]                                |         r0 = var_28h;
    0x0005d8a4 bl 0x11842c                                       |         CRYPTO_free ();
                                                                 | label_1:
    0x0005d8a8 mov r6, 1                                         |         r6 = 1;
                                                                 | label_0:
    0x0005d8ac add sb, sb, 1                                     |         sb++;
    0x0005d8b0 b 0x5d810                                         |         
                                                                 |     } while (1);
                                                                 | label_11:
    0x0005d8b4 cmn r0, 2                                         |     
                                                                 |     if (r0 != 2) {
    0x0005d8b8 bne 0x5d924                                       |         goto label_9;
                                                                 |     }
                                                                 | label_10:
    0x0005d8bc cmp r6, 0x2a0                                     |     
                                                                 |     if (r6 == 0x2a0) {
    0x0005d8c0 beq 0x5da7c                                       |         goto label_12;
                                                                 |     }
                                                                 |     if (r6 > 0x2a0) {
    0x0005d8c4 bgt 0x5d8f8                                       |         goto label_13;
                                                                 |     }
    0x0005d8c8 cmp r6, 4                                         |     
                                                                 |     if (r6 == 4) {
    0x0005d8cc beq 0x5da70                                       |         goto label_14;
                                                                 |     }
    0x0005d8d0 cmp r6, 0x40                                      |     
                                                                 |     if (r6 == 0x40) {
    0x0005d8d4 beq 0x5da5c                                       |         goto label_15;
                                                                 |     }
                                                                 | label_2:
    0x0005d8d8 cmp sl, 0                                         |     
                                                                 |     if (sl != 0) {
    0x0005d8dc movne r6, 0                                       |         r6 = 0;
                                                                 |         goto label_16;
                                                                 |     }
                                                                 |     if (sl != 0) {
                                                                 | label_16:
    0x0005d8e0 bne 0x5d8ac                                       |         goto label_0;
                                                                 |     }
    0x0005d8e4 ldr r1, [sp, 0x1c]                                |     r1 = var_1ch;
    0x0005d8e8 mov r0, r4                                        |     r0 = r4;
    0x0005d8ec bl 0x6e860                                        |     BIO_puts ();
    0x0005d8f0 mov sl, 1                                         |     sl = 1;
    0x0005d8f4 b 0x5d8a8                                         |     goto label_1;
                                                                 | label_13:
    0x0005d8f8 ldr r3, [pc, 0x418]                               |     r3 = *(0x5dd14);
    0x0005d8fc cmp r6, r3                                        |     
                                                                 |     if (r6 == r3) {
    0x0005d900 beq 0x5da90                                       |         goto label_17;
                                                                 |     }
                                                                 |     if (r6 < r3) {
    0x0005d904 blt 0x5da84                                       |         goto label_18;
                                                                 |     }
    0x0005d908 add r3, r3, 0x87                                  |     r3 += 0x87;
    0x0005d90c cmp r6, r3                                        |     
                                                                 |     if (r6 != r3) {
    0x0005d910 bne 0x5d8d8                                       |         goto label_2;
                                                                 |     }
    0x0005d914 ldr r1, [pc, 0x400]                               |     r1 = *(0x5dd18);
    0x0005d918 mov r0, r4                                        |     r0 = r4;
    0x0005d91c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d920 bl 0x6e860                                        |     BIO_puts ();
                                                                 | label_9:
    0x0005d924 ldr r1, [pc, 0x3f4]                               |     r1 = *(0x5dd1c);
    0x0005d928 mov r3, r5                                        |     r3 = r5;
    0x0005d92c mov r2, fp                                        |     r2 = fp;
    0x0005d930 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d934 str r5, [sp]                                      |     *(sp) = r5;
    0x0005d938 mov r0, r4                                        |     r0 = r4;
    0x0005d93c bl 0x6bbc4                                        |     BIO_printf ()
    0x0005d940 ldr r1, [pc, 0x3dc]                               |     r1 = *(0x5dd20);
    0x0005d944 mov r3, r5                                        |     r3 = r5;
    0x0005d948 mov r2, r5                                        |     r2 = r5;
    0x0005d94c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d950 mov r0, r4                                        |     r0 = r4;
    0x0005d954 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005d958 ldr r1, [pc, 0x3c8]                               |     r1 = *(0x5dd24);
    0x0005d95c mov r3, r5                                        |     r3 = r5;
    0x0005d960 mov r2, fp                                        |     r2 = fp;
    0x0005d964 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d968 mov r0, r4                                        |     r0 = r4;
    0x0005d96c bl 0x6bbc4                                        |     BIO_printf ()
    0x0005d970 ldr r3, [sp, 0x10]                                |     r3 = var_10h;
    0x0005d974 str r3, [sp, 0x24]                                |     var_24h = r3;
    0x0005d978 ldr r3, [pc, 0x3ac]                               |     r3 = *(0x5dd28);
    0x0005d97c and r3, r7, r3                                    |     r3 = r7 & r3;
    0x0005d980 cmp r3, 0x40                                      |     
                                                                 |     if (r3 == 0x40) {
    0x0005d984 beq 0x5da9c                                       |         goto label_19;
                                                                 |     }
    0x0005d988 mov r2, r7                                        |     r2 = r7;
    0x0005d98c mov r1, r4                                        |     r1 = r4;
    0x0005d990 ldr r0, [sp, 0xc]                                 |     r0 = var_ch;
    0x0005d994 bl 0x5d368                                        |     SMIME_crlf_copy ();
                                                                 | label_6:
    0x0005d998 ldr r1, [pc, 0x390]                               |     r1 = *(0x5dd2c);
    0x0005d99c mov r3, fp                                        |     r3 = fp;
    0x0005d9a0 mov r2, r5                                        |     r2 = r5;
    0x0005d9a4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d9a8 str r5, [sp]                                      |     *(sp) = r5;
    0x0005d9ac mov r0, r4                                        |     r0 = r4;
    0x0005d9b0 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005d9b4 ldr r1, [pc, 0x378]                               |     r1 = *(0x5dd30);
    0x0005d9b8 ldr r2, [sp, 8]                                   |     r2 = var_8h;
    0x0005d9bc add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d9c0 mov r0, r4                                        |     r0 = r4;
    0x0005d9c4 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005d9c8 ldr r1, [pc, 0x368]                               |     r1 = *(0x5dd34);
    0x0005d9cc mov r2, r5                                        |     r2 = r5;
    0x0005d9d0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d9d4 mov r0, r4                                        |     r0 = r4;
    0x0005d9d8 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005d9dc ldr r1, [pc, 0x358]                               |     r1 = *(0x5dd38);
    0x0005d9e0 mov r2, r5                                        |     r2 = r5;
    0x0005d9e4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d9e8 mov r0, r4                                        |     r0 = r4;
    0x0005d9ec bl 0x6bbc4                                        |     BIO_printf ()
    0x0005d9f0 ldr r1, [pc, 0x348]                               |     r1 = *(0x5dd3c);
    0x0005d9f4 mov r0, r4                                        |     r0 = r4;
    0x0005d9f8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005d9fc bl 0x6bbc4                                        |     BIO_printf ()
    0x0005da00 ldr r1, [pc, 0x33c]                               |     r1 = *(0x5dd40);
    0x0005da04 mov r3, r5                                        |     r3 = r5;
    0x0005da08 mov r2, r5                                        |     r2 = r5;
    0x0005da0c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005da10 mov r0, r4                                        |     r0 = r4;
    0x0005da14 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005da18 ldr r3, [sp, 0x8c]                                |     r3 = *(arg_8ch);
    0x0005da1c ldr r1, [sp, 0x10]                                |     r1 = var_10h;
    0x0005da20 str r3, [sp]                                      |     *(sp) = r3;
    0x0005da24 mov r3, 0                                         |     r3 = 0;
    0x0005da28 mov r2, r3                                        |     r2 = r3;
    0x0005da2c mov r0, r4                                        |     r0 = r4;
    0x0005da30 bl 0x5d5c8                                        |     fcn_0005d5c8 (r0, r1, r2);
    0x0005da34 ldr r1, [pc, 0x30c]                               |     r1 = *(0x5dd44);
    0x0005da38 str r5, [sp, 4]                                   |     var_4h = r5;
    0x0005da3c str r5, [sp]                                      |     *(sp) = r5;
    0x0005da40 mov r3, fp                                        |     r3 = fp;
    0x0005da44 mov r2, r5                                        |     r2 = r5;
    0x0005da48 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005da4c mov r0, r4                                        |     r0 = r4;
    0x0005da50 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005da54 mov r0, 1                                         |     r0 = 1;
    0x0005da58 b 0x5d750                                         |     goto label_3;
                                                                 | label_15:
    0x0005da5c ldr r1, [pc, 0x2e8]                               |     r1 = *(0x5dd48);
    0x0005da60 add r1, pc, r1                                    |     r1 = pc + r1;
                                                                 |     do {
                                                                 | label_4:
    0x0005da64 mov r0, r4                                        |         r0 = r4;
    0x0005da68 bl 0x6e860                                        |         BIO_puts ();
    0x0005da6c b 0x5d8a8                                         |         goto label_1;
                                                                 | label_14:
    0x0005da70 ldr r1, [pc, 0x2d8]                               |         r1 = *(0x5dd4c);
    0x0005da74 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0005da78 b 0x5da64                                         |         
                                                                 |     } while (1);
                                                                 | label_12:
    0x0005da7c ldr r1, [sp, 0x18]                                |     r1 = var_18h;
    0x0005da80 b 0x5da64                                         |     goto label_4;
                                                                 | label_18:
    0x0005da84 ldr r1, [pc, 0x2c8]                               |     r1 = *(0x5dd50);
    0x0005da88 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005da8c b 0x5da64                                         |     goto label_4;
                                                                 | label_17:
    0x0005da90 ldr r1, [pc, 0x2c0]                               |     r1 = *(0x5dd54);
    0x0005da94 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005da98 b 0x5da64                                         |     goto label_4;
                                                                 | label_19:
    0x0005da9c ldr r3, [sp, 0x8c]                                |     r3 = *(arg_8ch);
    0x0005daa0 ldr r8, [r3, 0x10]                                |     r8 = *((r3 + 0x10));
    0x0005daa4 cmp r8, 0                                         |     
                                                                 |     if (r8 != 0) {
    0x0005daa8 beq 0x5dab8                                       |         
    0x0005daac ldr r3, [r8, 0x10]                                |         r3 = *((r8 + 0x10));
    0x0005dab0 subs ip, r3, 0                                    |         
                                                                 |         if (ip != r3) {
    0x0005dab4 bne 0x5dadc                                       |             goto label_20;
                                                                 |         }
                                                                 |     }
    0x0005dab8 mov r3, 0x14c                                     |     r3 = 0x14c;
    0x0005dabc str r3, [sp]                                      |     *(sp) = r3;
    0x0005dac0 ldr r3, [pc, 0x294]                               |     r3 = *(0x5dd58);
    0x0005dac4 mov r2, 0xca                                      |     r2 = 0xca;
    0x0005dac8 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0005dacc mov r1, 0xd6                                      |     r1 = 0xd6;
    0x0005dad0 mov r0, 0xd                                       |     r0 = 0xd;
    0x0005dad4 bl 0xfc7b8                                        |     ERR_put_error ();
    0x0005dad8 b 0x5d74c                                         |     goto label_5;
                                                                 | label_20:
    0x0005dadc mov r6, 0                                         |     r6 = 0;
    0x0005dae0 add sl, sp, 0x28                                  |     sl += var_28h;
    0x0005dae4 add sb, sp, 0x24                                  |     sb += var_24h;
    0x0005dae8 str r4, [sp, 0x28]                                |     var_28h = r4;
    0x0005daec str r6, [sp, 0x2c]                                |     var_2ch = r6;
    0x0005daf0 str r6, [sp, 0x30]                                |     var_30h = r6;
    0x0005daf4 mov r3, sl                                        |     r3 = sl;
    0x0005daf8 ldr r2, [sp, 0x8c]                                |     r2 = *(arg_8ch);
    0x0005dafc mov r1, sb                                        |     r1 = sb;
    0x0005db00 mov r0, 0xc                                       |     r0 = 0xc;
    0x0005db04 blx ip                                            |     r0 = ip (r0, r1, r2, r3);
    0x0005db08 cmp r0, r6                                        |     
                                                                 |     if (r0 <= r6) {
    0x0005db0c ble 0x5d74c                                       |         goto label_5;
                                                                 |     }
    0x0005db10 mov r2, r7                                        |     r2 = r7;
    0x0005db14 ldr r1, [sp, 0x2c]                                |     r1 = var_2ch;
    0x0005db18 ldr r0, [sp, 0xc]                                 |     r0 = var_ch;
    0x0005db1c bl 0x5d368                                        |     SMIME_crlf_copy ();
    0x0005db20 ldr r6, [r8, 0x10]                                |     r6 = *((r8 + 0x10));
    0x0005db24 mov r3, sl                                        |     r3 = sl;
    0x0005db28 ldr r2, [sp, 0x8c]                                |     r2 = *(arg_8ch);
    0x0005db2c mov r1, sb                                        |     r1 = sb;
    0x0005db30 mov r0, 0xd                                       |     r0 = 0xd;
    0x0005db34 blx r6                                            |     r0 = uint32_t (*r6)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0005db38 mov r6, r0                                        |     r6 = r0;
                                                                 | label_7:
    0x0005db3c ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
    0x0005db40 cmp r4, r0                                        |     
                                                                 |     if (r4 != r0) {
    0x0005db44 bne 0x5db54                                       |         goto label_21;
                                                                 |     }
    0x0005db48 cmp r6, 0                                         |     
                                                                 |     if (r6 > 0) {
    0x0005db4c bgt 0x5d998                                       |         goto label_6;
                                                                 |     }
    0x0005db50 b 0x5d74c                                         |     goto label_5;
                                                                 | label_21:
    0x0005db54 bl 0x6eec0                                        |     r0 = BIO_pop ();
    0x0005db58 mov r7, r0                                        |     r7 = r0;
    0x0005db5c ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
    0x0005db60 bl 0x6e63c                                        |     BIO_free ();
    0x0005db64 str r7, [sp, 0x2c]                                |     var_2ch = r7;
    0x0005db68 b 0x5db3c                                         |     goto label_7;
                                                                 | }
    ; 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/libcrypto.so.1.1 @ 0x64b90 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.00064b90 ()                          | void fcn_00064b90 (int32_t arg_18h, int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00064b90 push {r4, r5, r6, r7, r8, lr}         |     
    0x00064b94 ldr r8, [pc, 0x104]                   |     r8 = *(0x64c9c);
    0x00064b98 mov r5, r0                            |     r5 = r0;
    0x00064b9c mov r7, r1                            |     r7 = r1;
    0x00064ba0 mov r6, r2                            |     r6 = r2;
    0x00064ba4 mov r4, r3                            |     r4 = r3;
    0x00064ba8 add r8, pc, r8                        |     r8 = pc + r8;
                                                     |     do {
    0x00064bac cmp r7, 0x14                          |         
                                                     |         if (r7 <= 0x14) {
    0x00064bb0 bgt 0x64c58                           |             
    0x00064bb4 ldr r1, [pc, 0xe8]                    |             r1 = *(0x64ca0);
    0x00064bb8 mov r2, r7                            |             r2 = r7;
    0x00064bbc add r1, pc, r1                        |             r1 = pc + r1;
    0x00064bc0 mov r0, r5                            |             r0 = r5;
    0x00064bc4 bl 0x6e820                            |             r0 = BIO_write ();
    0x00064bc8 cmp r7, r0                            |             
                                                     |             if (r7 != r0) {
    0x00064bcc bne 0x64c70                           |                 goto label_2;
                                                     |             }
    0x00064bd0 ldr r3, [sp, 0x18]                    |             r3 = *(arg_18h);
    0x00064bd4 ldr r3, [r3]                          |             r3 = *(r3);
    0x00064bd8 tst r3, 0x100                         |             
                                                     |             if ((r3 & 0x100) == 0) {
    0x00064bdc movne r4, 0                           |                 r4 = 0;
                                                     |             }
    0x00064be0 tst r3, 0x40                          |             
                                                     |             if ((r3 & 0x40) == 0) {
    0x00064be4 movne r6, 0                           |                 r6 = 0;
                                                     |             }
    0x00064be8 cmp r4, 0                             |             
    0x00064bec cmpeq r6, 0                           |             __asm ("cmpeq r6, 0");
                                                     |             if (r4 == 0) {
    0x00064bf0 beq 0x64c80                           |                 goto label_3;
                                                     |             }
    0x00064bf4 cmp r6, 0                             |             
                                                     |             if (r6 == 0) {
    0x00064bf8 beq 0x64c88                           |                 goto label_4;
                                                     |             }
    0x00064bfc mov r1, r6                            |             r1 = r6;
    0x00064c00 mov r0, r5                            |             r0 = r5;
    0x00064c04 bl 0x6e860                            |             r0 = BIO_puts ();
    0x00064c08 cmp r0, 0                             |             
                                                     |             if (r0 <= 0) {
    0x00064c0c ble 0x64c70                           |                 goto label_2;
                                                     |             }
    0x00064c10 cmp r4, 0                             |             
                                                     |             if (r4 != 0) {
    0x00064c14 beq 0x64c34                           |                 
    0x00064c18 ldr r1, [pc, 0x88]                    |                 r1 = *(0x64ca4);
    0x00064c1c mov r2, r4                            |                 r2 = r4;
    0x00064c20 add r1, pc, r1                        |                 r1 = pc + r1;
    0x00064c24 mov r0, r5                            |                 r0 = r5;
    0x00064c28 bl 0x6bbc4                            |                 r0 = BIO_printf ()
                                                     | label_1:
    0x00064c2c cmp r0, 0                             |                 
                                                     |                 if (r0 <= 0) {
    0x00064c30 ble 0x64c70                           |                     goto label_2;
                                                     |                 }
                                                     |             }
                                                     | label_0:
    0x00064c34 ldr r1, [pc, 0x70]                    |             r1 = *(0x64ca8);
    0x00064c38 mov r2, 2                             |             r2 = 2;
    0x00064c3c add r1, pc, r1                        |             r1 = pc + r1;
    0x00064c40 mov r0, r5                            |             r0 = r5;
    0x00064c44 bl 0x6e820                            |             r0 = BIO_write ();
    0x00064c48 sub r0, r0, 2                         |             r0 -= 2;
    0x00064c4c clz r0, r0                            |             r0 &= r0;
    0x00064c50 lsr r0, r0, 5                         |             r0 >>= 5;
    0x00064c54 pop {r4, r5, r6, r7, r8, pc}          |             
                                                     |         }
    0x00064c58 mov r2, 0x14                          |         r2 = 0x14;
    0x00064c5c mov r1, r8                            |         r1 = r8;
    0x00064c60 mov r0, r5                            |         r0 = r5;
    0x00064c64 bl 0x6e820                            |         r0 = BIO_write ();
    0x00064c68 cmp r0, 0x14                          |         
                                                     |         if (r0 != 0x14) {
    0x00064c6c beq 0x64c78                           |             
                                                     | label_2:
    0x00064c70 mov r0, 0                             |             r0 = 0;
    0x00064c74 pop {r4, r5, r6, r7, r8, pc}          |             
                                                     |         }
    0x00064c78 sub r7, r7, 0x14                      |         r7 -= 0x14;
    0x00064c7c b 0x64bac                             |         
                                                     |     } while (1);
                                                     | label_3:
    0x00064c80 mov r0, 1                             |     r0 = 1;
    0x00064c84 pop {r4, r5, r6, r7, r8, pc}          |     
                                                     | label_4:
    0x00064c88 cmp r4, 0                             |     
                                                     |     if (r4 == 0) {
    0x00064c8c beq 0x64c34                           |         goto label_0;
                                                     |     }
    0x00064c90 mov r1, r4                            |     r1 = r4;
    0x00064c94 mov r0, r5                            |     r0 = r5;
    0x00064c98 bl 0x6e860                            |     BIO_puts ();
    0x00064c9c b 0x64c2c                             |     goto label_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/libcrypto.so.1.1 @ 0x64cb0 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00064cb0 ()                                  | void fcn_00064cb0 (int32_t arg_10h, int32_t arg_1ch, int32_t arg_a0h, int32_t arg_a4h, int32_t arg_a8h, int32_t arg_ach, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_28h;
                                                             |     int32_t var_7ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00064cb0 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00064cb4 mov r6, r3                                    |     r6 = r3;
    0x00064cb8 ldr fp, [r6, 0x10]                            |     fp = *((r6 + 0x10));
    0x00064cbc sub sp, sp, 0x7c                              |     
    0x00064cc0 cmp fp, 0                                     |     
    0x00064cc4 mov r4, r0                                    |     r4 = r0;
    0x00064cc8 mov r5, r1                                    |     r5 = r1;
    0x00064ccc mov r8, r2                                    |     r8 = r2;
    0x00064cd0 ldr sb, [sp, 0xa4]                            |     sb = *(arg_a4h);
    0x00064cd4 ldr r3, [sp, 0xa8]                            |     r3 = *(arg_a8h);
    0x00064cd8 ldr r7, [sp, 0xac]                            |     r7 = *(arg_ach);
                                                             |     if (fp != 0) {
    0x00064cdc moveq sl, fp                                  |         sl = fp;
                                                             |     }
                                                             |     if (fp != 0) {
    0x00064ce0 beq 0x64cf8                                   |         
    0x00064ce4 ldr sl, [fp, 0x10]                            |         sl = *(arg_10h);
    0x00064ce8 cmp sl, 0                                     |         
                                                             |         if (sl == 0) {
    0x00064cec strne r0, [sp, 0x1c]                          |             var_1ch = r0;
                                                             |         }
                                                             |         if (sl == 0) {
    0x00064cf0 strne r2, [sp, 0x20]                          |             var_20h = r2;
                                                             |         }
                                                             |         if (sl != 0) {
    0x00064cf4 strne r7, [sp, 0x24]                          |             var_24h = r7;
                                                             |             goto label_21;
                                                             |         }
                                                             |     }
                                                             | label_21:
    0x00064cf8 ldrb r2, [r6]                                 |     r2 = *(r6);
    0x00064cfc cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00064d00 bne 0x64d10                                   |         
    0x00064d04 ldr r1, [r6, 4]                               |         r1 = *((r6 + 4));
    0x00064d08 cmp r1, 1                                     |         
                                                             |         if (r1 == 1) {
    0x00064d0c beq 0x64da0                                   |             goto label_22;
                                                             |         }
                                                             |     }
    0x00064d10 ldr r1, [r5]                                  |     r1 = *(r5);
    0x00064d14 cmp r1, 0                                     |     
                                                             |     if (r1 != 0) {
    0x00064d18 bne 0x64d78                                   |         goto label_23;
                                                             |     }
    0x00064d1c ldr r2, [r7]                                  |     r2 = *(r7);
    0x00064d20 tst r2, 1                                     |     
                                                             |     if ((r2 & 1) == 0) {
    0x00064d24 bne 0x64d34                                   |         
                                                             | label_7:
    0x00064d28 mov r0, 1                                     |         r0 = 1;
                                                             | label_0:
    0x00064d2c add sp, sp, 0x7c                              |         
    0x00064d30 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             |     }
    0x00064d34 cmp r3, 0                                     |     
    0x00064d38 beq 0x64d50                                   |     
                                                             |     while (r0 != 0) {
    0x00064d3c ldr r1, [pc, 0x658]                           |         r1 = *(0x65398);
    0x00064d40 add r1, pc, r1                                |         r1 = pc + r1;
                                                             | label_1:
    0x00064d44 mov r0, r4                                    |         r0 = r4;
    0x00064d48 bl 0x6e860                                    |         BIO_puts ();
    0x00064d4c b 0x650b0                                     |         goto label_9;
    0x00064d50 str r7, [sp]                                  |         *(sp) = r7;
    0x00064d54 mov r3, sb                                    |         r3 = sb;
    0x00064d58 ldr r2, [sp, 0xa0]                            |         r2 = *(arg_a0h);
    0x00064d5c mov r1, r8                                    |         r1 = r8;
    0x00064d60 mov r0, r4                                    |         r0 = r4;
    0x00064d64 bl 0x64b90                                    |         r0 = fcn_00064b90 (r0, r1, r2);
    0x00064d68 cmp r0, 0                                     |         
    0x00064d6c bne 0x64d3c                                   |         
                                                             |     }
                                                             |     do {
                                                             | label_3:
    0x00064d70 mov r0, 0                                     |         r0 = 0;
    0x00064d74 b 0x64d2c                                     |         goto label_0;
                                                             | label_23:
    0x00064d78 cmp r2, 6                                     |         
                                                             |         if (r2 > 6) {
                                                             |             /* switch table (7 cases) at 0x64d84 */
    0x00064d7c addls pc, pc, r2, lsl 2                       |             pc += (r2 << 2);
                                                             |         }
    0x00064d80 b 0x65388                                     |         goto label_24;
    0x00064d84 b 0x64da0                                     |         goto label_22;
    0x00064d88 b 0x6521c                                     |         goto label_25;
    0x00064d8c b 0x651bc                                     |         goto label_26;
    0x00064d90 b 0x65388                                     |         goto label_24;
    0x00064d94 b 0x65120                                     |         goto label_27;
    0x00064d98 b 0x64db8                                     |         goto label_28;
    0x00064d9c b 0x6521c                                     |         goto label_25;
                                                             | label_22:
    0x00064da0 ldr r3, [r6, 8]                               |         r3 = *((r6 + 8));
    0x00064da4 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00064da8 strne r7, [sp]                                |             *(sp) = r7;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x00064dac movne r2, r8                                  |             r2 = r8;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x00064db0 movne r1, r5                                  |             r1 = r5;
                                                             |         }
                                                             |         if (r3 != 0) {
    0x00064db4 bne 0x65210                                   |             goto label_29;
                                                             |         }
                                                             | label_28:
    0x00064db8 str r7, [sp]                                  |         *(sp) = r7;
    0x00064dbc mov r3, sb                                    |         r3 = sb;
    0x00064dc0 ldr r2, [sp, 0xa0]                            |         r2 = *(arg_a0h);
    0x00064dc4 mov r1, r8                                    |         r1 = r8;
    0x00064dc8 mov r0, r4                                    |         r0 = r4;
    0x00064dcc bl 0x64b90                                    |         r0 = fcn_00064b90 (r0, r1, r2);
    0x00064dd0 cmp r0, 0                                     |         
    0x00064dd4 beq 0x64d70                                   |         
                                                             |     } while (r0 == 0);
    0x00064dd8 cmp fp, 0                                     |     
                                                             |     if (fp != 0) {
    0x00064ddc beq 0x64e10                                   |         
    0x00064de0 ldr sb, [fp, 0x1c]                            |         sb = *(arg_1ch);
    0x00064de4 cmp sb, 0                                     |         
                                                             |         if (sb == 0) {
    0x00064de8 beq 0x64e10                                   |             goto label_30;
                                                             |         }
    0x00064dec str r7, [sp]                                  |         *(sp) = r7;
    0x00064df0 mov r3, r8                                    |         r3 = r8;
    0x00064df4 mov r2, r6                                    |         r2 = r6;
    0x00064df8 mov r1, r5                                    |         r1 = r5;
    0x00064dfc mov r0, r4                                    |         r0 = r4;
    0x00064e00 blx sb                                        |         r0 = sb (r0, r1, r2, r3);
                                                             | label_14:
    0x00064e04 adds r0, r0, 0                                |         r0 += 0;
                                                             |         if (r0 == r0) {
    0x00064e08 movne r0, 1                                   |             r0 = 1;
                                                             |         }
    0x00064e0c b 0x64d2c                                     |         goto label_0;
                                                             |     }
                                                             | label_30:
    0x00064e10 ldrb r3, [r6]                                 |     r3 = *(r6);
    0x00064e14 cmp r3, 5                                     |     
                                                             |     if (r3 != 5) {
    0x00064e18 ldreq sb, [r5]                                |         sb = *(r5);
                                                             |     }
    0x00064e1c ldr r3, [r7]                                  |     r3 = *(r7);
                                                             |     if (r3 != 5) {
    0x00064e20 ldreq sl, [sb, 4]                             |         sl = *((sb + 4));
                                                             |     }
    0x00064e24 biceq sl, sl, 0x100                           |     __asm ("biceq sl, sl, aav.0x000000ff");
                                                             |     if (r3 != 5) {
    0x00064e28 beq 0x64e3c                                   |         
    0x00064e2c ldr sl, [r6, 4]                               |         sl = *((r6 + 4));
    0x00064e30 cmp sl, 1                                     |         
                                                             |         if (sl == 1) {
    0x00064e34 beq 0x64e74                                   |             goto label_31;
                                                             |         }
    0x00064e38 ldr sb, [r5]                                  |         sb = *(r5);
                                                             |     }
    0x00064e3c cmn sl, 4                                     |     
                                                             |     if (sl != 4) {
    0x00064e40 bne 0x64e78                                   |         goto label_32;
                                                             |     }
    0x00064e44 mov r5, sb                                    |     r5 = sb;
    0x00064e48 tst r3, 0x10                                  |     
    0x00064e4c ldr sl, [r5], 4                               |     sl = *(r5);
                                                             |     r5 += 4;
    0x00064e50 ldr sb, [sb, 4]                               |     sb = *((sb + 4));
                                                             |     if ((r3 & 0x10) != 0) {
    0x00064e54 bne 0x64e80                                   |         goto label_33;
                                                             |     }
                                                             |     do {
    0x00064e58 mov r0, sl                                    |         r0 = sl;
    0x00064e5c bl 0x5ba08                                    |         ASN1_tag2str ();
    0x00064e60 cmp sl, 5                                     |         
                                                             |         if (sl != 5) {
    0x00064e64 bne 0x64e8c                                   |             goto label_34;
                                                             |         }
                                                             | label_2:
    0x00064e68 ldr r1, [pc, 0x530]                           |         r1 = *(0x6539c);
    0x00064e6c add r1, pc, r1                                |         r1 = pc + r1;
    0x00064e70 b 0x64d44                                     |         goto label_1;
                                                             | label_31:
    0x00064e74 mov sb, 0                                     |         sb = 0;
                                                             | label_32:
    0x00064e78 tst r3, 8                                     |         
    0x00064e7c bne 0x64e58                                   |         
                                                             |     } while ((r3 & 8) != 0);
                                                             | label_33:
    0x00064e80 cmp sl, 5                                     |     
                                                             |     if (sl != 5) {
    0x00064e84 bne 0x64ec0                                   |         goto label_35;
                                                             |     }
    0x00064e88 b 0x64e68                                     |     goto label_2;
                                                             | label_34:
    0x00064e8c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00064e90 beq 0x64ec0                                   |         goto label_35;
                                                             |     }
    0x00064e94 mov r1, r0                                    |     r1 = r0;
    0x00064e98 mov r0, r4                                    |     r0 = r4;
    0x00064e9c bl 0x6e860                                    |     r0 = BIO_puts ();
    0x00064ea0 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x00064ea4 ble 0x64d70                                   |         goto label_3;
                                                             |     }
    0x00064ea8 ldr r1, [pc, 0x4f4]                           |     r1 = *(0x653a0);
    0x00064eac mov r0, r4                                    |     r0 = r4;
    0x00064eb0 add r1, pc, r1                                |     r1 = pc + r1;
    0x00064eb4 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x00064eb8 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x00064ebc ble 0x64d70                                   |         goto label_3;
                                                             |     }
                                                             | label_35:
    0x00064ec0 add sl, sl, 3                                 |     sl += 3;
    0x00064ec4 cmp sl, 0x1b                                  |     
                                                             |     if (sl > 0x1b) {
                                                             |         /* switch table (28 cases) at 0x64ed0 */
    0x00064ec8 addls pc, pc, sl, lsl 2                       |         pc += (sl << 2);
                                                             |     }
    0x00064ecc b 0x6510c                                     |     goto label_36;
    0x00064ed0 b 0x650d4                                     |     goto label_37;
    0x00064ed4 b 0x6510c                                     |     goto label_36;
    0x00064ed8 b 0x6510c                                     |     goto label_36;
    0x00064edc b 0x6510c                                     |     goto label_36;
    0x00064ee0 b 0x64f40                                     |     goto label_38;
    0x00064ee4 b 0x64f9c                                     |     goto label_39;
    0x00064ee8 b 0x65068                                     |     goto label_40;
    0x00064eec b 0x65068                                     |     goto label_40;
    0x00064ef0 b 0x6510c                                     |     goto label_36;
    0x00064ef4 b 0x6500c                                     |     goto label_41;
    0x00064ef8 b 0x6510c                                     |     goto label_36;
    0x00064efc b 0x6510c                                     |     goto label_36;
    0x00064f00 b 0x6510c                                     |     goto label_36;
    0x00064f04 b 0x64f9c                                     |     goto label_39;
    0x00064f08 b 0x6510c                                     |     goto label_36;
    0x00064f0c b 0x6510c                                     |     goto label_36;
    0x00064f10 b 0x6510c                                     |     goto label_36;
    0x00064f14 b 0x6510c                                     |     goto label_36;
    0x00064f18 b 0x6510c                                     |     goto label_36;
    0x00064f1c b 0x650d4                                     |     goto label_37;
    0x00064f20 b 0x650d4                                     |     goto label_37;
    0x00064f24 b 0x6510c                                     |     goto label_36;
    0x00064f28 b 0x6510c                                     |     goto label_36;
    0x00064f2c b 0x6510c                                     |     goto label_36;
    0x00064f30 b 0x6510c                                     |     goto label_36;
    0x00064f34 b 0x6510c                                     |     goto label_36;
    0x00064f38 b 0x64fe8                                     |     goto label_42;
    0x00064f3c b 0x64ffc                                     |     goto label_43;
                                                             | label_38:
    0x00064f40 ldr r3, [r5]                                  |     r3 = *(r5);
    0x00064f44 cmn r3, 1                                     |     
                                                             |     if (r3 == 1) {
    0x00064f48 bne 0x64f58                                   |         
    0x00064f4c ldr r3, [r6, 0x14]                            |         r3 = *((r6 + 0x14));
    0x00064f50 cmn r3, 1                                     |         
                                                             |         if (r3 == 1) {
    0x00064f54 beq 0x64f6c                                   |             goto label_44;
                                                             |         }
                                                             |     }
    0x00064f58 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00064f5c beq 0x64f90                                   |         goto label_45;
                                                             |     }
    0x00064f60 ldr r1, [pc, 0x440]                           |     r1 = *(0x653a4);
    0x00064f64 add r1, pc, r1                                |     r1 = pc + r1;
    0x00064f68 b 0x64f74                                     |     goto label_4;
                                                             | label_44:
    0x00064f6c ldr r1, [pc, 0x438]                           |     r1 = *(0x653a8);
    0x00064f70 add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_4:
    0x00064f74 mov r0, r4                                    |     r0 = r4;
    0x00064f78 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x00064f7c cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x00064f80 ble 0x64d70                                   |         goto label_3;
                                                             |     }
                                                             | label_5:
    0x00064f84 ldr r1, [pc, 0x424]                           |     r1 = *(0x653ac);
    0x00064f88 add r1, pc, r1                                |     r1 = pc + r1;
    0x00064f8c b 0x64d44                                     |     goto label_1;
                                                             | label_45:
    0x00064f90 ldr r1, [pc, 0x41c]                           |     r1 = *(0x653b0);
    0x00064f94 add r1, pc, r1                                |     r1 = pc + r1;
    0x00064f98 b 0x64f74                                     |     goto label_4;
                                                             | label_39:
    0x00064f9c mov r1, sb                                    |     r1 = sb;
    0x00064fa0 mov r0, 0                                     |     r0 = 0;
    0x00064fa4 bl 0x18207c                                   |     r0 = i2s_ASN1_INTEGER ();
    0x00064fa8 subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 == r0) {
    0x00064fac beq 0x64d70                                   |         goto label_3;
                                                             |     }
    0x00064fb0 mov r1, r6                                    |     r1 = r6;
    0x00064fb4 mov r0, r4                                    |     r0 = r4;
    0x00064fb8 bl 0x6e860                                    |     BIO_puts ();
    0x00064fbc ldr r1, [pc, 0x3f4]                           |     r1 = *(0x653b4);
    0x00064fc0 ldr r2, [pc, 0x3f4]                           |     r2 = *(0x653b8);
    0x00064fc4 add r1, pc, r1                                |     r1 = pc + r1;
    0x00064fc8 cmp r0, 0                                     |     
    0x00064fcc mov r0, r6                                    |     r0 = r6;
                                                             |     if (r0 > 0) {
    0x00064fd0 movle r5, 0                                   |         r5 = 0;
                                                             |     }
                                                             |     if (r0 <= 0) {
    0x00064fd4 movgt r5, 1                                   |         r5 = 1;
                                                             |     }
    0x00064fd8 bl 0x11842c                                   |     CRYPTO_free ();
                                                             | label_6:
    0x00064fdc cmp r5, 0                                     |     
                                                             |     if (r5 != 0) {
    0x00064fe0 bne 0x64f84                                   |         goto label_5;
                                                             |     }
    0x00064fe4 b 0x64d70                                     |     goto label_3;
                                                             | label_42:
    0x00064fe8 mov r1, sb                                    |     r1 = sb;
    0x00064fec mov r0, r4                                    |     r0 = r4;
    0x00064ff0 bl 0x590b4                                    |     r0 = ASN1_UTCTIME_print ();
                                                             |     do {
                                                             | label_10:
    0x00064ff4 mov r5, r0                                    |         r5 = r0;
    0x00064ff8 b 0x64fdc                                     |         goto label_6;
                                                             | label_43:
    0x00064ffc mov r1, sb                                    |         r1 = sb;
    0x00065000 mov r0, r4                                    |         r0 = r4;
    0x00065004 bl 0x5438c                                    |         ASN1_GENERALIZEDTIME_print ();
    0x00065008 b 0x64ff4                                     |         
                                                             |     } while (1);
                                                             | label_41:
    0x0006500c ldr r5, [r5]                                  |     r5 = *(r5);
    0x00065010 mov r0, r5                                    |     r0 = r5;
    0x00065014 bl 0x120878                                   |     OBJ_obj2nid ();
    0x00065018 bl 0x120690                                   |     r0 = OBJ_nid2ln ();
    0x0006501c subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 != r0) {
    0x00065020 ldreq r6, [pc, 0x398]                         |         r6 = *((pc + 0x398));
                                                             |     }
                                                             |     if (r6 != r0) {
    0x00065024 addeq r6, pc, r6                              |         r6 = pc + r6;
                                                             |     }
    0x00065028 mov r2, r5                                    |     r2 = r5;
    0x0006502c add r5, sp, 0x28                              |     r5 += var_28h;
    0x00065030 mov r0, r5                                    |     r0 = r5;
    0x00065034 mov r3, 1                                     |     r3 = 1;
    0x00065038 mov r1, 0x50                                  |     r1 = 0x50;
    0x0006503c bl 0x12093c                                   |     OBJ_obj2txt ();
    0x00065040 ldr r1, [pc, 0x37c]                           |     r1 = *(0x653c0);
    0x00065044 mov r3, r5                                    |     r3 = r5;
    0x00065048 mov r2, r6                                    |     r2 = r6;
    0x0006504c add r1, pc, r1                                |     r1 = pc + r1;
    0x00065050 mov r0, r4                                    |     r0 = r4;
    0x00065054 bl 0x6bbc4                                    |     r0 = BIO_printf ()
    0x00065058 cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x0006505c movle r5, 0                                   |         r5 = 0;
                                                             |     }
                                                             |     if (r0 <= 0) {
    0x00065060 movgt r5, 1                                   |         r5 = 1;
                                                             |     }
    0x00065064 b 0x64fdc                                     |     goto label_6;
                                                             | label_40:
    0x00065068 ldr r3, [sb, 4]                               |     r3 = *((sb + 4));
    0x0006506c cmp r3, 3                                     |     
                                                             |     if (r3 != 3) {
    0x00065070 bne 0x650c0                                   |         goto label_46;
                                                             |     }
    0x00065074 ldr r2, [sb, 0xc]                             |     r2 = *((sb + 0xc));
    0x00065078 ldr r1, [pc, 0x348]                           |     r1 = *(0x653c4);
    0x0006507c and r2, r2, 7                                 |     r2 &= 7;
    0x00065080 add r1, pc, r1                                |     r1 = pc + r1;
    0x00065084 mov r0, r4                                    |     r0 = r4;
    0x00065088 bl 0x6bbc4                                    |     r0 = BIO_printf ()
                                                             | label_8:
    0x0006508c cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x00065090 ble 0x64d70                                   |         goto label_3;
                                                             |     }
    0x00065094 ldr r2, [sb]                                  |     r2 = *(sb);
    0x00065098 cmp r2, 0                                     |     
                                                             |     if (r2 <= 0) {
    0x0006509c ble 0x64d28                                   |         goto label_7;
                                                             |     }
    0x000650a0 add r3, r8, 2                                 |     r3 = r8 + 2;
    0x000650a4 ldr r1, [sb, 8]                               |     r1 = *((sb + 8));
    0x000650a8 mov r0, r4                                    |     r0 = r4;
    0x000650ac bl 0x6a508                                    |     r0 = BIO_dump_indent ();
                                                             | label_9:
    0x000650b0 cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x000650b4 movle r0, 0                                   |         r0 = 0;
                                                             |     }
                                                             |     if (r0 <= 0) {
    0x000650b8 movgt r0, 1                                   |         r0 = 1;
                                                             |     }
    0x000650bc b 0x64d2c                                     |     goto label_0;
                                                             | label_46:
    0x000650c0 ldr r1, [pc, 0x304]                           |     r1 = *(0x653c8);
    0x000650c4 mov r0, r4                                    |     r0 = r4;
    0x000650c8 add r1, pc, r1                                |     r1 = pc + r1;
    0x000650cc bl 0x6e860                                    |     BIO_puts ();
    0x000650d0 b 0x6508c                                     |     goto label_8;
                                                             | label_37:
    0x000650d4 ldr r1, [pc, 0x2f4]                           |     r1 = *(0x653cc);
    0x000650d8 mov r0, r4                                    |     r0 = r4;
    0x000650dc add r1, pc, r1                                |     r1 = pc + r1;
    0x000650e0 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x000650e4 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x000650e8 ble 0x64d70                                   |         goto label_3;
                                                             |     }
    0x000650ec mov r3, 0                                     |     r3 = 0;
    0x000650f0 str r3, [sp]                                  |     *(sp) = r3;
    0x000650f4 mov r0, r4                                    |     r0 = r4;
    0x000650f8 mov r3, r8                                    |     r3 = r8;
    0x000650fc ldr r2, [sb]                                  |     r2 = *(sb);
    0x00065100 ldr r1, [sb, 8]                               |     r1 = *((sb + 8));
    0x00065104 bl 0x5c4dc                                    |     ASN1_parse_dump ();
    0x00065108 b 0x650b0                                     |     goto label_9;
                                                             | label_36:
    0x0006510c ldr r2, [r7, 0x10]                            |     r2 = *((r7 + 0x10));
    0x00065110 mov r1, sb                                    |     r1 = sb;
    0x00065114 mov r0, r4                                    |     r0 = r4;
    0x00065118 bl 0x57a30                                    |     ASN1_STRING_print_ex ();
    0x0006511c b 0x64ff4                                     |     goto label_10;
                                                             | label_27:
    0x00065120 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00065124 beq 0x65154                                   |         goto label_47;
                                                             |     }
                                                             | label_11:
    0x00065128 ldr r3, [r6, 0x10]                            |     r3 = *((r6 + 0x10));
    0x0006512c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00065130 bne 0x65178                                   |         goto label_48;
                                                             |     }
                                                             | label_12:
    0x00065134 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x00065138 beq 0x64d28                                   |         goto label_7;
                                                             |     }
    0x0006513c ldr r1, [pc, 0x290]                           |     r1 = *(0x653d0);
    0x00065140 mov r2, sb                                    |     r2 = sb;
    0x00065144 add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_13:
    0x00065148 mov r0, r4                                    |     r0 = r4;
    0x0006514c bl 0x6bbc4                                    |     BIO_printf ()
    0x00065150 b 0x650b0                                     |     goto label_9;
                                                             | label_47:
    0x00065154 str r7, [sp]                                  |     *(sp) = r7;
    0x00065158 mov r3, sb                                    |     r3 = sb;
    0x0006515c ldr r2, [sp, 0xa0]                            |     r2 = *(arg_a0h);
    0x00065160 mov r1, r8                                    |     r1 = r8;
    0x00065164 mov r0, r4                                    |     r0 = r4;
    0x00065168 bl 0x64b90                                    |     r0 = fcn_00064b90 (r0, r1, r2);
    0x0006516c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00065170 bne 0x65128                                   |         goto label_11;
                                                             |     }
    0x00065174 b 0x64d70                                     |     goto label_3;
                                                             | label_48:
    0x00065178 ldr r6, [r3, 0x18]                            |     r6 = *((r3 + 0x18));
    0x0006517c cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x00065180 beq 0x65134                                   |         goto label_12;
                                                             |     }
    0x00065184 ldr r3, [pc, 0x24c]                           |     r3 = *(0x653d4);
    0x00065188 str r7, [sp]                                  |     *(sp) = r7;
    0x0006518c add r3, pc, r3                                |     r3 = pc + r3;
    0x00065190 mov r2, r8                                    |     r2 = r8;
    0x00065194 mov r1, r5                                    |     r1 = r5;
    0x00065198 mov r0, r4                                    |     r0 = r4;
    0x0006519c blx r6                                        |     r0 = uint32_t (*r6)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000651a0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000651a4 beq 0x64d70                                   |         goto label_3;
                                                             |     }
    0x000651a8 cmp r0, 2                                     |     
                                                             |     if (r0 != 2) {
    0x000651ac bne 0x64d28                                   |         goto label_7;
                                                             |     }
    0x000651b0 ldr r1, [pc, 0x224]                           |     r1 = *(0x653d8);
    0x000651b4 add r1, pc, r1                                |     r1 = pc + r1;
    0x000651b8 b 0x64d44                                     |     goto label_1;
                                                             | label_26:
    0x000651bc mov r1, r6                                    |     r1 = r6;
    0x000651c0 mov r0, r5                                    |     r0 = r5;
    0x000651c4 bl 0x6616c                                    |     r0 = fcn_0006616c (r0, r1);
    0x000651c8 subs r2, r0, 0                                |     r2 = r0 - 0;
                                                             |     if (r2 >= r0) {
    0x000651cc blt 0x651dc                                   |         
    0x000651d0 ldr r3, [r6, 0xc]                             |         r3 = *((r6 + 0xc));
    0x000651d4 cmp r3, r2                                    |         
                                                             |         if (r3 > r2) {
    0x000651d8 bgt 0x651e8                                   |             goto label_49;
                                                             |         }
                                                             |     }
    0x000651dc ldr r1, [pc, 0x1fc]                           |     r1 = *(0x653dc);
    0x000651e0 add r1, pc, r1                                |     r1 = pc + r1;
    0x000651e4 b 0x65148                                     |     goto label_13;
                                                             | label_49:
    0x000651e8 ldr r6, [r6, 8]                               |     r6 = *((r6 + 8));
    0x000651ec mov r3, 0x14                                  |     r3 = 0x14;
    0x000651f0 mla sb, r3, r2, r6                            |     __asm ("mla sb, r3, r2, r6");
    0x000651f4 mov r0, r5                                    |     r0 = r5;
    0x000651f8 mov r1, sb                                    |     r1 = sb;
    0x000651fc bl 0x663e8                                    |     fcn_000663e8 (r0, r1);
    0x00065200 mov r3, sb                                    |     r3 = sb;
    0x00065204 mov r2, r8                                    |     r2 = r8;
    0x00065208 str r7, [sp]                                  |     *(sp) = r7;
    0x0006520c mov r1, r0                                    |     r1 = r0;
                                                             | label_29:
    0x00065210 mov r0, r4                                    |     r0 = r4;
    0x00065214 bl 0x653f8                                    |     fcn_000653f8 (r0, r1, r2);
    0x00065218 b 0x64e04                                     |     goto label_14;
                                                             | label_25:
    0x0006521c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00065220 beq 0x65294                                   |         goto label_50;
                                                             |     }
                                                             | label_15:
    0x00065224 ldr r3, [sp, 0xa0]                            |     r3 = *(arg_a0h);
    0x00065228 cmp sb, 0                                     |     
    0x0006522c cmpeq r3, 0                                   |     __asm ("cmpeq r3, 0");
                                                             |     if (sb != 0) {
    0x00065230 bne 0x652b8                                   |         goto label_51;
                                                             |     }
                                                             | label_16:
    0x00065234 cmp sl, 0                                     |     
                                                             |     if (sl != 0) {
    0x00065238 bne 0x652ec                                   |         goto label_52;
                                                             |     }
                                                             | label_18:
    0x0006523c ldr r3, [r6, 8]                               |     r3 = *((r6 + 8));
    0x00065240 mov sb, 0                                     |     sb = 0;
    0x00065244 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x00065248 mov fp, 0x14                                  |     
    0x0006524c add r3, r8, 2                                 |     r3 = r8 + 2;
    0x00065250 str r3, [sp, 0x10]                            |     var_10h = r3;
                                                             | label_19:
    0x00065254 ldr r3, [r6, 0xc]                             |     r3 = *((r6 + 0xc));
    0x00065258 ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x0006525c cmp r3, sb                                    |     
    0x00065260 mla r1, fp, sb, r1                            |     __asm ("mla r1, fp, sb, r1");
                                                             |     if (r3 > sb) {
    0x00065264 bgt 0x65314                                   |         goto label_53;
                                                             |     }
    0x00065268 ldr r3, [r7]                                  |     r3 = *(r7);
    0x0006526c tst r3, 2                                     |     
                                                             |     if ((r3 & 2) != 0) {
    0x00065270 bne 0x65360                                   |         goto label_54;
                                                             |     }
                                                             | label_20:
    0x00065274 cmp sl, 0                                     |     
                                                             |     if (sl == 0) {
    0x00065278 beq 0x64d28                                   |         goto label_7;
                                                             |     }
    0x0006527c add r3, sp, 0x1c                              |     r3 += var_1ch;
    0x00065280 mov r2, r6                                    |     r2 = r6;
    0x00065284 mov r1, r5                                    |     r1 = r5;
    0x00065288 mov r0, 9                                     |     r0 = 9;
    0x0006528c blx sl                                        |     sl (r0, r1, r2, r3);
    0x00065290 b 0x64e04                                     |     goto label_14;
                                                             | label_50:
    0x00065294 str r7, [sp]                                  |     *(sp) = r7;
    0x00065298 mov r3, sb                                    |     r3 = sb;
    0x0006529c ldr r2, [sp, 0xa0]                            |     r2 = *(arg_a0h);
    0x000652a0 mov r1, r8                                    |     r1 = r8;
    0x000652a4 mov r0, r4                                    |     r0 = r4;
    0x000652a8 bl 0x64b90                                    |     r0 = fcn_00064b90 (r0, r1, r2);
    0x000652ac cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000652b0 bne 0x65224                                   |         goto label_15;
                                                             |     }
    0x000652b4 b 0x64d70                                     |     goto label_3;
                                                             | label_51:
    0x000652b8 ldr r3, [r7]                                  |     r3 = *(r7);
    0x000652bc tst r3, 2                                     |     
                                                             |     if ((r3 & 2) == 0) {
    0x000652c0 beq 0x652e0                                   |         goto label_55;
                                                             |     }
    0x000652c4 ldr r1, [pc, 0x118]                           |     r1 = *(0x653e0);
    0x000652c8 add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_17:
    0x000652cc mov r0, r4                                    |     r0 = r4;
    0x000652d0 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x000652d4 cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x000652d8 bgt 0x65234                                   |         goto label_16;
                                                             |     }
    0x000652dc b 0x64d70                                     |     goto label_3;
                                                             | label_55:
    0x000652e0 ldr r1, [pc, 0x100]                           |     r1 = *(0x653e4);
    0x000652e4 add r1, pc, r1                                |     r1 = pc + r1;
    0x000652e8 b 0x652cc                                     |     goto label_17;
                                                             | label_52:
    0x000652ec add r3, sp, 0x1c                              |     r3 += var_1ch;
    0x000652f0 mov r2, r6                                    |     r2 = r6;
    0x000652f4 mov r1, r5                                    |     r1 = r5;
    0x000652f8 mov r0, 8                                     |     r0 = 8;
    0x000652fc blx sl                                        |     r0 = sl (r0, r1, r2, r3);
    0x00065300 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00065304 beq 0x64d70                                   |         goto label_3;
                                                             |     }
    0x00065308 cmp r0, 2                                     |     
                                                             |     if (r0 != 2) {
    0x0006530c bne 0x6523c                                   |         goto label_18;
                                                             |     }
    0x00065310 b 0x64d28                                     |     goto label_7;
                                                             | label_53:
    0x00065314 mov r2, 1                                     |     r2 = 1;
    0x00065318 mov r0, r5                                    |     r0 = r5;
    0x0006531c bl 0x663f8                                    |     r0 = fcn_000663f8 (r0, r1);
    0x00065320 subs r3, r0, 0                                |     r3 = r0 - 0;
                                                             |     if (r3 == r0) {
    0x00065324 beq 0x64d70                                   |         goto label_3;
                                                             |     }
    0x00065328 mov r1, r3                                    |     r1 = r3;
    0x0006532c mov r0, r5                                    |     r0 = r5;
    0x00065330 str r3, [sp, 0x14]                            |     var_14h = r3;
    0x00065334 bl 0x663e8                                    |     fcn_000663e8 (r0, r1);
    0x00065338 str r7, [sp]                                  |     *(sp) = r7;
    0x0006533c ldr r3, [sp, 0x14]                            |     r3 = var_14h;
    0x00065340 ldr r2, [sp, 0x10]                            |     r2 = var_10h;
    0x00065344 mov r1, r0                                    |     r1 = r0;
    0x00065348 mov r0, r4                                    |     r0 = r4;
    0x0006534c bl 0x653f8                                    |     r0 = fcn_000653f8 (r0, r1, r2);
    0x00065350 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00065354 beq 0x64d70                                   |         goto label_3;
                                                             |     }
    0x00065358 add sb, sb, 1                                 |     sb++;
    0x0006535c b 0x65254                                     |     goto label_19;
                                                             | label_54:
    0x00065360 ldr r3, [pc, 0x84]                            |     r3 = *(0x653e8);
    0x00065364 ldr r1, [pc, 0x84]                            |     r1 = *(0x653ec);
    0x00065368 add r3, pc, r3                                |     r3 = pc + r3;
    0x0006536c mov r2, r8                                    |     r2 = r8;
    0x00065370 add r1, pc, r1                                |     r1 = pc + r1;
    0x00065374 mov r0, r4                                    |     r0 = r4;
    0x00065378 bl 0x6bbc4                                    |     r0 = BIO_printf ()
    0x0006537c cmp r0, 0                                     |     
                                                             |     if (r0 >= 0) {
    0x00065380 bge 0x65274                                   |         goto label_20;
                                                             |     }
    0x00065384 b 0x64d70                                     |     goto label_3;
                                                             | label_24:
    0x00065388 ldr r1, [pc, 0x64]                            |     r1 = *(0x653f0);
    0x0006538c mov r0, r4                                    |     r0 = r4;
    0x00065390 add r1, pc, r1                                |     r1 = pc + r1;
    0x00065394 bl 0x6bbc4                                    |     BIO_printf ()
    0x00065398 b 0x64d70                                     |     goto label_3;
                                                             | }
    ; 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/libcrypto.so.1.1 @ 0x653f8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.000653f8 ()                                  | void fcn_000653f8 (int32_t arg_48h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_24h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000653f8 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000653fc sub sp, sp, 0x24                              |     
    0x00065400 ldr r8, [sp, 0x48]                            |     r8 = *(arg_48h);
    0x00065404 mov r4, r0                                    |     r4 = r0;
    0x00065408 ldr r0, [r8]                                  |     r0 = *(r8);
    0x0006540c mov r5, r2                                    |     r5 = r2;
    0x00065410 ands r2, r0, 0x80                             |     r2 = r0 & 0x80;
    0x00065414 mov r7, r1                                    |     r7 = r1;
    0x00065418 mov r6, r3                                    |     r6 = r3;
    0x0006541c ldr r1, [r3]                                  |     r1 = *(r3);
                                                             |     if (r2 == r0) {
    0x00065420 ldrne r3, [r3, 0x10]                          |         r3 = *((r3 + 0x10));
                                                             |     }
                                                             |     if (r2 == r0) {
    0x00065424 ldrne r2, [r3, 0x18]                          |         r2 = *((r3 + 0x18));
                                                             |     }
    0x00065428 tst r0, 0x40                                  |     
                                                             |     if ((r0 & 0x40) != 0) {
    0x0006542c ldreq r3, [r6, 0xc]                           |         r3 = *((r6 + 0xc));
                                                             |     }
                                                             |     if ((r0 & 0x40) == 0) {
    0x00065430 movne r3, 0                                   |         r3 = 0;
                                                             |     }
    0x00065434 tst r1, 0x1000                                |     
                                                             |     if ((r1 & 0x1000) == 0) {
    0x00065438 strne r7, [sp, 0x18]                          |         var_18h = r7;
                                                             |     }
                                                             |     if ((r1 & 0x1000) == 0) {
    0x0006543c addne r7, sp, 0x18                            |         r7 += var_18h;
                                                             |     }
    0x00065440 ands ip, r1, 6                                |     
                                                             |     if (ip == r1) {
    0x00065444 beq 0x655f8                                   |         goto label_8;
                                                             |     }
    0x00065448 cmp r3, 0                                     |     
    0x0006544c bne 0x654c0                                   |     
                                                             |     while (r0 > 0) {
    0x00065450 ldr r3, [pc, 0x1c4]                           |         r3 = *(0x65618);
    0x00065454 ldr sb, [r7]                                  |         sb = *(r7);
    0x00065458 add r3, pc, r3                                |         r3 = pc + r3;
    0x0006545c mov r7, 0                                     |         r7 = 0;
    0x00065460 add sl, r5, 2                                 |         sl = r5 + 2;
    0x00065464 add fp, sp, 0x1c                              |         
    0x00065468 str r3, [sp, 0x14]                            |         var_14h = r3;
                                                             | label_2:
    0x0006546c mov r0, sb                                    |         r0 = sb;
    0x00065470 bl 0x154518                                   |         r0 = OPENSSL_sk_num ();
    0x00065474 cmp r7, r0                                    |         
                                                             |         if (r7 < r0) {
    0x00065478 blt 0x65544                                   |             goto label_9;
                                                             |         }
    0x0006547c cmp r7, 0                                     |         
                                                             |         if (r7 == 0) {
    0x00065480 beq 0x655b0                                   |             goto label_10;
                                                             |         }
                                                             | label_5:
    0x00065484 ldr r3, [r8]                                  |         r3 = *(r8);
    0x00065488 tst r3, 2                                     |         
                                                             |         if ((r3 & 2) != 0) {
    0x0006548c moveq r0, 1                                   |             r0 = 1;
                                                             |         }
                                                             |         if ((r3 & 2) == 0) {
    0x00065490 beq 0x6550c                                   |             goto label_7;
                                                             |         }
    0x00065494 ldr r3, [pc, 0x184]                           |         r3 = *(0x6561c);
    0x00065498 ldr r1, [pc, 0x184]                           |         r1 = *(0x65620);
    0x0006549c add r3, pc, r3                                |         r3 = pc + r3;
    0x000654a0 mov r2, r5                                    |         r2 = r5;
    0x000654a4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000654a8 mov r0, r4                                    |         r0 = r4;
    0x000654ac bl 0x6bbc4                                    |         r0 = BIO_printf ()
    0x000654b0 cmp r0, 0                                     |         
                                                             |         if (r0 > 0) {
    0x000654b4 movle r0, 0                                   |             r0 = 0;
                                                             |         }
                                                             |         if (r0 <= 0) {
    0x000654b8 movgt r0, 1                                   |             r0 = 1;
                                                             |         }
    0x000654bc b 0x6550c                                     |         goto label_7;
    0x000654c0 tst r0, 4                                     |         
                                                             |         if ((r0 & 4) == 0) {
    0x000654c4 beq 0x65520                                   |             goto label_11;
                                                             |         }
    0x000654c8 tst r1, 2                                     |         
                                                             |         if ((r1 & 2) != 0) {
    0x000654cc bne 0x65514                                   |             goto label_12;
                                                             |         }
    0x000654d0 ldr r3, [pc, 0x150]                           |         r3 = *(0x65624);
    0x000654d4 add r3, pc, r3                                |         r3 = pc + r3;
                                                             | label_0:
    0x000654d8 ldr r2, [r6, 0xc]                             |         r2 = *((r6 + 0xc));
    0x000654dc str r3, [sp]                                  |         *(sp) = r3;
    0x000654e0 ldr r1, [pc, 0x144]                           |         r1 = *(0x65628);
    0x000654e4 ldr r3, [pc, 0x144]                           |         r3 = *(0x6562c);
    0x000654e8 str r2, [sp, 4]                               |         var_4h = r2;
    0x000654ec add r3, pc, r3                                |         r3 = pc + r3;
    0x000654f0 mov r2, r5                                    |         r2 = r5;
    0x000654f4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000654f8 mov r0, r4                                    |         r0 = r4;
    0x000654fc bl 0x6bbc4                                    |         r0 = BIO_printf ()
                                                             | label_1:
    0x00065500 cmp r0, 0                                     |         
    0x00065504 bgt 0x65450                                   |         
                                                             |     }
                                                             |     do {
                                                             | label_4:
    0x00065508 mov r0, 0                                     |         r0 = 0;
                                                             | label_7:
    0x0006550c add sp, sp, 0x24                              |         
    0x00065510 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_12:
    0x00065514 ldr r3, [pc, 0x118]                           |         r3 = *(0x65630);
    0x00065518 add r3, pc, r3                                |         r3 = pc + r3;
    0x0006551c b 0x654d8                                     |         goto label_0;
                                                             | label_11:
    0x00065520 str r3, [sp]                                  |         *(sp) = r3;
    0x00065524 ldr r1, [pc, 0x10c]                           |         r1 = *(0x65634);
    0x00065528 ldr r3, [pc, 0x10c]                           |         r3 = *(0x65638);
    0x0006552c mov r2, r5                                    |         r2 = r5;
    0x00065530 add r3, pc, r3                                |         r3 = pc + r3;
    0x00065534 add r1, pc, r1                                |         r1 = pc + r1;
    0x00065538 mov r0, r4                                    |         r0 = r4;
    0x0006553c bl 0x6bbc4                                    |         BIO_printf ()
    0x00065540 b 0x65500                                     |         goto label_1;
                                                             | label_9:
    0x00065544 cmp r7, 0                                     |         
                                                             |         if (r7 > 0) {
    0x00065548 bgt 0x65598                                   |             goto label_13;
                                                             |         }
                                                             | label_3:
    0x0006554c mov r1, r7                                    |         r1 = r7;
    0x00065550 mov r0, sb                                    |         r0 = sb;
    0x00065554 bl 0x154528                                   |         OPENSSL_sk_value ();
    0x00065558 mov r3, 1                                     |         r3 = 1;
    0x0006555c str r3, [sp, 8]                               |         var_8h = r3;
    0x00065560 mov r3, 0                                     |         r3 = 0;
    0x00065564 str r3, [sp, 4]                               |         var_4h = r3;
    0x00065568 str r3, [sp]                                  |         *(sp) = r3;
    0x0006556c str r8, [sp, 0xc]                             |         var_ch = r8;
    0x00065570 ldr r3, [r6, 0x10]                            |         r3 = *((r6 + 0x10));
    0x00065574 mov r2, sl                                    |         r2 = sl;
    0x00065578 mov r1, fp                                    |         r1 = fp;
    0x0006557c str r0, [sp, 0x1c]                            |         var_1ch = r0;
    0x00065580 mov r0, r4                                    |         r0 = r4;
    0x00065584 bl 0x64cb0                                    |         r0 = fcn_00064cb0 (r0, r1, r2, r3, r4, r5, r6);
    0x00065588 cmp r0, 0                                     |         
    0x0006558c beq 0x65508                                   |         
                                                             |     } while (r0 == 0);
    0x00065590 add r7, r7, 1                                 |     r7++;
    0x00065594 b 0x6546c                                     |     goto label_2;
                                                             | label_13:
    0x00065598 ldr r1, [sp, 0x14]                            |     r1 = var_14h;
    0x0006559c mov r0, r4                                    |     r0 = r4;
    0x000655a0 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x000655a4 cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x000655a8 bgt 0x6554c                                   |         goto label_3;
                                                             |     }
    0x000655ac b 0x65508                                     |     goto label_4;
                                                             | label_10:
    0x000655b0 cmp sb, 0                                     |     
    0x000655b4 add r2, r5, 2                                 |     r2 = r5 + 2;
                                                             |     if (sb == 0) {
    0x000655b8 beq 0x655ec                                   |         goto label_14;
                                                             |     }
    0x000655bc ldr r3, [pc, 0x7c]                            |     r3 = *(0x6563c);
    0x000655c0 add r3, pc, r3                                |     r3 = pc + r3;
                                                             | label_6:
    0x000655c4 str r3, [sp]                                  |     *(sp) = r3;
    0x000655c8 ldr r1, [pc, 0x74]                            |     r1 = *(0x65640);
    0x000655cc ldr r3, [pc, 0x74]                            |     r3 = *(0x65644);
    0x000655d0 add r1, pc, r1                                |     r1 = pc + r1;
    0x000655d4 add r3, pc, r3                                |     r3 = pc + r3;
    0x000655d8 mov r0, r4                                    |     r0 = r4;
    0x000655dc bl 0x6bbc4                                    |     r0 = BIO_printf ()
    0x000655e0 cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x000655e4 bgt 0x65484                                   |         goto label_5;
                                                             |     }
    0x000655e8 b 0x65508                                     |     goto label_4;
                                                             | label_14:
    0x000655ec ldr r3, [pc, 0x58]                            |     r3 = *(0x65648);
    0x000655f0 add r3, pc, r3                                |     r3 = pc + r3;
    0x000655f4 b 0x655c4                                     |     goto label_6;
                                                             | label_8:
    0x000655f8 stmib sp, {r2, ip}                            |     __asm ("stmib sp, {r2, ip}");
    0x000655fc str r3, [sp]                                  |     *(sp) = r3;
    0x00065600 str r8, [sp, 0xc]                             |     var_ch = r8;
    0x00065604 ldr r3, [r6, 0x10]                            |     r3 = *((r6 + 0x10));
    0x00065608 mov r2, r5                                    |     r2 = r5;
    0x0006560c mov r1, r7                                    |     r1 = r7;
    0x00065610 mov r0, r4                                    |     r0 = r4;
    0x00065614 bl 0x64cb0                                    |     fcn_00064cb0 (r0, r1, r2, r3, r4, r5, r6);
    0x00065618 b 0x6550c                                     |     goto label_7;
                                                             | }
    ; 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/libcrypto.so.1.1 @ 0x9da64 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.0009da64 ()                                      | void fcn_0009da64 () {
                                                                 |     int32_t var_0h;
                                                                 |     do {
    0x0009d848 mov r2, 0x10                                      |         r2 = 0x10;
    0x0009d84c mov r1, r6                                        |         r1 = r6;
    0x0009d850 mov r0, r4                                        |         r0 = r4;
    0x0009d854 bl 0x6a534                                        |         BIO_hex_string ();
    0x0009d858 add sp, sp, 0x24                                  |         
    0x0009d85c pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_0:
    0x0009d9f4 ldr r3, [pc, 0xe0]                                |         r3 = *(0x9dad8);
    0x0009d9f8 ldr r1, [pc, 0xe0]                                |         r1 = *(0x9dadc);
    0x0009d9fc add r3, pc, r3                                    |         r3 = pc + r3;
    0x0009da00 mov r2, r7                                        |         r2 = r7;
    0x0009da04 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0009da08 mov r0, r4                                        |         r0 = r4;
    0x0009da0c bl 0x6bbc4                                        |         BIO_printf ()
    0x0009da10 mov r0, r5                                        |         r0 = r5;
    0x0009da14 bl 0x9e0a8                                        |         r0 = SCT_get_signature_nid ();
    0x0009da18 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0009da1c bne 0x9da80                                       |             goto label_2;
                                                                 |         }
    0x0009da20 ldr r1, [pc, 0xbc]                                |         r1 = *(0x9dae0);
    0x0009da24 ldrb r3, [r5, 0x29]                               |         r3 = *((r5 + 0x29));
    0x0009da28 ldrb r2, [r5, 0x28]                               |         r2 = *((r5 + 0x28));
    0x0009da2c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0009da30 mov r0, r4                                        |         r0 = r4;
    0x0009da34 bl 0x6bbc4                                        |         BIO_printf ()
                                                                 | label_1:
    0x0009da38 ldr r3, [pc, 0xa8]                                |         r3 = *(0x9dae4);
    0x0009da3c ldr r1, [pc, 0xa8]                                |         r1 = *(0x9dae8);
    0x0009da40 add r3, pc, r3                                    |         r3 = pc + r3;
    0x0009da44 mov r2, r7                                        |         r2 = r7;
    0x0009da48 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0009da4c mov r0, r4                                        |         r0 = r4;
    0x0009da50 bl 0x6bbc4                                        |         BIO_printf ()
    0x0009da54 ldr r3, [r5, 0x30]                                |         r3 = *((r5 + 0x30));
    0x0009da58 str r3, [sp]                                      |         *(sp) = r3;
    0x0009da5c ldr r3, [r5, 0x2c]                                |         r3 = *((r5 + 0x2c));
    0x0009da60 b 0x9d848                                         |         
                                                                 |     } while (1);
    0x0009da64 str r3, [sp]                                      |     *(sp) = r3;
    0x0009da68 mov r2, 0x10                                      |     r2 = 0x10;
    0x0009da6c ldr r3, [r5, 0x20]                                |     r3 = *((r5 + 0x20));
    0x0009da70 mov r1, r6                                        |     r1 = r6;
    0x0009da74 mov r0, r4                                        |     r0 = r4;
    0x0009da78 bl 0x6a534                                        |     BIO_hex_string ();
    0x0009da7c b 0x9d9f4                                         |     goto label_0;
                                                                 | label_2:
    0x0009da80 bl 0x120690                                       |     OBJ_nid2ln ();
    0x0009da84 ldr r1, [pc, 0x64]                                |     r1 = *(0x9daec);
    0x0009da88 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0009da8c mov r2, r0                                        |     r2 = r0;
    0x0009da90 mov r0, r4                                        |     r0 = r4;
    0x0009da94 bl 0x6bbc4                                        |     BIO_printf ()
    0x0009da98 b 0x9da38                                         |     goto label_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/libcrypto.so.1.1 @ 0x10db04 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0010db04 ()                  | void fcn_0010db04 (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x0010db04 push {r4, r5, r6, lr}         |     
    0x0010db08 mov r6, r1                    |     r6 = r1;
    0x0010db0c mov r1, r2                    |     r1 = r2;
    0x0010db10 mov r2, 0x80                  |     r2 = 0x80;
    0x0010db14 mov r5, r3                    |     r5 = r3;
    0x0010db18 mov r4, r0                    |     r4 = r0;
    0x0010db1c bl 0x6eb94                    |     BIO_indent ();
    0x0010db20 ldr r0, [r6]                  |     r0 = *(r6);
    0x0010db24 bl 0x120690                   |     OBJ_nid2ln ();
    0x0010db28 ldr r1, [pc, 0x18]            |     r1 = *(0x10db44);
    0x0010db2c mov r2, r5                    |     r2 = r5;
    0x0010db30 add r1, pc, r1                |     r1 = pc + r1;
    0x0010db34 mov r3, r0                    |     r3 = r0;
    0x0010db38 mov r0, r4                    |     r0 = r4;
    0x0010db3c bl 0x6bbc4                    |     BIO_printf ()
    0x0010db40 mov r0, 1                     |     r0 = 1;
    0x0010db44 pop {r4, r5, r6, pc}          |     
                                             | }
    ; 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/libcrypto.so.1.1 @ 0x123cb0 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.00123cb0 ()                          | void fcn_00123cb0 (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00123cb0 push {r4, r5, r6, r7, r8, lr}         |     
    0x00123cb4 ldr r6, [pc, 0xd4]                    |     r6 = *(0x123d8c);
    0x00123cb8 mov r7, r1                            |     r7 = r1;
    0x00123cbc ldr r1, [pc, 0xd0]                    |     r1 = *(0x123d90);
    0x00123cc0 add r6, pc, r6                        |     r6 = pc + r6;
    0x00123cc4 mov r3, r6                            |     r3 = r6;
    0x00123cc8 add r1, pc, r1                        |     r1 = pc + r1;
    0x00123ccc mov r4, r0                            |     r4 = r0;
    0x00123cd0 mov r5, r2                            |     r5 = r2;
    0x00123cd4 bl 0x6bbc4                            |     BIO_printf ()
    0x00123cd8 ldr r1, [pc, 0xb8]                    |     r1 = *(0x123d94);
    0x00123cdc add r5, r5, 2                         |     r5 += 2;
    0x00123ce0 mov r3, r6                            |     r3 = r6;
    0x00123ce4 mov r2, r5                            |     r2 = r5;
    0x00123ce8 mov r8, r7                            |     r8 = r7;
    0x00123cec add r1, pc, r1                        |     r1 = pc + r1;
    0x00123cf0 mov r0, r4                            |     r0 = r4;
    0x00123cf4 bl 0x6bbc4                            |     BIO_printf ()
    0x00123cf8 ldr r1, [r8], 8                       |     r1 = *(r8);
                                                     |     r8 += 8;
    0x00123cfc mov r0, r4                            |     r0 = r4;
    0x00123d00 bl 0x55f58                            |     i2a_ASN1_OBJECT ();
    0x00123d04 ldr r1, [pc, 0x90]                    |     r1 = *(0x123d98);
    0x00123d08 mov r3, r6                            |     r3 = r6;
    0x00123d0c mov r2, r5                            |     r2 = r5;
    0x00123d10 add r1, pc, r1                        |     r1 = pc + r1;
    0x00123d14 mov r0, r4                            |     r0 = r4;
    0x00123d18 bl 0x6bbc4                            |     BIO_printf ()
    0x00123d1c mov r1, r8                            |     r1 = r8;
    0x00123d20 mov r2, 0                             |     r2 = 0;
    0x00123d24 mov r0, r4                            |     r0 = r4;
    0x00123d28 bl 0x5fb6c                            |     i2a_ASN1_STRING ();
    0x00123d2c ldr r1, [pc, 0x6c]                    |     r1 = *(0x123d9c);
    0x00123d30 mov r3, r6                            |     r3 = r6;
    0x00123d34 mov r2, r5                            |     r2 = r5;
    0x00123d38 add r1, pc, r1                        |     r1 = pc + r1;
    0x00123d3c mov r0, r4                            |     r0 = r4;
    0x00123d40 bl 0x6bbc4                            |     BIO_printf ()
    0x00123d44 add r1, r7, 0x18                      |     r1 = r7 + 0x18;
    0x00123d48 mov r2, 0                             |     r2 = 0;
    0x00123d4c mov r0, r4                            |     r0 = r4;
    0x00123d50 bl 0x5fb6c                            |     i2a_ASN1_STRING ();
    0x00123d54 ldr r1, [pc, 0x48]                    |     r1 = *(0x123da0);
    0x00123d58 mov r3, r6                            |     r3 = r6;
    0x00123d5c mov r2, r5                            |     r2 = r5;
    0x00123d60 add r1, pc, r1                        |     r1 = pc + r1;
    0x00123d64 mov r0, r4                            |     r0 = r4;
    0x00123d68 bl 0x6bbc4                            |     BIO_printf ()
    0x00123d6c add r1, r7, 0x28                      |     r1 = r7 + 0x28;
    0x00123d70 mov r0, r4                            |     r0 = r4;
    0x00123d74 bl 0x5f764                            |     i2a_ASN1_INTEGER ();
    0x00123d78 ldr r1, [pc, 0x28]                    |     r1 = *(0x123da4);
    0x00123d7c mov r0, r4                            |     r0 = r4;
    0x00123d80 add r1, pc, r1                        |     r1 = pc + r1;
    0x00123d84 bl 0x6bbc4                            |     BIO_printf ()
    0x00123d88 mov r0, 1                             |     r0 = 1;
    0x00123d8c pop {r4, r5, r6, r7, r8, pc}          |     
                                                     | }
    ; 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/libcrypto.so.1.1 @ 0x13b384 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.0013b384 ()                                  | void fcn_0013b384 (int32_t arg1, int32_t arg2) {
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0013b384 push {r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x0013b388 mov sb, r1                                    |     sb = r1;
    0x0013b38c mov r6, r2                                    |     r6 = r2;
    0x0013b390 mov r1, r3                                    |     r1 = r3;
    0x0013b394 mov r2, 0x80                                  |     r2 = 0x80;
    0x0013b398 mov r4, r0                                    |     r4 = r0;
    0x0013b39c mov r7, r3                                    |     r7 = r3;
    0x0013b3a0 bl 0x6eb94                                    |     r0 = BIO_indent ();
    0x0013b3a4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0013b3a8 bne 0x13b3b8                                  |         
                                                             | label_1:
    0x0013b3ac mov r8, 0                                     |         r8 = 0;
                                                             | label_2:
    0x0013b3b0 mov r5, 0                                     |         r5 = 0;
    0x0013b3b4 b 0x13b67c                                    |         goto label_10;
                                                             |     }
    0x0013b3b8 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x0013b3bc beq 0x13b40c                                  |         goto label_11;
                                                             |     }
    0x0013b3c0 cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x0013b3c4 bne 0x13b3ec                                  |         goto label_12;
                                                             |     }
    0x0013b3c8 ldr r1, [pc, 0x2d4]                           |     r1 = *(0x13b6a0);
    0x0013b3cc add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_0:
    0x0013b3d0 mov r0, r4                                    |     r0 = r4;
    0x0013b3d4 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x0013b3d8 cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x0013b3dc movle r5, 0                                   |         r5 = 0;
                                                             |     }
    0x0013b3e0 movgt r5, 1                                   |     r5 = 1;
                                                             |     while (1) {
                                                             | label_8:
    0x0013b3e4 mov r0, r5                                    |         r0 = r5;
    0x0013b3e8 pop {r4, r5, r6, r7, r8, sb, sl, pc}          |         
                                                             | label_12:
    0x0013b3ec ldr r1, [pc, 0x2b4]                           |         r1 = *(0x13b6a4);
    0x0013b3f0 mov r0, r4                                    |         r0 = r4;
    0x0013b3f4 add r1, pc, r1                                |         r1 = pc + r1;
    0x0013b3f8 bl 0x6e860                                    |         r0 = BIO_puts ();
    0x0013b3fc cmp r0, 0                                     |         
                                                             |         if (r0 > 0) {
    0x0013b400 bgt 0x13b41c                                  |             goto label_13;
                                                             |         }
    0x0013b404 mov r5, 0                                     |         r5 = 0;
    0x0013b408 b 0x13b3e4                                    |         
                                                             |     }
                                                             | label_11:
    0x0013b40c cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x0013b410 ldreq r1, [pc, 0x294]                         |         r1 = *((pc + 0x294));
                                                             |     }
                                                             |     if (r6 == 0) {
    0x0013b414 addeq r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_14;
                                                             |     }
                                                             |     if (r6 == 0) {
                                                             | label_14:
    0x0013b418 beq 0x13b3d0                                  |         goto label_0;
                                                             |     }
                                                             | label_13:
    0x0013b41c ldr r1, [pc, 0x28c]                           |     r1 = *(0x13b6ac);
    0x0013b420 mov r0, r4                                    |     r0 = r4;
    0x0013b424 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b428 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x0013b42c cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b430 ble 0x13b3ac                                  |         goto label_1;
                                                             |     }
    0x0013b434 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x0013b438 addne r7, r7, 2                               |         r7 += 2;
                                                             |     }
    0x0013b43c mov r2, 0x80                                  |     r2 = 0x80;
    0x0013b440 mov r1, r7                                    |     r1 = r7;
    0x0013b444 mov r0, r4                                    |     r0 = r4;
    0x0013b448 bl 0x6eb94                                    |     r0 = BIO_indent ();
    0x0013b44c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0013b450 beq 0x13b3ac                                  |         goto label_1;
                                                             |     }
    0x0013b454 ldr r1, [pc, 0x258]                           |     r1 = *(0x13b6b0);
    0x0013b458 mov r0, r4                                    |     r0 = r4;
    0x0013b45c add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b460 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x0013b464 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b468 ble 0x13b3ac                                  |         goto label_1;
                                                             |     }
    0x0013b46c ldr r3, [r6]                                  |     r3 = *(r6);
    0x0013b470 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0013b474 beq 0x13b618                                  |         goto label_15;
                                                             |     }
    0x0013b478 ldr r1, [r3]                                  |     r1 = *(r3);
    0x0013b47c mov r0, r4                                    |     r0 = r4;
    0x0013b480 bl 0x55f58                                    |     r0 = i2a_ASN1_OBJECT ();
                                                             | label_3:
    0x0013b484 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b488 ble 0x13b3ac                                  |         goto label_1;
                                                             |     }
    0x0013b48c ldr r1, [pc, 0x224]                           |     r1 = *(0x13b6b4);
    0x0013b490 mov r0, r4                                    |     r0 = r4;
    0x0013b494 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b498 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x0013b49c cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b4a0 ble 0x13b3ac                                  |         goto label_1;
                                                             |     }
    0x0013b4a4 mov r2, 0x80                                  |     r2 = 0x80;
    0x0013b4a8 mov r1, r7                                    |     r1 = r7;
    0x0013b4ac mov r0, r4                                    |     r0 = r4;
    0x0013b4b0 bl 0x6eb94                                    |     r0 = BIO_indent ();
    0x0013b4b4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0013b4b8 beq 0x13b3ac                                  |         goto label_1;
                                                             |     }
    0x0013b4bc ldr r1, [pc, 0x1f8]                           |     r1 = *(0x13b6b8);
    0x0013b4c0 mov r0, r4                                    |     r0 = r4;
    0x0013b4c4 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b4c8 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x0013b4cc cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b4d0 ble 0x13b3ac                                  |         goto label_1;
                                                             |     }
    0x0013b4d4 ldr r3, [r6, 4]                               |     r3 = *((r6 + 4));
    0x0013b4d8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0013b4dc beq 0x13b64c                                  |         goto label_16;
                                                             |     }
    0x0013b4e0 ldr r1, [r3]                                  |     r1 = *(r3);
    0x0013b4e4 mov r0, r4                                    |     r0 = r4;
    0x0013b4e8 bl 0x55f58                                    |     r0 = i2a_ASN1_OBJECT ();
    0x0013b4ec cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b4f0 ble 0x13b3ac                                  |         goto label_1;
                                                             |     }
    0x0013b4f4 ldr r1, [pc, 0x1c4]                           |     r1 = *(0x13b6bc);
    0x0013b4f8 mov r0, r4                                    |     r0 = r4;
    0x0013b4fc add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b500 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x0013b504 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b508 ble 0x13b3ac                                  |         goto label_1;
                                                             |     }
    0x0013b50c ldr r0, [r6, 4]                               |     r0 = *((r6 + 4));
    0x0013b510 bl 0x13b318                                   |     r0 = fcn_0013b318 (r0);
    0x0013b514 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x0013b518 beq 0x13b62c                                  |         goto label_17;
                                                             |     }
    0x0013b51c ldr r1, [r8]                                  |     r1 = *(r8);
    0x0013b520 mov r0, r4                                    |     r0 = r4;
    0x0013b524 bl 0x55f58                                    |     r0 = i2a_ASN1_OBJECT ();
    0x0013b528 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b52c ble 0x13b3b0                                  |         goto label_2;
                                                             |     }
                                                             | label_4:
    0x0013b530 ldr r1, [pc, 0x18c]                           |     r1 = *(0x13b6c0);
    0x0013b534 mov r0, r4                                    |     r0 = r4;
    0x0013b538 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b53c bl 0x6e860                                    |     BIO_puts ();
    0x0013b540 mov r2, 0x80                                  |     r2 = 0x80;
    0x0013b544 mov r1, r7                                    |     r1 = r7;
    0x0013b548 mov r0, r4                                    |     r0 = r4;
    0x0013b54c bl 0x6eb94                                    |     r0 = BIO_indent ();
    0x0013b550 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 == r0) {
    0x0013b554 beq 0x13b67c                                  |         goto label_10;
                                                             |     }
    0x0013b558 cmp sb, 0                                     |     
                                                             |     if (sb != 0) {
    0x0013b55c bne 0x13b658                                  |         goto label_18;
                                                             |     }
    0x0013b560 ldr r2, [pc, 0x160]                           |     r2 = *(0x13b6c4);
    0x0013b564 add r2, pc, r2                                |     r2 = pc + r2;
                                                             | label_6:
    0x0013b568 ldr r1, [pc, 0x15c]                           |     r1 = *(0x13b6c8);
    0x0013b56c mov r0, r4                                    |     r0 = r4;
    0x0013b570 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b574 bl 0x6bbc4                                    |     r0 = BIO_printf ()
    0x0013b578 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b57c ble 0x13b3b0                                  |         goto label_2;
                                                             |     }
    0x0013b580 ldr r5, [r6, 8]                               |     r5 = *((r6 + 8));
    0x0013b584 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x0013b588 beq 0x13b664                                  |         goto label_19;
                                                             |     }
    0x0013b58c mov r1, r5                                    |     r1 = r5;
    0x0013b590 mov r0, r4                                    |     r0 = r4;
    0x0013b594 bl 0x5f764                                    |     r0 = i2a_ASN1_INTEGER ();
    0x0013b598 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b59c ble 0x13b3b0                                  |         goto label_2;
                                                             |     }
                                                             | label_7:
    0x0013b5a0 ldr r1, [pc, 0x128]                           |     r1 = *(0x13b6cc);
    0x0013b5a4 mov r0, r4                                    |     r0 = r4;
    0x0013b5a8 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b5ac bl 0x6e860                                    |     BIO_puts ();
    0x0013b5b0 mov r2, 0x80                                  |     r2 = 0x80;
    0x0013b5b4 mov r1, r7                                    |     r1 = r7;
    0x0013b5b8 mov r0, r4                                    |     r0 = r4;
    0x0013b5bc bl 0x6eb94                                    |     r0 = BIO_indent ();
    0x0013b5c0 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 == r0) {
    0x0013b5c4 beq 0x13b67c                                  |         goto label_10;
                                                             |     }
    0x0013b5c8 ldr r1, [pc, 0x104]                           |     r1 = *(0x13b6d0);
    0x0013b5cc mov r0, r4                                    |     r0 = r4;
    0x0013b5d0 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b5d4 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x0013b5d8 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b5dc ble 0x13b3b0                                  |         goto label_2;
                                                             |     }
    0x0013b5e0 ldr r5, [r6, 0xc]                             |     r5 = *((r6 + 0xc));
    0x0013b5e4 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x0013b5e8 beq 0x13b688                                  |         goto label_20;
                                                             |     }
    0x0013b5ec mov r1, r5                                    |     r1 = r5;
    0x0013b5f0 mov r0, r4                                    |     r0 = r4;
    0x0013b5f4 bl 0x5f764                                    |     r0 = i2a_ASN1_INTEGER ();
    0x0013b5f8 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0013b5fc ble 0x13b3b0                                  |         goto label_2;
                                                             |     }
                                                             | label_9:
    0x0013b600 ldr r1, [pc, 0xd0]                            |     r1 = *(0x13b6d4);
    0x0013b604 mov r0, r4                                    |     r0 = r4;
    0x0013b608 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b60c bl 0x6e860                                    |     BIO_puts ();
    0x0013b610 mov r5, 1                                     |     r5 = 1;
    0x0013b614 b 0x13b67c                                    |     goto label_10;
                                                             | label_15:
    0x0013b618 ldr r1, [pc, 0xbc]                            |     r1 = *(0x13b6d8);
    0x0013b61c mov r0, r4                                    |     r0 = r4;
    0x0013b620 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b624 bl 0x6e860                                    |     BIO_puts ();
    0x0013b628 b 0x13b484                                    |     goto label_3;
                                                             | label_17:
    0x0013b62c ldr r1, [pc, 0xac]                            |     r1 = *(0x13b6dc);
    0x0013b630 add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_5:
    0x0013b634 mov r0, r4                                    |     r0 = r4;
    0x0013b638 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x0013b63c cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x0013b640 movgt r8, 0                                   |         r8 = 0;
                                                             |         goto label_21;
                                                             |     }
                                                             |     if (r0 > 0) {
                                                             | label_21:
    0x0013b644 bgt 0x13b530                                  |         goto label_4;
                                                             |     }
    0x0013b648 b 0x13b3ac                                    |     goto label_1;
                                                             | label_16:
    0x0013b64c ldr r1, [pc, 0x90]                            |     r1 = *(0x13b6e0);
    0x0013b650 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b654 b 0x13b634                                    |     goto label_5;
                                                             | label_18:
    0x0013b658 ldr r2, [pc, 0x88]                            |     r2 = *(0x13b6e4);
    0x0013b65c add r2, pc, r2                                |     r2 = pc + r2;
    0x0013b660 b 0x13b568                                    |     goto label_6;
                                                             | label_19:
    0x0013b664 ldr r1, [pc, 0x80]                            |     r1 = *(0x13b6e8);
    0x0013b668 mov r0, r4                                    |     r0 = r4;
    0x0013b66c add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b670 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x0013b674 cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x0013b678 bgt 0x13b5a0                                  |         goto label_7;
                                                             |     }
                                                             | label_10:
    0x0013b67c mov r0, r8                                    |     r0 = r8;
    0x0013b680 bl 0x66578                                    |     X509_ALGOR_free ();
    0x0013b684 b 0x13b3e4                                    |     goto label_8;
                                                             | label_20:
    0x0013b688 ldr r1, [pc, 0x60]                            |     r1 = *(0x13b6ec);
    0x0013b68c mov r0, r4                                    |     r0 = r4;
    0x0013b690 add r1, pc, r1                                |     r1 = pc + r1;
    0x0013b694 bl 0x6e860                                    |     r0 = BIO_puts ();
    0x0013b698 cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x0013b69c bgt 0x13b600                                  |         goto label_9;
                                                             |     }
    0x0013b6a0 b 0x13b67c                                    |     goto label_10;
                                                             | }
    ; 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/libcrypto.so.1.1 @ 0x1729fc */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) fcn.001729fc ()                                  | void fcn_001729fc (int32_t arg1, uint32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_9h;
                                                             |     int32_t var_ah;
                                                             |     int32_t var_bh;
                                                             |     int8_t var_0h_2;
                                                             |     int8_t var_1h;
                                                             |     int32_t var_18h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x001729fc cmp r1, 1                                     |     
    0x00172a00 push {r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x00172a04 mov r5, r0                                    |     r5 = r0;
    0x00172a08 sub sp, sp, 0x18                              |     
    0x00172a0c mov r4, r1                                    |     r4 = r1;
    0x00172a10 mov r6, r3                                    |     r6 = r3;
                                                             |     if (r1 != 1) {
    0x00172a14 beq 0x172a40                                  |         
    0x00172a18 cmp r1, 2                                     |         
                                                             |         if (r1 == 2) {
    0x00172a1c beq 0x172a98                                  |             goto label_3;
                                                             |         }
    0x00172a20 ldr r7, [pc, 0x198]                           |         r7 = *(0x172bbc);
    0x00172a24 ldr r8, [pc, 0x198]                           |         r8 = *(0x172bc0);
    0x00172a28 ldr sb, [pc, 0x198]                           |         sb = *(0x00172bc8);
    0x00172a2c mov r4, 0                                     |         r4 = 0;
    0x00172a30 add r7, pc, r7                                |         r7 = pc + r7;
    0x00172a34 add r8, pc, r8                                |         r8 = pc + r8;
    0x00172a38 add sb, pc, sb                                |         sb = pc + sb;
    0x00172a3c b 0x172b98                                    |         goto label_4;
                                                             |     }
    0x00172a40 mov r3, r2                                    |     r3 = r2;
    0x00172a44 mov r1, r6                                    |     r1 = r6;
    0x00172a48 mov r2, 4                                     |     r2 = 4;
    0x00172a4c add r0, sp, 8                                 |     r0 += var_8h;
    0x00172a50 bl 0x17256c                                   |     r0 = fcn_0017256c (r0, r1);
    0x00172a54 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00172a58 bne 0x172a68                                  |         goto label_5;
                                                             |     }
                                                             | label_0:
    0x00172a5c mov r0, 0                                     |     r0 = 0;
                                                             |     do {
    0x00172a60 add sp, sp, 0x18                              |         
    0x00172a64 pop {r4, r5, r6, r7, r8, sb, sl, pc}          |         
                                                             | label_5:
    0x00172a68 ldrb r1, [sp, 0xb]                            |         r1 = var_bh;
    0x00172a6c ldrb r3, [sp, 9]                              |         r3 = var_9h;
    0x00172a70 str r1, [sp, 4]                               |         var_4h = r1;
    0x00172a74 ldrb r1, [sp, 0xa]                            |         r1 = var_ah;
    0x00172a78 ldrb r2, [sp, 8]                              |         r2 = var_8h;
    0x00172a7c str r1, [sp]                                  |         *(sp) = r1;
    0x00172a80 ldr r1, [pc, 0x144]                           |         r1 = *(0x172bc8);
    0x00172a84 mov r0, r5                                    |         r0 = r5;
    0x00172a88 add r1, pc, r1                                |         r1 = pc + r1;
    0x00172a8c bl 0x6bbc4                                    |         BIO_printf ()
                                                             | label_1:
    0x00172a90 mov r0, 1                                     |         r0 = 1;
    0x00172a94 b 0x172a60                                    |         
                                                             |     } while (1);
                                                             | label_3:
    0x00172a98 add r7, sp, 8                                 |     r7 += var_8h;
    0x00172a9c mov r3, r2                                    |     r3 = r2;
    0x00172aa0 mov r1, r6                                    |     r1 = r6;
    0x00172aa4 mov r2, 0x10                                  |     r2 = 0x10;
    0x00172aa8 mov r0, r7                                    |     r0 = r7;
    0x00172aac bl 0x17256c                                   |     r0 = fcn_0017256c (r0, r1);
    0x00172ab0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00172ab4 movne r4, 0x10                                |         r4 = 0x10;
                                                             |         goto label_6;
                                                             |     }
                                                             |     if (r0 == 0) {
                                                             | label_6:
    0x00172ab8 beq 0x172a5c                                  |         goto label_0;
                                                             |     }
                                                             |     do {
    0x00172abc add r3, r7, r4                                |         r3 = r7 + r4;
    0x00172ac0 ldrb r3, [r3, -1]                             |         r3 = var_1h;
    0x00172ac4 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00172ac8 bne 0x172ae4                                  |             goto label_7;
                                                             |         }
    0x00172acc sub r3, r4, 2                                 |         r3 = r4 - 2;
    0x00172ad0 ldrb r2, [r7, r3]                             |         r2 = *((r7 + r3));
    0x00172ad4 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00172ad8 bne 0x172ae4                                  |             goto label_7;
                                                             |         }
    0x00172adc subs r4, r3, 0                                |         r4 = r3 - 0;
    0x00172ae0 bne 0x172abc                                  |         
                                                             |     } while (r4 != r3);
                                                             | label_7:
    0x00172ae4 ldr r8, [pc, 0xe4]                            |     r8 = *(0x172bcc);
    0x00172ae8 ldr sb, [pc, 0xe4]                            |     sb = *(0x172bd0);
    0x00172aec ldr sl, [pc, 0xe4]                            |     sl = *(0x172bd4);
    0x00172af0 mov r6, 0                                     |     r6 = 0;
    0x00172af4 add r8, pc, r8                                |     r8 = pc + r8;
    0x00172af8 add sb, pc, sb                                |     sb = pc + sb;
    0x00172afc add sl, pc, sl                                |     sl = pc + sl;
                                                             | label_2:
    0x00172b00 cmp r6, r4                                    |     
                                                             |     if (r6 < r4) {
    0x00172b04 blt 0x172b44                                  |         goto label_8;
                                                             |     }
    0x00172b08 add r4, r4, 1                                 |     r4++;
    0x00172b0c bic r4, r4, 1                                 |     r4 = BIT_MASK (r4, 1);
    0x00172b10 cmp r4, 0x10                                  |     
                                                             |     if (r4 == 0x10) {
    0x00172b14 beq 0x172a90                                  |         goto label_1;
                                                             |     }
    0x00172b18 ldr r6, [pc, 0xbc]                            |     r6 = *(0x172bd8);
    0x00172b1c mov r0, r5                                    |     r0 = r5;
    0x00172b20 add r6, pc, r6                                |     r6 = pc + r6;
    0x00172b24 mov r1, r6                                    |     r1 = r6;
    0x00172b28 bl 0x6e860                                    |     BIO_puts ();
    0x00172b2c cmp r4, 0                                     |     
                                                             |     if (r4 != 0) {
    0x00172b30 bne 0x172a90                                  |         goto label_1;
                                                             |     }
    0x00172b34 mov r1, r6                                    |     r1 = r6;
    0x00172b38 mov r0, r5                                    |     r0 = r5;
    0x00172b3c bl 0x6e860                                    |     BIO_puts ();
    0x00172b40 b 0x172a90                                    |     goto label_1;
                                                             | label_8:
    0x00172b44 mov r3, r7                                    |     r3 = r7;
    0x00172b48 ldrb r1, [r3, r6]!                            |     r1 = *((r3 += r6));
    0x00172b4c cmp r6, 0xe                                   |     
    0x00172b50 ldrb r2, [r3, 1]                              |     r2 = var_9h;
    0x00172b54 mov r0, r5                                    |     r0 = r5;
    0x00172b58 orr r2, r2, r1, lsl 8                         |     r2 |= (r1 << 8);
                                                             |     if (r6 >= 0xe) {
    0x00172b5c movlt r3, r8                                  |         r3 = r8;
                                                             |     }
                                                             |     if (r6 < 0xe) {
    0x00172b60 movge r3, sb                                  |         r3 = sb;
                                                             |     }
    0x00172b64 mov r1, sl                                    |     r1 = sl;
    0x00172b68 bl 0x6bbc4                                    |     BIO_printf ()
    0x00172b6c add r6, r6, 2                                 |     r6 += 2;
    0x00172b70 b 0x172b00                                    |     goto label_2;
                                                             |     do {
    0x00172b74 ldr r3, [r6, 8]                               |         r3 = *((r6 + 8));
    0x00172b78 cmp r4, 0                                     |         
    0x00172b7c ldrb r3, [r3, r4]                             |         r3 = *((r3 + r4));
                                                             |         if (r4 <= 0) {
    0x00172b80 movgt r2, r7                                  |             r2 = r7;
                                                             |         }
                                                             |         if (r4 > 0) {
    0x00172b84 movle r2, r8                                  |             r2 = r8;
                                                             |         }
    0x00172b88 mov r1, sb                                    |         r1 = sb;
    0x00172b8c mov r0, r5                                    |         r0 = r5;
    0x00172b90 bl 0x6bbc4                                    |         BIO_printf ()
    0x00172b94 add r4, r4, 1                                 |         r4++;
                                                             | label_4:
    0x00172b98 ldr r3, [r6]                                  |         r3 = *(r6);
    0x00172b9c cmp r4, r3                                    |         
    0x00172ba0 blt 0x172b74                                  |         
                                                             |     } while (r4 < r3);
    0x00172ba4 ldr r2, [r6, 0xc]                             |     r2 = *((r6 + 0xc));
    0x00172ba8 ldr r1, [pc, 0x30]                            |     r1 = *(0x172bdc);
    0x00172bac and r2, r2, 7                                 |     r2 &= 7;
    0x00172bb0 add r1, pc, r1                                |     r1 = pc + r1;
    0x00172bb4 mov r0, r5                                    |     r0 = r5;
    0x00172bb8 bl 0x6bbc4                                    |     BIO_printf ()
    0x00172bbc b 0x172a90                                    |     goto label_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/libcrypto.so.1.1 @ 0x174c98 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) fcn.00174c98 ()                              | void fcn_00174c98 (int32_t arg1, int32_t arg2) {
                                                         |     int32_t var_0h;
                                                         |     int32_t var_4h;
                                                         |     int32_t var_8h;
                                                         |     int32_t var_8ch;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x00174c98 push {r4, r5, r6, r7, r8, sb, lr}         |     
    0x00174c9c subs r5, r0, 0                            |     r5 = r0 - 0;
    0x00174ca0 sub sp, sp, 0x8c                          |     
    0x00174ca4 bne 0x174cb4                              |     
                                                         |     while (r3 == 0) {
                                                         | label_0:
    0x00174ca8 mov r0, 0                                 |         r0 = 0;
                                                         | label_1:
    0x00174cac add sp, sp, 0x8c                          |         
    0x00174cb0 pop {r4, r5, r6, r7, r8, sb, pc}          |         
    0x00174cb4 ldr r3, [r5]                              |         r3 = *(r5);
    0x00174cb8 cmp r3, 0                                 |         
                                                         |         if (r3 != 0) {
    0x00174cbc bne 0x174cd8                              |             goto label_3;
                                                         |         }
    0x00174cc0 ldr r3, [r5, 8]                           |         r3 = *((r5 + 8));
    0x00174cc4 cmp r3, 0                                 |         
                                                         |         if (r3 != 0) {
    0x00174cc8 bne 0x174cd8                              |             goto label_3;
                                                         |         }
    0x00174ccc ldr r3, [r5, 4]                           |         r3 = *((r5 + 4));
    0x00174cd0 cmp r3, 0                                 |         
    0x00174cd4 beq 0x174ca8                              |         
                                                         |     }
                                                         | label_3:
    0x00174cd8 ldr r6, [pc, 0x180]                       |     r6 = *(0x174e5c);
    0x00174cdc mov r4, r1                                |     r4 = r1;
    0x00174ce0 ldr r1, [pc, 0x17c]                       |     r1 = *(0x174e60);
    0x00174ce4 add r6, pc, r6                            |     r6 = pc + r6;
    0x00174ce8 mov r3, r6                                |     r3 = r6;
    0x00174cec add r1, pc, r1                            |     r1 = pc + r1;
    0x00174cf0 mov r0, r4                                |     r0 = r4;
    0x00174cf4 mov r7, r2                                |     r7 = r2;
    0x00174cf8 bl 0x6bbc4                                |     r0 = BIO_printf ()
    0x00174cfc cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00174d00 ble 0x174ca8                              |         goto label_0;
                                                         |     }
    0x00174d04 ldr r0, [r5]                              |     r0 = *(r5);
    0x00174d08 cmp r0, 0                                 |     
                                                         |     if (r0 == 0) {
    0x00174d0c beq 0x174d98                              |         goto label_4;
                                                         |     }
    0x00174d10 bl 0x120878                               |     OBJ_obj2nid ();
    0x00174d14 bl 0x120690                               |     OBJ_nid2ln ();
    0x00174d18 ldr r1, [pc, 0x148]                       |     r1 = *(0x174e64);
    0x00174d1c mov r3, r6                                |     r3 = r6;
    0x00174d20 mov r2, r7                                |     r2 = r7;
    0x00174d24 add r1, pc, r1                            |     r1 = pc + r1;
    0x00174d28 mov r8, r0                                |     r8 = r0;
    0x00174d2c mov r0, r4                                |     r0 = r4;
    0x00174d30 bl 0x6bbc4                                |     r0 = BIO_printf ()
    0x00174d34 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00174d38 ble 0x174ca8                              |         goto label_0;
                                                         |     }
    0x00174d3c add sb, sp, 8                             |     sb += var_8h;
    0x00174d40 mov r3, 1                                 |     r3 = 1;
    0x00174d44 ldr r2, [r5]                              |     r2 = *(r5);
    0x00174d48 mov r1, 0x80                              |     r1 = 0x80;
    0x00174d4c mov r0, sb                                |     r0 = sb;
    0x00174d50 bl 0x12093c                               |     OBJ_obj2txt ();
    0x00174d54 cmp r8, 0                                 |     
                                                         |     if (r8 != 0) {
    0x00174d58 moveq r3, r6                              |         r3 = r6;
                                                         |     }
                                                         |     if (r8 != 0) {
    0x00174d5c moveq r8, r3                              |         r8 = r3;
                                                         |     }
                                                         |     if (r8 != 0) {
    0x00174d60 moveq r2, r3                              |         r2 = r3;
                                                         |     }
                                                         |     if (r8 == 0) {
    0x00174d64 ldrne r3, [pc, 0x100]                     |         r3 = *((pc + 0x100));
                                                         |     }
                                                         |     if (r8 == 0) {
    0x00174d68 ldrne r2, [pc, 0x100]                     |         r2 = *((pc + 0x100));
                                                         |     }
                                                         |     if (r8 == 0) {
    0x00174d6c addne r3, pc, r3                          |         r3 = pc + r3;
                                                         |     }
                                                         |     if (r8 == 0) {
    0x00174d70 addne r2, pc, r2                          |         r2 = pc + r2;
                                                         |     }
    0x00174d74 ldr r1, [pc, 0xf8]                        |     r1 = *(0x174e70);
    0x00174d78 str r2, [sp, 4]                           |     var_4h = r2;
    0x00174d7c str sb, [sp]                              |     *(sp) = sb;
    0x00174d80 mov r2, r8                                |     r2 = r8;
    0x00174d84 add r1, pc, r1                            |     r1 = pc + r1;
    0x00174d88 mov r0, r4                                |     r0 = r4;
    0x00174d8c bl 0x6bbc4                                |     r0 = BIO_printf ()
    0x00174d90 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00174d94 ble 0x174ca8                              |         goto label_0;
                                                         |     }
                                                         | label_4:
    0x00174d98 ldr r3, [r5, 8]                           |     r3 = *((r5 + 8));
    0x00174d9c cmp r3, 0                                 |     
                                                         |     if (r3 != 0) {
    0x00174da0 bne 0x174e0c                              |         goto label_5;
                                                         |     }
                                                         | label_2:
    0x00174da4 ldr r3, [r5, 4]                           |     r3 = *((r5 + 4));
    0x00174da8 cmp r3, 0                                 |     
                                                         |     if (r3 == 0) {
    0x00174dac moveq r0, 1                               |         r0 = 1;
                                                         |         goto label_6;
                                                         |     }
                                                         |     if (r3 == 0) {
                                                         | label_6:
    0x00174db0 beq 0x174cac                              |         goto label_1;
                                                         |     }
    0x00174db4 ldr r3, [pc, 0xbc]                        |     r3 = *(0x174e74);
    0x00174db8 ldr r1, [pc, 0xbc]                        |     r1 = *(0x174e78);
    0x00174dbc add r3, pc, r3                            |     r3 = pc + r3;
    0x00174dc0 mov r2, r7                                |     r2 = r7;
    0x00174dc4 add r1, pc, r1                            |     r1 = pc + r1;
    0x00174dc8 mov r0, r4                                |     r0 = r4;
    0x00174dcc bl 0x6bbc4                                |     r0 = BIO_printf ()
    0x00174dd0 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00174dd4 ble 0x174ca8                              |         goto label_0;
                                                         |     }
    0x00174dd8 ldr r1, [r5, 4]                           |     r1 = *((r5 + 4));
    0x00174ddc mov r0, r4                                |     r0 = r4;
    0x00174de0 bl 0x565e8                                |     r0 = ASN1_STRING_print ();
    0x00174de4 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00174de8 ble 0x174ca8                              |         goto label_0;
                                                         |     }
    0x00174dec ldr r1, [pc, 0x8c]                        |     r1 = *(0x174e7c);
    0x00174df0 mov r0, r4                                |     r0 = r4;
    0x00174df4 add r1, pc, r1                            |     r1 = pc + r1;
    0x00174df8 bl 0x6bbc4                                |     r0 = BIO_printf ()
    0x00174dfc cmp r0, 0                                 |     
                                                         |     if (r0 > 0) {
    0x00174e00 movle r0, 0                               |         r0 = 0;
                                                         |     }
                                                         |     if (r0 <= 0) {
    0x00174e04 movgt r0, 1                               |         r0 = 1;
                                                         |     }
    0x00174e08 b 0x174cac                                |     goto label_1;
                                                         | label_5:
    0x00174e0c ldr r3, [pc, 0x70]                        |     r3 = *(0x174e80);
    0x00174e10 ldr r1, [pc, 0x70]                        |     r1 = *(0x174e84);
    0x00174e14 add r3, pc, r3                            |     r3 = pc + r3;
    0x00174e18 mov r2, r7                                |     r2 = r7;
    0x00174e1c add r1, pc, r1                            |     r1 = pc + r1;
    0x00174e20 mov r0, r4                                |     r0 = r4;
    0x00174e24 bl 0x6bbc4                                |     r0 = BIO_printf ()
    0x00174e28 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00174e2c ble 0x174ca8                              |         goto label_0;
                                                         |     }
    0x00174e30 ldr r1, [r5, 8]                           |     r1 = *((r5 + 8));
    0x00174e34 mov r0, r4                                |     r0 = r4;
    0x00174e38 bl 0x565e8                                |     r0 = ASN1_STRING_print ();
    0x00174e3c cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00174e40 ble 0x174ca8                              |         goto label_0;
                                                         |     }
    0x00174e44 ldr r1, [pc, 0x40]                        |     r1 = *(0x174e88);
    0x00174e48 mov r0, r4                                |     r0 = r4;
    0x00174e4c add r1, pc, r1                            |     r1 = pc + r1;
    0x00174e50 bl 0x6bbc4                                |     r0 = BIO_printf ()
    0x00174e54 cmp r0, 0                                 |     
                                                         |     if (r0 > 0) {
    0x00174e58 bgt 0x174da4                              |         goto label_2;
                                                         |     }
    0x00174e5c b 0x174ca8                                |     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/libcrypto.so.1.1 @ 0x1770d4 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.001770d4 ()                                      | void fcn_001770d4 (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_14h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x001770d4 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x001770d8 subs r6, r1, 0                                    |     r6 = r1 - 0;
    0x001770dc sub sp, sp, 0x14                                  |     
                                                                 |     if (r6 == r1) {
    0x001770e0 bne 0x1770ec                                      |         
                                                                 | label_0:
    0x001770e4 mov r0, 1                                         |         r0 = 1;
    0x001770e8 b 0x177128                                        |         goto label_5;
                                                                 |     }
    0x001770ec ldr r7, [pc, 0x178]                               |     r7 = *(0x177268);
    0x001770f0 ldr r1, [pc, 0x178]                               |     r1 = *(0x17726c);
    0x001770f4 add r7, pc, r7                                    |     r7 = pc + r7;
    0x001770f8 str r3, [sp]                                      |     *(sp) = r3;
    0x001770fc add r1, pc, r1                                    |     r1 = pc + r1;
    0x00177100 mov r3, r7                                        |     r3 = r7;
    0x00177104 mov r4, r0                                        |     r4 = r0;
    0x00177108 mov r5, r2                                        |     r5 = r2;
    0x0017710c bl 0x6bbc4                                        |     BIO_printf ()
    0x00177110 ldr r3, [r6]                                      |     r3 = *(r6);
    0x00177114 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00177118 beq 0x177250                                      |         goto label_6;
                                                                 |     }
    0x0017711c cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x00177120 beq 0x177228                                      |         goto label_7;
                                                                 |     }
                                                                 |     do {
                                                                 | label_2:
    0x00177124 mov r0, 0                                         |         r0 = 0;
                                                                 | label_5:
    0x00177128 add sp, sp, 0x14                                  |         
    0x0017712c pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_1:
    0x00177130 ldr r1, [r8, 4]                                   |         r1 = *((r8 + 4));
    0x00177134 bl 0x18207c                                       |         r0 = i2s_ASN1_INTEGER ();
    0x00177138 subs r8, r0, 0                                    |         r8 = r0 - 0;
    0x0017713c beq 0x177124                                      |         
                                                                 |     } while (r8 == r0);
    0x00177140 add r2, r5, 2                                     |     r2 = r5 + 2;
    0x00177144 ldr r1, [sp, 0xc]                                 |     r1 = var_ch;
    0x00177148 str r8, [sp]                                      |     *(sp) = r8;
    0x0017714c ldr r3, [sp, 8]                                   |     r3 = var_8h;
    0x00177150 mov r0, r4                                        |     r0 = r4;
    0x00177154 bl 0x6bbc4                                        |     BIO_printf ()
    0x00177158 mov r2, 0x53                                      |     r2 = 0x53;
    0x0017715c mov r1, fp                                        |     r1 = fp;
                                                                 | label_3:
    0x00177160 mov r0, r8                                        |     r0 = r8;
    0x00177164 bl 0x11842c                                       |     CRYPTO_free ();
    0x00177168 add r7, r7, 1                                     |     r7++;
                                                                 | label_4:
    0x0017716c ldr r0, [r6, 4]                                   |     r0 = *((r6 + 4));
    0x00177170 bl 0x154518                                       |     r0 = OPENSSL_sk_num ();
    0x00177174 cmp r7, r0                                        |     
                                                                 |     if (r7 >= r0) {
    0x00177178 bge 0x1770e4                                      |         goto label_0;
                                                                 |     }
    0x0017717c mov r1, r7                                        |     r1 = r7;
    0x00177180 ldr r0, [r6, 4]                                   |     r0 = *((r6 + 4));
    0x00177184 bl 0x154528                                       |     r0 = OPENSSL_sk_value ();
    0x00177188 mov r8, r0                                        |     r8 = r0;
    0x0017718c ldr r0, [r0]                                      |     r0 = *(r0);
    0x00177190 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00177194 beq 0x177130                                      |         goto label_1;
                                                                 |     }
    0x00177198 cmp r0, 1                                         |     
                                                                 |     if (r0 != 1) {
    0x0017719c bne 0x177124                                      |         goto label_2;
                                                                 |     }
    0x001771a0 ldr r3, [r8, 4]                                   |     r3 = *((r8 + 4));
    0x001771a4 mov r0, 0                                         |     r0 = 0;
    0x001771a8 ldr r1, [r3]                                      |     r1 = *(r3);
    0x001771ac bl 0x18207c                                       |     r0 = i2s_ASN1_INTEGER ();
    0x001771b0 subs sl, r0, 0                                    |     sl = r0 - 0;
                                                                 |     if (sl == r0) {
    0x001771b4 beq 0x177124                                      |         goto label_2;
                                                                 |     }
    0x001771b8 ldr r3, [pc, 0xb4]                                |     r3 = *(0x177270);
    0x001771bc ldr r1, [pc, 0xb4]                                |     r1 = *(0x177274);
    0x001771c0 ldr sb, [pc, 0xb4]                                |     sb = *(0x0017727c);
    0x001771c4 add r3, pc, r3                                    |     r3 = pc + r3;
    0x001771c8 add r2, r5, 2                                     |     r2 = r5 + 2;
    0x001771cc add r1, pc, r1                                    |     r1 = pc + r1;
    0x001771d0 str sl, [sp]                                      |     *(sp) = sl;
    0x001771d4 mov r0, r4                                        |     r0 = r4;
    0x001771d8 add sb, pc, sb                                    |     sb = pc + sb;
    0x001771dc bl 0x6bbc4                                        |     BIO_printf ()
    0x001771e0 mov r2, 0x59                                      |     r2 = 0x59;
    0x001771e4 mov r1, sb                                        |     r1 = sb;
    0x001771e8 mov r0, sl                                        |     r0 = sl;
    0x001771ec bl 0x11842c                                       |     CRYPTO_free ();
    0x001771f0 ldr r3, [r8, 4]                                   |     r3 = *((r8 + 4));
    0x001771f4 mov r0, 0                                         |     r0 = 0;
    0x001771f8 ldr r1, [r3, 4]                                   |     r1 = *(0x177274);
    0x001771fc bl 0x18207c                                       |     r0 = i2s_ASN1_INTEGER ();
    0x00177200 subs r8, r0, 0                                    |     r8 = r0 - 0;
                                                                 |     if (r8 == r0) {
    0x00177204 beq 0x177124                                      |         goto label_2;
                                                                 |     }
    0x00177208 ldr r1, [pc, 0x70]                                |     r1 = *(0x17727c);
    0x0017720c mov r2, r8                                        |     r2 = r8;
    0x00177210 add r1, pc, r1                                    |     r1 = pc + r1;
    0x00177214 mov r0, r4                                        |     r0 = r4;
    0x00177218 bl 0x6bbc4                                        |     BIO_printf ()
    0x0017721c mov r2, 0x5d                                      |     r2 = 0x5d;
    0x00177220 mov r1, sb                                        |     r1 = sb;
    0x00177224 b 0x177160                                        |     goto label_3;
                                                                 | label_7:
    0x00177228 ldr r3, [pc, 0x54]                                |     r3 = *(0x177280);
    0x0017722c ldr fp, [pc, 0x54]                                |     fp = *(0x00177288);
    0x00177230 add r3, pc, r3                                    |     r3 = pc + r3;
    0x00177234 str r3, [sp, 8]                                   |     var_8h = r3;
    0x00177238 ldr r3, [pc, 0x4c]                                |     r3 = *(0x177288);
    0x0017723c mov r7, 0                                         |     r7 = 0;
    0x00177240 add r3, pc, r3                                    |     r3 = pc + r3;
    0x00177244 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00177248 add fp, pc, fp                                    |     
    0x0017724c b 0x17716c                                        |     goto label_4;
                                                                 | label_6:
    0x00177250 ldr r1, [pc, 0x38]                                |     r1 = *(0x17728c);
    0x00177254 mov r3, r7                                        |     r3 = r7;
    0x00177258 add r2, r5, 2                                     |     r2 = r5 + 2;
    0x0017725c add r1, pc, r1                                    |     r1 = pc + r1;
    0x00177260 mov r0, r4                                        |     r0 = r4;
    0x00177264 bl 0x6bbc4                                        |     BIO_printf ()
    0x00177268 b 0x1770e4                                        |     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/libcrypto.so.1.1 @ 0x179620 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.00179620 ()                                      | void fcn_00179620 (int32_t arg_0h, int32_t arg_4h, int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h_2;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch_2;
                                                                 |     int32_t var_10h_2;
                                                                 |     int32_t var_14h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00179620 ldr r3, [pc, 0x240]                               |     r3 = *(0x179864);
    0x00179624 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x00179628 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0017962c sub sp, sp, 0x1c                                  |     
    0x00179630 str r3, [sp, 0xc]                                 |     var_ch_2 = r3;
    0x00179634 ldr r3, [pc, 0x230]                               |     r3 = *(0x179868);
    0x00179638 mov r4, r0                                        |     r4 = r0;
    0x0017963c add r3, pc, r3                                    |     r3 = pc + r3;
    0x00179640 mov sl, r1                                        |     sl = r1;
    0x00179644 mov sb, r2                                        |     sb = r2;
    0x00179648 mov r7, 0                                         |     r7 = 0;
    0x0017964c str r3, [sp, 0x10]                                |     var_10h_2 = r3;
                                                                 |     do {
    0x00179650 mov r0, sl                                        |         r0 = sl;
    0x00179654 bl 0x154518                                       |         r0 = OPENSSL_sk_num ();
    0x00179658 cmp r7, r0                                        |         
                                                                 |         if (r7 >= r0) {
    0x0017965c blt 0x179668                                      |             
    0x00179660 add sp, sp, 0x1c                                  |             
    0x00179664 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |             
                                                                 |         }
    0x00179668 mov r1, r7                                        |         r1 = r7;
    0x0017966c mov r0, sl                                        |         r0 = sl;
    0x00179670 bl 0x154528                                       |         r0 = OPENSSL_sk_value ();
    0x00179674 mov r6, r0                                        |         r6 = r0;
    0x00179678 ldr r0, [r0]                                      |         r0 = *(r0);
    0x0017967c bl 0x120878                                       |         r0 = OBJ_obj2nid ();
    0x00179680 cmp r0, 0xa4                                      |         
                                                                 |         if (r0 != 0xa4) {
    0x00179684 beq 0x1796d0                                      |             
    0x00179688 cmp r0, 0xa5                                      |             
    0x0017968c add r8, sb, 2                                     |             r8 = sb + 2;
                                                                 |             if (r0 == 0xa5) {
    0x00179690 beq 0x1796fc                                      |                 goto label_4;
                                                                 |             }
    0x00179694 ldr r3, [pc, 0x1d4]                               |             r3 = *(0x17986c);
    0x00179698 ldr r1, [pc, 0x1d4]                               |             r1 = *(0x179870);
    0x0017969c add r3, pc, r3                                    |             r3 = pc + r3;
    0x001796a0 mov r2, r8                                        |             r2 = r8;
    0x001796a4 add r1, pc, r1                                    |             r1 = pc + r1;
    0x001796a8 mov r0, r4                                        |             r0 = r4;
    0x001796ac bl 0x6bbc4                                        |             BIO_printf ()
    0x001796b0 ldr r1, [r6]                                      |             r1 = *(r6);
    0x001796b4 mov r0, r4                                        |             r0 = r4;
    0x001796b8 bl 0x55f58                                        |             i2a_ASN1_OBJECT ();
    0x001796bc ldr r1, [pc, 0x1b4]                               |             r1 = *(0x179874);
    0x001796c0 mov r0, r4                                        |             r0 = r4;
    0x001796c4 add r1, pc, r1                                    |             r1 = pc + r1;
    0x001796c8 bl 0x6e860                                        |             BIO_puts ();
    0x001796cc b 0x1796f4                                        |             
                                                                 |         } else {
    0x001796d0 ldr r3, [r6, 4]                                   |             r3 = *((r6 + 4));
    0x001796d4 ldr r1, [pc, 0x1a0]                               |             r1 = *(0x179878);
    0x001796d8 ldr r3, [r3, 8]                                   |             r3 = *((r3 + 8));
    0x001796dc mov r2, sb                                        |             r2 = sb;
    0x001796e0 str r3, [sp]                                      |             *(sp) = r3;
    0x001796e4 ldr r3, [sp, 0xc]                                 |             r3 = var_ch_2;
    0x001796e8 add r1, pc, r1                                    |             r1 = pc + r1;
                                                                 | label_1:
    0x001796ec mov r0, r4                                        |             r0 = r4;
    0x001796f0 bl 0x6bbc4                                        |             BIO_printf ()
                                                                 |         }
                                                                 | label_0:
    0x001796f4 add r7, r7, 1                                     |         r7++;
    0x001796f8 b 0x179650                                        |         
                                                                 |     } while (1);
                                                                 | label_4:
    0x001796fc ldr r5, [pc, 0x17c]                               |     r5 = *(0x17987c);
    0x00179700 ldr r1, [pc, 0x17c]                               |     r1 = *(0x179880);
    0x00179704 add r5, pc, r5                                    |     r5 = pc + r5;
    0x00179708 mov r3, r5                                        |     r3 = r5;
    0x0017970c mov r2, sb                                        |     r2 = sb;
    0x00179710 add r1, pc, r1                                    |     r1 = pc + r1;
    0x00179714 mov r0, r4                                        |     r0 = r4;
    0x00179718 bl 0x6bbc4                                        |     BIO_printf ()
    0x0017971c ldr fp, [r6, 4]                                   |     fp = *((r6 + 4));
    0x00179720 ldr r6, [fp]                                      |     r6 = *(fp);
    0x00179724 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x00179728 beq 0x1797b4                                      |         
    0x0017972c ldr r3, [r6]                                      |         r3 = *(r6);
    0x00179730 ldr r1, [pc, 0x150]                               |         r1 = "_";
    0x00179734 ldr r3, [r3, 8]                                   |         r3 = *((r3 + 8));
    0x00179738 mov r2, r8                                        |         r2 = r8;
    0x0017973c str r3, [sp]                                      |         *(sp) = r3;
    0x00179740 add r1, pc, r1                                    |         r1 = pc + r1;
    0x00179744 mov r3, r5                                        |         r3 = r5;
    0x00179748 mov r0, r4                                        |         r0 = r4;
    0x0017974c bl 0x6bbc4                                        |         BIO_printf ()
    0x00179750 ldr r0, [r6, 4]                                   |         r0 = *((r6 + 4));
    0x00179754 bl 0x154518                                       |         r0 = OPENSSL_sk_num ();
    0x00179758 cmp r0, 1                                         |         
                                                                 |         if (r0 <= 1) {
    0x0017975c ldrgt r5, [pc, 0x128]                             |             r5 = *(0x0017988c);
                                                                 |         }
                                                                 |         if (r0 <= 1) {
    0x00179760 addgt r5, pc, r5                                  |             r5 = pc + r5;
                                                                 |         }
    0x00179764 ldr r3, [pc, 0x124]                               |         r3 = *(0x17988c);
    0x00179768 ldr r1, [pc, 0x124]                               |         r1 = *(0x179890);
    0x0017976c str r5, [sp]                                      |         *(sp) = r5;
    0x00179770 add r3, pc, r3                                    |         r3 = pc + r3;
    0x00179774 mov r2, r8                                        |         r2 = r8;
    0x00179778 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0017977c mov r0, r4                                        |         r0 = r4;
    0x00179780 bl 0x6bbc4                                        |         BIO_printf ()
    0x00179784 ldr r3, [pc, 0x10c]                               |         r3 = *(0x179894);
    0x00179788 mov r5, 0                                         |         r5 = 0;
    0x0017978c add r3, pc, r3                                    |         r3 = pc + r3;
    0x00179790 str r3, [sp, 8]                                   |         var_8h = r3;
                                                                 | label_2:
    0x00179794 ldr r0, [r6, 4]                                   |         r0 = *((r6 + 4));
    0x00179798 bl 0x154518                                       |         r0 = OPENSSL_sk_num ();
    0x0017979c cmp r5, r0                                        |         
                                                                 |         if (r5 < r0) {
    0x001797a0 blt 0x1797e0                                      |             goto label_5;
                                                                 |         }
    0x001797a4 ldr r1, [pc, 0xf0]                                |         r1 = *(0x179898);
    0x001797a8 mov r0, r4                                        |         r0 = r4;
    0x001797ac add r1, pc, r1                                    |         r1 = pc + r1;
    0x001797b0 bl 0x6e860                                        |         BIO_puts ();
                                                                 |     }
    0x001797b4 ldr r3, [fp, 4]                                   |     r3 = *(arg_4h);
    0x001797b8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x001797bc beq 0x1796f4                                      |         goto label_0;
                                                                 |     }
    0x001797c0 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x001797c4 ldr r1, [pc, 0xd4]                                |     r1 = *(0x17989c);
    0x001797c8 str r3, [sp]                                      |     *(sp) = r3;
    0x001797cc ldr r3, [pc, 0xd0]                                |     r3 = *(0x1798a0);
    0x001797d0 mov r2, r8                                        |     r2 = r8;
    0x001797d4 add r3, pc, r3                                    |     r3 = pc + r3;
    0x001797d8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x001797dc b 0x1796ec                                        |     goto label_1;
                                                                 | label_5:
    0x001797e0 mov r1, r5                                        |     r1 = r5;
    0x001797e4 ldr r0, [r6, 4]                                   |     r0 = *((r6 + 4));
    0x001797e8 bl 0x154528                                       |     OPENSSL_sk_value ();
    0x001797ec cmp r5, 0                                         |     
    0x001797f0 mov r3, r0                                        |     r3 = r0;
                                                                 |     if (r5 != 0) {
    0x001797f4 beq 0x17980c                                      |         
    0x001797f8 str r0, [sp, 0x14]                                |         var_14h = r0;
    0x001797fc ldr r1, [sp, 8]                                   |         r1 = var_8h;
    0x00179800 mov r0, r4                                        |         r0 = r4;
    0x00179804 bl 0x6e860                                        |         BIO_puts ();
    0x00179808 ldr r3, [sp, 0x14]                                |         r3 = var_14h;
                                                                 |     }
    0x0017980c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00179810 bne 0x17982c                                      |         
    0x00179814 ldr r1, [pc, 0x8c]                                |         r1 = *(0x1798a4);
    0x00179818 mov r0, r4                                        |         r0 = r4;
    0x0017981c add r1, pc, r1                                    |         r1 = pc + r1;
    0x00179820 bl 0x6e860                                        |         BIO_puts ();
                                                                 | label_3:
    0x00179824 add r5, r5, 1                                     |         r5++;
    0x00179828 b 0x179794                                        |         goto label_2;
                                                                 |     }
    0x0017982c mov r1, r3                                        |     r1 = r3;
    0x00179830 mov r0, 0                                         |     r0 = 0;
    0x00179834 bl 0x18207c                                       |     r0 = i2s_ASN1_INTEGER ();
    0x00179838 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 == r0) {
    0x0017983c beq 0x1796f4                                      |         goto label_0;
                                                                 |     }
    0x00179840 mov r1, r3                                        |     r1 = r3;
    0x00179844 mov r0, r4                                        |     r0 = r4;
    0x00179848 str r3, [sp, 0x14]                                |     var_14h = r3;
    0x0017984c bl 0x6e860                                        |     BIO_puts ();
    0x00179850 ldr r3, [sp, 0x14]                                |     r3 = var_14h;
    0x00179854 ldr r2, [pc, 0x50]                                |     r2 = "_";
    0x00179858 ldr r1, [sp, 0x10]                                |     r1 = var_10h_2;
    0x0017985c mov r0, r3                                        |     r0 = r3;
    0x00179860 bl 0x11842c                                       |     CRYPTO_free ();
    0x00179864 b 0x179824                                        |     goto label_3;
                                                                 | }
    ; 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/libcrypto.so.1.1 @ 0x17a9e8 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) fcn.0017a9e8 ()                                          | void fcn_0017a9e8 (int32_t arg1) {
                                                                     |     int32_t var_8h;
                                                                     |     int32_t var_10h;
                                                                     |     r0 = arg1;
    0x0017a9e8 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}         |     
    0x0017a9ec ldr r4, [pc, 0xb8]                                    |     
    0x0017a9f0 mov r7, r2                                            |     r7 = r2;
    0x0017a9f4 mov r2, r3                                            |     r2 = r3;
    0x0017a9f8 add ip, r2, 2                                         |     
    0x0017a9fc ldr r3, [pc, 0xac]                                    |     r3 = *(0x17aaac);
    0x0017aa00 stm sp, {r1, ip}                                      |     *(sp) = r1;
                                                                     |     *((sp + 4)) = ip;
    0x0017aa04 ldr r1, [pc, 0xa8]                                    |     r1 = *(0x17aab0);
    0x0017aa08 add r3, pc, r3                                        |     r3 = pc + r3;
    0x0017aa0c str r3, [sp, 8]                                       |     var_8h = r3;
    0x0017aa10 add r1, pc, r1                                        |     r1 = pc + r1;
    0x0017aa14 mov r5, r0                                            |     r5 = r0;
    0x0017aa18 bl 0x6bbc4                                            |     BIO_printf ()
    0x0017aa1c ldr r8, [pc, 0x94]                                    |     r8 = *(0x17aab4);
    0x0017aa20 add r4, pc, r4                                        |     r4 = pc + r4;
    0x0017aa24 add r4, r4, 0xc                                       |     r4 = 0x17aab4;
    0x0017aa28 mov r6, 1                                             |     r6 = 1;
    0x0017aa2c add r8, pc, r8                                        |     r8 = pc + r8;
                                                                     |     do {
    0x0017aa30 ldr r3, [r4, -8]                                      |         r3 = *((r4 - 8));
    0x0017aa34 cmp r3, 0                                             |         
                                                                     |         if (r3 == 0) {
    0x0017aa38 bne 0x17aa60                                          |             
    0x0017aa3c cmp r6, 0                                             |             
                                                                     |             if (r6 == 0) {
    0x0017aa40 beq 0x17aaa0                                          |                 goto label_1;
                                                                     |             }
    0x0017aa44 ldr r1, [pc, 0x70]                                    |             r1 = *(0x17aab8);
    0x0017aa48 add r1, pc, r1                                        |             r1 = pc + r1;
                                                                     | label_0:
    0x0017aa4c mov r0, r5                                            |             r0 = r5;
    0x0017aa50 bl 0x6e860                                            |             BIO_puts ();
    0x0017aa54 mov r0, 1                                             |             r0 = 1;
    0x0017aa58 add sp, sp, 0x10                                      |             
    0x0017aa5c pop {r4, r5, r6, r7, r8, pc}                          |             
                                                                     |         }
    0x0017aa60 ldr r1, [r4, -0xc]                                    |         r1 = *((r4 - 0xc));
    0x0017aa64 mov r0, r7                                            |         r0 = r7;
    0x0017aa68 bl 0x53a14                                            |         r0 = ASN1_BIT_STRING_get_bit ();
    0x0017aa6c cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0017aa70 beq 0x17aa98                                          |             
    0x0017aa74 cmp r6, 0                                             |             
                                                                     |             if (r6 == 0) {
    0x0017aa78 bne 0x17aa88                                          |                 
    0x0017aa7c mov r1, r8                                            |                 r1 = r8;
    0x0017aa80 mov r0, r5                                            |                 r0 = r5;
    0x0017aa84 bl 0x6e860                                            |                 BIO_puts ();
                                                                     |             }
    0x0017aa88 ldr r1, [r4, -8]                                      |             r1 = *((r4 - 8));
    0x0017aa8c mov r0, r5                                            |             r0 = r5;
    0x0017aa90 bl 0x6e860                                            |             BIO_puts ();
    0x0017aa94 mov r6, 0                                             |             r6 = 0;
                                                                     |         }
    0x0017aa98 add r4, r4, 0xc                                       |         r4 += 0xc;
    0x0017aa9c b 0x17aa30                                            |         
                                                                     |     } while (1);
                                                                     | label_1:
    0x0017aaa0 ldr r1, [pc, 0x18]                                    |     r1 = *(0x17aabc);
    0x0017aaa4 add r1, pc, r1                                        |     r1 = pc + r1;
    0x0017aaa8 b 0x17aa4c                                            |     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/libcrypto.so.1.1 @ 0x17aac4 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.0017aac4 ()                                  | void fcn_0017aac4 (int32_t arg1, int32_t arg2) {
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0017aac4 push {r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x0017aac8 ldr r8, [pc, 0x78]                            |     r8 = *(0x17ab44);
    0x0017aacc ldr sb, [pc, 0x78]                            |     sb = *(0x17ab48);
    0x0017aad0 ldr sl, [pc, 0x78]                            |     sl = *(0x17ab4c);
    0x0017aad4 mov r5, r0                                    |     r5 = r0;
    0x0017aad8 mov r6, r1                                    |     r6 = r1;
    0x0017aadc mov r7, r2                                    |     r7 = r2;
    0x0017aae0 mov r4, 0                                     |     r4 = 0;
    0x0017aae4 add r8, pc, r8                                |     r8 = pc + r8;
    0x0017aae8 add sb, pc, sb                                |     sb = pc + sb;
    0x0017aaec add sl, pc, sl                                |     sl = pc + sl;
                                                             |     do {
    0x0017aaf0 mov r0, r6                                    |         r0 = r6;
    0x0017aaf4 bl 0x154518                                   |         r0 = OPENSSL_sk_num ();
    0x0017aaf8 cmp r4, r0                                    |         
                                                             |         if (r4 >= r0) {
    0x0017aafc blt 0x17ab08                                  |             
    0x0017ab00 mov r0, 1                                     |             r0 = 1;
    0x0017ab04 pop {r4, r5, r6, r7, r8, sb, sl, pc}          |             
                                                             |         }
    0x0017ab08 mov r3, r8                                    |         r3 = r8;
    0x0017ab0c add r2, r7, 2                                 |         r2 = r7 + 2;
    0x0017ab10 mov r1, sb                                    |         r1 = sb;
    0x0017ab14 mov r0, r5                                    |         r0 = r5;
    0x0017ab18 bl 0x6bbc4                                    |         BIO_printf ()
    0x0017ab1c mov r1, r4                                    |         r1 = r4;
    0x0017ab20 mov r0, r6                                    |         r0 = r6;
    0x0017ab24 bl 0x154528                                   |         OPENSSL_sk_value ();
    0x0017ab28 add r4, r4, 1                                 |         r4++;
    0x0017ab2c mov r1, r0                                    |         r1 = r0;
    0x0017ab30 mov r0, r5                                    |         r0 = r5;
    0x0017ab34 bl 0x176104                                   |         GENERAL_NAME_print ();
    0x0017ab38 mov r1, sl                                    |         r1 = sl;
    0x0017ab3c mov r0, r5                                    |         r0 = r5;
    0x0017ab40 bl 0x6e860                                    |         BIO_puts ();
    0x0017ab44 b 0x17aaf0                                    |         
                                                             |     } 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/libcrypto.so.1.1 @ 0x17acc0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0017acc0 ()                  | void fcn_0017acc0 (int32_t arg1, int32_t arg2) {
                                             |     int32_t var_0h;
                                             |     int32_t var_4h;
                                             |     int32_t var_14h;
                                             |     int32_t var_20h;
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x0017acc0 ldr r3, [r1]                  |     r3 = *(r1);
    0x0017acc4 push {r4, r5, r6, lr}         |     
    0x0017acc8 cmp r3, 0                     |     
    0x0017accc sub sp, sp, 0x20              |     
    0x0017acd0 mov r5, r0                    |     r5 = r0;
    0x0017acd4 mov r6, r1                    |     r6 = r1;
    0x0017acd8 mov r4, r2                    |     r4 = r2;
                                             |     if (r3 != 0) {
    0x0017acdc bne 0x17ad10                  |         goto label_0;
                                             |     }
    0x0017ace0 ldr r3, [pc, 0x7c]            |     r3 = *(0x17ad60);
    0x0017ace4 ldr r1, [pc, 0x7c]            |     r1 = *(0x17ad64);
    0x0017ace8 add r3, pc, r3                |     r3 = pc + r3;
    0x0017acec add r1, pc, r1                |     r1 = pc + r1;
    0x0017acf0 bl 0x6bbc4                    |     BIO_printf ()
    0x0017acf4 mov r2, r4                    |     r2 = r4;
    0x0017acf8 ldr r1, [r6, 4]               |     r1 = *((r6 + 4));
    0x0017acfc mov r0, r5                    |     r0 = r5;
    0x0017ad00 bl 0x17aac4                   |     fcn_0017aac4 (r0, r1);
                                             |     do {
    0x0017ad04 mov r0, 1                     |         r0 = 1;
    0x0017ad08 add sp, sp, 0x20              |         
    0x0017ad0c pop {r4, r5, r6, pc}          |         
                                             | label_0:
    0x0017ad10 ldr r3, [r1, 4]               |         r3 = *((r1 + 4));
    0x0017ad14 add r6, sp, 0x20              |         r6 += var_20h;
    0x0017ad18 str r3, [r6, -0x14]!          |         *((r6 -= 0x14)) = r3;
    0x0017ad1c ldr r3, [pc, 0x48]            |         r3 = *(0x17ad68);
    0x0017ad20 ldr r1, [pc, 0x48]            |         r1 = *(0x17ad6c);
    0x0017ad24 add r4, r2, 2                 |         r4 = r2 + 2;
    0x0017ad28 add r3, pc, r3                |         r3 = pc + r3;
    0x0017ad2c str r3, [sp, 4]               |         var_4h = r3;
    0x0017ad30 str r4, [sp]                  |         *(sp) = r4;
    0x0017ad34 add r1, pc, r1                |         r1 = pc + r1;
    0x0017ad38 bl 0x6bbc4                    |         BIO_printf ()
    0x0017ad3c mov r1, r6                    |         r1 = r6;
    0x0017ad40 ldr r3, [pc, 0x2c]            |         r3 = *(0x17ad70);
    0x0017ad44 mov r2, 0                     |         r2 = 0;
    0x0017ad48 mov r0, r5                    |         r0 = r5;
    0x0017ad4c bl 0x57980                    |         X509_NAME_print_ex ();
    0x0017ad50 ldr r1, [pc, 0x20]            |         r1 = *(0x17ad74);
    0x0017ad54 mov r0, r5                    |         r0 = r5;
    0x0017ad58 add r1, pc, r1                |         r1 = pc + r1;
    0x0017ad5c bl 0x6e860                    |         BIO_puts ();
    0x0017ad60 b 0x17ad04                    |         
                                             |     } 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/libcrypto.so.1.1 @ 0x17ce68 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.0017ce68 ()                                      | void fcn_0017ce68 (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_18h;
                                                                 |     int32_t var_1ch;
                                                                 |     int32_t var_24h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0017ce68 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0017ce6c sub sp, sp, 0x24                                  |     
    0x0017ce70 mov r7, r0                                        |     r7 = r0;
    0x0017ce74 mov r5, r1                                        |     r5 = r1;
    0x0017ce78 mov r8, r2                                        |     r8 = r2;
    0x0017ce7c mov r4, r3                                        |     r4 = r3;
    0x0017ce80 bl 0x154518                                       |     r0 = OPENSSL_sk_num ();
    0x0017ce84 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x0017ce88 ble 0x17ceac                                      |         
    0x0017ce8c ldr r3, [pc, 0x1a4]                               |         r3 = *(0x17d034);
    0x0017ce90 ldr r1, [pc, 0x1a4]                               |         r1 = *(0x17d038);
    0x0017ce94 str r4, [sp]                                      |         *(sp) = r4;
    0x0017ce98 add r3, pc, r3                                    |         r3 = pc + r3;
    0x0017ce9c mov r2, r8                                        |         r2 = r8;
    0x0017cea0 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0017cea4 mov r0, r5                                        |         r0 = r5;
    0x0017cea8 bl 0x6bbc4                                        |         BIO_printf ()
                                                                 |     }
    0x0017ceac ldr r3, [pc, 0x18c]                               |     r3 = *(0x17d03c);
    0x0017ceb0 mov r6, 0                                         |     r6 = 0;
    0x0017ceb4 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0017ceb8 str r3, [sp, 0x18]                                |     var_18h = r3;
    0x0017cebc ldr r3, [pc, 0x180]                               |     r3 = *(0x17d040);
    0x0017cec0 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0017cec4 str r3, [sp, 0x1c]                                |     var_1ch = r3;
                                                                 |     do {
    0x0017cec8 mov r0, r7                                        |         r0 = r7;
    0x0017cecc bl 0x154518                                       |         r0 = OPENSSL_sk_num ();
    0x0017ced0 cmp r6, r0                                        |         
                                                                 |         if (r6 >= r0) {
    0x0017ced4 blt 0x17cee4                                      |             
    0x0017ced8 mov r0, 1                                         |             r0 = 1;
    0x0017cedc add sp, sp, 0x24                                  |             
    0x0017cee0 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |             
                                                                 |         }
    0x0017cee4 mov r1, r6                                        |         r1 = r6;
    0x0017cee8 mov r0, r7                                        |         r0 = r7;
    0x0017ceec bl 0x154528                                       |         OPENSSL_sk_value ();
    0x0017cef0 ldr r1, [pc, 0x150]                               |         r1 = *(0x17d044);
    0x0017cef4 ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x0017cef8 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0017cefc add r2, r8, 2                                     |         r2 = r8 + 2;
    0x0017cf00 mov r4, r0                                        |         r4 = r0;
    0x0017cf04 mov r0, r5                                        |         r0 = r5;
    0x0017cf08 bl 0x6bbc4                                        |         BIO_printf ()
    0x0017cf0c ldr r1, [r4]                                      |         r1 = *(r4);
    0x0017cf10 ldr r3, [r1]                                      |         r3 = *(0x17d044);
    0x0017cf14 cmp r3, 7                                         |         
                                                                 |         if (r3 != 7) {
    0x0017cf18 bne 0x17d02c                                      |             goto label_1;
                                                                 |         }
    0x0017cf1c ldr r3, [r1, 4]                                   |         r3 = *((r1 + 4));
    0x0017cf20 ldr r1, [pc, 0x124]                               |         r1 = *(0x17d048);
    0x0017cf24 ldr sl, [r3]                                      |         sl = *(r3);
    0x0017cf28 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0017cf2c mov r0, r5                                        |         r0 = r5;
    0x0017cf30 ldr r4, [r3, 8]                                   |         r4 = *((r3 + 8));
    0x0017cf34 bl 0x6e860                                        |         BIO_puts ();
    0x0017cf38 cmp sl, 8                                         |         
                                                                 |         if (sl != 8) {
    0x0017cf3c bne 0x17cfa0                                      |             goto label_2;
                                                                 |         }
    0x0017cf40 ldrb r1, [r4, 7]                                  |         r1 = *((r4 + 7));
    0x0017cf44 ldrb r3, [r4, 1]                                  |         r3 = *((r4 + 1));
    0x0017cf48 ldrb r2, [r4]                                     |         r2 = *(r4);
    0x0017cf4c str r1, [sp, 0x14]                                |         var_14h = r1;
    0x0017cf50 ldrb r1, [r4, 6]                                  |         r1 = *((r4 + 6));
    0x0017cf54 mov r0, r5                                        |         r0 = r5;
    0x0017cf58 str r1, [sp, 0x10]                                |         var_10h = r1;
    0x0017cf5c ldrb r1, [r4, 5]                                  |         r1 = *((r4 + 5));
    0x0017cf60 str r1, [sp, 0xc]                                 |         var_ch = r1;
    0x0017cf64 ldrb r1, [r4, 4]                                  |         r1 = *((r4 + 4));
    0x0017cf68 str r1, [sp, 8]                                   |         var_8h = r1;
    0x0017cf6c ldrb r1, [r4, 3]                                  |         r1 = *((r4 + 3));
    0x0017cf70 str r1, [sp, 4]                                   |         var_4h = r1;
    0x0017cf74 ldrb r1, [r4, 2]                                  |         r1 = *((r4 + 2));
    0x0017cf78 str r1, [sp]                                      |         *(sp) = r1;
    0x0017cf7c ldr r1, [pc, 0xcc]                                |         r1 = *(0x17d04c);
    0x0017cf80 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0017cf84 bl 0x6bbc4                                        |         BIO_printf ()
                                                                 | label_0:
    0x0017cf88 ldr r1, [pc, 0xc4]                                |         r1 = *(0x17d050);
    0x0017cf8c mov r0, r5                                        |         r0 = r5;
    0x0017cf90 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0017cf94 bl 0x6e860                                        |         BIO_puts ();
    0x0017cf98 add r6, r6, 1                                     |         r6++;
    0x0017cf9c b 0x17cec8                                        |         
                                                                 |     } while (1);
                                                                 | label_2:
    0x0017cfa0 cmp sl, 0x20                                      |     
                                                                 |     if (sl != 0x20) {
    0x0017cfa4 bne 0x17d018                                      |         goto label_3;
                                                                 |     }
    0x0017cfa8 ldr sl, [pc, 0xa8]                                |     sl = *(0x17d054);
    0x0017cfac ldr fp, [pc, 0xa8]                                |     fp = *(0x17d058);
    0x0017cfb0 mov sb, 0                                         |     sb = 0;
    0x0017cfb4 add sl, pc, sl                                    |     sl = pc + sl;
    0x0017cfb8 add fp, pc, fp                                    |     
                                                                 |     do {
    0x0017cfbc ldrb r1, [r4, 1]                                  |         r1 = *((r4 + 1));
    0x0017cfc0 ldrb r2, [r4]                                     |         r2 = *(r4);
    0x0017cfc4 mov r0, r5                                        |         r0 = r5;
    0x0017cfc8 orr r2, r2, r1, lsl 8                             |         r2 |= (r1 << 8);
    0x0017cfcc lsr r1, r2, 8                                     |         r1 = r2 >> 8;
    0x0017cfd0 orr r2, r1, r2, lsl 8                             |         r2 = r1 | (r2 << 8);
    0x0017cfd4 lsl r2, r2, 0x10                                  |         r2 <<= 0x10;
    0x0017cfd8 mov r1, sl                                        |         r1 = sl;
    0x0017cfdc lsr r2, r2, 0x10                                  |         r2 >>= 0x10;
    0x0017cfe0 bl 0x6bbc4                                        |         BIO_printf ()
    0x0017cfe4 cmp sb, 7                                         |         
    0x0017cfe8 add r4, r4, 2                                     |         r4 += 2;
                                                                 |         if (sb != 7) {
    0x0017cfec moveq r1, fp                                      |             r1 = fp;
                                                                 |         }
                                                                 |         if (sb != 7) {
    0x0017cff0 beq 0x17d000                                      |             
    0x0017cff4 cmp sb, 0xf                                       |             
                                                                 |             if (sb == 0xf) {
    0x0017cff8 beq 0x17d008                                      |                 goto label_4;
                                                                 |             }
    0x0017cffc ldr r1, [sp, 0x1c]                                |             r1 = var_1ch;
                                                                 |         }
    0x0017d000 mov r0, r5                                        |         r0 = r5;
    0x0017d004 bl 0x6e860                                        |         BIO_puts ();
                                                                 | label_4:
    0x0017d008 add sb, sb, 1                                     |         sb++;
    0x0017d00c cmp sb, 0x10                                      |         
    0x0017d010 bne 0x17cfbc                                      |         
                                                                 |     } while (sb != 0x10);
    0x0017d014 b 0x17cf88                                        |     goto label_0;
                                                                 | label_3:
    0x0017d018 ldr r1, [pc, 0x40]                                |     r1 = *(0x17d05c);
    0x0017d01c mov r0, r5                                        |     r0 = r5;
    0x0017d020 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0017d024 bl 0x6bbc4                                        |     BIO_printf ()
    0x0017d028 b 0x17cf88                                        |     goto label_0;
                                                                 | label_1:
    0x0017d02c mov r0, r5                                        |     r0 = r5;
    0x0017d030 bl 0x176104                                       |     GENERAL_NAME_print ();
    0x0017d034 b 0x17cf88                                        |     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/libcrypto.so.1.1 @ 0x17e73c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) fcn.0017e73c ()                      | void fcn_0017e73c (int32_t arg_0h) {
                                                 |     if (? != ?) {
    0x0017e73c beq 0x17e75c                      |         
    0x0017e740 ldr r1, [pc, 0x48]                |         r1 = *(0x17e78c);
    0x0017e744 str r3, [sp]                      |         *(sp) = r3;
    0x0017e748 mov r2, r5                        |         r2 = r5;
    0x0017e74c mov r3, r7                        |         r3 = r7;
    0x0017e750 add r1, pc, r1                    |         r1 = pc + r1;
    0x0017e754 mov r0, r4                        |         r0 = r4;
    0x0017e758 bl 0x6bbc4                        |         BIO_printf ()
                                                 |     }
    0x0017e75c mov r0, 1                         |     r0 = 1;
    0x0017e760 add sp, sp, 8                     |     
    0x0017e764 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | }
    ; 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/libcrypto.so.1.1 @ 0x17ef80 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0017ef80 ()                  | void fcn_0017ef80 (int32_t arg_8h, int32_t arg_ch, int32_t arg1) {
                                             |     r0 = arg1;
    0x0017ef80 and r3, r3, 0xf0000           |     r3 &= 0xf0000;
    0x0017ef84 push {r4, lr}                 |     
    0x0017ef88 ldr ip, [sp, 8]               |     ip = *(arg_8h);
    0x0017ef8c cmp r3, 0x10000               |     
    0x0017ef90 ldr r4, [sp, 0xc]             |     r4 = *(arg_ch);
                                             |     if (r3 == 0x10000) {
    0x0017ef94 beq 0x17efcc                  |         goto label_1;
                                             |     }
                                             |     if (r3 > 0x10000) {
    0x0017ef98 bhi 0x17efb0                  |         goto label_2;
                                             |     }
    0x0017ef9c cmp r3, 0                     |     
                                             |     if (r3 != 0) {
    0x0017efa0 moveq r4, r3                  |         r4 = r3;
                                             |     }
                                             |     if (r3 == 0) {
    0x0017efa4 beq 0x17efec                  |         goto label_3;
                                             |     }
                                             |     do {
                                             | label_0:
    0x0017efa8 mov r4, 1                     |         r4 = 1;
    0x0017efac b 0x17efec                    |         goto label_3;
                                             | label_2:
    0x0017efb0 cmp r3, 0x20000               |         
                                             |         if (r3 == 0x20000) {
    0x0017efb4 beq 0x17f010                  |             goto label_4;
                                             |         }
    0x0017efb8 cmp r3, 0x30000               |         
    0x0017efbc bne 0x17efa8                  |         
                                             |     } while (r3 != 0x30000);
    0x0017efc0 mov r3, ip                    |     r3 = ip;
    0x0017efc4 pop {r4, lr}                  |     
    0x0017efc8 b 0x6a508                     |     void (*0x6a508)() ();
                                             | label_1:
    0x0017efcc cmp r4, 0                     |     
                                             |     if (r4 != 0) {
    0x0017efd0 beq 0x17eff4                  |         
    0x0017efd4 ldr r3, [pc, 0x48]            |         r3 = *(0x17f020);
    0x0017efd8 ldr r1, [pc, 0x48]            |         r1 = "_";
    0x0017efdc add r3, pc, r3                |         r3 = pc + r3;
    0x0017efe0 mov r2, ip                    |         r2 = ip;
    0x0017efe4 add r1, pc, r1                |         r1 = pc + r1;
    0x0017efe8 bl 0x6bbc4                    |         BIO_printf ()
                                             | label_3:
    0x0017efec mov r0, r4                    |         r0 = r4;
    0x0017eff0 pop {r4, pc}                  |         
                                             |     }
    0x0017eff4 ldr r3, [pc, 0x30]            |     r3 = *(0x17f028);
    0x0017eff8 ldr r1, [pc, 0x30]            |     r1 = "_";
    0x0017effc add r3, pc, r3                |     r3 = pc + r3;
    0x0017f000 mov r2, ip                    |     r2 = ip;
    0x0017f004 add r1, pc, r1                |     r1 = pc + r1;
    0x0017f008 bl 0x6bbc4                    |     BIO_printf ()
    0x0017f00c b 0x17efa8                    |     goto label_0;
                                             | label_4:
    0x0017f010 mvn r3, 0                     |     r3 = ~0;
    0x0017f014 str r3, [sp, 8]               |     *(arg_8h) = r3;
    0x0017f018 mov r3, ip                    |     r3 = ip;
    0x0017f01c pop {r4, lr}                  |     
    0x0017f020 b 0x5c4dc                     |     return void (*0x5c4dc)() ();
                                             | }
    ; 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/libcrypto.so.1.1 @ 0x61328 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.ASN1_BIT_STRING_name_print ()        | void ASN1_BIT_STRING_name_print (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00061328 push {r4, r5, r6, r7, r8, lr}         |     
    0x0006132c ldr r8, [pc, 0x90]                    |     r8 = *(0x613c0);
    0x00061330 mov r4, r2                            |     r4 = r2;
    0x00061334 mov r7, r1                            |     r7 = r1;
    0x00061338 mov r2, r3                            |     r2 = r3;
    0x0006133c ldr r1, [pc, 0x84]                    |     r1 = *(0x613c4);
    0x00061340 ldr r3, [pc, 0x84]                    |     r3 = *(0x613c8);
    0x00061344 add r1, pc, r1                        |     r1 = pc + r1;
    0x00061348 add r3, pc, r3                        |     r3 = pc + r3;
    0x0006134c mov r5, r0                            |     r5 = r0;
    0x00061350 bl 0x6bbc4                            |     BIO_printf ()
    0x00061354 add r4, r4, 0xc                       |     r4 += 0xc;
    0x00061358 mov r6, 1                             |     r6 = 1;
    0x0006135c add r8, pc, r8                        |     r8 = pc + r8;
                                                     |     do {
    0x00061360 ldr r3, [r4, -8]                      |         r3 = *((r4 - 8));
    0x00061364 cmp r3, 0                             |         
                                                     |         if (r3 == 0) {
    0x00061368 bne 0x61384                           |             
    0x0006136c ldr r1, [pc, 0x5c]                    |             r1 = *(0x613cc);
    0x00061370 mov r0, r5                            |             r0 = r5;
    0x00061374 add r1, pc, r1                        |             r1 = pc + r1;
    0x00061378 bl 0x6e860                            |             BIO_puts ();
    0x0006137c mov r0, 1                             |             r0 = 1;
    0x00061380 pop {r4, r5, r6, r7, r8, pc}          |             
                                                     |         }
    0x00061384 ldr r1, [r4, -0xc]                    |         r1 = *((r4 - 0xc));
    0x00061388 mov r0, r7                            |         r0 = r7;
    0x0006138c bl 0x53a14                            |         r0 = ASN1_BIT_STRING_get_bit ();
    0x00061390 cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x00061394 beq 0x613bc                           |             
    0x00061398 cmp r6, 0                             |             
                                                     |             if (r6 == 0) {
    0x0006139c bne 0x613ac                           |                 
    0x000613a0 mov r1, r8                            |                 r1 = r8;
    0x000613a4 mov r0, r5                            |                 r0 = r5;
    0x000613a8 bl 0x6e860                            |                 BIO_puts ();
                                                     |             }
    0x000613ac ldr r1, [r4, -8]                      |             r1 = *((r4 - 8));
    0x000613b0 mov r0, r5                            |             r0 = r5;
    0x000613b4 bl 0x6e860                            |             BIO_puts ();
    0x000613b8 mov r6, 0                             |             r6 = 0;
                                                     |         }
    0x000613bc add r4, r4, 0xc                       |         r4 += 0xc;
    0x000613c0 b 0x61360                             |         
                                                     |     } 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/libcrypto.so.1.1 @ 0x58a40 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.ASN1_TIME_print ()                           | void ASN1_TIME_print (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_28h;
                                                             |     int32_t var_2ch;
                                                             |     int32_t var_30h;
                                                             |     int32_t var_34h;
                                                             |     int32_t var_38h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00058a40 push {r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x00058a44 sub sp, sp, 0x50                              |     
    0x00058a48 mov r4, r0                                    |     r4 = r0;
    0x00058a4c add r0, sp, 0x24                              |     r0 += var_24h;
    0x00058a50 mov r6, r1                                    |     r6 = r1;
    0x00058a54 bl 0x58000                                    |     fcn_00058000 (r0, r1, r2, r3);
    0x00058a58 subs r5, r0, 0                                |     r5 -= var_24h;
                                                             |     if (r5 == var_24h) {
    0x00058a5c beq 0x58bc4                                   |         goto label_3;
                                                             |     }
    0x00058a60 ldr sl, [r6]                                  |     sl = *(r6);
    0x00058a64 ldr sb, [r6, 8]                               |     sb = *((r6 + 8));
    0x00058a68 add r3, sb, sl                                |     r3 = sb + sl;
    0x00058a6c ldrb r5, [r3, -1]                             |     r5 = *((r3 - 1));
    0x00058a70 ldr r3, [r6, 4]                               |     r3 = *((r6 + 4));
    0x00058a74 cmp r3, 0x18                                  |     
                                                             |     if (r3 != 0x18) {
    0x00058a78 bne 0x58b54                                   |         goto label_4;
                                                             |     }
    0x00058a7c cmp sl, 0xf                                   |     
                                                             |     if (sl <= 0xf) {
    0x00058a80 ble 0x58b3c                                   |         goto label_5;
                                                             |     }
    0x00058a84 ldrb r3, [sb, 0xe]                            |     r3 = *((sb + 0xe));
    0x00058a88 cmp r3, 0x2e                                  |     
                                                             |     if (r3 != 0x2e) {
    0x00058a8c bne 0x58b3c                                   |         goto label_5;
                                                             |     }
    0x00058a90 add r8, sb, 0xe                               |     r8 = sb + 0xe;
    0x00058a94 mov r7, 0xf                                   |     r7 = 0xf;
                                                             |     do {
    0x00058a98 cmp sl, r7                                    |         
    0x00058a9c sub r6, r7, 0xe                               |         r6 = r7 - 0xe;
                                                             |         if (sl == r7) {
    0x00058aa0 beq 0x58abc                                   |             goto label_6;
                                                             |         }
    0x00058aa4 ldrb r0, [sb, r7]                             |         r0 = *((sb + r7));
    0x00058aa8 mov r1, 4                                     |         r1 = 4;
    0x00058aac bl 0x9ecc0                                    |         fcn_0009ecc0 (r0, r1);
    0x00058ab0 add r7, r7, 1                                 |         r7++;
    0x00058ab4 cmp r0, 0                                     |         
    0x00058ab8 bne 0x58a98                                   |         
                                                             |     } while (r0 != 0);
                                                             |     do {
                                                             | label_6:
    0x00058abc ldr r2, [pc, 0x118]                           |         
    0x00058ac0 ldr r1, [sp, 0x38]                            |         r1 = var_38h;
    0x00058ac4 ldr r3, [sp, 0x34]                            |         r3 = var_34h;
    0x00058ac8 add r2, pc, r2                                |         r2 = pc + r2;
    0x00058acc add r2, r2, 0xa8                              |         r2 = 0x58c80;
    0x00058ad0 add r1, r1, 0x760                             |         r1 += 0x760;
    0x00058ad4 cmp r5, 0x5a                                  |         
    0x00058ad8 add r2, r2, r3, lsl 2                         |         r2 += (r3 << 2);
    0x00058adc ldr ip, [sp, 0x2c]                            |         ip = var_2ch;
    0x00058ae0 ldr r3, [sp, 0x30]                            |         r3 = var_30h;
    0x00058ae4 ldr lr, [sp, 0x28]                            |         lr = var_28h;
    0x00058ae8 ldr r7, [sp, 0x24]                            |         r7 = var_24h;
    0x00058aec add r1, r1, 0xc                               |         r1 += 0xc;
                                                             |         if (r5 == 0x5a) {
    0x00058af0 beq 0x58b48                                   |             goto label_7;
                                                             |         }
    0x00058af4 ldr r0, [pc, 0xe4]                            |         r0 = *(0x58bdc);
    0x00058af8 add r0, pc, r0                                |         r0 = pc + r0;
                                                             | label_0:
    0x00058afc str r1, [sp, 0x14]                            |         var_14h = r1;
    0x00058b00 ldr r1, [pc, 0xdc]                            |         r1 = *(0x58be0);
    0x00058b04 str r0, [sp, 0x18]                            |         var_18h = r0;
    0x00058b08 str r8, [sp, 0x10]                            |         var_10h = r8;
    0x00058b0c str r6, [sp, 0xc]                             |         var_ch = r6;
    0x00058b10 str r7, [sp, 8]                               |         var_8h = r7;
    0x00058b14 stm sp, {ip, lr}                              |         *(sp) = ip;
                                                             |         *((sp + 4)) = lr;
    0x00058b18 add r1, pc, r1                                |         r1 = pc + r1;
    0x00058b1c mov r0, r4                                    |         r0 = r4;
    0x00058b20 bl 0x6bbc4                                    |         r0 = BIO_printf ()
                                                             | label_1:
    0x00058b24 cmp r0, 0                                     |         
                                                             |         if (r0 > 0) {
    0x00058b28 movle r5, 0                                   |             r5 = 0;
                                                             |         }
                                                             |         if (r0 <= 0) {
    0x00058b2c movgt r5, 1                                   |             r5 = 1;
                                                             |         }
                                                             | label_2:
    0x00058b30 mov r0, r5                                    |         r0 = r5;
    0x00058b34 add sp, sp, 0x50                              |         
    0x00058b38 pop {r4, r5, r6, r7, r8, sb, sl, pc}          |         
                                                             | label_5:
    0x00058b3c mov r6, 0                                     |         r6 = 0;
    0x00058b40 mov r8, r6                                    |         r8 = r6;
    0x00058b44 b 0x58abc                                     |         
                                                             |     } while (1);
                                                             | label_7:
    0x00058b48 ldr r0, [pc, 0x98]                            |     r0 = *(0x58be4);
    0x00058b4c add r0, pc, r0                                |     r0 = pc + r0;
    0x00058b50 b 0x58afc                                     |     goto label_0;
                                                             | label_4:
    0x00058b54 ldr r2, [pc, 0x90]                            |     
    0x00058b58 ldr r1, [sp, 0x38]                            |     r1 = var_38h;
    0x00058b5c ldr r3, [sp, 0x34]                            |     r3 = var_34h;
    0x00058b60 add r2, pc, r2                                |     r2 = pc + r2;
    0x00058b64 add r2, r2, 0xa8                              |     r2 = ASN1_TIME_normalize;
    0x00058b68 add r1, r1, 0x760                             |     r1 += 0x760;
    0x00058b6c cmp r5, 0x5a                                  |     
    0x00058b70 add r2, r2, r3, lsl 2                         |     r2 += (r3 << 2);
    0x00058b74 ldr ip, [sp, 0x2c]                            |     ip = var_2ch;
    0x00058b78 ldr r3, [sp, 0x30]                            |     r3 = var_30h;
    0x00058b7c ldr lr, [sp, 0x28]                            |     lr = var_28h;
    0x00058b80 ldr r6, [sp, 0x24]                            |     r6 = var_24h;
    0x00058b84 add r1, r1, 0xc                               |     r1 += 0xc;
                                                             |     if (r5 == 0x5a) {
    0x00058b88 beq 0x58bb8                                   |         goto label_8;
                                                             |     }
    0x00058b8c ldr r0, [pc, 0x5c]                            |     r0 = *(0x58bec);
    0x00058b90 add r0, pc, r0                                |     r0 = pc + r0;
                                                             |     do {
    0x00058b94 str r1, [sp, 0xc]                             |         var_ch = r1;
    0x00058b98 ldr r1, [pc, 0x54]                            |         r1 = *(0x58bf0);
    0x00058b9c str r0, [sp, 0x10]                            |         var_10h = r0;
    0x00058ba0 str r6, [sp, 8]                               |         var_8h = r6;
    0x00058ba4 stm sp, {ip, lr}                              |         *(sp) = ip;
                                                             |         *((sp + 4)) = lr;
    0x00058ba8 add r1, pc, r1                                |         r1 = pc + r1;
    0x00058bac mov r0, r4                                    |         r0 = r4;
    0x00058bb0 bl 0x6bbc4                                    |         BIO_printf ()
    0x00058bb4 b 0x58b24                                     |         goto label_1;
                                                             | label_8:
    0x00058bb8 ldr r0, [pc, 0x38]                            |         r0 = *(0x58bf4);
    0x00058bbc add r0, pc, r0                                |         r0 = pc + r0;
    0x00058bc0 b 0x58b94                                     |         
                                                             |     } while (1);
                                                             | label_3:
    0x00058bc4 ldr r1, [pc, 0x30]                            |     r1 = *(0x58bf8);
    0x00058bc8 mov r2, 0xe                                   |     r2 = 0xe;
    0x00058bcc add r1, pc, r1                                |     r1 = pc + r1;
    0x00058bd0 mov r0, r4                                    |     r0 = r4;
    0x00058bd4 bl 0x6e820                                    |     BIO_write ();
    0x00058bd8 b 0x58b30                                     |     goto label_2;
                                                             | }
    ; 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/libcrypto.so.1.1 @ 0x61578 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.ASN1_bn_print ()                             | void ASN1_bn_print (int32_t arg_4h, int32_t arg_38h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_8h;
                                                             |     int32_t var_14h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00061578 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x0006157c subs r4, r2, 0                                |     r4 = r2 - 0;
    0x00061580 sub sp, sp, 0x14                              |     
    0x00061584 ldr fp, [sp, 0x38]                            |     fp = *(arg_38h);
                                                             |     if (r4 != r2) {
    0x00061588 moveq r6, 1                                   |         r6 = 1;
                                                             |     }
                                                             |     if (r4 == r2) {
    0x0006158c beq 0x615f8                                   |         goto label_1;
                                                             |     }
    0x00061590 mov r7, r0                                    |     r7 = r0;
    0x00061594 mov r0, r4                                    |     r0 = r4;
    0x00061598 mov sb, r1                                    |     sb = r1;
    0x0006159c bl 0x841e8                                    |     r0 = BN_is_negative ();
    0x000615a0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000615a4 bne 0x61604                                   |         goto label_2;
                                                             |     }
    0x000615a8 ldr sl, [pc, 0x174]                           |     sl = *(0x61720);
    0x000615ac add sl, pc, sl                                |     sl = pc + sl;
                                                             |     do {
    0x000615b0 mov r2, 0x80                                  |         r2 = 0x80;
    0x000615b4 mov r1, fp                                    |         r1 = fp;
    0x000615b8 mov r0, r7                                    |         r0 = r7;
    0x000615bc bl 0x6eb94                                    |         r0 = BIO_indent ();
    0x000615c0 subs r6, r0, 0                                |         r6 = r0 - 0;
                                                             |         if (r6 != r0) {
    0x000615c4 beq 0x615f8                                   |             
    0x000615c8 mov r0, r4                                    |             r0 = r4;
    0x000615cc bl 0x8407c                                    |             r0 = BN_is_zero ();
    0x000615d0 subs r6, r0, 0                                |             r6 = r0 - 0;
                                                             |             if (r6 == r0) {
    0x000615d4 beq 0x61610                                   |                 goto label_3;
                                                             |             }
    0x000615d8 ldr r1, [pc, 0x148]                           |             r1 = *(0x61724);
    0x000615dc mov r2, sb                                    |             r2 = sb;
    0x000615e0 add r1, pc, r1                                |             r1 = pc + r1;
    0x000615e4 mov r0, r7                                    |             r0 = r7;
    0x000615e8 bl 0x6bbc4                                    |             r0 = BIO_printf ()
                                                             | label_0:
    0x000615ec cmp r0, 0                                     |             
                                                             |             if (r0 > 0) {
    0x000615f0 movle r6, 0                                   |                 r6 = 0;
                                                             |             }
                                                             |             if (r0 > 0) {
    0x000615f4 movgt r6, 1                                   |                 r6 = 1;
                                                             |                 goto label_1;
                                                             |             }
                                                             |         }
                                                             | label_1:
    0x000615f8 mov r0, r6                                    |         r0 = r6;
    0x000615fc add sp, sp, 0x14                              |         
    0x00061600 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_2:
    0x00061604 ldr sl, [pc, 0x120]                           |         sl = *(0x61728);
    0x00061608 add sl, pc, sl                                |         sl = pc + sl;
    0x0006160c b 0x615b0                                     |         
                                                             |     } while (1);
                                                             | label_3:
    0x00061610 mov r0, r4                                    |     r0 = r4;
    0x00061614 bl 0x8408c                                    |     r0 = BN_num_bits ();
    0x00061618 cmp r0, 0x20                                  |     
    0x0006161c mov r0, r4                                    |     r0 = r4;
                                                             |     if (r0 <= 0x20) {
    0x00061620 bgt 0x6165c                                   |         
    0x00061624 bl 0x836d4                                    |         r0 = fcn_000836d4 (r0);
    0x00061628 ldr r5, [r0]                                  |         r5 = *(r0);
    0x0006162c mov r0, r4                                    |         r0 = r4;
    0x00061630 bl 0x836d4                                    |         fcn_000836d4 (r0);
    0x00061634 ldr r1, [pc, 0xf4]                            |         r1 = *(0x6172c);
    0x00061638 mov r2, sb                                    |         r2 = sb;
    0x0006163c add r1, pc, r1                                |         r1 = pc + r1;
    0x00061640 ldr r3, [r0]                                  |         r3 = *(r0);
    0x00061644 stm sp, {r5, sl}                              |         *(sp) = r5;
                                                             |         *((sp + 4)) = sl;
    0x00061648 str r3, [sp, 8]                               |         var_8h = r3;
    0x0006164c mov r0, r7                                    |         r0 = r7;
    0x00061650 mov r3, sl                                    |         r3 = sl;
    0x00061654 bl 0x6bbc4                                    |         BIO_printf ()
    0x00061658 b 0x615ec                                     |         goto label_0;
                                                             |     }
    0x0006165c bl 0x8408c                                    |     BN_num_bits ();
    0x00061660 ldr r1, [pc, 0xcc]                            |     r1 = *(0x61730);
    0x00061664 mov r2, 0x49                                  |     r2 = 0x49;
    0x00061668 add r1, pc, r1                                |     r1 = pc + r1;
    0x0006166c adds r5, r0, 7                                |     r5 = r0 + 7;
                                                             |     if (r5 >= r0) {
    0x00061670 addmi r5, r0, 0xe                             |         r5 = r0 + 0xe;
                                                             |     }
    0x00061674 asr r5, r5, 3                                 |     r5 >>= 3;
    0x00061678 add r5, r5, 1                                 |     r5++;
    0x0006167c mov r0, r5                                    |     r0 = r5;
    0x00061680 bl 0x118474                                   |     r0 = CRYPTO_malloc ();
    0x00061684 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x00061688 beq 0x616fc                                   |         goto label_4;
                                                             |     }
    0x0006168c ldrb r3, [sl]                                 |     r3 = *(sl);
    0x00061690 strb r6, [r8]                                 |     *(r8) = r6;
    0x00061694 cmp r3, 0x2d                                  |     
                                                             |     if (r3 == 0x2d) {
    0x00061698 beq 0x61718                                   |         goto label_5;
                                                             |     }
    0x0006169c ldr r3, [pc, 0x94]                            |     r3 = *(0x61734);
    0x000616a0 add r3, pc, r3                                |     r3 = pc + r3;
                                                             |     do {
    0x000616a4 ldr r1, [pc, 0x90]                            |         r1 = *(0x61738);
    0x000616a8 mov r2, sb                                    |         r2 = sb;
    0x000616ac add r1, pc, r1                                |         r1 = pc + r1;
    0x000616b0 mov r0, r7                                    |         r0 = r7;
    0x000616b4 bl 0x6bbc4                                    |         r0 = BIO_printf ()
    0x000616b8 cmp r0, 0                                     |         
                                                             |         if (r0 > 0) {
    0x000616bc ble 0x616fc                                   |             
    0x000616c0 add r6, r8, 1                                 |             r6 = r8 + 1;
    0x000616c4 mov r1, r6                                    |             r1 = r6;
    0x000616c8 mov r0, r4                                    |             r0 = r4;
    0x000616cc bl 0x8493c                                    |             BN_bn2bin ();
    0x000616d0 ldrsb r3, [r8, 1]                             |             r3 = *((r8 + 1));
    0x000616d4 cmp r3, 0                                     |             
                                                             |             if (r3 >= 0) {
    0x000616d8 movlt r6, r8                                  |                 r6 = r8;
                                                             |             }
    0x000616dc mov r1, r6                                    |             r1 = r6;
    0x000616e0 add r3, fp, 4                                 |             r3 += arg_4h;
    0x000616e4 mov r2, r0                                    |             r2 = r0;
                                                             |             if (r3 >= 0) {
    0x000616e8 addlt r2, r0, 1                               |                 r2 = r0 + 1;
                                                             |             }
    0x000616ec mov r0, r7                                    |             r0 = r7;
    0x000616f0 bl 0x6147c                                    |             r0 = ASN1_buf_print ();
    0x000616f4 adds r6, r0, 0                                |             r6 = r0 + 0;
                                                             |             if (r6 != r0) {
    0x000616f8 movne r6, 1                                   |                 r6 = 1;
                                                             |                 goto label_4;
                                                             |             }
                                                             |         }
                                                             | label_4:
    0x000616fc ldr r2, [pc, 0x3c]                            |         r2 = *(0x6173c);
    0x00061700 mov r3, 0x5b                                  |         r3 = 0x5b;
    0x00061704 add r2, pc, r2                                |         r2 = pc + r2;
    0x00061708 mov r1, r5                                    |         r1 = r5;
    0x0006170c mov r0, r8                                    |         r0 = r8;
    0x00061710 bl 0x11866c                                   |         CRYPTO_clear_free ();
    0x00061714 b 0x615f8                                     |         goto label_1;
                                                             | label_5:
    0x00061718 ldr r3, [pc, 0x24]                            |         r3 = *(0x61740);
    0x0006171c add r3, pc, r3                                |         r3 = pc + r3;
    0x00061720 b 0x616a4                                     |         
                                                             |     } 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/libcrypto.so.1.1 @ 0x6147c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.ASN1_buf_print ()                                | void ASN1_buf_print (int32_t arg1, int32_t arg2) {
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0006147c push {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00061480 ldr sb, [pc, 0xdc]                                |     sb = *(0x61560);
    0x00061484 ldr sl, [pc, 0xdc]                                |     sl = *(0x61564);
    0x00061488 ldr fp, [pc, 0xdc]                                |     fp = *(0x61568);
    0x0006148c mov r5, r0                                        |     r5 = r0;
    0x00061490 mov r7, r1                                        |     r7 = r1;
    0x00061494 mov r6, r2                                        |     r6 = r2;
    0x00061498 mov r8, r3                                        |     r8 = r3;
    0x0006149c mov r4, 0                                         |     r4 = 0;
    0x000614a0 add sb, pc, sb                                    |     sb = pc + sb;
    0x000614a4 add sl, pc, sl                                    |     sl = pc + sl;
    0x000614a8 add fp, pc, fp                                    |     
                                                                 | label_2:
    0x000614ac cmp r4, r6                                        |     
                                                                 |     if (r4 == r6) {
    0x000614b0 bne 0x614d8                                       |         
    0x000614b4 ldr r1, [pc, 0xb4]                                |         r1 = *(0x6156c);
    0x000614b8 mov r2, 1                                         |         r2 = 1;
    0x000614bc add r1, pc, r1                                    |         r1 = pc + r1;
    0x000614c0 mov r0, r5                                        |         r0 = r5;
    0x000614c4 bl 0x6e820                                        |         r0 = BIO_write ();
    0x000614c8 cmp r0, 0                                         |         
                                                                 |         if (r0 > 0) {
    0x000614cc movle r0, 0                                       |             r0 = 0;
                                                                 |         }
                                                                 |         if (r0 <= 0) {
    0x000614d0 movgt r0, 1                                       |             r0 = 1;
                                                                 |         }
    0x000614d4 pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                                 |     }
    0x000614d8 mov r1, 0xf                                       |     r1 = 0xf;
    0x000614dc mov r0, r4                                        |     r0 = r4;
    0x000614e0 bl 0x18315c                                       |     fcn_0018315c (r0, r1);
    0x000614e4 cmp r1, 0                                         |     
    0x000614e8 beq 0x61520                                       |     
                                                                 |     while (r0 != 0) {
    0x000614ec ldr r1, [pc, 0x80]                                |         r1 = *(0x61570);
    0x000614f0 sub r3, r6, 1                                     |         r3 = r6 - 1;
    0x000614f4 cmp r3, r4                                        |         
                                                                 |         if (r3 != r4) {
    0x000614f8 moveq r3, sl                                      |             r3 = sl;
                                                                 |         }
                                                                 |         if (r3 == r4) {
    0x000614fc movne r3, fp                                      |             r3 = fp;
                                                                 |         }
    0x00061500 ldrb r2, [r7, r4]                                 |         r2 = *((r7 + r4));
    0x00061504 add r1, pc, r1                                    |         r1 = pc + r1;
    0x00061508 mov r0, r5                                        |         r0 = r5;
    0x0006150c bl 0x6bbc4                                        |         r0 = BIO_printf ()
    0x00061510 cmp r0, 0                                         |         
                                                                 |         if (r0 > 0) {
    0x00061514 bgt 0x6155c                                       |             goto label_3;
                                                                 |         }
                                                                 | label_0:
    0x00061518 mov r0, 0                                         |         r0 = 0;
    0x0006151c pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
    0x00061520 cmp r4, 0                                         |         
                                                                 |         if (r4 != 0) {
    0x00061524 bne 0x61544                                       |             goto label_4;
                                                                 |         }
                                                                 | label_1:
    0x00061528 mov r2, 0x80                                      |         r2 = 0x80;
    0x0006152c mov r1, r8                                        |         r1 = r8;
    0x00061530 mov r0, r5                                        |         r0 = r5;
    0x00061534 bl 0x6eb94                                        |         r0 = BIO_indent ();
    0x00061538 cmp r0, 0                                         |         
    0x0006153c bne 0x614ec                                       |         
                                                                 |     }
    0x00061540 b 0x61518                                         |     goto label_0;
                                                                 | label_4:
    0x00061544 mov r1, sb                                        |     r1 = sb;
    0x00061548 mov r0, r5                                        |     r0 = r5;
    0x0006154c bl 0x6e860                                        |     r0 = BIO_puts ();
    0x00061550 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x00061554 bgt 0x61528                                       |         goto label_1;
                                                                 |     }
    0x00061558 b 0x61518                                         |     goto label_0;
                                                                 | label_3:
    0x0006155c add r4, r4, 1                                     |     r4++;
    0x00061560 b 0x614ac                                         |     goto label_2;
                                                                 | }
    ; 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/libcrypto.so.1.1 @ 0x6a534 */
                                                                             | #include <stdint.h>
                                                                             |  
    ; (fcn) sym.BIO_hex_string ()                                            | void BIO_hex_string (int32_t arg_30h, int32_t arg1, int32_t arg2) {
                                                                             |     int32_t var_4h;
                                                                             |     int32_t var_ch;
                                                                             |     r0 = arg1;
                                                                             |     r1 = arg2;
    0x0006a534 push {r0, r1, r2, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0006a538 ldr ip, [sp, 0x30]                                            |     ip = *(arg_30h);
    0x0006a53c cmp ip, 0                                                     |     
                                                                             |     if (ip <= 0) {
    0x0006a540 ble 0x6a5d8                                                   |         goto label_0;
                                                                             |     }
    0x0006a544 mov r5, r3                                                    |     r5 = r3;
    0x0006a548 ldr sl, [pc, 0xec]                                            |     sl = *(0x6a638);
    0x0006a54c ldr r3, [pc, 0xec]                                            |     r3 = *(0x6a63c);
    0x0006a550 ldr fp, [pc, 0xec]                                            |     fp = *(0x0006a644);
    0x0006a554 mov r8, 0                                                     |     r8 = 0;
    0x0006a558 add r3, pc, r3                                                |     r3 = pc + r3;
    0x0006a55c mov sb, r2                                                    |     sb = r2;
    0x0006a560 mov r7, r1                                                    |     r7 = r1;
    0x0006a564 mov r4, r0                                                    |     r4 = r0;
    0x0006a568 mov r6, r8                                                    |     r6 = r8;
    0x0006a56c add sl, pc, sl                                                |     sl = pc + sl;
    0x0006a570 add fp, pc, fp                                                |     
    0x0006a574 str r3, [sp, 4]                                               |     var_4h = r3;
                                                                             |     do {
    0x0006a578 ldr r2, [sp, 0x30]                                            |         r2 = *(arg_30h);
    0x0006a57c adds r3, r6, 0                                                |         r3 = r6 + 0;
                                                                             |         if (r3 == r6) {
    0x0006a580 movne r3, 1                                                   |             r3 = 1;
                                                                             |         }
    0x0006a584 sub r2, r2, 1                                                 |         r2--;
    0x0006a588 cmp r8, 0                                                     |         
                                                                             |         if (r8 == 0) {
    0x0006a58c movne r3, 0                                                   |             r3 = 0;
                                                                             |         }
    0x0006a590 cmp r2, r6                                                    |         
                                                                             |         if (r2 <= r6) {
    0x0006a594 bgt 0x6a5e4                                                   |             
    0x0006a598 cmp r3, 0                                                     |             
                                                                             |             if (r3 != 0) {
    0x0006a59c beq 0x6a5bc                                                   |                 
    0x0006a5a0 ldr r3, [pc, 0xa0]                                            |                 r3 = *(0x6a644);
    0x0006a5a4 ldr r1, [pc, 0xa0]                                            |                 r1 = *(0x6a648);
    0x0006a5a8 add r3, pc, r3                                                |                 r3 = pc + r3;
    0x0006a5ac mov r2, r7                                                    |                 r2 = r7;
    0x0006a5b0 add r1, pc, r1                                                |                 r1 = pc + r1;
    0x0006a5b4 mov r0, r4                                                    |                 r0 = r4;
    0x0006a5b8 bl 0x6bbc4                                                    |                 BIO_printf ()
                                                                             |             }
    0x0006a5bc ldr r3, [sp, 0x30]                                            |             r3 = *(arg_30h);
    0x0006a5c0 ldr r1, [pc, 0x88]                                            |             r1 = *(0x6a64c);
    0x0006a5c4 add r5, r5, r3                                                |             r5 += r3;
    0x0006a5c8 ldrb r2, [r5, -1]                                             |             r2 = *((r5 - 1));
    0x0006a5cc add r1, pc, r1                                                |             r1 = pc + r1;
    0x0006a5d0 mov r0, r4                                                    |             r0 = r4;
    0x0006a5d4 bl 0x6bbc4                                                    |             BIO_printf ()
                                                                             | label_0:
    0x0006a5d8 mov r0, 1                                                     |             r0 = 1;
    0x0006a5dc add sp, sp, 0xc                                               |             
    0x0006a5e0 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}                      |             
                                                                             |         }
    0x0006a5e4 cmp r3, 0                                                     |         
                                                                             |         if (r3 != 0) {
    0x0006a5e8 beq 0x6a600                                                   |             
    0x0006a5ec ldr r3, [sp, 4]                                               |             r3 = var_4h;
    0x0006a5f0 mov r2, r7                                                    |             r2 = r7;
    0x0006a5f4 mov r1, sl                                                    |             r1 = sl;
    0x0006a5f8 mov r0, r4                                                    |             r0 = r4;
    0x0006a5fc bl 0x6bbc4                                                    |             BIO_printf ()
                                                                             |         }
    0x0006a600 ldrb r2, [r5, r6]                                             |         r2 = *((r5 + r6));
    0x0006a604 mov r1, fp                                                    |         r1 = fp;
    0x0006a608 mov r0, r4                                                    |         r0 = r4;
    0x0006a60c bl 0x6bbc4                                                    |         BIO_printf ()
    0x0006a610 add r0, r8, 1                                                 |         r0 = r8 + 1;
    0x0006a614 mov r1, sb                                                    |         r1 = sb;
    0x0006a618 bl 0x183258                                                   |         fcn_00183258 (r0, r1);
    0x0006a61c subs r8, r1, 0                                                |         r8 = r1 - 0;
                                                                             |         if (r8 == r1) {
    0x0006a620 bne 0x6a634                                                   |             
    0x0006a624 ldr r1, [pc, 0x28]                                            |             r1 = *(0x6a650);
    0x0006a628 mov r0, r4                                                    |             r0 = r4;
    0x0006a62c add r1, pc, r1                                                |             r1 = pc + r1;
    0x0006a630 bl 0x6bbc4                                                    |             BIO_printf ()
                                                                             |         }
    0x0006a634 add r6, r6, 1                                                 |         r6++;
    0x0006a638 b 0x6a578                                                     |         
                                                                             |     } 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/libcrypto.so.1.1 @ 0xa77b8 */
                                                                             | #include <stdint.h>
                                                                             |  
    ; (fcn) sym.DHparams_print ()                                            | void DHparams_print (int32_t arg1, int32_t arg2) {
                                                                             |     int32_t var_0h;
                                                                             |     r0 = arg1;
                                                                             |     r1 = arg2;
                                                                             | label_10:
    0x000a6238 cmp r3, 2                                                     |     
    0x000a623c push {r0, r1, r2, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
                                                                             |     if (r3 != 2) {
    0x000a6240 ldreq r7, [r1, 0x18]                                          |         r7 = *((r1 + 0x18));
                                                                             |     }
    0x000a6244 mov r4, r0                                                    |     r4 = r0;
    0x000a6248 mov r5, r1                                                    |     r5 = r1;
    0x000a624c mov r8, r2                                                    |     r8 = r2;
                                                                             |     if (r3 != 2) {
    0x000a6250 beq 0xa6268                                                   |         
    0x000a6254 cmp r3, 0                                                     |         
                                                                             |         if (r3 != 0) {
    0x000a6258 moveq r7, r3                                                  |             r7 = r3;
                                                                             |         }
                                                                             |         if (r3 != 0) {
    0x000a625c moveq sb, r3                                                  |             sb = r3;
                                                                             |         }
                                                                             |         if (r3 == 0) {
    0x000a6260 beq 0xa626c                                                   |             goto label_11;
                                                                             |         }
    0x000a6264 mov r7, 0                                                     |         r7 = 0;
                                                                             |     }
    0x000a6268 ldr sb, [r5, 0x14]                                            |     sb = *((r5 + 0x14));
                                                                             | label_11:
    0x000a626c ldr r2, [r5, 8]                                               |     r2 = *((r5 + 8));
    0x000a6270 cmp r2, 0                                                     |     
                                                                             |     if (r2 == 0) {
    0x000a6274 beq 0xa6588                                                   |         goto label_12;
                                                                             |     }
    0x000a6278 cmp r3, 2                                                     |     
    0x000a627c cmpeq r7, 0                                                   |     __asm ("cmpeq r7, 0");
                                                                             |     if (r3 == 2) {
    0x000a6280 beq 0xa6588                                                   |         goto label_12;
                                                                             |     }
    0x000a6284 cmp r3, 0                                                     |     
                                                                             |     if (r3 > 0) {
    0x000a6288 movle r2, 0                                                   |         r2 = 0;
                                                                             |     }
                                                                             |     if (r3 <= 0) {
    0x000a628c movgt r2, 1                                                   |         r2 = 1;
                                                                             |     }
    0x000a6290 cmp sb, 0                                                     |     
                                                                             |     if (sb == 0) {
    0x000a6294 movne r2, 0                                                   |         r2 = 0;
                                                                             |     }
    0x000a6298 cmp r2, 0                                                     |     
                                                                             |     if (r2 != 0) {
    0x000a629c bne 0xa6588                                                   |         goto label_12;
                                                                             |     }
    0x000a62a0 cmp r3, 2                                                     |     
                                                                             |     if (r3 == 2) {
    0x000a62a4 beq 0xa6314                                                   |         goto label_13;
                                                                             |     }
    0x000a62a8 cmp r3, 1                                                     |     
                                                                             |     if (r3 == 1) {
    0x000a62ac beq 0xa6320                                                   |         goto label_14;
                                                                             |     }
    0x000a62b0 ldr r6, [pc, 0x2d8]                                           |     r6 = *(0xa658c);
    0x000a62b4 add r6, pc, r6                                                |     r6 = pc + r6;
                                                                             |     do {
                                                                             | label_0:
    0x000a62b8 mov r2, 0x80                                                  |         r2 = 0x80;
    0x000a62bc mov r1, r8                                                    |         r1 = r8;
    0x000a62c0 mov r0, r4                                                    |         r0 = r4;
    0x000a62c4 bl 0x6eb94                                                    |         BIO_indent ();
    0x000a62c8 ldr r0, [r5, 8]                                               |         r0 = *((r5 + 8));
    0x000a62cc bl 0x8408c                                                    |         BN_num_bits ();
    0x000a62d0 ldr r1, [pc, 0x2bc]                                           |         r1 = *(0xa6590);
    0x000a62d4 mov r2, r6                                                    |         r2 = r6;
    0x000a62d8 add r1, pc, r1                                                |         r1 = pc + r1;
    0x000a62dc mov r3, r0                                                    |         r3 = r0;
    0x000a62e0 mov r0, r4                                                    |         r0 = r4;
    0x000a62e4 bl 0x6bbc4                                                    |         r0 = BIO_printf ()
    0x000a62e8 cmp r0, 0                                                     |         
                                                                             |         if (r0 > 0) {
    0x000a62ec bgt 0xa632c                                                   |             goto label_15;
                                                                             |         }
                                                                             | label_1:
    0x000a62f0 mov r2, 7                                                     |         r2 = 7;
                                                                             | label_9:
    0x000a62f4 ldr r3, [pc, 0x29c]                                           |         r3 = *(0xa6594);
    0x000a62f8 mov r1, 0x64                                                  |         r1 = 0x64;
    0x000a62fc str r3, [sp]                                                  |         *(sp) = r3;
    0x000a6300 ldr r3, [pc, 0x294]                                           |         r3 = *(0xa6598);
    0x000a6304 mov r0, 5                                                     |         r0 = 5;
    0x000a6308 add r3, pc, r3                                                |         r3 = pc + r3;
    0x000a630c bl 0xfc7b8                                                    |         ERR_put_error ();
    0x000a6310 b 0xa64e0                                                     |         goto label_16;
                                                                             | label_13:
    0x000a6314 ldr r6, [pc, 0x284]                                           |         r6 = *(0xa659c);
    0x000a6318 add r6, pc, r6                                                |         r6 = pc + r6;
    0x000a631c b 0xa62b8                                                     |         
                                                                             |     } while (1);
                                                                             | label_14:
    0x000a6320 ldr r6, [pc, 0x27c]                                           |     r6 = *(0xa65a0);
    0x000a6324 add r6, pc, r6                                                |     r6 = pc + r6;
    0x000a6328 b 0xa62b8                                                     |     goto label_0;
                                                                             | label_15:
    0x000a632c ldr r1, [pc, 0x274]                                           |     r1 = *(0xa65a4);
    0x000a6330 add r6, r8, 4                                                 |     r6 = r8 + 4;
    0x000a6334 str r6, [sp]                                                  |     *(sp) = r6;
    0x000a6338 mov r3, 0                                                     |     r3 = 0;
    0x000a633c mov r2, r7                                                    |     r2 = r7;
    0x000a6340 add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a6344 mov r0, r4                                                    |     r0 = r4;
    0x000a6348 bl 0x61578                                                    |     r0 = ASN1_bn_print ();
    0x000a634c cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x000a6350 beq 0xa62f0                                                   |         goto label_1;
                                                                             |     }
    0x000a6354 ldr r1, [pc, 0x250]                                           |     r1 = *(0xa65a8);
    0x000a6358 str r6, [sp]                                                  |     *(sp) = r6;
    0x000a635c mov r3, 0                                                     |     r3 = 0;
    0x000a6360 mov r2, sb                                                    |     r2 = sb;
    0x000a6364 add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a6368 mov r0, r4                                                    |     r0 = r4;
    0x000a636c bl 0x61578                                                    |     r0 = ASN1_bn_print ();
    0x000a6370 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x000a6374 beq 0xa62f0                                                   |         goto label_1;
                                                                             |     }
    0x000a6378 ldr r1, [pc, 0x230]                                           |     r1 = *(0xa65ac);
    0x000a637c str r6, [sp]                                                  |     *(sp) = r6;
    0x000a6380 mov r3, 0                                                     |     r3 = 0;
    0x000a6384 ldr r2, [r5, 8]                                               |     r2 = *((r5 + 8));
    0x000a6388 add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a638c mov r0, r4                                                    |     r0 = r4;
    0x000a6390 bl 0x61578                                                    |     r0 = ASN1_bn_print ();
    0x000a6394 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x000a6398 beq 0xa62f0                                                   |         goto label_1;
                                                                             |     }
    0x000a639c ldr r1, [pc, 0x210]                                           |     r1 = *(0xa65b0);
    0x000a63a0 str r6, [sp]                                                  |     *(sp) = r6;
    0x000a63a4 mov r3, 0                                                     |     r3 = 0;
    0x000a63a8 ldr r2, [r5, 0xc]                                             |     r2 = *((r5 + 0xc));
    0x000a63ac add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a63b0 mov r0, r4                                                    |     r0 = r4;
    0x000a63b4 bl 0x61578                                                    |     r0 = ASN1_bn_print ();
    0x000a63b8 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x000a63bc beq 0xa62f0                                                   |         goto label_1;
                                                                             |     }
    0x000a63c0 ldr r2, [r5, 0x24]                                            |     r2 = *((r5 + 0x24));
    0x000a63c4 cmp r2, 0                                                     |     
                                                                             |     if (r2 != 0) {
    0x000a63c8 bne 0xa6434                                                   |         goto label_17;
                                                                             |     }
                                                                             | label_2:
    0x000a63cc ldr r2, [r5, 0x28]                                            |     r2 = *((r5 + 0x28));
    0x000a63d0 cmp r2, 0                                                     |     
                                                                             |     if (r2 != 0) {
    0x000a63d4 bne 0xa6458                                                   |         goto label_18;
                                                                             |     }
                                                                             | label_3:
    0x000a63d8 ldr r3, [r5, 0x2c]                                            |     r3 = *((r5 + 0x2c));
    0x000a63dc cmp r3, 0                                                     |     
                                                                             |     if (r3 != 0) {
    0x000a63e0 bne 0xa647c                                                   |         goto label_19;
                                                                             |     }
                                                                             | label_4:
    0x000a63e4 ldr r2, [r5, 0x34]                                            |     r2 = *((r5 + 0x34));
    0x000a63e8 cmp r2, 0                                                     |     
                                                                             |     if (r2 != 0) {
    0x000a63ec bne 0xa6564                                                   |         goto label_20;
                                                                             |     }
                                                                             | label_8:
    0x000a63f0 ldr r3, [r5, 0x10]                                            |     r3 = *((r5 + 0x10));
    0x000a63f4 cmp r3, 0                                                     |     
                                                                             |     if (r3 == 0) {
    0x000a63f8 beq 0xa6428                                                   |         goto label_21;
                                                                             |     }
    0x000a63fc mov r2, 0x80                                                  |     r2 = 0x80;
    0x000a6400 mov r1, r6                                                    |     r1 = r6;
    0x000a6404 mov r0, r4                                                    |     r0 = r4;
    0x000a6408 bl 0x6eb94                                                    |     BIO_indent ();
    0x000a640c ldr r1, [pc, 0x1a4]                                           |     r1 = *(0xa65b4);
    0x000a6410 ldr r2, [r5, 0x10]                                            |     r2 = *((r5 + 0x10));
    0x000a6414 add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a6418 mov r0, r4                                                    |     r0 = r4;
    0x000a641c bl 0x6bbc4                                                    |     r0 = BIO_printf ()
    0x000a6420 cmp r0, 0                                                     |     
                                                                             |     if (r0 <= 0) {
    0x000a6424 ble 0xa62f0                                                   |         goto label_1;
                                                                             |     }
                                                                             | label_21:
    0x000a6428 mov r0, 1                                                     |     r0 = 1;
                                                                             | label_5:
    0x000a642c add sp, sp, 0xc                                               |     
    0x000a6430 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}                      |     
                                                                             | label_17:
    0x000a6434 ldr r1, [pc, 0x180]                                           |     r1 = *(0xa65b8);
    0x000a6438 str r6, [sp]                                                  |     *(sp) = r6;
    0x000a643c mov r3, 0                                                     |     r3 = 0;
    0x000a6440 add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a6444 mov r0, r4                                                    |     r0 = r4;
    0x000a6448 bl 0x61578                                                    |     r0 = ASN1_bn_print ();
    0x000a644c cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x000a6450 beq 0xa62f0                                                   |         goto label_1;
                                                                             |     }
    0x000a6454 b 0xa63cc                                                     |     goto label_2;
                                                                             | label_18:
    0x000a6458 ldr r1, [pc, 0x160]                                           |     r1 = *(0xa65bc);
    0x000a645c str r6, [sp]                                                  |     *(sp) = r6;
    0x000a6460 mov r3, 0                                                     |     r3 = 0;
    0x000a6464 add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a6468 mov r0, r4                                                    |     r0 = r4;
    0x000a646c bl 0x61578                                                    |     r0 = ASN1_bn_print ();
    0x000a6470 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x000a6474 beq 0xa62f0                                                   |         goto label_1;
                                                                             |     }
    0x000a6478 b 0xa63d8                                                     |     goto label_3;
                                                                             | label_19:
    0x000a647c mov r2, 0x80                                                  |     r2 = 0x80;
    0x000a6480 mov r1, r6                                                    |     r1 = r6;
    0x000a6484 mov r0, r4                                                    |     r0 = r4;
    0x000a6488 bl 0x6eb94                                                    |     BIO_indent ();
    0x000a648c ldr r1, [pc, 0x130]                                           |     r1 = *(0xa65c0);
    0x000a6490 mov r0, r4                                                    |     r0 = r4;
    0x000a6494 add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a6498 bl 0x6e860                                                    |     BIO_puts ();
    0x000a649c ldr sb, [pc, 0x124]                                           |     sb = *(0xa65c4);
    0x000a64a0 ldr sl, [pc, 0x124]                                           |     sl = *(0xa65c8);
    0x000a64a4 ldr fp, [pc, 0x124]                                           |     fp = *(0xa65cc);
    0x000a64a8 mov r7, 0                                                     |     r7 = 0;
    0x000a64ac add sb, pc, sb                                                |     sb = pc + sb;
    0x000a64b0 add sl, pc, sl                                                |     sl = pc + sl;
    0x000a64b4 add fp, pc, fp                                                |     
                                                                             | label_6:
    0x000a64b8 ldr r3, [r5, 0x30]                                            |     r3 = *((r5 + 0x30));
    0x000a64bc cmp r3, r7                                                    |     
                                                                             |     if (r3 > r7) {
    0x000a64c0 bgt 0xa64e8                                                   |         goto label_22;
                                                                             |     }
    0x000a64c4 ldr r1, [pc, 0x108]                                           |     r1 = *(0xa65d0);
    0x000a64c8 mov r2, 1                                                     |     r2 = 1;
    0x000a64cc add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a64d0 mov r0, r4                                                    |     r0 = r4;
    0x000a64d4 bl 0x6e820                                                    |     r0 = BIO_write ();
    0x000a64d8 cmp r0, 0                                                     |     
                                                                             |     if (r0 > 0) {
    0x000a64dc bgt 0xa63e4                                                   |         goto label_4;
                                                                             |     }
                                                                             | label_16:
    0x000a64e0 mov r0, 0                                                     |     r0 = 0;
    0x000a64e4 b 0xa642c                                                     |     goto label_5;
                                                                             | label_22:
    0x000a64e8 mov r1, 0xf                                                   |     r1 = 0xf;
    0x000a64ec mov r0, r7                                                    |     r0 = r7;
    0x000a64f0 bl 0x183258                                                   |     fcn_00183258 (r0, r1);
    0x000a64f4 cmp r1, 0                                                     |     
                                                                             |     if (r1 == 0) {
    0x000a64f8 beq 0xa6534                                                   |         goto label_23;
                                                                             |     }
                                                                             | label_7:
    0x000a64fc ldr r3, [r5, 0x2c]                                            |     r3 = *((r5 + 0x2c));
    0x000a6500 ldr r1, [pc, 0xd0]                                            |     r1 = *(0xa65d4);
    0x000a6504 ldrb r2, [r3, r7]                                             |     r2 = *((r3 + r7));
    0x000a6508 ldr r3, [r5, 0x30]                                            |     r3 = *((r5 + 0x30));
    0x000a650c add r7, r7, 1                                                 |     r7++;
    0x000a6510 cmp r7, r3                                                    |     
                                                                             |     if (r7 != r3) {
    0x000a6514 moveq r3, sl                                                  |         r3 = sl;
                                                                             |     }
                                                                             |     if (r7 == r3) {
    0x000a6518 movne r3, fp                                                  |         r3 = fp;
                                                                             |     }
    0x000a651c add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a6520 mov r0, r4                                                    |     r0 = r4;
    0x000a6524 bl 0x6bbc4                                                    |     r0 = BIO_printf ()
    0x000a6528 cmp r0, 0                                                     |     
                                                                             |     if (r0 > 0) {
    0x000a652c bgt 0xa64b8                                                   |         goto label_6;
                                                                             |     }
    0x000a6530 b 0xa62f0                                                     |     goto label_1;
                                                                             | label_23:
    0x000a6534 mov r1, sb                                                    |     r1 = sb;
    0x000a6538 mov r0, r4                                                    |     r0 = r4;
    0x000a653c bl 0x6e860                                                    |     r0 = BIO_puts ();
    0x000a6540 cmp r0, 0                                                     |     
                                                                             |     if (r0 <= 0) {
    0x000a6544 ble 0xa62f0                                                   |         goto label_1;
                                                                             |     }
    0x000a6548 mov r2, 0x80                                                  |     r2 = 0x80;
    0x000a654c add r1, r8, 8                                                 |     r1 = r8 + 8;
    0x000a6550 mov r0, r4                                                    |     r0 = r4;
    0x000a6554 bl 0x6eb94                                                    |     r0 = BIO_indent ();
    0x000a6558 cmp r0, 0                                                     |     
                                                                             |     if (r0 != 0) {
    0x000a655c bne 0xa64fc                                                   |         goto label_7;
                                                                             |     }
    0x000a6560 b 0xa62f0                                                     |     goto label_1;
                                                                             | label_20:
    0x000a6564 ldr r1, [pc, 0x70]                                            |     r1 = *(0xa65d8);
    0x000a6568 str r6, [sp]                                                  |     *(sp) = r6;
    0x000a656c mov r3, 0                                                     |     r3 = 0;
    0x000a6570 add r1, pc, r1                                                |     r1 = pc + r1;
    0x000a6574 mov r0, r4                                                    |     r0 = r4;
    0x000a6578 bl 0x61578                                                    |     r0 = ASN1_bn_print ();
    0x000a657c cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x000a6580 beq 0xa62f0                                                   |         goto label_1;
                                                                             |     }
    0x000a6584 b 0xa63f0                                                     |     goto label_8;
                                                                             | label_12:
    0x000a6588 mov r2, 0x43                                                  |     r2 = 0x43;
    0x000a658c b 0xa62f4                                                     |     goto label_9;
    0x000a77b8 mov r3, 0                                                     |     r3 = 0;
    0x000a77bc mov r2, 4                                                     |     r2 = 4;
    0x000a77c0 b 0xa6238                                                     |     goto label_10;
                                                                             | }
    ; 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/libcrypto.so.1.1 @ 0xa9d38 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.DHparams_print_fp ()                 | void DHparams_print_fp (int32_t arg1, int32_t arg2) {
                                                     |     int32_t var_0h;
                                                     |     int32_t var_8h;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x000a9d38 push {r0, r1, r4, r5, r6, lr}         |     
    0x000a9d3c mov r5, r1                            |     r5 = r1;
    0x000a9d40 mov r6, r0                            |     r6 = r0;
    0x000a9d44 bl 0x7270c                            |     BIO_s_file ();
    0x000a9d48 bl 0x6e4f0                            |     r0 = BIO_new ();
    0x000a9d4c subs r4, r0, 0                        |     r4 = r0 - 0;
                                                     |     if (r4 != r0) {
    0x000a9d50 bne 0xa9d84                           |         goto label_0;
                                                     |     }
    0x000a9d54 mov r3, 0x16                          |     r3 = 0x16;
    0x000a9d58 str r3, [sp]                          |     *(sp) = r3;
    0x000a9d5c ldr r3, [pc, 0x4c]                    |     r3 = *(0xa9dac);
    0x000a9d60 mov r2, 7                             |     r2 = 7;
    0x000a9d64 add r3, pc, r3                        |     r3 = pc + r3;
    0x000a9d68 mov r1, 0x65                          |     r1 = 0x65;
    0x000a9d6c mov r0, 5                             |     r0 = 5;
    0x000a9d70 bl 0xfc7b8                            |     ERR_put_error ();
    0x000a9d74 mov r5, r4                            |     r5 = r4;
                                                     |     do {
    0x000a9d78 mov r0, r5                            |         r0 = r5;
    0x000a9d7c add sp, sp, 8                         |         
    0x000a9d80 pop {r4, r5, r6, pc}                  |         
                                                     | label_0:
    0x000a9d84 mov r3, r6                            |         r3 = r6;
    0x000a9d88 mov r2, 0                             |         r2 = 0;
    0x000a9d8c mov r1, 0x6a                          |         r1 = 0x6a;
    0x000a9d90 bl 0x6ebe8                            |         BIO_ctrl ();
    0x000a9d94 mov r1, r5                            |         r1 = r5;
    0x000a9d98 mov r0, r4                            |         r0 = r4;
    0x000a9d9c bl 0xa77b8                            |         r0 = DHparams_print ();
    0x000a9da0 mov r5, r0                            |         r5 = r0;
    0x000a9da4 mov r0, r4                            |         r0 = r4;
    0x000a9da8 bl 0x6e63c                            |         BIO_free ();
    0x000a9dac b 0xa9d78                             |         
                                                     |     } 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/libcrypto.so.1.1 @ 0xc8818 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.ECPKParameters_print ()                          | void ECPKParameters_print (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_18h;
                                                                 |     int32_t var_1ch;
                                                                 |     int32_t var_20h;
                                                                 |     int32_t var_24h;
                                                                 |     void * s;
                                                                 |     void * var_29h;
                                                                 |     int32_t var_b0h;
                                                                 |     int32_t var_b4h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x000c8818 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x000c881c subs sl, r1, 0                                    |     sl = r1 - 0;
    0x000c8820 sub sp, sp, 0xb4                                  |     
                                                                 |     if (sl == r1) {
    0x000c8824 beq 0xc8d10                                       |         goto label_8;
                                                                 |     }
    0x000c8828 mov r5, r0                                        |     r5 = r0;
    0x000c882c mov sb, r2                                        |     sb = r2;
    0x000c8830 bl 0x7e72c                                        |     r0 = BN_CTX_new ();
    0x000c8834 subs fp, r0, 0                                    |     
                                                                 |     if (fp == r0) {
    0x000c8838 beq 0xc8d7c                                       |         goto label_9;
                                                                 |     }
    0x000c883c mov r0, sl                                        |     r0 = sl;
    0x000c8840 bl 0xc2ef4                                        |     r0 = EC_GROUP_get_asn1_flag ();
    0x000c8844 subs r3, r0, 0                                    |     r3 = r0 - 0;
    0x000c8848 str r3, [sp, 0xc]                                 |     var_ch = r3;
                                                                 |     if (r3 != r0) {
    0x000c884c beq 0xc890c                                       |         
    0x000c8850 mov r2, 0x80                                      |         r2 = 0x80;
    0x000c8854 mov r1, sb                                        |         r1 = sb;
    0x000c8858 mov r0, r5                                        |         r0 = r5;
    0x000c885c bl 0x6eb94                                        |         r0 = BIO_indent ();
    0x000c8860 subs r4, r0, 0                                    |         r4 = r0 - 0;
                                                                 |         if (r4 == r0) {
    0x000c8864 beq 0xc8d98                                       |             goto label_10;
                                                                 |         }
    0x000c8868 mov r0, sl                                        |         r0 = sl;
    0x000c886c bl 0xc2ee4                                        |         r0 = EC_GROUP_get_curve_name ();
    0x000c8870 subs r4, r0, 0                                    |         r4 = r0 - 0;
                                                                 |         if (r4 == r0) {
    0x000c8874 beq 0xc8d98                                       |             goto label_10;
                                                                 |         }
    0x000c8878 bl 0x1205a4                                       |         OBJ_nid2sn ();
    0x000c887c ldr r1, [pc, 0x564]                               |         r1 = *(0xc8de4);
    0x000c8880 add r1, pc, r1                                    |         r1 = pc + r1;
    0x000c8884 mov r2, r0                                        |         r2 = r0;
    0x000c8888 mov r0, r5                                        |         r0 = r5;
    0x000c888c bl 0x6bbc4                                        |         r0 = BIO_printf ()
    0x000c8890 cmp r0, 0                                         |         
                                                                 |         if (r0 <= 0) {
    0x000c8894 ble 0xc8d94                                       |             goto label_11;
                                                                 |         }
    0x000c8898 ldr r1, [pc, 0x54c]                               |         r1 = *(0xc8de8);
    0x000c889c mov r0, r5                                        |         r0 = r5;
    0x000c88a0 add r1, pc, r1                                    |         r1 = pc + r1;
    0x000c88a4 bl 0x6bbc4                                        |         r0 = BIO_printf ()
    0x000c88a8 cmp r0, 0                                         |         
                                                                 |         if (r0 <= 0) {
    0x000c88ac ble 0xc8d94                                       |             goto label_11;
                                                                 |         }
    0x000c88b0 mov r0, r4                                        |         r0 = r4;
    0x000c88b4 bl 0xc1654                                        |         r0 = EC_curve_nid2nist ();
    0x000c88b8 subs r4, r0, 0                                    |         r4 = r0 - 0;
                                                                 |         if (r4 == r0) {
    0x000c88bc beq 0xc8dd8                                       |             goto label_12;
                                                                 |         }
    0x000c88c0 mov r2, 0x80                                      |         r2 = 0x80;
    0x000c88c4 mov r1, sb                                        |         r1 = sb;
    0x000c88c8 mov r0, r5                                        |         r0 = r5;
    0x000c88cc bl 0x6eb94                                        |         r0 = BIO_indent ();
    0x000c88d0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x000c88d4 moveq r4, r0                                      |             r4 = r0;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x000c88d8 beq 0xc8d98                                       |             goto label_10;
                                                                 |         }
    0x000c88dc ldr r1, [pc, 0x50c]                               |         r1 = *(0xc8dec);
    0x000c88e0 mov r2, r4                                        |         r2 = r4;
    0x000c88e4 add r1, pc, r1                                    |         r1 = pc + r1;
    0x000c88e8 mov r0, r5                                        |         r0 = r5;
    0x000c88ec bl 0x6bbc4                                        |         BIO_printf ()
    0x000c88f0 mov r4, 0                                         |         r4 = 0;
    0x000c88f4 mov r8, r4                                        |         r8 = r4;
    0x000c88f8 mov r7, r4                                        |         r7 = r4;
    0x000c88fc mov r6, r4                                        |         r6 = r4;
                                                                 | label_3:
    0x000c8900 cmp r0, 0                                         |         
                                                                 |         if (r0 > 0) {
    0x000c8904 bgt 0xc8b58                                       |             goto label_7;
                                                                 |         }
    0x000c8908 b 0xc8bc8                                         |         goto label_2;
                                                                 |     }
    0x000c890c mov r0, sl                                        |     r0 = sl;
    0x000c8910 bl 0xc2e20                                        |     EC_GROUP_method_of ();
    0x000c8914 bl 0xc2e28                                        |     EC_METHOD_get_field_type ();
    0x000c8918 str r0, [sp, 0x20]                                |     var_20h = r0;
    0x000c891c bl 0x83ba0                                        |     r0 = BN_new ();
    0x000c8920 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 == r0) {
    0x000c8924 beq 0xc8da8                                       |         goto label_13;
                                                                 |     }
    0x000c8928 bl 0x83ba0                                        |     r0 = BN_new ();
    0x000c892c subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 == r0) {
    0x000c8930 beq 0xc8db8                                       |         goto label_14;
                                                                 |     }
    0x000c8934 bl 0x83ba0                                        |     r0 = BN_new ();
    0x000c8938 subs r8, r0, 0                                    |     r8 = r0 - 0;
                                                                 |     if (r8 == r0) {
    0x000c893c beq 0xc8dc4                                       |         goto label_15;
                                                                 |     }
    0x000c8940 str fp, [sp]                                      |     *(sp) = fp;
    0x000c8944 mov r3, r8                                        |     r3 = r8;
    0x000c8948 mov r2, r7                                        |     r2 = r7;
    0x000c894c mov r1, r6                                        |     r1 = r6;
    0x000c8950 mov r0, sl                                        |     r0 = sl;
    0x000c8954 bl 0xc302c                                        |     r0 = EC_GROUP_get_curve ();
    0x000c8958 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 == r0) {
    0x000c895c beq 0xc8dd0                                       |         goto label_16;
                                                                 |     }
    0x000c8960 mov r0, sl                                        |     r0 = sl;
    0x000c8964 bl 0xc2e30                                        |     r0 = EC_GROUP_get0_generator ();
    0x000c8968 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 == r0) {
    0x000c896c beq 0xc8dd0                                       |         goto label_16;
                                                                 |     }
    0x000c8970 mov r0, sl                                        |     r0 = sl;
    0x000c8974 bl 0xc2e80                                        |     EC_GROUP_get0_order ();
    0x000c8978 str r0, [sp, 0x14]                                |     var_14h = r0;
    0x000c897c mov r0, sl                                        |     r0 = sl;
    0x000c8980 bl 0xc2ed4                                        |     EC_GROUP_get0_cofactor ();
    0x000c8984 ldr r3, [sp, 0x14]                                |     r3 = var_14h;
    0x000c8988 cmp r3, 0                                         |     
    0x000c898c str r0, [sp, 0x24]                                |     var_24h = r0;
                                                                 |     if (r3 == 0) {
    0x000c8990 beq 0xc8dcc                                       |         goto label_17;
                                                                 |     }
    0x000c8994 mov r0, sl                                        |     r0 = sl;
    0x000c8998 bl 0xc2f04                                        |     EC_GROUP_get_point_conversion_form ();
    0x000c899c mov r1, r4                                        |     r1 = r4;
    0x000c89a0 str fp, [sp]                                      |     *(sp) = fp;
    0x000c89a4 ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x000c89a8 str r0, [sp, 0x18]                                |     var_18h = r0;
    0x000c89ac mov r2, r0                                        |     r2 = r0;
    0x000c89b0 mov r0, sl                                        |     r0 = sl;
    0x000c89b4 bl 0xc70a4                                        |     r0 = EC_POINT_point2bn ();
    0x000c89b8 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 == r0) {
    0x000c89bc beq 0xc8dd0                                       |         goto label_16;
                                                                 |     }
    0x000c89c0 mov r0, sl                                        |     r0 = sl;
    0x000c89c4 bl 0xc2fc4                                        |     r0 = EC_GROUP_get0_seed ();
    0x000c89c8 subs r3, r0, 0                                    |     r3 = r0 - 0;
    0x000c89cc str r3, [sp, 0x1c]                                |     var_1ch = r3;
                                                                 |     if (r3 != r0) {
    0x000c89d0 ldreq r3, [sp, 0x1c]                              |         r3 = var_1ch;
                                                                 |     }
                                                                 |     if (r3 != r0) {
    0x000c89d4 streq r3, [sp, 0x10]                              |         var_10h = r3;
                                                                 |     }
                                                                 |     if (r3 != r0) {
    0x000c89d8 beq 0xc89e8                                       |         
    0x000c89dc mov r0, sl                                        |         r0 = sl;
    0x000c89e0 bl 0xc2fcc                                        |         EC_GROUP_get_seed_len ();
    0x000c89e4 str r0, [sp, 0x10]                                |         var_10h = r0;
                                                                 |     }
    0x000c89e8 mov r2, 0x80                                      |     r2 = 0x80;
    0x000c89ec mov r1, sb                                        |     r1 = sb;
    0x000c89f0 mov r0, r5                                        |     r0 = r5;
    0x000c89f4 bl 0x6eb94                                        |     r0 = BIO_indent ();
    0x000c89f8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000c89fc beq 0xc8bc8                                       |         goto label_2;
                                                                 |     }
    0x000c8a00 ldr r0, [sp, 0x20]                                |     r0 = var_20h;
    0x000c8a04 bl 0x1205a4                                       |     OBJ_nid2sn ();
    0x000c8a08 ldr r1, [pc, 0x3e4]                               |     r1 = *(0xc8df0);
    0x000c8a0c add r1, pc, r1                                    |     r1 = pc + r1;
    0x000c8a10 mov r2, r0                                        |     r2 = r0;
    0x000c8a14 mov r0, r5                                        |     r0 = r5;
    0x000c8a18 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x000c8a1c cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x000c8a20 ble 0xc8bc8                                       |         goto label_2;
                                                                 |     }
    0x000c8a24 ldr r3, [pc, 0x3cc]                               |     r3 = *(0xc8df4);
    0x000c8a28 ldr r2, [sp, 0x20]                                |     r2 = var_20h;
    0x000c8a2c cmp r2, r3                                        |     
                                                                 |     if (r2 != r3) {
    0x000c8a30 bne 0xc8b60                                       |         goto label_18;
                                                                 |     }
    0x000c8a34 mov r0, sl                                        |     r0 = sl;
    0x000c8a38 bl 0xbee18                                        |     r0 = EC_GROUP_get_basis_type ();
    0x000c8a3c subs sl, r0, 0                                    |     sl = r0 - 0;
                                                                 |     if (sl == r0) {
    0x000c8a40 beq 0xc8bc8                                       |         goto label_2;
                                                                 |     }
    0x000c8a44 mov r2, 0x80                                      |     r2 = 0x80;
    0x000c8a48 mov r1, sb                                        |     r1 = sb;
    0x000c8a4c mov r0, r5                                        |     r0 = r5;
    0x000c8a50 bl 0x6eb94                                        |     r0 = BIO_indent ();
    0x000c8a54 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000c8a58 beq 0xc8bc8                                       |         goto label_2;
                                                                 |     }
    0x000c8a5c mov r0, sl                                        |     r0 = sl;
    0x000c8a60 bl 0x1205a4                                       |     OBJ_nid2sn ();
    0x000c8a64 ldr r1, [pc, 0x390]                               |     r1 = *(0xc8df8);
    0x000c8a68 add r1, pc, r1                                    |     r1 = pc + r1;
    0x000c8a6c mov r2, r0                                        |     r2 = r0;
    0x000c8a70 mov r0, r5                                        |     r0 = r5;
    0x000c8a74 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x000c8a78 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x000c8a7c ble 0xc8bc8                                       |         goto label_2;
                                                                 |     }
    0x000c8a80 ldr r1, [pc, 0x378]                               |     r1 = *(0xc8dfc);
    0x000c8a84 mov r3, 0                                         |     r3 = 0;
    0x000c8a88 mov r2, r6                                        |     r2 = r6;
    0x000c8a8c add r1, pc, r1                                    |     r1 = pc + r1;
    0x000c8a90 str sb, [sp]                                      |     *(sp) = sb;
                                                                 |     do {
    0x000c8a94 mov r0, r5                                        |         r0 = r5;
    0x000c8a98 bl 0x61578                                        |         r0 = ASN1_bn_print ();
    0x000c8a9c cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x000c8aa0 beq 0xc8bc8                                       |             goto label_2;
                                                                 |         }
    0x000c8aa4 ldr r1, [pc, 0x358]                               |         r1 = *(0xc8e00);
    0x000c8aa8 str sb, [sp]                                      |         *(sp) = sb;
    0x000c8aac mov r3, 0                                         |         r3 = 0;
    0x000c8ab0 mov r2, r7                                        |         r2 = r7;
    0x000c8ab4 add r1, pc, r1                                    |         r1 = pc + r1;
    0x000c8ab8 mov r0, r5                                        |         r0 = r5;
    0x000c8abc bl 0x61578                                        |         r0 = ASN1_bn_print ();
    0x000c8ac0 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x000c8ac4 beq 0xc8bc8                                       |             goto label_2;
                                                                 |         }
    0x000c8ac8 ldr r1, [pc, 0x338]                               |         r1 = *(0xc8e04);
    0x000c8acc str sb, [sp]                                      |         *(sp) = sb;
    0x000c8ad0 mov r3, 0                                         |         r3 = 0;
    0x000c8ad4 mov r2, r8                                        |         r2 = r8;
    0x000c8ad8 add r1, pc, r1                                    |         r1 = pc + r1;
    0x000c8adc mov r0, r5                                        |         r0 = r5;
    0x000c8ae0 bl 0x61578                                        |         r0 = ASN1_bn_print ();
    0x000c8ae4 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x000c8ae8 beq 0xc8bc8                                       |             goto label_2;
                                                                 |         }
    0x000c8aec ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x000c8af0 cmp r3, 2                                         |         
                                                                 |         if (r3 != 2) {
    0x000c8af4 bne 0xc8b78                                       |             goto label_19;
                                                                 |         }
    0x000c8af8 ldr r1, [pc, 0x30c]                               |         r1 = *(0xc8e08);
    0x000c8afc mov r3, 0                                         |         r3 = 0;
    0x000c8b00 mov r2, r4                                        |         r2 = r4;
    0x000c8b04 add r1, pc, r1                                    |         r1 = pc + r1;
    0x000c8b08 str sb, [sp]                                      |         *(sp) = sb;
                                                                 | label_0:
    0x000c8b0c mov r0, r5                                        |         r0 = r5;
    0x000c8b10 bl 0x61578                                        |         r0 = ASN1_bn_print ();
    0x000c8b14 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x000c8b18 beq 0xc8bc8                                       |             goto label_2;
                                                                 |         }
    0x000c8b1c ldr r1, [pc, 0x2ec]                               |         r1 = *(0xc8e0c);
    0x000c8b20 str sb, [sp]                                      |         *(sp) = sb;
    0x000c8b24 mov r3, 0                                         |         r3 = 0;
    0x000c8b28 ldr r2, [sp, 0x14]                                |         r2 = var_14h;
    0x000c8b2c add r1, pc, r1                                    |         r1 = pc + r1;
    0x000c8b30 mov r0, r5                                        |         r0 = r5;
    0x000c8b34 bl 0x61578                                        |         r0 = ASN1_bn_print ();
    0x000c8b38 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x000c8b3c beq 0xc8bc8                                       |             goto label_2;
                                                                 |         }
    0x000c8b40 ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x000c8b44 cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x000c8b48 bne 0xc8ba4                                       |             goto label_20;
                                                                 |         }
                                                                 | label_1:
    0x000c8b4c ldr r3, [sp, 0x1c]                                |         r3 = var_1ch;
    0x000c8b50 cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x000c8b54 bne 0xc8bd0                                       |             goto label_21;
                                                                 |         }
                                                                 | label_7:
    0x000c8b58 mov r5, 1                                         |         r5 = 1;
    0x000c8b5c b 0xc8d48                                         |         goto label_22;
                                                                 | label_18:
    0x000c8b60 ldr r1, [pc, 0x2ac]                               |         r1 = *(0xc8e10);
    0x000c8b64 str sb, [sp]                                      |         *(sp) = sb;
    0x000c8b68 mov r3, 0                                         |         r3 = 0;
    0x000c8b6c mov r2, r6                                        |         r2 = r6;
    0x000c8b70 add r1, pc, r1                                    |         r1 = pc + r1;
    0x000c8b74 b 0xc8a94                                         |         
                                                                 |     } while (1);
                                                                 | label_19:
    0x000c8b78 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x000c8b7c str sb, [sp]                                      |     *(sp) = sb;
    0x000c8b80 cmp r3, 4                                         |     
    0x000c8b84 mov r2, r4                                        |     r2 = r4;
    0x000c8b88 mov r3, 0                                         |     r3 = 0;
                                                                 |     if (r3 != 4) {
    0x000c8b8c ldreq r1, [pc, 0x284]                             |         r1 = *((pc + 0x284));
                                                                 |     }
                                                                 |     if (r3 == 4) {
    0x000c8b90 addeq r1, pc, r1                                  |         r1 = pc + r1;
                                                                 |         goto label_23;
                                                                 |     }
                                                                 |     if (r3 == 4) {
                                                                 | label_23:
    0x000c8b94 beq 0xc8b0c                                       |         goto label_0;
                                                                 |     }
    0x000c8b98 ldr r1, [pc, 0x27c]                               |     r1 = *(0xc8e18);
    0x000c8b9c add r1, pc, r1                                    |     r1 = pc + r1;
    0x000c8ba0 b 0xc8b0c                                         |     goto label_0;
                                                                 | label_20:
    0x000c8ba4 ldr r1, [pc, 0x274]                               |     r1 = *(0xc8e1c);
    0x000c8ba8 str sb, [sp]                                      |     *(sp) = sb;
    0x000c8bac mov r3, 0                                         |     r3 = 0;
    0x000c8bb0 ldr r2, [sp, 0x24]                                |     r2 = var_24h;
    0x000c8bb4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x000c8bb8 mov r0, r5                                        |     r0 = r5;
    0x000c8bbc bl 0x61578                                        |     r0 = ASN1_bn_print ();
    0x000c8bc0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000c8bc4 bne 0xc8b4c                                       |         goto label_1;
                                                                 |     }
                                                                 |     do {
                                                                 | label_2:
    0x000c8bc8 mov r2, 0x20                                      |         r2 = 0x20;
    0x000c8bcc b 0xc8d28                                         |         goto label_6;
                                                                 | label_21:
    0x000c8bd0 cmp sb, 0                                         |         
                                                                 |         if (sb <= 0) {
    0x000c8bd4 ble 0xc8c14                                       |             goto label_24;
                                                                 |         }
    0x000c8bd8 cmp sb, 0x80                                      |         
                                                                 |         if (sb >= 0x80) {
    0x000c8bdc movlt r3, sb                                      |             r3 = sb;
                                                                 |         }
                                                                 |         if (sb < 0x80) {
    0x000c8be0 movge r3, 0x80                                    |             r3 = 0x80;
                                                                 |         }
    0x000c8be4 mov r2, r3                                        |         r2 = r3;
    0x000c8be8 str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x000c8bec add r3, sp, 0x28                                  |         r3 += s;
    0x000c8bf0 mov r1, 0x20                                      |         r1 = 0x20;
    0x000c8bf4 mov r0, r3                                        |         r0 = r3;
    0x000c8bf8 bl 0x4f4ac                                        |         memset (r0, r1, r2);
    0x000c8bfc ldr r2, [sp, 0xc]                                 |         r2 = var_ch;
    0x000c8c00 mov r1, r0                                        |         r1 = r0;
    0x000c8c04 mov r0, r5                                        |         r0 = r5;
    0x000c8c08 bl 0x6e820                                        |         r0 = BIO_write ();
    0x000c8c0c cmp r0, 0                                         |         
    0x000c8c10 ble 0xc8bc8                                       |         
                                                                 |     } while (r0 <= 0);
                                                                 | label_24:
    0x000c8c14 ldr r2, [pc, 0x208]                               |     r2 = *(0xc8e20);
    0x000c8c18 ldr r1, [pc, 0x208]                               |     r1 = *(0xc8e24);
    0x000c8c1c add r2, pc, r2                                    |     r2 = pc + r2;
    0x000c8c20 add r1, pc, r1                                    |     r1 = pc + r1;
    0x000c8c24 mov r0, r5                                        |     r0 = r5;
    0x000c8c28 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x000c8c2c cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x000c8c30 ble 0xc8bc8                                       |         goto label_2;
                                                                 |     }
    0x000c8c34 ldr r3, [pc, 0x1f0]                               |     r3 = *(0xc8e28);
    0x000c8c38 ldr sl, [pc, 0x1f0]                               |     sl = *(0xc8e2c);
    0x000c8c3c add r3, pc, r3                                    |     r3 = pc + r3;
    0x000c8c40 str r3, [sp, 0x14]                                |     var_14h = r3;
    0x000c8c44 ldr r3, [pc, 0x1e8]                               |     r3 = *(0xc8e30);
    0x000c8c48 mov sb, 0                                         |     sb = 0;
    0x000c8c4c add r3, pc, r3                                    |     r3 = pc + r3;
    0x000c8c50 add sl, pc, sl                                    |     sl = pc + sl;
    0x000c8c54 str r3, [sp, 0x18]                                |     var_18h = r3;
                                                                 |     do {
    0x000c8c58 ldr r3, [sp, 0x10]                                |         r3 = var_10h;
    0x000c8c5c cmp r3, sb                                        |         
                                                                 |         if (r3 == sb) {
    0x000c8c60 bne 0xc8c7c                                       |             
    0x000c8c64 ldr r1, [pc, 0x1cc]                               |             r1 = *(0xc8e34);
    0x000c8c68 mov r2, 1                                         |             r2 = 1;
    0x000c8c6c add r1, pc, r1                                    |             r1 = pc + r1;
    0x000c8c70 mov r0, r5                                        |             r0 = r5;
    0x000c8c74 bl 0x6e820                                        |             BIO_write ();
    0x000c8c78 b 0xc8900                                         |             goto label_3;
                                                                 |         }
    0x000c8c7c mov r1, 0xf                                       |         r1 = 0xf;
    0x000c8c80 mov r0, sb                                        |         r0 = sb;
    0x000c8c84 bl 0x18315c                                       |         fcn_0018315c (r0, r1);
    0x000c8c88 cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x000c8c8c beq 0xc8cc4                                       |             goto label_25;
                                                                 |         }
                                                                 | label_4:
    0x000c8c90 ldr r3, [sp, 0x1c]                                |         r3 = var_1ch;
    0x000c8c94 ldr r1, [sp, 0x18]                                |         r1 = var_18h;
    0x000c8c98 ldrb r2, [r3, sb]                                 |         r2 = *((r3 + sb));
    0x000c8c9c ldr r3, [sp, 0x10]                                |         r3 = var_10h;
    0x000c8ca0 add sb, sb, 1                                     |         sb++;
    0x000c8ca4 cmp r3, sb                                        |         
    0x000c8ca8 mov r0, r5                                        |         r0 = r5;
    0x000c8cac ldr r3, [sp, 0x14]                                |         r3 = var_14h;
                                                                 |         if (r3 == sb) {
    0x000c8cb0 movne r3, sl                                      |             r3 = sl;
                                                                 |         }
    0x000c8cb4 bl 0x6bbc4                                        |         r0 = BIO_printf ()
    0x000c8cb8 cmp r0, 0                                         |         
    0x000c8cbc bgt 0xc8c58                                       |         
                                                                 |     } while (r0 > 0);
    0x000c8cc0 b 0xc8bc8                                         |     goto label_2;
                                                                 | label_25:
    0x000c8cc4 add r3, sp, 0xb0                                  |     r3 += var_b0h;
    0x000c8cc8 mov r2, 0xa                                       |     r2 = 0xa;
    0x000c8ccc strb r2, [r3, -0x88]!                             |     *((r3 -= 0x88)) = r2;
    0x000c8cd0 str r3, [sp, 0x20]                                |     var_20h = r3;
    0x000c8cd4 str r3, [sp, 0x24]                                |     var_24h = r3;
    0x000c8cd8 ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x000c8cdc mov r1, 0x20                                      |     r1 = 0x20;
    0x000c8ce0 add r2, r3, 4                                     |     r2 = r3 + 4;
    0x000c8ce4 add r0, sp, 0x29                                  |     r0 += var_29h;
    0x000c8ce8 bl 0x4f4ac                                        |     memset (r0, r1, r2);
    0x000c8cec ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x000c8cf0 mov r0, r5                                        |     r0 = r5;
    0x000c8cf4 add r2, r3, 5                                     |     r2 = r3 + 5;
    0x000c8cf8 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x000c8cfc mov r1, r3                                        |     r1 = r3;
    0x000c8d00 bl 0x6e820                                        |     r0 = BIO_write ();
    0x000c8d04 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x000c8d08 bgt 0xc8c90                                       |         goto label_4;
                                                                 |     }
    0x000c8d0c b 0xc8bc8                                         |     goto label_2;
                                                                 | label_8:
    0x000c8d10 mov r4, sl                                        |     r4 = sl;
    0x000c8d14 mov r8, sl                                        |     r8 = sl;
    0x000c8d18 mov r7, sl                                        |     r7 = sl;
    0x000c8d1c mov r6, sl                                        |     r6 = sl;
    0x000c8d20 mov fp, sl                                        |     
    0x000c8d24 mov r2, 0x43                                      |     r2 = 0x43;
                                                                 |     do {
                                                                 | label_6:
    0x000c8d28 mov r3, 0xd6                                      |         r3 = 0xd6;
    0x000c8d2c str r3, [sp]                                      |         *(sp) = r3;
    0x000c8d30 ldr r3, [pc, 0x104]                               |         r3 = *(0xc8e38);
    0x000c8d34 mov r1, 0x95                                      |         r1 = 0x95;
    0x000c8d38 add r3, pc, r3                                    |         r3 = pc + r3;
    0x000c8d3c mov r0, 0x10                                      |         r0 = 0x10;
    0x000c8d40 bl 0xfc7b8                                        |         ERR_put_error ();
    0x000c8d44 mov r5, 0                                         |         r5 = 0;
                                                                 | label_22:
    0x000c8d48 mov r0, r6                                        |         r0 = r6;
    0x000c8d4c bl 0x843b8                                        |         BN_free ();
    0x000c8d50 mov r0, r7                                        |         r0 = r7;
    0x000c8d54 bl 0x843b8                                        |         BN_free ();
    0x000c8d58 mov r0, r8                                        |         r0 = r8;
    0x000c8d5c bl 0x843b8                                        |         BN_free ();
    0x000c8d60 mov r0, r4                                        |         r0 = r4;
    0x000c8d64 bl 0x843b8                                        |         BN_free ();
    0x000c8d68 mov r0, fp                                        |         r0 = fp;
    0x000c8d6c bl 0x7e7bc                                        |         BN_CTX_free ();
    0x000c8d70 mov r0, r5                                        |         r0 = r5;
    0x000c8d74 add sp, sp, 0xb4                                  |         
    0x000c8d78 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_9:
    0x000c8d7c mov r4, fp                                        |         r4 = fp;
    0x000c8d80 mov r8, fp                                        |         r8 = fp;
    0x000c8d84 mov r7, fp                                        |         r7 = fp;
    0x000c8d88 mov r6, fp                                        |         r6 = fp;
                                                                 | label_5:
    0x000c8d8c mov r2, 0x41                                      |         r2 = 0x41;
    0x000c8d90 b 0xc8d28                                         |         
                                                                 |     } while (1);
                                                                 | label_11:
    0x000c8d94 mov r4, 0                                         |     r4 = 0;
                                                                 | label_10:
    0x000c8d98 mov r8, r4                                        |     r8 = r4;
    0x000c8d9c mov r7, r4                                        |     r7 = r4;
    0x000c8da0 mov r6, r4                                        |     r6 = r4;
    0x000c8da4 b 0xc8bc8                                         |     goto label_2;
                                                                 | label_13:
    0x000c8da8 mov r4, r6                                        |     r4 = r6;
    0x000c8dac mov r8, r6                                        |     r8 = r6;
    0x000c8db0 mov r7, r6                                        |     r7 = r6;
    0x000c8db4 b 0xc8d8c                                         |     goto label_5;
                                                                 | label_14:
    0x000c8db8 mov r4, r7                                        |     r4 = r7;
    0x000c8dbc mov r8, r7                                        |     r8 = r7;
    0x000c8dc0 b 0xc8d8c                                         |     goto label_5;
                                                                 | label_15:
    0x000c8dc4 mov r4, r8                                        |     r4 = r8;
    0x000c8dc8 b 0xc8d8c                                         |     goto label_5;
                                                                 | label_17:
    0x000c8dcc ldr r4, [sp, 0x14]                                |     r4 = var_14h;
                                                                 | label_16:
    0x000c8dd0 mov r2, 0x10                                      |     r2 = 0x10;
    0x000c8dd4 b 0xc8d28                                         |     goto label_6;
                                                                 | label_12:
    0x000c8dd8 mov r8, r4                                        |     r8 = r4;
    0x000c8ddc mov r7, r4                                        |     r7 = r4;
    0x000c8de0 mov r6, r4                                        |     r6 = r4;
    0x000c8de4 b 0xc8b58                                         |     goto label_7;
                                                                 | }
    ; 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/libcrypto.so.1.1 @ 0xc8e40 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.ECPKParameters_print_fp ()                   | void ECPKParameters_print_fp (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000c8e40 push {r0, r1, r2, r4, r5, r6, r7, lr}         |     
    0x000c8e44 mov r5, r1                                    |     r5 = r1;
    0x000c8e48 mov r6, r2                                    |     r6 = r2;
    0x000c8e4c mov r7, r0                                    |     r7 = r0;
    0x000c8e50 bl 0x7270c                                    |     BIO_s_file ();
    0x000c8e54 bl 0x6e4f0                                    |     r0 = BIO_new ();
    0x000c8e58 subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 != r0) {
    0x000c8e5c bne 0xc8e90                                   |         goto label_0;
                                                             |     }
    0x000c8e60 mov r3, 0x18                                  |     r3 = 0x18;
    0x000c8e64 str r3, [sp]                                  |     *(sp) = r3;
    0x000c8e68 ldr r3, [pc, 0x50]                            |     r3 = *(0xc8ebc);
    0x000c8e6c mov r2, 7                                     |     r2 = 7;
    0x000c8e70 add r3, pc, r3                                |     r3 = pc + r3;
    0x000c8e74 mov r1, 0x96                                  |     r1 = 0x96;
    0x000c8e78 mov r0, 0x10                                  |     r0 = 0x10;
    0x000c8e7c bl 0xfc7b8                                    |     ERR_put_error ();
    0x000c8e80 mov r5, r4                                    |     r5 = r4;
                                                             |     do {
    0x000c8e84 mov r0, r5                                    |         r0 = r5;
    0x000c8e88 add sp, sp, 0xc                               |         
    0x000c8e8c pop {r4, r5, r6, r7, pc}                      |         
                                                             | label_0:
    0x000c8e90 mov r3, r7                                    |         r3 = r7;
    0x000c8e94 mov r2, 0                                     |         r2 = 0;
    0x000c8e98 mov r1, 0x6a                                  |         r1 = 0x6a;
    0x000c8e9c bl 0x6ebe8                                    |         BIO_ctrl ();
    0x000c8ea0 mov r1, r5                                    |         r1 = r5;
    0x000c8ea4 mov r2, r6                                    |         r2 = r6;
    0x000c8ea8 mov r0, r4                                    |         r0 = r4;
    0x000c8eac bl 0xc8818                                    |         r0 = ECPKParameters_print ();
    0x000c8eb0 mov r5, r0                                    |         r5 = r0;
    0x000c8eb4 mov r0, r4                                    |         r0 = r4;
    0x000c8eb8 bl 0x6e63c                                    |         BIO_free ();
    0x000c8ebc b 0xc8e84                                     |         
                                                             |     } 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/libcrypto.so.1.1 @ 0xbedd8 */
                                                                             | #include <stdint.h>
                                                                             |  
    ; (fcn) sym.EC_KEY_print ()                                              | void EC_KEY_print (int32_t arg1, int32_t arg2) {
                                                                             |     int32_t var_0h;
                                                                             |     int32_t var_8h;
                                                                             |     int32_t var_ch;
                                                                             |     r0 = arg1;
                                                                             |     r1 = arg2;
                                                                             | label_6:
    0x000be2cc push {r0, r1, r2, r3, r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x000be2d0 mov sl, 0                                                     |     sl = 0;
    0x000be2d4 subs r8, r1, 0                                                |     r8 = r1 - 0;
    0x000be2d8 str sl, [sp, 8]                                               |     var_8h = sl;
    0x000be2dc str sl, [sp, 0xc]                                             |     var_ch = sl;
    0x000be2e0 bne 0xbe314                                                   |     
                                                                             |     while (sb == r0) {
    0x000be2e4 ldr r3, [pc, 0x234]                                           |         r3 = *(0xbe51c);
    0x000be2e8 mov r2, 0x43                                                  |         r2 = 0x43;
    0x000be2ec str r3, [sp]                                                  |         *(sp) = r3;
    0x000be2f0 ldr r3, [pc, 0x22c]                                           |         r3 = *(0xbe520);
    0x000be2f4 mov r1, 0xdd                                                  |         r1 = 0xdd;
    0x000be2f8 add r3, pc, r3                                                |         r3 = pc + r3;
    0x000be2fc mov r0, 0x10                                                  |         r0 = 0x10;
    0x000be300 bl 0xfc7b8                                                    |         ERR_put_error ();
    0x000be304 mov r6, 0                                                     |         r6 = 0;
                                                                             | label_1:
    0x000be308 mov r0, r6                                                    |         r0 = r6;
    0x000be30c add sp, sp, 0x10                                              |         
    0x000be310 pop {r4, r5, r6, r7, r8, sb, sl, pc}                          |         
    0x000be314 mov r6, r0                                                    |         r6 = r0;
    0x000be318 mov r0, r8                                                    |         r0 = r8;
    0x000be31c mov r7, r2                                                    |         r7 = r2;
    0x000be320 mov r4, r3                                                    |         r4 = r3;
    0x000be324 bl 0xc2068                                                    |         r0 = EC_KEY_get0_group ();
    0x000be328 subs sb, r0, 0                                                |         sb = r0 - 0;
    0x000be32c beq 0xbe2e4                                                   |         
                                                                             |     }
    0x000be330 cmp r4, 2                                                     |     
                                                                             |     if (r4 == 2) {
    0x000be334 beq 0xbe460                                                   |         goto label_7;
                                                                             |     }
    0x000be338 mov r0, r8                                                    |     r0 = r8;
    0x000be33c bl 0xc2158                                                    |     r0 = EC_KEY_get0_public_key ();
    0x000be340 subs r5, r0, 0                                                |     r5 = r0 - 0;
                                                                             |     if (r5 == r0) {
    0x000be344 beq 0xbe508                                                   |         goto label_8;
                                                                             |     }
    0x000be348 mov r0, r8                                                    |     r0 = r8;
    0x000be34c bl 0xc2370                                                    |     EC_KEY_get_conv_form ();
    0x000be350 mov r3, sl                                                    |     r3 = sl;
    0x000be354 add r2, sp, 0xc                                               |     r2 += var_ch;
    0x000be358 mov r1, r0                                                    |     r1 = r0;
    0x000be35c mov r0, r8                                                    |     r0 = r8;
    0x000be360 bl 0xc23d4                                                    |     r0 = EC_KEY_key2buf ();
    0x000be364 subs r5, r0, 0                                                |     r5 = r0 - 0;
                                                                             |     if (r5 != r0) {
    0x000be368 bne 0xbe508                                                   |         goto label_8;
                                                                             |     }
                                                                             |     do {
    0x000be36c mov r4, 0                                                     |         r4 = 0;
                                                                             | label_0:
    0x000be370 ldr r3, [pc, 0x1b0]                                           |         r3 = *(0xbe524);
    0x000be374 mov r2, 0x10                                                  |         r2 = 0x10;
    0x000be378 str r3, [sp]                                                  |         *(sp) = r3;
    0x000be37c ldr r3, [pc, 0x1a8]                                           |         r3 = *(0xbe528);
    0x000be380 mov r1, 0xdd                                                  |         r1 = 0xdd;
    0x000be384 add r3, pc, r3                                                |         r3 = pc + r3;
    0x000be388 mov r0, r2                                                    |         r0 = r2;
    0x000be38c bl 0xfc7b8                                                    |         ERR_put_error ();
    0x000be390 mov r6, 0                                                     |         r6 = 0;
    0x000be394 b 0xbe430                                                     |         goto label_9;
                                                                             | label_5:
    0x000be398 mov r0, r8                                                    |         r0 = r8;
    0x000be39c bl 0xc20bc                                                    |         r0 = EC_KEY_get0_private_key ();
    0x000be3a0 cmp r0, 0                                                     |         
                                                                             |         if (r0 == 0) {
    0x000be3a4 beq 0xbe474                                                   |             goto label_10;
                                                                             |         }
    0x000be3a8 add r1, sp, 8                                                 |         r1 += var_8h;
    0x000be3ac mov r0, r8                                                    |         r0 = r8;
    0x000be3b0 bl 0xc26b4                                                    |         r0 = EC_KEY_priv2buf ();
    0x000be3b4 subs r4, r0, 0                                                |         r4 = r0 - 0;
    0x000be3b8 beq 0xbe36c                                                   |         
                                                                             |     } while (r4 == r0);
    0x000be3bc ldr r8, [pc, 0x16c]                                           |     r8 = *(0xbe52c);
    0x000be3c0 add r8, pc, r8                                                |     r8 = pc + r8;
                                                                             | label_2:
    0x000be3c4 mov r2, 0x80                                                  |     r2 = 0x80;
    0x000be3c8 mov r1, r7                                                    |     r1 = r7;
    0x000be3cc mov r0, r6                                                    |     r0 = r6;
    0x000be3d0 bl 0x6eb94                                                    |     r0 = BIO_indent ();
    0x000be3d4 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x000be3d8 beq 0xbe370                                                   |         goto label_0;
                                                                             |     }
    0x000be3dc mov r0, sb                                                    |     r0 = sb;
    0x000be3e0 bl 0xc2e88                                                    |     EC_GROUP_order_bits ();
    0x000be3e4 ldr r1, [pc, 0x148]                                           |     r1 = *(0xbe530);
    0x000be3e8 mov r2, r8                                                    |     r2 = r8;
    0x000be3ec add r1, pc, r1                                                |     r1 = pc + r1;
    0x000be3f0 mov r3, r0                                                    |     r3 = r0;
    0x000be3f4 mov r0, r6                                                    |     r0 = r6;
    0x000be3f8 bl 0x6bbc4                                                    |     r0 = BIO_printf ()
    0x000be3fc cmp r0, 0                                                     |     
                                                                             |     if (r0 <= 0) {
    0x000be400 ble 0xbe370                                                   |         goto label_0;
                                                                             |     }
    0x000be404 cmp r4, 0                                                     |     
                                                                             |     if (r4 != 0) {
    0x000be408 bne 0xbe480                                                   |         goto label_11;
                                                                             |     }
                                                                             | label_3:
    0x000be40c cmp r5, 0                                                     |     
                                                                             |     if (r5 != 0) {
    0x000be410 bne 0xbe4c4                                                   |         goto label_12;
                                                                             |     }
                                                                             | label_4:
    0x000be414 mov r0, r6                                                    |     r0 = r6;
    0x000be418 mov r2, r7                                                    |     r2 = r7;
    0x000be41c mov r1, sb                                                    |     r1 = sb;
    0x000be420 bl 0xc8818                                                    |     r0 = ECPKParameters_print ();
    0x000be424 cmp r0, 0                                                     |     
                                                                             |     if (r0 != 0) {
    0x000be428 movne r6, 1                                                   |         r6 = 1;
                                                                             |         goto label_13;
                                                                             |     }
                                                                             |     if (r0 == 0) {
                                                                             | label_13:
    0x000be42c beq 0xbe370                                                   |         goto label_0;
                                                                             |     }
                                                                             | label_9:
    0x000be430 ldr r5, [pc, 0x100]                                           |     r5 = *(0xbe534);
    0x000be434 mov r1, r4                                                    |     r1 = r4;
    0x000be438 add r5, pc, r5                                                |     r5 = pc + r5;
    0x000be43c mov r2, r5                                                    |     r2 = r5;
    0x000be440 ldr r0, [sp, 8]                                               |     r0 = var_8h;
    0x000be444 mov r3, 0x190                                                 |     r3 = 0x190;
    0x000be448 bl 0x11866c                                                   |     CRYPTO_clear_free ();
    0x000be44c ldr r2, [pc, 0xe8]                                            |     r2 = *(0xbe538);
    0x000be450 mov r1, r5                                                    |     r1 = r5;
    0x000be454 ldr r0, [sp, 0xc]                                             |     r0 = var_ch;
    0x000be458 bl 0x11842c                                                   |     CRYPTO_free ();
    0x000be45c b 0xbe308                                                     |     goto label_1;
                                                                             | label_7:
    0x000be460 ldr r8, [pc, 0xd8]                                            |     r8 = *(0xbe53c);
    0x000be464 mov r5, sl                                                    |     r5 = sl;
    0x000be468 mov r4, sl                                                    |     r4 = sl;
    0x000be46c add r8, pc, r8                                                |     r8 = pc + r8;
    0x000be470 b 0xbe3c4                                                     |     goto label_2;
                                                                             | label_10:
    0x000be474 ldr r8, [pc, 0xc8]                                            |     r8 = *(0xbe540);
    0x000be478 add r8, pc, r8                                                |     r8 = pc + r8;
    0x000be47c b 0xbe3c4                                                     |     goto label_2;
                                                                             | label_11:
    0x000be480 ldr r3, [pc, 0xc0]                                            |     r3 = *(0xbe544);
    0x000be484 ldr r1, [pc, 0xc0]                                            |     r1 = *(0xbe548);
    0x000be488 add r3, pc, r3                                                |     r3 = pc + r3;
    0x000be48c mov r2, r7                                                    |     r2 = r7;
    0x000be490 add r1, pc, r1                                                |     r1 = pc + r1;
    0x000be494 mov r0, r6                                                    |     r0 = r6;
    0x000be498 bl 0x6bbc4                                                    |     r0 = BIO_printf ()
    0x000be49c cmp r0, 0                                                     |     
                                                                             |     if (r0 <= 0) {
    0x000be4a0 ble 0xbe370                                                   |         goto label_0;
                                                                             |     }
    0x000be4a4 add r3, r7, 4                                                 |     r3 = r7 + 4;
    0x000be4a8 mov r2, r4                                                    |     r2 = r4;
    0x000be4ac ldr r1, [sp, 8]                                               |     r1 = var_8h;
    0x000be4b0 mov r0, r6                                                    |     r0 = r6;
    0x000be4b4 bl 0x6147c                                                    |     r0 = ASN1_buf_print ();
    0x000be4b8 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x000be4bc beq 0xbe370                                                   |         goto label_0;
                                                                             |     }
    0x000be4c0 b 0xbe40c                                                     |     goto label_3;
                                                                             | label_12:
    0x000be4c4 ldr r3, [pc, 0x84]                                            |     r3 = *(0xbe54c);
    0x000be4c8 ldr r1, [pc, 0x84]                                            |     r1 = *(0xbe550);
    0x000be4cc add r3, pc, r3                                                |     r3 = pc + r3;
    0x000be4d0 mov r2, r7                                                    |     r2 = r7;
    0x000be4d4 add r1, pc, r1                                                |     r1 = pc + r1;
    0x000be4d8 mov r0, r6                                                    |     r0 = r6;
    0x000be4dc bl 0x6bbc4                                                    |     r0 = BIO_printf ()
    0x000be4e0 cmp r0, 0                                                     |     
                                                                             |     if (r0 <= 0) {
    0x000be4e4 ble 0xbe370                                                   |         goto label_0;
                                                                             |     }
    0x000be4e8 add r3, r7, 4                                                 |     r3 = r7 + 4;
    0x000be4ec mov r2, r5                                                    |     r2 = r5;
    0x000be4f0 ldr r1, [sp, 0xc]                                             |     r1 = var_ch;
    0x000be4f4 mov r0, r6                                                    |     r0 = r6;
    0x000be4f8 bl 0x6147c                                                    |     r0 = ASN1_buf_print ();
    0x000be4fc cmp r0, 0                                                     |     
                                                                             |     if (r0 != 0) {
    0x000be500 bne 0xbe414                                                   |         goto label_4;
                                                                             |     }
    0x000be504 b 0xbe370                                                     |     goto label_0;
                                                                             | label_8:
    0x000be508 cmp r4, 0                                                     |     
                                                                             |     if (r4 == 0) {
    0x000be50c beq 0xbe398                                                   |         goto label_5;
                                                                             |     }
    0x000be510 ldr r8, [pc, 0x40]                                            |     r8 = *(0xbe554);
    0x000be514 mov r4, 0                                                     |     r4 = 0;
    0x000be518 add r8, pc, r8                                                |     r8 = pc + r8;
    0x000be51c b 0xbe3c4                                                     |     goto label_2;
    0x000bedd8 push {r4, r5, r6, lr}                                         |     
    0x000beddc mov r5, r0                                                    |     r5 = r0;
    0x000bede0 mov r0, r1                                                    |     r0 = r1;
    0x000bede4 mov r4, r1                                                    |     r4 = r1;
    0x000bede8 mov r6, r2                                                    |     r6 = r2;
    0x000bedec bl 0xc20bc                                                    |     EC_KEY_get0_private_key ();
    0x000bedf0 mov r2, r6                                                    |     r2 = r6;
    0x000bedf4 mov r1, r4                                                    |     r1 = r4;
    0x000bedf8 clz r3, r0                                                    |     r3 &= r0;
    0x000bedfc mov r0, r5                                                    |     r0 = r5;
    0x000bee00 lsr r3, r3, 5                                                 |     r3 >>= 5;
    0x000bee04 pop {r4, r5, r6, lr}                                          |     
    0x000bee08 b 0xbe2cc                                                     |     goto label_6;
                                                                             | }
    ; 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/libcrypto.so.1.1 @ 0xc8718 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.EC_KEY_print_fp ()                           | void EC_KEY_print_fp (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000c8718 push {r0, r1, r2, r4, r5, r6, r7, lr}         |     
    0x000c871c mov r5, r1                                    |     r5 = r1;
    0x000c8720 mov r6, r2                                    |     r6 = r2;
    0x000c8724 mov r7, r0                                    |     r7 = r0;
    0x000c8728 bl 0x7270c                                    |     BIO_s_file ();
    0x000c872c bl 0x6e4f0                                    |     r0 = BIO_new ();
    0x000c8730 subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 != r0) {
    0x000c8734 bne 0xc8768                                   |         goto label_0;
                                                             |     }
    0x000c8738 mov r3, 0x27                                  |     r3 = 0x27;
    0x000c873c str r3, [sp]                                  |     *(sp) = r3;
    0x000c8740 ldr r3, [pc, 0x50]                            |     r3 = *(0xc8794);
    0x000c8744 mov r2, 0x20                                  |     r2 = 0x20;
    0x000c8748 add r3, pc, r3                                |     r3 = pc + r3;
    0x000c874c mov r1, 0xb5                                  |     r1 = 0xb5;
    0x000c8750 mov r0, 0x10                                  |     r0 = 0x10;
    0x000c8754 bl 0xfc7b8                                    |     ERR_put_error ();
    0x000c8758 mov r5, r4                                    |     r5 = r4;
                                                             |     do {
    0x000c875c mov r0, r5                                    |         r0 = r5;
    0x000c8760 add sp, sp, 0xc                               |         
    0x000c8764 pop {r4, r5, r6, r7, pc}                      |         
                                                             | label_0:
    0x000c8768 mov r3, r7                                    |         r3 = r7;
    0x000c876c mov r2, 0                                     |         r2 = 0;
    0x000c8770 mov r1, 0x6a                                  |         r1 = 0x6a;
    0x000c8774 bl 0x6ebe8                                    |         BIO_ctrl ();
    0x000c8778 mov r1, r5                                    |         r1 = r5;
    0x000c877c mov r2, r6                                    |         r2 = r6;
    0x000c8780 mov r0, r4                                    |         r0 = r4;
    0x000c8784 bl 0xbedd8                                    |         r0 = EC_KEY_print ();
    0x000c8788 mov r5, r0                                    |         r5 = r0;
    0x000c878c mov r0, r4                                    |         r0 = r4;
    0x000c8790 bl 0x6e63c                                    |         BIO_free ();
    0x000c8794 b 0xc875c                                     |         
                                                             |     } 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/libcrypto.so.1.1 @ 0x176104 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.GENERAL_NAME_print ()                        | void GENERAL_NAME_print (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_4h_2;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00176104 ldr r3, [r1]                                  |     r3 = *(r1);
    0x00176108 push {r0, r1, r2, r4, r5, r6, r7, lr}         |     
    0x0017610c mov r4, r0                                    |     r4 = r0;
    0x00176110 mov r5, r1                                    |     r5 = r1;
    0x00176114 cmp r3, 8                                     |     
                                                             |     if (r3 > 8) {
                                                             |         /* switch table (9 cases) at 0x176120 */
    0x00176118 addls pc, pc, r3, lsl 2                       |         pc += (r3 << 2);
                                                             |     }
    0x0017611c b 0x176154                                    |     goto label_1;
    0x00176120 b 0x176144                                    |     goto label_3;
    0x00176124 b 0x176178                                    |     goto label_4;
    0x00176128 b 0x176194                                    |     goto label_5;
    0x0017612c b 0x176160                                    |     goto label_6;
    0x00176130 b 0x1761bc                                    |     goto label_7;
    0x00176134 b 0x17616c                                    |     goto label_8;
    0x00176138 b 0x1761a8                                    |     goto label_9;
    0x0017613c b 0x1761e0                                    |     goto label_10;
    0x00176140 b 0x176290                                    |     goto label_11;
                                                             | label_3:
    0x00176144 ldr r1, [pc, 0x160]                           |     r1 = *(0x1762a8);
    0x00176148 add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
                                                             | label_0:
    0x0017614c mov r0, r4                                    |         r0 = r4;
    0x00176150 bl 0x6bbc4                                    |         BIO_printf ()
                                                             | label_1:
    0x00176154 mov r0, 1                                     |         r0 = 1;
    0x00176158 add sp, sp, 0xc                               |         
    0x0017615c pop {r4, r5, r6, r7, pc}                      |         
                                                             | label_6:
    0x00176160 ldr r1, [pc, 0x148]                           |         r1 = *(0x1762ac);
    0x00176164 add r1, pc, r1                                |         r1 = pc + r1;
    0x00176168 b 0x17614c                                    |         
                                                             |     } while (1);
                                                             | label_8:
    0x0017616c ldr r1, [pc, 0x140]                           |     r1 = "_";
    0x00176170 add r1, pc, r1                                |     r1 = pc + r1;
    0x00176174 b 0x17614c                                    |     goto label_0;
                                                             | label_4:
    0x00176178 ldr r3, [r1, 4]                               |     r3 = *((r1 + 4));
    0x0017617c ldr r1, [pc, 0x134]                           |     r1 = *(0x1762b4);
    0x00176180 ldr r2, [r3, 8]                               |     r2 = *((r3 + 8));
    0x00176184 add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
                                                             | label_2:
    0x00176188 mov r0, r4                                    |         r0 = r4;
    0x0017618c bl 0x6bbc4                                    |         BIO_printf ()
    0x00176190 b 0x176154                                    |         goto label_1;
                                                             | label_5:
    0x00176194 ldr r3, [r1, 4]                               |         r3 = *((r1 + 4));
    0x00176198 ldr r1, [pc, 0x11c]                           |         r1 = *(0x1762b8);
    0x0017619c ldr r2, [r3, 8]                               |         r2 = *((r3 + 8));
    0x001761a0 add r1, pc, r1                                |         r1 = pc + r1;
    0x001761a4 b 0x176188                                    |         
                                                             |     } while (1);
                                                             | label_9:
    0x001761a8 ldr r3, [r1, 4]                               |     r3 = *((r1 + 4));
    0x001761ac ldr r1, [pc, 0x10c]                           |     r1 = *(0x1762bc);
    0x001761b0 ldr r2, [r3, 8]                               |     r2 = *((r3 + 8));
    0x001761b4 add r1, pc, r1                                |     r1 = pc + r1;
    0x001761b8 b 0x176188                                    |     goto label_2;
                                                             | label_7:
    0x001761bc ldr r1, [pc, 0x100]                           |     r1 = *(0x1762c0);
    0x001761c0 add r1, pc, r1                                |     r1 = pc + r1;
    0x001761c4 bl 0x6bbc4                                    |     BIO_printf ()
    0x001761c8 ldr r3, [pc, 0xf8]                            |     r3 = *(0x1762c4);
    0x001761cc mov r2, 0                                     |     r2 = 0;
    0x001761d0 ldr r1, [r5, 4]                               |     r1 = *((r5 + 4));
    0x001761d4 mov r0, r4                                    |     r0 = r4;
    0x001761d8 bl 0x57980                                    |     X509_NAME_print_ex ();
    0x001761dc b 0x176154                                    |     goto label_1;
                                                             | label_10:
    0x001761e0 ldr r3, [r1, 4]                               |     r3 = *((r1 + 4));
    0x001761e4 ldr r5, [r3, 8]                               |     r5 = *((r3 + 8));
    0x001761e8 ldr r3, [r3]                                  |     r3 = *(r3);
    0x001761ec cmp r3, 4                                     |     
                                                             |     if (r3 == 4) {
    0x001761f0 bne 0x17621c                                  |         
    0x001761f4 ldrb r1, [r5, 3]                              |         r1 = *((r5 + 3));
    0x001761f8 ldrb r3, [r5, 1]                              |         r3 = *((r5 + 1));
    0x001761fc ldrb r2, [r5]                                 |         r2 = *(r5);
    0x00176200 str r1, [sp, 4]                               |         var_4h = r1;
    0x00176204 ldrb r1, [r5, 2]                              |         r1 = *((r5 + 2));
    0x00176208 str r1, [sp]                                  |         *(sp) = r1;
    0x0017620c ldr r1, [pc, 0xb8]                            |         r1 = *(0x1762c8);
    0x00176210 add r1, pc, r1                                |         r1 = pc + r1;
    0x00176214 bl 0x6bbc4                                    |         BIO_printf ()
    0x00176218 b 0x176154                                    |         goto label_1;
                                                             |     }
    0x0017621c cmp r3, 0x10                                  |     
                                                             |     if (r3 != 0x10) {
    0x00176220 bne 0x176284                                  |         goto label_12;
                                                             |     }
    0x00176224 ldr r1, [pc, 0xa4]                            |     r1 = *(0x1762cc);
    0x00176228 ldr r7, [pc, 0xa4]                            |     r7 = *(0x1762d0);
    0x0017622c add r1, pc, r1                                |     r1 = pc + r1;
    0x00176230 bl 0x6bbc4                                    |     BIO_printf ()
    0x00176234 add r6, r5, 0x10                              |     r6 = r5 + 0x10;
    0x00176238 add r7, pc, r7                                |     r7 = pc + r7;
                                                             |     do {
    0x0017623c ldrb r3, [r5, 1]                              |         r3 = *((r5 + 1));
    0x00176240 ldrb r2, [r5]                                 |         r2 = *(r5);
    0x00176244 mov r1, r7                                    |         r1 = r7;
    0x00176248 orr r2, r2, r3, lsl 8                         |         r2 |= (r3 << 8);
    0x0017624c lsr r3, r2, 8                                 |         r3 = r2 >> 8;
    0x00176250 orr r2, r3, r2, lsl 8                         |         r2 = r3 | (r2 << 8);
    0x00176254 lsl r2, r2, 0x10                              |         r2 <<= 0x10;
    0x00176258 lsr r2, r2, 0x10                              |         r2 >>= 0x10;
    0x0017625c mov r0, r4                                    |         r0 = r4;
    0x00176260 add r5, r5, 2                                 |         r5 += 2;
    0x00176264 bl 0x6bbc4                                    |         BIO_printf ()
    0x00176268 cmp r6, r5                                    |         
    0x0017626c bne 0x17623c                                  |         
                                                             |     } while (r6 != r5);
    0x00176270 ldr r1, [pc, 0x60]                            |     r1 = *(0x1762d4);
    0x00176274 mov r0, r4                                    |     r0 = r4;
    0x00176278 add r1, pc, r1                                |     r1 = pc + r1;
    0x0017627c bl 0x6e860                                    |     BIO_puts ();
    0x00176280 b 0x176154                                    |     goto label_1;
                                                             | label_12:
    0x00176284 ldr r1, [pc, 0x50]                            |     r1 = *(0x1762d8);
    0x00176288 add r1, pc, r1                                |     r1 = pc + r1;
    0x0017628c b 0x17614c                                    |     goto label_0;
                                                             | label_11:
    0x00176290 ldr r1, [pc, 0x48]                            |     r1 = *(0x1762dc);
    0x00176294 add r1, pc, r1                                |     r1 = pc + r1;
    0x00176298 bl 0x6bbc4                                    |     BIO_printf ()
    0x0017629c ldr r1, [r5, 4]                               |     r1 = *((r5 + 4));
    0x001762a0 mov r0, r4                                    |     r0 = r4;
    0x001762a4 bl 0x55f58                                    |     i2a_ASN1_OBJECT ();
    0x001762a8 b 0x176154                                    |     goto label_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/libcrypto.so.1.1 @ 0x61748 */
                                                                         | #include <stdint.h>
                                                                         |  
    ; (fcn) sym.NETSCAPE_SPKI_print ()                                   | void NETSCAPE_SPKI_print (int32_t arg1, int32_t arg2) {
                                                                         |     int32_t var_0h;
                                                                         |     int32_t var_ch;
                                                                         |     int32_t var_10h;
                                                                         |     r0 = arg1;
                                                                         |     r1 = arg2;
    0x00061748 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, sb, sl, lr}     |     
    0x0006174c mov r5, r1                                                |     r5 = r1;
    0x00061750 ldr r1, [pc, 0x198]                                       |     r1 = *(0x618ec);
    0x00061754 mov r4, r0                                                |     r4 = r0;
    0x00061758 add r1, pc, r1                                            |     r1 = pc + r1;
    0x0006175c bl 0x6bbc4                                                |     BIO_printf ()
    0x00061760 ldr r3, [r5]                                              |     r3 = *(r5);
    0x00061764 add r0, sp, 0xc                                           |     r0 += var_ch;
    0x00061768 ldr r3, [r3]                                              |     r3 = *(r3);
    0x0006176c str r3, [sp]                                              |     *(sp) = r3;
    0x00061770 mov r3, 0                                                 |     r3 = 0;
    0x00061774 mov r2, r3                                                |     r2 = r3;
    0x00061778 mov r1, r3                                                |     r1 = r3;
    0x0006177c bl 0x1702d8                                               |     X509_PUBKEY_get0_param ();
    0x00061780 ldr r0, [sp, 0xc]                                         |     r0 = var_ch;
    0x00061784 bl 0x120878                                               |     r0 = OBJ_obj2nid ();
    0x00061788 cmp r0, 0                                                 |     
                                                                         |     if (r0 == 0) {
    0x0006178c beq 0x6186c                                               |         goto label_3;
                                                                         |     }
    0x00061790 bl 0x120690                                               |     r0 = OBJ_nid2ln ();
    0x00061794 mov r2, r0                                                |     r2 = r0;
                                                                         |     do {
    0x00061798 ldr r1, [pc, 0x154]                                       |         r1 = *(0x618f0);
    0x0006179c mov r0, r4                                                |         r0 = r4;
    0x000617a0 add r1, pc, r1                                            |         r1 = pc + r1;
    0x000617a4 bl 0x6bbc4                                                |         BIO_printf ()
    0x000617a8 ldr r3, [r5]                                              |         r3 = *(r5);
    0x000617ac ldr r0, [r3]                                              |         r0 = *(r3);
    0x000617b0 bl 0x16fedc                                               |         r0 = X509_PUBKEY_get ();
    0x000617b4 subs r6, r0, 0                                            |         r6 = r0 - 0;
                                                                         |         if (r6 != r0) {
    0x000617b8 bne 0x61878                                               |             goto label_4;
                                                                         |         }
    0x000617bc ldr r1, [pc, 0x134]                                       |         r1 = *(0x618f4);
    0x000617c0 mov r0, r4                                                |         r0 = r4;
    0x000617c4 add r1, pc, r1                                            |         r1 = pc + r1;
    0x000617c8 bl 0x6bbc4                                                |         BIO_printf ()
                                                                         | label_0:
    0x000617cc ldr r3, [r5]                                              |         r3 = *(r5);
    0x000617d0 ldr r3, [r3, 4]                                           |         r3 = *((r3 + 4));
    0x000617d4 ldr r2, [r3]                                              |         r2 = *(r3);
    0x000617d8 cmp r2, 0                                                 |         
                                                                         |         if (r2 != 0) {
    0x000617dc beq 0x617f4                                               |             
    0x000617e0 ldr r1, [pc, 0x114]                                       |             r1 = *(0x618f8);
    0x000617e4 ldr r2, [r3, 8]                                           |             r2 = *((r3 + 8));
    0x000617e8 add r1, pc, r1                                            |             r1 = pc + r1;
    0x000617ec mov r0, r4                                                |             r0 = r4;
    0x000617f0 bl 0x6bbc4                                                |             BIO_printf ()
                                                                         |         }
    0x000617f4 ldr r0, [r5, 4]                                           |         r0 = *((r5 + 4));
    0x000617f8 bl 0x120878                                               |         r0 = OBJ_obj2nid ();
    0x000617fc cmp r0, 0                                                 |         
                                                                         |         if (r0 == 0) {
    0x00061800 beq 0x61898                                               |             goto label_5;
                                                                         |         }
    0x00061804 bl 0x120690                                               |         r0 = OBJ_nid2ln ();
    0x00061808 mov r2, r0                                                |         r2 = r0;
                                                                         | label_1:
    0x0006180c ldr r1, [pc, 0xec]                                        |         r1 = *(0x618fc);
    0x00061810 mov r0, r4                                                |         r0 = r4;
    0x00061814 add r1, pc, r1                                            |         r1 = pc + r1;
    0x00061818 bl 0x6bbc4                                                |         BIO_printf ()
    0x0006181c ldr r3, [r5, 0xc]                                         |         r3 = *((r5 + 0xc));
    0x00061820 ldr r8, [pc, 0xdc]                                        |         r8 = *(0x61900);
    0x00061824 ldr sb, [pc, 0xdc]                                        |         sb = *(0x61904);
    0x00061828 ldr sl, [pc, 0xdc]                                        |         sl = *(0x61908);
    0x0006182c ldr r6, [r3]                                              |         r6 = *(r3);
    0x00061830 ldr r7, [r3, 8]                                           |         r7 = *((r3 + 8));
    0x00061834 mov r5, 0                                                 |         r5 = 0;
    0x00061838 add r8, pc, r8                                            |         r8 = pc + r8;
    0x0006183c add sb, pc, sb                                            |         sb = pc + sb;
    0x00061840 add sl, pc, sl                                            |         sl = pc + sl;
                                                                         | label_2:
    0x00061844 cmp r5, r6                                                |         
                                                                         |         if (r5 < r6) {
    0x00061848 blt 0x618a4                                               |             goto label_6;
                                                                         |         }
    0x0006184c ldr r1, [pc, 0xbc]                                        |         r1 = *(0x6190c);
    0x00061850 mov r2, 1                                                 |         r2 = 1;
    0x00061854 add r1, pc, r1                                            |         r1 = pc + r1;
    0x00061858 mov r0, r4                                                |         r0 = r4;
    0x0006185c bl 0x6e820                                                |         BIO_write ();
    0x00061860 mov r0, 1                                                 |         r0 = 1;
    0x00061864 add sp, sp, 0x10                                          |         
    0x00061868 pop {r4, r5, r6, r7, r8, sb, sl, pc}                      |         
                                                                         | label_3:
    0x0006186c ldr r2, [pc, 0xa0]                                        |         r2 = *(0x61910);
    0x00061870 add r2, pc, r2                                            |         r2 = pc + r2;
    0x00061874 b 0x61798                                                 |         
                                                                         |     } while (1);
                                                                         | label_4:
    0x00061878 mov r3, 0                                                 |     r3 = 0;
    0x0006187c mov r2, 4                                                 |     r2 = 4;
    0x00061880 mov r1, r6                                                |     r1 = r6;
    0x00061884 mov r0, r4                                                |     r0 = r4;
    0x00061888 bl 0x10e7ac                                               |     EVP_PKEY_print_public ();
    0x0006188c mov r0, r6                                                |     r0 = r6;
    0x00061890 bl 0x10e4d0                                               |     EVP_PKEY_free ();
    0x00061894 b 0x617cc                                                 |     goto label_0;
                                                                         | label_5:
    0x00061898 ldr r2, [pc, 0x78]                                        |     r2 = *(0x61914);
    0x0006189c add r2, pc, r2                                            |     r2 = pc + r2;
    0x000618a0 b 0x6180c                                                 |     goto label_1;
                                                                         | label_6:
    0x000618a4 mov r1, 0x12                                              |     r1 = 0x12;
    0x000618a8 mov r0, r5                                                |     r0 = r5;
    0x000618ac bl 0x183258                                               |     fcn_00183258 (r0, r1);
    0x000618b0 cmp r1, 0                                                 |     
                                                                         |     if (r1 == 0) {
    0x000618b4 bne 0x618c8                                               |         
    0x000618b8 mov r2, 7                                                 |         r2 = 7;
    0x000618bc mov r1, r8                                                |         r1 = r8;
    0x000618c0 mov r0, r4                                                |         r0 = r4;
    0x000618c4 bl 0x6e820                                                |         BIO_write ();
                                                                         |     }
    0x000618c8 ldr r1, [pc, 0x4c]                                        |     r1 = *(0x61918);
    0x000618cc ldrb r2, [r7, r5]                                         |     r2 = *((r7 + r5));
    0x000618d0 add r5, r5, 1                                             |     r5++;
    0x000618d4 cmp r5, r6                                                |     
                                                                         |     if (r5 != r6) {
    0x000618d8 moveq r3, sb                                              |         r3 = sb;
                                                                         |     }
                                                                         |     if (r5 == r6) {
    0x000618dc movne r3, sl                                              |         r3 = sl;
                                                                         |     }
    0x000618e0 add r1, pc, r1                                            |     r1 = pc + r1;
    0x000618e4 mov r0, r4                                                |     r0 = r4;
    0x000618e8 bl 0x6bbc4                                                |     BIO_printf ()
    0x000618ec b 0x61844                                                 |     goto label_2;
                                                                         | }
    ; 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/libcrypto.so.1.1 @ 0x123ea0 */
                                                                             | #include <stdint.h>
                                                                             |  
    ; (fcn) sym.OCSP_REQUEST_print ()                                        | void OCSP_REQUEST_print (int32_t arg1, int32_t arg2) {
                                                                             |     int32_t var_0h;
                                                                             |     int32_t var_ch;
                                                                             |     r0 = arg1;
                                                                             |     r1 = arg2;
    0x00123ea0 push {r0, r1, r2, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x00123ea4 ldr r6, [r1, 0x10]                                            |     r6 = *((r1 + 0x10));
    0x00123ea8 mov r5, r1                                                    |     r5 = r1;
    0x00123eac ldr r1, [pc, 0x198]                                           |     r1 = *(0x124048);
    0x00123eb0 mov r8, r2                                                    |     r8 = r2;
    0x00123eb4 add r1, pc, r1                                                |     r1 = pc + r1;
    0x00123eb8 mov r2, 0x13                                                  |     r2 = 0x13;
    0x00123ebc mov r4, r0                                                    |     r4 = r0;
    0x00123ec0 bl 0x6e820                                                    |     r0 = BIO_write ();
    0x00123ec4 cmp r0, 0                                                     |     
    0x00123ec8 bgt 0x123ed8                                                  |     
                                                                             |     while (r0 <= 0) {
                                                                             | label_0:
    0x00123ecc mov r0, 0                                                     |         r0 = 0;
                                                                             | label_1:
    0x00123ed0 add sp, sp, 0xc                                               |         
    0x00123ed4 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}                      |         
    0x00123ed8 ldr r0, [r5]                                                  |         r0 = *(r5);
    0x00123edc bl 0x550bc                                                    |         ASN1_INTEGER_get ();
    0x00123ee0 ldr r1, [pc, 0x168]                                           |         r1 = *(0x12404c);
    0x00123ee4 add r1, pc, r1                                                |         r1 = pc + r1;
    0x00123ee8 mov r3, r0                                                    |         r3 = r0;
    0x00123eec add r2, r0, 1                                                 |         r2 = r0 + 1;
    0x00123ef0 mov r0, r4                                                    |         r0 = r4;
    0x00123ef4 bl 0x6bbc4                                                    |         r0 = BIO_printf ()
    0x00123ef8 cmp r0, 0                                                     |         
    0x00123efc ble 0x123ecc                                                  |         
                                                                             |     }
    0x00123f00 ldr r3, [r5, 4]                                               |     r3 = *((r5 + 4));
    0x00123f04 cmp r3, 0                                                     |     
                                                                             |     if (r3 == 0) {
    0x00123f08 beq 0x123f34                                                  |         goto label_5;
                                                                             |     }
    0x00123f0c ldr r1, [pc, 0x140]                                           |     r1 = *(0x124050);
    0x00123f10 mov r2, 0x15                                                  |     r2 = 0x15;
    0x00123f14 add r1, pc, r1                                                |     r1 = pc + r1;
    0x00123f18 mov r0, r4                                                    |     r0 = r4;
    0x00123f1c bl 0x6e820                                                    |     r0 = BIO_write ();
    0x00123f20 cmp r0, 0                                                     |     
                                                                             |     if (r0 <= 0) {
    0x00123f24 ble 0x123ecc                                                  |         goto label_0;
                                                                             |     }
    0x00123f28 ldr r1, [r5, 4]                                               |     r1 = *((r5 + 4));
    0x00123f2c mov r0, r4                                                    |     r0 = r4;
    0x00123f30 bl 0x176104                                                   |     GENERAL_NAME_print ();
                                                                             | label_5:
    0x00123f34 ldr r1, [pc, 0x11c]                                           |     r1 = *(0x124054);
    0x00123f38 mov r2, 0x15                                                  |     r2 = 0x15;
    0x00123f3c add r1, pc, r1                                                |     r1 = pc + r1;
    0x00123f40 mov r0, r4                                                    |     r0 = r4;
    0x00123f44 bl 0x6e820                                                    |     r0 = BIO_write ();
    0x00123f48 cmp r0, 0                                                     |     
                                                                             |     if (r0 <= 0) {
    0x00123f4c ble 0x123ecc                                                  |         goto label_0;
                                                                             |     }
    0x00123f50 ldr fp, [pc, 0x104]                                           |     fp = *(0x0012405c);
    0x00123f54 mov r7, 0                                                     |     r7 = 0;
    0x00123f58 mov sl, 8                                                     |     sl = 8;
    0x00123f5c add fp, pc, fp                                                |     
                                                                             | label_2:
    0x00123f60 ldr r0, [r5, 8]                                               |     r0 = *((r5 + 8));
    0x00123f64 bl 0x154518                                                   |     r0 = OPENSSL_sk_num ();
    0x00123f68 cmp r7, r0                                                    |     
                                                                             |     if (r7 < r0) {
    0x00123f6c blt 0x123fa8                                                  |         goto label_6;
                                                                             |     }
    0x00123f70 ldr r1, [pc, 0xe8]                                            |     r1 = *(0x12405c);
    0x00123f74 mov r3, 4                                                     |     r3 = 4;
    0x00123f78 str r3, [sp]                                                  |     *(sp) = r3;
    0x00123f7c add r1, pc, r1                                                |     r1 = pc + r1;
    0x00123f80 mov r3, r8                                                    |     r3 = r8;
    0x00123f84 ldr r2, [r5, 0xc]                                             |     r2 = *((r5 + 0xc));
    0x00123f88 mov r0, r4                                                    |     r0 = r4;
    0x00123f8c bl 0x17f384                                                   |     r0 = X509V3_extensions_print ();
    0x00123f90 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x00123f94 beq 0x123ecc                                                  |         goto label_0;
                                                                             |     }
    0x00123f98 cmp r6, 0                                                     |     
                                                                             |     if (r6 != 0) {
    0x00123f9c bne 0x123ff0                                                  |         goto label_7;
                                                                             |     }
                                                                             | label_3:
    0x00123fa0 mov r0, 1                                                     |     r0 = 1;
    0x00123fa4 b 0x123ed0                                                    |     goto label_1;
                                                                             | label_6:
    0x00123fa8 mov r1, r7                                                    |     r1 = r7;
    0x00123fac ldr r0, [r5, 8]                                               |     r0 = *((r5 + 8));
    0x00123fb0 bl 0x154528                                                   |     OPENSSL_sk_value ();
    0x00123fb4 mov r2, 8                                                     |     r2 = 8;
    0x00123fb8 ldr r1, [r0]                                                  |     r1 = *(r0);
    0x00123fbc mov sb, r0                                                    |     sb = r0;
    0x00123fc0 mov r0, r4                                                    |     r0 = r4;
    0x00123fc4 bl 0x123cb0                                                   |     fcn_00123cb0 (r0, r1);
    0x00123fc8 str sl, [sp]                                                  |     *(sp) = sl;
    0x00123fcc mov r3, r8                                                    |     r3 = r8;
    0x00123fd0 ldr r2, [sb, 4]                                               |     r2 = *((sb + 4));
    0x00123fd4 mov r1, fp                                                    |     r1 = fp;
    0x00123fd8 mov r0, r4                                                    |     r0 = r4;
    0x00123fdc bl 0x17f384                                                   |     r0 = X509V3_extensions_print ();
    0x00123fe0 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x00123fe4 beq 0x123ecc                                                  |         goto label_0;
                                                                             |     }
    0x00123fe8 add r7, r7, 1                                                 |     r7++;
    0x00123fec b 0x123f60                                                    |     goto label_2;
                                                                             | label_7:
    0x00123ff0 ldr r2, [r6, 8]                                               |     r2 = *((r6 + 8));
    0x00123ff4 mov r1, r6                                                    |     r1 = r6;
    0x00123ff8 mov r0, r4                                                    |     r0 = r4;
    0x00123ffc bl 0x162a3c                                                   |     X509_signature_print ();
    0x00124000 mov r5, 0                                                     |     r5 = 0;
                                                                             | label_4:
    0x00124004 ldr r0, [r6, 0xc]                                             |     r0 = *((r6 + 0xc));
    0x00124008 bl 0x154518                                                   |     r0 = OPENSSL_sk_num ();
    0x0012400c cmp r5, r0                                                    |     
                                                                             |     if (r5 >= r0) {
    0x00124010 bge 0x123fa0                                                  |         goto label_3;
                                                                             |     }
    0x00124014 mov r1, r5                                                    |     r1 = r5;
    0x00124018 ldr r0, [r6, 0xc]                                             |     r0 = *((r6 + 0xc));
    0x0012401c bl 0x154528                                                   |     r0 = OPENSSL_sk_value ();
    0x00124020 mov r1, r0                                                    |     r1 = r0;
    0x00124024 mov r0, r4                                                    |     r0 = r4;
    0x00124028 bl 0x16354c                                                   |     X509_print ();
    0x0012402c mov r1, r5                                                    |     r1 = r5;
    0x00124030 ldr r0, [r6, 0xc]                                             |     r0 = *((r6 + 0xc));
    0x00124034 bl 0x154528                                                   |     OPENSSL_sk_value ();
    0x00124038 add r5, r5, 1                                                 |     r5++;
    0x0012403c mov r1, r0                                                    |     r1 = r0;
    0x00124040 mov r0, r4                                                    |     r0 = r4;
    0x00124044 bl 0x12a478                                                   |     PEM_write_bio_X509 ();
    0x00124048 b 0x124004                                                    |     goto label_4;
                                                                             | }
    ; 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/libcrypto.so.1.1 @ 0x122f94 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.OCSP_REQ_CTX_http ()         | void OCSP_REQ_CTX_http (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x00122f94 subs r3, r2, 0                |     r3 = r2 - 0;
    0x00122f98 push {r4, lr}                 |     
    0x00122f9c mov r4, r0                    |     r4 = r0;
                                             |     if (r3 != r2) {
    0x00122fa0 ldreq r3, [pc, 0x30]          |         r3 = *((pc + 0x30));
                                             |     }
                                             |     if (r3 != r2) {
    0x00122fa4 addeq r3, pc, r3              |         r3 = pc + r3;
                                             |     }
    0x00122fa8 mov r2, r1                    |     r2 = r1;
    0x00122fac ldr r1, [pc, 0x28]            |     
    0x00122fb0 ldr r0, [r4, 0x10]            |     r0 = *((r4 + 0x10));
    0x00122fb4 add r1, pc, r1                |     r1 = pc + r1;
    0x00122fb8 add r1, r1, 0x3f              |     r1 = 0x123017;
    0x00122fbc bl 0x6bbc4                    |     r0 = BIO_printf ()
    0x00122fc0 cmp r0, 0                     |     
                                             |     if (r0 <= 0) {
    0x00122fc4 ldrgt r3, [pc, 0x14]          |         r3 = *((pc + 0x14));
                                             |     }
                                             |     if (r0 <= 0) {
    0x00122fc8 movgt r0, 1                   |         r0 = 1;
                                             |     }
                                             |     if (r0 <= 0) {
    0x00122fcc strgt r3, [r4]                |         *(r4) = r3;
                                             |     }
                                             |     if (r0 > 0) {
    0x00122fd0 movle r0, 0                   |         r0 = 0;
                                             |     }
    0x00122fd4 pop {r4, pc}                  |     
                                             | }
    ; 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/libcrypto.so.1.1 @ 0x122f20 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.OCSP_REQ_CTX_i2d ()          | void OCSP_REQ_CTX_i2d (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x00122f20 push {r4, r5, r6, lr}         |     
    0x00122f24 mov r6, r2                    |     r6 = r2;
    0x00122f28 mov r4, r0                    |     r4 = r0;
    0x00122f2c mov r2, r1                    |     r2 = r1;
    0x00122f30 mov r5, r1                    |     r5 = r1;
    0x00122f34 mov r0, r6                    |     r0 = r6;
    0x00122f38 mov r1, 0                     |     r1 = 0;
    0x00122f3c bl 0x63ba8                    |     ASN1_item_i2d ();
    0x00122f40 ldr r1, [pc, 0x44]            |     r1 = *(0x122f88);
    0x00122f44 add r1, pc, r1                |     r1 = pc + r1;
    0x00122f48 mov r2, r0                    |     r2 = r0;
    0x00122f4c ldr r0, [r4, 0x10]            |     r0 = *((r4 + 0x10));
    0x00122f50 bl 0x6bbc4                    |     r0 = BIO_printf ()
    0x00122f54 cmp r0, 0                     |     
    0x00122f58 bgt 0x122f64                  |     
                                             |     while (r0 <= 0) {
    0x00122f5c mov r0, 0                     |         r0 = 0;
    0x00122f60 pop {r4, r5, r6, pc}          |         
    0x00122f64 mov r2, r6                    |         r2 = r6;
    0x00122f68 ldr r1, [r4, 0x10]            |         r1 = *((r4 + 0x10));
    0x00122f6c mov r0, r5                    |         r0 = r5;
    0x00122f70 bl 0x54504                    |         r0 = ASN1_item_i2d_bio ();
    0x00122f74 cmp r0, 0                     |         
    0x00122f78 ble 0x122f5c                  |         
                                             |     }
    0x00122f7c ldr r3, [pc, 0xc]             |     r3 = *(0x122f8c);
    0x00122f80 mov r0, 1                     |     r0 = 1;
    0x00122f84 str r3, [r4]                  |     *(r4) = r3;
    0x00122f88 pop {r4, r5, r6, pc}          |     
                                             | }
    ; 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/libcrypto.so.1.1 @ 0x124064 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.OCSP_RESPONSE_print ()                           | void OCSP_RESPONSE_print (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_14h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00124064 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x00124068 ldr r6, [r1, 4]                                   |     r6 = *((r1 + 4));
    0x0012406c mov r5, r1                                        |     r5 = r1;
    0x00124070 ldr r1, [pc, 0x408]                               |     r1 = *(0x12447c);
    0x00124074 sub sp, sp, 0x14                                  |     
    0x00124078 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0012407c mov r4, r0                                        |     r4 = r0;
    0x00124080 mov r8, r2                                        |     r8 = r2;
    0x00124084 bl 0x6e860                                        |     r0 = BIO_puts ();
    0x00124088 cmp r0, 0                                         |     
    0x0012408c bgt 0x12409c                                      |     
                                                                 |     while (r0 <= 0) {
                                                                 | label_0:
    0x00124090 mov r5, 0                                         |         r5 = 0;
                                                                 | label_1:
    0x00124094 mov r3, 0                                         |         r3 = 0;
    0x00124098 b 0x12442c                                        |         goto label_8;
    0x0012409c ldr r0, [r5]                                      |         r0 = *(r5);
    0x001240a0 bl 0x55144                                        |         r0 = ASN1_ENUMERATED_get ();
    0x001240a4 mov r7, r0                                        |         r7 = r0;
    0x001240a8 bl 0x123dac                                       |         OCSP_response_status_str ();
    0x001240ac ldr r1, [pc, 0x3d0]                               |         r1 = *(0x124480);
    0x001240b0 mov r3, r7                                        |         r3 = r7;
    0x001240b4 add r1, pc, r1                                    |         r1 = pc + r1;
    0x001240b8 mov r2, r0                                        |         r2 = r0;
    0x001240bc mov r0, r4                                        |         r0 = r4;
    0x001240c0 bl 0x6bbc4                                        |         r0 = BIO_printf ()
    0x001240c4 cmp r0, 0                                         |         
    0x001240c8 ble 0x124090                                      |         
                                                                 |     }
    0x001240cc cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x001240d0 beq 0x124124                                      |         goto label_9;
                                                                 |     }
    0x001240d4 ldr r1, [pc, 0x3ac]                               |     r1 = *(0x124484);
    0x001240d8 mov r0, r4                                        |     r0 = r4;
    0x001240dc add r1, pc, r1                                    |     r1 = pc + r1;
    0x001240e0 bl 0x6e860                                        |     r0 = BIO_puts ();
    0x001240e4 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001240e8 ble 0x124090                                      |         goto label_0;
                                                                 |     }
    0x001240ec ldr r1, [r6]                                      |     r1 = *(r6);
    0x001240f0 mov r0, r4                                        |     r0 = r4;
    0x001240f4 bl 0x55f58                                        |     r0 = i2a_ASN1_OBJECT ();
    0x001240f8 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001240fc ble 0x124090                                      |         goto label_0;
                                                                 |     }
    0x00124100 ldr r0, [r6]                                      |     r0 = *(r6);
    0x00124104 bl 0x120878                                       |     OBJ_obj2nid ();
    0x00124108 ldr r3, [pc, 0x37c]                               |     r3 = "_";
    0x0012410c cmp r0, r3                                        |     
                                                                 |     if (r0 != r3) {
    0x00124110 beq 0x12412c                                      |         
    0x00124114 ldr r1, [pc, 0x374]                               |         r1 = *(0x12448c);
    0x00124118 mov r0, r4                                        |         r0 = r4;
    0x0012411c add r1, pc, r1                                    |         r1 = pc + r1;
    0x00124120 bl 0x6e860                                        |         BIO_puts ();
                                                                 | label_9:
    0x00124124 mov r3, 1                                         |         r3 = 1;
    0x00124128 b 0x12443c                                        |         goto label_10;
                                                                 |     }
    0x0012412c mov r0, r5                                        |     r0 = r5;
    0x00124130 bl 0x1222b4                                       |     r0 = OCSP_response_get1_basic ();
    0x00124134 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 == r0) {
    0x00124138 beq 0x124090                                      |         goto label_0;
                                                                 |     }
    0x0012413c ldr r0, [r5]                                      |     r0 = *(r5);
    0x00124140 bl 0x550bc                                        |     ASN1_INTEGER_get ();
    0x00124144 ldr r1, [pc, 0x348]                               |     r1 = *(0x124490);
    0x00124148 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0012414c mov r3, r0                                        |     r3 = r0;
    0x00124150 add r2, r0, 1                                     |     r2 = r0 + 1;
    0x00124154 mov r0, r4                                        |     r0 = r4;
    0x00124158 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x0012415c cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00124160 ble 0x124094                                      |         goto label_1;
                                                                 |     }
    0x00124164 ldr r1, [pc, 0x32c]                               |     r1 = *(0x124494);
    0x00124168 mov r0, r4                                        |     r0 = r4;
    0x0012416c add r1, pc, r1                                    |     r1 = pc + r1;
    0x00124170 bl 0x6e860                                        |     r0 = BIO_puts ();
    0x00124174 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00124178 ble 0x124094                                      |         goto label_1;
                                                                 |     }
    0x0012417c ldr r3, [r5, 4]                                   |     r3 = *((r5 + 4));
    0x00124180 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00124184 beq 0x124260                                      |         goto label_11;
                                                                 |     }
    0x00124188 cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x0012418c beq 0x124278                                      |         goto label_12;
                                                                 |     }
                                                                 | label_2:
    0x00124190 ldr r1, [pc, 0x304]                               |     r1 = *(0x124498);
    0x00124194 mov r0, r4                                        |     r0 = r4;
    0x00124198 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0012419c bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x001241a0 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001241a4 ble 0x124094                                      |         goto label_1;
                                                                 |     }
    0x001241a8 ldr r1, [r5, 0xc]                                 |     r1 = *((r5 + 0xc));
    0x001241ac mov r0, r4                                        |     r0 = r4;
    0x001241b0 bl 0x5438c                                        |     r0 = ASN1_GENERALIZEDTIME_print ();
    0x001241b4 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 == r0) {
    0x001241b8 beq 0x12442c                                      |         goto label_8;
                                                                 |     }
    0x001241bc ldr r1, [pc, 0x2dc]                               |     r1 = *(0x12449c);
    0x001241c0 mov r0, r4                                        |     r0 = r4;
    0x001241c4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x001241c8 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x001241cc cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001241d0 ble 0x124094                                      |         goto label_1;
                                                                 |     }
    0x001241d4 ldr r3, [pc, 0x2c8]                               |     r3 = *(0x1244a0);
    0x001241d8 ldr sl, [pc, 0x2c8]                               |     sl = *(0x1244a4);
    0x001241dc ldr fp, [pc, 0x2c8]                               |     fp = *(0x1244a8);
    0x001241e0 add r3, pc, r3                                    |     r3 = pc + r3;
    0x001241e4 mov r7, 0                                         |     r7 = 0;
    0x001241e8 add sl, pc, sl                                    |     sl = pc + sl;
    0x001241ec add fp, pc, fp                                    |     
    0x001241f0 str r3, [sp, 0xc]                                 |     var_ch = r3;
                                                                 | label_3:
    0x001241f4 ldr r0, [r5, 0x10]                                |     r0 = *((r5 + 0x10));
    0x001241f8 bl 0x154518                                       |     r0 = OPENSSL_sk_num ();
    0x001241fc cmp r7, r0                                        |     
                                                                 |     if (r7 < r0) {
    0x00124200 blt 0x12428c                                      |         goto label_13;
                                                                 |     }
    0x00124204 ldr r1, [pc, 0x2a4]                               |     r1 = *(0x1244ac);
    0x00124208 mov r3, 4                                         |     r3 = 4;
    0x0012420c str r3, [sp]                                      |     *(sp) = r3;
    0x00124210 add r1, pc, r1                                    |     r1 = pc + r1;
    0x00124214 mov r3, r8                                        |     r3 = r8;
    0x00124218 ldr r2, [r5, 0x14]                                |     r2 = *((r5 + 0x14));
    0x0012421c mov r0, r4                                        |     r0 = r4;
    0x00124220 bl 0x17f384                                       |     r0 = X509V3_extensions_print ();
    0x00124224 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 == r0) {
    0x00124228 beq 0x12442c                                      |         goto label_8;
                                                                 |     }
    0x0012422c ldr r2, [r5, 0x20]                                |     r2 = *((r5 + 0x20));
    0x00124230 add r1, r5, 0x18                                  |     r1 = r5 + 0x18;
    0x00124234 mov r0, r4                                        |     r0 = r4;
    0x00124238 bl 0x162a3c                                       |     r0 = X509_signature_print ();
    0x0012423c cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x00124240 movgt r6, 0                                       |         r6 = 0;
                                                                 |         goto label_14;
                                                                 |     }
                                                                 |     if (r0 <= 0) {
                                                                 | label_14:
    0x00124244 ble 0x124094                                      |         goto label_1;
                                                                 |     }
                                                                 | label_7:
    0x00124248 ldr r0, [r5, 0x24]                                |     r0 = *((r5 + 0x24));
    0x0012424c bl 0x154518                                       |     r0 = OPENSSL_sk_num ();
    0x00124250 cmp r6, r0                                        |     
                                                                 |     if (r6 < r0) {
    0x00124254 blt 0x124448                                      |         goto label_15;
                                                                 |     }
    0x00124258 mov r3, 1                                         |     r3 = 1;
    0x0012425c b 0x12442c                                        |     goto label_8;
                                                                 | label_11:
    0x00124260 ldr r3, [pc, 0x24c]                               |     r3 = *(0x1244b0);
    0x00124264 mov r2, 0                                         |     r2 = 0;
    0x00124268 ldr r1, [r5, 8]                                   |     r1 = *((r5 + 8));
    0x0012426c mov r0, r4                                        |     r0 = r4;
    0x00124270 bl 0x57980                                        |     X509_NAME_print_ex ();
    0x00124274 b 0x124190                                        |     goto label_2;
                                                                 | label_12:
    0x00124278 mov r2, 0                                         |     r2 = 0;
    0x0012427c ldr r1, [r5, 8]                                   |     r1 = *((r5 + 8));
    0x00124280 mov r0, r4                                        |     r0 = r4;
    0x00124284 bl 0x5fb6c                                        |     i2a_ASN1_STRING ();
    0x00124288 b 0x124190                                        |     goto label_2;
                                                                 | label_13:
    0x0012428c mov r1, r7                                        |     r1 = r7;
    0x00124290 ldr r0, [r5, 0x10]                                |     r0 = *((r5 + 0x10));
    0x00124294 bl 0x154528                                       |     r0 = OPENSSL_sk_value ();
    0x00124298 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0012429c bne 0x1242a8                                      |         
                                                                 | label_4:
    0x001242a0 add r7, r7, 1                                     |         r7++;
    0x001242a4 b 0x1241f4                                        |         goto label_3;
                                                                 |     }
    0x001242a8 mov r1, r7                                        |     r1 = r7;
    0x001242ac ldr r0, [r5, 0x10]                                |     r0 = *((r5 + 0x10));
    0x001242b0 bl 0x154528                                       |     OPENSSL_sk_value ();
    0x001242b4 mov r2, 4                                         |     r2 = 4;
    0x001242b8 ldr r1, [r0]                                      |     r1 = *(r0);
    0x001242bc mov r6, r0                                        |     r6 = r0;
    0x001242c0 mov r0, r4                                        |     r0 = r4;
    0x001242c4 bl 0x123cb0                                       |     r0 = fcn_00123cb0 (r0, r1);
    0x001242c8 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001242cc ble 0x124094                                      |         goto label_1;
                                                                 |     }
    0x001242d0 ldr sb, [r6, 4]                                   |     sb = *((r6 + 4));
    0x001242d4 ldr r0, [sb]                                      |     r0 = *(sb);
    0x001242d8 bl 0x123df0                                       |     OCSP_cert_status_str ();
    0x001242dc ldr r1, [sp, 0xc]                                 |     r1 = var_ch;
    0x001242e0 mov r2, r0                                        |     r2 = r0;
    0x001242e4 mov r0, r4                                        |     r0 = r4;
    0x001242e8 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x001242ec cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001242f0 ble 0x124094                                      |         goto label_1;
                                                                 |     }
    0x001242f4 ldr r3, [sb]                                      |     r3 = *(sb);
    0x001242f8 cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x001242fc beq 0x12439c                                      |         goto label_16;
                                                                 |     }
                                                                 | label_5:
    0x00124300 ldr r1, [pc, 0x1b0]                               |     r1 = *(0x1244b4);
    0x00124304 mov r0, r4                                        |     r0 = r4;
    0x00124308 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0012430c bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x00124310 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00124314 ble 0x124094                                      |         goto label_1;
                                                                 |     }
    0x00124318 ldr r1, [r6, 8]                                   |     r1 = *((r6 + 8));
    0x0012431c mov r0, r4                                        |     r0 = r4;
    0x00124320 bl 0x5438c                                        |     r0 = ASN1_GENERALIZEDTIME_print ();
    0x00124324 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 == r0) {
    0x00124328 beq 0x12442c                                      |         goto label_8;
                                                                 |     }
    0x0012432c ldr r3, [r6, 0xc]                                 |     r3 = *((r6 + 0xc));
    0x00124330 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00124334 bne 0x124400                                      |         goto label_17;
                                                                 |     }
                                                                 | label_6:
    0x00124338 ldr sb, [pc, 0x17c]                               |     sb = *(0x1244b8);
    0x0012433c mov r2, 1                                         |     r2 = 1;
    0x00124340 add sb, pc, sb                                    |     sb = pc + sb;
    0x00124344 mov r1, sb                                        |     r1 = sb;
    0x00124348 mov r0, r4                                        |     r0 = r4;
    0x0012434c bl 0x6e820                                        |     r0 = BIO_write ();
    0x00124350 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00124354 ble 0x124094                                      |         goto label_1;
                                                                 |     }
    0x00124358 ldr r1, [pc, 0x160]                               |     r1 = *(0x1244bc);
    0x0012435c mov r3, 8                                         |     r3 = 8;
    0x00124360 str r3, [sp]                                      |     *(sp) = r3;
    0x00124364 add r1, pc, r1                                    |     r1 = pc + r1;
    0x00124368 mov r3, r8                                        |     r3 = r8;
    0x0012436c ldr r2, [r6, 0x10]                                |     r2 = *((r6 + 0x10));
    0x00124370 mov r0, r4                                        |     r0 = r4;
    0x00124374 bl 0x17f384                                       |     r0 = X509V3_extensions_print ();
    0x00124378 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 == r0) {
    0x0012437c beq 0x12442c                                      |         goto label_8;
                                                                 |     }
    0x00124380 mov r2, 1                                         |     r2 = 1;
    0x00124384 mov r1, sb                                        |     r1 = sb;
    0x00124388 mov r0, r4                                        |     r0 = r4;
    0x0012438c bl 0x6e820                                        |     r0 = BIO_write ();
    0x00124390 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x00124394 bgt 0x1242a0                                      |         goto label_4;
                                                                 |     }
    0x00124398 b 0x124094                                        |     goto label_1;
                                                                 | label_16:
    0x0012439c mov r1, sl                                        |     r1 = sl;
    0x001243a0 mov r0, r4                                        |     r0 = r4;
    0x001243a4 ldr sb, [sb, 4]                                   |     sb = *((sb + 4));
    0x001243a8 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x001243ac cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001243b0 ble 0x124094                                      |         goto label_1;
                                                                 |     }
    0x001243b4 ldr r1, [sb]                                      |     r1 = *(sb);
    0x001243b8 mov r0, r4                                        |     r0 = r4;
    0x001243bc bl 0x5438c                                        |     r0 = ASN1_GENERALIZEDTIME_print ();
    0x001243c0 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 == r0) {
    0x001243c4 beq 0x12442c                                      |         goto label_8;
                                                                 |     }
    0x001243c8 ldr r0, [sb, 4]                                   |     r0 = *((sb + 4));
    0x001243cc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x001243d0 beq 0x124300                                      |         goto label_5;
                                                                 |     }
    0x001243d4 bl 0x55144                                        |     r0 = ASN1_ENUMERATED_get ();
    0x001243d8 mov sb, r0                                        |     sb = r0;
    0x001243dc bl 0x123e58                                       |     OCSP_crl_reason_str ();
    0x001243e0 mov r3, sb                                        |     r3 = sb;
    0x001243e4 mov r1, fp                                        |     r1 = fp;
    0x001243e8 mov r2, r0                                        |     r2 = r0;
    0x001243ec mov r0, r4                                        |     r0 = r4;
    0x001243f0 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x001243f4 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x001243f8 bgt 0x124300                                      |         goto label_5;
                                                                 |     }
    0x001243fc b 0x124094                                        |     goto label_1;
                                                                 | label_17:
    0x00124400 ldr r1, [pc, 0xbc]                                |     r1 = *(0x1244c0);
    0x00124404 mov r0, r4                                        |     r0 = r4;
    0x00124408 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0012440c bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x00124410 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00124414 ble 0x124094                                      |         goto label_1;
                                                                 |     }
    0x00124418 ldr r1, [r6, 0xc]                                 |     r1 = *((r6 + 0xc));
    0x0012441c mov r0, r4                                        |     r0 = r4;
    0x00124420 bl 0x5438c                                        |     r0 = ASN1_GENERALIZEDTIME_print ();
    0x00124424 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 != r0) {
    0x00124428 bne 0x124338                                      |         goto label_6;
                                                                 |     }
                                                                 | label_8:
    0x0012442c mov r0, r5                                        |     r0 = r5;
    0x00124430 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00124434 bl 0x121eb8                                       |     OCSP_BASICRESP_free ();
    0x00124438 ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
                                                                 | label_10:
    0x0012443c mov r0, r3                                        |     r0 = r3;
    0x00124440 add sp, sp, 0x14                                  |     
    0x00124444 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |     
                                                                 | label_15:
    0x00124448 mov r1, r6                                        |     r1 = r6;
    0x0012444c ldr r0, [r5, 0x24]                                |     r0 = *((r5 + 0x24));
    0x00124450 bl 0x154528                                       |     r0 = OPENSSL_sk_value ();
    0x00124454 mov r1, r0                                        |     r1 = r0;
    0x00124458 mov r0, r4                                        |     r0 = r4;
    0x0012445c bl 0x16354c                                       |     X509_print ();
    0x00124460 mov r1, r6                                        |     r1 = r6;
    0x00124464 ldr r0, [r5, 0x24]                                |     r0 = *((r5 + 0x24));
    0x00124468 bl 0x154528                                       |     OPENSSL_sk_value ();
    0x0012446c add r6, r6, 1                                     |     r6++;
    0x00124470 mov r1, r0                                        |     r1 = r0;
    0x00124474 mov r0, r4                                        |     r0 = r4;
    0x00124478 bl 0x12a478                                       |     PEM_write_bio_X509 ();
    0x0012447c b 0x124248                                        |     goto label_7;
                                                                 | }
    ; 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/libcrypto.so.1.1 @ 0x115df4 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.OPENSSL_LH_node_stats_bio ()         | void OPENSSL_LH_node_stats_bio (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00115df4 push {r4, r5, r6, r7, r8, lr}         |     
    0x00115df8 ldr r7, [pc, 0x50]                    |     r7 = *(0x115e4c);
    0x00115dfc mov r5, r0                            |     r5 = r0;
    0x00115e00 mov r6, r1                            |     r6 = r1;
    0x00115e04 mov r4, 0                             |     r4 = 0;
    0x00115e08 add r7, pc, r7                        |     r7 = pc + r7;
                                                     |     do {
    0x00115e0c ldr r3, [r5, 0xc]                     |         r3 = *((r5 + 0xc));
    0x00115e10 cmp r3, r4                            |         
                                                     |         if (r3 > r4) {
    0x00115e14 popls {r4, r5, r6, r7, r8, pc}        |             
                                                     |         }
    0x00115e18 ldr r3, [r5]                          |         r3 = *(r5);
    0x00115e1c ldr r2, [r3, r4, lsl 2]               |         offset_0 = r4 << 2;
                                                     |         r2 = *((r3 + offset_0));
    0x00115e20 mov r3, 0                             |         r3 = 0;
                                                     | label_0:
    0x00115e24 cmp r2, 0                             |         
                                                     |         if (r2 != 0) {
    0x00115e28 bne 0x115e44                          |             goto label_1;
                                                     |         }
    0x00115e2c mov r2, r4                            |         r2 = r4;
    0x00115e30 mov r1, r7                            |         r1 = r7;
    0x00115e34 mov r0, r6                            |         r0 = r6;
    0x00115e38 bl 0x6bbc4                            |         BIO_printf ()
    0x00115e3c add r4, r4, 1                         |         r4++;
    0x00115e40 b 0x115e0c                            |         
                                                     |     } while (1);
                                                     | label_1:
    0x00115e44 add r3, r3, 1                         |     r3++;
    0x00115e48 ldr r2, [r2, 4]                       |     r2 = *((r2 + 4));
    0x00115e4c b 0x115e24                            |     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/libcrypto.so.1.1 @ 0x115e98 */
                                                                             | #include <stdint.h>
                                                                             |  
    ; (fcn) sym.OPENSSL_LH_node_usage_stats_bio ()                           | void OPENSSL_LH_node_usage_stats_bio (int32_t arg1, int32_t arg2) {
                                                                             |     int32_t var_0h;
                                                                             |     int32_t var_4h;
                                                                             |     int32_t var_ch;
                                                                             |     r0 = arg1;
                                                                             |     r1 = arg2;
    0x00115e98 ldr r3, [r0, 0xc]                                             |     r3 = *((r0 + 0xc));
    0x00115e9c push {r0, r1, r2, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x00115ea0 mov r4, 0                                                     |     r4 = 0;
    0x00115ea4 mov r7, r0                                                    |     r7 = r0;
    0x00115ea8 mov r6, r1                                                    |     r6 = r1;
    0x00115eac mov r5, r4                                                    |     r5 = r4;
    0x00115eb0 mov r2, r4                                                    |     r2 = r4;
                                                                             |     do {
    0x00115eb4 cmp r3, r2                                                    |         
                                                                             |         if (r3 == r2) {
    0x00115eb8 bne 0x115f60                                                  |             
    0x00115ebc ldr r1, [pc, 0xd0]                                            |             r1 = *(0x115f90);
    0x00115ec0 mov r2, r4                                                    |             r2 = r4;
    0x00115ec4 add r1, pc, r1                                                |             r1 = pc + r1;
    0x00115ec8 mov r0, r6                                                    |             r0 = r6;
    0x00115ecc bl 0x6bbc4                                                    |             BIO_printf ()
    0x00115ed0 ldr r1, [pc, 0xc0]                                            |             r1 = *(0x115f94);
    0x00115ed4 mov r2, r5                                                    |             r2 = r5;
    0x00115ed8 add r1, pc, r1                                                |             r1 = pc + r1;
    0x00115edc mov r0, r6                                                    |             r0 = r6;
    0x00115ee0 bl 0x6bbc4                                                    |             BIO_printf ()
    0x00115ee4 cmp r4, 0                                                     |             
                                                                             |             if (r4 != 0) {
    0x00115ee8 beq 0x115f58                                                  |                 
    0x00115eec ldr r7, [r7, 0xc]                                             |                 r7 = *((r7 + 0xc));
    0x00115ef0 mov r0, r5                                                    |                 r0 = r5;
    0x00115ef4 mov r1, r7                                                    |                 r1 = r7;
    0x00115ef8 bl 0x18315c                                                   |                 r0 = fcn_0018315c (r0, r1);
    0x00115efc mov r8, r0                                                    |                 r8 = r0;
    0x00115f00 mov fp, r1                                                    |                 
    0x00115f04 mov r0, r5                                                    |                 r0 = r5;
    0x00115f08 mov r1, r4                                                    |                 r1 = r4;
    0x00115f0c bl 0x18315c                                                   |                 fcn_0018315c (r0, r1);
    0x00115f10 mov r5, 0x64                                                  |                 r5 = 0x64;
    0x00115f14 mov sb, r0                                                    |                 sb = r0;
    0x00115f18 mov sl, r1                                                    |                 sl = r1;
    0x00115f1c mul r0, r5, fp                                                |                 r0 = r5 * fp;
    0x00115f20 mov r1, r7                                                    |                 r1 = r7;
    0x00115f24 bl 0x1830b4                                                   |                 fcn_001830b4 (r0, r1);
    0x00115f28 mov r1, r4                                                    |                 r1 = r4;
    0x00115f2c mov r7, r0                                                    |                 r7 = r0;
    0x00115f30 mul r0, r5, sl                                                |                 r0 = r5 * sl;
    0x00115f34 bl 0x1830b4                                                   |                 fcn_001830b4 (r0, r1);
    0x00115f38 ldr r1, [pc, 0x5c]                                            |                 r1 = *(0x115f98);
    0x00115f3c str sb, [sp]                                                  |                 *(sp) = sb;
    0x00115f40 mov r3, r7                                                    |                 r3 = r7;
    0x00115f44 mov r2, r8                                                    |                 r2 = r8;
    0x00115f48 add r1, pc, r1                                                |                 r1 = pc + r1;
    0x00115f4c str r0, [sp, 4]                                               |                 var_4h = r0;
    0x00115f50 mov r0, r6                                                    |                 r0 = r6;
    0x00115f54 bl 0x6bbc4                                                    |                 BIO_printf ()
                                                                             |             }
    0x00115f58 add sp, sp, 0xc                                               |             
    0x00115f5c pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}                      |             
                                                                             |         }
    0x00115f60 ldr r1, [r7]                                                  |         r1 = *(r7);
    0x00115f64 ldr r0, [r1, r2, lsl 2]                                       |         offset_0 = r2 << 2;
                                                                             |         r0 = *((r1 + offset_0));
    0x00115f68 mov r1, 0                                                     |         r1 = 0;
                                                                             | label_0:
    0x00115f6c cmp r0, 0                                                     |         
                                                                             |         if (r0 != 0) {
    0x00115f70 bne 0x115f88                                                  |             goto label_1;
                                                                             |         }
    0x00115f74 cmp r1, 0                                                     |         
                                                                             |         if (r1 == 0) {
    0x00115f78 addne r4, r4, 1                                               |             r4++;
                                                                             |         }
                                                                             |         if (r1 == 0) {
    0x00115f7c addne r5, r5, r1                                              |             r5 += r1;
                                                                             |         }
    0x00115f80 add r2, r2, 1                                                 |         r2++;
    0x00115f84 b 0x115eb4                                                    |         
                                                                             |     } while (1);
                                                                             | label_1:
    0x00115f88 add r1, r1, 1                                                 |     r1++;
    0x00115f8c ldr r0, [r0, 4]                                               |     r0 = *((r0 + 4));
    0x00115f90 b 0x115f6c                                                    |     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/libcrypto.so.1.1 @ 0x115c20 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.OPENSSL_LH_stats_bio ()          | void OPENSSL_LH_stats_bio (int32_t arg1, int32_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00115c20 push {r4, r5, r6, lr}             |     
    0x00115c24 ldr r2, [r0, 0x24]                |     r2 = *((r0 + 0x24));
    0x00115c28 mov r4, r1                        |     r4 = r1;
    0x00115c2c ldr r1, [pc, 0x13c]               |     r1 = *(0x115d6c);
    0x00115c30 mov r5, r0                        |     r5 = r0;
    0x00115c34 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115c38 mov r0, r4                        |     r0 = r4;
    0x00115c3c bl 0x6bbc4                        |     BIO_printf ()
    0x00115c40 ldr r1, [pc, 0x12c]               |     r1 = *(0x115d70);
    0x00115c44 ldr r2, [r5, 0xc]                 |     r2 = *((r5 + 0xc));
    0x00115c48 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115c4c mov r0, r4                        |     r0 = r4;
    0x00115c50 bl 0x6bbc4                        |     BIO_printf ()
    0x00115c54 ldr r1, [pc, 0x11c]               |     r1 = *(0x115d74);
    0x00115c58 ldr r2, [r5, 0x10]                |     r2 = *((r5 + 0x10));
    0x00115c5c add r1, pc, r1                    |     r1 = pc + r1;
    0x00115c60 mov r0, r4                        |     r0 = r4;
    0x00115c64 bl 0x6bbc4                        |     BIO_printf ()
    0x00115c68 ldr r1, [pc, 0x10c]               |     r1 = *(0x115d78);
    0x00115c6c ldr r2, [r5, 0x28]                |     r2 = *((r5 + 0x28));
    0x00115c70 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115c74 mov r0, r4                        |     r0 = r4;
    0x00115c78 bl 0x6bbc4                        |     BIO_printf ()
    0x00115c7c ldr r1, [pc, 0xfc]                |     r1 = *(0x115d7c);
    0x00115c80 ldr r2, [r5, 0x2c]                |     r2 = *((r5 + 0x2c));
    0x00115c84 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115c88 mov r0, r4                        |     r0 = r4;
    0x00115c8c bl 0x6bbc4                        |     BIO_printf ()
    0x00115c90 ldr r1, [pc, 0xec]                |     r1 = *(0x115d80);
    0x00115c94 ldr r2, [r5, 0x30]                |     r2 = *((r5 + 0x30));
    0x00115c98 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115c9c mov r0, r4                        |     r0 = r4;
    0x00115ca0 bl 0x6bbc4                        |     BIO_printf ()
    0x00115ca4 ldr r1, [pc, 0xdc]                |     r1 = *(0x115d84);
    0x00115ca8 ldr r2, [r5, 0x34]                |     r2 = *((r5 + 0x34));
    0x00115cac add r1, pc, r1                    |     r1 = pc + r1;
    0x00115cb0 mov r0, r4                        |     r0 = r4;
    0x00115cb4 bl 0x6bbc4                        |     BIO_printf ()
    0x00115cb8 ldr r1, [pc, 0xcc]                |     r1 = *(0x115d88);
    0x00115cbc ldr r2, [r5, 0x38]                |     r2 = *((r5 + 0x38));
    0x00115cc0 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115cc4 mov r0, r4                        |     r0 = r4;
    0x00115cc8 bl 0x6bbc4                        |     BIO_printf ()
    0x00115ccc ldr r1, [pc, 0xbc]                |     r1 = *(0x115d8c);
    0x00115cd0 ldr r2, [r5, 0x3c]                |     r2 = *((r5 + 0x3c));
    0x00115cd4 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115cd8 mov r0, r4                        |     r0 = r4;
    0x00115cdc bl 0x6bbc4                        |     BIO_printf ()
    0x00115ce0 ldr r1, [pc, 0xac]                |     r1 = *(0x115d90);
    0x00115ce4 ldr r2, [r5, 0x40]                |     r2 = *((r5 + 0x40));
    0x00115ce8 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115cec mov r0, r4                        |     r0 = r4;
    0x00115cf0 bl 0x6bbc4                        |     BIO_printf ()
    0x00115cf4 ldr r1, [pc, 0x9c]                |     r1 = *(0x115d94);
    0x00115cf8 ldr r2, [r5, 0x44]                |     r2 = *((r5 + 0x44));
    0x00115cfc add r1, pc, r1                    |     r1 = pc + r1;
    0x00115d00 mov r0, r4                        |     r0 = r4;
    0x00115d04 bl 0x6bbc4                        |     BIO_printf ()
    0x00115d08 ldr r1, [pc, 0x8c]                |     r1 = *(0x115d98);
    0x00115d0c ldr r2, [r5, 0x48]                |     r2 = *((r5 + 0x48));
    0x00115d10 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115d14 mov r0, r4                        |     r0 = r4;
    0x00115d18 bl 0x6bbc4                        |     BIO_printf ()
    0x00115d1c ldr r1, [pc, 0x7c]                |     r1 = *(0x115d9c);
    0x00115d20 ldr r2, [r5, 0x4c]                |     r2 = *((r5 + 0x4c));
    0x00115d24 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115d28 mov r0, r4                        |     r0 = r4;
    0x00115d2c bl 0x6bbc4                        |     BIO_printf ()
    0x00115d30 ldr r1, [pc, 0x6c]                |     r1 = *(0x115da0);
    0x00115d34 ldr r2, [r5, 0x50]                |     r2 = *((r5 + 0x50));
    0x00115d38 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115d3c mov r0, r4                        |     r0 = r4;
    0x00115d40 bl 0x6bbc4                        |     BIO_printf ()
    0x00115d44 ldr r1, [pc, 0x5c]                |     r1 = *(0x115da4);
    0x00115d48 ldr r2, [r5, 0x54]                |     r2 = *((r5 + 0x54));
    0x00115d4c add r1, pc, r1                    |     r1 = pc + r1;
    0x00115d50 mov r0, r4                        |     r0 = r4;
    0x00115d54 bl 0x6bbc4                        |     BIO_printf ()
    0x00115d58 ldr r1, [pc, 0x4c]                |     r1 = *(0x115da8);
    0x00115d5c ldr r2, [r5, 0x58]                |     r2 = *((r5 + 0x58));
    0x00115d60 mov r0, r4                        |     r0 = r4;
    0x00115d64 add r1, pc, r1                    |     r1 = pc + r1;
    0x00115d68 pop {r4, r5, r6, lr}              |     
    0x00115d6c b 0x6bbc4                         |     return void (*0x6bbc4)() ();
                                                 | }
    ; 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/libcrypto.so.1.1 @ 0x5d670 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.PEM_write_bio_ASN1_stream ()                 | void PEM_write_bio_ASN1_stream (int32_t arg_20h, int32_t arg_24h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0005d670 push {r0, r1, r2, r4, r5, r6, r7, lr}         |     
    0x0005d674 mov r5, r1                                    |     r5 = r1;
    0x0005d678 ldr r1, [pc, 0x54]                            |     r1 = *(0x5d6d0);
    0x0005d67c mov r6, r2                                    |     r6 = r2;
    0x0005d680 add r1, pc, r1                                |     r1 = pc + r1;
    0x0005d684 ldr r2, [sp, 0x20]                            |     r2 = *(arg_20h);
    0x0005d688 mov r4, r0                                    |     r4 = r0;
    0x0005d68c mov r7, r3                                    |     r7 = r3;
    0x0005d690 bl 0x6bbc4                                    |     BIO_printf ()
    0x0005d694 ldr r3, [sp, 0x24]                            |     r3 = *(arg_24h);
    0x0005d698 mov r2, r6                                    |     r2 = r6;
    0x0005d69c str r3, [sp]                                  |     *(sp) = r3;
    0x0005d6a0 mov r1, r5                                    |     r1 = r5;
    0x0005d6a4 mov r3, r7                                    |     r3 = r7;
    0x0005d6a8 mov r0, r4                                    |     r0 = r4;
    0x0005d6ac bl 0x5d5c8                                    |     fcn_0005d5c8 (r0, r1, r2);
    0x0005d6b0 ldr r1, [pc, 0x20]                            |     r1 = *(0x5d6d4);
    0x0005d6b4 ldr r2, [sp, 0x20]                            |     r2 = *(arg_20h);
    0x0005d6b8 add r1, pc, r1                                |     r1 = pc + r1;
    0x0005d6bc mov r5, r0                                    |     r5 = r0;
    0x0005d6c0 mov r0, r4                                    |     r0 = r4;
    0x0005d6c4 bl 0x6bbc4                                    |     BIO_printf ()
    0x0005d6c8 mov r0, r5                                    |     r0 = r5;
    0x0005d6cc add sp, sp, 0xc                               |     
    0x0005d6d0 pop {r4, r5, r6, r7, pc}                      |     
                                                             | }
    ; 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/libcrypto.so.1.1 @ 0x9daf4 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.SCT_LIST_print ()                            | void SCT_LIST_print (int32_t arg_20h, int32_t arg1, int32_t arg2) {
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0009daf4 push {r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x0009daf8 ldr sl, [pc, 0x6c]                            |     sl = *(0x9db68);
    0x0009dafc mov r5, r0                                    |     r5 = r0;
    0x0009db00 mov r6, r1                                    |     r6 = r1;
    0x0009db04 mov r8, r2                                    |     r8 = r2;
    0x0009db08 mov sb, r3                                    |     sb = r3;
    0x0009db0c bl 0x154518                                   |     OPENSSL_sk_num ();
    0x0009db10 mov r4, 0                                     |     r4 = 0;
    0x0009db14 add sl, pc, sl                                |     sl = pc + sl;
    0x0009db18 mov r7, r0                                    |     r7 = r0;
                                                             |     do {
    0x0009db1c cmp r4, r7                                    |         
                                                             |         if (r4 < r7) {
    0x0009db20 popge {r4, r5, r6, r7, r8, sb, sl, pc}        |             
                                                             |         }
    0x0009db24 mov r1, r4                                    |         r1 = r4;
    0x0009db28 mov r0, r5                                    |         r0 = r5;
    0x0009db2c bl 0x154528                                   |         OPENSSL_sk_value ();
    0x0009db30 ldr r3, [sp, 0x20]                            |         r3 = *(arg_20h);
    0x0009db34 mov r2, r8                                    |         r2 = r8;
    0x0009db38 mov r1, r6                                    |         r1 = r6;
    0x0009db3c bl 0x9d7ac                                    |         SCT_print ();
    0x0009db40 mov r0, r5                                    |         r0 = r5;
    0x0009db44 bl 0x154518                                   |         r0 = OPENSSL_sk_num ();
    0x0009db48 sub r0, r0, 1                                 |         r0--;
    0x0009db4c cmp r0, r4                                    |         
                                                             |         if (r0 > r4) {
    0x0009db50 ble 0x9db64                                   |             
    0x0009db54 mov r2, sb                                    |             r2 = sb;
    0x0009db58 mov r1, sl                                    |             r1 = sl;
    0x0009db5c mov r0, r6                                    |             r0 = r6;
    0x0009db60 bl 0x6bbc4                                    |             BIO_printf ()
                                                             |         }
    0x0009db64 add r4, r4, 1                                 |         r4++;
    0x0009db68 b 0x9db1c                                     |         
                                                             |     } 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/libcrypto.so.1.1 @ 0x9d7ac */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.SCT_print ()                                     | void SCT_print (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0009d7ac push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0009d7b0 mov r5, r0                                        |     r5 = r0;
    0x0009d7b4 subs r0, r3, 0                                    |     r0 = r3 - 0;
    0x0009d7b8 sub sp, sp, 0x24                                  |     
    0x0009d7bc mov r4, r1                                        |     r4 = r1;
    0x0009d7c0 mov r6, r2                                        |     r6 = r2;
                                                                 |     if (r0 != r3) {
    0x0009d7c4 beq 0x9d7d4                                       |         
    0x0009d7c8 ldr r2, [r5, 0x10]                                |         r2 = *((r5 + 0x10));
    0x0009d7cc ldr r1, [r5, 0xc]                                 |         r1 = *((r5 + 0xc));
    0x0009d7d0 bl 0x9ca48                                        |         CTLOG_STORE_get0_log_by_id ();
                                                                 |     }
    0x0009d7d4 ldr sb, [pc, 0x2cc]                               |     sb = OPENSSL_1_1_0a;
    0x0009d7d8 ldr r1, [pc, 0x2cc]                               |     r1 = *(0x9daa8);
    0x0009d7dc add sb, pc, sb                                    |     sb = pc + sb;
    0x0009d7e0 mov r2, r6                                        |     r2 = r6;
    0x0009d7e4 mov r3, sb                                        |     r3 = sb;
    0x0009d7e8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0009d7ec mov r8, r0                                        |     r8 = r0;
    0x0009d7f0 mov r0, r4                                        |     r0 = r4;
    0x0009d7f4 bl 0x6bbc4                                        |     BIO_printf ()
    0x0009d7f8 ldr r1, [pc, 0x2b0]                               |     r1 = *(0x9daac);
    0x0009d7fc add r7, r6, 4                                     |     r7 = r6 + 4;
    0x0009d800 mov r3, sb                                        |     r3 = sb;
    0x0009d804 mov r2, r7                                        |     r2 = r7;
    0x0009d808 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0009d80c mov r0, r4                                        |     r0 = r4;
    0x0009d810 bl 0x6bbc4                                        |     BIO_printf ()
    0x0009d814 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0009d818 add r6, r6, 0x10                                  |     r6 += 0x10;
    0x0009d81c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0009d820 beq 0x9d860                                       |         
    0x0009d824 ldr r1, [pc, 0x288]                               |         r1 = *(0x9dab0);
    0x0009d828 mov r3, sb                                        |         r3 = sb;
    0x0009d82c mov r2, r6                                        |         r2 = r6;
    0x0009d830 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0009d834 mov r0, r4                                        |         r0 = r4;
    0x0009d838 bl 0x6bbc4                                        |         BIO_printf ()
    0x0009d83c ldr r3, [r5, 8]                                   |         r3 = *((r5 + 8));
    0x0009d840 str r3, [sp]                                      |         *(sp) = r3;
    0x0009d844 ldr r3, [r5, 4]                                   |         r3 = *((r5 + 4));
                                                                 |     }
    0x0009d860 ldr r1, [pc, 0x250]                               |     r1 = *(0x9dab4);
    0x0009d864 mov r0, r4                                        |     r0 = r4;
    0x0009d868 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0009d86c bl 0x6bbc4                                        |     BIO_printf ()
    0x0009d870 cmp r8, 0                                         |     
                                                                 |     if (r8 != 0) {
    0x0009d874 beq 0x9d89c                                       |         
    0x0009d878 mov r0, r8                                        |         r0 = r8;
    0x0009d87c bl 0x9ca24                                        |         CTLOG_get0_name ();
    0x0009d880 ldr r1, [pc, 0x234]                               |         r1 = *(0x9dab8);
    0x0009d884 mov r3, sb                                        |         r3 = sb;
    0x0009d888 mov r2, r7                                        |         r2 = r7;
    0x0009d88c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0009d890 str r0, [sp]                                      |         *(sp) = r0;
    0x0009d894 mov r0, r4                                        |         r0 = r4;
    0x0009d898 bl 0x6bbc4                                        |         BIO_printf ()
                                                                 |     }
    0x0009d89c ldr r8, [pc, 0x21c]                               |     r8 = *(0x9dabc);
    0x0009d8a0 ldr r1, [pc, 0x21c]                               |     r1 = *(0x9dac0);
    0x0009d8a4 add r8, pc, r8                                    |     r8 = pc + r8;
    0x0009d8a8 mov r3, r8                                        |     r3 = r8;
    0x0009d8ac mov r2, r7                                        |     r2 = r7;
    0x0009d8b0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0009d8b4 mov r0, r4                                        |     r0 = r4;
    0x0009d8b8 bl 0x6bbc4                                        |     BIO_printf ()
    0x0009d8bc ldr r3, [r5, 0x10]                                |     r3 = *((r5 + 0x10));
    0x0009d8c0 mov r2, 0x10                                      |     r2 = 0x10;
    0x0009d8c4 str r3, [sp]                                      |     *(sp) = r3;
    0x0009d8c8 mov r1, r6                                        |     r1 = r6;
    0x0009d8cc ldr r3, [r5, 0xc]                                 |     r3 = *((r5 + 0xc));
    0x0009d8d0 mov r0, r4                                        |     r0 = r4;
    0x0009d8d4 bl 0x6a534                                        |     BIO_hex_string ();
    0x0009d8d8 ldr r1, [pc, 0x1e8]                               |     r1 = *(0x9dac4);
    0x0009d8dc mov r3, r8                                        |     r3 = r8;
    0x0009d8e0 mov r2, r7                                        |     r2 = r7;
    0x0009d8e4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0009d8e8 mov r0, r4                                        |     r0 = r4;
    0x0009d8ec bl 0x6bbc4                                        |     BIO_printf ()
    0x0009d8f0 ldrd r8, sb, [r5, 0x18]                           |     __asm ("ldrd r8, sb, [r5, 0x18]");
    0x0009d8f4 bl 0x65bf8                                        |     r0 = ASN1_GENERALIZEDTIME_new ();
    0x0009d8f8 subs sl, r0, 0                                    |     sl = r0 - 0;
                                                                 |     if (sl != r0) {
    0x0009d8fc beq 0x9d9bc                                       |         
    0x0009d900 mov r0, r8                                        |         r0 = r8;
    0x0009d904 add r3, pc, 0x194                                 |         r3 = pc + 0x194;
    0x0009d908 ldrd r2, r3, [r3]                                 |         __asm ("ldrd r2, r3, [r3]");
    0x0009d90c mov r1, sb                                        |         r1 = sb;
    0x0009d910 bl 0x183d58                                       |         fcn_00183d58 (r0, r1);
    0x0009d914 mov r0, r2                                        |         r0 = r2;
    0x0009d918 mov r1, r3                                        |         r1 = r3;
    0x0009d91c mov r2, 0x3e8                                     |         r2 = 0x3e8;
    0x0009d920 mov r3, 0                                         |         r3 = 0;
    0x0009d924 bl 0x183d58                                       |         fcn_00183d58 (r0, r1);
    0x0009d928 add r3, pc, 0x170                                 |         r3 = pc + 0x170;
    0x0009d92c ldrd r2, r3, [r3]                                 |         __asm ("ldrd r2, r3, [r3]");
    0x0009d930 mov r1, sb                                        |         r1 = sb;
    0x0009d934 mov fp, r0                                        |         
    0x0009d938 mov r0, r8                                        |         r0 = r8;
    0x0009d93c bl 0x183d58                                       |         fcn_00183d58 (r0, r1);
    0x0009d940 mov r3, fp                                        |         r3 = fp;
    0x0009d944 mov r1, 0                                         |         r1 = 0;
    0x0009d948 mov r2, r0                                        |         r2 = r0;
    0x0009d94c mov r0, sl                                        |         r0 = sl;
    0x0009d950 bl 0x54314                                        |         ASN1_GENERALIZEDTIME_adj ();
    0x0009d954 mov r0, sl                                        |         r0 = sl;
    0x0009d958 bl 0x5b9f8                                        |         ASN1_STRING_get0_data ();
    0x0009d95c mov r2, 0x3e8                                     |         r2 = 0x3e8;
    0x0009d960 mov r3, 0                                         |         r3 = 0;
    0x0009d964 mov r1, sb                                        |         r1 = sb;
    0x0009d968 mov fp, r0                                        |         
    0x0009d96c mov r0, r8                                        |         r0 = r8;
    0x0009d970 bl 0x183d58                                       |         fcn_00183d58 (r0, r1);
    0x0009d974 add r8, sp, 0xc                                   |         r8 += var_ch;
    0x0009d978 mov r3, fp                                        |         r3 = fp;
    0x0009d97c mov r1, 0x14                                      |         r1 = 0x14;
    0x0009d980 mov r0, r8                                        |         r0 = r8;
    0x0009d984 str r2, [sp]                                      |         *(sp) = r2;
    0x0009d988 ldr r2, [pc, 0x13c]                               |         r2 = *(0x9dac8);
    0x0009d98c add r2, pc, r2                                    |         r2 = pc + r2;
    0x0009d990 bl 0x6bc48                                        |         BIO_snprintf ()
    0x0009d994 mov r1, r8                                        |         r1 = r8;
    0x0009d998 mov r0, sl                                        |         r0 = sl;
    0x0009d99c bl 0x542a8                                        |         r0 = ASN1_GENERALIZEDTIME_set_string ();
    0x0009d9a0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0009d9a4 beq 0x9d9b4                                       |             
    0x0009d9a8 mov r1, sl                                        |             r1 = sl;
    0x0009d9ac mov r0, r4                                        |             r0 = r4;
    0x0009d9b0 bl 0x5438c                                        |             ASN1_GENERALIZEDTIME_print ();
                                                                 |         }
    0x0009d9b4 mov r0, sl                                        |         r0 = sl;
    0x0009d9b8 bl 0x65c00                                        |         ASN1_GENERALIZEDTIME_free ();
                                                                 |     }
    0x0009d9bc ldr r3, [pc, 0x10c]                               |     r3 = *(0x9dacc);
    0x0009d9c0 ldr r1, [pc, 0x10c]                               |     r1 = *(0x9dad0);
    0x0009d9c4 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0009d9c8 mov r2, r7                                        |     r2 = r7;
    0x0009d9cc add r1, pc, r1                                    |     r1 = pc + r1;
    0x0009d9d0 mov r0, r4                                        |     r0 = r4;
    0x0009d9d4 bl 0x6bbc4                                        |     BIO_printf ()
    0x0009d9d8 ldr r3, [r5, 0x24]                                |     r3 = *((r5 + 0x24));
    0x0009d9dc cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0009d9e0 bne 0x9da64                                       |         void (*0x9da64)() ();
                                                                 |     }
    0x0009d9e4 ldr r1, [pc, 0xec]                                |     r1 = *(0x9dad4);
    0x0009d9e8 mov r0, r4                                        |     r0 = r4;
    0x0009d9ec add r1, pc, r1                                    |     r1 = pc + r1;
    0x0009d9f0 bl 0x6bbc4                                        |     BIO_printf ()
                                                                 | }
    ; 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/libcrypto.so.1.1 @ 0x5d368 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.SMIME_crlf_copy ()                               | void SMIME_crlf_copy (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_410h;
                                                                 |     int32_t var_4h_2;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0005d368 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0005d36c sub sp, sp, 0x410                                 |     
    0x0005d370 sub sp, sp, 4                                     |     
    0x0005d374 mov r4, r1                                        |     r4 = r1;
    0x0005d378 mov r8, r2                                        |     r8 = r2;
    0x0005d37c mov sb, r0                                        |     sb = r0;
    0x0005d380 bl 0x6d3ec                                        |     BIO_f_buffer ();
    0x0005d384 bl 0x6e4f0                                        |     r0 = BIO_new ();
    0x0005d388 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 != r0) {
    0x0005d38c moveq r0, r6                                      |         r0 = r6;
                                                                 |     }
                                                                 |     if (r6 == r0) {
    0x0005d390 beq 0x5d47c                                       |         goto label_2;
                                                                 |     }
    0x0005d394 mov r1, r4                                        |     r1 = r4;
    0x0005d398 bl 0x6ee74                                        |     BIO_push ();
    0x0005d39c tst r8, 0x80                                      |     
    0x0005d3a0 add r5, sp, 0x10                                  |     r5 += var_10h;
    0x0005d3a4 mov r4, r0                                        |     r4 = r0;
                                                                 |     if ((r8 & 0x80) != 0) {
    0x0005d3a8 bne 0x5d434                                       |         goto label_3;
                                                                 |     }
    0x0005d3ac tst r8, 1                                         |     
                                                                 |     if ((r8 & 1) != 0) {
    0x0005d3b0 beq 0x5d3c0                                       |         
    0x0005d3b4 ldr r1, [pc, 0x144]                               |         r1 = *(0x5d4fc);
    0x0005d3b8 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0005d3bc bl 0x6bbc4                                        |         BIO_printf ()
                                                                 |     }
    0x0005d3c0 ldr r3, [pc, 0x13c]                               |     r3 = *(0x5d500);
    0x0005d3c4 ldr fp, [pc, 0x13c]                               |     fp = *(0x5d504);
    0x0005d3c8 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0005d3cc mov r7, 0                                         |     r7 = 0;
    0x0005d3d0 add fp, pc, fp                                    |     
    0x0005d3d4 str r3, [sp]                                      |     *(sp) = r3;
                                                                 | label_0:
    0x0005d3d8 mov r2, 0x400                                     |     r2 = 0x400;
    0x0005d3dc mov r1, r5                                        |     r1 = r5;
    0x0005d3e0 mov r0, sb                                        |     r0 = sb;
    0x0005d3e4 bl 0x6e9f4                                        |     r0 = BIO_gets ();
    0x0005d3e8 cmp r0, 0                                         |     
    0x0005d3ec str r0, [sp, 0xc]                                 |     var_ch = r0;
                                                                 |     if (r0 <= 0) {
    0x0005d3f0 ble 0x5d454                                       |         goto label_4;
                                                                 |     }
    0x0005d3f4 mov r2, r8                                        |     r2 = r8;
    0x0005d3f8 sub r1, r5, 4                                     |     r1 -= var_ch;
    0x0005d3fc mov r0, r5                                        |     r0 = r5;
    0x0005d400 bl 0x5c50c                                        |     fcn_0005c50c (r0, r1);
    0x0005d404 ldr r2, [sp, 0xc]                                 |     r2 = var_ch;
    0x0005d408 and r3, r8, 0x80000                               |     r3 = r8 & 0x80000;
    0x0005d40c cmp r2, 0                                         |     
    0x0005d410 and sl, r0, 0xff                                  |     sl = r0 & 0xff;
                                                                 |     if (r2 == 0) {
    0x0005d414 beq 0x5d4e0                                       |         goto label_5;
                                                                 |     }
    0x0005d418 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0005d41c beq 0x5d4b0                                       |         goto label_6;
                                                                 |     }
    0x0005d420 mov r3, 0                                         |     r3 = 0;
    0x0005d424 b 0x5d4a4                                         |     goto label_7;
                                                                 |     do {
    0x0005d428 mov r1, r5                                        |         r1 = r5;
    0x0005d42c mov r0, r4                                        |         r0 = r4;
    0x0005d430 bl 0x6e820                                        |         BIO_write ();
                                                                 | label_3:
    0x0005d434 mov r2, 0x400                                     |         r2 = 0x400;
    0x0005d438 mov r1, r5                                        |         r1 = r5;
    0x0005d43c mov r0, sb                                        |         r0 = sb;
    0x0005d440 bl 0x6e7e0                                        |         r0 = BIO_read ();
    0x0005d444 cmp r0, 0                                         |         
    0x0005d448 mov r2, r0                                        |         r2 = r0;
    0x0005d44c str r0, [sp, 0xc]                                 |         var_ch = r0;
    0x0005d450 bgt 0x5d428                                       |         
                                                                 |     } while (r0 > 0);
                                                                 | label_4:
    0x0005d454 mov r3, 0                                         |     r3 = 0;
    0x0005d458 mov r2, r3                                        |     r2 = r3;
    0x0005d45c mov r1, 0xb                                       |     r1 = 0xb;
    0x0005d460 mov r0, r4                                        |     r0 = r4;
    0x0005d464 bl 0x6ebe8                                        |     BIO_ctrl ();
    0x0005d468 mov r0, r4                                        |     r0 = r4;
    0x0005d46c bl 0x6eec0                                        |     BIO_pop ();
    0x0005d470 mov r0, r6                                        |     r0 = r6;
    0x0005d474 bl 0x6e63c                                        |     BIO_free ();
    0x0005d478 mov r0, 1                                         |     r0 = 1;
                                                                 | label_2:
    0x0005d47c add sp, sp, 0x410                                 |     
    0x0005d480 add sp, sp, 4                                     |     
    0x0005d484 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |     
                                                                 |     do {
    0x0005d488 mov r2, 2                                         |         r2 = 2;
    0x0005d48c mov r1, fp                                        |         r1 = fp;
    0x0005d490 mov r0, r4                                        |         r0 = r4;
    0x0005d494 str r3, [sp, 4]                                   |         var_4h = r3;
    0x0005d498 bl 0x6e820                                        |         BIO_write ();
    0x0005d49c ldr r3, [sp, 4]                                   |         r3 = var_4h;
    0x0005d4a0 add r3, r3, 1                                     |         r3++;
                                                                 | label_7:
    0x0005d4a4 cmp r7, r3                                        |         
    0x0005d4a8 bne 0x5d488                                       |         
                                                                 |     } while (r7 != r3);
    0x0005d4ac mov r7, 0                                         |     r7 = 0;
                                                                 | label_6:
    0x0005d4b0 ldr r2, [sp, 0xc]                                 |     r2 = var_ch;
    0x0005d4b4 mov r1, r5                                        |     r1 = r5;
    0x0005d4b8 mov r0, r4                                        |     r0 = r4;
    0x0005d4bc bl 0x6e820                                        |     BIO_write ();
    0x0005d4c0 cmp sl, 0                                         |     
                                                                 |     if (sl == 0) {
    0x0005d4c4 beq 0x5d3d8                                       |         goto label_0;
                                                                 |     }
    0x0005d4c8 ldr r1, [pc, 0x3c]                                |     r1 = *(0x5d508);
    0x0005d4cc mov r2, 2                                         |     r2 = 2;
    0x0005d4d0 add r1, pc, r1                                    |     r1 = pc + r1;
                                                                 | label_1:
    0x0005d4d4 mov r0, r4                                        |     r0 = r4;
    0x0005d4d8 bl 0x6e820                                        |     BIO_write ();
    0x0005d4dc b 0x5d3d8                                         |     goto label_0;
                                                                 | label_5:
    0x0005d4e0 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0005d4e4 addne r7, r7, 1                                   |         r7++;
                                                                 |         goto label_8;
                                                                 |     }
                                                                 |     if (r3 != 0) {
                                                                 | label_8:
    0x0005d4e8 bne 0x5d3d8                                       |         goto label_0;
                                                                 |     }
    0x0005d4ec cmp sl, 0                                         |     
                                                                 |     if (sl == 0) {
    0x0005d4f0 beq 0x5d3d8                                       |         goto label_0;
                                                                 |     }
    0x0005d4f4 mov r2, 2                                         |     r2 = 2;
    0x0005d4f8 ldr r1, [sp]                                      |     r1 = *(sp);
    0x0005d4fc b 0x5d4d4                                         |     goto label_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/libcrypto.so.1.1 @ 0x5d6dc */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.SMIME_write_ASN1 ()                              | void SMIME_write_ASN1 (int32_t arg_80h, int32_t arg_84h, int32_t arg_88h, int32_t arg_8ch, int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_34h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0005d6dc push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0005d6e0 mov r7, r3                                        |     r7 = r3;
    0x0005d6e4 sub sp, sp, 0x5c                                  |     
    0x0005d6e8 tst r7, 0x400                                     |     
    0x0005d6ec mov r4, r0                                        |     r4 = r0;
    0x0005d6f0 str r1, [sp, 0x10]                                |     var_10h = r1;
    0x0005d6f4 str r2, [sp, 0xc]                                 |     var_ch = r2;
    0x0005d6f8 ldr r3, [sp, 0x80]                                |     r3 = *(arg_80h);
                                                                 |     if ((r7 & 0x400) != 0) {
    0x0005d6fc bne 0x5d758                                       |         goto label_2;
                                                                 |     }
    0x0005d700 ldr r2, [pc, 0x5e0]                               |     r2 = *(0x5dce4);
    0x0005d704 add r2, pc, r2                                    |     r2 = pc + r2;
                                                                 |     do {
    0x0005d708 tst r7, 0x800                                     |         
    0x0005d70c str r2, [sp, 8]                                   |         var_8h = r2;
                                                                 |         if ((r7 & 0x800) != 0) {
    0x0005d710 bne 0x5d764                                       |             goto label_3;
                                                                 |         }
    0x0005d714 ldr r5, [pc, 0x5d0]                               |         r5 = *(0x5dce8);
    0x0005d718 add r5, pc, r5                                    |         r5 = pc + r5;
                                                                 | label_0:
    0x0005d71c ldr r2, [sp, 0xc]                                 |         r2 = var_ch;
    0x0005d720 adds r6, r2, 0                                    |         r6 = r2 + 0;
                                                                 |         if (r6 == r2) {
    0x0005d724 movne r6, 1                                       |             r6 = 1;
                                                                 |         }
    0x0005d728 ands r6, r6, r7, lsr 6                            |         r6 &= (r7 >> 6);
                                                                 |         if (r6 == r6) {
    0x0005d72c beq 0x5db6c                                       |             goto label_4;
                                                                 |         }
    0x0005d730 add fp, sp, 0x34                                  |         
                                                                 | label_2:
    0x0005d758 ldr r2, [pc, 0x590]                               |         r2 = *(0x5dcec);
    0x0005d75c add r2, pc, r2                                    |         r2 = pc + r2;
    0x0005d760 b 0x5d708                                         |         
                                                                 |     } while (1);
                                                                 | label_3:
    0x0005d764 ldr r5, [pc, 0x588]                               |     r5 = *(0x5dcf0);
    0x0005d768 add r5, pc, r5                                    |     r5 = pc + r5;
    0x0005d76c b 0x5d71c                                         |     goto label_0;
                                                                 | label_4:
    0x0005db6c cmp r3, 0x17                                      |     
                                                                 |     if (r3 == 0x17) {
    0x0005db70 beq 0x5dca0                                       |         goto label_5;
                                                                 |     }
    0x0005db74 cmp r3, 0x16                                      |     
                                                                 |     if (r3 != 0x16) {
    0x0005db78 bne 0x5dc80                                       |         goto label_6;
                                                                 |     }
    0x0005db7c ldr r3, [sp, 0x84]                                |     r3 = *(arg_84h);
    0x0005db80 cmp r3, 0xcc                                      |     
                                                                 |     if (r3 == 0xcc) {
    0x0005db84 beq 0x5dcb4                                       |         goto label_7;
                                                                 |     }
    0x0005db88 ldr r0, [sp, 0x88]                                |     r0 = *(arg_88h);
    0x0005db8c bl 0x154518                                       |     r0 = OPENSSL_sk_num ();
    0x0005db90 cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0005db94 bge 0x5dcc8                                       |         goto label_8;
                                                                 |     }
    0x0005db98 ldr r6, [pc, 0x1c0]                               |     r6 = *(0x5dd5c);
    0x0005db9c ldr r8, [pc, 0x1c0]                               |     r8 = *(0x5dd60);
    0x0005dba0 add r6, pc, r6                                    |     r6 = pc + r6;
    0x0005dba4 add r8, pc, r8                                    |     r8 = pc + r8;
                                                                 | label_1:
    0x0005dba8 ldr r1, [pc, 0x1b8]                               |     r1 = *(0x5dd64);
    0x0005dbac mov r2, r5                                        |     r2 = r5;
    0x0005dbb0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005dbb4 mov r0, r4                                        |     r0 = r4;
    0x0005dbb8 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005dbbc ldr r1, [pc, 0x1a8]                               |     r1 = *(0x5dd68);
    0x0005dbc0 mov r0, r4                                        |     r0 = r4;
    0x0005dbc4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005dbc8 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005dbcc ldr r1, [pc, 0x19c]                               |     r1 = *(0x5dd6c);
    0x0005dbd0 mov r3, r5                                        |     r3 = r5;
    0x0005dbd4 mov r2, r8                                        |     r2 = r8;
    0x0005dbd8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005dbdc mov r0, r4                                        |     r0 = r4;
    0x0005dbe0 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005dbe4 ldr r1, [pc, 0x188]                               |     r1 = *(0x5dd70);
    0x0005dbe8 ldr r2, [sp, 8]                                   |     r2 = var_8h;
    0x0005dbec add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005dbf0 mov r0, r4                                        |     r0 = r4;
    0x0005dbf4 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005dbf8 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0005dbfc beq 0x5dc14                                       |         
    0x0005dc00 ldr r1, [pc, 0x170]                               |         r1 = *(0x5dd74);
    0x0005dc04 mov r2, r6                                        |         r2 = r6;
    0x0005dc08 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0005dc0c mov r0, r4                                        |         r0 = r4;
    0x0005dc10 bl 0x6bbc4                                        |         BIO_printf ()
                                                                 |     }
    0x0005dc14 ldr r1, [pc, 0x160]                               |     r1 = *(0x5dd78);
    0x0005dc18 mov r3, r5                                        |     r3 = r5;
    0x0005dc1c mov r2, r8                                        |     r2 = r8;
    0x0005dc20 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005dc24 mov r0, r4                                        |     r0 = r4;
    0x0005dc28 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005dc2c ldr r1, [pc, 0x14c]                               |     r1 = *(0x5dd7c);
    0x0005dc30 mov r3, r5                                        |     r3 = r5;
    0x0005dc34 mov r2, r5                                        |     r2 = r5;
    0x0005dc38 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005dc3c mov r0, r4                                        |     r0 = r4;
    0x0005dc40 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005dc44 ldr r3, [sp, 0x8c]                                |     r3 = *(arg_8ch);
    0x0005dc48 ldr r2, [sp, 0xc]                                 |     r2 = var_ch;
    0x0005dc4c str r3, [sp]                                      |     *(sp) = r3;
    0x0005dc50 ldr r1, [sp, 0x10]                                |     r1 = var_10h;
    0x0005dc54 mov r3, r7                                        |     r3 = r7;
    0x0005dc58 mov r0, r4                                        |     r0 = r4;
    0x0005dc5c bl 0x5d5c8                                        |     r0 = fcn_0005d5c8 (r0, r1, r2);
    0x0005dc60 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0005dc64 beq 0x5d74c                                       |         void (*0x5d74c)() ();
                                                                 |     }
    0x0005dc68 ldr r1, [pc, 0x114]                               |     r1 = *(0x5dd80);
    0x0005dc6c mov r2, r5                                        |     r2 = r5;
    0x0005dc70 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0005dc74 mov r0, r4                                        |     r0 = r4;
    0x0005dc78 bl 0x6bbc4                                        |     BIO_printf ()
    0x0005dc7c b 0x5da54                                         |     void (*0x5da54)() ();
                                                                 | label_6:
    0x0005dc80 ldr r2, [pc, 0x100]                               |     r2 = *(0x5dd84);
    0x0005dc84 cmp r3, r2                                        |     
                                                                 |     if (r3 == r2) {
    0x0005dc88 bne 0x5dcdc                                       |         
    0x0005dc8c ldr r6, [pc, 0xf8]                                |         r6 = *(0x5dd88);
    0x0005dc90 ldr r8, [pc, 0xf8]                                |         r8 = *(0x5dd8c);
    0x0005dc94 add r6, pc, r6                                    |         r6 = pc + r6;
    0x0005dc98 add r8, pc, r8                                    |         r8 = pc + r8;
    0x0005dc9c b 0x5dba8                                         |         goto label_1;
                                                                 | label_5:
    0x0005dca0 ldr r6, [pc, 0xec]                                |         r6 = *(0x5dd90);
    0x0005dca4 ldr r8, [pc, 0xec]                                |         r8 = *(0x5dd94);
    0x0005dca8 add r6, pc, r6                                    |         r6 = pc + r6;
    0x0005dcac add r8, pc, r8                                    |         r8 = pc + r8;
    0x0005dcb0 b 0x5dba8                                         |         goto label_1;
                                                                 | label_7:
    0x0005dcb4 ldr r6, [pc, 0xe0]                                |         r6 = *(0x5dd98);
    0x0005dcb8 ldr r8, [pc, 0xe0]                                |         r8 = *(0x5dd9c);
    0x0005dcbc add r6, pc, r6                                    |         r6 = pc + r6;
    0x0005dcc0 add r8, pc, r8                                    |         r8 = pc + r8;
    0x0005dcc4 b 0x5dba8                                         |         goto label_1;
                                                                 | label_8:
    0x0005dcc8 ldr r6, [pc, 0xd4]                                |         r6 = *(0x5dda0);
    0x0005dccc ldr r8, [pc, 0xd4]                                |         r8 = *(0x5dda4);
    0x0005dcd0 add r6, pc, r6                                    |         r6 = pc + r6;
    0x0005dcd4 add r8, pc, r8                                    |         r8 = pc + r8;
    0x0005dcd8 b 0x5dba8                                         |         goto label_1;
                                                                 |     }
    0x0005dcdc ldr r8, [pc, 0xc8]                                |     r8 = *(0x5dda8);
    0x0005dce0 add r8, pc, r8                                    |     r8 = pc + r8;
    0x0005dce4 b 0x5dba8                                         |     goto label_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/libcrypto.so.1.1 @ 0x159188 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.TS_MSG_IMPRINT_print_bio ()      | void TS_MSG_IMPRINT_print_bio (int32_t arg1, int32_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00159188 push {r4, r5, r6, lr}             |     
    0x0015918c mov r5, r1                        |     r5 = r1;
    0x00159190 ldr r1, [r1]                      |     r1 = *(r1);
    0x00159194 mov r4, r0                        |     r4 = r0;
    0x00159198 bl 0x159140                       |     TS_X509_ALGOR_print_bio ();
    0x0015919c ldr r1, [pc, 0x3c]                |     r1 = *(0x1591dc);
    0x001591a0 mov r0, r4                        |     r0 = r4;
    0x001591a4 add r1, pc, r1                    |     r1 = pc + r1;
    0x001591a8 bl 0x6bbc4                        |     BIO_printf ()
    0x001591ac ldr r5, [r5, 4]                   |     r5 = *((r5 + 4));
    0x001591b0 mov r0, r5                        |     r0 = r5;
    0x001591b4 bl 0x5b9f8                        |     r0 = ASN1_STRING_get0_data ();
    0x001591b8 mov r6, r0                        |     r6 = r0;
    0x001591bc mov r0, r5                        |     r0 = r5;
    0x001591c0 bl 0x5b9e0                        |     ASN1_STRING_length ();
    0x001591c4 mov r3, 4                         |     r3 = 4;
    0x001591c8 mov r1, r6                        |     r1 = r6;
    0x001591cc mov r2, r0                        |     r2 = r0;
    0x001591d0 mov r0, r4                        |     r0 = r4;
    0x001591d4 bl 0x6a508                        |     BIO_dump_indent ();
    0x001591d8 mov r0, 1                         |     r0 = 1;
    0x001591dc pop {r4, r5, r6, pc}              |     
                                                 | }
    ; 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/libcrypto.so.1.1 @ 0x158fd8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.TS_OBJ_print_bio ()      | void TS_OBJ_print_bio (int32_t arg1, int32_t arg2) {
                                         |     int32_t var_0h;
                                         |     int32_t var_84h;
                                         |     r0 = arg1;
                                         |     r1 = arg2;
    0x00158fd8 push {r4, r5, lr}         |     
    0x00158fdc sub sp, sp, 0x84          |     
    0x00158fe0 mov r4, sp                |     r4 = sp;
    0x00158fe4 mov r5, r0                |     r5 = r0;
    0x00158fe8 mov r3, 0                 |     r3 = 0;
    0x00158fec mov r2, r1                |     r2 = r1;
    0x00158ff0 mov r0, r4                |     r0 = r4;
    0x00158ff4 mov r1, 0x80              |     r1 = 0x80;
    0x00158ff8 bl 0x12093c               |     OBJ_obj2txt ();
    0x00158ffc ldr r1, [pc, 0x18]        |     r1 = *(0x159018);
    0x00159000 mov r2, r4                |     r2 = r4;
    0x00159004 add r1, pc, r1            |     r1 = pc + r1;
    0x00159008 mov r0, r5                |     r0 = r5;
    0x0015900c bl 0x6bbc4                |     BIO_printf ()
    0x00159010 mov r0, 1                 |     r0 = 1;
    0x00159014 add sp, sp, 0x84          |     
    0x00159018 pop {r4, r5, pc}          |     
                                         | }
    ; 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/libcrypto.so.1.1 @ 0x1591e4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.TS_REQ_print_bio ()          | void TS_REQ_print_bio (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x001591e4 push {r4, r5, r6, lr}         |     
    0x001591e8 subs r5, r1, 0                |     r5 = r1 - 0;
                                             |     if (r5 == r1) {
    0x001591ec beq 0x1592e8                  |         goto label_2;
                                             |     }
    0x001591f0 mov r4, r0                    |     r4 = r0;
    0x001591f4 mov r0, r5                    |     r0 = r5;
    0x001591f8 bl 0x15931c                   |     TS_REQ_get_version ();
    0x001591fc ldr r1, [pc, 0xec]            |     r1 = *(0x1592ec);
    0x00159200 add r1, pc, r1                |     r1 = pc + r1;
    0x00159204 mov r2, r0                    |     r2 = r0;
    0x00159208 mov r0, r4                    |     r0 = r4;
    0x0015920c bl 0x6bbc4                    |     BIO_printf ()
    0x00159210 ldr r1, [r5, 4]               |     r1 = *((r5 + 4));
    0x00159214 mov r0, r4                    |     r0 = r4;
    0x00159218 bl 0x159188                   |     TS_MSG_IMPRINT_print_bio ();
    0x0015921c ldr r1, [pc, 0xd0]            |     r1 = *(0x1592f0);
    0x00159220 mov r0, r4                    |     r0 = r4;
    0x00159224 add r1, pc, r1                |     r1 = pc + r1;
    0x00159228 bl 0x6bbc4                    |     BIO_printf ()
    0x0015922c mov r0, r5                    |     r0 = r5;
    0x00159230 bl 0x15947c                   |     r0 = TS_REQ_get_policy_id ();
    0x00159234 subs r1, r0, 0                |     r1 = r0 - 0;
                                             |     if (r1 != r0) {
    0x00159238 bne 0x1592c4                  |         goto label_3;
                                             |     }
    0x0015923c ldr r1, [pc, 0xb4]            |     r1 = *(0x1592f4);
    0x00159240 mov r0, r4                    |     r0 = r4;
    0x00159244 add r1, pc, r1                |     r1 = pc + r1;
    0x00159248 bl 0x6bbc4                    |     BIO_printf ()
                                             |     do {
    0x0015924c ldr r1, [pc, 0xa8]            |         r1 = *(0x1592f8);
    0x00159250 mov r0, r4                    |         r0 = r4;
    0x00159254 add r1, pc, r1                |         r1 = pc + r1;
    0x00159258 bl 0x6bbc4                    |         BIO_printf ()
    0x0015925c ldr r1, [r5, 0xc]             |         r1 = *((r5 + 0xc));
    0x00159260 cmp r1, 0                     |         
                                             |         if (r1 != 0) {
    0x00159264 bne 0x1592d0                  |             goto label_4;
                                             |         }
    0x00159268 ldr r1, [pc, 0x90]            |         r1 = *(0x1592fc);
    0x0015926c mov r0, r4                    |         r0 = r4;
    0x00159270 add r1, pc, r1                |         r1 = pc + r1;
    0x00159274 bl 0x6bbc4                    |         BIO_printf ()
                                             | label_0:
    0x00159278 ldr r1, [pc, 0x84]            |         r1 = *(0x159300);
    0x0015927c mov r2, 1                     |         r2 = 1;
    0x00159280 add r1, pc, r1                |         r1 = pc + r1;
    0x00159284 mov r0, r4                    |         r0 = r4;
    0x00159288 bl 0x6e820                    |         BIO_write ();
    0x0015928c ldr r3, [r5, 0x10]            |         r3 = *((r5 + 0x10));
    0x00159290 cmp r3, 0                     |         
                                             |         if (r3 != 0) {
    0x00159294 bne 0x1592dc                  |             goto label_5;
                                             |         }
    0x00159298 ldr r2, [pc, 0x68]            |         r2 = *(0x159304);
    0x0015929c add r2, pc, r2                |         r2 = pc + r2;
                                             | label_1:
    0x001592a0 ldr r1, [pc, 0x64]            |         r1 = *(0x159308);
    0x001592a4 mov r0, r4                    |         r0 = r4;
    0x001592a8 add r1, pc, r1                |         r1 = pc + r1;
    0x001592ac bl 0x6bbc4                    |         BIO_printf ()
    0x001592b0 ldr r1, [r5, 0x14]            |         r1 = *((r5 + 0x14));
    0x001592b4 mov r0, r4                    |         r0 = r4;
    0x001592b8 bl 0x159020                   |         TS_ext_print_bio ();
    0x001592bc mov r0, 1                     |         r0 = 1;
    0x001592c0 pop {r4, r5, r6, pc}          |         
                                             | label_3:
    0x001592c4 mov r0, r4                    |         r0 = r4;
    0x001592c8 bl 0x158fd8                   |         TS_OBJ_print_bio ();
    0x001592cc b 0x15924c                    |         
                                             |     } while (1);
                                             | label_4:
    0x001592d0 mov r0, r4                    |     r0 = r4;
    0x001592d4 bl 0x158f38                   |     TS_ASN1_INTEGER_print_bio ();
    0x001592d8 b 0x159278                    |     goto label_0;
                                             | label_5:
    0x001592dc ldr r2, [pc, 0x2c]            |     r2 = *(0x15930c);
    0x001592e0 add r2, pc, r2                |     r2 = pc + r2;
    0x001592e4 b 0x1592a0                    |     goto label_1;
                                             | label_2:
    0x001592e8 mov r0, r5                    |     r0 = r5;
    0x001592ec pop {r4, r5, r6, pc}          |     
                                             | }
    ; 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/libcrypto.so.1.1 @ 0x159ad0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.TS_RESP_print_bio ()         | void TS_RESP_print_bio (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x00159ad0 push {r4, r5, r6, lr}         |     
    0x00159ad4 mov r5, r1                    |     r5 = r1;
    0x00159ad8 ldr r1, [pc, 0x54]            |     r1 = *(0x159b30);
    0x00159adc mov r4, r0                    |     r4 = r0;
    0x00159ae0 add r1, pc, r1                |     r1 = pc + r1;
    0x00159ae4 bl 0x6bbc4                    |     BIO_printf ()
    0x00159ae8 ldr r1, [r5]                  |     r1 = *(r5);
    0x00159aec mov r0, r4                    |     r0 = r4;
    0x00159af0 bl 0x1595b8                   |     TS_STATUS_INFO_print_bio ();
    0x00159af4 ldr r1, [pc, 0x3c]            |     r1 = *(0x159b34);
    0x00159af8 mov r0, r4                    |     r0 = r4;
    0x00159afc add r1, pc, r1                |     r1 = pc + r1;
    0x00159b00 bl 0x6bbc4                    |     BIO_printf ()
    0x00159b04 ldr r1, [r5, 8]               |     r1 = *((r5 + 8));
    0x00159b08 cmp r1, 0                     |     
                                             |     if (r1 == 0) {
    0x00159b0c beq 0x159b20                  |         goto label_0;
                                             |     }
    0x00159b10 mov r0, r4                    |     r0 = r4;
    0x00159b14 bl 0x159790                   |     TS_TST_INFO_print_bio ();
                                             |     do {
    0x00159b18 mov r0, 1                     |         r0 = 1;
    0x00159b1c pop {r4, r5, r6, pc}          |         
                                             | label_0:
    0x00159b20 ldr r1, [pc, 0x14]            |         r1 = *(0x159b38);
    0x00159b24 mov r0, r4                    |         r0 = r4;
    0x00159b28 add r1, pc, r1                |         r1 = pc + r1;
    0x00159b2c bl 0x6bbc4                    |         BIO_printf ()
    0x00159b30 b 0x159b18                    |         
                                             |     } 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/libcrypto.so.1.1 @ 0x1595b8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.TS_STATUS_INFO_print_bio ()                  | void TS_STATUS_INFO_print_bio (int32_t arg1, int32_t arg2) {
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x001595b8 push {r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x001595bc mov r6, r1                                    |     r6 = r1;
    0x001595c0 ldr r1, [pc, 0x190]                           |     r1 = *(0x159754);
    0x001595c4 mov r4, r0                                    |     r4 = r0;
    0x001595c8 add r1, pc, r1                                |     r1 = pc + r1;
    0x001595cc bl 0x6bbc4                                    |     BIO_printf ()
    0x001595d0 ldr r0, [r6]                                  |     r0 = *(r6);
    0x001595d4 bl 0x550bc                                    |     r0 = ASN1_INTEGER_get ();
    0x001595d8 cmp r0, 5                                     |     
                                                             |     if (r0 > 5) {
    0x001595dc bhi 0x1596c0                                  |         goto label_2;
                                                             |     }
    0x001595e0 ldr r3, [pc, 0x174]                           |     r3 = *(0x159758);
    0x001595e4 ldr r1, [pc, 0x174]                           |     r1 = *(0x15975c);
    0x001595e8 add r3, pc, r3                                |     r3 = pc + r3;
    0x001595ec ldr r2, [r3, r0, lsl 2]                       |     r2 = *(0x159758);
    0x001595f0 add r1, pc, r1                                |     r1 = pc + r1;
    0x001595f4 mov r0, r4                                    |     r0 = r4;
    0x001595f8 bl 0x6bbc4                                    |     BIO_printf ()
                                                             |     do {
    0x001595fc ldr r1, [pc, 0x160]                           |         r1 = *(0x159760);
    0x00159600 mov r0, r4                                    |         r0 = r4;
    0x00159604 add r1, pc, r1                                |         r1 = pc + r1;
    0x00159608 bl 0x6bbc4                                    |         BIO_printf ()
    0x0015960c ldr r7, [pc, 0x154]                           |         r7 = *(0x159764);
    0x00159610 ldr r8, [pc, 0x154]                           |         r8 = *(0x159768);
    0x00159614 mov r5, 0                                     |         r5 = 0;
    0x00159618 add r7, pc, r7                                |         r7 = pc + r7;
    0x0015961c add r8, pc, r8                                |         r8 = pc + r8;
                                                             | label_0:
    0x00159620 ldr r0, [r6, 4]                               |         r0 = *((r6 + 4));
    0x00159624 bl 0x154518                                   |         r0 = OPENSSL_sk_num ();
    0x00159628 cmp r5, r0                                    |         
                                                             |         if (r5 < r0) {
    0x0015962c blt 0x1596d4                                  |             goto label_3;
                                                             |         }
    0x00159630 cmp r5, 0                                     |         
                                                             |         if (r5 == 0) {
    0x00159634 bne 0x159648                                  |             
    0x00159638 ldr r1, [pc, 0x130]                           |             r1 = *(0x15976c);
    0x0015963c mov r0, r4                                    |             r0 = r4;
    0x00159640 add r1, pc, r1                                |             r1 = pc + r1;
    0x00159644 bl 0x6bbc4                                    |             BIO_printf ()
                                                             |         }
    0x00159648 ldr r1, [pc, 0x124]                           |         r1 = *(0x159770);
    0x0015964c mov r0, r4                                    |         r0 = r4;
    0x00159650 add r1, pc, r1                                |         r1 = pc + r1;
    0x00159654 bl 0x6bbc4                                    |         BIO_printf ()
    0x00159658 ldr r7, [r6, 8]                               |         r7 = *((r6 + 8));
    0x0015965c cmp r7, 0                                     |         
                                                             |         if (r7 != 0) {
    0x00159660 beq 0x159698                                  |             
    0x00159664 ldr r5, [pc, 0x10c]                           |             
    0x00159668 ldr r8, [pc, 0x10c]                           |             r8 = *(0x159778);
    0x0015966c ldr sb, [pc, 0x10c]                           |             sb = *(0x15977c);
    0x00159670 add r5, pc, r5                                |             r5 = pc + r5;
    0x00159674 add r5, r5, 0x20                              |             r5 = 0x159794;
    0x00159678 mov r6, 0                                     |             r6 = 0;
    0x0015967c add r8, pc, r8                                |             r8 = pc + r8;
    0x00159680 add sb, pc, sb                                |             sb = pc + sb;
                                                             | label_1:
    0x00159684 ldr r1, [r5, -8]                              |             r1 = *((r5 - 8));
    0x00159688 cmp r1, 0                                     |             
                                                             |             if (r1 >= 0) {
    0x0015968c bge 0x159718                                  |                 goto label_4;
                                                             |             }
    0x00159690 cmp r6, 0                                     |             
                                                             |             if (r6 != 0) {
    0x00159694 bne 0x1596a8                                  |                 goto label_5;
                                                             |             }
                                                             |         }
    0x00159698 ldr r1, [pc, 0xe4]                            |         r1 = *(0x159780);
    0x0015969c mov r0, r4                                    |         r0 = r4;
    0x001596a0 add r1, pc, r1                                |         r1 = pc + r1;
    0x001596a4 bl 0x6bbc4                                    |         BIO_printf ()
                                                             | label_5:
    0x001596a8 ldr r1, [pc, 0xd8]                            |         r1 = *(0x159784);
    0x001596ac mov r0, r4                                    |         r0 = r4;
    0x001596b0 add r1, pc, r1                                |         r1 = pc + r1;
    0x001596b4 bl 0x6bbc4                                    |         BIO_printf ()
    0x001596b8 mov r0, 1                                     |         r0 = 1;
    0x001596bc pop {r4, r5, r6, r7, r8, sb, sl, pc}          |         
                                                             | label_2:
    0x001596c0 ldr r1, [pc, 0xc4]                            |         r1 = *(0x159788);
    0x001596c4 mov r0, r4                                    |         r0 = r4;
    0x001596c8 add r1, pc, r1                                |         r1 = pc + r1;
    0x001596cc bl 0x6bbc4                                    |         BIO_printf ()
    0x001596d0 b 0x1595fc                                    |         
                                                             |     } while (1);
                                                             | label_3:
    0x001596d4 cmp r5, 0                                     |     
                                                             |     if (r5 > 0) {
    0x001596d8 ble 0x1596e8                                  |         
    0x001596dc mov r1, r7                                    |         r1 = r7;
    0x001596e0 mov r0, r4                                    |         r0 = r4;
    0x001596e4 bl 0x6e860                                    |         BIO_puts ();
                                                             |     }
    0x001596e8 mov r1, r5                                    |     r1 = r5;
    0x001596ec ldr r0, [r6, 4]                               |     r0 = *((r6 + 4));
    0x001596f0 bl 0x154528                                   |     OPENSSL_sk_value ();
    0x001596f4 mov r2, 0                                     |     r2 = 0;
    0x001596f8 add r5, r5, 1                                 |     r5++;
    0x001596fc mov r1, r0                                    |     r1 = r0;
    0x00159700 mov r0, r4                                    |     r0 = r4;
    0x00159704 bl 0x57a30                                    |     ASN1_STRING_print_ex ();
    0x00159708 mov r1, r8                                    |     r1 = r8;
    0x0015970c mov r0, r4                                    |     r0 = r4;
    0x00159710 bl 0x6e860                                    |     BIO_puts ();
    0x00159714 b 0x159620                                    |     goto label_0;
                                                             | label_4:
    0x00159718 mov r0, r7                                    |     r0 = r7;
    0x0015971c bl 0x53a14                                    |     r0 = ASN1_BIT_STRING_get_bit ();
    0x00159720 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00159724 beq 0x159750                                  |         
    0x00159728 add r6, r6, 1                                 |         r6++;
    0x0015972c cmp r6, 1                                     |         
                                                             |         if (r6 != 1) {
    0x00159730 beq 0x159740                                  |             
    0x00159734 mov r1, sb                                    |             r1 = sb;
    0x00159738 mov r0, r4                                    |             r0 = r4;
    0x0015973c bl 0x6bbc4                                    |             BIO_printf ()
                                                             |         }
    0x00159740 ldr r2, [r5, -4]                              |         r2 = *((r5 - 4));
    0x00159744 mov r1, r8                                    |         r1 = r8;
    0x00159748 mov r0, r4                                    |         r0 = r4;
    0x0015974c bl 0x6bbc4                                    |         BIO_printf ()
                                                             |     }
    0x00159750 add r5, r5, 8                                 |     r5 += 8;
    0x00159754 b 0x159684                                    |     goto label_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/libcrypto.so.1.1 @ 0x159790 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.TS_TST_INFO_print_bio ()                     | void TS_TST_INFO_print_bio (int32_t arg2) {
                                                             |     int32_t var_4h;
                                                             |     int32_t var_ch;
                                                             |     r1 = arg2;
    0x00159790 push {r0, r1, r2, r4, r5, r6, r7, lr}         |     
    0x00159794 ldr r7, [pc, 0x2cc]                           |     r7 = *(0x159a64);
    0x00159798 subs r5, r1, 0                                |     r5 = r1 - 0;
    0x0015979c add r7, pc, r7                                |     r7 = pc + r7;
                                                             |     if (r5 != r1) {
    0x001597a0 moveq r0, r5                                  |         r0 = r5;
                                                             |     }
                                                             |     if (r5 == r1) {
    0x001597a4 beq 0x159954                                  |         goto label_6;
                                                             |     }
    0x001597a8 mov r4, r0                                    |     r4 = r0;
    0x001597ac ldr r0, [r5]                                  |     r0 = *(r5);
    0x001597b0 bl 0x550bc                                    |     ASN1_INTEGER_get ();
    0x001597b4 ldr r1, [pc, 0x2b0]                           |     r1 = *(0x159a68);
    0x001597b8 add r1, pc, r1                                |     r1 = pc + r1;
    0x001597bc mov r2, r0                                    |     r2 = r0;
    0x001597c0 mov r0, r4                                    |     r0 = r4;
    0x001597c4 bl 0x6bbc4                                    |     BIO_printf ()
    0x001597c8 ldr r1, [pc, 0x2a0]                           |     r1 = *(0x159a6c);
    0x001597cc mov r0, r4                                    |     r0 = r4;
    0x001597d0 add r1, pc, r1                                |     r1 = pc + r1;
    0x001597d4 bl 0x6bbc4                                    |     BIO_printf ()
    0x001597d8 ldr r1, [r5, 4]                               |     r1 = *((r5 + 4));
    0x001597dc mov r0, r4                                    |     r0 = r4;
    0x001597e0 bl 0x158fd8                                   |     TS_OBJ_print_bio ();
    0x001597e4 ldr r1, [r5, 8]                               |     r1 = *((r5 + 8));
    0x001597e8 mov r0, r4                                    |     r0 = r4;
    0x001597ec bl 0x159188                                   |     TS_MSG_IMPRINT_print_bio ();
    0x001597f0 ldr r1, [pc, 0x27c]                           |     r1 = *(0x159a70);
    0x001597f4 mov r0, r4                                    |     r0 = r4;
    0x001597f8 add r1, pc, r1                                |     r1 = pc + r1;
    0x001597fc bl 0x6bbc4                                    |     BIO_printf ()
    0x00159800 ldr r1, [r5, 0xc]                             |     r1 = *((r5 + 0xc));
    0x00159804 cmp r1, 0                                     |     
                                                             |     if (r1 != 0) {
    0x00159808 bne 0x15995c                                  |         goto label_7;
                                                             |     }
    0x0015980c ldr r1, [pc, 0x264]                           |     r1 = *(0x159a74);
    0x00159810 mov r0, r4                                    |     r0 = r4;
    0x00159814 add r1, pc, r1                                |     r1 = pc + r1;
    0x00159818 bl 0x6bbc4                                    |     BIO_printf ()
                                                             |     do {
    0x0015981c ldr r6, [pc, 0x258]                           |         r6 = *(0x159a78);
    0x00159820 mov r2, 1                                     |         r2 = 1;
    0x00159824 add r6, pc, r6                                |         r6 = pc + r6;
    0x00159828 mov r1, r6                                    |         r1 = r6;
    0x0015982c mov r0, r4                                    |         r0 = r4;
    0x00159830 bl 0x6e820                                    |         BIO_write ();
    0x00159834 ldr r1, [pc, 0x244]                           |         r1 = *(0x159a7c);
    0x00159838 mov r0, r4                                    |         r0 = r4;
    0x0015983c add r1, pc, r1                                |         r1 = pc + r1;
    0x00159840 bl 0x6bbc4                                    |         BIO_printf ()
    0x00159844 ldr r1, [r5, 0x10]                            |         r1 = *((r5 + 0x10));
    0x00159848 mov r0, r4                                    |         r0 = r4;
    0x0015984c bl 0x5438c                                    |         ASN1_GENERALIZEDTIME_print ();
    0x00159850 mov r1, r6                                    |         r1 = r6;
    0x00159854 mov r2, 1                                     |         r2 = 1;
    0x00159858 mov r0, r4                                    |         r0 = r4;
    0x0015985c bl 0x6e820                                    |         BIO_write ();
    0x00159860 ldr r1, [pc, 0x21c]                           |         r1 = *(0x159a80);
    0x00159864 mov r0, r4                                    |         r0 = r4;
    0x00159868 add r1, pc, r1                                |         r1 = pc + r1;
    0x0015986c bl 0x6bbc4                                    |         BIO_printf ()
    0x00159870 ldr r6, [r5, 0x14]                            |         r6 = *((r5 + 0x14));
    0x00159874 cmp r6, 0                                     |         
                                                             |         if (r6 != 0) {
    0x00159878 bne 0x159968                                  |             goto label_8;
                                                             |         }
    0x0015987c ldr r1, [pc, 0x204]                           |         r1 = *(0x159a84);
    0x00159880 add r1, pc, r1                                |         r1 = pc + r1;
                                                             | label_0:
    0x00159884 mov r0, r4                                    |         r0 = r4;
    0x00159888 bl 0x6bbc4                                    |         BIO_printf ()
    0x0015988c ldr r1, [pc, 0x1f8]                           |         r1 = *(0x159a88);
    0x00159890 mov r2, 1                                     |         r2 = 1;
    0x00159894 add r1, pc, r1                                |         r1 = pc + r1;
    0x00159898 mov r0, r4                                    |         r0 = r4;
    0x0015989c bl 0x6e820                                    |         BIO_write ();
    0x001598a0 ldr r3, [r5, 0x18]                            |         r3 = *((r5 + 0x18));
    0x001598a4 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x001598a8 bne 0x159a0c                                  |             goto label_9;
                                                             |         }
    0x001598ac ldr r2, [pc, 0x1dc]                           |         r2 = ASN1_TYPE_set_octetstring;
    0x001598b0 add r2, pc, r2                                |         r2 = pc + r2;
                                                             | label_3:
    0x001598b4 ldr r1, [pc, 0x1d8]                           |         r1 = *(0x159a90);
    0x001598b8 mov r0, r4                                    |         r0 = r4;
    0x001598bc add r1, pc, r1                                |         r1 = pc + r1;
    0x001598c0 bl 0x6bbc4                                    |         BIO_printf ()
    0x001598c4 ldr r1, [pc, 0x1cc]                           |         r1 = *(0x159a94);
    0x001598c8 mov r0, r4                                    |         r0 = r4;
    0x001598cc add r1, pc, r1                                |         r1 = pc + r1;
    0x001598d0 bl 0x6bbc4                                    |         BIO_printf ()
    0x001598d4 ldr r1, [r5, 0x1c]                            |         r1 = *((r5 + 0x1c));
    0x001598d8 cmp r1, 0                                     |         
                                                             |         if (r1 != 0) {
    0x001598dc bne 0x159a18                                  |             goto label_10;
                                                             |         }
    0x001598e0 ldr r1, [pc, 0x1b4]                           |         r1 = *(0x159a98);
    0x001598e4 mov r0, r4                                    |         r0 = r4;
    0x001598e8 add r1, pc, r1                                |         r1 = pc + r1;
    0x001598ec bl 0x6bbc4                                    |         BIO_printf ()
                                                             | label_4:
    0x001598f0 ldr r1, [pc, 0x1a8]                           |         r1 = *(0x159a9c);
    0x001598f4 mov r2, 1                                     |         r2 = 1;
    0x001598f8 add r1, pc, r1                                |         r1 = pc + r1;
    0x001598fc mov r0, r4                                    |         r0 = r4;
    0x00159900 bl 0x6e820                                    |         BIO_write ();
    0x00159904 ldr r1, [pc, 0x198]                           |         r1 = *(0x159aa0);
    0x00159908 mov r0, r4                                    |         r0 = r4;
    0x0015990c add r1, pc, r1                                |         r1 = pc + r1;
    0x00159910 bl 0x6bbc4                                    |         BIO_printf ()
    0x00159914 ldr r1, [r5, 0x20]                            |         r1 = *((r5 + 0x20));
    0x00159918 cmp r1, 0                                     |         
                                                             |         if (r1 != 0) {
    0x0015991c bne 0x159a24                                  |             goto label_11;
                                                             |         }
    0x00159920 ldr r1, [pc, 0x180]                           |         r1 = *(0x159aa4);
    0x00159924 mov r0, r4                                    |         r0 = r4;
    0x00159928 add r1, pc, r1                                |         r1 = pc + r1;
    0x0015992c bl 0x6bbc4                                    |         BIO_printf ()
                                                             | label_5:
    0x00159930 ldr r1, [pc, 0x174]                           |         r1 = *(0x159aa8);
    0x00159934 mov r2, 1                                     |         r2 = 1;
    0x00159938 add r1, pc, r1                                |         r1 = pc + r1;
    0x0015993c mov r0, r4                                    |         r0 = r4;
    0x00159940 bl 0x6e820                                    |         BIO_write ();
    0x00159944 ldr r1, [r5, 0x24]                            |         r1 = *((r5 + 0x24));
    0x00159948 mov r0, r4                                    |         r0 = r4;
    0x0015994c bl 0x159020                                   |         TS_ext_print_bio ();
    0x00159950 mov r0, 1                                     |         r0 = 1;
                                                             | label_6:
    0x00159954 add sp, sp, 0xc                               |         
    0x00159958 pop {r4, r5, r6, r7, pc}                      |         
                                                             | label_7:
    0x0015995c mov r0, r4                                    |         r0 = r4;
    0x00159960 bl 0x158f38                                   |         TS_ASN1_INTEGER_print_bio ();
    0x00159964 b 0x15981c                                    |         
                                                             |     } while (1);
                                                             | label_8:
    0x00159968 ldr r1, [r6]                                  |     r1 = *(r6);
    0x0015996c cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00159970 beq 0x1599d0                                  |         goto label_12;
                                                             |     }
    0x00159974 mov r0, r4                                    |     r0 = r4;
    0x00159978 bl 0x158f38                                   |     TS_ASN1_INTEGER_print_bio ();
                                                             |     do {
    0x0015997c ldr r1, [pc, 0x12c]                           |         r1 = *(0x159aac);
    0x00159980 mov r0, r4                                    |         r0 = r4;
    0x00159984 add r1, pc, r1                                |         r1 = pc + r1;
    0x00159988 bl 0x6bbc4                                    |         BIO_printf ()
    0x0015998c ldr r1, [r6, 4]                               |         r1 = *((r6 + 4));
    0x00159990 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x00159994 beq 0x1599e4                                  |             goto label_13;
                                                             |         }
    0x00159998 mov r0, r4                                    |         r0 = r4;
    0x0015999c bl 0x158f38                                   |         TS_ASN1_INTEGER_print_bio ();
                                                             | label_1:
    0x001599a0 ldr r1, [pc, 0x10c]                           |         r1 = *(0x159ab0);
    0x001599a4 mov r0, r4                                    |         r0 = r4;
    0x001599a8 add r1, pc, r1                                |         r1 = pc + r1;
    0x001599ac bl 0x6bbc4                                    |         BIO_printf ()
    0x001599b0 ldr r1, [r6, 8]                               |         r1 = *((r6 + 8));
    0x001599b4 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x001599b8 beq 0x1599f8                                  |             goto label_14;
                                                             |         }
    0x001599bc mov r0, r4                                    |         r0 = r4;
    0x001599c0 bl 0x158f38                                   |         TS_ASN1_INTEGER_print_bio ();
                                                             | label_2:
    0x001599c4 ldr r1, [pc, 0xec]                            |         r1 = *(0x159ab4);
    0x001599c8 add r1, pc, r1                                |         r1 = pc + r1;
    0x001599cc b 0x159884                                    |         goto label_0;
                                                             | label_12:
    0x001599d0 ldr r1, [pc, 0xe4]                            |         r1 = *(0x159ab8);
    0x001599d4 mov r0, r4                                    |         r0 = r4;
    0x001599d8 add r1, pc, r1                                |         r1 = pc + r1;
    0x001599dc bl 0x6bbc4                                    |         BIO_printf ()
    0x001599e0 b 0x15997c                                    |         
                                                             |     } while (1);
                                                             | label_13:
    0x001599e4 ldr r1, [pc, 0xd4]                            |     r1 = *(0x159abc);
    0x001599e8 mov r0, r4                                    |     r0 = r4;
    0x001599ec add r1, pc, r1                                |     r1 = pc + r1;
    0x001599f0 bl 0x6bbc4                                    |     BIO_printf ()
    0x001599f4 b 0x1599a0                                    |     goto label_1;
                                                             | label_14:
    0x001599f8 ldr r1, [pc, 0xc4]                            |     r1 = *(0x159ac0);
    0x001599fc mov r0, r4                                    |     r0 = r4;
    0x00159a00 add r1, pc, r1                                |     r1 = pc + r1;
    0x00159a04 bl 0x6bbc4                                    |     BIO_printf ()
    0x00159a08 b 0x1599c4                                    |     goto label_2;
                                                             | label_9:
    0x00159a0c ldr r2, [pc, 0xb4]                            |     r2 = *(0x159ac4);
    0x00159a10 add r2, pc, r2                                |     r2 = pc + r2;
    0x00159a14 b 0x1598b4                                    |     goto label_3;
                                                             | label_10:
    0x00159a18 mov r0, r4                                    |     r0 = r4;
    0x00159a1c bl 0x158f38                                   |     TS_ASN1_INTEGER_print_bio ();
    0x00159a20 b 0x1598f0                                    |     goto label_4;
                                                             | label_11:
    0x00159a24 mov r2, 0                                     |     r2 = 0;
    0x00159a28 mov r0, r2                                    |     r0 = r2;
    0x00159a2c bl 0x175e1c                                   |     r0 = i2v_GENERAL_NAME ();
    0x00159a30 subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 != r0) {
    0x00159a34 beq 0x159a4c                                  |         
    0x00159a38 mov r3, 0                                     |         r3 = 0;
    0x00159a3c mov r2, r3                                    |         r2 = r3;
    0x00159a40 mov r1, r6                                    |         r1 = r6;
    0x00159a44 mov r0, r4                                    |         r0 = r4;
    0x00159a48 bl 0x17f034                                   |         X509V3_EXT_val_prn ();
                                                             |     }
    0x00159a4c ldr r3, [pc, 0x78]                            |     r3 = *(0x159ac8);
    0x00159a50 mov r0, r6                                    |     r0 = r6;
    0x00159a54 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00159a58 mov r1, r3                                    |     r1 = r3;
    0x00159a5c str r3, [sp, 4]                               |     var_4h = r3;
    0x00159a60 bl 0x1544d0                                   |     OPENSSL_sk_pop_free ();
    0x00159a64 b 0x159930                                    |     goto label_5;
                                                             | }
    ; 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/libcrypto.so.1.1 @ 0x159140 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.TS_X509_ALGOR_print_bio ()       | void TS_X509_ALGOR_print_bio (int32_t arg1, int32_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00159140 push {r4, lr}                     |     
    0x00159144 mov r4, r0                        |     r4 = r0;
    0x00159148 ldr r0, [r1]                      |     r0 = *(r1);
    0x0015914c bl 0x120878                       |     r0 = OBJ_obj2nid ();
    0x00159150 cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x00159154 beq 0x159174                      |         goto label_0;
                                                 |     }
    0x00159158 bl 0x120690                       |     r0 = OBJ_nid2ln ();
    0x0015915c mov r2, r0                        |     r2 = r0;
                                                 |     do {
    0x00159160 ldr r1, [pc, 0x18]                |         r1 = *(0x15917c);
    0x00159164 mov r0, r4                        |         r0 = r4;
    0x00159168 add r1, pc, r1                    |         r1 = pc + r1;
    0x0015916c pop {r4, lr}                      |         
    0x00159170 b 0x6bbc4                         |         void (*0x6bbc4)() ();
                                                 | label_0:
    0x00159174 ldr r2, [pc, 8]                   |         r2 = "VP_PKEY_meth_set_copy";
    0x00159178 add r2, pc, r2                    |         r2 = pc + r2;
    0x0015917c b 0x159160                        |         
                                                 |     } 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/libcrypto.so.1.1 @ 0x159020 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.TS_ext_print_bio ()                                  | void TS_ext_print_bio (int32_t arg1, int32_t arg2) {
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x00159020 push {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x00159024 ldr sb, [pc, 0xf8]                                    |     sb = *(0x159120);
    0x00159028 mov r7, r1                                            |     r7 = r1;
    0x0015902c ldr r1, [pc, 0xf4]                                    |     r1 = *(0x159124);
    0x00159030 mov r4, r0                                            |     r4 = r0;
    0x00159034 add r1, pc, r1                                        |     r1 = pc + r1;
    0x00159038 bl 0x6bbc4                                            |     BIO_printf ()
    0x0015903c mov r0, r7                                            |     r0 = r7;
    0x00159040 bl 0x1672bc                                           |     X509v3_get_ext_count ();
    0x00159044 ldr sl, [pc, 0xe0]                                    |     sl = *(0x159128);
    0x00159048 ldr fp, [pc, 0xe0]                                    |     fp = *(0x15912c);
    0x0015904c mov r5, 0                                             |     r5 = 0;
    0x00159050 add sb, pc, sb                                        |     sb = pc + sb;
    0x00159054 add sl, pc, sl                                        |     sl = pc + sl;
    0x00159058 add fp, pc, fp                                        |     
    0x0015905c mov r8, r0                                            |     r8 = r0;
                                                                     |     do {
    0x00159060 cmp r5, r8                                            |         
                                                                     |         if (r5 >= r8) {
    0x00159064 blt 0x159070                                          |             
    0x00159068 mov r0, 1                                             |             r0 = 1;
    0x0015906c pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}          |             
                                                                     |         }
    0x00159070 mov r1, r5                                            |         r1 = r5;
    0x00159074 mov r0, r7                                            |         r0 = r7;
    0x00159078 bl 0x1673c0                                           |         r0 = X509v3_get_ext ();
    0x0015907c mov r6, r0                                            |         r6 = r0;
    0x00159080 bl 0x167724                                           |         r0 = X509_EXTENSION_get_object ();
    0x00159084 mov r1, r0                                            |         r1 = r0;
    0x00159088 mov r0, r4                                            |         r0 = r4;
    0x0015908c bl 0x55f58                                            |         r0 = i2a_ASN1_OBJECT ();
    0x00159090 cmp r0, 0                                             |         
                                                                     |         if (r0 < 0) {
    0x00159094 blt 0x15911c                                          |             goto label_0;
                                                                     |         }
    0x00159098 mov r0, r6                                            |         r0 = r6;
    0x0015909c bl 0x16773c                                           |         X509_EXTENSION_get_critical ();
    0x001590a0 mov r1, fp                                            |         r1 = fp;
    0x001590a4 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x001590a8 movne r2, sb                                          |             r2 = sb;
                                                                     |         }
                                                                     |         if (r0 != 0) {
    0x001590ac moveq r2, sl                                          |             r2 = sl;
                                                                     |         }
    0x001590b0 mov r0, r4                                            |         r0 = r4;
    0x001590b4 bl 0x6bbc4                                            |         BIO_printf ()
    0x001590b8 mov r3, 4                                             |         r3 = 4;
    0x001590bc mov r2, 0                                             |         r2 = 0;
    0x001590c0 mov r1, r6                                            |         r1 = r6;
    0x001590c4 mov r0, r4                                            |         r0 = r4;
    0x001590c8 bl 0x17f18c                                           |         r0 = X509V3_EXT_print ();
    0x001590cc cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x001590d0 bne 0x159100                                          |             
    0x001590d4 ldr r2, [pc, 0x58]                                    |             r2 = *(0x159130);
    0x001590d8 ldr r1, [pc, 0x58]                                    |             r1 = *(0x159134);
    0x001590dc add r2, pc, r2                                        |             r2 = pc + r2;
    0x001590e0 add r1, pc, r1                                        |             r1 = pc + r1;
    0x001590e4 mov r0, r4                                            |             r0 = r4;
    0x001590e8 bl 0x6bbc4                                            |             BIO_printf ()
    0x001590ec mov r0, r6                                            |             r0 = r6;
    0x001590f0 bl 0x167730                                           |             r0 = X509_EXTENSION_get_data ();
    0x001590f4 mov r1, r0                                            |             r1 = r0;
    0x001590f8 mov r0, r4                                            |             r0 = r4;
    0x001590fc bl 0x565e8                                            |             ASN1_STRING_print ();
                                                                     |         }
    0x00159100 ldr r1, [pc, 0x34]                                    |         r1 = *(0x159138);
    0x00159104 mov r2, 1                                             |         r2 = 1;
    0x00159108 add r1, pc, r1                                        |         r1 = pc + r1;
    0x0015910c mov r0, r4                                            |         r0 = r4;
    0x00159110 bl 0x6e820                                            |         BIO_write ();
    0x00159114 add r5, r5, 1                                         |         r5++;
    0x00159118 b 0x159060                                            |         
                                                                     |     } while (1);
                                                                     | label_0:
    0x0015911c mov r0, 0                                             |     r0 = 0;
    0x00159120 pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}          |     
                                                                     | }
    ; 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/libcrypto.so.1.1 @ 0x17f18c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.X509V3_EXT_print ()                              | void X509V3_EXT_print (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_1ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0017f18c push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0017f190 ldr sl, [pc, 0x1d8]                               |     sl = *(0x17f36c);
    0x0017f194 sub sp, sp, 0x1c                                  |     
    0x0017f198 mov sb, r0                                        |     sb = r0;
    0x0017f19c mov r0, r1                                        |     r0 = r1;
    0x0017f1a0 mov r6, r1                                        |     r6 = r1;
    0x0017f1a4 mov r5, r2                                        |     r5 = r2;
    0x0017f1a8 mov fp, r3                                        |     
    0x0017f1ac bl 0x167730                                       |     X509_EXTENSION_get_data ();
    0x0017f1b0 add sl, pc, sl                                    |     sl = pc + sl;
    0x0017f1b4 mov r4, r0                                        |     r4 = r0;
    0x0017f1b8 bl 0x5b9f8                                        |     ASN1_STRING_get0_data ();
    0x0017f1bc str r0, [sp, 0x14]                                |     var_14h = r0;
    0x0017f1c0 mov r0, r4                                        |     r0 = r4;
    0x0017f1c4 bl 0x5b9e0                                        |     r0 = ASN1_STRING_length ();
    0x0017f1c8 mov r4, r0                                        |     r4 = r0;
    0x0017f1cc mov r0, r6                                        |     r0 = r6;
    0x0017f1d0 bl 0x17c9cc                                       |     r0 = X509V3_EXT_get ();
    0x0017f1d4 subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 != r0) {
    0x0017f1d8 streq r7, [sp, 4]                                 |         var_4h = r7;
                                                                 |     }
                                                                 |     if (r7 == r0) {
    0x0017f1dc beq 0x17f210                                      |         goto label_2;
                                                                 |     }
    0x0017f1e0 ldr r3, [r7, 8]                                   |     r3 = *((r7 + 8));
    0x0017f1e4 add r1, sp, 0x14                                  |     r1 += var_14h;
    0x0017f1e8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0017f1ec beq 0x17f238                                      |         goto label_3;
                                                                 |     }
    0x0017f1f0 mov r2, r4                                        |     r2 = r4;
    0x0017f1f4 mov r0, 0                                         |     r0 = 0;
    0x0017f1f8 bl 0x633ec                                        |     r0 = ASN1_item_d2i ();
                                                                 |     do {
    0x0017f1fc cmp r0, 0                                         |         
    0x0017f200 mov r8, r0                                        |         r8 = r0;
                                                                 |         if (r0 != 0) {
    0x0017f204 bne 0x17f24c                                      |             goto label_4;
                                                                 |         }
    0x0017f208 mov r3, 1                                         |         r3 = 1;
    0x0017f20c str r3, [sp, 4]                                   |         var_4h = r3;
                                                                 | label_2:
    0x0017f210 mov r2, r4                                        |         r2 = r4;
    0x0017f214 str fp, [sp]                                      |         *(sp) = fp;
    0x0017f218 mov r3, r5                                        |         r3 = r5;
    0x0017f21c ldr r1, [sp, 0x14]                                |         r1 = var_14h;
    0x0017f220 mov r0, sb                                        |         r0 = sb;
    0x0017f224 bl 0x17ef80                                       |         r0 = fcn_0017ef80 (r0, r1, r2);
    0x0017f228 mov r4, r0                                        |         r4 = r0;
                                                                 | label_0:
    0x0017f22c mov r0, r4                                        |         r0 = r4;
    0x0017f230 add sp, sp, 0x1c                                  |         
    0x0017f234 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_3:
    0x0017f238 ldr r6, [r7, 0x14]                                |         r6 = *((r7 + 0x14));
    0x0017f23c mov r2, r4                                        |         r2 = r4;
    0x0017f240 mov r0, r3                                        |         r0 = r3;
    0x0017f244 blx r6                                            |         uint32_t (*r6)(uint32_t, uint32_t) (r0, r2);
    0x0017f248 b 0x17f1fc                                        |         
                                                                 |     } while (1);
                                                                 | label_4:
    0x0017f24c ldr r5, [r7, 0x1c]                                |     r5 = *((r7 + 0x1c));
    0x0017f250 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0017f254 beq 0x17f2dc                                      |         goto label_5;
                                                                 |     }
    0x0017f258 mov r1, r0                                        |     r1 = r0;
    0x0017f25c mov r0, r7                                        |     r0 = r7;
    0x0017f260 blx r5                                            |     r0 = uint32_t (*r5)(uint32_t, uint32_t) (r0, r1);
    0x0017f264 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0017f268 moveq r4, r5                                      |         r4 = r5;
                                                                 |     }
                                                                 |     if (r5 != r0) {
    0x0017f26c beq 0x17f294                                      |         
    0x0017f270 ldr r3, [pc, 0xfc]                                |         r3 = *(0x17f370);
    0x0017f274 ldr r1, [pc, 0xfc]                                |         r1 = "_";
    0x0017f278 str r5, [sp]                                      |         *(sp) = r5;
    0x0017f27c add r3, pc, r3                                    |         r3 = pc + r3;
    0x0017f280 mov r2, fp                                        |         r2 = fp;
    0x0017f284 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0017f288 mov r0, sb                                        |         r0 = sb;
    0x0017f28c bl 0x6bbc4                                        |         BIO_printf ()
    0x0017f290 mov r4, 1                                         |         r4 = 1;
                                                                 |     }
    0x0017f294 mov r6, 0                                         |     r6 = 0;
                                                                 |     do {
                                                                 | label_1:
    0x0017f298 ldr r3, [pc, 0xdc]                                |         r3 = *(0x17f378);
    0x0017f29c mov r0, r6                                        |         r0 = r6;
    0x0017f2a0 ldr r3, [sl, r3]                                  |         r3 = *((sl + r3));
    0x0017f2a4 mov r1, r3                                        |         r1 = r3;
    0x0017f2a8 str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x0017f2ac bl 0x1544d0                                       |         OPENSSL_sk_pop_free ();
    0x0017f2b0 ldr r1, [pc, 0xc8]                                |         r1 = *(0x17f37c);
    0x0017f2b4 mov r2, 0x82                                      |         r2 = 0x82;
    0x0017f2b8 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0017f2bc mov r0, r5                                        |         r0 = r5;
    0x0017f2c0 bl 0x11842c                                       |         CRYPTO_free ();
    0x0017f2c4 ldr r1, [r7, 8]                                   |         r1 = *((r7 + 8));
    0x0017f2c8 cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x0017f2cc beq 0x17f360                                      |             goto label_6;
                                                                 |         }
    0x0017f2d0 mov r0, r8                                        |         r0 = r8;
    0x0017f2d4 bl 0x644b8                                        |         ASN1_item_free ();
    0x0017f2d8 b 0x17f22c                                        |         goto label_0;
                                                                 | label_5:
    0x0017f2dc ldr r6, [r7, 0x24]                                |         r6 = *((r7 + 0x24));
    0x0017f2e0 cmp r6, 0                                         |         
                                                                 |         if (r6 == 0) {
    0x0017f2e4 beq 0x17f320                                      |             goto label_7;
                                                                 |         }
    0x0017f2e8 mov r1, r0                                        |         r1 = r0;
    0x0017f2ec mov r2, r5                                        |         r2 = r5;
    0x0017f2f0 mov r0, r7                                        |         r0 = r7;
    0x0017f2f4 blx r6                                            |         r0 = uint32_t (*r6)(uint32_t, uint32_t, uint32_t) (r0, r1, r2);
    0x0017f2f8 subs r6, r0, 0                                    |         r6 = r0 - 0;
                                                                 |         if (r6 == r0) {
    0x0017f2fc beq 0x17f358                                      |             goto label_8;
                                                                 |         }
    0x0017f300 ldr r3, [r7, 4]                                   |         r3 = *((r7 + 4));
    0x0017f304 mov r2, fp                                        |         r2 = fp;
    0x0017f308 and r3, r3, 4                                     |         r3 &= 4;
    0x0017f30c mov r1, r6                                        |         r1 = r6;
    0x0017f310 mov r0, sb                                        |         r0 = sb;
    0x0017f314 bl 0x17f034                                       |         X509V3_EXT_val_prn ();
    0x0017f318 mov r4, 1                                         |         r4 = 1;
    0x0017f31c b 0x17f298                                        |         
                                                                 |     } while (1);
                                                                 | label_7:
    0x0017f320 ldr r4, [r7, 0x2c]                                |     r4 = *((r7 + 0x2c));
    0x0017f324 cmp r4, 0                                         |     
                                                                 |     if (r4 != 0) {
    0x0017f328 moveq r6, r4                                      |         r6 = r4;
                                                                 |     }
                                                                 |     if (r4 == 0) {
    0x0017f32c moveq r5, r4                                      |         r5 = r4;
                                                                 |         goto label_9;
                                                                 |     }
                                                                 |     if (r4 == 0) {
                                                                 | label_9:
    0x0017f330 beq 0x17f298                                      |         goto label_1;
                                                                 |     }
    0x0017f334 mov r1, r0                                        |     r1 = r0;
    0x0017f338 mov r3, fp                                        |     r3 = fp;
    0x0017f33c mov r2, sb                                        |     r2 = sb;
    0x0017f340 mov r0, r7                                        |     r0 = r7;
    0x0017f344 blx r4                                            |     r0 = uint32_t (*r4)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0017f348 adds r4, r0, 0                                    |     r4 = r0 + 0;
    0x0017f34c movne r4, 1                                       |     r4 = 1;
                                                                 |     while (1) {
    0x0017f350 mov r5, r6                                        |         r5 = r6;
    0x0017f354 b 0x17f298                                        |         goto label_1;
                                                                 | label_8:
    0x0017f358 mov r4, r6                                        |         r4 = r6;
    0x0017f35c b 0x17f350                                        |         
                                                                 |     }
                                                                 | label_6:
    0x0017f360 ldr r3, [r7, 0x10]                                |     r3 = *((r7 + 0x10));
    0x0017f364 mov r0, r8                                        |     r0 = r8;
    0x0017f368 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0017f36c b 0x17f22c                                        |     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/libcrypto.so.1.1 @ 0x17f538 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.X509V3_EXT_print_fp ()               | void X509V3_EXT_print_fp (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x0017f538 push {r4, r5, r6, r7, r8, lr}         |     
    0x0017f53c mov r4, r1                            |     r4 = r1;
    0x0017f540 mov r1, 0                             |     r1 = 0;
    0x0017f544 mov r6, r2                            |     r6 = r2;
    0x0017f548 mov r7, r3                            |     r7 = r3;
    0x0017f54c bl 0x7283c                            |     r0 = BIO_new_fp ();
    0x0017f550 subs r5, r0, 0                        |     r5 = r0 - 0;
                                                     |     if (r5 != r0) {
    0x0017f554 moveq r4, r5                          |         r4 = r5;
                                                     |     }
                                                     |     if (r5 != r0) {
    0x0017f558 beq 0x17f578                          |         
    0x0017f55c mov r1, r4                            |         r1 = r4;
    0x0017f560 mov r3, r7                            |         r3 = r7;
    0x0017f564 mov r2, r6                            |         r2 = r6;
    0x0017f568 bl 0x17f18c                           |         r0 = X509V3_EXT_print ();
    0x0017f56c mov r4, r0                            |         r4 = r0;
    0x0017f570 mov r0, r5                            |         r0 = r5;
    0x0017f574 bl 0x6e63c                            |         BIO_free ();
                                                     |     }
    0x0017f578 mov r0, r4                            |     r0 = r4;
    0x0017f57c pop {r4, r5, r6, r7, r8, pc}          |     
                                                     | }
    ; 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/libcrypto.so.1.1 @ 0x17f034 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.X509V3_EXT_val_prn ()                                | void X509V3_EXT_val_prn (int32_t arg1, int32_t arg2) {
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0017f034 push {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0017f038 subs r5, r1, 0                                        |     r5 = r1 - 0;
    0x0017f03c popeq {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
    0x0017f040 cmp r3, 0                                             |     
    0x0017f044 mov r7, r3                                            |     r7 = r3;
    0x0017f048 mov r8, r2                                            |     r8 = r2;
    0x0017f04c mov r4, r0                                            |     r4 = r0;
    0x0017f050 bne 0x17f094                                          |     
                                                                     |     while (r0 == 0) {
    0x0017f054 ldr r3, [pc, 0x110]                                   |         r3 = *(0x17f168);
    0x0017f058 ldr r1, [pc, 0x110]                                   |         r1 = "_";
    0x0017f05c add r3, pc, r3                                        |         r3 = pc + r3;
    0x0017f060 mov r2, r8                                            |         r2 = r8;
    0x0017f064 add r1, pc, r1                                        |         r1 = pc + r1;
    0x0017f068 mov r0, r4                                            |         r0 = r4;
    0x0017f06c bl 0x6bbc4                                            |         BIO_printf ()
    0x0017f070 mov r0, r5                                            |         r0 = r5;
    0x0017f074 bl 0x154518                                           |         r0 = OPENSSL_sk_num ();
    0x0017f078 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0017f07c bne 0x17f0a4                                          |             goto label_2;
                                                                     |         }
    0x0017f080 ldr r1, [pc, 0xec]                                    |         r1 = *(0x17f170);
    0x0017f084 mov r0, r4                                            |         r0 = r4;
    0x0017f088 add r1, pc, r1                                        |         r1 = pc + r1;
    0x0017f08c bl 0x6e860                                            |         BIO_puts ();
    0x0017f090 b 0x17f0a4                                            |         goto label_2;
    0x0017f094 mov r0, r5                                            |         r0 = r5;
    0x0017f098 bl 0x154518                                           |         r0 = OPENSSL_sk_num ();
    0x0017f09c cmp r0, 0                                             |         
    0x0017f0a0 beq 0x17f054                                          |         
                                                                     |     }
                                                                     | label_2:
    0x0017f0a4 ldr sb, [pc, 0xcc]                                    |     sb = *(0x17f174);
    0x0017f0a8 ldr sl, [pc, 0xcc]                                    |     sl = *(0x17f178);
    0x0017f0ac ldr fp, [pc, 0xcc]                                    |     fp = "_";
    0x0017f0b0 mov r6, 0                                             |     r6 = 0;
    0x0017f0b4 add sb, pc, sb                                        |     sb = pc + sb;
    0x0017f0b8 add sl, pc, sl                                        |     sl = pc + sl;
    0x0017f0bc add fp, pc, fp                                        |     
                                                                     |     do {
    0x0017f0c0 mov r0, r5                                            |         r0 = r5;
    0x0017f0c4 bl 0x154518                                           |         r0 = OPENSSL_sk_num ();
    0x0017f0c8 cmp r6, r0                                            |         
                                                                     |         if (r6 < r0) {
    0x0017f0cc popge {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}        |             
                                                                     |         }
    0x0017f0d0 cmp r7, 0                                             |         
                                                                     |         if (r7 == 0) {
    0x0017f0d4 beq 0x17f140                                          |             goto label_3;
                                                                     |         }
    0x0017f0d8 mov r3, sl                                            |         r3 = sl;
    0x0017f0dc mov r2, r8                                            |         r2 = r8;
    0x0017f0e0 mov r1, fp                                            |         r1 = fp;
    0x0017f0e4 mov r0, r4                                            |         r0 = r4;
    0x0017f0e8 bl 0x6bbc4                                            |         BIO_printf ()
                                                                     | label_0:
    0x0017f0ec mov r1, r6                                            |         r1 = r6;
    0x0017f0f0 mov r0, r5                                            |         r0 = r5;
    0x0017f0f4 bl 0x154528                                           |         OPENSSL_sk_value ();
    0x0017f0f8 ldr r2, [r0, 4]                                       |         r2 = *((r0 + 4));
    0x0017f0fc cmp r2, 0                                             |         
                                                                     |         if (r2 != 0) {
    0x0017f100 ldreq r1, [r0, 8]                                     |             r1 = *((r0 + 8));
                                                                     |         }
                                                                     |         if (r2 != 0) {
    0x0017f104 beq 0x17f118                                          |             
    0x0017f108 ldr r3, [r0, 8]                                       |             r3 = *((r0 + 8));
    0x0017f10c cmp r3, 0                                             |             
                                                                     |             if (r3 != 0) {
    0x0017f110 bne 0x17f158                                          |                 goto label_4;
                                                                     |             }
    0x0017f114 mov r1, r2                                            |             r1 = r2;
                                                                     |         }
    0x0017f118 mov r0, r4                                            |         r0 = r4;
    0x0017f11c bl 0x6e860                                            |         BIO_puts ();
                                                                     | label_1:
    0x0017f120 cmp r7, 0                                             |         
                                                                     |         if (r7 != 0) {
    0x0017f124 beq 0x17f138                                          |             
    0x0017f128 ldr r1, [pc, 0x54]                                    |             r1 = *(0x17f180);
    0x0017f12c mov r0, r4                                            |             r0 = r4;
    0x0017f130 add r1, pc, r1                                        |             r1 = pc + r1;
    0x0017f134 bl 0x6e860                                            |             BIO_puts ();
                                                                     |         }
    0x0017f138 add r6, r6, 1                                         |         r6++;
    0x0017f13c b 0x17f0c0                                            |         
                                                                     |     } while (1);
                                                                     | label_3:
    0x0017f140 cmp r6, 0                                             |     
                                                                     |     if (r6 <= 0) {
    0x0017f144 ble 0x17f0ec                                          |         goto label_0;
                                                                     |     }
    0x0017f148 mov r1, sb                                            |     r1 = sb;
    0x0017f14c mov r0, r4                                            |     r0 = r4;
    0x0017f150 bl 0x6bbc4                                            |     BIO_printf ()
    0x0017f154 b 0x17f0ec                                            |     goto label_0;
                                                                     | label_4:
    0x0017f158 ldr r1, [pc, 0x28]                                    |     r1 = "_";
    0x0017f15c mov r0, r4                                            |     r0 = r4;
    0x0017f160 add r1, pc, r1                                        |     r1 = pc + r1;
    0x0017f164 bl 0x6bbc4                                            |     BIO_printf ()
    0x0017f168 b 0x17f120                                            |     goto label_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/libcrypto.so.1.1 @ 0x17f384 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.X509V3_extensions_print ()                       | void X509V3_extensions_print (int32_t arg_38h, int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_14h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0017f384 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0017f388 mov r4, r0                                        |     r4 = r0;
    0x0017f38c sub sp, sp, 0x14                                  |     
    0x0017f390 mov r0, r2                                        |     r0 = r2;
    0x0017f394 mov r6, r1                                        |     r6 = r1;
    0x0017f398 mov r8, r2                                        |     r8 = r2;
    0x0017f39c mov sl, r3                                        |     sl = r3;
    0x0017f3a0 ldr r5, [sp, 0x38]                                |     r5 = *(arg_38h);
    0x0017f3a4 bl 0x154518                                       |     r0 = OPENSSL_sk_num ();
    0x0017f3a8 cmp r0, 0                                         |     
    0x0017f3ac bgt 0x17f3bc                                      |     
                                                                 |     while (r6 >= r0) {
    0x0017f3b0 mov r0, 1                                         |         r0 = 1;
                                                                 | label_1:
    0x0017f3b4 add sp, sp, 0x14                                  |         
    0x0017f3b8 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
    0x0017f3bc cmp r6, 0                                         |         
                                                                 |         if (r6 != 0) {
    0x0017f3c0 beq 0x17f3e8                                      |             
    0x0017f3c4 ldr r3, [pc, 0x144]                               |             r3 = *(0x17f50c);
    0x0017f3c8 ldr r1, [pc, 0x144]                               |             r1 = "_";
    0x0017f3cc mov r2, r5                                        |             r2 = r5;
    0x0017f3d0 str r6, [sp]                                      |             *(sp) = r6;
    0x0017f3d4 add r3, pc, r3                                    |             r3 = pc + r3;
    0x0017f3d8 add r1, pc, r1                                    |             r1 = pc + r1;
    0x0017f3dc mov r0, r4                                        |             r0 = r4;
    0x0017f3e0 bl 0x6bbc4                                        |             BIO_printf ()
    0x0017f3e4 add r5, r5, 4                                     |             r5 += 4;
                                                                 |         }
    0x0017f3e8 ldr r3, [pc, 0x128]                               |         r3 = *(0x17f514);
    0x0017f3ec ldr fp, [pc, 0x128]                               |         fp = "_";
    0x0017f3f0 add r3, pc, r3                                    |         r3 = pc + r3;
    0x0017f3f4 str r3, [sp, 8]                                   |         var_8h = r3;
    0x0017f3f8 ldr r3, [pc, 0x120]                               |         r3 = *(0x17f51c);
    0x0017f3fc mov r6, 0                                         |         r6 = 0;
    0x0017f400 add r3, pc, r3                                    |         r3 = pc + r3;
    0x0017f404 add fp, pc, fp                                    |         
    0x0017f408 str r3, [sp, 0xc]                                 |         var_ch = r3;
                                                                 | label_0:
    0x0017f40c mov r0, r8                                        |         r0 = r8;
    0x0017f410 bl 0x154518                                       |         r0 = OPENSSL_sk_num ();
    0x0017f414 cmp r6, r0                                        |         
    0x0017f418 bge 0x17f3b0                                      |         
                                                                 |     }
    0x0017f41c mov r1, r6                                        |     r1 = r6;
    0x0017f420 mov r0, r8                                        |     r0 = r8;
    0x0017f424 bl 0x154528                                       |     OPENSSL_sk_value ();
    0x0017f428 cmp r5, 0                                         |     
    0x0017f42c mov r7, r0                                        |     r7 = r0;
    0x0017f430 bne 0x17f4ec                                      |     
                                                                 |     while (r0 > 0) {
    0x0017f434 mov r0, r7                                        |         r0 = r7;
    0x0017f438 bl 0x167724                                       |         r0 = X509_EXTENSION_get_object ();
    0x0017f43c mov r1, r0                                        |         r1 = r0;
    0x0017f440 mov r0, r4                                        |         r0 = r4;
    0x0017f444 bl 0x55f58                                        |         i2a_ASN1_OBJECT ();
    0x0017f448 mov r0, r7                                        |         r0 = r7;
    0x0017f44c bl 0x16773c                                       |         r0 = X509_EXTENSION_get_critical ();
    0x0017f450 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0017f454 movne r2, fp                                      |             r2 = fp;
                                                                 |         }
                                                                 |         if (r0 != 0) {
    0x0017f458 ldreq r2, [pc, 0xc4]                              |             r2 = *((pc + 0xc4));
                                                                 |         }
                                                                 |         if (r0 != 0) {
    0x0017f45c addeq r2, pc, r2                                  |             r2 = pc + r2;
                                                                 |         }
    0x0017f460 ldr r1, [pc, 0xc0]                                |         r1 = "_";
    0x0017f464 mov r0, r4                                        |         r0 = r4;
    0x0017f468 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0017f46c bl 0x6bbc4                                        |         r0 = BIO_printf ()
    0x0017f470 cmp r0, 0                                         |         
                                                                 |         if (r0 <= 0) {
    0x0017f474 ble 0x17f508                                      |             goto label_2;
                                                                 |         }
    0x0017f478 add sb, r5, 4                                     |         sb = r5 + 4;
    0x0017f47c mov r3, sb                                        |         r3 = sb;
    0x0017f480 mov r2, sl                                        |         r2 = sl;
    0x0017f484 mov r1, r7                                        |         r1 = r7;
    0x0017f488 mov r0, r4                                        |         r0 = r4;
    0x0017f48c bl 0x17f18c                                       |         r0 = X509V3_EXT_print ();
    0x0017f490 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0017f494 bne 0x17f4c8                                      |             
    0x0017f498 ldr r3, [pc, 0x8c]                                |             r3 = "gest_create";
    0x0017f49c ldr r1, [pc, 0x8c]                                |             r1 = "_";
    0x0017f4a0 add r3, pc, r3                                    |             r3 = pc + r3;
    0x0017f4a4 add r1, pc, r1                                    |             r1 = pc + r1;
    0x0017f4a8 mov r2, sb                                        |             r2 = sb;
    0x0017f4ac mov r0, r4                                        |             r0 = r4;
    0x0017f4b0 bl 0x6bbc4                                        |             BIO_printf ()
    0x0017f4b4 mov r0, r7                                        |             r0 = r7;
    0x0017f4b8 bl 0x167730                                       |             r0 = X509_EXTENSION_get_data ();
    0x0017f4bc mov r1, r0                                        |             r1 = r0;
    0x0017f4c0 mov r0, r4                                        |             r0 = r4;
    0x0017f4c4 bl 0x565e8                                        |             ASN1_STRING_print ();
                                                                 |         }
    0x0017f4c8 ldr r1, [pc, 0x64]                                |         r1 = *(0x17f530);
    0x0017f4cc mov r2, 1                                         |         r2 = 1;
    0x0017f4d0 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0017f4d4 mov r0, r4                                        |         r0 = r4;
    0x0017f4d8 bl 0x6e820                                        |         r0 = BIO_write ();
    0x0017f4dc cmp r0, 0                                         |         
                                                                 |         if (r0 <= 0) {
    0x0017f4e0 ble 0x17f508                                      |             goto label_2;
                                                                 |         }
    0x0017f4e4 add r6, r6, 1                                     |         r6++;
    0x0017f4e8 b 0x17f40c                                        |         goto label_0;
    0x0017f4ec ldr r3, [sp, 8]                                   |         r3 = var_8h;
    0x0017f4f0 mov r2, r5                                        |         r2 = r5;
    0x0017f4f4 ldr r1, [sp, 0xc]                                 |         r1 = var_ch;
    0x0017f4f8 mov r0, r4                                        |         r0 = r4;
    0x0017f4fc bl 0x6bbc4                                        |         r0 = BIO_printf ()
    0x0017f500 cmp r0, 0                                         |         
    0x0017f504 bgt 0x17f434                                      |         
                                                                 |     }
                                                                 | label_2:
    0x0017f508 mov r0, 0                                         |     r0 = 0;
    0x0017f50c b 0x17f3b4                                        |     goto label_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/libcrypto.so.1.1 @ 0x161d4c */
                                                                             | #include <stdint.h>
                                                                             |  
    ; (fcn) sym.X509_CRL_print_ex ()                                         | void X509_CRL_print_ex (int32_t arg1, int32_t arg2) {
                                                                             |     int32_t var_0h;
                                                                             |     int32_t var_8h;
                                                                             |     int32_t var_ch;
                                                                             |     r0 = arg1;
                                                                             |     r1 = arg2;
    0x00161d4c push {r0, r1, r2, r3, r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x00161d50 mov r5, r1                                                    |     r5 = r1;
    0x00161d54 ldr r1, [pc, 0x288]                                           |     r1 = *(0x161fe0);
    0x00161d58 mov r7, r2                                                    |     r7 = r2;
    0x00161d5c add r1, pc, r1                                                |     r1 = pc + r1;
    0x00161d60 mov r4, r0                                                    |     r4 = r0;
    0x00161d64 bl 0x6bbc4                                                    |     BIO_printf ()
    0x00161d68 mov r0, r5                                                    |     r0 = r5;
    0x00161d6c bl 0x16c0b4                                                   |     r0 = X509_CRL_get_version ();
    0x00161d70 cmp r0, 1                                                     |     
    0x00161d74 mov r3, r0                                                    |     r3 = r0;
                                                                             |     if (r0 > 1) {
    0x00161d78 bhi 0x161f1c                                                  |         goto label_3;
                                                                             |     }
    0x00161d7c ldr r2, [pc, 0x264]                                           |     r2 = *(0x161fe4);
    0x00161d80 ldr r1, [pc, 0x264]                                           |     r1 = *(0x161fe8);
    0x00161d84 str r0, [sp]                                                  |     *(sp) = r0;
    0x00161d88 add r3, r0, 1                                                 |     r3 = r0 + 1;
    0x00161d8c add r2, pc, r2                                                |     r2 = pc + r2;
    0x00161d90 add r1, pc, r1                                                |     r1 = pc + r1;
    0x00161d94 mov r0, r4                                                    |     r0 = r4;
    0x00161d98 bl 0x6bbc4                                                    |     BIO_printf ()
                                                                             |     do {
    0x00161d9c add r2, sp, 8                                                 |         r2 += var_8h;
    0x00161da0 add r1, sp, 0xc                                               |         r1 += var_ch;
    0x00161da4 mov r0, r5                                                    |         r0 = r5;
    0x00161da8 bl 0x16c0f4                                                   |         X509_CRL_get0_signature ();
    0x00161dac ldr r1, [pc, 0x23c]                                           |         r1 = *(0x161fec);
    0x00161db0 mov r0, r4                                                    |         r0 = r4;
    0x00161db4 add r1, pc, r1                                                |         r1 = pc + r1;
    0x00161db8 bl 0x6e860                                                    |         BIO_puts ();
    0x00161dbc ldr r6, [pc, 0x230]                                           |         r6 = "sc";
    0x00161dc0 mov r2, 0                                                     |         r2 = 0;
    0x00161dc4 ldr r1, [sp, 8]                                               |         r1 = var_8h;
    0x00161dc8 mov r0, r4                                                    |         r0 = r4;
    0x00161dcc bl 0x162a3c                                                   |         X509_signature_print ();
    0x00161dd0 ldr r1, [pc, 0x220]                                           |         r1 = *(0x161ff4);
    0x00161dd4 add r6, pc, r6                                                |         r6 = pc + r6;
    0x00161dd8 mov r2, r6                                                    |         r2 = r6;
    0x00161ddc add r1, pc, r1                                                |         r1 = pc + r1;
    0x00161de0 mov r0, r4                                                    |         r0 = r4;
    0x00161de4 bl 0x6bbc4                                                    |         BIO_printf ()
    0x00161de8 mov r0, r5                                                    |         r0 = r5;
    0x00161dec bl 0x16c0dc                                                   |         X509_CRL_get_issuer ();
    0x00161df0 mov r3, r7                                                    |         r3 = r7;
    0x00161df4 mov r2, 0                                                     |         r2 = 0;
    0x00161df8 mov r1, r0                                                    |         r1 = r0;
    0x00161dfc mov r0, r4                                                    |         r0 = r4;
    0x00161e00 bl 0x57980                                                    |         X509_NAME_print_ex ();
    0x00161e04 ldr r1, [pc, 0x1f0]                                           |         r1 = *(0x161ff8);
    0x00161e08 mov r0, r4                                                    |         r0 = r4;
    0x00161e0c add r1, pc, r1                                                |         r1 = pc + r1;
    0x00161e10 bl 0x6e860                                                    |         BIO_puts ();
    0x00161e14 ldr r1, [pc, 0x1e4]                                           |         r1 = *(0x161ffc);
    0x00161e18 mov r2, r6                                                    |         r2 = r6;
    0x00161e1c add r1, pc, r1                                                |         r1 = pc + r1;
    0x00161e20 mov r0, r4                                                    |         r0 = r4;
    0x00161e24 bl 0x6bbc4                                                    |         BIO_printf ()
    0x00161e28 mov r0, r5                                                    |         r0 = r5;
    0x00161e2c bl 0x16c0bc                                                   |         r0 = X509_CRL_get0_lastUpdate ();
    0x00161e30 mov r1, r0                                                    |         r1 = r0;
    0x00161e34 mov r0, r4                                                    |         r0 = r4;
    0x00161e38 bl 0x58a40                                                    |         ASN1_TIME_print ();
    0x00161e3c ldr r1, [pc, 0x1c0]                                           |         r1 = *(0x162000);
    0x00161e40 mov r2, r6                                                    |         r2 = r6;
    0x00161e44 add r1, pc, r1                                                |         r1 = pc + r1;
    0x00161e48 mov r0, r4                                                    |         r0 = r4;
    0x00161e4c bl 0x6bbc4                                                    |         BIO_printf ()
    0x00161e50 mov r0, r5                                                    |         r0 = r5;
    0x00161e54 bl 0x16c0c4                                                   |         r0 = X509_CRL_get0_nextUpdate ();
    0x00161e58 cmp r0, 0                                                     |         
                                                                             |         if (r0 == 0) {
    0x00161e5c beq 0x161f38                                                  |             goto label_4;
                                                                             |         }
    0x00161e60 mov r0, r5                                                    |         r0 = r5;
    0x00161e64 bl 0x16c0c4                                                   |         r0 = X509_CRL_get0_nextUpdate ();
    0x00161e68 mov r1, r0                                                    |         r1 = r0;
    0x00161e6c mov r0, r4                                                    |         r0 = r4;
    0x00161e70 bl 0x58a40                                                    |         ASN1_TIME_print ();
                                                                             | label_0:
    0x00161e74 ldr r1, [pc, 0x18c]                                           |         r1 = *(0x162004);
    0x00161e78 mov r0, r4                                                    |         r0 = r4;
    0x00161e7c add r1, pc, r1                                                |         r1 = pc + r1;
    0x00161e80 bl 0x6bbc4                                                    |         BIO_printf ()
    0x00161e84 mov r0, r5                                                    |         r0 = r5;
    0x00161e88 bl 0x16c0e4                                                   |         X509_CRL_get0_extensions ();
    0x00161e8c ldr r1, [pc, 0x178]                                           |         r1 = *(0x162008);
    0x00161e90 mov r3, 8                                                     |         r3 = 8;
    0x00161e94 add r1, pc, r1                                                |         r1 = pc + r1;
    0x00161e98 str r3, [sp]                                                  |         *(sp) = r3;
    0x00161e9c mov r3, 0                                                     |         r3 = 0;
    0x00161ea0 mov r2, r0                                                    |         r2 = r0;
    0x00161ea4 mov r0, r4                                                    |         r0 = r4;
    0x00161ea8 bl 0x17f384                                                   |         X509V3_extensions_print ();
    0x00161eac mov r0, r5                                                    |         r0 = r5;
    0x00161eb0 bl 0x16c0ec                                                   |         r0 = X509_CRL_get_REVOKED ();
    0x00161eb4 mov r7, r0                                                    |         r7 = r0;
    0x00161eb8 bl 0x154518                                                   |         r0 = OPENSSL_sk_num ();
    0x00161ebc cmp r0, 0                                                     |         
                                                                             |         if (r0 <= 0) {
    0x00161ec0 ble 0x161f4c                                                  |             goto label_5;
                                                                             |         }
    0x00161ec4 ldr r1, [pc, 0x144]                                           |         r1 = *(0x16200c);
    0x00161ec8 add r1, pc, r1                                                |         r1 = pc + r1;
                                                                             | label_1:
    0x00161ecc mov r0, r4                                                    |         r0 = r4;
    0x00161ed0 bl 0x6bbc4                                                    |         BIO_printf ()
    0x00161ed4 ldr r8, [pc, 0x138]                                           |         r8 = *(0x162010);
    0x00161ed8 ldr sb, [pc, 0x138]                                           |         sb = *(0x00162018);
    0x00161edc ldr sl, [pc, 0x138]                                           |         sl = "SS";
    0x00161ee0 mov r5, 0                                                     |         r5 = 0;
    0x00161ee4 add r8, pc, r8                                                |         r8 = pc + r8;
    0x00161ee8 add sb, pc, sb                                                |         sb = pc + sb;
    0x00161eec add sl, pc, sl                                                |         sl = pc + sl;
                                                                             | label_2:
    0x00161ef0 mov r0, r7                                                    |         r0 = r7;
    0x00161ef4 bl 0x154518                                                   |         r0 = OPENSSL_sk_num ();
    0x00161ef8 cmp r5, r0                                                    |         
                                                                             |         if (r5 < r0) {
    0x00161efc blt 0x161f58                                                  |             goto label_6;
                                                                             |         }
    0x00161f00 ldr r2, [sp, 0xc]                                             |         r2 = var_ch;
    0x00161f04 ldr r1, [sp, 8]                                               |         r1 = var_8h;
    0x00161f08 mov r0, r4                                                    |         r0 = r4;
    0x00161f0c bl 0x162a3c                                                   |         X509_signature_print ();
    0x00161f10 mov r0, 1                                                     |         r0 = 1;
    0x00161f14 add sp, sp, 0x10                                              |         
    0x00161f18 pop {r4, r5, r6, r7, r8, sb, sl, pc}                          |         
                                                                             | label_3:
    0x00161f1c ldr r2, [pc, 0xfc]                                            |         r2 = "SS";
    0x00161f20 ldr r1, [pc, 0xfc]                                            |         r1 = *(0x162020);
    0x00161f24 add r2, pc, r2                                                |         r2 = pc + r2;
    0x00161f28 add r1, pc, r1                                                |         r1 = pc + r1;
    0x00161f2c mov r0, r4                                                    |         r0 = r4;
    0x00161f30 bl 0x6bbc4                                                    |         BIO_printf ()
    0x00161f34 b 0x161d9c                                                    |         
                                                                             |     } while (1);
                                                                             | label_4:
    0x00161f38 ldr r1, [pc, 0xe8]                                            |     r1 = *(0x162024);
    0x00161f3c mov r0, r4                                                    |     r0 = r4;
    0x00161f40 add r1, pc, r1                                                |     r1 = pc + r1;
    0x00161f44 bl 0x6bbc4                                                    |     BIO_printf ()
    0x00161f48 b 0x161e74                                                    |     goto label_0;
                                                                             | label_5:
    0x00161f4c ldr r1, [pc, 0xd8]                                            |     r1 = *(0x162028);
    0x00161f50 add r1, pc, r1                                                |     r1 = pc + r1;
    0x00161f54 b 0x161ecc                                                    |     goto label_1;
                                                                             | label_6:
    0x00161f58 mov r1, r5                                                    |     r1 = r5;
    0x00161f5c mov r0, r7                                                    |     r0 = r7;
    0x00161f60 bl 0x154528                                                   |     OPENSSL_sk_value ();
    0x00161f64 mov r1, r8                                                    |     r1 = r8;
    0x00161f68 add r5, r5, 1                                                 |     r5++;
    0x00161f6c mov r6, r0                                                    |     r6 = r0;
    0x00161f70 mov r0, r4                                                    |     r0 = r4;
    0x00161f74 bl 0x6bbc4                                                    |     BIO_printf ()
    0x00161f78 mov r0, r6                                                    |     r0 = r6;
    0x00161f7c bl 0x16c16c                                                   |     r0 = X509_REVOKED_get0_serialNumber ();
    0x00161f80 mov r1, r0                                                    |     r1 = r0;
    0x00161f84 mov r0, r4                                                    |     r0 = r4;
    0x00161f88 bl 0x5f764                                                    |     i2a_ASN1_INTEGER ();
    0x00161f8c mov r1, sb                                                    |     r1 = sb;
    0x00161f90 mov r0, r4                                                    |     r0 = r4;
    0x00161f94 bl 0x6bbc4                                                    |     BIO_printf ()
    0x00161f98 mov r0, r6                                                    |     r0 = r6;
    0x00161f9c bl 0x16c118                                                   |     r0 = X509_REVOKED_get0_revocationDate ();
    0x00161fa0 mov r1, r0                                                    |     r1 = r0;
    0x00161fa4 mov r0, r4                                                    |     r0 = r4;
    0x00161fa8 bl 0x58a40                                                    |     ASN1_TIME_print ();
    0x00161fac mov r1, sl                                                    |     r1 = sl;
    0x00161fb0 mov r0, r4                                                    |     r0 = r4;
    0x00161fb4 bl 0x6bbc4                                                    |     BIO_printf ()
    0x00161fb8 mov r0, r6                                                    |     r0 = r6;
    0x00161fbc bl 0x16c194                                                   |     X509_REVOKED_get0_extensions ();
    0x00161fc0 ldr r1, [pc, 0x68]                                            |     r1 = *(0x16202c);
    0x00161fc4 mov r3, 8                                                     |     r3 = 8;
    0x00161fc8 str r3, [sp]                                                  |     *(sp) = r3;
    0x00161fcc add r1, pc, r1                                                |     r1 = pc + r1;
    0x00161fd0 mov r3, 0                                                     |     r3 = 0;
    0x00161fd4 mov r2, r0                                                    |     r2 = r0;
    0x00161fd8 mov r0, r4                                                    |     r0 = r4;
    0x00161fdc bl 0x17f384                                                   |     X509V3_extensions_print ();
    0x00161fe0 b 0x161ef0                                                    |     goto label_2;
                                                                             | }
    ; 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/libcrypto.so.1.1 @ 0x17a900 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.X509_POLICY_NODE_print ()                    | void X509_POLICY_NODE_print (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0017a900 push {r0, r1, r2, r4, r5, r6, r7, lr}         |     
    0x0017a904 ldr r3, [pc, 0xbc]                            |     r3 = *(0x17a9c4);
    0x0017a908 ldr r6, [r1]                                  |     r6 = *(r1);
    0x0017a90c ldr r1, [pc, 0xb8]                            |     r1 = *(0x17a9c8);
    0x0017a910 add r3, pc, r3                                |     r3 = pc + r3;
    0x0017a914 mov r4, r0                                    |     r4 = r0;
    0x0017a918 add r1, pc, r1                                |     r1 = pc + r1;
    0x0017a91c mov r5, r2                                    |     r5 = r2;
    0x0017a920 bl 0x6bbc4                                    |     BIO_printf ()
    0x0017a924 ldr r1, [r6, 4]                               |     r1 = *((r6 + 4));
    0x0017a928 mov r0, r4                                    |     r0 = r4;
    0x0017a92c bl 0x55f58                                    |     i2a_ASN1_OBJECT ();
    0x0017a930 ldr r1, [pc, 0x98]                            |     r1 = *(0x17a9cc);
    0x0017a934 mov r0, r4                                    |     r0 = r4;
    0x0017a938 add r1, pc, r1                                |     r1 = pc + r1;
    0x0017a93c bl 0x6e860                                    |     BIO_puts ();
    0x0017a940 ldr r3, [r6]                                  |     r3 = *(r6);
    0x0017a944 add r5, r5, 2                                 |     r5 += 2;
    0x0017a948 tst r3, 0x10                                  |     
                                                             |     if ((r3 & 0x10) != 0) {
    0x0017a94c bne 0x17a99c                                  |         goto label_0;
                                                             |     }
    0x0017a950 ldr r3, [pc, 0x7c]                            |     r3 = *(0x17a9d0);
    0x0017a954 add r3, pc, r3                                |     r3 = pc + r3;
                                                             |     do {
    0x0017a958 ldr r7, [pc, 0x78]                            |         r7 = *(0x17a9d4);
    0x0017a95c ldr r1, [pc, 0x78]                            |         r1 = *(0x17a9d8);
    0x0017a960 add r7, pc, r7                                |         r7 = pc + r7;
    0x0017a964 str r3, [sp]                                  |         *(sp) = r3;
    0x0017a968 add r1, pc, r1                                |         r1 = pc + r1;
    0x0017a96c mov r3, r7                                    |         r3 = r7;
    0x0017a970 mov r2, r5                                    |         r2 = r5;
    0x0017a974 mov r0, r4                                    |         r0 = r4;
    0x0017a978 bl 0x6bbc4                                    |         BIO_printf ()
    0x0017a97c ldr r1, [r6, 8]                               |         r1 = *((r6 + 8));
    0x0017a980 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x0017a984 beq 0x17a9a8                                  |             goto label_1;
                                                             |         }
    0x0017a988 mov r2, r5                                    |         r2 = r5;
    0x0017a98c mov r0, r4                                    |         r0 = r4;
    0x0017a990 add sp, sp, 0xc                               |         
    0x0017a994 pop {r4, r5, r6, r7, lr}                      |         
    0x0017a998 b 0x179620                                    |         void (*0x179620)() ();
                                                             | label_0:
    0x0017a99c ldr r3, [pc, 0x3c]                            |         r3 = *(0x17a9dc);
    0x0017a9a0 add r3, pc, r3                                |         r3 = pc + r3;
    0x0017a9a4 b 0x17a958                                    |         
                                                             |     } while (1);
                                                             | label_1:
    0x0017a9a8 ldr r1, [pc, 0x34]                            |     r1 = *(0x17a9e0);
    0x0017a9ac mov r3, r7                                    |     r3 = r7;
    0x0017a9b0 mov r2, r5                                    |     r2 = r5;
    0x0017a9b4 add r1, pc, r1                                |     r1 = pc + r1;
    0x0017a9b8 mov r0, r4                                    |     r0 = r4;
    0x0017a9bc add sp, sp, 0xc                               |     
    0x0017a9c0 pop {r4, r5, r6, r7, lr}                      |     
    0x0017a9c4 b 0x6bbc4                                     |     return void (*0x6bbc4)() ();
                                                             | }
    ; 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/libcrypto.so.1.1 @ 0x1620b8 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.X509_REQ_print_ex ()                             | void X509_REQ_print_ex (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_18h;
                                                                 |     int32_t var_1ch;
                                                                 |     int32_t var_20h;
                                                                 |     int32_t var_24h;
                                                                 |     int32_t var_2ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x001620b8 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x001620bc mov r5, r3                                        |     r5 = r3;
    0x001620c0 ldr r3, [pc, 0x5bc]                               |     r3 = *(0x162680);
    0x001620c4 sub sp, sp, 0x2c                                  |     
    0x001620c8 add r3, pc, r3                                    |     r3 = pc + r3;
    0x001620cc str r3, [sp, 0x14]                                |     var_14h = r3;
    0x001620d0 and r3, r2, 0xf0000                               |     r3 = r2 & 0xf0000;
    0x001620d4 cmp r3, 0x40000                                   |     
    0x001620d8 mov r4, r0                                        |     r4 = r0;
    0x001620dc mov r6, r1                                        |     r6 = r1;
    0x001620e0 mov r7, r2                                        |     r7 = r2;
                                                                 |     if (r3 != 0x40000) {
    0x001620e4 moveq sb, 0xa                                     |         sb = 0xa;
                                                                 |     }
                                                                 |     if (r3 != 0x40000) {
    0x001620e8 moveq r8, 0xc                                     |         r8 = 0xc;
                                                                 |     }
                                                                 |     if (r3 != 0x40000) {
    0x001620ec beq 0x162100                                      |         
    0x001620f0 cmp r2, 0                                         |         
    0x001620f4 mov sb, 0x20                                      |         sb = 0x20;
                                                                 |         if (r2 == 0) {
    0x001620f8 movne r8, 0                                       |             r8 = 0;
                                                                 |         }
                                                                 |         if (r2 == 0) {
    0x001620fc moveq r8, 0x10                                    |             r8 = 0x10;
                                                                 |             goto label_11;
                                                                 |         }
                                                                 |     }
                                                                 | label_11:
    0x00162100 tst r5, 1                                         |     
    0x00162104 beq 0x162338                                      |     
                                                                 |     while (r0 > 0) {
    0x00162108 tst r5, 2                                         |         
                                                                 |         if ((r5 & 2) == 0) {
    0x0016210c bne 0x16214c                                      |             
    0x00162110 mov r0, r6                                        |             r0 = r6;
    0x00162114 bl 0x1663a8                                       |             r0 = X509_REQ_get_version ();
    0x00162118 cmp r0, 2                                         |             
    0x0016211c mov r3, r0                                        |             r3 = r0;
                                                                 |             if (r0 > 2) {
    0x00162120 bhi 0x16239c                                      |                 goto label_12;
                                                                 |             }
    0x00162124 ldr r2, [pc, 0x55c]                               |             r2 = *(0x162684);
    0x00162128 ldr r1, [pc, 0x55c]                               |             r1 = *(0x162688);
    0x0016212c str r0, [sp]                                      |             *(sp) = r0;
    0x00162130 add r3, r0, 1                                     |             r3 = r0 + 1;
    0x00162134 add r2, pc, r2                                    |             r2 = pc + r2;
    0x00162138 add r1, pc, r1                                    |             r1 = pc + r1;
    0x0016213c mov r0, r4                                        |             r0 = r4;
    0x00162140 bl 0x6bbc4                                        |             r0 = BIO_printf ()
                                                                 | label_0:
    0x00162144 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00162148 ble 0x162370                                      |                 goto label_2;
                                                                 |             }
                                                                 |         }
    0x0016214c tst r5, 0x40                                      |         
                                                                 |         if ((r5 & 0x40) == 0) {
    0x00162150 bne 0x1621b0                                      |             
    0x00162154 ldr r1, [pc, 0x534]                               |             r1 = *(0x16268c);
    0x00162158 mov r2, sb                                        |             r2 = sb;
    0x0016215c add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162160 mov r0, r4                                        |             r0 = r4;
    0x00162164 bl 0x6bbc4                                        |             r0 = BIO_printf ()
    0x00162168 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x0016216c ble 0x162370                                      |                 goto label_2;
                                                                 |             }
    0x00162170 mov r0, r6                                        |             r0 = r6;
    0x00162174 bl 0x1663b0                                       |             X509_REQ_get_subject_name ();
    0x00162178 mov r3, r7                                        |             r3 = r7;
    0x0016217c mov r2, r8                                        |             r2 = r8;
    0x00162180 mov r1, r0                                        |             r1 = r0;
    0x00162184 mov r0, r4                                        |             r0 = r4;
    0x00162188 bl 0x57980                                        |             r0 = X509_NAME_print_ex ();
    0x0016218c cmp r0, 0                                         |             
                                                                 |             if (r0 < 0) {
    0x00162190 blt 0x162370                                      |                 goto label_2;
                                                                 |             }
    0x00162194 ldr r1, [pc, 0x4f8]                               |             r1 = *(0x162690);
    0x00162198 mov r2, 1                                         |             r2 = 1;
    0x0016219c add r1, pc, r1                                    |             r1 = pc + r1;
    0x001621a0 mov r0, r4                                        |             r0 = r4;
    0x001621a4 bl 0x6e820                                        |             r0 = BIO_write ();
    0x001621a8 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x001621ac ble 0x162370                                      |                 goto label_2;
                                                                 |             }
                                                                 |         }
    0x001621b0 ands r7, r5, 0x80                                 |         r7 = r5 & 0x80;
                                                                 |         if (r7 == r5) {
    0x001621b4 bne 0x162278                                      |             
    0x001621b8 ldr r1, [pc, 0x4d8]                               |             r1 = *(0x162694);
    0x001621bc mov r2, 0x21                                      |             r2 = 0x21;
    0x001621c0 add r1, pc, r1                                    |             r1 = pc + r1;
    0x001621c4 mov r0, r4                                        |             r0 = r4;
    0x001621c8 bl 0x6e820                                        |             r0 = BIO_write ();
    0x001621cc cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x001621d0 ble 0x162370                                      |                 goto label_2;
                                                                 |             }
    0x001621d4 ldr r8, [pc, 0x4c0]                               |             r8 = *(0x162698);
    0x001621d8 ldr r1, [pc, 0x4c0]                               |             r1 = *(0x16269c);
    0x001621dc add r8, pc, r8                                    |             r8 = pc + r8;
    0x001621e0 mov r2, r8                                        |             r2 = r8;
    0x001621e4 add r1, pc, r1                                    |             r1 = pc + r1;
    0x001621e8 mov r0, r4                                        |             r0 = r4;
    0x001621ec bl 0x6bbc4                                        |             r0 = BIO_printf ()
    0x001621f0 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x001621f4 ble 0x162370                                      |                 goto label_2;
                                                                 |             }
    0x001621f8 mov r0, r6                                        |             r0 = r6;
    0x001621fc bl 0x166044                                       |             X509_REQ_get_X509_PUBKEY ();
    0x00162200 mov r3, r7                                        |             r3 = r7;
    0x00162204 mov r2, r7                                        |             r2 = r7;
    0x00162208 mov r1, r7                                        |             r1 = r7;
    0x0016220c str r0, [sp]                                      |             *(sp) = r0;
    0x00162210 add r0, sp, 0x24                                  |             r0 += var_24h;
    0x00162214 bl 0x1702d8                                       |             X509_PUBKEY_get0_param ();
    0x00162218 ldr r1, [sp, 0x24]                                |             r1 = var_24h;
    0x0016221c mov r0, r4                                        |             r0 = r4;
    0x00162220 bl 0x55f58                                        |             r0 = i2a_ASN1_OBJECT ();
    0x00162224 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00162228 ble 0x162370                                      |                 goto label_2;
                                                                 |             }
    0x0016222c ldr r1, [pc, 0x470]                               |             r1 = *(0x1626a0);
    0x00162230 mov r0, r4                                        |             r0 = r4;
    0x00162234 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162238 bl 0x6e860                                        |             r0 = BIO_puts ();
    0x0016223c cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00162240 ble 0x162370                                      |                 goto label_2;
                                                                 |             }
    0x00162244 mov r0, r6                                        |             r0 = r6;
    0x00162248 bl 0x166034                                       |             r0 = X509_REQ_get0_pubkey ();
    0x0016224c subs r1, r0, 0                                    |             r1 = r0 - 0;
                                                                 |             if (r1 != r0) {
    0x00162250 bne 0x1623b8                                      |                 goto label_13;
                                                                 |             }
    0x00162254 ldr r1, [pc, 0x44c]                               |             r1 = *(0x1626a4);
    0x00162258 mov r2, r8                                        |             r2 = r8;
    0x0016225c add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162260 mov r0, r4                                        |             r0 = r4;
    0x00162264 bl 0x6bbc4                                        |             r0 = BIO_printf ()
    0x00162268 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x0016226c ble 0x162370                                      |                 goto label_2;
                                                                 |             }
    0x00162270 mov r0, r4                                        |             r0 = r4;
    0x00162274 bl 0xfd378                                        |             ERR_print_errors ();
                                                                 |         }
                                                                 | label_1:
    0x00162278 ands r8, r5, 0x800                                |         r8 = r5 & 0x800;
                                                                 |         if (r8 == r5) {
    0x0016227c beq 0x1623d4                                      |             goto label_14;
                                                                 |         }
                                                                 | label_3:
    0x00162280 ands r7, r5, 0x100                                |         r7 = r5 & 0x100;
                                                                 |         if (r7 == r5) {
    0x00162284 bne 0x162300                                      |             
    0x00162288 mov r0, r6                                        |             r0 = r6;
    0x0016228c bl 0x1661d4                                       |             r0 = X509_REQ_get_extensions ();
    0x00162290 subs sb, r0, 0                                    |             sb = r0 - 0;
                                                                 |             if (sb == r0) {
    0x00162294 beq 0x162300                                      |                 goto label_15;
                                                                 |             }
    0x00162298 ldr r2, [pc, 0x40c]                               |             r2 = *(0x1626a8);
    0x0016229c ldr r1, [pc, 0x40c]                               |             r1 = *(0x1626ac);
    0x001622a0 add r2, pc, r2                                    |             r2 = pc + r2;
    0x001622a4 add r1, pc, r1                                    |             r1 = pc + r1;
    0x001622a8 mov r0, r4                                        |             r0 = r4;
    0x001622ac bl 0x6bbc4                                        |             r0 = BIO_printf ()
    0x001622b0 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x001622b4 ble 0x162370                                      |                 goto label_2;
                                                                 |             }
    0x001622b8 ldr sl, [pc, 0x3f4]                               |             sl = *(0x1626b0);
    0x001622bc ldr r3, [pc, 0x3f4]                               |             r3 = *(0x1626b4);
    0x001622c0 ldr fp, [pc, 0x3f4]                               |             fp = *(0x1626b8);
    0x001622c4 add r3, pc, r3                                    |             r3 = pc + r3;
    0x001622c8 add sl, pc, sl                                    |             sl = pc + sl;
    0x001622cc add fp, pc, fp                                    |             
    0x001622d0 str r3, [sp, 0xc]                                 |             var_ch = r3;
                                                                 | label_9:
    0x001622d4 mov r0, sb                                        |             r0 = sb;
    0x001622d8 bl 0x154518                                       |             r0 = OPENSSL_sk_num ();
    0x001622dc cmp r7, r0                                        |             
                                                                 |             if (r7 < r0) {
    0x001622e0 blt 0x162594                                      |                 goto label_16;
                                                                 |             }
    0x001622e4 ldr r3, [pc, 0x3d4]                               |             r3 = *(0x1626bc);
    0x001622e8 ldr r2, [sp, 0x14]                                |             r2 = var_14h;
    0x001622ec mov r0, sb                                        |             r0 = sb;
    0x001622f0 ldr r3, [r2, r3]                                  |             r3 = *((r2 + r3));
    0x001622f4 mov r1, r3                                        |             r1 = r3;
    0x001622f8 str r3, [sp, 0xc]                                 |             var_ch = r3;
    0x001622fc bl 0x1544d0                                       |             OPENSSL_sk_pop_free ();
                                                                 |         }
                                                                 | label_15:
    0x00162300 tst r5, 0x200                                     |         
                                                                 |         if ((r5 & 0x200) == 0) {
    0x00162304 bne 0x162330                                      |             
    0x00162308 add r2, sp, 0x20                                  |             r2 += var_20h;
    0x0016230c add r1, sp, 0x24                                  |             r1 += var_24h;
    0x00162310 mov r0, r6                                        |             r0 = r6;
    0x00162314 bl 0x1663b8                                       |             X509_REQ_get0_signature ();
    0x00162318 ldr r2, [sp, 0x24]                                |             r2 = var_24h;
    0x0016231c ldr r1, [sp, 0x20]                                |             r1 = var_20h;
    0x00162320 mov r0, r4                                        |             r0 = r4;
    0x00162324 bl 0x162a3c                                       |             r0 = X509_signature_print ();
    0x00162328 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0016232c beq 0x162370                                      |                 goto label_2;
                                                                 |             }
                                                                 |         }
    0x00162330 mov r0, 1                                         |         r0 = 1;
    0x00162334 b 0x162394                                        |         goto label_17;
    0x00162338 ldr r1, [pc, 0x384]                               |         r1 = "_";
    0x0016233c mov r2, 0x15                                      |         r2 = 0x15;
    0x00162340 add r1, pc, r1                                    |         r1 = pc + r1;
    0x00162344 mov r0, r4                                        |         r0 = r4;
    0x00162348 bl 0x6e820                                        |         r0 = BIO_write ();
    0x0016234c cmp r0, 0                                         |         
                                                                 |         if (r0 <= 0) {
    0x00162350 ble 0x162370                                      |             goto label_2;
                                                                 |         }
    0x00162354 ldr r1, [pc, 0x36c]                               |         r1 = *(0x1626c4);
    0x00162358 mov r2, 0xa                                       |         r2 = 0xa;
    0x0016235c add r1, pc, r1                                    |         r1 = pc + r1;
    0x00162360 mov r0, r4                                        |         r0 = r4;
    0x00162364 bl 0x6e820                                        |         r0 = BIO_write ();
    0x00162368 cmp r0, 0                                         |         
    0x0016236c bgt 0x162108                                      |         
                                                                 |     }
                                                                 | label_2:
    0x00162370 mov r3, 0xcb                                      |     r3 = 0xcb;
    0x00162374 str r3, [sp]                                      |     *(sp) = r3;
    0x00162378 ldr r3, [pc, 0x34c]                               |     r3 = *(0x1626c8);
    0x0016237c mov r0, 0xb                                       |     r0 = 0xb;
    0x00162380 add r3, pc, r3                                    |     r3 = pc + r3;
    0x00162384 mov r2, 7                                         |     r2 = 7;
    0x00162388 mov r1, 0x79                                      |     r1 = 0x79;
    0x0016238c bl 0xfc7b8                                        |     ERR_put_error ();
    0x00162390 mov r0, 0                                         |     r0 = 0;
                                                                 | label_17:
    0x00162394 add sp, sp, 0x2c                                  |     
    0x00162398 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |     
                                                                 | label_12:
    0x0016239c ldr r2, [pc, 0x32c]                               |     r2 = *(0x1626cc);
    0x001623a0 ldr r1, [pc, 0x32c]                               |     r1 = *(0x1626d0);
    0x001623a4 add r2, pc, r2                                    |     r2 = pc + r2;
    0x001623a8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x001623ac mov r0, r4                                        |     r0 = r4;
    0x001623b0 bl 0x6bbc4                                        |     BIO_printf ()
    0x001623b4 b 0x162144                                        |     goto label_0;
                                                                 | label_13:
    0x001623b8 mov r3, r7                                        |     r3 = r7;
    0x001623bc mov r2, 0x10                                      |     r2 = 0x10;
    0x001623c0 mov r0, r4                                        |     r0 = r4;
    0x001623c4 bl 0x10e7ac                                       |     r0 = EVP_PKEY_print_public ();
    0x001623c8 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x001623cc bgt 0x162278                                      |         goto label_1;
                                                                 |     }
    0x001623d0 b 0x162370                                        |     goto label_2;
                                                                 | label_14:
    0x001623d4 ldr r7, [pc, 0x2fc]                               |     r7 = *(0x1626d4);
    0x001623d8 ldr r1, [pc, 0x2fc]                               |     r1 = *(0x1626d8);
    0x001623dc add r7, pc, r7                                    |     r7 = pc + r7;
    0x001623e0 mov r2, r7                                        |     r2 = r7;
    0x001623e4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x001623e8 mov r0, r4                                        |     r0 = r4;
    0x001623ec bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x001623f0 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001623f4 ble 0x162370                                      |         goto label_2;
                                                                 |     }
    0x001623f8 mov r0, r6                                        |     r0 = r6;
    0x001623fc bl 0x1661b4                                       |     r0 = X509_REQ_get_attr_count ();
    0x00162400 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00162404 bne 0x162578                                      |         goto label_18;
                                                                 |     }
    0x00162408 ldr r1, [pc, 0x2d0]                               |     r1 = *(0x1626dc);
    0x0016240c mov r2, r7                                        |     r2 = r7;
    0x00162410 add r1, pc, r1                                    |     r1 = pc + r1;
    0x00162414 mov r0, r4                                        |     r0 = r4;
    0x00162418 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x0016241c cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x00162420 bgt 0x162280                                      |         goto label_3;
                                                                 |     }
    0x00162424 b 0x162370                                        |     goto label_2;
                                                                 |     do {
    0x00162428 mov r1, r8                                        |         r1 = r8;
    0x0016242c mov r0, r6                                        |         r0 = r6;
    0x00162430 bl 0x1661cc                                       |         X509_REQ_get_attr ();
    0x00162434 str r0, [sp, 0x10]                                |         var_10h = r0;
    0x00162438 bl 0x163bd8                                       |         r0 = X509_ATTRIBUTE_get0_object ();
    0x0016243c mov sb, r0                                        |         sb = r0;
    0x00162440 bl 0x120878                                       |         OBJ_obj2nid ();
    0x00162444 bl 0x166160                                       |         r0 = X509_REQ_extension_nid ();
    0x00162448 subs r7, r0, 0                                    |         r7 = r0 - 0;
                                                                 |         if (r7 == r0) {
    0x0016244c beq 0x162468                                      |             goto label_19;
                                                                 |         }
                                                                 | label_4:
    0x00162450 add r8, r8, 1                                     |         r8++;
                                                                 | label_8:
    0x00162454 mov r0, r6                                        |         r0 = r6;
    0x00162458 bl 0x1661b4                                       |         r0 = X509_REQ_get_attr_count ();
    0x0016245c cmp r0, r8                                        |         
    0x00162460 bgt 0x162428                                      |         
                                                                 |     } while (r0 > r8);
    0x00162464 b 0x162280                                        |     goto label_3;
                                                                 | label_19:
    0x00162468 ldr r1, [pc, 0x274]                               |     r1 = *(0x1626e0);
    0x0016246c ldr r2, [sp, 0x18]                                |     r2 = var_18h;
    0x00162470 add r1, pc, r1                                    |     r1 = pc + r1;
    0x00162474 mov r0, r4                                        |     r0 = r4;
    0x00162478 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x0016247c cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00162480 ble 0x162370                                      |         goto label_2;
                                                                 |     }
    0x00162484 mov r1, sb                                        |     r1 = sb;
    0x00162488 mov r0, r4                                        |     r0 = r4;
    0x0016248c bl 0x55f58                                        |     r0 = i2a_ASN1_OBJECT ();
    0x00162490 subs sb, r0, 0                                    |     sb = r0 - 0;
                                                                 |     if (sb > r0) {
    0x00162494 strle r7, [sp, 0xc]                               |         var_ch = r7;
                                                                 |     }
                                                                 |     if (sb > r0) {
    0x00162498 movle fp, 1                                       |         
                                                                 |     }
                                                                 |     if (sb > r0) {
    0x0016249c movle sl, r7                                      |         sl = r7;
                                                                 |     }
                                                                 |     if (sb > r0) {
    0x001624a0 ble 0x1624c8                                      |         
    0x001624a4 ldr r0, [sp, 0x10]                                |         r0 = var_10h;
    0x001624a8 bl 0x163bc8                                       |         r0 = X509_ATTRIBUTE_count ();
    0x001624ac mov fp, r0                                        |         
                                                                 | label_5:
    0x001624b0 mov r1, r7                                        |         r1 = r7;
    0x001624b4 ldr r0, [sp, 0x10]                                |         r0 = var_10h;
    0x001624b8 bl 0x163be4                                       |         X509_ATTRIBUTE_get0_type ();
    0x001624bc str r7, [sp, 0xc]                                 |         var_ch = r7;
    0x001624c0 ldr sl, [r0, 4]                                   |         sl = *((r0 + 4));
    0x001624c4 ldr r7, [r0]                                      |         r7 = *(r0);
                                                                 |     }
    0x001624c8 rsb sb, sb, 0x19                                  |     sb = 0x19 - sb;
                                                                 | label_6:
    0x001624cc cmp sb, 0                                         |     
                                                                 |     if (sb > 0) {
    0x001624d0 bgt 0x16254c                                      |         goto label_20;
                                                                 |     }
    0x001624d4 ldr r1, [pc, 0x20c]                               |     r1 = *(0x1626e4);
    0x001624d8 mov r0, r4                                        |     r0 = r4;
    0x001624dc add r1, pc, r1                                    |     r1 = pc + r1;
    0x001624e0 bl 0x6e860                                        |     r0 = BIO_puts ();
    0x001624e4 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001624e8 ble 0x162370                                      |         goto label_2;
                                                                 |     }
    0x001624ec cmp r7, 0x16                                      |     
                                                                 |     if (r7 > 0x16) {
    0x001624f0 bhi 0x16256c                                      |         goto label_21;
                                                                 |     }
    0x001624f4 ldr r3, [pc, 0x1f0]                               |     r3 = *(0x1626e8);
    0x001624f8 mov r2, 1                                         |     r2 = 1;
    0x001624fc ands r3, r3, r2, lsl r7                           |     r3 &= (r2 << r7);
                                                                 |     if (r3 == r3) {
    0x00162500 beq 0x16256c                                      |         goto label_21;
                                                                 |     }
    0x00162504 ldr r2, [sl]                                      |     r2 = *(sl);
    0x00162508 ldr r1, [sl, 8]                                   |     r1 = *((sl + 8));
    0x0016250c mov r0, r4                                        |     r0 = r4;
    0x00162510 bl 0x6e820                                        |     BIO_write ();
    0x00162514 ldr r3, [sl]                                      |     r3 = *(sl);
    0x00162518 cmp r0, r3                                        |     
                                                                 |     if (r0 != r3) {
    0x0016251c bne 0x162370                                      |         goto label_2;
                                                                 |     }
    0x00162520 ldr r1, [pc, 0x1c8]                               |     r1 = *(0x1626ec);
    0x00162524 add r1, pc, r1                                    |     r1 = pc + r1;
                                                                 | label_7:
    0x00162528 mov r0, r4                                        |     r0 = r4;
    0x0016252c bl 0x6e860                                        |     r0 = BIO_puts ();
    0x00162530 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00162534 ble 0x162370                                      |         goto label_2;
                                                                 |     }
    0x00162538 ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x0016253c add r7, r3, 1                                     |     r7 = r3 + 1;
    0x00162540 cmp fp, r7                                        |     
                                                                 |     if (fp <= r7) {
    0x00162544 ble 0x162450                                      |         goto label_4;
                                                                 |     }
    0x00162548 b 0x1624b0                                        |     goto label_5;
                                                                 | label_20:
    0x0016254c mov r2, 1                                         |     r2 = 1;
    0x00162550 ldr r1, [sp, 0x1c]                                |     r1 = var_1ch;
    0x00162554 mov r0, r4                                        |     r0 = r4;
    0x00162558 bl 0x6e820                                        |     r0 = BIO_write ();
    0x0016255c cmp r0, 1                                         |     
                                                                 |     if (r0 != 1) {
    0x00162560 bne 0x162370                                      |         goto label_2;
                                                                 |     }
    0x00162564 sub sb, sb, 1                                     |     sb--;
    0x00162568 b 0x1624cc                                        |     goto label_6;
                                                                 | label_21:
    0x0016256c ldr r1, [pc, 0x180]                               |     r1 = *(0x1626f0);
    0x00162570 add r1, pc, r1                                    |     r1 = pc + r1;
    0x00162574 b 0x162528                                        |     goto label_7;
                                                                 | label_18:
    0x00162578 ldr r3, [pc, 0x178]                               |     r3 = *(0x1626f4);
    0x0016257c add r3, pc, r3                                    |     r3 = pc + r3;
    0x00162580 str r3, [sp, 0x18]                                |     var_18h = r3;
    0x00162584 ldr r3, [pc, 0x170]                               |     r3 = *(0x1626f8);
    0x00162588 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0016258c str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x00162590 b 0x162454                                        |     goto label_8;
                                                                 | label_16:
    0x00162594 mov r1, r7                                        |     r1 = r7;
    0x00162598 mov r0, sb                                        |     r0 = sb;
    0x0016259c bl 0x154528                                       |     OPENSSL_sk_value ();
    0x001625a0 mov r2, sl                                        |     r2 = sl;
    0x001625a4 ldr r1, [sp, 0xc]                                 |     r1 = var_ch;
    0x001625a8 mov r8, r0                                        |     r8 = r0;
    0x001625ac mov r0, r4                                        |     r0 = r4;
    0x001625b0 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x001625b4 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001625b8 ble 0x162370                                      |         goto label_2;
                                                                 |     }
    0x001625bc mov r0, r8                                        |     r0 = r8;
    0x001625c0 bl 0x167724                                       |     r0 = X509_EXTENSION_get_object ();
    0x001625c4 mov r1, r0                                        |     r1 = r0;
    0x001625c8 mov r0, r4                                        |     r0 = r4;
    0x001625cc bl 0x55f58                                        |     r0 = i2a_ASN1_OBJECT ();
    0x001625d0 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001625d4 ble 0x162370                                      |         goto label_2;
                                                                 |     }
    0x001625d8 mov r0, r8                                        |     r0 = r8;
    0x001625dc bl 0x16773c                                       |     X509_EXTENSION_get_critical ();
    0x001625e0 ldr r1, [pc, 0x118]                               |     r1 = *(0x1626fc);
    0x001625e4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x001625e8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x001625ec movne r2, fp                                      |         r2 = fp;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x001625f0 moveq r2, sl                                      |         r2 = sl;
                                                                 |     }
    0x001625f4 mov r0, r4                                        |     r0 = r4;
    0x001625f8 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x001625fc cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00162600 ble 0x162370                                      |         goto label_2;
                                                                 |     }
    0x00162604 mov r3, 0x10                                      |     r3 = 0x10;
    0x00162608 mov r2, r5                                        |     r2 = r5;
    0x0016260c mov r1, r8                                        |     r1 = r8;
    0x00162610 mov r0, r4                                        |     r0 = r4;
    0x00162614 bl 0x17f18c                                       |     r0 = X509V3_EXT_print ();
    0x00162618 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0016261c beq 0x162644                                      |         goto label_22;
                                                                 |     }
                                                                 | label_10:
    0x00162620 ldr r1, [pc, 0xdc]                                |     r1 = *(0x162700);
    0x00162624 mov r2, 1                                         |     r2 = 1;
    0x00162628 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0016262c mov r0, r4                                        |     r0 = r4;
    0x00162630 bl 0x6e820                                        |     r0 = BIO_write ();
    0x00162634 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00162638 ble 0x162370                                      |         goto label_2;
                                                                 |     }
    0x0016263c add r7, r7, 1                                     |     r7++;
    0x00162640 b 0x1622d4                                        |     goto label_9;
                                                                 | label_22:
    0x00162644 ldr r2, [pc, 0xbc]                                |     r2 = *(0x162704);
    0x00162648 ldr r1, [pc, 0xbc]                                |     r1 = *(0x162708);
    0x0016264c add r2, pc, r2                                    |     r2 = pc + r2;
    0x00162650 add r1, pc, r1                                    |     r1 = pc + r1;
    0x00162654 mov r0, r4                                        |     r0 = r4;
    0x00162658 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x0016265c cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00162660 ble 0x162370                                      |         goto label_2;
                                                                 |     }
    0x00162664 mov r0, r8                                        |     r0 = r8;
    0x00162668 bl 0x167730                                       |     r0 = X509_EXTENSION_get_data ();
    0x0016266c mov r1, r0                                        |     r1 = r0;
    0x00162670 mov r0, r4                                        |     r0 = r4;
    0x00162674 bl 0x565e8                                        |     r0 = ASN1_STRING_print ();
    0x00162678 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x0016267c bgt 0x162620                                      |         goto label_10;
                                                                 |     }
    0x00162680 b 0x162370                                        |     goto label_2;
                                                                 | }
    ; 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/libcrypto.so.1.1 @ 0x162b2c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.X509_aux_print ()                                | void X509_aux_print (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_18h;
                                                                 |     int32_t var_6ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00162b2c push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x00162b30 mov r4, r0                                        |     r4 = r0;
    0x00162b34 sub sp, sp, 0x6c                                  |     
    0x00162b38 mov r0, r1                                        |     r0 = r1;
    0x00162b3c mov r6, r1                                        |     r6 = r1;
    0x00162b40 mov r5, r2                                        |     r5 = r2;
    0x00162b44 bl 0x170ac0                                       |     r0 = X509_trusted ();
    0x00162b48 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00162b4c beq 0x162cd8                                      |         goto label_4;
                                                                 |     }
    0x00162b50 mov r0, r6                                        |     r0 = r6;
    0x00162b54 bl 0x170dd8                                       |     r0 = X509_get0_trust_objects ();
    0x00162b58 mov sb, r0                                        |     sb = r0;
    0x00162b5c mov r0, r6                                        |     r0 = r6;
    0x00162b60 bl 0x170de8                                       |     X509_get0_reject_objects ();
    0x00162b64 cmp sb, 0                                         |     
    0x00162b68 mov r8, r0                                        |     r8 = r0;
                                                                 |     if (sb == 0) {
    0x00162b6c beq 0x162d30                                      |         goto label_5;
                                                                 |     }
    0x00162b70 ldr r3, [pc, 0x268]                               |     r3 = *(0x162ddc);
    0x00162b74 ldr r1, [pc, 0x268]                               |     r1 = *(0x162de0);
    0x00162b78 ldr fp, [pc, 0x268]                               |     fp = *(0x162de4);
    0x00162b7c add r3, pc, r3                                    |     r3 = pc + r3;
    0x00162b80 add r2, r5, 2                                     |     r2 = r5 + 2;
    0x00162b84 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00162b88 str r2, [sp]                                      |     *(sp) = r2;
    0x00162b8c add r1, pc, r1                                    |     r1 = pc + r1;
    0x00162b90 mov r2, r5                                        |     r2 = r5;
    0x00162b94 mov r0, r4                                        |     r0 = r4;
    0x00162b98 bl 0x6bbc4                                        |     BIO_printf ()
    0x00162b9c mov r7, 0                                         |     r7 = 0;
    0x00162ba0 mov r3, 1                                         |     r3 = 1;
    0x00162ba4 add fp, pc, fp                                    |     
    0x00162ba8 add sl, sp, 0x18                                  |     sl += var_18h;
                                                                 |     do {
    0x00162bac mov r0, sb                                        |         r0 = sb;
    0x00162bb0 str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x00162bb4 bl 0x154518                                       |         OPENSSL_sk_num ();
    0x00162bb8 ldr r3, [sp, 0xc]                                 |         r3 = var_ch;
    0x00162bbc cmp r7, r0                                        |         
                                                                 |         if (r7 >= r0) {
    0x00162bc0 blt 0x162ce4                                      |             
    0x00162bc4 ldr r1, [pc, 0x220]                               |             r1 = *(0x162de8);
    0x00162bc8 mov r0, r4                                        |             r0 = r4;
    0x00162bcc add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162bd0 bl 0x6e860                                        |             BIO_puts ();
                                                                 | label_0:
    0x00162bd4 cmp r8, 0                                         |             
                                                                 |             if (r8 == 0) {
    0x00162bd8 beq 0x162d9c                                      |                 goto label_6;
                                                                 |             }
    0x00162bdc ldr r3, [pc, 0x20c]                               |             r3 = *(0x162dec);
    0x00162be0 ldr r1, [pc, 0x20c]                               |             r1 = *(0x162df0);
    0x00162be4 add r3, pc, r3                                    |             r3 = pc + r3;
    0x00162be8 add r2, r5, 2                                     |             r2 = r5 + 2;
    0x00162bec str r2, [sp]                                      |             *(sp) = r2;
    0x00162bf0 str r3, [sp, 4]                                   |             var_4h = r3;
    0x00162bf4 mov r2, r5                                        |             r2 = r5;
    0x00162bf8 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162bfc mov r0, r4                                        |             r0 = r4;
    0x00162c00 bl 0x6bbc4                                        |             BIO_printf ()
    0x00162c04 ldr fp, [pc, 0x1ec]                               |             fp = *(0x162df4);
    0x00162c08 mov r7, 0                                         |             r7 = 0;
    0x00162c0c mov sb, 1                                         |             sb = 1;
    0x00162c10 add fp, pc, fp                                    |             
    0x00162c14 add sl, sp, 0x18                                  |             sl += var_18h;
                                                                 | label_1:
    0x00162c18 mov r0, r8                                        |             r0 = r8;
    0x00162c1c bl 0x154518                                       |             r0 = OPENSSL_sk_num ();
    0x00162c20 cmp r7, r0                                        |             
                                                                 |             if (r7 < r0) {
    0x00162c24 blt 0x162d50                                      |                 goto label_7;
                                                                 |             }
    0x00162c28 ldr r1, [pc, 0x1cc]                               |             r1 = *(0x162df8);
    0x00162c2c mov r0, r4                                        |             r0 = r4;
    0x00162c30 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162c34 bl 0x6e860                                        |             BIO_puts ();
                                                                 | label_2:
    0x00162c38 mov r1, 0                                         |             r1 = 0;
    0x00162c3c mov r0, r6                                        |             r0 = r6;
    0x00162c40 bl 0x170bf0                                       |             r0 = X509_alias_get0 ();
    0x00162c44 cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x00162c48 beq 0x162c6c                                      |                 
    0x00162c4c ldr r3, [pc, 0x1ac]                               |                 r3 = *(0x162dfc);
    0x00162c50 ldr r1, [pc, 0x1ac]                               |                 r1 = *(0x162e00);
    0x00162c54 str r0, [sp]                                      |                 *(sp) = r0;
    0x00162c58 add r3, pc, r3                                    |                 r3 = pc + r3;
    0x00162c5c mov r2, r5                                        |                 r2 = r5;
    0x00162c60 add r1, pc, r1                                    |                 r1 = pc + r1;
    0x00162c64 mov r0, r4                                        |                 r0 = r4;
    0x00162c68 bl 0x6bbc4                                        |                 BIO_printf ()
                                                                 |             }
    0x00162c6c mov r0, r6                                        |             r0 = r6;
    0x00162c70 add r1, sp, 0x14                                  |             r1 += var_14h;
    0x00162c74 bl 0x170c1c                                       |             r0 = X509_keyid_get0 ();
    0x00162c78 subs r6, r0, 0                                    |             r6 = r0 - 0;
                                                                 |             if (r6 != r0) {
    0x00162c7c beq 0x162cd8                                      |                 
    0x00162c80 ldr r3, [pc, 0x180]                               |                 r3 = *(0x162e04);
    0x00162c84 ldr r1, [pc, 0x180]                               |                 r1 = *(0x162e08);
    0x00162c88 mov r2, r5                                        |                 r2 = r5;
    0x00162c8c add r3, pc, r3                                    |                 r3 = pc + r3;
    0x00162c90 add r1, pc, r1                                    |                 r1 = pc + r1;
    0x00162c94 mov r0, r4                                        |                 r0 = r4;
    0x00162c98 bl 0x6bbc4                                        |                 BIO_printf ()
    0x00162c9c ldr r7, [pc, 0x16c]                               |                 r7 = *(0x162e0c);
    0x00162ca0 ldr r8, [pc, 0x16c]                               |                 r8 = *(0x162e10);
    0x00162ca4 ldr sb, [pc, 0x16c]                               |                 sb = *(0x162e14);
    0x00162ca8 mov r5, 0                                         |                 r5 = 0;
    0x00162cac add r7, pc, r7                                    |                 r7 = pc + r7;
    0x00162cb0 add r8, pc, r8                                    |                 r8 = pc + r8;
    0x00162cb4 add sb, pc, sb                                    |                 sb = pc + sb;
                                                                 | label_3:
    0x00162cb8 ldr r3, [sp, 0x14]                                |                 r3 = var_14h;
    0x00162cbc cmp r5, r3                                        |                 
                                                                 |                 if (r5 < r3) {
    0x00162cc0 blt 0x162dbc                                      |                     goto label_8;
                                                                 |                 }
    0x00162cc4 ldr r1, [pc, 0x150]                               |                 r1 = *(0x162e18);
    0x00162cc8 mov r2, 1                                         |                 r2 = 1;
    0x00162ccc add r1, pc, r1                                    |                 r1 = pc + r1;
    0x00162cd0 mov r0, r4                                        |                 r0 = r4;
    0x00162cd4 bl 0x6e820                                        |                 BIO_write ();
                                                                 |             }
                                                                 | label_4:
    0x00162cd8 mov r0, 1                                         |             r0 = 1;
    0x00162cdc add sp, sp, 0x6c                                  |             
    0x00162ce0 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |             
                                                                 |         }
    0x00162ce4 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x00162ce8 bne 0x162cf8                                      |             
    0x00162cec mov r1, fp                                        |             r1 = fp;
    0x00162cf0 mov r0, r4                                        |             r0 = r4;
    0x00162cf4 bl 0x6e860                                        |             BIO_puts ();
                                                                 |         }
    0x00162cf8 mov r1, r7                                        |         r1 = r7;
    0x00162cfc mov r0, sb                                        |         r0 = sb;
    0x00162d00 bl 0x154528                                       |         OPENSSL_sk_value ();
    0x00162d04 mov r3, 0                                         |         r3 = 0;
    0x00162d08 mov r1, 0x50                                      |         r1 = 0x50;
    0x00162d0c add r7, r7, 1                                     |         r7++;
    0x00162d10 mov r2, r0                                        |         r2 = r0;
    0x00162d14 mov r0, sl                                        |         r0 = sl;
    0x00162d18 bl 0x12093c                                       |         OBJ_obj2txt ();
    0x00162d1c mov r1, sl                                        |         r1 = sl;
    0x00162d20 mov r0, r4                                        |         r0 = r4;
    0x00162d24 bl 0x6e860                                        |         BIO_puts ();
    0x00162d28 mov r3, 0                                         |         r3 = 0;
    0x00162d2c b 0x162bac                                        |         
                                                                 |     } while (1);
                                                                 | label_5:
    0x00162d30 ldr r3, [pc, 0xe8]                                |     r3 = *(0x162e1c);
    0x00162d34 ldr r1, [pc, 0xe8]                                |     r1 = *(0x162e20);
    0x00162d38 add r3, pc, r3                                    |     r3 = pc + r3;
    0x00162d3c mov r2, r5                                        |     r2 = r5;
    0x00162d40 add r1, pc, r1                                    |     r1 = pc + r1;
    0x00162d44 mov r0, r4                                        |     r0 = r4;
    0x00162d48 bl 0x6bbc4                                        |     BIO_printf ()
    0x00162d4c b 0x162bd4                                        |     goto label_0;
                                                                 | label_7:
    0x00162d50 cmp sb, 0                                         |     
                                                                 |     if (sb == 0) {
    0x00162d54 bne 0x162d64                                      |         
    0x00162d58 mov r1, fp                                        |         r1 = fp;
    0x00162d5c mov r0, r4                                        |         r0 = r4;
    0x00162d60 bl 0x6e860                                        |         BIO_puts ();
                                                                 |     }
    0x00162d64 mov r1, r7                                        |     r1 = r7;
    0x00162d68 mov r0, r8                                        |     r0 = r8;
    0x00162d6c bl 0x154528                                       |     OPENSSL_sk_value ();
    0x00162d70 mov r3, 0                                         |     r3 = 0;
    0x00162d74 mov r1, 0x50                                      |     r1 = 0x50;
    0x00162d78 add r7, r7, 1                                     |     r7++;
    0x00162d7c mov sb, 0                                         |     sb = 0;
    0x00162d80 mov r2, r0                                        |     r2 = r0;
    0x00162d84 mov r0, sl                                        |     r0 = sl;
    0x00162d88 bl 0x12093c                                       |     OBJ_obj2txt ();
    0x00162d8c mov r1, sl                                        |     r1 = sl;
    0x00162d90 mov r0, r4                                        |     r0 = r4;
    0x00162d94 bl 0x6e860                                        |     BIO_puts ();
    0x00162d98 b 0x162c18                                        |     goto label_1;
                                                                 | label_6:
    0x00162d9c ldr r3, [pc, 0x84]                                |     r3 = *(0x162e24);
    0x00162da0 ldr r1, [pc, 0x84]                                |     r1 = *(0x162e28);
    0x00162da4 add r3, pc, r3                                    |     r3 = pc + r3;
    0x00162da8 mov r2, r5                                        |     r2 = r5;
    0x00162dac add r1, pc, r1                                    |     r1 = pc + r1;
    0x00162db0 mov r0, r4                                        |     r0 = r4;
    0x00162db4 bl 0x6bbc4                                        |     BIO_printf ()
    0x00162db8 b 0x162c38                                        |     goto label_2;
                                                                 | label_8:
    0x00162dbc cmp r5, 0                                         |     
    0x00162dc0 ldrb r3, [r6, r5]                                 |     r3 = *((r6 + r5));
                                                                 |     if (r5 == 0) {
    0x00162dc4 movne r2, r7                                      |         r2 = r7;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x00162dc8 moveq r2, r8                                      |         r2 = r8;
                                                                 |     }
    0x00162dcc mov r1, sb                                        |     r1 = sb;
    0x00162dd0 mov r0, r4                                        |     r0 = r4;
    0x00162dd4 bl 0x6bbc4                                        |     BIO_printf ()
    0x00162dd8 add r5, r5, 1                                     |     r5++;
    0x00162ddc b 0x162cb8                                        |     goto label_3;
                                                                 | }
    ; 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/libcrypto.so.1.1 @ 0x162798 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.X509_ocspid_print ()                     | void X509_ocspid_print (int32_t arg1, int32_t arg2) {
                                                         |     int32_t var_8h;
                                                         |     int32_t var_ch;
                                                         |     int32_t var_24h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x00162798 push {r4, r5, r6, r7, r8, sb, lr}         |     
    0x0016279c mov sb, r1                                |     sb = r1;
    0x001627a0 ldr r1, [pc, 0x188]                       |     r1 = *(0x16292c);
    0x001627a4 sub sp, sp, 0x24                          |     
    0x001627a8 add r1, pc, r1                            |     r1 = pc + r1;
    0x001627ac mov r6, r0                                |     r6 = r0;
    0x001627b0 bl 0x6bbc4                                |     r0 = BIO_printf ()
    0x001627b4 cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x001627b8 ble 0x162910                              |         goto label_0;
                                                         |     }
    0x001627bc mov r0, sb                                |     r0 = sb;
    0x001627c0 bl 0x163e94                               |     X509_get_subject_name ();
    0x001627c4 mov r1, 0                                 |     r1 = 0;
    0x001627c8 mov r4, r0                                |     r4 = r0;
    0x001627cc bl 0x16f6c8                               |     i2d_X509_NAME ();
    0x001627d0 ldr r1, [pc, 0x15c]                       |     r1 = *(0x162930);
    0x001627d4 mov r2, 0xee                              |     r2 = 0xee;
    0x001627d8 add r1, pc, r1                            |     r1 = pc + r1;
    0x001627dc mov r8, r0                                |     r8 = r0;
    0x001627e0 bl 0x118474                               |     r0 = CRYPTO_malloc ();
    0x001627e4 cmp r0, 0                                 |     
    0x001627e8 mov r5, r0                                |     r5 = r0;
    0x001627ec str r0, [sp, 8]                           |     var_8h = r0;
                                                         |     if (r0 == 0) {
    0x001627f0 beq 0x162910                              |         goto label_0;
                                                         |     }
    0x001627f4 add r1, sp, 8                             |     r1 += var_8h;
    0x001627f8 mov r0, r4                                |     r0 = r4;
    0x001627fc bl 0x16f6c8                               |     i2d_X509_NAME ();
    0x00162800 bl 0x10c238                               |     EVP_sha1 ();
    0x00162804 mov r4, 0                                 |     r4 = 0;
    0x00162808 add r7, sp, 0xc                           |     r7 += var_ch;
    0x0016280c mov r3, r4                                |     r3 = r4;
    0x00162810 mov r2, r7                                |     r2 = r7;
    0x00162814 mov r1, r8                                |     r1 = r8;
    0x00162818 stm sp, {r0, r4}                          |     *(sp) = r0;
                                                         |     *((sp + 4)) = r4;
    0x0016281c mov r0, r5                                |     r0 = r5;
    0x00162820 bl 0x100be8                               |     r0 = EVP_Digest ();
    0x00162824 cmp r0, r4                                |     
                                                         |     if (r0 == r4) {
    0x00162828 beq 0x162914                              |         goto label_1;
                                                         |     }
    0x0016282c ldr r8, [pc, 0x104]                       |     r8 = *(0x162934);
    0x00162830 add r8, pc, r8                            |     r8 = pc + r8;
                                                         |     do {
    0x00162834 ldrb r2, [r7, r4]                         |         r2 = *((r7 + r4));
    0x00162838 mov r1, r8                                |         r1 = r8;
    0x0016283c mov r0, r6                                |         r0 = r6;
    0x00162840 bl 0x6bbc4                                |         r0 = BIO_printf ()
    0x00162844 cmp r0, 0                                 |         
                                                         |         if (r0 <= 0) {
    0x00162848 ble 0x162914                              |             goto label_1;
                                                         |         }
    0x0016284c add r4, r4, 1                             |         r4++;
    0x00162850 cmp r4, 0x14                              |         
    0x00162854 bne 0x162834                              |         
                                                         |     } while (r4 != 0x14);
    0x00162858 ldr r1, [pc, 0xdc]                        |     r1 = *(0x162938);
    0x0016285c mov r2, 0xf8                              |     r2 = 0xf8;
    0x00162860 add r1, pc, r1                            |     r1 = pc + r1;
    0x00162864 mov r0, r5                                |     r0 = r5;
    0x00162868 bl 0x11842c                               |     CRYPTO_free ();
    0x0016286c ldr r1, [pc, 0xcc]                        |     r1 = *(0x16293c);
    0x00162870 mov r0, r6                                |     r0 = r6;
    0x00162874 add r1, pc, r1                            |     r1 = pc + r1;
    0x00162878 bl 0x6bbc4                                |     r0 = BIO_printf ()
    0x0016287c cmp r0, 0                                 |     
                                                         |     if (r0 <= 0) {
    0x00162880 ble 0x162910                              |         goto label_0;
                                                         |     }
    0x00162884 mov r0, sb                                |     r0 = sb;
    0x00162888 bl 0x17031c                               |     r0 = X509_get0_pubkey_bitstr ();
    0x0016288c subs r4, r0, 0                            |     r4 = r0 - 0;
                                                         |     if (r4 == r0) {
    0x00162890 beq 0x162910                              |         goto label_0;
                                                         |     }
    0x00162894 bl 0x5b9f8                                |     r0 = ASN1_STRING_get0_data ();
    0x00162898 mov r5, r0                                |     r5 = r0;
    0x0016289c mov r0, r4                                |     r0 = r4;
    0x001628a0 bl 0x5b9e0                                |     ASN1_STRING_length ();
    0x001628a4 mov r4, 0                                 |     r4 = 0;
    0x001628a8 mov sb, r0                                |     sb = r0;
    0x001628ac bl 0x10c238                               |     EVP_sha1 ();
    0x001628b0 mov r3, r4                                |     r3 = r4;
    0x001628b4 mov r2, r7                                |     r2 = r7;
    0x001628b8 mov r1, sb                                |     r1 = sb;
    0x001628bc stm sp, {r0, r4}                          |     *(sp) = r0;
                                                         |     *((sp + 4)) = r4;
    0x001628c0 mov r0, r5                                |     r0 = r5;
    0x001628c4 bl 0x100be8                               |     r0 = EVP_Digest ();
    0x001628c8 cmp r0, r4                                |     
                                                         |     if (r0 == r4) {
    0x001628cc beq 0x162910                              |         goto label_0;
                                                         |     }
                                                         |     do {
    0x001628d0 ldrb r2, [r7, r4]                         |         r2 = *((r7 + r4));
    0x001628d4 mov r1, r8                                |         r1 = r8;
    0x001628d8 mov r0, r6                                |         r0 = r6;
    0x001628dc bl 0x6bbc4                                |         r0 = BIO_printf ()
    0x001628e0 cmp r0, 0                                 |         
                                                         |         if (r0 <= 0) {
    0x001628e4 ble 0x162910                              |             goto label_0;
                                                         |         }
    0x001628e8 add r4, r4, 1                             |         r4++;
    0x001628ec cmp r4, 0x14                              |         
    0x001628f0 bne 0x1628d0                              |         
                                                         |     } while (r4 != 0x14);
    0x001628f4 ldr r1, [pc, 0x48]                        |     r1 = *(0x162940);
    0x001628f8 mov r0, r6                                |     r0 = r6;
    0x001628fc add r1, pc, r1                            |     r1 = pc + r1;
    0x00162900 bl 0x6bbc4                                |     BIO_printf ()
    0x00162904 mov r0, 1                                 |     r0 = 1;
                                                         |     do {
    0x00162908 add sp, sp, 0x24                          |         
    0x0016290c pop {r4, r5, r6, r7, r8, sb, pc}          |         
                                                         | label_0:
    0x00162910 mov r5, 0                                 |         r5 = 0;
                                                         | label_1:
    0x00162914 ldr r1, [pc, 0x2c]                        |         r1 = *(0x162944);
    0x00162918 mov r0, r5                                |         r0 = r5;
    0x0016291c ldr r2, [pc, 0x28]                        |         r2 = *(0x162948);
    0x00162920 add r1, pc, r1                            |         r1 = pc + r1;
    0x00162924 bl 0x11842c                               |         CRYPTO_free ();
    0x00162928 mov r0, 0                                 |         r0 = 0;
    0x0016292c b 0x162908                                |         
                                                         |     } 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/libcrypto.so.1.1 @ 0x162e30 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.X509_print_ex ()                                 | void X509_print_ex (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_1ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00162e30 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x00162e34 mov r5, r3                                        |     r5 = r3;
    0x00162e38 and r3, r2, 0xf0000                               |     r3 = r2 & 0xf0000;
    0x00162e3c cmp r3, 0x40000                                   |     
    0x00162e40 sub sp, sp, 0x1c                                  |     
    0x00162e44 mov r4, r0                                        |     r4 = r0;
    0x00162e48 mov r6, r1                                        |     r6 = r1;
    0x00162e4c mov sb, r2                                        |     sb = r2;
                                                                 |     if (r3 != 0x40000) {
    0x00162e50 moveq fp, 0xa                                     |         
                                                                 |     }
                                                                 |     if (r3 != 0x40000) {
    0x00162e54 moveq sl, 0xc                                     |         sl = 0xc;
                                                                 |     }
                                                                 |     if (r3 != 0x40000) {
    0x00162e58 beq 0x162e6c                                      |         
    0x00162e5c cmp r2, 0                                         |         
    0x00162e60 mov fp, 0x20                                      |         
                                                                 |         if (r2 != 0) {
    0x00162e64 moveq sl, 0x10                                    |             sl = 0x10;
                                                                 |         }
                                                                 |         if (r2 != 0) {
    0x00162e68 movne sl, 0                                       |             sl = 0;
                                                                 |             goto label_9;
                                                                 |         }
                                                                 |     }
                                                                 | label_9:
    0x00162e6c tst r5, 1                                         |     
    0x00162e70 beq 0x163284                                      |     
                                                                 |     while (r0 > 0) {
    0x00162e74 tst r5, 2                                         |         
                                                                 |         if ((r5 & 2) == 0) {
    0x00162e78 bne 0x162eb8                                      |             
    0x00162e7c mov r0, r6                                        |             r0 = r6;
    0x00162e80 bl 0x166518                                       |             r0 = X509_get_version ();
    0x00162e84 cmp r0, 2                                         |             
    0x00162e88 mov r3, r0                                        |             r3 = r0;
                                                                 |             if (r0 > 2) {
    0x00162e8c bhi 0x1632e4                                      |                 goto label_10;
                                                                 |             }
    0x00162e90 ldr r2, [pc, 0x58c]                               |             r2 = *(0x163420);
    0x00162e94 ldr r1, [pc, 0x58c]                               |             r1 = *(0x163424);
    0x00162e98 str r0, [sp]                                      |             *(sp) = r0;
    0x00162e9c add r3, r0, 1                                     |             r3 = r0 + 1;
    0x00162ea0 add r2, pc, r2                                    |             r2 = pc + r2;
    0x00162ea4 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162ea8 mov r0, r4                                        |             r0 = r4;
    0x00162eac bl 0x6bbc4                                        |             r0 = BIO_printf ()
                                                                 | label_1:
    0x00162eb0 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00162eb4 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
                                                                 |         }
    0x00162eb8 tst r5, 4                                         |         
                                                                 |         if ((r5 & 4) == 0) {
    0x00162ebc bne 0x162f54                                      |             
    0x00162ec0 ldr r1, [pc, 0x564]                               |             r1 = *(0x163428);
    0x00162ec4 mov r2, 0x16                                      |             r2 = 0x16;
    0x00162ec8 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162ecc mov r0, r4                                        |             r0 = r4;
    0x00162ed0 bl 0x6e820                                        |             r0 = BIO_write ();
    0x00162ed4 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00162ed8 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x00162edc mov r0, r6                                        |             r0 = r6;
    0x00162ee0 bl 0x163e9c                                       |             X509_get_serialNumber ();
    0x00162ee4 ldr r2, [pc, 0x544]                               |             r2 = "__";
    0x00162ee8 ldr r3, [r0]                                      |             r3 = *(r0);
    0x00162eec mov r7, r0                                        |             r7 = r0;
    0x00162ef0 cmp r3, 4                                         |             
                                                                 |             if (r3 > 4) {
    0x00162ef4 bgt 0x16330c                                      |                 goto label_11;
                                                                 |             }
    0x00162ef8 str r2, [sp, 0xc]                                 |             var_ch = r2;
    0x00162efc bl 0xfcfac                                        |             ERR_set_mark ();
    0x00162f00 mov r0, r7                                        |             r0 = r7;
    0x00162f04 bl 0x550bc                                        |             r0 = ASN1_INTEGER_get ();
    0x00162f08 mov r8, r0                                        |             r8 = r0;
    0x00162f0c bl 0xfcfe0                                        |             ERR_pop_to_mark ();
    0x00162f10 cmn r8, 1                                         |             
    0x00162f14 ldr r2, [sp, 0xc]                                 |             r2 = var_ch;
                                                                 |             if (r8 == 1) {
    0x00162f18 beq 0x16330c                                      |                 goto label_11;
                                                                 |             }
    0x00162f1c ldr r1, [r7, 4]                                   |             r1 = *((r7 + 4));
    0x00162f20 mov r3, r8                                        |             r3 = r8;
    0x00162f24 cmp r1, r2                                        |             
                                                                 |             if (r1 != r2) {
    0x00162f28 bne 0x163300                                      |                 goto label_12;
                                                                 |             }
    0x00162f2c ldr r2, [pc, 0x500]                               |             r2 = *(0x163430);
    0x00162f30 rsb r3, r8, 0                                     |             r3 = r8 - ;
    0x00162f34 add r2, pc, r2                                    |             r2 = pc + r2;
                                                                 | label_2:
    0x00162f38 ldr r1, [pc, 0x4f8]                               |             r1 = *(0x163434);
    0x00162f3c stm sp, {r2, r3}                                  |             *(sp) = r2;
                                                                 |             *((sp + 4)) = r3;
    0x00162f40 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162f44 mov r0, r4                                        |             r0 = r4;
    0x00162f48 bl 0x6bbc4                                        |             r0 = BIO_printf ()
    0x00162f4c cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00162f50 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
                                                                 |         }
                                                                 | label_3:
    0x00162f54 ands r8, r5, 8                                    |         r8 = r5 & 8;
                                                                 |         if (r8 == r5) {
    0x00162f58 bne 0x162f98                                      |             
    0x00162f5c mov r0, r6                                        |             r0 = r6;
    0x00162f60 bl 0x166580                                       |             X509_get0_tbs_sigalg ();
    0x00162f64 ldr r1, [pc, 0x4d0]                               |             r1 = *(0x163438);
    0x00162f68 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162f6c mov r7, r0                                        |             r7 = r0;
    0x00162f70 mov r0, r4                                        |             r0 = r4;
    0x00162f74 bl 0x6e860                                        |             r0 = BIO_puts ();
    0x00162f78 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00162f7c ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x00162f80 mov r2, r8                                        |             r2 = r8;
    0x00162f84 mov r1, r7                                        |             r1 = r7;
    0x00162f88 mov r0, r4                                        |             r0 = r4;
    0x00162f8c bl 0x162a3c                                       |             r0 = X509_signature_print ();
    0x00162f90 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00162f94 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
                                                                 |         }
    0x00162f98 tst r5, 0x10                                      |         
                                                                 |         if ((r5 & 0x10) == 0) {
    0x00162f9c bne 0x162ffc                                      |             
    0x00162fa0 ldr r1, [pc, 0x498]                               |             r1 = "it";
    0x00162fa4 mov r2, fp                                        |             r2 = fp;
    0x00162fa8 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162fac mov r0, r4                                        |             r0 = r4;
    0x00162fb0 bl 0x6bbc4                                        |             r0 = BIO_printf ()
    0x00162fb4 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00162fb8 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x00162fbc mov r0, r6                                        |             r0 = r6;
    0x00162fc0 bl 0x163e8c                                       |             X509_get_issuer_name ();
    0x00162fc4 mov r3, sb                                        |             r3 = sb;
    0x00162fc8 mov r2, sl                                        |             r2 = sl;
    0x00162fcc mov r1, r0                                        |             r1 = r0;
    0x00162fd0 mov r0, r4                                        |             r0 = r4;
    0x00162fd4 bl 0x57980                                        |             r0 = X509_NAME_print_ex ();
    0x00162fd8 cmp r0, 0                                         |             
                                                                 |             if (r0 < 0) {
    0x00162fdc blt 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x00162fe0 ldr r1, [pc, 0x45c]                               |             r1 = *(0x163440);
    0x00162fe4 mov r2, 1                                         |             r2 = 1;
    0x00162fe8 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00162fec mov r0, r4                                        |             r0 = r4;
    0x00162ff0 bl 0x6e820                                        |             r0 = BIO_write ();
    0x00162ff4 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00162ff8 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
                                                                 |         }
    0x00162ffc tst r5, 0x20                                      |         
                                                                 |         if ((r5 & 0x20) == 0) {
    0x00163000 bne 0x1630ac                                      |             
    0x00163004 ldr r1, [pc, 0x43c]                               |             r1 = *(0x163444);
    0x00163008 mov r2, 0x11                                      |             r2 = 0x11;
    0x0016300c add r1, pc, r1                                    |             r1 = pc + r1;
    0x00163010 mov r0, r4                                        |             r0 = r4;
    0x00163014 bl 0x6e820                                        |             r0 = BIO_write ();
    0x00163018 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x0016301c ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x00163020 ldr r1, [pc, 0x424]                               |             r1 = *(0x163448);
    0x00163024 mov r2, 0x18                                      |             r2 = 0x18;
    0x00163028 add r1, pc, r1                                    |             r1 = pc + r1;
    0x0016302c mov r0, r4                                        |             r0 = r4;
    0x00163030 bl 0x6e820                                        |             r0 = BIO_write ();
    0x00163034 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00163038 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x0016303c mov r0, r6                                        |             r0 = r6;
    0x00163040 bl 0x166520                                       |             r0 = X509_get0_notBefore ();
    0x00163044 mov r1, r0                                        |             r1 = r0;
    0x00163048 mov r0, r4                                        |             r0 = r4;
    0x0016304c bl 0x58a40                                        |             r0 = ASN1_TIME_print ();
    0x00163050 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x00163054 beq 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x00163058 ldr r1, [pc, 0x3f0]                               |             r1 = *(0x16344c);
    0x0016305c mov r2, 0x19                                      |             r2 = 0x19;
    0x00163060 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00163064 mov r0, r4                                        |             r0 = r4;
    0x00163068 bl 0x6e820                                        |             r0 = BIO_write ();
    0x0016306c cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00163070 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x00163074 mov r0, r6                                        |             r0 = r6;
    0x00163078 bl 0x166528                                       |             r0 = X509_get0_notAfter ();
    0x0016307c mov r1, r0                                        |             r1 = r0;
    0x00163080 mov r0, r4                                        |             r0 = r4;
    0x00163084 bl 0x58a40                                        |             r0 = ASN1_TIME_print ();
    0x00163088 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0016308c beq 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x00163090 ldr r1, [pc, 0x3bc]                               |             r1 = *(0x163450);
    0x00163094 mov r2, 1                                         |             r2 = 1;
    0x00163098 add r1, pc, r1                                    |             r1 = pc + r1;
    0x0016309c mov r0, r4                                        |             r0 = r4;
    0x001630a0 bl 0x6e820                                        |             r0 = BIO_write ();
    0x001630a4 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x001630a8 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
                                                                 |         }
    0x001630ac tst r5, 0x40                                      |         
                                                                 |         if ((r5 & 0x40) == 0) {
    0x001630b0 bne 0x163110                                      |             
    0x001630b4 ldr r1, [pc, 0x39c]                               |             r1 = *(0x163454);
    0x001630b8 mov r2, fp                                        |             r2 = fp;
    0x001630bc add r1, pc, r1                                    |             r1 = pc + r1;
    0x001630c0 mov r0, r4                                        |             r0 = r4;
    0x001630c4 bl 0x6bbc4                                        |             r0 = BIO_printf ()
    0x001630c8 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x001630cc ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x001630d0 mov r0, r6                                        |             r0 = r6;
    0x001630d4 bl 0x163e94                                       |             X509_get_subject_name ();
    0x001630d8 mov r3, sb                                        |             r3 = sb;
    0x001630dc mov r2, sl                                        |             r2 = sl;
    0x001630e0 mov r1, r0                                        |             r1 = r0;
    0x001630e4 mov r0, r4                                        |             r0 = r4;
    0x001630e8 bl 0x57980                                        |             r0 = X509_NAME_print_ex ();
    0x001630ec cmp r0, 0                                         |             
                                                                 |             if (r0 < 0) {
    0x001630f0 blt 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x001630f4 ldr r1, [pc, 0x360]                               |             r1 = *(0x163458);
    0x001630f8 mov r2, 1                                         |             r2 = 1;
    0x001630fc add r1, pc, r1                                    |             r1 = pc + r1;
    0x00163100 mov r0, r4                                        |             r0 = r4;
    0x00163104 bl 0x6e820                                        |             r0 = BIO_write ();
    0x00163108 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x0016310c ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
                                                                 |         }
    0x00163110 ands r7, r5, 0x80                                 |         r7 = r5 & 0x80;
                                                                 |         if (r7 == r5) {
    0x00163114 bne 0x1631d0                                      |             
    0x00163118 mov r0, r6                                        |             r0 = r6;
    0x0016311c bl 0x166554                                       |             X509_get_X509_PUBKEY ();
    0x00163120 mov r3, r7                                        |             r3 = r7;
    0x00163124 mov r2, r7                                        |             r2 = r7;
    0x00163128 mov r1, r7                                        |             r1 = r7;
    0x0016312c str r0, [sp]                                      |             *(sp) = r0;
    0x00163130 add r0, sp, 0x14                                  |             r0 += var_14h;
    0x00163134 bl 0x1702d8                                       |             X509_PUBKEY_get0_param ();
    0x00163138 ldr r1, [pc, 0x320]                               |             r1 = *(0x16345c);
    0x0016313c mov r2, 0x21                                      |             r2 = 0x21;
    0x00163140 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00163144 mov r0, r4                                        |             r0 = r4;
    0x00163148 bl 0x6e820                                        |             r0 = BIO_write ();
    0x0016314c cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00163150 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x00163154 ldr r8, [pc, 0x308]                               |             r8 = *(0x163460);
    0x00163158 ldr r1, [pc, 0x308]                               |             r1 = *(0x163464);
    0x0016315c add r8, pc, r8                                    |             r8 = pc + r8;
    0x00163160 mov r2, r8                                        |             r2 = r8;
    0x00163164 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00163168 mov r0, r4                                        |             r0 = r4;
    0x0016316c bl 0x6bbc4                                        |             r0 = BIO_printf ()
    0x00163170 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00163174 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x00163178 ldr r1, [sp, 0x14]                                |             r1 = var_14h;
    0x0016317c mov r0, r4                                        |             r0 = r4;
    0x00163180 bl 0x55f58                                        |             r0 = i2a_ASN1_OBJECT ();
    0x00163184 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x00163188 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x0016318c ldr r1, [pc, 0x2d8]                               |             r1 = *(0x163468);
    0x00163190 mov r0, r4                                        |             r0 = r4;
    0x00163194 add r1, pc, r1                                    |             r1 = pc + r1;
    0x00163198 bl 0x6e860                                        |             r0 = BIO_puts ();
    0x0016319c cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x001631a0 ble 0x1632a0                                      |                 goto label_0;
                                                                 |             }
    0x001631a4 mov r0, r6                                        |             r0 = r6;
    0x001631a8 bl 0x1641fc                                       |             r0 = X509_get0_pubkey ();
    0x001631ac subs r1, r0, 0                                    |             r1 = r0 - 0;
                                                                 |             if (r1 != r0) {
    0x001631b0 bne 0x163398                                      |                 goto label_13;
                                                                 |             }
    0x001631b4 ldr r1, [pc, 0x2b4]                               |             r1 = *(0x16346c);
    0x001631b8 mov r2, r8                                        |             r2 = r8;
    0x001631bc add r1, pc, r1                                    |             r1 = pc + r1;
    0x001631c0 mov r0, r4                                        |             r0 = r4;
    0x001631c4 bl 0x6bbc4                                        |             BIO_printf ()
    0x001631c8 mov r0, r4                                        |             r0 = r4;
    0x001631cc bl 0xfd378                                        |             ERR_print_errors ();
                                                                 |         }
                                                                 | label_6:
    0x001631d0 tst r5, 0x1000                                    |         
                                                                 |         if ((r5 & 0x1000) == 0) {
    0x001631d4 bne 0x163200                                      |             
    0x001631d8 add r2, sp, 0x14                                  |             r2 += var_14h;
    0x001631dc add r1, sp, 0x10                                  |             r1 += var_10h;
    0x001631e0 mov r0, r6                                        |             r0 = r6;
    0x001631e4 bl 0x166564                                       |             X509_get0_uids ();
    0x001631e8 ldr r3, [sp, 0x10]                                |             r3 = var_10h;
    0x001631ec cmp r3, 0                                         |             
                                                                 |             if (r3 != 0) {
    0x001631f0 bne 0x1633ac                                      |                 goto label_14;
                                                                 |             }
                                                                 | label_7:
    0x001631f4 ldr r3, [sp, 0x14]                                |             r3 = var_14h;
    0x001631f8 cmp r3, 0                                         |             
                                                                 |             if (r3 != 0) {
    0x001631fc bne 0x1633e8                                      |                 goto label_15;
                                                                 |             }
                                                                 |         }
                                                                 | label_8:
    0x00163200 tst r5, 0x100                                     |         
                                                                 |         if ((r5 & 0x100) == 0) {
    0x00163204 bne 0x163230                                      |             
    0x00163208 mov r0, r6                                        |             r0 = r6;
    0x0016320c bl 0x16655c                                       |             X509_get0_extensions ();
    0x00163210 ldr r1, [pc, 0x25c]                               |             r1 = *(0x163470);
    0x00163214 mov r3, 8                                         |             r3 = 8;
    0x00163218 str r3, [sp]                                      |             *(sp) = r3;
    0x0016321c add r1, pc, r1                                    |             r1 = pc + r1;
    0x00163220 mov r3, r5                                        |             r3 = r5;
    0x00163224 mov r2, r0                                        |             r2 = r0;
    0x00163228 mov r0, r4                                        |             r0 = r4;
    0x0016322c bl 0x17f384                                       |             X509V3_extensions_print ();
                                                                 |         }
    0x00163230 ands r7, r5, 0x200                                |         r7 = r5 & 0x200;
                                                                 |         if (r7 == r5) {
    0x00163234 bne 0x163260                                      |             
    0x00163238 mov r2, r6                                        |             r2 = r6;
    0x0016323c add r1, sp, 0x10                                  |             r1 += var_10h;
    0x00163240 add r0, sp, 0x14                                  |             r0 += var_14h;
    0x00163244 bl 0x1709b4                                       |             X509_get0_signature ();
    0x00163248 ldr r2, [sp, 0x14]                                |             r2 = var_14h;
    0x0016324c ldr r1, [sp, 0x10]                                |             r1 = var_10h;
    0x00163250 mov r0, r4                                        |             r0 = r4;
    0x00163254 bl 0x162a3c                                       |             r0 = X509_signature_print ();
    0x00163258 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x0016325c ble 0x1632a4                                      |                 goto label_16;
                                                                 |             }
                                                                 |         }
    0x00163260 ands r2, r5, 0x400                                |         r2 = r5 & 0x400;
                                                                 |         if (r2 == r5) {
    0x00163264 movne r7, 1                                       |             r7 = 1;
                                                                 |         }
                                                                 |         if (r2 == r5) {
    0x00163268 bne 0x1632a4                                      |             
    0x0016326c mov r1, r6                                        |             r1 = r6;
    0x00163270 mov r0, r4                                        |             r0 = r4;
    0x00163274 bl 0x162b2c                                       |             r0 = X509_aux_print ();
    0x00163278 adds r7, r0, 0                                    |             r7 = r0 + 0;
                                                                 |             if (r7 == r0) {
    0x0016327c movne r7, 1                                       |                 r7 = 1;
                                                                 |             }
    0x00163280 b 0x1632a4                                        |             goto label_16;
    0x00163284 ldr r1, [pc, 0x1ec]                               |             r1 = *(0x163474);
    0x00163288 mov r2, 0xd                                       |             r2 = 0xd;
    0x0016328c add r1, pc, r1                                    |             r1 = pc + r1;
    0x00163290 mov r0, r4                                        |             r0 = r4;
    0x00163294 bl 0x6e820                                        |             r0 = BIO_write ();
    0x00163298 cmp r0, 0                                         |             
                                                                 |             if (r0 > 0) {
    0x0016329c bgt 0x1632c4                                      |                 goto label_17;
                                                                 |             }
                                                                 | label_0:
    0x001632a0 mov r7, 0                                         |             r7 = 0;
                                                                 |         }
                                                                 | label_16:
    0x001632a4 ldr r1, [pc, 0x1d0]                               |         r1 = *(0x163478);
    0x001632a8 mov r2, 0xd9                                      |         r2 = 0xd9;
    0x001632ac add r1, pc, r1                                    |         r1 = pc + r1;
    0x001632b0 mov r0, 0                                         |         r0 = 0;
    0x001632b4 bl 0x11842c                                       |         CRYPTO_free ();
    0x001632b8 mov r0, r7                                        |         r0 = r7;
    0x001632bc add sp, sp, 0x1c                                  |         
    0x001632c0 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_17:
    0x001632c4 ldr r1, [pc, 0x1b4]                               |         r1 = *(0x16347c);
    0x001632c8 mov r2, 0xa                                       |         r2 = 0xa;
    0x001632cc add r1, pc, r1                                    |         r1 = pc + r1;
    0x001632d0 mov r0, r4                                        |         r0 = r4;
    0x001632d4 bl 0x6e820                                        |         r0 = BIO_write ();
    0x001632d8 cmp r0, 0                                         |         
    0x001632dc bgt 0x162e74                                      |         
                                                                 |     }
    0x001632e0 b 0x1632a0                                        |     goto label_0;
                                                                 | label_10:
    0x001632e4 ldr r2, [pc, 0x198]                               |     r2 = *(0x163480);
    0x001632e8 ldr r1, [pc, 0x198]                               |     r1 = *(0x163484);
    0x001632ec add r2, pc, r2                                    |     r2 = pc + r2;
    0x001632f0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x001632f4 mov r0, r4                                        |     r0 = r4;
    0x001632f8 bl 0x6bbc4                                        |     BIO_printf ()
    0x001632fc b 0x162eb0                                        |     goto label_1;
                                                                 | label_12:
    0x00163300 ldr r2, [pc, 0x184]                               |     r2 = *(0x163488);
    0x00163304 add r2, pc, r2                                    |     r2 = pc + r2;
    0x00163308 b 0x162f38                                        |     goto label_2;
                                                                 | label_11:
    0x0016330c ldr r3, [r7, 4]                                   |     r3 = *((r7 + 4));
    0x00163310 cmp r3, r2                                        |     
                                                                 |     if (r3 != r2) {
    0x00163314 bne 0x16338c                                      |         goto label_18;
                                                                 |     }
    0x00163318 ldr r3, [pc, 0x170]                               |     r3 = *(0x16348c);
    0x0016331c add r3, pc, r3                                    |     r3 = pc + r3;
                                                                 | label_5:
    0x00163320 ldr r2, [pc, 0x16c]                               |     r2 = *(0x163490);
    0x00163324 ldr r1, [pc, 0x16c]                               |     r1 = *(0x163494);
    0x00163328 add r2, pc, r2                                    |     r2 = pc + r2;
    0x0016332c add r1, pc, r1                                    |     r1 = pc + r1;
    0x00163330 mov r0, r4                                        |     r0 = r4;
    0x00163334 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x00163338 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0016333c ble 0x1632a0                                      |         goto label_0;
                                                                 |     }
    0x00163340 ldr r3, [pc, 0x154]                               |     r3 = *(0x163498);
    0x00163344 mov r8, 0                                         |     r8 = 0;
    0x00163348 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0016334c str r3, [sp, 0xc]                                 |     var_ch = r3;
                                                                 | label_4:
    0x00163350 ldr r3, [r7]                                      |     r3 = *(r7);
    0x00163354 cmp r3, r8                                        |     
                                                                 |     if (r3 <= r8) {
    0x00163358 ble 0x162f54                                      |         goto label_3;
                                                                 |     }
    0x0016335c ldr r2, [r7, 8]                                   |     r2 = *((r7 + 8));
    0x00163360 ldr r1, [sp, 0xc]                                 |     r1 = var_ch;
    0x00163364 ldrb r2, [r2, r8]                                 |     r2 = *((r2 + r8));
    0x00163368 add r8, r8, 1                                     |     r8++;
    0x0016336c cmp r8, r3                                        |     
                                                                 |     if (r8 == r3) {
    0x00163370 movne r3, 0x3a                                    |         r3 = 0x3a;
                                                                 |     }
                                                                 |     if (r8 != r3) {
    0x00163374 moveq r3, 0xa                                     |         r3 = 0xa;
                                                                 |     }
    0x00163378 mov r0, r4                                        |     r0 = r4;
    0x0016337c bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x00163380 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x00163384 bgt 0x163350                                      |         goto label_4;
                                                                 |     }
    0x00163388 b 0x1632a0                                        |     goto label_0;
                                                                 | label_18:
    0x0016338c ldr r3, [pc, 0x10c]                               |     r3 = *(0x16349c);
    0x00163390 add r3, pc, r3                                    |     r3 = pc + r3;
    0x00163394 b 0x163320                                        |     goto label_5;
                                                                 | label_13:
    0x00163398 mov r3, r7                                        |     r3 = r7;
    0x0016339c mov r2, 0x10                                      |     r2 = 0x10;
    0x001633a0 mov r0, r4                                        |     r0 = r4;
    0x001633a4 bl 0x10e7ac                                       |     EVP_PKEY_print_public ();
    0x001633a8 b 0x1631d0                                        |     goto label_6;
                                                                 | label_14:
    0x001633ac ldr r2, [pc, 0xf0]                                |     r2 = *(0x1634a0);
    0x001633b0 ldr r1, [pc, 0xf0]                                |     r1 = *(0x1634a4);
    0x001633b4 add r2, pc, r2                                    |     r2 = pc + r2;
    0x001633b8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x001633bc mov r0, r4                                        |     r0 = r4;
    0x001633c0 bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x001633c4 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x001633c8 ble 0x1632a0                                      |         goto label_0;
                                                                 |     }
    0x001633cc mov r2, 0xc                                       |     r2 = 0xc;
    0x001633d0 ldr r1, [sp, 0x10]                                |     r1 = var_10h;
    0x001633d4 mov r0, r4                                        |     r0 = r4;
    0x001633d8 bl 0x162950                                       |     r0 = X509_signature_dump ();
    0x001633dc cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x001633e0 bne 0x1631f4                                      |         goto label_7;
                                                                 |     }
    0x001633e4 b 0x1632a0                                        |     goto label_0;
                                                                 | label_15:
    0x001633e8 ldr r2, [pc, 0xbc]                                |     r2 = *(0x1634a8);
    0x001633ec ldr r1, [pc, 0xbc]                                |     r1 = *(0x1634ac);
    0x001633f0 add r2, pc, r2                                    |     r2 = pc + r2;
    0x001633f4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x001633f8 mov r0, r4                                        |     r0 = r4;
    0x001633fc bl 0x6bbc4                                        |     r0 = BIO_printf ()
    0x00163400 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00163404 ble 0x1632a0                                      |         goto label_0;
                                                                 |     }
    0x00163408 mov r2, 0xc                                       |     r2 = 0xc;
    0x0016340c ldr r1, [sp, 0x14]                                |     r1 = var_14h;
    0x00163410 mov r0, r4                                        |     r0 = r4;
    0x00163414 bl 0x162950                                       |     r0 = X509_signature_dump ();
    0x00163418 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0016341c bne 0x163200                                      |         goto label_8;
                                                                 |     }
    0x00163420 b 0x1632a0                                        |     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/libcrypto.so.1.1 @ 0x1634b4 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.X509_print_ex_fp ()                          | void X509_print_ex_fp (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x001634b4 push {r0, r1, r4, r5, r6, r7, r8, lr}         |     
    0x001634b8 mov r5, r1                                    |     r5 = r1;
    0x001634bc mov r6, r2                                    |     r6 = r2;
    0x001634c0 mov r7, r3                                    |     r7 = r3;
    0x001634c4 mov r8, r0                                    |     r8 = r0;
    0x001634c8 bl 0x7270c                                    |     BIO_s_file ();
    0x001634cc bl 0x6e4f0                                    |     r0 = BIO_new ();
    0x001634d0 subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 != r0) {
    0x001634d4 bne 0x163508                                  |         goto label_0;
                                                             |     }
    0x001634d8 mov r3, 0x20                                  |     r3 = 0x20;
    0x001634dc str r3, [sp]                                  |     *(sp) = r3;
    0x001634e0 ldr r3, [pc, 0x54]                            |     r3 = *(0x163538);
    0x001634e4 mov r2, 7                                     |     r2 = 7;
    0x001634e8 add r3, pc, r3                                |     r3 = pc + r3;
    0x001634ec mov r1, 0x76                                  |     r1 = 0x76;
    0x001634f0 mov r0, 0xb                                   |     r0 = 0xb;
    0x001634f4 bl 0xfc7b8                                    |     ERR_put_error ();
    0x001634f8 mov r5, r4                                    |     r5 = r4;
                                                             |     do {
    0x001634fc mov r0, r5                                    |         r0 = r5;
    0x00163500 add sp, sp, 8                                 |         
    0x00163504 pop {r4, r5, r6, r7, r8, pc}                  |         
                                                             | label_0:
    0x00163508 mov r3, r8                                    |         r3 = r8;
    0x0016350c mov r2, 0                                     |         r2 = 0;
    0x00163510 mov r1, 0x6a                                  |         r1 = 0x6a;
    0x00163514 bl 0x6ebe8                                    |         BIO_ctrl ();
    0x00163518 mov r1, r5                                    |         r1 = r5;
    0x0016351c mov r3, r7                                    |         r3 = r7;
    0x00163520 mov r2, r6                                    |         r2 = r6;
    0x00163524 mov r0, r4                                    |         r0 = r4;
    0x00163528 bl 0x162e30                                   |         r0 = X509_print_ex ();
    0x0016352c mov r5, r0                                    |         r5 = r0;
    0x00163530 mov r0, r4                                    |         r0 = r4;
    0x00163534 bl 0x6e63c                                    |         BIO_free ();
    0x00163538 b 0x1634fc                                    |         
                                                             |     } 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/libcrypto.so.1.1 @ 0x162950 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.X509_signature_dump ()                               | void X509_signature_dump (int32_t arg1, int32_t arg2) {
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x00162950 push {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x00162954 ldr sb, [pc, 0xcc]                                    |     sb = *(0x162a24);
    0x00162958 ldr sl, [pc, 0xcc]                                    |     sl = *(0x162a28);
    0x0016295c ldr fp, [pc, 0xcc]                                    |     fp = *(0x162a2c);
    0x00162960 ldr r6, [r1]                                          |     r6 = *(r1);
    0x00162964 ldr r8, [r1, 8]                                       |     r8 = *((r1 + 8));
    0x00162968 mov r5, r0                                            |     r5 = r0;
    0x0016296c mov r7, r2                                            |     r7 = r2;
    0x00162970 mov r4, 0                                             |     r4 = 0;
    0x00162974 add sb, pc, sb                                        |     sb = pc + sb;
    0x00162978 add sl, pc, sl                                        |     sl = pc + sl;
    0x0016297c add fp, pc, fp                                        |     
                                                                     |     do {
    0x00162980 cmp r4, r6                                            |         
                                                                     |         if (r4 >= r6) {
    0x00162984 blt 0x1629ac                                          |             
    0x00162988 ldr r1, [pc, 0xa4]                                    |             r1 = *(0x162a30);
    0x0016298c mov r2, 1                                             |             r2 = 1;
    0x00162990 add r1, pc, r1                                        |             r1 = pc + r1;
    0x00162994 mov r0, r5                                            |             r0 = r5;
    0x00162998 bl 0x6e820                                            |             r0 = BIO_write ();
    0x0016299c sub r0, r0, 1                                         |             r0--;
    0x001629a0 clz r0, r0                                            |             r0 &= r0;
    0x001629a4 lsr r0, r0, 5                                         |             r0 >>= 5;
    0x001629a8 pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}          |             
                                                                     |         }
    0x001629ac mov r1, 0x12                                          |         r1 = 0x12;
    0x001629b0 mov r0, r4                                            |         r0 = r4;
    0x001629b4 bl 0x183258                                           |         fcn_00183258 (r0, r1);
    0x001629b8 cmp r1, 0                                             |         
                                                                     |         if (r1 == 0) {
    0x001629bc beq 0x1629f4                                          |             goto label_2;
                                                                     |         }
                                                                     | label_0:
    0x001629c0 ldr r1, [pc, 0x70]                                    |         r1 = *(0x162a34);
    0x001629c4 ldrb r2, [r8, r4]                                     |         r2 = *((r8 + r4));
    0x001629c8 add r4, r4, 1                                         |         r4++;
    0x001629cc cmp r4, r6                                            |         
                                                                     |         if (r4 != r6) {
    0x001629d0 moveq r3, sl                                          |             r3 = sl;
                                                                     |         }
                                                                     |         if (r4 == r6) {
    0x001629d4 movne r3, fp                                          |             r3 = fp;
                                                                     |         }
    0x001629d8 add r1, pc, r1                                        |         r1 = pc + r1;
    0x001629dc mov r0, r5                                            |         r0 = r5;
    0x001629e0 bl 0x6bbc4                                            |         r0 = BIO_printf ()
    0x001629e4 cmp r0, 0                                             |         
    0x001629e8 bgt 0x162980                                          |         
                                                                     |     } while (r0 > 0);
                                                                     |     do {
                                                                     | label_1:
    0x001629ec mov r0, 0                                             |         r0 = 0;
    0x001629f0 pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                     | label_2:
    0x001629f4 mov r2, 1                                             |         r2 = 1;
    0x001629f8 mov r1, sb                                            |         r1 = sb;
    0x001629fc mov r0, r5                                            |         r0 = r5;
    0x00162a00 bl 0x6e820                                            |         r0 = BIO_write ();
    0x00162a04 cmp r0, 0                                             |         
    0x00162a08 ble 0x1629ec                                          |         
                                                                     |     } while (r0 <= 0);
    0x00162a0c mov r2, r7                                            |     r2 = r7;
    0x00162a10 mov r1, r7                                            |     r1 = r7;
    0x00162a14 mov r0, r5                                            |     r0 = r5;
    0x00162a18 bl 0x6eb94                                            |     r0 = BIO_indent ();
    0x00162a1c cmp r0, 0                                             |     
                                                                     |     if (r0 > 0) {
    0x00162a20 bgt 0x1629c0                                          |         goto label_0;
                                                                     |     }
    0x00162a24 b 0x1629ec                                            |     goto label_1;
                                                                     | }

[*] Function printf used 271 times libcrypto.so.1.1