[*] Binary protection state of libcert.so.1.0
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function popen 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 popen used 1 times libcert.so.1.0