[*] 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