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