[*] Binary protection state of snmpd_migrate
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of snmpd_migrate
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/libexec/snmpd_migrate @ 0x1284 */
| #include <stdint.h>
|
; (fcn) fcn.00001284 () | void fcn_00001284 (int16_t arg_1h_2, int16_t arg_1h, int16_t arg_8h, int16_t arg_ch, int16_t arg_10h, int16_t arg_14h, int16_t arg_18h, int16_t arg_1ch, int16_t arg_20h, int16_t arg_24h, int16_t arg_28h, int16_t arg_2ch, int16_t arg_34h, int16_t arg_38h, int16_t arg_3ch, void * ptr, void * arg_44h, void * arg_48h, int16_t arg_4ch, int16_t arg_50h, int16_t arg_54h, char * arg_58h, int16_t arg_c4h) {
| int16_t var_0h;
| int16_t var_4h;
| label_17:
0x00000866 movs r6, 1 | r6 = 1;
| do {
0x00000868 ldr r2, [pc, 0x26c] |
0x0000086a ldr r3, [pc, 0x260] | r3 = *(0xace);
0x0000086c add r2, pc | r2 = 0x1348;
0x0000086e ldr r3, [r2, r3] | r3 = *(0x1348);
0x00000870 ldr r2, [r3] | r2 = *(0x1348);
0x00000872 ldr r3, [sp, 0xc4] | r3 = *(arg_c4h);
0x00000874 eors r2, r3 | r2 ^= r3;
0x00000876 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0000087a bne.w 0x106c | goto label_20;
| }
0x0000087e mov r0, r6 | r0 = r6;
0x00000880 add sp, 0xcc |
0x00000882 vpop {d8} | __asm ("vpop {d8}");
0x00000886 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_4:
0x00000948 add.w r2, sl, r7 | r2 = sl + r7;
0x0000094c ldrb.w r1, [sl, r7] | r1 = *((sl + r7));
0x00000950 ldrb r2, [r2, 1] | r2 = *((r2 + 1));
0x00000952 adds r7, 2 | r7 += 2;
0x00000954 cmp r2, 0 |
| if (r2 == 0) {
0x00000956 beq.w 0xc60 | goto label_21;
| }
0x0000095a mov.w fp, 0 |
0x0000095e strd r1, r2, [sp, 0x34] | __asm ("strd r1, r2, [sp, 0x34]");
0x00000960 asrs r5, r1, 8 | r5 = r1 >> 8;
| label_3:
0x00000962 movs r0, 0x10 | r0 = 0x10;
0x00000964 add.w r6, sl, r7 | r6 = sl + r7;
0x00000968 blx 0x7f0 | r0 = malloc (r0);
0x0000096c mov r4, r0 | r4 = r0;
0x0000096e cmp r0, 0 |
| if (r0 == 0) {
0x00000970 beq.w 0x1058 | goto label_22;
| }
0x00000974 ldrb.w r0, [sl, r7] | r0 = *((sl + r7));
0x00000978 ldr.w r5, [r6, 1] | r5 = *((r6 + 1));
0x0000097c sub.w r3, r0, 0xb | r3 = r0 - 0xb;
0x00000980 str r0, [r4] | *(r4) = r0;
0x00000982 str r5, [r4, 4] | *((r4 + 4)) = r5;
0x00000984 cmp r3, 0xf |
| if (r3 <= 0xf) {
0x00000986 bhi 0x9ac |
| /* switch table (17 cases) at 0x98c */
0x00000988 tbh [pc, r3, lsl 1] | __asm ("tbh [pc, r3, lsl 1]");
| }
0x000009ac ldr r3, [pc, 0x12c] |
0x000009ae mov r8, sl | r8 = sl;
0x000009b0 ldr r2, [pc, 0x12c] |
0x000009b2 mov.w r1, 0x100 | r1 = 0x100;
0x000009b6 str r0, [sp] | *(sp) = r0;
0x000009b8 movs r0, 0 | r0 = 0;
0x000009ba add r3, pc | r3 = 0x149a;
0x000009bc add r2, pc | r2 = 0x14a0;
| label_18:
0x000009be blx 0x820 | g_log ();
0x000009c2 mov r0, r4 | r0 = r4;
0x000009c4 blx 0x778 | free (r0);
0x000009c8 mov r0, r8 | r0 = r8;
0x000009ca blx 0x778 | free (r0);
0x000009ce ldr r0, [pc, 0x114] |
0x000009d0 movs r6, 1 | r6 = 1;
0x000009d2 add r0, pc | r0 = 0x14bc;
0x000009d4 blx 0x808 | puts (r0);
0x000009d8 ldr r0, [pc, 0x10c] |
0x000009da add r0, pc | r0 = 0x14c6;
0x000009dc blx 0x808 | puts (r0);
0x000009e0 ldr.w r4, [sb] | r4 = *(sb);
0x000009e4 cmp r4, 0 |
| if (r4 != 0) {
0x000009e6 bne 0xa5e | goto label_5;
| }
| label_0:
0x000009e8 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x000009ea ldr r0, [r3] | r0 = *(r3);
| if (r0 != 0) {
0x000009ec cbz r0, 0x9f2 |
0x000009ee blx 0x778 | free (r0);
| }
0x000009f2 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x000009f4 ldr r0, [r3, 4] | r0 = *((r3 + 4));
| if (r0 != 0) {
0x000009f6 cbz r0, 0x9fc |
0x000009f8 blx 0x778 | free (r0);
| }
0x000009fc ldr r3, [sp, 0x40] | r3 = *(ptr);
0x000009fe ldr r0, [r3, 8] | r0 = *((r3 + 8));
| if (r0 != 0) {
0x00000a00 cbz r0, 0xa06 |
0x00000a02 blx 0x778 | free (r0);
| }
0x00000a06 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000a08 ldr r0, [r3, 0x14] | r0 = *((r3 + 0x14));
| if (r0 != 0) {
0x00000a0a cbz r0, 0xa10 |
0x00000a0c blx 0x778 | free (r0);
| }
0x00000a10 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000a12 ldr r0, [r3, 0x18] | r0 = *((r3 + 0x18));
| if (r0 != 0) {
0x00000a14 cbz r0, 0xa1a |
0x00000a16 blx 0x778 | free (r0);
| }
0x00000a1a ldr r0, [sp, 0x40] | r0 = *(ptr);
0x00000a1c blx 0x778 | free (r0);
0x00000a20 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000a22 ldr r0, [r3] | r0 = *(r3);
| if (r0 != 0) {
0x00000a24 cbz r0, 0xa2a |
0x00000a26 blx 0x778 | free (r0);
| }
0x00000a2a ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000a2c ldr r0, [r3, 0xc] | r0 = *((r3 + 0xc));
| if (r0 != 0) {
0x00000a2e cbz r0, 0xa34 |
0x00000a30 blx 0x778 | free (r0);
| }
0x00000a34 ldr r0, [sp, 0x44] | r0 = *(arg_44h);
0x00000a36 blx 0x778 | free (r0);
0x00000a3a ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000a3c ldr r0, [r3] | r0 = *(r3);
| if (r0 != 0) {
0x00000a3e cbz r0, 0xa44 |
0x00000a40 blx 0x778 | free (r0);
| }
0x00000a44 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000a46 ldr r0, [r3, 4] | r0 = *((r3 + 4));
| if (r0 != 0) {
0x00000a48 cbz r0, 0xa4e |
0x00000a4a blx 0x778 | free (r0);
| }
0x00000a4e ldr r0, [sp, 0x48] | r0 = *(arg_48h);
0x00000a50 blx 0x778 | free (r0);
0x00000a54 mov r0, sb | r0 = sb;
0x00000a56 blx 0x778 | free (r0);
0x00000a5a b 0x868 |
| } while (1);
| do {
0x00000a5c mov r4, r5 | r4 = r5;
| label_5:
0x00000a5e ldr r5, [r4] | r5 = *(r4);
0x00000a60 cmp r5, 0 |
| if (r5 == 0) {
0x00000a62 beq.w 0x1156 | goto label_23;
| }
0x00000a64 strh r0, [r7, 0x1a] | *((r7 + 0x1a)) = r0;
0x00000a66 ldr r0, [r5, 8] | r0 = *((r5 + 8));
| if (r0 != 0) {
0x00000a68 cbz r0, 0xa6e |
0x00000a6a blx 0x778 | free (r0);
| }
0x00000a6e ldr r0, [r5, 0xc] | r0 = *((r5 + 0xc));
| if (r0 != 0) {
0x00000a70 cbz r0, 0xa76 |
0x00000a72 blx 0x778 | free (r0);
| }
0x00000a76 ldr r0, [r5, 0x10] | r0 = *((r5 + 0x10));
| if (r0 != 0) {
0x00000a78 cbz r0, 0xa7e |
0x00000a7a blx 0x778 | free (r0);
| }
0x00000a7e ldr r0, [r5, 0x14] | r0 = *((r5 + 0x14));
| if (r0 != 0) {
0x00000a80 cbz r0, 0xa86 |
0x00000a82 blx 0x778 | free (r0);
| }
0x00000a86 ldr r0, [r5, 0x18] | r0 = *((r5 + 0x18));
| if (r0 != 0) {
0x00000a88 cbz r0, 0xa8e |
0x00000a8a blx 0x778 | free (r0);
| }
0x00000a8e ldr r0, [r5, 0x1c] | r0 = *((r5 + 0x1c));
| if (r0 != 0) {
0x00000a90 cbz r0, 0xa96 |
0x00000a92 blx 0x778 | free (r0);
| }
0x00000a96 ldr r0, [r5, 0x20] | r0 = *((r5 + 0x20));
| if (r0 != 0) {
0x00000a98 cbz r0, 0xa9e |
0x00000a9a blx 0x778 | free (r0);
| }
0x00000a9e ldr r0, [r5, 0x24] | r0 = *((r5 + 0x24));
| if (r0 != 0) {
0x00000aa0 cbz r0, 0xaa6 |
0x00000aa2 blx 0x778 | free (r0);
| }
0x00000aa6 mov r0, r5 | r0 = r5;
0x00000aa8 blx 0x778 | free (r0);
0x00000aac ldr r5, [r4, 4] | r5 = *((r4 + 4));
0x00000aae mov r0, r4 | r0 = r4;
0x00000ab0 blx 0x778 | free (r0);
0x00000ab4 cmp r5, 0 |
0x00000ab6 bne 0xa5c |
| } while (r5 != 0);
0x00000ab8 b 0x9e8 | goto label_0;
0x00000aec movs r0, 0x84 | r0 = 0x84;
0x00000aee blx 0x7f0 | malloc (r0);
0x00000af2 movs r3, 0x18 | r3 = 0x18;
0x00000af4 str r0, [r4, 8] | *((r4 + 8)) = r0;
0x00000af6 str r3, [r4] | *(r4) = r3;
0x00000af8 cmp r0, 0 |
| if (r0 == 0) {
0x00000afa beq.w 0x1100 | goto label_24;
| }
0x00000afe ldr.w r5, [r6, 5] | r5 = *((r6 + 5));
0x00000b02 cmp r5, 0x40 |
0x00000b04 str r5, [r0] | *(r0) = r5;
0x00000b06 it gt |
| if (r5 <= 0x40) {
0x00000b08 movgt r8, 9 | r8 = 9;
| }
| if (r5 <= 0x40) {
0x00000b0c bgt 0xb36 |
0x00000b0e cmp r5, 0 |
| if (r5 <= 0) {
0x00000b10 ble 0xc04 | goto label_25;
| }
0x00000b12 add.w r8, r5, -1 | r8 = r5 + -1;
0x00000b16 lsls r2, r5, 1 | r2 = r5 << 1;
0x00000b18 lsl.w r8, r8, 1 | r8 <<= 1;
0x00000b1c adds r0, 4 | r0 += 4;
0x00000b1e add.w r1, r6, 9 | r1 = r6 + 9;
0x00000b22 blx 0x7a8 | memcpy (r0, r1, r2);
0x00000b26 add.w r3, r8, 0xb | r3 = r8 + 0xb;
0x00000b2a add.w r8, r8, 0xc | r8 += 0xc;
| label_1:
0x00000b2e ldrb r3, [r6, r3] | r3 = *((r6 + r3));
0x00000b30 and r3, r3, 7 | r3 &= 7;
0x00000b34 str r3, [r4, 0xc] | *((r4 + 0xc)) = r3;
| }
0x00000b36 ldr r3, [sp, 0x34] | r3 = *(arg_34h);
0x00000b38 add r7, r8 | r7 += r8;
0x00000b3a sub.w r6, r3, 0x16 | r6 = r3 - 0x16;
0x00000b3e cmp r6, 0xe |
| if (r6 > 0xe) {
0x00000b40 bhi.w 0xeb0 | goto label_26;
| }
0x00000b44 ldr.w r8, [sb, 4] | r8 = *((sb + 4));
0x00000b48 cmp r8, fp |
| if (r8 > fp) {
0x00000b4a bgt.w 0xeb4 | goto label_27;
| }
0x00000b4e movs r1, 0x28 | r1 = 0x28;
0x00000b50 movs r0, 1 | r0 = 1;
0x00000b52 blx 0x760 | r0 = calloc (r0, r1);
0x00000b56 mov r5, r0 | r5 = r0;
0x00000b58 cmp r0, 0 |
| if (r0 == 0) {
0x00000b5a beq.w 0x1116 | goto label_28;
| }
0x00000b5e ldr.w r3, [sb] | r3 = *(sb);
0x00000b62 movs r1, 8 | r1 = 8;
0x00000b64 movs r0, 1 | r0 = 1;
0x00000b66 str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x00000b68 blx 0x760 | r0 = calloc (r0, r1);
0x00000b6c mov r1, r0 | r1 = r0;
0x00000b6e cmp r0, 0 |
| if (r0 == 0) {
0x00000b70 beq.w 0x112c | goto label_29;
| }
0x00000b74 movs r3, 0 | r3 = 0;
0x00000b76 str r5, [r0] | *(r0) = r5;
0x00000b78 str r3, [r0, 4] | *((r0 + 4)) = r3;
0x00000b7a ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00000b7c cmp r3, 0 |
| if (r3 == 0) {
0x00000b7e beq.w 0xee2 | goto label_30;
| }
| do {
0x00000b82 mov r2, r3 | r2 = r3;
0x00000b84 ldr r3, [r3, 4] | r3 = *((r3 + 4));
0x00000b86 cmp r3, 0 |
0x00000b88 bne 0xb82 |
| } while (r3 != 0);
0x00000b8a str r1, [r2, 4] | *((r2 + 4)) = r1;
| label_10:
0x00000b8c ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00000b8e str.w r3, [sb] | __asm ("str.w r3, [sb]");
0x00000b92 add.w r3, r8, 1 | r3 = r8 + 1;
0x00000b96 str.w r3, [sb, 4] | __asm ("str.w r3, [sb, 4]");
| label_8:
0x00000b9a ldr.w r8, [r4, 8] | r8 = *((r4 + 8));
0x00000b9e cmp r6, 0x23 |
| if (r6 > 0x23) {
0x00000ba0 bhi 0xc3e | goto label_6;
| }
| /* switch table (37 cases) at 0xba6 */
0x00000ba2 tbh [pc, r6, lsl 1] | __asm ("tbh [pc, r6, lsl 1]");
0x00000bee cmp r5, 0 |
| if (r5 != 0) {
0x00000bf0 bne.w 0xee6 | goto label_31;
| }
0x00000bf4 str r5, [r4, 8] | *((r4 + 8)) = r5;
| do {
| label_2:
0x00000bf6 movs r3, 5 | r3 = 5;
0x00000bf8 mov.w r8, 6 | r8 = 6;
0x00000bfc b 0xb2e | goto label_1;
0x00000bfe ldr.w r3, [r6, 5] | r3 = *((r6 + 5));
0x00000c02 str r3, [r4, 8] | *((r4 + 8)) = r3;
| label_25:
0x00000c04 movs r3, 9 | r3 = 9;
0x00000c06 mov.w r8, 0xa | r8 = 0xa;
0x00000c0a b 0xb2e | goto label_1;
0x00000c0c cmp r5, 4 |
| if (r5 > 4) {
0x00000c0e bhi.w 0x1140 | goto label_32;
| }
0x00000c12 cmp r5, 0 |
0x00000c14 beq 0xbf6 |
| } while (r5 == 0);
0x00000c16 mov r2, r5 | r2 = r5;
0x00000c18 adds r1, r6, 5 | r1 = r6 + 5;
0x00000c1a add.w r0, r4, 8 | r0 = r4 + 8;
0x00000c1e add.w r8, r5, 6 | r8 = r5 + 6;
0x00000c22 blx 0x7a8 | memcpy (r0, r1, r2);
0x00000c26 adds r3, r5, 5 | r3 = r5 + 5;
0x00000c28 b 0xb2e | goto label_1;
0x00000c2a movs r3, 0 | r3 = 0;
0x00000c2c vstr d8, [r4] | __asm ("vstr d8, [r4]");
0x00000c30 str r3, [r4, 8] | *((r4 + 8)) = r3;
0x00000c32 b 0xbf6 | goto label_2;
0x00000c34 mov r0, r8 | r0 = r8;
0x00000c36 blx 0x7e4 | strdup (r0);
0x00000c3a ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000c3c str r0, [r3, 4] | *((r3 + 4)) = r0;
| label_6:
0x00000c3e ldr r3, [r4] | r3 = *(r4);
0x00000c40 cmp r3, 0x15 |
| if (r3 != 0x15) {
0x00000c42 beq 0xc48 |
| label_7:
0x00000c44 cmp r3, 0x18 |
| if (r3 != 0x18) {
0x00000c46 bne 0xc4e | goto label_33;
| }
| }
| label_12:
0x00000c48 mov r0, r8 | r0 = r8;
0x00000c4a blx 0x778 | free (r0);
| label_33:
0x00000c4e mov r0, r4 | r0 = r4;
0x00000c50 add.w fp, fp, 1 |
0x00000c54 blx 0x778 | free (r0);
0x00000c58 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00000c5a cmp fp, r3 |
| if (fp != r3) {
0x00000c5c bne.w 0x962 | goto label_3;
| }
| label_21:
0x00000c60 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00000c62 cmp r3, r7 |
| if (r3 > r7) {
0x00000c64 bgt.w 0x948 | goto label_4;
| }
0x00000c68 ldr r6, [sp, 0x54] | r6 = *(arg_54h);
0x00000c6a mov r8, sl | r8 = sl;
0x00000c6c mov r0, r8 | r0 = r8;
0x00000c6e blx 0x778 | free (r0);
0x00000c72 ldr.w r4, [sb] | r4 = *(sb);
0x00000c76 cmp r4, 0 |
| if (r4 == 0) {
0x00000c78 beq.w 0xf10 | goto label_34;
| }
0x00000c7c ldr r0, [r6, 8] | r0 = *((r6 + 8));
0x00000c7e movs r5, 0 | r5 = 0;
0x00000c80 mov.w r2, 0x1a0 | r2 = 0x1a0;
0x00000c84 movw r1, 0x241 | r1 = 0x241;
0x00000c88 str r5, [sp, 0x58] | *(arg_58h) = r5;
0x00000c8a blx 0x7c0 | r0 = open64 ();
0x00000c8e subs r7, r0, 0 | r7 = r0 - 0;
| if (r7 < r0) {
0x00000c90 blt.w 0xff0 | goto label_35;
| }
0x00000c94 ldr.w r3, [sb, 4] | r3 = *((sb + 4));
0x00000c98 cmp r3, r5 |
| if (r3 > r5) {
0x00000c9a bgt.w 0xf30 | goto label_36;
| }
0x00000c9e mov sl, r5 | sl = r5;
| label_13:
0x00000ca0 ldr r2, [sp, 0x40] | r2 = *(ptr);
0x00000ca2 ldr r5, [sp, 0x58] | r5 = *(arg_58h);
0x00000ca4 ldr r3, [r2] | r3 = *(r2);
| if (r3 != 0) {
0x00000ca6 cbz r3, 0xcec |
0x00000ca8 str r3, [sp] | *(sp) = r3;
0x00000caa movs r1, 1 | r1 = 1;
0x00000cac ldr r3, [r2, 0x20] | r3 = *((r2 + 0x20));
0x00000cae ldr r0, [sp, 0x50] | r0 = *(arg_50h);
0x00000cb0 str r3, [sp, 0x20] | *(arg_20h) = r3;
0x00000cb2 ldr r3, [r2, 0x1c] | r3 = *((r2 + 0x1c));
0x00000cb4 str r3, [sp, 0x1c] | *(arg_1ch) = r3;
0x00000cb6 ldr r3, [r2, 0x18] | r3 = *((r2 + 0x18));
0x00000cb8 str r3, [sp, 0x18] | *(arg_18h) = r3;
0x00000cba ldr r3, [r2, 0x14] | r3 = *((r2 + 0x14));
0x00000cbc str r3, [sp, 0x14] | *(arg_14h) = r3;
0x00000cbe ldr r3, [r2, 0x10] | r3 = *((r2 + 0x10));
0x00000cc0 str r3, [sp, 0x10] | *(arg_10h) = r3;
0x00000cc2 ldr r3, [r2, 0xc] | r3 = *((r2 + 0xc));
0x00000cc4 str r3, [sp, 0xc] | *(arg_ch) = r3;
0x00000cc6 ldr r3, [r2, 8] | r3 = *((r2 + 8));
0x00000cc8 str r3, [sp, 8] | *(arg_8h) = r3;
0x00000cca ldr r3, [r2, 4] | r3 = *((r2 + 4));
0x00000ccc ldr.w r2, [pc, 0x49c] |
0x00000cd0 str r3, [sp, 4] | var_4h = r3;
0x00000cd2 mov r3, r5 | r3 = r5;
0x00000cd4 add r2, pc | r2 = 0x1e44;
0x00000cd6 blx 0x79c | r0 = asprintf_chk ()
0x00000cda mov sl, r0 | sl = r0;
0x00000cdc mov r0, r5 | r0 = r5;
0x00000cde blx 0x778 | free (r0);
0x00000ce2 cmp.w sl, 0 |
0x00000ce4 lsrs r0, r0, 0x1c | r0 >>= 0x1c;
| if (r0 < r0) {
0x00000ce6 blt.w 0x104e | goto label_37;
| }
0x00000cea ldr r5, [sp, 0x58] | r5 = *(arg_58h);
| }
0x00000cec ldr r2, [sp, 0x44] | r2 = *(arg_44h);
0x00000cee ldr r3, [r2] | r3 = *(r2);
| if (r3 != 0) {
0x00000cf0 cbz r3, 0xd2e |
0x00000cf2 str r3, [sp] | *(sp) = r3;
0x00000cf4 movs r1, 1 | r1 = 1;
0x00000cf6 ldr r3, [r2, 0x18] | r3 = *((r2 + 0x18));
0x00000cf8 ldr r0, [sp, 0x50] | r0 = *(arg_50h);
0x00000cfa str r3, [sp, 0x18] | *(arg_18h) = r3;
0x00000cfc ldr r3, [r2, 0x14] | r3 = *((r2 + 0x14));
0x00000cfe str r3, [sp, 0x14] | *(arg_14h) = r3;
0x00000d00 ldr r3, [r2, 0x10] | r3 = *((r2 + 0x10));
0x00000d02 str r3, [sp, 0x10] | *(arg_10h) = r3;
0x00000d04 ldr r3, [r2, 0xc] | r3 = *((r2 + 0xc));
0x00000d06 str r3, [sp, 0xc] | *(arg_ch) = r3;
0x00000d08 ldr r3, [r2, 8] | r3 = *((r2 + 8));
0x00000d0a str r3, [sp, 8] | *(arg_8h) = r3;
0x00000d0c ldr r3, [r2, 4] | r3 = *((r2 + 4));
0x00000d0e ldr.w r2, [pc, 0x460] |
0x00000d12 str r3, [sp, 4] | var_4h = r3;
0x00000d14 mov r3, r5 | r3 = r5;
0x00000d16 add r2, pc | r2 = 0x1e8c;
0x00000d18 blx 0x79c | r0 = asprintf_chk ()
0x00000d1c mov sl, r0 | sl = r0;
0x00000d1e mov r0, r5 | r0 = r5;
0x00000d20 blx 0x778 | free (r0);
0x00000d24 cmp.w sl, 0 |
| if (sl < 0) {
0x00000d28 blt.w 0xfd0 | goto label_38;
| }
0x00000d2c ldr r5, [sp, 0x58] | r5 = *(arg_58h);
| }
0x00000d2e ldr r2, [sp, 0x48] | r2 = *(arg_48h);
0x00000d30 ldr r3, [r2] | r3 = *(r2);
| if (r3 != 0) {
0x00000d32 cbz r3, 0xd66 |
0x00000d34 str r3, [sp] | *(sp) = r3;
0x00000d36 movs r1, 1 | r1 = 1;
0x00000d38 ldr r3, [r2, 0x10] | r3 = *((r2 + 0x10));
0x00000d3a ldr r0, [sp, 0x50] | r0 = *(arg_50h);
0x00000d3c str r3, [sp, 0x10] | *(arg_10h) = r3;
0x00000d3e ldr r3, [r2, 0xc] | r3 = *((r2 + 0xc));
0x00000d40 str r3, [sp, 0xc] | *(arg_ch) = r3;
0x00000d42 ldr r3, [r2, 8] | r3 = *((r2 + 8));
0x00000d44 str r3, [sp, 8] | *(arg_8h) = r3;
0x00000d46 ldr r3, [r2, 4] | r3 = *((r2 + 4));
0x00000d48 ldr.w r2, [pc, 0x428] |
0x00000d4c str r3, [sp, 4] | var_4h = r3;
0x00000d4e mov r3, r5 | r3 = r5;
0x00000d50 add r2, pc | r2 = 0x1ec8;
0x00000d52 blx 0x79c | r0 = asprintf_chk ()
0x00000d56 mov sl, r0 | sl = r0;
0x00000d58 mov r0, r5 | r0 = r5;
0x00000d5a blx 0x778 | free (r0);
0x00000d5e cmp.w sl, 0 |
| if (sl < 0) {
0x00000d62 blt.w 0x102a | goto label_39;
| }
| }
0x00000d66 ldr r1, [sp, 0x58] | r1 = *(arg_58h);
0x00000d68 mov r2, sl | r2 = sl;
0x00000d6a mov r0, r7 | r0 = r7;
0x00000d6c blx 0x790 | r0 = write (r0, r1, r2);
0x00000d70 cmp r0, 0 |
| if (r0 < 0) {
0x00000d72 blt.w 0x1020 | goto label_40;
| }
0x00000d76 ldr r0, [sp, 0x58] | r0 = *(arg_58h);
| if (r0 != 0) {
0x00000d78 cbz r0, 0xd7e |
0x00000d7a blx 0x778 | free (r0);
| }
0x00000d7e mov r0, r7 | r0 = r7;
0x00000d80 movs r6, 0 | r6 = 0;
0x00000d82 blx 0x7d8 | close (r0);
0x00000d86 b 0xa5e | goto label_5;
0x00000d88 ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x00000d8a mov r0, r8 | r0 = r8;
0x00000d8c bl 0x13a4 | fcn_000013a4 (r0, r1);
0x00000d90 str r0, [r5, 8] | *((r5 + 8)) = r0;
0x00000d92 b 0xc3e | goto label_6;
0x00000d94 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000d96 str.w r8, [r3, 0x10] | __asm ("str.w r8, [r3, 0x10]");
0x00000d9a b 0xc3e | goto label_6;
0x00000d9c ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000d9e str.w r8, [r3, 0xc] | __asm ("str.w r8, [r3, 0xc]");
0x00000da2 b 0xc3e | goto label_6;
0x00000da4 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000da6 str.w r8, [r3, 8] | __asm ("str.w r8, [r3, 8]");
0x00000daa b 0xc3e | goto label_6;
0x00000dac mov r0, r8 | r0 = r8;
0x00000dae blx 0x7e4 | strdup (r0);
0x00000db2 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000db4 str r0, [r3] | *(r3) = r0;
0x00000db6 b 0xc3e | goto label_6;
0x00000db8 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000dba str.w r8, [r3, 0x18] | __asm ("str.w r8, [r3, 0x18]");
0x00000dbe b 0xc3e | goto label_6;
0x00000dc0 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000dc2 str.w r8, [r3, 0x14] | __asm ("str.w r8, [r3, 0x14]");
0x00000dc6 b 0xc3e | goto label_6;
| label_19:
0x00000dc8 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000dca str.w r8, [r3, 0x10] | __asm ("str.w r8, [r3, 0x10]");
0x00000dce b 0xc3e | goto label_6;
0x00000dd0 mov r0, r8 | r0 = r8;
0x00000dd2 blx 0x7e4 | strdup (r0);
0x00000dd6 str r0, [r5, 0x10] | *((r5 + 0x10)) = r0;
0x00000dd8 b 0xc3e | goto label_6;
0x00000dda mov r0, r8 | r0 = r8;
0x00000ddc blx 0x7e4 | strdup (r0);
0x00000de0 str r0, [r5, 0xc] | *((r5 + 0xc)) = r0;
0x00000de2 b 0xc3e | goto label_6;
0x00000de4 str.w r8, [r5, 4] | __asm ("str.w r8, [r5, 4]");
0x00000de8 b 0xc3e | goto label_6;
0x00000dea mov r0, r8 | r0 = r8;
0x00000dec bl 0x134c | fcn_0000134c (r0);
0x00000df0 str r0, [r5, 0x20] | *((r5 + 0x20)) = r0;
0x00000df2 b 0xc3e | goto label_6;
0x00000df4 mov r0, r8 | r0 = r8;
0x00000df6 bl 0x134c | fcn_0000134c (r0);
0x00000dfa str r0, [r5, 0x18] | *((r5 + 0x18)) = r0;
0x00000dfc b 0xc3e | goto label_6;
0x00000dfe ldr r3, [r4] | r3 = *(r4);
0x00000e00 cmp r3, 0x15 |
| if (r3 == 0x15) {
0x00000e02 beq.w 0xfc6 | goto label_41;
| }
0x00000e06 movs r2, 0 | r2 = 0;
0x00000e08 str r2, [r5, 0x14] | *((r5 + 0x14)) = r2;
0x00000e0a b 0xc44 | goto label_7;
0x00000e0c mov r0, r8 | r0 = r8;
0x00000e0e blx 0x7e4 | strdup (r0);
0x00000e12 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000e14 str r0, [r3, 0xc] | *((r3 + 0xc)) = r0;
0x00000e16 b 0xc3e | goto label_6;
0x00000e18 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000e1a str.w r8, [r3, 8] | __asm ("str.w r8, [r3, 8]");
0x00000e1e b 0xc3e | goto label_6;
0x00000e20 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000e22 str.w r8, [r3, 4] | __asm ("str.w r8, [r3, 4]");
0x00000e26 b 0xc3e | goto label_6;
0x00000e28 mov r0, r8 | r0 = r8;
0x00000e2a blx 0x7e4 | strdup (r0);
0x00000e2e ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000e30 str r0, [r3] | *(r3) = r0;
0x00000e32 b 0xc3e | goto label_6;
0x00000e34 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000e36 str.w r8, [r3, 0x20] | __asm ("str.w r8, [r3, 0x20]");
0x00000e3a b 0xc3e | goto label_6;
0x00000e3c ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000e3e str.w r8, [r3, 0x1c] | __asm ("str.w r8, [r3, 0x1c]");
0x00000e42 b 0xc3e | goto label_6;
0x00000e44 mov r0, r8 | r0 = r8;
0x00000e46 blx 0x7e4 | strdup (r0);
0x00000e4a ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000e4c str r0, [r3, 0x18] | *((r3 + 0x18)) = r0;
0x00000e4e b 0xc3e | goto label_6;
0x00000e50 mov r0, r8 | r0 = r8;
0x00000e52 blx 0x7e4 | strdup (r0);
0x00000e56 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000e58 str r0, [r3, 0x14] | *((r3 + 0x14)) = r0;
0x00000e5a b 0xc3e | goto label_6;
0x00000e5c ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000e5e str.w r8, [r3, 0x10] | __asm ("str.w r8, [r3, 0x10]");
0x00000e62 b 0xc3e | goto label_6;
0x00000e64 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000e66 str.w r8, [r3, 0xc] | __asm ("str.w r8, [r3, 0xc]");
0x00000e6a b 0xc3e | goto label_6;
0x00000e6c ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x00000e6e mov r0, r8 | r0 = r8;
0x00000e70 bl 0x13a4 | fcn_000013a4 (r0, r1);
0x00000e74 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000e76 str r0, [r3, 8] | *((r3 + 8)) = r0;
0x00000e78 b 0xc3e | goto label_6;
0x00000e7a mov r0, r8 | r0 = r8;
0x00000e7c bl 0x134c | fcn_0000134c (r0);
0x00000e80 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000e82 str r0, [r3, 4] | *((r3 + 4)) = r0;
0x00000e84 b 0xc3e | goto label_6;
0x00000e86 mov r0, r8 | r0 = r8;
0x00000e88 blx 0x7e4 | strdup (r0);
0x00000e8c ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000e8e str r0, [r3] | *(r3) = r0;
0x00000e90 b 0xc3e | goto label_6;
0x00000e92 ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x00000e94 mov r0, r8 | r0 = r8;
0x00000e96 bl 0x13a4 | fcn_000013a4 (r0, r1);
0x00000e9a str r0, [r5, 0x24] | *((r5 + 0x24)) = r0;
0x00000e9c b 0xc3e | goto label_6;
0x00000e9e ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x00000ea0 mov r0, r8 | r0 = r8;
0x00000ea2 bl 0x13a4 | fcn_000013a4 (r0, r1);
0x00000ea6 str r0, [r5, 0x1c] | *((r5 + 0x1c)) = r0;
0x00000ea8 b 0xc3e | goto label_6;
0x00000eaa str.w r8, [r5] | __asm ("str.w r8, [r5]");
0x00000eae b 0xc3e | goto label_6;
| label_26:
0x00000eb0 movs r5, 0 | r5 = 0;
0x00000eb2 b 0xb9a | goto label_8;
| label_27:
0x00000eb4 ldr.w r5, [sb] | r5 = *(sb);
0x00000eb8 cmp r5, 0 |
| if (r5 == 0) {
0x00000eba beq.w 0x1084 | goto label_42;
| }
0x00000ebe add.w r3, fp, -1 | r3 = fp + -1;
0x00000ec2 cmp.w fp, 0 |
| if (fp != 0) {
0x00000ec6 bne 0xed0 | goto label_43;
| }
0x00000ec8 b 0xede | goto label_44;
| label_9:
0x00000eca cmp r5, 0 |
| if (r5 == 0) {
0x00000ecc beq.w 0xb9a | goto label_8;
| }
| label_43:
0x00000ed0 subs r3, 1 | r3--;
0x00000ed2 ldr r5, [r5, 4] | r5 = *((r5 + 4));
0x00000ed4 adds r2, r3, 1 | r2 = r3 + 1;
| if (r2 != r3) {
0x00000ed6 bne 0xeca | goto label_9;
| }
0x00000ed8 cmp r5, 0 |
| if (r5 == 0) {
0x00000eda beq.w 0xb9a | goto label_8;
| }
| label_44:
0x00000ede ldr r5, [r5] | r5 = *(r5);
0x00000ee0 b 0xb9a | goto label_8;
| label_30:
0x00000ee2 str r0, [sp, 0x3c] | *(arg_3ch) = r0;
0x00000ee4 b 0xb8c | goto label_10;
| label_31:
0x00000ee6 adds r0, r5, 1 | r0 = r5 + 1;
0x00000ee8 blx 0x7f0 | malloc (r0);
0x00000eec movs r3, 0x15 | r3 = 0x15;
0x00000eee mov r8, r0 | r8 = r0;
0x00000ef0 str r0, [r4, 8] | *((r4 + 8)) = r0;
0x00000ef2 str r3, [r4] | *(r4) = r3;
0x00000ef4 cmp r0, 0 |
| if (r0 == 0) {
0x00000ef6 beq.w 0x109a | goto label_45;
| }
0x00000efa mov r2, r5 | r2 = r5;
0x00000efc adds r1, r6, 5 | r1 = r6 + 5;
0x00000efe blx 0x7a8 | memcpy (r0, r1, r2);
0x00000f02 movs r3, 0 | r3 = 0;
0x00000f04 strb.w r3, [r8, r5] | *((r8 + r5)) = r3;
0x00000f08 adds r3, r5, 5 | r3 = r5 + 5;
0x00000f0a add.w r8, r5, 6 | r8 = r5 + 6;
0x00000f0e b 0xb2e | goto label_1;
| label_34:
0x00000f10 mov r6, r4 | r6 = r4;
0x00000f12 b 0x9e8 | goto label_0;
| label_36:
0x00000f30 ldr r3, [r4] | r3 = *(r4);
0x00000f32 movs r1, 1 | r1 = 1;
0x00000f34 ldr r2, [pc, 0x248] |
0x00000f36 ldr r0, [sp, 0x50] | r0 = *(arg_50h);
0x00000f38 ldr r3, [r3, 8] | r3 = *((r3 + 8));
0x00000f3a add r2, pc | r2 = 0x20be;
0x00000f3c blx 0x79c | r0 = asprintf_chk ()
0x00000f40 cmp r0, r5 |
| if (r0 < r5) {
0x00000f42 blt 0x1034 | goto label_46;
| }
0x00000f44 ldr r3, [pc, 0x23c] |
0x00000f46 mov r5, r4 | r5 = r4;
0x00000f48 ldr.w fp, [pc, 0x23c] |
0x00000f4c ldr.w r8, [pc, 0x23c] |
0x00000f50 add r3, pc | r3 = 0x20d8;
0x00000f52 str.w sb, [sp, 0x3c] | __asm ("str.w sb, [arg_3ch]");
0x00000f56 str r3, [sp, 0x38] | *(arg_38h) = r3;
0x00000f58 add fp, pc | fp = 0x20e4;
0x00000f5a ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00000f5c add r8, pc | r8 = 0x20ec;
0x00000f5e str r4, [sp, 0x4c] | *(arg_4ch) = r4;
0x00000f60 str r7, [sp, 0x54] | *(arg_54h) = r7;
0x00000f62 str r3, [sp, 0x34] | *(arg_34h) = r3;
0x00000f64 b 0xfaa |
| while (r1 != 0) {
0x00000f66 mov r0, r8 | r0 = r8;
| label_11:
0x00000f68 ldr r4, [r2, 0x24] | r4 = *((r2 + 0x24));
0x00000f6a str r4, [sp, 0x2c] | *(arg_2ch) = r4;
0x00000f6c ldr r4, [r2, 0x20] | r4 = *((r2 + 0x20));
0x00000f6e str r4, [sp, 0x28] | *(arg_28h) = r4;
0x00000f70 ldr r4, [r2, 0x1c] | r4 = *((r2 + 0x1c));
0x00000f72 str r4, [sp, 0x24] | *(arg_24h) = r4;
0x00000f74 ldr r2, [r2, 0x18] | r2 = *((r2 + 0x18));
0x00000f76 str r1, [sp, 0x18] | *(arg_18h) = r1;
0x00000f78 movs r1, 1 | r1 = 1;
0x00000f7a strd sb, sl, [sp, 0xc] | __asm ("strd sb, sl, [sp, 0xc]");
0x00000f7e str r2, [sp, 0x20] | *(arg_20h) = r2;
0x00000f80 ldr r2, [pc, 0x20c] |
0x00000f82 strd r3, r7, [sp] | __asm ("strd r3, r7, [sp]");
0x00000f86 mov r3, r6 | r3 = r6;
0x00000f88 str r0, [sp, 0x1c] | *(arg_1ch) = r0;
0x00000f8a str r0, [sp, 0x14] | *(arg_14h) = r0;
0x00000f8c add r2, pc | r2 = 0x2120;
0x00000f8e ldr r0, [sp, 0x34] | r0 = *(arg_34h);
0x00000f90 str.w lr, [sp, 8] | __asm ("str.w lr, [arg_8h]");
0x00000f94 blx 0x79c | r0 = asprintf_chk ()
0x00000f98 subs.w sl, r0, 0 | sl = r0 - 0;
| if (sl < r0) {
0x00000f9c blt 0x1004 | goto label_47;
| }
0x00000f9e mov r0, r6 | r0 = r6;
0x00000fa0 blx 0x778 | free (r0);
0x00000fa4 ldr r5, [r5, 4] | r5 = *((r5 + 4));
0x00000fa6 cmp r5, 0 |
| if (r5 == 0) {
0x00000fa8 beq 0x1016 | goto label_48;
| }
0x00000faa ldr r2, [r5] | r2 = *(r5);
0x00000fac ldr r6, [sp, 0x58] | r6 = *(arg_58h);
0x00000fae ldr r1, [r2, 0x14] | r1 = *((r2 + 0x14));
0x00000fb0 ldrd r3, r7, [r2] | __asm ("ldrd r3, r7, [r2]");
0x00000fb4 ldrd lr, sb, [r2, 8] | __asm ("ldrd lr, sb, [r2, 8]");
0x00000fb8 ldr.w sl, [r2, 0x10] | sl = *((r2 + 0x10));
0x00000fbc cmp r1, 0 |
0x00000fbe bne 0xf66 |
| }
0x00000fc0 ldr r0, [sp, 0x38] | r0 = *(arg_38h);
0x00000fc2 mov r1, fp | r1 = fp;
0x00000fc4 b 0xf68 | goto label_11;
| label_41:
0x00000fc6 mov r0, r8 | r0 = r8;
0x00000fc8 blx 0x7e4 | strdup (r0);
0x00000fcc str r0, [r5, 0x14] | *((r5 + 0x14)) = r0;
0x00000fce b 0xc48 | goto label_12;
| label_38:
0x00000fd0 ldr r3, [pc, 0x1c0] |
0x00000fd2 ldr r2, [pc, 0x1c4] |
0x00000fd4 add r3, pc | r3 = 0x216c;
0x00000fd6 add r2, pc | r2 = 0x2174;
| do {
| label_14:
0x00000fd8 movs r0, 0 | r0 = 0;
0x00000fda mov.w r1, 0x100 | r1 = 0x100;
0x00000fde blx 0x820 | g_log ();
0x00000fe2 ldr r0, [sp, 0x58] | r0 = *(arg_58h);
| if (r0 != 0) {
0x00000fe4 cbz r0, 0xfea |
| label_15:
0x00000fe6 blx 0x778 | free (r0);
| }
| label_16:
0x00000fea mov r0, r7 | r0 = r7;
0x00000fec blx 0x7d8 | close (r0);
| label_35:
0x00000ff0 ldr r0, [pc, 0x1a8] |
0x00000ff2 movs r6, 1 | r6 = 1;
0x00000ff4 add r0, pc | r0 = 0x2194;
0x00000ff6 blx 0x808 | puts (r0);
0x00000ffa ldr r0, [pc, 0x1a4] |
0x00000ffc add r0, pc | r0 = 0x21a2;
0x00000ffe blx 0x808 | puts (r0);
0x00001000 invalid |
| label_47:
0x00001004 ldr r3, [pc, 0x19c] |
0x00001006 ldr r2, [pc, 0x1a0] |
0x00001008 ldr.w sb, [sp, 0x3c] | sb = *(arg_3ch);
0x0000100c ldr r4, [sp, 0x4c] | r4 = *(arg_4ch);
0x0000100e add r3, pc | r3 = 0x21b6;
0x00001010 ldr r7, [sp, 0x54] | r7 = *(arg_54h);
0x00001012 add r2, pc | r2 = 0x21c0;
0x00001014 b 0xfd8 |
| } while (1);
| label_48:
0x00001016 ldr.w sb, [sp, 0x3c] | sb = *(arg_3ch);
0x0000101a ldr r4, [sp, 0x4c] | r4 = *(arg_4ch);
0x0000101c ldr r7, [sp, 0x54] | r7 = *(arg_54h);
0x0000101e b 0xca0 | goto label_13;
| label_40:
0x00001020 ldr r3, [pc, 0x188] |
0x00001022 ldr r2, [pc, 0x18c] |
0x00001024 add r3, pc | r3 = 0x21d4;
0x00001026 add r2, pc | r2 = 0x21dc;
0x00001028 b 0xfd8 | goto label_14;
| label_39:
0x0000102a ldr r3, [pc, 0x188] |
0x0000102c ldr r2, [pc, 0x188] |
0x0000102e add r3, pc | r3 = 0x21e8;
0x00001030 add r2, pc | r2 = 0x21ec;
0x00001032 b 0xfd8 | goto label_14;
| label_46:
0x00001034 ldr r3, [pc, 0x184] |
0x00001036 mov r0, r5 | r0 = r5;
0x00001038 ldr r2, [pc, 0x184] |
0x0000103a mov.w r1, 0x100 | r1 = 0x100;
0x0000103e add r3, pc | r3 = 0x21fe;
0x00001040 add r2, pc | r2 = 0x2204;
0x00001042 blx 0x820 | g_log ();
0x00001046 ldr r0, [sp, 0x58] | r0 = *(arg_58h);
0x00001048 cmp r0, 0 |
| if (r0 != 0) {
0x0000104a bne 0xfe6 | goto label_15;
| }
0x0000104c b 0xfea | goto label_16;
| label_37:
0x0000104e ldr r3, [pc, 0x174] |
0x00001050 ldr r2, [pc, 0x174] |
0x00001052 add r3, pc | r3 = 0x221c;
0x00001054 add r2, pc | r2 = 0x2220;
0x00001056 b 0xfd8 | goto label_14;
| label_22:
0x00001058 ldr r3, [pc, 0x170] |
0x0000105a movs r2, 0xf0 | r2 = 0xf0;
0x0000105c ldr r1, [pc, 0x170] |
0x0000105e ldr r0, [pc, 0x174] |
0x00001060 add r3, pc | r3 = 0x2230;
0x00001062 add r1, pc | r1 = 0x2236;
0x00001064 adds r3, 0x20 | r3 += 0x20;
0x00001066 add r0, pc | r0 = 0x2240;
0x00001068 blx 0x76c | assert_fail ();
| label_20:
0x0000106c blx 0x7fc | stack_chk_fail ();
0x00001070 ldr r3, [pc, 0x164] |
0x00001072 mov.w r1, 0x100 | r1 = 0x100;
0x00001076 ldr r2, [pc, 0x164] |
0x00001078 add r3, pc | r3 = 0x2254;
0x0000107a add r2, pc | r2 = 0x225c;
0x0000107c blx 0x820 | g_log ();
0x00001080 b.w 0x866 | goto label_17;
| label_42:
0x00001084 ldr r3, [pc, 0x158] |
0x00001086 movw r2, 0x3a6 | r2 = 0x3a6;
0x0000108a ldr r1, [pc, 0x158] |
0x0000108c ldr r0, [pc, 0x158] |
0x0000108e add r3, pc | r3 = 0x2272;
0x00001090 add r1, pc | r1 = 0x227a;
0x00001092 adds r3, 0x34 | r3 += 0x34;
0x00001094 add r0, pc | r0 = 0x2280;
0x00001096 blx 0x76c | assert_fail ();
| label_45:
0x0000109a ldr r3, [pc, 0x150] |
0x0000109c mov.w r2, 0x132 | r2 = 0x132;
0x000010a0 ldr r1, [pc, 0x14c] |
0x000010a2 ldr r0, [pc, 0x150] |
0x000010a4 add r3, pc | r3 = 0x2296;
0x000010a6 add r1, pc | r1 = 0x229a;
0x000010a8 adds r3, 0x20 | r3 += 0x20;
0x000010aa add r0, pc | r0 = 0x22a4;
0x000010ac blx 0x76c | assert_fail ();
0x000010b0 ldr r3, [pc, 0x144] |
0x000010b2 mov.w r1, 0x100 | r1 = 0x100;
0x000010b6 ldr r2, [pc, 0x144] |
0x000010b8 add r3, pc | r3 = 0x22b4;
0x000010ba add r2, pc | r2 = 0x22bc;
0x000010bc blx 0x820 | g_log ();
0x000010c0 b.w 0x866 | goto label_17;
| label_24:
0x00001100 ldr r3, [pc, 0x118] |
0x00001102 movw r2, 0x165 | r2 = 0x165;
0x00001106 ldr r1, [pc, 0x118] |
0x00001108 ldr r0, [pc, 0x118] |
0x0000110a add r3, pc | r3 = 0x232a;
0x0000110c add r1, pc | r1 = 0x2332;
0x0000110e adds r3, 0x20 | r3 += 0x20;
0x00001110 add r0, pc | r0 = 0x2338;
0x00001112 blx 0x76c | assert_fail ();
| label_28:
0x00001116 add.w r3, fp, 1 | r3 += arg_1h_2;
0x0000111a ldr r2, [pc, 0x10c] |
0x0000111c str r3, [sp] | *(sp) = r3;
0x0000111e mov r8, sl | r8 = sl;
0x00001120 ldr r3, [pc, 0x108] |
0x00001122 mov.w r1, 0x100 | r1 = 0x100;
0x00001126 add r2, pc | r2 = 0x2354;
0x00001128 add r3, pc | r3 = 0x2358;
0x0000112a b 0x9be | goto label_18;
| label_29:
0x0000112c ldr r3, [pc, 0x100] |
0x0000112e mov.w r1, 0x100 | r1 = 0x100;
0x00001132 ldr r2, [pc, 0x100] |
0x00001134 str r0, [sp, 0x3c] | *(arg_3ch) = r0;
0x00001136 add r3, pc | r3 = 0x236a;
0x00001138 add r2, pc | r2 = 0x2372;
0x0000113a blx 0x820 | g_log ();
0x0000113e b 0xb8c | goto label_10;
| label_32:
0x00001140 ldr r3, [pc, 0xf4] |
0x00001142 movw r2, 0x103 | r2 = 0x103;
0x00001146 ldr r1, [pc, 0xf4] |
0x00001148 ldr r0, [pc, 0xf4] |
0x0000114a add r3, pc | r3 = 0x2386;
0x0000114c add r1, pc | r1 = 0x238e;
0x0000114e adds r3, 0x20 | r3 += 0x20;
0x00001150 add r0, pc | r0 = 0x2394;
0x00001152 blx 0x76c | assert_fail ();
| label_23:
0x00001156 ldr r3, [pc, 0xec] |
0x00001158 mov.w r2, 0x1f4 | r2 = 0x1f4;
0x0000115c ldr r1, [pc, 0xe8] |
0x0000115e ldr r0, [pc, 0xec] |
0x00001160 add r3, pc | r3 = 0x23aa;
0x00001162 add r1, pc | r1 = 0x23ae;
0x00001164 adds r3, 0x4c | r3 += 0x4c;
0x00001166 add r0, pc | r0 = 0x23b8;
0x00001168 blx 0x76c | assert_fail ();
0x0000116c lsrs r0, r2, 0xd | r0 = r2 >> 0xd;
0x0000116e movs r0, r0 |
0x00001170 lsrs r6, r6, 0xd | r6 >>= 0xd;
0x00001172 movs r0, r0 |
0x00001174 lsrs r0, r4, 0xe | r0 = r4 >> 0xe;
0x00001176 movs r0, r0 |
0x00001178 lsrs r2, r1, 6 | r2 = r1 >> 6;
0x0000117a movs r0, r0 |
0x0000117c lsls r4, r7, 0x1b | r4 = r7 << 0x1b;
0x0000117e movs r0, r0 |
0x00001180 lsrs r6, r5, 0x20 | r6 = r5 >> 0x20;
0x00001182 movs r0, r0 |
0x00001184 lsrs r0, r4, 5 | r0 = r4 >> 5;
0x00001186 movs r0, r0 |
0x00001188 lsls r0, r3, 0x15 | r0 = r3 << 0x15;
0x0000118a movs r0, r0 |
0x0000118c lsls r4, r3, 0x15 | r4 = r3 << 0x15;
0x0000118e movs r0, r0 |
0x00001190 lsrs r4, r4, 0x20 | r4 >>= 0x20;
0x00001192 movs r0, r0 |
0x00001194 lsrs r4, r3, 3 | r4 = r3 >> 3;
0x00001196 movs r0, r0 |
0x00001198 lsrs r6, r3, 3 | r6 = r3 >> 3;
0x0000119a movs r0, r0 |
0x0000119c lsrs r0, r4, 6 | r0 = r4 >> 6;
0x0000119e movs r0, r0 |
0x000011a0 lsls r0, r4, 0x13 | r0 = r4 << 0x13;
0x000011a2 movs r0, r0 |
0x000011a4 lsrs r2, r4, 2 | r2 = r4 >> 2;
0x000011a6 movs r0, r0 |
0x000011a8 lsls r2, r2, 0x1f | r2 <<= 0x1f;
0x000011aa movs r0, r0 |
0x000011ac lsrs r4, r1, 2 | r4 = r1 >> 2;
0x000011ae movs r0, r0 |
0x000011b0 lsrs r2, r6, 4 | r2 = r6 >> 4;
0x000011b2 movs r0, r0 |
0x000011b4 lsrs r2, r0, 2 | r2 = r0 >> 2;
0x000011b6 movs r0, r0 |
0x000011b8 lsrs r0, r5, 3 | r0 = r5 >> 3;
0x000011ba movs r0, r0 |
0x000011bc lsrs r2, r6, 1 | r2 = r6 >> 1;
0x000011be movs r0, r0 |
0x000011c0 lsls r0, r7, 0x1c | r0 = r7 << 0x1c;
0x000011c2 movs r0, r0 |
0x000011c4 lsrs r6, r3, 1 | r6 = r3 >> 1;
0x000011c6 movs r0, r0 |
0x000011c8 lsrs r0, r0, 0x20 | r0 >>= 0x20;
0x000011ca movs r0, r0 |
0x000011cc lsrs r0, r0, 6 | r0 >>= 6;
0x000011ce movs r0, r0 |
0x000011d0 lsls r2, r1, 0x16 | r2 = r1 << 0x16;
0x000011d2 movs r0, r0 |
0x000011d4 lsls r6, r2, 0x17 | r6 = r2 << 0x17;
0x000011d6 movs r0, r0 |
0x000011d8 lsrs r0, r7, 0x20 | r0 = r7 >> 0x20;
0x000011da movs r0, r0 |
0x000011dc lsls r6, r3, 0x13 | r6 = r3 << 0x13;
0x000011de movs r0, r0 |
0x000011e0 lsrs r2, r2, 5 | r2 >>= 5;
0x000011e2 movs r0, r0 |
0x000011e4 lsls r4, r3, 0x15 | r4 = r3 << 0x15;
0x000011e6 movs r0, r0 |
0x000011e8 lsls r4, r1, 0x1a | r4 = r1 << 0x1a;
0x000011ea movs r0, r0 |
0x000011ec lsrs r4, r7, 4 | r4 = r7 >> 4;
0x000011ee movs r0, r0 |
0x000011f0 lsls r6, r0, 0x15 | r6 = r0 << 0x15;
0x000011f2 movs r0, r0 |
0x000011f4 lsls r6, r1, 0x17 | r6 = r1 << 0x17;
0x000011f6 movs r0, r0 |
0x000011f8 lsls r0, r7, 0x1f | r0 = r7 << 0x1f;
0x000011fa movs r0, r0 |
0x000011fc lsls r6, r1, 0x13 | r6 = r1 << 0x13;
0x000011fe movs r0, r0 |
0x00001200 lsls r4, r4, 0x1f | r4 <<= 0x1f;
0x00001202 movs r0, r0 |
0x00001204 lsls r2, r5, 0x13 | r2 = r5 << 0x13;
0x00001206 movs r0, r0 |
0x00001208 lsrs r6, r7, 3 | r6 = r7 >> 3;
0x0000120a movs r0, r0 |
0x0000120c lsls r0, r1, 0x14 | r0 = r1 << 0x14;
0x0000120e movs r0, r0 |
0x00001210 lsls r2, r7, 0x14 | r2 = r7 << 0x14;
0x00001212 movs r0, r0 |
0x00001214 lsls r4, r7, 0x1e | r4 = r7 << 0x1e;
0x00001216 movs r0, r0 |
0x00001218 lsls r2, r6, 0x10 | r2 = r6 << 0x10;
0x0000121a movs r0, r0 |
0x0000121c lsrs r6, r2, 3 | r6 = r2 >> 3;
0x0000121e movs r0, r0 |
0x00001220 lsls r0, r4, 0x13 | r0 = r4 << 0x13;
0x00001222 movs r0, r0 |
0x00001224 lsls r4, r7, 0x15 | r4 = r7 << 0x15;
0x00001226 movs r0, r0 |
0x00001228 lsls r2, r3, 0x16 | r2 = r3 << 0x16;
0x0000122a movs r0, r0 |
0x0000122c lsls r0, r1, 0x1e | r0 = r1 << 0x1e;
0x0000122e movs r0, r0 |
0x00001230 lsls r2, r7, 0x1d | r2 = r7 << 0x1d;
0x00001232 movs r0, r0 |
0x00001234 lsls r0, r7, 0x16 | r0 = r7 << 0x16;
0x00001236 movs r0, r0 |
0x00001238 lsrs r6, r2, 2 | r6 = r2 >> 2;
0x0000123a movs r0, r0 |
0x0000123c lsls r0, r4, 0x12 | r0 = r4 << 0x12;
0x0000123e movs r0, r0 |
0x00001240 lsls r0, r6, 0x13 | r0 = r6 << 0x13;
0x00001242 movs r0, r0 |
0x00001244 lsrs r0, r0, 2 | r0 >>= 2;
0x00001246 movs r0, r0 |
0x00001248 lsls r2, r1, 0x12 | r2 = r1 << 0x12;
0x0000124a movs r0, r0 |
0x0000124c lsrs r6, r5, 1 | r6 = r5 >> 1;
0x0000124e movs r0, r0 |
0x00001284 adds r0, 0x14 | r0 += 0x14;
0x00001286 b 0xdc8 | goto label_19;
| }
[*] Function printf used 6 times snmpd_migrate