[*] Binary protection state of mod_ssl.so

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


[*] Function sprintf tear down of mod_ssl.so

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/apache2/modules/mod_ssl.so @ 0xf28c */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.0000f28c ()                                      | void fcn_0000f28c (int16_t arg_0h, int16_t arg_4h, int16_t arg_8h, int16_t arg_10h, int16_t arg1) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_44h_2;
                                                                 |     int16_t var_8h_2;
                                                                 |     int16_t var_ch_2;
                                                                 |     int16_t var_14h_2;
                                                                 |     int16_t var_18h_2;
                                                                 |     int16_t var_1ch;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_24h;
                                                                 |     int16_t var_28h;
                                                                 |     int16_t var_2ch;
                                                                 |     int16_t var_30h;
                                                                 |     int16_t var_34h;
                                                                 |     int16_t var_3ch;
                                                                 |     int16_t var_40h_2;
                                                                 |     int16_t var_44h;
                                                                 |     int16_t var_0h_2;
                                                                 |     int16_t var_4h_2;
                                                                 |     int16_t var_8h_3;
                                                                 |     int16_t var_ch_3;
                                                                 |     int16_t var_10h_2;
                                                                 |     int16_t var_18h;
                                                                 |     int16_t var_1ch_2;
                                                                 |     int16_t var_20h_2;
                                                                 |     int16_t var_24h_2;
                                                                 |     int16_t var_28h_2;
                                                                 |     int16_t var_2ch_2;
                                                                 |     int16_t var_30h_2;
                                                                 |     int16_t var_34h_2;
                                                                 |     int16_t var_3ch_2;
                                                                 |     int16_t var_40h_3;
                                                                 |     int16_t var_44h_3;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_4ch;
                                                                 |     r0 = arg1;
                                                                 | label_107:
    0x00007210 invalid                                           |     void (*0x7214)() ();
                                                                 | label_91:
    0x0000e214 ldr.w ip, [pc, 0x154]                             |     
    0x0000e218 push.w {r4, r5, r6, r7, r8, lr}                   |     
    0x0000e21c mov r6, r3                                        |     r6 = r3;
    0x0000e21e ldr r3, [pc, 0x150]                               |     r3 = *(0xe372);
    0x0000e220 mov r4, r0                                        |     r4 = r0;
    0x0000e222 add ip, pc                                        |     ip = 0x1c592;
    0x0000e224 mov r0, r2                                        |     r0 = r2;
    0x0000e226 ldr r7, [r4, 8]                                   |     r7 = *((r4 + 8));
    0x0000e228 mov r2, ip                                        |     r2 = ip;
    0x0000e22a ldr.w r3, [ip, r3]                                |     r3 = *(0x1c592);
    0x0000e22e movw ip, 0xd4c0                                   |     
    0x0000e232 mov r5, r1                                        |     r5 = r1;
    0x0000e234 movt ip, 1                                        |     ip = 0x1d4c0;
    0x0000e238 cmp r0, ip                                        |     
    0x0000e23a sub sp, 0x10                                      |     
    0x0000e23c ldr r2, [r3, 8]                                   |     r2 = *(0x1c59a);
    0x0000e23e ldr r3, [r7, 0x10]                                |     r3 = *((r7 + 0x10));
    0x0000e240 ldr r1, [r3, 0x2c]                                |     r1 = *(0x1c5be);
    0x0000e242 ldr.w r8, [r1, r2, lsl 2]                         |     r8 = *(0x1c5be);
                                                                 |     if (r0 != ip) {
    0x0000e246 beq 0xe27c                                        |         
    0x0000e248 movw r1, 0xd4c1                                   |         
    0x0000e24c movt r1, 1                                        |         r1 = 0x1d4c1;
    0x0000e250 cmp r0, r1                                        |         
                                                                 |         if (r0 == r1) {
    0x0000e252 bne 0xe276                                        |             
    0x0000e254 cmp r2, 0                                         |             
    0x0000e256 ldr r1, [r3, 0x60]                                |             r1 = *((r3 + 0x60));
                                                                 |             if (r2 < 0) {
    0x0000e258 blt 0xe318                                        |                 goto label_114;
                                                                 |             }
    0x0000e25a cmp r1, 0                                         |             
                                                                 |             if (r1 == 0) {
    0x0000e25c beq 0xe344                                        |                 goto label_115;
                                                                 |             }
    0x0000e25e ldr r0, [r1]                                      |             r0 = *(r1);
    0x0000e260 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0000e262 beq 0xe31a                                        |                 goto label_4;
                                                                 |             }
    0x0000e264 ldrsb r0, [r0, r2]                                |             r0 = *((r0 + r2));
    0x0000e266 cmp r0, 0                                         |             
                                                                 |             if (r0 < 0) {
    0x0000e268 blt 0xe31a                                        |                 goto label_4;
                                                                 |             }
                                                                 | label_3:
    0x0000e26a cmp r0, 5                                         |             
                                                                 |             if (r0 > 5) {
    0x0000e26c bgt 0xe320                                        |                 goto label_116;
                                                                 |             }
                                                                 | label_1:
    0x0000e26e movs r2, 1                                        |             r2 = 1;
    0x0000e270 str r2, [r3, 0x54]                                |             *((r3 + 0x54)) = r2;
                                                                 | label_2:
    0x0000e272 movw r0, 0x4e2e                                   |             r0 = 0x4e2e;
                                                                 |         }
    0x0000e276 add sp, 0x10                                      |         
    0x0000e278 pop.w {r4, r5, r6, r7, r8, pc}                    |         
                                                                 |     }
    0x0000e27c cmp r2, 0                                         |     
    0x0000e27e ldr r1, [r3, 0x60]                                |     r1 = *((r3 + 0x60));
                                                                 |     if (r2 < 0) {
    0x0000e280 blt 0xe2f2                                        |         goto label_117;
                                                                 |     }
    0x0000e282 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000e284 beq 0xe354                                        |         goto label_118;
                                                                 |     }
    0x0000e286 ldr r0, [r1]                                      |     r0 = *(r1);
    0x0000e288 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000e28a beq 0xe2f6                                        |         goto label_6;
                                                                 |     }
    0x0000e28c ldrsb r0, [r0, r2]                                |     r0 = *((r0 + r2));
    0x0000e28e cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x0000e290 blt 0xe2f6                                        |         goto label_6;
                                                                 |     }
                                                                 | label_5:
    0x0000e292 cmp r0, 5                                         |     
                                                                 |     if (r0 > 5) {
    0x0000e294 bgt 0xe2fc                                        |         goto label_119;
                                                                 |     }
                                                                 |     do {
                                                                 | label_0:
    0x0000e296 ldr r0, [pc, 0xdc]                                |         
    0x0000e298 movs r2, 6                                        |         r2 = 6;
    0x0000e29a ldr.w r3, [r8, 0x28]                              |         r3 = *((r8 + 0x28));
    0x0000e29e movw r1, 0x3f6                                    |         r1 = 0x3f6;
    0x0000e2a2 add r0, pc                                        |         r0 = 0x1c61c;
    0x0000e2a4 bl 0x14f78                                        |         fcn_00014f78 (r0, r1, r2, r3, r4);
    0x0000e2a8 ldr r0, [r4]                                      |         r0 = *(r4);
    0x0000e2aa blx 0x7d88                                        |         DH_bits ();
    0x0000e2ae add.w r3, r4, 0x2000                              |         r3 = r4 + 0x2000;
    0x0000e2b2 ldr r2, [r7, 0x10]                                |         r2 = *((r7 + 0x10));
    0x0000e2b4 ldr r1, [r3, 0x28]                                |         r1 = *((r3 + 0x28));
    0x0000e2b6 movs r3, 0                                        |         r3 = 0;
    0x0000e2b8 str.w r3, [r8]                                    |         __asm ("str.w r3, [r8]");
    0x0000e2bc str r3, [r4]                                      |         *(r4) = r3;
    0x0000e2be str r3, [r1]                                      |         *(r1) = r3;
    0x0000e2c0 movs r3, 1                                        |         r3 = 1;
    0x0000e2c2 str r3, [r2, 0x58]                                |         *((r2 + 0x58)) = r3;
    0x0000e2c4 cmp r6, 0                                         |         
                                                                 |         if (r6 != 0) {
    0x0000e2c6 bne 0xe33e                                        |             goto label_120;
                                                                 |         }
    0x0000e2c8 ldr r0, [pc, 0xac]                                |         
    0x0000e2ca movs r3, 2                                        |         r3 = 2;
    0x0000e2cc ldr r2, [r2, 0x40]                                |         r2 = *((r2 + 0x40));
    0x0000e2ce movs r1, 0x10                                     |         r1 = 0x10;
    0x0000e2d0 str.w r3, [r8, 0x20]                              |         __asm ("str.w r3, [r8, 0x20]");
    0x0000e2d4 add r0, pc                                        |         r0 = 0x1c650;
    0x0000e2d6 blx 0x7558                                        |         fcn_00007558 ();
    0x0000e2da adds r2, r5, 4                                    |         r2 = r5 + 4;
    0x0000e2dc mov r3, r0                                        |         r3 = r0;
    0x0000e2de str r2, [r0]                                      |         *(r0) = r2;
    0x0000e2e0 mov r0, r6                                        |         r0 = r6;
    0x0000e2e2 ldr r2, [r5, 8]                                   |         r2 = *((r5 + 8));
    0x0000e2e4 str r2, [r3, 4]                                   |         *((r3 + 4)) = r2;
    0x0000e2e6 ldr r2, [r5, 8]                                   |         r2 = *((r5 + 8));
    0x0000e2e8 str r3, [r2]                                      |         *(r2) = r3;
    0x0000e2ea str r3, [r5, 8]                                   |         *((r5 + 8)) = r3;
    0x0000e2ec add sp, 0x10                                      |         
    0x0000e2ee pop.w {r4, r5, r6, r7, r8, pc}                    |         
                                                                 | label_117:
    0x0000e2f2 cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x0000e2f4 beq 0xe368                                        |             goto label_121;
                                                                 |         }
                                                                 | label_6:
    0x0000e2f6 ldr r1, [r1, 4]                                   |         r1 = *((r1 + 4));
    0x0000e2f8 cmp r1, 5                                         |         
    0x0000e2fa ble 0xe296                                        |         
                                                                 |     } while (r1 <= 5);
                                                                 | label_119:
    0x0000e2fc str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000e2fe movw r1, 0x3f3                                    |     r1 = 0x3f3;
    0x0000e302 ldr r3, [pc, 0x78]                                |     
    0x0000e304 ldr r0, [pc, 0x78]                                |     
    0x0000e306 add r3, pc                                        |     r3 = 0x1c688;
    0x0000e308 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000e30a movs r3, 0                                        |     r3 = 0;
    0x0000e30c str r3, [sp]                                      |     *(sp) = r3;
    0x0000e30e add r0, pc                                        |     r0 = 0x1c692;
    0x0000e310 movs r3, 6                                        |     r3 = 6;
    0x0000e312 blx 0x7380                                        |     BIO_set_init ();
    0x0000e316 b 0xe296                                          |     goto label_0;
                                                                 |     if (r1 == 0) {
                                                                 | label_114:
    0x0000e318 cbz r1, 0xe364                                    |         goto label_122;
                                                                 |     }
                                                                 | label_4:
    0x0000e31a ldr r1, [r1, 4]                                   |     r1 = *((r1 + 4));
    0x0000e31c cmp r1, 5                                         |     
                                                                 |     if (r1 <= 5) {
    0x0000e31e ble 0xe26e                                        |         goto label_1;
                                                                 |     }
                                                                 | label_116:
    0x0000e320 ldr r0, [pc, 0x60]                                |     
    0x0000e322 movs r1, 0                                        |     r1 = 0;
    0x0000e324 strd r1, r3, [sp]                                 |     __asm ("strd r1, r3, [sp]");
    0x0000e328 movs r3, 6                                        |     r3 = 6;
    0x0000e32a movw r1, 0x406                                    |     r1 = 0x406;
    0x0000e32e add r0, pc                                        |     r0 = 0x1c6b6;
    0x0000e330 str r0, [sp, 8]                                   |     var_8h = r0;
    0x0000e332 ldr r0, [pc, 0x54]                                |     
    0x0000e334 add r0, pc                                        |     r0 = 0x1c6c2;
    0x0000e336 blx 0x7380                                        |     BIO_set_init ();
    0x0000e338 invalid                                           |     
    0x0000e33c b 0xe26e                                          |     goto label_1;
                                                                 | label_120:
    0x0000e33e str.w r3, [r8, 0x20]                              |     __asm ("str.w r3, [r8, 0x20]");
    0x0000e342 b 0xe272                                          |     goto label_2;
                                                                 | label_115:
    0x0000e344 ldr r1, [r3, 4]                                   |     r1 = *((r3 + 4));
    0x0000e346 ldr r0, [r1, 0x10]                                |     r0 = *((r1 + 0x10));
                                                                 |     if (r0 == 0) {
    0x0000e348 cbz r0, 0xe350                                    |         goto label_7;
                                                                 |     }
    0x0000e34a ldrsb r0, [r0, r2]                                |     r0 = *((r0 + r2));
    0x0000e34c cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0000e34e bge 0xe26a                                        |         goto label_3;
                                                                 |     }
                                                                 | label_7:
    0x0000e350 adds r1, 0x10                                     |     r1 += 0x10;
    0x0000e352 b 0xe31a                                          |     goto label_4;
                                                                 | label_118:
    0x0000e354 ldr r1, [r3, 4]                                   |     r1 = *((r3 + 4));
    0x0000e356 ldr r0, [r1, 0x10]                                |     r0 = *((r1 + 0x10));
                                                                 |     if (r0 == 0) {
    0x0000e358 cbz r0, 0xe360                                    |         goto label_123;
                                                                 |     }
    0x0000e35a ldrsb r0, [r0, r2]                                |     r0 = *((r0 + r2));
    0x0000e35c cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0000e35e bge 0xe292                                        |         goto label_5;
                                                                 |     }
                                                                 |     do {
                                                                 | label_123:
    0x0000e360 adds r1, 0x10                                     |         r1 += 0x10;
    0x0000e362 b 0xe2f6                                          |         goto label_6;
                                                                 | label_122:
    0x0000e364 ldr r1, [r3, 4]                                   |         r1 = *((r3 + 4));
    0x0000e366 b 0xe350                                          |         goto label_7;
                                                                 | label_121:
    0x0000e368 ldr r1, [r3, 4]                                   |         r1 = *((r3 + 4));
    0x0000e36a b 0xe360                                          |         
                                                                 |     } while (1);
    0x0000f28c ldr.w r2, [pc, 0xb4c]                             |     
    0x0000f290 movs r1, 0                                        |     r1 = 0;
    0x0000f292 ldr.w r3, [pc, 0xb4c]                             |     r3 = *(0xfde2);
    0x0000f296 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x0000f29a mov r7, r0                                        |     r7 = r0;
    0x0000f29c add r2, pc                                        |     r2 = 0x1f07c;
    0x0000f29e sub sp, 0x54                                      |     
    0x0000f2a0 ldr r3, [r2, r3]                                  |     
    0x0000f2a2 ldr.w r4, [pc, 0xb40]                             |     
    0x0000f2a6 ldr r0, [r0]                                      |     r0 = *(r0);
    0x0000f2a8 ldr r3, [r3]                                      |     r3 = *(0x1f07c);
    0x0000f2aa str r3, [sp, 0x4c]                                |     var_4ch = r3;
    0x0000f2ac mov.w r3, 0                                       |     r3 = 0;
    0x0000f2b0 blx 0x7830                                        |     SSL_CTX_check_private_key ();
    0x0000f2b4 ldr.w r2, [pc, 0xb30]                             |     r2 = *(0xfde8);
    0x0000f2b8 add r4, pc                                        |     r4 = 0x1f0a2;
    0x0000f2ba mov r3, r4                                        |     r3 = r4;
    0x0000f2bc mov r6, r0                                        |     r6 = r0;
    0x0000f2be ldr r3, [r4, r2]                                  |     r3 = *(0x1f0a2);
    0x0000f2c0 mov r2, r3                                        |     r2 = r3;
    0x0000f2c2 str r3, [sp, 0x18]                                |     var_18h = r3;
    0x0000f2c4 ldr r2, [r2, 8]                                   |     r2 = *((r2 + 8));
    0x0000f2c6 ldr r3, [r0, 0x2c]                                |     r3 = *((r0 + 0x2c));
    0x0000f2c8 ldr r0, [r7]                                      |     r0 = *(r7);
    0x0000f2ca invalid                                           |     
    0x0000f2ce ldm r2!, {r0, r5}                                 |     r0 = *(r2!);
                                                                 |     r5 = *((r2! + 4));
    0x0000f2d0 invalid                                           |     
                                                                 |     if (r1 != 0) {
    0x0000f2d4 bne.w 0xf73c                                      |         goto label_32;
                                                                 |     }
    0x0000f2d8 ldr r3, [r6, 0x70]                                |     r3 = *((r6 + 0x70));
    0x0000f2da ldr r2, [r4, 0x28]                                |     r2 = *((r4 + 0x28));
    0x0000f2dc str r2, [sp, 0x24]                                |     var_24h_2 = r2;
    0x0000f2de cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000f2e0 beq 0xf3cc                                        |         goto label_124;
                                                                 |     }
    0x0000f2e2 ldr.w r1, [pc, 0xb08]                             |     
    0x0000f2e6 mov r8, r0                                        |     r8 = r0;
    0x0000f2e8 ldr r0, [r6, 0x30]                                |     r0 = *((r6 + 0x30));
    0x0000f2ea add r1, pc                                        |     r1 = 0x1f0dc;
    0x0000f2ec blx 0x7180                                        |     fcn_00007180 ();
    0x0000f2f0 ldr.w r1, [pc, 0xafc]                             |     
    0x0000f2f4 str r0, [sp, 0x28]                                |     var_28h_2 = r0;
    0x0000f2f6 ldr r0, [r6, 0x30]                                |     r0 = *((r6 + 0x30));
    0x0000f2f8 add r1, pc                                        |     r1 = 0x1f0ec;
    0x0000f2fa ldr r5, [r4, 0x2c]                                |     r5 = *((r4 + 0x2c));
    0x0000f2fc blx 0x7180                                        |     r0 = fcn_00007180 ();
    0x0000f300 mov r4, r0                                        |     r4 = r0;
    0x0000f302 str r0, [sp, 0x2c]                                |     var_2ch_2 = r0;
    0x0000f304 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000f306 beq.w 0xf49a                                      |         goto label_125;
                                                                 |     }
    0x0000f30a movs r2, 4                                        |     r2 = 4;
    0x0000f30c movs r1, 3                                        |     r1 = 3;
    0x0000f30e ldr r0, [r6]                                      |     r0 = *(r6);
    0x0000f310 mov sb, r4                                        |     sb = r4;
    0x0000f312 blx 0x70c0                                        |     r0 = fcn_000070c0 ();
    0x0000f316 mov fp, r0                                        |     
    0x0000f318 mov r0, r4                                        |     r0 = r4;
    0x0000f31a blx 0x78a0                                        |     r0 = fcn_000078a0 ();
    0x0000f31e adds r1, r0, 1                                    |     r1 = r0 + 1;
    0x0000f320 ldr r0, [r6]                                      |     r0 = *(r6);
    0x0000f322 blx 0x722c                                        |     r0 = fcn_0000722c ();
    0x0000f326 mov r4, r0                                        |     r4 = r0;
    0x0000f328 mov r0, sb                                        |     r0 = sb;
    0x0000f32a blx 0x78a0                                        |     fcn_000078a0 ();
    0x0000f32e mov r1, r8                                        |     r1 = r8;
    0x0000f330 adds r2, r0, 1                                    |     r2 = r0 + 1;
    0x0000f332 mov r0, r4                                        |     r0 = r4;
    0x0000f334 blx 0x6e98                                        |     fcn_00006e98 ();
    0x0000f338 mov r1, sb                                        |     r1 = sb;
    0x0000f33a str r0, [sp, 0x30]                                |     var_30h_2 = r0;
    0x0000f33c mov r4, r0                                        |     r4 = r0;
    0x0000f33e ldr r0, [r6]                                      |     r0 = *(r6);
    0x0000f340 blx 0x72fc                                        |     X509_get_serialNumber ();
    0x0000f342 invalid                                           |     
    0x0000f346 subs r2, 0xac                                     |     r2 -= 0xac;
    0x0000f348 mov sb, r8                                        |     sb = r8;
    0x0000f34a strd r5, r8, [sp, 0x34]                           |     __asm ("strd r5, r8, [sp, 0x34]");
    0x0000f34e str r7, [sp, 0x3c]                                |     var_3ch_2 = r7;
    0x0000f350 add r3, pc                                        |     r3 += pc;
    0x0000f352 str r3, [sp, 0x1c]                                |     var_1ch_2 = r3;
    0x0000f354 ldr.w r3, [pc, 0xaa0]                             |     
    0x0000f358 add r3, pc                                        |     r3 = 0x1f154;
    0x0000f35a str r3, [sp, 0x20]                                |     var_20h_2 = r3;
    0x0000f35c add r3, sp, 0x48                                  |     r3 += var_48h;
    0x0000f35e mov r8, r3                                        |     r8 = r3;
                                                                 | label_8:
    0x0000f360 ldr r1, [sp, 0x1c]                                |     r1 = var_1ch_2;
    0x0000f362 mov r2, r8                                        |     r2 = r8;
    0x0000f364 blx 0x7ae0                                        |     r0 = fcn_00007ae0 ();
    0x0000f368 mov r7, r0                                        |     r7 = r0;
    0x0000f36a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000f36c beq.w 0xf7a2                                      |         goto label_126;
                                                                 |     }
    0x0000f36e strh r1, [r3, 0x10]                               |     *((r3 + 0x10)) = r1;
    0x0000f370 ldr r2, [sp, 0x48]                                |     r2 = var_48h;
    0x0000f372 ldrb r1, [r2]                                     |     r1 = *(r2);
    0x0000f374 subs r2, r2, r7                                   |     r2 -= r7;
    0x0000f376 cmp r1, 0                                         |     
    0x0000f378 ite eq                                            |     
                                                                 |     if (r1 != 0) {
    0x0000f37a moveq r5, r2                                      |         r5 = r2;
                                                                 |     }
                                                                 |     if (r1 == 0) {
    0x0000f37c subne r5, r2, 1                                   |         r5 = r2 - 1;
                                                                 |     }
    0x0000f37e cmp r5, 0xff                                      |     
                                                                 |     if (r5 > 0xff) {
    0x0000f380 bhi.w 0xf830                                      |         goto label_127;
                                                                 |     }
    0x0000f384 mov r2, r5                                        |     r2 = r5;
    0x0000f386 mov r1, r7                                        |     r1 = r7;
    0x0000f388 ldr r0, [r6]                                      |     r0 = *(r6);
    0x0000f38a blx 0x7594                                        |     r0 = fcn_00007594 ();
    0x0000f38e mov sl, r0                                        |     sl = r0;
    0x0000f390 mov r0, fp                                        |     r0 = fp;
    0x0000f392 blx 0x7730                                        |     fcn_00007730 ();
    0x0000f396 mov r1, sl                                        |     r1 = sl;
    0x0000f398 str.w sl, [r0]                                    |     __asm ("str.w sl, [r0]");
    0x0000f39c ldr r0, [sp, 0x20]                                |     r0 = var_20h_2;
    0x0000f39e blx 0x7abc                                        |     fcn_00007abc ();
    0x0000f3a2 mov ip, r4                                        |     
    0x0000f3a4 cmp r0, 0                                         |     
    0x0000f3a6 it eq                                             |     
                                                                 |     if (r0 != 0) {
    0x0000f3a8 moveq sb, 1                                       |         sb = 1;
                                                                 |     }
    0x0000f3ac strb r5, [ip], 1                                  |     *(ip) = r5;
                                                                 |     ip++;
    0x0000f3b0 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0000f3b2 beq.w 0xf664                                      |         goto label_128;
                                                                 |     }
    0x0000f3b6 adds r0, r7, r5                                   |     r0 = r7 + r5;
                                                                 |     do {
    0x0000f3b8 ldrb r3, [r7], 1                                  |         r3 = *(r7);
                                                                 |         r7++;
    0x0000f3bc cmp r7, r0                                        |         
    0x0000f3be strb r3, [r4, 1]!                                 |         *((r4 += 1)) = r3;
    0x0000f3c2 bne 0xf3b8                                        |         
                                                                 |     } while (r7 != r0);
    0x0000f3c4 add.w r4, ip, r5                                  |     r4 = ip + r5;
                                                                 | label_11:
    0x0000f3c8 movs r0, 0                                        |     r0 = 0;
    0x0000f3ca b 0xf360                                          |     goto label_8;
                                                                 | label_124:
    0x0000f3cc blx 0x680c                                        |     fcn_0000680c ();
    0x0000f3d0 ldr r0, [r7]                                      |     r0 = *(r7);
    0x0000f3d2 blx 0x7ca4                                        |     r0 = OPENSSL_sk_push ();
    0x0000f3d6 subs.w r8, r0, 0                                  |     r8 = r0 - 0;
                                                                 |     if (r8 <= r0) {
    0x0000f3da ble.w 0xf584                                      |         goto label_129;
                                                                 |     }
    0x0000f3de ldr r3, [r4, 0x28]                                |     r3 = *((r4 + 0x28));
    0x0000f3e0 ldr r2, [sp, 0x18]                                |     r2 = var_18h;
    0x0000f3e2 ldr r0, [r7]                                      |     r0 = *(r7);
    0x0000f3e4 ldr r3, [r3, 0x18]                                |     r3 = *((r3 + 0x18));
    0x0000f3e6 ldr r2, [r2, 8]                                   |     r2 = *((r2 + 8));
    0x0000f3e8 ldr.w r5, [r3, r2, lsl 2]                         |     offset_0 = r2 << 2;
                                                                 |     r5 = *((r3 + offset_0));
    0x0000f3ec blx 0x7ab0                                        |     r0 = fcn_00007ab0 ();
    0x0000f3f0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000f3f2 bne.w 0xf6c4                                      |         goto label_130;
                                                                 |     }
    0x0000f3f6 ldr.w ip, [r4, 0x14]                              |     ip = *((r4 + 0x14));
    0x0000f3fa cmp.w ip, 0                                       |     
                                                                 |     if (ip == 0) {
    0x0000f3fe beq.w 0xf720                                      |         goto label_131;
                                                                 |     }
                                                                 | label_48:
    0x0000f402 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000f404 ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000f406 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000f408 cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000f40a blt.w 0xf884                                      |         goto label_132;
                                                                 |     }
    0x0000f40e cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000f410 beq.w 0xfd5a                                      |         goto label_133;
                                                                 |     }
    0x0000f414 ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000f416 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000f418 beq.w 0xf88a                                      |         goto label_47;
                                                                 |     }
    0x0000f41c ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000f41e cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000f420 blt.w 0xf88a                                      |         goto label_47;
                                                                 |     }
                                                                 | label_46:
    0x0000f424 cmp r3, 5                                         |     
    0x0000f426 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000f428 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000f42a movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r3 != 0) {
                                                                 | label_16:
    0x0000f42c cbz r3, 0xf458                                    |         
    0x0000f42e cmp.w ip, 0                                       |         
                                                                 |         if (ip == 0) {
    0x0000f432 beq.w 0xfdba                                      |             goto label_134;
                                                                 |         }
                                                                 | label_49:
    0x0000f436 ldr.w r3, [pc, 0x9c4]                             |         
    0x0000f43a mov.w r1, 0x5f8                                   |         r1 = 0x5f8;
    0x0000f43e ldr.w r0, [pc, 0x9c0]                             |         
    0x0000f442 str.w ip, [sp, 0xc]                               |         __asm ("str.w ip, [var_ch_3]");
    0x0000f446 add r3, pc                                        |         r3 = "/usr/src/debug/apache2/2.4.57-r0/modules/ssl/ssl_engine_init.c";
    0x0000f448 strd r6, r3, [sp, 4]                              |         __asm ("strd r6, r3, [sp, 4]");
    0x0000f44c movs r3, 0                                        |         r3 = 0;
    0x0000f44e str r3, [sp]                                      |         *(sp) = r3;
    0x0000f450 add r0, pc                                        |         r0 = 0x1f256;
    0x0000f452 movs r3, 6                                        |         r3 = 6;
    0x0000f454 blx 0x7380                                        |         BIO_set_init ();
                                                                 |     }
    0x0000f458 ldr.w r0, [pc, 0x9a8]                             |     
    0x0000f45c movs r2, 6                                        |     r2 = 6;
    0x0000f45e movw r1, 0x5fb                                    |     r1 = 0x5fb;
    0x0000f462 ldr r3, [sp, 0x24]                                |     r3 = var_24h_2;
    0x0000f464 add r0, pc                                        |     r0 = 0x1f26c;
    0x0000f466 bl 0x14f78                                        |     fcn_00014f78 (r0, r1, r2, r3, r4);
    0x0000f46a movs r2, 1                                        |     r2 = 1;
    0x0000f46c mov r1, r6                                        |     r1 = r6;
    0x0000f46e mov r0, r7                                        |     r0 = r7;
    0x0000f470 bl 0xe38c                                         |     fcn_0000e38c (r0, r1, r2, r3);
                                                                 | label_33:
    0x0000f474 mov.w r8, 0x67                                    |     r8 = 0x67;
                                                                 |     do {
                                                                 | label_9:
    0x0000f478 ldr.w r2, [pc, 0x98c]                             |         
    0x0000f47c ldr.w r3, [pc, 0x960]                             |         r3 = *(0xfde0);
    0x0000f480 add r2, pc                                        |         r2 = 0x1f28c;
    0x0000f482 ldr r3, [r2, r3]                                  |         r3 = *(0x1f28c);
    0x0000f484 ldr r2, [r3]                                      |         r2 = *(0x1f28c);
    0x0000f486 ldr r3, [sp, 0x4c]                                |         r3 = var_4ch;
    0x0000f488 eors r2, r3                                       |         r2 ^= r3;
    0x0000f48a mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x0000f48e bne.w 0xffe2                                      |             goto label_135;
                                                                 |         }
    0x0000f492 mov r0, r8                                        |         r0 = r8;
    0x0000f494 add sp, 0x54                                      |         
    0x0000f496 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_125:
    0x0000f49a ldr.w fp, [sp, 0x2c]                              |         fp = var_2ch_2;
    0x0000f49e mov.w sb, 1                                       |         sb = 1;
                                                                 | label_13:
    0x0000f4a2 ldr r1, [sp, 0x28]                                |         r1 = var_28h_2;
                                                                 |         if (r1 != 0) {
    0x0000f4a4 cbz r1, 0xf4b6                                    |             
    0x0000f4a6 ldr r3, [r6]                                      |             r3 = *(r6);
    0x0000f4a8 movs r2, 0                                        |             r2 = 0;
    0x0000f4aa add r0, sp, 0x40                                  |             r0 += var_40h_3;
    0x0000f4ac blx 0x6ae8                                        |             r0 = fcn_00006ae8 ();
    0x0000f4b0 cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x0000f4b2 bne.w 0xfa60                                      |                 goto label_136;
                                                                 |             }
                                                                 |         }
                                                                 | label_26:
    0x0000f4b6 ldr r0, [r7]                                      |         r0 = *(r7);
    0x0000f4b8 blx 0x7534                                        |         r0 = fcn_00007534 ();
    0x0000f4bc cmp r0, 0                                         |         
                                                                 |         if (r0 <= 0) {
    0x0000f4be ble.w 0xf742                                      |             goto label_137;
                                                                 |         }
    0x0000f4c2 ldr r0, [r7]                                      |         r0 = *(r7);
    0x0000f4c4 movs r4, 1                                        |         r4 = 1;
    0x0000f4c6 blx 0x70a8                                        |         fcn_000070a8 ();
    0x0000f4ca ldr r2, [r5, 0x28]                                |         r2 = *((r5 + 0x28));
    0x0000f4cc mov sl, r0                                        |         sl = r0;
    0x0000f4ce ldr.w r3, [r2, 0xb8]                              |         r3 = *((r2 + 0xb8));
                                                                 |         if (r3 != 0) {
    0x0000f4d2 cbz r3, 0xf4fc                                    |             
    0x0000f4d4 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0000f4d6 beq.w 0xf630                                      |                 goto label_138;
                                                                 |             }
    0x0000f4da blx 0x68e8                                        |             loc_imp_apr_brigade_destroy ();
    0x0000f4de blx 0x7398                                        |             r0 = loc_imp_apr_bucket_transient_create ();
    0x0000f4e2 cmp r0, 0                                         |             
                                                                 |             if (r0 >= 0) {
    0x0000f4e4 bge.w 0xf630                                      |                 goto label_138;
                                                                 |             }
    0x0000f4e8 mov r0, sl                                        |             r0 = sl;
    0x0000f4ea blx 0x7298                                        |             fcn_00007298 ();
    0x0000f4ee blx 0x7398                                        |             r0 = loc_imp_apr_bucket_transient_create ();
    0x0000f4f2 cmp r0, 0                                         |             
                                                                 |             if (r0 <= 0) {
    0x0000f4f4 ble.w 0xf630                                      |                 goto label_138;
                                                                 |             }
    0x0000f4f8 ldr r2, [r5, 0x28]                                |             r2 = *((r5 + 0x28));
    0x0000f4fa movs r4, 1                                        |             r4 = 1;
                                                                 |         }
                                                                 | label_10:
    0x0000f4fc ldrd r2, r3, [r2, 0xb0]                           |         __asm ("ldrd r2, r3, [r2, 0xb0]");
    0x0000f500 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0000f502 beq.w 0xf668                                      |             goto label_139;
                                                                 |         }
    0x0000f506 sub.w r3, r3, 1                                   |         r3--;
    0x0000f50a clz r3, r3                                        |         r3 &= r3;
    0x0000f50e lsrs r3, r3, 5                                    |         r3 >>= 5;
    0x0000f510 cmp r2, 0                                         |         
    0x0000f512 it ne                                             |         
                                                                 |         if (r2 == 0) {
    0x0000f514 orrne r3, r3, 1                                   |             r3 |= 1;
                                                                 |         }
    0x0000f516 lsls r1, r0, 0xc                                  |         r1 = r0 << 0xc;
    0x0000f518 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0000f51a beq.w 0xf67c                                      |             goto label_20;
                                                                 |         }
    0x0000f51e ldr r3, [sp, 0x28]                                |         r3 = var_28h_2;
    0x0000f520 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0000f522 beq.w 0xf67c                                      |             goto label_20;
                                                                 |         }
    0x0000f526 cmp.w sl, 0                                       |         
                                                                 |         if (sl == 0) {
    0x0000f52a beq.w 0xfc8c                                      |             goto label_140;
                                                                 |         }
    0x0000f52e ldr r3, [sp, 0x24]                                |         r3 = var_24h_2;
    0x0000f530 mov r1, sl                                        |         r1 = sl;
    0x0000f532 ldr r0, [r6]                                      |         r0 = *(r6);
    0x0000f534 ldr r2, [sp, 0x28]                                |         r2 = var_28h_2;
    0x0000f536 str r3, [sp]                                      |         *(sp) = r3;
    0x0000f538 movs r3, 1                                        |         r3 = 1;
    0x0000f53a bl 0x1b0ec                                        |         fcn_0001b0ec (r0, r1, r2, r3, r4);
    0x0000f53c ldc2l p8, c2, [r7]                                |         __asm ("ldc2l p8, c2, [r7]");
                                                                 |         if (r3 == 1) {
    0x0000f540 beq.w 0xfc8c                                      |             goto label_140;
                                                                 |         }
    0x0000f544 cmp.w fp, 0                                       |         
                                                                 |         if (fp != 0) {
    0x0000f548 bne.w 0xf682                                      |             goto label_141;
                                                                 |         }
    0x0000f54c cmp r4, 0                                         |         
                                                                 |         if (r4 == 0) {
    0x0000f54e beq.w 0xf698                                      |             goto label_142;
                                                                 |         }
    0x0000f550 strh r3, [r4, 4]                                  |         *((r4 + 4)) = r3;
                                                                 | label_12:
    0x0000f552 ldr r1, [r7]                                      |         r1 = *(r7);
    0x0000f554 mov r0, r6                                        |         r0 = r6;
    0x0000f556 bl 0xf23c                                         |         r0 = fcn_0000f23c (r0, r1);
    0x0000f55a mov r4, r0                                        |         r4 = r0;
    0x0000f55c cmp.w sl, 0                                       |         
                                                                 |         if (sl != 0) {
    0x0000f560 beq 0xf568                                        |             
    0x0000f562 mov r0, sl                                        |             r0 = sl;
    0x0000f564 blx 0x6a5c                                        |             SSL_CTX_get_verify_mode ();
                                                                 |         }
    0x0000f568 adds r3, r4, 1                                    |         r3 = r4 + 1;
    0x0000f56a cmp r3, 1                                         |         
                                                                 |         if (r3 > 1) {
    0x0000f56c bhi.w 0xf69e                                      |             goto label_143;
                                                                 |         }
    0x0000f570 ldr.w r2, [pc, 0x898]                             |         
    0x0000f574 ldr.w r1, [pc, 0x898]                             |         
    0x0000f578 ldr r0, [r6, 0x30]                                |         r0 = *((r6 + 0x30));
    0x0000f57a add r2, pc                                        |         r2 = 0x1f38a;
    0x0000f57c add r1, pc                                        |         r1 = 0x1f390;
    0x0000f57e blx 0x7e60                                        |         BIO_meth_set_read ();
    0x0000f582 b 0xf478                                          |         
                                                                 |     } while (1);
                                                                 | label_129:
    0x0000f584 ldr r0, [r7, 4]                                   |     r0 = *((r7 + 4));
    0x0000f586 blx 0x6d20                                        |     r0 = PEM_read_bio_X509 ();
    0x0000f58a mov r4, r0                                        |     r4 = r0;
    0x0000f58c ldr r0, [r7, 8]                                   |     r0 = *((r7 + 8));
    0x0000f58e blx 0x6d20                                        |     PEM_read_bio_X509 ();
    0x0000f592 ldr r5, [r4, 0xc]                                 |     r5 = *((r4 + 0xc));
    0x0000f594 mov sb, r0                                        |     sb = r0;
                                                                 |     if (r5 == 0) {
    0x0000f596 cbnz r5, 0xf59a                                   |         
    0x0000f598 ldr r5, [r0, 0xc]                                 |         r5 = *((r0 + 0xc));
                                                                 |     }
    0x0000f59a mov r1, r8                                        |     r1 = r8;
    0x0000f59c ldr r0, [r7]                                      |     r0 = *(r7);
    0x0000f59e blx 0x6d5c                                        |     r0 = loc_imp_apr_psprintf ()
    0x0000f5a2 cmp r0, 6                                         |     
    0x0000f5a4 mov r8, r0                                        |     r8 = r0;
                                                                 |     if (r0 == 6) {
    0x0000f5a6 beq.w 0xfb88                                      |         goto label_144;
                                                                 |     }
    0x0000f5aa cmp r0, 2                                         |     
    0x0000f5ac ittt eq                                           |     
                                                                 |     if (r0 != 2) {
    0x0000f5ae moveq r3, 0xb                                     |         r3 = 0xb;
                                                                 |     }
                                                                 |     if (r0 != 2) {
    0x0000f5b0 moveq r8, r3                                      |         r8 = r3;
                                                                 |     }
                                                                 |     if (r0 == 2) {
    0x0000f5b2 streq r3, [sb, 0xc]                               |         *((sb + 0xc)) = r3;
                                                                 |         goto label_145;
                                                                 |     }
                                                                 |     if (r0 == 2) {
                                                                 | label_145:
    0x0000f5b6 beq.w 0xf478                                      |         goto label_9;
                                                                 |     }
    0x0000f5ba blx 0x73d4                                        |     r0 = PEM_X509_INFO_read_bio ();
    0x0000f5be lsrs r3, r0, 0x18                                 |     r3 = r0 >> 0x18;
    0x0000f5c0 cmp r3, 0x14                                      |     
                                                                 |     if (r3 == 0x14) {
    0x0000f5c2 beq.w 0xfc1c                                      |         goto label_146;
                                                                 |     }
    0x0000f5c4 strh r3, [r5, 0x18]                               |     *((r5 + 0x18)) = r3;
                                                                 | label_37:
    0x0000f5c6 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000f5c8 cmp.w r8, 5                                       |     
    0x0000f5cc ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000f5ce ldr.w sb, [r3, 8]                                 |     sb = *((r3 + 8));
                                                                 |     if (r8 == 5) {
    0x0000f5d2 beq.w 0xfbd2                                      |         goto label_147;
                                                                 |     }
    0x0000f5d6 cmp.w sb, 0                                       |     
                                                                 |     if (sb < 0) {
    0x0000f5da blt.w 0xf97e                                      |         goto label_148;
                                                                 |     }
    0x0000f5de cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000f5e0 beq.w 0xfeb0                                      |         goto label_149;
                                                                 |     }
    0x0000f5e4 ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000f5e6 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000f5e8 beq.w 0xf984                                      |         goto label_54;
                                                                 |     }
    0x0000f5ec ldrsb.w r3, [r3, sb]                              |     r3 = *((r3 + sb));
    0x0000f5f0 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000f5f2 blt.w 0xf984                                      |         goto label_54;
                                                                 |     }
                                                                 | label_53:
    0x0000f5f6 cmp r3, 5                                         |     
    0x0000f5f8 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000f5fa movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000f5fc movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 | label_19:
    0x0000f5fe cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000f600 bne.w 0xfd32                                      |         goto label_150;
                                                                 |     }
                                                                 | label_45:
    0x0000f604 ldr.w r0, [pc, 0x80c]                             |     
    0x0000f608 movs r2, 6                                        |     r2 = 6;
    0x0000f60a ldr r3, [sp, 0x24]                                |     r3 = var_24h_2;
    0x0000f60c movw r1, 0x5cd                                    |     r1 = 0x5cd;
    0x0000f610 add r0, pc                                        |     r0 = 0x1f428;
    0x0000f612 bl 0x14f78                                        |     fcn_00014f78 (r0, r1, r2, r3, r4);
                                                                 | label_36:
    0x0000f616 ldr r3, [r4, 0xc]                                 |     r3 = *((r4 + 0xc));
                                                                 |     if (r3 == 0) {
    0x0000f618 cbnz r3, 0xf620                                   |         
    0x0000f61a movw r3, 0x4e2e                                   |         r3 = 0x4e2e;
    0x0000f61e str r3, [r4, 0xc]                                 |         *((r4 + 0xc)) = r3;
                                                                 |     }
    0x0000f620 movs r2, 1                                        |     r2 = 1;
    0x0000f622 mov r1, r6                                        |     r1 = r6;
    0x0000f624 mov r0, r7                                        |     r0 = r7;
    0x0000f626 bl 0xe38c                                         |     fcn_0000e38c (r0, r1, r2, r3);
    0x0000f62a ldr.w r8, [r4, 0xc]                               |     r8 = *((r4 + 0xc));
    0x0000f62e b 0xf478                                          |     goto label_9;
                                                                 | label_138:
    0x0000f630 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000f632 ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000f634 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000f636 cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000f638 blt.w 0xf96c                                      |         goto label_151;
                                                                 |     }
    0x0000f63c cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000f63e beq.w 0xfdc4                                      |         goto label_152;
                                                                 |     }
    0x0000f642 ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000f644 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000f646 beq.w 0xf972                                      |         goto label_51;
                                                                 |     }
    0x0000f64a ldrsb r4, [r3, r2]                                |     r4 = *((r3 + r2));
    0x0000f64c cmp r4, 0                                         |     
                                                                 |     if (r4 < 0) {
    0x0000f64e blt.w 0xf972                                      |         goto label_51;
                                                                 |     }
                                                                 | label_50:
    0x0000f652 cmp r4, 5                                         |     
    0x0000f654 ite le                                            |     
                                                                 |     if (r4 > 5) {
    0x0000f656 movle r4, 0                                       |         r4 = 0;
                                                                 |     }
                                                                 |     if (r4 <= 5) {
    0x0000f658 movgt r4, 1                                       |         r4 = 1;
                                                                 |     }
                                                                 | label_18:
    0x0000f65a cmp r4, 0                                         |     
                                                                 |     if (r4 != 0) {
    0x0000f65c bne.w 0xfd00                                      |         goto label_153;
                                                                 |     }
    0x0000f660 ldr r2, [r5, 0x28]                                |     r2 = *((r5 + 0x28));
    0x0000f662 b 0xf4fc                                          |     goto label_10;
                                                                 | label_128:
    0x0000f664 mov r4, ip                                        |     r4 = ip;
    0x0000f666 b 0xf3c8                                          |     goto label_11;
                                                                 | label_139:
    0x0000f668 ldr r1, [sp, 0x28]                                |     r1 = var_28h_2;
    0x0000f66a subs r1, 0                                        |     
    0x0000f66c it ne                                             |     
                                                                 |     if (r1 == 0) {
    0x0000f66e movne r1, 1                                       |         r1 = 1;
                                                                 |     }
    0x0000f670 cmp r2, 1                                         |     
    0x0000f672 it ne                                             |     
                                                                 |     if (r2 == 1) {
    0x0000f674 movne r1, 0                                       |         r1 = 0;
                                                                 |     }
    0x0000f676 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0000f678 bne.w 0xf990                                      |         goto label_154;
                                                                 |     }
                                                                 | label_20:
    0x0000f67c cmp.w fp, 0                                       |     
                                                                 |     if (fp != 0) {
    0x0000f680 beq 0xf68c                                        |         
                                                                 | label_141:
    0x0000f682 ldr.w r3, [fp, 8]                                 |         r3 = *(arg_8h);
    0x0000f686 cmp r3, 0                                         |         
                                                                 |         if (r3 > 0) {
    0x0000f688 bgt.w 0xf8ba                                      |             goto label_155;
                                                                 |         }
                                                                 |     }
                                                                 | label_38:
    0x0000f68c cmp r4, 0                                         |     
                                                                 |     if (r4 != 0) {
    0x0000f68e bne.w 0xf552                                      |         goto label_12;
                                                                 |     }
                                                                 | label_17:
    0x0000f692 cmp.w sl, 0                                       |     
                                                                 |     if (sl != 0) {
    0x0000f696 beq 0xf69e                                        |         
                                                                 | label_142:
    0x0000f698 mov r0, sl                                        |         r0 = sl;
    0x0000f69a blx 0x6a5c                                        |         SSL_CTX_get_verify_mode ();
                                                                 |     }
                                                                 | label_143:
    0x0000f69e movs r2, 1                                        |     r2 = 1;
    0x0000f6a0 mov r1, r6                                        |     r1 = r6;
    0x0000f6a2 mov r0, r7                                        |     r0 = r7;
    0x0000f6a4 bl 0xe38c                                         |     fcn_0000e38c (r0, r1, r2, r3);
    0x0000f6a8 ldr.w r2, [pc, 0x76c]                             |     
    0x0000f6ac ldr.w r1, [pc, 0x76c]                             |     
    0x0000f6b0 ldr r0, [r6, 0x30]                                |     r0 = *((r6 + 0x30));
    0x0000f6b2 add r2, pc                                        |     r2 = 0x1f4ce;
    0x0000f6b4 add r1, pc                                        |     r1 = 0x1f4d4;
    0x0000f6b6 blx 0x7e60                                        |     BIO_meth_set_read ();
                                                                 |     do {
    0x0000f6ba movw r8, 0xd4c1                                   |         
    0x0000f6be movt r8, 1                                        |         r8 = 0x1d4c1;
    0x0000f6c2 b 0xf478                                          |         goto label_9;
                                                                 | label_130:
    0x0000f6c4 sub.w r3, r0, 0x12                                |         r3 = r0 - 0x12;
    0x0000f6c8 cmp r0, 0x1b                                      |         
    0x0000f6ca it ne                                             |         
                                                                 |         if (r0 != 0x1b) {
    0x0000f6cc cmpne r3, 3                                       |             __asm ("cmpne r3, 3");
                                                                 |         }
                                                                 |         if (r0 > 0x1b) {
    0x0000f6ce bhi.w 0xfd6c                                      |             goto label_156;
                                                                 |         }
    0x0000f6d2 ldr r3, [r5, 0x1c]                                |         r3 = *((r5 + 0x1c));
    0x0000f6d4 ldr r3, [r3, 0x6c]                                |         r3 = *((r3 + 0x6c));
    0x0000f6d6 cmp r3, 3                                         |         
                                                                 |         if (r3 != 3) {
    0x0000f6d8 bne.w 0xfd6c                                      |             goto label_156;
                                                                 |         }
    0x0000f6dc ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x0000f6de ldr r1, [r6, 0x60]                                |         r1 = *((r6 + 0x60));
    0x0000f6e0 ldr r2, [r3, 8]                                   |         r2 = *((r3 + 8));
    0x0000f6e2 cmp r2, 0                                         |         
                                                                 |         if (r2 < 0) {
    0x0000f6e4 blt.w 0xfad2                                      |             goto label_157;
                                                                 |         }
    0x0000f6e8 cmp r1, 0                                         |         
                                                                 |         if (r1 != 0) {
    0x0000f6ea bne.w 0xf86a                                      |             goto label_158;
                                                                 |         }
    0x0000f6ee ldr r1, [r6, 4]                                   |         r1 = *((r6 + 4));
    0x0000f6f0 ldr r3, [r1, 0x10]                                |         r3 = *((r1 + 0x10));
                                                                 |         if (r3 != 0) {
    0x0000f6f2 cbz r3, 0xf6fc                                    |             
    0x0000f6f4 ldrsb r3, [r3, r2]                                |             r3 = *((r3 + r2));
    0x0000f6f6 cmp r3, 0                                         |             
                                                                 |             if (r3 >= 0) {
    0x0000f6f8 bge.w 0xf87a                                      |                 goto label_159;
                                                                 |             }
    0x0000f6fa strh r7, [r7, 4]                                  |             *((r7 + 4)) = r7;
                                                                 |         }
                                                                 | label_31:
    0x0000f6fc adds r1, 0x10                                     |         r1 += 0x10;
                                                                 | label_14:
    0x0000f6fe ldr r3, [r1, 4]                                   |         r3 = *((r1 + 4));
    0x0000f700 cmp r3, 5                                         |         
    0x0000f702 ite le                                            |         
                                                                 |         if (r3 > 5) {
    0x0000f704 movle r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r3 <= 5) {
    0x0000f706 movgt r3, 1                                       |             r3 = 1;
                                                                 |         }
                                                                 | label_15:
    0x0000f708 cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0000f70a bne.w 0xfb46                                      |             goto label_160;
                                                                 |         }
                                                                 | label_35:
    0x0000f70e ldr.w r0, [pc, 0x710]                             |         
    0x0000f712 movs r2, 6                                        |         r2 = 6;
    0x0000f714 ldr r3, [sp, 0x24]                                |         r3 = var_24h_2;
    0x0000f716 movw r1, 0x5f1                                    |         r1 = 0x5f1;
    0x0000f71a add r0, pc                                        |         r0 = 0x1f540;
    0x0000f71c bl 0x14f78                                        |         fcn_00014f78 (r0, r1, r2, r3, r4);
                                                                 | label_131:
    0x0000f720 ldr r0, [r7]                                      |         r0 = *(r7);
    0x0000f722 blx 0x70a8                                        |         r0 = fcn_000070a8 ();
    0x0000f726 mov r8, r0                                        |         r8 = r0;
    0x0000f728 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000f72a beq.w 0xfadc                                      |             goto label_161;
                                                                 |         }
    0x0000f72e ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
                                                                 |         if (r0 != 0) {
    0x0000f730 cbz r0, 0xf736                                    |             
    0x0000f732 blx 0x6a5c                                        |             SSL_CTX_get_verify_mode ();
                                                                 |         }
    0x0000f736 movs r3, 0                                        |         r3 = 0;
    0x0000f738 strd r3, r8, [r4, 4]                              |         __asm ("strd r3, r8, [r4, 4]");
                                                                 | label_32:
    0x0000f73c mov.w r8, 0                                       |         r8 = 0;
    0x0000f740 b 0xf478                                          |         goto label_9;
                                                                 | label_137:
    0x0000f742 ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x0000f744 ldr r1, [r6, 0x60]                                |         r1 = *((r6 + 0x60));
    0x0000f746 ldr r2, [r3, 8]                                   |         r2 = *((r3 + 8));
    0x0000f748 cmp r2, 0                                         |         
                                                                 |         if (r2 < 0) {
    0x0000f74a blt.w 0xfac2                                      |             goto label_162;
                                                                 |         }
    0x0000f74e cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x0000f750 beq.w 0xfa28                                      |             goto label_163;
                                                                 |         }
    0x0000f754 ldr r3, [r1]                                      |         r3 = *(r1);
    0x0000f756 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0000f758 beq.w 0xfa38                                      |             goto label_27;
                                                                 |         }
    0x0000f75c ldrsb r3, [r3, r2]                                |         r3 = *((r3 + r2));
    0x0000f75e cmp r3, 0                                         |         
                                                                 |         if (r3 < 0) {
    0x0000f760 blt.w 0xfa38                                      |             goto label_27;
                                                                 |         }
                                                                 | label_22:
    0x0000f764 cmp r3, 5                                         |         
    0x0000f766 ite le                                            |         
                                                                 |         if (r3 > 5) {
    0x0000f768 movle r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r3 <= 5) {
    0x0000f76a movgt r3, 1                                       |             r3 = 1;
                                                                 |         }
                                                                 | label_23:
    0x0000f76c cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0000f76e bne.w 0xfb2a                                      |             goto label_164;
                                                                 |         }
                                                                 | label_34:
    0x0000f772 ldr.w r0, [pc, 0x6b0]                             |         
    0x0000f776 movs r2, 6                                        |         r2 = 6;
    0x0000f778 ldr r3, [sp, 0x24]                                |         r3 = var_24h_2;
    0x0000f77a movw r1, 0x51b                                    |         r1 = 0x51b;
    0x0000f77e add r0, pc                                        |         r0 = 0x1f5a8;
    0x0000f780 bl 0x14f78                                        |         fcn_00014f78 (r0, r1, r2, r3, r4);
    0x0000f784 mov r1, r6                                        |         r1 = r6;
    0x0000f786 mov r0, r7                                        |         r0 = r7;
    0x0000f788 movs r2, 1                                        |         r2 = 1;
    0x0000f78a bl 0xe38c                                         |         fcn_0000e38c (r0, r1, r2, r3);
    0x0000f78e ldr.w r2, [pc, 0x698]                             |         
    0x0000f792 ldr.w r1, [pc, 0x698]                             |         
    0x0000f796 ldr r0, [r6, 0x30]                                |         r0 = *((r6 + 0x30));
    0x0000f798 add r2, pc                                        |         r2 = 0x1f5c6;
    0x0000f79a add r1, pc                                        |         r1 = 0x1f5cc;
    0x0000f79c blx 0x7e60                                        |         BIO_meth_set_read ();
    0x0000f7a0 b 0xf6ba                                          |         
                                                                 |     } while (1);
                                                                 | label_126:
    0x0000f7a2 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000f7a4 ldrd r5, r8, [sp, 0x34]                           |     __asm ("ldrd r5, r8, [var_34h_2]");
    0x0000f7a8 ldr r7, [sp, 0x3c]                                |     r7 = var_3ch_2;
    0x0000f7aa ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000f7ac ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000f7ae cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000f7b0 blt.w 0xfaca                                      |         goto label_165;
                                                                 |     }
    0x0000f7b4 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000f7b6 beq.w 0xfa44                                      |         goto label_166;
                                                                 |     }
    0x0000f7ba ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000f7bc cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000f7be beq.w 0xfa54                                      |         goto label_29;
                                                                 |     }
    0x0000f7c2 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000f7c4 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000f7c6 blt.w 0xfa54                                      |         goto label_29;
                                                                 |     }
                                                                 | label_24:
    0x0000f7ca cmp r3, 7                                         |     
    0x0000f7cc ite le                                            |     
                                                                 |     if (r3 > 7) {
    0x0000f7ce movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 7) {
    0x0000f7d0 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 | label_25:
    0x0000f7d2 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000f7d4 bne.w 0xfb62                                      |         goto label_167;
                                                                 |     }
    0x0000f7d8 ldr r3, [sp, 0x30]                                |     r3 = var_30h_2;
    0x0000f7da cmp r4, r3                                        |     
                                                                 |     if (r4 == r3) {
    0x0000f7dc beq.w 0xf4a2                                      |         goto label_13;
                                                                 |     }
    0x0000f7e0 ldr r0, [r7]                                      |     r0 = *(r7);
    0x0000f7e2 subs r2, r4, r3                                   |     r2 = r4 - r3;
    0x0000f7e4 mov r1, r3                                        |     r1 = r3;
    0x0000f7e6 blx 0x690c                                        |     r0 = SSL_client_hello_get0_ext ();
    0x0000f7ea cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000f7ec beq.w 0xf4a2                                      |         goto label_13;
                                                                 |     }
    0x0000f7ee add r6, sp, 0x164                                 |     r6 = sp + 0x164;
    0x0000f7f0 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000f7f2 movw r8, 0xd4c1                                   |     
    0x0000f7f6 ldr.w r4, [pc, 0x638]                             |     
    0x0000f7f8 mov r0, r7                                        |     r0 = r7;
    0x0000f7fa movt r8, 1                                        |     r8 = 0x1d4c1;
    0x0000f7fe ldr.w r1, [pc, 0x634]                             |     
    0x0000f802 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000f804 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch_2;
    0x0000f806 add r4, pc                                        |     r4 = 0x1f63c;
    0x0000f808 add r1, pc                                        |     r1 = 0x1f642;
    0x0000f80a mov r0, r4                                        |     r0 = r4;
    0x0000f80c str r1, [sp, 8]                                   |     var_8h_3 = r1;
    0x0000f80e movw r1, 0x4f6                                    |     r1 = 0x4f6;
    0x0000f812 str r3, [sp, 0xc]                                 |     var_ch_3 = r3;
    0x0000f814 movs r3, 0                                        |     r3 = 0;
    0x0000f816 str r3, [sp]                                      |     *(sp) = r3;
    0x0000f818 movs r3, 4                                        |     r3 = 4;
    0x0000f81a str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000f81c blx 0x7380                                        |     BIO_set_init ();
    0x0000f820 ldr r3, [sp, 0x24]                                |     r3 = var_24h_2;
    0x0000f822 movs r2, 4                                        |     r2 = 4;
    0x0000f824 mov.w r1, 0x4f8                                   |     r1 = 0x4f8;
    0x0000f828 mov r0, r4                                        |     r0 = r4;
    0x0000f82a bl 0x14f78                                        |     fcn_00014f78 (r0, r1, r2, r3, r4);
    0x0000f82e b 0xf478                                          |     goto label_9;
                                                                 | label_127:
    0x0000f830 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000f832 movw r8, 0x4e2e                                   |     r8 = 0x4e2e;
    0x0000f836 ldr.w r4, [pc, 0x600]                             |     
    0x0000f83a ldr.w r1, [pc, 0x600]                             |     
    0x0000f83e ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000f840 movs r3, 0                                        |     r3 = 0;
    0x0000f842 add r4, pc                                        |     r4 = 0x1f680;
    0x0000f844 str r3, [sp]                                      |     *(sp) = r3;
    0x0000f846 add r1, pc                                        |     r1 = 0x1f688;
    0x0000f848 mov r0, r4                                        |     r0 = r4;
    0x0000f84a str r1, [sp, 8]                                   |     var_8h_3 = r1;
    0x0000f84c movs r3, 3                                        |     r3 = 3;
    0x0000f84e movw r1, 0x4df                                    |     r1 = 0x4df;
    0x0000f852 str r7, [sp, 0xc]                                 |     var_ch_3 = r7;
    0x0000f854 str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000f856 blx 0x7380                                        |     BIO_set_init ();
    0x0000f85a ldr r3, [sp, 0x24]                                |     r3 = var_24h_2;
    0x0000f85c movs r2, 3                                        |     r2 = 3;
    0x0000f85e movw r1, 0x4e2                                    |     r1 = 0x4e2;
    0x0000f862 mov r0, r4                                        |     r0 = r4;
    0x0000f864 bl 0x14f78                                        |     fcn_00014f78 (r0, r1, r2, r3, r4);
    0x0000f868 b 0xf478                                          |     goto label_9;
                                                                 | label_158:
    0x0000f86a ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000f86c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000f86e beq.w 0xf6fe                                      |         goto label_14;
                                                                 |     }
    0x0000f872 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000f874 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000f876 blt.w 0xf6fe                                      |         goto label_14;
                                                                 |     }
                                                                 | label_159:
    0x0000f87a cmp r3, 5                                         |     
    0x0000f87c ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000f87e movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000f880 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000f882 b 0xf708                                          |     goto label_15;
                                                                 | label_132:
    0x0000f884 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000f886 beq.w 0xfdd6                                      |         goto label_168;
                                                                 |     }
                                                                 | label_47:
    0x0000f88a ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000f88c cmp r3, 5                                         |     
    0x0000f88e ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000f890 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000f892 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000f894 b 0xf42c                                          |     goto label_16;
                                                                 |     if (r1 == 0) {
                                                                 | label_39:
    0x0000f896 cbnz r1, 0xf89c                                   |         
    0x0000f898 ldr r1, [r6, 4]                                   |         r1 = *((r6 + 4));
                                                                 | label_63:
    0x0000f89a adds r1, 0x10                                     |         r1 += 0x10;
                                                                 |     }
                                                                 | label_40:
    0x0000f89c ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000f89e cmp r3, 5                                         |     
                                                                 |     if (r3 > 5) {
    0x0000f8a0 bgt.w 0xfcb4                                      |         goto label_169;
                                                                 |     }
                                                                 | label_21:
    0x0000f8a4 cmp.w fp, 0                                       |     
                                                                 |     if (fp == 0) {
    0x0000f8a8 beq.w 0xf692                                      |         goto label_17;
                                                                 |     }
                                                                 | label_41:
    0x0000f8ac ldr.w r3, [fp, 8]                                 |     r3 = *(arg_8h);
    0x0000f8b0 cmp r3, 0                                         |     
    0x0000f8b2 it gt                                             |     
                                                                 |     if (r3 > 0) {
    0x0000f8b4 movgt r4, 0                                       |         r4 = 0;
                                                                 |         goto label_170;
                                                                 |     }
                                                                 |     if (r3 <= 0) {
                                                                 | label_170:
    0x0000f8b6 ble.w 0xf692                                      |         goto label_17;
                                                                 |     }
                                                                 | label_155:
    0x0000f8ba add r1, sp, 0x44                                  |     r1 += var_44h_3;
    0x0000f8bc ldr r0, [r7]                                      |     r0 = *(r7);
    0x0000f8be add r2, sp, 0x48                                  |     r2 += var_48h;
    0x0000f8c0 blx 0x7528                                        |     fcn_00007528 ();
    0x0000f8c4 ldr r1, [sp, 0x44]                                |     r1 = var_44h_3;
    0x0000f8c6 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000f8c8 beq.w 0xfc34                                      |         goto label_171;
                                                                 |     }
    0x0000f8ca strh r4, [r6, 0xc]                                |     *((r6 + 0xc)) = r4;
    0x0000f8cc ldr r2, [sp, 0x48]                                |     r2 = var_48h;
    0x0000f8ce cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x0000f8d0 beq.w 0xfc34                                      |         goto label_171;
                                                                 |     }
    0x0000f8d4 mov r3, r7                                        |     r3 = r7;
    0x0000f8d6 ldr.w r5, [fp, 8]                                 |     r5 = *(arg_8h);
    0x0000f8d8 str r0, [r1, r0]                                  |     *((r1 + r0)) = r0;
    0x0000f8da mov r7, fp                                        |     r7 = fp;
    0x0000f8dc str r4, [sp, 0x20]                                |     var_20h_2 = r4;
    0x0000f8de str r6, [sp, 0x1c]                                |     var_1ch_2 = r6;
    0x0000f8e0 mov.w sb, 0                                       |     sb = 0;
    0x0000f8e4 mov r4, r1                                        |     r4 = r1;
    0x0000f8e6 mov r6, r2                                        |     r6 = r2;
    0x0000f8e8 mov fp, r3                                        |     
    0x0000f8ea b 0xf904                                          |     
                                                                 |     while (r5 > sb) {
    0x0000f8ec ldr r2, [r7, 0x10]                                |         r2 = *((r7 + 0x10));
    0x0000f8ee mov r0, r4                                        |         r0 = r4;
    0x0000f8f0 ldr.w r1, [r2, sb, lsl 2]                         |         offset_1 = sb << 2;
                                                                 |         r1 = *((r2 + offset_1));
    0x0000f8f4 mov r2, r6                                        |         r2 = r6;
    0x0000f8f6 add.w sb, sb, 1                                   |         sb++;
    0x0000f8fa blx 0x6a68                                        |         r0 = ASN1_d2i_bio ();
    0x0000f8fe cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000f900 beq.w 0xfef6                                      |             goto label_172;
                                                                 |         }
    0x0000f904 cmp r5, sb                                        |         
    0x0000f906 bgt 0xf8ec                                        |         
                                                                 |     }
    0x0000f908 mov r2, r6                                        |     r2 = r6;
    0x0000f90a ldr r6, [sp, 0x1c]                                |     r6 = var_1ch_2;
    0x0000f90c mov r1, r4                                        |     r1 = r4;
    0x0000f90e mov r7, fp                                        |     r7 = fp;
    0x0000f910 ldr r0, [r6]                                      |     r0 = *(r6);
    0x0000f912 blx 0x7594                                        |     fcn_00007594 ();
    0x0000f916 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000f918 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000f91a cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000f91c blt.w 0xffd8                                      |         goto label_173;
                                                                 |     }
    0x0000f920 ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000f922 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000f924 beq.w 0xff58                                      |         goto label_174;
                                                                 |     }
    0x0000f928 ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000f92a cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000f92c beq.w 0xff68                                      |         goto label_76;
                                                                 |     }
    0x0000f930 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000f932 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000f934 blt.w 0xff68                                      |         goto label_76;
                                                                 |     }
                                                                 | label_65:
    0x0000f938 cmp r3, 5                                         |     
    0x0000f93a ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000f93c movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000f93e movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 | label_66:
    0x0000f940 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000f942 beq.w 0xf692                                      |         goto label_17;
                                                                 |     }
    0x0000f946 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch_2;
    0x0000f948 movw r1, 0x579                                    |     r1 = 0x579;
    0x0000f94c strd r0, r3, [sp, 0xc]                            |     __asm ("strd r0, r3, [sp, 0xc]");
    0x0000f94e lsls r3, r0, 0xc                                  |     r3 = r0 << 0xc;
    0x0000f950 ldr.w r3, [pc, 0x4ec]                             |     
    0x0000f954 ldr.w r0, [pc, 0x4ec]                             |     
    0x0000f958 add r3, pc                                        |     r3 = 0x1f79c;
    0x0000f95a strd r6, r3, [sp, 4]                              |     __asm ("strd r6, r3, [sp, 4]");
    0x0000f95e movs r3, 0                                        |     r3 = 0;
    0x0000f960 str r3, [sp]                                      |     *(sp) = r3;
    0x0000f962 add r0, pc                                        |     r0 = 0x1f7aa;
    0x0000f964 movs r3, 6                                        |     r3 = 6;
    0x0000f966 blx 0x7380                                        |     BIO_set_init ();
    0x0000f96a b 0xf692                                          |     goto label_17;
                                                                 | label_151:
    0x0000f96c cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000f96e beq.w 0xfed6                                      |         goto label_175;
                                                                 |     }
                                                                 | label_51:
    0x0000f972 ldr r4, [r1, 4]                                   |     r4 = *((r1 + 4));
    0x0000f974 cmp r4, 5                                         |     
    0x0000f976 ite le                                            |     
                                                                 |     if (r4 > 5) {
    0x0000f978 movle r4, 0                                       |         r4 = 0;
                                                                 |     }
                                                                 |     if (r4 <= 5) {
    0x0000f97a movgt r4, 1                                       |         r4 = 1;
                                                                 |     }
    0x0000f97c b 0xf65a                                          |     goto label_18;
                                                                 | label_148:
    0x0000f97e cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000f980 beq.w 0xfef2                                      |         goto label_176;
                                                                 |     }
                                                                 | label_54:
    0x0000f984 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000f986 cmp r3, 5                                         |     
    0x0000f988 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000f98a movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000f98c movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000f98e b 0xf5fe                                          |     goto label_19;
                                                                 | label_154:
    0x0000f990 ldr.w r2, [pc, 0x4b4]                             |     
    0x0000f994 mov r0, r3                                        |     r0 = r3;
    0x0000f996 ldr r1, [sp, 0x24]                                |     r1 = var_24h_2;
    0x0000f998 add r2, pc                                        |     r2 = 0x1f7e4;
    0x0000f99a str r2, [sp]                                      |     *(sp) = r2;
    0x0000f99c mov r2, r6                                        |     r2 = r6;
    0x0000f99e bl 0x17870                                        |     fcn_00017870 (r0, r1, r2, r3, r4, r5, r6);
    0x0000f9a2 ldr r1, [sp, 0x28]                                |     r1 = var_28h_2;
    0x0000f9a4 mov r5, r0                                        |     r5 = r0;
    0x0000f9a6 blx 0x6924                                        |     r0 = BIO_new ();
    0x0000f9aa cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000f9ac beq.w 0xf67c                                      |         goto label_20;
                                                                 |     }
    0x0000f9b0 ldrb r3, [r5]                                     |     r3 = *(r5);
    0x0000f9b2 cmp r3, 0x2a                                      |     
                                                                 |     if (r3 != 0x2a) {
    0x0000f9b4 bne 0xf9d2                                        |         goto label_177;
                                                                 |     }
    0x0000f9b6 ldrb r3, [r5, 1]                                  |     r3 = *((r5 + 1));
    0x0000f9b8 cmp r3, 0x2e                                      |     
                                                                 |     if (r3 != 0x2e) {
    0x0000f9ba bne 0xf9d2                                        |         goto label_177;
                                                                 |     }
    0x0000f9bc ldr r0, [sp, 0x28]                                |     r0 = var_28h_2;
    0x0000f9be movs r1, 0x2e                                     |     r1 = 0x2e;
    0x0000f9c0 blx 0x7e0c                                        |     r0 = OBJ_txt2nid ();
                                                                 |     if (r0 == 0) {
    0x0000f9c4 cbz r0, 0xf9d2                                    |         goto label_177;
                                                                 |     }
    0x0000f9c6 adds r1, r5, 1                                    |     r1 = r5 + 1;
    0x0000f9c8 blx 0x6924                                        |     r0 = BIO_new ();
    0x0000f9cc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000f9ce beq.w 0xf67c                                      |         goto label_20;
                                                                 |     }
                                                                 | label_177:
    0x0000f9d2 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000f9d4 ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000f9d6 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000f9d8 cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000f9da blt.w 0xfeda                                      |         goto label_178;
                                                                 |     }
    0x0000f9de cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000f9e0 beq.w 0xffc6                                      |         goto label_179;
                                                                 |     }
    0x0000f9e4 ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000f9e6 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000f9e8 beq.w 0xfee0                                      |         goto label_180;
                                                                 |     }
    0x0000f9ec ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000f9ee cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000f9f0 blt.w 0xfee0                                      |         goto label_180;
                                                                 |     }
    0x0000f9f2 strh r6, [r6, 0x12]                               |     *((r6 + 0x12)) = r6;
                                                                 | label_75:
    0x0000f9f4 cmp r3, 5                                         |     
    0x0000f9f6 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000f9f8 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000f9fa movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000f9fc cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000f9fe beq.w 0xf8a4                                      |         goto label_21;
                                                                 |     }
                                                                 | label_57:
    0x0000fa02 ldr r3, [sp, 0x28]                                |     r3 = var_28h_2;
    0x0000fa04 movw r1, 0x54f                                    |     r1 = 0x54f;
    0x0000fa08 ldr.w r0, [pc, 0x440]                             |     
    0x0000fa0a lsls r0, r0, 0x11                                 |     r0 <<= 0x11;
    0x0000fa0c str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000fa0e strd r5, r3, [sp, 0xc]                            |     __asm ("strd r5, r3, [sp, 0xc]");
    0x0000fa12 ldr.w r3, [pc, 0x43c]                             |     
    0x0000fa16 add r0, pc                                        |     r0 = 0x1f866;
    0x0000fa18 add r3, pc                                        |     r3 = 0x1f86e;
    0x0000fa1a str r3, [sp, 8]                                   |     var_8h_3 = r3;
    0x0000fa1c movs r3, 0                                        |     r3 = 0;
    0x0000fa1e str r3, [sp]                                      |     *(sp) = r3;
    0x0000fa20 movs r3, 6                                        |     r3 = 6;
    0x0000fa22 blx 0x7380                                        |     BIO_set_init ();
    0x0000fa26 b 0xf8a4                                          |     goto label_21;
                                                                 | label_163:
    0x0000fa28 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000fa2a ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
                                                                 |     if (r3 == 0) {
    0x0000fa2c cbz r3, 0xfa36                                    |         goto label_28;
                                                                 |     }
    0x0000fa2e ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000fa30 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x0000fa32 bge.w 0xf764                                      |         goto label_22;
                                                                 |     }
    0x0000fa34 add r6, sp, 0x25c                                 |     r6 = sp + 0x25c;
                                                                 | label_28:
    0x0000fa36 adds r1, 0x10                                     |     r1 += 0x10;
                                                                 | label_27:
    0x0000fa38 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000fa3a cmp r3, 5                                         |     
    0x0000fa3c ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000fa3e movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000fa40 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000fa42 b 0xf76c                                          |     goto label_23;
                                                                 | label_166:
    0x0000fa44 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000fa46 ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
                                                                 |     if (r3 == 0) {
    0x0000fa48 cbz r3, 0xfa52                                    |         goto label_30;
                                                                 |     }
    0x0000fa4a ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000fa4c cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x0000fa4e bge.w 0xf7ca                                      |         goto label_24;
                                                                 |     }
                                                                 | label_30:
    0x0000fa52 adds r1, 0x10                                     |     r1 += 0x10;
                                                                 | label_29:
    0x0000fa54 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000fa56 cmp r3, 7                                         |     
    0x0000fa58 ite le                                            |     
                                                                 |     if (r3 > 7) {
    0x0000fa5a movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 7) {
    0x0000fa5c movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000fa5e b 0xf7d2                                          |     goto label_25;
                                                                 | label_136:
    0x0000fa60 ldr r0, [r7]                                      |     r0 = *(r7);
    0x0000fa62 movs r2, 0                                        |     r2 = 0;
    0x0000fa64 ldr r3, [sp, 0x28]                                |     r3 = var_28h_2;
    0x0000fa66 movs r1, 0x37                                     |     r1 = 0x37;
    0x0000fa68 blx 0x7308                                        |     r0 = loc_imp_apr_time_exp_lt ();
    0x0000fa6c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000fa6e beq.w 0xfd82                                      |         goto label_181;
                                                                 |     }
    0x0000fa72 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000fa74 ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000fa76 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000fa78 cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000fa7a blt.w 0xfcee                                      |         goto label_182;
                                                                 |     }
    0x0000fa7e cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000fa80 beq.w 0xff1a                                      |         goto label_183;
                                                                 |     }
    0x0000fa84 ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000fa86 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000fa88 beq.w 0xfcf4                                      |         goto label_184;
                                                                 |     }
    0x0000fa8c ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000fa8e cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000fa90 blt.w 0xfcf4                                      |         goto label_184;
                                                                 |     }
    0x0000fa94 cmp r3, 9                                         |     
    0x0000fa96 ite le                                            |     
                                                                 |     if (r3 > 9) {
    0x0000fa98 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 9) {
    0x0000fa9a movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 | label_43:
    0x0000fa9c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000fa9e beq.w 0xf4b6                                      |         goto label_26;
                                                                 |     }
    0x0000faa2 ldr r3, [sp, 0x28]                                |     r3 = var_28h_2;
    0x0000faa4 movw r1, 0x50c                                    |     r1 = 0x50c;
    0x0000faa6 str r4, [r1, r4]                                  |     *((r1 + r4)) = r4;
    0x0000faa8 ldr r0, [pc, 0x3a8]                               |     
    0x0000faaa str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000faac str r3, [sp, 0xc]                                 |     var_ch_3 = r3;
    0x0000faae ldr r3, [pc, 0x3a8]                               |     
    0x0000fab0 add r0, pc                                        |     r0 = 0x1f908;
    0x0000fab2 add r3, pc                                        |     r3 = 0x1f910;
    0x0000fab4 str r3, [sp, 8]                                   |     var_8h_3 = r3;
    0x0000fab6 movs r3, 0                                        |     r3 = 0;
    0x0000fab8 str r3, [sp]                                      |     *(sp) = r3;
    0x0000faba movs r3, 0xa                                      |     r3 = 0xa;
    0x0000fabc blx 0x7380                                        |     BIO_set_init ();
    0x0000fac0 b 0xf4b6                                          |     goto label_26;
                                                                 | label_162:
    0x0000fac2 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0000fac4 bne 0xfa38                                        |         goto label_27;
                                                                 |     }
    0x0000fac6 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000fac8 b 0xfa36                                          |     goto label_28;
                                                                 | label_165:
    0x0000faca cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0000facc bne 0xfa54                                        |         goto label_29;
                                                                 |     }
    0x0000face ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000fad0 b 0xfa52                                          |     goto label_30;
                                                                 | label_157:
    0x0000fad2 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0000fad4 bne.w 0xf6fe                                      |         goto label_14;
                                                                 |     }
    0x0000fad6 add r6, sp, 0x4c                                  |     r6 = sp + 0x4c;
    0x0000fad8 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000fada b 0xf6fc                                          |     goto label_31;
                                                                 | label_161:
    0x0000fadc ldr r3, [r5, 0x1c]                                |     r3 = *((r5 + 0x1c));
    0x0000fade ldr r3, [r3, 0x6c]                                |     r3 = *((r3 + 0x6c));
    0x0000fae0 cmp r3, 2                                         |     
                                                                 |     if (r3 != 2) {
    0x0000fae2 bne.w 0xf73c                                      |         goto label_32;
                                                                 |     }
    0x0000fae6 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0000fae8 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000faea bne.w 0xf73c                                      |         goto label_32;
                                                                 |     }
    0x0000faee ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000faf0 ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000faf2 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000faf4 cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000faf6 blt.w 0xffbe                                      |         goto label_185;
                                                                 |     }
    0x0000fafa cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000fafc beq.w 0xff74                                      |         goto label_186;
                                                                 |     }
    0x0000fb00 ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000fb02 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000fb04 beq.w 0xff84                                      |         goto label_72;
                                                                 |     }
    0x0000fb08 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000fb0a cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000fb0c blt.w 0xff84                                      |         goto label_72;
                                                                 |     }
                                                                 | label_67:
    0x0000fb10 cmp r3, 5                                         |     
    0x0000fb12 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000fb14 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000fb16 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 | label_68:
    0x0000fb18 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000fb1a bne.w 0xffa2                                      |         goto label_187;
                                                                 |     }
                                                                 | label_71:
    0x0000fb1e movs r2, 1                                        |     r2 = 1;
    0x0000fb20 mov r1, r6                                        |     r1 = r6;
    0x0000fb22 mov r0, r7                                        |     r0 = r7;
    0x0000fb24 bl 0xe38c                                         |     fcn_0000e38c (r0, r1, r2, r3);
    0x0000fb28 b 0xf474                                          |     goto label_33;
                                                                 | label_164:
    0x0000fb2a ldr r3, [pc, 0x330]                               |     
    0x0000fb2c movw r1, 0x519                                    |     r1 = 0x519;
    0x0000fb30 ldr r0, [pc, 0x32c]                               |     
    0x0000fb32 add r3, pc                                        |     r3 = 0x1f994;
    0x0000fb34 strd r6, r3, [sp, 4]                              |     __asm ("strd r6, r3, [sp, 4]");
    0x0000fb38 movs r3, 0                                        |     r3 = 0;
    0x0000fb3a str r3, [sp]                                      |     *(sp) = r3;
    0x0000fb3c add r0, pc                                        |     r0 = "AH01894: Unable to initialize TLS servername extension callback (incompatible OpenSSL version?)";
    0x0000fb3e movs r3, 6                                        |     r3 = 6;
    0x0000fb40 blx 0x7380                                        |     BIO_set_init ();
    0x0000fb44 b 0xf772                                          |     goto label_34;
                                                                 | label_160:
    0x0000fb46 ldr r3, [pc, 0x31c]                               |     
    0x0000fb48 movw r1, 0x5ec                                    |     r1 = 0x5ec;
    0x0000fb4c ldr r0, [pc, 0x318]                               |     
    0x0000fb4e str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000fb50 add r3, pc                                        |     r3 = 0x1f9ba;
    0x0000fb52 str r3, [sp, 8]                                   |     var_8h_3 = r3;
    0x0000fb54 movs r3, 0                                        |     r3 = 0;
    0x0000fb56 str r3, [sp]                                      |     *(sp) = r3;
    0x0000fb58 add r0, pc                                        |     r0 = 0x1f9c4;
    0x0000fb5a movs r3, 6                                        |     r3 = 6;
    0x0000fb5c blx 0x7380                                        |     BIO_set_init ();
    0x0000fb60 b 0xf70e                                          |     goto label_35;
                                                                 | label_167:
    0x0000fb62 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch_2;
    0x0000fb64 mov.w r1, 0x4f0                                   |     r1 = 0x4f0;
    0x0000fb68 ldr r0, [pc, 0x300]                               |     
    0x0000fb6a str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000fb6c str r3, [sp, 0xc]                                 |     var_ch_3 = r3;
    0x0000fb6e ldr r3, [pc, 0x300]                               |     
    0x0000fb70 add r0, pc                                        |     r0 = 0x1f9e0;
    0x0000fb72 add r3, pc                                        |     r3 = 0x1f9e8;
    0x0000fb74 str r3, [sp, 8]                                   |     var_8h_3 = r3;
    0x0000fb76 ldr r3, [sp, 0x30]                                |     r3 = var_30h_2;
    0x0000fb78 subs r3, r4, r3                                   |     r3 = r4 - r3;
    0x0000fb7a str r3, [sp, 0x10]                                |     var_10h_2 = r3;
    0x0000fb7c movs r3, 0                                        |     r3 = 0;
    0x0000fb7e str r3, [sp]                                      |     *(sp) = r3;
    0x0000fb80 movs r3, 8                                        |     r3 = 8;
    0x0000fb82 blx 0x7380                                        |     BIO_set_init ();
    0x0000fb84 invalid                                           |     
                                                                 | label_144:
    0x0000fb88 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000fb8a ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000fb8c ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000fb8e cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000fb90 blt.w 0xfcdc                                      |         goto label_188;
                                                                 |     }
    0x0000fb94 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000fb96 beq.w 0xff06                                      |         goto label_189;
                                                                 |     }
    0x0000fb9a ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000fb9c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000fb9e beq.w 0xfce2                                      |         goto label_190;
                                                                 |     }
    0x0000fba2 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000fba4 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000fba6 blt.w 0xfce2                                      |         goto label_190;
                                                                 |     }
    0x0000fbaa cmp r3, 5                                         |     
    0x0000fbac ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000fbae movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000fbb0 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 | label_42:
    0x0000fbb2 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000fbb4 beq.w 0xf616                                      |         goto label_36;
                                                                 |     }
    0x0000fbb8 ldr r1, [pc, 0x2b8]                               |     
    0x0000fbba movs r3, 6                                        |     r3 = 6;
    0x0000fbbc ldr r0, [pc, 0x2b8]                               |     
    0x0000fbbe str r5, [sp]                                      |     *(sp) = r5;
    0x0000fbc0 add r1, pc                                        |     r1 = 0x1fa38;
    0x0000fbc2 str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000fbc4 str r1, [sp, 8]                                   |     var_8h_3 = r1;
    0x0000fbc6 add r0, pc                                        |     r0 = 0x1fa42;
    0x0000fbc8 movw r1, 0x5aa                                    |     r1 = 0x5aa;
    0x0000fbcc blx 0x7380                                        |     BIO_set_init ();
    0x0000fbd0 b 0xf616                                          |     goto label_36;
                                                                 | label_147:
    0x0000fbd2 cmp.w sb, 0                                       |     
                                                                 |     if (sb < 0) {
    0x0000fbd6 blt.w 0xfd20                                      |         goto label_191;
                                                                 |     }
    0x0000fbda cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000fbdc beq.w 0xff2e                                      |         goto label_192;
                                                                 |     }
    0x0000fbe0 ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000fbe2 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000fbe4 beq.w 0xfd26                                      |         goto label_193;
                                                                 |     }
    0x0000fbe8 ldrsb.w r3, [r3, sb]                              |     r3 = *((r3 + sb));
    0x0000fbec cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000fbee blt.w 0xfd26                                      |         goto label_193;
                                                                 |     }
                                                                 | label_62:
    0x0000fbf2 cmp r3, 6                                         |     
    0x0000fbf4 ite le                                            |     
                                                                 |     if (r3 > 6) {
    0x0000fbf6 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 6) {
    0x0000fbf8 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 | label_44:
    0x0000fbfa cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000fbfc beq.w 0xf616                                      |         goto label_36;
                                                                 |     }
    0x0000fc00 ldr r1, [pc, 0x278]                               |     
    0x0000fc02 movs r3, 7                                        |     r3 = 7;
    0x0000fc04 ldr r0, [pc, 0x278]                               |     
    0x0000fc06 mov r2, sb                                        |     r2 = sb;
    0x0000fc08 str r5, [sp]                                      |     *(sp) = r5;
    0x0000fc0a add r1, pc                                        |     r1 = 0x1fa8a;
    0x0000fc0c str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000fc0e str r1, [sp, 8]                                   |     var_8h_3 = r1;
    0x0000fc10 add r0, pc                                        |     r0 = 0x1fa94;
    0x0000fc12 movw r1, 0x5c1                                    |     r1 = 0x5c1;
    0x0000fc16 blx 0x7380                                        |     BIO_set_init ();
    0x0000fc1a b 0xf616                                          |     goto label_36;
                                                                 | label_146:
    0x0000fc1c blx 0x73d4                                        |     r0 = PEM_X509_INFO_read_bio ();
    0x0000fc20 ubfx r3, r0, 0, 0xc                               |     r3 = (r0 >> 0) & ((1 << 0xc) - 1);
    0x0000fc24 cmp r3, 0x9c                                      |     
                                                                 |     if (r3 != 0x9c) {
    0x0000fc26 bne.w 0xf5c6                                      |         goto label_37;
                                                                 |     }
    0x0000fc2a movw r8, 0xd4c0                                   |     
    0x0000fc2e movt r8, 1                                        |     r8 = 0x1d4c0;
    0x0000fc32 b 0xf478                                          |     goto label_9;
                                                                 | label_171:
    0x0000fc34 cmp.w sb, 0                                       |     
                                                                 |     if (sb != 0) {
    0x0000fc38 bne.w 0xf68c                                      |         goto label_38;
                                                                 |     }
    0x0000fc3c ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000fc3e ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000fc40 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000fc42 cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000fc44 blt.w 0xfec4                                      |         goto label_194;
                                                                 |     }
    0x0000fc48 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000fc4a beq.w 0xff90                                      |         goto label_195;
                                                                 |     }
    0x0000fc4e ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000fc50 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000fc52 beq.w 0xfeca                                      |         goto label_196;
                                                                 |     }
    0x0000fc56 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000fc58 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000fc5a blt.w 0xfeca                                      |         goto label_196;
                                                                 |     }
                                                                 | label_70:
    0x0000fc5e cmp r3, 5                                         |     
    0x0000fc60 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000fc62 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000fc64 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 | label_55:
    0x0000fc66 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000fc68 beq.w 0xf692                                      |         goto label_17;
                                                                 |     }
    0x0000fc6c ldr r3, [sp, 0x2c]                                |     r3 = var_2ch_2;
    0x0000fc6e mov.w r1, 0x568                                   |     r1 = 0x568;
    0x0000fc72 ldr r0, [pc, 0x210]                               |     
    0x0000fc74 str r3, [sp, 0xc]                                 |     var_ch_3 = r3;
    0x0000fc76 ldr r3, [pc, 0x210]                               |     
    0x0000fc78 add r0, pc                                        |     r0 = 0x1fb02;
    0x0000fc7a add r3, pc                                        |     r3 = 0x1fb08;
    0x0000fc7c strd r6, r3, [sp, 4]                              |     __asm ("strd r6, r3, [sp, 4]");
    0x0000fc80 movs r3, 0                                        |     r3 = 0;
    0x0000fc82 str r3, [sp]                                      |     *(sp) = r3;
    0x0000fc84 movs r3, 6                                        |     r3 = 6;
    0x0000fc86 blx 0x7380                                        |     BIO_set_init ();
    0x0000fc8a b 0xf692                                          |     goto label_17;
                                                                 | label_140:
    0x0000fc8c ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000fc8e ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000fc90 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x0000fc92 cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0000fc94 blt.w 0xf896                                      |         goto label_39;
                                                                 |     }
    0x0000fc98 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000fc9a beq.w 0xff44                                      |         goto label_197;
                                                                 |     }
    0x0000fc9e ldr r3, [r1]                                      |     r3 = *(r1);
    0x0000fca0 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000fca2 beq.w 0xf89c                                      |         goto label_40;
                                                                 |     }
    0x0000fca6 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000fca8 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0000fcaa blt.w 0xf89c                                      |         goto label_40;
                                                                 |     }
                                                                 | label_64:
    0x0000fcae cmp r3, 5                                         |     
                                                                 |     if (r3 <= 5) {
    0x0000fcb0 ble.w 0xf8a4                                      |         goto label_21;
                                                                 |     }
                                                                 | label_169:
    0x0000fcb4 ldr r3, [sp, 0x28]                                |     r3 = var_28h_2;
    0x0000fcb6 movw r1, 0x537                                    |     r1 = 0x537;
    0x0000fcba ldr r0, [pc, 0x1d0]                               |     
    0x0000fcbc str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000fcbe str r3, [sp, 0xc]                                 |     var_ch_3 = r3;
    0x0000fcc0 ldr r3, [pc, 0x1cc]                               |     
    0x0000fcc2 add r0, pc                                        |     r0 = 0x1fb54;
    0x0000fcc4 add r3, pc                                        |     r3 = 0x1fb58;
    0x0000fcc6 str r3, [sp, 8]                                   |     var_8h_3 = r3;
    0x0000fcc8 movs r3, 0                                        |     r3 = 0;
    0x0000fcca str r3, [sp]                                      |     *(sp) = r3;
    0x0000fccc movs r3, 6                                        |     r3 = 6;
    0x0000fcce blx 0x7380                                        |     BIO_set_init ();
    0x0000fcd2 cmp.w fp, 0                                       |     
                                                                 |     if (fp != 0) {
    0x0000fcd6 bne.w 0xf8ac                                      |         goto label_41;
                                                                 |     }
    0x0000fcda b 0xf692                                          |     goto label_17;
                                                                 |     if (r1 == 0) {
                                                                 | label_188:
    0x0000fcdc cbnz r1, 0xfce2                                   |         
    0x0000fcde ldr r1, [r6, 4]                                   |         r1 = *((r6 + 4));
                                                                 | label_59:
    0x0000fce0 adds r1, 0x10                                     |         r1 += 0x10;
                                                                 |     }
                                                                 | label_190:
    0x0000fce2 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000fce4 cmp r3, 5                                         |     
    0x0000fce6 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000fce8 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000fcea movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000fcec b 0xfbb2                                          |     goto label_42;
                                                                 |     if (r1 == 0) {
                                                                 | label_182:
    0x0000fcee cbnz r1, 0xfcf4                                   |         
    0x0000fcf0 ldr r1, [r6, 4]                                   |         r1 = *((r6 + 4));
                                                                 | label_60:
    0x0000fcf2 adds r1, 0x10                                     |         r1 += 0x10;
                                                                 |     }
                                                                 | label_184:
    0x0000fcf4 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000fcf6 cmp r3, 9                                         |     
    0x0000fcf8 ite le                                            |     
                                                                 |     if (r3 > 9) {
    0x0000fcfa movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 9) {
    0x0000fcfc movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000fcfe b 0xfa9c                                          |     goto label_43;
                                                                 | label_153:
    0x0000fd00 ldr r3, [pc, 0x190]                               |     
    0x0000fd02 movs r4, 0                                        |     r4 = 0;
    0x0000fd04 ldr r0, [pc, 0x190]                               |     
    0x0000fd06 movw r1, 0x52b                                    |     r1 = 0x52b;
    0x0000fd0a str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000fd0c add r3, pc                                        |     r3 = 0x1fba4;
    0x0000fd0e str r4, [sp]                                      |     *(sp) = r4;
    0x0000fd10 str r3, [sp, 8]                                   |     var_8h_3 = r3;
    0x0000fd12 add r0, pc                                        |     r0 = 0x1fbae;
    0x0000fd14 movs r3, 6                                        |     r3 = 6;
    0x0000fd16 blx 0x7380                                        |     BIO_set_init ();
    0x0000fd1a ldr r2, [r5, 0x28]                                |     r2 = *((r5 + 0x28));
    0x0000fd1c b.w 0xf4fc                                        |     goto label_10;
                                                                 |     if (r1 == 0) {
                                                                 | label_191:
    0x0000fd20 cbnz r1, 0xfd26                                   |         
    0x0000fd22 ldr r1, [r6, 4]                                   |         r1 = *((r6 + 4));
                                                                 | label_61:
    0x0000fd24 adds r1, 0x10                                     |         r1 += 0x10;
                                                                 |     }
                                                                 | label_193:
    0x0000fd26 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000fd28 cmp r3, 6                                         |     
    0x0000fd2a ite le                                            |     
                                                                 |     if (r3 > 6) {
    0x0000fd2c movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 6) {
    0x0000fd2e movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000fd30 b 0xfbfa                                          |     goto label_44;
                                                                 | label_150:
    0x0000fd32 ldr r1, [sp, 0x24]                                |     r1 = var_24h_2;
    0x0000fd34 ldr r0, [r6]                                      |     r0 = *(r6);
    0x0000fd36 bl 0x1a834                                        |     fcn_0001a834 (r0);
    0x0000fd3a ldr r3, [pc, 0x160]                               |     
    0x0000fd3c mov r2, sb                                        |     r2 = sb;
    0x0000fd3e strd r8, r0, [sp, 0xc]                            |     __asm ("strd r8, r0, [sp, 0xc]");
    0x0000fd42 movw r1, 0x5c9                                    |     r1 = 0x5c9;
    0x0000fd46 ldr r0, [pc, 0x158]                               |     
    0x0000fd48 add r3, pc                                        |     r3 = 0x1fbea;
    0x0000fd4a str r5, [sp]                                      |     *(sp) = r5;
    0x0000fd4c str r3, [sp, 8]                                   |     var_8h_3 = r3;
    0x0000fd4e movs r3, 6                                        |     r3 = 6;
    0x0000fd50 add r0, pc                                        |     r0 = 0x1fbf6;
    0x0000fd52 str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000fd54 blx 0x7380                                        |     BIO_set_init ();
    0x0000fd58 b 0xf604                                          |     goto label_45;
                                                                 | label_133:
    0x0000fd5a ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000fd5c ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
                                                                 |     if (r3 == 0) {
    0x0000fd5e cbz r3, 0xfd68                                    |         goto label_52;
                                                                 |     }
    0x0000fd60 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000fd62 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x0000fd64 bge.w 0xf424                                      |         goto label_46;
                                                                 |     }
                                                                 | label_52:
    0x0000fd68 adds r1, 0x10                                     |     r1 += 0x10;
    0x0000fd6a b 0xf88a                                          |     goto label_47;
                                                                 | label_156:
    0x0000fd6c ldr.w ip, [r4, 0x14]                              |     ip = *((r4 + 0x14));
    0x0000fd70 cmp.w ip, 0                                       |     
                                                                 |     if (ip != 0) {
    0x0000fd74 bne.w 0xf402                                      |         goto label_48;
                                                                 |     }
    0x0000fd78 blx 0x7cec                                        |     r0 = X509V3_EXT_print ();
    0x0000fd7c mov ip, r0                                        |     
    0x0000fd7e b.w 0xf402                                        |     goto label_48;
                                                                 | label_181:
    0x0000fd82 ldr r3, [sp, 0x28]                                |     r3 = var_28h_2;
    0x0000fd84 mov.w r1, 0x510                                   |     r1 = 0x510;
    0x0000fd88 str r0, [sp]                                      |     *(sp) = r0;
    0x0000fd8a str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x0000fd8c str r3, [sp, 0xc]                                 |     var_ch_3 = r3;
    0x0000fd8e ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x0000fd90 ldr r4, [pc, 0x110]                               |     
    0x0000fd92 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x0000fd94 add r4, pc                                        |     r4 = 0x1fc3c;
    0x0000fd96 mov r0, r4                                        |     r0 = r4;
    0x0000fd98 mov r2, r3                                        |     r2 = r3;
    0x0000fd9a str r3, [sp, 0x1c]                                |     var_1ch_2 = r3;
    0x0000fd9c ldr r3, [pc, 0x108]                               |     
    0x0000fd9e add r3, pc                                        |     r3 = 0x1fc4a;
    0x0000fda0 str r3, [sp, 8]                                   |     var_8h_3 = r3;
    0x0000fda2 movs r3, 4                                        |     r3 = 4;
    0x0000fda4 blx 0x7380                                        |     BIO_set_init ();
    0x0000fda8 ldr r3, [sp, 0x24]                                |     r3 = var_24h_2;
    0x0000fdaa mov r0, r4                                        |     r0 = r4;
    0x0000fdac movs r2, 4                                        |     r2 = 4;
    0x0000fdae movw r1, 0x513                                    |     r1 = 0x513;
    0x0000fdb2 bl 0x14f78                                        |     fcn_00014f78 (r0, r1, r2, r3, r4);
    0x0000fdb6 b.w 0xf4b6                                        |     goto label_26;
                                                                 | label_134:
    0x0000fdba ldr.w ip, [pc, 0xf0]                              |     
    0x0000fdbe add ip, pc                                        |     ip = 0x1fc70;
    0x0000fdc0 b.w 0xf436                                        |     goto label_49;
                                                                 | label_152:
    0x0000fdc4 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000fdc6 ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
                                                                 |     if (r3 == 0) {
    0x0000fdc8 cbz r3, 0xfdd2                                    |         goto label_56;
                                                                 |     }
    0x0000fdca ldrsb r4, [r3, r2]                                |     r4 = *((r3 + r2));
    0x0000fdcc cmp r4, 0                                         |     
                                                                 |     if (r4 >= 0) {
    0x0000fdce bge.w 0xf652                                      |         goto label_50;
                                                                 |     }
                                                                 | label_56:
    0x0000fdd2 adds r1, 0x10                                     |     r1 += 0x10;
    0x0000fdd4 b 0xf972                                          |     goto label_51;
                                                                 | label_168:
    0x0000fdd6 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000fdd8 b 0xfd68                                          |     goto label_52;
                                                                 | label_149:
    0x0000feb0 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000feb2 ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
                                                                 |     if (r3 == 0) {
    0x0000feb4 cbz r3, 0xfec0                                    |         goto label_58;
                                                                 |     }
    0x0000feb6 ldrsb.w r3, [r3, sb]                              |     r3 = *((r3 + sb));
    0x0000feba cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x0000febc bge.w 0xf5f6                                      |         goto label_53;
                                                                 |     }
                                                                 | label_58:
    0x0000fec0 adds r1, 0x10                                     |     r1 += 0x10;
    0x0000fec2 b 0xf984                                          |     goto label_54;
                                                                 |     if (r1 == 0) {
                                                                 | label_194:
    0x0000fec4 cbnz r1, 0xfeca                                   |         
    0x0000fec6 ldr r1, [r6, 4]                                   |         r1 = *((r6 + 4));
                                                                 | label_69:
    0x0000fec8 adds r1, 0x10                                     |         r1 += 0x10;
                                                                 |     }
                                                                 | label_196:
    0x0000feca ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000fecc cmp r3, 5                                         |     
    0x0000fece ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000fed0 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000fed2 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000fed4 b 0xfc66                                          |     goto label_55;
                                                                 | label_175:
    0x0000fed6 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000fed8 b 0xfdd2                                          |     goto label_56;
                                                                 |     if (r1 == 0) {
                                                                 | label_178:
    0x0000feda cbnz r1, 0xfee0                                   |         
    0x0000fedc ldr r1, [r6, 4]                                   |         r1 = *((r6 + 4));
                                                                 | label_74:
    0x0000fede adds r1, 0x10                                     |         r1 += 0x10;
                                                                 |     }
                                                                 | label_180:
    0x0000fee0 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000fee2 cmp r3, 5                                         |     
    0x0000fee4 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000fee6 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000fee8 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000feea cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000feec beq.w 0xf8a4                                      |         goto label_21;
                                                                 |     }
    0x0000fef0 b 0xfa02                                          |     goto label_57;
                                                                 | label_176:
    0x0000fef2 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000fef4 b 0xfec0                                          |     goto label_58;
                                                                 | label_172:
    0x0000fef6 ldrd r6, r4, [sp, 0x1c]                           |     __asm ("ldrd r6, r4, [var_1ch_2]");
    0x0000fefa mov r7, fp                                        |     r7 = fp;
    0x0000fefc cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x0000fefe beq.w 0xf692                                      |         goto label_17;
                                                                 |     }
    0x0000ff02 b.w 0xf552                                        |     goto label_12;
                                                                 | label_189:
    0x0000ff06 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000ff08 ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
    0x0000ff0a cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000ff0c beq.w 0xfce0                                      |         goto label_59;
                                                                 |     }
    0x0000ff10 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000ff12 cmp r3, 0                                         |     
    0x0000ff14 bl 0xffecfdaa                                     |     void (*0xffecfdaa)(uint32_t) (r3);
    0x0000ff16 invalid                                           |     
    0x0000ff18 invalid                                           |     
                                                                 | label_183:
    0x0000ff1a ldr r7, [r7, 0xc]                                 |     r7 = *((r7 + 0xc));
    0x0000ff1c ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
    0x0000ff1e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000ff20 beq.w 0xfcf2                                      |         goto label_60;
                                                                 |     }
    0x0000ff24 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000ff26 movs r0, r0                                       |     
    0x0000ff28 movs r0, r0                                       |     
    0x0000ff2a invalid                                           |     
    0x0000ff2c lsls r6, r7, 3                                    |     r6 = r7 << 3;
                                                                 | label_192:
    0x0000ff2e invalid                                           |     
    0x0000ff32 cmp r3, 0xff                                      |     
                                                                 |     if (r3 == 0xff) {
    0x0000ff34 beq.w 0xfd24                                      |         goto label_61;
                                                                 |     }
    0x0000ff38 ldrsb.w r3, [r3, sb]                              |     r3 = *((r3 + sb));
    0x0000ff3c cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x0000ff3e bge.w 0xfbf2                                      |         goto label_62;
                                                                 |     }
    0x0000ff40 add r6, sp, 0x160                                 |     r6 = sp + 0x160;
    0x0000ff42 b 0xfd24                                          |     goto label_61;
                                                                 | label_197:
    0x0000ff44 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000ff46 ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
    0x0000ff48 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000ff4a beq.w 0xf89a                                      |         goto label_63;
                                                                 |     }
    0x0000ff4e ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000ff50 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x0000ff52 bge.w 0xfcae                                      |         goto label_64;
                                                                 |     }
    0x0000ff56 b 0xf89a                                          |     goto label_63;
                                                                 | label_174:
    0x0000ff58 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000ff5a ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
                                                                 |     if (r3 == 0) {
    0x0000ff5c cbz r3, 0xff66                                    |         goto label_77;
                                                                 |     }
    0x0000ff5e ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000ff60 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x0000ff62 bge.w 0xf938                                      |         goto label_65;
                                                                 |     }
                                                                 | label_77:
    0x0000ff66 adds r1, 0x10                                     |     r1 += 0x10;
                                                                 | label_76:
    0x0000ff68 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0000ff6a cmp r3, 5                                         |     
    0x0000ff6c ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x0000ff6e movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0000ff70 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000ff72 b 0xf940                                          |     goto label_66;
                                                                 | label_186:
    0x0000ff74 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000ff76 ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
                                                                 |     if (r3 == 0) {
    0x0000ff78 cbz r3, 0xff82                                    |         goto label_73;
                                                                 |     }
    0x0000ff7a ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000ff7c cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x0000ff7e bge.w 0xfb10                                      |         goto label_67;
                                                                 |     }
                                                                 | label_73:
    0x0000ff82 adds r1, 0x10                                     |     r1 += 0x10;
                                                                 | label_72:
    0x0000ff84 lsls r3, r1, 1                                    |     r3 = r1 << 1;
    0x0000ff86 cmp r3, 0x3a                                      |     
    0x0000ff88 ite le                                            |     
                                                                 |     if (r3 > 0x3a) {
    0x0000ff8a movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 0x3a) {
    0x0000ff8c movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000ff8e b 0xfb18                                          |     goto label_68;
                                                                 | label_195:
    0x0000ff90 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000ff92 ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
    0x0000ff94 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000ff96 beq 0xfec8                                        |         goto label_69;
                                                                 |     }
    0x0000ff98 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000ff9a cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x0000ff9c bge.w 0xfc5e                                      |         goto label_70;
                                                                 |     }
    0x0000ffa0 b 0xfec8                                          |     goto label_69;
                                                                 | label_187:
    0x0000ffa2 ldr r1, [pc, 0x44]                                |     
    0x0000ffa4 movs r3, 0                                        |     r3 = 0;
    0x0000ffa6 ldr r0, [pc, 0x44]                                |     
    0x0000ffa8 strd r3, r6, [sp]                                 |     __asm ("strd r3, r6, [sp]");
    0x0000ffac movs r3, 6                                        |     r3 = 6;
    0x0000ffae add r1, pc                                        |     r1 = 0x1ff9c;
    0x0000ffb0 str r1, [sp, 8]                                   |     var_8h_3 = r1;
    0x0000ffb2 add r0, pc                                        |     r0 = 0x1ffa4;
    0x0000ffb4 movw r1, 0x614                                    |     r1 = 0x614;
    0x0000ffb8 blx 0x7380                                        |     BIO_set_init ();
    0x0000ffbc b 0xfb1e                                          |     goto label_71;
                                                                 | label_185:
    0x0000ffbe cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0000ffc0 bne 0xff84                                        |         goto label_72;
                                                                 |     }
    0x0000ffc2 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000ffc4 b 0xff82                                          |     goto label_73;
                                                                 | label_179:
    0x0000ffc6 ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000ffc8 ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
    0x0000ffca cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000ffcc beq 0xfede                                        |         goto label_74;
                                                                 |     }
    0x0000ffce ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x0000ffd0 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x0000ffd2 bge.w 0xf9f4                                      |         goto label_75;
                                                                 |     }
    0x0000ffd6 b 0xfede                                          |     goto label_74;
                                                                 | label_173:
    0x0000ffd8 ldr r1, [r6, 0x60]                                |     r1 = *((r6 + 0x60));
    0x0000ffda cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0000ffdc bne 0xff68                                        |         goto label_76;
                                                                 |     }
    0x0000ffde ldr r1, [r6, 4]                                   |     r1 = *((r6 + 4));
    0x0000ffe0 b 0xff66                                          |     goto label_77;
                                                                 | label_135:
    0x0000ffe2 blx 0x7428                                        |     BIO_push ();
    0x0000ffe6 nop                                               |     
    0x0000ffe8 asrs r6, r0, 3                                    |     r6 = r0 >> 3;
    0x0000ffea movs r1, r0                                       |     r1 = r0;
    0x0000ffec lsls r6, r3, 0x16                                 |     r6 = r3 << 0x16;
    0x0000ffee movs r1, r0                                       |     r1 = r0;
    0x0000fff0 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x0000fff4 mov fp, r0                                        |     
    0x0000fff6 ldr r3, [r0, 4]                                   |     r3 = *((r0 + 4));
    0x0000fff8 sub sp, 0x4c                                      |     
    0x0000fffa mov r6, r1                                        |     r6 = r1;
    0x0000fffc ldr.w r1, [pc, 4]                                 |     r1 = *(0x00010004);
    0x00010000 asrs r0, r0, 0x1c                                 |     r0 >>= 0x1c;
    0x00010002 lsls r0, r0, 0xc                                  |     r0 <<= 0xc;
    0x00010004 lsls r0, r0, 4                                    |     r0 <<= 4;
    0x00010006 add r0, r0                                        |     r0 += r0;
    0x00010008 asrs r2, r0, 0x1e                                 |     r2 = r0 >> 0x1e;
    0x0001000a lsls r0, r0, 0x1c                                 |     r0 <<= 0x1c;
    0x0001000c lsls r7, r7, 7                                    |     r7 <<= 7;
    0x0001000e invalid                                           |     
    0x00010012 lsls r2, r5, 1                                    |     r2 = r5 << 1;
    0x00010014 lsls r7, r7, 3                                    |     r7 <<= 3;
    0x00010016 vabd.u8 d1, d16, d2                               |     __asm ("vabd.u8 d1, d16, d2");
    0x0001001a invalid                                           |     
    0x0001001e lsrs r2, r5, 0x11                                 |     r2 = r5 >> 0x11;
    0x00010020 movs r1, r0                                       |     r1 = r0;
    0x00010022 movs r3, 0                                        |     r3 = 0;
    0x00010024 lsls r0, r0, 4                                    |     r0 <<= 4;
    0x00010026 invalid                                           |     
    0x00010028 lsls r5, r0, 9                                    |     r5 = r0 << 9;
    0x0001002a lsls r2, r5, 1                                    |     r2 = r5 << 1;
    0x0001002c movs r0, r0                                       |     
    0x0001002e cmp r7, 0                                         |     
    0x00010030 lsls r0, r0, 4                                    |     r0 <<= 4;
    0x00010032 vcge.f32 d15, d0, d1                              |     __asm ("vcge.f32 d15, d0, d1");
    0x00010036 lsls r7, r7, 3                                    |     r7 <<= 3;
    0x00010038 lsls r0, r0, 8                                    |     r0 <<= 8;
    0x0001003a movs r2, r7                                       |     r2 = r7;
    0x0001003c movs r0, r0                                       |     
    0x0001003e add r0, r0                                        |     r0 += r0;
    0x00010040 asrs r2, r0, 0x1e                                 |     r2 = r0 >> 0x1e;
    0x00010042 movs r0, r0                                       |     
    0x00010044 movs r0, r0                                       |     
    0x00010046 movs r0, r0                                       |     
    0x00010048 movs r0, r0                                       |     
    0x0001004a ldr r3, [pc, 0]                                   |     r3 = *(0x0001004c);
    0x0001004c lsls r0, r0, 4                                    |     r0 <<= 4;
    0x0001004e invalid                                           |     
    0x00010052 lsrs r2, r5, 0xd                                  |     r2 = r5 >> 0xd;
    0x00010054 vshl.u8 d4, d0, d7                                |     __asm ("vshl.u8 d4, d0, d7");
    0x00010058 asrs r2, r0, 0x1e                                 |     r2 = r0 >> 0x1e;
    0x0001005a invalid                                           |     
    0x0001005e lsls r2, r5, 1                                    |     r2 = r5 << 1;
    0x00010060 movs r0, r0                                       |     
    0x00010062 invalid                                           |     
    0x00010066 lsls r7, r7, 3                                    |     r7 <<= 3;
    0x00010068 movs r0, r0                                       |     
    0x0001006a ldrb r0, [r0]                                     |     r0 = *(r0);
    0x0001006c asrs r2, r0, 0x1e                                 |     r2 = r0 >> 0x1e;
    0x0001006e ldr r0, [r0, 0x30]                                |     r0 = *((r0 + 0x30));
    0x00010070 lsls r0, r0, 4                                    |     r0 <<= 4;
    0x00010072 movs r0, r0                                       |     
    0x00010074 movs r0, r0                                       |     
    0x00010076 movs r7, 0                                        |     r7 = 0;
    0x00010078 str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x0001007a str.w lr, [sp, 0x1c]                              |     __asm ("str.w lr, [var_1ch]");
    0x0001007e str.w ip, [sp, 0x34]                              |     __asm ("str.w ip, [var_34h]");
    0x00010080 stm r0!, {r2, r4, r5}                             |     *(r0!) = r2;
                                                                 |     *((r0! + 4)) = r4;
                                                                 |     *((r0! + 8)) = r5;
    0x00010082 b 0x100ea                                         |     
                                                                 |     while (r5 != 0) {
    0x00010084 ldr.w r2, [pc, 0x488]                             |         r2 = *(0x10510);
    0x00010088 ldr.w r2, [sl, r2]                                |         r2 = *((sl + r2));
    0x0001008c cmp r3, r2                                        |         
                                                                 |         if (r3 == r2) {
    0x0001008e beq.w 0x10308                                     |             goto label_198;
                                                                 |         }
                                                                 | label_86:
    0x00010092 ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
    0x00010094 ldr r2, [r4]                                      |         r2 = *(r4);
    0x00010096 invalid                                           |         
    0x0001009a str r2, [r3]                                      |         *(r3) = r2;
    0x0001009c ldr r3, [sp, 0x18]                                |         r3 = var_18h_2;
    0x0001009e ldr r1, [r3, 8]                                   |         r1 = *((r3 + 8));
    0x000100a0 ldr r3, [r4]                                      |         r3 = *(r4);
    0x000100a2 ldr r2, [r4, 4]                                   |         r2 = *((r4 + 4));
    0x000100a4 str r2, [r3, 4]                                   |         *((r3 + 4)) = r2;
    0x000100a6 adds r3, r1, 4                                    |         r3 = r1 + 4;
    0x000100a8 str r3, [r4, 4]                                   |         *((r4 + 4)) = r3;
    0x000100aa ldr r3, [r1, 4]                                   |         r3 = *((r1 + 4));
    0x000100ac str r3, [r4]                                      |         *(r4) = r3;
    0x000100ae ldr r3, [r1, 4]                                   |         r3 = *((r1 + 4));
    0x000100b0 str r4, [r3, 4]                                   |         *((r3 + 4)) = r4;
    0x000100b2 str r4, [r1, 4]                                   |         *((r1 + 4)) = r4;
    0x000100b4 blx 0x7450                                        |         r0 = fcn_00007450 ();
    0x000100b8 mov r8, r0                                        |         r8 = r0;
    0x000100ba cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x000100bc bne 0x101ba                                       |             goto label_199;
                                                                 |         }
    0x000100be ldr.w r3, [fp, 0x10]                              |         r3 = *(arg_10h);
    0x000100c2 ldr r3, [r3, 0x54]                                |         r3 = *((r3 + 0x54));
    0x000100c4 cmp r3, 0                                         |         
    0x000100c6 itte ne                                           |         
                                                                 |         if (r3 == 0) {
    0x000100c8 movne r8, 0x68                                    |             r8 = 0x68;
                                                                 |         }
                                                                 |         if (r3 != 0) {
    0x000100cc moveq r5, 0                                       |             r5 = 0;
                                                                 |         }
                                                                 |         if (r3 == 0) {
    0x000100ce movs r5, 1                                        |             r5 = 1;
                                                                 |         }
                                                                 | label_79:
    0x000100d0 ldr r3, [sp, 0x18]                                |         r3 = var_18h_2;
    0x000100d2 ldr r0, [r3, 8]                                   |         r0 = *((r3 + 8));
    0x000100d4 blx 0x68a0                                        |         UI_method_set_closer ();
                                                                 | label_78:
    0x000100d8 ldr r3, [r6, 4]                                   |         r3 = *((r6 + 4));
    0x000100da ldr r2, [sp, 0x1c]                                |         r2 = var_1ch;
    0x000100dc cmp r3, r2                                        |         
    0x000100de ite eq                                            |         
                                                                 |         if (r3 != r2) {
    0x000100e0 moveq r5, 0                                       |             r5 = 0;
                                                                 |         }
                                                                 |         if (r3 == r2) {
    0x000100e2 andne r5, r5, 1                                   |             r5 &= 1;
                                                                 |         }
    0x000100e6 cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x000100e8 beq 0x101d2                                       |             goto label_92;
                                                                 |         }
    0x000100ea ldr r4, [r6, 4]                                   |         r4 = *((r6 + 4));
    0x000100ec ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x000100ee ldr r5, [r3, 8]                                   |         r5 = *((r3 + 8));
    0x000100f0 cmp r5, 0                                         |         
    0x000100f2 bne 0x10084                                       |         
                                                                 |     }
    0x000100f4 ldr.w r8, [r3, 0x10]                              |     r8 = *((r3 + 0x10));
    0x000100f8 mov r0, r4                                        |     r0 = r4;
    0x000100fa ldrd r2, r1, [sp, 0x28]                           |     __asm ("ldrd r2, r1, [var_28h]");
    0x000100fe invalid                                           |     
    0x00010102 cmp r0, 0xb                                       |     
    0x00010104 mov r8, r0                                        |     r8 = r0;
                                                                 |     if (r0 == 0xb) {
    0x00010106 beq 0x101be                                       |         goto label_200;
                                                                 |     }
    0x00010108 ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x0001010a cmp r0, r3                                        |     
    0x0001010c it ne                                             |     
                                                                 |     if (r0 != r3) {
    0x0001010e cmpne r0, 0                                       |         __asm ("cmpne r0, 0");
                                                                 |     }
    0x00010110 ite ne                                            |     
                                                                 |     if (r0 == r3) {
    0x00010112 movne r5, 1                                       |         r5 = 1;
                                                                 |     }
                                                                 |     if (r0 != r3) {
    0x00010114 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r0 != r3) {
    0x00010116 bne 0x101d2                                       |         goto label_92;
                                                                 |     }
    0x00010118 ldr.w sb, [fp, 4]                                 |     sb = *(arg_4h);
    0x0001011c ldr.w r3, [sb]                                    |     r3 = *(sb);
    0x00010120 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00010122 beq.w 0x103ba                                     |         goto label_201;
                                                                 |     }
    0x00010126 ldr r3, [pc, 0x3ec]                               |     r3 = *(0x10516);
    0x00010128 ldr.w r0, [fp, 0x10]                              |     r0 = *(arg_10h);
    0x0001012c ldr.w r3, [sl, r3]                                |     r3 = *((sl + r3));
    0x00010130 ldr r1, [r0, 0x60]                                |     r1 = *((r0 + 0x60));
    0x00010132 ldr r2, [r3, 8]                                   |     r2 = *(0x1051e);
    0x00010134 str r3, [sp, 0x30]                                |     var_30h = r3;
    0x00010136 cmp r2, 0                                         |     
                                                                 |     if (r2 >= 0) {
    0x00010138 blt 0x10154                                       |         
    0x0001013a cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x0001013c beq.w 0x10316                                     |             goto label_202;
                                                                 |         }
    0x00010140 ldr r3, [r1]                                      |         r3 = *(r1);
                                                                 |         if (r3 != 0) {
    0x00010142 cbz r3, 0x1015a                                   |             
    0x00010144 ldrsb r3, [r3, r2]                                |             r3 = *((r3 + r2));
    0x00010146 cmp r3, 0                                         |             
                                                                 |             if (r3 < 0) {
    0x00010148 blt 0x1015a                                       |                 goto label_83;
                                                                 |             }
                                                                 | label_88:
    0x0001014a cmp r3, 0xc                                       |             
    0x0001014c ite le                                            |             
                                                                 |             if (r3 > 0xc) {
    0x0001014e movle r3, 0                                       |                 r3 = 0;
                                                                 |             }
                                                                 |             if (r3 <= 0xc) {
    0x00010150 movgt r3, 1                                       |                 r3 = 1;
                                                                 |             }
    0x00010152 b 0x10164                                         |             
                                                                 |         } else {
    0x00010154 cmp r1, 0                                         |             
                                                                 |             if (r1 == 0) {
    0x00010156 beq.w 0x1027e                                     |                 goto label_203;
                                                                 |             }
                                                                 |         }
                                                                 | label_83:
    0x0001015a ldr r3, [r1, 4]                                   |         r3 = *((r1 + 4));
    0x0001015c cmp r3, 0xc                                       |         
    0x0001015e ite le                                            |         
                                                                 |         if (r3 > 0xc) {
    0x00010160 movle r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r3 > 0xc) {
    0x00010162 movgt r3, 1                                       |             r3 = 1;
                                                                 |             goto label_204;
                                                                 |         }
                                                                 |     }
                                                                 | label_204:
    0x00010164 ldrd r8, r7, [sp, 0x3c]                           |     __asm ("ldrd r8, r7, [var_3ch]");
    0x00010168 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001016a bne 0x1023e                                       |         goto label_205;
                                                                 |     }
                                                                 | label_80:
    0x0001016c blx 0x680c                                        |     fcn_0000680c ();
    0x00010170 ldr.w r0, [sb, 8]                                 |     r0 = *((sb + 8));
    0x00010174 blx 0x6d20                                        |     PEM_read_bio_X509 ();
    0x00010178 mov r1, r8                                        |     r1 = r8;
    0x0001017a str r0, [sp, 0x20]                                |     var_20h = r0;
    0x0001017c mov r2, r7                                        |     r2 = r7;
    0x0001017e ldr.w r0, [sb]                                    |     r0 = *(sb);
    0x00010182 blx 0x7a08                                        |     r0 = fcn_00007a08 ();
    0x00010186 subs.w r8, r0, 0                                  |     r8 = r0 - 0;
                                                                 |     if (r8 < r0) {
    0x0001018a blt 0x10284                                       |         goto label_206;
                                                                 |     }
    0x0001018c cmp r7, r8                                        |     
                                                                 |     if (r7 != r8) {
    0x0001018e bne 0x101f0                                       |         goto label_207;
                                                                 |     }
    0x00010190 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00010192 ldr.w r8, [r3, 0xc]                               |     r8 = *((r3 + 0xc));
    0x00010196 clz r5, r8                                        |     r5 &= r8;
    0x0001019a lsrs r5, r5, 5                                    |     r5 >>= 5;
                                                                 |     do {
                                                                 | label_85:
    0x0001019c ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
    0x0001019e movs r7, 1                                        |         r7 = 1;
    0x000101a0 ldr r2, [r4]                                      |         r2 = *(r4);
    0x000101a2 ldr r0, [r4, 0x18]                                |         r0 = *((r4 + 0x18));
    0x000101a4 str r2, [r3]                                      |         *(r3) = r2;
    0x000101a6 ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x000101a8 ldr r2, [r4]                                      |         r2 = *(r4);
    0x000101aa ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x000101ac ldr r3, [r3, 0xc]                                 |         r3 = *((r3 + 0xc));
    0x000101ae str r1, [r2, 4]                                   |         *((r2 + 4)) = r1;
    0x000101b0 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000101b2 ldr r3, [r4, 0x1c]                                |         r3 = *((r4 + 0x1c));
    0x000101b4 mov r0, r4                                        |         r0 = r4;
    0x000101b6 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000101b8 b 0x100d8                                         |         goto label_78;
                                                                 | label_199:
    0x000101ba movs r5, 0                                        |         r5 = 0;
    0x000101bc b 0x100d0                                         |         goto label_79;
                                                                 | label_200:
    0x000101be ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x000101c0 ldr r0, [r3, 8]                                   |         r0 = *((r3 + 8));
    0x000101c2 bl 0xf0bc                                         |         r0 = fcn_0000f0bc ();
    0x000101c6 cmp r0, 0                                         |         
                                                                 |         if (r0 >= 0) {
    0x000101c8 bge.w 0x10388                                     |             goto label_208;
                                                                 |         }
    0x000101cc ldr r3, [sp, 0x18]                                |         r3 = var_18h_2;
    0x000101ce ldr.w r8, [r3, 0xc]                               |         r8 = *((r3 + 0xc));
                                                                 | label_92:
    0x000101d2 ldr r2, [pc, 0x344]                               |         
    0x000101d4 ldr r3, [pc, 0x330]                               |         r3 = *(0x10508);
    0x000101d6 add r2, pc                                        |         r2 = "AH10233: coalesce: failed to split data bucket";
    0x000101d8 ldr r3, [r2, r3]                                  |         r3 = "AH10233: coalesce: failed to split data bucket";
    0x000101da ldr r2, [r3]                                      |         r2 = "AH10233: coalesce: failed to split data bucket";
    0x000101dc ldr r3, [sp, 0x44]                                |         r3 = var_44h;
    0x000101de eors r2, r3                                       |         r2 ^= r3;
    0x000101e0 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x000101e4 bne.w 0x104fe                                     |             goto label_209;
                                                                 |         }
    0x000101e8 mov r0, r8                                        |         r0 = r8;
    0x000101ea add sp, 0x4c                                      |         
    0x000101ec pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_207:
    0x000101f0 movs r3, 0                                        |         r3 = 0;
    0x000101f2 ldr.w r0, [sb]                                    |         r0 = *(sb);
    0x000101f6 mov r2, r3                                        |         r2 = r3;
    0x000101f8 movs r1, 0xc                                      |         r1 = 0xc;
    0x000101fa ldr.w sb, [fp, 0x10]                              |         sb = *(arg_10h);
    0x000101fe blx 0x7308                                        |         r0 = loc_imp_apr_time_exp_lt ();
                                                                 |         if (r0 != 0) {
    0x00010202 cbnz r0, 0x1025c                                  |             goto label_210;
                                                                 |         }
    0x00010204 ldr r3, [sp, 0x30]                                |         r3 = var_30h;
    0x00010206 ldr r0, [pc, 0x314]                               |         
    0x00010208 ldr.w r1, [sb, 0x60]                              |         r1 = *((sb + 0x60));
    0x0001020c ldr r2, [r3, 8]                                   |         r2 = *((r3 + 8));
    0x0001020e add r0, pc                                        |         r0 = 0x20730;
    0x00010210 cmp r2, 0                                         |         
                                                                 |         if (r2 < 0) {
    0x00010212 blt 0x1026c                                       |             goto label_211;
                                                                 |         }
                                                                 | label_81:
    0x00010214 cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x00010216 beq.w 0x10424                                     |             goto label_212;
                                                                 |         }
    0x0001021a ldr r3, [r1]                                      |         r3 = *(r1);
                                                                 |         if (r3 == 0) {
    0x0001021c cbz r3, 0x10272                                   |             goto label_90;
                                                                 |         }
    0x0001021e ldrsb r3, [r3, r2]                                |         r3 = *((r3 + r2));
    0x00010220 cmp r3, 0                                         |         
                                                                 |         if (r3 < 0) {
    0x00010222 blt 0x10272                                       |             goto label_90;
                                                                 |         }
                                                                 | label_93:
    0x00010224 cmp r3, 5                                         |         
    0x00010226 ite le                                            |         
                                                                 |         if (r3 > 5) {
    0x00010228 movle r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r3 <= 5) {
    0x0001022a movgt r3, 1                                       |             r3 = 1;
                                                                 |         }
                                                                 | label_82:
    0x0001022c cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0001022e bne.w 0x10390                                     |             goto label_213;
                                                                 |         }
                                                                 | label_84:
    0x00010232 ldr r2, [sp, 0x20]                                |         r2 = var_20h;
    0x00010234 movw r3, 0x4e2e                                   |         r3 = 0x4e2e;
    0x00010238 mov r8, r3                                        |         r8 = r3;
    0x0001023a str r3, [r2, 0xc]                                 |         *((r2 + 0xc)) = r3;
    0x0001023c b 0x1019c                                         |         
                                                                 |     } while (1);
                                                                 | label_205:
    0x0001023e ldr r3, [pc, 0x2e0]                               |     
    0x00010240 movw r1, 0x37b                                    |     r1 = 0x37b;
    0x00010244 str r0, [sp, 4]                                   |     var_44h_2 = r0;
    0x00010246 ldr r0, [pc, 0x2dc]                               |     
    0x00010248 add r3, pc                                        |     r3 = 0x2076e;
    0x0001024a str r7, [sp, 0xc]                                 |     var_ch_2 = r7;
    0x0001024c str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x0001024e movs r3, 0                                        |     r3 = 0;
    0x00010250 str r3, [sp]                                      |     *(sp) = r3;
    0x00010252 add r0, pc                                        |     r0 = 0x2077c;
    0x00010254 movs r3, 0xd                                      |     r3 = 0xd;
    0x00010256 blx 0x7380                                        |     BIO_set_init ();
    0x0001025a b 0x1016c                                         |     goto label_80;
                                                                 | label_210:
    0x0001025c ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x0001025e ldr r0, [pc, 0x2c8]                               |     
    0x00010260 ldr.w r1, [sb, 0x60]                              |     r1 = *((sb + 0x60));
    0x00010264 ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
    0x00010266 add r0, pc                                        |     r0 = 0x20794;
    0x00010268 cmp r2, 0                                         |     
                                                                 |     if (r2 >= 0) {
    0x0001026a bge 0x10214                                       |         goto label_81;
                                                                 |     }
                                                                 | label_211:
    0x0001026c cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0001026e beq.w 0x10380                                     |         goto label_214;
                                                                 |     }
                                                                 | label_90:
    0x00010272 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x00010274 cmp r3, 5                                         |     
    0x00010276 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x00010278 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x0001027a movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0001027c b 0x1022c                                         |     goto label_82;
                                                                 | label_203:
    0x0001027e ldr r1, [r0, 4]                                   |     r1 = *((r0 + 4));
                                                                 | label_87:
    0x00010280 adds r1, 0x10                                     |     r1 += 0x10;
    0x00010282 b 0x1015a                                         |     goto label_83;
                                                                 | label_206:
    0x00010284 mov r1, r8                                        |     r1 = r8;
    0x00010286 ldr.w r0, [sb]                                    |     r0 = *(sb);
    0x0001028a blx 0x6d5c                                        |     loc_imp_apr_psprintf ()
    0x0001028e ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00010290 mov r8, r0                                        |     r8 = r0;
    0x00010292 movs r1, 0                                        |     r1 = 0;
    0x00010294 ldr r3, [r3]                                      |     r3 = *(r3);
    0x00010296 ldr r0, [r3]                                      |     r0 = *(r3);
    0x00010298 blx 0x7830                                        |     SSL_CTX_check_private_key ();
    0x0001029c cmp.w r8, 3                                       |     
    0x000102a0 mov r7, r0                                        |     r7 = r0;
                                                                 |     if (r8 == 3) {
    0x000102a2 beq.w 0x1040c                                     |         goto label_215;
                                                                 |     }
    0x000102a6 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x000102a8 cmp.w r8, 2                                       |     
    0x000102ac ldr r2, [r3, 8]                                   |     r2 = *((r3 + 8));
                                                                 |     if (r8 == 2) {
    0x000102ae beq 0x10328                                       |         goto label_216;
                                                                 |     }
    0x000102b0 cmp.w r8, 5                                       |     
    0x000102b4 ldr r1, [r0, 0x60]                                |     r1 = *((r0 + 0x60));
                                                                 |     if (r8 == 5) {
    0x000102b6 beq.w 0x10438                                     |         goto label_217;
                                                                 |     }
    0x000102ba cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x000102bc blt.w 0x104b4                                     |         goto label_218;
                                                                 |     }
    0x000102c0 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x000102c2 beq.w 0x1047c                                     |         goto label_219;
                                                                 |     }
    0x000102c6 ldr r3, [r1]                                      |     r3 = *(r1);
    0x000102c8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000102ca beq.w 0x1048c                                     |         goto label_100;
                                                                 |     }
    0x000102ce ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x000102d0 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x000102d2 blt.w 0x1048c                                     |         goto label_100;
                                                                 |     }
                                                                 | label_96:
    0x000102d6 cmp r3, 5                                         |     
    0x000102d8 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x000102da movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x000102dc movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 | label_97:
    0x000102de cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000102e0 bne.w 0x104bc                                     |         goto label_220;
                                                                 |     }
                                                                 | label_102:
    0x000102e4 ldr r3, [r7, 0x2c]                                |     r3 = *((r7 + 0x2c));
    0x000102e6 movw r1, 0x3ad                                    |     r1 = 0x3ad;
    0x000102ea ldr r0, [pc, 0x240]                               |     
    0x000102ec ldr.w r3, [r3, r2, lsl 2]                         |     offset_2 = r2 << 2;
                                                                 |     r3 = *((r3 + offset_2));
    0x000102f0 movs r2, 6                                        |     r2 = 6;
    0x000102f2 add r0, pc                                        |     r0 = 0x20824;
    0x000102f4 ldr r3, [r3, 0x28]                                |     r3 = *((r3 + 0x28));
    0x000102f6 bl 0x14f78                                        |     fcn_00014f78 (r0, r1, r2, r3, r4);
                                                                 | label_89:
    0x000102fa ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x000102fc ldr.w r8, [r3, 0xc]                               |     r8 = *((r3 + 0xc));
    0x000102fe strh r4, [r1]                                     |     *(r1) = r4;
    0x00010300 cmp.w r8, 0                                       |     
                                                                 |     if (r8 == 0) {
    0x00010304 beq 0x10232                                       |         goto label_84;
                                                                 |     }
    0x00010306 b 0x1019c                                         |     goto label_85;
                                                                 | label_198:
    0x00010308 ldr.w r1, [fp, 0x10]                              |     r1 = *(arg_10h);
    0x0001030c movs r2, 0                                        |     r2 = 0;
    0x0001030e ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x00010310 bl 0xe38c                                         |     fcn_0000e38c (r0, r1, r2, r3);
    0x00010314 b 0x10092                                         |     goto label_86;
                                                                 | label_202:
    0x00010316 ldr r1, [r0, 4]                                   |     r1 = *((r0 + 4));
    0x00010318 ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
    0x0001031a cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001031c beq 0x10280                                       |         goto label_87;
                                                                 |     }
    0x0001031e ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x00010320 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x00010322 bge.w 0x1014a                                     |         goto label_88;
                                                                 |     }
    0x00010326 b 0x10280                                         |     goto label_87;
                                                                 | label_216:
    0x00010328 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0001032a movs r7, 1                                        |     r7 = 1;
    0x0001032c cmp r2, 0                                         |     
    0x0001032e ldr r0, [r3, 4]                                   |     r0 = *((r3 + 4));
    0x00010330 mov.w r3, 0xb                                     |     r3 = 0xb;
    0x00010334 ldr r1, [r0, 0x44]                                |     r1 = *((r0 + 0x44));
    0x00010336 str r7, [r1, 4]                                   |     *((r1 + 4)) = r7;
    0x00010338 ldr r1, [sp, 0x20]                                |     r1 = var_20h;
    0x0001033a str r3, [r1, 0xc]                                 |     *((r1 + 0xc)) = r3;
    0x0001033c ldr r1, [r0, 0x60]                                |     r1 = *((r0 + 0x60));
                                                                 |     if (r2 < 0) {
    0x0001033e blt.w 0x104e2                                     |         goto label_221;
                                                                 |     }
    0x00010342 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x00010344 beq.w 0x10498                                     |         goto label_222;
                                                                 |     }
    0x00010348 ldr r3, [r1]                                      |     r3 = *(r1);
    0x0001034a cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001034c beq.w 0x104a8                                     |         goto label_103;
                                                                 |     }
    0x00010350 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x00010352 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x00010354 blt.w 0x104a8                                     |         goto label_103;
                                                                 |     }
                                                                 | label_98:
    0x00010358 cmp r3, 0xc                                       |     
    0x0001035a ite le                                            |     
                                                                 |     if (r3 > 0xc) {
    0x0001035c movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 0xc) {
    0x0001035e movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 | label_99:
    0x00010360 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00010362 beq 0x10412                                       |         goto label_223;
                                                                 |     }
    0x00010364 ldr r3, [pc, 0x1c8]                               |     
    0x00010366 mov.w r1, 0x3a0                                   |     r1 = 0x3a0;
    0x00010368 strb r0, [r5, 5]                                  |     *((r5 + 5)) = r0;
    0x0001036a str r0, [sp, 4]                                   |     var_44h_2 = r0;
    0x0001036c ldr r0, [pc, 0x1c4]                               |     
    0x0001036e add r3, pc                                        |     r3 = 0x208a2;
    0x00010370 str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x00010372 movs r3, 0                                        |     r3 = 0;
    0x00010374 str r3, [sp]                                      |     *(sp) = r3;
    0x00010376 add r0, pc                                        |     r0 = 0x208ae;
    0x00010378 movs r3, 0xd                                      |     r3 = 0xd;
    0x0001037a blx 0x7380                                        |     BIO_set_init ();
    0x0001037e b 0x102fa                                         |     goto label_89;
                                                                 | label_214:
    0x00010380 ldr.w r1, [sb, 4]                                 |     r1 = *((sb + 4));
                                                                 |     do {
                                                                 | label_94:
    0x00010384 adds r1, 0x10                                     |         r1 += 0x10;
    0x00010386 b 0x10272                                         |         goto label_90;
                                                                 | label_208:
    0x00010388 mov r7, r5                                        |         r7 = r5;
    0x0001038a movs r5, 1                                        |         r5 = 1;
    0x0001038c mov r8, r7                                        |         r8 = r7;
    0x0001038e b 0x100d8                                         |         goto label_78;
                                                                 | label_213:
    0x00010390 sub.w r3, r7, r8                                  |         r3 = r7 - r8;
    0x00010394 str r0, [sp, 0x14]                                |         var_14h_2 = r0;
    0x00010396 strd r3, r7, [sp, 0xc]                            |         __asm ("strd r3, r7, [sp, 0xc]");
    0x0001039a mov.w r1, 0x3bc                                   |         r1 = 0x3bc;
    0x0001039e ldr r3, [pc, 0x198]                               |         
    0x000103a0 str.w sb, [sp, 4]                                 |         __asm ("str.w sb, [var_44h_2]");
    0x000103a4 ldr r0, [pc, 0x194]                               |         
    0x000103a6 add r3, pc                                        |         
    0x000103a8 str r3, [sp, 8]                                   |         var_8h_2 = r3;
    0x000103aa ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x000103ac add r0, pc                                        |         r0 = 0x208ec;
    0x000103ae ldr r3, [r3, 0xc]                                 |         r3 = *(0x208f0);
    0x000103b0 str r3, [sp]                                      |         *(sp) = r3;
    0x000103b2 movs r3, 6                                        |         r3 = 6;
    0x000103b4 blx 0x7380                                        |         BIO_set_init ();
    0x000103b8 b 0x10232                                         |         goto label_84;
                                                                 | label_201:
    0x000103ba movw r8, 0x4e2e                                   |         r8 = 0x4e2e;
    0x000103be b 0x1019c                                         |         goto label_85;
    0x000103c0 ldr r0, [pc, 0x17c]                               |         
    0x000103c2 ldr r2, [pc, 0x144]                               |         r2 = *(0x1050a);
    0x000103c4 add r0, pc                                        |         r0 = 0x20908;
    0x000103c6 ldr r2, [r0, r2]                                  |         r2 = *(0x20908);
    0x000103c8 ldr r0, [r2]                                      |         r0 = *(0x20908);
    0x000103ca ldr r2, [sp, 0x44]                                |         r2 = var_44h;
    0x000103cc eors r0, r2                                       |         r0 ^= r2;
    0x000103ce mov.w r2, 0                                       |         r2 = 0;
                                                                 |         if (r0 != r2) {
    0x000103d2 bne.w 0x104fe                                     |             goto label_209;
                                                                 |         }
    0x000103d6 ldr.w r0, [fp, 8]                                 |         r0 = *(arg_8h);
    0x000103da add sp, 0x4c                                      |         
    0x000103dc pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}        |         
    0x000103e0 b.w 0x744c                                        |         void (*0x744c)() ();
    0x000103e2 invalid                                           |         
    0x000103e4 ldr r1, [pc, 0x15c]                               |         
    0x000103e6 ldr r3, [pc, 0x120]                               |         r3 = *(0x1050a);
    0x000103e8 add r1, pc                                        |         r1 = "GET / HTTP/1.0\r\n";
    0x000103ea ldr r3, [r1, r3]                                  |         r3 = "GET / HTTP/1.0\r\n";
    0x000103ec ldr r1, [r3]                                      |         r1 = "GET / HTTP/1.0\r\n";
    0x000103ee ldr r3, [sp, 0x44]                                |         r3 = var_44h;
    0x000103f0 eors r1, r3                                       |         r1 ^= r3;
    0x000103f2 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r1 != r3) {
    0x000103f6 bne.w 0x104fe                                     |             goto label_209;
                                                                 |         }
    0x000103fa mov r2, r0                                        |         r2 = r0;
    0x000103fc mov r3, r5                                        |         r3 = r5;
    0x000103fe mov r1, r6                                        |         r1 = r6;
    0x00010400 mov r0, r4                                        |         r0 = r4;
    0x00010402 add sp, 0x4c                                      |         
    0x00010404 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}        |         
    0x00010408 b.w 0xe214                                        |         goto label_91;
                                                                 | label_215:
    0x0001040c ldr r2, [sp, 0x20]                                |         r2 = var_20h;
    0x0001040e movs r3, 0xb                                      |         r3 = 0xb;
    0x00010410 str r3, [r2, 0xc]                                 |         *((r2 + 0xc)) = r3;
                                                                 | label_223:
    0x00010412 mov.w r8, 0xb                                     |         r8 = 0xb;
    0x00010416 b 0x1019c                                         |         goto label_85;
    0x00010418 mov r0, r1                                        |         r0 = r1;
    0x0001041a mov.w r8, 0x67                                    |         r8 = 0x67;
    0x0001041e blx 0x68a0                                        |         UI_method_set_closer ();
    0x00010422 b 0x101d2                                         |         goto label_92;
                                                                 | label_212:
    0x00010424 ldr.w r1, [sb, 4]                                 |         r1 = *((sb + 4));
    0x00010428 ldr r3, [r1, 0x10]                                |         r3 = *((r1 + 0x10));
    0x0001042a cmp r3, 0                                         |         
    0x0001042c beq 0x10384                                       |         
                                                                 |     } while (r3 == 0);
    0x0001042e ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x00010430 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x00010432 bge.w 0x10224                                     |         goto label_93;
                                                                 |     }
    0x00010436 b 0x10384                                         |     goto label_94;
                                                                 | label_217:
    0x00010438 cmp r2, 0                                         |     
                                                                 |     if (r2 < 0) {
    0x0001043a blt 0x1046e                                       |         goto label_224;
                                                                 |     }
    0x0001043c cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0001043e beq 0x104ea                                       |         goto label_225;
                                                                 |     }
    0x00010440 ldr r3, [r1]                                      |     r3 = *(r1);
                                                                 |     if (r3 == 0) {
    0x00010442 cbz r3, 0x10472                                   |         goto label_106;
                                                                 |     }
    0x00010444 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x00010446 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x00010448 blt 0x10472                                       |         goto label_106;
                                                                 |     }
                                                                 | label_105:
    0x0001044a cmp r3, 5                                         |     
                                                                 |     if (r3 <= 5) {
    0x0001044c ble.w 0x102fa                                     |         goto label_89;
                                                                 |     }
                                                                 | label_95:
    0x00010450 ldr r3, [pc, 0xf4]                                |     
    0x00010452 mov.w r1, 0x3a4                                   |     r1 = 0x3a4;
    0x00010456 str r7, [sp, 4]                                   |     var_44h_2 = r7;
    0x00010458 ldr r0, [pc, 0xf0]                                |     
    0x0001045a add r3, pc                                        |     
    0x0001045c str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x0001045e ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00010460 add r0, pc                                        |     r0 = 0x209b0;
    0x00010462 ldr r3, [r3, 0xc]                                 |     r3 = *(0x209b2);
    0x00010464 str r3, [sp]                                      |     *(sp) = r3;
    0x00010466 movs r3, 6                                        |     r3 = 6;
    0x00010468 blx 0x7380                                        |     BIO_set_init ();
    0x0001046c b 0x102fa                                         |     goto label_89;
                                                                 | label_224:
    0x0001046e cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x00010470 beq 0x104fa                                       |         goto label_226;
                                                                 |     }
                                                                 | label_106:
    0x00010472 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x00010474 cmp r3, 5                                         |     
                                                                 |     if (r3 <= 5) {
    0x00010476 ble.w 0x102fa                                     |         goto label_89;
                                                                 |     }
    0x0001047a b 0x10450                                         |     goto label_95;
                                                                 | label_219:
    0x0001047c ldr r1, [r0, 4]                                   |     r1 = *((r0 + 4));
    0x0001047e ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
                                                                 |     if (r3 == 0) {
    0x00010480 cbz r3, 0x1048a                                   |         goto label_101;
                                                                 |     }
    0x00010482 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x00010484 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x00010486 bge.w 0x102d6                                     |         goto label_96;
                                                                 |     }
                                                                 | label_101:
    0x0001048a adds r1, 0x10                                     |     r1 += 0x10;
                                                                 | label_100:
    0x0001048c ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x0001048e cmp r3, 5                                         |     
    0x00010490 ite le                                            |     
                                                                 |     if (r3 > 5) {
    0x00010492 movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 5) {
    0x00010494 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x00010496 b 0x102de                                         |     goto label_97;
                                                                 | label_222:
    0x00010498 ldr r1, [r0, 4]                                   |     r1 = *((r0 + 4));
    0x0001049a ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
                                                                 |     if (r3 == 0) {
    0x0001049c cbz r3, 0x104a6                                   |         goto label_104;
                                                                 |     }
    0x0001049e ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x000104a0 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x000104a2 bge.w 0x10358                                     |         goto label_98;
                                                                 |     }
                                                                 | label_104:
    0x000104a6 adds r1, 0x10                                     |     r1 += 0x10;
                                                                 | label_103:
    0x000104a8 ldr r3, [r1, 4]                                   |     r3 = *((r1 + 4));
    0x000104aa cmp r3, 0xc                                       |     
    0x000104ac ite le                                            |     
                                                                 |     if (r3 > 0xc) {
    0x000104ae movle r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 0xc) {
    0x000104b0 movgt r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x000104b2 b 0x10360                                         |     goto label_99;
                                                                 | label_218:
    0x000104b4 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x000104b6 bne 0x1048c                                       |         goto label_100;
                                                                 |     }
    0x000104b8 ldr r1, [r0, 4]                                   |     r1 = *((r0 + 4));
    0x000104ba b 0x1048a                                         |     goto label_101;
                                                                 | label_220:
    0x000104bc ldr r3, [pc, 0x90]                                |     
    0x000104be movw r1, 0x3ab                                    |     r1 = 0x3ab;
    0x000104c2 str.w r8, [sp, 0xc]                               |     __asm ("str.w r8, [var_ch_2]");
    0x000104c6 str r7, [sp, 4]                                   |     var_44h_2 = r7;
    0x000104c8 add r3, pc                                        |     
    0x000104ca ldr r0, [pc, 0x88]                                |     
    0x000104cc str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x000104ce ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x000104d0 add r0, pc                                        |     r0 = 0x20a2a;
    0x000104d2 ldr r3, [r3, 0xc]                                 |     r3 = *(0x20a28);
    0x000104d4 str r3, [sp]                                      |     *(sp) = r3;
    0x000104d6 movs r3, 6                                        |     r3 = 6;
    0x000104d8 blx 0x7380                                        |     BIO_set_init ();
    0x000104dc ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x000104de ldr r2, [r3, 8]                                   |     r2 = *(0x20a30);
    0x000104e0 b 0x102e4                                         |     goto label_102;
                                                                 | label_221:
    0x000104e2 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x000104e4 bne 0x104a8                                       |         goto label_103;
                                                                 |     }
    0x000104e6 ldr r1, [r0, 4]                                   |     r1 = *((r0 + 4));
    0x000104e8 b 0x104a6                                         |     goto label_104;
                                                                 | label_225:
    0x000104ea ldr r1, [r0, 4]                                   |     r1 = *((r0 + 4));
    0x000104ec ldr r3, [r1, 0x10]                                |     r3 = *((r1 + 0x10));
                                                                 |     if (r3 == 0) {
    0x000104ee cbz r3, 0x104f6                                   |         goto label_227;
                                                                 |     }
    0x000104f0 ldrsb r3, [r3, r2]                                |     r3 = *((r3 + r2));
    0x000104f2 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x000104f4 bge 0x1044a                                       |         goto label_105;
                                                                 |     }
                                                                 |     do {
                                                                 | label_227:
    0x000104f6 adds r1, 0x10                                     |         r1 += 0x10;
    0x000104f8 b 0x10472                                         |         goto label_106;
                                                                 | label_226:
    0x000104fa ldr r1, [r0, 4]                                   |         r1 = *((r0 + 4));
    0x000104fc b 0x104f6                                         |         
                                                                 |     } while (1);
                                                                 | label_209:
    0x000104fe blx 0x7428                                        |     BIO_push ();
    0x00010502 nop                                               |     
    0x00010504 strh r2, [r1, 0x3a]                               |     *((r1 + 0x3a)) = r2;
    0x00010506 movs r1, r0                                       |     r1 = r0;
    0x00010508 lsrs r4, r1, 0x20                                 |     r4 = r1 >> 0x20;
    0x0001050a movs r0, r0                                       |     
    0x0001050c strh r2, [r0, 0x3a]                               |     *((r0 + 0x3a)) = r2;
    0x0001050e movs r1, r0                                       |     r1 = r0;
    0x00010510 lsrs r4, r5, 0x20                                 |     r4 = r5 >> 0x20;
    0x00010512 movs r0, r0                                       |     
    0x00010514 lsls r4, r5, 0x1f                                 |     r4 = r5 << 0x1f;
    0x00010516 movs r0, r0                                       |     
    0x00010518 strh r2, [r7, 0x2a]                               |     *((r7 + 0x2a)) = r2;
    0x0001051a movs r1, r0                                       |     r1 = r0;
    0x0001051c lsrs r2, r3, 0x1a                                 |     r2 = r3 >> 0x1a;
    0x0001051e movs r1, r0                                       |     r1 = r0;
    0x00010520 lsrs r4, r2, 0x1a                                 |     r4 = r2 >> 0x1a;
    0x00010522 movs r1, r0                                       |     r1 = r0;
    0x00010524 lsls r6, r7, 0xb                                  |     r6 = r7 << 0xb;
    0x00010526 movs r1, r0                                       |     r1 = r0;
    0x00010528 lsrs r2, r2, 0x19                                 |     r2 >>= 0x19;
    0x0001052a movs r1, r0                                       |     r1 = r0;
    0x0001052c lsls r6, r3, 9                                    |     r6 = r3 << 9;
    0x0001052e movs r1, r0                                       |     r1 = r0;
    0x00010530 lsrs r2, r1, 0x16                                 |     r2 = r1 >> 0x16;
    0x00010532 movs r1, r0                                       |     r1 = r0;
    0x00010534 lsls r2, r3, 7                                    |     r2 = r3 << 7;
    0x00010536 movs r1, r0                                       |     r1 = r0;
    0x00010538 lsrs r6, r1, 0x17                                 |     r6 = r1 >> 0x17;
    0x0001053a movs r1, r0                                       |     r1 = r0;
    0x0001053c lsls r4, r4, 6                                    |     r4 <<= 6;
    0x0001053e movs r1, r0                                       |     r1 = r0;
    0x00010540 strh r4, [r1, 0x1c]                               |     *((r1 + 0x1c)) = r4;
    0x00010542 movs r1, r0                                       |     r1 = r0;
    0x00010544 strh r0, [r5, 0x1a]                               |     *((r5 + 0x1a)) = r0;
    0x00010546 movs r1, r0                                       |     r1 = r0;
    0x00010548 lsrs r2, r0, 0x13                                 |     r2 = r0 >> 0x13;
    0x0001054a movs r1, r0                                       |     r1 = r0;
    0x0001054c lsls r0, r6, 3                                    |     r0 = r6 << 3;
    0x0001054e movs r1, r0                                       |     r1 = r0;
    0x00010550 lsrs r0, r0, 0x12                                 |     r0 >>= 0x12;
    0x00010552 movs r1, r0                                       |     r1 = r0;
    0x00010554 lsls r0, r0, 2                                    |     r0 <<= 2;
    0x00010556 movs r1, r0                                       |     r1 = r0;
    0x00010558 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x0001055c mov r5, r0                                        |     r5 = r0;
    0x0001055e ldr r4, [pc, 0x29c]                               |     
    0x00010560 sub sp, 0x1c                                      |     
    0x00010562 mov r7, r1                                        |     r7 = r1;
    0x00010564 ldr r0, [pc, 0x298]                               |     r0 = *(0x10800);
    0x00010566 ldr.w ip, [r5, 0x10]                              |     ip = *((r5 + 0x10));
    0x0001056a add r4, pc                                        |     r4 = 0x20d6c;
    0x0001056c ldr.w fp, [pc, 0x294]                             |     
    0x00010570 ldr r0, [r4, r0]                                  |     
    0x00010572 ldr.w r8, [ip, 0x54]                              |     r8 = *((ip + 0x54));
    0x00010576 add fp, pc                                        |     fp = 0x20d7e;
    0x00010578 ldrd sl, sb, [sp, 0x40]                           |     __asm ("ldrd sl, sb, [var_40h]");
    0x0001057c ldr r0, [r0]                                      |     r0 = *(0x20d6c);
    0x0001057e str r0, [sp, 0x14]                                |     var_14h = r0;
    0x00010580 mov.w r0, 0                                       |     r0 = 0;
    0x00010584 mov.w r0, 0x2000                                  |     r0 = 0x2000;
    0x00010588 ldr r6, [r5, 4]                                   |     r6 = *((r5 + 4));
    0x0001058a str r0, [sp, 0xc]                                 |     var_ch = r0;
    0x0001058c cmp.w r8, 0                                       |     
                                                                 |     if (r8 != 0) {
    0x00010590 bne.w 0x106d0                                     |         goto label_228;
                                                                 |     }
    0x00010594 ldr r0, [r6]                                      |     r0 = *(r6);
    0x00010596 mov r4, r2                                        |     r4 = r2;
    0x00010598 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001059a beq 0x10612                                       |         goto label_229;
                                                                 |     }
    0x0001059c mov lr, r3                                        |     lr = r3;
    0x0001059e subs r3, r2, 3                                    |     r3 = r2 - 3;
    0x000105a0 bic r3, r3, 2                                     |     r3 = BIT_MASK (r3, 2);
    0x000105a4 cmp r3, 0                                         |     
    0x000105a6 it ne                                             |     
                                                                 |     if (r3 != 0) {
    0x000105a8 cmpne r2, 1                                       |         __asm ("cmpne r2, 1");
                                                                 |     }
                                                                 |     if (r3 > 0) {
    0x000105aa bhi 0x1069e                                       |         goto label_230;
                                                                 |     }
    0x000105ac add.w r3, r6, 0x2000                              |     r3 = r6 + 0x2000;
    0x000105b0 strd r2, lr, [r6, 0x10]                           |     __asm ("strd r2, lr, [r6, 0x10]");
    0x000105b4 ldr r0, [r3, 0x28]                                |     r0 = *((r3 + 0x28));
    0x000105b6 bl 0xf28c                                         |     r0 = fcn_0000f28c (r0, r1, r2, r3, r4);
    0x000105ba cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000105bc bne.w 0x106ec                                     |         goto label_231;
                                                                 |     }
    0x000105c0 cmp r4, 5                                         |     
                                                                 |     if (r4 == 5) {
    0x000105c2 beq 0x10680                                       |         goto label_108;
                                                                 |     }
    0x000105c4 ldr r2, [r6, 0x10]                                |     r2 = *((r6 + 0x10));
    0x000105c6 add.w fp, r6, 0x28                                |     
    0x000105ca cmp r2, 3                                         |     
    0x000105cc it ne                                             |     
                                                                 |     if (r2 != 3) {
    0x000105ce cmpne r2, 0                                       |         __asm ("cmpne r2, 0");
                                                                 |     }
    0x000105d0 ite eq                                            |     
                                                                 |     if (r2 != 3) {
    0x000105d2 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r2 == 3) {
    0x000105d4 movne r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r2 == 3) {
    0x000105d6 beq 0x10658                                       |         goto label_232;
                                                                 |     }
    0x000105d8 cmp r2, 1                                         |     
                                                                 |     if (r2 == 1) {
    0x000105da beq.w 0x10728                                     |         goto label_233;
                                                                 |     }
    0x000105de movw r4, 0x1187                                   |     
    0x000105e2 str r3, [r6, 0x14]                                |     *((r6 + 0x14)) = r3;
    0x000105e4 movt r4, 1                                        |     r4 = 0x11187;
                                                                 |     do {
                                                                 | label_112:
    0x000105e8 ldr r2, [pc, 0x21c]                               |         
    0x000105ea ldr r3, [pc, 0x214]                               |         r3 = *(0x10802);
    0x000105ec add r2, pc                                        |         r2 = 0x20df8;
    0x000105ee ldr r3, [r2, r3]                                  |         r3 = *(0x20df8);
    0x000105f0 ldr r2, [r3]                                      |         r2 = *(0x20df8);
    0x000105f2 ldr r3, [sp, 0x14]                                |         r3 = var_14h;
    0x000105f4 eors r2, r3                                       |         r2 ^= r3;
    0x000105f6 mov.w r3, 0                                       |         r3 = 0;
    0x000105fa itt eq                                            |         
                                                                 |         if (r2 != r3) {
    0x000105fc moveq r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r2 != r3) {
    0x000105fe moveq r2, r4                                      |             r2 = r4;
                                                                 |         }
                                                                 |         if (r2 != r3) {
    0x00010600 bne.w 0x107f8                                     |             goto label_234;
                                                                 |         }
                                                                 | label_110:
    0x00010604 mov r1, r7                                        |         r1 = r7;
    0x00010606 mov r0, r6                                        |         r0 = r6;
    0x00010608 add sp, 0x1c                                      |         
    0x0001060a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}        |         
    0x0001060e b.w 0xe214                                        |         goto label_91;
                                                                 | label_229:
    0x00010612 ldr r0, [pc, 0x1f8]                               |         r0 = *(0x1080e);
    0x00010614 ldr.w r0, [fp, r0]                                |         r0 = *((fp + r0));
    0x00010616 movs r0, r0                                       |         
    0x00010618 ldr r6, [r0, 8]                                   |         r6 = *(0x10816);
    0x0001061a ldr.w r0, [ip, 0x2c]                              |         r0 = *((ip + 0x2c));
    0x0001061e ldr.w r6, [r0, r6, lsl 2]                         |         r6 = *(0x1080e);
    0x00010622 ldr r0, [r6, 0x20]                                |         r0 = *(0x1082e);
    0x00010624 cmp r0, 1                                         |         
                                                                 |         if (r0 == 1) {
    0x00010626 beq.w 0x107a6                                     |             goto label_235;
                                                                 |         }
    0x0001062a cmp r0, 2                                         |         
                                                                 |         if (r0 == 2) {
    0x0001062c beq 0x106a8                                       |             goto label_236;
                                                                 |         }
    0x0001062e ldr r4, [pc, 0x1e0]                               |         
    0x00010630 ldr r0, [pc, 0x1cc]                               |         r0 = *(0x10800);
    0x00010632 add r4, pc                                        |         r4 = 0x20e48;
    0x00010634 ldr r0, [r4, r0]                                  |         r0 = *(0x20e48);
    0x00010636 ldr r4, [r0]                                      |         r4 = *(0x20e48);
    0x00010638 ldr r0, [sp, 0x14]                                |         r0 = var_14h;
    0x0001063a eors r4, r0                                       |         r4 ^= r0;
    0x0001063c mov.w r0, 0                                       |         r0 = 0;
                                                                 |         if (r4 != r0) {
    0x00010640 bne.w 0x107f8                                     |             goto label_234;
                                                                 |         }
    0x00010644 str.w sl, [sp, 0x40]                              |         __asm ("str.w sl, [var_40h]");
    0x00010648 ldr r0, [r5, 8]                                   |         r0 = *((r5 + 8));
    0x0001064a str.w sb, [sp, 0x44]                              |         __asm ("str.w sb, [var_44h_2]");
    0x0001064e add sp, 0x1c                                      |         
    0x00010650 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}        |         
    0x00010654 b.w 0x7210                                        |         goto label_107;
                                                                 | label_232:
    0x00010658 cmp.w sl, 0x2000                                  |         
    0x0001065c mov r1, fp                                        |         r1 = fp;
    0x0001065e sbcs sb, sb, 0                                    |         __asm ("sbcs sb, sb, 0");
    0x00010662 add r2, sp, 0xc                                   |         r2 += var_ch;
    0x00010664 mov r0, r6                                        |         r0 = r6;
    0x00010666 it lt                                             |         
                                                                 |         if (sl >= 0x2000) {
    0x00010668 strlt sl, [sp, 0xc]                               |             var_ch = sl;
                                                                 |         }
    0x0001066c bl 0xe5d0                                         |         fcn_0000e5d0 (r0, r1, r2);
    0x00010670 movs r3, 0                                        |         r3 = 0;
    0x00010672 ldr r1, [sp, 0xc]                                 |         r1 = var_ch;
    0x00010674 mov r4, r0                                        |         r4 = r0;
    0x00010676 str r3, [r6, 0x14]                                |         *((r6 + 0x14)) = r3;
    0x00010678 cmp r0, 0                                         |         
    0x0001067a bne 0x105e8                                       |         
                                                                 |     } while (r0 != 0);
                                                                 | label_111:
    0x0001067c cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0001067e bne 0x1070e                                       |         goto label_237;
                                                                 |     }
                                                                 | label_108:
    0x00010680 movs r0, 0                                        |     r0 = 0;
                                                                 |     do {
                                                                 | label_109:
    0x00010682 ldr r2, [pc, 0x190]                               |         
    0x00010684 ldr r3, [pc, 0x178]                               |         r3 = *(0x10800);
    0x00010686 add r2, pc                                        |         r2 = 0x20ea0;
    0x00010688 ldr r3, [r2, r3]                                  |         r3 = *(0x20ea0);
    0x0001068a ldr r2, [r3]                                      |         r2 = *(0x20ea0);
    0x0001068c ldr r3, [sp, 0x14]                                |         r3 = var_14h;
    0x0001068e eors r2, r3                                       |         r2 ^= r3;
    0x00010690 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00010694 bne.w 0x107f8                                     |             goto label_234;
                                                                 |         }
    0x00010698 add sp, 0x1c                                      |         
    0x0001069a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_230:
    0x0001069e movw r0, 0x1187                                   |         
    0x000106a2 movt r0, 1                                        |         r0 = 0x11187;
    0x000106a6 b 0x10682                                         |         
                                                                 |     } while (1);
                                                                 | label_236:
    0x000106a8 mov r1, r0                                        |     r1 = r0;
    0x000106aa ldr r0, [pc, 0x16c]                               |     
    0x000106ac ldr.w r2, [ip, 0x40]                              |     r2 = *((ip + 0x40));
    0x000106b0 add r0, pc                                        |     r0 = 0x20ece;
    0x000106b2 blx 0x7558                                        |     fcn_00007558 ();
    0x000106b6 adds r3, r7, 4                                    |     r3 = r7 + 4;
    0x000106b8 cmp r4, 3                                         |     
    0x000106ba str r3, [r0]                                      |     *(r0) = r3;
    0x000106bc ldr r3, [r7, 8]                                   |     r3 = *((r7 + 8));
    0x000106be str r3, [r0, 4]                                   |     *((r0 + 4)) = r3;
    0x000106c0 ldr r3, [r7, 8]                                   |     r3 = *((r7 + 8));
    0x000106c2 str r0, [r3]                                      |     *(r3) = r0;
    0x000106c4 it ne                                             |     
                                                                 |     if (r4 == 3) {
    0x000106c6 movne r3, 3                                       |         r3 = 3;
                                                                 |     }
    0x000106c8 str r0, [r7, 8]                                   |     *((r7 + 8)) = r0;
    0x000106ca it ne                                             |     
                                                                 |     if (r4 == 3) {
    0x000106cc strne r3, [r6, 0x20]                              |         *((r6 + 0x20)) = r3;
                                                                 |     }
    0x000106ce b 0x10680                                         |     goto label_108;
                                                                 | label_228:
    0x000106d0 ldr.w r0, [ip, 0x40]                              |     r0 = *((ip + 0x40));
    0x000106d4 blx 0x6830                                        |     fcn_00006830 ();
    0x000106d8 adds r2, r7, 4                                    |     r2 = r7 + 4;
    0x000106da mov r3, r0                                        |     r3 = r0;
    0x000106dc str r2, [r0]                                      |     *(r0) = r2;
    0x000106de movs r0, 0x67                                     |     r0 = 0x67;
    0x000106e0 ldr r2, [r7, 8]                                   |     r2 = *((r7 + 8));
    0x000106e2 str r2, [r3, 4]                                   |     *((r3 + 4)) = r2;
    0x000106e4 ldr r2, [r7, 8]                                   |     r2 = *((r7 + 8));
    0x000106e6 str r3, [r2]                                      |     *(r2) = r3;
    0x000106e8 str r3, [r7, 8]                                   |     *((r7 + 8)) = r3;
    0x000106ea b 0x10682                                         |     goto label_109;
                                                                 | label_231:
    0x000106ec ldr r2, [pc, 0x12c]                               |     
    0x000106ee ldr r3, [pc, 0x110]                               |     r3 = *(0x10802);
    0x000106f0 add r2, pc                                        |     r2 = 0x20f10;
    0x000106f2 ldr r3, [r2, r3]                                  |     r3 = *(0x20f10);
    0x000106f4 ldr r2, [r3]                                      |     r2 = *(0x20f10);
    0x000106f6 ldr r3, [sp, 0x14]                                |     r3 = var_14h;
    0x000106f8 eors r2, r3                                       |     r2 ^= r3;
    0x000106fa mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x000106fe bne 0x107f8                                       |         goto label_234;
                                                                 |     }
    0x00010700 sub.w r3, r4, 5                                   |     r3 = r4 - 5;
    0x00010704 mov r2, r0                                        |     r2 = r0;
    0x00010706 clz r3, r3                                        |     r3 &= r3;
    0x0001070a lsrs r3, r3, 5                                    |     r3 >>= 5;
    0x0001070c b 0x10604                                         |     goto label_110;
                                                                 | label_237:
    0x0001070e ldr r3, [r5, 0x10]                                |     r3 = *((r5 + 0x10));
    0x00010710 mov r0, fp                                        |     r0 = fp;
    0x00010712 ldr r2, [r3, 0x40]                                |     r2 = *((r3 + 0x40));
    0x00010714 blx 0x73e0                                        |     stack_chk_fail ();
    0x00010716 mcr p13, 3, r1, c4, c11, 1                        |     __asm ("mcr p13, 3, r1, c4, c11, 1");
    0x0001071a str r3, [r0]                                      |     *(r0) = r3;
    0x0001071c ldr r3, [r7, 8]                                   |     r3 = *((r7 + 8));
    0x0001071e str r3, [r0, 4]                                   |     *((r0 + 4)) = r3;
    0x00010720 ldr r3, [r7, 8]                                   |     r3 = *((r7 + 8));
    0x00010722 str r0, [r3]                                      |     *(r3) = r0;
    0x00010724 str r0, [r7, 8]                                   |     *((r7 + 8)) = r0;
    0x00010726 b 0x10680                                         |     goto label_108;
                                                                 | label_233:
    0x00010728 ldr.w sb, [r6, 0x1c]                              |     sb = *((r6 + 0x1c));
    0x0001072c str r3, [sp, 4]                                   |     var_8h = r3;
    0x0001072e cmp.w sb, 0                                       |     
                                                                 |     if (sb != 0) {
    0x00010732 beq 0x10758                                       |         
    0x00010734 ldr r4, [r6, 0x20]                                |         r4 = *((r6 + 0x20));
    0x00010736 mov r2, sb                                        |         r2 = sb;
    0x00010738 movs r1, 0xa                                      |         r1 = 0xa;
    0x0001073a mov r0, r4                                        |         r0 = r4;
    0x0001073c blx 0x7ba0                                        |         r0 = fcn_00007ba0 ();
                                                                 |         if (r0 == 0) {
    0x00010740 cbz r0, 0x10758                                   |             goto label_238;
                                                                 |         }
    0x00010742 ldr r3, [sp, 4]                                   |         r3 = var_8h;
    0x00010744 adds r1, r0, 1                                    |         r1 = r0 + 1;
    0x00010746 str r1, [r6, 0x20]                                |         *((r6 + 0x20)) = r1;
    0x00010748 subs r1, r1, r4                                   |         r1 -= r4;
    0x0001074a mov fp, r4                                        |         
    0x0001074c str r1, [sp, 0xc]                                 |         var_ch = r1;
    0x0001074e str r3, [r6, 0x14]                                |         *((r6 + 0x14)) = r3;
    0x00010750 sub.w r3, sb, r1                                  |         r3 = sb - r1;
    0x00010754 str r3, [r6, 0x1c]                                |         *((r6 + 0x1c)) = r3;
    0x00010756 b 0x1067c                                         |         goto label_111;
                                                                 |     }
                                                                 | label_238:
    0x00010758 add r3, sp, 0x10                                  |     r3 += var_10h;
    0x0001075a mov.w r2, 0x2000                                  |     r2 = 0x2000;
    0x0001075e str r3, [sp, 4]                                   |     var_8h = r3;
    0x00010760 movs r3, 0                                        |     r3 = 0;
    0x00010762 strd r3, r2, [sp, 0xc]                            |     __asm ("strd r3, r2, [sp, 0xc]");
    0x00010766 b 0x1078a                                         |     
                                                                 |     while (r0 == 0) {
    0x00010768 ldrd r2, sl, [sp, 0xc]                            |         __asm ("ldrd r2, sl, [var_ch]");
    0x0001076c movs r1, 0xa                                      |         r1 = 0xa;
    0x0001076e mov r0, fp                                        |         r0 = fp;
    0x00010770 add.w sb, sl, r2                                  |         sb = sl + r2;
    0x00010774 mov r2, sb                                        |         r2 = sb;
    0x00010776 str.w sb, [sp, 0xc]                               |         __asm ("str.w sb, [var_ch]");
    0x0001077a blx 0x7ba0                                        |         r0 = fcn_00007ba0 ();
                                                                 |         if (r0 != 0) {
    0x0001077e cbnz r0, 0x107ce                                  |             goto label_239;
                                                                 |         }
    0x00010780 add r8, sl                                        |         r8 += sl;
    0x00010782 rsb.w r3, r8, 0x2000                              |         r3 = 0x2000 - r8;
    0x00010786 str r3, [sp, 0x10]                                |         var_10h = r3;
                                                                 |         if (r3 == 0) {
    0x00010788 cbz r3, 0x107e6                                   |             goto label_240;
                                                                 |         }
    0x0001078a ldr r2, [sp, 4]                                   |         r2 = var_8h;
    0x0001078c add.w r1, fp, r8                                  |         r1 = fp + r8;
    0x00010790 mov r0, r6                                        |         r0 = r6;
    0x00010792 bl 0xe5d0                                         |         r0 = fcn_0000e5d0 (r0, r1, r2);
    0x00010796 mov r4, r0                                        |         r4 = r0;
    0x00010798 cmp r0, 0                                         |         
    0x0001079a beq 0x10768                                       |         
                                                                 |     }
    0x0001079c cmp r0, 0xb                                       |     
                                                                 |     if (r0 == 0xb) {
    0x0001079e beq 0x107ec                                       |         goto label_241;
                                                                 |     }
                                                                 | label_113:
    0x000107a0 movs r3, 0                                        |     r3 = 0;
    0x000107a2 str r3, [r6, 0x14]                                |     *((r6 + 0x14)) = r3;
    0x000107a4 b 0x105e8                                         |     goto label_112;
                                                                 | label_235:
    0x000107a6 ldr r0, [pc, 0x78]                                |     
    0x000107a8 movs r1, 0x10                                     |     r1 = 0x10;
    0x000107aa ldr.w r2, [ip, 0x40]                              |     r2 = *((ip + 0x40));
    0x000107ae add r0, pc                                        |     r0 = 0x20fd4;
    0x000107b0 blx 0x7558                                        |     fcn_00007558 ();
    0x000107b4 adds r3, r7, 4                                    |     r3 = r7 + 4;
    0x000107b6 cmp r4, 3                                         |     
    0x000107b8 str r3, [r0]                                      |     *(r0) = r3;
    0x000107ba ldr r3, [r7, 8]                                   |     r3 = *((r7 + 8));
    0x000107bc str r3, [r0, 4]                                   |     *((r0 + 4)) = r3;
    0x000107be ldr r3, [r7, 8]                                   |     r3 = *((r7 + 8));
    0x000107c0 str r0, [r3]                                      |     *(r3) = r0;
    0x000107c2 str r0, [r7, 8]                                   |     *((r7 + 8)) = r0;
                                                                 |     if (r4 == 3) {
    0x000107c4 beq.w 0x10680                                     |         goto label_108;
                                                                 |     }
    0x000107c8 movs r3, 2                                        |     r3 = 2;
    0x000107ca str r3, [r6, 0x20]                                |     *((r6 + 0x20)) = r3;
    0x000107cc b 0x10680                                         |     goto label_108;
                                                                 | label_239:
    0x000107ce sub.w r1, r0, fp                                  |     r1 = r0 - fp;
    0x000107d2 str r4, [r6, 0x14]                                |     *((r6 + 0x14)) = r4;
    0x000107d4 adds r1, 1                                        |     r1++;
    0x000107d6 sub.w r3, sb, r1                                  |     r3 = sb - r1;
    0x000107da str r1, [sp, 0xc]                                 |     var_ch = r1;
    0x000107dc str r3, [r6, 0x1c]                                |     *((r6 + 0x1c)) = r3;
    0x000107de add.w r3, fp, r1                                  |     r3 = fp + r1;
    0x000107e2 str r3, [r6, 0x20]                                |     *((r6 + 0x20)) = r3;
    0x000107e4 b 0x1067c                                         |     goto label_111;
                                                                 | label_240:
    0x000107e6 mov r1, sb                                        |     r1 = sb;
    0x000107e8 str r3, [r6, 0x14]                                |     *((r6 + 0x14)) = r3;
    0x000107ea b 0x1067c                                         |     goto label_111;
                                                                 | label_241:
    0x000107ec ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x000107ee cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000107f0 beq 0x107a0                                       |         goto label_113;
                                                                 |     }
    0x000107f2 strd r3, fp, [r6, 0x1c]                           |     __asm ("strd r3, fp, [r6, 0x1c]");
    0x000107f6 b 0x107a0                                         |     goto label_113;
                                                                 | label_234:
    0x000107f8 blx 0x7428                                        |     BIO_push ();
    0x000107fc strh r6, [r4, 0xe]                                |     *((r4 + 0xe)) = r6;
    0x000107fe movs r1, r0                                       |     r1 = r0;
    0x00010800 lsrs r4, r1, 0x20                                 |     r4 = r1 >> 0x20;
    0x00010802 movs r0, r0                                       |     
    0x00010804 strh r2, [r3, 0xe]                                |     *((r3 + 0xe)) = r2;
    0x00010806 movs r1, r0                                       |     r1 = r0;
    0x00010808 strh r4, [r4, 0xa]                                |     *((r4 + 0xa)) = r4;
    0x0001080a movs r1, r0                                       |     r1 = r0;
    0x0001080c lsls r4, r5, 0x1f                                 |     r4 = r5 << 0x1f;
    0x0001080e movs r0, r0                                       |     
    0x00010810 strh r6, [r3, 8]                                  |     *((r3 + 8)) = r6;
    0x00010812 movs r1, r0                                       |     r1 = r0;
    0x00010814 strh r2, [r1, 6]                                  |     *((r1 + 6)) = r2;
    0x00010816 movs r1, r0                                       |     r1 = r0;
    0x00010818 lsrs r4, r6, 0xb                                  |     r4 = r6 >> 0xb;
    0x0001081a movs r1, r0                                       |     r1 = r0;
    0x0001081c strh r0, [r4, 2]                                  |     *((r4 + 2)) = r0;
    0x0001081e movs r1, r0                                       |     r1 = r0;
    0x00010820 lsls r6, r7, 5                                    |     r6 = r7 << 5;
    0x00010822 movs r1, r0                                       |     r1 = r0;
                                                                 | }

[*] Function sprintf used 3 times mod_ssl.so