[*] Binary protection state of libnetsnmpagent.so.40.1.0
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of libnetsnmpagent.so.40.1.0
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libnetsnmpagent.so.40.1.0 @ 0x21168 */
| #include <stdint.h>
|
| #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
|
; (fcn) sym.vacm_create_simple () | void vacm_create_simple (int16_t arg_154h, int16_t arg_1c8h, int16_t arg_308h, int16_t arg_3e8h, int16_t arg_b53h, int16_t arg_b54h, int16_t arg_b56h, int16_t arg_1540h, int16_t arg_1f40h, int16_t arg_2940h, int16_t arg_3d40h, int16_t arg_4700h, int16_t arg_5100h, int16_t arg_5b00h, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
| int16_t var_0h_2;
| int16_t var_4h_3;
| int16_t var_8h_2;
| int16_t var_ch_3;
| int16_t var_10h;
| int16_t var_14h;
| int16_t var_18h_2;
| int16_t var_1ch_2;
| int16_t var_28h;
| int16_t var_2ch;
| int16_t var_30h;
| int16_t var_34h;
| int16_t var_38h;
| int16_t var_3ch;
| int16_t var_40h;
| int16_t var_44h;
| int16_t var_48h;
| int16_t var_4ch;
| int16_t var_58h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
| r3 = arg4;
0x00021168 svcmi 0xf0e92d | __asm ("svcmi 0xf0e92d");
0x0002116c mov r4, r2 | r4 = r2;
0x0002116e ldr.w r2, [pc, 0x660] |
0x00021172 mov r5, r3 | r5 = r3;
0x00021174 sub.w sp, sp, 0x5b00 |
0x00021178 mov sb, r1 | sb = r1;
0x0002117a ldr.w r3, [pc, 0x658] | r3 = *(0x217d6);
0x0002117e sub sp, 0x5c |
0x00021180 add r2, pc | r2 = 0x42956;
0x00021182 str r0, [sp, 0x44] | var_44h = r0;
0x00021184 add.w r1, sp, 0x5b00 | r1 += arg_5b00h;
0x00021188 add.w r0, sp, 0x2940 | r0 += arg_2940h;
0x0002118c ldr r3, [r2, r3] |
0x0002118e add.w r6, sp, 0x5100 | r6 += arg_5100h;
0x00021192 adds r0, 0x18 | r0 += 0x18;
0x00021194 adds r6, 0x54 | r6 += 0x54;
0x00021196 add.w fp, sp, 0x3340 |
0x00021198 ldrh r5, [r1, r5] | r5 = *((r1 + r5));
0x0002119a adds r1, 0x54 | r1 += 0x54;
0x0002119c ldr r3, [r3] | r3 = *(0x42956);
0x0002119e str r3, [r1] | *(r1) = r3;
0x000211a0 mov.w r3, 0 | r3 = 0;
0x000211a4 ldr.w r3, [pc, 0x630] |
0x000211a8 movs r1, 0 | r1 = 0;
0x000211aa str r0, [sp, 0x28] | var_28h = r0;
0x000211ac add.w fp, fp, 0x14 |
0x000211b0 add.w r8, sp, 0x3d40 | r8 += arg_3d40h;
0x000211b4 add r3, pc | r3 = 0x42990;
0x000211b6 mov.w r2, 0xa00 | r2 = 0xa00;
0x000211ba str r3, [sp, 0x40] | var_40h = r3;
0x000211bc movw r3, 0x6e61 |
0x000211c0 movt r3, 0x79 | r3 = 0x796e61;
0x000211c4 add.w r8, r8, 0x14 | r8 += 0x14;
0x000211c8 str r3, [r0, -0x4] | *((r0 - 0x4)) = r3;
0x000211cc mov r0, r6 | r0 = r6;
0x000211ce blx 0xdf80 | snmp_add ();
0x000211d2 mov.w r2, 0xa00 | r2 = 0xa00;
0x000211d6 movs r1, 0 | r1 = 0;
0x000211d8 mov r0, fp | r0 = fp;
0x000211da add r7, sp, 0x58 | r7 += var_58h;
0x000211dc blx 0xdf80 | snmp_add ();
0x000211e0 mov.w r2, 0xa00 | r2 = 0xa00;
0x000211e4 movs r1, 0 | r1 = 0;
0x000211e6 mov r0, r8 | r0 = r8;
0x000211e8 blx 0xdf80 | snmp_add ();
0x000211ec mov r0, sb | r0 = sb;
0x000211ee sub.w sb, r7, 4 | sb = r7 - 4;
0x000211f2 mov r1, sb | r1 = sb;
0x000211f4 mov.w r2, 0x100 | r2 = 0x100;
0x000211f8 blx 0xd9f8 | fcn_0000d9f8 ();
0x000211fc cmp r4, 1 |
0x000211fe ldrh r1, [r7, -0x4] | r1 = *((r7 - 0x4));
0x00021202 mov r3, r0 | r3 = r0;
| if (r4 == 1) {
0x00021204 beq.w 0x2161c | goto label_14;
| }
0x00021208 movw r2, 0x762d | r2 = 0x762d;
0x0002120c cmp r1, r2 |
0x0002120e beq.w 0x2146c |
| while (r2 != 0) {
0x00021212 movs r2, 3 | r2 = 3;
0x00021214 str r2, [sp, 0x34] | var_34h = r2;
| if (r3 != 0) {
| label_0:
0x00021216 cbz r3, 0x21220 |
0x00021218 ldrb r2, [r3] | r2 = *(r3);
0x0002121a cmp r2, 0 |
| if (r2 != 0) {
0x0002121c bne.w 0x21744 | goto label_15;
| }
| }
0x00021220 ldr.w r1, [pc, 0x5b8] | r1 = *(0x000217dc);
0x00021224 add.w r2, sp, 0x1f40 | r2 += arg_1f40h;
0x00021228 adds r2, 0x14 | r2 += 0x14;
0x0002122a add r1, pc | r1 += pc;
0x0002122c ldm r1, {r0, r1} | r0 = *(r1);
| r1 = *((r1 + 4));
0x0002122e stm.w r2, {r0, r1} | *(r2) = r0;
| *((r2 + 4)) = r1;
| label_9:
0x00021232 ldr.w r2, [pc, 0x5ac] | r2 = *(0x000217e0);
0x00021236 add.w r7, sp, 0x4700 | r7 += arg_4700h;
0x0002123a adds r7, 0x58 | r7 += 0x58;
0x0002123c str r7, [sp, 0x2c] | var_2ch = r7;
0x0002123e add r2, pc | r2 += pc;
0x00021240 ldm.w r2, {r0, r1} | r0 = *(r2);
| r1 = *((r2 + 4));
0x00021244 strh r1, [r7] | *(r7) = r1;
0x00021246 lsrs r1, r1, 0x10 | r1 >>= 0x10;
0x00021248 str r0, [r7, -0x4] | *((r7 - 0x4)) = r0;
0x0002124c strb r1, [r7, 2] | *((r7 + 2)) = r1;
| label_5:
0x0002124e cmp r3, 0 |
| if (r3 == 0) {
0x00021250 beq.w 0x214ec | goto label_16;
| }
0x00021254 ldrb r2, [r3] | r2 = *(r3);
0x00021256 cmp r2, 0 |
| if (r2 == 0) {
0x00021258 beq.w 0x214ec | goto label_16;
| }
0x0002125c cmp r2, 0x2d |
| if (r2 != 0x2d) {
0x0002125e bne.w 0x21728 | goto label_17;
| }
0x00021262 ldrb r2, [r3, 1] | r2 = *((r3 + 1));
0x00021264 cmp r2, 0x56 |
| if (r2 != 0x56) {
0x00021266 bne.w 0x21728 | goto label_17;
| }
0x0002126a ldrb r2, [r3, 2] | r2 = *((r3 + 2));
0x0002126c subs r2, 0x20 | r2 -= 0x20;
| if (r2 != 0x20) {
0x0002126e bne.w 0x21728 | goto label_17;
| }
0x00021270 strh r3, [r3, 0x12] | *((r3 + 0x12)) = r3;
0x00021272 add.w r7, sp, 0x1540 | r7 += arg_1540h;
0x00021276 mov r0, r3 | r0 = r3;
0x00021278 adds r7, 0x18 | r7 += 0x18;
0x0002127a str r2, [sp, 0x30] | var_30h = r2;
0x0002127c blx 0xe06c | fcn_0000e06c ();
0x00021280 mov.w r2, 0xa00 | r2 = 0xa00;
0x00021284 subs r1, r7, 4 | r1 = r7 - 4;
0x00021286 blx 0xd9f8 | r0 = fcn_0000d9f8 ();
0x0002128a mov r3, r0 | r3 = r0;
| if (r3 != 0) {
| label_1:
0x0002128c cbz r3, 0x21296 |
0x0002128e ldrb r2, [r3] | r2 = *(r3);
0x00021290 cmp r2, 0 |
| if (r2 != 0) {
0x00021292 bne.w 0x216fc | goto label_18;
| }
| }
0x00021296 movs r3, 1 | r3 = 1;
0x00021298 str r3, [sp, 0x38] | var_38h = r3;
| label_8:
0x0002129a lsls r3, r5, 0x1e | r3 = r5 << 0x1e;
0x0002129c itt mi |
| if (r3 >= r5) {
0x0002129e submi r3, r7, 4 | r3 = r7 - 4;
| }
| if (r3 >= r5) {
0x000212a0 strmi r3, [sp, 0x48] | var_48h = r3;
| }
| if (r3 >= r5) {
0x000212a2 bmi 0x212ac |
0x000212a4 ldr.w r3, [pc, 0x53c] |
0x000212a8 add r3, pc | r3 = 0x42a90;
0x000212aa str r3, [sp, 0x48] | var_48h = r3;
| }
0x000212ac ldr.w r2, [pc, 0x538] | r2 = *(0x000217e8);
0x000212b0 cmp r4, 5 |
0x000212b2 it ne |
| if (r4 != 5) {
0x000212b4 cmpne r4, 2 | __asm ("cmpne r4, 2");
| }
0x000212b6 sub.w r3, r4, 2 | r3 = r4 - 2;
0x000212ba ite eq |
| if (r4 != 5) {
0x000212bc moveq sl, 1 | sl = 1;
| }
| if (r4 != 5) {
0x000212c0 mov.w sl, 0 | sl = 0;
| }
0x000212c4 cmp r3, 1 |
0x000212c6 add r2, pc | r2 += pc;
0x000212c8 bic r1, r3, 2 | r1 = BIT_MASK (r3, 2);
0x000212cc ldr r0, [r2] | r0 = *(r2);
0x000212ce str r1, [sp, 0x3c] | var_3ch = r1;
0x000212d0 add.w r0, r0, 1 | r0++;
0x000212d4 str r0, [r2] | *(r2) = r0;
| if (r3 < 1) {
0x000212d6 bls.w 0x2159e | goto label_19;
| }
0x000212da add.w r2, sp, 0x1f40 | r2 += arg_1f40h;
0x000212de adds r2, 0x14 | r2 += 0x14;
0x000212e0 cmp.w sl, 0 |
| if (sl != 0) {
0x000212e4 beq 0x21322 |
| label_3:
0x000212e6 ldrb r3, [r6] | r3 = *(r6);
0x000212e8 cmp r3, 0 |
| if (r3 == 0) {
0x000212ea beq.w 0x216d4 | goto label_20;
| }
0x000212ee ldr.w r3, [pc, 0x4fc] | r3 = *(0x000217ec);
0x000212f2 add.w sl, sp, 0x154 | sl += arg_154h;
0x000212f6 strd r2, sb, [sp, 0xc] | __asm ("strd r2, sb, [sp, 0xc]");
0x000212fa mov r0, sl | r0 = sl;
0x000212fc movs r2, 1 | r2 = 1;
0x000212fe strd r6, fp, [sp, 4] | __asm ("strd r6, fp, [sp, 4]");
0x00021302 add r3, pc | r3 += pc;
0x00021304 str r3, [sp] | *(sp) = r3;
0x00021306 mov.w r3, 0xa00 | r3 = 0xa00;
0x0002130a mov r1, r3 | r1 = r3;
0x0002130c blx 0xe9b4 | fcn_0000e9b4 ();
| label_6:
0x00021310 ldr.w r0, [pc, 0x4dc] |
0x00021314 movs r2, 0 | r2 = 0;
0x00021316 mov r1, sl | r1 = sl;
0x00021318 strb.w r2, [sp, 0xb53] | *(arg_b53h) = r2;
0x0002131c add r0, pc | r0 = 0x42b10;
0x0002131e blx 0xcdac | fcn_0000cdac ();
| }
0x00021322 ldr r3, [sp, 0x3c] | r3 = var_3ch;
| if (r3 == 0) {
0x00021324 cbnz r3, 0x21360 |
0x00021326 ldr r3, [sp, 0x34] | r3 = var_34h;
0x00021328 mov.w r2, 0xa00 | r2 = 0xa00;
0x0002132c str.w fp, [sp, 4] | __asm ("str.w fp, [var_4h_3]");
0x00021330 mov r1, sb | r1 = sb;
0x00021332 strd r3, r6, [sp, 0x14] | __asm ("strd r3, r6, [sp, 0x14]");
0x00021336 ldr r3, [sp, 0x30] | r3 = var_30h;
0x00021338 str r3, [sp, 0xc] | var_ch_3 = r3;
0x0002133a ldr.w r3, [pc, 0x4b8] | r3 = *(0x000217f4);
0x0002133e add r3, pc | r3 += pc;
0x00021340 ldr r0, [r3] | r0 = *(r3);
0x00021342 str r2, [sp, 0x10] | var_10h = r2;
0x00021344 str r2, [sp, 8] | var_8h_2 = r2;
0x00021346 ldr.w r3, [pc, 0x4b0] |
0x0002134a ldr r2, [sp, 0x40] | r2 = var_40h;
0x0002134c ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x0002134e add.w r2, sp, 0x1f40 | r2 += arg_1f40h;
0x00021352 adds r2, 0x14 | r2 += 0x14;
0x00021354 str r3, [sp] | *(sp) = r3;
0x00021356 ldr.w r3, [pc, 0x4a4] | r3 = *(0x000217fc);
0x0002135a add r3, pc | r3 = 0x42b58;
0x0002135c blx 0xd828 | fcn_0000d828 ();
| }
0x00021360 cmp r4, 1 |
| if (r4 != 1) {
0x00021362 bne.w 0x215d8 | goto label_21;
| }
0x00021366 ldr r3, [sp, 0x30] | r3 = var_30h;
| if (r3 != 0) {
0x00021368 cbz r3, 0x21386 |
0x0002136a ldr.w r3, [pc, 0x494] | r3 = *(0x00021800);
0x0002136e mov r1, r4 | r1 = r4;
0x00021370 mov.w r2, 0xa00 | r2 = 0xa00;
0x00021374 subs r0, r7, 4 | r0 = r7 - 4;
0x00021376 add r3, pc | r3 += pc;
0x00021378 ldr r3, [r3] | r3 = *(r3);
0x0002137a str r3, [sp] | *(sp) = r3;
0x0002137c ldr.w r3, [pc, 0x484] |
0x00021380 add r3, pc | r3 = 0x42b88;
0x00021382 blx 0xdee8 | fcn_0000dee8 ();
| }
0x00021386 ldr.w r1, [pc, 0x480] |
0x0002138a ldr r0, [sp, 0x44] | r0 = var_44h;
0x0002138c add r1, pc | r1 = 0x42b9a;
0x0002138e blx 0xcea4 | fcn_0000cea4 ();
0x00021392 mov r1, sb | r1 = sb;
0x00021394 mov.w r2, 0xa00 | r2 = 0xa00;
0x00021398 cmp r0, 0 |
| if (r0 != 0) {
0x0002139a bne.w 0x2165a | goto label_22;
| }
0x0002139e mov r0, r8 | r0 = r8;
0x000213a0 blx 0xe02c | fcn_0000e02c ();
| label_4:
0x000213a4 ldr r3, [sp, 0x30] | r3 = var_30h;
| if (r3 != 0) {
0x000213a6 cbz r3, 0x213de |
0x000213a8 ldr.w r3, [pc, 0x460] | r3 = *(0x0002180c);
0x000213ac addw r2, sp, 0xb54 | __asm ("addw r2, arg_b54h");
0x000213b0 add.w sb, sp, 0x154 | sb += arg_154h;
0x000213b4 str r2, [sp, 8] | var_8h_2 = r2;
0x000213b6 subs r2, r7, 4 | r2 = r7 - 4;
0x000213b8 mov r0, sb | r0 = sb;
0x000213ba add r3, pc | r3 += pc;
0x000213bc str r2, [sp, 4] | var_4h_3 = r2;
0x000213be str r3, [sp] | *(sp) = r3;
0x000213c0 mov.w r3, 0xa00 | r3 = 0xa00;
0x000213c4 mov r1, r3 | r1 = r3;
0x000213c6 movs r2, 1 | r2 = 1;
0x000213c8 blx 0xe9b4 | fcn_0000e9b4 ();
0x000213cc ldr.w r0, [pc, 0x440] |
0x000213d0 movs r3, 0 | r3 = 0;
0x000213d2 mov r1, sb | r1 = sb;
0x000213d4 strb.w r3, [sb, 0x9ff] | *((sb + 0x9ff)) = r3;
0x000213d8 add r0, pc | r0 = 0x42bec;
0x000213da blx 0xcf48 | fcn_0000cf48 ();
| }
0x000213de bic r3, r5, 2 | r3 = BIT_MASK (r5, 2);
0x000213e2 cmp r3, 1 |
| if (r3 != 1) {
0x000213e4 bne.w 0x21516 | goto label_23;
| }
0x000213e8 ldrb r3, [r6] | r3 = *(r6);
| if (r3 == 0) {
0x000213ea cbnz r3, 0x213f2 |
0x000213ec ldr.w r6, [pc, 0x424] |
0x000213f0 add r6, pc | r6 = 0x42c08;
| }
0x000213f2 ldr r3, [sp, 0x38] | r3 = var_38h;
0x000213f4 cmp r3, 0 |
| if (r3 != 0) {
0x000213f6 bne.w 0x216f6 | goto label_24;
| }
0x000213fa ldr.w r3, [pc, 0x41c] | r3 = *(0x00021818);
0x000213fe add r3, pc | r3 += pc;
| label_7:
0x00021400 ldr r2, [sp, 0x28] | r2 = var_28h;
0x00021402 add r4, sp, 0x154 | r4 += arg_154h;
0x00021404 str r3, [sp, 0x14] | var_14h = r3;
0x00021406 subs r7, 4 | r7 -= 4;
0x00021408 ldr r3, [sp, 0x2c] | r3 = var_2ch;
0x0002140a ldr.w r0, [pc, 0x410] | r0 = *(0x0002181c);
0x0002140e subs r1, r2, 4 | r1 = r2 - 4;
0x00021410 ldr r2, [sp, 0x48] | r2 = var_48h;
0x00021412 subs r3, 4 | r3 -= 4;
0x00021414 str r1, [sp, 0xc] | var_ch_3 = r1;
0x00021416 add r0, pc | r0 += pc;
0x00021418 str r3, [sp, 0x10] | var_10h = r3;
0x0002141a mov.w r3, 0xa00 | r3 = 0xa00;
0x0002141e strd r2, r2, [sp, 0x1c] | __asm ("strd r2, r2, [sp, 0x1c]");
0x00021422 mov r1, r3 | r1 = r3;
0x00021424 movs r2, 1 | r2 = 1;
0x00021426 str r0, [sp] | *(sp) = r0;
0x00021428 mov r0, r4 | r0 = r4;
0x0002142a str r6, [sp, 8] | var_8h_2 = r6;
0x0002142c str r7, [sp, 0x18] | var_18h_2 = r7;
0x0002142e str.w r8, [sp, 4] | __asm ("str.w r8, [var_4h_3]");
0x00021432 blx 0xe9b4 | fcn_0000e9b4 ();
0x00021436 ldr r0, [pc, 0x3e8] |
0x00021438 movs r2, 0 | r2 = 0;
0x0002143a mov r1, r4 | r1 = r4;
0x0002143c strb.w r2, [r4, 0x9ff] | *((r4 + 0x9ff)) = r2;
0x00021440 add r0, pc | r0 = 0x42c66;
0x00021442 blx 0xe56c | fcn_0000e56c ();
| label_2:
0x00021446 ldr r2, [pc, 0x3dc] |
0x00021448 add.w r1, sp, 0x5b00 | r1 += arg_5b00h;
0x0002144c ldr r3, [pc, 0x384] | r3 = *(0x217d4);
0x0002144e adds r1, 0x54 | r1 += 0x54;
0x00021450 add r2, pc | r2 = 0x42c7a;
0x00021452 ldr r3, [r2, r3] | r3 = *(0x42c7a);
0x00021454 ldr r2, [r3] | r2 = *(0x42c7a);
0x00021456 ldr r3, [r1] | r3 = *(r1);
0x00021458 eors r2, r3 | r2 ^= r3;
0x0002145a mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0002145e bne.w 0x217cc | goto label_25;
| }
0x00021462 add.w sp, sp, 0x5b00 |
0x00021466 add sp, 0x5c |
0x00021468 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
0x0002146c ldrb.w r2, [sb, 2] | r2 = *((sb + 2));
0x00021470 cmp r2, 0 |
0x00021472 bne.w 0x21212 |
| }
0x00021476 cmp r0, 0 |
| if (r0 == 0) {
0x00021478 beq.w 0x21780 | goto label_26;
| }
0x0002147c ldr r3, [sp, 0x28] | r3 = var_28h;
0x0002147e mov.w r2, 0xa00 | r2 = 0xa00;
0x00021482 sub.w sl, r3, 4 | sl = r3 - 4;
0x00021486 mov r1, sl | r1 = sl;
0x00021488 blx 0xd9f8 | r0 = fcn_0000d9f8 ();
0x0002148c mov r7, r0 | r7 = r0;
0x0002148e cmp r0, 0 |
| if (r0 == 0) {
0x00021490 beq.w 0x21780 | goto label_26;
| }
0x00021494 ldr r1, [pc, 0x390] |
0x00021496 mov r0, sl | r0 = sl;
0x00021498 add r1, pc | r1 = 0x42cc4;
0x0002149a blx 0xd68c | r0 = fcn_0000d68c ();
0x0002149e cmp r0, 0 |
| if (r0 == 0) {
0x000214a0 beq.w 0x217b8 | goto label_27;
| }
| label_13:
0x000214a4 ldr r1, [pc, 0x384] |
0x000214a6 mov r0, sl | r0 = sl;
0x000214a8 add r1, pc | r1 = 0x42cd8;
0x000214aa blx 0xd68c | fcn_0000d68c ();
0x000214ae ldr r1, [pc, 0x380] |
0x000214b0 cmp r0, 0 |
0x000214b2 ite ne |
| if (r0 == 0) {
0x000214b4 movne r3, 3 | r3 = 3;
| }
| if (r0 != 0) {
0x000214b6 moveq r3, 1 | r3 = 1;
| }
0x000214b8 mov r0, sl | r0 = sl;
0x000214ba str r3, [sp, 0x34] | var_34h = r3;
0x000214bc add r1, pc | r1 = 0x42cf2;
0x000214be blx 0xd68c | r0 = fcn_0000d68c ();
0x000214c2 cmp r0, 0 |
| if (r0 == 0) {
0x000214c4 beq.w 0x217a8 | goto label_28;
| }
| label_12:
0x000214c8 ldr r1, [pc, 0x368] |
0x000214ca mov r0, sl | r0 = sl;
0x000214cc add r1, pc | r1 = 0x42d04;
0x000214ce blx 0xd68c | fcn_0000d68c ();
0x000214d2 ldr r3, [sp, 0x34] | r3 = var_34h;
0x000214d4 cmp r0, 0 |
0x000214d6 it eq |
| if (r0 != 0) {
0x000214d8 moveq r3, 2 | r3 = 2;
| }
0x000214da mov r0, r7 | r0 = r7;
0x000214dc mov.w r2, 0x100 | r2 = 0x100;
0x000214e0 mov r1, sb | r1 = sb;
0x000214e2 str r3, [sp, 0x34] | var_34h = r3;
0x000214e4 blx 0xd9f8 | r0 = fcn_0000d9f8 ();
0x000214e8 mov r3, r0 | r3 = r0;
0x000214ea b 0x21216 | goto label_0;
| label_16:
0x000214ec ldr r2, [pc, 0x348] |
0x000214ee movs r0, 0 | r0 = 0;
0x000214f0 str r0, [sp, 0x30] | var_30h = r0;
0x000214f2 add.w r7, sp, 0x1540 | r7 += arg_1540h;
0x000214f6 adds r7, 0x18 | r7 += 0x18;
0x000214f8 add r2, pc | r2 = 0x42d34;
0x000214fa ldr r1, [r2] | r1 = *(0x42d34);
0x000214fc ldr r2, [pc, 0x33c] |
0x000214fe strh.w r1, [sp, 0xb54] | *(arg_b54h) = r1;
0x00021502 lsrs r1, r1, 0x10 | r1 >>= 0x10;
0x00021504 add r2, pc | r2 = 0x42d44;
0x00021506 strb.w r1, [sp, 0xb56] | *(arg_b56h) = r1;
0x0002150a ldm.w r2, {r0, r1} | r0 = *(r2);
| r1 = *((r2 + 4));
0x0002150e str r0, [r7, -0x4] | *((r7 - 0x4)) = r0;
0x00021512 strh r1, [r7] | *(r7) = r1;
0x00021514 b 0x2128c | goto label_1;
| label_23:
0x00021516 ldr.w sl, [pc, 0x328] |
0x0002151a movs r4, 0 | r4 = 0;
0x0002151c ldr r3, [pc, 0x324] |
0x0002151e add.w sb, sp, 0x154 | sb += arg_154h;
0x00021522 ldr.w fp, [pc, 0x324] |
0x00021526 ldr r2, [sp, 0x38] | r2 = var_38h;
0x00021528 add sl, pc | sl = 0x42d6e;
0x0002152a add r3, pc | r3 = 0x42d72;
0x0002152c add fp, pc | fp = 0x42d7a;
0x0002152e cmp r2, 0 |
0x00021530 it eq |
| if (r2 != 0) {
0x00021532 moveq sl, r3 | sl = r3;
| }
0x00021534 str.w sl, [sp, 0x30] | __asm ("str.w sl, [var_30h]");
| do {
0x00021538 asr.w r3, r5, r4 | r3 = r5 >> r4;
0x0002153c lsls r3, r3, 0x1f | r3 <<= 0x1f;
| if (r3 < r3) {
0x0002153e bpl 0x21596 |
0x00021540 ldrb r3, [r6] | r3 = *(r6);
0x00021542 mov sl, r6 | sl = r6;
| if (r3 == 0) {
0x00021544 cbnz r3, 0x2154c |
0x00021546 ldr.w sl, [pc, 0x304] | sl = *(0x0002184c);
0x0002154a add sl, pc | sl += pc;
| }
0x0002154c mov r1, r4 | r1 = r4;
0x0002154e mov r0, fp | r0 = fp;
0x00021550 blx 0xd2f4 | fcn_0000d2f4 ();
0x00021554 subs r2, r7, 4 | r2 = r7 - 4;
0x00021556 ldr r3, [sp, 0x30] | r3 = var_30h;
0x00021558 str r2, [sp, 0x1c] | var_1ch_2 = r2;
0x0002155a ldr r2, [sp, 0x2c] | r2 = var_2ch;
0x0002155c str r3, [sp, 0x14] | var_14h = r3;
0x0002155e ldr r3, [pc, 0x2f0] |
0x00021560 subs r2, 4 | r2 -= 4;
0x00021562 str r0, [sp, 0x18] | var_18h_2 = r0;
0x00021564 str r2, [sp, 0x10] | var_10h = r2;
0x00021566 mov r0, sb | r0 = sb;
0x00021568 ldr r2, [sp, 0x28] | r2 = var_28h;
0x0002156a add r3, pc | r3 = 0x42dc0;
0x0002156c str r3, [sp] | *(sp) = r3;
0x0002156e mov.w r3, 0xa00 | r3 = 0xa00;
0x00021572 mov r1, r3 | r1 = r3;
0x00021574 str.w sl, [sp, 8] | __asm ("str.w sl, [var_8h_2]");
0x00021578 subs r2, 4 | r2 -= 4;
0x0002157a str.w r8, [sp, 4] | __asm ("str.w r8, [var_4h_3]");
0x0002157e str r2, [sp, 0xc] | var_ch_3 = r2;
0x00021580 movs r2, 1 | r2 = 1;
0x00021582 blx 0xe9b4 | fcn_0000e9b4 ();
0x00021584 ands.w r8, r8, r3, ror 18 | r8 &= (r3 >>> 18);
0x00021588 movs r2, 0 | r2 = 0;
0x0002158a mov r1, sb | r1 = sb;
0x0002158c strb.w r2, [sp, 0xb53] | *(arg_b53h) = r2;
0x00021590 add r0, pc | r0 += pc;
0x00021592 blx 0xd914 | fcn_0000d914 ();
| }
0x00021596 adds r4, 1 | r4++;
0x00021598 cmp r4, 9 |
0x0002159a bne 0x21538 |
| } while (r4 != 9);
0x0002159c b 0x21446 | goto label_2;
| label_19:
0x0002159e ldr r3, [sp, 0x34] | r3 = var_34h;
0x000215a0 mov.w r2, 0xa00 | r2 = 0xa00;
0x000215a4 str r2, [sp, 0x10] | var_10h = r2;
0x000215a6 mov r1, sb | r1 = sb;
0x000215a8 str r2, [sp, 8] | var_8h_2 = r2;
0x000215aa str r3, [sp, 0x14] | var_14h = r3;
0x000215ac ldr r3, [sp, 0x30] | r3 = var_30h;
0x000215ae ldr r2, [sp, 0x40] | r2 = var_40h;
0x000215b0 str r6, [sp, 0x18] | var_18h_2 = r6;
0x000215b2 str r3, [sp, 0xc] | var_ch_3 = r3;
0x000215b4 ldr r3, [pc, 0x2a0] | r3 = *(0x21858);
0x000215b6 str.w fp, [sp, 4] | __asm ("str.w fp, [var_4h_3]");
0x000215ba ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x000215bc add.w r2, sp, 0x1f40 | r2 += arg_1f40h;
0x000215c0 adds r2, 0x14 | r2 += 0x14;
0x000215c2 str r2, [sp, 0x4c] | var_4ch = r2;
0x000215c4 str r3, [sp] | *(sp) = r3;
0x000215c6 ldr r3, [pc, 0x294] |
0x000215c8 add r3, pc | r3 = 0x42e2a;
0x000215ca blx 0xd828 | fcn_0000d828 ();
0x000215cc invalid |
0x000215d0 cmp.w sl, 0 |
| if (sl != 0) {
0x000215d4 bne.w 0x212e6 | goto label_3;
| }
| label_21:
0x000215d8 ldr r3, [pc, 0x284] |
0x000215da movs r2, 1 | r2 = 1;
0x000215dc mov r0, r8 | r0 = r8;
0x000215de str.w fp, [sp, 4] | __asm ("str.w fp, [var_4h_3]");
0x000215e2 add r3, pc | r3 = 0x42e46;
0x000215e4 str r3, [sp] | *(sp) = r3;
0x000215e6 mov.w r3, 0xa00 | r3 = 0xa00;
0x000215ea mov r1, r3 | r1 = r3;
0x000215ec blx 0xe9b4 | fcn_0000e9b4 ();
0x000215f0 add.w r3, sp, 0x3d40 | r3 += arg_3d40h;
0x000215f4 ldrb r4, [r3, 0x14] | r4 = *((r3 + 0x14));
0x000215f6 adds r3, 0x14 | r3 += 0x14;
0x000215f8 cmp r4, 0 |
| if (r4 == 0) {
0x000215fa beq.w 0x213a4 | goto label_4;
| }
0x000215fe blx 0xdb88 | fcn_0000db88 ();
0x00021602 mov r3, r8 | r3 = r8;
0x00021604 ldr r1, [r0] | r1 = *(r0);
0x00021606 movs r0, 0x5f | r0 = 0x5f;
| do {
0x00021608 ldrh.w r2, [r1, r4, lsl 1] | offset_0 = r4 << 1;
| r2 = *((r1 + offset_0));
0x0002160c lsls r2, r2, 0x1c | r2 <<= 0x1c;
0x0002160e it pl |
| if (r2 < r2) {
0x00021610 strbpl r0, [r3] | *(r3) = r0;
| }
0x00021612 ldrb r4, [r3, 1]! | r4 = *((r3 += 1));
0x00021616 cmp r4, 0 |
0x00021618 bne 0x21608 |
| } while (r4 != 0);
0x0002161a b 0x213a4 | goto label_4;
| label_14:
0x0002161c movw r2, 0x732d | r2 = 0x732d;
0x00021620 cmp r1, r2 |
| if (r1 == r2) {
0x00021622 beq.w 0x21774 | goto label_29;
| }
| label_10:
0x00021626 ldr r1, [sp, 0x28] | r1 = var_28h;
0x00021628 movw r2, 0x7375 |
0x0002162c movt r2, 0x6d | r2 = 0x6d7375;
0x00021630 str r2, [r1, -0x4] | *((r1 - 0x4)) = r2;
| if (r3 != 0) {
| label_11:
0x00021634 cbz r3, 0x2163e |
0x00021636 ldrb r2, [r3] | r2 = *(r3);
0x00021638 cmp r2, 0 |
| if (r2 != 0) {
0x0002163a bne.w 0x21758 | goto label_30;
| }
| }
0x0002163e ldr r2, [pc, 0x224] |
0x00021640 movs r1, 3 | r1 = 3;
0x00021642 str r1, [sp, 0x34] | var_34h = r1;
0x00021644 add.w r7, sp, 0x4700 | r7 += arg_4700h;
0x00021648 adds r7, 0x58 | r7 += 0x58;
0x0002164a add r2, pc | r2 = 0x42eb4;
0x0002164c str r7, [sp, 0x2c] | var_2ch = r7;
0x0002164e ldm.w r2, {r0, r1} | r0 = *(r2);
| r1 = *((r2 + 4));
0x00021652 str r0, [r7, -0x4] | *((r7 - 0x4)) = r0;
0x00021656 strb r1, [r7] | *(r7) = r1;
0x00021658 b 0x2124e | goto label_5;
| label_22:
0x0002165a mov r0, fp | r0 = fp;
0x0002165c blx 0xe02c | fcn_0000e02c ();
0x00021660 ldr r3, [pc, 0x204] |
0x00021662 movs r2, 1 | r2 = 1;
0x00021664 mov r0, r8 | r0 = r8;
0x00021666 str.w fp, [sp, 4] | __asm ("str.w fp, [var_4h_3]");
0x0002166a add r3, pc | r3 = 0x42ed6;
0x0002166c str r3, [sp] | *(sp) = r3;
0x0002166e mov.w r3, 0xa00 | r3 = 0xa00;
0x00021672 mov r1, r3 | r1 = r3;
0x00021674 blx 0xe9b4 | fcn_0000e9b4 ();
0x00021678 add.w r3, sp, 0x3d40 | r3 += arg_3d40h;
0x0002167c ldrb r4, [r3, 0x14] | r4 = *((r3 + 0x14));
0x0002167e adds r3, 0x14 | r3 += 0x14;
| if (r4 == 0) {
0x00021680 cbz r4, 0x2169e | goto label_31;
| }
0x00021682 blx 0xdb88 | fcn_0000db88 ();
0x00021686 mov r3, r8 | r3 = r8;
0x00021688 ldr r1, [r0] | r1 = *(r0);
0x0002168a movs r0, 0x5f | r0 = 0x5f;
| do {
0x0002168c ldrh.w r2, [r1, r4, lsl 1] | offset_1 = r4 << 1;
| r2 = *((r1 + offset_1));
0x00021690 lsls r4, r2, 0x1c | r4 = r2 << 0x1c;
0x00021692 it pl |
| if (r4 < r2) {
0x00021694 strbpl r0, [r3] | *(r3) = r0;
| }
0x00021696 ldrb r4, [r3, 1]! | r4 = *((r3 += 1));
0x0002169a cmp r4, 0 |
0x0002169c bne 0x2168c |
| } while (r4 != 0);
| label_31:
0x0002169e ldr r3, [pc, 0x1cc] |
0x000216a0 add r4, sp, 0x154 | r4 += arg_154h;
0x000216a2 ldr r2, [sp, 0x28] | r2 = var_28h;
0x000216a4 mov r0, r4 | r0 = r4;
0x000216a6 str.w fp, [sp, 0xc] | __asm ("str.w fp, [var_ch_3]");
0x000216aa add r3, pc | r3 = 0x42f1c;
0x000216ac str.w r8, [sp, 4] | __asm ("str.w r8, [var_4h_3]");
0x000216b0 str r3, [sp] | *(sp) = r3;
0x000216b2 subs r2, 4 | r2 -= 4;
0x000216b4 mov.w r3, 0xa00 | r3 = 0xa00;
0x000216b8 str r2, [sp, 8] | var_8h_2 = r2;
0x000216ba mov r1, r3 | r1 = r3;
0x000216bc movs r2, 1 | r2 = 1;
0x000216be blx 0xe9b4 | fcn_0000e9b4 ();
0x000216c2 ldr r0, [pc, 0x1ac] |
0x000216c4 movs r2, 0 | r2 = 0;
0x000216c6 mov r1, r4 | r1 = r4;
0x000216c8 strb.w r2, [r4, 0x9ff] | *((r4 + 0x9ff)) = r2;
0x000216cc add r0, pc | r0 = 0x42f42;
0x000216ce blx 0xe814 | fcn_0000e814 ();
0x000216d2 b 0x213a4 | goto label_4;
| label_20:
0x000216d4 ldr r3, [pc, 0x19c] |
0x000216d6 add.w sl, sp, 0x154 | sl += arg_154h;
0x000216da strd r2, sb, [sp, 8] | __asm ("strd r2, sb, [sp, 8]");
0x000216de mov r0, sl | r0 = sl;
0x000216e0 movs r2, 1 | r2 = 1;
0x000216e2 str.w fp, [sp, 4] | __asm ("str.w fp, [var_4h_3]");
0x000216e6 add r3, pc | r3 = 0x42f5e;
0x000216e8 str r3, [sp] | *(sp) = r3;
0x000216ea mov.w r3, 0xa00 | r3 = 0xa00;
0x000216ee mov r1, r3 | r1 = r3;
0x000216f0 blx 0xe9b4 | fcn_0000e9b4 ();
0x000216f4 b 0x21310 | goto label_6;
| label_24:
0x000216f6 ldr r3, [pc, 0x180] |
0x000216f8 add r3, pc | r3 = 0x42f76;
0x000216fa b 0x21400 | goto label_7;
| label_18:
0x000216fc mov r0, r3 | r0 = r3;
0x000216fe mov.w r2, 0xa00 | r2 = 0xa00;
0x00021702 mov r1, r6 | r1 = r6;
0x00021704 blx 0xd9f8 | fcn_0000d9f8 ();
0x00021708 mov r0, r6 | r0 = r6;
0x0002170a blx 0xdc98 | CONTAINER_FREE ();
0x0002170e subs r0, 1 | r0--;
0x00021710 ldrb r3, [r6, r0] | r3 = *((r6 + r0));
0x00021712 cmp r3, 0x2a |
0x00021714 mov.w r3, 0 | r3 = 0;
0x00021718 ittt eq |
| if (r3 != 0x2a) {
0x0002171a strbeq r3, [r6, r0] | *((r6 + r0)) = r3;
| }
| if (r3 != 0x2a) {
0x0002171c moveq r3, 1 | r3 = 1;
| }
| if (r3 == 0x2a) {
0x0002171e streq r3, [sp, 0x38] | var_38h = r3;
| goto label_32;
| }
| if (r3 == 0x2a) {
| label_32:
0x00021720 beq.w 0x2129a | goto label_8;
| }
0x00021724 str r3, [sp, 0x38] | var_38h = r3;
0x00021726 b 0x2129a | goto label_8;
| label_17:
0x00021728 add.w r7, sp, 0x1540 | r7 += arg_1540h;
0x0002172c mov r0, r3 | r0 = r3;
0x0002172e mov.w r2, 0xa00 | r2 = 0xa00;
0x00021732 addw r1, sp, 0xb54 | __asm ("addw r1, arg_b54h");
0x00021736 adds r7, 0x18 | r7 += 0x18;
0x00021738 blx 0xd9f8 | fcn_0000d9f8 ();
0x0002173c subs r2, r7, 4 | r2 = r7 - 4;
0x0002173e mov r3, r0 | r3 = r0;
0x00021740 str r2, [sp, 0x30] | var_30h = r2;
0x00021742 b 0x2128c | goto label_1;
| label_15:
0x00021744 add.w r1, sp, 0x1f40 | r1 += arg_1f40h;
0x00021748 mov r0, r3 | r0 = r3;
0x0002174a mov.w r2, 0xa00 | r2 = 0xa00;
0x0002174e adds r1, 0x14 | r1 += 0x14;
0x00021750 blx 0xd9f8 | r0 = fcn_0000d9f8 ();
0x00021754 mov r3, r0 | r3 = r0;
0x00021756 b 0x21232 | goto label_9;
| label_30:
0x00021758 mov r0, r3 | r0 = r3;
0x0002175a add.w r3, sp, 0x4700 | r3 += arg_4700h;
0x0002175e adds r3, 0x58 | r3 += 0x58;
0x00021760 mov.w r2, 0xa00 | r2 = 0xa00;
0x00021764 subs r1, r3, 4 | r1 = r3 - 4;
0x00021766 str r3, [sp, 0x2c] | var_2ch = r3;
0x00021768 blx 0xd9f8 | fcn_0000d9f8 ();
0x0002176c movs r2, 3 | r2 = 3;
0x0002176e mov r3, r0 | r3 = r0;
0x00021770 str r2, [sp, 0x34] | var_34h = r2;
0x00021772 b 0x2124e | goto label_5;
| label_29:
0x00021774 ldrb.w r2, [sb, 2] | r2 = *((sb + 2));
0x00021778 cmp r2, 0 |
| if (r2 != 0) {
0x0002177a bne.w 0x21626 | goto label_10;
| }
0x0002177e cbnz r0, 0x2178a |
| while (r0 == 0) {
| label_26:
0x00021780 ldr r0, [pc, 0xf8] |
0x00021782 add r0, pc | r0 = 0x43002;
0x00021784 blx 0xe784 | fcn_0000e784 ();
0x00021788 b 0x21446 | goto label_2;
0x0002178a ldr r3, [sp, 0x28] | r3 = var_28h;
0x0002178c mov.w r2, 0xa00 | r2 = 0xa00;
0x00021790 subs r1, r3, 4 | r1 = r3 - 4;
0x00021792 blx 0xd9f8 | r0 = fcn_0000d9f8 ();
0x00021796 cmp r0, 0 |
0x00021798 beq 0x21780 |
| }
0x0002179a mov.w r2, 0x100 | r2 = 0x100;
0x0002179e mov r1, sb | r1 = sb;
0x000217a0 blx 0xd9f8 | r0 = fcn_0000d9f8 ();
0x000217a4 mov r3, r0 | r3 = r0;
0x000217a6 b 0x21634 | goto label_11;
| label_28:
0x000217a8 ldr r2, [sp, 0x28] | r2 = var_28h;
0x000217aa movw r3, 0x3276 |
0x000217ae movt r3, 0x63 | r3 = 0x633276;
0x000217b2 str r3, [r2, -0x4] | *((r2 - 0x4)) = r3;
0x000217b6 b 0x214c8 | goto label_12;
| label_27:
0x000217b8 ldr r3, [pc, 0xc4] |
0x000217ba ldr r2, [sp, 0x28] | r2 = var_28h;
0x000217bc add r3, pc |
0x000217be ldr r3, [r3] | r3 = *(0x43040);
0x000217c0 strh r3, [r2, -0x4] | *((r2 - 0x4)) = r3;
0x000217c4 lsrs r3, r3, 0x10 | r3 >>= 0x10;
0x000217c6 strb r3, [r2, -0x2] | *((r2 - 0x2)) = r3;
0x000217ca b 0x214a4 | goto label_13;
| label_25:
0x000217cc blx 0xd4d0 | fcn_0000d4d0 ();
0x000217d0 strh r4, [r1, 0x16] | *((r1 + 0x16)) = r4;
0x000217d2 movs r1, r0 | r1 = r0;
0x000217d4 lsrs r4, r2, 6 | r4 = r2 >> 6;
0x000217d6 movs r0, r0 |
0x000217d8 strh r0, [r3, 0x14] | *((r3 + 0x14)) = r0;
0x000217da movs r1, r0 | r1 = r0;
0x000217dc ldr r2, [r5, 0x50] | r2 = *((r5 + 0x50));
0x000217de movs r0, r0 |
0x000217e0 ldr r6, [r3, 0x20] | r6 = *((r3 + 0x20));
0x000217e2 movs r0, r0 |
0x000217e4 ldrb r0, [r5, r2] | r0 = *((r5 + r2));
0x000217e6 movs r0, r0 |
0x000217e8 str r3, [sp, 0x1c8] | *(arg_1c8h) = r3;
0x000217ea movs r1, r0 | r1 = r0;
0x000217ec ldr r6, [r6, 0x3c] | r6 = *((r6 + 0x3c));
0x000217ee movs r0, r0 |
0x000217f0 ldr r0, [r2, 0x44] | r0 = *((r2 + 0x44));
0x000217f2 movs r0, r0 |
0x000217f4 str r2, [sp, 0x3e8] | *(arg_3e8h) = r2;
0x000217f6 movs r1, r0 | r1 = r0;
0x000217f8 lsrs r4, r6, 0xd | r4 = r6 >> 0xd;
0x000217fa movs r0, r0 |
0x000217fc ldr r6, [r3, 0x40] | r6 = *((r3 + 0x40));
0x000217fe movs r0, r0 |
0x00021800 str r2, [sp, 0x308] | *(arg_308h) = r2;
0x00021802 movs r1, r0 | r1 = r0;
0x00021804 ldr r4, [r0, 0x40] | r4 = *((r0 + 0x40));
0x00021806 movs r0, r0 |
0x00021808 str r0, [r3, 0x78] | *((r3 + 0x78)) = r0;
0x0002180a movs r0, r0 |
0x0002180c ldr r6, [r5, 0x3c] | r6 = *((r5 + 0x3c));
0x0002180e movs r0, r0 |
0x00021810 str r0, [r4, 0x4c] | *((r4 + 0x4c)) = r0;
0x00021812 movs r0, r0 |
0x00021814 ldr r0, [r1, 0x34] | r0 = *((r1 + 0x34));
0x00021816 movs r0, r0 |
0x00021818 ldr r6, [r1, 0xc] | r6 = *((r1 + 0xc));
0x0002181a movs r0, r0 |
0x0002181c ldr r2, [r4, 0x38] | r2 = *((r4 + 0x38));
0x0002181e movs r0, r0 |
0x00021820 str r4, [r1, 0x74] | *((r1 + 0x74)) = r4;
0x00021822 movs r0, r0 |
0x00021824 ldrb r4, [r7, 0x1f] | r4 = *((r7 + 0x1f));
0x00021826 movs r1, r0 | r1 = r0;
0x00021828 str r0, [r7, 0x40] | *((r7 + 0x40)) = r0;
0x0002182a movs r0, r0 |
0x0002182c str r0, [r4, 8] | *((r4 + 8)) = r0;
0x0002182e movs r0, r0 |
0x00021830 ldr r4, [r2, 0x28] | r4 = *((r2 + 0x28));
0x00021832 movs r0, r0 |
0x00021834 str r0, [r0, 8] | *((r0 + 8)) = r0;
0x00021836 movs r0, r0 |
0x00021838 str r4, [r2, 0x40] | *((r2 + 0x40)) = r4;
0x0002183a movs r0, r0 |
0x0002183c ldr r0, [r3, 0x24] | r0 = *((r3 + 0x24));
0x0002183e movs r0, r0 |
0x00021840 ldr r4, [r5] | r4 = *(r5);
0x00021842 movs r0, r0 |
0x00021844 str r2, [r4, 0x78] | *((r4 + 0x78)) = r2;
0x00021846 movs r0, r0 |
0x00021848 ldr r4, [r7, 4] | r4 = *((r7 + 4));
0x0002184a movs r0, r0 |
0x0002184c ldr r6, [r5, 0x1c] | r6 = *((r5 + 0x1c));
0x0002184e movs r0, r0 |
0x00021850 ldr r6, [r4, 0x24] | r6 = *((r4 + 0x24));
0x00021852 movs r0, r0 |
0x00021854 str r4, [r3, 0x40] | *((r3 + 0x40)) = r4;
0x00021856 movs r0, r0 |
0x00021858 lsrs r0, r1, 0xa | r0 = r1 >> 0xa;
0x0002185a movs r0, r0 |
0x0002185c ldr r4, [r3, 0x18] | r4 = *((r3 + 0x18));
0x0002185e movs r0, r0 |
0x00021860 ldr r6, [r5, 0x18] | r6 = *((r5 + 0x18));
0x00021862 movs r0, r0 |
0x00021864 str r2, [r5, 0x60] | *((r5 + 0x60)) = r2;
0x00021866 movs r0, r0 |
0x00021868 ldr r6, [r4, 0x10] | r6 = *((r4 + 0x10));
0x0002186a movs r0, r0 |
0x0002186c ldr r2, [r6, 0xc] | r2 = *((r6 + 0xc));
0x0002186e movs r0, r0 |
0x00021870 str r4, [r3, 0x44] | *((r3 + 0x44)) = r4;
0x00021872 movs r0, r0 |
0x00021874 ldr r6, [r4] | r6 = *(r4);
0x00021876 movs r0, r0 |
0x00021878 str r4, [r3, 0x64] | *((r3 + 0x64)) = r4;
0x0002187a movs r0, r0 |
0x0002187c str r2, [r7, 0x78] | *((r7 + 0x78)) = r2;
0x0002187e movs r0, r0 |
0x00021880 ldrb r4, [r1, r6] | r4 = *((r1 + r6));
0x00021882 movs r0, r0 |
| }
[*] Function strcpy used 1 times libnetsnmpagent.so.40.1.0