[*] Binary protection state of libpacsio-businesslogic.so.0.0.55
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of libpacsio-businesslogic.so.0.0.55
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libpacsio-businesslogic.so.0.0.55 @ 0x13320 */
| #include <stdint.h>
|
; (fcn) fcn.00013320 () | void fcn_00013320 (int16_t arg1) {
| int16_t var_0h_3;
| int16_t var_0h_2;
| int16_t var_20h;
| int32_t var_0h_4;
| int16_t var_ch;
| int16_t var_10h;
| int16_t var_0h;
| int16_t var_4h;
| r0 = arg1;
| label_1:
0x0000854c bx pc | return void (*pc)() ();
0x00013320 ldr r2, [pc, 0x13c] |
0x00013322 ldr r3, [pc, 0x140] | r3 = *(0x13466);
0x00013324 push.w {r4, r5, r6, r7, r8, sb, lr} |
0x00013328 mov r4, r0 | r4 = r0;
0x0001332a add r2, pc | r2 = 0x2678e;
0x0001332c sub sp, 0xc |
0x0001332e ldr r3, [r2, r3] |
0x00013330 ldr r3, [r3] | r3 = *(0x2678e);
0x00013332 str r3, [sp, 4] | var_4h = r3;
0x00013334 mov.w r3, 0 | r3 = 0;
0x00013338 blx 0x7814 | fcn_00007814 ();
0x0001333c ldr r5, [r4, 0x34] | r5 = *((r4 + 0x34));
0x0001333e str r0, [sp] | *(sp) = r0;
0x00013340 blx 0x7e24 | r0 = fcn_00007e24 ();
0x00013344 mov r1, r0 | r1 = r0;
0x00013346 mov r0, r5 | r0 = r5;
0x00013348 blx 0x8268 | fcn_00008268 ();
0x0001334c blx 0x85c4 | fcn_000085c4 ();
0x00013350 ldr r5, [r4, 8] | r5 = *((r4 + 8));
0x00013352 mov r6, r0 | r6 = r0;
| if (r5 != 0) {
0x00013354 cbz r5, 0x1335e |
0x00013356 mov r0, r5 | r0 = r5;
0x00013358 blx 0x889c | r0 = domain_aadpop_has_reader_archetype ();
0x0001335c mov r5, r0 | r5 = r0;
| }
0x0001335e ldr r7, [pc, 0x108] |
0x00013360 ldr r2, [r4, 0x40] | r2 = *((r4 + 0x40));
0x00013362 ldr r0, [sp] | r0 = *(sp);
0x00013364 add r7, pc | r7 = 0x267d2;
0x00013366 mov r1, r7 | r1 = r7;
0x00013368 blx 0x7bd4 | fcn_00007bd4 ();
0x0001336c cmp r6, 0 |
| if (r6 != 0) {
0x0001336e beq 0x133f2 |
0x00013370 ldr.w r8, [pc, 0xf8] |
0x00013374 mov r1, r7 | r1 = r7;
0x00013376 movs r2, 0 | r2 = 0;
0x00013378 mov r0, r6 | r0 = r6;
0x0001337a blx 0x77f0 | fcn_000077f0 ();
0x0001337e ldrd r2, sb, [r4, 0x3c] | __asm ("ldrd r2, sb, [r4, 0x3c]");
0x00013382 add r8, pc | r8 = 0x267f2;
0x00013384 mov r7, r0 | r7 = r0;
0x00013386 mov r1, r8 | r1 = r8;
0x00013388 ldr r0, [sp] | r0 = *(sp);
0x0001338a blx 0x7bd4 | fcn_00007bd4 ();
0x0001338e cmp r7, sb |
| if (r7 != sb) {
0x00013390 bne 0x133fe | goto label_4;
| }
0x00013392 movs r2, 0 | r2 = 0;
0x00013394 mov r1, r8 | r1 = r8;
0x00013396 mov r0, r6 | r0 = r6;
0x00013398 blx 0x77f0 | fcn_000077f0 ();
0x0001339c ldr.w sb, [r4, 0x3c] | sb = *((r4 + 0x3c));
0x000133a0 mov r7, r0 | r7 = r0;
0x000133a2 mov r2, r5 | r2 = r5;
0x000133a4 ldr r0, [sp] | r0 = *(sp);
0x000133a6 cmp r5, 0 |
| if (r5 == 0) {
0x000133a8 beq 0x13456 | goto label_5;
| }
| label_0:
0x000133aa ldr.w r8, [pc, 0xc4] |
0x000133ae add r8, pc | r8 = 0x26824;
0x000133b0 mov r1, r8 | r1 = r8;
0x000133b2 blx 0x7224 | fcn_00007224 ();
0x000133b6 cmp r7, sb |
| if (r7 != sb) {
0x000133b8 bne 0x1340c | goto label_6;
| }
0x000133ba mov r1, r8 | r1 = r8;
0x000133bc ldr.w r8, [pc, 0xb4] |
0x000133c0 movs r2, 0 | r2 = 0;
0x000133c2 mov r0, r6 | r0 = r6;
0x000133c4 blx 0x8860 | fcn_00008860 ();
0x000133c8 mov r1, r5 | r1 = r5;
0x000133ca add r8, pc | r8 = 0x26842;
0x000133cc blx 0x74f8 | r0 = validation_object_get_operation ();
0x000133d0 mov r7, r0 | r7 = r0;
0x000133d2 ldr r2, [r4, 0x48] | r2 = *((r4 + 0x48));
0x000133d4 ldr r0, [sp] | r0 = *(sp);
0x000133d6 mov r1, r8 | r1 = r8;
0x000133d8 blx 0x7224 | fcn_00007224 ();
| if (r7 != 0) {
0x000133dc cbnz r7, 0x13418 | goto label_7;
| }
0x000133de mov r1, r8 | r1 = r8;
0x000133e0 mov r2, r7 | r2 = r7;
0x000133e2 mov r0, r6 | r0 = r6;
0x000133e4 blx 0x8860 | fcn_00008860 ();
0x000133e8 ldr r1, [r4, 0x48] | r1 = *((r4 + 0x48));
0x000133ea blx 0x74f8 | r0 = validation_object_get_operation ();
| if (r0 == 0) {
0x000133ee cbz r0, 0x13420 | goto label_8;
| }
0x000133f0 b 0x13418 | goto label_7;
| }
0x000133f2 ldr r1, [pc, 0x84] |
0x000133f4 ldr r2, [r4, 0x3c] | r2 = *((r4 + 0x3c));
0x000133f6 ldr r0, [sp] | r0 = *(sp);
0x000133f8 add r1, pc | r1 = 0x26876;
0x000133fa blx 0x7bd4 | fcn_00007bd4 ();
| label_4:
0x000133fe ldr r0, [sp] | r0 = *(sp);
| if (r5 == 0) {
0x00013400 cbz r5, 0x13448 | goto label_9;
| }
0x00013402 ldr r1, [pc, 0x78] |
0x00013404 mov r2, r5 | r2 = r5;
0x00013406 add r1, pc | r1 = 0x26888;
0x00013408 blx 0x7224 | fcn_00007224 ();
| do {
| label_6:
0x0001340c ldr r1, [pc, 0x70] |
0x0001340e ldr r2, [r4, 0x48] | r2 = *((r4 + 0x48));
0x00013410 ldr r0, [sp] | r0 = *(sp);
0x00013412 add r1, pc | r1 = 0x26896;
0x00013414 blx 0x7224 | fcn_00007224 ();
0x00013416 invalid |
| label_7:
0x00013418 ldr r1, [sp] | r1 = *(sp);
0x0001341a ldr r0, [r4, 0x34] | r0 = *((r4 + 0x34));
0x0001341c blx 0x8634 | fcn_00008634 ();
| label_8:
0x00013420 mov r0, sp | r0 = sp;
0x00013422 blx 0x7f98 | fcn_00007f98 ();
| if (r5 != 0) {
0x00013426 cbz r5, 0x1342e |
0x00013428 mov r0, r5 | r0 = r5;
0x0001342a blx 0x720c | fcn_0000720c ();
| }
0x0001342e ldr r2, [pc, 0x54] |
0x00013430 ldr r3, [pc, 0x30] | r3 = *(0x13464);
0x00013432 add r2, pc | r2 = 0x268bc;
0x00013434 ldr r3, [r2, r3] | r3 = *(0x268bc);
0x00013436 ldr r2, [r3] | r2 = *(0x268bc);
0x00013438 ldr r3, [sp, 4] | r3 = var_4h;
0x0001343a eors r2, r3 | r2 ^= r3;
0x0001343c mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00013440 bne 0x1345c | goto label_10;
| }
0x00013442 add sp, 0xc |
0x00013444 pop.w {r4, r5, r6, r7, r8, sb, pc} |
| label_9:
0x00013448 ldr r2, [pc, 0x3c] |
0x0001344a ldr r1, [pc, 0x40] |
0x0001344c add r2, pc | r2 = 0x268d8;
0x0001344e add r1, pc | r1 = 0x268e0;
0x00013450 blx 0x7224 | fcn_00007224 ();
0x00013454 b 0x1340c |
| } while (1);
| label_5:
0x00013456 ldr r2, [pc, 0x38] |
0x00013458 add r2, pc | r2 = 0x268ee;
0x0001345a b 0x133aa | goto label_0;
| label_10:
0x0001345c blx 0x828c | fcn_0000828c ();
0x00013460 push {r1, r3, r4, r5, r6} |
0x00013462 movs r0, r0 |
0x00013464 lsrs r4, r3, 0x20 | r4 = r3 >> 0x20;
0x00013466 movs r0, r0 |
0x00013468 strh r0, [r7, 0x36] | *((r7 + 0x36)) = r0;
0x0001346a movs r0, r0 |
0x0001346c strh r2, [r5, 0x36] | *((r5 + 0x36)) = r2;
0x0001346e movs r0, r0 |
0x00013470 strh r6, [r1, 0x36] | *((r1 + 0x36)) = r6;
0x00013472 movs r0, r0 |
0x00013474 strh r6, [r7, 0x34] | *((r7 + 0x34)) = r6;
0x00013476 movs r0, r0 |
0x00013478 strh r4, [r6, 0x32] | *((r6 + 0x32)) = r4;
0x0001347a movs r0, r0 |
0x0001347c strh r6, [r6, 0x32] | *((r6 + 0x32)) = r6;
0x0001347e movs r0, r0 |
0x00013480 strh r6, [r6, 0x32] | *((r6 + 0x32)) = r6;
0x00013482 movs r0, r0 |
| if (r2 != 0) {
0x00013484 cbz r2, 0x134e4 |
0x00013486 movs r0, r0 |
0x00013488 ldrsb r0, [r6, r1] | r0 = *((r6 + r1));
0x0001348a movs r0, r0 |
0x0001348c strh r6, [r5, 0x30] | *((r5 + 0x30)) = r6;
0x0001348e movs r0, r0 |
0x00013490 ldrsb r4, [r4, r1] | r4 = *((r4 + r1));
0x00013492 movs r0, r0 |
0x00013494 push {r3, lr} |
0x00013496 bl 0x13320 | fcn_00013320 (r0);
0x0001349a movs r0, 0 | r0 = 0;
0x0001349c pop {r3, pc} |
| }
0x000134e4 blx 0x7f50 | r0 = fcn_00007f50 ();
0x000134e8 mov r1, r0 | r1 = r0;
0x000134ea add r6, pc | r6 += pc;
0x000134ec mov r0, r5 | r0 = r5;
0x000134ee movs r5, 0 | r5 = 0;
0x000134f0 blx 0x8268 | fcn_00008268 ();
0x000134f4 blx 0x832c | fcn_0000832c ();
0x000134f8 ldr r2, [pc, 0xb4] |
0x000134fa mov r1, r0 | r1 = r0;
0x000134fc ldr r0, [r4, 4] | r0 = *((r4 + 4));
0x000134fe add r2, pc | r2 = 0x26ab2;
0x00013500 blx 0x7438 | r0 = fcn_00007438 ();
0x00013504 mov sb, r0 | sb = r0;
0x00013506 blx 0x7a50 | fcn_00007a50 ();
0x0001350a ldr r1, [pc, 0xa8] |
0x0001350c mov r8, r0 | r8 = r0;
0x0001350e movs r2, 0 | r2 = 0;
0x00013510 mov r0, sl | r0 = sl;
0x00013512 add r1, pc | r1 = 0x26acc;
0x00013514 blx 0x7a44 | domain_osdp_get_keytype ();
0x00013516 eors.w fp, r6, r7, asr 16 |
0x0001351a movs r0, r0 |
0x0001351c mov r1, r8 | r1 = r8;
0x0001351e str r0, [sp, 0xc] | var_ch = r0;
0x00013520 mov r0, r7 | r0 = r7;
0x00013522 add r3, pc | r3 += pc;
0x00013524 bl 0x8526 | void (*0x8526)() ();
0x00013528 ldr r2, [pc, 0x90] |
0x0001352a mov r3, r4 | r3 = r4;
0x0001352c mov r1, r6 | r1 = r6;
0x0001352e strd r5, r5, [sp] | __asm ("strd r5, r5, [sp]");
0x00013532 add r2, pc | r2 = 0x26af2;
0x00013534 blx 0x81fc | fcn_000081fc ();
0x00013538 add r0, sp, 0xc | r0 += var_ch;
0x0001353a blx 0x8120 | fcn_00008120 ();
0x0001353e ldr r1, [pc, 0x80] |
0x00013540 mov r2, r5 | r2 = r5;
0x00013542 mov r0, sl | r0 = sl;
0x00013544 add r1, pc | r1 = 0x26b0a;
0x00013546 blx 0x7a44 | domain_osdp_get_keytype ();
0x0001354a ldr r3, [pc, 0x78] |
0x0001354c mov r2, r0 | r2 = r0;
0x0001354e mov r1, r8 | r1 = r8;
0x00013550 mov r0, r7 | r0 = r7;
0x00013552 str r2, [sp, 0x10] | var_10h = r2;
0x00013554 add r3, pc | r3 = 0x26b1e;
0x00013556 blx 0x7914 | fcn_00007914 ();
0x0001355a ldr r2, [pc, 0x6c] |
0x0001355c mov r3, r4 | r3 = r4;
0x0001355e mov r1, r6 | r1 = r6;
0x00013560 strd r5, r5, [sp] | __asm ("strd r5, r5, [sp]");
0x00013564 add r2, pc | r2 = 0x26b32;
0x00013566 blx 0x81fc | fcn_000081fc ();
0x0001356a add r0, sp, 0x10 | r0 += var_10h;
0x0001356c blx 0x8120 | fcn_00008120 ();
0x00013570 mov r0, sb | r0 = sb;
0x00013572 blx 0x74c4 | fcn_000074c4 ();
0x00013576 ldr r2, [pc, 0x54] |
0x00013578 ldr r3, [pc, 0x1c] | r3 = *(0x13598);
0x0001357a add r2, pc | r2 = 0x26b4c;
0x0001357c ldr r3, [r2, r3] | r3 = *(0x26b4c);
0x0001357e ldr r2, [r3] | r2 = *(0x26b4c);
0x00013580 ldr r3, [sp, 0x14] | r3 = var_0h;
0x00013582 eors r2, r3 | r2 ^= r3;
0x00013584 mov.w r3, 0 | r3 = 0;
| if (r2 == r3) {
0x00013588 bne 0x13590 |
0x0001358a add sp, 0x18 |
0x0001358c pop.w {r4, r5, r6, r7, r8, sb, sl, pc} |
| }
0x00013590 blx 0x828c | fcn_0000828c ();
0x00013594 uxtb r4, r6 | r4 = (int8_t) r6;
0x00013596 movs r0, r0 |
0x00013598 lsrs r4, r3, 0x20 | r4 = r3 >> 0x20;
0x0001359a movs r0, r0 |
0x0001359c strh r0, [r6, 0x38] | *((r6 + 0x38)) = r0;
0x0001359e movs r0, r0 |
0x000135a0 strb r2, [r7, r4] | *((r7 + r4)) = r2;
0x000135a2 movs r0, r0 |
0x000135a4 ldr r2, [pc, 0x20] | r2 = *(0x135c8);
0x000135a6 movs r0, r0 |
0x000135a8 ldr r6, [r7, 8] | r6 = *((r7 + 8));
0x000135aa movs r0, r0 |
0x000135ac strh r2, [r0] | *(r0) = r2;
0x000135ae movs r0, r0 |
0x000135b0 strh r6, [r3, 0x2c] | *((r3 + 0x2c)) = r6;
0x000135b2 movs r0, r0 |
0x000135b4 strh r6, [r1, 0x2c] | *((r1 + 0x2c)) = r6;
0x000135b6 movs r0, r0 |
0x000135b8 strh r6, [r1, 0x2c] | *((r1 + 0x2c)) = r6;
0x000135ba movs r0, r0 |
0x000135bc lsls r3, r5, 9 | r3 = r5 << 9;
0x000135be movs r0, r0 |
0x000135c0 strh r0, [r7, 0x2a] | *((r7 + 0x2a)) = r0;
0x000135c2 movs r0, r0 |
0x000135c4 ldr r0, [r2, 8] | r0 = *(0x135d0);
0x000135c6 movs r0, r0 |
0x000135c8 lsls r1, r5, 1 | r1 = r5 << 1;
0x000135ca movs r0, r0 |
0x000135cc sxth r2, r5 | __asm ("sxth r2, r5");
0x000135ce movs r0, r0 |
0x000135d0 push {r4, r5, r6, r7, lr} |
0x000135d2 sub sp, 0xc |
0x000135d4 ldr r4, [pc, 0x58] |
0x000135d6 mov r5, r1 | r5 = r1;
0x000135d8 movs r1, 0x80 | r1 = 0x80;
0x000135da ldr r7, [pc, 0x58] |
0x000135dc ldr r6, [sp, 0x20] | r6 = var_20h;
0x000135de add r4, pc |
0x000135e0 ldr r2, [pc, 0x54] |
0x000135e2 add.w r4, r4, 0x14c | r4 = 0x26d5e;
0x000135e6 add r7, pc | r7 = 0x26c20;
0x000135e8 mov r3, r4 | r3 = r4;
0x000135ea mov r0, r7 | r0 = r7;
0x000135ec add r2, pc | r2 = 0x26c28;
0x000135ee blx 0x88fc | fcn_000088fc ();
| if (r6 != 0) {
0x000135f2 cbz r6, 0x13618 |
0x000135f4 ldr r1, [pc, 0x44] |
0x000135f6 mov r0, r5 | r0 = r5;
0x000135f8 add r1, pc | r1 = 0x26c38;
0x000135fa blx 0x74f8 | r0 = validation_object_get_operation ();
| if (r0 == 0) {
0x000135fe cbnz r0, 0x13614 |
0x00013600 ldr r3, [r6, 8] | r3 = *((r6 + 8));
| if (r3 == 0) {
0x00013602 cbz r3, 0x13614 | goto label_11;
| }
0x00013604 ldr r0, [pc, 0x38] |
0x00013606 mov r1, r6 | r1 = r6;
0x00013608 add r0, pc | r0 = 0x26c4c;
0x0001360a add sp, 0xc |
0x0001360c pop.w {r4, r5, r6, r7, lr} |
0x00013610 b.w 0x854c | goto label_1;
| }
| label_11:
0x00013614 add sp, 0xc |
0x00013616 pop {r4, r5, r6, r7, pc} |
| }
0x00013618 ldr r5, [pc, 0x28] |
0x0001361a mov r3, r4 | r3 = r4;
0x0001361c ldr r1, [pc, 0x28] |
0x0001361e movw r2, 0x331 | r2 = 0x331;
0x00013622 mov r0, r7 | r0 = r7;
0x00013624 add r5, pc | r5 = 0x26c6c;
0x00013626 add r1, pc | r1 = 0x26c72;
0x00013628 str r5, [sp] | *(sp) = r5;
0x0001362a blx 0x7a08 | resource_relation_get_reference ();
0x0001362e nop |
0x00013630 strh r2, [r1, 0x30] | *((r1 + 0x30)) = r2;
0x00013632 movs r0, r0 |
0x00013634 ldr r0, [pc, 0x388] | r0 = imp.g_variant_unref;
0x00013636 movs r0, r0 |
0x00013638 strb r4, [r1, r0] | *((r1 + r0)) = r4;
0x0001363a movs r0, r0 |
0x0001363c str r4, [r7, 0x48] | *((r7 + 0x48)) = r4;
0x0001363e movs r0, r0 |
0x00013640 bl 0x4d642 | void (*0x4d642)(uint32_t, uint32_t) (r0, r2);
0x00013644 str r0, [r4, r2] | *((r4 + r2)) = r0;
0x00013646 movs r0, r0 |
0x00013648 strh r6, [r5, 0x24] | *((r5 + 0x24)) = r6;
0x0001364a movs r0, r0 |
0x0001364c push {r4, r5, r6, r7, lr} |
0x0001364e mov r4, r0 | r4 = r0;
0x00013650 ldr r7, [pc, 0xe8] |
0x00013652 sub sp, 0xc |
0x00013654 movs r1, 0x80 | r1 = 0x80;
0x00013656 ldr r6, [pc, 0xe8] |
0x00013658 ldr r5, [pc, 0xe8] |
0x0001365a add r7, pc | r7 = 0x26d9a;
0x0001365c add.w r3, r7, 0x168 | r3 = r7 + 0x168;
0x00013660 add r6, pc | r6 = 0x26da6;
0x00013662 add r5, pc | r5 = 0x26daa;
0x00013664 mov r2, r6 | r2 = r6;
0x00013666 mov r0, r5 | r0 = r5;
0x00013668 blx 0x88fc | fcn_000088fc ();
0x0001366c cmp r4, 0 |
| if (r4 == 0) {
0x0001366e beq 0x13724 | goto label_12;
| }
0x00013670 ldr r0, [r4, 8] | r0 = *((r4 + 8));
| if (r0 != 0) {
0x00013672 cbz r0, 0x136c6 |
| label_2:
0x00013674 blx 0x7544 | r0 = fcn_00007544 ();
0x00013678 cmp r0, 9 |
| if (r0 == 9) {
0x0001367a beq 0x13728 | goto label_13;
| }
0x0001367c cmp r0, 8 |
| if (r0 == 8) {
0x0001367e beq 0x13732 | goto label_14;
| }
0x00013680 ldr r3, [pc, 0xc4] |
0x00013682 ldr r1, [pc, 0xc8] |
0x00013684 add r3, pc | r3 = 0x26dd0;
0x00013686 add r1, pc | r1 = 0x26dd8;
| label_3:
0x00013688 ldr r2, [r4, 0x44] | r2 = *((r4 + 0x44));
0x0001368a str r1, [r4, 0x44] | *((r4 + 0x44)) = r1;
0x0001368c cmp r2, r1 |
| if (r2 != r1) {
0x0001368e beq 0x1369a |
0x00013690 movs r2, 0 | r2 = 0;
0x00013692 str r2, [sp] | *(sp) = r2;
0x00013694 ldr r0, [r4, 0x28] | r0 = *((r4 + 0x28));
0x00013696 blx 0x7c40 | fcn_00007c40 ();
| }
0x0001369a ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x0001369c blx 0x87fc | r0 = fcn_000087fc ();
0x000136a0 mov r1, r0 | r1 = r0;
0x000136a2 mov r0, r4 | r0 = r4;
0x000136a4 bl 0x12f68 | fcn_00012f68 (r0, r1);
0x000136a8 ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x000136aa blx 0x7d9c | r0 = fcn_00007d9c ();
0x000136ae mov r1, r0 | r1 = r0;
0x000136b0 mov r0, r4 | r0 = r4;
0x000136b2 bl 0x131f0 | fcn_000131f0 (r0, r1);
0x000136b6 ldr r0, [pc, 0x98] |
0x000136b8 mov r1, r4 | r1 = r4;
0x000136ba add r0, pc | r0 = 0x26e10;
0x000136bc add sp, 0xc |
0x000136be pop.w {r4, r5, r6, r7, lr} |
0x000136c2 b.w 0x854c | goto label_1;
| }
0x000136c6 ldr r0, [r4] | r0 = *(r4);
0x000136c8 blx 0x86e4 | r0 = fcn_000086e4 ();
0x000136cc mov r1, r0 | r1 = r0;
0x000136ce ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x000136d0 blx 0x8604 | fcn_00008604 ();
0x000136d4 str r0, [r4, 8] | *((r4 + 8)) = r0;
| if (r0 == 0) {
0x000136d6 cbz r0, 0x13724 | goto label_12;
| }
0x000136d8 blx 0x85d0 | fcn_000085d0 ();
0x000136dc mov r0, r5 | r0 = r5;
0x000136de add.w r3, r7, 0x180 | r3 = r7 + 0x180;
0x000136e2 mov r2, r6 | r2 = r6;
0x000136e4 movs r1, 0x80 | r1 = 0x80;
0x000136e6 blx 0x88fc | fcn_000088fc ();
0x000136ea ldr r5, [r4, 0x10] | r5 = *((r4 + 0x10));
| if (r5 == 0) {
0x000136ec cbz r5, 0x136fa | goto label_15;
| }
| do {
0x000136ee ldr r0, [r5] | r0 = *(r5);
0x000136f0 bl 0x12cd4 | fcn_00012cd4 (r0);
0x000136f4 ldr r5, [r5, 4] | r5 = *((r5 + 4));
0x000136f6 cmp r5, 0 |
0x000136f8 bne 0x136ee |
| } while (r5 != 0);
| label_15:
0x000136fa ldr r1, [pc, 0x58] |
0x000136fc mov r2, r4 | r2 = r4;
0x000136fe ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x00013700 add r1, pc | r1 = 0x26e5a;
0x00013702 blx 0x8030 | fcn_00008030 ();
0x00013706 ldr r1, [pc, 0x50] |
0x00013708 mov r2, r4 | r2 = r4;
0x0001370a ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x0001370c add r1, pc | r1 = 0x26e6a;
0x0001370e blx 0x7d54 | fcn_00007d54 ();
0x00013712 ldr r1, [pc, 0x48] |
0x00013714 mov r2, r4 | r2 = r4;
0x00013716 ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x00013718 add r1, pc | r1 = 0x26e7a;
0x0001371a blx 0x86c0 | fcn_000086c0 ();
0x0001371e ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x00013720 cmp r0, 0 |
| if (r0 != 0) {
0x00013722 bne 0x13674 | goto label_2;
| }
| label_12:
0x00013724 add sp, 0xc |
0x00013726 pop {r4, r5, r6, r7, pc} |
| label_13:
0x00013728 ldr r3, [pc, 0x34] |
0x0001372a ldr r1, [pc, 0x38] |
0x0001372c add r3, pc | r3 = 0x26e90;
0x0001372e add r1, pc | r1 = 0x26e98;
0x00013730 b 0x13688 | goto label_3;
| label_14:
0x00013732 ldr r3, [pc, 0x34] |
0x00013734 ldr r1, [pc, 0x34] |
0x00013736 add r3, pc | r3 = 0x26ea4;
0x00013738 add r1, pc | r1 = 0x26ea8;
0x0001373a b 0x13688 | goto label_3;
| }
[*] Function sprintf used 1 times libpacsio-businesslogic.so.0.0.55