[*] Binary protection state of mod_status.so
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function printf tear down of mod_status.so
r2dec has crashed (info: /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/apache2/modules/mod_status.so @ 0xddc).
Please report the bug at https://github.com/radareorg/r2dec-js/issues
Use the option '--issue' or the command 'pddi' to generate
the needed data for the issue.
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/apache2/modules/mod_status.so @ 0xed4 */
| #include <stdint.h>
|
; (fcn) fcn.00000ed4 () | void fcn_00000ed4 (int16_t arg1, uint32_t arg3, int16_t arg4) {
| r0 = arg1;
| r2 = arg3;
| r3 = arg4;
0x00000ed4 cmp.w r2, 0x1400 |
0x00000ed8 sbcs r1, r3, 0 | __asm ("sbcs r1, r3, 0");
| if (r2 >= 0x1400) {
0x00000edc blt 0xf24 |
0x00000ede cmp.w r2, 0x80000 |
0x00000ee2 mov ip, r2 |
0x00000ee4 sbcs r2, r3, 0 | __asm ("sbcs r2, r3, 0");
| if (r2 >= 0x80000) {
0x00000ee8 blt 0xf0c |
0x00000eea cmp.w ip, 0x20000000 |
0x00000eee sbcs r2, r3, 0 | __asm ("sbcs r2, r3, 0");
| if (ip >= 0x20000000) {
0x00000ef2 bge 0xf2c | goto label_0;
| }
0x00000ef4 vmov s15, ip | __asm ("vmov s15, ip");
0x00000ef8 ldr r1, [pc, 0x64] |
0x00000efa vcvt.f32.s32 s15, s15, 0x14 | __asm ("vcvt.f32.s32 s15, s15, 0x14");
0x00000efe add r1, pc | r1 = 0x1e62;
0x00000f00 vcvt.f64.f32 d16, s15 | __asm ("vcvt.f64.f32 d16, s15");
0x00000f04 vmov r2, r3, d16 | __asm ("vmov r2, r3, d16");
0x00000f08 b.w 0xa9c | void (*0xa9c)() ();
| }
0x00000f0c vmov s15, ip | __asm ("vmov s15, ip");
0x00000f10 ldr r1, [pc, 0x50] |
0x00000f12 vcvt.f32.s32 s15, s15, 0xa | __asm ("vcvt.f32.s32 s15, s15, 0xa");
0x00000f16 add r1, pc | r1 = 0x1e7e;
0x00000f18 vcvt.f64.f32 d16, s15 | __asm ("vcvt.f64.f32 d16, s15");
0x00000f1c vmov r2, r3, d16 | __asm ("vmov r2, r3, d16");
0x00000f20 b.w 0xa9c | void (*0xa9c)() ();
| }
0x00000f24 ldr r1, [pc, 0x40] |
0x00000f26 add r1, pc | r1 = 0x1e92;
0x00000f28 b.w 0xa9c | void (*0xa9c)() ();
| label_0:
0x00000f2c mov r1, r3 | r1 = r3;
0x00000f2e push {r4, lr} |
0x00000f30 mov r4, r0 | r4 = r0;
0x00000f32 mov r0, ip | r0 = ip;
0x00000f34 bl 0x28d4 | fcn_000028d4 (r0, r1);
0x00000f38 vldr s14, [pc, 0x20] | __asm ("vldr s14, [0x00000f60]");
0x00000f3c vmov s15, r0 | __asm ("vmov s15, r0");
0x00000f40 mov r0, r4 | r0 = r4;
0x00000f42 ldr r1, [pc, 0x28] |
0x00000f44 pop.w {r4, lr} |
0x00000f46 ands r0, r2 | r0 &= r2;
0x00000f48 vmul.f32 s15, s15, s14 | __asm ("vmul.f32 s15, s15, s14");
0x00000f4c add r1, pc | r1 = 0x1ebe;
0x00000f4e vcvt.f64.f32 d16, s15 | __asm ("vcvt.f64.f32 d16, s15");
0x00000f52 vmov r2, r3, d16 | __asm ("vmov r2, r3, d16");
0x00000f56 b.w 0xa9c | return void (*0xa9c)() ();
| }
[*] Function printf used 1 times mod_status.so