[*] Binary protection state of snmpd_migrate
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of snmpd_migrate
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/libexec/snmpd_migrate @ 0x1240 */
| #include <stdint.h>
|
; (fcn) fcn.00001240 () | void fcn_00001240 (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, void * 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, int16_t arg_58h, char * arg_60h, int16_t arg_cch) {
| int16_t var_0h;
| int16_t var_4h;
| do {
| label_14:
0x000007e6 ldr.w r2, [pc, 0x92c] | r2 = *(0x00001114);
0x000007ea ldr.w r3, [pc, 0x91c] | r3 = *(0x110a);
0x000007ee add r2, pc | r2 += pc;
0x000007f0 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x000007f2 ldr r2, [r3] | r2 = *(0x110a);
0x000007f4 ldr r3, [sp, 0xcc] | r3 = *(arg_cch);
0x000007f6 eors r2, r3 | r2 ^= r3;
0x000007f8 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x000007fc bne.w 0x1016 | goto label_17;
| }
0x000007fe strh r3, [r1, 0x20] | *((r1 + 0x20)) = r3;
0x00000800 mov r0, r6 | r0 = r6;
0x00000802 add sp, 0xd4 |
0x00000804 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_3:
0x000008cc add.w r3, sl, r7 | r3 = sl + r7;
0x000008d0 ldrb.w r2, [sl, r7] | r2 = *((sl + r7));
0x000008d4 ldrb r3, [r3, 1] | r3 = *((r3 + 1));
0x000008d6 adds r7, 2 | r7 += 2;
0x000008d8 str r2, [sp, 0x38] | *(arg_38h) = r2;
0x000008da str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x000008dc cmp r3, 0 |
| if (r3 == 0) {
0x000008de beq.w 0xbba | goto label_18;
| }
0x000008e2 mov.w fp, 0 |
| label_2:
0x000008e6 movs r0, 0x10 | r0 = 0x10;
0x000008e8 add.w r5, sl, r7 | r5 = sl + r7;
0x000008ec blx 0x738 | r0 = malloc (r0);
0x000008f0 mov r4, r0 | r4 = r0;
0x000008f2 cmp r0, 0 |
| if (r0 == 0) {
0x000008f4 beq.w 0xfec | goto label_19;
| }
0x000008f6 strh r2, [r7, 0x1a] | *((r7 + 0x1a)) = r2;
0x000008f8 ldrb.w r1, [sl, r7] | r1 = *((sl + r7));
0x000008fc ldr.w r6, [r5, 1] | r6 = *((r5 + 1));
0x00000900 sub.w r3, r1, 0xb | r3 = r1 - 0xb;
0x00000904 str r1, [r0] | *(r0) = r1;
0x00000906 str r6, [r0, 4] | *((r0 + 4)) = r6;
0x00000908 cmp r3, 0xf |
| if (r3 <= 0xf) {
0x0000090a bhi 0x930 |
| /* switch table (17 cases) at 0x910 */
0x0000090c tbh [pc, r3, lsl 1] | __asm ("tbh [pc, r3, lsl 1]");
| }
0x00000930 ldr.w r3, [pc, 0x7ec] |
0x00000934 movs r0, 0 | r0 = 0;
0x00000936 ldr.w r2, [pc, 0x7ec] |
0x0000093a str r1, [sp] | *(sp) = r1;
0x0000093c mov.w r1, 0x100 | r1 = 0x100;
0x00000940 add r3, pc | r3 = ">\t>\n>";
0x00000942 add r2, pc | r2 = 0x1a6c;
| label_15:
0x00000944 blx 0x768 | g_log ();
0x00000948 mov r0, r4 | r0 = r4;
0x0000094a blx 0x6e4 | free (r0);
0x0000094c mcr p6, 6, r4, c12, c0, 2 | __asm ("mcr p6, 6, r4, c12, c0, 2");
0x00000950 blx 0x6e4 | free (r0);
0x00000954 ldr.w r0, [pc, 0x7d0] |
0x00000958 movs r6, 1 | r6 = 1;
0x0000095a add r0, pc | r0 = 0x1a86;
0x0000095c blx 0x72c | puts (r0);
0x00000960 ldr.w r0, [pc, 0x7c8] |
0x00000964 add r0, pc | r0 = 0x1a94;
0x00000966 blx 0x72c | puts (r0);
0x0000096a ldr r3, [sp, 0x34] | r3 = *(arg_34h);
0x0000096c ldr r4, [r3] | r4 = *(r3);
0x0000096e cmp r4, 0 |
| if (r4 != 0) {
0x00000970 bne 0x9e8 | goto label_4;
| }
| label_0:
0x00000972 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000974 ldr r0, [r3] | r0 = *(r3);
| if (r0 != 0) {
0x00000976 cbz r0, 0x97c |
0x00000978 blx 0x6e4 | free (r0);
| }
0x0000097c ldr r3, [sp, 0x40] | r3 = *(ptr);
0x0000097e ldr r0, [r3, 4] | r0 = *((r3 + 4));
| if (r0 != 0) {
0x00000980 cbz r0, 0x986 |
0x00000982 blx 0x6e4 | free (r0);
| }
0x00000986 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000988 ldr r0, [r3, 8] | r0 = *((r3 + 8));
| if (r0 != 0) {
0x0000098a cbz r0, 0x990 |
0x0000098c blx 0x6e4 | free (r0);
| }
0x00000990 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000992 ldr r0, [r3, 0x14] | r0 = *((r3 + 0x14));
| if (r0 != 0) {
0x00000994 cbz r0, 0x99a |
0x00000996 blx 0x6e4 | free (r0);
| }
0x0000099a ldr r3, [sp, 0x40] | r3 = *(ptr);
0x0000099c ldr r0, [r3, 0x18] | r0 = *((r3 + 0x18));
| if (r0 != 0) {
0x0000099e cbz r0, 0x9a4 |
0x000009a0 blx 0x6e4 | free (r0);
| }
0x000009a4 ldr r0, [sp, 0x40] | r0 = *(ptr);
0x000009a6 blx 0x6e4 | free (r0);
0x000009a8 invalid |
0x000009ac ldr r0, [r3] | r0 = *(r3);
| if (r0 != 0) {
0x000009ae cbz r0, 0x9b4 |
0x000009b0 blx 0x6e4 | free (r0);
| }
0x000009b4 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x000009b6 ldr r0, [r3, 0xc] | r0 = *((r3 + 0xc));
| if (r0 != 0) {
0x000009b8 cbz r0, 0x9be |
0x000009ba blx 0x6e4 | free (r0);
| }
0x000009be ldr r0, [sp, 0x44] | r0 = *(arg_44h);
0x000009c0 blx 0x6e4 | free (r0);
0x000009c4 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x000009c6 ldr r0, [r3] | r0 = *(r3);
| if (r0 != 0) {
0x000009c8 cbz r0, 0x9ce |
0x000009ca blx 0x6e4 | free (r0);
| }
0x000009ce ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x000009d0 ldr r0, [r3, 4] | r0 = *((r3 + 4));
| if (r0 != 0) {
0x000009d2 cbz r0, 0x9d8 |
0x000009d4 blx 0x6e4 | free (r0);
| }
0x000009d8 ldr r0, [sp, 0x48] | r0 = *(arg_48h);
0x000009da blx 0x6e4 | free (r0);
0x000009de ldr r0, [sp, 0x34] | r0 = *(arg_34h);
0x000009e0 blx 0x6e4 | free (r0);
0x000009e4 b 0x7e6 |
| } while (1);
| do {
0x000009e6 mov r4, r5 | r4 = r5;
| label_4:
0x000009e8 ldr r5, [r4] | r5 = *(r4);
0x000009ea cmp r5, 0 |
| if (r5 == 0) {
0x000009ec beq.w 0x1000 | goto label_20;
| }
0x000009f0 ldr r0, [r5, 8] | r0 = *((r5 + 8));
| if (r0 != 0) {
0x000009f2 cbz r0, 0x9f8 |
0x000009f4 blx 0x6e4 | free (r0);
| }
0x000009f8 ldr r0, [r5, 0xc] | r0 = *((r5 + 0xc));
| if (r0 != 0) {
0x000009fa cbz r0, 0xa00 |
0x000009fc blx 0x6e4 | free (r0);
| }
0x00000a00 ldr r0, [r5, 0x10] | r0 = *((r5 + 0x10));
| if (r0 != 0) {
0x00000a02 cbz r0, 0xa08 |
0x00000a04 blx 0x6e4 | free (r0);
| }
0x00000a08 ldr r0, [r5, 0x14] | r0 = *((r5 + 0x14));
| if (r0 != 0) {
0x00000a0a cbz r0, 0xa10 |
0x00000a0c blx 0x6e4 | free (r0);
| }
0x00000a10 ldr r0, [r5, 0x18] | r0 = *((r5 + 0x18));
| if (r0 != 0) {
0x00000a12 cbz r0, 0xa18 |
0x00000a14 blx 0x6e4 | free (r0);
| }
0x00000a18 ldr r0, [r5, 0x1c] | r0 = *((r5 + 0x1c));
| if (r0 != 0) {
0x00000a1a cbz r0, 0xa20 |
0x00000a1c blx 0x6e4 | free (r0);
| }
0x00000a20 ldr r0, [r5, 0x20] | r0 = *((r5 + 0x20));
| if (r0 != 0) {
0x00000a22 cbz r0, 0xa28 |
0x00000a24 blx 0x6e4 | free (r0);
| }
0x00000a28 ldr r0, [r5, 0x24] | r0 = *((r5 + 0x24));
| if (r0 != 0) {
0x00000a2a cbz r0, 0xa30 |
0x00000a2c blx 0x6e4 | free (r0);
| }
0x00000a30 mov r0, r5 | r0 = r5;
0x00000a32 blx 0x6e4 | free (r0);
0x00000a36 ldr r5, [r4, 4] | r5 = *((r4 + 4));
0x00000a38 mov r0, r4 | r0 = r4;
0x00000a3a blx 0x6e4 | free (r0);
0x00000a3e cmp r5, 0 |
0x00000a40 bne 0x9e6 |
| } while (r5 != 0);
0x00000a42 b 0x972 | goto label_0;
0x00000a44 movs r0, 0x84 | r0 = 0x84;
0x00000a46 blx 0x738 | malloc (r0);
0x00000a4a movs r3, 0x18 | r3 = 0x18;
0x00000a4c str r0, [r4, 8] | *((r4 + 8)) = r0;
0x00000a4e str r3, [r4] | *(r4) = r3;
0x00000a50 cmp r0, 0 |
| if (r0 == 0) {
0x00000a52 beq.w 0x109e | goto label_21;
| }
0x00000a56 ldr.w r6, [r5, 5] | r6 = *((r5 + 5));
0x00000a5a cmp r6, 0x40 |
0x00000a5c str r6, [r0] | *(r0) = r6;
0x00000a5e it gt |
| if (r6 <= 0x40) {
0x00000a60 movgt r8, 9 | r8 = 9;
| }
| if (r6 <= 0x40) {
0x00000a64 bgt 0xa90 |
0x00000a66 cmp r6, 0 |
| if (r6 <= 0) {
0x00000a68 ble.w 0xe76 | goto label_22;
| }
0x00000a6c add.w r8, r6, -1 | r8 = r6 + -1;
0x00000a70 lsls r2, r6, 1 | r2 = r6 << 1;
0x00000a72 lsl.w r8, r8, 1 | r8 <<= 1;
0x00000a74 lsrs r0, r1, 1 | r0 = r1 >> 1;
0x00000a76 adds r0, 4 | r0 += 4;
0x00000a78 add.w r1, r5, 9 | r1 = r5 + 9;
0x00000a7c blx 0x6f0 | memcpy (r0, r1, r2);
0x00000a80 add.w r3, r8, 0xb | r3 = r8 + 0xb;
0x00000a84 add.w r8, r8, 0xc | r8 += 0xc;
| label_1:
0x00000a88 ldrb r3, [r5, r3] | r3 = *((r5 + r3));
0x00000a8a and r3, r3, 7 | r3 &= 7;
0x00000a8e str r3, [r4, 0xc] | *((r4 + 0xc)) = r3;
| }
0x00000a90 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00000a92 add r7, r8 | r7 += r8;
0x00000a94 sub.w r6, r3, 0x16 | r6 = r3 - 0x16;
0x00000a98 cmp r6, 0xe |
| if (r6 > 0xe) {
0x00000a9a bhi.w 0xe16 | goto label_23;
| }
0x00000a9e ldr r3, [sp, 0x34] | r3 = *(arg_34h);
0x00000aa0 ldrd r5, sb, [r3] | __asm ("ldrd r5, sb, [r3]");
0x00000aa4 cmp sb, fp |
| if (sb > fp) {
0x00000aa6 bgt.w 0xe1c | goto label_24;
| }
0x00000aaa movs r1, 0x28 | r1 = 0x28;
0x00000aac movs r0, 1 | r0 = 1;
0x00000aae blx 0x6b4 | r0 = calloc (r0, r1);
0x00000ab2 mov r8, r0 | r8 = r0;
0x00000ab4 cmp r0, 0 |
| if (r0 == 0) {
0x00000ab6 beq.w 0x10b4 | goto label_25;
| }
0x00000aba movs r1, 8 | r1 = 8;
0x00000abc movs r0, 1 | r0 = 1;
0x00000abe blx 0x6b4 | r0 = calloc (r0, r1);
0x00000ac2 mov r1, r0 | r1 = r0;
0x00000ac4 cmp r0, 0 |
| if (r0 == 0) {
0x00000ac6 beq.w 0x10c8 | goto label_26;
| }
0x00000aca movs r3, 0 | r3 = 0;
0x00000acc str.w r8, [r0] | __asm ("str.w r8, [r0]");
0x00000ad0 str r3, [r0, 4] | *((r0 + 4)) = r3;
0x00000ad2 cmp r5, 0 |
| if (r5 == 0) {
0x00000ad4 beq.w 0xe44 | goto label_27;
| }
0x00000ad6 strh r6, [r6, 0xc] | *((r6 + 0xc)) = r6;
0x00000ad8 mov r3, r5 | r3 = r5;
| do {
0x00000ada mov r2, r3 | r2 = r3;
0x00000adc ldr r3, [r3, 4] | r3 = *((r3 + 4));
0x00000ade cmp r3, 0 |
0x00000ae0 bne 0xada |
| } while (r3 != 0);
0x00000ae2 str r1, [r2, 4] | *((r2 + 4)) = r1;
| label_8:
0x00000ae4 ldr r2, [sp, 0x34] | r2 = *(arg_34h);
0x00000ae6 add.w r3, sb, 1 | r3 = sb + 1;
0x00000aea str r5, [r2] | *(r2) = r5;
0x00000aec str r3, [r2, 4] | *((r2 + 4)) = r3;
| label_7:
0x00000aee ldr r5, [r4] | r5 = *(r4);
0x00000af0 ldr.w sb, [r4, 8] | sb = *((r4 + 8));
0x00000af4 cmp r6, 0x23 |
| if (r6 > 0x23) {
0x00000af6 bhi 0xb9a | goto label_5;
| }
| /* switch table (37 cases) at 0xafc */
0x00000af8 tbh [pc, r6, lsl 1] | __asm ("tbh [pc, r6, lsl 1]");
0x00000b44 cmp r6, 0 |
| if (r6 != 0) {
0x00000b46 bne.w 0xe48 | goto label_28;
| }
0x00000b4a str r6, [r0, 8] | *((r0 + 8)) = r6;
| do {
0x00000b4c movs r3, 5 | r3 = 5;
0x00000b4e mov.w r8, 6 | r8 = 6;
0x00000b52 b 0xa88 | goto label_1;
0x00000b54 ldr.w r3, [r5, 5] | r3 = *((r5 + 5));
0x00000b58 mov.w r8, 0xa | r8 = 0xa;
0x00000b5c str r3, [r0, 8] | *((r0 + 8)) = r3;
0x00000b5e movs r3, 9 | r3 = 9;
0x00000b60 b 0xa88 | goto label_1;
0x00000b62 cmp r6, 4 |
| if (r6 > 4) {
0x00000b64 bhi.w 0x10d8 | goto label_29;
| }
0x00000b68 cmp r6, 0 |
0x00000b6a beq 0xb4c |
| } while (r6 == 0);
0x00000b6c mov r2, r6 | r2 = r6;
0x00000b6e adds r1, r5, 5 | r1 = r5 + 5;
0x00000b70 adds r0, 8 | r0 += 8;
0x00000b72 add.w r8, r6, 6 | r8 = r6 + 6;
0x00000b76 blx 0x6f0 | memcpy (r0, r1, r2);
0x00000b7a adds r3, r6, 5 | r3 = r6 + 5;
0x00000b7c b 0xa88 | goto label_1;
0x00000b7e movs r3, 0 | r3 = 0;
0x00000b80 mov.w r8, 6 | r8 = 6;
0x00000b84 strd r3, r3, [r0, 4] | __asm ("strd r3, r3, [r0, 4]");
0x00000b88 movs r3, 0x1a | r3 = 0x1a;
0x00000b8a str r3, [r0] | *(r0) = r3;
0x00000b8c movs r3, 5 | r3 = 5;
0x00000b8e b 0xa88 | goto label_1;
0x00000b90 mov r0, sb | r0 = sb;
0x00000b92 blx 0x6fc | strdup (r0);
0x00000b96 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000b98 str r0, [r3, 4] | *((r3 + 4)) = r0;
| label_5:
0x00000b9a cmp r5, 0x15 |
| if (r5 != 0x15) {
0x00000b9c beq 0xba2 |
| label_6:
0x00000b9e cmp r5, 0x18 |
| if (r5 != 0x18) {
0x00000ba0 bne 0xba8 | goto label_30;
| }
| }
| label_10:
0x00000ba2 mov r0, sb | r0 = sb;
0x00000ba4 blx 0x6e4 | free (r0);
0x00000ba6 invalid |
| label_30:
0x00000ba8 mov r0, r4 | r0 = r4;
0x00000baa add.w fp, fp, 1 |
0x00000bae blx 0x6e4 | free (r0);
0x00000bb2 ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00000bb4 cmp fp, r3 |
| if (fp != r3) {
0x00000bb6 bne.w 0x8e6 | goto label_2;
| }
| label_18:
0x00000bba ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00000bbc cmp r3, r7 |
| if (r3 > r7) {
0x00000bbe bgt.w 0x8cc | goto label_3;
| }
0x00000bc2 mov r0, sl | r0 = sl;
0x00000bc4 blx 0x6e4 | free (r0);
0x00000bc8 ldr r3, [sp, 0x34] | r3 = *(arg_34h);
0x00000bca ldr r4, [r3] | r4 = *(r3);
0x00000bcc cmp r4, 0 |
| if (r4 == 0) {
0x00000bce beq.w 0xe72 | goto label_31;
| }
0x00000bd0 strh r0, [r2, 0xa] | *((r2 + 0xa)) = r0;
0x00000bd2 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00000bd4 movs r5, 0 | r5 = 0;
0x00000bd6 mov.w r2, 0x1a0 | r2 = 0x1a0;
0x00000bda movw r1, 0x241 | r1 = 0x241;
0x00000bde str r5, [sp, 0x60] | *(arg_60h) = r5;
0x00000be0 ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x00000be2 blx 0x714 | r0 = open64 ();
0x00000be6 subs r6, r0, 0 | r6 = r0 - 0;
| if (r6 < r0) {
0x00000be8 blt.w 0xf58 | goto label_32;
| }
0x00000bec ldr r3, [sp, 0x34] | r3 = *(arg_34h);
0x00000bee ldr r3, [r3, 4] | r3 = *((r3 + 4));
0x00000bf0 cmp r3, r5 |
| if (r3 > r5) {
0x00000bf2 bgt.w 0xe9a | goto label_33;
| }
0x00000bf6 mov r8, r5 | r8 = r5;
| label_11:
0x00000bf8 ldr r2, [sp, 0x40] | r2 = *(ptr);
0x00000bfa ldr r5, [sp, 0x60] | r5 = *(arg_60h);
0x00000bfc ldr r3, [r2] | r3 = *(r2);
| if (r3 != 0) {
0x00000bfe cbz r3, 0xc44 |
0x00000c00 str r3, [sp] | *(sp) = r3;
0x00000c02 movs r1, 1 | r1 = 1;
0x00000c04 ldr r3, [r2, 0x20] | r3 = *((r2 + 0x20));
0x00000c06 ldr r0, [sp, 0x54] | r0 = *(arg_54h);
0x00000c08 str r3, [sp, 0x20] | *(arg_20h) = r3;
0x00000c0a ldr r3, [r2, 0x1c] | r3 = *((r2 + 0x1c));
0x00000c0c str r3, [sp, 0x1c] | *(arg_1ch) = r3;
0x00000c0e ldr r3, [r2, 0x18] | r3 = *((r2 + 0x18));
0x00000c10 str r3, [sp, 0x18] | *(arg_18h) = r3;
0x00000c12 ldr r3, [r2, 0x14] | r3 = *((r2 + 0x14));
0x00000c14 str r3, [sp, 0x14] | *(arg_14h) = r3;
0x00000c16 ldr r3, [r2, 0x10] | r3 = *((r2 + 0x10));
0x00000c18 str r3, [sp, 0x10] | *(arg_10h) = r3;
0x00000c1a ldr r3, [r2, 0xc] | r3 = *((r2 + 0xc));
0x00000c1c str r3, [sp, 0xc] | *(arg_ch) = r3;
0x00000c1e ldr r3, [r2, 8] | r3 = *((r2 + 8));
0x00000c20 str r3, [sp, 8] | *(arg_8h) = r3;
0x00000c22 ldr r3, [r2, 4] | r3 = *((r2 + 4));
0x00000c24 ldr.w r2, [pc, 0x508] |
0x00000c28 str r3, [sp, 4] | var_4h = r3;
0x00000c2a mov r3, r5 | r3 = r5;
0x00000c2c add r2, pc | r2 = 0x1d60;
0x00000c2e blx 0x720 | r0 = asprintf_chk ()
0x00000c32 mov r8, r0 | r8 = r0;
0x00000c34 mov r0, r5 | r0 = r5;
0x00000c36 blx 0x6e4 | free (r0);
0x00000c3a cmp.w r8, 0 |
| if (r8 < 0) {
0x00000c3e blt.w 0xfb4 | goto label_34;
| }
0x00000c42 ldr r5, [sp, 0x60] | r5 = *(arg_60h);
| }
0x00000c44 ldr r2, [sp, 0x44] | r2 = *(arg_44h);
0x00000c46 ldr r3, [r2] | r3 = *(r2);
| if (r3 != 0) {
0x00000c48 cbz r3, 0xc86 |
0x00000c4a str r3, [sp] | *(sp) = r3;
0x00000c4c movs r1, 1 | r1 = 1;
0x00000c4e ldr r3, [r2, 0x18] | r3 = *((r2 + 0x18));
0x00000c50 ldr r0, [sp, 0x54] | r0 = *(arg_54h);
0x00000c52 str r3, [sp, 0x18] | *(arg_18h) = r3;
0x00000c54 ldr r3, [r2, 0x14] | r3 = *((r2 + 0x14));
0x00000c56 str r3, [sp, 0x14] | *(arg_14h) = r3;
0x00000c58 ldr r3, [r2, 0x10] | r3 = *((r2 + 0x10));
0x00000c5a str r3, [sp, 0x10] | *(arg_10h) = r3;
0x00000c5c ldr r3, [r2, 0xc] | r3 = *((r2 + 0xc));
0x00000c5e str r3, [sp, 0xc] | *(arg_ch) = r3;
0x00000c60 ldr r3, [r2, 8] | r3 = *((r2 + 8));
0x00000c62 str r3, [sp, 8] | *(arg_8h) = r3;
0x00000c64 ldr r3, [r2, 4] | r3 = *((r2 + 4));
0x00000c66 ldr.w r2, [pc, 0x4cc] |
0x00000c6a str r3, [sp, 4] | var_4h = r3;
0x00000c6c mov r3, r5 | r3 = r5;
0x00000c6e add r2, pc | r2 = 0x1da8;
0x00000c70 blx 0x720 | r0 = asprintf_chk ()
0x00000c74 mov r8, r0 | r8 = r0;
0x00000c76 mov r0, r5 | r0 = r5;
0x00000c78 blx 0x6e4 | free (r0);
0x00000c7c cmp.w r8, 0 |
| if (r8 < 0) {
0x00000c80 blt.w 0xf38 | goto label_35;
| }
0x00000c84 ldr r5, [sp, 0x60] | r5 = *(arg_60h);
| }
0x00000c86 ldr r2, [sp, 0x48] | r2 = *(arg_48h);
0x00000c88 ldr r3, [r2] | r3 = *(r2);
| if (r3 != 0) {
0x00000c8a cbz r3, 0xcbe |
0x00000c8c str r3, [sp] | *(sp) = r3;
0x00000c8e movs r1, 1 | r1 = 1;
0x00000c90 ldr r3, [r2, 0x10] | r3 = *((r2 + 0x10));
0x00000c92 ldr r0, [sp, 0x54] | r0 = *(arg_54h);
0x00000c94 str r3, [sp, 0x10] | *(arg_10h) = r3;
0x00000c96 ldr r3, [r2, 0xc] | r3 = *((r2 + 0xc));
0x00000c98 str r3, [sp, 0xc] | *(arg_ch) = r3;
0x00000c9a ldr r3, [r2, 8] | r3 = *((r2 + 8));
0x00000c9c str r3, [sp, 8] | *(arg_8h) = r3;
0x00000c9e ldr r3, [r2, 4] | r3 = *((r2 + 4));
0x00000ca0 ldr.w r2, [pc, 0x494] |
0x00000ca2 movs r4, 0x94 | r4 = 0x94;
0x00000ca4 str r3, [sp, 4] | var_4h = r3;
0x00000ca6 mov r3, r5 | r3 = r5;
0x00000ca8 add r2, pc | r2 = 0x1de4;
0x00000caa blx 0x720 | r0 = asprintf_chk ()
0x00000cae mov r8, r0 | r8 = r0;
0x00000cb0 mov r0, r5 | r0 = r5;
0x00000cb2 blx 0x6e4 | free (r0);
0x00000cb6 cmp.w r8, 0 |
0x00000cb8 lsrs r0, r0, 0x1c | r0 >>= 0x1c;
| if (r0 < r0) {
0x00000cba blt.w 0xfa0 | goto label_36;
| }
| }
0x00000cbe ldr r1, [sp, 0x60] | r1 = *(arg_60h);
0x00000cc0 mov r2, r8 | r2 = r8;
0x00000cc2 mov r0, r6 | r0 = r6;
0x00000cc4 blx 0x75c | r0 = write (r0, r1, r2);
0x00000cc8 cmp r0, 0 |
| if (r0 < 0) {
0x00000cca blt.w 0xf8c | goto label_37;
| }
0x00000cce ldr r5, [sp, 0x60] | r5 = *(arg_60h);
0x00000cd0 cmp r5, 0 |
| if (r5 != 0) {
0x00000cd2 bne.w 0xfdc | goto label_38;
| }
0x00000cd6 mov r0, r6 | r0 = r6;
0x00000cd8 mov r6, r5 | r6 = r5;
0x00000cda blx 0x78c | close (r0);
0x00000cde b 0x9e8 | goto label_4;
0x00000ce0 ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x00000ce2 mov r0, sb | r0 = sb;
0x00000ce4 bl 0x1360 | fcn_00001360 (r0, r1);
0x00000ce6 invalid |
0x00000cea movs r0, r1 | r0 = r1;
0x00000cec b 0xb9a | goto label_5;
0x00000cee mov r0, sb | r0 = sb;
0x00000cf0 blx 0x6fc | strdup (r0);
0x00000cf4 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000cf6 str r0, [r3] | *(r3) = r0;
0x00000cf8 b 0xb9a | goto label_5;
0x00000cfa ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000cfc str.w sb, [r3, 0x18] | __asm ("str.w sb, [r3, 0x18]");
0x00000d00 b 0xb9a | goto label_5;
0x00000d02 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000d04 str.w sb, [r3, 0x14] | __asm ("str.w sb, [r3, 0x14]");
0x00000d08 b 0xb9a | goto label_5;
0x00000d0a ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000d0c str.w sb, [r3, 0x10] | __asm ("str.w sb, [r3, 0x10]");
0x00000d10 b 0xb9a | goto label_5;
0x00000d12 mov r0, sb | r0 = sb;
0x00000d14 blx 0x6fc | strdup (r0);
0x00000d16 invalid |
0x00000d1a str r0, [r3, 0xc] | *((r3 + 0xc)) = r0;
0x00000d1c b 0xb9a | goto label_5;
0x00000d1e ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000d20 str.w sb, [r3, 8] | __asm ("str.w sb, [r3, 8]");
0x00000d24 b 0xb9a | goto label_5;
0x00000d26 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000d28 str.w sb, [r3, 4] | __asm ("str.w sb, [r3, 4]");
0x00000d2c b 0xb9a | goto label_5;
0x00000d2e mov r0, sb | r0 = sb;
0x00000d30 blx 0x6fc | strdup (r0);
0x00000d34 ldr r3, [sp, 0x44] | r3 = *(arg_44h);
0x00000d36 str r0, [r3] | *(r3) = r0;
0x00000d38 b 0xb9a | goto label_5;
0x00000d3a mov r0, sb | r0 = sb;
0x00000d3c blx 0x6fc | strdup (r0);
0x00000d40 str.w r0, [r8, 0x10] | __asm ("str.w r0, [r8, 0x10]");
0x00000d44 b 0xb9a | goto label_5;
0x00000d46 mov r0, sb | r0 = sb;
0x00000d48 blx 0x6fc | strdup (r0);
0x00000d4c str.w r0, [r8, 0xc] | __asm ("str.w r0, [r8, 0xc]");
0x00000d50 b 0xb9a | goto label_5;
0x00000d52 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000d54 str.w sb, [r3, 0x10] | __asm ("str.w sb, [r3, 0x10]");
0x00000d56 str r0, [sp, 0x40] | *((sp + 0x40)) = r0;
0x00000d58 b 0xb9a | goto label_5;
0x00000d5a ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000d5c str.w sb, [r3, 0xc] | __asm ("str.w sb, [r3, 0xc]");
0x00000d60 b 0xb9a | goto label_5;
0x00000d62 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00000d64 str.w sb, [r3, 8] | __asm ("str.w sb, [r3, 8]");
0x00000d68 b 0xb9a | goto label_5;
0x00000d6a ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000d6c str.w sb, [r3, 0x20] | __asm ("str.w sb, [r3, 0x20]");
0x00000d70 b 0xb9a | goto label_5;
0x00000d72 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000d74 str.w sb, [r3, 0x1c] | __asm ("str.w sb, [r3, 0x1c]");
0x00000d78 b 0xb9a | goto label_5;
0x00000d7a mov r0, sb | r0 = sb;
0x00000d7c blx 0x6fc | strdup (r0);
0x00000d80 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000d82 str r0, [r3, 0x18] | *((r3 + 0x18)) = r0;
| label_16:
0x00000d84 b 0xb9a | goto label_5;
0x00000d86 mov r0, sb | r0 = sb;
0x00000d88 blx 0x6fc | strdup (r0);
0x00000d8c ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000d8e str r0, [r3, 0x14] | *((r3 + 0x14)) = r0;
0x00000d90 b 0xb9a | goto label_5;
0x00000d92 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000d94 str.w sb, [r3, 0x10] | __asm ("str.w sb, [r3, 0x10]");
0x00000d98 b 0xb9a | goto label_5;
0x00000d9a ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000d9c str.w sb, [r3, 0xc] | __asm ("str.w sb, [r3, 0xc]");
0x00000da0 b 0xb9a | goto label_5;
0x00000da2 ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x00000da4 mov r0, sb | r0 = sb;
0x00000da6 bl 0x1360 | fcn_00001360 (r0, r1);
0x00000daa ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000dac str r0, [r3, 8] | *((r3 + 8)) = r0;
0x00000dae b 0xb9a | goto label_5;
0x00000db0 mov r0, sb | r0 = sb;
0x00000db2 bl 0x1308 | fcn_00001308 (r0);
0x00000db6 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000db8 str r0, [r3, 4] | *((r3 + 4)) = r0;
0x00000dba b 0xb9a | goto label_5;
0x00000dbc mov r0, sb | r0 = sb;
0x00000dbe blx 0x6fc | strdup (r0);
0x00000dc2 ldr r3, [sp, 0x40] | r3 = *(ptr);
0x00000dc4 str r0, [r3] | *(r3) = r0;
0x00000dc6 b 0xb9a | goto label_5;
0x00000dc8 ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x00000dca mov r0, sb | r0 = sb;
0x00000dcc bl 0x1360 | fcn_00001360 (r0, r1);
0x00000dd0 str.w r0, [r8, 0x24] | __asm ("str.w r0, [r8, 0x24]");
0x00000dd4 b 0xb9a | goto label_5;
0x00000dd6 ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x00000dd8 mov r0, sb | r0 = sb;
0x00000dda bl 0x1360 | fcn_00001360 (r0, r1);
0x00000dde str.w r0, [r8, 0x1c] | __asm ("str.w r0, [r8, 0x1c]");
0x00000de2 b 0xb9a | goto label_5;
0x00000de4 str.w sb, [r8] | __asm ("str.w sb, [r8]");
0x00000de8 b 0xb9a | goto label_5;
0x00000dea str.w sb, [r8, 4] | __asm ("str.w sb, [r8, 4]");
0x00000dee b 0xb9a | goto label_5;
0x00000df0 mov r0, sb | r0 = sb;
0x00000df2 bl 0x1308 | fcn_00001308 (r0);
0x00000df6 str.w r0, [r8, 0x20] | __asm ("str.w r0, [r8, 0x20]");
0x00000dfa b 0xb9a | goto label_5;
0x00000dfc mov r0, sb | r0 = sb;
0x00000dfe bl 0x1308 | fcn_00001308 (r0);
0x00000e02 str.w r0, [r8, 0x18] | __asm ("str.w r0, [r8, 0x18]");
0x00000e06 b 0xb9a | goto label_5;
0x00000e08 cmp r5, 0x15 |
| if (r5 == 0x15) {
0x00000e0a beq.w 0xf2c | goto label_39;
| }
0x00000e0e movs r3, 0 | r3 = 0;
0x00000e10 str.w r3, [r8, 0x14] | __asm ("str.w r3, [r8, 0x14]");
0x00000e14 b 0xb9e | goto label_6;
| label_23:
0x00000e16 mov.w r8, 0 | r8 = 0;
0x00000e1a b 0xaee | goto label_7;
| label_24:
0x00000e1c cmp r5, 0 |
| if (r5 == 0) {
0x00000e1e beq.w 0x105c | goto label_40;
| }
0x00000e22 cmp.w fp, 0 |
0x00000e26 add.w r3, fp, -1 | r3 = fp + -1;
| if (fp > 0) {
0x00000e2a bgt 0xe30 | goto label_41;
| }
0x00000e2c b 0xe3a | goto label_42;
| if (r5 == 0) {
| do {
0x00000e2e cbz r5, 0xe40 | goto label_43;
| }
| label_41:
0x00000e30 subs r3, 1 | r3--;
0x00000e32 ldr r5, [r5, 4] | r5 = *((r5 + 4));
0x00000e34 adds r2, r3, 1 | r2 = r3 + 1;
0x00000e36 bne 0xe2e |
| } while (r2 != r3);
| if (r5 != 0) {
0x00000e38 cbz r5, 0xe40 |
| label_42:
0x00000e3a ldr.w r8, [r5] | r8 = *(r5);
0x00000e3e b 0xaee | goto label_7;
| }
| label_43:
0x00000e40 mov r8, r5 | r8 = r5;
0x00000e42 b 0xaee | goto label_7;
| label_27:
0x00000e44 mov r5, r0 | r5 = r0;
0x00000e46 b 0xae4 | goto label_8;
| label_28:
0x00000e48 adds r0, r6, 1 | r0 = r6 + 1;
0x00000e4a blx 0x738 | malloc (r0);
0x00000e4e movs r3, 0x15 | r3 = 0x15;
0x00000e50 mov r8, r0 | r8 = r0;
0x00000e52 str r0, [r4, 8] | *((r4 + 8)) = r0;
0x00000e54 str r3, [r4] | *(r4) = r3;
0x00000e56 cmp r0, 0 |
| if (r0 == 0) {
0x00000e58 beq.w 0x1072 | goto label_44;
| }
0x00000e5c mov r2, r6 | r2 = r6;
0x00000e5e adds r1, r5, 5 | r1 = r5 + 5;
0x00000e60 blx 0x6f0 | memcpy (r0, r1, r2);
0x00000e64 movs r3, 0 | r3 = 0;
0x00000e66 strb.w r3, [r8, r6] | *((r8 + r6)) = r3;
0x00000e6a adds r3, r6, 5 | r3 = r6 + 5;
0x00000e6c add.w r8, r6, 6 | r8 = r6 + 6;
0x00000e70 b 0xa88 | goto label_1;
| label_31:
0x00000e72 mov r6, r4 | r6 = r4;
0x00000e74 b 0x972 | goto label_0;
| label_22:
0x00000e76 movs r3, 9 | r3 = 9;
0x00000e78 mov.w r8, 0xa | r8 = 0xa;
0x00000e7c b 0xa88 | goto label_1;
| label_33:
0x00000e9a ldr r3, [r4] | r3 = *(r4);
0x00000e9c movs r1, 1 | r1 = 1;
0x00000e9e ldr r2, [pc, 0x2a4] |
0x00000ea0 ldr r0, [sp, 0x54] | r0 = *(arg_54h);
0x00000ea2 ldr r3, [r3, 8] | r3 = *((r3 + 8));
0x00000ea4 add r2, pc | r2 = 0x1fee;
0x00000ea6 blx 0x720 | r0 = asprintf_chk ()
0x00000eaa cmp r0, r5 |
| if (r0 < r5) {
0x00000eac blt.w 0xfc8 | goto label_45;
| }
0x00000eb0 ldr r3, [pc, 0x294] |
0x00000eb2 mov r5, r4 | r5 = r4;
0x00000eb4 ldr.w fp, [pc, 0x294] |
0x00000eb8 ldr.w sl, [pc, 0x294] |
0x00000ebc add r3, pc | r3 = 0x2008;
0x00000ebe strd r6, r4, [sp, 0x4c] | __asm ("strd r6, r4, [sp, 0x4c]");
0x00000ec2 str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x00000ec4 add fp, pc | fp = 0x2014;
0x00000ec6 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00000ec8 add sl, pc | sl = 0x201c;
0x00000eca str r3, [sp, 0x38] | *(arg_38h) = r3;
0x00000ecc b 0xf10 |
| while (r1 != 0) {
0x00000ece mov r0, sl | r0 = sl;
| label_9:
0x00000ed0 ldr r4, [r2, 0x24] | r4 = *((r2 + 0x24));
0x00000ed2 str r4, [sp, 0x2c] | *(arg_2ch) = r4;
0x00000ed4 ldr r4, [r2, 0x20] | r4 = *((r2 + 0x20));
0x00000ed6 str r4, [sp, 0x28] | *(arg_28h) = r4;
0x00000ed8 ldr r4, [r2, 0x1c] | r4 = *((r2 + 0x1c));
0x00000eda str r4, [sp, 0x24] | *(arg_24h) = r4;
0x00000edc ldr r2, [r2, 0x18] | r2 = *((r2 + 0x18));
0x00000ede str r1, [sp, 0x18] | *(arg_18h) = r1;
0x00000ee0 movs r1, 1 | r1 = 1;
0x00000ee2 strd r8, sb, [sp, 0xc] | __asm ("strd r8, sb, [sp, 0xc]");
0x00000ee6 str r2, [sp, 0x20] | *(arg_20h) = r2;
0x00000ee8 ldr r2, [pc, 0x268] |
0x00000eea strd r3, r6, [sp] | __asm ("strd r3, r6, [sp]");
0x00000eee mov r3, r7 | r3 = r7;
0x00000ef0 str r0, [sp, 0x1c] | *(arg_1ch) = r0;
0x00000ef2 str r0, [sp, 0x14] | *(arg_14h) = r0;
0x00000ef4 add r2, pc | r2 = 0x204c;
0x00000ef6 ldr r0, [sp, 0x38] | r0 = *(arg_38h);
0x00000ef8 str.w lr, [sp, 8] | __asm ("str.w lr, [arg_8h]");
0x00000efc blx 0x720 | r0 = asprintf_chk ()
0x00000f00 subs.w r8, r0, 0 | r8 = r0 - 0;
| if (r8 < r0) {
0x00000f04 blt 0xf76 | goto label_46;
| }
0x00000f06 mov r0, r7 | r0 = r7;
0x00000f08 blx 0x6e4 | free (r0);
0x00000f0c ldr r5, [r5, 4] | r5 = *((r5 + 4));
| if (r5 == 0) {
0x00000f0e cbz r5, 0xf70 | goto label_47;
| }
0x00000f10 ldr r2, [r5] | r2 = *(r5);
0x00000f12 ldr r7, [sp, 0x60] | r7 = *(arg_60h);
0x00000f14 ldr r1, [r2, 0x14] | r1 = *((r2 + 0x14));
0x00000f16 ldrd r3, r6, [r2] | __asm ("ldrd r3, r6, [r2]");
0x00000f1a ldrd lr, r8, [r2, 8] | __asm ("ldrd lr, r8, [r2, 8]");
0x00000f1e ldr.w sb, [r2, 0x10] | sb = *((r2 + 0x10));
0x00000f22 cmp r1, 0 |
0x00000f24 bne 0xece |
| }
0x00000f26 ldr r1, [sp, 0x3c] | r1 = *(arg_3ch);
0x00000f28 mov r0, fp | r0 = fp;
0x00000f2a b 0xed0 | goto label_9;
| label_39:
0x00000f2c mov r0, sb | r0 = sb;
0x00000f2e blx 0x6fc | strdup (r0);
0x00000f32 str.w r0, [r8, 0x14] | __asm ("str.w r0, [r8, 0x14]");
0x00000f36 b 0xba2 | goto label_10;
| label_35:
0x00000f38 ldr r3, [pc, 0x21c] |
0x00000f3a mov.w r1, 0x100 | r1 = 0x100;
0x00000f3e ldr r2, [pc, 0x21c] |
0x00000f40 movs r0, 0 | r0 = 0;
0x00000f42 add r3, pc | r3 = 0x209e;
0x00000f44 add r2, pc | r2 = 0x20a6;
0x00000f46 blx 0x768 | g_log ();
| do {
| label_12:
0x00000f4a ldr r0, [sp, 0x60] | r0 = *(arg_60h);
| if (r0 != 0) {
0x00000f4c cbz r0, 0xf52 |
0x00000f4e blx 0x6e4 | free (r0);
| }
0x00000f52 mov r0, r6 | r0 = r6;
0x00000f54 blx 0x78c | close (r0);
| label_32:
0x00000f58 ldr r0, [pc, 0x204] |
0x00000f5a movs r6, 1 | r6 = 1;
0x00000f5c add r0, pc | r0 = 0x20c0;
0x00000f5e blx 0x72c | puts (r0);
0x00000f62 ldr r0, [pc, 0x200] |
0x00000f64 add r0, pc | r0 = 0x20ce;
0x00000f66 blx 0x72c | puts (r0);
| label_13:
0x00000f6a ldr r3, [sp, 0x34] | r3 = *(arg_34h);
0x00000f6c ldr r4, [r3] | r4 = *(r3);
0x00000f6e b 0x9e8 | goto label_4;
| label_47:
0x00000f70 ldrd r6, r4, [sp, 0x4c] | __asm ("ldrd r6, r4, [arg_4ch]");
0x00000f74 b 0xbf8 | goto label_11;
| label_46:
0x00000f76 ldr r3, [pc, 0x1f0] |
0x00000f78 mov.w r1, 0x100 | r1 = 0x100;
0x00000f7c ldr r2, [pc, 0x1ec] |
0x00000f7e movs r0, 0 | r0 = 0;
0x00000f80 ldr r6, [sp, 0x4c] | r6 = *(arg_4ch);
0x00000f82 add r3, pc | r3 = 0x20f0;
0x00000f84 add r2, pc | r2 = 0x20f4;
0x00000f86 blx 0x768 | g_log ();
0x00000f8a b 0xf4a |
| } while (1);
| label_37:
0x00000f8c ldr r3, [pc, 0x1e0] |
0x00000f8e mov.w r1, 0x100 | r1 = 0x100;
0x00000f92 ldr r2, [pc, 0x1e0] |
0x00000f94 movs r0, 0 | r0 = 0;
0x00000f96 add r3, pc | r3 = 0x210a;
0x00000f98 add r2, pc | r2 = 0x2112;
0x00000f9a blx 0x768 | g_log ();
0x00000f9e b 0xf4a | goto label_12;
| label_36:
0x00000fa0 ldr r3, [pc, 0x1d4] |
0x00000fa2 mov.w r1, 0x100 | r1 = 0x100;
0x00000fa6 ldr r2, [pc, 0x1d4] |
0x00000fa8 movs r0, 0 | r0 = 0;
0x00000faa add r3, pc | r3 = 0x2126;
0x00000fac add r2, pc | r2 = 0x212e;
0x00000fae blx 0x768 | g_log ();
0x00000fb2 b 0xf4a | goto label_12;
| label_34:
0x00000fb4 ldr r3, [pc, 0x1c8] |
0x00000fb6 mov.w r1, 0x100 | r1 = 0x100;
0x00000fba ldr r2, [pc, 0x1c8] |
0x00000fbc movs r0, 0 | r0 = 0;
0x00000fbe add r3, pc | r3 = 0x2142;
0x00000fc0 add r2, pc | r2 = 0x214a;
0x00000fc2 blx 0x768 | g_log ();
0x00000fc6 b 0xf4a | goto label_12;
| label_45:
0x00000fc8 ldr r3, [pc, 0x1bc] |
0x00000fca mov r0, r5 | r0 = r5;
0x00000fcc ldr r2, [pc, 0x1bc] |
0x00000fce mov.w r1, 0x100 | r1 = 0x100;
0x00000fd2 add r3, pc | r3 = 0x215e;
0x00000fd4 add r2, pc | r2 = 0x2164;
0x00000fd6 blx 0x768 | g_log ();
0x00000fda b 0xf4a | goto label_12;
| label_38:
0x00000fdc mov r0, r5 | r0 = r5;
0x00000fde blx 0x6e4 | free (r0);
0x00000fe2 mov r0, r6 | r0 = r6;
0x00000fe4 movs r6, 0 | r6 = 0;
0x00000fe6 blx 0x78c | close (r0);
0x00000fea b 0xf6a | goto label_13;
| label_19:
0x00000fec ldr r3, [pc, 0x1a0] |
0x00000fee movs r2, 0xf0 | r2 = 0xf0;
0x00000ff0 ldr r1, [pc, 0x1a0] |
0x00000ff2 ldr r0, [pc, 0x1a4] |
0x00000ff4 add r3, pc | r3 = 0x2188;
0x00000ff6 add r1, pc | r1 = 0x218e;
0x00000ff8 adds r3, 0x20 | r3 += 0x20;
0x00000ffa add r0, pc | r0 = 0x2198;
0x00000ffc blx 0x7a4 | assert_fail ();
| label_20:
0x00001000 ldr r3, [pc, 0x198] |
0x00001002 mov.w r2, 0x1f4 | r2 = 0x1f4;
0x00001006 ldr r1, [pc, 0x198] |
0x00001008 ldr r0, [pc, 0x198] |
0x0000100a add r3, pc | r3 = 0x21aa;
0x0000100c add r1, pc | r1 = 0x21b2;
0x0000100e adds r3, 0x4c | r3 += 0x4c;
0x00001010 add r0, pc | r0 = 0x21b8;
0x00001012 blx 0x7a4 | assert_fail ();
| label_17:
0x00001016 blx 0x708 | stack_chk_fail ();
0x0000101a ldr r3, [pc, 0x18c] |
0x0000101c mov.w r1, 0x100 | r1 = 0x100;
0x00001020 ldr r2, [pc, 0x188] |
0x00001022 movs r6, 1 | r6 = 1;
0x00001024 add r3, pc | r3 = 0x21d2;
0x00001026 add r2, pc | r2 = 0x21d6;
0x00001028 blx 0x768 | g_log ();
0x0000102c b.w 0x7e6 | goto label_14;
| label_40:
0x0000105c ldr r3, [pc, 0x160] |
0x0000105e movw r2, 0x3a6 | r2 = 0x3a6;
0x00001062 ldr r1, [pc, 0x160] |
0x00001064 ldr r0, [pc, 0x160] |
0x00001066 add r3, pc | r3 = 0x222a;
0x00001068 add r1, pc | r1 = 0x2232;
0x0000106a adds r3, 0x34 | r3 += 0x34;
0x0000106c add r0, pc | r0 = 0x2238;
0x0000106e blx 0x7a4 | assert_fail ();
| label_44:
0x00001072 ldr r3, [pc, 0x158] |
0x00001074 mov.w r2, 0x132 | r2 = 0x132;
0x00001078 ldr r1, [pc, 0x154] |
0x0000107a ldr r0, [pc, 0x158] |
0x0000107c add r3, pc | r3 = 0x224e;
0x0000107e add r1, pc | r1 = 0x2252;
0x00001080 adds r3, 0x20 | r3 += 0x20;
0x00001082 add r0, pc | r0 = 0x225c;
0x00001084 blx 0x7a4 | assert_fail ();
0x00001088 ldr r3, [pc, 0x14c] |
0x0000108a mov.w r1, 0x100 | r1 = 0x100;
0x0000108e ldr r2, [pc, 0x14c] |
0x00001090 movs r6, 1 | r6 = 1;
0x00001092 add r3, pc | r3 = 0x226e;
0x00001094 add r2, pc | r2 = 0x2276;
0x00001096 blx 0x768 | g_log ();
0x0000109a b.w 0x7e6 | goto label_14;
| label_21:
0x0000109e ldr r3, [pc, 0x140] |
0x000010a0 movw r2, 0x165 | r2 = 0x165;
0x000010a4 ldr r1, [pc, 0x13c] |
0x000010a6 ldr r0, [pc, 0x140] |
0x000010a8 add r3, pc | r3 = 0x228e;
0x000010aa add r1, pc | r1 = 0x2292;
0x000010ac adds r3, 0x20 | r3 += 0x20;
0x000010ae add r0, pc | r0 = 0x229c;
0x000010b0 blx 0x7a4 | assert_fail ();
| label_25:
0x000010b4 add.w r3, fp, 1 | r3 += arg_1h_2;
0x000010b8 ldr r2, [pc, 0x130] |
0x000010ba str r3, [sp] | *(sp) = r3;
0x000010bc mov.w r1, 0x100 | r1 = 0x100;
0x000010c0 ldr r3, [pc, 0x12c] |
0x000010c2 add r2, pc | r2 = 0x22b2;
0x000010c4 add r3, pc | r3 = 0x22b8;
0x000010c6 b 0x944 | goto label_15;
| label_26:
0x000010c8 ldrd r3, r2, [sp, 0x58] | __asm ("ldrd r3, r2, [arg_58h]");
0x000010cc mov.w r1, 0x100 | r1 = 0x100;
0x000010d0 mov r5, r0 | r5 = r0;
0x000010d2 blx 0x768 | g_log ();
0x000010d6 b 0xae4 | goto label_8;
| label_29:
0x000010d8 ldr r3, [pc, 0x118] |
0x000010da movw r2, 0x103 | r2 = 0x103;
0x000010de ldr r1, [pc, 0x118] |
0x000010e0 ldr r0, [pc, 0x118] |
0x000010e2 add r3, pc | r3 = 0x22da;
0x000010e4 add r1, pc | r1 = 0x22e2;
0x000010e6 adds r3, 0x20 | r3 += 0x20;
0x000010e8 add r0, pc | r0 = 0x22e8;
0x000010ea blx 0x7a4 | assert_fail ();
0x000010ee ldr r3, [pc, 0x110] |
0x000010f0 movw r2, 0x1c9 | r2 = 0x1c9;
0x000010f4 ldr r1, [pc, 0x10c] |
0x000010f6 ldr r0, [pc, 0x110] |
0x000010f8 add r3, pc | r3 = 0x22fe;
0x000010fa add r1, pc | r1 = 0x2302;
0x000010fc add r0, pc | r0 = 0x230a;
0x000010fe blx 0x7a4 | assert_fail ();
0x00001102 nop |
0x00001104 asrs r4, r0, 0x1f | r4 = r0 >> 0x1f;
0x00001106 movs r1, r0 | r1 = r0;
0x00001108 lsls r0, r5, 1 | r0 = r5 << 1;
0x0000110a movs r0, r0 |
0x0000110c lsrs r2, r4, 0x12 | r2 = r4 >> 0x12;
0x0000110e movs r0, r0 |
0x00001110 lsrs r0, r7, 0x12 | r0 = r7 >> 0x12;
0x00001112 movs r0, r0 |
0x00001114 asrs r6, r2, 0x1e | r6 = r2 >> 0x1e;
0x00001116 movs r1, r0 | r1 = r0;
0x00001118 lsrs r0, r7, 0x1d | r0 = r7 >> 0x1d;
0x0000111a movs r0, r0 |
0x0000111c lsrs r0, r6, 0x16 | r0 = r6 >> 0x16;
0x0000111e movs r0, r0 |
0x00001120 lsrs r0, r7, 0x1b | r0 = r7 >> 0x1b;
0x00001122 movs r0, r0 |
0x00001124 lsrs r6, r4, 0x13 | r6 = r4 >> 0x13;
0x00001126 movs r0, r0 |
0x00001128 lsrs r6, r2, 0x15 | r6 = r2 >> 0x15;
0x0000112a movs r0, r0 |
0x0000112c lsrs r4, r6, 0xc | r4 = r6 >> 0xc;
0x0000112e movs r0, r0 |
0x00001130 lsrs r0, r0, 0xe | r0 >>= 0xe;
0x00001132 movs r0, r0 |
0x00001134 lsrs r6, r4, 0xe | r6 = r4 >> 0xe;
0x00001136 movs r0, r0 |
0x00001138 lsrs r0, r2, 0xf | r0 = r2 >> 0xf;
0x0000113a movs r0, r0 |
0x0000113c lsrs r0, r5, 6 | r0 = r5 >> 6;
0x0000113e movs r0, r0 |
0x00001140 lsrs r6, r2, 0xb | r6 = r2 >> 0xb;
0x00001142 movs r0, r0 |
0x00001144 lsrs r4, r1, 1 | r4 = r1 >> 1;
0x00001146 movs r0, r0 |
0x00001148 lsls r0, r6, 0x16 | r0 = r6 << 0x16;
0x0000114a movs r0, r0 |
0x0000114c lsrs r4, r6, 5 | r4 = r6 >> 5;
0x0000114e movs r0, r0 |
0x00001150 lsls r4, r5, 0x16 | r4 = r5 << 0x16;
0x00001152 movs r0, r0 |
0x00001154 lsrs r4, r0, 1 | r4 = r0 >> 1;
0x00001156 movs r0, r0 |
0x00001158 lsrs r6, r6, 3 | r6 >>= 3;
0x0000115a movs r0, r0 |
0x0000115c lsrs r0, r7, 3 | r0 = r7 >> 3;
0x0000115e movs r0, r0 |
0x00001160 lsrs r0, r0, 7 | r0 >>= 7;
0x00001162 movs r0, r0 |
0x00001164 lsls r4, r6, 0x14 | r4 = r6 << 0x14;
0x00001166 movs r0, r0 |
0x00001168 lsrs r6, r6, 2 | r6 >>= 2;
0x0000116a movs r0, r0 |
0x0000116c lsls r0, r5, 0x1f | r0 = r5 << 0x1f;
0x0000116e movs r0, r0 |
0x00001170 lsrs r2, r4, 2 | r2 = r4 >> 2;
0x00001172 movs r0, r0 |
0x00001174 lsrs r0, r1, 5 | r0 = r1 >> 5;
0x00001176 movs r0, r0 |
0x00001178 lsrs r6, r1, 2 | r6 = r1 >> 2;
0x0000117a movs r0, r0 |
0x0000117c lsrs r4, r6, 3 | r4 = r6 >> 3;
0x0000117e movs r0, r0 |
0x00001180 lsrs r2, r7, 1 | r2 = r7 >> 1;
0x00001182 movs r0, r0 |
0x00001184 lsrs r4, r3, 0x20 | r4 = r3 >> 0x20;
0x00001186 movs r0, r0 |
0x00001188 lsrs r6, r4, 1 | r6 = r4 >> 1;
0x0000118a movs r0, r0 |
0x0000118c lsls r4, r5, 0x1c | r4 = r5 << 0x1c;
0x0000118e movs r0, r0 |
0x00001190 lsrs r4, r1, 6 | r4 = r1 >> 6;
0x00001192 movs r0, r0 |
0x00001194 lsls r2, r6, 0x16 | r2 = r6 << 0x16;
0x00001196 movs r0, r0 |
0x00001198 lsls r2, r1, 0x17 | r2 = r1 << 0x17;
0x0000119a movs r0, r0 |
0x0000119c lsrs r6, r6, 5 | r6 >>= 5;
0x0000119e movs r0, r0 |
0x000011a0 lsls r4, r3, 0x16 | r4 = r3 << 0x16;
0x000011a2 movs r0, r0 |
0x000011a4 lsrs r4, r1, 5 | r4 = r1 >> 5;
0x000011a6 movs r0, r0 |
0x000011a8 lsrs r4, r2, 0x20 | r4 = r2 >> 0x20;
0x000011aa movs r0, r0 |
0x000011ac lsls r6, r5, 0x13 | r6 = r5 << 0x13;
0x000011ae movs r0, r0 |
0x000011b0 lsls r6, r7, 0x1f | r6 = r7 << 0x1f;
0x000011b2 movs r0, r0 |
0x000011b4 lsls r0, r1, 0x14 | r0 = r1 << 0x14;
0x000011b6 movs r0, r0 |
0x000011b8 lsls r0, r5, 0x1f | r0 = r5 << 0x1f;
0x000011ba movs r0, r0 |
0x000011bc lsls r2, r4, 0x14 | r2 = r4 << 0x14;
0x000011be movs r0, r0 |
0x000011c0 lsrs r2, r3, 4 | r2 = r3 >> 4;
0x000011c2 movs r0, r0 |
0x000011c4 lsls r0, r0, 0x15 | r0 <<= 0x15;
0x000011c6 movs r0, r0 |
0x000011c8 lsls r4, r7, 0x18 | r4 = r7 << 0x18;
0x000011ca movs r0, r0 |
0x000011cc lsrs r4, r0, 4 | r4 = r0 >> 4;
0x000011ce movs r0, r0 |
0x000011d0 lsls r2, r5, 0x14 | r2 = r5 << 0x14;
0x000011d2 movs r0, r0 |
0x000011d4 lsls r6, r7, 0x15 | r6 = r7 << 0x15;
0x000011d6 movs r0, r0 |
0x000011d8 lsls r6, r4, 0x1e | r6 = r4 << 0x1e;
0x000011da movs r0, r0 |
0x000011dc lsls r0, r2, 0x11 | r0 = r2 << 0x11;
0x000011de movs r0, r0 |
0x000011e0 lsrs r0, r3, 3 | r0 = r3 >> 3;
0x000011e2 movs r0, r0 |
0x000011e4 lsls r6, r7, 0x13 | r6 = r7 << 0x13;
0x000011e6 movs r0, r0 |
0x000011e8 lsls r6, r4, 0x15 | r6 = r4 << 0x15;
0x000011ea movs r0, r0 |
0x000011ec lsls r6, r0, 0x16 | r6 = r0 << 0x16;
0x000011ee movs r0, r0 |
0x000011f0 lsls r4, r6, 0x1d | r4 = r6 << 0x1d;
0x000011f2 movs r0, r0 |
0x000011f4 lsrs r6, r3, 2 | r6 = r3 >> 2;
0x000011f6 movs r0, r0 |
0x000011f8 lsls r4, r0, 0x13 | r4 = r0 << 0x13;
0x000011fa movs r0, r0 |
0x000011fc lsls r0, r4, 0x13 | r0 = r4 << 0x13;
0x000011fe movs r0, r0 |
0x00001200 lsrs r0, r1, 2 | r0 = r1 >> 2;
0x00001202 movs r0, r0 |
0x00001204 lsls r6, r5, 0x12 | r6 = r5 << 0x12;
0x00001206 movs r0, r0 |
0x00001208 lsls r4, r0, 0x13 | r4 = r0 << 0x13;
0x0000120a movs r0, r0 |
0x00001240 adds r0, 0x14 | r0 += 0x14;
0x00001242 b 0xd84 | goto label_16;
| }
[*] Function sprintf used 6 times snmpd_migrate