[*] Binary protection state of ab
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcat tear down of ab
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/ab @ 0x3d38 */
| #include <stdint.h>
|
; (fcn) fcn.00003d38 () | void fcn_00003d38 (int16_t arg_1h, int16_t arg_8h, int16_t arg_ch, int16_t arg_10h, int16_t arg_18h, int16_t arg_1ch, int16_t arg_20h, int16_t arg_28h, int16_t arg_2ch, int16_t arg_34h, int16_t arg_38h, int16_t arg_3ch, int16_t arg_40h, int16_t arg_44h, int16_t arg_48h, int16_t arg_4ch, int16_t arg_64h, int16_t arg_68h, int16_t arg_6ch, int16_t arg_4e4h) {
| int16_t var_0h;
| int16_t var_4h;
| do {
| label_0:
0x0000236a ldr r0, [r6] | r0 = *(r6);
0x0000236c mov r3, r4 | r3 = r4;
0x0000236e mov r2, r5 | r2 = r5;
0x00002370 mov r1, r7 | r1 = r7;
0x00002372 blx 0x2144 | r0 = fcn_00002144 ();
0x00002376 cmp r0, 0 |
| if (r0 != 0) {
0x00002378 bne.w 0x28b8 | goto label_43;
| }
0x0000237c ldrb r3, [r5] | r3 = *(r5);
0x0000237e subs r3, 0x41 | r3 -= 0x41;
0x00002380 cmp r3, 0x39 |
0x00002382 bhi 0x236a |
| } while (r3 > 0x39);
0x00002384 adr r2, 8 | r2 = 8;
0x00002386 ldr.w r3, [r2, r3, lsl 2] | offset_0 = r3 << 2;
| r3 = *((r2 + offset_0));
0x0000238a add r2, r3 | r2 += r3;
0x0000238c bx r2 | return uint32_t (*r2)() ();
| label_5:
0x000026d4 ldr.w r2, [pc, 0x8a0] |
0x000026d8 ldr.w r3, [pc, 0x80c] | r3 = *(0x2ee8);
0x000026dc add r2, pc | r2 = 0x5658;
0x000026de ldr r3, [r2, r3] | r3 = *(0x5658);
0x000026e0 ldr r2, [r3] | r2 = *(0x5658);
0x000026e2 ldr.w r3, [sp, 0x4e4] | r3 = *(arg_4e4h);
0x000026e6 eors r2, r3 | r2 ^= r3;
0x000026e8 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x000026ec bne.w 0x3ad8 | goto label_44;
| }
0x000026f0 movs r0, 0 | r0 = 0;
0x000026f2 addw sp, sp, 0x4ec | __asm ("addw sp, sp, 0x4ec");
0x000026f6 vpop {d8, d9} | __asm ("vpop {d8, d9}");
0x000026fa pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_43:
0x000028b8 ldr r0, [r6] | r0 = *(r6);
0x000028ba ldr.w r2, [sl] | r2 = *(sl);
0x000028be ldr r3, [r0, 0xc] | r3 = *((r0 + 0xc));
0x000028c0 subs r2, 1 | r2--;
0x000028c2 cmp r3, r2 |
| if (r3 != r2) {
0x000028c4 bne.w 0x3b52 | goto label_45;
| }
0x000028c8 ldr.w r2, [pc, 0x6f8] |
0x000028cc add r2, pc | r2 = 0x5894;
0x000028ce ldr.w r1, [r2, 0x4d0] | r1 = *(0x5d64);
| if (r1 == 0) {
0x000028d2 cbnz r1, 0x28da |
0x000028d4 movs r1, 1 | r1 = 1;
0x000028d6 str.w r1, [r2, 0x4d0] | __asm ("str.w r1, [r2, 0x4d0]");
| }
0x000028da ldr r2, [r0, 0x1c] | r2 = *((r0 + 0x1c));
0x000028dc ldr.w r5, [pc, 0x6e8] |
0x000028e0 ldr.w r1, [r2, r3, lsl 2] | offset_1 = r3 << 2;
| r1 = *((r2 + offset_1));
0x000028e4 adds r3, 1 | r3++;
0x000028e6 add r5, pc | r5 = 0x58b2;
0x000028e8 str r3, [r0, 0xc] | *((r0 + 0xc)) = r3;
0x000028ea ldr.w r0, [r5, 0x498] | r0 = *(0x5d4a);
0x000028ee blx 0x1ec4 | r0 = SSL_ctrl ();
0x000028f2 mov r4, r0 | r4 = r0;
0x000028f4 ldr.w r0, [r5, 0x498] | r0 = *(0x5d4a);
0x000028f8 mov r1, r4 | r1 = r4;
0x000028fa blx 0x1ec4 | SSL_ctrl ();
0x000028fe str.w r0, [r5, 0x51c] | __asm ("str.w r0, [r5, 0x51c]");
0x00002902 mov r0, r4 | r0 = r4;
0x00002904 blx 0x209c | r0 = fcn_0000209c ();
0x00002908 cmp r0, 7 |
0x0000290a mov r6, r0 | r6 = r0;
| if (r0 >= 7) {
0x0000290c bls 0x2928 |
0x0000290e ldr.w r1, [pc, 0x6bc] |
0x00002912 movs r2, 7 | r2 = 7;
0x00002914 mov r0, r4 | r0 = r4;
0x00002916 add r1, pc | r1 = 0x58e8;
0x00002918 blx 0x1cd8 | r0 = strncmp (r0, r1, r2);
0x0000291c cmp r0, 0 |
| if (r0 != 0) {
0x0000291e bne.w 0x2a8e | goto label_46;
| }
0x00002922 adds r4, 7 | r4 += 7;
0x00002924 str.w r0, [r5, 0x420] | __asm ("str.w r0, [r5, 0x420]");
| }
| label_1:
0x00002928 movs r1, 0x2f | r1 = 0x2f;
0x0000292a mov r0, r4 | r0 = r4;
0x0000292c blx 0x2234 | r0 = fcn_00002234 ();
0x00002930 mov r6, r0 | r6 = r0;
| if (r0 != 0) {
0x00002932 cbz r0, 0x2974 |
0x00002934 ldr.w r5, [pc, 0x698] |
0x00002938 subs r2, r0, r4 | r2 = r0 - r4;
0x0000293a mov r1, r4 | r1 = r4;
0x0000293c add.w sl, sp, 0x68 | sl += arg_68h;
0x00002940 add r5, pc | r5 = 0x5914;
0x00002942 ldr.w r0, [r5, 0x498] | r0 = *(0x5dac);
0x00002946 blx 0x1fac | fcn_00001fac ();
0x0000294a ldr.w r2, [r5, 0x498] | r2 = *(0x5dac);
0x0000294e mov r3, r0 | r3 = r0;
0x00002950 mov r1, sl | r1 = sl;
0x00002952 add.w r0, r5, 0x418 | r0 = r5 + 0x418;
0x00002956 str r2, [sp] | *(sp) = r2;
0x00002958 addw r2, r5, 0x41c | __asm ("addw r2, r5, 0x41c");
0x0000295c blx 0x224c | r0 = fcn_0000224c ();
0x00002960 mov r7, r0 | r7 = r0;
| if (r0 != 0) {
0x00002962 cbnz r0, 0x2974 | goto label_47;
| }
0x00002964 ldr.w r3, [r5, 0x418] | r3 = *((r5 + 0x418));
| if (r3 == 0) {
0x00002968 cbz r3, 0x2974 | goto label_47;
| }
0x0000296a ldr.w r3, [sl] | r3 = *(sl);
0x0000296e cmp r3, 0 |
| if (r3 == 0) {
0x00002970 beq.w 0x2ac6 | goto label_48;
| }
| }
| label_47:
0x00002974 ldr.w r2, [pc, 0x65c] |
0x00002978 ldr.w r3, [pc, 0x65c] | r3 = *(0x2fd8);
0x0000297c ldr.w r0, [r8] | r0 = *(r8);
0x00002980 add r2, pc | r2 = 0x5958;
| label_40:
0x00002982 ldr.w r1, [sb, r3] | r1 = *((sb + r3));
0x00002986 ldr r3, [r0] | r3 = *(r0);
0x00002988 ldr r0, [r1] | r0 = *(r1);
0x0000298a movs r1, 1 | r1 = 1;
0x0000298c blx 0x1da8 | fcn_00001da8 ();
0x00002990 ldr.w r3, [r8] | r3 = *(r8);
0x00002994 ldr r0, [r3] | r0 = *(r3);
0x00002996 bl 0x3f38 | fcn_00003f38 (r0);
0x0000299a ldr.w r1, [pc, 0x640] |
0x0000299e movs r2, 6 | r2 = 6;
0x000029a0 mov r0, fp | r0 = fp;
0x000029a2 add r1, pc | r1 = 0x5984;
0x000029a4 blx 0x1f7c | r0 = fcn_00001f7c ();
0x000029a8 cmp r0, 0 |
| if (r0 == 0) {
0x000029aa beq 0x2a84 | goto label_49;
| }
0x000029ac ldr.w r1, [pc, 0x630] |
0x000029b0 movs r2, 6 | r2 = 6;
0x000029b2 mov r0, fp | r0 = fp;
0x000029b4 add r1, pc | r1 = 0x5998;
0x000029b6 blx 0x1f7c | r0 = fcn_00001f7c ();
0x000029ba cmp r0, 0 |
| if (r0 == 0) {
0x000029bc beq 0x2ab2 | goto label_50;
| }
0x000029be ldr.w r1, [pc, 0x624] |
0x000029c2 movs r2, 6 | r2 = 6;
0x000029c4 mov r0, fp | r0 = fp;
0x000029c6 add r1, pc | r1 = 0x59b0;
0x000029c8 blx 0x1f7c | r0 = fcn_00001f7c ();
0x000029cc cmp r0, 0 |
| if (r0 == 0) {
0x000029ce beq 0x2abc | goto label_51;
| }
0x000029d0 ldr.w r1, [pc, 0x614] |
0x000029d4 mov r0, fp | r0 = fp;
0x000029d6 movs r2, 4 | r2 = 4;
0x000029d8 add r1, pc | r1 = 0x59c4;
0x000029da blx 0x1f7c | r0 = fcn_00001f7c ();
0x000029de cmp r0, 0 |
| if (r0 != 0) {
0x000029e0 bne.w 0x236a | goto label_0;
| }
0x000029e4 movw r3, 0x301 | r3 = 0x301;
0x000029e8 strd r3, r3, [sp, 0x34] | __asm ("strd r3, r3, [sp, 0x34]");
0x000029ec b 0x236a | goto label_0;
| label_49:
0x00002a84 movw r3, 0x302 | r3 = 0x302;
0x00002a88 strd r3, r3, [sp, 0x34] | __asm ("strd r3, r3, [sp, 0x34]");
0x00002a8c b 0x236a | goto label_0;
| label_46:
0x00002a8e cmp r6, 8 |
| if (r6 == 8) {
0x00002a90 beq.w 0x2928 | goto label_1;
| }
0x00002a94 ldr.w r1, [pc, 0x55c] |
0x00002a98 movs r2, 8 | r2 = 8;
0x00002a9a mov r0, r4 | r0 = r4;
0x00002a9c add r1, pc | r1 = 0x5a94;
0x00002a9e blx 0x1cd8 | r0 = strncmp (r0, r1, r2);
0x00002aa2 cmp r0, 0 |
| if (r0 != 0) {
0x00002aa4 bne.w 0x2928 | goto label_1;
| }
0x00002aa8 movs r3, 1 | r3 = 1;
0x00002aaa adds r4, 8 | r4 += 8;
0x00002aac str.w r3, [r5, 0x420] | __asm ("str.w r3, [r5, 0x420]");
0x00002ab0 b 0x2928 | goto label_1;
| label_50:
0x00002ab2 movw r3, 0x303 | r3 = 0x303;
0x00002ab6 strd r3, r3, [sp, 0x34] | __asm ("strd r3, r3, [sp, 0x34]");
0x00002aba b 0x236a | goto label_0;
| label_51:
0x00002abc mov.w r3, 0x304 | r3 = 0x304;
0x00002ac0 strd r3, r3, [sp, 0x34] | __asm ("strd r3, r3, [sp, 0x34]");
0x00002ac4 b 0x236a | goto label_0;
| label_48:
0x00002ac6 ldr.w r0, [r5, 0x498] | r0 = *((r5 + 0x498));
0x00002aca mov r1, r6 | r1 = r6;
0x00002acc blx 0x1ec4 | SSL_ctrl ();
0x00002ad0 str.w r0, [r5, 0x430] | __asm ("str.w r0, [r5, 0x430]");
0x00002ad4 strb r7, [r6] | *(r6) = r7;
0x00002ad6 ldrb r3, [r4] | r3 = *(r4);
0x00002ad8 cmp r3, 0x5b |
| if (r3 == 0x5b) {
0x00002ada beq.w 0x3ab8 | goto label_52;
| }
0x00002ade ldr.w r0, [r5, 0x418] | r0 = *((r5 + 0x418));
| label_39:
0x00002ae2 ldr.w r3, [pc, 0x514] |
0x00002ae6 add r3, pc | r3 = 0x5ae4;
0x00002ae8 ldrh.w r2, [r3, 0x41c] | r2 = *((r3 + 0x41c));
0x00002aec ldr.w r1, [r3, 0x420] | r1 = *(0x5f04);
0x00002af0 str.w r0, [r3, 0x520] | __asm ("str.w r0, [r3, 0x520]");
0x00002af4 cmp r2, 0 |
| if (r2 != 0) {
0x00002af6 bne.w 0x3a8e | goto label_53;
| }
0x00002afa cmp r1, 0 |
| if (r1 == 0) {
0x00002afc beq.w 0x3aae | goto label_54;
| }
0x00002b00 movw r2, 0x1bb | r2 = 0x1bb;
0x00002b04 strh.w r2, [r3, 0x41c] | *((r3 + 0x41c)) = r2;
| label_37:
0x00002b08 ldr.w r0, [pc, 0x4f0] |
0x00002b0c add r0, pc | r0 = 0x5b0c;
| label_38:
0x00002b0e ldr.w r2, [pc, 0x4f0] |
0x00002b12 movw r3, 0x4e20 | r3 = 0x4e20;
0x00002b16 ldr.w r1, [pc, 0x4ec] |
0x00002b1a add r2, pc | r2 = 0x5b20;
0x00002b1c add r1, pc | r1 = 0x5b26;
0x00002b1e str.w r0, [r1, 0x524] | __asm ("str.w r0, [r1, 0x524]");
0x00002b22 ldr r1, [r2] | r1 = *(0x5b20);
0x00002b24 cmp r1, r3 |
| if (r1 > r3) {
0x00002b26 bhi.w 0x3af2 | goto label_55;
| }
0x00002b2a ldr r3, [r2, 0x34] | r3 = *((r2 + 0x34));
0x00002b2c cmp r1, r3 |
| if (r1 > r3) {
0x00002b2e bgt.w 0x3ae4 | goto label_56;
| }
0x00002b32 ldr r2, [r2, 0x38] | r2 = *((r2 + 0x38));
| if (r2 != 0) {
0x00002b34 cbz r2, 0x2b56 |
0x00002b36 cmp r3, 0x96 |
| if (r3 <= 0x96) {
0x00002b38 ble 0x2b56 | goto label_57;
| }
0x00002b3a cmp.w r3, 0x3e8 |
0x00002b3e itett ge |
| if (r3 >= 0x3e8) {
0x00002b40 movwge r2, 0x6667 | __asm ("movwge r2, 0x6667");
| }
| if (r3 < 0x3e8) {
0x00002b44 movge r7, 0x64 | r7 = 0x64;
| }
| if (r3 >= 0x3e8) {
0x00002b46 movtge r2, 0x6666 | __asm ("movtge r2, 0x6666");
| }
| if (r3 >= 0x3e8) {
0x00002b4a smull r2, r7, r3, r2 | r2:r7 = r3 * r2;
| }
0x00002b4e itt ge |
| if (r3 >= 0x3e8) {
0x00002b50 asrge r3, r3, 0x1f | __asm ("asrge r3, r3, 0x1f");
| }
| if (r3 < 0x3e8) {
0x00002b52 rsbge r7, r3, r7, asr 2 | __asm ("rsbge r7, r3, r7, asr 2");
| goto label_57;
| }
| }
| label_57:
0x00002b56 ldr.w r3, [pc, 0x4b0] |
0x00002b5a movs r0, 2 | r0 = 2;
0x00002b5c movs r2, 0 | r2 = 0;
0x00002b5e movs r1, 0 | r1 = 0;
0x00002b60 movt r0, 0x20 | r0 = (r0 & 0xFFFF) | 0x200000;
0x00002b64 ldr.w r4, [pc, 0x4a4] |
0x00002b68 add r3, pc | r3 = 0x5b76;
0x00002b6a str r7, [r3, 0x38] | *((r3 + 0x38)) = r7;
0x00002b6c blx 0x1d44 | OPENSSL_init_ssl ();
0x00002b70 movs r2, 0 | r2 = 0;
0x00002b72 movs r1, 0 | r1 = 0;
0x00002b74 movs r0, 0 | r0 = 0;
0x00002b76 add r4, pc | r4 = 0x5b86;
0x00002b78 blx 0x1d44 | OPENSSL_init_ssl ();
0x00002b7c ldr.w r3, [pc, 0x490] | r3 = *(0x3010);
0x00002b80 movs r1, 0 | r1 = 0;
0x00002b82 ldr.w r6, [sb, r3] | r6 = *((sb + r3));
0x00002b86 ldr r0, [r6] | r0 = *(r6);
0x00002b88 blx 0x1fdc | fcn_00001fdc ();
0x00002b8c ldr.w r3, [pc, 0x448] | r3 = *(0x2fd8);
0x00002b90 movs r1, 0 | r1 = 0;
0x00002b92 str.w r0, [r4, 0x4a8] | __asm ("str.w r0, [r4, 0x4a8]");
0x00002b96 ldr.w r3, [sb, r3] | r3 = *((sb + r3));
0x00002b9a ldr r0, [r3] | r0 = *(0x2fd8);
0x00002b9c str r3, [sp, 0x4c] | *(arg_4ch) = r3;
0x00002b9e blx 0x1fdc | fcn_00001fdc ();
0x00002ba2 str.w r0, [r4, 0x490] | __asm ("str.w r0, [r4, 0x490]");
0x00002ba6 ldr r0, [sp, 0x3c] | r0 = *(arg_3ch);
0x00002ba8 blx 0x1f30 | apr_pool_create_ex ();
0x00002baa strd pc, r8, [r2, 0x310] | __asm ("strd pc, r8, [r2, 0x310]");
0x00002bae lsls r0, r0, 0x13 | r0 <<= 0x13;
0x00002bb0 cmp r0, 0 |
| if (r0 == 0) {
0x00002bb2 beq.w 0x3b16 | goto label_58;
| }
0x00002bb6 movw r1, 0x854 |
0x00002bba movt r1, 0x8000 | r1 = 0x80000854;
0x00002bbe blx 0x1c84 | SSL_CTX_set_options ();
0x00002bc2 ldr r2, [sp, 0x34] | r2 = *(arg_34h);
0x00002bc4 movs r3, 0 | r3 = 0;
0x00002bc6 movs r1, 0x7c | r1 = 0x7c;
0x00002bc8 ldr.w r0, [r4, 0x4c0] | r0 = *((r4 + 0x4c0));
0x00002bcc blx 0x20d8 | fcn_000020d8 ();
0x00002bd0 ldr r5, [sp, 0x38] | r5 = *(arg_38h);
0x00002bd2 movs r3, 0 | r3 = 0;
0x00002bd4 movs r1, 0x7b | r1 = 0x7b;
0x00002bd6 ldr.w r0, [r4, 0x4c0] | r0 = *((r4 + 0x4c0));
0x00002bda mov r2, r5 | r2 = r5;
0x00002bdc blx 0x20d8 | fcn_000020d8 ();
0x00002be0 movs r1, 0x21 | r1 = 0x21;
0x00002be2 ldr.w r0, [r4, 0x4c0] | r0 = *((r4 + 0x4c0));
0x00002be6 movs r3, 0 | r3 = 0;
0x00002be8 movs r2, 0x10 | r2 = 0x10;
0x00002bea blx 0x20d8 | fcn_000020d8 ();
0x00002bee ldr.w r1, [r4, 0x514] | r1 = *((r4 + 0x514));
| if (r1 != 0) {
0x00002bf2 cbz r1, 0x2c0a |
0x00002bf4 cmp.w r5, 0x304 |
0x00002bf8 ldr.w r0, [r4, 0x4c0] | r0 = *((r4 + 0x4c0));
| if (r5 != 0x304) {
0x00002bfc bne.w 0x37ae | goto label_59;
| }
0x00002c00 blx 0x2048 | r0 = fcn_00002048 ();
| label_16:
0x00002c04 cmp r0, 0 |
| if (r0 == 0) {
0x00002c06 beq.w 0x3b30 | goto label_60;
| }
| }
0x00002c0a ldr.w r3, [pc, 0x408] |
0x00002c0e add r3, pc | r3 = 0x5c28;
0x00002c10 ldr.w r2, [r3, 0x4a4] | r2 = *(0x60cc);
0x00002c14 cmp r2, 2 |
| if (r2 > 2) {
0x00002c16 bgt.w 0x3870 | goto label_61;
| }
| label_21:
0x00002c1a ldr r4, [pc, 0x3fc] |
0x00002c1c add r4, pc | r4 = 0x5c3a;
0x00002c1e ldr.w r1, [r4, 0x518] | r1 = *(0x6152);
| if (r1 != 0) {
0x00002c22 cbz r1, 0x2c54 |
0x00002c24 ldr.w r0, [r4, 0x4c0] | r0 = *((r4 + 0x4c0));
0x00002c28 blx 0x2258 | r0 = fcn_00002258 ();
0x00002c2c cmp r0, 0 |
| if (r0 <= 0) {
0x00002c2e ble.w 0x3baa | goto label_62;
| }
0x00002c32 ldr.w r1, [r4, 0x518] | r1 = *((r4 + 0x518));
0x00002c36 movs r2, 1 | r2 = 1;
0x00002c38 ldr.w r0, [r4, 0x4c0] | r0 = *((r4 + 0x4c0));
0x00002c3c blx 0x1fc4 | r0 = fcn_00001fc4 ();
0x00002c40 cmp r0, 0 |
| if (r0 <= 0) {
0x00002c42 ble.w 0x3ba0 | goto label_63;
| }
0x00002c46 ldr.w r0, [r4, 0x4c0] | r0 = *((r4 + 0x4c0));
0x00002c4a blx 0x2090 | r0 = fcn_00002090 ();
0x00002c4e cmp r0, 0 |
| if (r0 == 0) {
0x00002c50 beq.w 0x3bb4 | goto label_64;
| }
| }
0x00002c54 ldr r4, [pc, 0x3c4] |
0x00002c56 movs r1, 1 | r1 = 1;
0x00002c58 movs r0, 0xd | r0 = 0xd;
0x00002c5a blx 0x212c | fcn_0000212c ();
0x00002c5e add r4, pc | r4 = 0x5c7e;
0x00002c60 bl 0x566c | fcn_0000566c ();
0x00002c64 ldr.w r3, [r4, 0x510] | r3 = *(0x618e);
0x00002c68 cmp r3, 0 |
| if (r3 == 0) {
0x00002c6a beq.w 0x3796 | goto label_65;
| }
0x00002c6e ldr.w r1, [r4, 0x4f0] | r1 = *((r4 + 0x4f0));
0x00002c72 ldr.w r0, [r4, 0x498] | r0 = *((r4 + 0x498));
0x00002c76 blx 0x1ec4 | SSL_ctrl ();
0x00002c7a ldrh.w r3, [r4, 0x50c] | r3 = *((r4 + 0x50c));
0x00002c7e str.w r0, [r4, 0x528] | __asm ("str.w r0, [r4, 0x528]");
| label_15:
0x00002c82 ldr r4, [pc, 0x39c] |
0x00002c84 add r4, pc | r4 = 0x5caa;
0x00002c86 strh.w r3, [r4, 0x52c] | *((r4 + 0x52c)) = r3;
0x00002c8a ldr.w r3, [r4, 0x48c] | r3 = *(0x6136);
0x00002c8e cmp r3, 0 |
| if (r3 == 0) {
0x00002c90 beq.w 0x382e | goto label_66;
| }
| label_20:
0x00002c94 ldr r6, [pc, 0x38c] |
0x00002c96 movw r1, 0x2070 | r1 = 0x2070;
0x00002c9a ldr r4, [pc, 0x38c] |
0x00002c9c add r6, pc | r6 = 0x5cc4;
0x00002c9e add r4, pc | r4 = 0x5ccc;
0x00002ca0 ldr r0, [r6] | r0 = *(0x5cc4);
0x00002ca2 bl 0x432c | fcn_0000432c (r0, r1);
0x00002ca6 movs r1, 0x20 | r1 = 0x20;
0x00002ca8 str.w r0, [r4, 0x4d8] | __asm ("str.w r0, [r4, 0x4d8]");
0x00002cac ldr r0, [r6, 0x34] | r0 = *(0x5cf8);
0x00002cae bl 0x432c | fcn_0000432c (r0, r1);
0x00002cb2 ldr r1, [r6] | r1 = *(0x5cc4);
0x00002cb4 movs r3, 2 | r3 = 2;
0x00002cb6 str.w r0, [r4, 0x480] | __asm ("str.w r0, [r4, 0x480]");
0x00002cba addw r0, r4, 0x494 | __asm ("addw r0, r4, 0x494");
0x00002cbe ldr.w r2, [r4, 0x498] | r2 = *(0x6164);
0x00002cc2 blx 0x1ee8 | r0 = SSL_SESSION_print ();
0x00002cc6 mov r6, r0 | r6 = r0;
0x00002cc8 cmp r0, 0 |
| if (r0 != 0) {
0x00002cca bne.w 0x3b8e | goto label_67;
| }
0x00002cce ldr.w r3, [r4, 0x500] | r3 = *((r4 + 0x500));
0x00002cd2 cmp r3, 0 |
| if (r3 == 0) {
0x00002cd4 beq.w 0x3a22 | goto label_68;
| }
| label_31:
0x00002cd8 ldr r3, [pc, 0x350] |
0x00002cda add r3, pc | r3 = 0x5d0a;
0x00002cdc ldr.w r2, [r3, 0x420] | r2 = *(0x612a);
| if (r2 != 0) {
0x00002ce0 cbz r2, 0x2d12 |
0x00002ce2 ldr r2, [pc, 0x34c] |
0x00002ce4 add r2, pc |
0x00002ce6 ldr r2, [r2, 0x48] | r2 = *(0x5d62);
| if (r2 == 0) {
0x00002ce8 cbz r2, 0x2d12 | goto label_35;
| }
0x00002cea ldr.w r2, [r3, 0x500] | r2 = *((r3 + 0x500));
0x00002cee str.w r2, [r3, 0x42c] | __asm ("str.w r2, [r3, 0x42c]");
0x00002cf2 cmp r2, 0 |
| if (r2 == 0) {
0x00002cf4 beq.w 0x3a7c | goto label_69;
| }
| label_36:
0x00002cf8 ldr r3, [pc, 0x338] |
0x00002cfa add r3, pc | r3 = 0x5d32;
0x00002cfc ldr.w r1, [r3, 0x42c] | r1 = *(0x615e);
0x00002d00 ldrb r2, [r1] | r2 = *(r1);
0x00002d02 cmp r2, 0 |
| if (r2 != 0) {
0x00002d04 bne.w 0x3a66 | goto label_70;
| }
| label_34:
0x00002d08 ldr r3, [pc, 0x32c] |
0x00002d0a movs r2, 0 | r2 = 0;
0x00002d0c add r3, pc | r3 = 0x5d48;
0x00002d0e str.w r2, [r3, 0x42c] | __asm ("str.w r2, [r3, 0x42c]");
| }
| label_35:
0x00002d12 ldr r4, [pc, 0x328] |
0x00002d14 add r4, pc | r4 = 0x5d56;
0x00002d16 ldr.w r3, [r4, 0x508] | r3 = *(0x625e);
0x00002d1a cmp r3, 0 |
| if (r3 == 0) {
0x00002d1c beq.w 0x3804 | goto label_71;
| }
| label_19:
0x00002d20 ldr r4, [pc, 0x31c] |
0x00002d22 add r4, pc | r4 = 0x5d66;
0x00002d24 ldr.w r3, [r4, 0x504] | r3 = *(0x626a);
0x00002d28 cmp r3, 0 |
| if (r3 == 0) {
0x00002d2a beq.w 0x37ea | goto label_72;
| }
| label_18:
0x00002d2e ldr r2, [pc, 0x314] |
0x00002d30 ldr r3, [pc, 0x314] |
0x00002d32 add r2, pc | r2 = 0x5d7c;
0x00002d34 ldr.w r1, [r2, 0x4d0] | r1 = *(0x624c);
0x00002d38 add r3, pc |
0x00002d3a ldr r0, [r3] | r0 = *(0x5d84);
0x00002d3c ldr.w r4, [r2, 0x510] | r4 = *(0x628c);
0x00002d40 add.w r3, r3, r1, lsl 2 |
0x00002d44 ldr.w r1, [r2, 0x468] | r1 = *(0x61e4);
0x00002d48 ldr r3, [r3, 8] | r3 = *(0x5d8c);
0x00002d4a cmp r1, 0 |
| if (r1 != 0) {
0x00002d4c bne.w 0x372e | goto label_73;
| }
0x00002d50 cmp r4, 0 |
| if (r4 == 0) {
0x00002d52 beq.w 0x3890 | goto label_74;
| }
0x00002d56 ldr.w r2, [r2, 0x51c] | r2 = *((r2 + 0x51c));
| label_24:
0x00002d5a ldr r1, [pc, 0x2f0] |
0x00002d5c add r1, pc |
0x00002d5e ldr.w r1, [r1, 0x458] | r1 = *(0x6206);
0x00002d62 cmp r1, 0 |
| if (r1 == 0) {
0x00002d64 beq.w 0x3888 | goto label_75;
| }
0x00002d68 ldr r1, [pc, 0x2e4] |
0x00002d6a add r1, pc | r1 = 0x5dbe;
| label_23:
0x00002d6c ldr r7, [pc, 0x2e4] |
0x00002d6e strd r2, r1, [sp] | __asm ("strd r2, r1, [sp]");
0x00002d72 mov.w r1, 0x2000 | r1 = fcn.00002000;
0x00002d76 ldr r2, [pc, 0x2e0] |
0x00002d78 add r7, pc | r7 = 0x5dd0;
0x00002d7a ldr.w r4, [r7, 0x4f4] | r4 = *(0x62c4);
0x00002d7e add r2, pc | r2 = 0x5ddc;
0x00002d80 str r4, [sp, 0x10] | *(arg_10h) = r4;
0x00002d82 ldr.w r4, [r7, 0x4ec] | r4 = *(0x62bc);
0x00002d86 str r4, [sp, 0xc] | *(arg_ch) = r4;
0x00002d88 ldr.w r4, [r7, 0x4e8] | r4 = *(0x62b8);
0x00002d8c str r4, [sp, 8] | *(arg_8h) = r4;
0x00002d8e blx 0x20a8 | r0 = fcn_000020a8 ();
0x00002d92 mov r3, r0 | r3 = r0;
| label_14:
0x00002d94 cmp.w r3, 0x2000 |
| if (r3 >= fcn.00002000) {
0x00002d98 bhs.w 0x3adc | goto label_76;
| }
0x00002d9c ldr r3, [pc, 0x2bc] |
0x00002d9e add r3, pc | r3 = 0x5dfe;
0x00002da0 ldr.w r2, [r3, 0x4a4] | r2 = *(0x62a2);
0x00002da4 cmp r2, 1 |
| if (r2 > 1) {
0x00002da6 ble 0x2dc4 |
0x00002da8 ldr.w r1, [r3, 0x4d0] | r1 = *((r3 + 0x4d0));
0x00002dac movs r0, 1 | r0 = 1;
0x00002dae ldr r2, [pc, 0x2b0] |
0x00002db0 add r2, pc | r2 = 0x5e16;
0x00002db2 mov r3, r2 | r3 = r2;
0x00002db4 add.w r2, r2, r1, lsl 2 | r2 += (r1 << 2);
0x00002db8 ldr r1, [pc, 0x2a8] |
0x00002dba ldr r3, [r3] | r3 = *(r3);
0x00002dbc ldr r2, [r2, 8] | r2 = *((r2 + 8));
0x00002dbe add r1, pc | r1 = 0x5e26;
0x00002dc0 blx 0x2288 | fcn_00002288 ();
| }
0x00002dc4 ldr r7, [pc, 0x2a0] |
0x00002dc6 ldr.w sb, [pc, 0x2a4] |
0x00002dca add r7, pc | r7 = 0x5e36;
0x00002dcc ldr.w r8, [r7] | r8 = *(0x5e36);
0x00002dd0 add sb, pc | sb = 0x5e42;
0x00002dd2 mov r0, r8 | r0 = r8;
0x00002dd4 blx 0x209c | fcn_0000209c ();
0x00002dd8 ldr.w r3, [sb, 0x468] | r3 = *(0x62aa);
0x00002ddc mov r4, r0 | r4 = r0;
0x00002dde str.w r0, [sb, 0x4c8] | __asm ("str.w r0, [sb, 0x4c8]");
0x00002de2 cmp r3, 0 |
| if (r3 != 0) {
0x00002de4 bne.w 0x37b6 | goto label_77;
| }
| label_17:
0x00002de8 ldr r4, [pc, 0x284] |
0x00002dea add r4, pc | r4 = 0x5e5e;
0x00002dec ldr.w r1, [r4, 0x4b4] | r1 = *(0x6312);
0x00002df0 ldr.w r3, [r4, 0x498] | r3 = *(0x62f6);
0x00002df4 cmp r1, 0 |
| if (r1 == 0) {
0x00002df6 beq.w 0x3880 | goto label_78;
| }
0x00002dfa str r3, [sp, 4] | var_4h = r3;
0x00002dfc movs r3, 0 | r3 = 0;
0x00002dfe mov r2, r3 | r2 = r3;
0x00002e00 add.w r0, r4, 0x4b8 | r0 = r4 + 0x4b8;
0x00002e04 str r3, [sp] | *(sp) = r3;
0x00002e06 blx 0x2228 | r0 = fcn_00002228 ();
0x00002e0a mov r6, r0 | r6 = r0;
0x00002e0c cmp r0, 0 |
| if (r0 != 0) {
0x00002e0e bne.w 0x3b84 | goto label_79;
| }
0x00002e12 ldr.w r3, [r4, 0x4b4] | r3 = *((r4 + 0x4b4));
0x00002e16 ldr.w r1, [r4, 0x528] | r1 = *((r4 + 0x528));
| if (r3 != 0) {
0x00002e1a cbz r3, 0x2e22 |
0x00002e1c ldr.w r3, [r4, 0x4b8] | r3 = *((r4 + 0x4b8));
0x00002e20 ldr r6, [r3, 0x10] | r6 = *((r3 + 0x10));
| }
| label_22:
0x00002e22 ldr r4, [pc, 0x250] |
0x00002e24 movs r3, 0 | r3 = 0;
0x00002e26 str r3, [sp] | *(sp) = r3;
0x00002e28 mov r2, r6 | r2 = r6;
0x00002e2a add r4, pc | r4 = 0x5ea4;
0x00002e2c ldr.w r0, [r4, 0x498] | r0 = *(0x633c);
0x00002e30 ldrh.w r3, [r4, 0x52c] | r3 = *((r4 + 0x52c));
0x00002e34 str r0, [sp, 4] | var_4h = r0;
0x00002e36 add.w r0, r4, 0x4b0 | r0 = r4 + 0x4b0;
0x00002e3a blx 0x2228 | r0 = fcn_00002228 ();
0x00002e3e mov r6, r0 | r6 = r0;
0x00002e40 cmp r0, 0 |
| if (r0 != 0) {
0x00002e42 bne.w 0x3b6a | goto label_80;
| }
0x00002e46 blx 0x1ce4 | apr_time_now ();
0x00002e4a ldr.w r3, [r4, 0x4f8] | r3 = *((r4 + 0x4f8));
0x00002e4e strd r0, r1, [r4, 8] | __asm ("strd r0, r1, [r4, 8]");
0x00002e52 strd r0, r1, [r4, 0x10] | __asm ("strd r0, r1, [r4, 0x10]");
0x00002e56 cmp r3, 0 |
| if (r3 == 0) {
0x00002e58 beq.w 0x371e | goto label_81;
| }
0x00002e5c movw r2, 0x4240 |
0x00002e60 movt r2, 0xf | r2 = 0xf4240;
0x00002e64 smlal r0, r1, r3, r2 | __asm ("smlal r0, r1, r3, r2");
0x00002e66 lsls r2, r0, 4 | r2 = r0 << 4;
0x00002e68 mov r4, r1 | r4 = r1;
0x00002e6a str r0, [sp, 0x48] | *(arg_48h) = r0;
| label_12:
0x00002e6c ldr r1, [pc, 0x208] |
0x00002e6e movs r0, 2 | r0 = 2;
0x00002e70 ldr.w r8, [pc, 0x208] |
0x00002e74 add r7, sp, 0x64 | r7 += arg_64h;
0x00002e76 mov fp, r4 |
0x00002e78 add r1, pc | r1 = 0x5ef4;
0x00002e7a blx 0x212c | fcn_0000212c ();
0x00002e7e ldr r3, [pc, 0x200] |
0x00002e80 movs r2, 0 | r2 = 0;
0x00002e82 add r8, pc | r8 = 0x5f02;
0x00002e84 add r3, pc | r3 = 0x5f0a;
0x00002e86 ldr.w r0, [r3, 0x4d8] | r0 = *(0x63e2);
0x00002e8a ldr r3, [pc, 0x1f8] |
0x00002e8c add r3, pc | r3 = 0x5f16;
0x00002e8e str r3, [sp, 0x40] | *(arg_40h) = r3;
0x00002e90 ldr r3, [pc, 0x1f4] |
0x00002e92 add r3, pc | r3 = 0x5f1e;
0x00002e94 str r3, [sp, 0x44] | *(arg_44h) = r3;
0x00002e96 add.w r3, r0, 0x2000 | r3 = r0 + fcn.00002000;
0x00002e9a str r2, [r3, 0x68] | *((r3 + 0x68)) = r2;
0x00002e9c bl 0x5e90 | fcn_00005e90 (r0, r1, r2, r3, r4);
| label_4:
0x00002ea0 ldr r5, [pc, 0x1e8] |
0x00002ea2 mov r4, sl | r4 = sl;
0x00002ea4 ldr.w r3, [r8] | r3 = *(r8);
0x00002ea8 add r5, pc | r5 = 0x5f38;
0x00002eaa str r3, [r7] | *(r7) = r3;
| do {
0x00002eac strd r7, r4, [sp] | __asm ("strd r7, r4, [sp]");
0x00002eb0 ldrd r2, r3, [r8, 0x40] | __asm ("ldrd r2, r3, [r8, 0x40]");
0x00002eb4 ldr.w r0, [r5, 0x494] | r0 = *((r5 + 0x494));
0x00002eb8 blx 0x1cb4 | r0 = apr_pollset_poll ();
0x00002ebc cmp r0, 4 |
0x00002ebe beq 0x2eac |
| } while (r0 == 4);
0x00002ec0 mov sl, r4 | sl = r4;
0x00002ec2 mov r4, r0 | r4 = r0;
0x00002ec4 cmp r0, 0 |
| if (r0 != 0) {
0x00002ec6 bne.w 0x3b60 | goto label_82;
| }
0x00002eca ldr r3, [r7] | r3 = *(r7);
0x00002ecc ldr.w r6, [sl] | r6 = *(sl);
0x00002ed0 cmp r3, 0 |
| if (r3 <= 0) {
0x00002ed2 ble.w 0x311e | goto label_83;
| }
0x00002ed6 ldr.w sb, [pc, 0x1b8] |
0x00002eda strd r8, sl, [sp, 0x34] | __asm ("strd r8, sl, [sp, 0x34]");
0x00002ede add sb, pc | sb = 0x5f74;
0x00002ee0 b 0x30e8 | goto label_3;
| label_2:
0x00003094 tst.w sl, 0x23 |
| if ((sl & 0x23) != 0) {
0x00003098 beq 0x30a0 |
0x0000309a mov r0, r5 | r0 = r5;
0x0000309c bl 0x659c | fcn_0000659c (r0, r1, r2, r3, r4, r5, r6);
| }
0x000030a0 ands r8, sl, 0x50 | r8 = sl & 0x50;
| if (r8 != sl) {
0x000030a4 bne.w 0x35fe | goto label_84;
| }
0x000030a8 tst.w sl, 4 |
| if ((sl & 4) == 0) {
0x000030ac beq 0x30de | goto label_6;
| }
0x000030ae ldr.w sl, [r5, 0x1c] | sl = *((r5 + 0x1c));
0x000030b2 cmp.w sl, 1 |
| if (sl == 1) {
0x000030b6 beq.w 0x3654 | goto label_85;
| }
0x000030ba movs r1, 1 | r1 = 1;
0x000030bc mov r0, r5 | r0 = r5;
0x000030be bl 0x57f8 | fcn_000057f8 (r0, r1);
0x000030c2 ldr r3, [r5, 0x1c] | r3 = *((r5 + 0x1c));
0x000030c4 cmp r3, 3 |
| if (r3 == 3) {
0x000030c6 beq.w 0x364c | goto label_86;
| }
0x000030ca ldr r3, [sp, 0x40] | r3 = *(arg_40h);
0x000030cc ldr.w r2, [r3, 0x4ac] | r2 = *((r3 + 0x4ac));
0x000030d0 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x000030d2 ldr r3, [r3, 0x34] | r3 = *((r3 + 0x34));
0x000030d4 cmp r2, r3 |
| if (r2 >= r3) {
0x000030d6 bge 0x30de | goto label_6;
| }
| label_9:
0x000030d8 mov r0, r5 | r0 = r5;
0x000030da bl 0x63a0 | fcn_000063a0 (r0);
| do {
| label_6:
0x000030de ldr r3, [r7] | r3 = *(r7);
0x000030e0 adds r4, 1 | r4++;
0x000030e2 adds r6, 0x14 | r6 += 0x14;
0x000030e4 cmp r4, r3 |
| if (r4 >= r3) {
0x000030e6 bge 0x311a | goto label_87;
| }
| label_3:
0x000030e8 ldr r5, [r6, 0x10] | r5 = *((r6 + 0x10));
0x000030ea ldr r2, [r5, 0x1c] | r2 = *((r5 + 0x1c));
0x000030ec cmp r2, 0 |
0x000030ee beq 0x30de |
| } while (r2 == 0);
0x000030f0 cmp r2, 2 |
0x000030f2 ldrsh.w sl, [r6, 0xa] | sl = *((r6 + 0xa));
| if (r2 != 2) {
0x000030f6 bne 0x3094 | goto label_2;
| }
0x000030f8 add.w r2, r5, 0x2000 | r2 = r5 + fcn.00002000;
0x000030fc ldr r0, [r2, 0x6c] | r0 = *((r2 + 0x6c));
0x000030fe cmp r0, 0 |
| if (r0 == 0) {
0x00003100 beq 0x3094 | goto label_2;
| }
0x00003102 blx 0x1dd0 | r0 = fcn_00001dd0 ();
0x00003106 cmp r0, 0 |
| if (r0 == 0) {
0x00003108 beq 0x3094 | goto label_2;
| }
| label_8:
0x0000310a mov r0, r5 | r0 = r5;
0x0000310c adds r4, 1 | r4++;
0x0000310e bl 0x5a64 | fcn_00005a64 (r0);
0x00003112 ldr r3, [r7] | r3 = *(r7);
0x00003114 adds r6, 0x14 | r6 += 0x14;
0x00003116 cmp r4, r3 |
| if (r4 < r3) {
0x00003118 blt 0x30e8 | goto label_3;
| }
| label_87:
0x0000311a ldrd r8, sl, [sp, 0x34] | __asm ("ldrd r8, sl, [arg_34h]");
| label_83:
0x0000311e ldr r3, [pc, 0x3d0] |
0x00003120 ldr r0, [sp, 0x48] | r0 = *(arg_48h);
0x00003122 add r3, pc | r3 = 0x6618;
0x00003124 ldrd r1, r2, [r3, 8] | __asm ("ldrd r1, r2, [r3, 8]");
0x00003128 cmp r1, r0 |
0x0000312a sbcs.w r2, r2, fp | __asm ("sbcs.w r2, r2, fp");
| if (r1 >= r0) {
0x0000312e bge 0x313e | goto label_88;
| }
0x00003130 ldr r2, [pc, 0x3c0] |
0x00003132 ldr r1, [r3] | r1 = *(r3);
0x00003134 add r2, pc | r2 = 0x662c;
0x00003136 ldr r3, [r2, 0x34] | r3 = *(0x6660);
0x00003138 cmp r1, r3 |
| if (r1 < r3) {
| label_13:
0x0000313a blt.w 0x2ea0 | goto label_4;
| }
| label_88:
0x0000313e ldr r3, [pc, 0x3b8] |
0x00003140 add r3, pc |
0x00003142 ldr r3, [r3, 0x38] | r3 = *(0x6676);
0x00003144 cmp r3, 0 |
| if (r3 == 0) {
0x00003146 beq.w 0x3712 | goto label_89;
| }
0x0000314a ldr r3, [pc, 0x3b0] |
0x0000314c ldr r1, [sp, 0x4c] | r1 = *(arg_4ch);
0x0000314e ldr r2, [pc, 0x3b0] |
0x00003150 add r3, pc |
0x00003152 ldr r0, [r1] | r0 = *(r1);
0x00003154 movs r1, 1 | r1 = 1;
0x00003156 ldr r3, [r3] | r3 = *(0x6652);
0x00003158 add r2, pc | r2 = 0x665e;
0x0000315a blx 0x1da8 | fcn_00001da8 ();
| label_11:
0x0000315e ldr r4, [pc, 0x3a4] |
0x00003160 add r4, pc | r4 = 0x666a;
0x00003162 ldr.w r0, [r4, 0x48c] | r0 = *(0x6af6);
0x00003166 cmp r0, 0 |
| if (r0 == 0) {
0x00003168 beq.w 0x370c | goto label_90;
| }
0x0000316c ldrd r2, r1, [r4, 0xc] | __asm ("ldrd r2, r1, [r4, 0xc]");
0x00003170 ldr r3, [r4, 8] | r3 = *((r4 + 8));
0x00003172 ldr r5, [r4, 0x14] | r5 = *((r4 + 0x14));
0x00003174 subs r0, r3, r1 | r0 = r3 - r1;
0x00003176 sbc.w r1, r2, r5 | __asm ("sbc.w r1, r2, r5");
0x0000317a bl 0x7334 | fcn_00007334 (r0, r1, r2);
0x0000317e vldr d16, [pc, 0x368] | __asm ("vldr d16, [0x000034ec]");
0x00003182 vmov d17, r0, r1 | __asm ("vmov d17, r0, r1");
0x00003186 movs r0, 1 | r0 = 1;
0x00003188 ldr r1, [pc, 0x37c] |
0x0000318a ldr.w r2, [r4, 0x4dc] | r2 = *((r4 + 0x4dc));
0x0000318e vdiv.f64 d8, d17, d16 | __asm ("vdiv.f64 d8, d17, d16");
0x00003192 add r1, pc | r1 = 0x669e;
0x00003194 blx 0x2288 | fcn_00002288 ();
0x00003198 ldr.w r3, [r4, 0x4e4] | r3 = *((r4 + 0x4e4));
0x0000319c add.w r0, r4, 0x18 | r0 = r4 + 0x18;
0x000031a0 ldr r1, [pc, 0x368] |
0x000031a2 ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x000031a6 strd r3, r0, [sp] | __asm ("strd r3, r0, [sp]");
0x000031aa movs r0, 1 | r0 = 1;
0x000031ac add r1, pc | r1 = 0x66bc;
0x000031ae blx 0x2288 | fcn_00002288 ();
0x000031b2 ldr.w r3, [r4, 0x4e4] | r3 = *((r4 + 0x4e4));
0x000031b6 ldr.w r0, [r4, 0x418] | r0 = *((r4 + 0x418));
0x000031ba ldr r1, [pc, 0x354] |
0x000031bc ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x000031c0 strd r3, r0, [sp] | __asm ("strd r3, r0, [sp]");
0x000031c4 movs r0, 1 | r0 = 1;
0x000031c6 add r1, pc | r1 = 0x66dc;
0x000031c8 blx 0x2288 | fcn_00002288 ();
0x000031cc ldr.w r3, [r4, 0x4e4] | r3 = *((r4 + 0x4e4));
0x000031d0 ldrh.w r0, [r4, 0x41c] | r0 = *((r4 + 0x41c));
0x000031d4 ldr r1, [pc, 0x33c] |
0x000031d6 ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x000031da strd r3, r0, [sp] | __asm ("strd r3, r0, [sp]");
0x000031de movs r0, 1 | r0 = 1;
0x000031e0 add r1, pc | r1 = 0x66f8;
0x000031e2 blx 0x2288 | fcn_00002288 ();
0x000031e6 ldr.w r3, [r4, 0x4e4] | r3 = *((r4 + 0x4e4));
0x000031ea ldr.w r0, [r4, 0x430] | r0 = *((r4 + 0x430));
0x000031ee ldr r1, [pc, 0x328] |
0x000031f0 ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x000031f4 strd r3, r0, [sp] | __asm ("strd r3, r0, [sp]");
0x000031f8 movs r0, 1 | r0 = 1;
0x000031fa add r1, pc | r1 = 0x6718;
0x000031fc blx 0x2288 | fcn_00002288 ();
0x00003200 ldr.w r3, [r4, 0x434] | r3 = *((r4 + 0x434));
0x00003204 cmp r3, 0 |
| if (r3 == 0) {
0x00003206 beq.w 0x38a4 | goto label_91;
| }
0x0000320a ldr.w r3, [r4, 0x4e4] | r3 = *((r4 + 0x4e4));
0x0000320e movs r0, 1 | r0 = 1;
0x00003210 ldr r1, [pc, 0x308] |
0x00003212 ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x00003216 str r3, [sp] | *(sp) = r3;
0x00003218 add r1, pc | r1 = 0x6738;
0x0000321a blx 0x2288 | fcn_00002288 ();
| label_26:
0x0000321e ldr r4, [pc, 0x300] |
0x00003220 movs r0, 1 | r0 = 1;
0x00003222 ldr r2, [pc, 0x300] |
0x00003224 ldr r1, [pc, 0x300] |
0x00003226 add r4, pc | r4 = 0x674c;
0x00003228 add r2, pc |
0x0000322a ldr.w r3, [r4, 0x4e4] | r3 = *(0x6c30);
0x0000322e ldr r2, [r2] | r2 = *(0x6752);
0x00003230 add r1, pc | r1 = 0x675c;
0x00003232 strd r3, r2, [sp] | __asm ("strd r3, r2, [sp]");
0x00003236 ldr.w r2, [r4, 0x4e0] | r2 = *(0x6c2c);
0x0000323a blx 0x2288 | fcn_00002288 ();
0x0000323e ldr.w r3, [r4, 0x4e4] | r3 = *(0x6c30);
0x00003242 movs r0, 1 | r0 = 1;
0x00003244 ldr r1, [pc, 0x2e4] |
0x00003246 ldr.w r2, [r4, 0x4e0] | r2 = *(0x6c2c);
0x0000324a str r3, [sp] | *(sp) = r3;
0x0000324c add r1, pc | r1 = 0x677c;
0x0000324e vstr d8, [sp, 8] | __asm ("vstr d8, [sp, 8]");
0x00003252 blx 0x2288 | fcn_00002288 ();
0x00003256 ldr.w r3, [r4, 0x4e4] | r3 = *(0x6c30);
0x0000325a ldr r0, [r4] | r0 = *(0x674c);
0x0000325c ldr r1, [pc, 0x2d0] |
0x0000325e ldr.w r2, [r4, 0x4e0] | r2 = *(0x6c2c);
0x00003262 strd r3, r0, [sp] | __asm ("strd r3, r0, [sp]");
0x00003266 movs r0, 1 | r0 = 1;
0x00003268 add r1, pc | r1 = 0x679c;
0x0000326a blx 0x2288 | fcn_00002288 ();
0x0000326e ldr.w r3, [r4, 0x4e4] | r3 = *(0x6c30);
0x00003272 ldr.w r0, [r4, 0x43c] | r0 = *(0x6b88);
0x00003276 ldr r1, [pc, 0x2bc] |
0x00003278 ldr.w r2, [r4, 0x4e0] | r2 = *(0x6c2c);
0x0000327c strd r3, r0, [sp] | __asm ("strd r3, r0, [sp]");
0x00003280 movs r0, 1 | r0 = 1;
0x00003282 add r1, pc | r1 = 0x67bc;
0x00003284 blx 0x2288 | fcn_00002288 ();
0x00003288 ldr.w r3, [r4, 0x43c] | r3 = *(0x6b88);
0x0000328c cmp r3, 0 |
| if (r3 != 0) {
0x0000328e bne.w 0x39c2 | goto label_92;
| }
| label_29:
0x00003292 ldr r2, [pc, 0x2a4] |
0x00003294 add r2, pc | r2 = 0x67d2;
0x00003296 ldr.w r4, [r2, 0x454] | r4 = *(0x6c26);
0x0000329a cmp r4, 0 |
| if (r4 != 0) {
0x0000329c bne.w 0x3a04 | goto label_93;
| }
0x000032a0 ldr r2, [pc, 0x298] |
0x000032a2 add r2, pc | r2 = 0x67e2;
0x000032a4 ldr.w r3, [r2, 0x458] | r3 = *(0x6c3a);
0x000032a8 cmp r3, 0 |
| if (r3 != 0) {
0x000032aa bne.w 0x39e8 | goto label_94;
| }
0x000032ae ldr r4, [pc, 0x290] |
0x000032b0 movs r0, 1 | r0 = 1;
0x000032b2 ldr r1, [pc, 0x290] |
0x000032b4 add r4, pc | r4 = 0x67fa;
0x000032b6 ldr.w r3, [r4, 0x4e4] | r3 = *(0x6cde);
0x000032ba add.w r2, r4, 0x460 | r2 = r4 + 0x460;
0x000032be add r1, pc | r1 = 0x6808;
0x000032c0 str r3, [sp] | *(sp) = r3;
0x000032c2 ldrd r6, r7, [r2] | __asm ("ldrd r6, r7, [r2]");
0x000032c4 str r0, [r0, 0x70] | *((r0 + 0x70)) = r0;
0x000032c6 strd r6, r7, [sp, 8] | __asm ("strd r6, r7, [sp, 8]");
0x000032ca ldr.w r2, [r4, 0x4e0] | r2 = *(0x6cda);
0x000032ce blx 0x2288 | fcn_00002288 ();
0x000032d2 ldr.w r3, [r4, 0x468] | r3 = *(0x6c62);
0x000032d6 cmp r3, 0 |
| if (r3 != 0) {
0x000032d8 bne.w 0x39a0 | goto label_95;
| }
| label_28:
0x000032dc ldr r4, [pc, 0x268] |
0x000032de movs r0, 1 | r0 = 1;
0x000032e0 ldr r1, [pc, 0x268] |
0x000032e2 add r4, pc | r4 = 0x682e;
0x000032e4 ldr.w r3, [r4, 0x4e4] | r3 = *(0x6d12);
0x000032e8 add.w r2, r4, 0x480 | r2 = r4 + 0x480;
0x000032ec add r1, pc | r1 = 0x683c;
0x000032ee str r3, [sp] | *(sp) = r3;
0x000032f0 ldrd r6, r7, [r2, -0x8] | __asm ("ldrd r6, r7, [r2, -0x8]");
0x000032f4 strd r6, r7, [sp, 8] | __asm ("strd r6, r7, [sp, 8]");
0x000032f8 ldr.w r2, [r4, 0x4e0] | r2 = *(0x6d0e);
0x000032fc blx 0x2288 | fcn_00002288 ();
0x00003300 vcmp.f64 d8, 0 | __asm ("vcmp.f64 d8, 0");
0x00003302 ldrh r0, [r0, 0x1a] | r0 = *((r0 + 0x1a));
0x00003304 vmrs apsr_nzcv, fpscr | __asm ("vmrs apsr_nzcv, fpscr");
| if (r0 != 1) {
0x00003308 bne.w 0x38c0 | goto label_96;
| }
0x0000330a strh r2, [r3, 0x16] | *((r3 + 0x16)) = r2;
| label_27:
0x0000330c ldr r2, [pc, 0x240] |
0x0000330e add r2, pc | r2 = 0x6862;
0x00003310 ldr r3, [r2] | r3 = *(0x6862);
0x00003312 cmp r3, 0 |
| if (r3 <= 0) {
0x00003314 ble.w 0x35e2 | goto label_97;
| }
0x00003316 strh r5, [r4, 0xa] | *((r4 + 0xa)) = r5;
0x00003318 ldr.w r0, [r2, 0x480] | r0 = *((r2 + 0x480));
0x0000331c movs r4, 0 | r4 = 0;
0x0000331e mov.w r5, -1 | r5 = -1;
0x00003322 mvn r7, 0x80000000 | r7 = ~0x80000000;
0x00003326 mov sl, r4 | sl = r4;
0x00003328 mov r6, r4 | r6 = r4;
0x0000332a mov r8, r4 | r8 = r4;
0x0000332c mov lr, r5 | lr = r5;
0x0000332e add.w r3, r0, r3, lsl 5 | r3 = r0 + (r3 << 5);
0x00003330 asrs r3, r0, 0xd | r3 = r0 >> 0xd;
0x00003332 mov sb, r7 | sb = r7;
0x00003334 mov ip, r4 |
0x00003336 strd r4, r4, [sp, 0x3c] | __asm ("strd r4, r4, [sp, 0x3c]");
0x0000333a str r3, [sp, 0x48] | *(arg_48h) = r3;
0x0000333c strd r4, r4, [sp, 0x34] | __asm ("strd r4, r4, [sp, 0x34]");
0x00003340 str r5, [sp, 0x44] | *(arg_44h) = r5;
| do {
0x00003342 ldrd r2, r4, [r0, 0x10] | __asm ("ldrd r2, r4, [r0, 0x10]");
0x00003346 ldr r5, [sp, 0x44] | r5 = *(arg_44h);
0x00003348 cmp r2, lr |
0x0000334a sbcs.w r3, r4, sb | __asm ("sbcs.w r3, r4, sb");
0x0000334e ldrd r3, r1, [r0, 0x18] | __asm ("ldrd r3, r1, [r0, 0x18]");
0x00003352 itt lt |
| if (r2 >= lr) {
0x00003354 movlt lr, r2 | lr = r2;
| }
| if (r2 >= lr) {
0x00003356 movlt sb, r4 | sb = r4;
| }
0x00003358 adds r0, 0x20 | r0 += 0x20;
0x0000335a cmp r3, r5 |
0x0000335c ldr r5, [sp, 0x34] | r5 = *(arg_34h);
0x0000335e sbcs.w fp, r1, r7 | __asm ("sbcs.w fp, r1, r7");
0x00003360 lsrs r7, r0, 0xc | r7 = r0 >> 0xc;
0x00003362 itt lt |
| if (r7 >= r0) {
0x00003364 strlt r3, [sp, 0x44] | *(arg_44h) = r3;
| }
| if (r7 >= r0) {
0x00003366 movlt r7, r1 | r7 = r1;
| }
0x00003368 cmp r5, r2 |
0x0000336a ldr r5, [sp, 0x38] | r5 = *(arg_38h);
0x0000336c sbcs.w fp, r5, r4 | __asm ("sbcs.w fp, r5, r4");
0x00003370 ldr r5, [sp, 0x3c] | r5 = *(arg_3ch);
0x00003372 it lt |
| if (r5 < r2) {
0x00003374 strdlt r2, r4, [sp, 0x34] | __asm ("strdlt r2, r4, [sp, 0x34]");
| }
0x00003378 cmp r5, r3 |
0x0000337a ldr r5, [sp, 0x40] | r5 = *(arg_40h);
0x0000337c sbcs.w fp, r5, r1 | __asm ("sbcs.w fp, r5, r1");
0x00003380 it lt |
| if (r5 < r3) {
0x00003382 strdlt r3, r1, [sp, 0x3c] | __asm ("strdlt r3, r1, [sp, 0x3c]");
| }
0x00003386 adds r2, r6, r2 | r2 = r6 + r2;
0x00003388 adc.w r8, r8, r4 | __asm ("adc.w r8, r8, r4");
0x0000338a lsrs r4, r0, 0x20 | r4 = r0 >> 0x20;
0x0000338c adds.w r3, ip, r3 | r3 = ip + r3;
0x00003390 mov ip, r3 |
0x00003392 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00003394 adc.w sl, sl, r1 | __asm ("adc.w sl, sl, r1");
0x00003398 mov r6, r2 | r6 = r2;
0x0000339a cmp r3, r0 |
0x0000339c bne 0x3342 |
| } while (r3 != r0);
0x0000339e ldr r5, [sp, 0x44] | r5 = *(arg_44h);
0x000033a0 adds.w r0, lr, 0x1f4 | r0 = lr + 0x1f4;
0x000033a4 adc r1, sb, 0 | __asm ("adc r1, sb, 0");
0x000033a8 mov.w r2, 0x3e8 | r2 = 0x3e8;
0x000033ac movs r3, 0 | r3 = 0;
0x000033ae mov r4, ip | r4 = ip;
0x000033b0 bl 0x7390 | r0 = fcn_00007390 (r0, r1, r2, r3);
0x000033b4 mov r2, r0 | r2 = r0;
0x000033b6 mov r3, r1 | r3 = r1;
0x000033b8 adds.w r0, r5, 0x1f4 | r0 = r5 + 0x1f4;
0x000033bc strd r2, r3, [sp, 0x44] | __asm ("strd r2, r3, [sp, 0x44]");
0x000033c0 adc r1, r7, 0 | __asm ("adc r1, r7, 0");
0x000033c2 lsls r0, r0, 4 | r0 <<= 4;
0x000033c4 mov.w r2, 0x3e8 | r2 = 0x3e8;
0x000033c8 movs r3, 0 | r3 = 0;
0x000033ca ldr.w sb, [pc, 0x188] |
0x000033ce bl 0x7390 | fcn_00007390 (r0, r1, r2, r3);
0x000033d2 mov r5, r1 | r5 = r1;
0x000033d4 ldr r1, [sp, 0x34] | r1 = *(arg_34h);
0x000033d6 mov r3, r0 | r3 = r0;
0x000033d8 mov.w r2, 0x3e8 | r2 = 0x3e8;
0x000033dc str r3, [sp, 0x34] | *(arg_34h) = r3;
0x000033de movs r3, 0 | r3 = 0;
0x000033e0 adds.w r0, r1, 0x1f4 | r0 = r1 + 0x1f4;
0x000033e4 ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x000033e6 add sb, pc | sb = 0x6940;
0x000033e8 adc r1, r1, 0 | __asm ("adc r1, r1, 0");
0x000033ec bl 0x7390 | fcn_00007390 (r0, r1, r2, r3);
0x000033f0 mov r3, r1 | r3 = r1;
0x000033f2 ldr r1, [sp, 0x3c] | r1 = *(arg_3ch);
0x000033f4 mov r2, r0 | r2 = r0;
0x000033f6 mov fp, r3 |
0x000033f8 str r2, [sp, 0x38] | *(arg_38h) = r2;
0x000033fa movs r3, 0 | r3 = 0;
0x000033fc adds.w r0, r1, 0x1f4 | r0 = r1 + 0x1f4;
0x00003400 ldr r1, [sp, 0x40] | r1 = *(arg_40h);
0x00003402 mov.w r2, 0x3e8 | r2 = 0x3e8;
0x00003406 adc r1, r1, 0 | __asm ("adc r1, r1, 0");
0x0000340a bl 0x7390 | r0 = fcn_00007390 (r0, r1, r2, r3);
0x0000340e mov r3, r0 | r3 = r0;
0x00003410 adds.w r0, r6, 0x1f4 | r0 = r6 + 0x1f4;
0x00003414 mov r7, r1 | r7 = r1;
0x00003416 mov.w r2, 0x3e8 | r2 = 0x3e8;
0x0000341a adc r1, r8, 0 | __asm ("adc r1, r8, 0");
0x0000341e str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x00003420 movs r3, 0 | r3 = 0;
0x00003422 bl 0x7390 | r0 = fcn_00007390 (r0, r1, r2, r3);
0x00003426 mov r3, r0 | r3 = r0;
0x00003428 adds.w r0, r4, 0x1f4 | r0 = r4 + 0x1f4;
0x0000342a strb r2, [r7, 3] | *((r7 + 3)) = r2;
0x0000342c mov r8, r1 | r8 = r1;
0x0000342e mov.w r2, 0x3e8 | r2 = 0x3e8;
0x00003432 adc r1, sl, 0 | __asm ("adc r1, sl, 0");
0x00003436 mov sl, r3 | sl = r3;
0x00003438 movs r3, 0 | r3 = 0;
0x0000343a bl 0x7390 | fcn_00007390 (r0, r1, r2, r3);
0x0000343e mov r4, r1 | r4 = r1;
0x00003440 ldr r1, [pc, 0x114] |
0x00003442 mov r6, r0 | r6 = r0;
0x00003444 ldr.w r3, [sb, 0x4e4] | r3 = *(0x6e24);
0x00003448 ldr.w r2, [sb, 0x4e0] | r2 = *(0x6e20);
0x0000344c movs r0, 1 | r0 = 1;
0x0000344e add r1, pc | r1 = 0x69aa;
0x00003450 blx 0x2288 | fcn_00002288 ();
0x00003454 ldr.w r3, [sb, 0x4e4] | r3 = *(0x6e24);
0x00003458 movs r0, 1 | r0 = 1;
0x0000345a ldr r1, [pc, 0x100] |
0x0000345c strd r3, r3, [sp, 4] | __asm ("strd r3, r3, [sp, 4]");
0x00003460 str r3, [sp] | *(sp) = r3;
0x00003462 add r1, pc | r1 = 0x69c4;
0x00003464 ldr.w r2, [sb, 0x4e0] | r2 = *(0x6e20);
0x00003468 blx 0x2288 | fcn_00002288 ();
0x0000346c ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x0000346e mov r0, sl | r0 = sl;
0x00003470 str.w fp, [sp, 0x2c] | __asm ("str.w fp, [arg_2ch]");
0x00003474 str.w fp, [sp, 0x40] | __asm ("str.w fp, [arg_40h]");
0x00003478 str r1, [sp, 0x28] | *(arg_28h) = r1;
0x0000347a mov r1, r8 | r1 = r8;
0x0000347c ldr.w r2, [sb] | r2 = *(0x6940);
0x00003480 ldr.w fp, [sb, 0x4e4] | fp = *(0x6e24);
0x00003484 asrs r3, r2, 0x1f | r3 = r2 >> 0x1f;
0x00003486 str.w fp, [sp, 0x20] | __asm ("str.w fp, [arg_20h]");
0x0000348a bl 0x7390 | fcn_00007390 (r0, r1, r2, r3);
0x0000348e ldr r2, [sp, 0x44] | r2 = *(arg_44h);
0x00003490 strd r0, r1, [sp, 0x18] | __asm ("strd r0, r1, [sp, 0x18]");
0x00003494 movs r0, 1 | r0 = 1;
0x00003496 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00003498 ldr r1, [pc, 0xc4] |
0x0000349a str.w fp, [sp, 0x10] | __asm ("str.w fp, [arg_10h]");
0x0000349e str r3, [sp, 0xc] | *(arg_ch) = r3;
0x000034a0 mov r3, fp | r3 = fp;
0x000034a2 str.w fp, [sp] | __asm ("str.w fp, [sp]");
0x000034a6 add r1, pc | r1 = 0x6a0a;
0x000034a8 str r2, [sp, 8] | *(arg_8h) = r2;
0x000034aa ldr.w r2, [sb, 0x4e0] | r2 = *(0x6e20);
0x000034ae blx 0x2288 | fcn_00002288 ();
0x000034b2 ldrd r1, r2, [sp, 0x38] | __asm ("ldrd r1, r2, [arg_38h]");
0x000034b6 ldr r0, [sp, 0x40] | r0 = *(arg_40h);
0x000034b8 subs r3, r2, r1 | r3 = r2 - r1;
0x000034ba mov r1, r4 | r1 = r4;
0x000034bc str r3, [sp, 0x28] | *(arg_28h) = r3;
0x000034be sbc.w r3, r7, r0 | __asm ("sbc.w r3, r7, r0");
0x000034c2 str r3, [sp, 0x2c] | *(arg_2ch) = r3;
0x000034c4 mov r0, r6 | r0 = r6;
0x000034c6 ldr.w r2, [sb] | r2 = *(0x6940);
0x000034ca ldr.w fp, [sb, 0x4e4] | fp = *(0x6e24);
0x000034ce str r2, [sp, 0x40] | *(arg_40h) = r2;
0x000034d0 asrs r3, r2, 0x1f | r3 = r2 >> 0x1f;
0x000034d2 str.w fp, [sp, 0x20] | __asm ("str.w fp, [arg_20h]");
0x000034d6 str r3, [sp, 0x38] | *(arg_38h) = r3;
0x000034d8 bl 0x7390 | r0 = fcn_00007390 (r0, r1, r2, r3);
0x000034dc mov lr, r0 | lr = r0;
0x000034de mov ip, r1 |
0x000034e0 ldr r2, [sp, 0x40] | r2 = *(arg_40h);
0x000034e2 mov r0, sl | r0 = sl;
0x000034e4 b 0x3564 |
0x00003564 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00003566 mov r1, r8 | r1 = r8;
0x00003568 mov r8, lr | r8 = lr;
0x0000356a mov sl, ip | sl = ip;
0x0000356c bl 0x7390 | r0 = fcn_00007390 (r0, r1, r2, r3);
0x00003570 subs.w r0, r8, r0 | r0 = r8 - r0;
0x00003574 ldr r2, [sp, 0x44] | r2 = *(arg_44h);
0x00003576 str r0, [sp, 0x18] | *(arg_18h) = r0;
0x00003578 sbc.w r1, sl, r1 | __asm ("sbc.w r1, sl, r1");
0x0000357c ldr r0, [sp, 0x34] | r0 = *(arg_34h);
0x0000357e str r1, [sp, 0x1c] | *(arg_1ch) = r1;
0x00003580 ldr.w r1, [pc, 0x684] |
0x00003584 subs r3, r0, r2 | r3 = r0 - r2;
0x00003586 str.w fp, [sp, 0x10] | __asm ("str.w fp, [arg_10h]");
0x0000358a str r3, [sp, 8] | *(arg_8h) = r3;
0x0000358c mov.w r0, 1 | r0 = 1;
0x00003590 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00003592 add r1, pc | r1 = 0x719e;
0x00003594 str.w fp, [sp] | __asm ("str.w fp, [sp]");
0x00003598 sbc.w r3, r5, r3 | __asm ("sbc.w r3, r5, r3");
0x0000359c str r3, [sp, 0xc] | *(arg_ch) = r3;
0x0000359e mov r3, fp | r3 = fp;
0x000035a0 ldr.w r2, [sb, 0x4e0] | r2 = *((sb + 0x4e0));
0x000035a4 blx 0x2288 | fcn_00002288 ();
0x000035a8 ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x000035aa mov r1, r4 | r1 = r4;
0x000035ac mov r0, r6 | r0 = r6;
0x000035ae strd r2, r7, [sp, 0x28] | __asm ("strd r2, r7, [sp, 0x28]");
0x000035b2 ldr.w r2, [sb] | r2 = *(sb);
0x000035b6 ldr.w r4, [sb, 0x4e4] | r4 = *((sb + 0x4e4));
0x000035ba asrs r3, r2, 0x1f | r3 = r2 >> 0x1f;
0x000035bc str r4, [sp, 0x20] | *(arg_20h) = r4;
0x000035be bl 0x7390 | fcn_00007390 (r0, r1, r2, r3);
0x000035c2 strd r0, r1, [sp, 0x18] | __asm ("strd r0, r1, [sp, 0x18]");
0x000035c6 mov r3, r4 | r3 = r4;
0x000035c8 ldr r0, [sp, 0x34] | r0 = *(arg_34h);
0x000035ca ldr.w r1, [pc, 0x640] |
0x000035ce ldr.w r2, [sb, 0x4e0] | r2 = *((sb + 0x4e0));
0x000035d2 str r0, [sp, 8] | *(arg_8h) = r0;
0x000035d4 movs r0, 1 | r0 = 1;
0x000035d6 add r1, pc | r1 = 0x71e8;
0x000035d8 str r4, [sp, 0x10] | *(arg_10h) = r4;
0x000035da str r5, [sp, 0xc] | *(arg_ch) = r5;
0x000035dc str r4, [sp] | *(sp) = r4;
0x000035de blx 0x2288 | fcn_00002288 ();
| label_97:
0x000035e2 ldr.w r0, [pc, 0x62c] |
0x000035e6 add r0, pc | r0 = 0x71fc;
0x000035e8 blx 0x1d60 | fcn_00001d60 ();
| label_10:
0x000035ec ldr.w r3, [pc, 0x624] |
0x000035f0 add r3, pc | r3 = 0x7208;
0x000035f2 ldr.w r0, [r3, 0x498] | r0 = " -n requests Number of requests to perform\n";
0x000035f6 blx 0x2024 | fcn_00002024 ();
0x000035fa b.w 0x26d4 | goto label_5;
0x000035fc invalid |
| label_84:
0x000035fe ldr.w r3, [pc, 0x618] |
0x00003602 ldr r1, [r5, 0x1c] | r1 = *((r5 + 0x1c));
0x00003604 add r3, pc | r3 = 0x7222;
0x00003606 ldr.w r2, [r3, 0x4b0] | r2 = *(0x76d2);
0x0000360a ldr r0, [r2, 0x24] | r0 = *(0x76f6);
0x0000360c cmp r0, 0 |
| if (r0 == 0) {
0x0000360e beq 0x36b0 | goto label_98;
| }
0x00003610 cmp r1, 1 |
| if (r1 == 1) {
0x00003612 beq 0x3630 | goto label_99;
| }
0x00003614 ldr.w r2, [r3, 0x43c] | r2 = *((r3 + 0x43c));
0x00003618 adds r2, 1 | r2++;
0x0000361a str.w r2, [r3, 0x43c] | __asm ("str.w r2, [r3, 0x43c]");
0x0000361e ldr.w r2, [r3, 0x448] | r2 = *((r3 + 0x448));
0x00003622 adds r2, 1 | r2++;
0x00003624 str.w r2, [r3, 0x448] | __asm ("str.w r2, [r3, 0x448]");
| do {
| label_7:
0x00003628 mov r0, r5 | r0 = r5;
0x0000362a bl 0x5e90 | fcn_00005e90 (r0, r1, r2, r3, r4);
0x0000362e b 0x30de | goto label_6;
| label_99:
0x00003630 ldr.w r2, [r3, 0x4c4] | r2 = *((r3 + 0x4c4));
0x00003634 cmp r2, 0 |
| if (r2 == 0) {
0x00003636 beq 0x3700 | goto label_100;
| }
0x00003638 ldr.w r2, [r3, 0x43c] | r2 = *((r3 + 0x43c));
0x0000363c adds r2, 1 | r2++;
0x0000363e str.w r2, [r3, 0x43c] | __asm ("str.w r2, [r3, 0x43c]");
0x00003642 ldr.w r2, [r3, 0x448] | r2 = *((r3 + 0x448));
0x00003646 adds r2, 1 | r2++;
0x00003648 str.w r2, [r3, 0x448] | __asm ("str.w r2, [r3, 0x448]");
| label_86:
0x0000364c mov r0, r5 | r0 = r5;
0x0000364e bl 0x659c | fcn_0000659c (r0, r1, r2, r3, r4, r5, r6);
0x00003652 b 0x30de | goto label_6;
| label_85:
0x00003654 ldr.w r1, [sb, 0x4b0] | r1 = *((sb + 0x4b0));
0x00003658 ldr r0, [r5, 4] | r0 = *((r5 + 4));
0x0000365a blx 0x1c00 | apr_socket_connect ();
0x0000365e str r0, [sp, 0x3c] | *(arg_3ch) = r0;
| if (r0 == 0) {
0x00003660 cbz r0, 0x36d4 | goto label_101;
| }
0x00003662 mov r1, r8 | r1 = r8;
0x00003664 mov r0, r5 | r0 = r5;
0x00003666 str.w r8, [r5, 0x1c] | __asm ("str.w r8, [r5, 0x1c]");
0x0000366a bl 0x57f8 | fcn_000057f8 (r0, r1);
0x0000366e ldr r0, [r5, 4] | r0 = *((r5 + 4));
0x00003670 blx 0x1e00 | fcn_00001e00 ();
0x00003674 ldr.w r1, [sb, 0x444] | r1 = *((sb + 0x444));
0x00003678 ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x0000367a adds r1, 1 | r1++;
0x0000367c str.w r1, [sb, 0x444] | __asm ("str.w r1, [sb, 0x444]");
0x00003680 ldr.w r1, [sb, 0x43c] | r1 = *((sb + 0x43c));
0x00003684 cmp r1, 0xa |
0x00003686 add.w r0, r1, 1 | r0 = r1 + 1;
0x0000368a str.w r0, [sb, 0x43c] | __asm ("str.w r0, [sb, 0x43c]");
0x0000368e ble 0x3628 |
| } while (r1 <= 0xa);
0x00003690 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00003692 mov r4, r2 | r4 = r2;
0x00003694 ldr.w r0, [pc, 0x584] |
0x00003698 mov r1, sl | r1 = sl;
0x0000369a movs r2, 0x21 | r2 = 0x21;
0x0000369c ldr r3, [r3] | r3 = *(r3);
0x0000369e add r0, pc |
0x000036a0 blx 0x2054 | fcn_00002054 ();
0x000036a2 ldcl p8, c15, [r8], {0xdf} | __asm ("ldcl p8, c15, [r8], {0xdf}");
0x000036a6 lsls r0, r7, 0x15 | r0 = r7 << 0x15;
0x000036a8 mov r1, r4 | r1 = r4;
0x000036aa add r0, pc | r0 = 0xa96c;
0x000036ac bl 0x42b4 | fcn_000042b4 (r0, r1);
| label_98:
0x000036b0 ldr.w r2, [r3, 0x43c] | r2 = *((r3 + 0x43c));
0x000036b4 cmp r1, 1 |
0x000036b6 add.w r2, r2, 1 | r2++;
0x000036ba str.w r2, [r3, 0x43c] | __asm ("str.w r2, [r3, 0x43c]");
0x000036bc movs r4, 0x3c | r4 = 0x3c;
0x000036be ldr.w r2, [r3, 0x448] | r2 = *((r3 + 0x448));
0x000036c2 add.w r2, r2, 1 | r2++;
0x000036c6 str.w r2, [r3, 0x448] | __asm ("str.w r2, [r3, 0x448]");
| if (r4 != 0x3c) {
0x000036ca bne 0x3628 | goto label_7;
| }
0x000036cc mov r0, r5 | r0 = r5;
0x000036ce bl 0x659c | fcn_0000659c (r0, r1, r2, r3, r4, r5, r6);
0x000036d2 b 0x30de | goto label_6;
| label_101:
0x000036d4 movs r3, 2 | r3 = 2;
0x000036d6 mov r1, sl | r1 = sl;
0x000036d8 str r3, [r5, 0x1c] | *((r5 + 0x1c)) = r3;
0x000036da mov r0, r5 | r0 = r5;
0x000036dc bl 0x57f8 | fcn_000057f8 (r0, r1);
0x000036e0 add.w r3, r5, 0x2000 | r3 = r5 + fcn.00002000;
0x000036e4 ldr r3, [r3, 0x6c] | r3 = *((r3 + 0x6c));
0x000036e6 cmp r3, 0 |
| if (r3 != 0) {
0x000036e8 bne.w 0x310a | goto label_8;
| }
0x000036ec ldr.w r3, [pc, 0x534] |
0x000036f0 ldr.w r2, [sb, 0x4ac] | r2 = *((sb + 0x4ac));
0x000036f4 add r3, pc |
0x000036f6 ldr r3, [r3, 0x34] | r3 = *(0x7350);
0x000036f8 cmp r2, r3 |
| if (r2 < r3) {
0x000036fa blt.w 0x30d8 | goto label_9;
| }
0x000036fe b 0x30de | goto label_6;
| label_100:
0x00003700 str.w r0, [r3, 0x4b0] | __asm ("str.w r0, [r3, 0x4b0]");
0x00003704 mov r0, r5 | r0 = r5;
0x00003706 bl 0x5e90 | fcn_00005e90 (r0, r1, r2, r3, r4);
0x0000370a b 0x30de | goto label_6;
| label_90:
0x0000370c bl 0x4554 | fcn_00004554 (r0, r1);
0x00003710 b 0x35ec | goto label_10;
| label_89:
0x00003712 ldr.w r0, [pc, 0x514] |
0x00003716 add r0, pc | r0 = 0x7344;
0x00003718 blx 0x1d60 | fcn_00001d60 ();
0x0000371a invalid |
0x0000371c b 0x315e | goto label_11;
| label_81:
0x0000371e mov.w r3, -1 | r3 = -1;
0x00003722 str r3, [sp, 0x48] | *(arg_48h) = r3;
0x00003724 mvn r3, 0x80000000 | r3 = ~0x80000000;
0x00003728 mov r4, r3 | r4 = r3;
0x0000372a b.w 0x2e6c | goto label_12;
| label_73:
0x0000372e cmp r4, 0 |
| if (r4 == 0) {
0x00003730 beq.w 0x389e | goto label_102;
| }
0x00003734 ldr.w r4, [r2, 0x51c] | r4 = *((r2 + 0x51c));
| label_25:
0x00003738 ldr.w r2, [pc, 0x4f0] |
0x0000373c add r2, pc |
0x0000373e ldr.w r2, [r2, 0x458] | r2 = *(0x77c4);
0x00003742 cmp r2, 0 |
| if (r2 == 0) {
0x00003744 beq.w 0x3898 | goto label_103;
| }
0x00003748 ldr.w r7, [pc, 0x4e4] |
0x0000374c add r7, pc | r7 = 0x7380;
| do {
0x0000374e ldr.w r2, [pc, 0x4e4] |
0x00003752 add r2, pc |
0x00003754 ldr.w r1, [r2, 0x4fc] | r1 = *(0x7888);
0x00003756 asrs r4, r7, 0x13 | r4 = r7 >> 0x13;
0x00003758 ldr.w r5, [r2, 0x4e8] | r5 = imp.__stack_chk_guard;
0x0000375a strb r0, [r5, r3] | *((r5 + r3)) = r0;
0x0000375c ldr.w lr, [r2, 0x4ec] | lr = " -p postfile File containing data to POST. Remember also to set -T\n";
0x0000375e b 0x313a | goto label_13;
0x00003760 ldr.w r2, [r2, 0x49c] | r2 = *(0x7828);
0x00003764 cmp r1, 0 |
| if (r1 == 0) {
0x00003766 beq.w 0x3a1c | goto label_104;
| }
| label_30:
0x0000376a strd r2, r1, [sp, 0x10] | __asm ("strd r2, r1, [sp, 0x10]");
0x0000376e mov.w r1, 0x2000 | r1 = fcn.00002000;
0x00003770 str r0, [r0, r4] | *((r0 + r4)) = r0;
0x00003772 ldr.w r2, [pc, 0x4c4] |
0x00003776 strd r5, lr, [sp, 8] | __asm ("strd r5, lr, [sp, 8]");
0x0000377a strd r4, r7, [sp] | __asm ("strd r4, r7, [sp]");
0x0000377e add r2, pc |
0x00003780 ldr.w r2, [r2, 0x4f4] | r2 = *(0x78b0);
0x00003784 str r2, [sp, 0x18] | *(arg_18h) = r2;
0x00003786 ldr.w r2, [pc, 0x4b4] |
0x0000378a add r2, pc | r2 = 0x73cc;
0x0000378c blx 0x20a8 | r0 = fcn_000020a8 ();
0x00003790 mov r3, r0 | r3 = r0;
0x00003792 b.w 0x2d94 | goto label_14;
| label_65:
0x00003796 ldr.w r1, [r4, 0x418] | r1 = *((r4 + 0x418));
0x0000379a ldr.w r0, [r4, 0x498] | r0 = *((r4 + 0x498));
0x0000379e blx 0x1ec4 | SSL_ctrl ();
0x000037a2 ldrh.w r3, [r4, 0x41c] | r3 = *((r4 + 0x41c));
0x000037a6 str.w r0, [r4, 0x528] | __asm ("str.w r0, [r4, 0x528]");
0x000037aa b.w 0x2c82 | goto label_15;
| label_59:
0x000037ae blx 0x1f64 | fcn_00001f64 ();
0x000037b2 b.w 0x2c04 | goto label_16;
| label_77:
0x000037b6 ldr.w fp, [sb, 0x49c] | fp = *((sb + 0x49c));
0x000037ba add.w r3, fp, 1 | r3 += arg_1h;
0x000037be add r3, r0 | r3 += r0;
0x000037c0 mov r0, r3 | r0 = r3;
0x000037c2 str r3, [sp, 0x34] | *(arg_34h) = r3;
0x000037c4 blx 0x2084 | fcn_00002084 ();
0x000037c8 ldr r3, [sp, 0x34] | r3 = *(arg_34h);
0x000037ca mov r5, r0 | r5 = r0;
0x000037cc cmp r0, 0 |
| if (r0 == 0) {
0x000037ce beq.w 0x3bca | goto label_105;
| }
0x000037d2 mov r1, r8 | r1 = r8;
0x000037d4 blx 0x1ea0 | X509_getm_notAfter ();
0x000037d8 ldr.w r1, [sb, 0x4a0] | r1 = *((sb + 0x4a0));
0x000037da asrs r0, r4, 0x12 | r0 = r4 >> 0x12;
0x000037dc mov r2, fp | r2 = fp;
0x000037de adds r0, r5, r4 | r0 = r5 + r4;
0x000037e0 blx 0x2060 | fcn_00002060 ();
0x000037e2 ldc p0, c6, [lr], -0xf4 | __asm ("ldc p0, c6, [lr], -0xf4");
0x000037e4 str r5, [r7] | *(r7) = r5;
0x000037e6 b.w 0x2de8 | goto label_17;
| label_72:
0x000037ea ldr.w r2, [pc, 0x454] |
0x000037ee ldr.w r1, [r4, 0x4f4] | r1 = *((r4 + 0x4f4));
0x000037f2 ldr.w r0, [r4, 0x498] | r0 = *((r4 + 0x498));
0x000037f6 add r2, pc | r2 = 0x743c;
0x000037f8 blx 0x1c48 | apr_pstrcat ()
0x000037fc str.w r0, [r4, 0x4f4] | __asm ("str.w r0, [r4, 0x4f4]");
0x00003800 b.w 0x2d2e | goto label_18;
| label_71:
0x00003804 str r3, [sp, 4] | var_4h = r3;
0x00003806 ldr.w r3, [pc, 0x43c] |
0x0000380a ldr.w r2, [pc, 0x43c] |
0x0000380e add r3, pc | r3 = 0x7458;
0x00003810 str r3, [sp] | *(sp) = r3;
0x00003812 add r2, pc | r2 = 0x7460;
0x00003814 ldr.w r3, [pc, 0x434] |
0x00003816 adds r4, 0x34 | r4 += 0x34;
0x00003818 ldr.w r1, [r4, 0x4f4] | r1 = *((r4 + 0x4f4));
0x0000381c ldr.w r0, [r4, 0x498] | r0 = *((r4 + 0x498));
0x00003820 add r3, pc | r3 = 0x7470;
0x00003822 blx 0x1c48 | apr_pstrcat ()
0x00003826 str.w r0, [r4, 0x4f4] | __asm ("str.w r0, [r4, 0x4f4]");
0x00003828 lsls r4, r6, 0x13 | r4 = r6 << 0x13;
0x0000382a b.w 0x2d20 | goto label_19;
| label_66:
0x0000382e ldr.w r1, [pc, 0x420] |
0x00003832 movs r0, 1 | r0 = 1;
0x00003834 ldr.w r2, [r4, 0x418] | r2 = *((r4 + 0x418));
0x00003838 add r1, pc | r1 = 0x748e;
0x0000383a blx 0x2288 | fcn_00002288 ();
0x0000383e ldr.w r3, [r4, 0x510] | r3 = *((r4 + 0x510));
0x00003842 cmp r3, 0 |
| if (r3 != 0) {
0x00003844 bne.w 0x3a52 | goto label_106;
| }
| label_33:
0x00003848 ldr.w r3, [pc, 0x408] |
0x0000384c add r3, pc |
0x0000384e ldr r3, [r3, 0x38] | r3 = *(0x74dc);
0x00003850 cmp r3, 0 |
| if (r3 == 0) {
0x00003852 beq.w 0x3a4c | goto label_107;
| }
0x00003856 ldr.w r2, [pc, 0x400] |
0x0000385a add r2, pc | r2 = 0x74b8;
| label_32:
0x0000385c ldr r1, [pc, 0x3fc] |
0x0000385e movs r0, 1 | r0 = 1;
0x00003860 add r1, pc | r1 = 0x74c0;
0x00003862 blx 0x2288 | fcn_00002288 ();
0x00003866 ldr r0, [r6] | r0 = *(r6);
0x00003868 blx 0x218c | fcn_0000218c ();
0x0000386c b.w 0x2c94 | goto label_20;
| label_61:
0x00003870 ldr r1, [pc, 0x3ec] |
0x00003872 ldr.w r0, [r3, 0x4c0] | r0 = *((r3 + 0x4c0));
0x00003876 add r1, pc | r1 = 0x74da;
0x00003878 blx 0x1d2c | SSL_CTX_set_info_callback ();
| label_42:
0x0000387c b.w 0x2c1a | goto label_21;
| label_78:
0x00003880 ldr.w r1, [r4, 0x528] | r1 = *((r4 + 0x528));
0x00003884 b.w 0x2e22 | goto label_22;
| label_75:
0x00003888 ldr r1, [pc, 0x3d8] |
0x0000388a add r1, pc | r1 = 0x74f2;
0x0000388c b.w 0x2d6c | goto label_23;
| label_74:
0x00003890 ldr.w r2, [r2, 0x430] | r2 = *((r2 + 0x430));
0x00003894 b.w 0x2d5a | goto label_24;
| label_103:
0x00003898 ldr r7, [pc, 0x3cc] |
0x0000389a add r7, pc | r7 = 0x7506;
0x0000389c b 0x374e |
| } while (1);
| label_102:
0x0000389e ldr.w r4, [r2, 0x430] | r4 = *((r2 + 0x430));
0x000038a2 b 0x3738 | goto label_25;
| label_91:
0x000038a4 ldr.w r3, [r4, 0x4e4] | r3 = *((r4 + 0x4e4));
0x000038a8 movs r0, 1 | r0 = 1;
0x000038aa ldr.w r5, [r4, 0x438] | r5 = *((r4 + 0x438));
0x000038ae ldr r1, [pc, 0x3bc] |
0x000038b0 ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x000038b4 strd r3, r5, [sp] | __asm ("strd r3, r5, [sp]");
0x000038b8 add r1, pc | r1 = 0x752a;
0x000038ba blx 0x2288 | fcn_00002288 ();
0x000038be b 0x321e | goto label_26;
| label_96:
0x000038c0 ldr.w r3, [r4, 0x4e4] | r3 = *((r4 + 0x4e4));
0x000038c4 movs r0, 1 | r0 = 1;
0x000038c6 ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x000038ca add.w r8, r4, 0x460 | r8 = r4 + 0x460;
0x000038ce ldr r1, [pc, 0x3a0] |
0x000038d0 str r3, [sp] | *(sp) = r3;
0x000038d2 vldr s15, [r4] | __asm ("vldr s15, [r4]");
0x000038d6 add r1, pc | r1 = 0x754c;
0x000038d8 vldr d9, [pc, 0x324] | __asm ("vldr d9, [0x00003c04]");
0x000038dc ldr r5, [pc, 0x394] |
0x000038de vcvt.f64.s32 d16, s15 | __asm ("vcvt.f64.s32 d16, s15");
0x000038e2 add r5, pc | r5 = 0x755a;
0x000038e4 vdiv.f64 d17, d16, d8 | __asm ("vdiv.f64 d17, d16, d8");
0x000038e8 vstr d17, [sp, 8] | __asm ("vstr d17, [sp, 8]");
0x000038ec blx 0x2288 | fcn_00002288 ();
0x000038f0 ldrd r0, r1, [r8] | __asm ("ldrd r0, r1, [r8]");
0x000038f4 bl 0x7334 | r0 = fcn_00007334 (r0, r1, r2);
0x000038f8 vmov d16, r0, r1 | __asm ("vmov d16, r0, r1");
0x000038fc mov r1, r5 | r1 = r5;
0x000038fe ldr.w r6, [r4, 0x4e4] | r6 = *((r4 + 0x4e4));
0x00003902 movs r0, 1 | r0 = 1;
0x00003904 vmul.f64 d16, d16, d9 | __asm ("vmul.f64 d16, d16, d9");
0x00003908 mov r3, r6 | r3 = r6;
0x0000390a str r6, [sp] | *(sp) = r6;
0x0000390c ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x00003910 vdiv.f64 d17, d16, d8 | __asm ("vdiv.f64 d17, d16, d8");
0x00003914 vstr d17, [sp, 8] | __asm ("vstr d17, [sp, 8]");
0x00003916 subs r2, r0, r4 | r2 = r0 - r4;
0x00003918 blx 0x2288 | fcn_00002288 ();
0x0000391c ldr.w r3, [r4, 0x468] | r3 = *((r4 + 0x468));
0x00003920 cmp r3, 0 |
| if (r3 == 0) {
0x00003922 beq.w 0x330c | goto label_27;
| }
0x00003926 add.w r7, r4, 0x470 | r7 = r4 + 0x470;
0x0000392a ldr r6, [pc, 0x34c] |
0x0000392c ldrd r0, r1, [r7] | __asm ("ldrd r0, r1, [r7]");
0x00003930 bl 0x7334 | r0 = fcn_00007334 (r0, r1, r2);
0x00003934 vmov d16, r0, r1 | __asm ("vmov d16, r0, r1");
0x00003938 add r6, pc | r6 = 0x75b6;
0x0000393a ldr.w sb, [r4, 0x4e4] | sb = *((r4 + 0x4e4));
0x0000393e mov r1, r6 | r1 = r6;
0x00003940 vmul.f64 d16, d16, d9 | __asm ("vmul.f64 d16, d16, d9");
0x00003944 movs r0, 1 | r0 = 1;
0x00003946 ldr r5, [pc, 0x334] |
0x00003948 mov r3, sb | r3 = sb;
0x0000394a str.w sb, [sp] | __asm ("str.w sb, [sp]");
0x0000394e ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x00003952 add r5, pc | r5 = 0x75d4;
0x00003954 vdiv.f64 d17, d16, d8 | __asm ("vdiv.f64 d17, d16, d8");
0x00003958 vstr d17, [sp, 8] | __asm ("vstr d17, [sp, 8]");
0x0000395c blx 0x2288 | fcn_00002288 ();
0x00003960 ldr.w r2, [r4, 0x460] | r2 = *((r4 + 0x460));
0x00003964 ldr.w r0, [r4, 0x470] | r0 = *((r4 + 0x470));
0x00003968 ldr.w r3, [r4, 0x464] | r3 = *((r4 + 0x464));
0x0000396c ldr.w r1, [r4, 0x474] | r1 = *((r4 + 0x474));
0x00003970 adds r0, r2, r0 | r0 = r2 + r0;
0x00003972 ldr.w r6, [r4, 0x4e4] | r6 = *((r4 + 0x4e4));
0x00003976 adc.w r1, r3, r1 | __asm ("adc.w r1, r3, r1");
0x0000397a bl 0x7334 | fcn_00007334 (r0, r1, r2);
0x0000397c ldc2l p12, c14, [fp], {0x41} | __asm ("ldc2l p12, c14, [fp], {0x41}");
0x00003980 lsrs r0, r6, 0xc | r0 = r6 >> 0xc;
0x00003982 mov r3, r6 | r3 = r6;
0x00003984 ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x00003988 mov r1, r5 | r1 = r5;
0x0000398a vmul.f64 d16, d16, d9 | __asm ("vmul.f64 d16, d16, d9");
0x0000398e movs r0, 1 | r0 = 1;
0x00003990 str r6, [sp] | *(sp) = r6;
0x00003992 vdiv.f64 d17, d16, d8 | __asm ("vdiv.f64 d17, d16, d8");
0x00003996 vstr d17, [sp, 8] | __asm ("vstr d17, [sp, 8]");
0x0000399a blx 0x2288 | fcn_00002288 ();
0x0000399e b 0x330c | goto label_27;
| label_95:
0x000039a0 add.w r2, r4, 0x470 | r2 = r4 + 0x470;
0x000039a4 ldr.w r3, [r4, 0x4e4] | r3 = *((r4 + 0x4e4));
0x000039a8 ldrd r6, r7, [r2] | __asm ("ldrd r6, r7, [r2]");
0x000039ac movs r0, 1 | r0 = 1;
0x000039ae ldr r1, [pc, 0x2d0] |
0x000039b0 ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x000039b4 str r3, [sp] | *(sp) = r3;
0x000039b6 add r1, pc | r1 = 0x763c;
0x000039b8 strd r6, r7, [sp, 8] | __asm ("strd r6, r7, [sp, 8]");
0x000039bc blx 0x2288 | fcn_00002288 ();
0x000039c0 b 0x32dc | goto label_28;
| label_92:
0x000039c2 ldr.w r0, [r4, 0x448] | r0 = *((r4 + 0x448));
0x000039c6 ldr.w r1, [r4, 0x44c] | r1 = *((r4 + 0x44c));
0x000039ca ldr.w r5, [r4, 0x444] | r5 = *((r4 + 0x444));
0x000039cc strb r4, [r0, r1] | *((r0 + r1)) = r4;
0x000039ce ldr.w r3, [r4, 0x4e4] | r3 = *((r4 + 0x4e4));
0x000039d2 ldr.w r2, [r4, 0x4e0] | r2 = *((r4 + 0x4e0));
0x000039d6 strd r1, r0, [sp, 4] | __asm ("strd r1, r0, [sp, 4]");
0x000039da movs r0, 1 | r0 = 1;
0x000039dc ldr r1, [pc, 0x2a4] |
0x000039de str r5, [sp] | *(sp) = r5;
0x000039e0 add r1, pc | r1 = 0x7668;
0x000039e2 blx 0x2288 | fcn_00002288 ();
0x000039e6 b 0x3292 | goto label_29;
| label_94:
0x000039e8 ldr.w r3, [r2, 0x4e4] | r3 = *((r2 + 0x4e4));
0x000039ec movs r0, 1 | r0 = 1;
0x000039ee ldr.w r4, [r2, 0x45c] | r4 = *((r2 + 0x45c));
0x000039f2 ldr r1, [pc, 0x294] |
0x000039f4 ldr.w r2, [r2, 0x4e0] | r2 = *((r2 + 0x4e0));
0x000039f6 movs r4, 0xe0 | r4 = 0xe0;
0x000039f8 strd r3, r4, [sp] | __asm ("strd r3, r4, [sp]");
0x000039fa adds r4, 0 | r4 += 0;
0x000039fc add r1, pc | r1 = 0x768a;
0x000039fe blx 0x2288 | fcn_00002288 ();
0x00003a00 mcrr p4, 5, lr, r4, c4 | __asm ("mcrr p4, 5, lr, r4, c4");
| label_93:
0x00003a04 ldr.w r3, [r2, 0x4e4] | r3 = *((r2 + 0x4e4));
0x00003a08 movs r0, 1 | r0 = 1;
0x00003a0a ldr r1, [pc, 0x280] |
0x00003a0c ldr.w r2, [r2, 0x4e0] | r2 = *((r2 + 0x4e0));
0x00003a10 strd r3, r4, [sp] | __asm ("strd r3, r4, [sp]");
0x00003a14 add r1, pc | r1 = 0x76a6;
0x00003a16 blx 0x2288 | fcn_00002288 ();
0x00003a18 ldc p4, c14, [r8], -0x104 | __asm ("ldc p4, c14, [r8], -0x104");
| label_104:
0x00003a1c ldr r1, [pc, 0x270] |
0x00003a1e add r1, pc | r1 = 0x76b2;
0x00003a20 b 0x376a | goto label_30;
| label_68:
0x00003a22 ldr r3, [pc, 0x270] |
0x00003a24 ldr r2, [pc, 0x270] |
0x00003a26 add r3, pc | r3 = 0x76c0;
0x00003a28 strd r3, r0, [sp, 4] | __asm ("strd r3, r0, [sp, 4]");
0x00003a2c add r2, pc | r2 = 0x76c8;
0x00003a2e ldr.w r3, [r4, 0x524] | r3 = *((r4 + 0x524));
0x00003a32 str r3, [sp] | *(sp) = r3;
0x00003a34 ldr.w r3, [r4, 0x520] | r3 = *((r4 + 0x520));
0x00003a38 ldr.w r1, [r4, 0x4f4] | r1 = *((r4 + 0x4f4));
0x00003a3c ldr.w r0, [r4, 0x498] | r0 = *((r4 + 0x498));
0x00003a40 blx 0x1c48 | apr_pstrcat ()
0x00003a44 str.w r0, [r4, 0x4f4] | __asm ("str.w r0, [r4, 0x4f4]");
0x00003a46 lsls r4, r6, 0x13 | r4 = r6 << 0x13;
0x00003a48 b.w 0x2cd8 | goto label_31;
| label_107:
0x00003a4c ldr r2, [pc, 0x24c] |
0x00003a4e add r2, pc | r2 = 0x76ee;
0x00003a50 b 0x385c | goto label_32;
| label_106:
0x00003a52 ldr r1, [pc, 0x24c] |
0x00003a54 movs r0, 1 | r0 = 1;
0x00003a56 ldr.w r3, [r4, 0x50c] | r3 = *((r4 + 0x50c));
0x00003a5a ldr.w r2, [r4, 0x4f0] | r2 = *((r4 + 0x4f0));
0x00003a5e add r1, pc | r1 = 0x7704;
0x00003a60 blx 0x2288 | fcn_00002288 ();
0x00003a64 b 0x3848 | goto label_33;
| label_70:
0x00003a66 ldr.w r3, [r3, 0x498] | r3 = *((r3 + 0x498));
0x00003a6a movs r2, 0 | r2 = 0;
0x00003a6c mov r0, sl | r0 = sl;
0x00003a6e blx 0x1cfc | apr_ipsubnet_create ();
0x00003a70 strd r2, r8, [r6, -0x0] | __asm ("strd r2, r8, [r6, -0x0]");
| if (r2 == 0) {
0x00003a74 beq.w 0x2d08 | goto label_34;
| }
0x00003a78 b.w 0x2d12 | goto label_35;
| label_69:
0x00003a7c ldr.w r2, [r3, 0x418] | r2 = *((r3 + 0x418));
0x00003a80 str.w r2, [r3, 0x42c] | __asm ("str.w r2, [r3, 0x42c]");
0x00003a84 cmp r2, 0 |
| if (r2 != 0) {
0x00003a86 bne.w 0x2cf8 | goto label_36;
| }
0x00003a8a b.w 0x2d12 | goto label_35;
| if (r1 != 0) {
| label_53:
0x00003a8e cbnz r1, 0x3acc | goto label_108;
| }
0x00003a90 cmp r2, 0x50 |
| if (r2 == 0x50) {
0x00003a92 beq.w 0x2b08 | goto label_37;
| }
0x00003a94 add r0, sp, 0xe4 | r0 = sp + 0xe4;
| do {
0x00003a96 ldr r3, [pc, 0x20c] |
0x00003a98 ldr r1, [pc, 0x20c] |
0x00003a9a add r3, pc | r3 = 0x7744;
0x00003a9c ldrh.w r2, [r3, 0x41c] | r2 = *((r3 + 0x41c));
0x00003aa0 add r1, pc | r1 = 0x774c;
0x00003aa2 ldr.w r0, [r3, 0x498] | r0 = *(0x7bdc);
0x00003aa6 blx 0x1d84 | fcn_00001d84 ();
0x00003aaa b.w 0x2b0e | goto label_38;
| label_54:
0x00003aae movs r2, 0x50 | r2 = 0x50;
0x00003ab0 strh.w r2, [r3, 0x41c] | *((r3 + 0x41c)) = r2;
0x00003ab4 b.w 0x2b08 | goto label_37;
| label_52:
0x00003ab8 ldr r1, [pc, 0x1f0] |
0x00003aba ldr.w r2, [r5, 0x418] | r2 = *((r5 + 0x418));
0x00003abe ldr.w r0, [r5, 0x498] | r0 = *((r5 + 0x498));
0x00003ac2 add r1, pc | r1 = 0x7772;
0x00003ac4 blx 0x1d84 | fcn_00001d84 ();
0x00003ac8 b.w 0x2ae2 | goto label_39;
| label_108:
0x00003acc movw r3, 0x1bb | r3 = 0x1bb;
0x00003ad0 cmp r2, r3 |
0x00003ad2 bne 0x3a96 |
| } while (r2 != r3);
0x00003ad4 b.w 0x2b08 | goto label_37;
| label_44:
0x00003ad8 blx 0x1f24 | SSL_CTX_new ();
| label_76:
0x00003adc ldr r0, [pc, 0x1d0] |
0x00003ade add r0, pc | r0 = 0x7792;
0x00003ae0 bl 0x3ee8 | fcn_00003ee8 (r0);
| label_56:
0x00003ae4 ldr r2, [pc, 0x1cc] |
0x00003ae6 ldr r3, [pc, 0x1d0] | r3 = *(0x3cba);
0x00003ae8 ldr.w r0, [r8] | r0 = *(r8);
0x00003aec add r2, pc | r2 = 0x77a4;
0x00003aee b.w 0x2982 | goto label_40;
| label_55:
0x00003af2 ldr r2, [pc, 0x1c4] | r2 = *(0x3cba);
0x00003af4 ldr.w r0, [r8] | r0 = *(r8);
0x00003af8 ldr.w r1, [sb, r2] | r1 = *((sb + r2));
0x00003afc ldr r2, [pc, 0x1bc] |
0x00003afe str r3, [sp] | *(sp) = r3;
0x00003b00 ldr r3, [r0] | r3 = *(r0);
0x00003b02 add r2, pc | r2 = 0x77c2;
0x00003b04 ldr r0, [r1] | r0 = *(r1);
0x00003b06 movs r1, 1 | r1 = 1;
0x00003b08 blx 0x1da8 | fcn_00001da8 ();
0x00003b0c ldr.w r3, [r8] | r3 = *(r8);
0x00003b10 ldr r0, [r3] | r0 = *(r3);
0x00003b12 bl 0x3f38 | fcn_00003f38 (r0);
| label_58:
0x00003b16 ldr r1, [pc, 0x1a8] |
0x00003b18 ldr.w r0, [r4, 0x490] | r0 = *((r4 + 0x490));
0x00003b1c add r1, pc | r1 = 0x77e2;
0x00003b1e blx 0x1e7c | SSL_is_server ();
0x00003b22 ldr.w r0, [r4, 0x490] | r0 = *((r4 + 0x490));
0x00003b26 blx 0x2264 | fcn_00002264 ();
0x00003b2a movs r0, 1 | r0 = 1;
0x00003b2c blx 0x1d38 | exit (r0);
| label_60:
0x00003b30 ldr r4, [pc, 0x190] |
0x00003b32 ldr r1, [pc, 0x194] |
0x00003b34 add r4, pc | r4 = 0x77fc;
0x00003b36 ldr.w r2, [r4, 0x514] | r2 = *(0x7d10);
0x00003b3a add r1, pc | r1 = 0x7808;
| label_41:
0x00003b3c ldr.w r0, [r4, 0x490] | r0 = *((r4 + 0x490));
0x00003b40 blx 0x1e7c | SSL_is_server ();
0x00003b44 ldr.w r0, [r4, 0x490] | r0 = *((r4 + 0x490));
0x00003b48 blx 0x2264 | fcn_00002264 ();
0x00003b4c movs r0, 1 | r0 = 1;
0x00003b4e blx 0x1d38 | exit (r0);
| label_45:
0x00003b52 ldr r2, [pc, 0x178] |
0x00003b54 ldr r3, [pc, 0x160] | r3 = *(0x3cb8);
0x00003b56 ldr.w r0, [r8] | r0 = *(r8);
0x00003b5a add r2, pc | r2 = " -B address Address to bind to when making outgoing connections\n";
0x00003b5c b.w 0x2982 | goto label_40;
| label_82:
0x00003b60 ldr r0, [pc, 0x16c] |
0x00003b62 mov r1, r4 | r1 = r4;
0x00003b64 add r0, pc | r0 = 0x7838;
0x00003b66 bl 0x42b4 | fcn_000042b4 (r0, r1);
| label_80:
0x00003b6a ldr r2, [pc, 0x168] |
0x00003b6c ldr.w r3, [r4, 0x528] | r3 = *((r4 + 0x528));
0x00003b70 add r2, pc | r2 = 0x784a;
| do {
0x00003b72 add r4, sp, 0x6c | r4 += arg_6ch;
0x00003b74 movs r1, 0x78 | r1 = 0x78;
0x00003b76 mov r0, r4 | r0 = r4;
0x00003b78 blx 0x20a8 | fcn_000020a8 ();
0x00003b7c mov r1, r6 | r1 = r6;
0x00003b7e mov r0, r4 | r0 = r4;
0x00003b80 bl 0x42b4 | fcn_000042b4 (r0, r1);
| label_79:
0x00003b84 ldr r2, [pc, 0x150] |
0x00003b86 ldr.w r3, [r4, 0x4b4] | r3 = *((r4 + 0x4b4));
0x00003b8a add r2, pc | r2 = 0x7866;
0x00003b8c b 0x3b72 |
| } while (1);
| label_67:
0x00003b8e ldr r0, [pc, 0x14c] |
0x00003b90 mov r1, r6 | r1 = r6;
0x00003b92 add r0, pc | r0 = 0x7874;
0x00003b94 bl 0x42b4 | fcn_000042b4 (r0, r1);
0x00003b98 ldr r0, [pc, 0x144] |
0x00003b9a add r0, pc | r0 = 0x787e;
0x00003b9c bl 0x3ee8 | fcn_00003ee8 (r0);
| label_63:
0x00003ba0 ldr r1, [pc, 0x140] |
0x00003ba2 ldr.w r2, [r4, 0x518] | r2 = *((r4 + 0x518));
0x00003ba6 add r1, pc | r1 = 0x788e;
0x00003ba8 b 0x3b3c | goto label_41;
| label_62:
0x00003baa ldr r1, [pc, 0x13c] |
0x00003bac ldr.w r2, [r4, 0x518] | r2 = *((r4 + 0x518));
0x00003bb0 add r1, pc | r1 = 0x789e;
0x00003bb2 b 0x3b3c | goto label_41;
| label_64:
0x00003bb4 ldr r1, [pc, 0x134] |
0x00003bb6 ldr.w r2, [r4, 0x518] | r2 = *((r4 + 0x518));
0x00003bba ldr.w r0, [r4, 0x490] | r0 = *((r4 + 0x490));
0x00003bbe add r1, pc | r1 = 0x78ae;
0x00003bc0 blx 0x1e7c | r0 = SSL_is_server ();
0x00003bc2 ldrd r2, r0, [ip, -0x4] | __asm ("ldrd r2, r0, [ip, -0x4]");
0x00003bc6 blx 0x1d38 | exit (r0);
| label_105:
0x00003bca ldr r1, [sp, 0x4c] | r1 = *(arg_4ch);
0x00003bcc ldr r2, [pc, 0x120] |
0x00003bce ldr r0, [r1] | r0 = *(r1);
0x00003bd0 movs r1, 1 | r1 = 1;
0x00003bd2 add r2, pc | r2 = 0x78c6;
0x00003bd4 blx 0x1da8 | fcn_00001da8 ();
0x00003bd8 movs r0, 1 | r0 = 1;
0x00003bda blx 0x1d38 | exit (r0);
0x00003bde ldr r0, [pc, 0x114] |
0x00003be0 add r0, pc | r0 = 0x78da;
0x00003be2 bl 0x3ee8 | fcn_00003ee8 (r0);
0x00003be6 ldr r0, [pc, 0x110] |
0x00003be8 add r0, pc |
0x00003bea bl 0x3ee8 | fcn_00003ee8 (r0);
0x00003bec invalid |
0x00003bf0 add r0, pc | r0 = 0xb4da;
0x00003bf2 bl 0x3ee8 | fcn_00003ee8 (r0);
0x00003bf6 ldr r0, [pc, 0x108] |
0x00003bf8 add r0, pc | r0 = 0x78fe;
0x00003bfa bl 0x3ee8 | fcn_00003ee8 (r0);
0x00003bfe nop |
0x00003c00 movs r0, r0 |
0x00003c02 movs r0, r0 |
0x00003c04 movs r0, r0 |
0x00003c06 subs r7, 0x50 | r7 -= 0x50;
0x00003c08 ldr r2, [r3, 0x18] | r2 = *((r3 + 0x18));
0x00003c0a movs r0, r0 |
0x00003c0c ldr r6, [r5, 0x18] | r6 = *((r5 + 0x18));
0x00003c0e movs r0, r0 |
0x00003c10 ldr r2, [r6, 0x1c] | r2 = *((r6 + 0x1c));
0x00003c12 movs r0, r0 |
0x00003c14 ldrh r4, [r1, 0x14] | r4 = *((r1 + 0x14));
0x00003c16 movs r0, r0 |
0x00003c18 ldrh r0, [r7, 0x12] | r0 = *((r7 + 0x12));
0x00003c1a movs r0, r0 |
0x00003c1c ldrh r6, [r3, r3] | r6 = *((r3 + r3));
0x00003c1e movs r0, r0 |
0x00003c20 ldrh r6, [r6, r3] | r6 = *((r6 + r3));
0x00003c22 movs r0, r0 |
0x00003c24 ldrh r0, [r2, 8] | r0 = *((r2 + 8));
0x00003c26 movs r0, r0 |
0x00003c28 str r2, [r6, 8] | *((r6 + 8)) = r2;
0x00003c2a movs r0, r0 |
0x00003c2c ldrh r0, [r0, 0xa] | r0 = *((r0 + 0xa));
0x00003c2e movs r0, r0 |
0x00003c30 ldrh r4, [r6, r6] | r4 = *((r6 + r6));
0x00003c32 movs r0, r0 |
0x00003c34 ldrh r2, [r5, 8] | r2 = *((r5 + 8));
0x00003c36 movs r0, r0 |
0x00003c38 ldrh r6, [r7, 6] | r6 = *((r7 + 6));
0x00003c3a movs r0, r0 |
0x00003c3c ldrsh r2, [r7, r5] | r2 = *((r7 + r5));
0x00003c3e movs r0, r0 |
0x00003c40 ldrsh r2, [r4, r3] | r2 = *((r4 + r3));
0x00003c42 movs r0, r0 |
0x00003c44 ldrsh r2, [r6, r3] | r2 = *((r6 + r3));
0x00003c46 movs r0, r0 |
0x00003c48 ldrsh r2, [r5, r2] | r2 = *((r5 + r2));
0x00003c4a movs r0, r0 |
0x00003c4c strb r4, [r5, r7] | *((r5 + r7)) = r4;
0x00003c4e movs r0, r0 |
0x00003c50 ldrsh r0, [r5, r0] | r0 = *((r5 + r0));
0x00003c52 movs r0, r0 |
0x00003c54 strh r0, [r7, 0x3c] | *((r7 + 0x3c)) = r0;
0x00003c56 movs r0, r0 |
0x00003c58 ldr r2, [r0, r5] | r2 = *(0x78fe);
0x00003c5a movs r0, r0 |
0x00003c5c ldrsh r0, [r5, r0] | r0 = *((r5 + r0));
0x00003c5e movs r0, r0 |
0x00003c60 subs r7, r1, 2 | r7 = r1 - 2;
0x00003c62 movs r0, r0 |
0x00003c64 ldr r2, [r7, r7] | r2 = *((r7 + r7));
0x00003c66 movs r0, r0 |
0x00003c68 ldr r2, [r5, r7] | r2 = *((r5 + r7));
0x00003c6a movs r0, r0 |
0x00003c6c str r4, [r5, 8] | *((r5 + 8)) = r4;
0x00003c6e movs r0, r0 |
0x00003c70 str r6, [r3, 0x40] | *((r3 + 0x40)) = r6;
0x00003c72 movs r0, r0 |
0x00003c74 str r6, [r4, 0x44] | *((r4 + 0x44)) = r6;
0x00003c76 movs r0, r0 |
0x00003c78 str r4, [r5, 0x44] | *((r5 + 0x44)) = r4;
0x00003c7a movs r0, r0 |
0x00003c7c str r2, [r4, 0x48] | *((r4 + 0x48)) = r2;
0x00003c7e movs r0, r0 |
0x00003c80 str r6, [r2, 0x28] | *((r2 + 0x28)) = r6;
0x00003c82 movs r0, r0 |
0x00003c84 str r0, [r4, 0x10] | *((r4 + 0x10)) = r0;
0x00003c86 movs r0, r0 |
0x00003c88 str r0, [r5, 0x18] | *((r5 + 0x18)) = r0;
0x00003c8a movs r0, r0 |
0x00003c8c str r0, [r0, 0x14] | *((r0 + 0x14)) = r0;
0x00003c8e movs r0, r0 |
0x00003c90 ldr r6, [r7, r3] | r6 = *((r7 + r3));
0x00003c92 movs r0, r0 |
0x00003c94 ldrb r2, [r3, r3] | r2 = *((r3 + r3));
0x00003c96 movs r0, r0 |
0x00003c98 ldrb r0, [r1, r2] | r0 = *((r1 + r2));
0x00003c9a movs r0, r0 |
0x00003c9c ldr r6, [r5, r2] | r6 = *((r5 + r2));
0x00003c9e movs r0, r0 |
0x00003ca0 ldrb r6, [r2, r0] | r6 = *((r2 + r0));
0x00003ca2 movs r0, r0 |
0x00003ca4 strh r2, [r4, 0x2e] | *((r4 + 0x2e)) = r2;
0x00003ca6 movs r0, r0 |
0x00003ca8 ldrh r0, [r6, r1] | r0 = *((r6 + r1));
0x00003caa movs r0, r0 |
0x00003cac ldrh r6, [r0, r1] | r6 = *((r0 + r1));
0x00003cae movs r0, r0 |
0x00003cb0 ldrb r2, [r5, r1] | r2 = *((r5 + r1));
0x00003cb2 movs r0, r0 |
0x00003cb4 ldrh r0, [r2, r1] | r0 = *((r2 + r1));
0x00003cb6 movs r0, r0 |
0x00003cb8 lsls r4, r1, 9 | r4 = r1 << 9;
0x00003cba movs r0, r0 |
0x00003cbc ldrh r2, [r2, r0] | r2 = *((r2 + r0));
0x00003cbe movs r0, r0 |
0x00003cc0 ldrh r0, [r5, r1] | r0 = *((r5 + r1));
0x00003cc2 movs r0, r0 |
0x00003cc4 strh r0, [r1, 0x2a] | *((r1 + 0x2a)) = r0;
0x00003cc6 movs r0, r0 |
0x00003cc8 ldrh r6, [r5, r1] | r6 = *((r5 + r1));
0x00003cca movs r0, r0 |
0x00003ccc ldr r6, [r4, r5] | r6 = *((r4 + r5));
0x00003cce movs r0, r0 |
0x00003cd0 ldrb r0, [r7, r0] | r0 = *((r7 + r0));
0x00003cd2 movs r0, r0 |
0x00003cd4 ldrb r4, [r1, r0] | r4 = *((r1 + r0));
0x00003cd6 movs r0, r0 |
0x00003cd8 ldrh r2, [r6, r7] | r2 = *((r6 + r7));
0x00003cda movs r0, r0 |
0x00003cdc ldrh r6, [r0, r4] | r6 = *((r0 + r4));
0x00003cde movs r0, r0 |
0x00003ce0 ldrsb r6, [r3, r7] | r6 = *((r3 + r7));
0x00003ce2 movs r0, r0 |
0x00003ce4 ldrh r2, [r2, r1] | r2 = *((r2 + r1));
0x00003ce6 movs r0, r0 |
0x00003ce8 ldrh r0, [r4, r0] | r0 = *((r4 + r0));
0x00003cea movs r0, r0 |
0x00003cec ldrh r2, [r4, r1] | r2 = *((r4 + r1));
0x00003cee movs r0, r0 |
0x00003cf0 cmp r6, r4 |
0x00003cf2 movs r0, r0 |
0x00003cf4 ldrsb r4, [r5, r7] | r4 = *((r5 + r7));
0x00003cf6 movs r0, r0 |
0x00003cf8 ldrsb r4, [r5, r5] | r4 = *((r5 + r5));
0x00003cfa movs r0, r0 |
0x00003cfc ldr r4, [r3, r0] | r4 = *((r3 + r0));
0x00003cfe movs r0, r0 |
0x00003d00 ldrsb r4, [r4, r6] | r4 = *((r4 + r6));
0x00003d02 movs r0, r0 |
0x00003d38 adds r0, 0x14 | r0 += 0x14;
0x00003d3a b 0x387c | goto label_42;
| }
[*] Function strcat used 4 times ab