[*] Binary protection state of libcert.so.1.0

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


[*] Function system tear down of libcert.so.1.0

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libcert.so.1.0 @ 0x44b4 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) fcn.000044b4 ()                                  | void fcn_000044b4 (int16_t arg1, int16_t arg2, int16_t arg3) {
                                                             |     int16_t var_0h;
                                                             |     int16_t var_4h;
                                                             |     int16_t var_8h;
                                                             |     int16_t var_ch;
                                                             |     int16_t var_10h_2;
                                                             |     int16_t var_14h_2;
                                                             |     int16_t var_18h;
                                                             |     int16_t var_1ch_2;
                                                             |     int16_t var_20h_3;
                                                             |     int16_t var_24h_3;
                                                             |     int16_t var_28h;
                                                             |     int16_t var_2ch;
                                                             |     int16_t var_30h;
                                                             |     int16_t var_34h;
                                                             |     int16_t var_38h;
                                                             |     int16_t var_3ch;
                                                             |     int16_t var_40h;
                                                             |     int16_t var_54h;
                                                             |     int16_t var_5ch;
                                                             |     int16_t var_60h;
                                                             |     int16_t var_64h;
                                                             |     int16_t var_68h;
                                                             |     int16_t var_6ch;
                                                             |     int16_t var_70h;
                                                             |     int16_t var_74h;
                                                             |     int16_t var_78h;
                                                             |     int16_t var_7ch;
                                                             |     int16_t var_80h;
                                                             |     int16_t var_84h;
                                                             |     int16_t var_88h;
                                                             |     int16_t var_8ch;
                                                             |     int16_t var_90h;
                                                             |     int16_t var_94h;
                                                             |     int16_t var_98h;
                                                             |     int16_t var_9ch;
                                                             |     int16_t var_a0h;
                                                             |     int16_t var_a4h;
                                                             |     int16_t var_a8h;
                                                             |     int16_t var_ach;
                                                             |     int16_t var_b0h;
                                                             |     int16_t var_b4h;
                                                             |     int16_t var_b8h;
                                                             |     int16_t var_c0h;
                                                             |     int16_t var_c4h;
                                                             |     int16_t var_c8h;
                                                             |     int16_t var_cch;
                                                             |     int16_t var_d0h;
                                                             |     int16_t var_d4h;
                                                             |     int16_t var_d8h;
                                                             |     int16_t var_dch;
                                                             |     int16_t var_e0h;
                                                             |     int16_t var_e4h;
                                                             |     int16_t var_e8h;
                                                             |     int16_t var_ech;
                                                             |     int16_t var_12ch;
                                                             |     int16_t var_22ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
                                                             |     r2 = arg3;
    0x000044b4 svcmi 0xf0e92d                                |     __asm ("svcmi 0xf0e92d");
    0x000044b8 sub.w sp, sp, 0x234                           |     
    0x000044bc strd r1, r2, [sp, 0xb8]                       |     __asm ("strd r1, r2, [sp, 0xb8]");
    0x000044c0 mov r4, r0                                    |     r4 = r0;
    0x000044c2 movs r5, 0                                    |     r5 = 0;
    0x000044c4 add r6, sp, 0xd8                              |     r6 += var_d8h;
    0x000044c6 ldr.w r2, [pc, 0xbd0]                         |     r2 = *(0x00005098);
    0x000044ca ldr.w r3, [pc, 0xbd0]                         |     
    0x000044ce ldr.w r0, [pc, 0xbd0]                         |     
    0x000044d2 add r2, pc                                    |     r2 += pc;
    0x000044d4 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x000044d6 add r0, pc                                    |     r0 = 0x957c;
    0x000044d8 ldr r3, [r3]                                  |     r3 = *(0x509e);
    0x000044da str r3, [sp, 0x22c]                           |     var_22ch = r3;
    0x000044dc mov.w r3, 0                                   |     r3 = 0;
    0x000044e0 ldr.w r3, [pc, 0xbc0]                         |     r3 = *(0x000050a4);
    0x000044e4 str r5, [r6]                                  |     *(r6) = r5;
    0x000044e6 str r5, [sp, 0xdc]                            |     var_dch = r5;
    0x000044e8 add r3, pc                                    |     r3 += pc;
    0x000044ea str r3, [sp, 0xb4]                            |     var_b4h = r3;
    0x000044ec add r3, sp, 0xdc                              |     r3 += var_dch;
    0x000044ee str r3, [sp, 0xb0]                            |     var_b0h = r3;
    0x000044f0 blx 0x28e4                                    |     g_string_new ();
    0x000044f4 str r0, [sp, 0x60]                            |     var_60h = r0;
    0x000044f6 mov r0, r4                                    |     r0 = r4;
    0x000044f8 blx 0x29b4                                    |     r0 = fcn_000029b4 ();
    0x000044fc adds r1, r0, 1                                |     r1 = r0 + 1;
    0x000044fe ldr.w r0, [pc, 0xba8]                         |     
    0x00004502 add r0, pc                                    |     r0 = 0x95b0;
    0x00004504 blx 0x29d8                                    |     fcn_000029d8 ();
    0x00004508 str r0, [sp, 0x64]                            |     var_64h = r0;
    0x0000450a mov r0, r4                                    |     r0 = r4;
    0x0000450c blx 0x2ba0                                    |     fcn_00002ba0 ();
    0x00004510 mov r1, r5                                    |     r1 = r5;
    0x00004512 blx 0x289c                                    |     r0 = ASN1_INTEGER_to_BN ();
    0x00004516 mov r8, r0                                    |     r8 = r0;
    0x00004518 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000451a beq.w 0x499a                                  |         goto label_28;
                                                             |     }
    0x0000451e blx 0x2c24                                    |     r0 = fcn_00002c24 ();
    0x00004522 mov r7, r0                                    |     r7 = r0;
    0x00004524 mov r0, r8                                    |     r0 = r8;
    0x00004526 blx 0x2f4c                                    |     fcn_00002f4c ();
    0x0000452a mov r0, r7                                    |     r0 = r7;
    0x0000452c blx 0x2a74                                    |     r0 = fcn_00002a74 ();
    0x00004530 lsrs r0, r0, 1                                |     r0 >>= 1;
    0x00004532 cmp r0, 0x14                                  |     
    0x00004534 mov ip, r0                                    |     
    0x00004536 it ge                                         |     
                                                             |     if (r0 < 0x14) {
    0x00004538 movge ip, 0x14                                |         
                                                             |     }
    0x0000453c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000453e beq.w 0x4822                                  |         goto label_29;
                                                             |     }
    0x00004542 mov r1, r5                                    |     r1 = r5;
    0x00004544 movs r0, 0x20                                 |     r0 = 0x20;
    0x00004546 adds r5, r7, 1                                |     r5 = r7 + 1;
    0x00004548 add r3, sp, 0xec                              |     r3 += var_ech;
    0x0000454a str r3, [sp, 0xa8]                            |     var_a8h = r3;
                                                             |     do {
    0x0000454c ldrb.w r2, [r7, r1, lsl 1]                    |         offset_0 = r1 << 1;
                                                             |         r2 = *((r7 + offset_0));
    0x00004550 adds r3, 3                                    |         r3 += 3;
    0x00004552 strb r2, [r3, -0x3]                           |         *((r3 - 0x3)) = r2;
    0x00004554 cmp r4, 3                                     |         
    0x00004556 ldrb.w r2, [r5, r1, lsl 1]                    |         offset_1 = r1 << 1;
                                                             |         r2 = *((r5 + offset_1));
    0x0000455a adds r1, 1                                    |         r1++;
    0x0000455c cmp ip, r1                                    |         
    0x0000455e strb r0, [r3, -0x1]                           |         *((r3 - 0x1)) = r0;
    0x00004562 strb r2, [r3, -0x2]                           |         *((r3 - 0x2)) = r2;
    0x00004566 bgt 0x454c                                    |         
                                                             |     } while (ip > r1);
    0x00004568 cmp.w ip, 1                                   |     
    0x0000456c ldr r3, [sp, 0xa8]                            |     r3 = var_a8h;
    0x0000456e it lt                                         |     
                                                             |     if (ip >= 1) {
    0x00004570 movlt ip, 1                                   |         
                                                             |     }
    0x00004574 add.w ip, ip, ip, lsl 1                       |     
    0x00004578 add ip, r3                                    |     
    0x0000457a movs r3, 0                                    |     r3 = 0;
    0x0000457c strb r3, [ip, -0x1]                           |     *((ip - 0x1)) = r3;
                                                             | label_3:
    0x00004580 ldr.w r1, [pc, 0xb28]                         |     
    0x00004584 movw r2, 0x8d7                                |     r2 = 0x8d7;
    0x00004588 mov r0, r7                                    |     r0 = r7;
    0x0000458a add r1, pc                                    |     r1 = 0x963a;
    0x0000458c blx 0x29a8                                    |     fcn_000029a8 ();
    0x00004590 blx 0x2ae0                                    |     fcn_00002ae0 ();
    0x00004594 blx 0x2a2c                                    |     r0 = fcn_00002a2c ();
    0x00004598 mov r8, r0                                    |     r8 = r0;
    0x0000459a cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000459c beq.w 0x49fe                                  |         goto label_30;
                                                             |     }
    0x000045a0 mov r0, r4                                    |     r0 = r4;
    0x000045a2 blx 0x2764                                    |     r0 = X509_get0_tbs_sigalg ();
    0x000045a6 ldr r1, [r0]                                  |     r1 = *(r0);
    0x000045a8 mov r0, r8                                    |     r0 = r8;
    0x000045aa blx 0x286c                                    |     i2a_ASN1_OBJECT ();
    0x000045ae add r3, sp, 0x12c                             |     r3 += var_12ch;
    0x000045b0 mov.w r2, 0x100                               |     r2 = 0x100;
    0x000045b4 mov r1, r3                                    |     r1 = r3;
    0x000045b6 mov r0, r8                                    |     r0 = r8;
    0x000045b8 str r3, [sp, 0xac]                            |     var_ach = r3;
    0x000045ba blx 0x2984                                    |     r0 = fcn_00002984 ();
    0x000045be cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x000045c0 ble.w 0x482c                                  |         goto label_31;
                                                             |     }
    0x000045c4 ldr r0, [sp, 0xac]                            |     r0 = var_ach;
    0x000045c6 blx 0x27b8                                    |     r0 = g_strdup ();
    0x000045ca mov r3, r0                                    |     r3 = r0;
    0x000045cc mov r0, r8                                    |     r0 = r8;
    0x000045ce str r3, [sp, 0x68]                            |     var_68h = r3;
    0x000045d0 blx 0x28f0                                    |     BIO_vfree ();
    0x000045d4 mov r0, r4                                    |     r0 = r4;
    0x000045d6 blx 0x2818                                    |     r0 = X509_get_pubkey ();
    0x000045da mov r5, r0                                    |     r5 = r0;
    0x000045dc cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000045de beq.w 0x4a06                                  |         goto label_32;
                                                             |     }
    0x000045e2 blx 0x28a8                                    |     r0 = EVP_PKEY_base_id ();
    0x000045e6 cmp.w r0, 0x198                               |     
                                                             |     if (r0 == 0x198) {
    0x000045ea beq.w 0x4f1e                                  |         goto label_33;
                                                             |     }
    0x000045ee cmp r0, 6                                     |     
                                                             |     if (r0 == 6) {
    0x000045f0 beq.w 0x4f58                                  |         goto label_34;
                                                             |     }
    0x000045f4 cmp r0, 0x74                                  |     
                                                             |     if (r0 != 0x74) {
    0x000045f6 bne.w 0x497a                                  |         goto label_35;
                                                             |     }
    0x000045fa mov r0, r5                                    |     r0 = r5;
    0x000045fc add r7, sp, 0xe4                              |     r7 += var_e4h;
    0x000045fe blx 0x2a68                                    |     fcn_00002a68 ();
    0x00004602 add r2, sp, 0xe8                              |     r2 += var_e8h;
    0x00004604 mov r1, r7                                    |     r1 = r7;
    0x00004606 blx 0x2990                                    |     fcn_00002990 ();
    0x0000460a ldr r0, [sp, 0xe4]                            |     r0 = var_e4h;
    0x0000460c blx 0x2c24                                    |     fcn_00002c24 ();
    0x00004610 ldr.w r3, [pc, 0xa9c]                         |     
    0x00004614 mov r8, r0                                    |     r8 = r0;
    0x00004616 add r3, pc                                    |     r3 = 0x96ca;
    0x00004618 str r3, [sp, 0xc0]                            |     var_c0h = r3;
                                                             | label_6:
    0x0000461a cmp.w r8, 0                                   |     
                                                             |     if (r8 == 0) {
    0x0000461e beq.w 0x4fd0                                  |         goto label_36;
                                                             |     }
    0x00004622 ldr.w r0, [pc, 0xa90]                         |     
    0x00004626 add r0, pc                                    |     r0 = 0x96e0;
    0x00004628 blx 0x28e4                                    |     g_string_new ();
    0x0000462c ldrb.w r2, [r8]                               |     r2 = *(r8);
    0x00004630 mov r7, r0                                    |     r7 = r0;
    0x00004632 cmp r2, 0x37                                  |     
                                                             |     if (r2 > 0x37) {
    0x00004634 bhi.w 0x4f48                                  |         goto label_37;
                                                             |     }
                                                             | label_7:
    0x00004638 mov sb, r8                                    |     sb = r8;
    0x0000463a mov.w fp, 0                                   |     
    0x0000463e mov.w sl, 0x20                                |     sl = 0x20;
                                                             |     if (r2 != 0) {
    0x00004642 cbnz r2, 0x4666                               |         goto label_2;
                                                             |     }
    0x00004644 b 0x46c8                                      |     goto label_38;
                                                             |     do {
    0x00004646 ldr r1, [r7]                                  |         r1 = *(r7);
    0x00004648 str r0, [r7, 4]                               |         *((r7 + 4)) = r0;
    0x0000464a strb r2, [r1, r3]                             |         *((r1 + r3)) = r2;
    0x0000464c ldrd r2, r3, [r7]                             |         __asm ("ldrd r2, r3, [r7]");
    0x00004650 strb.w fp, [r2, r3]                           |         *((r2 + r3)) = fp;
    0x00004654 ldrb.w r2, [sb, 1]                            |         r2 = *((sb + 1));
                                                             |         if (r2 != 0) {
    0x00004658 cbnz r2, 0x4682                               |             goto label_39;
                                                             |         }
                                                             | label_0:
    0x0000465a ldrb.w r3, [sb, 2]                            |         r3 = *((sb + 2));
                                                             |         if (r3 != 0) {
    0x0000465e cbnz r3, 0x46a4                               |             goto label_40;
                                                             |         }
                                                             | label_1:
    0x00004660 ldrb r2, [sb, 2]!                             |         r2 = *((sb += 2));
                                                             |         if (r2 == 0) {
    0x00004664 cbz r2, 0x46c8                                |             goto label_38;
                                                             |         }
                                                             | label_2:
    0x00004666 ldrd r3, r1, [r7, 4]                          |         __asm ("ldrd r3, r1, [r7, 4]");
    0x0000466a adds r0, r3, 1                                |         r0 = r3 + 1;
    0x0000466c cmp r0, r1                                    |         
    0x0000466e blo 0x4646                                    |         
                                                             |     } while (r0 <= r1);
    0x00004670 mov.w r1, -1                                  |     r1 = -1;
    0x00004674 mov r0, r7                                    |     r0 = r7;
    0x00004676 blx 0x2d08                                    |     fcn_00002d08 ();
    0x0000467a ldrb.w r2, [sb, 1]                            |     r2 = *((sb + 1));
    0x0000467e cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00004680 beq 0x465a                                    |         goto label_0;
                                                             |     }
                                                             | label_39:
    0x00004682 ldrd r3, r1, [r7, 4]                          |     __asm ("ldrd r3, r1, [r7, 4]");
    0x00004686 adds r0, r3, 1                                |     r0 = r3 + 1;
    0x00004688 cmp r0, r1                                    |     
                                                             |     if (r0 >= r1) {
    0x0000468a bhs.w 0x49f2                                  |         goto label_41;
                                                             |     }
    0x0000468e ldr r1, [r7]                                  |     r1 = *(r7);
    0x00004690 str r0, [r7, 4]                               |     *((r7 + 4)) = r0;
    0x00004692 strb r2, [r1, r3]                             |     *((r1 + r3)) = r2;
    0x00004694 ldrd r2, r3, [r7]                             |     __asm ("ldrd r2, r3, [r7]");
    0x00004698 strb.w fp, [r2, r3]                           |     *((r2 + r3)) = fp;
    0x0000469c ldrb.w r3, [sb, 2]                            |     r3 = *((sb + 2));
    0x000046a0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000046a2 beq 0x4660                                    |         goto label_1;
                                                             |     }
                                                             | label_40:
    0x000046a4 ldrd r3, r1, [r7, 4]                          |     __asm ("ldrd r3, r1, [r7, 4]");
    0x000046a8 adds r2, r3, 1                                |     r2 = r3 + 1;
    0x000046aa cmp r2, r1                                    |     
                                                             |     if (r2 >= r1) {
    0x000046ac bhs.w 0x49e4                                  |         goto label_42;
                                                             |     }
    0x000046b0 str r2, [r7, 4]                               |     *((r7 + 4)) = r2;
    0x000046b2 ldr r2, [r7]                                  |     r2 = *(r7);
    0x000046b4 strb.w sl, [r2, r3]                           |     *((r2 + r3)) = sl;
    0x000046b8 ldrd r2, r3, [r7]                             |     __asm ("ldrd r2, r3, [r7]");
    0x000046bc strb.w fp, [r2, r3]                           |     *((r2 + r3)) = fp;
    0x000046c0 ldrb r2, [sb, 2]!                             |     r2 = *((sb += 2));
    0x000046c4 cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x000046c6 bne 0x4666                                    |         goto label_2;
                                                             |     }
                                                             | label_38:
    0x000046c8 mov r0, r7                                    |     r0 = r7;
    0x000046ca ldr.w fp, [pc, 0x9ec]                         |     
    0x000046ce blx 0x26a4                                    |     g_string_ascii_down ();
    0x000046d2 ldr.w r1, [pc, 0x9e8]                         |     r1 = sym.imp.EVP_PKEY_get0_DSA;
    0x000046d6 mov r7, r0                                    |     r7 = r0;
    0x000046d8 ldr r3, [r7]                                  |     r3 = *(r7);
    0x000046da mov r0, r8                                    |     r0 = r8;
    0x000046dc movw r2, 0x2ee                                |     r2 = 0x2ee;
    0x000046e0 ldr.w r8, [pc, 0x9dc]                         |     
    0x000046e4 add r1, pc                                    |     r1 += pc;
    0x000046e6 add fp, pc                                    |     fp = 0x97a4;
    0x000046e8 str r3, [sp, 0x5c]                            |     var_5ch = r3;
    0x000046ea blx 0x29a8                                    |     fcn_000029a8 ();
    0x000046ee mov r0, r7                                    |     r0 = r7;
    0x000046f0 movs r1, 0                                    |     r1 = 0;
    0x000046f2 blx 0x29fc                                    |     fcn_000029fc ();
    0x000046f6 ldr.w r1, [pc, 0x9cc]                         |     
    0x000046fa movs r2, 0                                    |     r2 = 0;
    0x000046fc ldr r0, [sp, 0x5c]                            |     r0 = var_5ch;
    0x000046fe add r8, pc                                    |     r8 = 0x97c2;
    0x00004700 ldr.w sl, [pc, 0x9c4]                         |     
    0x00004704 add r1, pc                                    |     r1 = 0x97ce;
    0x00004706 ldr.w sb, [pc, 0x9c4]                         |     
    0x0000470a blx 0x2ccc                                    |     fcn_00002ccc ();
    0x0000470e str r0, [sp, 0xa4]                            |     var_a4h = r0;
    0x00004710 add sl, pc                                    |     sl = 0x97dc;
    0x00004712 blx 0x2954                                    |     r0 = fcn_00002954 ();
    0x00004716 bic r1, r0, 7                                 |     r1 = BIT_MASK (r0, 7);
    0x0000471a ldr.w r0, [pc, 0x9b4]                         |     
    0x0000471e lsls r1, r1, 3                                |     r1 <<= 3;
    0x00004720 add sb, pc                                    |     sb = 0x97f2;
    0x00004722 add r0, pc                                    |     r0 = 0x97f8;
    0x00004724 blx 0x29d8                                    |     fcn_000029d8 ();
    0x00004728 str r0, [sp, 0x6c]                            |     var_6ch = r0;
    0x0000472a mov r0, r4                                    |     r0 = r4;
    0x0000472c blx 0x2d14                                    |     fcn_00002d14 ();
    0x00004730 mov r1, r8                                    |     r1 = r8;
    0x00004732 mov r7, r0                                    |     r7 = r0;
    0x00004734 str.w r8, [sp, 0x88]                          |     __asm ("str.w r8, [var_88h]");
    0x00004738 bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x0000473c mov r1, fp                                    |     r1 = fp;
    0x0000473e str r0, [sp, 0x70]                            |     var_70h = r0;
    0x00004740 mov r0, r7                                    |     r0 = r7;
    0x00004742 ldr.w r8, [pc, 0x990]                         |     
    0x00004746 bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x0000474a ldr.w r2, [pc, 0x98c]                         |     
    0x0000474e mov r1, sl                                    |     r1 = sl;
    0x00004750 str r0, [sp, 0x74]                            |     var_74h = r0;
    0x00004752 mov r0, r7                                    |     r0 = r7;
    0x00004754 add r8, pc                                    |     r8 = 0x982e;
    0x00004756 add r2, pc                                    |     r2 = 0x9834;
    0x00004758 str r2, [sp, 0x84]                            |     var_84h = r2;
    0x0000475a bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x0000475e mov r1, sb                                    |     r1 = sb;
    0x00004760 str r0, [sp, 0x78]                            |     var_78h = r0;
    0x00004762 mov r0, r7                                    |     r0 = r7;
    0x00004764 bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x00004768 mov r1, r8                                    |     r1 = r8;
    0x0000476a str r0, [sp, 0x7c]                            |     var_7ch = r0;
    0x0000476c mov r0, r7                                    |     r0 = r7;
    0x0000476e bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x00004772 ldr r2, [sp, 0x84]                            |     r2 = var_84h;
    0x00004774 mov r1, r0                                    |     r1 = r0;
    0x00004776 str r1, [sp, 0x80]                            |     var_80h = r1;
    0x00004778 mov r0, r7                                    |     r0 = r7;
    0x0000477a mov r1, r2                                    |     r1 = r2;
    0x0000477c str r2, [sp, 0x98]                            |     var_98h = r2;
    0x0000477e bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x00004782 str r0, [sp, 0x84]                            |     var_84h = r0;
    0x00004784 mov r0, r4                                    |     r0 = r4;
    0x00004786 blx 0x2728                                    |     X509_get_issuer_name ();
    0x0000478a ldr r3, [sp, 0x88]                            |     r3 = var_88h;
    0x0000478c mov r7, r0                                    |     r7 = r0;
    0x0000478e mov r1, r3                                    |     r1 = r3;
    0x00004790 bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x00004794 mov r1, fp                                    |     r1 = fp;
    0x00004796 str r0, [sp, 0x88]                            |     var_88h = r0;
    0x00004798 mov r0, r7                                    |     r0 = r7;
    0x0000479a bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x0000479e mov r1, sl                                    |     r1 = sl;
    0x000047a0 str r0, [sp, 0x8c]                            |     var_8ch = r0;
    0x000047a2 mov r0, r7                                    |     r0 = r7;
    0x000047a4 bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x000047a8 mov r1, sb                                    |     r1 = sb;
    0x000047aa str r0, [sp, 0x90]                            |     var_90h = r0;
    0x000047ac mov r0, r7                                    |     r0 = r7;
    0x000047ae bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x000047b2 mov r1, r8                                    |     r1 = r8;
    0x000047b4 str r0, [sp, 0x94]                            |     var_94h = r0;
    0x000047b6 mov r0, r7                                    |     r0 = r7;
    0x000047b8 bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x000047bc ldr r2, [sp, 0x98]                            |     r2 = var_98h;
    0x000047be mov r3, r0                                    |     r3 = r0;
    0x000047c0 mov r0, r7                                    |     r0 = r7;
    0x000047c2 str r3, [sp, 0x98]                            |     var_98h = r3;
    0x000047c4 mov r1, r2                                    |     r1 = r2;
    0x000047c6 bl 0x3290                                     |     fcn_00003290 (r0, r1);
    0x000047ca str r0, [sp, 0x9c]                            |     var_9ch = r0;
    0x000047cc mov r0, r4                                    |     r0 = r4;
    0x000047ce blx 0x2c0c                                    |     r0 = fcn_00002c0c ();
    0x000047d2 mov r7, r0                                    |     r7 = r0;
    0x000047d4 mov r0, r4                                    |     r0 = r4;
    0x000047d6 blx 0x2cf0                                    |     r0 = fcn_00002cf0 ();
    0x000047da mov sl, r0                                    |     sl = r0;
    0x000047dc blx 0x2ae0                                    |     fcn_00002ae0 ();
    0x000047e0 blx 0x2a2c                                    |     r0 = fcn_00002a2c ();
    0x000047e4 mov r8, r0                                    |     r8 = r0;
    0x000047e6 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000047e8 beq.w 0x4fee                                  |         goto label_43;
                                                             |     }
    0x000047ec mov r1, r7                                    |     r1 = r7;
    0x000047ee blx 0x2794                                    |     r0 = ASN1_TIME_print ();
    0x000047f2 cmp r0, 1                                     |     
    0x000047f4 mov sb, r0                                    |     sb = r0;
                                                             |     if (r0 == 1) {
    0x000047f6 beq.w 0x4a46                                  |         goto label_44;
                                                             |     }
    0x000047fa ldr.w r0, [pc, 0x8e0]                         |     
    0x000047fe movs r6, 0                                    |     r6 = 0;
    0x00004800 mov fp, r6                                    |     
    0x00004802 mov.w sb, 1                                   |     sb = 1;
    0x00004806 mov sl, r6                                    |     sl = r6;
    0x00004808 mov r7, r6                                    |     r7 = r6;
    0x0000480a add r0, pc                                    |     r0 = 0x98ec;
    0x0000480c blx 0x29d8                                    |     r0 = fcn_000029d8 ();
    0x00004810 mov r1, r0                                    |     r1 = r0;
    0x00004812 movs r0, 1                                    |     r0 = 1;
    0x00004814 blx 0x2788                                    |     cert_util_error_code_msg ();
    0x00004816 vext.16 q2, q4, q0, 3                         |     __asm ("vext.16 q2, q4, q0, 3");
    0x0000481a blx 0x28f0                                    |     BIO_vfree ();
    0x0000481e str r6, [sp, 0xa0]                            |     var_a0h = r6;
    0x00004820 b 0x4874                                      |     goto label_4;
                                                             | label_29:
    0x00004822 add r3, sp, 0xec                              |     r3 += var_ech;
    0x00004824 strb.w r0, [sp, 0xec]                         |     var_ech = r0;
    0x00004828 str r3, [sp, 0xa8]                            |     var_a8h = r3;
    0x0000482a b 0x4580                                      |     goto label_3;
                                                             | label_31:
    0x0000482c ldr.w r0, [pc, 0x8b0]                         |     
    0x00004830 movs r6, 0                                    |     r6 = 0;
    0x00004832 mov fp, r6                                    |     
    0x00004834 mov.w sb, 1                                   |     sb = 1;
    0x00004838 mov r5, r6                                    |     r5 = r6;
    0x0000483a add r0, pc                                    |     r0 = 0x991e;
    0x0000483c blx 0x29d8                                    |     r0 = fcn_000029d8 ();
    0x00004840 mov r1, r0                                    |     r1 = r0;
    0x00004842 movs r0, 1                                    |     r0 = 1;
    0x00004844 blx 0x2788                                    |     cert_util_error_code_msg ();
    0x00004848 mov r0, r8                                    |     r0 = r8;
    0x0000484a blx 0x28f0                                    |     BIO_vfree ();
    0x0000484e str r6, [sp, 0xa0]                            |     var_a0h = r6;
    0x00004850 str r6, [sp, 0x5c]                            |     var_5ch = r6;
    0x00004852 str r6, [sp, 0x68]                            |     var_68h = r6;
                                                             |     do {
    0x00004854 mov sl, r6                                    |         sl = r6;
    0x00004856 mov r7, r6                                    |         r7 = r6;
    0x00004858 strd r6, r6, [sp, 0x98]                       |         __asm ("strd r6, r6, [sp, 0x98]");
    0x0000485c strd r6, r6, [sp, 0x90]                       |         __asm ("strd r6, r6, [sp, 0x90]");
    0x00004860 strd r6, r6, [sp, 0x88]                       |         __asm ("strd r6, r6, [sp, 0x88]");
    0x00004864 strd r6, r6, [sp, 0x80]                       |         __asm ("strd r6, r6, [sp, 0x80]");
    0x00004868 strd r6, r6, [sp, 0x78]                       |         __asm ("strd r6, r6, [sp, 0x78]");
    0x0000486c strd r6, r6, [sp, 0x70]                       |         __asm ("strd r6, r6, [sp, 0x70]");
    0x00004870 str r6, [sp, 0x6c]                            |         var_6ch = r6;
    0x00004872 str r6, [sp, 0xa4]                            |         var_a4h = r6;
                                                             | label_4:
    0x00004874 movs r1, 1                                    |         r1 = 1;
    0x00004876 ldr r0, [sp, 0x60]                            |         r0 = var_60h;
    0x00004878 blx 0x29fc                                    |         fcn_000029fc ();
    0x0000487c ldr r0, [sp, 0x64]                            |         r0 = var_64h;
    0x0000487e blx 0x2680                                    |         g_free ();
    0x00004882 ldr.w r4, [pc, 0x860]                         |         
    0x00004886 ldr r0, [sp, 0x68]                            |         r0 = var_68h;
    0x00004888 blx 0x2680                                    |         g_free ();
    0x0000488c ldr r0, [sp, 0x5c]                            |         r0 = var_5ch;
    0x0000488e add r4, pc                                    |         r4 = 0x9978;
    0x00004890 blx 0x2680                                    |         g_free ();
    0x00004894 ldr r0, [sp, 0xa4]                            |         r0 = var_a4h;
    0x00004896 blx 0x2de0                                    |         fcn_00002de0 ();
    0x0000489a ldr r0, [sp, 0x6c]                            |         r0 = var_6ch;
    0x0000489c blx 0x2680                                    |         g_free ();
    0x000048a0 ldr r0, [sp, 0x70]                            |         r0 = var_70h;
    0x000048a2 mov.w r2, 0x950                               |         r2 = 0x950;
    0x000048a6 mov r1, r4                                    |         r1 = r4;
    0x000048a8 blx 0x29a8                                    |         fcn_000029a8 ();
    0x000048ac ldr r0, [sp, 0x74]                            |         r0 = var_74h;
    0x000048ae movw r2, 0x951                                |         r2 = 0x951;
    0x000048b2 mov r1, r4                                    |         r1 = r4;
    0x000048b4 blx 0x29a8                                    |         fcn_000029a8 ();
    0x000048b8 ldr r0, [sp, 0x78]                            |         r0 = var_78h;
    0x000048ba movw r2, 0x952                                |         r2 = 0x952;
    0x000048be mov r1, r4                                    |         r1 = r4;
    0x000048c0 blx 0x29a8                                    |         fcn_000029a8 ();
    0x000048c4 ldr r0, [sp, 0x7c]                            |         r0 = var_7ch;
    0x000048c6 movw r2, 0x953                                |         r2 = 0x953;
    0x000048ca mov r1, r4                                    |         r1 = r4;
    0x000048cc blx 0x29a8                                    |         fcn_000029a8 ();
    0x000048d0 ldr r0, [sp, 0x80]                            |         r0 = var_80h;
    0x000048d2 movw r2, 0x954                                |         r2 = 0x954;
    0x000048d6 mov r1, r4                                    |         r1 = r4;
    0x000048d8 blx 0x29a8                                    |         fcn_000029a8 ();
    0x000048dc ldr r0, [sp, 0x84]                            |         r0 = var_84h;
    0x000048de movw r2, 0x955                                |         r2 = 0x955;
    0x000048e2 mov r1, r4                                    |         r1 = r4;
    0x000048e4 blx 0x29a8                                    |         fcn_000029a8 ();
    0x000048e8 ldr r0, [sp, 0x88]                            |         r0 = var_88h;
    0x000048ea movw r2, 0x956                                |         r2 = 0x956;
    0x000048ee mov r1, r4                                    |         r1 = r4;
    0x000048f0 blx 0x29a8                                    |         fcn_000029a8 ();
    0x000048f4 ldr r0, [sp, 0x8c]                            |         r0 = var_8ch;
    0x000048f6 movw r2, 0x957                                |         r2 = 0x957;
    0x000048fa mov r1, r4                                    |         r1 = r4;
    0x000048fc blx 0x29a8                                    |         fcn_000029a8 ();
    0x00004900 ldr r0, [sp, 0x90]                            |         r0 = var_90h;
    0x00004902 movw r2, 0x958                                |         r2 = 0x958;
    0x00004906 mov r1, r4                                    |         r1 = r4;
    0x00004908 blx 0x29a8                                    |         fcn_000029a8 ();
    0x0000490c ldr r0, [sp, 0x94]                            |         r0 = var_94h;
    0x0000490e movw r2, 0x959                                |         r2 = 0x959;
    0x00004912 mov r1, r4                                    |         r1 = r4;
    0x00004914 blx 0x29a8                                    |         fcn_000029a8 ();
    0x00004916 strex r8, sb, [r8, 0x98]                      |         __asm ("strex r8, sb, [r8, 0x98]");
    0x0000491a movw r2, 0x95a                                |         r2 = 0x95a;
    0x0000491e mov r1, r4                                    |         r1 = r4;
    0x00004920 blx 0x29a8                                    |         fcn_000029a8 ();
    0x00004924 mov r1, r4                                    |         r1 = r4;
    0x00004926 movw r2, 0x95b                                |         r2 = 0x95b;
    0x0000492a ldr r0, [sp, 0x9c]                            |         r0 = var_9ch;
    0x0000492c blx 0x29a8                                    |         fcn_000029a8 ();
    0x00004930 ldr r0, [sp, 0xa0]                            |         r0 = var_a0h;
    0x00004932 blx 0x2680                                    |         g_free ();
    0x00004936 mov r0, r6                                    |         r0 = r6;
    0x00004938 blx 0x2680                                    |         g_free ();
    0x0000493c mov r0, fp                                    |         r0 = fp;
    0x0000493e blx 0x2680                                    |         g_free ();
    0x00004942 mov r0, r7                                    |         r0 = r7;
    0x00004944 blx 0x2680                                    |         g_free ();
    0x00004948 mov r0, sl                                    |         r0 = sl;
    0x0000494a blx 0x2680                                    |         g_free ();
                                                             |         if (r5 != 0) {
    0x0000494e cbz r5, 0x4956                                |             
    0x00004950 mov r0, r5                                    |             r0 = r5;
    0x00004952 blx 0x2d44                                    |             fcn_00002d44 ();
                                                             |         }
    0x00004956 ldr.w r2, [pc, 0x790]                         |         r2 = *(0x000050e8);
    0x0000495a ldr.w r3, [pc, 0x740]                         |         r3 = *(0x509e);
    0x0000495e add r2, pc                                    |         r2 += pc;
    0x00004960 ldr r3, [r2, r3]                              |         r3 = *((r2 + r3));
    0x00004962 ldr r2, [r3]                                  |         r2 = *(0x509e);
    0x00004964 ldr r3, [sp, 0x22c]                           |         r3 = var_22ch;
    0x00004966 eors r2, r3                                   |         r2 ^= r3;
    0x00004968 mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x0000496c bne.w 0x5092                                  |             goto label_45;
                                                             |         }
    0x00004970 mov r0, sb                                    |         r0 = sb;
    0x00004972 add.w sp, sp, 0x234                           |         
    0x00004976 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |         
                                                             | label_35:
    0x0000497a ldr.w r0, [pc, 0x770]                         |         
    0x0000497e movs r6, 0                                    |         r6 = 0;
    0x00004980 mov fp, r6                                    |         
    0x00004982 mov.w sb, 1                                   |         sb = 1;
    0x00004986 add r0, pc                                    |         r0 = 0x9a78;
    0x00004988 blx 0x29d8                                    |         r0 = fcn_000029d8 ();
    0x0000498c mov r1, r0                                    |         r1 = r0;
    0x0000498e movs r0, 1                                    |         r0 = 1;
    0x00004990 blx 0x2788                                    |         cert_util_error_code_msg ();
    0x00004994 str r6, [sp, 0xa0]                            |         var_a0h = r6;
    0x00004996 str r6, [sp, 0x5c]                            |         var_5ch = r6;
    0x00004998 b 0x4854                                      |         
                                                             |     } while (1);
                                                             | label_28:
    0x0000499a ldr.w r0, [pc, 0x754]                         |     
    0x0000499e add r0, pc                                    |     r0 = 0x9a94;
                                                             |     do {
    0x000049a0 mov r6, r8                                    |         r6 = r8;
    0x000049a2 mov fp, r8                                    |         
    0x000049a4 mov r5, r8                                    |         r5 = r8;
    0x000049a6 blx 0x29d8                                    |         r0 = fcn_000029d8 ();
    0x000049aa mov r1, r0                                    |         r1 = r0;
    0x000049ac movs r0, 1                                    |         r0 = 1;
    0x000049ae blx 0x2788                                    |         cert_util_error_code_msg ();
    0x000049b2 str.w r8, [sp, 0xa0]                          |         __asm ("str.w r8, [var_a0h]");
    0x000049b6 str.w r8, [sp, 0x5c]                          |         __asm ("str.w r8, [var_5ch]");
    0x000049ba str.w r8, [sp, 0x68]                          |         __asm ("str.w r8, [var_68h]");
                                                             | label_17:
    0x000049be mov sl, r6                                    |         sl = r6;
    0x000049c0 mov r7, r6                                    |         r7 = r6;
    0x000049c2 mov.w sb, 1                                   |         sb = 1;
    0x000049c6 strd r6, r6, [sp, 0x98]                       |         __asm ("strd r6, r6, [sp, 0x98]");
    0x000049ca strd r6, r6, [sp, 0x90]                       |         __asm ("strd r6, r6, [sp, 0x90]");
    0x000049ce strd r6, r6, [sp, 0x88]                       |         __asm ("strd r6, r6, [sp, 0x88]");
    0x000049d2 strd r6, r6, [sp, 0x80]                       |         __asm ("strd r6, r6, [sp, 0x80]");
    0x000049d6 strd r6, r6, [sp, 0x78]                       |         __asm ("strd r6, r6, [sp, 0x78]");
    0x000049da strd r6, r6, [sp, 0x70]                       |         __asm ("strd r6, r6, [sp, 0x70]");
    0x000049de str r6, [sp, 0x6c]                            |         var_6ch = r6;
    0x000049e0 str r6, [sp, 0xa4]                            |         var_a4h = r6;
    0x000049e2 b 0x4874                                      |         goto label_4;
                                                             | label_42:
    0x000049e4 movs r2, 0x20                                 |         r2 = 0x20;
    0x000049e6 mov.w r1, -1                                  |         r1 = -1;
    0x000049ea mov r0, r7                                    |         r0 = r7;
    0x000049ec blx 0x2d08                                    |         fcn_00002d08 ();
    0x000049f0 b 0x4660                                      |         goto label_1;
                                                             | label_41:
    0x000049f2 mov.w r1, -1                                  |         r1 = -1;
    0x000049f6 mov r0, r7                                    |         r0 = r7;
    0x000049f8 blx 0x2d08                                    |         fcn_00002d08 ();
    0x000049fc b 0x465a                                      |         goto label_0;
                                                             | label_30:
    0x000049fe ldr.w r0, [pc, 0x6f4]                         |         
    0x00004a02 add r0, pc                                    |         r0 = 0x9afc;
    0x00004a04 b 0x49a0                                      |         
                                                             |     } while (1);
                                                             | label_32:
    0x00004a06 ldr.w r1, [pc, 0x6f0]                         |     
    0x00004a0a mov r6, r5                                    |     r6 = r5;
    0x00004a0c ldr.w r2, [pc, 0x6ec]                         |     
    0x00004a10 mov fp, r5                                    |     
    0x00004a12 mov sl, r5                                    |     sl = r5;
    0x00004a14 mov r7, r5                                    |     r7 = r5;
    0x00004a16 add r1, pc                                    |     r1 = 0x9b14;
    0x00004a18 mov.w sb, 1                                   |     sb = 1;
    0x00004a1c adds r1, 0x10                                 |     r1 += 0x10;
    0x00004a1e add r2, pc                                    |     r2 = 0x9b1e;
    0x00004a20 blx 0x2af8                                    |     fcn_00002af8 ();
    0x00004a24 str r5, [sp, 0xa0]                            |     var_a0h = r5;
    0x00004a26 str r5, [sp, 0x5c]                            |     var_5ch = r5;
    0x00004a28 strd r5, r5, [sp, 0x98]                       |     __asm ("strd r5, r5, [sp, 0x98]");
    0x00004a2c strd r5, r5, [sp, 0x90]                       |     __asm ("strd r5, r5, [sp, 0x90]");
    0x00004a30 strd r5, r5, [sp, 0x88]                       |     __asm ("strd r5, r5, [sp, 0x88]");
    0x00004a34 strd r5, r5, [sp, 0x80]                       |     __asm ("strd r5, r5, [sp, 0x80]");
    0x00004a38 strd r5, r5, [sp, 0x78]                       |     __asm ("strd r5, r5, [sp, 0x78]");
    0x00004a3c strd r5, r5, [sp, 0x70]                       |     __asm ("strd r5, r5, [sp, 0x70]");
    0x00004a40 str r5, [sp, 0x6c]                            |     var_6ch = r5;
    0x00004a42 str r5, [sp, 0xa4]                            |     var_a4h = r5;
    0x00004a44 b 0x4874                                      |     goto label_4;
                                                             | label_44:
    0x00004a46 mov r1, r8                                    |     r1 = r8;
    0x00004a48 mov r0, r6                                    |     r0 = r6;
    0x00004a4a bl 0x3a20                                     |     r0 = fcn_00003a20 (r0, r1);
    0x00004a4e mov fp, r0                                    |     
    0x00004a50 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00004a52 bne.w 0x505c                                  |         goto label_46;
                                                             |     }
    0x00004a56 mov r1, sl                                    |     r1 = sl;
    0x00004a58 mov r0, r8                                    |     r0 = r8;
    0x00004a5a blx 0x2794                                    |     ASN1_TIME_print ();
    0x00004a5e ldr r3, [r6]                                  |     r3 = *(r6);
    0x00004a60 cmp r0, 1                                     |     
    0x00004a62 str r3, [sp, 0xa0]                            |     var_a0h = r3;
                                                             |     if (r0 != 1) {
    0x00004a64 bne.w 0x4f7c                                  |         goto label_47;
                                                             |     }
    0x00004a68 ldr r0, [sp, 0xb0]                            |     r0 = var_b0h;
    0x00004a6a mov r1, r8                                    |     r1 = r8;
    0x00004a6c bl 0x3a20                                     |     r0 = fcn_00003a20 (r0, r1);
    0x00004a70 mov r6, r0                                    |     r6 = r0;
    0x00004a72 mov r0, r8                                    |     r0 = r8;
    0x00004a74 blx 0x28f0                                    |     BIO_vfree ();
    0x00004a78 cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x00004a7a bne.w 0x5086                                  |         goto label_48;
                                                             |     }
    0x00004a7e add r7, sp, 0xe8                              |     r7 += var_e8h;
    0x00004a80 mov r2, r4                                    |     r2 = r4;
    0x00004a82 mov r0, r7                                    |     r0 = r7;
    0x00004a84 mov r1, r6                                    |     r1 = r6;
    0x00004a86 blx 0x2a44                                    |     fcn_00002a44 ();
    0x00004a8a ldr r3, [sp, 0xe8]                            |     r3 = var_e8h;
    0x00004a8c ldr.w r0, [pc, 0x670]                         |     
    0x00004a90 ldr r2, [r3]                                  |     r2 = *(r3);
    0x00004a92 add r0, pc                                    |     r0 = 0x9b96;
    0x00004a94 ldr r7, [r3, 8]                               |     r7 = *((r3 + 8));
    0x00004a96 str r2, [sp, 0xc4]                            |     var_c4h = r2;
    0x00004a98 blx 0x28e4                                    |     g_string_new ();
    0x00004a9c ldr r2, [sp, 0xc4]                            |     r2 = var_c4h;
    0x00004a9e mov sb, r0                                    |     sb = r0;
    0x00004aa0 cmp r2, 0                                     |     
                                                             |     if (r2 <= 0) {
    0x00004aa2 ble 0x4af2                                    |         goto label_49;
                                                             |     }
    0x00004aa4 ldr.w sl, [pc, 0x65c]                         |     
    0x00004aa8 add.w r8, r7, -1                              |     r8 = r7 + -1;
    0x00004aac ldr.w fp, [pc, 0x658]                         |     
    0x00004ab0 mov r7, r6                                    |     r7 = r6;
    0x00004ab2 str r4, [sp, 0xc8]                            |     var_c8h = r4;
    0x00004ab4 adds r7, 1                                    |     r7++;
    0x00004ab6 add sl, pc                                    |     sl = 0x9bbe;
    0x00004ab8 ldrb r2, [r8, 1]!                             |     r2 = *((r8 += 1));
    0x00004abc add fp, pc                                    |     fp = 0x9bc8;
    0x00004abe mov r4, fp                                    |     r4 = fp;
    0x00004ac0 mov fp, sl                                    |     
    0x00004ac2 ldr.w sl, [sp, 0xc4]                          |     sl = var_c4h;
    0x00004ac6 cmp sl, r7                                    |     
                                                             |     if (sl == r7) {
    0x00004ac8 beq 0x4ade                                    |         goto label_50;
                                                             |     }
                                                             |     do {
    0x00004aca mov r3, fp                                    |         r3 = fp;
    0x00004acc mov r1, r4                                    |         r1 = r4;
    0x00004ace mov r0, sb                                    |         r0 = sb;
    0x00004ad0 adds r7, 1                                    |         r7++;
    0x00004ad2 blx 0x2eac                                    |         fcn_00002eac ();
    0x00004ad6 cmp sl, r7                                    |         
    0x00004ad8 ldrb r2, [r8, 1]!                             |         r2 = *((r8 += 1));
    0x00004adc bne 0x4aca                                    |         
                                                             |     } while (sl != r7);
                                                             | label_50:
    0x00004ade ldr.w r3, [pc, 0x62c]                         |     
    0x00004ae2 mov r0, sb                                    |     r0 = sb;
    0x00004ae4 ldr.w r1, [pc, 0x628]                         |     
    0x00004ae8 ldr r4, [sp, 0xc8]                            |     r4 = var_c8h;
    0x00004aea add r3, pc                                    |     r3 = 0x9bfc;
    0x00004aec add r1, pc                                    |     r1 = 0x9c00;
    0x00004aee blx 0x2eac                                    |     fcn_00002eac ();
                                                             | label_49:
    0x00004af2 movs r1, 0                                    |     r1 = 0;
    0x00004af4 mov r0, sb                                    |     r0 = sb;
    0x00004af6 ldr.w fp, [sb]                                |     fp = *(sb);
    0x00004afa blx 0x29fc                                    |     fcn_000029fc ();
    0x00004afe ldr.w r0, [pc, 0x614]                         |     
    0x00004b02 add r0, pc                                    |     r0 = 0x9c1c;
    0x00004b04 blx 0x28e4                                    |     g_string_new ();
    0x00004b08 movs r3, 0                                    |     r3 = 0;
    0x00004b0a mov r7, r0                                    |     r7 = r0;
    0x00004b0c mov r2, r3                                    |     r2 = r3;
    0x00004b0e movs r1, 0x53                                 |     r1 = 0x53;
    0x00004b10 mov r0, r4                                    |     r0 = r4;
    0x00004b12 blx 0x2dc8                                    |     r0 = fcn_00002dc8 ();
    0x00004b16 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00004b18 beq.w 0x4ca8                                  |         
    0x00004b1c ldr r2, [r0]                                  |         r2 = *(r0);
    0x00004b1e cmp r2, 0                                     |         
                                                             |         if (r2 <= 0) {
    0x00004b20 ble.w 0x4fca                                  |             goto label_51;
                                                             |         }
    0x00004b24 ldr r1, [r0, 8]                               |         r1 = *((r0 + 8));
    0x00004b26 cmp r2, 1                                     |         
    0x00004b28 ldrb.w r8, [r1]                               |         r8 = *(r1);
    0x00004b2c it ne                                         |         
                                                             |         if (r2 != 1) {
    0x00004b2e ldrhne r8, [r1]                               |             __asm ("ldrhne r8, [r1]");
                                                             |         }
    0x00004b32 blx 0x2cb4                                    |         fcn_00002cb4 ();
    0x00004b36 tst.w r8, 0x80                                |         
                                                             |         if ((r8 & 0x80) != 0) {
    0x00004b3a beq 0x4b5c                                    |             
    0x00004b3c ldr r3, [r7, 4]                               |             r3 = *((r7 + 4));
    0x00004b3e cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00004b40 bne.w 0x5038                                  |                 goto label_52;
                                                             |             }
    0x00004b44 ldr.w r2, [pc, 0x5d0]                         |             
    0x00004b48 add r2, pc                                    |             r2 = 0x9c64;
                                                             | label_21:
    0x00004b4a ldr.w r3, [pc, 0x5d0]                         |             
    0x00004b4e mov r0, r7                                    |             r0 = r7;
    0x00004b50 ldr.w r1, [pc, 0x5cc]                         |             
    0x00004b54 add r3, pc                                    |             r3 = 0x9c76;
    0x00004b56 add r1, pc                                    |             r1 = 0x9c7a;
    0x00004b58 blx 0x2eac                                    |             fcn_00002eac ();
                                                             |         }
    0x00004b5c and r3, r8, 0x20                              |         r3 = r8 & 0x20;
    0x00004b60 tst.w r8, 0x40                                |         
    0x00004b64 str r3, [sp, 0xd4]                            |         var_d4h = r3;
    0x00004b66 and r3, r8, 0x10                              |         r3 = r8 & 0x10;
    0x00004b6a str r3, [sp, 0xd0]                            |         var_d0h = r3;
    0x00004b6c and r3, r8, 8                                 |         r3 = r8 & 8;
    0x00004b70 str r3, [sp, 0xcc]                            |         var_cch = r3;
    0x00004b72 and r3, r8, 4                                 |         r3 = r8 & 4;
    0x00004b76 str r3, [sp, 0xc8]                            |         var_c8h = r3;
    0x00004b78 and r3, r8, 2                                 |         r3 = r8 & 2;
    0x00004b7c and sl, r8, 1                                 |         sl = r8 & 1;
    0x00004b80 and sb, r8, 0x8000                            |         sb = r8 & 0x8000;
    0x00004b84 str r3, [sp, 0xc4]                            |         var_c4h = r3;
                                                             |         if ((r8 & 0x40) != 0) {
    0x00004b86 beq 0x4ba8                                    |             
    0x00004b88 ldr r3, [r7, 4]                               |             r3 = *((r7 + 4));
    0x00004b8a cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00004b8c bne.w 0x503e                                  |                 goto label_53;
                                                             |             }
    0x00004b90 ldr.w r2, [pc, 0x590]                         |             
    0x00004b94 add r2, pc                                    |             r2 = 0x9cbc;
                                                             | label_22:
    0x00004b96 ldr.w r3, [pc, 0x590]                         |             
    0x00004b9a mov r0, r7                                    |             r0 = r7;
    0x00004b9c ldr.w r1, [pc, 0x58c]                         |             
    0x00004ba0 add r3, pc                                    |             r3 = 0x9cce;
    0x00004ba2 add r1, pc                                    |             r1 = 0x9cd2;
    0x00004ba4 blx 0x2eac                                    |             fcn_00002eac ();
                                                             |         }
    0x00004ba8 ldr r3, [sp, 0xd4]                            |         r3 = var_d4h;
                                                             |         if (r3 != 0) {
    0x00004baa cbz r3, 0x4bcc                                |             
    0x00004bac ldr r3, [r7, 4]                               |             r3 = *((r7 + 4));
    0x00004bae cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00004bb0 bne.w 0x5044                                  |                 goto label_54;
                                                             |             }
    0x00004bb4 ldr.w r2, [pc, 0x578]                         |             
    0x00004bb8 add r2, pc                                    |             r2 = 0x9cec;
                                                             | label_23:
    0x00004bba ldr.w r3, [pc, 0x578]                         |             
    0x00004bbe mov r0, r7                                    |             r0 = r7;
    0x00004bc0 ldr.w r1, [pc, 0x574]                         |             
    0x00004bc4 add r3, pc                                    |             r3 = 0x9cfe;
    0x00004bc6 add r1, pc                                    |             r1 = 0x9d02;
    0x00004bc8 blx 0x2eac                                    |             fcn_00002eac ();
                                                             |         }
    0x00004bcc ldr r3, [sp, 0xd0]                            |         r3 = var_d0h;
                                                             |         if (r3 != 0) {
    0x00004bce cbz r3, 0x4bf0                                |             
    0x00004bd0 ldr r3, [r7, 4]                               |             r3 = *((r7 + 4));
    0x00004bd2 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00004bd4 bne.w 0x504a                                  |                 goto label_55;
                                                             |             }
    0x00004bd8 ldr.w r2, [pc, 0x560]                         |             
    0x00004bdc add r2, pc                                    |             r2 = 0x9d1c;
                                                             | label_24:
    0x00004bde ldr.w r3, [pc, 0x560]                         |             
    0x00004be2 mov r0, r7                                    |             r0 = r7;
    0x00004be4 ldr.w r1, [pc, 0x55c]                         |             
    0x00004be8 add r3, pc                                    |             r3 = 0x9d2e;
    0x00004bea add r1, pc                                    |             r1 = 0x9d32;
    0x00004bec blx 0x2eac                                    |             fcn_00002eac ();
                                                             |         }
    0x00004bf0 ldr r3, [sp, 0xcc]                            |         r3 = var_cch;
                                                             |         if (r3 != 0) {
    0x00004bf2 cbz r3, 0x4c14                                |             
    0x00004bf4 ldr r3, [r7, 4]                               |             r3 = *((r7 + 4));
    0x00004bf6 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00004bf8 bne.w 0x5050                                  |                 goto label_56;
                                                             |             }
    0x00004bfc ldr.w r2, [pc, 0x548]                         |             
    0x00004c00 add r2, pc                                    |             r2 = 0x9d4c;
                                                             | label_25:
    0x00004c02 ldr.w r3, [pc, 0x548]                         |             
    0x00004c06 mov r0, r7                                    |             r0 = r7;
    0x00004c08 ldr.w r1, [pc, 0x544]                         |             
    0x00004c0c add r3, pc                                    |             r3 = 0x9d5e;
    0x00004c0e add r1, pc                                    |             r1 = 0x9d62;
    0x00004c10 blx 0x2eac                                    |             fcn_00002eac ();
                                                             |         }
    0x00004c14 ldr r3, [sp, 0xc8]                            |         r3 = var_c8h;
                                                             |         if (r3 != 0) {
    0x00004c16 cbz r3, 0x4c38                                |             
    0x00004c18 ldr r3, [r7, 4]                               |             r3 = *((r7 + 4));
    0x00004c1a cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00004c1c bne.w 0x5056                                  |                 goto label_57;
                                                             |             }
    0x00004c20 ldr.w r2, [pc, 0x530]                         |             
    0x00004c24 add r2, pc                                    |             r2 = 0x9d7c;
                                                             | label_26:
    0x00004c26 ldr.w r3, [pc, 0x530]                         |             
    0x00004c2a mov r0, r7                                    |             r0 = r7;
    0x00004c2c ldr.w r1, [pc, 0x52c]                         |             
    0x00004c30 add r3, pc                                    |             r3 = 0x9d8e;
    0x00004c32 add r1, pc                                    |             r1 = 0x9d92;
    0x00004c34 blx 0x2eac                                    |             fcn_00002eac ();
                                                             |         }
    0x00004c38 ldr r3, [sp, 0xc4]                            |         r3 = var_c4h;
                                                             |         if (r3 != 0) {
    0x00004c3a cbz r3, 0x4c5c                                |             
    0x00004c3c ldr r3, [r7, 4]                               |             r3 = *((r7 + 4));
    0x00004c3e cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00004c40 bne.w 0x502c                                  |                 goto label_58;
                                                             |             }
    0x00004c44 ldr.w r2, [pc, 0x518]                         |             
    0x00004c48 add r2, pc                                    |             r2 = 0x9dac;
                                                             | label_19:
    0x00004c4a ldr.w r3, [pc, 0x518]                         |             r3 = entry0;
    0x00004c4e mov r0, r7                                    |             r0 = r7;
    0x00004c50 ldr.w r1, [pc, 0x514]                         |             
    0x00004c54 add r3, pc                                    |             r3 += pc;
    0x00004c56 add r1, pc                                    |             r1 = 0x9dc2;
    0x00004c58 blx 0x2eac                                    |             fcn_00002eac ();
                                                             |         }
    0x00004c5c cmp.w sl, 0                                   |         
                                                             |         if (sl != 0) {
    0x00004c60 beq 0x4c82                                    |             
    0x00004c62 ldr r3, [r7, 4]                               |             r3 = *((r7 + 4));
    0x00004c64 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00004c66 bne.w 0x5032                                  |                 goto label_59;
                                                             |             }
    0x00004c6a ldr.w r2, [pc, 0x500]                         |             
    0x00004c6e add r2, pc                                    |             r2 = 0x9de0;
                                                             | label_20:
    0x00004c70 ldr.w r3, [pc, 0x4fc]                         |             
    0x00004c74 mov r0, r7                                    |             r0 = r7;
    0x00004c76 ldr.w r1, [pc, 0x4fc]                         |             r1 = sym.imp.RSA_get0_key;
    0x00004c7a add r3, pc                                    |             r3 = 0x9dee;
    0x00004c7c add r1, pc                                    |             r1 += pc;
    0x00004c7e blx 0x2eac                                    |             fcn_00002eac ();
                                                             |         }
    0x00004c82 cmp.w sb, 0                                   |         
                                                             |         if (sb == 0) {
    0x00004c86 beq 0x4ca8                                    |             goto label_16;
                                                             |         }
    0x00004c88 ldr r3, [r7, 4]                               |         r3 = *((r7 + 4));
    0x00004c8a cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00004c8c bne.w 0x5026                                  |             goto label_60;
                                                             |         }
    0x00004c90 ldr.w r2, [pc, 0x4e4]                         |         
    0x00004c94 add r2, pc                                    |         r2 = 0x9e10;
                                                             | label_18:
    0x00004c96 ldr.w r3, [pc, 0x4e4]                         |         
    0x00004c9a mov r0, r7                                    |         r0 = r7;
    0x00004c9c ldr.w r1, [pc, 0x4e0]                         |         
    0x00004ca0 add r3, pc                                    |         r3 = 0x9e22;
    0x00004ca2 add r1, pc                                    |         r1 = 0x9e26;
    0x00004ca4 blx 0x2eac                                    |         fcn_00002eac ();
                                                             |     }
                                                             | label_16:
    0x00004ca8 movs r1, 0                                    |     r1 = 0;
    0x00004caa mov r0, r7                                    |     r0 = r7;
    0x00004cac ldr r7, [r7]                                  |     r7 = *(r7);
    0x00004cae blx 0x29fc                                    |     fcn_000029fc ();
    0x00004cb2 ldr.w r0, [pc, 0x4d0]                         |     
    0x00004cb6 add r0, pc                                    |     r0 = 0x9e40;
    0x00004cb8 blx 0x28e4                                    |     g_string_new ();
    0x00004cbc movs r3, 0                                    |     r3 = 0;
    0x00004cbe mov sb, r0                                    |     sb = r0;
    0x00004cc0 mov r2, r3                                    |     r2 = r3;
    0x00004cc2 movs r1, 0x7e                                 |     r1 = 0x7e;
    0x00004cc4 mov r0, r4                                    |     r0 = r4;
    0x00004cc6 blx 0x2dc8                                    |     r0 = fcn_00002dc8 ();
    0x00004cca mov r8, r0                                    |     r8 = r0;
    0x00004ccc cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00004cce beq.w 0x4e5a                                  |         goto label_61;
                                                             |     }
    0x00004cd2 ldr.w r3, [pc, 0x4b4]                         |     
    0x00004cd6 ldr.w sl, [pc, 0x4b4]                         |     
    0x00004cda add r3, pc                                    |     
    0x00004cdc str r3, [sp, 0xc4]                            |     var_c4h = r3;
    0x00004cde add sl, pc                                    |     sl = 0x9e70;
    0x00004ce0 ldr.w r3, [pc, 0x4ac]                         |     r3 = sym.imp.cert_util_remove_pem_headers;
    0x00004ce4 add r3, pc                                    |     r3 = 0xeb50;
    0x00004ce6 str r3, [sp, 0xc8]                            |     var_c8h = r3;
                                                             |     do {
    0x00004ce8 mov r0, r8                                    |         r0 = r8;
    0x00004cea blx 0x2e10                                    |         r0 = fcn_00002e10 ();
    0x00004cee cmp r6, r0                                    |         
                                                             |         if (r6 >= r0) {
    0x00004cf0 bge.w 0x4e4e                                  |             goto label_62;
                                                             |         }
    0x00004cf4 mov r1, r6                                    |         r1 = r6;
    0x00004cf6 mov r0, r8                                    |         r0 = r8;
    0x00004cf8 blx 0x268c                                    |         OPENSSL_sk_value ();
    0x00004cfc blx 0x27d0                                    |         r0 = OBJ_obj2nid ();
    0x00004d00 cmp r0, 0xb4                                  |         
                                                             |         if (r0 > 0xb4) {
    0x00004d02 bgt.w 0x4e2e                                  |             goto label_63;
                                                             |         }
    0x00004d06 cmp r0, 0x80                                  |         
                                                             |         if (r0 > 0x80) {
    0x00004d08 ble 0x4d6a                                    |             
    0x00004d0a subs r0, 0x81                                 |             r0 -= 0x81;
    0x00004d0c cmp r0, 0x33                                  |             
                                                             |             if (r0 > 0x33) {
    0x00004d0e bhi 0x4d6a                                    |                 goto label_5;
                                                             |             }
                                                             |             /* switch table (52 cases) at 0x4d14 */
    0x00004d10 tbb [pc, r0]                                  |             __asm ("tbb [0x00004d18]");
    0x00004d48 ldr.w r3, [sb, 4]                             |             r3 = *((sb + 4));
    0x00004d4c cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x00004d4e beq.w 0x4fc4                                  |                 goto label_64;
                                                             |             }
    0x00004d52 ldr.w r2, [pc, 0x440]                         |             
    0x00004d56 add r2, pc                                    |             r2 = 0x9ef0;
                                                             | label_15:
    0x00004d58 ldr.w r3, [pc, 0x43c]                         |             
    0x00004d5c mov r0, sb                                    |             r0 = sb;
    0x00004d5e ldr.w r1, [pc, 0x43c]                         |             
    0x00004d62 add r3, pc                                    |             r3 = 0x9efe;
    0x00004d64 add r1, pc                                    |             r1 = 0x9f06;
    0x00004d66 blx 0x2eac                                    |             fcn_00002eac ();
                                                             |         }
                                                             | label_5:
    0x00004d6a adds r6, 1                                    |         r6++;
    0x00004d6c b 0x4ce8                                      |         
                                                             |     } while (1);
    0x00004d6e ldr.w r3, [sb, 4]                             |     r3 = *((sb + 4));
    0x00004d72 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00004d74 bne.w 0x4fac                                  |         goto label_65;
                                                             |     }
    0x00004d78 ldr.w r2, [pc, 0x424]                         |     
    0x00004d7c add r2, pc                                    |     r2 = 0x9f20;
                                                             | label_11:
    0x00004d7e ldr.w r3, [pc, 0x424]                         |     
    0x00004d82 mov r0, sb                                    |     r0 = sb;
    0x00004d84 ldr.w r1, [pc, 0x420]                         |     
    0x00004d88 add r3, pc                                    |     r3 = 0x9f32;
    0x00004d8a add r1, pc                                    |     r1 = 0x9f36;
    0x00004d8c blx 0x2eac                                    |     fcn_00002eac ();
    0x00004d90 b 0x4d6a                                      |     goto label_5;
    0x00004d92 ldr.w r3, [sb, 4]                             |     r3 = *((sb + 4));
    0x00004d96 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00004d98 bne.w 0x4fa6                                  |         goto label_66;
                                                             |     }
    0x00004d9c ldr.w r2, [pc, 0x40c]                         |     
    0x00004da0 add r2, pc                                    |     r2 = 0x9f50;
                                                             | label_10:
    0x00004da2 ldr.w r3, [pc, 0x40c]                         |     
    0x00004da6 mov r0, sb                                    |     r0 = sb;
    0x00004da8 ldr.w r1, [pc, 0x408]                         |     
    0x00004dac add r3, pc                                    |     r3 = 0x9f62;
    0x00004dae add r1, pc                                    |     r1 = 0x9f66;
    0x00004db0 blx 0x2eac                                    |     fcn_00002eac ();
    0x00004db4 b 0x4d6a                                      |     goto label_5;
    0x00004db6 ldr.w r3, [sb, 4]                             |     r3 = *((sb + 4));
    0x00004dba cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00004dbc bne.w 0x4fa0                                  |         goto label_67;
                                                             |     }
    0x00004dc0 ldr r2, [pc, 0x3f4]                           |     
    0x00004dc2 add r2, pc                                    |     r2 = 0x9f7e;
                                                             | label_9:
    0x00004dc4 ldr r3, [pc, 0x3f4]                           |     
    0x00004dc6 mov r0, sb                                    |     r0 = sb;
    0x00004dc8 ldr r1, [pc, 0x3f4]                           |     
    0x00004dca add r3, pc                                    |     r3 = 0x9f8a;
    0x00004dcc add r1, pc                                    |     r1 = 0x9f90;
    0x00004dce blx 0x2eac                                    |     fcn_00002eac ();
    0x00004dd2 b 0x4d6a                                      |     goto label_5;
    0x00004dd4 ldr.w r3, [sb, 4]                             |     r3 = *((sb + 4));
    0x00004dd8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00004dda beq.w 0x4fb8                                  |         goto label_68;
                                                             |     }
    0x00004dde ldr r2, [pc, 0x3e4]                           |     
    0x00004de0 add r2, pc                                    |     r2 = 0x9faa;
                                                             | label_13:
    0x00004de2 ldr r3, [pc, 0x3e4]                           |     
    0x00004de4 mov r0, sb                                    |     r0 = sb;
    0x00004de6 ldr r1, [pc, 0x3e4]                           |     
    0x00004de8 add r3, pc                                    |     r3 = 0x9fb6;
    0x00004dea add r1, pc                                    |     r1 = 0x9fbc;
    0x00004dec blx 0x2eac                                    |     fcn_00002eac ();
    0x00004df0 b 0x4d6a                                      |     goto label_5;
    0x00004df2 ldr.w r3, [sb, 4]                             |     r3 = *((sb + 4));
    0x00004df6 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00004df8 bne.w 0x4fb2                                  |         goto label_69;
                                                             |     }
    0x00004dfc ldr r2, [pc, 0x3d0]                           |     
    0x00004dfe add r2, pc                                    |     r2 = 0x9fd2;
                                                             | label_12:
    0x00004e00 ldr r3, [pc, 0x3d0]                           |     
    0x00004e02 mov r0, sb                                    |     r0 = sb;
    0x00004e04 ldr r1, [pc, 0x3d0]                           |     
    0x00004e06 add r3, pc                                    |     r3 = 0x9fde;
    0x00004e08 add r1, pc                                    |     r1 = 0x9fe4;
    0x00004e0a blx 0x2eac                                    |     fcn_00002eac ();
    0x00004e0e b 0x4d6a                                      |     goto label_5;
    0x00004e10 ldr.w r3, [sb, 4]                             |     r3 = *((sb + 4));
    0x00004e14 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00004e16 beq.w 0x4fbe                                  |         goto label_70;
                                                             |     }
    0x00004e1a ldr r2, [pc, 0x3c0]                           |     
    0x00004e1c add r2, pc                                    |     r2 = 0x9ffe;
                                                             | label_14:
    0x00004e1e ldr r3, [pc, 0x3c0]                           |     
    0x00004e20 mov r0, sb                                    |     r0 = sb;
    0x00004e22 ldr r1, [pc, 0x3c0]                           |     
    0x00004e24 add r3, pc                                    |     r3 = 0xa00a;
    0x00004e26 add r1, pc                                    |     r1 = 0xa010;
    0x00004e28 blx 0x2eac                                    |     fcn_00002eac ();
    0x00004e2c b 0x4d6a                                      |     goto label_5;
                                                             | label_63:
    0x00004e2e movw r3, 0x129                                |     r3 = 0x129;
    0x00004e32 cmp r0, r3                                    |     
                                                             |     if (r0 != r3) {
    0x00004e34 bne 0x4d6a                                    |         goto label_5;
                                                             |     }
    0x00004e36 ldr.w r3, [sb, 4]                             |     r3 = *((sb + 4));
    0x00004e3a cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00004e3c beq.w 0x4f9a                                  |         goto label_71;
                                                             |     }
    0x00004e40 ldr r2, [sp, 0xc8]                            |     r2 = var_c8h;
                                                             | label_8:
    0x00004e42 ldr r1, [sp, 0xc4]                            |     r1 = var_c4h;
    0x00004e44 mov r3, sl                                    |     r3 = sl;
    0x00004e46 mov r0, sb                                    |     r0 = sb;
    0x00004e48 blx 0x2eac                                    |     fcn_00002eac ();
    0x00004e4c b 0x4d6a                                      |     goto label_5;
                                                             | label_62:
    0x00004e4e ldr r3, [pc, 0x398]                           |     r3 = *(0x51ea);
    0x00004e50 mov r0, r8                                    |     r0 = r8;
    0x00004e52 ldr r2, [sp, 0xb4]                            |     r2 = var_b4h;
    0x00004e54 ldr r1, [r2, r3]                              |     r1 = *((r2 + r3));
    0x00004e56 blx 0x2db0                                    |     fcn_00002db0 ();
                                                             | label_61:
    0x00004e5a movs r1, 0                                    |     r1 = 0;
    0x00004e5c mov r0, sb                                    |     r0 = sb;
    0x00004e5e ldr.w sl, [sb]                                |     sl = *(sb);
    0x00004e62 blx 0x29fc                                    |     fcn_000029fc ();
    0x00004e66 blx 0x2ae0                                    |     fcn_00002ae0 ();
    0x00004e6a blx 0x2a2c                                    |     fcn_00002a2c ();
    0x00004e6e ldr r3, [sp, 0xb0]                            |     r3 = var_b0h;
    0x00004e70 mov r8, r0                                    |     r8 = r0;
    0x00004e72 ldr r6, [r3]                                  |     r6 = *(r3);
    0x00004e74 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00004e76 beq.w 0x5010                                  |         goto label_72;
                                                             |     }
    0x00004e7a mov r1, r4                                    |     r1 = r4;
    0x00004e7c blx 0x28c0                                    |     r0 = PEM_write_bio_X509 ();
    0x00004e80 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00004e82 beq.w 0x5070                                  |         goto label_73;
                                                             |     }
    0x00004e86 ldr r4, [sp, 0x60]                            |     r4 = var_60h;
    0x00004e88 ldr.w sb, [sp, 0xac]                          |     sb = var_ach;
    0x00004e8c b 0x4e98                                      |     
                                                             |     while (r0 > 0) {
    0x00004e8e mov r0, r4                                    |         r0 = r4;
    0x00004e90 mov r1, sb                                    |         r1 = sb;
    0x00004e92 blx 0x2e88                                    |         r0 = fcn_00002e88 ();
    0x00004e96 mov r4, r0                                    |         r4 = r0;
    0x00004e98 movs r2, 0x50                                 |         r2 = 0x50;
    0x00004e9a mov r1, sb                                    |         r1 = sb;
    0x00004e9c mov r0, r8                                    |         r0 = r8;
    0x00004e9e blx 0x2984                                    |         r0 = fcn_00002984 ();
    0x00004ea2 cmp r0, 0                                     |         
    0x00004ea4 bgt 0x4e8e                                    |         
                                                             |     }
    0x00004ea6 ldr r3, [r4]                                  |     r3 = *(r4);
    0x00004ea8 str r4, [sp, 0x60]                            |     var_60h = r4;
    0x00004eaa ldr r4, [sp, 0xc0]                            |     r4 = var_c0h;
    0x00004eac str r3, [sp, 0x54]                            |     var_54h = r3;
    0x00004eae ldr r3, [sp, 0x80]                            |     r3 = var_80h;
    0x00004eb0 ldr r2, [sp, 0xa8]                            |     r2 = var_a8h;
    0x00004eb2 ldrd r0, r1, [sp, 0xb8]                       |     __asm ("ldrd r0, r1, [var_b8h]");
    0x00004eb6 str r3, [sp, 0x20]                            |     var_20h_3 = r3;
    0x00004eb8 ldr r3, [sp, 0x7c]                            |     r3 = var_7ch;
    0x00004eba str r4, [sp, 0xc]                             |     var_ch = r4;
    0x00004ebc strd r7, sl, [sp, 0x4c]                       |     __asm ("strd r7, sl, [sp, 0x4c]");
    0x00004ec0 str r3, [sp, 0x1c]                            |     var_1ch_2 = r3;
    0x00004ec2 ldr r3, [sp, 0x78]                            |     r3 = var_78h;
    0x00004ec4 strd r6, fp, [sp, 0x44]                       |     __asm ("strd r6, fp, [var_0hx44]");
    0x00004ec8 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00004eca ldr r3, [sp, 0x74]                            |     r3 = var_74h;
    0x00004ecc str r3, [sp, 0x14]                            |     var_14h_2 = r3;
    0x00004ece ldr r3, [sp, 0x70]                            |     r3 = var_70h;
    0x00004ed0 str r3, [sp, 0x10]                            |     var_10h_2 = r3;
    0x00004ed2 ldr r3, [sp, 0x6c]                            |     r3 = var_6ch;
    0x00004ed4 str r3, [sp, 8]                               |     var_8h = r3;
    0x00004ed6 ldr r3, [sp, 0x5c]                            |     r3 = var_5ch;
    0x00004ed8 str r3, [sp, 4]                               |     var_4h = r3;
    0x00004eda ldr r3, [sp, 0x68]                            |     r3 = var_68h;
    0x00004edc str r3, [sp]                                  |     *(sp) = r3;
    0x00004ede ldr r3, [sp, 0xa0]                            |     r3 = var_a0h;
    0x00004ee0 str r3, [sp, 0x40]                            |     var_40h = r3;
    0x00004ee2 ldr r3, [sp, 0x9c]                            |     r3 = var_9ch;
    0x00004ee4 str r3, [sp, 0x3c]                            |     var_3ch = r3;
    0x00004ee6 ldr r3, [sp, 0x98]                            |     r3 = var_98h;
    0x00004ee8 str r3, [sp, 0x38]                            |     var_38h = r3;
    0x00004eea ldr r3, [sp, 0x94]                            |     r3 = var_94h;
    0x00004eec str r3, [sp, 0x34]                            |     var_34h = r3;
    0x00004eee ldr r3, [sp, 0x90]                            |     r3 = var_90h;
    0x00004ef0 str r3, [sp, 0x30]                            |     var_30h = r3;
    0x00004ef2 ldr r3, [sp, 0x8c]                            |     r3 = var_8ch;
    0x00004ef4 str r3, [sp, 0x2c]                            |     var_2ch = r3;
    0x00004ef6 ldr r3, [sp, 0x88]                            |     r3 = var_88h;
    0x00004ef8 str r3, [sp, 0x28]                            |     var_28h = r3;
    0x00004efa ldr r3, [sp, 0x84]                            |     r3 = var_84h;
    0x00004efc str r3, [sp, 0x24]                            |     var_24h_3 = r3;
    0x00004efe ldr r3, [sp, 0x64]                            |     r3 = var_64h;
    0x00004f00 blx 0x2b1c                                    |     r0 = fcn_00002b1c ();
    0x00004f04 subs.w sb, r0, 0                              |     sb = r0 - 0;
    0x00004f08 it ne                                         |     
                                                             |     if (sb == r0) {
    0x00004f0a movne sb, 1                                   |         sb = 1;
                                                             |     }
                                                             | label_27:
    0x00004f0e cmp.w r8, 0                                   |     
                                                             |     if (r8 == 0) {
    0x00004f12 beq.w 0x4874                                  |         goto label_4;
                                                             |     }
    0x00004f16 mov r0, r8                                    |     r0 = r8;
    0x00004f18 blx 0x2df8                                    |     fcn_00002df8 ();
    0x00004f1c b 0x4874                                      |     goto label_4;
                                                             | label_33:
    0x00004f1e mov r0, r5                                    |     r0 = r5;
    0x00004f20 blx 0x2830                                    |     r0 = EVP_PKEY_get0_EC_KEY ();
    0x00004f24 mov r8, r0                                    |     r8 = r0;
    0x00004f26 blx 0x283c                                    |     r0 = EC_KEY_get0_public_key ();
    0x00004f2a mov r7, r0                                    |     r7 = r0;
    0x00004f2c mov r0, r8                                    |     r0 = r8;
    0x00004f2e blx 0x296c                                    |     fcn_0000296c ();
    0x00004f32 movs r3, 0                                    |     r3 = 0;
    0x00004f34 mov r1, r7                                    |     r1 = r7;
    0x00004f36 movs r2, 4                                    |     r2 = 4;
    0x00004f38 blx 0x2abc                                    |     fcn_00002abc ();
    0x00004f3c ldr r3, [pc, 0x2ac]                           |     
    0x00004f3e mov r8, r0                                    |     r8 = r0;
    0x00004f40 add r3, pc                                    |     r3 = 0xa130;
    0x00004f42 str r3, [sp, 0xc0]                            |     var_c0h = r3;
    0x00004f44 b.w 0x461a                                    |     goto label_6;
                                                             | label_37:
    0x00004f48 ldr r1, [pc, 0x2a4]                           |     
    0x00004f4a add r1, pc                                    |     r1 = 0xa13e;
    0x00004f4c blx 0x2e88                                    |     fcn_00002e88 ();
    0x00004f50 ldrb.w r2, [r8]                               |     r2 = *(r8);
    0x00004f54 b.w 0x4638                                    |     goto label_7;
                                                             | label_34:
    0x00004f58 mov r0, r5                                    |     r0 = r5;
    0x00004f5a add r7, sp, 0xe0                              |     r7 += var_e0h;
    0x00004f5c blx 0x26d4                                    |     EVP_PKEY_get0_RSA ();
    0x00004f60 add r3, sp, 0xe8                              |     r3 += var_e8h;
    0x00004f62 add r2, sp, 0xe4                              |     r2 += var_e4h;
    0x00004f64 mov r1, r7                                    |     r1 = r7;
    0x00004f66 blx 0x2f04                                    |     fcn_00002f04 ();
    0x00004f6a ldr r0, [sp, 0xe0]                            |     r0 = var_e0h;
    0x00004f6c blx 0x2c24                                    |     fcn_00002c24 ();
    0x00004f70 ldr r3, [pc, 0x280]                           |     
    0x00004f72 mov r8, r0                                    |     r8 = r0;
    0x00004f74 add r3, pc                                    |     r3 = 0xa16c;
    0x00004f76 str r3, [sp, 0xc0]                            |     var_c0h = r3;
    0x00004f78 b.w 0x461a                                    |     goto label_6;
                                                             | label_47:
    0x00004f7c ldr r0, [pc, 0x278]                           |     
    0x00004f7e mov r6, fp                                    |     r6 = fp;
    0x00004f80 mov sl, fp                                    |     sl = fp;
    0x00004f82 mov r7, fp                                    |     r7 = fp;
    0x00004f84 add r0, pc                                    |     r0 = 0xa180;
    0x00004f86 blx 0x29d8                                    |     r0 = fcn_000029d8 ();
    0x00004f8a mov r1, r0                                    |     r1 = r0;
    0x00004f8c mov r0, sb                                    |     r0 = sb;
    0x00004f8e blx 0x2788                                    |     cert_util_error_code_msg ();
    0x00004f92 mov r0, r8                                    |     r0 = r8;
    0x00004f94 blx 0x28f0                                    |     BIO_vfree ();
    0x00004f98 b 0x4874                                      |     goto label_4;
                                                             | label_71:
    0x00004f9a ldr r2, [pc, 0x260]                           |     
    0x00004f9c add r2, pc                                    |     r2 = 0xa19e;
    0x00004f9e b 0x4e42                                      |     goto label_8;
                                                             | label_67:
    0x00004fa0 ldr r2, [pc, 0x25c]                           |     
    0x00004fa2 add r2, pc                                    |     r2 = 0xa1a6;
    0x00004fa4 b 0x4dc4                                      |     goto label_9;
                                                             | label_66:
    0x00004fa6 ldr r2, [pc, 0x25c]                           |     
    0x00004fa8 add r2, pc                                    |     r2 = 0xa1b2;
    0x00004faa b 0x4da2                                      |     goto label_10;
                                                             | label_65:
    0x00004fac ldr r2, [pc, 0x258]                           |     
    0x00004fae add r2, pc                                    |     r2 = 0xa1ba;
    0x00004fb0 b 0x4d7e                                      |     goto label_11;
                                                             | label_69:
    0x00004fb2 ldr r2, [pc, 0x258]                           |     
    0x00004fb4 add r2, pc                                    |     r2 = 0xa1c6;
    0x00004fb6 b 0x4e00                                      |     goto label_12;
                                                             | label_68:
    0x00004fb8 ldr r2, [pc, 0x254]                           |     
    0x00004fba add r2, pc                                    |     r2 = 0xa1ce;
    0x00004fbc b 0x4de2                                      |     goto label_13;
                                                             | label_70:
    0x00004fbe ldr r2, [pc, 0x254]                           |     
    0x00004fc0 add r2, pc                                    |     r2 = 0xa1da;
    0x00004fc2 b 0x4e1e                                      |     goto label_14;
                                                             | label_64:
    0x00004fc4 ldr r2, [pc, 0x250]                           |     
    0x00004fc6 add r2, pc                                    |     r2 = 0xa1e2;
    0x00004fc8 b 0x4d58                                      |     goto label_15;
                                                             | label_51:
    0x00004fca blx 0x2cb4                                    |     fcn_00002cb4 ();
    0x00004fce b 0x4ca8                                      |     goto label_16;
                                                             | label_36:
    0x00004fd0 ldr r0, [pc, 0x248]                           |     
    0x00004fd2 mov r6, r8                                    |     r6 = r8;
    0x00004fd4 mov fp, r8                                    |     
    0x00004fd6 add r0, pc                                    |     r0 = 0xa1f6;
    0x00004fd8 blx 0x29d8                                    |     r0 = fcn_000029d8 ();
    0x00004fdc mov r1, r0                                    |     r1 = r0;
    0x00004fde movs r0, 1                                    |     r0 = 1;
    0x00004fe0 blx 0x2788                                    |     cert_util_error_code_msg ();
    0x00004fe4 str.w r8, [sp, 0xa0]                          |     __asm ("str.w r8, [var_a0h]");
    0x00004fe8 str.w r8, [sp, 0x5c]                          |     __asm ("str.w r8, [var_5ch]");
    0x00004fec b 0x49be                                      |     goto label_17;
                                                             | label_43:
    0x00004fee mov r6, r0                                    |     r6 = r0;
    0x00004ff0 ldr r0, [pc, 0x22c]                           |     
    0x00004ff2 mov fp, r8                                    |     
    0x00004ff4 mov sl, r8                                    |     sl = r8;
    0x00004ff6 mov r7, r8                                    |     r7 = r8;
    0x00004ff8 mov.w sb, 1                                   |     sb = 1;
    0x00004ffc add r0, pc                                    |     r0 = 0xa220;
    0x00004ffe blx 0x29d8                                    |     r0 = fcn_000029d8 ();
    0x00005002 mov r1, r0                                    |     r1 = r0;
    0x00005004 movs r0, 1                                    |     r0 = 1;
    0x00005006 blx 0x2788                                    |     cert_util_error_code_msg ();
    0x0000500a str.w r8, [sp, 0xa0]                          |     __asm ("str.w r8, [var_a0h]");
    0x0000500e b 0x4874                                      |     goto label_4;
                                                             | label_72:
    0x00005010 ldr r0, [pc, 0x210]                           |     
    0x00005012 mov.w sb, 1                                   |     sb = 1;
    0x00005016 add r0, pc                                    |     r0 = 0xa23e;
    0x00005018 blx 0x29d8                                    |     r0 = fcn_000029d8 ();
    0x0000501c mov r1, r0                                    |     r1 = r0;
    0x0000501e movs r0, 1                                    |     r0 = 1;
    0x00005020 blx 0x2788                                    |     cert_util_error_code_msg ();
    0x00005024 b 0x4874                                      |     goto label_4;
                                                             | label_60:
    0x00005026 ldr r2, [pc, 0x200]                           |     
    0x00005028 add r2, pc                                    |     r2 = 0xa256;
    0x0000502a b 0x4c96                                      |     goto label_18;
                                                             | label_58:
    0x0000502c ldr r2, [pc, 0x1fc]                           |     
    0x0000502e add r2, pc                                    |     r2 = 0xa25e;
    0x00005030 b 0x4c4a                                      |     goto label_19;
                                                             | label_59:
    0x00005032 ldr r2, [pc, 0x1fc]                           |     
    0x00005034 add r2, pc                                    |     r2 = 0xa26a;
    0x00005036 b 0x4c70                                      |     goto label_20;
                                                             | label_52:
    0x00005038 ldr r2, [pc, 0x1f8]                           |     
    0x0000503a add r2, pc                                    |     r2 = 0xa272;
    0x0000503c b 0x4b4a                                      |     goto label_21;
                                                             | label_53:
    0x0000503e ldr r2, [pc, 0x1f8]                           |     
    0x00005040 add r2, pc                                    |     r2 = 0xa27e;
    0x00005042 b 0x4b96                                      |     goto label_22;
                                                             | label_54:
    0x00005044 ldr r2, [pc, 0x1f4]                           |     
    0x00005046 add r2, pc                                    |     r2 = 0xa286;
    0x00005048 b 0x4bba                                      |     goto label_23;
                                                             | label_55:
    0x0000504a ldr r2, [pc, 0x1f4]                           |     
    0x0000504c add r2, pc                                    |     r2 = 0xa292;
    0x0000504e b 0x4bde                                      |     goto label_24;
                                                             | label_56:
    0x00005050 ldr r2, [pc, 0x1f0]                           |     
    0x00005052 add r2, pc                                    |     r2 = 0xa29a;
    0x00005054 b 0x4c02                                      |     goto label_25;
                                                             | label_57:
    0x00005056 ldr r2, [pc, 0x1f0]                           |     
    0x00005058 add r2, pc                                    |     r2 = 0xa2a6;
    0x0000505a b 0x4c26                                      |     goto label_26;
                                                             | label_46:
    0x0000505c mov r0, r8                                    |     r0 = r8;
    0x0000505e blx 0x28f0                                    |     BIO_vfree ();
    0x00005062 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00005064 movs r6, 0                                    |     r6 = 0;
    0x00005066 mov fp, r6                                    |     
    0x00005068 mov sl, r6                                    |     sl = r6;
    0x0000506a mov r7, r6                                    |     r7 = r6;
    0x0000506c str r3, [sp, 0xa0]                            |     var_a0h = r3;
    0x0000506e b 0x4874                                      |     goto label_4;
                                                             | label_73:
    0x00005070 ldr r0, [pc, 0x1d8]                           |     
    0x00005072 mov.w sb, 1                                   |     sb = 1;
    0x00005076 add r0, pc                                    |     r0 = 0xa2c6;
    0x00005078 blx 0x29d8                                    |     r0 = fcn_000029d8 ();
    0x0000507c mov r1, r0                                    |     r1 = r0;
    0x0000507e movs r0, 1                                    |     r0 = 1;
    0x00005080 blx 0x2788                                    |     cert_util_error_code_msg ();
    0x00005084 b 0x4f0e                                      |     goto label_27;
                                                             | label_48:
    0x00005086 ldr r3, [sp, 0xb0]                            |     r3 = var_b0h;
    0x00005088 mov sl, fp                                    |     sl = fp;
    0x0000508a mov r7, fp                                    |     r7 = fp;
    0x0000508c ldr r6, [r3]                                  |     r6 = *(r3);
    0x0000508e b.w 0x4874                                    |     goto label_4;
                                                             | label_45:
    0x00005092 blx 0x2c78                                    |     fcn_00002c78 ();
    0x00005096 nop                                           |     
    0x00005098 ldr r0, [pc, 0x18]                            |     r0 = *(0x50b4);
    0x0000509a movs r1, r0                                   |     r1 = r0;
    0x0000509c lsls r0, r3, 0xc                              |     r0 = r3 << 0xc;
    0x0000509e movs r0, r0                                   |     
    0x000050a0 subs r7, 0x5e                                 |     r7 -= 0x5e;
    0x000050a2 movs r0, r0                                   |     
    0x000050a4 blx lr                                        |     r0 = lr (r0, r1);
    0x000050a6 movs r1, r0                                   |     r1 = r0;
    0x000050a8 adds r5, 0x3e                                 |     r5 += 0x3e;
    0x000050aa movs r0, r0                                   |     
    0x000050ac cmp r3, 0xbe                                  |     
    0x000050ae movs r0, r0                                   |     
    0x000050b0 adds r4, 0x16                                 |     r4 += 0x16;
    0x000050b2 movs r0, r0                                   |     
    0x000050b4 subs r6, 0xe                                  |     r6 -= 0xe;
    0x000050b6 movs r0, r0                                   |     
    0x000050b8 adds r3, 0xf2                                 |     r3 += 0xf2;
    0x000050ba movs r0, r0                                   |     
    0x000050bc cmp r2, 0x64                                  |     
    0x000050be movs r0, r0                                   |     
    0x000050c0 adds r3, 0xce                                 |     r3 += 0xce;
    0x000050c2 movs r0, r0                                   |     
    0x000050c4 subs r6, 0x5c                                 |     r6 -= 0x5c;
    0x000050c6 movs r0, r0                                   |     
    0x000050c8 adds r3, 0xdc                                 |     r3 += 0xdc;
    0x000050ca movs r0, r0                                   |     
    0x000050cc adds r3, 0xdc                                 |     r3 += 0xdc;
    0x000050ce movs r0, r0                                   |     
    0x000050d0 adds r3, 0xa6                                 |     r3 += 0xa6;
    0x000050d2 movs r0, r0                                   |     
    0x000050d4 adds r3, 0xbc                                 |     r3 += 0xbc;
    0x000050d6 movs r0, r0                                   |     
    0x000050d8 adds r3, 0xd2                                 |     r3 += 0xd2;
    0x000050da movs r0, r0                                   |     
    0x000050dc adds r3, 0x2a                                 |     r3 += 0x2a;
    0x000050de movs r0, r0                                   |     
    0x000050e0 adds r2, 0x22                                 |     r2 += 0x22;
    0x000050e2 movs r0, r0                                   |     
    0x000050e4 cmp r0, 0xba                                  |     
    0x000050e6 movs r0, r0                                   |     
    0x000050e8 muls r2, r7, r2                               |     r2 = r7 * r2;
    0x000050ea movs r1, r0                                   |     r1 = r0;
    0x000050ec adds r1, 0xa                                  |     r1 += 0xa;
    0x000050ee movs r0, r0                                   |     
    0x000050f0 adds r0, 0xa6                                 |     r0 += 0xa6;
    0x000050f2 movs r0, r0                                   |     
    0x000050f4 cmp r3, 0x66                                  |     
    0x000050f6 movs r0, r0                                   |     
    0x000050f8 subs r5, 0x6a                                 |     r5 -= 0x6a;
    0x000050fa movs r0, r0                                   |     
    0x000050fc adds r0, 0x62                                 |     r0 += 0x62;
    0x000050fe movs r0, r0                                   |     
    0x00005100 subs r1, 0xa2                                 |     r1 -= 0xa2;
    0x00005102 movs r0, r0                                   |     
    0x00005104 subs r2, 0xaa                                 |     r2 -= 0xaa;
    0x00005106 movs r0, r0                                   |     
    0x00005108 adds r1, 0xe8                                 |     r1 += 0xe8;
    0x0000510a movs r0, r0                                   |     
    0x0000510c subs r1, 0x4a                                 |     r1 -= 0x4a;
    0x0000510e movs r0, r0                                   |     
    0x00005110 adds r1, 0xb8                                 |     r1 += 0xb8;
    0x00005112 movs r0, r0                                   |     
    0x00005114 subs r1, 0x32                                 |     r1 -= 0x32;
    0x00005116 movs r0, r0                                   |     
    0x00005118 subs r0, 0xec                                 |     r0 -= 0xec;
    0x0000511a movs r0, r0                                   |     
    0x0000511c adds r0, 0x10                                 |     r0 += 0x10;
    0x0000511e movs r0, r0                                   |     
    0x00005120 adds r0, 0x22                                 |     r0 += 0x22;
    0x00005122 movs r0, r0                                   |     
    0x00005124 subs r0, 0xa0                                 |     r0 -= 0xa0;
    0x00005126 movs r0, r0                                   |     
    0x00005128 cmp r7, 0xe0                                  |     
    0x0000512a movs r0, r0                                   |     
    0x0000512c cmp r7, 0xd6                                  |     
    0x0000512e movs r0, r0                                   |     
    0x00005130 subs r0, 0x7c                                 |     r0 -= 0x7c;
    0x00005132 movs r0, r0                                   |     
    0x00005134 cmp r7, 0xcc                                  |     
    0x00005136 movs r0, r0                                   |     
    0x00005138 cmp r7, 0xb2                                  |     
    0x0000513a movs r0, r0                                   |     
    0x0000513c subs r0, 0x58                                 |     r0 -= 0x58;
    0x0000513e movs r0, r0                                   |     
    0x00005140 cmp r7, 0xb8                                  |     
    0x00005142 movs r0, r0                                   |     
    0x00005144 cmp r7, 0x8e                                  |     
    0x00005146 movs r0, r0                                   |     
    0x00005148 subs r0, 0x34                                 |     r0 -= 0x34;
    0x0000514a movs r0, r0                                   |     
    0x0000514c cmp r7, 0xa8                                  |     
    0x0000514e movs r0, r0                                   |     
    0x00005150 cmp r7, 0x6a                                  |     
    0x00005152 movs r0, r0                                   |     
    0x00005154 subs r0, 0x10                                 |     r0 -= 0x10;
    0x00005156 movs r0, r0                                   |     
    0x00005158 cmp r7, 0x94                                  |     
    0x0000515a movs r0, r0                                   |     
    0x0000515c cmp r7, 0x46                                  |     
    0x0000515e movs r0, r0                                   |     
    0x00005160 adds r7, 0xec                                 |     r7 += 0xec;
    0x00005162 movs r0, r0                                   |     
    0x00005164 cmp r7, 0x7c                                  |     
    0x00005166 movs r0, r0                                   |     
    0x00005168 cmp r7, 0x22                                  |     
    0x0000516a movs r0, r0                                   |     
    0x0000516c adds r7, 0xc6                                 |     r7 += 0xc6;
    0x0000516e movs r0, r0                                   |     
    0x00005170 cmp r7, 0x5e                                  |     
    0x00005172 movs r0, r0                                   |     
    0x00005174 cmp r6, 0xfc                                  |     
    0x00005176 movs r0, r0                                   |     
    0x00005178 adds r7, 0xa0                                 |     r7 += 0xa0;
    0x0000517a movs r0, r0                                   |     
    0x0000517c cmp r7, 0x48                                  |     
    0x0000517e movs r0, r0                                   |     
    0x00005180 cmp r6, 0xd6                                  |     
    0x00005182 movs r0, r0                                   |     
    0x00005184 adds r7, 0x7e                                 |     r7 += 0x7e;
    0x00005186 movs r0, r0                                   |     
    0x00005188 cmp r6, 0x9e                                  |     
    0x0000518a movs r0, r0                                   |     
    0x0000518c cmp r7, 0x82                                  |     
    0x0000518e movs r0, r0                                   |     
    0x00005190 cmp r5, 0x58                                  |     
    0x00005192 movs r0, r0                                   |     
    0x00005194 cmp r4, 0xe6                                  |     
    0x00005196 movs r0, r0                                   |     
    0x00005198 cmp r6, 0x96                                  |     
    0x0000519a movs r0, r0                                   |     
    0x0000519c cmp r6, 0x14                                  |     
    0x0000519e movs r0, r0                                   |     
    0x000051a0 adds r6, 0xb8                                 |     r6 += 0xb8;
    0x000051a2 movs r0, r0                                   |     
    0x000051a4 cmp r6, 0xa4                                  |     
    0x000051a6 movs r0, r0                                   |     
    0x000051a8 cmp r5, 0xee                                  |     
    0x000051aa movs r0, r0                                   |     
    0x000051ac adds r6, 0x94                                 |     r6 += 0x94;
    0x000051ae movs r0, r0                                   |     
    0x000051b0 cmp r6, 0xa4                                  |     
    0x000051b2 movs r0, r0                                   |     
    0x000051b4 cmp r5, 0xca                                  |     
    0x000051b6 movs r0, r0                                   |     
    0x000051b8 adds r6, 0x72                                 |     r6 += 0x72;
    0x000051ba movs r0, r0                                   |     
    0x000051bc cmp r6, 0x7a                                  |     
    0x000051be movs r0, r0                                   |     
    0x000051c0 cmp r5, 0xac                                  |     
    0x000051c2 movs r0, r0                                   |     
    0x000051c4 cmp r4, 0x5c                                  |     
    0x000051c6 movs r0, r0                                   |     
    0x000051c8 cmp r6, 0x28                                  |     
    0x000051ca movs r0, r0                                   |     
    0x000051cc cmp r5, 0x8e                                  |     
    0x000051ce movs r0, r0                                   |     
    0x000051d0 adds r6, 0x36                                 |     r6 += 0x36;
    0x000051d2 movs r0, r0                                   |     
    0x000051d4 cmp r6, 0x1a                                  |     
    0x000051d6 movs r0, r0                                   |     
    0x000051d8 cmp r5, 0x70                                  |     
    0x000051da movs r0, r0                                   |     
    0x000051dc cmp r4, 0x20                                  |     
    0x000051de movs r0, r0                                   |     
    0x000051e0 cmp r5, 0xe0                                  |     
    0x000051e2 movs r0, r0                                   |     
    0x000051e4 cmp r5, 0x52                                  |     
    0x000051e6 movs r0, r0                                   |     
    0x000051e8 lsls r4, r3, 0xc                              |     r4 = r3 << 0xc;
    0x000051ea movs r0, r0                                   |     
    0x000051ec cmp r2, 0xcc                                  |     
    0x000051ee movs r0, r0                                   |     
    0x000051f0 cmp r3, 0x7a                                  |     
    0x000051f2 movs r0, r0                                   |     
    0x000051f4 cmp r2, 0xa8                                  |     
    0x000051f6 movs r0, r0                                   |     
    0x000051f8 cmp r3, 0xb0                                  |     
    0x000051fa movs r0, r0                                   |     
    0x000051fc adds r4, 0x98                                 |     r4 += 0x98;
    0x000051fe movs r0, r0                                   |     
    0x00005200 cmp r2, 0x9a                                  |     
    0x00005202 movs r0, r0                                   |     
    0x00005204 cmp r2, 0x94                                  |     
    0x00005206 movs r0, r0                                   |     
    0x00005208 cmp r2, 0x8e                                  |     
    0x0000520a movs r0, r0                                   |     
    0x0000520c cmp r2, 0x88                                  |     
    0x0000520e movs r0, r0                                   |     
    0x00005210 adds r4, 0x7a                                 |     r4 += 0x7a;
    0x00005212 movs r0, r0                                   |     
    0x00005214 adds r4, 0x74                                 |     r4 += 0x74;
    0x00005216 movs r0, r0                                   |     
    0x00005218 adds r4, 0x6e                                 |     r4 += 0x6e;
    0x0000521a movs r0, r0                                   |     
    0x0000521c cmp r2, 0xd2                                  |     
    0x0000521e movs r0, r0                                   |     
    0x00005220 movs r5, 0x6c                                 |     r5 = 0x6c;
    0x00005222 movs r0, r0                                   |     
    0x00005224 movs r5, 0x52                                 |     r5 = 0x52;
    0x00005226 movs r0, r0                                   |     
    0x00005228 cmp r2, 0x14                                  |     
    0x0000522a movs r0, r0                                   |     
    0x0000522c cmp r2, 0xe                                   |     
    0x0000522e movs r0, r0                                   |     
    0x00005230 cmp r2, 8                                     |     
    0x00005232 movs r0, r0                                   |     
    0x00005234 cmp r2, 2                                     |     
    0x00005236 movs r0, r0                                   |     
    0x00005238 cmp r1, 0xfc                                  |     
    0x0000523a movs r0, r0                                   |     
    0x0000523c cmp r1, 0xf6                                  |     
    0x0000523e movs r0, r0                                   |     
    0x00005240 cmp r1, 0xf0                                  |     
    0x00005242 movs r0, r0                                   |     
    0x00005244 cmp r1, 0xea                                  |     
    0x00005246 movs r0, r0                                   |     
    0x00005248 cmp r1, 0xe4                                  |     
    0x0000524a movs r0, r0                                   |     
    0x0000524c cmp r4, 0xe                                   |     
    0x0000524e movs r0, r0                                   |     
                                                             | }

[*] Function system used 1 times libcert.so.1.0