[*] 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-80367616.squashfs_v4_le_extract/usr/lib/apache2/modules/mod_status.so @ 0xe60).
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-80367616.squashfs_v4_le_extract/usr/lib/apache2/modules/mod_status.so @ 0xf58 */
| #include <stdint.h>
|
; (fcn) fcn.00000f58 () | void fcn_00000f58 (int16_t arg1, uint32_t arg3, int16_t arg4) {
| r0 = arg1;
| r2 = arg3;
| r3 = arg4;
0x00000f58 cmp.w r2, 0x1400 |
0x00000f5c sbcs r1, r3, 0 | __asm ("sbcs r1, r3, 0");
| if (r2 >= 0x1400) {
0x00000f60 blt 0xfa8 |
0x00000f62 cmp.w r2, 0x80000 |
0x00000f66 mov ip, r2 |
0x00000f68 sbcs r2, r3, 0 | __asm ("sbcs r2, r3, 0");
| if (r2 >= 0x80000) {
0x00000f6c blt 0xf90 |
0x00000f6e cmp.w ip, 0x20000000 |
0x00000f72 sbcs r2, r3, 0 | __asm ("sbcs r2, r3, 0");
| if (ip >= 0x20000000) {
0x00000f76 bge 0xfb0 | goto label_0;
| }
0x00000f78 vmov s15, ip | __asm ("vmov s15, ip");
0x00000f7c ldr r1, [pc, 0x64] |
0x00000f7e vcvt.f32.s32 s15, s15, 0x14 | __asm ("vcvt.f32.s32 s15, s15, 0x14");
0x00000f82 add r1, pc | r1 = 0x1f6a;
0x00000f84 vcvt.f64.f32 d16, s15 | __asm ("vcvt.f64.f32 d16, s15");
0x00000f88 vmov r2, r3, d16 | __asm ("vmov r2, r3, d16");
0x00000f8c b.w 0xb24 | void (*0xb24)() ();
| }
0x00000f90 vmov s15, ip | __asm ("vmov s15, ip");
0x00000f94 ldr r1, [pc, 0x50] |
0x00000f96 vcvt.f32.s32 s15, s15, 0xa | __asm ("vcvt.f32.s32 s15, s15, 0xa");
0x00000f9a add r1, pc | r1 = 0x1f86;
0x00000f9c vcvt.f64.f32 d16, s15 | __asm ("vcvt.f64.f32 d16, s15");
0x00000fa0 vmov r2, r3, d16 | __asm ("vmov r2, r3, d16");
0x00000fa4 b.w 0xb24 | void (*0xb24)() ();
| }
0x00000fa8 ldr r1, [pc, 0x40] |
0x00000faa add r1, pc | r1 = 0x1f9a;
0x00000fac b.w 0xb24 | void (*0xb24)() ();
| label_0:
0x00000fb0 mov r1, r3 | r1 = r3;
0x00000fb2 push {r4, lr} |
0x00000fb4 mov r4, r0 | r4 = r0;
0x00000fb6 mov r0, ip | r0 = ip;
0x00000fb8 bl 0x2998 | fcn_00002998 (r0, r1);
0x00000fbc vldr s14, [pc, 0x20] | __asm ("vldr s14, aav.0x000000ff");
0x00000fc0 vmov s15, r0 | __asm ("vmov s15, r0");
0x00000fc4 mov r0, r4 | r0 = r4;
0x00000fc6 ldr r1, [pc, 0x28] |
0x00000fc8 pop.w {r4, lr} |
0x00000fcc vmul.f32 s15, s15, s14 | __asm ("vmul.f32 s15, s15, s14");
0x00000fd0 add r1, pc | r1 = 0x1fc6;
0x00000fd2 vcvt.f64.f32 d16, s15 | __asm ("vcvt.f64.f32 d16, s15");
0x00000fd6 vmov r2, r3, d16 | __asm ("vmov r2, r3, d16");
0x00000fda b.w 0xb24 | return void (*0xb24)() ();
| }
[*] Function printf used 1 times mod_status.so