[*] Binary protection state of mod_authz_axisgroupfile.so

  
  	Full RELRO     Canary found      NX enabled   DSO          No RPATH     No RUNPATH   No Symbols


[*] Function strcat tear down of mod_authz_axisgroupfile.so

    ; 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_authz_axisgroupfile.so @ 0x152c */
                                                                                                         | #include <stdint.h>
                                                                                                         |  
    ; (fcn) fcn.0000152c ()                                                                              | void fcn_0000152c (int16_t arg_40h, int16_t arg_7ch, int16_t arg_80h, int16_t arg_2040h, int16_t arg1) {
                                                                                                         |     int16_t var_0h_2;
                                                                                                         |     int16_t var_4h;
                                                                                                         |     int32_t var_0h_3;
                                                                                                         |     int16_t var_0h;
                                                                                                         |     int16_t var_4h_2;
                                                                                                         |     r0 = arg1;
    0x0000152c blmi 0xfef14020                                                                           |     __asm ("blmi 0xfef14020");
    0x00001530 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}                                               |     
    0x00001534 sub.w sp, sp, 0x2080                                                                      |     
    0x00001538 ldr r6, [pc, 0x2e8]                                                                       |     
    0x0000153a add r2, pc                                                                                |     r2 += pc;
    0x0000153c sub sp, 4                                                                                 |     
    0x0000153e mov r5, r0                                                                                |     r5 = r0;
    0x00001540 ldr r3, [r2, r3]                                                                          |     r3 = *((r2 + r3));
    0x00001542 add.w r1, sp, 0x2040                                                                      |     r1 += arg_2040h;
    0x00001546 ldr r7, [pc, 0x2e0]                                                                       |     
    0x00001548 add r6, pc                                                                                |     r6 = 0x2d70;
    0x0000154a ldr r0, [r6, 4]                                                                           |     r0 = *(0x2d74);
    0x0000154c adds r1, 0x3c                                                                             |     r1 += 0x3c;
    0x0000154e ldr r3, [r3]                                                                              |     r3 = *(r3);
    0x00001550 str r3, [r1]                                                                              |     *(r1) = r3;
    0x00001552 mov.w r3, 0                                                                               |     r3 = 0;
    0x00001556 add r7, pc                                                                                |     r7 = "axis-group";
    0x00001558 blx 0xf50                                                                                 |     r0 = apr_thread_mutex_lock ();
    0x0000155c cmp r0, 0                                                                                 |     
                                                                                                         |     if (r0 != 0) {
    0x0000155e bne.w 0x16e2                                                                              |         goto label_14;
                                                                                                         |     }
    0x00001562 mov r4, r0                                                                                |     r4 = r0;
    0x00001564 ldr r0, [pc, 0x2c4]                                                                       |     
    0x00001566 add.w r8, sp, 0x40                                                                        |     r8 += arg_40h;
    0x0000156a sub.w r1, r8, 0x20                                                                        |     r1 = r8 - 0x20;
    0x0000156c lsls r0, r4, 4                                                                            |     r0 = r4 << 4;
    0x0000156e add r0, pc                                                                                |     r0 = 0x2d9e;
    0x00001570 blx 0xf80                                                                                 |     r0 = stat ();
    0x00001574 cmp r0, 0                                                                                 |     
                                                                                                         |     if (r0 != 0) {
    0x00001576 bne.w 0x1698                                                                              |         goto label_15;
                                                                                                         |     }
    0x0000157a ldr r3, [pc, 0x2b4]                                                                       |     
    0x0000157c add r4, sp, 0x80                                                                          |     r4 += arg_80h;
    0x0000157e ldr sb, [r4, -0x20]                                                                       |     sb = *((r4 - 0x20));
    0x00001582 add r3, pc                                                                                |     
    0x00001584 ldr r3, [r3]                                                                              |     r3 = "axis-rtsp-ws-session-only";
    0x00001586 cmp sb, r3                                                                                |     
                                                                                                         |     if (sb == r3) {
    0x00001588 bne 0x1590                                                                                |         
    0x0000158a ldr r3, [r6, 0xc]                                                                         |         r3 = *((r6 + 0xc));
    0x0000158c cmp r3, 0                                                                                 |         
                                                                                                         |         if (r3 == 0) {
    0x0000158e beq 0x1660                                                                                |             goto label_16;
                                                                                                         |         }
                                                                                                         |     }
    0x00001590 ldr r3, [pc, 0x2a0]                                                                       |     
    0x00001592 asr.w r6, sb, 0x1f                                                                        |     r6 = sb >> 0x1f;
    0x00001596 movs r1, 0                                                                                |     r1 = 0;
    0x00001598 sub.w r0, r8, 0x28                                                                        |     r0 = r8 - 0x28;
    0x0000159c add r3, pc                                                                                |     r3 = "axis-anonymous-unmetered";
    0x0000159e str.w sb, [r3, 8]                                                                         |     __asm ("str.w sb, [r3, 8]");
    0x000015a2 str r6, [r3, 0xc]                                                                         |     *((r3 + 0xc)) = r6;
    0x000015a4 blx 0xf38                                                                                 |     gettimeofday ();
    0x000015a8 ldr r2, [r4, -0x68]                                                                       |     r2 = *((r4 - 0x68));
    0x000015ac movw r3, 0x4240                                                                           |     
    0x000015b0 movt r3, 0xf                                                                              |     r3 = 0xf4240;
    0x000015b4 ldr r1, [pc, 0x280]                                                                       |     
    0x000015b6 sub.w r0, r8, 0x2c                                                                        |     r0 = r8 - 0x2c;
    0x000015ba smull r2, r3, r2, r3                                                                      |     r2:r3 = r2 * r3;
    0x000015be add r1, pc                                                                                |     r1 = 0x2dfa;
    0x000015c0 cmp r3, r6                                                                                |     
    0x000015c2 it eq                                                                                     |     
                                                                                                         |     if (r3 == r6) {
    0x000015c4 cmpeq r2, sb                                                                              |         __asm ("cmpeq r2, sb");
                                                                                                         |     }
    0x000015c6 ldr r3, [r5]                                                                              |     r3 = *(r5);
    0x000015c8 ite eq                                                                                    |     
                                                                                                         |     if (r3 != r6) {
    0x000015ca moveq r2, 1                                                                               |         r2 = 1;
                                                                                                         |     }
                                                                                                         |     if (r3 == r6) {
    0x000015cc movne r2, 0                                                                               |         r2 = 0;
                                                                                                         |     }
    0x000015ce str r3, [sp]                                                                              |     *(sp) = r3;
    0x000015d0 ldr r3, [pc, 0x268]                                                                       |     
    0x000015d2 add r3, pc                                                                                |     r3 = 0x2e12;
    0x000015d4 str r2, [r3, 0xc]                                                                         |     *((r3 + 0xc)) = r2;
    0x000015d6 movw r3, 0xfff                                                                            |     r3 = 0xfff;
    0x000015d8 strb r7, [r7, 0xf]                                                                        |     *((r7 + 0xf)) = r7;
    0x000015da movs r2, 1                                                                                |     r2 = 1;
    0x000015dc blx 0x1064                                                                                |     r0 = apr_file_open ();
    0x000015e0 cmp r0, 0                                                                                 |     
                                                                                                         |     if (r0 != 0) {
    0x000015e2 bne.w 0x1714                                                                              |         goto label_17;
                                                                                                         |     }
    0x000015e6 movw r8, 0x7247                                                                           |     
    0x000015ea movw sb, 0x5070                                                                           |     
    0x000015ee movw sl, 0x6369                                                                           |     
    0x000015f2 movw fp, 0x4d44                                                                           |     
    0x000015f6 add r6, sp, 0x7c                                                                          |     r6 += arg_7ch;
    0x000015f8 movt r8, 0x756f                                                                           |     r8 = 0x756f7247;
    0x000015fc movt sb, 0x6c6f                                                                           |     sb = 0x6c6f5070;
    0x00001600 movt sl, 0x4179                                                                           |     sl = 0x41796369;
    0x00001604 movt fp, 0x4e49                                                                           |     fp = 0x4e494d44;
                                                                                                         |     do {
                                                                                                         | label_0:
    0x00001608 ldr r2, [r4, -0x6c]                                                                       |         r2 = *((r4 - 0x6c));
    0x0000160c mov.w r1, 0x2000                                                                          |         r1 = 0x2000;
    0x00001610 mov r0, r6                                                                                |         r0 = r6;
    0x00001612 blx 0x10a0                                                                                |         r0 = apr_file_gets ();
                                                                                                         |         if (r0 != 0) {
    0x00001616 cbnz r0, 0x164e                                                                           |             goto label_8;
                                                                                                         |         }
    0x00001618 ldr r3, [r6]                                                                              |         r3 = *(r6);
    0x0000161a cmp r3, r8                                                                                |         
    0x0000161c bne 0x1608                                                                                |         
                                                                                                         |     } while (r3 != r8);
    0x0000161e ldr r3, [r4]                                                                              |     r3 = *(r4);
    0x00001620 cmp r3, sb                                                                                |     
                                                                                                         |     if (r3 != sb) {
    0x00001622 bne 0x1608                                                                                |         goto label_0;
                                                                                                         |     }
    0x00001624 ldr r3, [r4, 4]                                                                           |     r3 = *((r4 + 4));
    0x00001626 cmp r3, sl                                                                                |     
                                                                                                         |     if (r3 != sl) {
    0x00001628 bne 0x1608                                                                                |         goto label_0;
                                                                                                         |     }
    0x0000162a ldr r3, [r4, 8]                                                                           |     r3 = *((r4 + 8));
    0x0000162c cmp r3, fp                                                                                |     
                                                                                                         |     if (r3 != fp) {
    0x0000162e bne 0x1608                                                                                |         goto label_0;
                                                                                                         |     }
    0x00001630 ldr r1, [pc, 0x20c]                                                                       |     
    0x00001632 add.w r8, r4, 0xc                                                                         |     r8 = r4 + 0xc;
    0x00001636 mov r0, r8                                                                                |     r0 = r8;
    0x00001638 add r1, pc                                                                                |     r1 = 0x2e7c;
    0x0000163a blx 0xe60                                                                                 |     r0 = strstr (r0, r1);
    0x0000163e mov r6, r0                                                                                |     r6 = r0;
    0x00001640 cmp r0, 0                                                                                 |     
                                                                                                         |     if (r0 == 0) {
    0x00001642 beq.w 0x17ca                                                                              |         goto label_18;
                                                                                                         |     }
    0x00001646 ldr r3, [pc, 0x1fc]                                                                       |     
    0x00001648 movs r2, 1                                                                                |     r2 = 1;
    0x0000164a add r3, pc                                                                                |     r3 = 0x2e94;
    0x0000164c str r2, [r3, 0x10]                                                                        |     *((r3 + 0x10)) = r2;
                                                                                                         | label_8:
    0x0000164e ldr r0, [r4, -0x6c]                                                                       |     r0 = *((r4 - 0x6c));
    0x00001652 blx 0xf98                                                                                 |     apr_file_close ();
    0x00001654 vstmia r2!, {d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19}    |     __asm ("vstmia r2!, {d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19}");
    0x00001658 ldr r2, [r4, -0x20]                                                                       |     r2 = *((r4 - 0x20));
    0x0000165c add r3, pc                                                                                |     r3 += pc;
    0x0000165e str r2, [r3]                                                                              |     *(r3) = r2;
                                                                                                         | label_16:
    0x00001660 ldr r3, [pc, 0x1e8]                                                                       |     
    0x00001662 movs r4, 1                                                                                |     r4 = 1;
    0x00001664 add r3, pc                                                                                |     r3 = "authz: second_authorization status is %i(%s)";
    0x00001666 ldr r0, [r3, 4]                                                                           |     r0 = *(0x2eb8);
    0x00001668 blx 0x1104                                                                                |     r0 = fcn_00001104 ();
    0x0000166c cmp r0, 0                                                                                 |     
                                                                                                         |     if (r0 != 0) {
    0x0000166e bne 0x1740                                                                                |         goto label_19;
                                                                                                         |     }
                                                                                                         |     do {
                                                                                                         | label_1:
    0x00001670 ldr r2, [pc, 0x1dc]                                                                       |         
    0x00001672 add.w r1, sp, 0x2040                                                                      |         r1 += arg_2040h;
    0x00001676 ldr r3, [pc, 0x1a8]                                                                       |         r3 = *(0x1822);
    0x00001678 adds r1, 0x3c                                                                             |         r1 += 0x3c;
    0x0000167a add r2, pc                                                                                |         r2 = 0x2ece;
    0x0000167c ldr r3, [r2, r3]                                                                          |         r3 = *(0x2ece);
    0x0000167e ldr r2, [r3]                                                                              |         r2 = *(0x2ece);
    0x00001680 ldr r3, [r1]                                                                              |         r3 = *(r1);
    0x00001682 eors r2, r3                                                                               |         r2 ^= r3;
    0x00001684 mov.w r3, 0                                                                               |         r3 = 0;
                                                                                                         |         if (r2 != r3) {
    0x00001688 bne.w 0x1816                                                                              |             goto label_20;
                                                                                                         |         }
    0x0000168c mov r0, r4                                                                                |         r0 = r4;
    0x0000168e add.w sp, sp, 0x2080                                                                      |         
    0x00001692 add sp, 4                                                                                 |         
    0x00001694 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}                                                |         
                                                                                                         | label_15:
    0x00001698 ldr r3, [pc, 0x1b8]                                                                       |         r3 = *(0x1854);
    0x0000169a ldr.w r1, [r5, 0x108]                                                                     |         r1 = *((r5 + 0x108));
    0x0000169e ldr r3, [r7, r3]                                                                          |         r3 = *((r7 + r3));
    0x000016a0 ldr r2, [r3, 8]                                                                           |         r2 = *(0x185c);
    0x000016a2 cmp r2, 0                                                                                 |         
                                                                                                         |         if (r2 < 0) {
    0x000016a4 blt 0x1704                                                                                |             goto label_21;
                                                                                                         |         }
    0x000016a6 cmp r1, 0                                                                                 |         
                                                                                                         |         if (r1 == 0) {
    0x000016a8 beq 0x1790                                                                                |             goto label_22;
                                                                                                         |         }
                                                                                                         | label_4:
    0x000016aa ldr r3, [r1]                                                                              |         r3 = *(r1);
                                                                                                         |         if (r3 == 0) {
    0x000016ac cbz r3, 0x1708                                                                            |             goto label_6;
                                                                                                         |         }
    0x000016ae ldrsb r3, [r3, r2]                                                                        |         r3 = *((r3 + r2));
    0x000016b0 cmp r3, 0                                                                                 |         
                                                                                                         |         if (r3 < 0) {
    0x000016b2 blt 0x1708                                                                                |             goto label_6;
                                                                                                         |         }
                                                                                                         | label_5:
    0x000016b4 cmp r3, 5                                                                                 |         
    0x000016b6 ite le                                                                                    |         
                                                                                                         |         if (r3 > 5) {
    0x000016b8 movle r3, 0                                                                               |             r3 = 0;
                                                                                                         |         }
                                                                                                         |         if (r3 <= 5) {
    0x000016ba movgt r3, 1                                                                               |             r3 = 1;
                                                                                                         |         }
                                                                                                         | label_2:
    0x000016bc cmp r3, 0                                                                                 |         
    0x000016be beq 0x1670                                                                                |         
                                                                                                         |     } while (r3 == 0);
    0x000016c0 ldr r1, [pc, 0x194]                                                                       |     
    0x000016c2 ldr r3, [pc, 0x198]                                                                       |     
    0x000016c4 ldr r0, [pc, 0x198]                                                                       |     
    0x000016c6 add r1, pc                                                                                |     r1 = 0x2f22;
    0x000016c8 str r5, [sp, 4]                                                                           |     var_4h_2 = r5;
    0x000016ca add r3, pc                                                                                |     r3 = 0x2f2c;
    0x000016cc movs r5, 0                                                                                |     r5 = 0;
    0x000016ce strd r3, r1, [sp, 8]                                                                      |     __asm ("strd r3, r1, [sp, 8]");
    0x000016d2 add r0, pc                                                                                |     r0 = 0x2f36;
    0x000016d4 movs r3, 6                                                                                |     r3 = 6;
    0x000016d6 mov.w r1, 0x3e4                                                                           |     r1 = 0x3e4;
    0x000016da str r5, [sp]                                                                              |     *(sp) = r5;
    0x000016dc blx 0x107c                                                                                |     loc_imp_ap_log_rerror_ ();
    0x000016e0 b 0x1670                                                                                  |     goto label_1;
                                                                                                         | label_14:
    0x000016e2 ldr r1, [pc, 0x170]                                                                       |     r1 = *(0x1856);
    0x000016e4 movs r3, 0                                                                                |     r3 = 0;
    0x000016e6 ldr r2, [pc, 0x17c]                                                                       |     
    0x000016e8 mov r4, r3                                                                                |     r4 = r3;
    0x000016ea ldr r0, [pc, 0x17c]                                                                       |     
    0x000016ec ldr r1, [r7, r1]                                                                          |     r1 = *((r7 + r1));
    0x000016ee add r2, pc                                                                                |     r2 = 0x2f58;
    0x000016f0 str r3, [sp]                                                                              |     *(sp) = r3;
    0x000016f2 strd r5, r2, [sp, 4]                                                                      |     __asm ("strd r5, r2, [sp, 4]");
    0x000016f6 add r0, pc                                                                                |     r0 = 0x2f64;
    0x000016f8 ldr r2, [r1, 8]                                                                           |     r2 = *(0x185e);
    0x000016fa movw r1, 0x3dd                                                                            |     r1 = 0x3dd;
    0x000016fe blx 0x107c                                                                                |     loc_imp_ap_log_rerror_ ();
    0x00001702 b 0x1670                                                                                  |     goto label_1;
                                                                                                         | label_21:
    0x00001704 cmp r1, 0                                                                                 |     
                                                                                                         |     if (r1 == 0) {
    0x00001706 beq 0x17de                                                                                |         goto label_23;
                                                                                                         |     }
                                                                                                         | label_6:
    0x00001708 ldr r3, [r1, 4]                                                                           |     r3 = *((r1 + 4));
    0x0000170a cmp r3, 5                                                                                 |     
    0x0000170c ite le                                                                                    |     
                                                                                                         |     if (r3 > 5) {
    0x0000170e movle r3, 0                                                                               |         r3 = 0;
                                                                                                         |     }
                                                                                                         |     if (r3 <= 5) {
    0x00001710 movgt r3, 1                                                                               |         r3 = 1;
                                                                                                         |     }
    0x00001712 b 0x16bc                                                                                  |     goto label_2;
                                                                                                         | label_17:
    0x00001714 ldr r3, [pc, 0x13c]                                                                       |     r3 = *(0x1854);
    0x00001716 ldr.w r1, [r5, 0x108]                                                                     |     r1 = *((r5 + 0x108));
    0x0000171a ldr r3, [r7, r3]                                                                          |     r3 = *((r7 + r3));
    0x0000171c ldr r2, [r3, 8]                                                                           |     r2 = *(0x185c);
    0x0000171e cmp r2, 0                                                                                 |     
                                                                                                         |     if (r2 < 0) {
    0x00001720 blt 0x1778                                                                                |         goto label_24;
                                                                                                         |     }
                                                                                                         |     if (r1 == 0) {
    0x00001722 cbz r1, 0x1762                                                                            |         goto label_25;
                                                                                                         |     }
    0x00001724 ldr r3, [r1]                                                                              |     r3 = *(r1);
    0x00001726 cmp r3, 0                                                                                 |     
                                                                                                         |     if (r3 == 0) {
    0x00001728 beq 0x1784                                                                                |         goto label_26;
                                                                                                         |     }
    0x0000172a ldrsb r3, [r3, r2]                                                                        |     r3 = *((r3 + r2));
    0x0000172c cmp r3, 0                                                                                 |     
                                                                                                         |     if (r3 < 0) {
    0x0000172e blt 0x1784                                                                                |         goto label_26;
                                                                                                         |     }
                                                                                                         |     do {
    0x00001730 cmp r3, 5                                                                                 |         
    0x00001732 ite le                                                                                    |         
                                                                                                         |         if (r3 > 5) {
    0x00001734 movle r3, 0                                                                               |             r3 = 0;
                                                                                                         |         }
                                                                                                         |         if (r3 <= 5) {
    0x00001736 movgt r3, 1                                                                               |             r3 = 1;
                                                                                                         |         }
                                                                                                         | label_3:
    0x00001738 cmp r3, 0                                                                                 |         
                                                                                                         |         if (r3 != 0) {
    0x0000173a bne 0x17a8                                                                                |             goto label_27;
                                                                                                         |         }
                                                                                                         | label_7:
    0x0000173c movs r4, 0                                                                                |         r4 = 0;
    0x0000173e b 0x1670                                                                                  |         goto label_1;
                                                                                                         | label_19:
    0x00001740 ldr r1, [pc, 0x110]                                                                       |         r1 = *(0x1854);
    0x00001742 movs r3, 0                                                                                |         r3 = 0;
    0x00001744 ldr r2, [pc, 0x124]                                                                       |         
    0x00001746 mov r4, r3                                                                                |         r4 = r3;
    0x00001748 ldr r0, [pc, 0x124]                                                                       |         
    0x0000174a ldr r1, [r7, r1]                                                                          |         r1 = *((r7 + r1));
    0x0000174c add r2, pc                                                                                |         r2 = "${HTTPS_PORT}";
    0x0000174e str r3, [sp]                                                                              |         *(sp) = r3;
    0x00001750 strd r5, r2, [sp, 4]                                                                      |         __asm ("strd r5, r2, [sp, 4]");
    0x00001754 add r0, pc                                                                                |         r0 = 0x2fc8;
    0x00001756 ldr r2, [r1, 8]                                                                           |         r2 = *(0x185c);
    0x00001758 movw r1, 0x41b                                                                            |         r1 = 0x41b;
    0x0000175c blx 0x107c                                                                                |         loc_imp_ap_log_rerror_ ();
    0x00001760 b 0x1670                                                                                  |         goto label_1;
                                                                                                         | label_25:
    0x00001762 ldr r3, [r5, 4]                                                                           |         r3 = *((r5 + 4));
    0x00001764 ldr r1, [r3, 0x60]                                                                        |         r1 = *((r3 + 0x60));
    0x00001766 cmp r1, 0                                                                                 |         
                                                                                                         |         if (r1 == 0) {
    0x00001768 beq 0x1804                                                                                |             goto label_28;
                                                                                                         |         }
    0x0000176a ldr r3, [r1]                                                                              |         r3 = *(r1);
                                                                                                         |         if (r3 == 0) {
    0x0000176c cbz r3, 0x1784                                                                            |             goto label_26;
                                                                                                         |         }
    0x0000176e ldrsb r0, [r3, r2]                                                                        |         r0 = *((r3 + r2));
    0x00001770 cmp r0, 0                                                                                 |         
                                                                                                         |         if (r0 < 0) {
    0x00001772 blt 0x1784                                                                                |             goto label_26;
                                                                                                         |         }
                                                                                                         | label_11:
    0x00001774 ldrsb r3, [r3, r2]                                                                        |         r3 = *((r3 + r2));
    0x00001776 b 0x1730                                                                                  |         
                                                                                                         |     } while (1);
                                                                                                         |     if (r1 == 0) {
                                                                                                         | label_24:
    0x00001778 cbnz r1, 0x1784                                                                           |         
    0x0000177a ldr r3, [r5, 4]                                                                           |         r3 = *((r5 + 4));
    0x0000177c ldr r1, [r3, 0x60]                                                                        |         r1 = *((r3 + 0x60));
                                                                                                         |         if (r1 != 0) {
    0x0000177e cbnz r1, 0x1784                                                                           |             goto label_26;
                                                                                                         |         }
    0x00001780 ldr r1, [r5, 8]                                                                           |         r1 = *((r5 + 8));
                                                                                                         | label_10:
    0x00001782 adds r1, 0x10                                                                             |         r1 += 0x10;
                                                                                                         |     }
                                                                                                         | label_26:
    0x00001784 ldr r3, [r1, 4]                                                                           |     r3 = *((r1 + 4));
    0x00001786 cmp r3, 5                                                                                 |     
    0x00001788 ite le                                                                                    |     
                                                                                                         |     if (r3 > 5) {
    0x0000178a movle r3, 0                                                                               |         r3 = 0;
                                                                                                         |     }
                                                                                                         |     if (r3 <= 5) {
    0x0000178c movgt r3, 1                                                                               |         r3 = 1;
                                                                                                         |     }
    0x0000178e b 0x1738                                                                                  |     goto label_3;
                                                                                                         | label_22:
    0x00001790 ldr r3, [r5, 4]                                                                           |     r3 = *((r5 + 4));
    0x00001792 ldr r1, [r3, 0x60]                                                                        |     r1 = *((r3 + 0x60));
    0x00001794 cmp r1, 0                                                                                 |     
                                                                                                         |     if (r1 != 0) {
    0x00001796 bne 0x16aa                                                                                |         goto label_4;
                                                                                                         |     }
    0x00001798 ldr r1, [r5, 8]                                                                           |     r1 = *((r5 + 8));
    0x0000179a ldr r3, [r1, 0x10]                                                                        |     r3 = *((r1 + 0x10));
                                                                                                         |     if (r3 == 0) {
    0x0000179c cbz r3, 0x17a4                                                                            |         goto label_9;
                                                                                                         |     }
    0x0000179e ldrsb r3, [r3, r2]                                                                        |     r3 = *((r3 + r2));
    0x000017a0 cmp r3, 0                                                                                 |     
                                                                                                         |     if (r3 >= 0) {
    0x000017a2 bge 0x16b4                                                                                |         goto label_5;
                                                                                                         |     }
                                                                                                         | label_9:
    0x000017a4 adds r1, 0x10                                                                             |     r1 += 0x10;
    0x000017a6 b 0x1708                                                                                  |     goto label_6;
                                                                                                         | label_27:
    0x000017a8 ldr r4, [pc, 0xc8]                                                                        |     
    0x000017aa movs r3, 0                                                                                |     r3 = 0;
    0x000017ac ldr r0, [pc, 0xc8]                                                                        |     
    0x000017ae movw r1, 0x3fb                                                                            |     r1 = 0x3fb;
    0x000017b2 strd r3, r5, [sp]                                                                         |     __asm ("strd r3, r5, [sp]");
    0x000017b6 movs r3, 6                                                                                |     r3 = 6;
    0x000017b8 add r4, pc                                                                                |     r4 = 0x3030;
    0x000017ba add r0, pc                                                                                |     r0 = 0x3036;
    0x000017bc strd r0, r4, [sp, 8]                                                                      |     __asm ("strd r0, r4, [sp, 8]");
    0x000017c0 ldr r0, [pc, 0xb8]                                                                        |     
    0x000017c2 add r0, pc                                                                                |     r0 = 0x3042;
    0x000017c4 blx 0x107c                                                                                |     loc_imp_ap_log_rerror_ ();
    0x000017c8 b 0x173c                                                                                  |     goto label_7;
                                                                                                         | label_18:
    0x000017ca ldr r1, [pc, 0xb4]                                                                        |     
    0x000017cc mov r0, r8                                                                                |     r0 = r8;
    0x000017ce add r1, pc                                                                                |     r1 = 0x3054;
    0x000017d0 blx 0xe60                                                                                 |     r0 = strstr (r0, r1);
                                                                                                         |     if (r0 == 0) {
    0x000017d4 cbz r0, 0x17ea                                                                            |         goto label_29;
                                                                                                         |     }
    0x000017d6 ldr r3, [pc, 0xac]                                                                        |     
    0x000017d8 add r3, pc                                                                                |     r3 = 0x3062;
    0x000017da str r6, [r3, 0x10]                                                                        |     *((r3 + 0x10)) = r6;
    0x000017dc b 0x164e                                                                                  |     goto label_8;
                                                                                                         | label_23:
    0x000017de ldr r3, [r5, 4]                                                                           |     r3 = *((r5 + 4));
    0x000017e0 ldr r1, [r3, 0x60]                                                                        |     r1 = *((r3 + 0x60));
    0x000017e2 cmp r1, 0                                                                                 |     
                                                                                                         |     if (r1 != 0) {
    0x000017e4 bne 0x1708                                                                                |         goto label_6;
                                                                                                         |     }
    0x000017e6 ldr r1, [r5, 8]                                                                           |     r1 = *((r5 + 8));
    0x000017e8 b 0x17a4                                                                                  |     goto label_9;
                                                                                                         | label_29:
    0x000017ea ldr r1, [pc, 0x9c]                                                                        |     
    0x000017ec mov r0, r8                                                                                |     r0 = r8;
    0x000017ee add r1, pc                                                                                |     r1 = 0x307c;
    0x000017f0 blx 0xe60                                                                                 |     r0 = strstr (r0, r1);
    0x000017f4 cmp r0, 0                                                                                 |     
                                                                                                         |     if (r0 == 0) {
    0x000017f6 beq.w 0x164e                                                                              |         goto label_8;
                                                                                                         |     }
    0x000017fa ldr r3, [pc, 0x90]                                                                        |     
    0x000017fc movs r2, 2                                                                                |     r2 = 2;
    0x000017fe add r3, pc                                                                                |     r3 = 0x3090;
    0x00001800 str r2, [r3, 0x10]                                                                        |     *((r3 + 0x10)) = r2;
    0x00001802 b 0x164e                                                                                  |     goto label_8;
                                                                                                         | label_28:
    0x00001804 ldr r1, [r5, 8]                                                                           |     r1 = *((r5 + 8));
    0x00001806 ldr r3, [r1, 0x10]                                                                        |     r3 = *((r1 + 0x10));
    0x00001808 cmp r3, 0                                                                                 |     
                                                                                                         |     if (r3 == 0) {
    0x0000180a beq 0x1782                                                                                |         goto label_10;
                                                                                                         |     }
    0x0000180c ldrsb r3, [r3, r2]                                                                        |     r3 = *((r3 + r2));
    0x0000180e cmp r3, 0                                                                                 |     
                                                                                                         |     if (r3 < 0) {
    0x00001810 blt 0x1782                                                                                |         goto label_10;
                                                                                                         |     }
    0x00001812 ldr r3, [r1, 0x10]                                                                        |     r3 = *((r1 + 0x10));
    0x00001814 b 0x1774                                                                                  |     goto label_11;
                                                                                                         | label_20:
    0x00001816 blx 0xed8                                                                                 |     stack_chk_fail ();
    0x0000181a nop                                                                                       |     
    0x0000181c cmp r1, 0xae                                                                              |     
    0x0000181e movs r1, r0                                                                               |     r1 = r0;
    0x00001820 lsls r4, r0, 4                                                                            |     r4 = r0 << 4;
    0x00001822 movs r0, r0                                                                               |     
    0x00001824 cmp r3, 0x24                                                                              |     
    0x00001826 movs r1, r0                                                                               |     r1 = r0;
    0x00001828 cmp r1, 0x92                                                                              |     
    0x0000182a movs r1, r0                                                                               |     r1 = r0;
    0x0000182c adds r6, r3, r6                                                                           |     r6 = r3 + r6;
    0x0000182e movs r0, r0                                                                               |     
    0x00001830 cmp r2, 0x82                                                                              |     
    0x00001832 movs r1, r0                                                                               |     r1 = r0;
    0x00001834 cmp r2, 0x68                                                                              |     
    0x00001836 movs r1, r0                                                                               |     r1 = r0;
    0x00001838 adds r6, r1, r5                                                                           |     r6 = r1 + r5;
    0x0000183a movs r0, r0                                                                               |     
    0x0000183c cmp r2, 0x9a                                                                              |     
    0x0000183e movs r1, r0                                                                               |     r1 = r0;
    0x00001840 adds r4, r4, r4                                                                           |     r4 += r4;
    0x00001842 movs r0, r0                                                                               |     
    0x00001844 cmp r2, 0x22                                                                              |     
    0x00001846 movs r1, r0                                                                               |     r1 = r0;
    0x00001848 cmp r1, 0xa8                                                                              |     
    0x0000184a movs r1, r0                                                                               |     r1 = r0;
    0x0000184c cmp r2, 8                                                                                 |     
    0x0000184e movs r1, r0                                                                               |     r1 = r0;
    0x00001850 cmp r0, 0x6e                                                                              |     
    0x00001852 movs r1, r0                                                                               |     r1 = r0;
    0x00001854 lsls r4, r1, 4                                                                            |     r4 = r1 << 4;
    0x00001856 movs r0, r0                                                                               |     
    0x00001858 adds r6, r0, r1                                                                           |     r6 = r0 + r1;
    0x0000185a movs r0, r0                                                                               |     
    0x0000185c adds r6, r2, r1                                                                           |     r6 = r2 + r1;
    0x0000185e movs r0, r0                                                                               |     
    0x00001860 asrs r2, r4, 0x1d                                                                         |     r2 = r4 >> 0x1d;
    0x00001862 movs r0, r0                                                                               |     
    0x00001864 adds r6, r0, r0                                                                           |     r6 = r0 + r0;
    0x00001866 movs r0, r0                                                                               |     
    0x00001868 asrs r6, r7, 0x1c                                                                         |     r6 = r7 >> 0x1c;
    0x0000186a movs r0, r0                                                                               |     
    0x0000186c adds r0, r5, r0                                                                           |     r0 = r5 + r0;
    0x0000186e movs r0, r0                                                                               |     
    0x00001870 asrs r0, r4, 0x1b                                                                         |     r0 = r4 >> 0x1b;
    0x00001872 movs r0, r0                                                                               |     
    0x00001874 asrs r4, r2, 0x1d                                                                         |     r4 = r2 >> 0x1d;
    0x00001876 movs r0, r0                                                                               |     
    0x00001878 asrs r2, r7, 0x1d                                                                         |     r2 = r7 >> 0x1d;
    0x0000187a movs r0, r0                                                                               |     
    0x0000187c asrs r2, r6, 0x19                                                                         |     r2 = r6 >> 0x19;
    0x0000187e movs r0, r0                                                                               |     
    0x00001880 asrs r6, r2, 0x1e                                                                         |     r6 = r2 >> 0x1e;
    0x00001882 movs r0, r0                                                                               |     
    0x00001884 cmp r0, 0x94                                                                              |     
    0x00001886 movs r1, r0                                                                               |     r1 = r0;
    0x00001888 asrs r6, r7, 0x1d                                                                         |     r6 = r7 >> 0x1d;
    0x0000188a movs r0, r0                                                                               |     
    0x0000188c cmp r0, 0x6e                                                                              |     
    0x0000188e movs r1, r0                                                                               |     r1 = r0;
    0x00001890 ldr r3, [pc, 0xd4]                                                                        |     
    0x00001892 ldr r2, [pc, 0xd8]                                                                        |     r2 = *(0x196e);
    0x00001894 push {r4, r5, r6, lr}                                                                     |     
    0x00001896 mov r4, r0                                                                                |     r4 = r0;
    0x00001898 add r3, pc                                                                                |     r3 = 0x3204;
    0x0000189a ldr r1, [pc, 0xd4]                                                                        |     
    0x0000189c sub sp, 8                                                                                 |     
    0x0000189e ldr r2, [r3, r2]                                                                          |     
    0x000018a0 ldr r0, [r0, 4]                                                                           |     r0 = *((r0 + 4));
    0x000018a2 add r1, pc                                                                                |     r1 = 0x3218;
    0x000018a4 ldr.w r3, [r4, 0x100]                                                                     |     r3 = *((r4 + 0x100));
    0x000018a8 ldr r2, [r2, 8]                                                                           |     r2 = "(null)";
    0x000018aa ldr r0, [r0, 0x14]                                                                        |     r0 = *((r0 + 0x14));
    0x000018ac ldr.w r5, [r3, r2, lsl 2]                                                                 |     r5 = *(0x3204);
    0x000018b0 blx 0xe6c                                                                                 |     r0 = strcmp (r0, r1);
    0x000018b4 cmp r0, 0                                                                                 |     
                                                                                                         |     if (r0 == 0) {
    0x000018b6 beq 0x1962                                                                                |         goto label_30;
                                                                                                         |     }
    0x000018b8 ldr r3, [r5, 0xc]                                                                         |     r3 = *((r5 + 0xc));
    0x000018ba cmp r3, 1                                                                                 |     
                                                                                                         |     if (r3 == 1) {
    0x000018bc bne 0x18c4                                                                                |         
    0x000018be ldr r3, [r4, 0x20]                                                                        |         r3 = *((r4 + 0x20));
    0x000018c0 cmp r3, 1                                                                                 |         
                                                                                                         |         if (r3 == 1) {
    0x000018c2 beq 0x1962                                                                                |             goto label_30;
                                                                                                         |         }
                                                                                                         |     }
    0x000018c4 mov r0, r4                                                                                |     r0 = r4;
    0x000018c6 bl 0x152c                                                                                 |     r0 = fcn_0000152c (r0, r1, r2, r3, r4);
    0x000018ca cbnz r0, 0x18da                                                                           |     
                                                                                                         |     while (r6 != 0) {
                                                                                                         | label_12:
    0x000018cc mov r0, r4                                                                                |         r0 = r4;
    0x000018ce blx 0x1034                                                                                |         loc_imp_ap_get_server_name_for_url ();
    0x000018d2 mov.w r0, -1                                                                              |         r0 = -1;
                                                                                                         | label_13:
    0x000018d6 add sp, 8                                                                                 |         
    0x000018d8 pop {r4, r5, r6, pc}                                                                      |         
    0x000018da ldr r0, [r4, 4]                                                                           |         r0 = *((r4 + 4));
    0x000018dc blx 0xe9c                                                                                 |         r0 = loc_imp_ap_ssl_conn_is_ssl ();
    0x000018e0 mov r5, r0                                                                                |         r5 = r0;
                                                                                                         |         if (r0 == 0) {
    0x000018e2 cbz r0, 0x1924                                                                            |             goto label_31;
                                                                                                         |         }
    0x000018e4 ldr r3, [pc, 0x8c]                                                                        |         
    0x000018e6 add r3, pc                                                                                |         r3 = 0x325e;
    0x000018e8 ldr r6, [r3, 0x10]                                                                        |         r6 = *(0x326e);
    0x000018ea cmp r6, 0                                                                                 |         
    0x000018ec bne 0x18cc                                                                                |         
                                                                                                         |     }
    0x000018ee mov r0, r4                                                                                |     r0 = r4;
    0x000018f0 ldr.w r5, [r4, 0xe0]                                                                      |     r5 = *((r4 + 0xe0));
    0x000018f4 blx 0x1034                                                                                |     loc_imp_ap_get_server_name_for_url ();
    0x000018f8 ldr r3, [pc, 0x7c]                                                                        |     
    0x000018fa mov r2, r0                                                                                |     r2 = r0;
    0x000018fc ldr r1, [pc, 0x7c]                                                                        |     
    0x000018fe str r6, [sp, 4]                                                                           |     var_4h = r6;
    0x00001900 add r3, pc                                                                                |     
    0x00001902 str r5, [sp]                                                                              |     *(sp) = r5;
    0x00001904 add r1, pc                                                                                |     r1 = "/etc/apache2/digest_auth_passwd";
    0x00001906 ldr r3, [r3]                                                                              |     r3 = "null";
    0x00001908 ldr r0, [r4]                                                                              |     r0 = *(r4);
    0x0000190a blx 0x1094                                                                                |     apr_pstrcat ()
    0x0000190e ldr r1, [pc, 0x70]                                                                        |     
    0x00001910 mov r2, r0                                                                                |     r2 = r0;
    0x00001912 ldr.w r0, [r4, 0xb4]                                                                      |     r0 = *((r4 + 0xb4));
    0x00001916 add r1, pc                                                                                |     r1 = 0x329c;
    0x00001918 blx 0xf8c                                                                                 |     apr_table_setn ();
    0x0000191c mov.w r0, 0x12e                                                                           |     r0 = 0x12e;
    0x00001920 add sp, 8                                                                                 |     
    0x00001922 pop {r4, r5, r6, pc}                                                                      |     
                                                                                                         | label_31:
    0x00001924 ldr r3, [pc, 0x5c]                                                                        |     
    0x00001926 add r3, pc                                                                                |     
    0x00001928 ldr r3, [r3, 0x10]                                                                        |     r3 = *(0x32be);
    0x0000192a cmp r3, 1                                                                                 |     
                                                                                                         |     if (r3 != 1) {
    0x0000192c bne 0x18cc                                                                                |         goto label_12;
                                                                                                         |     }
    0x0000192e mov r0, r4                                                                                |     r0 = r4;
    0x00001930 ldr.w r6, [r4, 0xe0]                                                                      |     r6 = *((r4 + 0xe0));
    0x00001934 blx 0x1034                                                                                |     loc_imp_ap_get_server_name_for_url ();
    0x00001938 ldr r3, [pc, 0x4c]                                                                        |     
    0x0000193a mov r2, r0                                                                                |     r2 = r0;
    0x0000193c ldr r1, [pc, 0x4c]                                                                        |     
    0x0000193e str r5, [sp, 4]                                                                           |     var_4h = r5;
    0x00001940 add r3, pc                                                                                |     
    0x00001942 str r6, [sp]                                                                              |     *(sp) = r6;
    0x00001944 add r1, pc                                                                                |     r1 = 0x32d4;
    0x00001946 ldr r3, [r3, 4]                                                                           |     r3 = *(0x32d0);
    0x00001948 ldr r0, [r4]                                                                              |     r0 = *(r4);
    0x0000194a blx 0x1094                                                                                |     apr_pstrcat ()
    0x0000194e ldr r1, [pc, 0x40]                                                                        |     
    0x00001950 mov r2, r0                                                                                |     r2 = r0;
    0x00001952 ldr.w r0, [r4, 0xb4]                                                                      |     r0 = *((r4 + 0xb4));
    0x00001956 add r1, pc                                                                                |     r1 = "AH01671: Granted %s access to %s, group %s";
    0x00001958 blx 0xf8c                                                                                 |     apr_table_setn ();
    0x0000195c mov.w r0, 0x12e                                                                           |     r0 = 0x12e;
    0x00001960 b 0x18d6                                                                                  |     goto label_13;
                                                                                                         | label_30:
    0x00001962 mov.w r0, -1                                                                              |     r0 = -1;
    0x00001966 b 0x18d6                                                                                  |     goto label_13;
                                                                                                         | }

[*] Function strcat used 3 times mod_authz_axisgroupfile.so