[*] Binary protection state of ext4.ko

  
  	No RELRO       No Canary found   NX disabled  REL          No RPATH     No RUNPATH   Symbols


[*] Function system tear down of ext4.ko

    ; assembly                                                               | /* r2dec pseudo code output */
                                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/modules/5.10.52-axis9/kernel/fs/ext4/ext4.ko @ 0x8001fa4 */
                                                                             | #include <stdint.h>
                                                                             |  
    ; (fcn) sym.ext4_setup_system_zone ()                                    | void ext4_setup_system_zone (int32_t arg_14h, int32_t arg_44h, int32_t arg_148h, int32_t arg_1ech, int32_t arg1) {
                                                                             |     int32_t var_0h;
                                                                             |     int32_t var_4h;
                                                                             |     int32_t var_8h;
                                                                             |     int32_t var_10h;
                                                                             |     int32_t var_14h;
                                                                             |     int32_t var_18h;
                                                                             |     int32_t var_1ch;
                                                                             |     int32_t var_20h;
                                                                             |     int32_t var_28h;
                                                                             |     int32_t var_2ch;
                                                                             |     int32_t var_30h;
                                                                             |     int32_t var_34h;
                                                                             |     int32_t var_38h;
                                                                             |     int32_t var_3ch;
                                                                             |     r0 = arg1;
    0x08001fa4 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}                     |     
    0x08001fa8 mov r6, r0                                                    |     r6 = r0;
    0x08001fac ldr r3, [r0, 0x1f8]                                           |     r3 = *(var_0hx1f8);
    0x08001fb0 sub sp, sp, 0x4c                                              |     
    0x08001fb4 ldr r5, [r3, 0x20]                                            |     r5 = *((r3 + 0x20));
    0x08001fb8 str r5, [sp, 0x28]                                            |     var_28h = r5;
    0x08001fbc ldr fp, [r0, 0x1f8]                                           |     fp = *(var_0hx1f8);
    0x08001fc0 mov r2, 1                                                     |     r2 = 1;
    0x08001fc4 mov r1, 0xdc0                                                 |     r1 = 0xdc0;
    0x08001fc8 ldr r3, [fp, 0x1ec]                                           |     r3 = *(arg_1ech);
    0x08001fcc lsl r4, r2, r3                                                |     r4 = r2 << r3;
    0x08001fd0 stmdaeq r8, {r0, r1, r2, r3, r5, r7, sl, fp, ip, pc}          |     __asm ("stmdaeq r8, {r0, r1, r2, r3, r5, r7, sl, fp, ip, pc}");
    0x08001fd4 stmdaeq r8, {r0, r1, r2, r3, r5, r7, sl, fp, ip, pc}          |     __asm ("stmdaeq r8, {r0, r1, r2, r3, r5, r7, sl, fp, ip, pc}");
    0x08001fd8 ldr r0, [r3, 0x18]                                            |     r0 = *((r3 + 0x18));
    0x08001fdc stmdaeq r8, {r0, r1, r7, sl, fp, ip, pc}                      |     __asm ("stmdaeq r8, {r0, r1, r7, sl, fp, ip, pc}");
    0x08001fe0 subs r8, r0, 0                                                |     r8 = r0 - 0;
                                                                             |     if (r8 == r0) {
    0x08001fe4 beq 0x80022e4                                                 |         goto label_6;
                                                                             |     }
    0x08001fe8 cmp r5, 0                                                     |     
                                                                             |     if (r5 == 0) {
    0x08001fec beq 0x8002194                                                 |         goto label_7;
                                                                             |     }
    0x08001ff0 mov sl, 0                                                     |     sl = 0;
    0x08001ff4 sub r3, r4, 1                                                 |     r3 = r4 - 1;
    0x08001ff8 mov r5, sl                                                    |     r5 = sl;
    0x08001ffc mov sb, sl                                                    |     sb = sl;
    0x08002000 str r3, [sp, 0x2c]                                            |     var_2ch = r3;
    0x08002004 b 0x800207c                                                   |     
                                                                             |     while (r4 == 0) {
    0x08002008 stmdaeq r4, {r6, r8, fp, sp, lr}                              |         __asm ("stmdaeq r4, {r6, r8, fp, sp, lr}");
    0x0800200c mov r2, r0                                                    |         r2 = r0;
    0x08002010 mov r3, r1                                                    |         r3 = r1;
    0x08002014 str r4, [sp, 4]                                               |         var_4h = r4;
    0x08002018 mov r1, 1                                                     |         r1 = 1;
    0x0800201c mov r0, r8                                                    |         r0 = r8;
    0x08002020 str r1, [sp]                                                  |         *(sp) = r1;
    0x08002024 bl 0x8001d80                                                  |         r0 = add_system_zone ()
    0x08002028 mov r4, r0                                                    |         r4 = r0;
    0x0800202c mov r1, r7                                                    |         r1 = r7;
    0x08002030 mov r0, r6                                                    |         r0 = r6;
    0x08002034 cmp r4, 0                                                     |         
                                                                             |         if (r4 != 0) {
    0x08002038 bne 0x8002144                                                 |             goto label_0;
                                                                             |         }
    0x0800203c stmdaeq r4, {r5, r6, r8, fp, sp, lr}                          |         __asm ("stmdaeq r4, {r5, r6, r8, fp, sp, lr}");
    0x08002040 str r4, [sp, 4]                                               |         var_4h = r4;
    0x08002044 mov r3, r1                                                    |         r3 = r1;
    0x08002048 ldr r1, [fp, 0x14]                                            |         r1 = *(arg_14h);
    0x0800204c mov r2, r0                                                    |         r2 = r0;
    0x08002050 str r1, [sp]                                                  |         *(sp) = r1;
    0x08002054 mov r0, r8                                                    |         r0 = r8;
    0x08002058 bl 0x8001d80                                                  |         r0 = add_system_zone ()
    0x0800205c subs r4, r0, 0                                                |         r4 = r0 - 0;
                                                                             |         if (r4 != r0) {
    0x08002060 bne 0x8002144                                                 |             goto label_0;
                                                                             |         }
    0x08002064 adds r5, r5, 1                                                |         r5++;
    0x08002068 ldr r3, [sp, 0x28]                                            |         r3 = var_28h;
    0x0800206c adc sb, sb, 0                                                 |         __asm ("adc sb, sb, 0");
    0x08002070 cmp sl, sb                                                    |         
    0x08002074 cmpeq r3, r5                                                  |         __asm ("cmpeq r3, r5");
                                                                             |         if (sl == sb) {
    0x08002078 beq 0x8002194                                                 |             goto label_7;
                                                                             |         }
    0x0800207c mov r1, r5                                                    |         r1 = r5;
    0x08002080 mov r0, r6                                                    |         r0 = r6;
    0x08002084 stmdaeq r0, {r2, r4, r5, r6, r7, sb, fp}                      |         __asm ("stmdaeq r0, {r2, r4, r5, r6, r7, sb, fp}");
    0x08002088 mov r3, r0                                                    |         r3 = r0;
    0x0800208c mov r1, r5                                                    |         r1 = r5;
    0x08002090 mov r0, r6                                                    |         r0 = r6;
    0x08002094 cmp r3, 0                                                     |         
                                                                             |         if (r3 != 0) {
    0x08002098 beq 0x80020f4                                                 |             
    0x0800209c cmp r5, 4                                                     |             
                                                                             |             if (r5 >= 4) {
    0x080020a0 bls 0x80020b0                                                 |                 
    0x080020a4 ldr r3, [sp, 0x2c]                                            |                 r3 = var_2ch;
    0x080020a8 tst r3, r5                                                    |                 
                                                                             |                 if ((r3 & r5) != 0) {
    0x080020ac bne 0x80020f4                                                 |                     goto label_8;
                                                                             |                 }
                                                                             |             }
    0x080020b0 ldr r2, [r6, 0x1f8]                                           |             r2 = *((r6 + 0x1f8));
    0x080020b4 ldr r3, [r2, 8]                                               |             r3 = *((r2 + 8));
    0x080020b8 ldr r2, [r2, 0x44]                                            |             r2 = *((r2 + 0x44));
    0x080020bc umull r4, r7, r3, r5                                          |             r4:r7 = r3 * r5;
    0x080020c0 ldr r2, [r2, 0x14]                                            |             r2 = *((r2 + 0x14));
    0x080020c4 adds r4, r4, r2                                               |             r4 += r2;
    0x080020c8 mla r7, r3, sb, r7                                            |             __asm ("mla r7, r3, sb, r7");
    0x080020cc adc r7, r7, 0                                                 |             __asm ("adc r7, r7, 0");
    0x080020d0 stmdaeq r0, {r2, r3, r7, sl, fp}                              |             __asm ("stmdaeq r0, {r2, r3, r7, sl, fp}");
    0x080020d4 mov r2, r4                                                    |             r2 = r4;
    0x080020d8 add r1, r0, 1                                                 |             r1 = r0 + 1;
    0x080020dc mov r3, r7                                                    |             r3 = r7;
    0x080020e0 mov r0, r8                                                    |             r0 = r8;
    0x080020e4 stm sp, {r1, sl}                                              |             *(sp) = r1;
                                                                             |             *((sp + 4)) = sl;
    0x080020e8 bl 0x8001d80                                                  |             r0 = add_system_zone ()
    0x080020ec subs r4, r0, 0                                                |             r4 = r0 - 0;
                                                                             |             if (r4 != r0) {
    0x080020f0 bne 0x8002144                                                 |                 goto label_0;
                                                                             |             }
                                                                             |         }
                                                                             | label_8:
    0x080020f4 mov r2, 0                                                     |         r2 = 0;
    0x080020f8 mov r1, r5                                                    |         r1 = r5;
    0x080020fc mov r0, r6                                                    |         r0 = r6;
    0x08002100 stmdaeq r0, {r3, r4, r6, r7, r8, sl}                          |         __asm ("stmdaeq r0, {r3, r4, r6, r7, r8, sl}");
    0x08002104 mov r7, r0                                                    |         r7 = r0;
    0x08002108 mov r1, r7                                                    |         r1 = r7;
    0x0800210c mov r0, r6                                                    |         r0 = r6;
    0x08002110 stmdaeq r4, {r5, r8, fp, sp, lr}                              |         __asm ("stmdaeq r4, {r5, r8, fp, sp, lr}");
    0x08002114 mov r2, r0                                                    |         r2 = r0;
    0x08002118 mov r3, r1                                                    |         r3 = r1;
    0x0800211c mov r0, r8                                                    |         r0 = r8;
    0x08002120 mov r1, 1                                                     |         r1 = 1;
    0x08002124 str sl, [sp, 4]                                               |         var_4h = sl;
    0x08002128 str r1, [sp]                                                  |         *(sp) = r1;
    0x0800212c bl 0x8001d80                                                  |         r0 = add_system_zone ()
    0x08002130 mov r4, r0                                                    |         r4 = r0;
    0x08002134 mov r1, r7                                                    |         r1 = r7;
    0x08002138 mov r0, r6                                                    |         r0 = r6;
    0x0800213c cmp r4, 0                                                     |         
    0x08002140 beq 0x8002008                                                 |         
                                                                             |     }
                                                                             | label_0:
    0x08002144 mov r0, r8                                                    |     r0 = r8;
    0x08002148 stmdaeq r8, {r0, r1, r3, r4, r7, sl, fp, ip, pc}              |     __asm ("stmdaeq r8, {r0, r1, r3, r4, r7, sl, fp, ip, pc}");
    0x0800214c subs r5, r0, 0                                                |     r5 = r0 - 0;
                                                                             |     if (r5 == r0) {
    0x08002150 beq 0x8002180                                                 |         goto label_9;
                                                                             |     }
    0x08002154 stmdaeq r6, {r2, r3, r4, r5, r8, sb, fp, sp}                  |     __asm ("stmdaeq r6, {r2, r3, r4, r5, r8, sb, fp, sp}");
    0x08002158 stmdaeq r6, {r2, r3, r4, r5, r8, sb, fp, sp}                  |     __asm ("stmdaeq r6, {r2, r3, r4, r5, r8, sb, fp, sp}");
                                                                             |     do {
    0x0800215c mov r0, r5                                                    |         r0 = r5;
    0x08002160 mov r6, r5                                                    |         r6 = r5;
    0x08002164 stmdaeq r8, {r0, r1, r2, r3, r4, r7, sl, fp, ip, pc}          |         __asm ("stmdaeq r8, {r0, r1, r2, r3, r4, r7, sl, fp, ip, pc}");
    0x08002168 mov r1, r6                                                    |         r1 = r6;
    0x0800216c mov r5, r0                                                    |         r5 = r0;
    0x08002170 ldr r0, [r7]                                                  |         r0 = *(r7);
    0x08002174 stmdaeq r8, {r0, r1, r2, r4, r7, sl, fp, ip, pc}              |         __asm ("stmdaeq r8, {r0, r1, r2, r4, r7, sl, fp, ip, pc}");
    0x08002178 cmp r5, 0                                                     |         
    0x0800217c bne 0x800215c                                                 |         
                                                                             |     } while (r5 != 0);
                                                                             | label_9:
    0x08002180 mov r0, r8                                                    |     r0 = r8;
    0x08002184 stmdaeq r8, {r0, r1, r5, r7, sl, fp, ip, pc}                  |     __asm ("stmdaeq r8, {r0, r1, r5, r7, sl, fp, ip, pc}");
                                                                             | label_3:
    0x08002188 mov r0, r4                                                    |     r0 = r4;
    0x0800218c add sp, sp, 0x4c                                              |     
    0x08002190 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}                      |     
                                                                             | label_7:
    0x08002194 ldr r3, [r6, 0x1f8]                                           |     r3 = *((r6 + 0x1f8));
    0x08002198 ldr r3, [r3, 0x44]                                            |     r3 = *((r3 + 0x44));
    0x0800219c ldr r2, [r3, 0x5c]                                            |     r2 = *((r3 + 0x5c));
    0x080021a0 tst r2, 4                                                     |     
    0x080021a4 bne 0x80021cc                                                 |     
                                                                             |     while (sb == 0) {
                                                                             | label_2:
    0x080021a8 str r8, [fp, 0x148]                                           |         *(arg_148h) = r8;
    0x080021ac ldr r3, [r6, 0x1f8]                                           |         r3 = *((r6 + 0x1f8));
    0x080021b0 ldr r3, [r3, 0x4c]                                            |         r3 = *((r3 + 0x4c));
    0x080021b4 tst r3, 8                                                     |         
                                                                             |         if ((r3 & 8) != 0) {
    0x080021b8 bne 0x8002374                                                 |             goto label_10;
                                                                             |         }
                                                                             | label_5:
    0x080021bc mov r4, 0                                                     |         r4 = 0;
    0x080021c0 mov r0, r4                                                    |         r0 = r4;
    0x080021c4 add sp, sp, 0x4c                                              |         
    0x080021c8 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}                      |         
    0x080021cc ldr r2, [fp, 0x44]                                            |         r2 = *(arg_44h);
    0x080021d0 ldr sb, [r2, 0xe0]                                            |         sb = *((r2 + 0xe0));
    0x080021d4 cmp sb, 0                                                     |         
    0x080021d8 beq 0x80021a8                                                 |         
                                                                             |     }
    0x080021dc cmp sb, 1                                                     |     
                                                                             |     if (sb == 1) {
    0x080021e0 beq 0x800230c                                                 |         goto label_11;
                                                                             |     }
    0x080021e4 ldr r3, [r3]                                                  |     r3 = *(r3);
    0x080021e8 cmp sb, r3                                                    |     
                                                                             |     if (sb > r3) {
    0x080021ec bhi 0x800230c                                                 |         goto label_11;
                                                                             |     }
    0x080021f0 mov r3, 0xa0                                                  |     r3 = 0xa0;
    0x080021f4 mov r1, sb                                                    |     r1 = sb;
    0x080021f8 str r3, [sp]                                                  |     *(sp) = r3;
    0x080021fc mov r0, r6                                                    |     r0 = r6;
    0x08002200 stmdaeq r5, {r3, r5, r7, sl, fp, ip, sp, lr}                  |     __asm ("stmdaeq r5, {r3, r5, r7, sl, fp, ip, sp, lr}");
    0x08002204 stmdaeq r5, {r3, r5, r7, sl, fp, ip, sp, lr}                  |     __asm ("stmdaeq r5, {r3, r5, r7, sl, fp, ip, sp, lr}");
    0x08002208 mov r2, 1                                                     |     r2 = 1;
    0x0800220c stmdaeq r2, {r2, r5, r8, fp}                                  |     __asm ("stmdaeq r2, {r2, r5, r8, fp}");
    0x08002210 cmn r0, 0x1000                                                |     
    0x08002214 mov r7, r0                                                    |     r7 = r0;
                                                                             |     if (r0 > 0x1000) {
    0x08002218 movhi r4, r0                                                  |         r4 = r0;
                                                                             |         goto label_12;
                                                                             |     }
                                                                             |     if (r0 > 0x1000) {
                                                                             | label_12:
    0x0800221c bhi 0x8002144                                                 |         goto label_0;
                                                                             |     }
    0x08002220 ldr r3, [r6, 0x10]                                            |     r3 = *((r6 + 0x10));
    0x08002224 ldr r0, [r0, 0x38]                                            |     r0 = *((r0 + 0x38));
    0x08002228 ldrb r2, [r6, 0xc]                                            |     r2 = *((r6 + 0xc));
    0x0800222c subs r3, r3, 1                                                |     r3--;
    0x08002230 sbc r1, r1, r1                                                |     __asm ("sbc r1, r1, r1");
    0x08002234 ldr ip, [r7, 0x3c]                                            |     ip = *((r7 + 0x3c));
    0x08002238 adds r3, r3, r0                                               |     r3 += r0;
    0x0800223c adc r1, r1, ip                                                |     __asm ("adc r1, r1, ip");
    0x08002240 lsr sl, r3, r2                                                |     sl = r3 >> r2;
    0x08002244 rsb r3, r2, 0x20                                              |     r3 = 0x20 - r2;
    0x08002248 subs r2, r2, 0x20                                             |     r2 -= 0x20;
    0x0800224c orr sl, sl, r1, lsl r3                                        |     sl |= (r1 << r3);
                                                                             |     if (r2 < r2) {
    0x08002250 orrpl sl, sl, r1, asr r2                                      |         sl |= (r1 >> r2);
                                                                             |     }
    0x08002254 cmp sl, 0                                                     |     
                                                                             |     if (sl == 0) {
    0x08002258 beq 0x8002300                                                 |         goto label_13;
                                                                             |     }
    0x0800225c mov r4, 0                                                     |     r4 = 0;
    0x08002260 mov r5, r4                                                    |     r5 = r4;
    0x08002264 b 0x8002270                                                   |     
                                                                             |     while (r0 == 0) {
                                                                             | label_1:
    0x08002268 cmp sl, r5                                                    |         
                                                                             |         if (sl < r5) {
    0x0800226c bls 0x80022d0                                                 |             goto label_14;
                                                                             |         }
    0x08002270 sub r2, sl, r5                                                |         r2 = sl - r5;
    0x08002274 mov r3, 0                                                     |         r3 = 0;
    0x08002278 str r2, [sp, 0x3c]                                            |         var_3ch = r2;
    0x0800227c mov r1, r7                                                    |         r1 = r7;
    0x08002280 add r2, sp, 0x30                                              |         r2 += var_30h;
    0x08002284 mov r0, r3                                                    |         r0 = r3;
    0x08002288 str r5, [sp, 0x38]                                            |         var_38h = r5;
    0x0800228c stmdaeq r1, {r5, r6, r7, r8, sb, fp, sp, lr, pc}              |         __asm ("stmdaeq r1, {r5, r6, r7, r8, sb, fp, sp, lr, pc}");
    0x08002290 cmp r0, 0                                                     |         
                                                                             |         if (r0 < 0) {
    0x08002294 blt 0x80022ec                                                 |             goto label_15;
                                                                             |         }
                                                                             |         if (r0 != 0) {
    0x08002298 addeq r5, r5, 1                                               |             r5++;
                                                                             |         }
    0x0800229c beq 0x8002268                                                 |         
                                                                             |     }
    0x080022a0 stm sp, {r0, sb}                                              |     *(sp) = r0;
                                                                             |     *((sp + 4)) = sb;
    0x080022a4 add r5, r5, r0                                                |     r5 += r0;
    0x080022a8 ldrd r2, r3, [sp, 0x30]                                       |     __asm ("ldrd r2, r3, [var_30h]");
    0x080022ac mov r0, r8                                                    |     r0 = r8;
    0x080022b0 bl 0x8001d80                                                  |     r0 = add_system_zone ()
    0x080022b4 subs r4, r0, 0                                                |     r4 = r0 - 0;
                                                                             |     if (r4 >= r0) {
    0x080022b8 bge 0x8002268                                                 |         goto label_1;
                                                                             |     }
    0x080022bc cmn r4, 0x75                                                  |     
                                                                             |     if (r4 == 0x75) {
    0x080022c0 beq 0x8002314                                                 |         goto label_16;
                                                                             |     }
                                                                             | label_4:
    0x080022c4 mov r0, r7                                                    |     r0 = r7;
    0x080022c8 stmdaeq r8, {r0, r1, r4, r5, r7, sl, fp, ip, pc}              |     __asm ("stmdaeq r8, {r0, r1, r4, r5, r7, sl, fp, ip, pc}");
    0x080022cc b 0x8002144                                                   |     goto label_0;
                                                                             | label_14:
    0x080022d0 mov r0, r7                                                    |     r0 = r7;
    0x080022d4 stmdaeq r8, {r0, r1, r4, r5, r7, sl, fp, ip, pc}              |     __asm ("stmdaeq r8, {r0, r1, r4, r5, r7, sl, fp, ip, pc}");
    0x080022d8 cmp r4, 0                                                     |     
                                                                             |     if (r4 == 0) {
    0x080022dc beq 0x80021a8                                                 |         goto label_2;
                                                                             |     }
    0x080022e0 b 0x8002144                                                   |     goto label_0;
                                                                             | label_6:
    0x080022e4 mvn r4, 0xb                                                   |     r4 = ~0xb;
    0x080022e8 b 0x8002188                                                   |     goto label_3;
                                                                             | label_15:
    0x080022ec mov r3, r0                                                    |     r3 = r0;
    0x080022f0 mov r0, r7                                                    |     r0 = r7;
    0x080022f4 mov r4, r3                                                    |     r4 = r3;
    0x080022f8 stmdaeq r8, {r0, r1, r4, r5, r7, sl, fp, ip, pc}              |     __asm ("stmdaeq r8, {r0, r1, r4, r5, r7, sl, fp, ip, pc}");
    0x080022fc b 0x8002144                                                   |     goto label_0;
                                                                             | label_13:
    0x08002300 mov r0, r7                                                    |     r0 = r7;
    0x08002304 stmdaeq r8, {r0, r1, r4, r5, r7, sl, fp, ip, pc}              |     __asm ("stmdaeq r8, {r0, r1, r4, r5, r7, sl, fp, ip, pc}");
    0x08002308 b 0x80021a8                                                   |     goto label_2;
                                                                             | label_11:
    0x0800230c mvn r4, 0x15                                                  |     r4 = ~0x15;
    0x08002310 b 0x8002144                                                   |     goto label_0;
                                                                             | label_16:
    0x08002314 ldr r3, [sp, 0x30]                                            |     r3 = var_30h;
    0x08002318 mov r0, r6                                                    |     r0 = r6;
    0x0800231c ldr r2, [sp, 0x34]                                            |     r2 = var_34h;
    0x08002320 ldr r1, [sp, 0x3c]                                            |     r1 = var_3ch;
    0x08002324 str r3, [sp, 0x10]                                            |     var_10h = r3;
    0x08002328 str r3, [sp]                                                  |     *(sp) = r3;
    0x0800232c subs r3, r3, 1                                                |     r3--;
    0x08002330 str r2, [sp, 0x14]                                            |     *(arg_14h) = r2;
    0x08002334 str r2, [sp, 4]                                               |     var_4h = r2;
    0x08002338 sbc r2, r2, 0                                                 |     __asm ("sbc r2, r2, 0");
    0x0800233c adds r1, r1, r3                                               |     r1 += r3;
    0x08002340 str sb, [sp, 0x20]                                            |     var_20h = sb;
    0x08002344 adc r3, r2, 0                                                 |     __asm ("adc r3, r2, 0");
    0x08002348 str r1, [sp, 0x18]                                            |     var_18h = r1;
    0x0800234c str r3, [sp, 0x1c]                                            |     var_1ch = r3;
    0x08002350 mov r2, 0xb3                                                  |     r2 = 0xb3;
    0x08002354 stmdaeq r5, {r5, r6, sb, sl, sp, pc}                          |     __asm ("stmdaeq r5, {r5, r6, sb, sl, sp, pc}");
    0x08002358 stmdaeq r5, {r5, r6, sb, sl, sp, pc}                          |     __asm ("stmdaeq r5, {r5, r6, sb, sl, sp, pc}");
    0x0800235c stmdaeq r5, {r3, r5, r7, sl, fp, ip, sp, lr}                  |     __asm ("stmdaeq r5, {r3, r5, r7, sl, fp, ip, sp, lr}");
    0x08002360 stmdaeq r5, {r3, r5, r7, sl, fp, ip, sp, lr}                  |     __asm ("stmdaeq r5, {r3, r5, r7, sl, fp, ip, sp, lr}");
    0x08002364 str r3, [sp, 8]                                               |     var_8h = r3;
    0x08002368 mov r3, 0x75                                                  |     r3 = 0x75;
    0x0800236c stmdaeq r4, {r3, r6, ip, sp, lr}                              |     __asm ("stmdaeq r4, {r3, r6, ip, sp, lr}");
    0x08002370 b 0x80022c4                                                   |     goto label_4;
                                                                             | label_10:
    0x08002374 stmdaeq r5, {r2, r4, r7, sb, sl, sp, pc}                      |     __asm ("stmdaeq r5, {r2, r4, r7, sb, sl, sp, pc}");
    0x08002378 stmdaeq r5, {r2, r4, r7, sb, sl, sp, pc}                      |     __asm ("stmdaeq r5, {r2, r4, r7, sb, sl, sp, pc}");
    0x0800237c stmdaeq r8, {r0, r1, r2, r4, r5, r7, sl, fp, ip, pc}          |     __asm ("stmdaeq r8, {r0, r1, r2, r4, r5, r7, sl, fp, ip, pc}");
    0x08002380 stmdaeq r5, {r2, r3, r4, r6, sb, sl, sp, pc}                  |     __asm ("stmdaeq r5, {r2, r3, r4, r6, sb, sl, sp, pc}");
    0x08002384 stmdaeq r5, {r2, r3, r4, r6, sb, sl, sp, pc}                  |     __asm ("stmdaeq r5, {r2, r3, r4, r6, sb, sl, sp, pc}");
    0x08002388 stmdaeq r8, {r0, r1, r3, r4, r5, sl, fp, ip, pc}              |     __asm ("stmdaeq r8, {r0, r1, r3, r4, r5, sl, fp, ip, pc}");
    0x0800238c ldr r0, [fp, 0x148]                                           |     r0 = *(arg_148h);
    0x08002390 stmdaeq r5, {r3, r4, r6, sb, sl, sp, pc}                      |     __asm ("stmdaeq r5, {r3, r4, r6, sb, sl, sp, pc}");
    0x08002394 stmdaeq r5, {r3, r4, r6, sb, sl, sp, pc}                      |     __asm ("stmdaeq r5, {r3, r4, r6, sb, sl, sp, pc}");
    0x08002398 stmdaeq r8, {r0, r1, r3, r4, r5, r7, sl, fp, ip, pc}          |     __asm ("stmdaeq r8, {r0, r1, r3, r4, r5, r7, sl, fp, ip, pc}");
    0x0800239c stmdaeq r5, {r3, r5, r7, sb, sl, sp, pc}                      |     __asm ("stmdaeq r5, {r3, r5, r7, sb, sl, sp, pc}");
    0x080023a0 stmdaeq r5, {r3, r5, r7, sb, sl, sp, pc}                      |     __asm ("stmdaeq r5, {r3, r5, r7, sb, sl, sp, pc}");
    0x080023a4 mov r4, r0                                                    |     r4 = r0;
    0x080023a8 mov lr, 1                                                     |     lr = 1;
                                                                             |     do {
    0x080023ac cmp r4, 0                                                     |         
                                                                             |         if (r4 == 0) {
    0x080023b0 beq 0x80023fc                                                 |             goto label_17;
                                                                             |         }
    0x080023b4 ldrd r2, r3, [r4, 0x10]                                       |         __asm ("ldrd r2, r3, [r4, 0x10]");
    0x080023b8 mov r0, r5                                                    |         r0 = r5;
    0x080023bc ldr r1, [r4, 0x18]                                            |         r1 = *((r4 + 0x18));
    0x080023c0 subs r8, r2, 1                                                |         r8 = r2 - 1;
    0x080023c4 sbc ip, r3, 0                                                 |         __asm ("sbc ip, r3, 0");
    0x080023c8 adds r1, r1, r8                                               |         r1 += r8;
    0x080023cc str r1, [sp]                                                  |         *(sp) = r1;
    0x080023d0 adc r1, ip, 0                                                 |         __asm ("adc r1, ip, 0");
    0x080023d4 cmp lr, 0                                                     |         
    0x080023d8 str r1, [sp, 4]                                               |         var_4h = r1;
                                                                             |         if (lr != 0) {
    0x080023dc moveq r1, r7                                                  |             r1 = r7;
                                                                             |         }
                                                                             |         if (lr == 0) {
    0x080023e0 movne r1, r6                                                  |             r1 = r6;
                                                                             |         }
    0x080023e4 stmdaeq r8, {r0, r1, r2, r4, r5, r7, sl, fp, ip, pc}          |         __asm ("stmdaeq r8, {r0, r1, r2, r4, r5, r7, sl, fp, ip, pc}");
    0x080023e8 mov r0, r4                                                    |         r0 = r4;
    0x080023ec stmdaeq r8, {r0, r1, r2, r3, r7, sl, fp, ip, pc}              |         __asm ("stmdaeq r8, {r0, r1, r2, r3, r7, sl, fp, ip, pc}");
    0x080023f0 mov lr, 0                                                     |         lr = 0;
    0x080023f4 mov r4, r0                                                    |         r4 = r0;
    0x080023f8 b 0x80023ac                                                   |         
                                                                             |     } while (1);
                                                                             | label_17:
    0x080023fc stmdaeq r8, {r0, r1, r2, r3, r4, r5, sl, fp, ip, pc}          |     __asm ("stmdaeq r8, {r0, r1, r2, r3, r4, r5, sl, fp, ip, pc}");
    0x08002400 stmdaeq r5, {r3, r4, r5, r7, sb, sl, sp, pc}                  |     __asm ("stmdaeq r5, {r3, r4, r5, r7, sb, sl, sp, pc}");
    0x08002404 stmdaeq r5, {r3, r4, r5, r7, sb, sl, sp, pc}                  |     __asm ("stmdaeq r5, {r3, r4, r5, r7, sb, sl, sp, pc}");
    0x08002408 stmdaeq r8, {r0, r1, r2, r4, r5, r7, sl, fp, ip, pc}          |     __asm ("stmdaeq r8, {r0, r1, r2, r4, r5, r7, sl, fp, ip, pc}");
    0x0800240c b 0x80021bc                                                   |     goto label_5;
                                                                             | }

[*] Function system used 7 times ext4.ko