[*] Binary protection state of mod_ssl.so

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


[*] Function strcpy tear down of mod_ssl.so

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/apache2/modules/mod_ssl.so @ 0xc0a0 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.0000c0a0 ()                                      | void fcn_0000c0a0 (int16_t arg_d0h, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     char * var_10h;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_18h;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_24h;
                                                                 |     char * s2;
                                                                 |     int16_t var_2ch;
                                                                 |     int16_t var_30h;
                                                                 |     int16_t var_34h;
                                                                 |     int16_t var_38h;
                                                                 |     void * ptr;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_44h;
                                                                 |     char * s1;
                                                                 |     int16_t var_4ch;
                                                                 |     int16_t var_50h;
                                                                 |     int16_t var_54h;
                                                                 |     int16_t var_58h;
                                                                 |     int16_t var_5ch;
                                                                 |     int16_t var_60h;
                                                                 |     int16_t var_64h;
                                                                 |     char * var_68h;
                                                                 |     int16_t var_6ch;
                                                                 |     int16_t var_70h;
                                                                 |     int16_t var_74h;
                                                                 |     int16_t var_84h;
                                                                 |     int16_t var_94h;
                                                                 |     int16_t var_a4h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
                                                                 |     r3 = arg4;
    0x0000c0a0 svcmi 0xf0e92d                                    |     __asm ("svcmi 0xf0e92d");
    0x0000c0a4 mov r7, r3                                        |     r7 = r3;
    0x0000c0a6 ldr.w r5, [pc, 0xb64]                             |     r5 = *(0x0000cc0c);
    0x0000c0aa sub sp, 0xac                                      |     
    0x0000c0ac mov fp, r2                                        |     
    0x0000c0ae ldr.w r4, [pc, 0xb60]                             |     
    0x0000c0b2 add r5, pc                                        |     r5 += pc;
    0x0000c0b4 ldr.w r3, [pc, 0xb5c]                             |     r3 = *(0x0000cc14);
    0x0000c0b8 ldr r6, [sp, 0xd0]                                |     r6 = *(arg_d0h);
    0x0000c0ba ldr r4, [r5, r4]                                  |     r4 = *((r5 + r4));
    0x0000c0bc add r3, pc                                        |     r3 += pc;
    0x0000c0be mov r2, r3                                        |     r2 = r3;
    0x0000c0c0 ldr r4, [r4]                                      |     r4 = *(0xcc12);
    0x0000c0c2 str r4, [sp, 0xa4]                                |     var_a4h = r4;
    0x0000c0c4 mov.w r4, 0                                       |     r4 = 0;
    0x0000c0c6 lsls r0, r0, 0x10                                 |     r0 <<= 0x10;
    0x0000c0c8 str r3, [sp, 0x38]                                |     var_38h = r3;
    0x0000c0ca ldr.w r3, [pc, 0xb4c]                             |     r3 = *(0xcc1a);
    0x0000c0ce mov r4, r0                                        |     r4 = r0;
    0x0000c0d0 str r1, [sp, 0x2c]                                |     var_2ch = r1;
    0x0000c0d2 ldr r1, [r0, 0x1c]                                |     r1 = *((r0 + 0x1c));
    0x0000c0d4 ldr r2, [r2, r3]                                  |     r2 = *((r2 + r3));
    0x0000c0d6 ldr r3, [r7, 4]                                   |     r3 = *((r7 + 4));
    0x0000c0d8 str r2, [sp, 0x20]                                |     var_20h = r2;
    0x0000c0da ldr r2, [r2, 8]                                   |     r2 = *((r2 + 8));
    0x0000c0dc bic r3, r3, 2                                     |     r3 = BIT_MASK (r3, 2);
    0x0000c0e0 cmp r3, 1                                         |     
    0x0000c0e2 ldr.w r1, [r1, r2, lsl 2]                         |     offset_0 = r2 << 2;
                                                                 |     r1 = *((r1 + offset_0));
    0x0000c0e6 str r1, [sp, 0x24]                                |     var_24h = r1;
                                                                 |     if (r3 != 1) {
    0x0000c0e8 bne.w 0xc3b8                                      |         goto label_29;
                                                                 |     }
    0x0000c0ec cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000c0ee blt.w 0xc3f8                                      |         goto label_30;
                                                                 |     }
    0x0000c0f2 ldr r3, [r0, 0x10]                                |     r3 = *((r0 + 0x10));
    0x0000c0f4 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000c0f6 beq.w 0xc3f8                                      |         goto label_30;
                                                                 |     }
    0x0000c0fa ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000c0fc cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000c0fe blt.w 0xc3f8                                      |         goto label_30;
                                                                 |     }
    0x0000c102 cmp r3, 5                                         |     
                                                                 |     if (r3 > 5) {
    0x0000c104 bgt.w 0xc400                                      |         goto label_31;
                                                                 |     }
    0x0000c106 strh r4, [r7, 0xa]                                |     *((r7 + 0xa)) = r4;
                                                                 | label_1:
    0x0000c108 ldr r3, [r7, 0x1c]                                |     r3 = *((r7 + 0x1c));
    0x0000c10a ldr.w r2, [r3, 0xac]                              |     r2 = *((r3 + 0xac));
    0x0000c10e ldr r1, [r3, 4]                                   |     r1 = *((r3 + 4));
    0x0000c110 ldr r2, [r2, 0x10]                                |     r2 = *((r2 + 0x10));
    0x0000c112 str r1, [sp, 0x40]                                |     var_40h = r1;
    0x0000c114 str r2, [sp, 0x44]                                |     var_44h = r2;
    0x0000c116 ldr.w r2, [r3, 0xa8]                              |     r2 = *((r3 + 0xa8));
    0x0000c11a str r2, [sp, 0x3c]                                |     ptr = r2;
    0x0000c11c cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0000c11e bne.w 0xc4f8                                      |         goto label_32;
                                                                 |     }
    0x0000c122 ldr r5, [r3, 8]                                   |     r5 = *((r3 + 8));
    0x0000c124 mov r0, r4                                        |     r0 = r4;
    0x0000c126 ldr.w sb, [sp, 0x2c]                              |     sb = var_2ch;
    0x0000c12a ldrd r2, r3, [r5]                                 |     __asm ("ldrd r2, r3, [r5]");
    0x0000c12c movs r3, 0                                        |     r3 = 0;
    0x0000c12e mov r1, sb                                        |     r1 = sb;
    0x0000c130 ldr.w r8, [r2, 8]                                 |     r8 = *((r2 + 8));
    0x0000c134 blx 0x7ca8                                        |     fcn_00007ca8 ();
    0x0000c136 ldc p9, c14, [r8, 0x354]!                         |     __asm ("ldc p9, c14, [r8, 0x354]!");
    0x0000c13a movs r3, 0                                        |     r3 = 0;
    0x0000c13c mov r1, sb                                        |     r1 = sb;
    0x0000c13e mov r0, r4                                        |     r0 = r4;
    0x0000c140 bl 0xafd0                                         |     fcn_0000afd0 (r0, r1, r2, r3);
    0x0000c142 vsub.i8 d22, d6, d24                              |     __asm ("vsub.i8 d22, d6, d24");
    0x0000c146 blx 0x6b48                                        |     SSL_CTX_set_default_passwd_cb ();
    0x0000c148 stc p8, c2, [r0, -0]                              |     __asm ("stc p8, c2, [r0, -0]");
    0x0000c14a cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000c14c bne.w 0xc5b2                                      |         goto label_33;
                                                                 |     }
                                                                 | label_10:
    0x0000c150 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0000c152 ldr r5, [r7, 0x1c]                                |     r5 = *((r7 + 0x1c));
    0x0000c154 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x0000c156 cmp r8, r3                                        |     
    0x0000c158 itt lt                                            |     
                                                                 |     if (r8 >= r3) {
    0x0000c15a movlt r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r8 >= r3) {
    0x0000c15c strlt r3, [r5, 0x24]                              |         *((r5 + 0x24)) = r3;
                                                                 |     }
                                                                 | label_9:
    0x0000c15e ldr.w sb, [sp, 0x2c]                              |     sb = var_2ch;
    0x0000c162 mov r2, r5                                        |     r2 = r5;
    0x0000c164 mov r0, r4                                        |     r0 = r4;
    0x0000c166 mov r1, sb                                        |     r1 = sb;
    0x0000c168 bl 0xaba0                                         |     r0 = fcn_0000aba0 (r0, r1, r2);
    0x0000c16c mov r8, r0                                        |     r8 = r0;
    0x0000c16e cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000c170 bne.w 0xc3d6                                      |         goto label_5;
                                                                 |     }
    0x0000c174 mov r3, r5                                        |     r3 = r5;
    0x0000c176 mov r2, fp                                        |     r2 = fp;
    0x0000c178 mov r1, sb                                        |     r1 = sb;
    0x0000c17a mov r0, r4                                        |     r0 = r4;
    0x0000c17c bl 0xb458                                         |     fcn_0000b458 (r0, r1, r2, r3, r4);
    0x0000c180 str r0, [sp, 0x50]                                |     var_50h = r0;
    0x0000c182 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000c184 bne.w 0xcc02                                      |         goto label_34;
                                                                 |     }
    0x0000c186 strh r5, [r7, 0x28]                               |     *((r7 + 0x28)) = r5;
    0x0000c188 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000c18a str r6, [sp, 0x60]                                |     var_60h = r6;
    0x0000c18c ldr r6, [r7, 0x1c]                                |     r6 = *((r7 + 0x1c));
    0x0000c18e ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000c190 ldr r3, [r4, 0x18]                                |     r3 = *((r4 + 0x18));
    0x0000c192 ldr.w r1, [pc, 0xa88]                             |     r1 = *(0x0000cc1c);
    0x0000c196 ldr r0, [r6, 4]                                   |     r0 = *((r6 + 4));
    0x0000c198 ldr.w r3, [r3, r2, lsl 2]                         |     offset_1 = r2 << 2;
                                                                 |     r3 = *((r3 + offset_1));
    0x0000c19a adds r0, 0x22                                     |     r0 += 0x22;
    0x0000c19c add r1, pc                                        |     r1 += pc;
    0x0000c19e ldr r3, [r3]                                      |     r3 = *(r3);
    0x0000c1a0 str r3, [sp, 0x58]                                |     var_58h = r3;
    0x0000c1a2 ldr r3, [r6]                                      |     r3 = *(r6);
    0x0000c1a4 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x0000c1a6 str r3, [sp, 0x54]                                |     var_54h = r3;
    0x0000c1a8 blx 0x6b54                                        |     SSL_write ();
    0x0000c1ac ldr r3, [r6, 8]                                   |     r3 = *((r6 + 8));
    0x0000c1ae ldr r3, [r3]                                      |     r3 = *(r3);
    0x0000c1b0 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000c1b2 cmp r2, 0                                         |     
                                                                 |     if (r2 <= 0) {
    0x0000c1b4 ble.w 0xc614                                      |         goto label_35;
                                                                 |     }
    0x0000c1b8 ldr.w r2, [pc, 0xa64]                             |     
    0x0000c1bc mov sb, r4                                        |     sb = r4;
    0x0000c1be ldrd r5, r8, [sp, 0x50]                           |     __asm ("ldrd r5, r8, [var_50h]");
    0x0000c1c2 str r7, [sp, 0x5c]                                |     var_5ch = r7;
    0x0000c1c4 add r2, pc                                        |     r2 = 0x18de8;
    0x0000c1c6 str r2, [sp, 0x34]                                |     var_34h = r2;
    0x0000c1c8 ldr.w r2, [pc, 0xa58]                             |     
    0x0000c1cc add r2, pc                                        |     r2 = 0x18df4;
    0x0000c1ce str r2, [sp, 0x48]                                |     s1 = r2;
    0x0000c1d0 ldr.w r2, [pc, 0xa54]                             |     
    0x0000c1d4 add r2, pc                                        |     r2 = 0x18e00;
    0x0000c1d6 str r2, [sp, 0x4c]                                |     var_4ch = r2;
    0x0000c1d8 b 0xc32a                                          |     
                                                                 |     while (r0 == 0) {
    0x0000c1da ldr r3, [r6, 0x24]                                |         r3 = *((r6 + 0x24));
    0x0000c1dc ldr r0, [r6, 4]                                   |         r0 = *((r6 + 4));
    0x0000c1de cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0000c1e0 beq.w 0xc51e                                      |             goto label_36;
                                                                 |         }
    0x0000c1e4 movs r2, 1                                        |         r2 = 1;
    0x0000c1e6 mov r1, r4                                        |         r1 = r4;
    0x0000c1e8 blx 0x6c74                                        |         r0 = BN_bn2dec ();
    0x0000c1ec cmp r0, 0                                         |         
                                                                 |         if (r0 <= 0) {
    0x0000c1ee ble.w 0xcab2                                      |             goto label_37;
                                                                 |         }
                                                                 | label_6:
    0x0000c1f2 movs r3, 0                                        |         r3 = 0;
                                                                 | label_0:
    0x0000c1f4 ldr r2, [r6, 8]                                   |         r2 = *((r6 + 8));
    0x0000c1f6 str r3, [sp, 0x30]                                |         var_30h = r3;
    0x0000c1f8 ldr r2, [r2, 4]                                   |         r2 = *((r2 + 4));
    0x0000c1fa ldr r1, [r2, 8]                                   |         r1 = *((r2 + 8));
    0x0000c1fc cmp r1, r5                                        |         
    0x0000c1fe itet gt                                           |         
                                                                 |         if (r1 <= r5) {
    0x0000c200 ldrgt r2, [r2, 0x10]                              |             r2 = *((r2 + 0x10));
                                                                 |         }
                                                                 |         if (r1 > r5) {
    0x0000c202 movle sl, r4                                      |             sl = r4;
                                                                 |         }
                                                                 |         if (r1 <= r5) {
    0x0000c204 ldrgt sl, [r2, r7]                                |             sl = *((r2 + r7));
                                                                 |         }
    0x0000c208 blx 0x6a3c                                        |         fcn_00006a3c ();
    0x0000c20c mov r0, sl                                        |         r0 = sl;
    0x0000c20e bl 0x1aaf8                                        |         r0 = fcn_0001aaf8 ();
    0x0000c212 mov r7, r0                                        |         r7 = r0;
    0x0000c214 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000c216 beq.w 0xc430                                      |             goto label_38;
                                                                 |         }
    0x0000c21a add r2, sp, 0x68                                  |         r2 += var_68h;
    0x0000c21c ldr r3, [sp, 0x30]                                |         r3 = var_30h;
    0x0000c21e str r2, [sp, 8]                                   |         var_8h = r2;
    0x0000c220 add r2, sp, 0x64                                  |         r2 += var_64h;
    0x0000c222 str r2, [sp, 4]                                   |         var_4h = r2;
    0x0000c224 movs r2, 0                                        |         r2 = 0;
    0x0000c226 str r2, [sp, 0x64]                                |         var_64h = r2;
    0x0000c228 mov r1, fp                                        |         r1 = fp;
    0x0000c22a mov r2, r8                                        |         r2 = r8;
    0x0000c22c mov r0, sb                                        |         r0 = sb;
    0x0000c22e str.w sl, [sp]                                    |         __asm ("str.w sl, [sp]");
    0x0000c232 bl 0x16258                                        |         r0 = fcn_00016258 (r0, r1, r2, r3, r4, r5, r6);
    0x0000c236 mov r7, r0                                        |         r7 = r0;
    0x0000c238 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000c23a bne.w 0xc98a                                      |             goto label_39;
                                                                 |         }
    0x0000c23e ldr r1, [sp, 0x64]                                |         r1 = var_64h;
    0x0000c240 ldr r0, [r6, 4]                                   |         r0 = *((r6 + 4));
                                                                 |         if (r1 != 0) {
    0x0000c242 cbz r1, 0xc256                                    |             
    0x0000c244 blx 0x6900                                        |             r0 = fcn_00006900 ();
    0x0000c248 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x0000c24a ble.w 0xcaf2                                      |                 goto label_40;
                                                                 |             }
    0x0000c24e ldr r0, [sp, 0x64]                                |             r0 = var_64h;
    0x0000c250 blx 0x7c9c                                        |             fcn_00007c9c ();
    0x0000c254 ldr r0, [r6, 4]                                   |             r0 = *((r6 + 4));
                                                                 |         }
    0x0000c256 ldr r1, [sp, 0x68]                                |         r1 = var_68h;
    0x0000c258 blx 0x7040                                        |         r0 = loc_imp_ap_hook_check_authn ();
    0x0000c25c cmp r0, 0                                         |         
                                                                 |         if (r0 <= 0) {
    0x0000c25e ble.w 0xc98e                                      |             goto label_41;
                                                                 |         }
    0x0000c262 ldr r0, [sp, 0x68]                                |         r0 = var_68h;
    0x0000c264 blx 0x7a20                                        |         fcn_00007a20 ();
                                                                 | label_4:
    0x0000c268 ldr r0, [r6, 4]                                   |         r0 = *((r6 + 4));
    0x0000c26a blx 0x770c                                        |         r0 = BIO_read ();
    0x0000c26e cmp r0, 0                                         |         
                                                                 |         if (r0 <= 0) {
    0x0000c270 ble.w 0xc75a                                      |             goto label_42;
                                                                 |         }
    0x0000c274 ldr r0, [r6, 4]                                   |         r0 = *((r6 + 4));
    0x0000c276 blx 0x6bf0                                        |         r0 = loc_imp_ap_ssl_add_fallback_cert_files ();
    0x0000c27a mov r7, r0                                        |         r7 = r0;
    0x0000c27c str r0, [sp, 0x64]                                |         var_64h = r0;
    0x0000c27e cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000c280 beq.w 0xc792                                      |             goto label_43;
                                                                 |         }
    0x0000c284 add r2, sp, 0x70                                  |         r2 += var_70h;
    0x0000c286 add r1, sp, 0x6c                                  |         r1 += var_6ch;
    0x0000c288 bl 0x1ac5c                                        |         r0 = fcn_0001ac5c (r0, r1);
                                                                 |         if (r0 != 0) {
    0x0000c28c cbz r0, 0xc2bc                                    |             
    0x0000c28e ldr r3, [sp, 0x6c]                                |             r3 = var_6ch;
    0x0000c290 cmp r3, 0                                         |             
                                                                 |             if (r3 != 0) {
    0x0000c292 bne.w 0xc588                                      |                 goto label_44;
                                                                 |             }
                                                                 | label_8:
    0x0000c296 ldr r3, [sp, 0x70]                                |             r3 = var_70h;
    0x0000c298 cmp r3, 0                                         |             
                                                                 |             if (r3 <= 0) {
    0x0000c29a ble 0xc2bc                                        |                 goto label_45;
                                                                 |             }
    0x0000c29c str r3, [sp, 0x10]                                |             var_10h = r3;
    0x0000c29e movw r1, 0x50c                                    |             r1 = 0x50c;
    0x0000c2a2 ldr r3, [sp, 0x28]                                |             r3 = s2;
    0x0000c2a4 ldr r0, [sp, 0x48]                                |             r0 = s1;
    0x0000c2a6 str r3, [sp, 0xc]                                 |             var_ch = r3;
    0x0000c2a8 ldr r3, [sp, 0x4c]                                |             r3 = var_4ch;
    0x0000c2aa strd sb, r3, [sp, 4]                              |             __asm ("strd sb, r3, [var_8h]");
    0x0000c2ae ldr r3, [sp, 0x20]                                |             r3 = var_20h;
    0x0000c2b0 ldr r2, [r3, 8]                                   |             r2 = *((r3 + 8));
    0x0000c2b2 movs r3, 0                                        |             r3 = 0;
    0x0000c2b4 str r3, [sp]                                      |             *(sp) = r3;
    0x0000c2b6 movs r3, 4                                        |             r3 = 4;
    0x0000c2b8 blx 0x7d18                                        |             strcmp (r0, r1);
                                                                 |         }
                                                                 | label_45:
    0x0000c2bc str.w sb, [sp]                                    |         __asm ("str.w sb, [sp]");
    0x0000c2c0 mov r1, r7                                        |         r1 = r7;
    0x0000c2c2 ldr.w r2, [sb, 0x34]                              |         r2 = *((sb + 0x34));
    0x0000c2c6 movs r3, 1                                        |         r3 = 1;
    0x0000c2c8 mov r0, fp                                        |         r0 = fp;
    0x0000c2ca bl 0x1afa4                                        |         r0 = fcn_0001afa4 (r0, r1, r2, r3, r4);
    0x0000c2ce cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000c2d0 beq.w 0xc4d0                                      |             goto label_46;
                                                                 |         }
    0x0000c2d4 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0000c2d6 ldr r2, [r3, 8]                                   |         r2 = *((r3 + 8));
    0x0000c2d8 cmp r2, 0                                         |         
                                                                 |         if (r2 < 0) {
    0x0000c2da blt.w 0xc424                                      |             goto label_47;
                                                                 |         }
    0x0000c2de ldr.w r3, [sb, 0x10]                              |         r3 = *((sb + 0x10));
    0x0000c2e2 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0000c2e4 beq.w 0xc424                                      |             goto label_47;
                                                                 |         }
    0x0000c2e8 ldrsb r3, [r3, r2]                                |         r3 = *((r3 + r2));
    0x0000c2ea cmp r3, 0                                         |         
                                                                 |         if (r3 < 0) {
    0x0000c2ec blt.w 0xc424                                      |             goto label_47;
                                                                 |         }
    0x0000c2f0 cmp r3, 5                                         |         
                                                                 |         if (r3 > 5) {
    0x0000c2f2 ble 0xc31c                                        |             
                                                                 | label_2:
    0x0000c2f4 ldr r3, [sp, 0x28]                                |             r3 = s2;
    0x0000c2f6 movw r1, 0x5f2                                    |             r1 = 0x5f2;
    0x0000c2fa ldr.w r0, [pc, 0x930]                             |             
    0x0000c2fe strd r4, sl, [sp, 0x10]                           |             __asm ("strd r4, sl, [var_14h]");
    0x0000c302 str r3, [sp, 0xc]                                 |             var_ch = r3;
    0x0000c304 ldr.w r3, [pc, 0x928]                             |             
    0x0000c308 add r0, pc                                        |             r0 = 0x18f3a;
    0x0000c30a str.w sb, [sp, 4]                                 |             __asm ("str.w sb, [var_4h]");
    0x0000c30e add r3, pc                                        |             r3 = 0x18f42;
    0x0000c310 str r3, [sp, 8]                                   |             var_8h = r3;
    0x0000c312 movs r3, 0                                        |             r3 = 0;
    0x0000c314 str r3, [sp]                                      |             *(sp) = r3;
    0x0000c316 movs r3, 6                                        |             r3 = 6;
    0x0000c318 blx 0x7d18                                        |             strcmp (r0, r1);
                                                                 |         }
                                                                 | label_3:
    0x0000c31c ldr r3, [r6, 8]                                   |         r3 = *((r6 + 8));
    0x0000c31e adds r5, 1                                        |         r5++;
    0x0000c320 ldr r3, [r3]                                      |         r3 = *(r3);
    0x0000c322 ldr r2, [r3, 8]                                   |         r2 = *((r3 + 8));
    0x0000c324 cmp r5, r2                                        |         
                                                                 |         if (r5 >= r2) {
    0x0000c326 bge.w 0xc610                                      |             goto label_48;
                                                                 |         }
    0x0000c32a ldr r3, [r3, 0x10]                                |         r3 = *((r3 + 0x10));
    0x0000c32c lsls r7, r5, 2                                    |         r7 = r5 << 2;
    0x0000c32e ldr.w r4, [r3, r5, lsl 2]                         |         offset_2 = r5 << 2;
                                                                 |         r4 = *((r3 + offset_2));
    0x0000c332 cmp r4, 0                                         |         
                                                                 |         if (r4 == 0) {
    0x0000c334 beq.w 0xc754                                      |             goto label_49;
                                                                 |         }
    0x0000c338 ldr r1, [sp, 0x34]                                |         r1 = var_34h;
    0x0000c33a mov r3, r5                                        |         r3 = r5;
    0x0000c33c mov r2, r8                                        |         r2 = r8;
    0x0000c33e mov r0, fp                                        |         r0 = fp;
    0x0000c340 blx 0x7350                                        |         fcn_00007350 ();
    0x0000c344 str r0, [sp, 0x28]                                |         s2 = r0;
    0x0000c346 blx 0x6a3c                                        |         fcn_00006a3c ();
    0x0000c34a mov r0, r4                                        |         r0 = r4;
    0x0000c34c bl 0x1aaf8                                        |         r0 = fcn_0001aaf8 ();
    0x0000c350 mov sl, r0                                        |         sl = r0;
    0x0000c352 cmp r0, 0                                         |         
    0x0000c354 beq.w 0xc1da                                      |         
                                                                 |     }
    0x0000c358 mov r3, r4                                        |     r3 = r4;
    0x0000c35a b 0xc1f4                                          |     goto label_0;
                                                                 | label_11:
    0x0000c35c ldr r1, [r7, 8]                                   |     r1 = *((r7 + 8));
    0x0000c35e movs r6, 0                                        |     r6 = 0;
    0x0000c360 ldr r2, [sp, 0x20]                                |     r2 = var_20h;
    0x0000c362 ldr.w fp, [sp, 0x30]                              |     fp = var_30h;
    0x0000c366 ldr r2, [r2, 8]                                   |     r2 = *((r2 + 8));
    0x0000c368 str r1, [sp, 0x14]                                |     var_14h = r1;
    0x0000c36a ldr r1, [r5, -0x4]                                |     r1 = *((r5 - 0x4));
    0x0000c36e str r1, [sp, 0x10]                                |     var_10h = r1;
    0x0000c370 movw r1, 0x7ac                                    |     r1 = 0x7ac;
    0x0000c374 ldr r3, [r5, -0x8]                                |     r3 = *((r5 - 0x8));
    0x0000c378 ldr.w r5, [pc, 0x8b8]                             |     
    0x0000c37c str r4, [sp, 4]                                   |     var_4h = r4;
    0x0000c37e str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000c380 ldr.w r3, [pc, 0x8b4]                             |     
    0x0000c384 add r5, pc                                        |     r5 = 0x18fbc;
    0x0000c386 mov r0, r5                                        |     r0 = r5;
    0x0000c388 str r6, [sp]                                      |     *(sp) = r6;
    0x0000c38a add r3, pc                                        |     r3 = 0x18fc6;
    0x0000c38c str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000c38e mov r3, r6                                        |     r3 = r6;
    0x0000c390 blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000c394 mov r3, r4                                        |     r3 = r4;
    0x0000c396 mov r2, r6                                        |     r2 = r6;
    0x0000c398 mov r0, r5                                        |     r0 = r5;
    0x0000c39a movw r1, 0x7af                                    |     r1 = 0x7af;
    0x0000c39e bl 0x14e5c                                        |     fcn_00014e5c (r0, r1, r2, r3);
    0x0000c3a2 mov r0, r4                                        |     r0 = r4;
    0x0000c3a4 bl 0x14de0                                        |     r0 = fcn_00014de0 (r0);
    0x0000c3a8 mov r8, r0                                        |     r8 = r0;
                                                                 | label_15:
    0x0000c3aa cmp.w r8, 0                                       |     
                                                                 |     if (r8 == 0) {
    0x0000c3ae bne 0xc3d6                                        |         
                                                                 | label_18:
    0x0000c3b0 ldr r1, [r7, 0x1c]                                |         r1 = *((r7 + 0x1c));
    0x0000c3b2 mov r0, r4                                        |         r0 = r4;
    0x0000c3b4 bl 0x1c594                                        |         fcn_0001c594 (r0, r1);
    0x0000c3b6 invalid                                           |         
                                                                 | label_29:
    0x0000c3b8 ldr r2, [sp, 0x24]                                |         r2 = var_24h;
    0x0000c3ba ldr r3, [r2, 0x28]                                |         r3 = *((r2 + 0x28));
    0x0000c3bc ldr r2, [r2, 0x2c]                                |         r2 = *((r2 + 0x2c));
    0x0000c3be str r7, [r3]                                      |         *(r3) = r7;
    0x0000c3c0 cmp r2, 1                                         |         
                                                                 |         if (r2 == 1) {
    0x0000c3c2 beq.w 0xc574                                      |             goto label_50;
                                                                 |         }
    0x0000c3c6 ldr r2, [sp, 0x24]                                |         r2 = var_24h;
    0x0000c3c8 movs r3, 0                                        |         r3 = 0;
    0x0000c3ca str r3, [r2, 0x2c]                                |         *((r2 + 0x2c)) = r3;
                                                                 | label_7:
    0x0000c3cc ldr r2, [sp, 0x24]                                |         r2 = var_24h;
    0x0000c3ce mov.w r8, 0                                       |         r8 = 0;
    0x0000c3d2 movs r3, 1                                        |         r3 = 1;
    0x0000c3d4 str r3, [r2, 0x30]                                |         *((r2 + 0x30)) = r3;
                                                                 |     }
                                                                 | label_5:
    0x0000c3d6 ldr.w r2, [pc, 0x864]                             |     r2 = *(0x0000cc3c);
    0x0000c3da ldr.w r3, [pc, 0x834]                             |     r3 = *(0xcc12);
    0x0000c3de add r2, pc                                        |     r2 += pc;
    0x0000c3e0 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x0000c3e2 ldr r2, [r3]                                      |     r2 = *(0xcc12);
    0x0000c3e4 ldr r3, [sp, 0xa4]                                |     r3 = var_a4h;
    0x0000c3e6 eors r2, r3                                       |     r2 ^= r3;
    0x0000c3e8 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x0000c3ec bne.w 0xcbfe                                      |         goto label_51;
                                                                 |     }
    0x0000c3f0 mov r0, r8                                        |     r0 = r8;
    0x0000c3f2 add sp, 0xac                                      |     
    0x0000c3f4 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_30:
    0x0000c3f8 ldr r3, [r4, 0x14]                                |     r3 = *((r4 + 0x14));
    0x0000c3fa cmp r3, 5                                         |     
                                                                 |     if (r3 <= 5) {
    0x0000c3fc ble.w 0xc108                                      |         goto label_1;
                                                                 |     }
                                                                 | label_31:
    0x0000c400 str r4, [sp, 4]                                   |     var_4h = r4;
    0x0000c402 movw r1, 0x801                                    |     r1 = 0x801;
    0x0000c406 ldr r3, [r7, 8]                                   |     r3 = *((r7 + 8));
    0x0000c408 ldr.w r0, [pc, 0x834]                             |     
    0x0000c40c str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000c40e ldr.w r3, [pc, 0x834]                             |     
    0x0000c412 add r0, pc                                        |     r0 = 0x19056;
    0x0000c414 add r3, pc                                        |     r3 = 0x1905e;
    0x0000c416 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000c418 movs r3, 0                                        |     r3 = 0;
    0x0000c41a str r3, [sp]                                      |     *(sp) = r3;
    0x0000c41c movs r3, 6                                        |     r3 = 6;
    0x0000c41e blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000c422 b 0xc108                                          |     goto label_1;
                                                                 | label_47:
    0x0000c424 ldr.w r3, [sb, 0x14]                              |     r3 = *((sb + 0x14));
    0x0000c428 cmp r3, 5                                         |     
                                                                 |     if (r3 > 5) {
    0x0000c42a bgt.w 0xc2f4                                      |         goto label_2;
                                                                 |     }
    0x0000c42e b 0xc31c                                          |     goto label_3;
                                                                 | label_38:
    0x0000c430 ldr r0, [r6, 4]                                   |     r0 = *((r6 + 4));
    0x0000c432 movs r2, 1                                        |     r2 = 1;
    0x0000c434 mov r1, sl                                        |     r1 = sl;
    0x0000c436 blx 0x74b4                                        |     r0 = X509_NAME_free ();
    0x0000c43a cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x0000c43c bgt.w 0xc268                                      |         goto label_4;
                                                                 |     }
    0x0000c440 blx 0x755c                                        |     r0 = ENGINE_free ();
    0x0000c444 ubfx r0, r0, 0xc, 0xc                             |     r0 = (r0 >> 0xc) & ((1 << 0xc) - 1);
    0x0000c448 cmp r0, 0x80                                      |     
                                                                 |     if (r0 == 0x80) {
    0x0000c44a beq.w 0xc268                                      |         goto label_4;
                                                                 |     }
    0x0000c44e blx 0x6a3c                                        |     fcn_00006a3c ();
    0x0000c452 add r3, sp, 0x60                                  |     r3 += var_60h;
    0x0000c454 mov r1, fp                                        |     r1 = fp;
    0x0000c456 str r3, [sp]                                      |     *(sp) = r3;
    0x0000c458 mov r2, r5                                        |     r2 = r5;
    0x0000c45a mov r3, sl                                        |     r3 = sl;
    0x0000c45c mov r0, sb                                        |     r0 = sb;
    0x0000c45e bl 0x15cc4                                        |     fcn_00015cc4 (r0, r1, r2, r3, r4);
    0x0000c462 ldr r3, [sp, 0x58]                                |     r3 = var_58h;
    0x0000c464 ldr r1, [sp, 0x28]                                |     r1 = s2;
    0x0000c466 ldr r0, [r3, 0x24]                                |     r0 = *((r3 + 0x24));
    0x0000c468 bl 0x1aab0                                        |     fcn_0001aab0 ();
    0x0000c46a invalid                                           |     
    0x0000c46e ldr r3, [r0, 4]                                   |     r3 = *((r0 + 4));
    0x0000c470 str r3, [sp, 0x70]                                |     var_70h = r3;
                                                                 |     if (r3 == 0) {
    0x0000c472 cbz r3, 0xc490                                    |         goto label_52;
                                                                 |     }
    0x0000c474 ldr r2, [r0]                                      |     r2 = *(r0);
    0x0000c476 add r1, sp, 0x70                                  |     r1 += var_70h;
    0x0000c478 mov r0, r7                                        |     r0 = r7;
    0x0000c47a blx 0x7e50                                        |     r0 = fcn_00007e50 ();
    0x0000c47e mov r1, r0                                        |     r1 = r0;
    0x0000c480 str r0, [sp, 0x68]                                |     var_68h = r0;
                                                                 |     if (r0 == 0) {
    0x0000c482 cbz r0, 0xc490                                    |         goto label_52;
                                                                 |     }
    0x0000c484 ldr r0, [r6, 4]                                   |     r0 = *((r6 + 4));
    0x0000c486 blx 0x7040                                        |     r0 = loc_imp_ap_hook_check_authn ();
    0x0000c48a cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x0000c48c bgt.w 0xc268                                      |         goto label_4;
                                                                 |     }
                                                                 | label_52:
    0x0000c490 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000c492 movs r6, 0                                        |     r6 = 0;
    0x0000c494 ldr.w r5, [pc, 0x7b0]                             |     
    0x0000c498 movw r8, 0x4e2e                                   |     r8 = 0x4e2e;
    0x0000c49c ldr r1, [sp, 0x28]                                |     r1 = s2;
    0x0000c49e ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000c4a0 ldr.w r3, [pc, 0x7a8]                             |     
    0x0000c4a4 add r5, pc                                        |     r5 = 0x190f0;
    0x0000c4a6 mov r0, r5                                        |     r0 = r5;
    0x0000c4a8 str r1, [sp, 0xc]                                 |     var_ch = r1;
    0x0000c4aa str.w sl, [sp, 0x10]                              |     __asm ("str.w sl, [var_10h]");
    0x0000c4ae mov.w r1, 0x5b0                                   |     r1 = 0x5b0;
    0x0000c4b0 str r6, [r6, 0x18]                                |     *((r6 + 0x18)) = r6;
    0x0000c4b2 add r3, pc                                        |     r3 = 0x19102;
    0x0000c4b4 str r6, [sp]                                      |     *(sp) = r6;
    0x0000c4b6 strd sb, r3, [sp, 4]                              |     __asm ("strd sb, r3, [var_8h]");
    0x0000c4ba mov r3, r6                                        |     r3 = r6;
    0x0000c4bc blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000c4c0 mov r3, sb                                        |     r3 = sb;
    0x0000c4c2 mov r2, r6                                        |     r2 = r6;
    0x0000c4c4 movw r1, 0x5b3                                    |     r1 = 0x5b3;
    0x0000c4c8 mov r0, r5                                        |     r0 = r5;
    0x0000c4ca bl 0x14e5c                                        |     fcn_00014e5c (r0, r1, r2, r3);
    0x0000c4ce b 0xc3d6                                          |     goto label_5;
                                                                 | label_46:
    0x0000c4d0 ldr r3, [sp, 0x28]                                |     r3 = s2;
    0x0000c4d2 movw r1, 0x515                                    |     r1 = 0x515;
    0x0000c4d6 str r0, [sp]                                      |     *(sp) = r0;
    0x0000c4d8 str.w sb, [sp, 4]                                 |     __asm ("str.w sb, [var_4h]");
    0x0000c4dc str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000c4de ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000c4e0 ldr.w r0, [pc, 0x76c]                             |     
    0x0000c4e2 lsls r4, r5, 0x1d                                 |     r4 = r5 << 0x1d;
    0x0000c4e4 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000c4e6 ldr.w r3, [pc, 0x76c]                             |     
    0x0000c4e8 adds r7, 0x6c                                     |     r7 += 0x6c;
    0x0000c4ea add r0, pc                                        |     r0 = 0x1913e;
    0x0000c4ec add r3, pc                                        |     r3 = 0x19146;
    0x0000c4ee str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000c4f0 movs r3, 4                                        |     r3 = 4;
    0x0000c4f2 blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000c4f4 invalid                                           |     
                                                                 | label_32:
    0x0000c4f8 ldr.w r0, [pc, 0x75c]                             |     
    0x0000c4fc mov.w r1, 0x780                                   |     r1 = 0x780;
    0x0000c4fe str r0, [r6, 0x1c]                                |     *((r6 + 0x1c)) = r0;
    0x0000c500 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000c502 movw r8, 0x4e2e                                   |     r8 = 0x4e2e;
    0x0000c506 add r0, pc                                        |     r0 = 0x19162;
    0x0000c508 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000c50a movs r3, 0                                        |     r3 = 0;
    0x0000c50c str r0, [sp, 8]                                   |     var_8h = r0;
    0x0000c50e ldr.w r0, [pc, 0x74c]                             |     
    0x0000c512 str r4, [sp, 4]                                   |     var_4h = r4;
    0x0000c514 str r3, [sp]                                      |     *(sp) = r3;
    0x0000c516 add r0, pc                                        |     r0 = 0x19178;
    0x0000c518 blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000c51c b 0xc3d6                                          |     goto label_5;
                                                                 | label_36:
    0x0000c51e mov r1, r4                                        |     r1 = r4;
    0x0000c520 str r3, [sp, 0x30]                                |     var_30h = r3;
    0x0000c522 blx 0x7204                                        |     r0 = fcn_00007204 ();
    0x0000c526 cmp r0, 0                                         |     
    0x0000c528 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
                                                                 |     if (r0 > 0) {
    0x0000c52a bgt.w 0xc1f2                                      |         goto label_6;
                                                                 |     }
    0x0000c52e mov r6, r3                                        |     r6 = r3;
    0x0000c530 mov r2, sb                                        |     r2 = sb;
    0x0000c532 ldr.w r3, [pc, 0x72c]                             |     
    0x0000c536 mov sb, r4                                        |     sb = r4;
    0x0000c538 ldr.w r5, [pc, 0x728]                             |     
    0x0000c53c mov r4, r2                                        |     r4 = r2;
    0x0000c53e ldr r1, [sp, 0x28]                                |     r1 = s2;
    0x0000c540 movw r8, 0x4e2e                                   |     r8 = 0x4e2e;
    0x0000c544 ldr r2, [sp, 0x20]                                |     r2 = var_20h;
    0x0000c546 add r3, pc                                        |     r3 = 0x191ac;
    0x0000c548 add r5, pc                                        |     r5 = 0x191b0;
    0x0000c54a str.w sb, [sp, 0x10]                              |     __asm ("str.w sb, [var_10h]");
    0x0000c54e mov r0, r5                                        |     r0 = r5;
    0x0000c550 ldr r2, [r2, 8]                                   |     r2 = *((r2 + 8));
    0x0000c552 str r1, [sp, 0xc]                                 |     var_ch = r1;
    0x0000c554 movw r1, 0x56d                                    |     r1 = 0x56d;
    0x0000c558 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000c55a mov r3, r6                                        |     r3 = r6;
    0x0000c55c str r4, [sp, 4]                                   |     var_4h = r4;
    0x0000c55e str r6, [sp]                                      |     *(sp) = r6;
    0x0000c560 blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000c564 mov r3, r4                                        |     r3 = r4;
    0x0000c566 mov r2, r6                                        |     r2 = r6;
    0x0000c568 mov.w r1, 0x570                                   |     r1 = 0x570;
    0x0000c56c mov r0, r5                                        |     r0 = r5;
    0x0000c56e bl 0x14e5c                                        |     fcn_00014e5c (r0, r1, r2, r3);
    0x0000c572 b 0xc3d6                                          |     goto label_5;
                                                                 | label_50:
    0x0000c574 ldr r1, [sp, 0x2c]                                |     r1 = var_2ch;
    0x0000c576 mov r2, fp                                        |     r2 = fp;
    0x0000c578 mov r0, r4                                        |     r0 = r4;
    0x0000c57a bl 0xbc00                                         |     r0 = fcn_0000bc00 (r0, r1, r2, r3, r4, r5, r6);
    0x0000c57e mov r8, r0                                        |     r8 = r0;
    0x0000c580 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c582 beq.w 0xc3cc                                      |         goto label_7;
                                                                 |     }
    0x0000c586 b 0xc3d6                                          |     goto label_5;
                                                                 | label_44:
    0x0000c588 ldr r3, [sp, 0x28]                                |     r3 = s2;
    0x0000c58a movw r1, 0x506                                    |     r1 = 0x506;
    0x0000c58e str.w sb, [sp, 4]                                 |     __asm ("str.w sb, [var_4h]");
    0x0000c592 ldr.w r0, [pc, 0x6d4]                             |     
    0x0000c596 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000c598 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000c59a add r0, pc                                        |     r0 = 0x19208;
    0x0000c59c ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000c59e ldr.w r3, [pc, 0x6cc]                             |     
    0x0000c5a2 add r3, pc                                        |     r3 = 0x19214;
    0x0000c5a4 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000c5a6 movs r3, 0                                        |     r3 = 0;
    0x0000c5a8 str r3, [sp]                                      |     *(sp) = r3;
    0x0000c5aa movs r3, 4                                        |     r3 = 4;
    0x0000c5ac blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000c5b0 b 0xc296                                          |     goto label_8;
                                                                 | label_33:
    0x0000c5b2 ldr.w sb, [sp, 0x2c]                              |     sb = var_2ch;
    0x0000c5b6 mov r0, r4                                        |     r0 = r4;
    0x0000c5b8 ldrd r2, r3, [r5]                                 |     __asm ("ldrd r2, r3, [r5]");
    0x0000c5bc mov r1, sb                                        |     r1 = sb;
    0x0000c5be blx 0x6bfc                                        |     X509_EXTENSION_get_object ();
    0x0000c5c2 ldrd r2, r3, [r5]                                 |     __asm ("ldrd r2, r3, [r5]");
    0x0000c5c6 mov r1, sb                                        |     r1 = sb;
    0x0000c5c8 mov r0, r4                                        |     r0 = r4;
    0x0000c5ca bl 0xb02c                                         |     fcn_0000b02c (r0, r1, r2, r3);
    0x0000c5ce ldr r3, [r5]                                      |     r3 = *(r5);
    0x0000c5d0 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x0000c5d2 cmp r8, r3                                        |     
                                                                 |     if (r8 >= r3) {
    0x0000c5d4 blt 0xc5da                                        |         
    0x0000c5d6 ldr r5, [r7, 0x1c]                                |         r5 = *((r7 + 0x1c));
    0x0000c5d8 b 0xc15e                                          |         goto label_9;
                                                                 |     }
    0x0000c5da movs r3, 1                                        |     r3 = 1;
    0x0000c5dc mov r1, r4                                        |     r1 = r4;
    0x0000c5de str r3, [r5, 0x10]                                |     *((r5 + 0x10)) = r3;
    0x0000c5e0 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000c5e2 ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
    0x0000c5e4 ldr.w sb, [r3, 8]                                 |     sb = *((r3 + 8));
    0x0000c5e8 bl 0x1a710                                        |     fcn_0001a710 (r0);
    0x0000c5ec ldr r3, [sp, 0x40]                                |     r3 = var_40h;
    0x0000c5ee movw r1, 0x792                                    |     r1 = 0x792;
    0x0000c5f2 str r0, [sp, 0xc]                                 |     var_ch = r0;
    0x0000c5f4 mov r2, sb                                        |     r2 = sb;
    0x0000c5f6 ldr.w r0, [pc, 0x678]                             |     
    0x0000c5fa str r3, [sp]                                      |     *(sp) = r3;
    0x0000c5fc ldr.w r3, [pc, 0x674]                             |     
    0x0000c600 add r0, pc                                        |     r0 = 0x19276;
    0x0000c602 str r4, [sp, 4]                                   |     var_4h = r4;
    0x0000c604 add r3, pc                                        |     r3 = 0x1927c;
    0x0000c606 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000c608 movs r3, 4                                        |     r3 = 4;
    0x0000c60a blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000c60e b 0xc150                                          |     goto label_10;
                                                                 | label_48:
    0x0000c610 ldr r7, [sp, 0x5c]                                |     r7 = var_5ch;
    0x0000c612 mov r4, sb                                        |     r4 = sb;
                                                                 | label_35:
    0x0000c614 ldr r3, [r3, 0x10]                                |     r3 = *((r3 + 0x10));
                                                                 | label_16:
    0x0000c616 ldr r5, [r3]                                      |     r5 = *(r3);
    0x0000c618 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0000c61a beq.w 0xc7be                                      |         goto label_53;
                                                                 |     }
    0x0000c61e mov r0, r5                                        |     r0 = r5;
    0x0000c620 bl 0x1aaf8                                        |     r0 = fcn_0001aaf8 ();
    0x0000c624 mov sb, r0                                        |     sb = r0;
    0x0000c626 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c628 beq.w 0xc9c6                                      |         goto label_54;
                                                                 |     }
    0x0000c62a strh r5, [r1, 0xe]                                |     *((r1 + 0xe)) = r5;
                                                                 | label_19:
    0x0000c62c ldr r0, [r6, 4]                                   |     r0 = *((r6 + 4));
    0x0000c62e movs r3, 0                                        |     r3 = 0;
    0x0000c630 movs r2, 1                                        |     r2 = 1;
    0x0000c632 movs r1, 0x76                                     |     r1 = 0x76;
    0x0000c634 blx 0x6e00                                        |     UI_destroy_method ();
                                                                 | label_20:
    0x0000c638 mov r0, r5                                        |     r0 = r5;
    0x0000c63a bl 0x1aaf8                                        |     r0 = fcn_0001aaf8 ();
    0x0000c63e mov sl, r0                                        |     sl = r0;
    0x0000c640 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c642 beq.w 0xca36                                      |         goto label_55;
                                                                 |     }
                                                                 | label_21:
    0x0000c646 movs r5, 0                                        |     r5 = 0;
                                                                 | label_17:
    0x0000c648 ldr r0, [sp, 0x40]                                |     r0 = var_40h;
    0x0000c64a blx 0x6780                                        |     fcn_00006780 ();
    0x0000c64e mov r0, r5                                        |     r0 = r5;
    0x0000c650 blx 0x6ca4                                        |     X509_STORE_CTX_cleanup ();
    0x0000c654 ldr r3, [r7, 0x1c]                                |     r3 = *((r7 + 0x1c));
    0x0000c656 ldr r0, [sp, 0x3c]                                |     r0 = ptr;
    0x0000c658 ldr r1, [r3, 4]                                   |     r1 = *((r3 + 4));
    0x0000c65a blx 0x69d8                                        |     fcn_000069d8 ();
    0x0000c65e ldr r3, [r7, 0x1c]                                |     r3 = *((r7 + 0x1c));
    0x0000c660 ldr.w r3, [r3, 0xac]                              |     r3 = *((r3 + 0xac));
    0x0000c664 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x0000c666 cmp r3, 0                                         |     
                                                                 |     if (r3 <= 0) {
    0x0000c668 ble 0xc6fc                                        |         goto label_56;
                                                                 |     }
    0x0000c66a ldr.w sb, [pc, 0x60c]                             |     
    0x0000c66e movs r6, 0                                        |     r6 = 0;
    0x0000c670 ldr r5, [sp, 0x44]                                |     r5 = var_44h;
    0x0000c672 mov r8, r6                                        |     r8 = r6;
    0x0000c674 ldr.w sl, [pc, 0x604]                             |     
    0x0000c678 add sb, pc                                        |     sb = 0x192f6;
    0x0000c67a str.w fp, [sp, 0x30]                              |     __asm ("str.w fp, [var_30h]");
    0x0000c67e str.w sb, [sp, 0x28]                              |     __asm ("str.w sb, [s2]");
    0x0000c682 adds r5, 8                                        |     r5 += 8;
    0x0000c684 ldr.w fp, [sp, 0x3c]                              |     fp = ptr;
    0x0000c688 add sl, pc                                        |     sl = 0x19308;
    0x0000c68a ldr.w sb, [sp, 0x20]                              |     sb = var_20h;
    0x0000c68e b 0xc6d4                                          |     goto label_57;
                                                                 | label_12:
    0x0000c690 ldr r3, [r4, 0x10]                                |     r3 = *((r4 + 0x10));
                                                                 |     if (r3 == 0) {
    0x0000c692 cbz r3, 0xc6f0                                    |         goto label_58;
                                                                 |     }
    0x0000c694 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000c696 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000c698 blt 0xc6f0                                        |         goto label_58;
                                                                 |     }
    0x0000c69a cmp r3, 6                                         |     
                                                                 |     if (r3 > 6) {
    0x0000c69c ble 0xc6c4                                        |         
                                                                 | label_13:
    0x0000c69e ldr r3, [r7, 8]                                   |         r3 = *((r7 + 8));
    0x0000c6a0 movw r1, 0x7b2                                    |         r1 = 0x7b2;
    0x0000c6a4 mov r0, sl                                        |         r0 = sl;
    0x0000c6a6 str r3, [sp, 0x14]                                |         var_14h = r3;
    0x0000c6a8 ldr r3, [r5, -0x4]                                |         r3 = *((r5 - 0x4));
    0x0000c6ac str r3, [sp, 0x10]                                |         var_10h = r3;
    0x0000c6ae ldr r3, [r5, -0x8]                                |         r3 = *((r5 - 0x8));
    0x0000c6b2 str.w r8, [sp]                                    |         __asm ("str.w r8, [sp]");
    0x0000c6b6 str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x0000c6b8 ldr r3, [sp, 0x28]                                |         r3 = s2;
    0x0000c6ba strd r4, r3, [sp, 4]                              |         __asm ("strd r4, r3, [var_8h]");
    0x0000c6be movs r3, 7                                        |         r3 = 7;
    0x0000c6c0 blx 0x7d18                                        |         strcmp (r0, r1);
                                                                 |     }
                                                                 | label_14:
    0x0000c6c4 ldr r3, [r7, 0x1c]                                |     r3 = *((r7 + 0x1c));
    0x0000c6c6 adds r6, 1                                        |     r6++;
    0x0000c6c8 adds r5, 8                                        |     r5 += 8;
    0x0000c6ca ldr.w r3, [r3, 0xac]                              |     r3 = *((r3 + 0xac));
    0x0000c6ce ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x0000c6d0 cmp r6, r3                                        |     
                                                                 |     if (r6 >= r3) {
    0x0000c6d2 bge 0xc6f8                                        |         goto label_59;
                                                                 |     }
                                                                 | label_57:
    0x0000c6d4 blx 0x6a3c                                        |     fcn_00006a3c ();
    0x0000c6d8 ldrd r1, r2, [r5, -0x8]                           |     __asm ("ldrd r1, r2, [r5, -0x8]");
    0x0000c6dc mov r0, fp                                        |     r0 = fp;
    0x0000c6de blx 0x7004                                        |     r0 = loc_imp_apr_file_open ();
    0x0000c6e2 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0000c6e4 ble.w 0xc35c                                      |         goto label_11;
                                                                 |     }
    0x0000c6e8 ldr.w r2, [sb, 8]                                 |     r2 = *((sb + 8));
    0x0000c6ec cmp r2, 0                                         |     
                                                                 |     if (r2 >= 0) {
    0x0000c6ee bge 0xc690                                        |         goto label_12;
                                                                 |     }
                                                                 | label_58:
    0x0000c6f0 ldr r3, [r4, 0x14]                                |     r3 = *((r4 + 0x14));
    0x0000c6f2 cmp r3, 6                                         |     
                                                                 |     if (r3 > 6) {
    0x0000c6f4 bgt 0xc69e                                        |         goto label_13;
                                                                 |     }
    0x0000c6f6 b 0xc6c4                                          |     goto label_14;
                                                                 | label_59:
    0x0000c6f8 ldr.w fp, [sp, 0x30]                              |     fp = var_30h;
                                                                 | label_56:
    0x0000c6fc ldr r0, [sp, 0x3c]                                |     r0 = ptr;
    0x0000c6fe blx 0x758c                                        |     r0 = SSL_set_session_id_context ();
    0x0000c702 mov r5, r0                                        |     r5 = r0;
    0x0000c704 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000c706 beq 0xc7ce                                        |         
    0x0000c708 ldr r3, [r7, 0x1c]                                |         r3 = *((r7 + 0x1c));
    0x0000c70a ldr r0, [r3, 4]                                   |         r0 = *((r3 + 4));
    0x0000c70c blx 0x770c                                        |         r0 = BIO_read ();
    0x0000c710 cmp r0, 1                                         |         
                                                                 |         if (r0 == 1) {
    0x0000c712 beq 0xc80e                                        |             goto label_60;
                                                                 |         }
    0x0000c714 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0000c716 movs r6, 0                                        |         r6 = 0;
    0x0000c718 ldr.w r5, [pc, 0x564]                             |         
    0x0000c71c movw r1, 0x7c2                                    |         r1 = 0x7c2;
    0x0000c720 ldr r2, [r3, 8]                                   |         r2 = *((r3 + 8));
    0x0000c722 str r4, [sp, 4]                                   |         var_4h = r4;
    0x0000c724 add r5, pc                                        |         r5 = 0x193a8;
    0x0000c726 ldr r3, [r7, 8]                                   |         r3 = *((r7 + 8));
    0x0000c728 mov r0, r5                                        |         r0 = r5;
    0x0000c72a str r6, [sp]                                      |         *(sp) = r6;
    0x0000c72c str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x0000c72e ldr.w r3, [pc, 0x554]                             |         
    0x0000c732 add r3, pc                                        |         r3 = 0x193bc;
    0x0000c734 str r3, [sp, 8]                                   |         var_8h = r3;
    0x0000c736 mov r3, r6                                        |         r3 = r6;
    0x0000c738 blx 0x7d18                                        |         strcmp (r0, r1);
    0x0000c73a invalid                                           |         
    0x0000c73e mov r2, r6                                        |         r2 = r6;
    0x0000c740 mov r0, r5                                        |         r0 = r5;
    0x0000c742 movw r1, 0x7c5                                    |         r1 = 0x7c5;
    0x0000c746 bl 0x14e5c                                        |         fcn_00014e5c (r0, r1, r2, r3);
    0x0000c74a mov r0, r4                                        |         r0 = r4;
    0x0000c74c bl 0x14de0                                        |         r0 = fcn_00014de0 (r0);
    0x0000c750 mov r8, r0                                        |         r8 = r0;
    0x0000c752 b 0xc3aa                                          |         goto label_15;
                                                                 | label_49:
    0x0000c754 ldr r7, [sp, 0x5c]                                |         r7 = var_5ch;
    0x0000c756 mov r4, sb                                        |         r4 = sb;
    0x0000c758 b 0xc616                                          |         goto label_16;
                                                                 | label_42:
    0x0000c75a mov r3, sb                                        |         r3 = sb;
    0x0000c75c mov sb, r4                                        |         sb = r4;
    0x0000c75e mov r4, r3                                        |         r4 = r3;
    0x0000c760 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0000c762 ldr.w r1, [pc, 0x524]                             |         
    0x0000c766 movw r8, 0x4e2e                                   |         r8 = 0x4e2e;
    0x0000c76a ldr.w r0, [pc, 0x520]                             |         
    0x0000c76e ldr r2, [r3, 8]                                   |         r2 = *((r3 + 8));
    0x0000c770 ldr r3, [sp, 0x28]                                |         r3 = s2;
    0x0000c772 add r1, pc                                        |         r1 = 0x19400;
    0x0000c774 strd r4, r1, [sp, 4]                              |         __asm ("strd r4, r1, [var_8h]");
    0x0000c778 add r0, pc                                        |         r0 = 0x1940a;
    0x0000c77a movw r1, 0x5b9                                    |         r1 = 0x5b9;
    0x0000c77e str.w sl, [sp, 0x14]                              |         __asm ("str.w sl, [var_14h]");
    0x0000c782 str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x0000c784 movs r3, 0                                        |         r3 = 0;
    0x0000c786 str.w sb, [sp, 0x10]                              |         __asm ("str.w sb, [var_10h]");
    0x0000c78a str r3, [sp]                                      |         *(sp) = r3;
    0x0000c78c blx 0x7d18                                        |         strcmp (r0, r1);
    0x0000c790 b 0xc3d6                                          |         goto label_5;
                                                                 | label_43:
    0x0000c792 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0000c794 movw r8, 0x4e2e                                   |         r8 = 0x4e2e;
    0x0000c798 ldr.w r1, [pc, 0x4f4]                             |         
    0x0000c79c ldr.w r0, [pc, 0x4f4]                             |         
    0x0000c7a0 ldr r2, [r3, 8]                                   |         r2 = *((r3 + 8));
    0x0000c7a2 ldr r3, [sp, 0x28]                                |         r3 = s2;
    0x0000c7a4 add r1, pc                                        |         r1 = 0x19438;
    0x0000c7a6 str r1, [sp, 8]                                   |         var_8h = r1;
    0x0000c7a8 add r0, pc                                        |         r0 = 0x19440;
    0x0000c7aa movw r1, 0x5d3                                    |         r1 = 0x5d3;
    0x0000c7ae str.w sb, [sp, 4]                                 |         __asm ("str.w sb, [var_4h]");
    0x0000c7b2 str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x0000c7b4 movs r3, 3                                        |         r3 = 3;
    0x0000c7b6 str r7, [sp]                                      |         *(sp) = r7;
    0x0000c7b8 blx 0x7d18                                        |         strcmp (r0, r1);
    0x0000c7bc b 0xc3d6                                          |         goto label_5;
                                                                 | label_53:
    0x0000c7be ldr r0, [r6, 4]                                   |         r0 = *((r6 + 4));
    0x0000c7c0 mov r3, r5                                        |         r3 = r5;
    0x0000c7c2 movs r2, 1                                        |         r2 = 1;
    0x0000c7c4 movs r1, 0x76                                     |         r1 = 0x76;
    0x0000c7c6 blx 0x6e00                                        |         UI_destroy_method ();
    0x0000c7ca str r5, [sp, 0x40]                                |         var_40h = r5;
    0x0000c7cc b 0xc648                                          |         goto label_17;
                                                                 |     }
    0x0000c7ce ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000c7d0 movw r1, 0x7b9                                    |     r1 = 0x7b9;
    0x0000c7d4 ldr.w r6, [pc, 0x4c0]                             |     
    0x0000c7d8 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000c7da ldr.w r3, [pc, 0x4c0]                             |     
    0x0000c7de add r6, pc                                        |     r6 = 0x1947a;
    0x0000c7e0 strd r0, r4, [sp]                                 |     __asm ("strd r0, r4, [sp]");
    0x0000c7e4 add r3, pc                                        |     r3 = 0x19486;
    0x0000c7e6 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000c7e8 mov r3, r0                                        |     r3 = r0;
    0x0000c7ea mov r0, r6                                        |     r0 = r6;
    0x0000c7ec blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000c7f0 ldr r0, [sp, 0x3c]                                |     r0 = ptr;
    0x0000c7f2 blx 0x6f14                                        |     free (r0);
    0x0000c7f6 mov r3, r4                                        |     r3 = r4;
    0x0000c7f8 mov r2, r5                                        |     r2 = r5;
    0x0000c7fa mov r0, r6                                        |     r0 = r6;
    0x0000c7fc movw r1, 0x7bc                                    |     r1 = 0x7bc;
    0x0000c800 bl 0x14e5c                                        |     fcn_00014e5c (r0, r1, r2, r3);
    0x0000c804 mov r0, r4                                        |     r0 = r4;
    0x0000c806 bl 0x14de0                                        |     r0 = fcn_00014de0 (r0);
    0x0000c80a mov r8, r0                                        |     r8 = r0;
    0x0000c80c b 0xc3aa                                          |     goto label_15;
                                                                 | label_60:
    0x0000c80e ldr r3, [r7, 0x1c]                                |     r3 = *((r7 + 0x1c));
    0x0000c810 mov r2, r0                                        |     r2 = r0;
    0x0000c812 movs r1, 0x75                                     |     r1 = 0x75;
    0x0000c814 ldr r0, [r3, 4]                                   |     r0 = *((r3 + 4));
    0x0000c816 movs r3, 0                                        |     r3 = 0;
    0x0000c818 blx 0x6e00                                        |     r0 = UI_destroy_method ();
    0x0000c81c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c81e beq 0xc886                                        |         goto label_61;
                                                                 |     }
    0x0000c820 ldr.w r6, [pc, 0x47c]                             |     
    0x0000c824 movs r5, 0                                        |     r5 = 0;
    0x0000c826 ldr.w r8, [pc, 0x47c]                             |     
    0x0000c82a ldr.w sl, [sp, 0x2c]                              |     sl = var_2ch;
    0x0000c82e add r6, pc                                        |     r6 = 0x194d2;
    0x0000c830 ldr.w sb, [sp, 0x20]                              |     sb = var_20h;
    0x0000c834 str r6, [sp, 0x28]                                |     s2 = r6;
    0x0000c836 add r8, pc                                        |     r8 = 0x194e0;
    0x0000c838 ldr r6, [sp, 0x50]                                |     r6 = var_50h;
                                                                 |     do {
    0x0000c83a ldr r3, [r7, 0x1c]                                |         r3 = *((r7 + 0x1c));
    0x0000c83c ldr r0, [r3, 4]                                   |         r0 = *((r3 + 4));
    0x0000c83e blx 0x6bf0                                        |         r0 = loc_imp_ap_ssl_add_fallback_cert_files ();
                                                                 |         if (r0 != 0) {
    0x0000c842 cbz r0, 0xc854                                    |             
    0x0000c844 str r0, [sp]                                      |             *(sp) = r0;
    0x0000c846 mov r2, fp                                        |             r2 = fp;
    0x0000c848 ldr r3, [r7, 0x1c]                                |             r3 = *((r7 + 0x1c));
    0x0000c84a mov r1, sl                                        |             r1 = sl;
    0x0000c84c mov r0, r4                                        |             r0 = r4;
    0x0000c84e bl 0x1a18c                                        |             r0 = fcn_0001a18c (r0, r1, r2, r3, r4, r5, r6);
                                                                 |             if (r0 != 0) {
    0x0000c852 cbnz r0, 0xc872                                   |                 goto label_62;
                                                                 |             }
                                                                 |         }
    0x0000c854 ldr r3, [sp, 0x28]                                |         r3 = s2;
    0x0000c856 movw r1, 0x7d9                                    |         r1 = 0x7d9;
    0x0000c85a str r6, [sp, 0x10]                                |         var_10h = r6;
    0x0000c85c mov r0, r8                                        |         r0 = r8;
    0x0000c85e str r5, [sp]                                      |         *(sp) = r5;
    0x0000c860 strd r4, r3, [sp, 4]                              |         __asm ("strd r4, r3, [var_8h]");
    0x0000c864 ldr r3, [r7, 8]                                   |         r3 = *((r7 + 8));
    0x0000c866 ldr.w r2, [sb, 8]                                 |         r2 = *((sb + 8));
    0x0000c86a str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x0000c86c movs r3, 3                                        |         r3 = 3;
    0x0000c86e blx 0x7d18                                        |         strcmp (r0, r1);
                                                                 | label_62:
    0x0000c872 ldr r3, [r7, 0x1c]                                |         r3 = *((r7 + 0x1c));
    0x0000c874 movs r2, 2                                        |         r2 = 2;
    0x0000c876 movs r1, 0x75                                     |         r1 = 0x75;
    0x0000c878 adds r6, 1                                        |         r6++;
    0x0000c87a ldr r0, [r3, 4]                                   |         r0 = *((r3 + 4));
    0x0000c87c movs r3, 0                                        |         r3 = 0;
    0x0000c87e blx 0x6e00                                        |         r0 = UI_destroy_method ();
    0x0000c882 cmp r0, 0                                         |         
    0x0000c884 bne 0xc83a                                        |         
                                                                 |     } while (r0 != 0);
                                                                 | label_61:
    0x0000c886 ldr.w sb, [r7, 0x1c]                              |     sb = *((r7 + 0x1c));
    0x0000c88a ldr.w r8, [sb, 0x10]                              |     r8 = *((sb + 0x10));
    0x0000c88e ldr.w r1, [r8]                                    |     r1 = *(r8);
    0x0000c892 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0000c894 beq 0xc976                                        |         
    0x0000c896 ldr r0, [sp, 0x2c]                                |         r0 = var_2ch;
    0x0000c898 blx 0x7acc                                        |         BIO_set_data ();
    0x0000c89c movw r3, 0xfff                                    |         r3 = 0xfff;
    0x0000c89e strb r7, [r7, 0xf]                                |         *((r7 + 0xf)) = r7;
    0x0000c8a0 mov r1, r0                                        |         r1 = r0;
    0x0000c8a2 mov sl, r0                                        |         sl = r0;
    0x0000c8a4 movs r2, 0x21                                     |         r2 = 0x21;
    0x0000c8a6 add r0, sp, 0x6c                                  |         r0 += var_6ch;
    0x0000c8a8 str.w fp, [sp]                                    |         __asm ("str.w fp, [sp]");
    0x0000c8aa add sp, 0                                         |         
    0x0000c8ac blx 0x7010                                        |         r0 = loc_imp_ap_getword ();
    0x0000c8b0 mov r6, r0                                        |         r6 = r0;
    0x0000c8b2 str r0, [sp, 0x68]                                |         var_68h = r0;
    0x0000c8b4 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000c8b6 bne.w 0xcb32                                      |             goto label_63;
                                                                 |         }
    0x0000c8ba add r5, sp, 0x74                                  |         r5 += var_74h;
    0x0000c8bc ldr r0, [sp, 0x6c]                                |         r0 = var_6ch;
    0x0000c8be add r3, sp, 0x70                                  |         r3 += var_70h;
    0x0000c8c0 movs r2, 0x30                                     |         r2 = 0x30;
    0x0000c8c2 mov r1, r5                                        |         r1 = r5;
    0x0000c8c4 blx 0x7a14                                        |         fcn_00007a14 ();
    0x0000c8c8 str r0, [sp, 0x68]                                |         var_68h = r0;
    0x0000c8ca cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000c8cc bne.w 0xcb76                                      |             goto label_64;
                                                                 |         }
    0x0000c8d0 ldm r5!, {r0, r1, r2, r3}                         |         r0 = *(r5!);
                                                                 |         r1 = *((r5! + 4));
                                                                 |         r2 = *((r5! + 8));
                                                                 |         r3 = *((r5! + 12));
    0x0000c8d2 add.w ip, sp, 0x94                                |         
    0x0000c8d6 add r6, sp, 0x84                                  |         r6 += var_84h;
    0x0000c8d8 ldr.w lr, [pc, 0x3cc]                             |         lr = *(0xcca8);
    0x0000c8dc str.w r0, [r8, 4]                                 |         __asm ("str.w r0, [r8, 4]");
    0x0000c8e0 str.w r1, [r8, 8]                                 |         __asm ("str.w r1, [r8, 8]");
    0x0000c8e4 str.w r2, [r8, 0xc]                               |         __asm ("str.w r2, [r8, 0xc]");
    0x0000c8e8 str.w r3, [r8, 0x10]                              |         __asm ("str.w r3, [r8, 0x10]");
    0x0000c8ec ldm.w ip!, {r0, r1, r2, r3}                       |         r0 = *(ip!);
                                                                 |         r1 = *((ip! + 4));
                                                                 |         r2 = *((ip! + 8));
                                                                 |         r3 = *((ip! + 12));
    0x0000c8f0 str.w r0, [r8, 0x24]                              |         __asm ("str.w r0, [r8, 0x24]");
    0x0000c8f4 str.w r1, [r8, 0x28]                              |         __asm ("str.w r1, [r8, 0x28]");
    0x0000c8f8 str.w r2, [r8, 0x2c]                              |         __asm ("str.w r2, [r8, 0x2c]");
    0x0000c8fc str.w r3, [r8, 0x30]                              |         __asm ("str.w r3, [r8, 0x30]");
    0x0000c8fe adds r0, 0x30                                     |         r0 += 0x30;
    0x0000c900 ldm r6!, {r0, r1, r2, r3}                         |         r0 = *(r6!);
                                                                 |         r1 = *((r6! + 4));
                                                                 |         r2 = *((r6! + 8));
                                                                 |         r3 = *((r6! + 12));
    0x0000c902 str.w r3, [r8, 0x20]                              |         __asm ("str.w r3, [r8, 0x20]");
    0x0000c906 ldr r3, [sp, 0x38]                                |         r3 = var_38h;
    0x0000c908 str.w r1, [r8, 0x18]                              |         __asm ("str.w r1, [r8, 0x18]");
    0x0000c90c movs r1, 0x48                                     |         r1 = 0x48;
    0x0000c90e str.w r2, [r8, 0x1c]                              |         __asm ("str.w r2, [r8, 0x1c]");
    0x0000c912 str.w r0, [r8, 0x14]                              |         __asm ("str.w r0, [r8, 0x14]");
    0x0000c916 ldr.w r2, [r3, lr]                                |         r2 = *((r3 + lr));
    0x0000c91a ldr.w r0, [sb, 4]                                 |         r0 = *((sb + 4));
    0x0000c91e blx 0x7034                                        |         SSL_CTX_use_PrivateKey ();
    0x0000c922 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0000c924 mov r5, r0                                        |         r5 = r0;
    0x0000c926 ldr r2, [r3, 8]                                   |         r2 = *((r3 + 8));
    0x0000c928 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000c92a beq.w 0xcbb8                                      |             goto label_65;
                                                                 |         }
    0x0000c92e cmp r2, 0                                         |         
                                                                 |         if (r2 < 0) {
    0x0000c930 blt.w 0xcbae                                      |             goto label_66;
                                                                 |         }
    0x0000c934 ldr r3, [r4, 0x10]                                |         r3 = *((r4 + 0x10));
    0x0000c936 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0000c938 beq.w 0xcbae                                      |             goto label_66;
                                                                 |         }
    0x0000c93c ldrsb r3, [r3, r2]                                |         r3 = *((r3 + r2));
    0x0000c93e cmp r3, 0                                         |         
                                                                 |         if (r3 < 0) {
    0x0000c940 blt.w 0xcbae                                      |             goto label_66;
                                                                 |         }
    0x0000c944 cmp r3, 5                                         |         
                                                                 |         if (r3 <= 5) {
    0x0000c946 ble.w 0xcb66                                      |             goto label_26;
                                                                 |         }
                                                                 | label_27:
    0x0000c94a str.w sl, [sp, 0x10]                              |         __asm ("str.w sl, [var_10h]");
    0x0000c94e mov.w r1, 0x670                                   |         r1 = 0x670;
    0x0000c952 ldr r3, [r4, 0x18]                                |         r3 = *((r4 + 0x18));
    0x0000c954 ldr r0, [pc, 0x354]                               |         
    0x0000c956 ldr.w r3, [r3, r2, lsl 2]                         |         offset_3 = r2 << 2;
                                                                 |         r3 = *((r3 + offset_3));
    0x0000c95a add r0, pc                                        |         r0 = 0x1960a;
    0x0000c95c ldr r3, [r3, 8]                                   |         r3 = *((r3 + 8));
    0x0000c95e str r4, [sp, 4]                                   |         var_4h = r4;
    0x0000c960 str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x0000c962 ldr r3, [pc, 0x34c]                               |         
    0x0000c964 add r3, pc                                        |         r3 = 0x1961a;
    0x0000c966 str r3, [sp, 8]                                   |         var_8h = r3;
    0x0000c968 movs r3, 0                                        |         r3 = 0;
    0x0000c96a str r3, [sp]                                      |         *(sp) = r3;
    0x0000c96c movs r3, 6                                        |         r3 = 6;
    0x0000c96e blx 0x7d18                                        |         strcmp (r0, r1);
    0x0000c972 ldr.w sb, [r7, 0x1c]                              |         sb = *((r7 + 0x1c));
                                                                 |     }
                                                                 | label_23:
    0x0000c976 ldr r1, [r7, 0x10]                                |     r1 = *((r7 + 0x10));
    0x0000c978 ldr.w r0, [sb, 4]                                 |     r0 = *((sb + 4));
    0x0000c97a movs r4, r0                                       |     r4 = r0;
    0x0000c97c adds r3, r1, 1                                    |     r3 = r1 + 1;
    0x0000c97e it eq                                             |     
                                                                 |     if (r3 != r1) {
    0x0000c980 moveq r1, 0x12c                                   |         r1 = 0x12c;
                                                                 |     }
    0x0000c984 blx 0x7264                                        |     fcn_00007264 ();
    0x0000c988 b 0xc3b0                                          |     goto label_18;
                                                                 | label_39:
    0x0000c98a mov r8, r0                                        |     r8 = r0;
    0x0000c98c b 0xc3d6                                          |     goto label_5;
                                                                 | label_41:
    0x0000c98e ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000c990 movs r6, 0                                        |     r6 = 0;
    0x0000c992 ldr r5, [pc, 0x320]                               |     
    0x0000c994 movw r1, 0x597                                    |     r1 = 0x597;
    0x0000c998 movw r8, 0x4e2e                                   |     r8 = 0x4e2e;
    0x0000c99c ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000c99e ldr r3, [pc, 0x318]                               |     
    0x0000c9a0 add r5, pc                                        |     r5 = 0x1965a;
    0x0000c9a2 mov r0, r5                                        |     r0 = r5;
    0x0000c9a4 str.w sl, [sp, 0xc]                               |     __asm ("str.w sl, [var_ch]");
    0x0000c9a8 str r6, [sp]                                      |     *(sp) = r6;
    0x0000c9aa add r3, pc                                        |     r3 = 0x19668;
    0x0000c9ac strd sb, r3, [sp, 4]                              |     __asm ("strd sb, r3, [var_8h]");
    0x0000c9b0 mov r3, r6                                        |     r3 = r6;
    0x0000c9b2 blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000c9b6 mov r3, sb                                        |     r3 = sb;
    0x0000c9b8 mov r2, r6                                        |     r2 = r6;
    0x0000c9ba movw r1, 0x59a                                    |     r1 = 0x59a;
    0x0000c9be mov r0, r5                                        |     r0 = r5;
    0x0000c9c0 bl 0x14e5c                                        |     fcn_00014e5c (r0, r1, r2, r3);
    0x0000c9c2 invalid                                           |     
                                                                 | label_54:
    0x0000c9c6 mov r0, r5                                        |     r0 = r5;
    0x0000c9c8 bl 0x1b1d8                                        |     r0 = fcn_0001b1d8 ();
    0x0000c9cc mov r8, r0                                        |     r8 = r0;
    0x0000c9ce cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c9d0 beq.w 0xc62c                                      |         goto label_19;
                                                                 |     }
    0x0000c9d4 mov r2, sb                                        |     r2 = sb;
    0x0000c9d6 mov r3, r8                                        |     r3 = r8;
    0x0000c9d8 ldr r0, [r6, 4]                                   |     r0 = *((r6 + 4));
    0x0000c9da movs r1, 3                                        |     r1 = 3;
    0x0000c9dc blx 0x6e00                                        |     r0 = UI_destroy_method ();
    0x0000c9de ands.w fp, r0, r8, lsl 4                          |     
    0x0000c9e0 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000c9e2 ldr.w sb, [r3, 8]                                 |     sb = *((r3 + 8));
    0x0000c9e6 cmp.w sb, 0                                       |     
                                                                 |     if (sb < 0) {
    0x0000c9ea blt.w 0xcb6c                                      |         goto label_67;
                                                                 |     }
    0x0000c9ee ldr r3, [r4, 0x10]                                |     r3 = *((r4 + 0x10));
    0x0000c9f0 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000c9f2 beq.w 0xcb6c                                      |         goto label_67;
                                                                 |     }
    0x0000c9f6 ldrsb.w r3, [r3, sb]                              |     r3 = *((r3 + sb));
    0x0000c9fa cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000c9fc blt.w 0xcb6c                                      |         goto label_67;
                                                                 |     }
    0x0000ca00 cmp r3, 6                                         |     
                                                                 |     if (r3 > 6) {
    0x0000ca02 ble 0xca2e                                        |         
                                                                 | label_24:
    0x0000ca04 mov r0, r8                                        |         r0 = r8;
    0x0000ca06 blx 0x7d00                                        |         SSL_set_options ();
    0x0000ca0a ldr r3, [sp, 0x54]                                |         r3 = var_54h;
    0x0000ca0c mov r2, sb                                        |         r2 = sb;
    0x0000ca0e str r0, [sp, 0xc]                                 |         var_ch = r0;
    0x0000ca10 mov.w r1, 0x600                                   |         r1 = 0x600;
    0x0000ca14 ldr r0, [pc, 0x2a4]                               |         
    0x0000ca16 str r3, [sp, 0x10]                                |         var_10h = r3;
    0x0000ca18 ldr r3, [pc, 0x2a4]                               |         
    0x0000ca1a add r0, pc                                        |         r0 = 0x196da;
    0x0000ca1c str r5, [sp, 0x14]                                |         var_14h = r5;
    0x0000ca1e str r4, [sp, 4]                                   |         var_4h = r4;
    0x0000ca20 add r3, pc                                        |         r3 = 0x196e4;
    0x0000ca22 str r3, [sp, 8]                                   |         var_8h = r3;
    0x0000ca24 movs r3, 0                                        |         r3 = 0;
    0x0000ca26 str r3, [sp]                                      |         *(sp) = r3;
    0x0000ca28 movs r3, 7                                        |         r3 = 7;
    0x0000ca2a blx 0x7d18                                        |         strcmp (r0, r1);
                                                                 |     }
                                                                 | label_25:
    0x0000ca2e mov r0, r8                                        |     r0 = r8;
    0x0000ca30 blx 0x7804                                        |     fcn_00007804 ();
    0x0000ca34 b 0xc638                                          |     goto label_20;
                                                                 | label_55:
    0x0000ca36 mov r0, r5                                        |     r0 = r5;
    0x0000ca38 bl 0x1b204                                        |     r0 = fcn_0001b204 ();
    0x0000ca3c mov r8, r0                                        |     r8 = r0;
    0x0000ca3e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000ca40 beq.w 0xc646                                      |         goto label_21;
                                                                 |     }
    0x0000ca44 blx 0x724c                                        |     r0 = fcn_0000724c ();
    0x0000ca48 mov sb, r0                                        |     sb = r0;
    0x0000ca4a cbnz r0, 0xca50                                   |     
                                                                 |     while (r0 == 0) {
                                                                 | label_22:
    0x0000ca4c mov r5, r8                                        |         r5 = r8;
    0x0000ca4e b 0xc648                                          |         goto label_17;
    0x0000ca50 blx 0x7170                                        |         r0 = fcn_00007170 ();
    0x0000ca54 mov r3, r0                                        |         r3 = r0;
    0x0000ca56 str r0, [sp, 0x40]                                |         var_40h = r0;
    0x0000ca58 cmp r0, 0                                         |         
    0x0000ca5a beq 0xca4c                                        |         
                                                                 |     }
    0x0000ca5c ldr r0, [r6, 4]                                   |     r0 = *((r6 + 4));
    0x0000ca5e mov r2, sl                                        |     r2 = sl;
    0x0000ca60 movs r1, 4                                        |     r1 = 4;
    0x0000ca62 blx 0x6e00                                        |     UI_destroy_method ();
    0x0000ca66 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000ca68 ldr r6, [r3, 8]                                   |     r6 = *((r3 + 8));
    0x0000ca6a cmp r6, 0                                         |     
                                                                 |     if (r6 < 0) {
    0x0000ca6c blt.w 0xcbf2                                      |         goto label_68;
                                                                 |     }
    0x0000ca70 ldr r3, [r4, 0x10]                                |     r3 = *((r4 + 0x10));
    0x0000ca72 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000ca74 beq.w 0xcbf2                                      |         goto label_68;
                                                                 |     }
    0x0000ca78 ldrsb r3, [r3, r6]                                |     r3 = *((r3 + r6));
    0x0000ca7a cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000ca7c blt.w 0xcbf2                                      |         goto label_68;
                                                                 |     }
    0x0000ca80 cmp r3, 6                                         |     
                                                                 |     if (r3 <= 6) {
    0x0000ca82 ble 0xca4c                                        |         goto label_22;
                                                                 |     }
                                                                 | label_28:
    0x0000ca84 mov r0, sb                                        |     r0 = sb;
    0x0000ca86 blx 0x7b90                                        |     fcn_00007b90 ();
    0x0000ca8a ldr r3, [sp, 0x54]                                |     r3 = var_54h;
    0x0000ca8c mov r2, r6                                        |     r2 = r6;
    0x0000ca8e str r5, [sp, 0x14]                                |     var_14h = r5;
    0x0000ca90 movw r1, 0x616                                    |     r1 = 0x616;
    0x0000ca94 str r4, [sp, 4]                                   |     var_4h = r4;
    0x0000ca96 mov r5, r8                                        |     r5 = r8;
    0x0000ca98 strd r0, r3, [sp, 0xc]                            |     __asm ("strd r0, r3, [var_ch]");
    0x0000ca9c ldr r3, [pc, 0x224]                               |     
    0x0000ca9e ldr r0, [pc, 0x228]                               |     
    0x0000caa0 add r3, pc                                        |     r3 = 0x19768;
    0x0000caa2 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000caa4 movs r3, 0                                        |     r3 = 0;
    0x0000caa6 str r3, [sp]                                      |     *(sp) = r3;
    0x0000caa8 add r0, pc                                        |     r0 = 0x19776;
    0x0000caaa movs r3, 7                                        |     r3 = 7;
    0x0000caac blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000cab0 b 0xc648                                          |     goto label_17;
                                                                 | label_37:
    0x0000cab2 mov r3, sb                                        |     r3 = sb;
    0x0000cab4 mov sb, r4                                        |     sb = r4;
    0x0000cab6 mov r4, r3                                        |     r4 = r3;
    0x0000cab8 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000caba str.w sb, [sp, 0x10]                              |     __asm ("str.w sb, [var_10h]");
    0x0000cabe movw r8, 0x4e2e                                   |     r8 = 0x4e2e;
    0x0000cac2 ldr r5, [pc, 0x208]                               |     
    0x0000cac4 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000cac6 ldr r3, [pc, 0x208]                               |     
    0x0000cac8 ldr r1, [sp, 0x28]                                |     r1 = s2;
    0x0000caca add r5, pc                                        |     r5 = 0x1979c;
    0x0000cacc mov r0, r5                                        |     r0 = r5;
    0x0000cace strd sl, r4, [sp]                                 |     __asm ("strd sl, r4, [sp]");
    0x0000cad2 add r3, pc                                        |     r3 = 0x197a8;
    0x0000cad4 str r1, [sp, 0xc]                                 |     var_ch = r1;
    0x0000cad6 movw r1, 0x564                                    |     r1 = 0x564;
    0x0000cad8 str r4, [r4, r5]                                  |     *((r4 + r5)) = r4;
    0x0000cada str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000cadc mov r3, sl                                        |     r3 = sl;
    0x0000cade blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000cae2 mov r3, r4                                        |     r3 = r4;
    0x0000cae4 mov r2, sl                                        |     r2 = sl;
    0x0000cae6 movw r1, 0x567                                    |     r1 = 0x567;
    0x0000caea mov r0, r5                                        |     r0 = r5;
    0x0000caec bl 0x14e5c                                        |     fcn_00014e5c (r0, r1, r2, r3);
    0x0000caf0 b 0xc3d6                                          |     goto label_5;
                                                                 | label_40:
    0x0000caf2 mov r3, sb                                        |     r3 = sb;
    0x0000caf4 mov sb, r4                                        |     sb = r4;
    0x0000caf6 mov r4, r3                                        |     r4 = r3;
    0x0000caf8 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000cafa str.w sb, [sp, 0x10]                              |     __asm ("str.w sb, [var_10h]");
    0x0000cafe movw r8, 0x4e2e                                   |     r8 = 0x4e2e;
    0x0000cb02 ldr r5, [pc, 0x1d0]                               |     
    0x0000cb04 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000cb06 ldr r3, [pc, 0x1d0]                               |     
    0x0000cb08 ldr r1, [sp, 0x28]                                |     r1 = s2;
    0x0000cb0a add r5, pc                                        |     r5 = 0x197e4;
    0x0000cb0c mov r0, r5                                        |     r0 = r5;
    0x0000cb0e str r7, [sp]                                      |     *(sp) = r7;
    0x0000cb10 add r3, pc                                        |     r3 = 0x197ee;
    0x0000cb12 str r1, [sp, 0xc]                                 |     var_ch = r1;
    0x0000cb14 movw r1, 0x58b                                    |     r1 = 0x58b;
    0x0000cb16 str r3, [r1, r6]                                  |     *((r1 + r6)) = r3;
    0x0000cb18 strd r4, r3, [sp, 4]                              |     __asm ("strd r4, r3, [var_8h]");
    0x0000cb1a orrs r1, r0                                       |     r1 |= r0;
    0x0000cb1c mov r3, r7                                        |     r3 = r7;
    0x0000cb1e blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000cb22 mov r3, r4                                        |     r3 = r4;
    0x0000cb24 mov r2, r7                                        |     r2 = r7;
    0x0000cb26 movw r1, 0x58e                                    |     r1 = 0x58e;
    0x0000cb2a mov r0, r5                                        |     r0 = r5;
    0x0000cb2c bl 0x14e5c                                        |     fcn_00014e5c (r0, r1, r2, r3);
    0x0000cb30 b 0xc3d6                                          |     goto label_5;
                                                                 | label_63:
    0x0000cb32 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000cb34 add r1, sp, 0x68                                  |     r1 += var_68h;
    0x0000cb36 strd sl, r0, [sp, 0xc]                            |     __asm ("strd sl, r0, [var_ch]");
    0x0000cb3a ldr r0, [pc, 0x1a0]                               |     
    0x0000cb3c ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000cb3e ldr r3, [pc, 0x1a0]                               |     
    0x0000cb40 add r0, pc                                        |     r0 = 0x19822;
    0x0000cb42 str r1, [sp, 0x14]                                |     var_14h = r1;
    0x0000cb44 str r4, [sp, 4]                                   |     var_4h = r4;
    0x0000cb46 movw r1, 0x649                                    |     r1 = 0x649;
    0x0000cb4a add r3, pc                                        |     r3 = 0x19830;
    0x0000cb4c str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000cb4e movs r3, 0                                        |     r3 = 0;
    0x0000cb50 str r3, [sp]                                      |     *(sp) = r3;
    0x0000cb52 blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000cb56 mov r0, r4                                        |     r0 = r4;
    0x0000cb58 bl 0x14de0                                        |     r0 = fcn_00014de0 (r0);
    0x0000cb5c mov r8, r0                                        |     r8 = r0;
    0x0000cb5e cmp.w r8, 0                                       |     
                                                                 |     if (r8 != 0) {
    0x0000cb62 bne.w 0xc3d6                                      |         goto label_5;
                                                                 |     }
                                                                 | label_26:
    0x0000cb66 ldr.w sb, [r7, 0x1c]                              |     sb = *((r7 + 0x1c));
    0x0000cb6a b 0xc976                                          |     goto label_23;
                                                                 | label_67:
    0x0000cb6c ldr r3, [r4, 0x14]                                |     r3 = *((r4 + 0x14));
    0x0000cb6e cmp r3, 6                                         |     
                                                                 |     if (r3 > 6) {
    0x0000cb70 bgt.w 0xca04                                      |         goto label_24;
                                                                 |     }
    0x0000cb74 b 0xca2e                                          |     goto label_25;
                                                                 | label_64:
    0x0000cb76 ldr r1, [pc, 0x16c]                               |     
    0x0000cb78 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000cb7a strd sl, r0, [sp, 0x10]                           |     __asm ("strd sl, r0, [var_14h]");
    0x0000cb7e add r1, pc                                        |     r1 = 0x19868;
    0x0000cb80 ldr r0, [pc, 0x164]                               |     
    0x0000cb82 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000cb84 mov r3, r6                                        |     r3 = r6;
    0x0000cb86 str r1, [sp, 8]                                   |     var_8h = r1;
    0x0000cb88 add r1, sp, 0x68                                  |     r1 += var_68h;
    0x0000cb8a str r1, [sp, 0x18]                                |     var_18h = r1;
    0x0000cb8c movs r1, 0x30                                     |     r1 = 0x30;
    0x0000cb8e add r0, pc                                        |     r0 = 0x1987a;
    0x0000cb90 str r1, [sp, 0xc]                                 |     var_ch = r1;
    0x0000cb92 strd r6, r4, [sp]                                 |     __asm ("strd r6, r4, [sp]");
    0x0000cb96 movw r1, 0x652                                    |     r1 = 0x652;
    0x0000cb9a blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000cb9e mov r0, r4                                        |     r0 = r4;
    0x0000cba0 bl 0x14de0                                        |     r0 = fcn_00014de0 (r0);
    0x0000cba4 mov r8, r0                                        |     r8 = r0;
    0x0000cba6 cmp.w r8, 0                                       |     
    0x0000cba8 lsrs r0, r0, 0x1c                                 |     r0 >>= 0x1c;
                                                                 |     if (r0 == r0) {
    0x0000cbaa beq 0xcb66                                        |         goto label_26;
                                                                 |     }
    0x0000cbac b 0xc3d6                                          |     goto label_5;
                                                                 | label_66:
    0x0000cbae ldr r3, [r4, 0x14]                                |     r3 = *((r4 + 0x14));
    0x0000cbb0 cmp r3, 5                                         |     
                                                                 |     if (r3 > 5) {
    0x0000cbb2 bgt.w 0xc94a                                      |         goto label_27;
                                                                 |     }
    0x0000cbb4 add r6, sp, 0x328                                 |     r6 = sp + 0x328;
    0x0000cbb6 b 0xcb66                                          |     goto label_26;
                                                                 | label_65:
    0x0000cbb8 ldr r6, [pc, 0x130]                               |     
    0x0000cbba movw r1, 0x669                                    |     r1 = 0x669;
    0x0000cbbe ldr r3, [pc, 0x130]                               |     
    0x0000cbc0 strd r0, r4, [sp]                                 |     __asm ("strd r0, r4, [sp]");
    0x0000cbc2 lsls r0, r0, 0x10                                 |     r0 <<= 0x10;
    0x0000cbc4 add r6, pc                                        |     r6 = 0x198b4;
    0x0000cbc6 add r3, pc                                        |     r3 = 0x198bc;
    0x0000cbc8 mov r0, r6                                        |     r0 = r6;
    0x0000cbca str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000cbcc mov r3, r5                                        |     r3 = r5;
    0x0000cbce blx 0x7d18                                        |     strcmp (r0, r1);
    0x0000cbd2 mov r3, r4                                        |     r3 = r4;
    0x0000cbd4 mov r2, r5                                        |     r2 = r5;
    0x0000cbd6 mov r0, r6                                        |     r0 = r6;
    0x0000cbd8 movw r1, 0x66c                                    |     r1 = 0x66c;
    0x0000cbdc bl 0x14e5c                                        |     fcn_00014e5c (r0, r1, r2, r3);
    0x0000cbe0 mov r0, r4                                        |     r0 = r4;
    0x0000cbe2 bl 0x14de0                                        |     r0 = fcn_00014de0 (r0);
    0x0000cbe6 mov r8, r0                                        |     r8 = r0;
    0x0000cbe8 cmp.w r8, 0                                       |     
                                                                 |     if (r8 == 0) {
    0x0000cbec beq 0xcb66                                        |         goto label_26;
                                                                 |     }
    0x0000cbee b.w 0xc3d6                                        |     goto label_5;
                                                                 | label_68:
    0x0000cbf2 ldr r3, [r4, 0x14]                                |     r3 = *((r4 + 0x14));
    0x0000cbf4 cmp r3, 6                                         |     
                                                                 |     if (r3 > 6) {
    0x0000cbf6 bgt.w 0xca84                                      |         goto label_28;
                                                                 |     }
    0x0000cbfa mov r5, r8                                        |     r5 = r8;
    0x0000cbfc b 0xc648                                          |     goto label_17;
                                                                 | label_51:
    0x0000cbfe blx 0x767c                                        |     X509_NAME_get_index_by_NID ();
                                                                 | label_34:
    0x0000cc02 ldr.w r8, [sp, 0x50]                              |     r8 = var_50h;
    0x0000cc06 b.w 0xc3d6                                        |     goto label_5;
                                                                 | }

[*] Function strcpy used 1 times mod_ssl.so