[*] Binary protection state of idpoint
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of idpoint
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/idpoint @ 0xb0e0 */
| #include <stdint.h>
|
; (fcn) fcn.0000b0e0 () | void fcn_0000b0e0 (int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
| int16_t var_0h;
| int16_t var_0h_3;
| int16_t var_4h;
| int16_t var_ch;
| int16_t var_10h;
| int16_t var_14h;
| int16_t var_1ch;
| int16_t var_20h;
| int16_t var_24h;
| int16_t var_28h;
| 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_50h;
| int16_t var_58h;
| int16_t var_5ch;
| int16_t var_60h;
| int16_t var_7ch;
| int32_t var_0h_2;
| int32_t var_4h_2;
| int32_t var_8h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
| r3 = arg4;
0x0000b0e0 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x0000b0e4 mov r6, r2 | r6 = r2;
0x0000b0e6 sub sp, 0x84 |
0x0000b0e8 ldr.w r2, [pc, 0x65c] | r2 = *(0x0000b748);
0x0000b0ec mov r4, r0 | r4 = r0;
0x0000b0ee str r3, [sp, 0x10] | var_10h = r3;
0x0000b0f0 ldr.w r3, [pc, 0x658] |
0x0000b0f4 add r2, pc | r2 += pc;
0x0000b0f6 ldr.w r8, [pc, 0x658] | r8 = *(0x0000b750);
0x0000b0fa ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x0000b0fc add r8, pc | r8 += pc;
0x0000b0fe ldr r3, [r3] | r3 = *(0xb74c);
0x0000b100 str r3, [sp, 0x7c] | var_7ch = r3;
0x0000b102 mov.w r3, 0 | r3 = 0;
0x0000b106 ldr.w r3, [pc, 0x64c] | r3 = *(0x0000b754);
0x0000b10a add r3, pc | r3 += pc;
0x0000b10c ldr r0, [r3] | r0 = *(r3);
| if (r0 == 0) {
0x0000b10e cbnz r0, 0xb130 |
0x0000b110 ldr.w r3, [pc, 0x644] |
0x0000b114 movw r2, 0x441 | r2 = 0x441;
0x0000b116 rsbs r1, r0, 0 | r1 = r0 - ;
0x0000b118 ldr.w r4, [pc, 0x640] |
0x0000b11c ldr.w r1, [pc, 0x640] |
0x0000b120 add r3, pc |
0x0000b122 add r4, pc | r4 = 0x16882;
0x0000b124 add.w r3, r3, 0x250 | r3 = 0x16acc;
0x0000b128 add r1, pc | r1 = 0x1688c;
0x0000b12a str r4, [sp] | *(sp) = r4;
0x0000b12c blx 0x7d28 | event_declaration_set_name_space ();
| }
0x0000b130 add.w sb, sp, 0x1c | sb += var_1ch;
0x0000b134 mov r5, r1 | r5 = r1;
0x0000b136 movs r3, 0 | r3 = 0;
0x0000b138 ldrd r1, r0, [r1, 0x18] | __asm ("ldrd r1, r0, [r1, 0x18]");
0x0000b13c mov r2, sb | r2 = sb;
0x0000b13e add.w r7, r4, 0x30 | r7 = r4 + 0x30;
0x0000b142 bl 0xadd0 | r0 = fcn_0000add0 (r0, r1, r2, r3, r4, r5, r6);
0x0000b146 cmp r0, 0 |
| if (r0 == 0) {
0x0000b148 beq.w 0xb308 | goto label_21;
| }
| label_2:
0x0000b14c ldr r3, [r4, 0x4c] | r3 = *((r4 + 0x4c));
0x0000b14e ldr r2, [sp, 0x38] | r2 = var_38h;
0x0000b150 str r2, [sp, 0xc] | var_ch = r2;
| if (r3 == 0) {
0x0000b152 cbz r3, 0xb17c | goto label_22;
| }
0x0000b154 ldr r0, [r4, 0x50] | r0 = *((r4 + 0x50));
0x0000b156 cmp r0, 0 |
| if (r0 == 0) {
0x0000b158 beq 0xb20a | goto label_23;
| }
0x0000b15a ldr.w r1, [pc, 0x608] |
0x0000b15e add r1, pc | r1 = 0x168c8;
0x0000b160 blx 0x7e64 | r0 = fcn_00007e64 ();
0x0000b164 cmp r0, 0 |
| if (r0 != 0) {
0x0000b166 bne.w 0xb4f4 | goto label_24;
| }
| label_5:
0x0000b16a ldr r3, [sp, 0xc] | r3 = var_ch;
0x0000b16c cmp r3, 0 |
| if (r3 != 0) {
0x0000b16e bne 0xb210 | goto label_25;
| }
0x0000b170 ldr r3, [r4, 0x4c] | r3 = *((r4 + 0x4c));
0x0000b172 cbz r3, 0xb182 |
| while (r3 == 0) {
0x0000b174 movs r3, 0 | r3 = 0;
0x0000b176 str.w r3, [r4, 0x16c] | __asm ("str.w r3, [r4, 0x16c]");
0x0000b17a b 0xb182 | goto label_26;
| label_22:
0x0000b17c ldr r3, [sp, 0xc] | r3 = var_ch;
0x0000b17e cmp r3, 0 |
| if (r3 != 0) {
0x0000b180 bne 0xb210 | goto label_25;
| }
| label_26:
0x0000b182 ldr.w sl, [sp, 0x3c] | sl = var_3ch;
0x0000b186 ldr.w r1, [pc, 0x5e0] |
0x0000b18a mov r0, sl | r0 = sl;
0x0000b18c add r1, pc | r1 = 0x168fa;
0x0000b18e blx 0x7e64 | fcn_00007e64 ();
0x0000b192 ldr.w r3, [pc, 0x5d8] |
0x0000b196 movs r1, 0x40 | r1 = 0x40;
0x0000b198 ldr.w r2, [pc, 0x5d4] |
0x0000b19c movs r0, 0 | r0 = 0;
0x0000b19e str.w sl, [sp] | __asm ("str.w sl, [sp]");
0x0000b1a2 add r3, pc | r3 = 0x16914;
0x0000b1a4 add r2, pc | r2 = 0x16918;
0x0000b1a6 blx 0x7440 | nbmem_done ();
0x0000b1aa movs r3, 0 | r3 = 0;
0x0000b1ac strd r3, r3, [r4, 0x168] | __asm ("strd r3, r3, [r4, 0x168]");
| label_0:
0x0000b1b0 cmp r6, 0 |
| if (r6 == 0) {
0x0000b1b2 beq.w 0xb2da | goto label_27;
| }
| label_1:
0x0000b1b6 mov r0, r7 | r0 = r7;
0x0000b1b8 add.w r6, r4, 0x18 | r6 = r4 + 0x18;
0x0000b1bc bl 0xa280 | fcn_0000a280 (r0);
0x0000b1c0 movs r2, 0x60 | r2 = 0x60;
0x0000b1c2 mov r1, sb | r1 = sb;
0x0000b1c4 mov r0, r7 | r0 = r7;
0x0000b1c6 blx 0x7b34 | fcn_00007b34 ();
0x0000b1ca mov r0, r6 | r0 = r6;
0x0000b1cc blx 0x781c | fcn_0000781c ();
0x0000b1d0 movs r1, 0x20 | r1 = 0x20;
0x0000b1d2 mov r0, r6 | r0 = r6;
0x0000b1d4 blx 0x7aa0 | g_key_file_new ();
0x0000b1d8 ldr.w r2, [pc, 0x598] | r2 = *(0x0000b774);
0x0000b1dc ldr.w r3, [pc, 0x56c] | r3 = *(0xb74c);
0x0000b1e0 str r0, [r4, 8] | *((r4 + 8)) = r0;
0x0000b1e2 add r2, pc | r2 += pc;
0x0000b1e4 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x0000b1e6 ldr r2, [r3] | r2 = *(0xb74c);
0x0000b1e8 ldr r3, [sp, 0x7c] | r3 = var_7ch;
0x0000b1ea eors r2, r3 | r2 ^= r3;
0x0000b1ec mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0000b1f0 bne.w 0xb742 | goto label_28;
| }
0x0000b1f4 ldr.w r2, [pc, 0x580] | r2 = "ove";
0x0000b1f8 mov r3, r6 | r3 = r6;
0x0000b1fa mov r1, r5 | r1 = r5;
0x0000b1fc ldr.w r2, [r8, r2] | r2 = *((r8 + r2));
0x0000b200 add sp, 0x84 |
0x0000b202 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x0000b206 b.w 0x71dc | void (*0x71dc)() ();
| label_23:
0x0000b20a ldr r3, [sp, 0xc] | r3 = var_ch;
0x0000b20c cmp r3, 0 |
0x0000b20e beq 0xb174 |
| }
| label_25:
0x0000b210 ldr.w fp, [sp, 0x3c] | fp = var_3ch;
0x0000b214 ldr.w r1, [pc, 0x564] |
0x0000b216 asrs r4, r4, 0x15 | r4 >>= 0x15;
0x0000b218 mov r0, fp | r0 = fp;
0x0000b21a add r1, pc | r1 = 0x1699a;
0x0000b21c blx 0x7e64 | r0 = fcn_00007e64 ();
0x0000b220 mov sl, r0 | sl = r0;
0x0000b222 cmp r0, 0 |
| if (r0 == 0) {
0x0000b224 beq.w 0xb498 | goto label_29;
| }
| label_3:
0x0000b228 cmp.w fp, 0 |
| if (fp == 0) {
0x0000b22c beq 0xb1b0 | goto label_0;
| }
0x0000b22e ldr.w r1, [pc, 0x550] |
0x0000b232 mov r0, fp | r0 = fp;
0x0000b234 add r1, pc | r1 = 0x169ba;
0x0000b236 blx 0x7e64 | r0 = fcn_00007e64 ();
0x0000b23a cmp r0, 0 |
| if (r0 == 0) {
0x0000b23c beq 0xb1b0 | goto label_0;
| }
0x0000b23e ldr.w r3, [pc, 0x544] | r3 = *(0x0000b784);
0x0000b242 mov.w sl, 0 | sl = 0;
0x0000b246 add.w r2, r4, 0x168 | r2 = r4 + 0x168;
0x0000b24a mov r1, fp | r1 = fp;
0x0000b24c str.w sl, [r4, 0x16c] | __asm ("str.w sl, [r4, 0x16c]");
0x0000b250 add r3, pc | r3 += pc;
0x0000b252 ldr r0, [r3, 0xc] | r0 = *((r3 + 0xc));
0x0000b254 ldr.w r3, [r4, 0x168] | r3 = *((r4 + 0x168));
0x0000b258 str r3, [sp, 0x14] | var_14h = r3;
0x0000b25a blx 0x7dac | r0 = event_declaration_add_key ();
0x0000b25e cmp r0, 0 |
| if (r0 != 0) {
0x0000b260 bne.w 0xb550 | goto label_30;
| }
0x0000b264 ldr.w r1, [r4, 0x168] | r1 = *((r4 + 0x168));
0x0000b268 ldr r0, [sp, 0x14] | r0 = var_14h;
0x0000b26a blx 0x7e64 | fcn_00007e64 ();
0x0000b26c invalid |
0x0000b270 eor r3, r3, 1 | r3 ^= 1;
0x0000b274 cmp r0, 0 |
0x0000b276 ite eq |
| if (r0 != 0) {
0x0000b278 moveq r3, 0 | r3 = 0;
| }
| if (r0 == 0) {
0x0000b27a andne r3, r3, 1 | r3 &= 1;
| }
0x0000b27e rsb.w r3, r3, 2 | r3 = 2 - r3;
| label_9:
0x0000b282 ldr r0, [sp, 0x14] | r0 = var_14h;
0x0000b284 str.w r3, [r4, 0x16c] | __asm ("str.w r3, [r4, 0x16c]");
0x0000b288 blx 0x7928 | fcn_00007928 ();
0x0000b28c ldr.w r1, [pc, 0x4f8] |
0x0000b290 mov r0, fp | r0 = fp;
0x0000b292 add r1, pc | r1 = 0x16a1e;
0x0000b294 blx 0x7e64 | r0 = fcn_00007e64 ();
0x0000b298 cmp r0, 0 |
| if (r0 == 0) {
0x0000b29a beq 0xb1b0 | goto label_0;
| }
0x0000b29c ldr.w r2, [pc, 0x4ec] | r2 = *(0x0000b78c);
0x0000b2a0 mov r1, fp | r1 = fp;
0x0000b2a2 ldr.w r3, [pc, 0x4ec] | r3 = *(0xb792);
0x0000b2a6 add r2, pc | r2 += pc;
0x0000b2a8 ldr.w r3, [r8, r3] | r3 = *((r8 + r3));
0x0000b2ac str r4, [sp] | *(sp) = r4;
0x0000b2ae ldr r0, [r2, 0xc] | r0 = *((r2 + 0xc));
0x0000b2b0 movs r2, 0 | r2 = 0;
0x0000b2b2 blx 0x7c68 | r0 = cdb_set_transaction_commit_default_retries ();
0x0000b2b6 cmp r0, 0 |
| if (r0 == 0) {
0x0000b2b8 beq.w 0xb1b0 | goto label_0;
| }
0x0000b2bc ldr.w r3, [pc, 0x4d4] |
0x0000b2c0 movs r1, 0x10 | r1 = 0x10;
0x0000b2c2 ldr.w r2, [pc, 0x4d4] |
0x0000b2c6 strd r0, fp, [sp] | __asm ("strd r0, fp, [sp]");
0x0000b2ca movs r0, 0 | r0 = 0;
0x0000b2cc add r3, pc | r3 = 0x16a64;
0x0000b2ce add r2, pc | r2 = 0x16a6c;
0x0000b2d0 blx 0x7440 | nbmem_done ();
0x0000b2d4 cmp r6, 0 |
| if (r6 != 0) {
0x0000b2d6 bne.w 0xb1b6 | goto label_1;
| }
| label_27:
0x0000b2da ldr.w r3, [pc, 0x4c0] | r3 = *(0x0000b79c);
0x0000b2de add r3, pc | r3 += pc;
0x0000b2e0 ldr r2, [r3, 8] | r2 = *((r3 + 8));
0x0000b2e2 cmp r2, 2 |
| if (r2 != 2) {
0x0000b2e4 beq 0xb31c |
0x0000b2e6 ldr.w r3, [pc, 0x4b8] |
0x0000b2ea movw r2, 0x599 | r2 = 0x599;
0x0000b2ee ldr.w r4, [pc, 0x4b4] |
0x0000b2f2 mov r0, r6 | r0 = r6;
0x0000b2f4 ldr.w r1, [pc, 0x4b0] |
0x0000b2f8 add r3, pc |
0x0000b2fa add r4, pc | r4 = 0x16aa4;
0x0000b2fc add.w r3, r3, 0x268 | r3 = 0x16d06;
0x0000b300 add r1, pc | r1 = 0x16aac;
0x0000b302 str r4, [sp] | *(sp) = r4;
0x0000b304 blx 0x7d28 | event_declaration_set_name_space ();
| label_21:
0x0000b308 ldr.w r3, [pc, 0x4a0] |
0x0000b30c movs r1, 8 | r1 = 8;
0x0000b30e ldr.w r2, [pc, 0x4a0] |
0x0000b312 add r3, pc | r3 = 0x16ac2;
0x0000b314 add r2, pc | r2 = 0x16aca;
0x0000b316 blx 0x7440 | nbmem_done ();
0x0000b31a b 0xb14c | goto label_2;
| }
0x0000b31c ldr r3, [r3] | r3 = *(r3);
0x0000b31e cmp r3, 0 |
| if (r3 == 0) {
0x0000b320 beq.w 0xb4b0 | goto label_31;
| }
0x0000b324 ldr r3, [r4, 0x64] | r3 = *((r4 + 0x64));
0x0000b326 ldr r2, [sp, 0x50] | r2 = var_50h;
0x0000b328 cmp r2, r3 |
0x0000b32a it eq |
| if (r2 != r3) {
0x0000b32c moveq fp, r6 |
| }
| if (r2 != r3) {
0x0000b32e beq 0xb342 |
0x0000b330 cmp r3, 1 |
| if (r3 == 1) {
0x0000b332 beq.w 0xb6ea | goto label_32;
| }
0x0000b336 cmp r3, 2 |
0x0000b338 it ne |
| if (r3 == 2) {
0x0000b33a movne fp, 1 |
| }
| if (r3 == 2) {
0x0000b33e beq.w 0xb5ac | goto label_33;
| }
| }
| label_12:
0x0000b342 ldr.w sl, [sp, 0x1c] | sl = var_1ch;
0x0000b346 ldr r3, [r4, 0x30] | r3 = *((r4 + 0x30));
0x0000b348 cmp sl, r3 |
| if (sl != r3) {
0x0000b34a beq 0xb364 |
0x0000b34c cmp r3, 1 |
| if (r3 == 1) {
0x0000b34e beq.w 0xb6fa | goto label_34;
| }
0x0000b352 cmp r3, 3 |
| if (r3 == 3) {
0x0000b354 beq.w 0xb70a | goto label_35;
| }
0x0000b358 cmp r3, 2 |
0x0000b35a it ne |
| if (r3 == 2) {
0x0000b35c movne fp, 1 |
| }
| if (r3 == 2) {
0x0000b360 beq.w 0xb5ca | goto label_36;
| }
| }
| label_13:
0x0000b364 ldr r3, [r4, 0x6c] | r3 = *((r4 + 0x6c));
0x0000b366 ldr r0, [sp, 0x58] | r0 = var_58h;
0x0000b368 clz r2, r3 | r2 &= r3;
0x0000b36c add.w ip, r3, -1 |
0x0000b370 clz r1, r0 | r1 &= r0;
0x0000b374 lsrs r2, r2, 5 | r2 >>= 5;
0x0000b376 lsrs r1, r1, 5 | r1 >>= 5;
0x0000b378 cmp r1, r2 |
| if (r1 == r2) {
0x0000b37a beq.w 0xb4cc | goto label_37;
| }
0x0000b37e cmp.w ip, 1 |
| if (ip < 1) {
0x0000b382 bls.w 0xb4e2 | goto label_10;
| }
0x0000b386 subs r3, 3 | r3 -= 3;
0x0000b388 cmp r3, 1 |
0x0000b38a it hi |
| if (r3 <= 1) {
0x0000b38c movhi fp, 1 |
| }
| if (r3 < 1) {
0x0000b390 bls.w 0xb57a | goto label_38;
| }
| do {
| label_4:
0x0000b394 ldr r1, [r4, 0x70] | r1 = *((r4 + 0x70));
0x0000b396 ldr r3, [sp, 0x5c] | r3 = var_5ch;
0x0000b398 clz r2, r1 | r2 &= r1;
0x0000b39c clz r3, r3 | r3 &= r3;
0x0000b3a0 lsrs r2, r2, 5 | r2 >>= 5;
0x0000b3a2 lsrs r3, r3, 5 | r3 >>= 5;
0x0000b3a4 cmp r3, r2 |
| if (r3 != r2) {
0x0000b3a6 beq 0xb3b6 |
0x0000b3a8 subs r1, 1 | r1--;
0x0000b3aa cmp r1, 1 |
0x0000b3ac it hi |
| if (r1 <= 1) {
0x0000b3ae movhi fp, 1 |
| }
| if (r1 < 1) {
0x0000b3b2 bls.w 0xb5f8 | goto label_39;
| }
| }
| label_16:
0x0000b3b6 ldr r3, [r4, 0x74] | r3 = *((r4 + 0x74));
0x0000b3b8 ldr r2, [sp, 0x60] | r2 = var_60h;
0x0000b3ba clz r1, r3 | r1 &= r3;
0x0000b3be add.w ip, r3, -1 |
0x0000b3c2 clz r0, r2 | r0 &= r2;
0x0000b3c6 lsrs r1, r1, 5 | r1 >>= 5;
0x0000b3c8 lsrs r0, r0, 5 | r0 >>= 5;
0x0000b3ca cmp r0, r1 |
| if (r0 == r1) {
0x0000b3cc beq.w 0xb51e | goto label_40;
| }
0x0000b3d0 cmp.w ip, 1 |
| if (ip < 1) {
0x0000b3d4 bls.w 0xb534 | goto label_11;
| }
0x0000b3d8 subs r3, 3 | r3 -= 3;
0x0000b3da cmp r3, 1 |
| if (r3 < 1) {
0x0000b3dc bls.w 0xb59a | goto label_41;
| }
| label_7:
0x0000b3e0 movs r1, 0 | r1 = 0;
0x0000b3e2 mov r0, r4 | r0 = r4;
0x0000b3e4 str r2, [sp, 0x10] | var_10h = r2;
0x0000b3e6 movs r6, 1 | r6 = 1;
0x0000b3e8 bl 0xcfc8 | fcn_0000cfc8 (r0);
0x0000b3ec ldr r2, [sp, 0x10] | r2 = var_10h;
| label_6:
0x0000b3ee ldr r3, [r4, 0x30] | r3 = *((r4 + 0x30));
0x0000b3f0 cmp sl, r3 |
| if (sl == r3) {
0x0000b3f2 bne 0xb406 |
0x0000b3f4 ldr r1, [sp, 0x24] | r1 = var_24h;
0x0000b3f6 ldr r3, [r4, 0x38] | r3 = *((r4 + 0x38));
0x0000b3f8 cmp r1, r3 |
| if (r1 != r3) {
0x0000b3fa bne 0xb406 | goto label_14;
| }
0x0000b3fc ldr r1, [sp, 0x20] | r1 = var_20h;
0x0000b3fe ldr r3, [r4, 0x34] | r3 = *((r4 + 0x34));
0x0000b400 cmp r1, r3 |
| if (r1 == r3) {
0x0000b402 beq.w 0xb5dc | goto label_42;
| }
| }
| label_14:
0x0000b406 movs r6, 1 | r6 = 1;
0x0000b408 movs r1, 0 | r1 = 0;
0x0000b40a mov r0, r4 | r0 = r4;
0x0000b40c bl 0xcf90 | fcn_0000cf90 (r0);
| label_15:
0x0000b410 ldr r3, [r4, 0x30] | r3 = *((r4 + 0x30));
0x0000b412 ldr r2, [sp, 0x28] | r2 = var_28h;
0x0000b414 cmp sl, r3 |
0x0000b416 str r2, [sp, 0x10] | var_10h = r2;
| if (sl == r3) {
0x0000b418 bne 0xb422 |
0x0000b41a ldr r3, [r4, 0x3c] | r3 = *((r4 + 0x3c));
0x0000b41c cmp r3, r2 |
| if (r3 == r2) {
0x0000b41e beq.w 0xb60a | goto label_43;
| }
| }
| label_17:
0x0000b422 movs r1, 0 | r1 = 0;
0x0000b424 mov r0, r4 | r0 = r4;
0x0000b426 add.w sl, r4, 0x18 | sl = r4 + 0x18;
0x0000b42a bl 0xd2b8 | fcn_0000d2b8 (r0);
0x0000b42e cmp.w fp, 0 |
| if (fp != 0) {
0x0000b432 bne.w 0xb546 | goto label_18;
| }
| label_8:
0x0000b436 bl 0xdf50 | fcn_0000df50 ();
0x0000b43a ldr r3, [sp, 0x10] | r3 = var_10h;
0x0000b43c cmp r3, 1 |
| if (r3 == 1) {
0x0000b43e beq.w 0xb71c | goto label_44;
| }
| label_19:
0x0000b442 mov r0, r7 | r0 = r7;
0x0000b444 bl 0xa280 | fcn_0000a280 (r0);
0x0000b448 movs r2, 0x60 | r2 = 0x60;
0x0000b44a mov r1, sb | r1 = sb;
0x0000b44c mov r0, r7 | r0 = r7;
0x0000b44e blx 0x7b34 | fcn_00007b34 ();
0x0000b452 mov r0, sl | r0 = sl;
0x0000b454 blx 0x744c | event_producer_prepare_event ();
0x0000b458 mov r0, sl | r0 = sl;
0x0000b45a blx 0x781c | fcn_0000781c ();
0x0000b45e movs r1, 0x20 | r1 = 0x20;
0x0000b460 mov r0, sl | r0 = sl;
0x0000b462 blx 0x7aa0 | g_key_file_new ();
0x0000b466 ldr r2, [pc, 0x310] | r2 = *(0xb77a);
0x0000b468 mov r3, sl | r3 = sl;
0x0000b46a str r0, [r4, 8] | *((r4 + 8)) = r0;
0x0000b46c mov r1, r5 | r1 = r5;
0x0000b46e ldr.w r2, [r8, r2] | r2 = *((r8 + r2));
0x0000b472 blx 0x71e0 | fcn_000071e0 ();
0x0000b476 ldr r2, [pc, 0x33c] |
0x0000b478 ldr r3, [pc, 0x2d0] | r3 = *(0xb74c);
0x0000b47a add r2, pc | r2 = 0x16c34;
0x0000b47c ldr r3, [r2, r3] | r3 = *(0x16c34);
0x0000b47e ldr r2, [r3] | r2 = *(0x16c34);
0x0000b480 ldr r3, [sp, 0x7c] | r3 = var_7ch;
0x0000b482 eors r2, r3 | r2 ^= r3;
0x0000b484 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0000b488 bne.w 0xb742 | goto label_28;
| }
0x0000b48c mov r0, r4 | r0 = r4;
0x0000b48e add sp, 0x84 |
0x0000b490 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x0000b494 b.w 0x94d0 | void (*0x94d0)() ();
| label_29:
0x0000b498 ldr r3, [pc, 0x31c] |
0x0000b49a movs r1, 0x40 | r1 = 0x40;
0x0000b49c ldr r2, [pc, 0x31c] |
0x0000b49e str.w fp, [sp] | __asm ("str.w fp, [sp]");
0x0000b4a2 add r3, pc | r3 = 0x16c5e;
0x0000b4a4 add r2, pc | r2 = 0x16c64;
0x0000b4a6 blx 0x7440 | nbmem_done ();
0x0000b4aa strd sl, sl, [r4, 0x168] | __asm ("strd sl, sl, [r4, 0x168]");
0x0000b4ae b 0xb228 | goto label_3;
| label_31:
0x0000b4b0 ldr r3, [pc, 0x30c] |
0x0000b4b2 movw r2, 0x59a | r2 = 0x59a;
0x0000b4b6 ldr r4, [pc, 0x30c] |
0x0000b4b8 mov r0, r6 | r0 = r6;
0x0000b4ba ldr r1, [pc, 0x30c] |
0x0000b4bc add r3, pc |
0x0000b4be add r4, pc | r4 = 0x16c88;
0x0000b4c0 add.w r3, r3, 0x268 | r3 = 0x16ee8;
0x0000b4c4 add r1, pc | r1 = 0x16c92;
0x0000b4c6 str r4, [sp] | *(sp) = r4;
0x0000b4c8 blx 0x7d28 | r0 = event_declaration_set_name_space ();
| label_37:
0x0000b4cc subs r2, r0, 1 | r2 = r0 - 1;
0x0000b4ce cmp r2, 1 |
| if (r2 < 1) {
0x0000b4d0 bls 0xb56c | goto label_45;
| }
0x0000b4d2 cmp.w ip, 1 |
0x0000b4d6 bhi.w 0xb394 |
| } while (ip > 1);
0x0000b4da subs r0, 3 | r0 -= 3;
0x0000b4dc cmp r0, 1 |
| if (r0 > 1) {
0x0000b4de bhi.w 0xb394 | goto label_4;
| }
| label_10:
0x0000b4e2 ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b4e4 mov.w fp, 1 |
0x0000b4e8 ldr r1, [pc, 0x2e0] |
0x0000b4ea ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b4ec add r1, pc | r1 = 0x16cbc;
0x0000b4ee blx 0x733c | fcn_0000733c ();
0x0000b4f2 b 0xb394 | goto label_4;
| label_24:
0x0000b4f4 ldr r3, [pc, 0x2d8] |
0x0000b4f6 ldr r1, [r4, 0x50] | r1 = *((r4 + 0x50));
0x0000b4f8 add r3, pc | r3 = 0x16ccc;
0x0000b4fa ldr r0, [r3, 0xc] | r0 = *(0x16cd8);
0x0000b4fc blx 0x7d10 | r0 = sprintf_chk ()
0x0000b500 cmp r0, 0 |
| if (r0 == 0) {
0x0000b502 beq.w 0xb16a | goto label_5;
| }
0x0000b506 str r0, [sp] | *(sp) = r0;
0x0000b508 movs r1, 0x10 | r1 = 0x10;
0x0000b50a ldr r3, [r4, 0x50] | r3 = *((r4 + 0x50));
0x0000b50c movs r0, 0 | r0 = 0;
0x0000b50e ldr r2, [pc, 0x2c4] |
0x0000b510 str r3, [sp, 4] | var_0h_3 = r3;
0x0000b512 ldr r3, [pc, 0x2c4] |
0x0000b514 add r2, pc | r2 = 0x16cee;
0x0000b516 add r3, pc | r3 = 0x16cf4;
0x0000b518 blx 0x7440 | nbmem_done ();
0x0000b51c b 0xb16a | goto label_5;
| label_40:
0x0000b51e subs r1, r2, 1 | r1 = r2 - 1;
0x0000b520 cmp r1, 1 |
| if (r1 < 1) {
0x0000b522 bls 0xb58c | goto label_46;
| }
0x0000b524 cmp.w ip, 1 |
| if (ip > 1) {
0x0000b528 bhi.w 0xb3ee | goto label_6;
| }
0x0000b52c subs r3, r2, 3 | r3 = r2 - 3;
0x0000b52e cmp r3, 1 |
| if (r3 > 1) {
0x0000b530 bhi.w 0xb3ee | goto label_6;
| }
| label_11:
0x0000b534 ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b536 ldr r1, [pc, 0x2a4] |
0x0000b538 str r2, [sp, 0x10] | var_10h = r2;
0x0000b53a ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b53c add r1, pc | r1 = 0x16d1e;
0x0000b53e blx 0x733c | fcn_0000733c ();
0x0000b542 ldr r2, [sp, 0x10] | r2 = var_10h;
0x0000b544 b 0xb3e0 | goto label_7;
| label_18:
0x0000b546 movs r1, 0 | r1 = 0;
0x0000b548 mov r0, r4 | r0 = r4;
0x0000b54a bl 0xcf34 | fcn_0000cf34 (r0);
0x0000b54e b 0xb436 | goto label_8;
| label_30:
0x0000b550 ldr r3, [pc, 0x28c] |
0x0000b552 movs r1, 0x40 | r1 = 0x40;
0x0000b554 ldr r2, [pc, 0x28c] |
0x0000b556 mov r0, sl | r0 = sl;
0x0000b558 str.w fp, [sp] | __asm ("str.w fp, [sp]");
0x0000b55c add r3, pc | r3 = 0x16d40;
0x0000b55e add r2, pc | r2 = 0x16d46;
0x0000b560 blx 0x7440 | nbmem_done ();
0x0000b564 mov r3, sl | r3 = sl;
0x0000b566 str.w sl, [r4, 0x168] | __asm ("str.w sl, [r4, 0x168]");
0x0000b56a b 0xb282 | goto label_9;
| label_45:
0x0000b56c subs r3, 3 | r3 -= 3;
0x0000b56e cmp r3, 1 |
| if (r3 > 1) {
0x0000b570 bhi.w 0xb394 | goto label_4;
| }
0x0000b574 cmp.w ip, 1 |
| if (ip < 1) {
0x0000b578 bls 0xb4e2 | goto label_10;
| }
| label_38:
0x0000b57a ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b57c mov.w fp, 1 |
0x0000b580 ldr r1, [pc, 0x264] |
0x0000b582 ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b584 add r1, pc | r1 = 0x16d70;
0x0000b586 blx 0x733c | fcn_0000733c ();
0x0000b58a b 0xb394 | goto label_4;
| label_46:
0x0000b58c subs r3, 3 | r3 -= 3;
0x0000b58e cmp r3, 1 |
| if (r3 > 1) {
0x0000b590 bhi.w 0xb3ee | goto label_6;
| }
0x0000b594 cmp.w ip, 1 |
| if (ip < 1) {
0x0000b598 bls 0xb534 | goto label_11;
| }
| label_41:
0x0000b59a ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b59c ldr r1, [pc, 0x24c] |
0x0000b59e str r2, [sp, 0x10] | var_10h = r2;
0x0000b5a0 ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b5a2 add r1, pc | r1 = 0x16d92;
0x0000b5a4 blx 0x733c | fcn_0000733c ();
0x0000b5a8 ldr r2, [sp, 0x10] | r2 = var_10h;
0x0000b5aa b 0xb3e0 | goto label_7;
| label_33:
0x0000b5ac ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b5ae mov.w fp, 1 |
0x0000b5b2 ldr r1, [pc, 0x23c] |
0x0000b5b4 ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b5b6 add r1, pc | r1 = 0x16dac;
0x0000b5b8 blx 0x733c | fcn_0000733c ();
0x0000b5bc ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b5be ldr r1, [pc, 0x234] |
0x0000b5c0 ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b5c2 add r1, pc | r1 = 0x16dbc;
0x0000b5c4 blx 0x733c | fcn_0000733c ();
0x0000b5c8 b 0xb342 | goto label_12;
| label_36:
0x0000b5ca ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b5cc mov.w fp, 1 |
0x0000b5d0 ldr r1, [pc, 0x224] |
0x0000b5d2 ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b5d4 add r1, pc | r1 = 0x16dd0;
0x0000b5d6 blx 0x733c | fcn_0000733c ();
0x0000b5da b 0xb364 | goto label_13;
| label_42:
0x0000b5dc ldr r1, [r4, 0x44] | r1 = *((r4 + 0x44));
0x0000b5de ldr r0, [sp, 0x30] | r0 = var_30h;
0x0000b5e0 str r2, [sp, 0x10] | var_10h = r2;
0x0000b5e2 blx 0x7e64 | r0 = fcn_00007e64 ();
0x0000b5e6 cmp r0, 0 |
| if (r0 != 0) {
0x0000b5e8 bne.w 0xb406 | goto label_14;
| }
0x0000b5ec ldr r3, [r4, 0x74] | r3 = *((r4 + 0x74));
0x0000b5ee ldr r2, [sp, 0x10] | r2 = var_10h;
0x0000b5f0 cmp r2, r3 |
| if (r2 != r3) {
0x0000b5f2 bne.w 0xb406 | goto label_14;
| }
0x0000b5f6 b 0xb410 | goto label_15;
| label_39:
0x0000b5f8 ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b5fa mov.w fp, 1 |
0x0000b5fe ldr r1, [pc, 0x1fc] |
0x0000b600 ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b602 add r1, pc | r1 = 0x16e04;
0x0000b604 blx 0x733c | fcn_0000733c ();
0x0000b608 b 0xb3b6 | goto label_16;
| label_43:
0x0000b60a ldr r1, [sp, 0x30] | r1 = var_30h;
0x0000b60c ldr r0, [r4, 0x44] | r0 = *((r4 + 0x44));
0x0000b60e blx 0x7e64 | r0 = fcn_00007e64 ();
0x0000b612 cmp r0, 0 |
| if (r0 != 0) {
0x0000b614 bne.w 0xb422 | goto label_17;
| }
0x0000b616 add r7, sp, 0x14 | r7 = sp + 0x14;
0x0000b618 ldr r1, [sp, 0x44] | r1 = var_44h;
0x0000b61a ldr r0, [r4, 0x58] | r0 = *((r4 + 0x58));
0x0000b61c blx 0x7e64 | r0 = fcn_00007e64 ();
0x0000b620 cmp r0, 0 |
| if (r0 != 0) {
0x0000b622 bne.w 0xb422 | goto label_17;
| }
0x0000b626 ldr r1, [sp, 0x40] | r1 = var_40h;
0x0000b628 ldr r0, [r4, 0x54] | r0 = *((r4 + 0x54));
0x0000b62a blx 0x7e64 | r0 = fcn_00007e64 ();
0x0000b62e cmp r0, 0 |
| if (r0 != 0) {
0x0000b630 bne.w 0xb422 | goto label_17;
| }
0x0000b634 ldr r1, [sp, 0x48] | r1 = var_48h;
0x0000b636 ldr r0, [r4, 0x5c] | r0 = *((r4 + 0x5c));
0x0000b638 blx 0x7e64 | fcn_00007e64 ();
0x0000b63c str r0, [sp, 0x14] | var_14h = r0;
0x0000b63e cmp r0, 0 |
| if (r0 != 0) {
0x0000b640 bne.w 0xb422 | goto label_17;
| }
0x0000b644 ldr.w sl, [sp, 0x34] | sl = var_34h;
0x0000b648 ldr r1, [r4, 0x48] | r1 = *((r4 + 0x48));
0x0000b64a mov r0, sl | r0 = sl;
0x0000b64c blx 0x7e64 | r0 = fcn_00007e64 ();
| if (r0 != 0) {
0x0000b650 cbz r0, 0xb658 |
0x0000b652 ldr r3, [sp, 0x10] | r3 = var_10h;
0x0000b654 cmp r3, 1 |
| if (r3 == 1) {
0x0000b656 beq 0xb724 | goto label_47;
| }
| }
| label_20:
0x0000b658 add.w sl, r4, 0x18 | sl = r4 + 0x18;
0x0000b65c cmp.w fp, 0 |
| if (fp != 0) {
0x0000b660 bne.w 0xb546 | goto label_18;
| }
0x0000b664 cmp r6, 0 |
| if (r6 != 0) {
0x0000b666 bne.w 0xb436 | goto label_8;
| }
0x0000b66a mov r0, r7 | r0 = r7;
0x0000b66c bl 0xa280 | fcn_0000a280 (r0);
0x0000b670 movs r2, 0x60 | r2 = 0x60;
0x0000b672 mov r1, sb | r1 = sb;
0x0000b674 mov r0, r7 | r0 = r7;
0x0000b676 blx 0x7b34 | fcn_00007b34 ();
0x0000b67a mov r0, sl | r0 = sl;
0x0000b67c blx 0x744c | event_producer_prepare_event ();
0x0000b680 mov r0, sl | r0 = sl;
0x0000b682 blx 0x781c | fcn_0000781c ();
0x0000b686 movs r1, 0x20 | r1 = 0x20;
0x0000b688 mov r0, sl | r0 = sl;
0x0000b68a blx 0x7aa0 | g_key_file_new ();
0x0000b68e ldr r2, [pc, 0xe8] | r2 = *(0xb77a);
0x0000b690 mov r3, sl | r3 = sl;
0x0000b692 str r0, [r4, 8] | *((r4 + 8)) = r0;
0x0000b694 mov r1, r5 | r1 = r5;
0x0000b696 ldr.w r2, [r8, r2] | r2 = *((r8 + r2));
0x0000b69a blx 0x71e0 | fcn_000071e0 ();
0x0000b69e mov r0, r4 | r0 = r4;
0x0000b6a0 bl 0x94d0 | fcn_000094d0 (r0);
0x0000b6a4 ldr.w r3, [r4, 0x154] | r3 = *((r4 + 0x154));
| if (r3 != 0) {
0x0000b6a8 cbz r3, 0xb6ae |
0x0000b6aa ldr r3, [r4, 0x38] | r3 = *((r4 + 0x38));
| if (r3 == 0) {
0x0000b6ac cbz r3, 0xb6c8 | goto label_48;
| }
| }
0x0000b6ae ldr r2, [pc, 0x150] |
0x0000b6b0 ldr r3, [pc, 0x98] | r3 = *(0xb74c);
0x0000b6b2 add r2, pc | r2 = 0x16eb8;
0x0000b6b4 ldr r3, [r2, r3] | r3 = *(0x16eb8);
0x0000b6b6 ldr r2, [r3] | r2 = *(0x16eb8);
0x0000b6b8 ldr r3, [sp, 0x7c] | r3 = var_7ch;
0x0000b6ba eors r2, r3 | r2 ^= r3;
0x0000b6bc mov.w r3, 0 | r3 = 0;
| if (r2 == r3) {
0x0000b6c0 bne 0xb742 |
0x0000b6c2 add sp, 0x84 |
0x0000b6c4 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_48:
0x0000b6c8 ldr r2, [pc, 0x138] |
0x0000b6ca ldr r3, [pc, 0x80] | r3 = *(0xb74e);
0x0000b6cc add r2, pc | r2 = 0x16ed4;
0x0000b6ce ldr r3, [r2, r3] | r3 = *(0x16ed4);
0x0000b6d0 ldr r2, [r3] | r2 = *(0x16ed4);
0x0000b6d2 ldr r3, [sp, 0x7c] | r3 = var_7ch;
0x0000b6d4 eors r2, r3 | r2 ^= r3;
0x0000b6d6 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0000b6da bne 0xb742 | goto label_28;
| }
0x0000b6dc ldr r0, [sp, 0xc] | r0 = var_ch;
0x0000b6de mov r1, r4 | r1 = r4;
0x0000b6e0 add sp, 0x84 |
0x0000b6e2 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x0000b6e6 b.w 0xe070 | goto label_49;
| label_32:
0x0000b6ea mov fp, r3 |
0x0000b6ec ldr r1, [pc, 0x118] |
0x0000b6ee ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b6f0 add r1, pc | r1 = 0x16efc;
0x0000b6f2 ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b6f4 blx 0x733c | fcn_0000733c ();
0x0000b6f8 b 0xb342 | goto label_12;
| label_34:
0x0000b6fa mov fp, r3 |
0x0000b6fc ldr r1, [pc, 0x10c] |
0x0000b6fe ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b700 add r1, pc | r1 = 0x16f10;
0x0000b702 ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b704 blx 0x733c | fcn_0000733c ();
0x0000b708 b 0xb364 | goto label_13;
| label_35:
0x0000b70a ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x0000b70c mov.w fp, 1 |
0x0000b710 ldr r1, [pc, 0xfc] |
0x0000b712 ldr r0, [r3, 8] | r0 = *((r3 + 8));
0x0000b714 add r1, pc | r1 = 0x16f28;
0x0000b716 blx 0x733c | fcn_0000733c ();
0x0000b71a b 0xb364 | goto label_13;
| label_44:
0x0000b71c mov r0, r4 | r0 = r4;
0x0000b71e bl 0x14f78 | fcn_00014f78 (r0);
0x0000b722 b 0xb442 | goto label_19;
| label_47:
0x0000b724 ldr r1, [sp, 0x14] | r1 = var_14h;
0x0000b726 mov r0, r4 | r0 = r4;
0x0000b728 bl 0x14dc8 | fcn_00014dc8 (r0, r1, r2);
0x0000b72c ldr r0, [r4, 0x48] | r0 = *((r4 + 0x48));
0x0000b72e blx 0x7928 | fcn_00007928 ();
0x0000b732 mov r0, sl | r0 = sl;
0x0000b734 blx 0x75e0 | fcn_000075e0 ();
0x0000b738 str r0, [r4, 0x48] | *((r4 + 0x48)) = r0;
0x0000b73a mov r0, r4 | r0 = r4;
0x0000b73c bl 0x14f78 | fcn_00014f78 (r0);
0x0000b740 b 0xb658 | goto label_20;
| }
| label_28:
0x0000b742 blx 0x78f4 | fcn_000078f4 ();
0x0000b746 nop |
0x0000b748 ldrh r0, [r7, r0] | r0 = *((r7 + r0));
0x0000b74a movs r3, r0 | r3 = r0;
0x0000b74c lsls r4, r6, 0x10 | r4 = r6 << 0x10;
0x0000b74e movs r0, r0 |
0x0000b750 ldrh r0, [r6, r0] | r0 = *((r6 + r0));
0x0000b752 movs r3, r0 | r3 = r0;
0x0000b754 ldr r6, [r5, 0x30] | r6 = *((r5 + 0x30));
0x0000b756 movs r3, r0 | r3 = r0;
0x0000b758 strb r4, [r1, 0x11] | *((r1 + 0x11)) = r4;
0x0000b75a movs r1, r0 | r1 = r0;
0x0000b75c ldr r2, [r1, 0x68] | r2 = *((r1 + 0x68));
0x0000b75e movs r1, r0 | r1 = r0;
0x0000b760 ldr r0, [r7, 0x64] | r0 = *((r7 + 0x64));
0x0000b762 movs r1, r0 | r1 = r0;
0x0000b764 ldr r6, [r3, 0x40] | r6 = *((r3 + 0x40));
0x0000b766 movs r1, r0 | r1 = r0;
0x0000b768 ldr r0, [r6, 0x3c] | r0 = *((r6 + 0x3c));
0x0000b76a movs r1, r0 | r1 = r0;
0x0000b76c ldrh r6, [r3, 0x3a] | r6 = *((r3 + 0x3a));
0x0000b76e movs r1, r0 | r1 = r0;
0x0000b770 strb r0, [r2, 0xa] | *((r2 + 0xa)) = r0;
0x0000b772 movs r1, r0 | r1 = r0;
0x0000b774 ldr r2, [r1, r5] | r2 = *((r1 + r5));
0x0000b776 movs r3, r0 | r3 = r0;
0x0000b778 lsls r0, r6, 0x10 | r0 = r6 << 0x10;
0x0000b77a movs r0, r0 |
0x0000b77c ldr r2, [r4, 0x34] | r2 = *((r4 + 0x34));
0x0000b77e movs r1, r0 | r1 = r0;
0x0000b780 ldr r0, [r1, 0x34] | r0 = *((r1 + 0x34));
0x0000b782 movs r1, r0 | r1 = r0;
0x0000b784 ldr r0, [r5, 0x1c] | r0 = *((r5 + 0x1c));
0x0000b786 movs r3, r0 | r3 = r0;
0x0000b788 ldr r2, [r5, 0x2c] | r2 = *((r5 + 0x2c));
0x0000b78a movs r1, r0 | r1 = r0;
0x0000b78c ldr r2, [r2, 0x18] | r2 = *((r2 + 0x18));
0x0000b78e movs r3, r0 | r3 = r0;
0x0000b790 lsls r4, r7, 0x11 | r4 = r7 << 0x11;
0x0000b792 movs r0, r0 |
0x0000b794 ldrh r4, [r6, 0x30] | r4 = *((r6 + 0x30));
0x0000b796 movs r1, r0 | r1 = r0;
0x0000b798 strb r2, [r1, 3] | *((r1 + 3)) = r2;
0x0000b79a movs r1, r0 | r1 = r0;
0x0000b79c ldr r2, [r3, 0x14] | r2 = *((r3 + 0x14));
0x0000b79e movs r3, r0 | r3 = r0;
0x0000b7a0 strb r4, [r6, 9] | *((r6 + 9)) = r4;
0x0000b7a2 movs r1, r0 | r1 = r0;
0x0000b7a4 ldr r2, [r5, 0x54] | r2 = *((r5 + 0x54));
0x0000b7a6 movs r1, r0 | r1 = r0;
0x0000b7a8 ldr r0, [r4, 0x48] | r0 = *((r4 + 0x48));
0x0000b7aa movs r1, r0 | r1 = r0;
0x0000b7ac ldrh r6, [r5, 0x2e] | r6 = *((r5 + 0x2e));
0x0000b7ae movs r1, r0 | r1 = r0;
0x0000b7b0 ldr r0, [r3, 0x7c] | r0 = *((r3 + 0x7c));
0x0000b7b2 movs r1, r0 | r1 = r0;
0x0000b7b4 ldrsb r2, [r6, r2] | r2 = *((r6 + r2));
0x0000b7b6 movs r3, r0 | r3 = r0;
0x0000b7b8 ldrh r6, [r3, 0x22] | r6 = *((r3 + 0x22));
0x0000b7ba movs r1, r0 | r1 = r0;
0x0000b7bc ldr r0, [r2, 0x78] | r0 = *((r2 + 0x78));
0x0000b7be movs r1, r0 | r1 = r0;
0x0000b7c0 strb r0, [r6, 2] | *((r6 + 2)) = r0;
0x0000b7c2 movs r1, r0 | r1 = r0;
0x0000b7c4 ldr r6, [r5, 0x2c] | r6 = *((r5 + 0x2c));
0x0000b7c6 movs r1, r0 | r1 = r0;
0x0000b7c8 ldr r4, [r3, 0x2c] | r4 = *((r3 + 0x2c));
0x0000b7ca movs r1, r0 | r1 = r0;
0x0000b7cc strb r0, [r0, 0x10] | *((r0 + 0x10)) = r0;
0x0000b7ce movs r1, r0 | r1 = r0;
0x0000b7d0 str r0, [r0, 0x74] | *((r0 + 0x74)) = r0;
0x0000b7d2 movs r3, r0 | r3 = r0;
0x0000b7d4 ldr r0, [r3, 0x60] | r0 = *((r3 + 0x60));
0x0000b7d6 movs r1, r0 | r1 = r0;
0x0000b7d8 ldrh r2, [r5, 0x1e] | r2 = *((r5 + 0x1e));
0x0000b7da movs r1, r0 | r1 = r0;
0x0000b7dc str r0, [r3, 0x5c] | *((r3 + 0x5c)) = r0;
0x0000b7de movs r1, r0 | r1 = r0;
0x0000b7e0 ldrh r4, [r4, 0x1c] | r4 = *((r4 + 0x1c));
0x0000b7e2 movs r1, r0 | r1 = r0;
0x0000b7e4 ldr r2, [r1, 0x60] | r2 = *((r1 + 0x60));
0x0000b7e6 movs r1, r0 | r1 = r0;
0x0000b7e8 ldr r4, [r0, 0x68] | r4 = *((r0 + 0x68));
0x0000b7ea movs r1, r0 | r1 = r0;
0x0000b7ec ldr r2, [r0, 0x68] | r2 = *((r0 + 0x68));
0x0000b7ee movs r1, r0 | r1 = r0;
0x0000b7f0 ldr r6, [r4, 0x60] | r6 = *((r4 + 0x60));
0x0000b7f2 movs r1, r0 | r1 = r0;
0x0000b7f4 ldr r6, [r4, 0x60] | r6 = *((r4 + 0x60));
0x0000b7f6 movs r1, r0 | r1 = r0;
0x0000b7f8 ldr r0, [r5, 0x60] | r0 = *((r5 + 0x60));
0x0000b7fa movs r1, r0 | r1 = r0;
0x0000b7fc ldr r2, [r3, 0x60] | r2 = *((r3 + 0x60));
0x0000b7fe movs r1, r0 | r1 = r0;
0x0000b800 strb r2, [r7, r1] | *((r7 + r1)) = r2;
0x0000b802 movs r3, r0 | r3 = r0;
0x0000b804 strb r0, [r4, r1] | *((r4 + r1)) = r0;
0x0000b806 movs r3, r0 | r3 = r0;
0x0000b808 ldr r0, [r4, 0x4c] | r0 = *((r4 + 0x4c));
0x0000b80a movs r1, r0 | r1 = r0;
0x0000b80c strh r0, [r6, 0x30] | *((r6 + 0x30)) = r0;
0x0000b80e movs r1, r0 | r1 = r0;
0x0000b810 ldr r4, [r3, 0x4c] | r4 = *((r3 + 0x4c));
0x0000b812 movs r1, r0 | r1 = r0;
| label_49:
0x0000e070 push {r4, r5, lr} |
0x0000e072 mov r4, r1 | r4 = r1;
0x0000e074 mov r5, r0 | r5 = r0;
0x0000e076 sub sp, 0x14 |
0x0000e078 mov r2, r5 | r2 = r5;
0x0000e07a ldrd r3, r1, [r1, 0x168] | __asm ("ldrd r3, r1, [r1, 0x168]");
0x0000e07e ldr.w r0, [r4, 0x154] | r0 = *((r4 + 0x154));
0x0000e080 lsls r4, r2, 5 | r4 = r2 << 5;
0x0000e082 blx 0x75ac | r0 = fcn_000075ac ();
| if (r0 == 0) {
0x0000e086 cbnz r0, 0xe08c |
0x0000e088 add sp, 0x14 |
0x0000e08a pop {r4, r5, pc} |
| }
0x0000e08c ldr.w r4, [r4, 0x16c] | r4 = *((r4 + 0x16c));
0x0000e090 movs r1, 0x10 | r1 = 0x10;
0x0000e092 ldr r3, [pc, 0x18] |
0x0000e094 ldr r2, [pc, 0x18] |
0x0000e096 str r0, [sp] | *(sp) = r0;
0x0000e098 movs r0, 0 | r0 = 0;
0x0000e09a add r3, pc | r3 = 0x1c14c;
0x0000e09c str r5, [sp, 8] | var_ch = r5;
0x0000e09e add r2, pc | r2 = 0x1c152;
0x0000e0a0 str r4, [sp, 4] | var_4h = r4;
0x0000e0a2 blx 0x7440 | nbmem_done ();
0x0000e0a6 add sp, 0x14 |
0x0000e0a8 pop {r4, r5, pc} |
| }
[*] Function sprintf used 2 times idpoint