[*] Binary protection state of busybox

  
  	Partial RELRO  No Canary found   NX disabled  No PIE       No RPATH     No RUNPATH   No Symbols


[*] Function system tear down of busybox

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/bin/busybox @ 0x61c84 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00061c84 ()                                  | void fcn_00061c84 (int32_t arg_0h, int32_t arg1, char * s) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_28h;
                                                             |     int32_t var_2ch;
                                                             |     int32_t var_30h;
                                                             |     int32_t var_34h;
                                                             |     int32_t var_3ch;
                                                             |     r0 = arg1;
                                                             |     r1 = s;
    0x00061c84 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00061c88 ldr r4, [pc, 0xc30]                           |     r4 = *(0x628bc);
    0x00061c8c sub sp, sp, 0x3c                              |     
    0x00061c90 mov r6, r0                                    |     r6 = r0;
    0x00061c94 mov r0, r1                                    |     r0 = r1;
    0x00061c98 mov r5, r1                                    |     r5 = r1;
    0x00061c9c mov r7, r2                                    |     r7 = r2;
    0x00061ca0 bl 0x1514c                                    |     strlen (r0);
    0x00061ca4 mvn sl, 0                                     |     sl = ~0;
    0x00061ca8 cmp r7, 0                                     |     
    0x00061cac str sl, [sp, 0x20]                            |     var_20h = sl;
    0x00061cb0 mov sb, r0                                    |     sb = r0;
    0x00061cb4 add r8, r5, r0                                |     r8 = r5 + r0;
                                                             |     if (r7 == 0) {
    0x00061cb8 bne 0x61d38                                   |         
    0x00061cbc ldr r1, [pc, 0xc00]                           |         r1 = *(0x628c0);
    0x00061cc0 mov r0, r8                                    |         r0 = r8;
    0x00061cc4 add fp, r8, 1                                 |         
    0x00061cc8 bl 0x142f4                                    |         strcpy (r0, r1);
    0x00061ccc mov r2, 0x7f                                  |         r2 = 0x7f;
    0x00061cd0 mov r1, fp                                    |         r1 = fp;
    0x00061cd4 mov r0, r5                                    |         r0 = r5;
    0x00061cd8 bl 0x19740                                    |         fcn_00019740 (r0);
    0x00061cdc strb r7, [r5, sb]                             |         *((r5 + sb)) = r7;
    0x00061ce0 cmp r0, 0                                     |         
                                                             |         if (r0 <= 0) {
    0x00061ce4 ble 0x61d38                                   |             goto label_14;
                                                             |         }
    0x00061ce8 add r3, sp, 0x24                              |         r3 += var_24h;
    0x00061cec add r2, sp, 0x20                              |         r2 += var_20h;
    0x00061cf0 ldr r1, [pc, 0xbd0]                           |         r1 = "_dev";
    0x00061cf4 mov r0, fp                                    |         r0 = fp;
    0x00061cf8 bl 0x14c9c                                    |         r0 = sscanf (r0, "_dev", r2);
    0x00061cfc cmp r0, 2                                     |         
                                                             |         if (r0 == 2) {
    0x00061d00 strne sl, [sp, 0x20]                          |             var_20h = sl;
                                                             |         }
                                                             |         if (r0 != 2) {
    0x00061d04 bne 0x61d38                                   |             goto label_14;
                                                             |         }
    0x00061d08 ldrb r2, [r4, 9]                              |         r2 = *((r4 + 9));
    0x00061d0c ldrb r3, [r4, 8]                              |         r3 = *((r4 + 8));
    0x00061d10 orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x00061d14 ldrb r2, [r4, 0xa]                            |         r2 = *((r4 + 0xa));
    0x00061d18 orr r3, r3, r2, lsl 16                        |         r3 |= (r2 << 16);
    0x00061d1c ldrb r2, [r4, 0xb]                            |         r2 = *((r4 + 0xb));
    0x00061d20 orrs r3, r3, r2, lsl 24                       |         r3 |= (r2 << 24);
                                                             |         if (r3 == r3) {
    0x00061d24 beq 0x61d38                                   |             goto label_14;
                                                             |         }
    0x00061d28 ldr r2, [sp, 0x24]                            |         r2 = var_24h;
    0x00061d2c ldr r1, [sp, 0x20]                            |         r1 = var_20h;
    0x00061d30 ldr r0, [pc, 0xb94]                           |         r0 = *(0x628c8);
    0x00061d34 bl 0x18274                                    |         fcn_00018274 ();
                                                             |     }
                                                             | label_14:
    0x00061d38 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x00061d3c bne 0x61da0                                   |         
    0x00061d40 ldr r1, [pc, 0xb88]                           |         r1 = "dev %u,%u";
    0x00061d44 add sl, r8, 1                                 |         sl = r8 + 1;
    0x00061d48 mov r0, r8                                    |         r0 = r8;
    0x00061d4c bl 0x142f4                                    |         strcpy (r0, r1);
    0x00061d50 mov r2, 0x7f                                  |         r2 = 0x7f;
    0x00061d54 mov r1, sl                                    |         r1 = sl;
    0x00061d58 mov r0, r5                                    |         r0 = r5;
    0x00061d5c bl 0x19740                                    |         fcn_00019740 (r0);
    0x00061d60 strb r6, [r5, sb]                             |         *((r5 + sb)) = r6;
    0x00061d64 ldr r1, [pc, 0xb68]                           |         r1 = "_uevent";
    0x00061d68 mov fp, r6                                    |         
    0x00061d6c cmp r0, 0                                     |         
                                                             |         if (r0 < 0) {
    0x00061d70 addge r0, r8, r0                              |             r0 = r8 + r0;
                                                             |         }
                                                             |         if (r0 >= 0) {
    0x00061d74 addlt r0, r8, 0                               |             r0 = r8 + 0;
                                                             |         }
    0x00061d78 strb r6, [r0, 1]                              |         *((r0 + 1)) = r6;
    0x00061d7c mov r0, sl                                    |         r0 = sl;
    0x00061d80 bl 0x14b10                                    |         r0 = strstr (r0, r1);
    0x00061d84 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00061d88 beq 0x61f5c                                   |             goto label_15;
                                                             |         }
    0x00061d8c add r6, r0, 9                                 |         r6 = r0 + 9;
    0x00061d90 mov r1, 0xa                                   |         r1 = 0xa;
    0x00061d94 mov r0, r6                                    |         r0 = r6;
    0x00061d98 bl 0x151e8                                    |         r0 = strchrnul ();
    0x00061d9c strb fp, [r0]                                 |         *(r0) = fp;
                                                             |     }
                                                             | label_1:
    0x00061da0 ldr r1, [pc, 0xb30]                           |     r1 = "\nDEVNAME=";
    0x00061da4 mov r0, r5                                    |     r0 = r5;
    0x00061da8 bl 0x14b10                                    |     r0 = strstr (r0, "\nDEVNAME=");
    0x00061dac cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00061db0 bne 0x61f7c                                   |         goto label_16;
                                                             |     }
    0x00061db4 ldrb r3, [r4, 0xd]                            |     r3 = *((r4 + 0xd));
    0x00061db8 ldrb r0, [r4, 0xc]                            |     r0 = *((r4 + 0xc));
    0x00061dbc orr r0, r0, r3, lsl 8                         |     r0 |= (r3 << 8);
    0x00061dc0 ldrb r3, [r4, 0xe]                            |     r3 = *((r4 + 0xe));
    0x00061dc4 orr r0, r0, r3, lsl 16                        |     r0 |= (r3 << 16);
    0x00061dc8 ldrb r3, [r4, 0xf]                            |     r3 = *((r4 + 0xf));
    0x00061dcc orrs r0, r0, r3, lsl 24                       |     r0 |= (r3 << 24);
                                                             |     if (r0 != r0) {
    0x00061dd0 bne 0x61f6c                                   |         goto label_17;
                                                             |     }
                                                             | label_2:
    0x00061dd4 mov r3, 0x2000                                |     r3 = 0x2000;
                                                             | label_3:
    0x00061dd8 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00061ddc mov r3, 0                                     |     r3 = 0;
    0x00061de0 strb r3, [r4, 0x20]                           |     *((r4 + 0x20)) = r3;
    0x00061de4 strb r3, [r4, 0x21]                           |     *((r4 + 0x21)) = r3;
    0x00061de8 strb r3, [r4, 0x22]                           |     *((r4 + 0x22)) = r3;
    0x00061dec strb r3, [r4, 0x23]                           |     *((r4 + 0x23)) = r3;
                                                             |     do {
                                                             | label_0:
    0x00061df0 ldrb r3, [r4, 0x19]                           |         r3 = *((r4 + 0x19));
    0x00061df4 ldrb r5, [r4, 0x18]                           |         r5 = *((r4 + 0x18));
    0x00061df8 orr r5, r5, r3, lsl 8                         |         r5 |= (r3 << 8);
    0x00061dfc ldrb r3, [r4, 0x1a]                           |         r3 = *((r4 + 0x1a));
    0x00061e00 orr r5, r5, r3, lsl 16                        |         r5 |= (r3 << 16);
    0x00061e04 ldrb r3, [r4, 0x1b]                           |         r3 = *((r4 + 0x1b));
    0x00061e08 orrs r5, r5, r3, lsl 24                       |         r5 |= (r3 << 24);
                                                             |         if (r5 == r5) {
    0x00061e0c bne 0x61e64                                   |             
    0x00061e10 ldrb r3, [r4, 0x15]                           |             r3 = *((r4 + 0x15));
    0x00061e14 ldrb r0, [r4, 0x14]                           |             r0 = *((r4 + 0x14));
    0x00061e18 orr r0, r0, r3, lsl 8                         |             r0 |= (r3 << 8);
    0x00061e1c ldrb r3, [r4, 0x16]                           |             r3 = *((r4 + 0x16));
    0x00061e20 orr r0, r0, r3, lsl 16                        |             r0 |= (r3 << 16);
    0x00061e24 ldrb r3, [r4, 0x17]                           |             r3 = *((r4 + 0x17));
    0x00061e28 orrs r0, r0, r3, lsl 24                       |             r0 |= (r3 << 24);
                                                             |             if (r0 == r0) {
    0x00061e2c beq 0x61e64                                   |                 goto label_18;
                                                             |             }
    0x00061e30 ldr r1, [pc, 0xaa4]                           |             r1 = "/block/";
    0x00061e34 bl 0xa0ab8                                    |             fcn_000a0ab8 (r0);
    0x00061e38 strb r5, [r4, 0x14]                           |             *((r4 + 0x14)) = r5;
    0x00061e3c strb r5, [r4, 0x15]                           |             *((r4 + 0x15)) = r5;
    0x00061e40 strb r5, [r4, 0x16]                           |             *((r4 + 0x16)) = r5;
    0x00061e44 strb r5, [r4, 0x17]                           |             *((r4 + 0x17)) = r5;
    0x00061e48 lsr r3, r0, 8                                 |             r3 = r0 >> 8;
    0x00061e4c strb r0, [r4, 0x18]                           |             *((r4 + 0x18)) = r0;
    0x00061e50 strb r3, [r4, 0x19]                           |             *((r4 + 0x19)) = r3;
    0x00061e54 lsr r3, r0, 0x10                              |             r3 = r0 >> 0x10;
    0x00061e58 lsr r0, r0, 0x18                              |             r0 >>= 0x18;
    0x00061e5c strb r3, [r4, 0x1a]                           |             *((r4 + 0x1a)) = r3;
    0x00061e60 strb r0, [r4, 0x1b]                           |             *((r4 + 0x1b)) = r0;
                                                             |         }
                                                             | label_18:
    0x00061e64 ldrb r2, [r4, 0x1d]                           |         r2 = *((r4 + 0x1d));
    0x00061e68 ldrb r3, [r4, 0x1c]                           |         r3 = *((r4 + 0x1c));
    0x00061e6c ldr r8, [pc, 0xa4c]                           |         r8 = *(0x628bc);
    0x00061e70 orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x00061e74 ldrb r2, [r4, 0x1e]                           |         r2 = *((r4 + 0x1e));
    0x00061e78 orr r3, r3, r2, lsl 16                        |         r3 |= (r2 << 16);
    0x00061e7c ldrb r2, [r4, 0x1f]                           |         r2 = *((r4 + 0x1f));
    0x00061e80 orrs r3, r3, r2, lsl 24                       |         r3 |= (r2 << 24);
                                                             |         if (r3 == r3) {
    0x00061e84 beq 0x61fb0                                   |             goto label_19;
                                                             |         }
    0x00061e88 ldrb r1, [r4, 0x21]                           |         r1 = *((r4 + 0x21));
    0x00061e8c ldrb r2, [r4, 0x20]                           |         r2 = *((r4 + 0x20));
    0x00061e90 orr r2, r2, r1, lsl 8                         |         r2 |= (r1 << 8);
    0x00061e94 ldrb r1, [r4, 0x22]                           |         r1 = *((r4 + 0x22));
    0x00061e98 orr r2, r2, r1, lsl 16                        |         r2 |= (r1 << 16);
    0x00061e9c ldrb r1, [r4, 0x23]                           |         r1 = *((r4 + 0x23));
    0x00061ea0 orr r2, r2, r1, lsl 24                        |         r2 |= (r1 << 24);
    0x00061ea4 ldr r1, [r3, r2, lsl 2]                       |         offset_0 = r2 << 2;
                                                             |         r1 = *((r3 + offset_0));
    0x00061ea8 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x00061eac beq 0x61f84                                   |             goto label_20;
                                                             |         }
    0x00061eb0 add r1, r2, 1                                 |         r1 = r2 + 1;
    0x00061eb4 lsr r0, r1, 8                                 |         r0 = r1 >> 8;
    0x00061eb8 strb r1, [r4, 0x20]                           |         *((r4 + 0x20)) = r1;
    0x00061ebc strb r0, [r4, 0x21]                           |         *((r4 + 0x21)) = r0;
    0x00061ec0 lsr r0, r1, 0x10                              |         r0 = r1 >> 0x10;
    0x00061ec4 lsr r1, r1, 0x18                              |         r1 >>= 0x18;
    0x00061ec8 strb r0, [r4, 0x22]                           |         *((r4 + 0x22)) = r0;
    0x00061ecc strb r1, [r4, 0x23]                           |         *((r4 + 0x23)) = r1;
    0x00061ed0 ldr sb, [r3, r2, lsl 2]                       |         offset_1 = r2 << 2;
                                                             |         sb = *((r3 + offset_1));
                                                             | label_4:
    0x00061ed4 ldr r5, [sb, 0x48]                            |         r5 = *((sb + 0x48));
    0x00061ed8 mov sl, 0                                     |         sl = 0;
                                                             | label_11:
    0x00061edc cmp r5, 0                                     |         
                                                             |         if (r5 != 0) {
    0x00061ee0 bne 0x62414                                   |             goto label_21;
                                                             |         }
    0x00061ee4 ldr r3, [sb, 8]                               |         r3 = *((sb + 8));
    0x00061ee8 cmp r3, 0                                     |         
                                                             |         if (r3 >= 0) {
    0x00061eec bge 0x62448                                   |             goto label_22;
                                                             |         }
    0x00061ef0 ldr r0, [sb, 0x1c]                            |         r0 = *((sb + 0x1c));
    0x00061ef4 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00061ef8 beq 0x62540                                   |             goto label_23;
                                                             |         }
    0x00061efc bl 0x144d4                                    |         r0 = getenv (r0);
    0x00061f00 subs r5, r0, 0                                |         r5 = r0 - 0;
    0x00061f04 beq 0x61df0                                   |         
                                                             |     } while (r5 == r0);
                                                             | label_12:
    0x00061f08 ldrb r3, [sb, 1]                              |     r3 = *((sb + 1));
    0x00061f0c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00061f10 beq 0x62478                                   |         goto label_24;
                                                             |     }
    0x00061f14 mov r3, 0                                     |     r3 = 0;
    0x00061f18 str r3, [sp]                                  |     *(sp) = r3;
    0x00061f1c mov r2, 1                                     |     r2 = 1;
    0x00061f20 add r3, sp, 0x28                              |     r3 += var_28h;
    0x00061f24 mov r1, r5                                    |     r1 = r5;
    0x00061f28 add r0, sb, 0x28                              |     r0 = sb + 0x28;
    0x00061f2c bl 0x14e34                                    |     r0 = regexec ();
    0x00061f30 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00061f34 bne 0x61df0                                   |         goto label_0;
                                                             |     }
    0x00061f38 ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x00061f3c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00061f40 bne 0x61df0                                   |         goto label_0;
                                                             |     }
    0x00061f44 mov r0, r5                                    |     r0 = r5;
    0x00061f48 bl 0x1514c                                    |     strlen (r0);
    0x00061f4c ldr r3, [sp, 0x2c]                            |     r3 = var_2ch;
    0x00061f50 cmp r3, r0                                    |     
                                                             |     if (r3 != r0) {
    0x00061f54 bne 0x61df0                                   |         goto label_0;
                                                             |     }
    0x00061f58 b 0x62478                                     |     goto label_24;
                                                             | label_15:
    0x00061f5c mov r0, r5                                    |     r0 = r5;
    0x00061f60 bl 0x17e94                                    |     r0 = fcn_00017e94 (r0);
    0x00061f64 mov r6, r0                                    |     r6 = r0;
    0x00061f68 b 0x61da0                                     |     goto label_1;
                                                             | label_17:
    0x00061f6c ldr r1, [pc, 0x96c]                           |     r1 = *(0x628dc);
    0x00061f70 bl 0x17c98                                    |     r0 = fcn_00017c98 (r0, r1);
    0x00061f74 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00061f78 beq 0x61dd4                                   |         goto label_2;
                                                             |     }
                                                             | label_16:
    0x00061f7c mov r3, 0x6000                                |     r3 = 0x6000;
    0x00061f80 b 0x61dd8                                     |     goto label_3;
                                                             | label_20:
    0x00061f84 bl 0x61b3c                                    |     fcn_00061b3c ();
                                                             |     do {
    0x00061f88 ldrb r2, [r4, 0x19]                           |         r2 = *((r4 + 0x19));
    0x00061f8c ldrb r3, [r4, 0x18]                           |         r3 = *((r4 + 0x18));
    0x00061f90 orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x00061f94 ldrb r2, [r4, 0x1a]                           |         r2 = *((r4 + 0x1a));
    0x00061f98 orr r3, r3, r2, lsl 16                        |         r3 |= (r2 << 16);
    0x00061f9c ldrb r2, [r4, 0x1b]                           |         r2 = *((r4 + 0x1b));
    0x00061fa0 orrs r3, r3, r2, lsl 24                       |         r3 |= (r2 << 24);
                                                             |         if (r3 != r3) {
    0x00061fa4 bne 0x62020                                   |             goto label_25;
                                                             |         }
                                                             | label_9:
    0x00061fa8 ldr sb, [pc, 0x934]                           |         sb = *(0x000628e4);
    0x00061fac b 0x61ed4                                     |         goto label_4;
                                                             | label_19:
    0x00061fb0 bl 0x61b90                                    |         fcn_00061b90 ();
    0x00061fb4 b 0x61f88                                     |         
                                                             |     } while (1);
                                                             |     do {
                                                             | label_5:
    0x00061fb8 ldrb sl, [r5]                                 |         sl = *(r5);
    0x00061fbc cmp sl, 0x40                                  |         
                                                             |         if (sl != 0x40) {
    0x00061fc0 bne 0x62174                                   |             goto label_26;
                                                             |         }
    0x00061fc4 ldr r3, [pc, 0x91c]                           |         r3 = *(0x628e4);
    0x00061fc8 ldr r1, [pc, 0x91c]                           |         r1 = *(0x628e8);
    0x00061fcc str r3, [sp]                                  |         *(sp) = r3;
    0x00061fd0 sub r3, r3, 4                                 |         r3 -= 4;
    0x00061fd4 sub r2, r3, 4                                 |         r2 = r3 - 4;
    0x00061fd8 mov r0, r5                                    |         r0 = r5;
    0x00061fdc bl 0x14c9c                                    |         r0 = sscanf (r0, r1, r2);
    0x00061fe0 cmp r0, 1                                     |         
                                                             |         if (r0 > 1) {
    0x00061fe4 ble 0x61ff4                                   |             
    0x00061fe8 ldrb r3, [r4, 0x2f]                           |             r3 = *((r4 + 0x2f));
    0x00061fec tst r3, 0x80                                  |             
                                                             |             if ((r3 & 0x80) == 0) {
    0x00061ff0 beq 0x620f0                                   |                 goto label_27;
                                                             |             }
                                                             |         }
    0x00061ff4 ldrb r2, [r4, 0x19]                           |         r2 = *((r4 + 0x19));
    0x00061ff8 ldrb r3, [r4, 0x18]                           |         r3 = *((r4 + 0x18));
    0x00061ffc ldr r0, [pc, 0x8ec]                           |         r0 = "@%u,%u-%u";
    0x00062000 orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x00062004 ldrb r2, [r4, 0x1a]                           |         r2 = *((r4 + 0x1a));
    0x00062008 orr r3, r3, r2, lsl 16                        |         r3 |= (r2 << 16);
    0x0006200c ldrb r2, [r4, 0x1b]                           |         r2 = *((r4 + 0x1b));
    0x00062010 orr r3, r3, r2, lsl 24                        |         r3 |= (r2 << 24);
    0x00062014 ldr r1, [r3, 0x18]                            |         r1 = *((r3 + 0x18));
                                                             | label_8:
    0x00062018 bl 0x18274                                    |         fcn_00018274 ();
                                                             | label_7:
    0x0006201c bl 0x61b90                                    |         fcn_00061b90 ();
                                                             | label_25:
    0x00062020 ldrb r3, [r4, 0x19]                           |         r3 = *((r4 + 0x19));
    0x00062024 ldrb r0, [r4, 0x18]                           |         r0 = *((r4 + 0x18));
    0x00062028 ldrb ip, [r4, 0x1b]                           |         ip = *((r4 + 0x1b));
    0x0006202c orr r0, r0, r3, lsl 8                         |         r0 |= (r3 << 8);
    0x00062030 ldrb r3, [r4, 0x1a]                           |         r3 = *((r4 + 0x1a));
    0x00062034 ldr r2, [pc, 0x8b8]                           |         r2 = "bad &commataj,min on line %d";
    0x00062038 orr r0, r0, r3, lsl 16                        |         r0 |= (r3 << 16);
    0x0006203c add r1, sp, 0x28                              |         r1 += var_28h;
    0x00062040 ldr r3, [pc, 0x8b0]                           |         r3 = *(0x628f4);
    0x00062044 orr r0, r0, ip, lsl 24                        |         r0 |= (ip << 24);
    0x00062048 bl 0xa0b1c                                    |         r0 = fcn_000a0b1c (r0, r1, r2);
    0x0006204c subs r5, r0, 0                                |         r5 = r0 - 0;
                                                             |         if (r5 == r0) {
    0x00062050 beq 0x623e0                                   |             goto label_28;
                                                             |         }
    0x00062054 ldr r5, [sp, 0x28]                            |         r5 = var_28h;
    0x00062058 ldr sb, [pc, 0x89c]                           |         sb = *(0x000628fc);
    0x0006205c ldrb r0, [r5]                                 |         r0 = *(r5);
    0x00062060 sub r0, r0, 0x2d                              |         r0 -= 0x2d;
    0x00062064 clz r0, r0                                    |         r0 &= r0;
    0x00062068 lsr r0, r0, 5                                 |         r0 >>= 5;
    0x0006206c add r5, r5, r0                                |         r5 += r0;
    0x00062070 strb r0, [r4, 0x24]                           |         *((r4 + 0x24)) = r0;
                                                             | label_6:
    0x00062074 mov r1, 0x3d                                  |         r1 = 0x3d;
    0x00062078 mov r0, r5                                    |         r0 = r5;
    0x0006207c bl 0x1517c                                    |         r0 = strchr (r0, r1);
    0x00062080 subs sl, r0, 0                                |         sl = r0 - 0;
    0x00062084 beq 0x61fb8                                   |         
                                                             |     } while (sl == r0);
    0x00062088 mov r0, r5                                    |     r0 = r5;
    0x0006208c bl 0x9a758                                    |     r0 = fcn_0009a758 (r0);
    0x00062090 cmp sl, r0                                    |     
                                                             |     if (sl != r0) {
    0x00062094 bne 0x61fb8                                   |         goto label_5;
                                                             |     }
    0x00062098 mov r1, 0x3b                                  |     r1 = 0x3b;
    0x0006209c bl 0x1517c                                    |     r0 = strchr (r0, r1);
    0x000620a0 subs fp, r0, 0                                |     
                                                             |     if (fp == r0) {
    0x000620a4 beq 0x61fb8                                   |         goto label_5;
                                                             |     }
    0x000620a8 mov r0, 0x28                                  |     r0 = 0x28;
    0x000620ac bl 0x189b8                                    |     fcn_000189b8 (r0);
    0x000620b0 sub r1, sl, r5                                |     r1 = sl - r5;
    0x000620b4 str r0, [sb]                                  |     *(sb) = r0;
    0x000620b8 mov sb, r0                                    |     sb = r0;
    0x000620bc mov r0, r5                                    |     r0 = r5;
    0x000620c0 bl 0x189f8                                    |     fcn_000189f8 (r0, r1);
    0x000620c4 mov r3, 0                                     |     r3 = 0;
    0x000620c8 mov r2, 1                                     |     r2 = 1;
    0x000620cc add r1, sl, r2                                |     r1 = sl + r2;
    0x000620d0 mov r5, fp                                    |     r5 = fp;
    0x000620d4 str r0, [sb, 4]                               |     *((sb + 4)) = r0;
    0x000620d8 strb r3, [fp]                                 |     *(fp) = r3;
    0x000620dc add r0, sb, 8                                 |     r0 = sb + 8;
    0x000620e0 bl 0xa63d8                                    |     fcn_000a63d8 (r0, r1);
    0x000620e4 mov r3, 0x3b                                  |     r3 = 0x3b;
    0x000620e8 strb r3, [r5], 1                              |     *(r5) = r3;
                                                             |     r5++;
    0x000620ec b 0x62074                                     |     goto label_6;
                                                             | label_27:
    0x000620f0 cmp r0, 2                                     |     
                                                             |     if (r0 != 2) {
    0x000620f4 bne 0x62130                                   |         goto label_29;
                                                             |     }
    0x000620f8 ldrb r2, [r4, 0x31]                           |     r2 = *((r4 + 0x31));
    0x000620fc ldrb r3, [r4, 0x30]                           |     r3 = *((r4 + 0x30));
    0x00062100 orr r3, r3, r2, lsl 8                         |     r3 |= (r2 << 8);
    0x00062104 ldrb r2, [r4, 0x32]                           |     r2 = *((r4 + 0x32));
    0x00062108 orr r3, r3, r2, lsl 16                        |     r3 |= (r2 << 16);
    0x0006210c ldrb r2, [r4, 0x33]                           |     r2 = *((r4 + 0x33));
    0x00062110 orr r3, r3, r2, lsl 24                        |     r3 |= (r2 << 24);
    0x00062114 lsr r2, r3, 8                                 |     r2 = r3 >> 8;
    0x00062118 strb r3, [r4, 0x34]                           |     *((r4 + 0x34)) = r3;
    0x0006211c strb r2, [r4, 0x35]                           |     *((r4 + 0x35)) = r2;
    0x00062120 lsr r2, r3, 0x10                              |     r2 = r3 >> 0x10;
    0x00062124 lsr r3, r3, 0x18                              |     r3 >>= 0x18;
    0x00062128 strb r2, [r4, 0x36]                           |     *((r4 + 0x36)) = r2;
    0x0006212c strb r3, [r4, 0x37]                           |     *((r4 + 0x37)) = r3;
                                                             |     do {
                                                             | label_29:
    0x00062130 ldr r1, [sp, 0x2c]                            |         r1 = var_2ch;
    0x00062134 ldr r0, [pc, 0x7c4]                           |         r0 = *(0x628fc);
    0x00062138 bl 0xa6404                                    |         r0 = fcn_000a6404 (r0, r1);
    0x0006213c cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00062140 bne 0x62204                                   |             goto label_30;
                                                             |         }
    0x00062144 ldrb r2, [r4, 0x19]                           |         r2 = *((r4 + 0x19));
    0x00062148 ldrb r3, [r4, 0x18]                           |         r3 = *((r4 + 0x18));
    0x0006214c ldr r1, [sp, 0x2c]                            |         r1 = var_2ch;
    0x00062150 orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x00062154 ldrb r2, [r4, 0x1a]                           |         r2 = *((r4 + 0x1a));
    0x00062158 ldr r0, [pc, 0x7a4]                           |         r0 = *(0x62900);
    0x0006215c orr r3, r3, r2, lsl 16                        |         r3 |= (r2 << 16);
    0x00062160 ldrb r2, [r4, 0x1b]                           |         r2 = *((r4 + 0x1b));
    0x00062164 orr r3, r3, r2, lsl 24                        |         r3 |= (r2 << 24);
    0x00062168 ldr r2, [r3, 0x18]                            |         r2 = *((r3 + 0x18));
    0x0006216c bl 0x18274                                    |         fcn_00018274 ();
    0x00062170 b 0x6201c                                     |         goto label_7;
                                                             | label_26:
    0x00062174 mov r1, 0x3d                                  |         r1 = 0x3d;
    0x00062178 mov r0, r5                                    |         r0 = r5;
    0x0006217c bl 0x1517c                                    |         strchr (r0, r1);
    0x00062180 cmp sl, 0x24                                  |         
    0x00062184 mov sb, r0                                    |         sb = r0;
                                                             |         if (sl == 0x24) {
    0x00062188 bne 0x621e8                                   |             
    0x0006218c cmp sb, 0                                     |             
    0x00062190 add r0, r5, 1                                 |             r0 = r5 + 1;
                                                             |             if (sb == 0) {
    0x00062194 bne 0x621c0                                   |                 
    0x00062198 ldrb r2, [r4, 0x19]                           |                 r2 = *((r4 + 0x19));
    0x0006219c ldrb r3, [r4, 0x18]                           |                 r3 = *((r4 + 0x18));
    0x000621a0 ldr r0, [pc, 0x760]                           |                 r0 = "unknown_user_group__s_on_line__d";
    0x000621a4 orr r3, r3, r2, lsl 8                         |                 r3 |= (r2 << 8);
    0x000621a8 ldrb r2, [r4, 0x1a]                           |                 r2 = *((r4 + 0x1a));
    0x000621ac orr r3, r3, r2, lsl 16                        |                 r3 |= (r2 << 16);
    0x000621b0 ldrb r2, [r4, 0x1b]                           |                 r2 = *((r4 + 0x1b));
    0x000621b4 orr r3, r3, r2, lsl 24                        |                 r3 |= (r2 << 24);
    0x000621b8 ldr r1, [r3, 0x18]                            |                 r1 = *((r3 + 0x18));
    0x000621bc b 0x62018                                     |                 goto label_8;
                                                             |             }
    0x000621c0 sub r1, sb, r0                                |             r1 = sb - r0;
    0x000621c4 bl 0x189f8                                    |             fcn_000189f8 (r0, r1);
    0x000621c8 add r5, sb, 1                                 |             r5 = sb + 1;
    0x000621cc lsr r3, r0, 8                                 |             r3 = r0 >> 8;
    0x000621d0 strb r0, [r4, 0x40]                           |             *((r4 + 0x40)) = r0;
    0x000621d4 strb r3, [r4, 0x41]                           |             *((r4 + 0x41)) = r3;
    0x000621d8 lsr r3, r0, 0x10                              |             r3 = r0 >> 0x10;
    0x000621dc lsr r0, r0, 0x18                              |             r0 >>= 0x18;
    0x000621e0 strb r3, [r4, 0x42]                           |             *((r4 + 0x42)) = r3;
    0x000621e4 strb r0, [r4, 0x43]                           |             *((r4 + 0x43)) = r0;
                                                             |         }
    0x000621e8 mov r2, 1                                     |         r2 = 1;
    0x000621ec mov r1, r5                                    |         r1 = r5;
    0x000621f0 ldr r0, [pc, 0x714]                           |         r0 = "bad $envvar=regex on line %d";
    0x000621f4 bl 0xa63d8                                    |         fcn_000a63d8 ("bad $envvar=regex on line %d", r1);
    0x000621f8 mov r3, 1                                     |         r3 = 1;
    0x000621fc strb r3, [r8, 0x25]                           |         *((r8 + 0x25)) = r3;
    0x00062200 b 0x62130                                     |         
                                                             |     } while (1);
                                                             | label_30:
    0x00062204 ldrb r1, [r4, 0x29]                           |     r1 = *((r4 + 0x29));
    0x00062208 ldrb r3, [r4, 0x28]                           |     r3 = *((r4 + 0x28));
    0x0006220c ldr r0, [sp, 0x30]                            |     r0 = var_30h;
    0x00062210 orr r3, r3, r1, lsl 8                         |     r3 |= (r1 << 8);
    0x00062214 ldrb r1, [r4, 0x2a]                           |     r1 = *((r4 + 0x2a));
    0x00062218 orr r3, r3, r1, lsl 16                        |     r3 |= (r1 << 16);
    0x0006221c ldrb r1, [r4, 0x2b]                           |     r1 = *((r4 + 0x2b));
    0x00062220 orr r1, r3, r1, lsl 24                        |     r1 = r3 | (r1 << 24);
    0x00062224 bl 0xa0df8                                    |     fcn_000a0df8 (r0, r1);
    0x00062228 ldr sb, [sp, 0x34]                            |     sb = var_34h;
    0x0006222c cmp sb, 0                                     |     
    0x00062230 lsr r3, r0, 8                                 |     r3 = r0 >> 8;
    0x00062234 strb r0, [r4, 0x28]                           |     *((r4 + 0x28)) = r0;
    0x00062238 strb r3, [r4, 0x29]                           |     *((r4 + 0x29)) = r3;
    0x0006223c lsr r3, r0, 0x10                              |     r3 = r0 >> 0x10;
    0x00062240 lsr r0, r0, 0x18                              |     r0 >>= 0x18;
    0x00062244 strb r3, [r4, 0x2a]                           |     *((r4 + 0x2a)) = r3;
    0x00062248 strb r0, [r4, 0x2b]                           |     *((r4 + 0x2b)) = r0;
                                                             |     if (sb != 0) {
    0x0006224c beq 0x62310                                   |         
    0x00062250 ldrb r1, [sb]                                 |         r1 = *(sb);
    0x00062254 ldr r0, [pc, 0x6b4]                           |         r0 = *(0x6290c);
    0x00062258 bl 0x1517c                                    |         r0 = strchr (r0, r1);
    0x0006225c cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00062260 beq 0x622a8                                   |             
    0x00062264 mov r0, sb                                    |             r0 = sb;
    0x00062268 bl 0xa4454                                    |             r0 = fcn_000a4454 (r0);
    0x0006226c sub r1, r0, sb                                |             r1 = r0 - sb;
    0x00062270 mov r5, r0                                    |             r5 = r0;
    0x00062274 mov r0, sb                                    |             r0 = sb;
    0x00062278 bl 0x189f8                                    |             r0 = fcn_000189f8 (r0, r1);
    0x0006227c lsr r3, r0, 8                                 |             r3 = r0 >> 8;
    0x00062280 strb r0, [r4, 0x44]                           |             *((r4 + 0x44)) = r0;
    0x00062284 strb r3, [r4, 0x45]                           |             *((r4 + 0x45)) = r3;
    0x00062288 lsr r3, r0, 0x10                              |             r3 = r0 >> 0x10;
    0x0006228c lsr r0, r0, 0x18                              |             r0 >>= 0x18;
    0x00062290 strb r0, [r4, 0x47]                           |             *((r4 + 0x47)) = r0;
    0x00062294 mov r0, r5                                    |             r0 = r5;
    0x00062298 strb r3, [r4, 0x46]                           |             *((r4 + 0x46)) = r3;
    0x0006229c bl 0xa4434                                    |             r0 = fcn_000a4434 (r0);
    0x000622a0 subs sb, r0, 0                                |             sb = r0 - 0;
                                                             |             if (sb == r0) {
    0x000622a4 beq 0x62310                                   |                 goto label_10;
                                                             |             }
                                                             |         }
    0x000622a8 ldrb r1, [sb]                                 |         r1 = *(sb);
    0x000622ac cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x000622b0 beq 0x62310                                   |             goto label_10;
                                                             |         }
    0x000622b4 ldr r0, [pc, 0x658]                           |         r0 = *(0x62910);
    0x000622b8 bl 0x1517c                                    |         r0 = strchr (r0, r1);
    0x000622bc cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000622c0 bne 0x622ec                                   |             
    0x000622c4 ldrb r2, [r4, 0x19]                           |             r2 = *((r4 + 0x19));
    0x000622c8 ldrb r3, [r4, 0x18]                           |             r3 = *((r4 + 0x18));
    0x000622cc ldr r0, [pc, 0x644]                           |             r0 = *(0x62914);
    0x000622d0 orr r3, r3, r2, lsl 8                         |             r3 |= (r2 << 8);
    0x000622d4 ldrb r2, [r4, 0x1a]                           |             r2 = *((r4 + 0x1a));
    0x000622d8 orr r3, r3, r2, lsl 16                        |             r3 |= (r2 << 16);
    0x000622dc ldrb r2, [r4, 0x1b]                           |             r2 = *((r4 + 0x1b));
    0x000622e0 orr r3, r3, r2, lsl 24                        |             r3 |= (r2 << 24);
    0x000622e4 ldr r1, [r3, 0x18]                            |             r1 = *((r3 + 0x18));
    0x000622e8 b 0x62018                                     |             goto label_8;
                                                             |         }
    0x000622ec mov r0, sb                                    |         r0 = sb;
    0x000622f0 bl 0x189d4                                    |         r0 = fcn_000189d4 (r0);
    0x000622f4 lsr r3, r0, 8                                 |         r3 = r0 >> 8;
    0x000622f8 strb r0, [r4, 0x48]                           |         *((r4 + 0x48)) = r0;
    0x000622fc strb r3, [r4, 0x49]                           |         *((r4 + 0x49)) = r3;
    0x00062300 lsr r3, r0, 0x10                              |         r3 = r0 >> 0x10;
    0x00062304 lsr r0, r0, 0x18                              |         r0 >>= 0x18;
    0x00062308 strb r3, [r4, 0x4a]                           |         *((r4 + 0x4a)) = r3;
    0x0006230c strb r0, [r4, 0x4b]                           |         *((r4 + 0x4b)) = r0;
                                                             |     }
                                                             | label_10:
    0x00062310 ldrb r2, [r4, 0x1d]                           |     r2 = *((r4 + 0x1d));
    0x00062314 ldrb r3, [r4, 0x1c]                           |     r3 = *((r4 + 0x1c));
    0x00062318 orr r3, r3, r2, lsl 8                         |     r3 |= (r2 << 8);
    0x0006231c ldrb r2, [r4, 0x1e]                           |     r2 = *((r4 + 0x1e));
    0x00062320 orr r3, r3, r2, lsl 16                        |     r3 |= (r2 << 16);
    0x00062324 ldrb r2, [r4, 0x1f]                           |     r2 = *((r4 + 0x1f));
    0x00062328 orrs r3, r3, r2, lsl 24                       |     r3 |= (r2 << 24);
                                                             |     if (r3 == r3) {
    0x0006232c beq 0x61fa8                                   |         goto label_9;
                                                             |     }
    0x00062330 mov r1, 0x4c                                  |     r1 = 0x4c;
    0x00062334 ldr r0, [pc, 0x5a8]                           |     r0 = "block";
    0x00062338 bl 0x18a48                                    |     fcn_00018a48 ("block", r1);
    0x0006233c ldrb r3, [r4, 0x21]                           |     r3 = *((r4 + 0x21));
    0x00062340 ldrb r2, [r4, 0x20]                           |     r2 = *((r4 + 0x20));
    0x00062344 ldrb r1, [r4, 0x23]                           |     r1 = *((r4 + 0x23));
    0x00062348 orr r2, r2, r3, lsl 8                         |     r2 |= (r3 << 8);
    0x0006234c ldrb r3, [r4, 0x22]                           |     r3 = *((r4 + 0x22));
    0x00062350 orr r2, r2, r3, lsl 16                        |     r2 |= (r3 << 16);
    0x00062354 ldrb r3, [r4, 0x1c]                           |     r3 = *((r4 + 0x1c));
    0x00062358 orr r2, r2, r1, lsl 24                        |     r2 |= (r1 << 24);
    0x0006235c ldr r1, [pc, 0x5b8]                           |     r1 = "bad line %u";
    0x00062360 mov sb, r0                                    |     sb = r0;
    0x00062364 ldrb r0, [r4, 0x1d]                           |     r0 = *((r4 + 0x1d));
    0x00062368 orr r3, r3, r0, lsl 8                         |     r3 |= (r0 << 8);
    0x0006236c ldrb r0, [r4, 0x1e]                           |     r0 = *((r4 + 0x1e));
    0x00062370 orr r3, r3, r0, lsl 16                        |     r3 |= (r0 << 16);
    0x00062374 ldrb r0, [r4, 0x1f]                           |     r0 = *((r4 + 0x1f));
    0x00062378 orr r0, r3, r0, lsl 24                        |     r0 = r3 | (r0 << 24);
    0x0006237c bl 0xa6338                                    |     fcn_000a6338 (r0, r1);
    0x00062380 ldrb r2, [r4, 0x21]                           |     r2 = *((r4 + 0x21));
    0x00062384 lsr r3, r0, 8                                 |     r3 = r0 >> 8;
    0x00062388 strb r3, [r4, 0x1d]                           |     *((r4 + 0x1d)) = r3;
    0x0006238c lsr r3, r0, 0x10                              |     r3 = r0 >> 0x10;
    0x00062390 strb r3, [r4, 0x1e]                           |     *((r4 + 0x1e)) = r3;
    0x00062394 lsr r3, r0, 0x18                              |     r3 = r0 >> 0x18;
    0x00062398 strb r3, [r4, 0x1f]                           |     *((r4 + 0x1f)) = r3;
    0x0006239c ldrb r3, [r4, 0x20]                           |     r3 = *((r4 + 0x20));
    0x000623a0 strb r0, [r4, 0x1c]                           |     *((r4 + 0x1c)) = r0;
    0x000623a4 orr r3, r3, r2, lsl 8                         |     r3 |= (r2 << 8);
    0x000623a8 ldrb r2, [r4, 0x22]                           |     r2 = *((r4 + 0x22));
    0x000623ac orr r3, r3, r2, lsl 16                        |     r3 |= (r2 << 16);
    0x000623b0 ldrb r2, [r4, 0x23]                           |     r2 = *((r4 + 0x23));
    0x000623b4 orr r3, r3, r2, lsl 24                        |     r3 |= (r2 << 24);
    0x000623b8 add r2, r3, 1                                 |     r2 = r3 + 1;
    0x000623bc lsr r1, r2, 8                                 |     r1 = r2 >> 8;
    0x000623c0 strb r2, [r4, 0x20]                           |     *((r4 + 0x20)) = r2;
    0x000623c4 strb r1, [r4, 0x21]                           |     *((r4 + 0x21)) = r1;
    0x000623c8 lsr r1, r2, 0x10                              |     r1 = r2 >> 0x10;
    0x000623cc lsr r2, r2, 0x18                              |     r2 >>= 0x18;
    0x000623d0 strb r1, [r4, 0x22]                           |     *((r4 + 0x22)) = r1;
    0x000623d4 strb r2, [r4, 0x23]                           |     *((r4 + 0x23)) = r2;
    0x000623d8 str sb, [r0, r3, lsl 2]                       |     offset_2 = r3 << 2;
                                                             |     *((r0 + offset_2)) = sb;
    0x000623dc b 0x61ed4                                     |     goto label_4;
                                                             | label_28:
    0x000623e0 ldrb r0, [r4, 0x19]                           |     r0 = *((r4 + 0x19));
    0x000623e4 ldrb r3, [r4, 0x18]                           |     r3 = *((r4 + 0x18));
    0x000623e8 orr r3, r3, r0, lsl 8                         |     r3 |= (r0 << 8);
    0x000623ec ldrb r0, [r4, 0x1a]                           |     r0 = *((r4 + 0x1a));
    0x000623f0 orr r3, r3, r0, lsl 16                        |     r3 |= (r0 << 16);
    0x000623f4 ldrb r0, [r4, 0x1b]                           |     r0 = *((r4 + 0x1b));
    0x000623f8 orr r0, r3, r0, lsl 24                        |     r0 = r3 | (r0 << 24);
    0x000623fc bl 0xa0aec                                    |     fcn_000a0aec (r0);
    0x00062400 strb r5, [r4, 0x18]                           |     *((r4 + 0x18)) = r5;
    0x00062404 strb r5, [r4, 0x19]                           |     *((r4 + 0x19)) = r5;
    0x00062408 strb r5, [r4, 0x1a]                           |     *((r4 + 0x1a)) = r5;
    0x0006240c strb r5, [r4, 0x1b]                           |     *((r4 + 0x1b)) = r5;
    0x00062410 b 0x62310                                     |     goto label_10;
                                                             | label_21:
    0x00062414 ldr r0, [r5, 4]                               |     r0 = *((r5 + 4));
    0x00062418 bl 0x144d4                                    |     r0 = getenv (r0);
    0x0006241c subs r1, r0, 0                                |     r1 = r0 - 0;
                                                             |     if (r1 == r0) {
    0x00062420 beq 0x61df0                                   |         goto label_0;
                                                             |     }
    0x00062424 mov r3, 0                                     |     r3 = 0;
    0x00062428 str sl, [sp]                                  |     *(sp) = sl;
    0x0006242c mov r2, r3                                    |     r2 = r3;
    0x00062430 add r0, r5, 8                                 |     r0 = r5 + 8;
    0x00062434 bl 0x14e34                                    |     r0 = regexec ();
    0x00062438 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0006243c bne 0x61df0                                   |         goto label_0;
                                                             |     }
    0x00062440 ldr r5, [r5]                                  |     r5 = *(r5);
    0x00062444 b 0x61edc                                     |     goto label_11;
                                                             | label_22:
    0x00062448 ldr r2, [sp, 0x20]                            |     r2 = var_20h;
    0x0006244c cmp r3, r2                                    |     
                                                             |     if (r3 != r2) {
    0x00062450 bne 0x61df0                                   |         goto label_0;
                                                             |     }
    0x00062454 ldr r3, [sp, 0x24]                            |     r3 = var_24h;
    0x00062458 ldr r2, [sb, 0xc]                             |     r2 = *((sb + 0xc));
    0x0006245c cmp r2, r3                                    |     
                                                             |     if (r2 > r3) {
    0x00062460 bgt 0x61df0                                   |         goto label_0;
                                                             |     }
    0x00062464 ldr r2, [sb, 0x10]                            |     r2 = *((sb + 0x10));
    0x00062468 cmp r3, r2                                    |     
                                                             |     if (r3 > r2) {
    0x0006246c strle r5, [sp, 0x28]                          |         var_28h = r5;
                                                             |     }
                                                             |     if (r3 <= r2) {
    0x00062470 strle r5, [sp, 0x2c]                          |         var_2ch = r5;
                                                             |         goto label_31;
                                                             |     }
                                                             |     if (r3 > r2) {
                                                             | label_31:
    0x00062474 bgt 0x61df0                                   |         goto label_0;
                                                             |     }
                                                             | label_24:
    0x00062478 ldrb r2, [r4, 9]                              |     r2 = *((r4 + 9));
    0x0006247c ldrb r3, [r4, 8]                              |     r3 = *((r4 + 8));
    0x00062480 orr r3, r3, r2, lsl 8                         |     r3 |= (r2 << 8);
    0x00062484 ldrb r2, [r4, 0xa]                            |     r2 = *((r4 + 0xa));
    0x00062488 orr r3, r3, r2, lsl 16                        |     r3 |= (r2 << 16);
    0x0006248c ldrb r2, [r4, 0xb]                            |     r2 = *((r4 + 0xb));
    0x00062490 orr r3, r3, r2, lsl 24                        |     r3 |= (r2 << 24);
    0x00062494 cmp r3, 1                                     |     
                                                             |     if (r3 > 1) {
    0x00062498 ble 0x624c8                                   |         
    0x0006249c ldrb r2, [r4, 0x19]                           |         r2 = *((r4 + 0x19));
    0x000624a0 ldrb r3, [r4, 0x18]                           |         r3 = *((r4 + 0x18));
    0x000624a4 ldr r0, [pc, 0x474]                           |         r0 = *(0x6291c);
    0x000624a8 orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x000624ac ldrb r2, [r4, 0x1a]                           |         r2 = *((r4 + 0x1a));
    0x000624b0 orr r3, r3, r2, lsl 16                        |         r3 |= (r2 << 16);
    0x000624b4 ldrb r2, [r4, 0x1b]                           |         r2 = *((r4 + 0x1b));
    0x000624b8 orrs r3, r3, r2, lsl 24                       |         r3 |= (r2 << 24);
                                                             |         if (r3 == r3) {
    0x000624bc ldrne r1, [r3, 0x18]                          |             r1 = *((r3 + 0x18));
                                                             |         }
                                                             |         if (r3 != r3) {
    0x000624c0 mvneq r1, 0                                   |             r1 = ~0;
                                                             |         }
    0x000624c4 bl 0x18274                                    |         fcn_00018274 ();
                                                             |     }
    0x000624c8 ldr r5, [sb, 0x20]                            |     r5 = *((sb + 0x20));
    0x000624cc cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x000624d0 beq 0x6250c                                   |         goto label_32;
                                                             |     }
    0x000624d4 ldrb r3, [r5]                                 |     r3 = *(r5);
    0x000624d8 cmp r3, 0x21                                  |     
    0x000624dc str r3, [sp, 0x14]                            |     var_14h = r3;
                                                             |     if (r3 != 0x21) {
    0x000624e0 mvneq r3, 1                                   |         r3 = ~1;
                                                             |     }
                                                             |     if (r3 != 0x21) {
    0x000624e4 streq r3, [sp, 0x20]                          |         var_20h = r3;
                                                             |     }
                                                             |     if (r3 == 0x21) {
    0x000624e8 beq 0x62548                                   |         goto label_33;
                                                             |     }
    0x000624ec ldr r3, [sp, 0x14]                            |     r3 = var_14h;
    0x000624f0 sub r3, r3, 0x3d                              |     r3 -= 0x3d;
    0x000624f4 and r3, r3, 0xff                              |     r3 &= 0xff;
    0x000624f8 cmp r3, 1                                     |     
                                                             |     if (r3 > 1) {
    0x000624fc bhi 0x62548                                   |         goto label_33;
                                                             |     }
    0x00062500 add r0, r5, 1                                 |     r0 = r5 + 1;
    0x00062504 bl 0x189d4                                    |     r0 = fcn_000189d4 (r0);
    0x00062508 mov r5, r0                                    |     r5 = r0;
                                                             |     do {
                                                             | label_32:
    0x0006250c ldr fp, [sb, 0x24]                            |         fp = *((sb + 0x24));
    0x00062510 cmp fp, 0                                     |         
                                                             |         if (fp == 0) {
    0x00062514 beq 0x62568                                   |             goto label_34;
                                                             |         }
    0x00062518 ldrb r3, [fp]                                 |         r3 = *(fp);
    0x0006251c cmp r3, 0x40                                  |         
                                                             |         if (r3 != 0x40) {
    0x00062520 bne 0x62550                                   |             goto label_35;
                                                             |         }
    0x00062524 cmp r7, 0                                     |         
                                                             |         if (r7 == 0) {
    0x00062528 beq 0x62564                                   |             goto label_36;
                                                             |         }
    0x0006252c cmp r5, 0                                     |         
                                                             |         if (r5 != 0) {
    0x00062530 moveq sl, r6                                  |             sl = r6;
                                                             |         }
                                                             |         if (r5 == 0) {
    0x00062534 beq 0x62804                                   |             goto label_37;
                                                             |         }
    0x00062538 mov fp, 0                                     |         
    0x0006253c b 0x62574                                     |         goto label_38;
                                                             | label_23:
    0x00062540 mov r5, r6                                    |         r5 = r6;
    0x00062544 b 0x61f08                                     |         goto label_12;
                                                             | label_33:
    0x00062548 mov r5, 0                                     |         r5 = 0;
    0x0006254c b 0x6250c                                     |         
                                                             |     } while (1);
                                                             | label_35:
    0x00062550 cmp r3, 0x24                                  |     
                                                             |     if (r3 != 0x24) {
    0x00062554 bne 0x62784                                   |         goto label_39;
                                                             |     }
    0x00062558 cmp r7, 1                                     |     
                                                             |     if (r7 == 1) {
                                                             |         do {
    0x0006255c movne fp, 0                                   |             
                                                             |         }
                                                             |         if (r7 == 1) {
    0x00062560 bne 0x62568                                   |             
                                                             | label_36:
    0x00062564 add fp, fp, 1                                 |             
                                                             |         }
                                                             | label_34:
    0x00062568 cmp r5, 0                                     |         
                                                             |         if (r5 != 0) {
    0x0006256c moveq sl, r6                                  |             sl = r6;
                                                             |         }
                                                             |         if (r5 != 0) {
    0x00062570 beq 0x625c8                                   |             
                                                             | label_38:
    0x00062574 mov r1, 0x2f                                  |             r1 = 0x2f;
    0x00062578 mov r0, r5                                    |             r0 = r5;
    0x0006257c bl 0x1496c                                    |             r0 = strrchr (r0, r1);
    0x00062580 subs sl, r0, 0                                |             sl = r0 - 0;
                                                             |             if (sl == r0) {
    0x00062584 beq 0x6278c                                   |                 goto label_40;
                                                             |             }
    0x00062588 mov r3, 0                                     |             r3 = 0;
    0x0006258c strb r3, [sl]                                 |             *(sl) = r3;
    0x00062590 mov r0, r5                                    |             r0 = r5;
    0x00062594 bl 0x61c54                                    |             fcn_00061c54 (r0);
    0x00062598 mov r3, 0x2f                                  |             r3 = 0x2f;
    0x0006259c strb r3, [sl]                                 |             *(sl) = r3;
    0x000625a0 ldrb r3, [sl, 1]                              |             r3 = *((sl + 1));
    0x000625a4 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x000625a8 bne 0x6278c                                   |                 goto label_40;
                                                             |             }
    0x000625ac mov r1, r6                                    |             r1 = r6;
    0x000625b0 mov r0, r5                                    |             r0 = r5;
    0x000625b4 bl 0x17e30                                    |             r0 = fcn_00017e30 (r0, r1);
    0x000625b8 mov sl, r0                                    |             sl = r0;
    0x000625bc mov r0, r5                                    |             r0 = r5;
    0x000625c0 bl 0x152a8                                    |             free (r0);
    0x000625c4 mov r5, sl                                    |             r5 = sl;
                                                             |         }
                                                             | label_13:
    0x000625c8 cmp r7, 0                                     |         
                                                             |         if (r7 != 0) {
    0x000625cc bne 0x62794                                   |             goto label_41;
                                                             |         }
    0x000625d0 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x000625d4 cmp r3, 0                                     |         
                                                             |         if (r3 >= 0) {
    0x000625d8 blt 0x62778                                   |             
    0x000625dc mov r1, 0x2f                                  |             r1 = 0x2f;
    0x000625e0 mov r0, sl                                    |             r0 = sl;
    0x000625e4 bl 0x1496c                                    |             r0 = strrchr (r0, r1);
    0x000625e8 subs r3, r0, 0                                |             r3 = r0 - 0;
                                                             |             if (r3 != r0) {
    0x000625ec beq 0x6260c                                   |                 
    0x000625f0 strb r7, [r3]                                 |                 *(r3) = r7;
    0x000625f4 mov r0, sl                                    |                 r0 = sl;
    0x000625f8 str r3, [sp, 0x1c]                            |                 var_1ch = r3;
    0x000625fc bl 0x61c54                                    |                 fcn_00061c54 (r0);
    0x00062600 ldr r3, [sp, 0x1c]                            |                 r3 = var_1ch;
    0x00062604 mov r2, 0x2f                                  |                 r2 = 0x2f;
    0x00062608 strb r2, [r3]                                 |                 *(r3) = r2;
                                                             |             }
    0x0006260c ldr r1, [sp, 0x18]                            |             r1 = var_18h;
    0x00062610 ldr r0, [sb, 4]                               |             r0 = *((sb + 4));
    0x00062614 ldrb ip, [r8, 9]                              |             ip = *((r8 + 9));
    0x00062618 orr r0, r1, r0                                |             r0 = r1 | r0;
    0x0006261c ldrb r1, [r8, 8]                              |             r1 = *((r8 + 8));
    0x00062620 ldrd r2, r3, [sp, 0x20]                       |             __asm ("ldrd r2, r3, [var_20h]");
    0x00062624 orr r1, r1, ip, lsl 8                         |             r1 |= (ip << 8);
    0x00062628 ldrb ip, [r8, 0xa]                            |             ip = *((r8 + 0xa));
    0x0006262c orr r1, r1, ip, lsl 16                        |             r1 |= (ip << 16);
    0x00062630 ldrb ip, [r8, 0xb]                            |             ip = *((r8 + 0xb));
    0x00062634 orrs r1, r1, ip, lsl 24                       |             r1 |= (ip << 24);
                                                             |             if (r1 != r1) {
    0x00062638 beq 0x62658                                   |                 
    0x0006263c ldr r1, [sb, 0x18]                            |                 r1 = *((sb + 0x18));
    0x00062640 str r1, [sp, 8]                               |                 var_8h = r1;
    0x00062644 ldr r1, [sb, 0x14]                            |                 r1 = *((sb + 0x14));
    0x00062648 stm sp, {r0, r1}                              |                 *(sp) = r0;
                                                             |                 *((sp + 4)) = r1;
    0x0006264c ldr r0, [pc, 0x2d0]                           |                 r0 = "rule matched, line %d";
    0x00062650 mov r1, sl                                    |                 r1 = sl;
    0x00062654 bl 0x18274                                    |                 fcn_00018274 ();
                                                             |             }
    0x00062658 ldr r3, [sp, 0x18]                            |             r3 = var_18h;
    0x0006265c ldr r8, [sb, 4]                               |             r8 = *((sb + 4));
    0x00062660 ldrd r0, r1, [sp, 0x20]                       |             __asm ("ldrd r0, r1, [var_20h]");
    0x00062664 orr r8, r3, r8                                |             r8 = r3 | r8;
    0x00062668 bl 0xa06e4                                    |             r0 = fcn_000a06e4 ();
    0x0006266c mov r2, r0                                    |             r2 = r0;
    0x00062670 mov r3, r1                                    |             r3 = r1;
    0x00062674 mov r0, sl                                    |             r0 = sl;
    0x00062678 mov r1, r8                                    |             r1 = r8;
    0x0006267c bl 0x1448c                                    |             r0 = mknod ();
    0x00062680 cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x00062684 beq 0x626a8                                   |                 
    0x00062688 ldr r3, [pc, 0x298]                           |                 
    0x0006268c ldr r3, [r3]                                  |                 
    0x00062690 ldr r3, [r3]                                  |                 r3 = "mknod %s (%d,%d) %o %u:%u";
    0x00062694 cmp r3, 0x11                                  |                 
                                                             |                 if (r3 == 0x11) {
    0x00062698 beq 0x626a8                                   |                     goto label_42;
                                                             |                 }
    0x0006269c mov r1, sl                                    |                 r1 = sl;
    0x000626a0 ldr r0, [pc, 0x284]                           |                 r0 = *(0x62928);
    0x000626a4 bl 0x17f8c                                    |                 fcn_00017f8c ();
                                                             |             }
                                                             | label_42:
    0x000626a8 ldr r1, [sb, 4]                               |             r1 = *((sb + 4));
    0x000626ac mov r0, sl                                    |             r0 = sl;
    0x000626b0 bl 0x14894                                    |             chmod (r0, r1);
    0x000626b4 ldr r2, [sb, 0x18]                            |             r2 = *((sb + 0x18));
    0x000626b8 ldr r1, [sb, 0x14]                            |             r1 = *((sb + 0x14));
    0x000626bc mov r0, sl                                    |             r0 = sl;
    0x000626c0 bl 0x14834                                    |             chown ();
    0x000626c4 ldrb r2, [r4, 1]                              |             r2 = *((r4 + 1));
    0x000626c8 ldrb r3, [r4]                                 |             r3 = *(r4);
    0x000626cc orr r3, r3, r2, lsl 8                         |             r3 |= (r2 << 8);
    0x000626d0 ldrb r2, [r4, 2]                              |             r2 = *((r4 + 2));
    0x000626d4 orr r3, r3, r2, lsl 16                        |             r3 |= (r2 << 16);
    0x000626d8 ldrb r2, [r4, 3]                              |             r2 = *((r4 + 3));
    0x000626dc orr r3, r3, r2, lsl 24                        |             r3 |= (r2 << 24);
    0x000626e0 ldr r2, [sp, 0x20]                            |             r2 = var_20h;
    0x000626e4 cmp r3, r2                                    |             
                                                             |             if (r3 == r2) {
    0x000626e8 bne 0x62720                                   |                 
    0x000626ec ldrb r2, [r4, 5]                              |                 r2 = *((r4 + 5));
    0x000626f0 ldrb r3, [r4, 4]                              |                 r3 = *((r4 + 4));
    0x000626f4 orr r3, r3, r2, lsl 8                         |                 r3 |= (r2 << 8);
    0x000626f8 ldrb r2, [r4, 6]                              |                 r2 = *((r4 + 6));
    0x000626fc orr r3, r3, r2, lsl 16                        |                 r3 |= (r2 << 16);
    0x00062700 ldrb r2, [r4, 7]                              |                 r2 = *((r4 + 7));
    0x00062704 orr r3, r3, r2, lsl 24                        |                 r3 |= (r2 << 24);
    0x00062708 ldr r2, [sp, 0x24]                            |                 r2 = var_24h;
    0x0006270c cmp r3, r2                                    |                 
                                                             |                 if (r3 != r2) {
    0x00062710 bne 0x62720                                   |                     goto label_43;
                                                             |                 }
    0x00062714 ldr r1, [pc, 0x214]                           |                 r1 = "cant_create__s";
    0x00062718 mov r0, sl                                    |                 r0 = sl;
    0x0006271c bl 0x14d68                                    |                 symlink (r0, "cant_create__s");
                                                             |             }
                                                             | label_43:
    0x00062720 ldr r3, [sp, 0x14]                            |             r3 = var_14h;
    0x00062724 cmp r5, 0                                     |             
    0x00062728 sub r3, r3, 0x3e                              |             r3 -= 0x3e;
    0x0006272c clz r3, r3                                    |             r3 &= r3;
    0x00062730 lsr r3, r3, 5                                 |             r3 >>= 5;
                                                             |             if (r5 != 0) {
    0x00062734 moveq r3, 0                                   |                 r3 = 0;
                                                             |             }
    0x00062738 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x0006273c beq 0x62778                                   |                 goto label_44;
                                                             |             }
    0x00062740 ldrb r2, [r4, 9]                              |             r2 = *((r4 + 9));
    0x00062744 ldrb r3, [r4, 8]                              |             r3 = *((r4 + 8));
    0x00062748 orr r3, r3, r2, lsl 8                         |             r3 |= (r2 << 8);
    0x0006274c ldrb r2, [r4, 0xa]                            |             r2 = *((r4 + 0xa));
    0x00062750 orr r3, r3, r2, lsl 16                        |             r3 |= (r2 << 16);
    0x00062754 ldrb r2, [r4, 0xb]                            |             r2 = *((r4 + 0xb));
    0x00062758 orrs r3, r3, r2, lsl 24                       |             r3 |= (r2 << 24);
                                                             |             if (r3 != r3) {
    0x0006275c beq 0x6276c                                   |                 
    0x00062760 mov r1, r6                                    |                 r1 = r6;
    0x00062764 ldr r0, [pc, 0x1c8]                           |                 r0 = *(0x62930);
    0x00062768 bl 0x18274                                    |                 fcn_00018274 ();
                                                             |             }
    0x0006276c mov r1, r6                                    |             r1 = r6;
    0x00062770 mov r0, sl                                    |             r0 = sl;
    0x00062774 bl 0x14d68                                    |             symlink (r0, r1);
                                                             |         }
                                                             | label_44:
    0x00062778 cmp fp, 0                                     |         
                                                             |         if (fp != 0) {
    0x0006277c bne 0x6279c                                   |             goto label_45;
                                                             |         }
    0x00062780 b 0x628a4                                     |         goto label_46;
                                                             | label_39:
    0x00062784 cmp r3, 0x2a                                  |         
    0x00062788 b 0x6255c                                     |         
                                                             |     } while (1);
                                                             | label_40:
    0x0006278c mov sl, r5                                    |     sl = r5;
    0x00062790 b 0x625c8                                     |     goto label_13;
                                                             | label_41:
    0x00062794 cmp fp, 0                                     |     
                                                             |     if (fp != 0) {
    0x00062798 beq 0x62804                                   |         
                                                             | label_45:
    0x0006279c mov r2, sl                                    |         r2 = sl;
    0x000627a0 ldr r1, [pc, 0x190]                           |         r1 = "symlink: %s";
    0x000627a4 ldr r0, [pc, 0x190]                           |         r0 = "MDEV";
    0x000627a8 bl 0x18d1c                                    |         r0 = fcn_00018d1c ();
    0x000627ac mov r8, r0                                    |         r8 = r0;
    0x000627b0 bl 0x14804                                    |         putenv ();
    0x000627b4 ldrb r2, [r4, 9]                              |         r2 = *((r4 + 9));
    0x000627b8 ldrb r3, [r4, 8]                              |         r3 = *((r4 + 8));
    0x000627bc orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x000627c0 ldrb r2, [r4, 0xa]                            |         r2 = *((r4 + 0xa));
    0x000627c4 orr r3, r3, r2, lsl 16                        |         r3 |= (r2 << 16);
    0x000627c8 ldrb r2, [r4, 0xb]                            |         r2 = *((r4 + 0xb));
    0x000627cc orrs r3, r3, r2, lsl 24                       |         r3 |= (r2 << 24);
                                                             |         if (r3 != r3) {
    0x000627d0 beq 0x627e0                                   |             
    0x000627d4 mov r1, fp                                    |             r1 = fp;
    0x000627d8 ldr r0, [pc, 0x160]                           |             r0 = *(0x6293c);
    0x000627dc bl 0x18274                                    |             fcn_00018274 ();
                                                             |         }
    0x000627e0 mov r0, fp                                    |         r0 = fp;
    0x000627e4 bl 0x146c0                                    |         r0 = system (r0)
    0x000627e8 cmn r0, 1                                     |         
                                                             |         if (r0 == 1) {
    0x000627ec bne 0x627fc                                   |             
    0x000627f0 mov r1, fp                                    |             r1 = fp;
    0x000627f4 ldr r0, [pc, 0x148]                           |             r0 = *(0x62940);
    0x000627f8 bl 0x17f8c                                    |             fcn_00017f8c ();
                                                             |         }
    0x000627fc mov r0, r8                                    |         r0 = r8;
    0x00062800 bl 0x18de0                                    |         fcn_00018de0 (r0);
                                                             |     }
                                                             | label_37:
    0x00062804 cmp r7, 1                                     |     
                                                             |     if (r7 == 1) {
    0x00062808 bne 0x628a4                                   |         
    0x0006280c ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x00062810 cmn r3, 1                                     |         
                                                             |         if (r3 < 1) {
    0x00062814 blt 0x628a4                                   |             goto label_46;
                                                             |         }
    0x00062818 ldrb r2, [r4, 9]                              |         r2 = *((r4 + 9));
    0x0006281c ldrb r3, [r4, 8]                              |         r3 = *((r4 + 8));
    0x00062820 cmp r5, 0                                     |         
    0x00062824 orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x00062828 ldrb r2, [r4, 0xa]                            |         r2 = *((r4 + 0xa));
    0x0006282c orr r3, r3, r2, lsl 16                        |         r3 |= (r2 << 16);
    0x00062830 ldrb r2, [r4, 0xb]                            |         r2 = *((r4 + 0xb));
    0x00062834 orr r3, r3, r2, lsl 24                        |         r3 |= (r2 << 24);
    0x00062838 ldr r2, [sp, 0x14]                            |         r2 = var_14h;
    0x0006283c sub r2, r2, 0x3e                              |         r2 -= 0x3e;
    0x00062840 clz r2, r2                                    |         r2 &= r2;
    0x00062844 lsr r2, r2, 5                                 |         r2 >>= 5;
                                                             |         if (r5 != 0) {
    0x00062848 moveq r2, 0                                   |             r2 = 0;
                                                             |         }
    0x0006284c cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00062850 beq 0x62870                                   |             
    0x00062854 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00062858 beq 0x62868                                   |                 
    0x0006285c mov r1, r6                                    |                 r1 = r6;
    0x00062860 ldr r0, [pc, 0xe0]                            |                 r0 = "cant_run__s";
    0x00062864 bl 0x18274                                    |                 fcn_00018274 ();
                                                             |             }
    0x00062868 mov r0, r6                                    |             r0 = r6;
    0x0006286c bl 0x14bdc                                    |             unlink (r0);
                                                             |         }
    0x00062870 ldrb r2, [r4, 9]                              |         r2 = *((r4 + 9));
    0x00062874 ldrb r3, [r4, 8]                              |         r3 = *((r4 + 8));
    0x00062878 orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x0006287c ldrb r2, [r4, 0xa]                            |         r2 = *((r4 + 0xa));
    0x00062880 orr r3, r3, r2, lsl 16                        |         r3 |= (r2 << 16);
    0x00062884 ldrb r2, [r4, 0xb]                            |         r2 = *((r4 + 0xb));
    0x00062888 orrs r3, r3, r2, lsl 24                       |         r3 |= (r2 << 24);
                                                             |         if (r3 != r3) {
    0x0006288c beq 0x6289c                                   |             
    0x00062890 mov r1, sl                                    |             r1 = sl;
    0x00062894 ldr r0, [pc, 0xac]                            |             r0 = "cant_run__s";
    0x00062898 bl 0x18274                                    |             fcn_00018274 ();
                                                             |         }
    0x0006289c mov r0, sl                                    |         r0 = sl;
    0x000628a0 bl 0x14bdc                                    |         unlink (r0);
                                                             |     }
                                                             | label_46:
    0x000628a4 mov r0, r5                                    |     r0 = r5;
    0x000628a8 bl 0x152a8                                    |     free (r0);
    0x000628ac ldrb r3, [sb]                                 |     r3 = *(sb);
    0x000628b0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000628b4 bne 0x61df0                                   |         goto label_0;
                                                             |     }
    0x000628b8 add sp, sp, 0x3c                              |     
    0x000628bc pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |     
                                                             | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/bin/busybox @ 0x88d88 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00088d88 ()                                  | void fcn_00088d88 (int32_t arg_0h, void * ptr, int32_t arg_14h, int32_t arg_18h, char * src, int32_t arg1, void * arg2) {
                                                             |     int32_t var_21h;
                                                             |     int32_t var_0h;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_10h_2;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_28h;
                                                             |     char * filename;
                                                             |     int32_t var_30h;
                                                             |     int32_t var_34h;
                                                             |     int32_t var_38h;
                                                             |     int32_t var_3ch;
                                                             |     int32_t var_44h;
                                                             |     int32_t var_4ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00088d88 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00088d8c subs r4, r0, 0                                |     r4 -= arg_0h;
    0x00088d90 sub sp, sp, 0x4c                              |     
    0x00088d94 mov r5, r1                                    |     r5 = r1;
                                                             |     if (r4 == arg_0h) {
    0x00088d98 bne 0x88db8                                   |         
    0x00088d9c mov r1, r4                                    |         r1 = r4;
    0x00088da0 mov r0, r5                                    |         r0 = r5;
    0x00088da4 bl 0x87a44                                    |         fcn_00087a44 (r0, r1);
    0x00088da8 str r0, [sp, 0x18]                            |         var_18h = r0;
                                                             | label_0:
    0x00088dac ldr r0, [sp, 0x18]                            |         r0 = var_18h;
    0x00088db0 add sp, sp, 0x4c                              |         
    0x00088db4 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             |     }
    0x00088db8 mov r0, 2                                     |     r0 = 2;
    0x00088dbc bl 0x86b54                                    |     fcn_00086b54 (r0);
    0x00088dc0 str r5, [sp, 0x18]                            |     var_18h = r5;
    0x00088dc4 str r0, [sp, 0x28]                            |     var_28h = r0;
                                                             |     do {
    0x00088dc8 ldr r3, [r4]                                  |         r3 = *(r4);
    0x00088dcc ldr r0, [r4, 8]                               |         r0 = *((r4 + 8));
    0x00088dd0 str r3, [sp, 0x1c]                            |         var_1ch = r3;
    0x00088dd4 and fp, r3, 0x7f                              |         
    0x00088dd8 ldr r3, [pc, 0xe50]                           |         r3 = *(0x89c2c);
    0x00088ddc ldr r8, [r3]                                  |         r8 = *(0x89c2c);
    0x00088de0 ldr r3, [r4, 4]                               |         r3 = *((r4 + 4));
    0x00088de4 str r3, [r8, -0x38]                           |         *((r8 - 0x38)) = r3;
    0x00088de8 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x00088dec str r0, [sp, 0x44]                            |         var_44h = r0;
    0x00088df0 lsr sb, r3, 8                                 |         sb = r3 >> 8;
    0x00088df4 and sb, sb, 0xff                              |         sb &= 0xff;
    0x00088df8 cmp sb, 1                                     |         
                                                             |         if (sb != 1) {
    0x00088dfc bne 0x88eb4                                   |             goto label_27;
                                                             |         }
    0x00088e00 ldr r3, [r0]                                  |         r3 = *(r0);
    0x00088e04 and r3, r3, 0xff00                            |         r3 &= 0xff00;
    0x00088e08 cmp r3, 0x2700                                |         
                                                             |         if (r3 != 0x2700) {
    0x00088e0c ldreq r5, [r0, 8]                             |             r5 = *((r0 + 8));
                                                             |         }
                                                             |         if (r3 != 0x2700) {
    0x00088e10 beq 0x88e2c                                   |             
    0x00088e14 cmp r3, 0x1800                                |             
                                                             |             if (r3 != 0x1800) {
    0x00088e18 bne 0x88e9c                                   |                 goto label_28;
                                                             |             }
    0x00088e1c ldr r3, [r8, 0x8c]                            |             r3 = *((r8 + 0x8c));
    0x00088e20 ldr r2, [r0, 8]                               |             r2 = *((r0 + 8));
    0x00088e24 mov r8, 0x18                                  |             r8 = 0x18;
    0x00088e28 mla r5, r2, r8, r3                            |             __asm ("mla r5, r2, r8, r3");
                                                             |         }
    0x00088e2c ldr r0, [r0, 0xc]                             |         r0 = *((r0 + 0xc));
    0x00088e30 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00088e34 beq 0x88ea4                                   |             goto label_29;
                                                             |         }
    0x00088e38 ldr r1, [sp, 0x28]                            |         r1 = var_28h;
    0x00088e3c bl 0x88d88                                    |         r0 = fcn_00088d88 (r0, r1, r2, r3, r4, r5, r6);
    0x00088e40 bl 0x87498                                    |         r0 = fcn_00087498 (r0);
    0x00088e44 mov sb, r0                                    |         sb = r0;
    0x00088e48 mov r0, r5                                    |         r0 = r5;
    0x00088e4c bl 0x86aec                                    |         fcn_00086aec (r0);
    0x00088e50 mov r1, sb                                    |         r1 = sb;
    0x00088e54 bl 0x871d0                                    |         fcn_000871d0 (r0, r1);
                                                             | label_1:
    0x00088e58 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x00088e5c and r3, r3, 0xff00                            |         r3 &= 0xff00;
    0x00088e60 cmp r3, 0x600                                 |         
                                                             |         if (r3 > 0x600) {
    0x00088e64 ldrls r4, [r4, 0x10]                          |             r4 = *((r4 + 0x10));
                                                             |         }
                                                             |         if (r3 >= 0x600) {
    0x00088e68 bls 0x88e74                                   |             
    0x00088e6c cmp r3, 0x1000                                |             
                                                             |             if (r3 >= 0x1000) {
    0x00088e70 bhs 0x88e90                                   |                 goto label_30;
                                                             |             }
                                                             |         }
    0x00088e74 ldr r3, [pc, 0xdb4]                           |         
    0x00088e78 ldr r3, [r3]                                  |         
    0x00088e7c ldr r3, [r3, -0x14]                           |         r3 = *(0x89c18);
    0x00088e80 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00088e84 bne 0x88e90                                   |             goto label_30;
                                                             |         }
    0x00088e88 cmp r4, 0                                     |         
    0x00088e8c bne 0x88dc8                                   |         
                                                             |     } while (r4 != 0);
                                                             | label_30:
    0x00088e90 ldr r0, [sp, 0x28]                            |     r0 = var_28h;
    0x00088e94 bl 0x8815c                                    |     fcn_0008815c (r0);
    0x00088e98 b 0x88dac                                     |     goto label_0;
                                                             | label_28:
    0x00088e9c ldr r0, [pc, 0xd90]                           |     r0 = *(0x89c30);
                                                             | label_12:
    0x00088ea0 bl 0x87374                                    |     fcn_00087374 (r0);
                                                             | label_29:
    0x00088ea4 mov r0, r5                                    |     r0 = r5;
    0x00088ea8 bl 0x86aec                                    |     r0 = fcn_00086aec (r0);
    0x00088eac bl 0x86d28                                    |     fcn_00086d28 (r0);
    0x00088eb0 b 0x88e58                                     |     goto label_1;
                                                             | label_27:
    0x00088eb4 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00088eb8 tst r3, 0x10000                               |     
                                                             |     if ((r3 & 0x10000) != 0) {
    0x00088ebc beq 0x88ecc                                   |         
    0x00088ec0 ldr r1, [sp, 0x28]                            |         r1 = var_28h;
    0x00088ec4 bl 0x88d88                                    |         r0 = fcn_00088d88 (r0, r1, r2, r3, r4, r5, r6);
    0x00088ec8 mov r6, r0                                    |         r6 = r0;
                                                             |     }
    0x00088ecc ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00088ed0 tst r3, 0x20000                               |     
                                                             |     if ((r3 & 0x20000) != 0) {
    0x00088ed4 beq 0x88eec                                   |         
    0x00088ed8 ldr r3, [sp, 0x28]                            |         r3 = var_28h;
    0x00088edc ldr r0, [r4, 0xc]                             |         r0 = *((r4 + 0xc));
    0x00088ee0 add r1, r3, 0x18                              |         r1 = r3 + 0x18;
    0x00088ee4 bl 0x88d88                                    |         r0 = fcn_00088d88 (r0, r1, r2, r3, r4, r5, r6);
    0x00088ee8 mov sl, r0                                    |         sl = r0;
                                                             |     }
    0x00088eec ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00088ef0 tst r3, 0x40000                               |     
                                                             |     if ((r3 & 0x40000) != 0) {
    0x00088ef4 beq 0x88f04                                   |         
    0x00088ef8 mov r0, r6                                    |         r0 = r6;
    0x00088efc bl 0x87498                                    |         r0 = fcn_00087498 (r0);
    0x00088f00 mov r7, r0                                    |         r7 = r0;
                                                             |     }
    0x00088f04 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00088f08 tst r3, 0x80000                               |     
                                                             |     if ((r3 & 0x80000) != 0) {
    0x00088f0c beq 0x88f1c                                   |         
    0x00088f10 mov r0, sl                                    |         r0 = sl;
    0x00088f14 bl 0x87498                                    |         fcn_00087498 (r0);
    0x00088f18 str r0, [sp, 0x2c]                            |         filename = r0;
                                                             |     }
    0x00088f1c ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00088f20 tst r3, 0x100000                              |     
                                                             |     if ((r3 & 0x100000) != 0) {
    0x00088f24 beq 0x88f34                                   |         
    0x00088f28 mov r0, r6                                    |         r0 = r6;
    0x00088f2c bl 0x86f20                                    |         fcn_00086f20 (r0);
    0x00088f30 strd r0, r1, [sp, 0x10]                       |         __asm ("strd r0, r1, [var_10h]");
                                                             |     }
    0x00088f34 sub sb, sb, 2                                 |     sb -= 2;
    0x00088f38 cmp sb, 0x26                                  |     
                                                             |     if (sb > 0x26) {
                                                             |         /* switch table (39 cases) at 0x88f44 */
    0x00088f3c ldrls pc, [pc, sb, lsl 2]                     |         offset_0 = sb << 2;
                                                             |         pc = *((pc + offset_0));
                                                             |     }
    0x00088f40 b 0x89430                                     |     goto label_31;
    0x00088fe0 ldr r0, [sp, 0x44]                            |     r0 = var_44h;
    0x00088fe4 ldr r3, [r0]                                  |     r3 = *(r0);
    0x00088fe8 and r3, r3, 0xff00                            |     r3 &= 0xff00;
    0x00088fec cmp r3, 0x1300                                |     
                                                             |     if (r3 != 0x1300) {
    0x00088ff0 bne 0x89048                                   |         goto label_32;
                                                             |     }
    0x00088ff4 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00088ff8 tst r3, 0x200000                              |     
    0x00088ffc beq 0x89030                                   |     
                                                             |     while (r0 != 0) {
    0x00089000 ldr r3, [r4]                                  |         r3 = *(r4);
    0x00089004 orr r3, r3, 0x200000                          |         r3 |= 0x200000;
    0x00089008 str r3, [r4]                                  |         *(r4) = r3;
    0x0008900c ldr r3, [sp, 0x44]                            |         r3 = var_44h;
    0x00089010 ldr r0, [r3, 0xc]                             |         r0 = *((r3 + 0xc));
    0x00089014 bl 0x8a800                                    |         r0 = fcn_0008a800 (r0);
    0x00089018 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0008901c ldrne r3, [r4]                                |             r3 = *(r4);
                                                             |         }
    0x00089020 bicne r3, r3, 0x200000                        |         __asm ("bicne r3, r3, 0x200000");
                                                             |         if (r0 == 0) {
    0x00089024 strne r3, [r4]                                |             *(r4) = r3;
                                                             |         }
                                                             | label_2:
    0x00089028 ldr r4, [r4, 0x10]                            |         r4 = *((r4 + 0x10));
    0x0008902c b 0x88e58                                     |         goto label_1;
    0x00089030 ldr r0, [r0, 8]                               |         r0 = *((r0 + 8));
    0x00089034 bl 0x8a800                                    |         r0 = fcn_0008a800 (r0);
    0x00089038 cmp r0, 0                                     |         
    0x0008903c bne 0x89000                                   |         
                                                             |     }
                                                             |     do {
                                                             | label_6:
    0x00089040 ldr r4, [r4, 0xc]                             |         r4 = *((r4 + 0xc));
    0x00089044 b 0x88e58                                     |         goto label_1;
                                                             | label_32:
    0x00089048 bl 0x8a800                                    |         r0 = fcn_0008a800 (r0);
                                                             | label_3:
    0x0008904c cmp r0, 0                                     |         
    0x00089050 beq 0x89040                                   |         
                                                             |     } while (r0 == 0);
    0x00089054 b 0x89028                                     |     goto label_2;
    0x00089058 mov r0, r6                                    |     r0 = r6;
    0x0008905c bl 0x86fbc                                    |     fcn_00086fbc (r0);
    0x00089060 b 0x8904c                                     |     goto label_3;
    0x00089064 mov r0, sl                                    |     r0 = sl;
    0x00089068 bl 0x86aec                                    |     fcn_00086aec (r0);
    0x0008906c ldr r2, [r6]                                  |     r2 = *(r6);
    0x00089070 ands sb, r2, 0x800                            |     sb = r2 & 0x800;
                                                             |     if (sb != r2) {
    0x00089074 orreq r2, r2, 0x800                           |         r2 |= 0x800;
                                                             |     }
                                                             |     if (sb != r2) {
    0x00089078 streq r2, [r6]                                |         *(r6) = r2;
                                                             |     }
                                                             |     if (sb == r2) {
    0x0008907c ldrne sb, [r6, 0x14]                          |         sb = *((r6 + 0x14));
                                                             |     }
    0x00089080 mov r3, r0                                    |     r3 = r0;
    0x00089084 ldr r0, [r0, 0xc]                             |     r0 = *((r0 + 0xc));
    0x00089088 str r3, [sp, 0x34]                            |     var_34h = r3;
    0x0008908c add r0, r0, 0x11                              |     r0 += 0x11;
    0x00089090 bl 0x189b8                                    |     fcn_000189b8 (r0);
    0x00089094 ldr r3, [sp, 0x34]                            |     r3 = var_34h;
    0x00089098 add r2, r0, 0xc                               |     r2 = r0 + 0xc;
    0x0008909c str r0, [r6, 0x14]                            |     *((r6 + 0x14)) = r0;
    0x000890a0 mov r8, r0                                    |     r8 = r0;
    0x000890a4 stmib r0, {r2, sb}                            |     __asm ("stmib r0, {r2, sb}");
    0x000890a8 mov sb, 0                                     |     sb = 0;
    0x000890ac str r2, [r0]                                  |     *(r0) = r2;
                                                             | label_4:
    0x000890b0 ldr r2, [r3, 4]                               |     r2 = *((r3 + 4));
    0x000890b4 cmp sb, r2                                    |     
                                                             |     if (sb >= r2) {
    0x000890b8 bhs 0x88e58                                   |         goto label_1;
                                                             |     }
    0x000890bc ldr r2, [r3, 0x10]                            |     r2 = *((r3 + 0x10));
    0x000890c0 ldr fp, [r2, sb, lsl 2]                       |     offset_1 = sb << 2;
                                                             |     fp = *((r2 + offset_1));
                                                             | label_5:
    0x000890c4 cmp fp, 0                                     |     
                                                             |     if (fp == 0) {
    0x000890c8 addeq sb, sb, 1                               |         sb++;
                                                             |         goto label_33;
                                                             |     }
                                                             |     if (fp == 0) {
                                                             | label_33:
    0x000890cc beq 0x890b0                                   |         goto label_4;
                                                             |     }
    0x000890d0 add r1, fp, 0x1c                              |     r1 += src;
    0x000890d4 ldr r0, [r8]                                  |     r0 = *(r8);
    0x000890d8 str r3, [sp, 0x34]                            |     var_34h = r3;
    0x000890dc bl 0x142f4                                    |     strcpy (r0, r1);
    0x000890e0 mov r0, r8                                    |     r0 = r8;
    0x000890e4 bl 0x86a4c                                    |     fcn_00086a4c (r0);
    0x000890e8 ldr fp, [fp, 0x18]                            |     fp = *(arg_18h);
    0x000890ec ldr r3, [sp, 0x34]                            |     r3 = var_34h;
    0x000890f0 b 0x890c4                                     |     goto label_5;
    0x000890f4 ldr r0, [r6, 0x14]                            |     r0 = *((r6 + 0x14));
    0x000890f8 ldr r2, [r0, 4]                               |     r2 = *((r0 + 4));
    0x000890fc ldr r3, [r0]                                  |     r3 = *(r0);
    0x00089100 cmp r2, r3                                    |     
                                                             |     if (r2 > r3) {
    0x00089104 blo 0x89118                                   |         
    0x00089108 ldr r8, [r0, 8]                               |         r8 = *((r0 + 8));
    0x0008910c bl 0x152a8                                    |         free (r0);
    0x00089110 str r8, [r6, 0x14]                            |         *((r6 + 0x14)) = r8;
    0x00089114 b 0x89040                                     |         goto label_6;
                                                             |     }
    0x00089118 add r0, r0, 4                                 |     r0 += 4;
    0x0008911c bl 0x86a4c                                    |     r0 = fcn_00086a4c (r0);
    0x00089120 mov r1, r0                                    |     r1 = r0;
    0x00089124 mov r0, r6                                    |     r0 = r6;
    0x00089128 bl 0x87a68                                    |     fcn_00087a68 (r0, r1);
    0x0008912c b 0x89028                                     |     goto label_2;
    0x00089130 ldr r3, [pc, 0xb00]                           |     r3 = "Not an array";
    0x00089134 ldr sb, [r3]                                  |     sb = "Not an array";
    0x00089138 ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x0008913c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00089140 beq 0x89194                                   |         goto label_34;
                                                             |     }
    0x00089144 ldr r1, [sp, 0x2c]                            |     r1 = filename;
    0x00089148 ldr r0, [r8, -0x44]                           |     r0 = *((r8 - 0x44));
    0x0008914c bl 0x870ac                                    |     r0 = fcn_000870ac (r0, r1);
    0x00089150 ldr r3, [r0]                                  |     r3 = *(r0);
    0x00089154 mov sb, r0                                    |     sb = r0;
    0x00089158 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0008915c bne 0x89190                                   |         goto label_35;
                                                             |     }
    0x00089160 cmp fp, 0x7c                                  |     
    0x00089164 ldr r1, [pc, 0xad0]                           |     r1 = stdout;
                                                             |     if (fp != 0x7c) {
    0x00089168 bne 0x891ec                                   |         goto label_36;
                                                             |     }
    0x0008916c ldr r0, [sp, 0x2c]                            |     r0 = filename;
    0x00089170 bl 0x14354                                    |     r0 = popen (r0, r1);
    0x00089174 cmp r0, 0                                     |     
    0x00089178 str r0, [sb]                                  |     *(sb) = r0;
                                                             |     if (r0 == 0) {
    0x0008917c bne 0x89188                                   |         
    0x00089180 ldr r0, [pc, 0xab8]                           |         r0 = *(0x89c3c);
    0x00089184 bl 0x17fd8                                    |         fcn_00017fd8 ();
                                                             |     }
    0x00089188 mov r3, 1                                     |     r3 = 1;
    0x0008918c str r3, [sb, 0x14]                            |     *((sb + 0x14)) = r3;
                                                             |     do {
                                                             | label_35:
    0x00089190 ldr sb, [sb]                                  |         sb = *(sb);
                                                             | label_34:
    0x00089194 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x00089198 ldr r0, [sp, 0x44]                            |         r0 = var_44h;
    0x0008919c and r3, r3, 0xff00                            |         r3 &= 0xff00;
    0x000891a0 cmp r3, 0x400                                 |         
                                                             |         if (r3 != 0x400) {
    0x000891a4 bne 0x892ac                                   |             goto label_37;
                                                             |         }
    0x000891a8 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000891ac ldrne r3, [pc, 0xa7c]                         |             r3 = *(0x00089c30);
                                                             |         }
                                                             |         if (r0 == 0) {
    0x000891b0 ldrne r8, [r3]                                |             r8 = *(r3);
                                                             |         }
                                                             |         if (r0 != 0) {
    0x000891b4 bne 0x8928c                                   |             goto label_38;
                                                             |         }
    0x000891b8 ldr r0, [r8, 0x34]                            |         r0 = *((r8 + 0x34));
    0x000891bc bl 0x87498                                    |         fcn_00087498 (r0);
    0x000891c0 mov r1, sb                                    |         r1 = sb;
    0x000891c4 bl 0x149d8                                    |         fputs_unlocked ();
                                                             | label_7:
    0x000891c8 ldr r3, [pc, 0xa60]                           |         
    0x000891cc ldr r3, [r3]                                  |         r3 = *(0x89c2c);
    0x000891d0 ldr r0, [r3, 0x20]                            |         r0 = "Possible_syntax_error";
    0x000891d4 bl 0x87498                                    |         fcn_00087498 ("Possible_syntax_error");
    0x000891d8 mov r1, sb                                    |         r1 = sb;
    0x000891dc bl 0x149d8                                    |         fputs_unlocked ();
                                                             | label_9:
    0x000891e0 mov r0, sb                                    |         r0 = sb;
    0x000891e4 bl 0x147ec                                    |         fflush (r0);
    0x000891e8 b 0x88e58                                     |         goto label_1;
                                                             | label_36:
    0x000891ec ldr r3, [pc, 0xa50]                           |         r3 = "popen";
    0x000891f0 cmp fp, 0x77                                  |         
                                                             |         if (fp == 0x77) {
    0x000891f4 movne r1, r3                                  |             r1 = r3;
                                                             |         }
    0x000891f8 ldr r0, [sp, 0x2c]                            |         r0 = filename;
    0x000891fc bl 0x18a6c                                    |         fcn_00018a6c (r0);
    0x00089200 str r0, [sb]                                  |         *(sb) = r0;
    0x00089204 b 0x89190                                     |         
                                                             |     } while (1);
                                                             |     do {
    0x00089208 add r0, sp, 0x44                              |         r0 += var_44h;
    0x0008920c bl 0x86a88                                    |         fcn_00086a88 (r0);
    0x00089210 ldr r1, [sp, 0x28]                            |         r1 = var_28h;
    0x00089214 bl 0x88d88                                    |         r0 = fcn_00088d88 (r0, r1, r2, r3, r4, r5, r6);
    0x00089218 ldr r3, [r0]                                  |         r3 = *(r0);
    0x0008921c tst r3, 1                                     |         
                                                             |         if ((r3 & 1) == 0) {
    0x00089220 beq 0x892a0                                   |             goto label_39;
                                                             |         }
    0x00089224 ldr r3, [r8, -0x20]                           |         r3 = *((r8 - 0x20));
    0x00089228 str r0, [sp, 0x3c]                            |         var_3ch = r0;
    0x0008922c ldr r0, [r8, 0x14]                            |         r0 = *((r8 + 0x14));
    0x00089230 str r3, [sp, 0x38]                            |         var_38h = r3;
    0x00089234 bl 0x87498                                    |         fcn_00087498 (r0);
    0x00089238 ldr r1, [sp, 0x3c]                            |         r1 = var_3ch;
    0x0008923c str r0, [sp, 0x34]                            |         var_34h = r0;
    0x00089240 mov r0, r1                                    |         r0 = r1;
    0x00089244 bl 0x86f20                                    |         fcn_00086f20 (r0);
    0x00089248 ldr r3, [sp, 0x38]                            |         r3 = var_38h;
    0x0008924c str fp, [sp, 8]                               |         var_8h = fp;
    0x00089250 ldr r2, [sp, 0x34]                            |         r2 = var_34h;
    0x00089254 strd r0, r1, [sp]                             |         __asm ("strd r0, r1, [sp]");
    0x00089258 mov r1, 0xf0                                  |         r1 = 0xf0;
    0x0008925c mov r0, r3                                    |         r0 = r3;
    0x00089260 bl 0x8739c                                    |         fcn_0008739c (r0, r1, r2);
    0x00089264 ldr r0, [r8, -0x20]                           |         r0 = *((r8 - 0x20));
    0x00089268 mov r1, sb                                    |         r1 = sb;
                                                             | label_8:
    0x0008926c bl 0x149d8                                    |         fputs_unlocked ();
    0x00089270 ldr r3, [sp, 0x44]                            |         r3 = var_44h;
    0x00089274 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00089278 beq 0x89290                                   |             
    0x0008927c ldr r0, [r8, 0x1c]                            |             r0 = *((r8 + 0x1c));
    0x00089280 bl 0x87498                                    |             fcn_00087498 (r0);
    0x00089284 mov r1, sb                                    |             r1 = sb;
    0x00089288 bl 0x149d8                                    |             fputs_unlocked ();
                                                             | label_38:
    0x0008928c mov fp, 1                                     |             
                                                             |         }
    0x00089290 ldr r3, [sp, 0x44]                            |         r3 = var_44h;
    0x00089294 cmp r3, 0                                     |         
    0x00089298 bne 0x89208                                   |         
                                                             |     } while (r3 != 0);
    0x0008929c b 0x891c8                                     |     goto label_7;
                                                             | label_39:
    0x000892a0 bl 0x87498                                    |     fcn_00087498 (r0);
    0x000892a4 mov r1, sb                                    |     r1 = sb;
    0x000892a8 b 0x8926c                                     |     goto label_8;
                                                             | label_37:
    0x000892ac bl 0x8a5ec                                    |     fcn_0008a5ec (r0);
    0x000892b0 mov r1, sb                                    |     r1 = sb;
    0x000892b4 mov r8, r0                                    |     r8 = r0;
    0x000892b8 bl 0x149d8                                    |     fputs_unlocked ();
    0x000892bc mov r0, r8                                    |     r0 = r8;
    0x000892c0 bl 0x152a8                                    |     free (r0);
    0x000892c4 b 0x891e0                                     |     goto label_9;
    0x000892c8 ldr r3, [r4, 8]                               |     r3 = *((r4 + 8));
    0x000892cc str r3, [r8, -0x3c]                           |     *((r8 - 0x3c)) = r3;
    0x000892d0 b 0x88e58                                     |     goto label_1;
    0x000892d4 mov r1, r6                                    |     r1 = r6;
    0x000892d8 ldr r0, [sp, 0x18]                            |     r0 = var_18h;
    0x000892dc bl 0x87d18                                    |     fcn_00087d18 (r0, r1);
    0x000892e0 b 0x88e58                                     |     goto label_1;
    0x000892e4 mov r3, 1                                     |     r3 = 1;
    0x000892e8 str r3, [r8, -0x10]                           |     *((r8 - 0x10)) = r3;
    0x000892ec mov r3, 1                                     |     r3 = 1;
    0x000892f0 str r3, [r8, -0x14]                           |     *((r8 - 0x14)) = r3;
    0x000892f4 ldr r0, [sp, 0x18]                            |     r0 = var_18h;
    0x000892f8 bl 0x86c40                                    |     fcn_00086c40 (r0);
    0x000892fc b 0x88e58                                     |     goto label_1;
    0x00089300 ldrd r0, r1, [sp, 0x10]                       |     __asm ("ldrd r0, r1, [var_10h]");
    0x00089304 bl 0xa70f4                                    |     r0 = fcn_000a70f4 (r0, r1);
    0x00089308 bl 0x89c84                                    |     fcn_00089c84 (r0);
    0x0008930c ldr r3, [r4, 8]                               |     r3 = *((r4 + 8));
    0x00089310 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00089314 ldr r2, [sp, 0x18]                            |     r2 = var_18h;
    0x00089318 ldr r3, [r8, 0x50]                            |     r3 = *((r8 + 0x50));
    0x0008931c cmp r2, r3                                    |     
                                                             |     if (r2 == r3) {
    0x00089320 bne 0x89328                                   |         
    0x00089324 bl 0x877b8                                    |         fcn_000877b8 ();
                                                             |     }
                                                             | label_10:
    0x00089328 ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x0008932c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00089330 beq 0x88e58                                   |         goto label_1;
                                                             |     }
    0x00089334 ldr r0, [sp, 0x18]                            |     r0 = var_18h;
    0x00089338 bl 0x86aec                                    |     fcn_00086aec (r0);
    0x0008933c ldr r1, [sp, 0x2c]                            |     r1 = filename;
    0x00089340 bl 0x870ac                                    |     fcn_000870ac (r0, r1);
                                                             | label_11:
    0x00089344 str r0, [sp, 0x18]                            |     var_18h = r0;
    0x00089348 b 0x88e58                                     |     goto label_1;
    0x0008934c ldr r5, [r4, 8]                               |     r5 = *((r4 + 8));
    0x00089350 ldr r3, [r8, 0x8c]                            |     r3 = *((r8 + 0x8c));
    0x00089354 mov r2, 0x18                                  |     r2 = 0x18;
    0x00089358 mla r1, r2, r5, r3                            |     __asm ("mla r1, r2, r5, r3");
    0x0008935c str r1, [sp, 0x18]                            |     var_18h = r1;
    0x00089360 b 0x89328                                     |     goto label_10;
    0x00089364 mov r0, sl                                    |     r0 = sl;
    0x00089368 bl 0x86aec                                    |     fcn_00086aec (r0);
    0x0008936c mov r1, r7                                    |     r1 = r7;
    0x00089370 bl 0x8705c                                    |     fcn_0008705c (r0, r1);
    0x00089374 mov r2, 0                                     |     r2 = 0;
    0x00089378 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0008937c beq 0x899e4                                   |         goto label_40;
                                                             |     }
                                                             | label_22:
    0x00089380 ldr r3, [pc, 0x8c0]                           |     r3 = *(0x89c44);
    0x00089384 b 0x89644                                     |     goto label_15;
    0x00089388 ldr r0, [r8, 0x34]                            |     r0 = *((r8 + 0x34));
    0x0008938c str r4, [sp, 0x44]                            |     var_44h = r4;
    0x00089390 bl 0x87498                                    |     r0 = fcn_00087498 (r0);
    0x00089394 mov r7, r0                                    |     r7 = r0;
                                                             |     do {
    0x00089398 add r8, r8, 0x94                              |         r8 += 0x94;
    0x0008939c mov r1, r8                                    |         r1 = r8;
    0x000893a0 ldr r0, [sp, 0x44]                            |         r0 = var_44h;
    0x000893a4 bl 0x89d1c                                    |         fcn_00089d1c (r0, r1);
    0x000893a8 mov r3, 0                                     |         r3 = 0;
    0x000893ac str r3, [sp]                                  |         *(sp) = r3;
    0x000893b0 mov r2, r3                                    |         r2 = r3;
    0x000893b4 mov r1, r7                                    |         r1 = r7;
    0x000893b8 mov sb, r0                                    |         sb = r0;
    0x000893bc bl 0x14e34                                    |         regexec ();
    0x000893c0 cmp r8, sb                                    |         
    0x000893c4 mov r3, r0                                    |         r3 = r0;
                                                             |         if (r8 == sb) {
    0x000893c8 bne 0x893dc                                   |             
    0x000893cc str r0, [sp, 0x34]                            |             var_34h = r0;
    0x000893d0 mov r0, r8                                    |             r0 = r8;
    0x000893d4 bl 0x15170                                    |             regfree ();
    0x000893d8 ldr r3, [sp, 0x34]                            |             r3 = var_34h;
                                                             |         }
    0x000893dc sub r0, fp, 0x21                              |         r0 = fp - 0x21;
    0x000893e0 clz r0, r0                                    |         r0 &= r0;
    0x000893e4 lsr r0, r0, 5                                 |         r0 >>= 5;
    0x000893e8 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000893ec eoreq r0, r0, 1                               |             r0 ^= 1;
                                                             |         }
                                                             | label_13:
    0x000893f0 bl 0xa6a74                                    |         r0 = fcn_000a6a74 (r0);
    0x000893f4 mov r2, r0                                    |         r2 = r0;
    0x000893f8 mov r3, r1                                    |         r3 = r1;
    0x000893fc b 0x89644                                     |         goto label_15;
    0x00089400 ldr r3, [r4, 0xc]                             |         r3 = *((r4 + 0xc));
    0x00089404 str r3, [sp, 0x44]                            |         var_44h = r3;
    0x00089408 b 0x89398                                     |         
                                                             |     } while (1);
    0x0008940c mov r1, sl                                    |     r1 = sl;
    0x00089410 mov r0, r6                                    |     r0 = r6;
    0x00089414 bl 0x87d18                                    |     fcn_00087d18 (r0, r1);
    0x00089418 b 0x89344                                     |     goto label_11;
    0x0008941c ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x00089420 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00089424 and r3, r3, 0xff00                            |     r3 &= 0xff00;
    0x00089428 cmp r3, 0x1200                                |     
                                                             |     if (r3 != 0x1200) {
    0x0008942c beq 0x89438                                   |         
                                                             | label_31:
    0x00089430 ldr r0, [pc, 0x814]                           |         r0 = *(0x89c48);
    0x00089434 b 0x88ea0                                     |         goto label_12;
                                                             |     }
    0x00089438 mov r0, r6                                    |     r0 = r6;
    0x0008943c bl 0x86fbc                                    |     fcn_00086fbc (r0);
    0x00089440 ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x00089444 ldr r1, [sp, 0x18]                            |     r1 = var_18h;
    0x00089448 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0008944c ldrne r0, [r3, 8]                             |         r0 = *((r3 + 8));
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00089450 ldreq r0, [r3, 0xc]                           |         r0 = *((r3 + 0xc));
                                                             |     }
    0x00089454 bl 0x88d88                                    |     fcn_00088d88 (r0, r1, r2, r3, r4, r5, r6);
    0x00089458 b 0x89344                                     |     goto label_11;
    0x0008945c ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x00089460 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00089464 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00089468 bne 0x8947c                                   |         goto label_41;
                                                             |     }
    0x0008946c ldr r3, [r3, 4]                               |     r3 = *((r3 + 4));
    0x00089470 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00089474 ldreq r0, [pc, 0x7d4]                         |         r0 = "Call to undefined function";
                                                             |         goto label_42;
                                                             |     }
                                                             |     if (r3 == 0) {
                                                             | label_42:
    0x00089478 beq 0x88ea0                                   |         goto label_12;
                                                             |     }
                                                             | label_41:
    0x0008947c add r0, r0, 1                                 |     r0++;
    0x00089480 bl 0x86b54                                    |     r0 = fcn_00086b54 (r0);
    0x00089484 mov fp, r0                                    |     
    0x00089488 add sb, r0, 0x18                              |     sb = r0 + 0x18;
                                                             |     do {
    0x0008948c ldr r3, [sp, 0x44]                            |         r3 = var_44h;
    0x00089490 sub r2, sb, 0x18                              |         r2 = sb - 0x18;
    0x00089494 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00089498 beq 0x89500                                   |             goto label_43;
                                                             |         }
    0x0008949c add r0, sp, 0x44                              |         r0 += var_44h;
    0x000894a0 str r2, [sp, 0x38]                            |         var_38h = r2;
    0x000894a4 bl 0x86a88                                    |         fcn_00086a88 (r0);
    0x000894a8 ldr r1, [sp, 0x28]                            |         r1 = var_28h;
    0x000894ac bl 0x88d88                                    |         fcn_00088d88 (r0, r1, r2, r3, r4, r5, r6);
    0x000894b0 ldr r2, [sp, 0x38]                            |         r2 = var_38h;
    0x000894b4 mov r1, r0                                    |         r1 = r0;
    0x000894b8 str r0, [sp, 0x34]                            |         var_34h = r0;
    0x000894bc mov r0, r2                                    |         r0 = r2;
    0x000894c0 bl 0x87d18                                    |         fcn_00087d18 (r0, r1);
    0x000894c4 ldr r2, [sb, -0x18]                           |         r2 = *((sb - 0x18));
    0x000894c8 ldr r3, [sp, 0x34]                            |         r3 = var_34h;
    0x000894cc orr r2, r2, 0x2000                            |         r2 |= 0x2000;
    0x000894d0 str r2, [sb, -0x18]                           |         *((sb - 0x18)) = r2;
    0x000894d4 ldr r2, [pc, 0x778]                           |         
    0x000894d8 str r3, [sb, -4]                              |         *((sb - 4)) = r3;
    0x000894dc sub r3, sb, fp                                |         r3 = sb - fp;
    0x000894e0 asr r3, r3, 3                                 |         r3 >>= 3;
    0x000894e4 mul r2, r3, r2                                |         r2 = r3 * r2;
    0x000894e8 add sb, sb, 0x18                              |         sb += 0x18;
    0x000894ec mov r3, r2                                    |         r3 = r2;
    0x000894f0 ldr r2, [r4, 0xc]                             |         r2 = *((r4 + 0xc));
    0x000894f4 ldr r2, [r2]                                  |         r2 = "Call to undefined function";
    0x000894f8 cmp r3, r2                                    |         
    0x000894fc blo 0x8948c                                   |         
                                                             |     } while (r3 <= r2);
                                                             | label_43:
    0x00089500 ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x00089504 ldr sb, [r8, 0x8c]                            |     sb = *((r8 + 0x8c));
    0x00089508 ldr r1, [sp, 0x18]                            |     r1 = var_18h;
    0x0008950c str fp, [r8, 0x8c]                            |     *((r8 + 0x8c)) = fp;
    0x00089510 ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x00089514 ldr fp, [r8, -0x3c]                           |     fp = *((r8 - 0x3c));
    0x00089518 bl 0x88d88                                    |     fcn_00088d88 (r0, r1, r2, r3, r4, r5, r6);
    0x0008951c str fp, [r8, -0x3c]                           |     *((r8 - 0x3c)) = fp;
    0x00089520 str r0, [sp, 0x18]                            |     var_18h = r0;
    0x00089524 ldr r0, [r8, 0x8c]                            |     r0 = *((r8 + 0x8c));
    0x00089528 bl 0x8815c                                    |     fcn_0008815c (r0);
    0x0008952c str sb, [r8, 0x8c]                            |     *((r8 + 0x8c)) = sb;
    0x00089530 b 0x88e58                                     |     goto label_1;
    0x00089534 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00089538 and sb, r3, 0xff00                            |     sb = r3 & 0xff00;
    0x0008953c ldr r3, [sp, 0x44]                            |     r3 = var_44h;
    0x00089540 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00089544 beq 0x895f4                                   |         goto label_44;
                                                             |     }
    0x00089548 ldr r0, [r8, -0x44]                           |     r0 = *((r8 - 0x44));
    0x0008954c mov r1, r7                                    |     r1 = r7;
    0x00089550 bl 0x870ac                                    |     r0 = fcn_000870ac (r0, r1);
    0x00089554 ldr r3, [r0]                                  |     r3 = *(r0);
    0x00089558 mov r8, r0                                    |     r8 = r0;
    0x0008955c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00089560 bne 0x89584                                   |         goto label_14;
                                                             |     }
    0x00089564 cmp sb, 0x2000                                |     
                                                             |     if (sb != 0x2000) {
    0x00089568 bne 0x895e4                                   |         goto label_45;
                                                             |     }
    0x0008956c ldr r1, [pc, 0x6e4]                           |     r1 = *(0x89c54);
    0x00089570 mov r0, r7                                    |     r0 = r7;
    0x00089574 bl 0x14354                                    |     popen (r0, r1);
    0x00089578 mov r3, 1                                     |     r3 = 1;
    0x0008957c str r3, [r8, 0x14]                            |     *((r8 + 0x14)) = r3;
    0x00089580 str r0, [r8]                                  |     *(r8) = r0;
                                                             |     do {
                                                             | label_14:
    0x00089584 ldr r3, [r8]                                  |         r3 = *(r8);
    0x00089588 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0008958c beq 0x89614                                   |             goto label_46;
                                                             |         }
    0x00089590 ldr r3, [r4, 0xc]                             |         r3 = *((r4 + 0xc));
    0x00089594 mov r0, r8                                    |         r0 = r8;
    0x00089598 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0008959c ldreq r3, [pc, 0x68c]                         |             r3 = *(0x00089c30);
                                                             |         }
                                                             |         if (r3 != 0) {
    0x000895a0 ldreq r3, [r3]                                |             r3 = *(r3);
                                                             |         }
                                                             |         if (r3 != 0) {
    0x000895a4 ldreq sl, [r3, 0x34]                          |             sl = *((r3 + 0x34));
                                                             |         }
    0x000895a8 mov r1, sl                                    |         r1 = sl;
    0x000895ac bl 0x88254                                    |         r0 = fcn_00088254 (r0, r1);
    0x000895b0 subs sb, r0, 0                                |         sb = r0 - 0;
                                                             |         if (sb > r0) {
    0x000895b4 ble 0x895dc                                   |             
    0x000895b8 ldr r3, [sp, 0x44]                            |             r3 = var_44h;
    0x000895bc cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x000895c0 bne 0x895dc                                   |                 goto label_47;
                                                             |             }
    0x000895c4 ldr r3, [pc, 0x664]                           |             r3 = *(0x89c2c);
    0x000895c8 ldr r8, [r3]                                  |             r8 = *(0x89c2c);
    0x000895cc ldr r0, [r8, 0x48]                            |             r0 = *(0x89c74);
    0x000895d0 bl 0x87bc8                                    |             fcn_00087bc8 (r0);
    0x000895d4 ldr r0, [r8, 0x4c]                            |             r0 = "_s_s_s";
    0x000895d8 bl 0x87bc8                                    |             fcn_00087bc8 ("_s_s_s");
                                                             |         }
                                                             | label_47:
    0x000895dc mov r0, sb                                    |         r0 = sb;
    0x000895e0 b 0x893f0                                     |         goto label_13;
                                                             | label_45:
    0x000895e4 mov r0, r7                                    |         r0 = r7;
    0x000895e8 bl 0xa5630                                    |         fcn_000a5630 ();
    0x000895ec str r0, [r8]                                  |         *(r8) = r0;
    0x000895f0 b 0x89584                                     |         
                                                             |     } while (1);
                                                             | label_44:
    0x000895f4 ldr r3, [r8, -0x50]                           |     r3 = *((r8 - 0x50));
    0x000895f8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000895fc bne 0x89608                                   |         
    0x00089600 bl 0x87bf8                                    |         fcn_00087bf8 ();
    0x00089604 str r0, [r8, -0x50]                           |         *((r8 - 0x50)) = r0;
                                                             |     }
    0x00089608 ldr r8, [r8, -0x50]                           |     r8 = *((r8 - 0x50));
    0x0008960c cmp r8, 0                                     |     
                                                             |     if (r8 != 0) {
    0x00089610 bne 0x89584                                   |         goto label_14;
                                                             |     }
                                                             | label_46:
    0x00089614 ldr r3, [pc, 0x640]                           |     
    0x00089618 ldr r3, [r3]                                  |     r3 = *(0x89c58);
    0x0008961c ldr r0, [r3]                                  |     r0 = *(0x89c58);
    0x00089620 bl 0xa6a74                                    |     fcn_000a6a74 (r0);
    0x00089624 mov r3, r1                                    |     r3 = r1;
    0x00089628 ldr r1, [pc, 0x600]                           |     
    0x0008962c mov r2, r0                                    |     r2 = r0;
    0x00089630 ldr r1, [r1]                                  |     r1 = *(0x89c2c);
    0x00089634 ldr r0, [r1, 0x44]                            |     r0 = "Access to negative field";
    0x00089638 bl 0x87b94                                    |     fcn_00087b94 ("Access to negative field");
    0x0008963c ldr r3, [pc, 0x61c]                           |     r3 = *(0x89c5c);
    0x00089640 mov r2, 0                                     |     r2 = 0;
                                                             | label_15:
    0x00089644 ldr r0, [sp, 0x18]                            |     r0 = var_18h;
    0x00089648 bl 0x87b94                                    |     fcn_00087b94 (r0);
    0x0008964c b 0x88e58                                     |     goto label_1;
    0x00089650 cmp fp, 0xc                                   |     
                                                             |     if (fp > 0xc) {
                                                             |         /* switch table (13 cases) at 0x8965c */
    0x00089654 ldrls pc, [pc, fp, lsl 2]                     |         offset_2 = fp << 2;
                                                             |         pc = *((pc + offset_2));
                                                             |     }
    0x00089658 b 0x896ec                                     |     goto label_18;
    0x00089690 ldrd r0, r1, [sp, 0x10]                       |     __asm ("ldrd r0, r1, [var_10h]");
    0x00089694 bl 0xa78d4                                    |     r0 = fcn_000a78d4 (r0, r1);
    0x00089698 bl 0xa6af8                                    |     fcn_000a6af8 (r0, r1);
                                                             |     do {
                                                             | label_16:
    0x0008969c strd r0, r1, [sp, 0x20]                       |         __asm ("strd r0, r1, [sp, 0x20]");
    0x000896a0 b 0x896ec                                     |         goto label_18;
    0x000896a4 bl 0x14b28                                    |         rand ();
    0x000896a8 bl 0xa6a74                                    |         fcn_000a6a74 (r0);
    0x000896ac ldr r2, [pc, 0x5b0]                           |         r2 = *(0x89c60);
    0x000896b0 ldr r3, [pc, 0x5b0]                           |         r3 = *(0x89c64);
    0x000896b4 bl 0xa6dc4                                    |         fcn_000a6dc4 (r0);
    0x000896b8 b 0x8969c                                     |         
                                                             |     } while (1);
    0x000896bc ldr r0, [pc, 0x5a8]                           |     r0 = *(0x89c68);
    0x000896c0 b 0x88ea0                                     |     goto label_12;
    0x000896c4 ldr r0, [r8, 0x90]                            |     r0 = *((r8 + 0x90));
    0x000896c8 bl 0xa6a50                                    |     fcn_000a6a50 (r0);
    0x000896cc strd r0, r1, [sp, 0x20]                       |     __asm ("strd r0, r1, [sp, 0x20]");
    0x000896d0 ldr r0, [sp, 0x44]                            |     r0 = var_44h;
    0x000896d4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000896d8 beq 0x896f4                                   |         goto label_48;
                                                             |     }
    0x000896dc ldrd r0, r1, [sp, 0x10]                       |     __asm ("ldrd r0, r1, [var_10h]");
    0x000896e0 bl 0xa7150                                    |     fcn_000a7150 (r0, r1);
                                                             |     do {
    0x000896e4 str r0, [r8, 0x90]                            |         *((r8 + 0x90)) = r0;
    0x000896e8 bl 0x14dc8                                    |         srand (r0);
                                                             | label_18:
    0x000896ec ldrd r2, r3, [sp, 0x20]                       |         __asm ("ldrd r2, r3, [var_20h]");
    0x000896f0 b 0x89644                                     |         goto label_15;
                                                             | label_48:
    0x000896f4 bl 0x14e40                                    |         time (r0);
    0x000896f8 b 0x896e4                                     |         
                                                             |     } while (1);
    0x000896fc mov r0, 0                                     |     r0 = 0;
    0x00089700 bl 0x14e40                                    |     r0 = time (r0);
                                                             | label_17:
    0x00089704 bl 0xa6a74                                    |     fcn_000a6a74 (r0);
    0x00089708 b 0x8969c                                     |     goto label_16;
    0x0008970c ldr r3, [sp, 0x44]                            |     r3 = var_44h;
    0x00089710 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00089714 bne 0x89730                                   |         goto label_49;
                                                             |     }
    0x00089718 ldr r0, [r8, 0x34]                            |     r0 = *((r8 + 0x34));
    0x0008971c bl 0x87498                                    |     r0 = fcn_00087498 (r0);
    0x00089720 mov r7, r0                                    |     r7 = r0;
                                                             |     do {
    0x00089724 mov r0, r7                                    |         r0 = r7;
    0x00089728 bl 0x1514c                                    |         strlen (r0);
    0x0008972c b 0x89744                                     |         goto label_50;
                                                             | label_49:
    0x00089730 ldr r3, [r6]                                  |         r3 = *(r6);
    0x00089734 tst r3, 2                                     |         
                                                             |         if ((r3 & 2) == 0) {
    0x00089738 ldrne r3, [r6, 0x14]                          |             r3 = *((r6 + 0x14));
                                                             |         }
                                                             |         if ((r3 & 2) == 0) {
    0x0008973c ldrne r0, [r3]                                |             r0 = *(r3);
                                                             |         }
    0x00089740 beq 0x89724                                   |         
                                                             |     } while ((r3 & 2) == 0);
                                                             | label_50:
    0x00089744 bl 0xa6a50                                    |     fcn_000a6a50 (r0);
    0x00089748 b 0x8969c                                     |     goto label_16;
    0x0008974c bl 0x18cdc                                    |     fcn_00018cdc ();
    0x00089750 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00089754 beq 0x89840                                   |         goto label_51;
                                                             |     }
    0x00089758 ldrb r3, [r7]                                 |     r3 = *(r7);
    0x0008975c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00089760 beq 0x89840                                   |         goto label_51;
                                                             |     }
    0x00089764 mov r0, r7                                    |     r0 = r7;
    0x00089768 bl 0x146c0                                    |     r0 = system (r0)
    0x0008976c asr r0, r0, 8                                 |     r0 >>= 8;
    0x00089770 b 0x89704                                     |     goto label_17;
    0x00089774 ldr r3, [sp, 0x44]                            |     r3 = var_44h;
    0x00089778 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0008977c ldreq r3, [pc, 0x4b4]                         |         r3 = obj.stdout;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00089780 ldreq r0, [r3]                                |         r0 = *(r3);
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00089784 beq 0x897ac                                   |         
    0x00089788 cmp r7, 0                                     |         
                                                             |         if (r7 == 0) {
    0x0008978c beq 0x897b4                                   |             goto label_52;
                                                             |         }
    0x00089790 ldrb r3, [r7]                                 |         r3 = *(r7);
    0x00089794 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00089798 beq 0x897b4                                   |             goto label_52;
                                                             |         }
    0x0008979c mov r1, r7                                    |         r1 = r7;
    0x000897a0 ldr r0, [r8, -0x44]                           |         r0 = *((r8 - 0x44));
    0x000897a4 bl 0x870ac                                    |         r0 = fcn_000870ac (r0, r1);
    0x000897a8 ldr r0, [r0]                                  |         r0 = *(r0);
                                                             |     }
    0x000897ac bl 0x147ec                                    |     fflush (r0);
    0x000897b0 b 0x896ec                                     |     goto label_18;
                                                             | label_52:
    0x000897b4 bl 0x18cdc                                    |     fcn_00018cdc ();
    0x000897b8 b 0x896ec                                     |     goto label_18;
    0x000897bc mov r1, r7                                    |     r1 = r7;
    0x000897c0 ldr r0, [r8, -0x44]                           |     r0 = *((r8 - 0x44));
    0x000897c4 bl 0x8705c                                    |     r0 = fcn_0008705c (r0, r1);
    0x000897c8 subs fp, r0, 0                                |     
                                                             |     if (fp != r0) {
    0x000897cc moveq sb, fp                                  |         sb = fp;
                                                             |     }
                                                             |     if (fp == r0) {
    0x000897d0 beq 0x89830                                   |         goto label_53;
                                                             |     }
    0x000897d4 ldr r0, [fp]                                  |     r0 = *(fp);
    0x000897d8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000897dc beq 0x897f0                                   |         goto label_54;
                                                             |     }
    0x000897e0 ldr r3, [fp, 0x14]                            |     r3 = *(arg_14h);
    0x000897e4 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000897e8 beq 0x89838                                   |         goto label_55;
                                                             |     }
    0x000897ec bl 0x14438                                    |     r0 = pclose (r0);
                                                             |     do {
                                                             | label_54:
    0x000897f0 mov sb, r0                                    |         sb = r0;
    0x000897f4 ldr r0, [fp, 4]                               |         r0 = *(ptr);
    0x000897f8 bl 0x152a8                                    |         free (r0);
    0x000897fc mov r1, r7                                    |         r1 = r7;
    0x00089800 ldr r0, [r8, -0x44]                           |         r0 = *((r8 - 0x44));
    0x00089804 bl 0x871d0                                    |         fcn_000871d0 (r0, r1);
    0x00089808 cmp sb, 0                                     |         
                                                             |         if (sb != 0) {
    0x0008980c beq 0x89830                                   |             
    0x00089810 ldr r3, [pc, 0x444]                           |             
    0x00089814 ldr r3, [r3]                                  |             r3 = *(0x89c58);
    0x00089818 ldr r0, [r3]                                  |             r0 = *(0x89c58);
    0x0008981c bl 0xa6a74                                    |             r0 = fcn_000a6a74 (r0);
    0x00089820 mov r2, r0                                    |             r2 = r0;
    0x00089824 mov r3, r1                                    |             r3 = r1;
    0x00089828 ldr r0, [r8, 0x44]                            |             r0 = *((r8 + 0x44));
    0x0008982c bl 0x87b94                                    |             fcn_00087b94 (r0);
                                                             |         }
                                                             | label_53:
    0x00089830 mov r0, sb                                    |         r0 = sb;
    0x00089834 b 0x89704                                     |         goto label_17;
                                                             | label_55:
    0x00089838 bl 0x14dec                                    |         fclose (r0);
    0x0008983c b 0x897f0                                     |         
                                                             |     } while (1);
                                                             | label_51:
    0x00089840 mov r2, 0                                     |     r2 = 0;
    0x00089844 mov r3, 0                                     |     r3 = 0;
    0x00089848 strd r2, r3, [sp, 0x20]                       |     __asm ("strd r2, r3, [sp, 0x20]");
    0x0008984c b 0x896ec                                     |     goto label_18;
    0x00089850 ldr r1, [sp, 0x18]                            |     r1 = var_18h;
    0x00089854 mov r0, r4                                    |     r0 = r4;
    0x00089858 bl 0x8a03c                                    |     fcn_0008a03c (r0, r1);
    0x0008985c b 0x89344                                     |     goto label_11;
    0x00089860 ldr r0, [sp, 0x44]                            |     r0 = var_44h;
    0x00089864 bl 0x8a5ec                                    |     r0 = fcn_0008a5ec (r0);
                                                             | label_21:
    0x00089868 mov r1, r0                                    |     r1 = r0;
    0x0008986c ldr r0, [sp, 0x18]                            |     r0 = var_18h;
    0x00089870 bl 0x87a44                                    |     fcn_00087a44 (r0, r1);
    0x00089874 b 0x88e58                                     |     goto label_1;
    0x00089878 mov r0, sl                                    |     r0 = sl;
    0x0008987c bl 0x86f20                                    |     fcn_00086f20 (r0);
    0x00089880 cmp fp, 0x4d                                  |     
    0x00089884 mov r8, r0                                    |     r8 = r0;
    0x00089888 mov sb, r1                                    |     sb = r1;
                                                             |     if (fp == 0x4d) {
    0x0008988c beq 0x89900                                   |         goto label_56;
                                                             |     }
                                                             |     if (fp > 0x4d) {
    0x00089890 bgt 0x898b0                                   |         goto label_57;
                                                             |     }
    0x00089894 cmp fp, 0x21                                  |     
                                                             |     if (fp == 0x21) {
    0x00089898 beq 0x89920                                   |         goto label_58;
                                                             |     }
    0x0008989c cmp fp, 0x2d                                  |     
    0x000898a0 addeq sb, r1, 0x80000000                      |     sb = r1 + 0x80000000;
                                                             |     while (fp != 0x50) {
                                                             | label_19:
    0x000898a4 mov r2, r8                                    |         r2 = r8;
    0x000898a8 mov r3, sb                                    |         r3 = sb;
    0x000898ac b 0x89644                                     |         goto label_15;
                                                             | label_57:
    0x000898b0 cmp fp, 0x6d                                  |         
                                                             |         if (fp == 0x6d) {
    0x000898b4 beq 0x89910                                   |             goto label_59;
                                                             |         }
    0x000898b8 cmp fp, 0x70                                  |         
                                                             |         if (fp == 0x70) {
    0x000898bc beq 0x898e0                                   |             goto label_60;
                                                             |         }
    0x000898c0 cmp fp, 0x50                                  |         
    0x000898c4 bne 0x898a4                                   |         
                                                             |     }
    0x000898c8 mov r2, 0                                     |     r2 = 0;
    0x000898cc ldr r3, [pc, 0x374]                           |     r3 = *(0x89c44);
    0x000898d0 bl 0xa67a4                                    |     r0 = fcn_000a67a4 (r0, r1);
                                                             |     do {
    0x000898d4 mov r8, r0                                    |         r8 = r0;
    0x000898d8 mov sb, r1                                    |         sb = r1;
    0x000898dc b 0x898ec                                     |         goto label_20;
                                                             | label_60:
    0x000898e0 mov r2, 0                                     |         r2 = 0;
    0x000898e4 ldr r3, [pc, 0x35c]                           |         r3 = *(0x89c44);
    0x000898e8 bl 0xa67a4                                    |         r0 = fcn_000a67a4 (r0, r1);
                                                             | label_20:
    0x000898ec mov r2, r0                                    |         r2 = r0;
    0x000898f0 mov r3, r1                                    |         r3 = r1;
    0x000898f4 mov r0, sl                                    |         r0 = sl;
    0x000898f8 bl 0x87b94                                    |         fcn_00087b94 (r0);
    0x000898fc b 0x898a4                                     |         goto label_19;
                                                             | label_56:
    0x00089900 mov r2, 0                                     |         r2 = 0;
    0x00089904 ldr r3, [pc, 0x33c]                           |         r3 = *(0x89c44);
    0x00089908 bl 0xa67a0                                    |         fcn_000a67a0 (r0, r1);
    0x0008990c b 0x898d4                                     |         
                                                             |     } while (1);
                                                             | label_59:
    0x00089910 mov r2, 0                                     |     r2 = 0;
    0x00089914 ldr r3, [pc, 0x32c]                           |     r3 = *(0x89c44);
    0x00089918 bl 0xa67a0                                    |     fcn_000a67a0 (r0, r1);
    0x0008991c b 0x898ec                                     |     goto label_20;
                                                             | label_58:
    0x00089920 mov r0, sl                                    |     r0 = sl;
    0x00089924 bl 0x86fbc                                    |     r0 = fcn_00086fbc (r0);
    0x00089928 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x0008992c movne r8, 0                                   |         r8 = 0;
                                                             |     }
                                                             |     if (r8 != r0) {
    0x00089930 ldreq sb, [pc, 0x310]                         |         sb = *(0x00089c48);
                                                             |     }
                                                             |     if (r8 == r0) {
    0x00089934 movne sb, r8                                  |         sb = r8;
                                                             |     }
    0x00089938 b 0x898a4                                     |     goto label_19;
    0x0008993c mov r0, sl                                    |     r0 = sl;
    0x00089940 bl 0x86f20                                    |     r0 = fcn_00086f20 (r0);
    0x00089944 bl 0xa70f4                                    |     r0 = fcn_000a70f4 (r0, r1);
    0x00089948 subs sb, r0, 0                                |     sb = r0 - 0;
                                                             |     if (sb < r0) {
    0x0008994c ldrlt r0, [pc, 0x31c]                         |         r0 = "Access to negative field";
                                                             |         goto label_61;
                                                             |     }
                                                             |     if (sb < r0) {
                                                             | label_61:
    0x00089950 blt 0x88ea0                                   |         goto label_12;
                                                             |     }
                                                             |     if (sb != r0) {
    0x00089954 ldreq r3, [r8, 0x34]                          |         r3 = *((r8 + 0x34));
                                                             |     }
                                                             |     if (sb != r0) {
    0x00089958 beq 0x89988                                   |         
    0x0008995c bl 0x877b8                                    |         fcn_000877b8 ();
    0x00089960 ldr r3, [r8, -0x34]                           |         r3 = *((r8 - 0x34));
    0x00089964 cmp r3, sb                                    |         
                                                             |         if (r3 < sb) {
    0x00089968 bge 0x89974                                   |             
    0x0008996c mov r0, sb                                    |             r0 = sb;
    0x00089970 bl 0x86c88                                    |             fcn_00086c88 (r0, r1);
                                                             |         }
    0x00089974 mov r3, 0x18                                  |         r3 = 0x18;
    0x00089978 mul r5, r3, sb                                |         r5 = r3 * sb;
    0x0008997c ldr r3, [r8, -0x2c]                           |         r3 = *((r8 - 0x2c));
    0x00089980 sub r5, r5, 0x18                              |         r5 -= 0x18;
    0x00089984 add r3, r3, r5                                |         r3 += r5;
                                                             |     }
    0x00089988 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x0008998c b 0x88e58                                     |     goto label_1;
    0x00089990 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00089994 and r3, r3, 0xff00                            |     r3 &= 0xff00;
    0x00089998 cmp r3, 0x1300                                |     
                                                             |     if (r3 == 0x1300) {
    0x0008999c ldrne r2, [pc, 0x2d0]                         |         r2 = *((pc + 0x2d0));
                                                             |     }
                                                             |     if (r3 == 0x1300) {
    0x000899a0 bne 0x899b0                                   |         
    0x000899a4 ldr r0, [r8, 0x30]                            |         r0 = *((r8 + 0x30));
    0x000899a8 bl 0x87498                                    |         r0 = fcn_00087498 (r0);
    0x000899ac mov r2, r0                                    |         r2 = r0;
                                                             |     }
    0x000899b0 ldr r3, [sp, 0x2c]                            |     r3 = filename;
    0x000899b4 mov r1, r7                                    |     r1 = r7;
    0x000899b8 ldr r0, [pc, 0x2b8]                           |     r0 = *(0x89c74);
    0x000899bc bl 0x18d1c                                    |     fcn_00018d1c ();
    0x000899c0 b 0x89868                                     |     goto label_21;
    0x000899c4 mov r0, r6                                    |     r0 = r6;
    0x000899c8 bl 0x86fbc                                    |     r0 = fcn_00086fbc (r0);
    0x000899cc cmp r0, 0                                     |     
    0x000899d0 beq 0x899e0                                   |     
                                                             |     while (r0 == 0) {
    0x000899d4 ldr r0, [r4, 0xc]                             |         r0 = *((r4 + 0xc));
    0x000899d8 bl 0x8a800                                    |         fcn_0008a800 (r0);
    0x000899dc b 0x893f0                                     |         goto label_13;
    0x000899e0 mov r2, 0                                     |         r2 = 0;
                                                             | label_40:
    0x000899e4 mov r3, 0                                     |         r3 = 0;
    0x000899e8 b 0x89644                                     |         goto label_15;
    0x000899ec mov r0, r6                                    |         r0 = r6;
    0x000899f0 bl 0x86fbc                                    |         r0 = fcn_00086fbc (r0);
    0x000899f4 cmp r0, 0                                     |         
    0x000899f8 beq 0x899d4                                   |         
                                                             |     }
    0x000899fc mov r2, 0                                     |     r2 = 0;
    0x00089a00 b 0x89380                                     |     goto label_22;
    0x00089a04 mov r0, sl                                    |     r0 = sl;
    0x00089a08 bl 0x86f20                                    |     fcn_00086f20 (r0);
    0x00089a0c sub fp, fp, 0x25                              |     
    0x00089a10 mov r8, r0                                    |     r8 = r0;
    0x00089a14 mov sb, r1                                    |     sb = r1;
    0x00089a18 cmp fp, 0xa                                   |     
                                                             |     if (fp > 0xa) {
                                                             |         /* switch table (11 cases) at 0x89a24 */
    0x00089a1c ldrls pc, [pc, fp, lsl 2]                     |         offset_3 = fp << 2;
                                                             |         pc = *((pc + offset_3));
                                                             |     }
    0x00089a20 b 0x89a64                                     |     goto label_62;
    0x00089a50 mov r2, r0                                    |     r2 = r0;
    0x00089a54 mov r3, r1                                    |     r3 = r1;
    0x00089a58 ldrd r0, r1, [sp, 0x10]                       |     __asm ("ldrd r0, r1, [var_10h]");
    0x00089a5c bl 0xa67a4                                    |     fcn_000a67a4 (r0, r1);
                                                             |     do {
                                                             | label_23:
    0x00089a60 strd r0, r1, [sp, 0x10]                       |         __asm ("strd r0, r1, [sp, 0x10]");
                                                             | label_62:
    0x00089a64 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x00089a68 ldr r1, [sp, 0x18]                            |         r1 = var_18h;
    0x00089a6c and r0, r3, 0xff00                            |         r0 = r3 & 0xff00;
    0x00089a70 cmp r0, 0x1000                                |         
                                                             |         if (r0 == 0x1000) {
    0x00089a74 movne r1, r6                                  |             r1 = r6;
                                                             |         }
    0x00089a78 ldrd r2, r3, [sp, 0x10]                       |         __asm ("ldrd r2, r3, [var_10h]");
    0x00089a7c mov r0, r1                                    |         r0 = r1;
    0x00089a80 bl 0x87b94                                    |         fcn_00087b94 (r0);
    0x00089a84 b 0x89344                                     |         goto label_11;
    0x00089a88 mov r2, r0                                    |         r2 = r0;
    0x00089a8c mov r3, r1                                    |         r3 = r1;
                                                             | label_24:
    0x00089a90 ldrd r0, r1, [sp, 0x10]                       |         __asm ("ldrd r0, r1, [var_10h]");
    0x00089a94 bl 0xa67a0                                    |         fcn_000a67a0 (r0, r1);
    0x00089a98 b 0x89a60                                     |         
                                                             |     } while (1);
    0x00089a9c mov r2, r0                                    |     r2 = r0;
    0x00089aa0 mov r3, r1                                    |     r3 = r1;
    0x00089aa4 ldrd r0, r1, [sp, 0x10]                       |     __asm ("ldrd r0, r1, [var_10h]");
    0x00089aa8 bl 0xa6b58                                    |     fcn_000a6b58 (r0);
    0x00089aac b 0x89a60                                     |     goto label_23;
    0x00089ab0 mov r2, 0                                     |     r2 = 0;
    0x00089ab4 mov r3, 0                                     |     r3 = 0;
    0x00089ab8 bl 0xa7090                                    |     r0 = fcn_000a7090 (r0, r1);
    0x00089abc cmp r0, 0                                     |     
    0x00089ac0 beq 0x89acc                                   |     
                                                             |     while (r0 != 0) {
    0x00089ac4 ldr r0, [pc, 0x1b0]                           |         r0 = "_s_s_s";
    0x00089ac8 b 0x88ea0                                     |         goto label_12;
    0x00089acc mov r2, r8                                    |         r2 = r8;
    0x00089ad0 mov r3, sb                                    |         r3 = sb;
    0x00089ad4 ldrd r0, r1, [sp, 0x10]                       |         __asm ("ldrd r0, r1, [var_10h]");
    0x00089ad8 bl 0xa6dc4                                    |         fcn_000a6dc4 (r0);
    0x00089adc b 0x89a60                                     |         goto label_23;
    0x00089ae0 mov r2, 0                                     |         r2 = 0;
    0x00089ae4 mov r3, 0                                     |         r3 = 0;
    0x00089ae8 bl 0xa7090                                    |         r0 = fcn_000a7090 (r0, r1);
    0x00089aec cmp r0, 0                                     |         
    0x00089af0 bne 0x89ac4                                   |         
                                                             |     }
    0x00089af4 mov r2, r8                                    |     r2 = r8;
    0x00089af8 mov r3, sb                                    |     r3 = sb;
    0x00089afc ldrd r0, r1, [sp, 0x10]                       |     __asm ("ldrd r0, r1, [var_10h]");
    0x00089b00 bl 0xa6dc4                                    |     r0 = fcn_000a6dc4 (r0);
    0x00089b04 bl 0xa78d4                                    |     r0 = fcn_000a78d4 (r0, r1);
    0x00089b08 bl 0xa6af8                                    |     fcn_000a6af8 (r0, r1);
    0x00089b0c mov r2, r8                                    |     r2 = r8;
    0x00089b10 mov r3, sb                                    |     r3 = sb;
    0x00089b14 bl 0xa6b58                                    |     r0 = fcn_000a6b58 (r0);
    0x00089b18 mov r2, r0                                    |     r2 = r0;
    0x00089b1c mov r3, r1                                    |     r3 = r1;
    0x00089b20 b 0x89a90                                     |     goto label_24;
    0x00089b24 mov r0, r6                                    |     r0 = r6;
    0x00089b28 bl 0x86f20                                    |     fcn_00086f20 (r0);
    0x00089b2c ldr r3, [r6]                                  |     r3 = *(r6);
    0x00089b30 ldr sb, [pc, 0x148]                           |     sb = *(0x00089c80);
    0x00089b34 eor r3, r3, 0x4000                            |     r3 ^= 0x4000;
    0x00089b38 tst r3, sb                                    |     
                                                             |     if ((r3 & sb) == 0) {
    0x00089b3c beq 0x89bd4                                   |         goto label_63;
                                                             |     }
    0x00089b40 mov r0, sl                                    |     r0 = sl;
    0x00089b44 bl 0x86f20                                    |     fcn_00086f20 (r0);
    0x00089b48 ldr r3, [sl]                                  |     r3 = *(sl);
    0x00089b4c eor r3, r3, 0x4000                            |     r3 ^= 0x4000;
    0x00089b50 tst r3, sb                                    |     
                                                             |     if ((r3 & sb) == 0) {
    0x00089b54 beq 0x89bd4                                   |         goto label_63;
                                                             |     }
    0x00089b58 mov r0, r6                                    |     r0 = r6;
    0x00089b5c bl 0x86f20                                    |     r0 = fcn_00086f20 (r0);
    0x00089b60 mov r8, r0                                    |     r8 = r0;
    0x00089b64 mov r0, sl                                    |     r0 = sl;
    0x00089b68 mov sb, r1                                    |     sb = r1;
    0x00089b6c bl 0x86f20                                    |     r0 = fcn_00086f20 (r0);
    0x00089b70 mov r2, r0                                    |     r2 = r0;
    0x00089b74 mov r3, r1                                    |     r3 = r1;
    0x00089b78 mov r0, r8                                    |     r0 = r8;
    0x00089b7c mov r1, sb                                    |     r1 = sb;
    0x00089b80 bl 0xa67a0                                    |     fcn_000a67a0 (r0, r1);
                                                             |     do {
    0x00089b84 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x00089b88 and r3, r3, 0x7e                              |         r3 &= 0x7e;
    0x00089b8c cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00089b90 beq 0x89c10                                   |             goto label_64;
                                                             |         }
    0x00089b94 cmp r3, 4                                     |         
                                                             |         if (r3 == 4) {
    0x00089b98 beq 0x89c20                                   |             goto label_65;
                                                             |         }
    0x00089b9c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00089ba0 bne 0x89bbc                                   |             
    0x00089ba4 mov r2, 0                                     |             r2 = 0;
    0x00089ba8 mov r3, 0                                     |             r3 = 0;
    0x00089bac bl 0xa70e0                                    |             r0 = fcn_000a70e0 ();
                                                             | label_26:
    0x00089bb0 adds r3, r0, 0                                |             r3 = r0 + 0;
                                                             |             if (r3 == r0) {
    0x00089bb4 movne r3, 1                                   |                 r3 = 1;
                                                             |             }
    0x00089bb8 str r3, [sp, 0x30]                            |             var_30h = r3;
                                                             |         }
    0x00089bbc ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x00089bc0 mvn r0, r3                                    |         r0 = ~r3;
    0x00089bc4 ldr r3, [sp, 0x30]                            |         r3 = var_30h;
    0x00089bc8 and r0, r0, 1                                 |         r0 &= 1;
    0x00089bcc eor r0, r0, r3                                |         r0 ^= r3;
    0x00089bd0 b 0x893f0                                     |         goto label_13;
                                                             | label_63:
    0x00089bd4 mov r0, r6                                    |         r0 = r6;
    0x00089bd8 bl 0x87498                                    |         r0 = fcn_00087498 (r0);
    0x00089bdc mov sb, r0                                    |         sb = r0;
    0x00089be0 mov r0, sl                                    |         r0 = sl;
    0x00089be4 bl 0x87498                                    |         fcn_00087498 (r0);
    0x00089be8 ldr r3, [r8, -0x1c]                           |         r3 = *((r8 - 0x1c));
    0x00089bec cmp r3, 0                                     |         
    0x00089bf0 mov r1, r0                                    |         r1 = r0;
    0x00089bf4 mov r0, sb                                    |         r0 = sb;
                                                             |         if (r3 == 0) {
    0x00089bf8 beq 0x89c08                                   |             goto label_66;
                                                             |         }
    0x00089bfc bl 0x14c0c                                    |         r0 = strcasecmp (r0, r1);
                                                             | label_25:
    0x00089c00 bl 0xa6a74                                    |         fcn_000a6a74 (r0);
    0x00089c04 b 0x89b84                                     |         
                                                             |     } while (1);
                                                             | label_66:
    0x00089c08 bl 0x14ed0                                    |     strcmp (r0, r1);
    0x00089c0c b 0x89c00                                     |     goto label_25;
                                                             | label_64:
    0x00089c10 mov r2, 0                                     |     r2 = 0;
    0x00089c14 mov r3, 0                                     |     r3 = 0;
    0x00089c18 bl 0xa70cc                                    |     fcn_000a70cc (r0, r1);
    0x00089c1c b 0x89bb0                                     |     goto label_26;
                                                             | label_65:
    0x00089c20 mov r2, 0                                     |     r2 = 0;
    0x00089c24 mov r3, 0                                     |     r3 = 0;
    0x00089c28 bl 0xa7090                                    |     fcn_000a7090 (r0, r1);
    0x00089c2c b 0x89bb0                                     |     goto label_26;
                                                             | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/bin/busybox @ 0x919ec */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.000919ec ()                                  | void fcn_000919ec (int32_t arg1) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_24h;
                                                             |     char * s1;
                                                             |     int32_t var_29h;
                                                             |     char * s;
                                                             |     int32_t var_0h_3;
                                                             |     int32_t var_1h;
                                                             |     char * dest;
                                                             |     int32_t var_128h;
                                                             |     int32_t var_12ch;
                                                             |     r0 = arg1;
    0x000919ec push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000919f0 ldrb r3, [r0]                                 |     r3 = *(r0);
    0x000919f4 sub sp, sp, 0x12c                             |     
    0x000919f8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000919fc beq 0x91c34                                   |         goto label_2;
                                                             |     }
    0x00091a00 cmp r3, 0x3a                                  |     
    0x00091a04 mvn r3, 0                                     |     r3 = ~0;
    0x00091a08 str r3, [sp, 0x20]                            |     var_20h = r3;
    0x00091a0c str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x00091a10 ldr r3, [pc, 0xbec]                           |     r3 = *(0x92600);
    0x00091a14 mov r6, r0                                    |     r6 = r0;
    0x00091a18 ldr r5, [r3]                                  |     r5 = *(0x92600);
                                                             |     if (r3 != 0x3a) {
    0x00091a1c addeq r6, r0, 1                               |         r6 = r0 + 1;
                                                             |     }
    0x00091a20 ldm r5, {r4, r8}                              |     r4 = *(r5);
                                                             |     r8 = *((r5 + 4));
    0x00091a24 sub r8, r8, 1                                 |     r8--;
    0x00091a28 mov r1, r8                                    |     r1 = r8;
    0x00091a2c mov r0, r4                                    |     r0 = r4;
    0x00091a30 bl 0x90770                                    |     fcn_00090770 (r0, r1);
    0x00091a34 ldr fp, [r5, 0x50]                            |     fp = *(0x92650);
                                                             |     do {
    0x00091a38 mov r0, r6                                    |         r0 = r6;
    0x00091a3c ldrb r3, [r6], 1                              |         r3 = *(r6);
                                                             |         r6++;
    0x00091a40 cmp r3, 9                                     |         
    0x00091a44 cmpne r3, 0x20                                |         __asm ("cmpne r3, 0x20");
    0x00091a48 beq 0x91a38                                   |         
                                                             |     } while (r3 == 9);
    0x00091a4c cmp r3, 0x25                                  |     
                                                             |     if (r3 != 0x25) {
    0x00091a50 bne 0x91a94                                   |         goto label_14;
                                                             |     }
    0x00091a54 mov r3, 1                                     |     r3 = 1;
    0x00091a58 mov r1, r8                                    |     r1 = r8;
    0x00091a5c mov r0, r4                                    |     r0 = r4;
    0x00091a60 str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x00091a64 bl 0x90770                                    |     fcn_00090770 (r0, r1);
    0x00091a68 str r0, [sp, 0x20]                            |     var_20h = r0;
                                                             | label_1:
    0x00091a6c mov r0, r6                                    |     r0 = r6;
                                                             |     do {
    0x00091a70 str r0, [sp, 0xc]                             |         var_ch = r0;
    0x00091a74 ldrb r3, [r0], 1                              |         r3 = *(r0);
                                                             |         r0++;
    0x00091a78 cmp r3, 9                                     |         
    0x00091a7c cmpne r3, 0x20                                |         __asm ("cmpne r3, 0x20");
    0x00091a80 beq 0x91a70                                   |         
                                                             |     } while (r3 == 9);
                                                             | label_0:
    0x00091a84 add r2, sp, 0x28                              |     r2 += s1;
    0x00091a88 ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x00091a8c mov sb, r2                                    |     sb = r2;
    0x00091a90 b 0x91af4                                     |     goto label_15;
                                                             | label_14:
    0x00091a94 add r1, sp, 0x1c                              |     r1 += var_1ch;
    0x00091a98 bl 0x907e0                                    |     fcn_000907e0 (r0, r1);
                                                             |     do {
    0x00091a9c str r0, [sp, 0xc]                             |         var_ch = r0;
    0x00091aa0 ldrb r3, [r0], 1                              |         r3 = *(r0);
                                                             |         r0++;
    0x00091aa4 cmp r3, 9                                     |         
    0x00091aa8 cmpne r3, 0x20                                |         __asm ("cmpne r3, 0x20");
    0x00091aac beq 0x91a9c                                   |         
                                                             |     } while (r3 == 9);
    0x00091ab0 cmp r3, 0x2c                                  |     
                                                             |     if (r3 != 0x2c) {
    0x00091ab4 bne 0x91a84                                   |         goto label_0;
                                                             |     }
    0x00091ab8 mov r3, r0                                    |     r3 = r0;
                                                             |     do {
    0x00091abc mov r0, r3                                    |         r0 = r3;
    0x00091ac0 ldrb r2, [r3], 1                              |         r2 = *(r3);
                                                             |         r3++;
    0x00091ac4 cmp r2, 9                                     |         
    0x00091ac8 cmpne r2, 0x20                                |         __asm ("cmpne r2, 0x20");
    0x00091acc beq 0x91abc                                   |         
                                                             |     } while (r2 == 9);
    0x00091ad0 add r1, sp, 0x20                              |     r1 += var_20h;
    0x00091ad4 bl 0x907e0                                    |     r0 = fcn_000907e0 (r0, r1);
    0x00091ad8 mov r6, r0                                    |     r6 = r0;
    0x00091adc b 0x91a6c                                     |     goto label_1;
                                                             |     do {
    0x00091ae0 sub ip, r1, 9                                 |         
    0x00091ae4 cmp ip, 4                                     |         
                                                             |         if (ip < 4) {
    0x00091ae8 bls 0x91b04                                   |             goto label_16;
                                                             |         }
    0x00091aec mov r3, r0                                    |         r3 = r0;
    0x00091af0 strb r1, [r2], 1                              |         *(r2) = r1;
                                                             |         r2++;
                                                             | label_15:
    0x00091af4 mov r0, r3                                    |         r0 = r3;
    0x00091af8 ldrb r1, [r0], 1                              |         r1 = *(r0);
                                                             |         r0++;
    0x00091afc tst r1, 0xdf                                  |         
    0x00091b00 bne 0x91ae0                                   |         
                                                             |     } while ((r1 & 0xdf) != 0);
                                                             | label_16:
    0x00091b04 mov r1, 0                                     |     r1 = 0;
    0x00091b08 strb r1, [r2]                                 |     *(r2) = r1;
                                                             |     do {
    0x00091b0c mov r1, r3                                    |         r1 = r3;
    0x00091b10 ldrb r2, [r3], 1                              |         r2 = *(r3);
                                                             |         r3++;
    0x00091b14 cmp r2, 9                                     |         
    0x00091b18 cmpne r2, 0x20                                |         __asm ("cmpne r2, 0x20");
                                                             |         if (r2 != 9) {
    0x00091b1c moveq r6, 1                                   |             r6 = 1;
                                                             |         }
                                                             |         if (r2 == 9) {
    0x00091b20 movne r6, 0                                   |             r6 = 0;
                                                             |         }
    0x00091b24 beq 0x91b0c                                   |         
                                                             |     } while (r2 == 9);
    0x00091b28 add r0, sp, 0xa8                              |     r0 += dest;
    0x00091b2c bl 0x142f4                                    |     strcpy (r0, r1);
    0x00091b30 mov r1, 0x21                                  |     r1 = 0x21;
    0x00091b34 mov r0, sb                                    |     r0 = sb;
    0x00091b38 bl 0x17f40                                    |     r0 = fcn_00017f40 (r0, r1);
    0x00091b3c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00091b40 strbne r6, [r0]                               |         *(r0) = r6;
                                                             |     }
    0x00091b44 ldr sl, [sp, 0x1c]                            |     sl = var_1ch;
                                                             |     if (r0 == 0) {
    0x00091b48 movne r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x00091b4c strne r3, [sp, 0x10]                          |         var_10h = r3;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00091b50 streq r0, [sp, 0x10]                          |         var_10h = r0;
                                                             |     }
    0x00091b54 cmp sl, 0                                     |     
                                                             |     if (sl >= 0) {
    0x00091b58 blt 0x91b70                                   |         
    0x00091b5c mov r0, sl                                    |         r0 = sl;
    0x00091b60 bl 0x90658                                    |         r0 = fcn_00090658 (r0);
    0x00091b64 mov r4, r0                                    |         r4 = r0;
    0x00091b68 bl 0x905e0                                    |         r0 = fcn_000905e0 (r0);
    0x00091b6c mov r8, r0                                    |         r8 = r0;
                                                             |     }
    0x00091b70 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x00091b74 cmp r3, 0                                     |     
    0x00091b78 str r3, [sp, 0x14]                            |     var_14h = r3;
                                                             |     if (r3 >= 0) {
    0x00091b7c blt 0x91b90                                   |         
    0x00091b80 mov r0, r3                                    |         r0 = r3;
    0x00091b84 bl 0x90658                                    |         r0 = fcn_00090658 (r0);
    0x00091b88 bl 0x905e0                                    |         r0 = fcn_000905e0 (r0);
    0x00091b8c mov r8, r0                                    |         r8 = r0;
                                                             |     }
    0x00091b90 mov r0, sb                                    |     r0 = sb;
    0x00091b94 bl 0x1514c                                    |     strlen (r0);
    0x00091b98 subs r7, r0, 0                                |     r7 -= s1;
                                                             |     if (r7 != s1) {
    0x00091b9c bne 0x91bbc                                   |         goto label_17;
                                                             |     }
    0x00091ba0 cmp sl, 0                                     |     
                                                             |     if (sl < 0) {
    0x00091ba4 blt 0x91c34                                   |         goto label_2;
                                                             |     }
    0x00091ba8 mov r0, sl                                    |     r0 = sl;
    0x00091bac bl 0x90658                                    |     fcn_00090658 (r0);
                                                             |     do {
    0x00091bb0 str r0, [r5, 8]                               |         *((r5 + 8)) = r0;
    0x00091bb4 bl 0x8f8c8                                    |         fcn_0008f8c8 ();
    0x00091bb8 b 0x91c34                                     |         goto label_2;
                                                             | label_17:
    0x00091bbc ldrb r6, [sp, 0x28]                           |         r6 = s1;
    0x00091bc0 cmp r6, 0x21                                  |         
                                                             |         if (r6 == 0x21) {
    0x00091bc4 bne 0x91bf8                                   |             
    0x00091bc8 bl 0x90ae0                                    |             fcn_00090ae0 ();
    0x00091bcc bl 0x90a54                                    |             fcn_00090a54 ();
    0x00091bd0 ldr r3, [sp, 0xc]                             |             r3 = var_ch;
    0x00091bd4 add r0, r3, 1                                 |             r0 = r3 + 1;
    0x00091bd8 bl 0x146c0                                    |             r0 = system (r0)
    0x00091bdc subs r1, r0, 0                                |             r1 = r0 - 0;
                                                             |             if (r1 != r0) {
    0x00091be0 beq 0x91bec                                   |                 
    0x00091be4 ldr r0, [pc, 0xa1c]                           |                 r0 = *(0x92604);
    0x00091be8 bl 0x1436c                                    |                 r0 = printf (r0);
                                                             |             }
                                                             | label_3:
    0x00091bec bl 0x8fa84                                    |             fcn_0008fa84 ();
                                                             | label_4:
    0x00091bf0 bl 0x9138c                                    |             fcn_0009138c ();
    0x00091bf4 b 0x91c34                                     |             
                                                             |         } else {
    0x00091bf8 cmp r6, 0x3d                                  |             
                                                             |             if (r6 != 0x3d) {
    0x00091bfc bne 0x91c50                                   |                 goto label_18;
                                                             |             }
    0x00091c00 ldrb r3, [sp, 0x29]                           |             r3 = var_29h;
    0x00091c04 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00091c08 bne 0x91c50                                   |                 goto label_18;
                                                             |             }
    0x00091c0c cmp sl, 0                                     |             
                                                             |             if (sl < 0) {
    0x00091c10 bge 0x91c28                                   |                 
    0x00091c14 ldr r0, [r5]                                  |                 r0 = *(r5);
    0x00091c18 ldr r1, [r5, 8]                               |                 r1 = *((r5 + 8));
    0x00091c1c bl 0x90770                                    |                 fcn_00090770 (r0, r1);
    0x00091c20 str r0, [sp, 0x20]                            |                 var_20h = r0;
    0x00091c24 str r0, [sp, 0x1c]                            |                 var_1ch = r0;
                                                             |             }
    0x00091c28 ldr r1, [sp, 0x1c]                            |             r1 = var_1ch;
    0x00091c2c ldr r0, [pc, 0x9d8]                           |             r0 = "shell_returned__i";
    0x00091c30 bl 0x9017c                                    |             fcn_0009017c ();
                                                             |         }
                                                             | label_2:
    0x00091c34 ldr r3, [pc, 0x9c8]                           |         r3 = *(0x92600);
    0x00091c38 ldr r4, [r3]                                  |         r4 = *(0x92600);
    0x00091c3c ldr r0, [r4, 8]                               |         r0 = "shell_returned__i";
    0x00091c40 bl 0x91698                                    |         fcn_00091698 ("shell_returned__i");
    0x00091c44 str r0, [r4, 8]                               |         *((r4 + 8)) = r0;
                                                             | label_13:
    0x00091c48 add sp, sp, 0x12c                             |         
    0x00091c4c pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_18:
    0x00091c50 mov r2, r7                                    |         r2 = r7;
    0x00091c54 ldr r1, [pc, 0x9b4]                           |         r1 = *(0x9260c);
    0x00091c58 mov r0, sb                                    |         r0 = sb;
    0x00091c5c bl 0x14b94                                    |         r0 = strncmp (r0, r1, r2);
    0x00091c60 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00091c64 bne 0x91ca8                                   |             goto label_19;
                                                             |         }
    0x00091c68 cmp sl, 0                                     |         
                                                             |         if (sl < 0) {
    0x00091c6c bge 0x91c8c                                   |             
    0x00091c70 ldr r6, [r5, 8]                               |             r6 = *((r5 + 8));
    0x00091c74 mov r0, r6                                    |             r0 = r6;
    0x00091c78 bl 0x904a4                                    |             r0 = fcn_000904a4 (r0);
    0x00091c7c mov r4, r0                                    |             r4 = r0;
    0x00091c80 mov r0, r6                                    |             r0 = r6;
    0x00091c84 bl 0x905e0                                    |             r0 = fcn_000905e0 (r0);
    0x00091c88 mov r8, r0                                    |             r8 = r0;
                                                             |         }
    0x00091c8c mov r3, 1                                     |         r3 = 1;
    0x00091c90 str r3, [sp]                                  |         *(sp) = r3;
    0x00091c94 mov r2, r3                                    |         r2 = r3;
    0x00091c98 mov r1, r8                                    |         r1 = r8;
    0x00091c9c mov r0, r4                                    |         r0 = r4;
    0x00091ca0 bl 0x8febc                                    |         fcn_0008febc (r0, r1, r2);
    0x00091ca4 b 0x91bb0                                     |         
                                                             |     } while (1);
                                                             | label_19:
    0x00091ca8 mov r2, r7                                    |     r2 = r7;
    0x00091cac ldr r1, [pc, 0x960]                           |     r1 = "delete";
    0x00091cb0 mov r0, sb                                    |     r0 = sb;
    0x00091cb4 bl 0x14b94                                    |     r0 = strncmp (r0, "delete", r2);
    0x00091cb8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00091cbc bne 0x91dc8                                   |         goto label_20;
                                                             |     }
    0x00091cc0 ldr r0, [r5, 0x20]                            |     r0 = *((r5 + 0x20));
    0x00091cc4 ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x00091cc8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00091ccc eorne r0, r3, 1                               |         r0 = r3 ^ 1;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00091cd0 moveq r0, 0                                   |         r0 = 0;
                                                             |     }
    0x00091cd4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00091cd8 beq 0x91cec                                   |         
                                                             | label_7:
    0x00091cdc ldr r0, [pc, 0x934]                           |         r0 = "edit";
    0x00091ce0 add r1, sp, 0x28                              |         r1 += s1;
                                                             | label_9:
    0x00091ce4 bl 0x90018                                    |         fcn_00090018 ();
    0x00091ce8 b 0x91c34                                     |         goto label_2;
                                                             |     }
    0x00091cec ldrb r3, [sp, 0xa8]                           |     r3 = dest;
    0x00091cf0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00091cf4 bne 0x91d1c                                   |         goto label_21;
                                                             |     }
    0x00091cf8 ldr r3, [r5, 0x50]                            |     r3 = *((r5 + 0x50));
    0x00091cfc cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00091d00 beq 0x91d10                                   |         
    0x00091d04 ldrb r3, [r3]                                 |         r3 = *(r3);
    0x00091d08 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00091d0c bne 0x91d20                                   |             goto label_22;
                                                             |         }
                                                             |     }
    0x00091d10 ldr r0, [pc, 0x904]                           |     r0 = "No_write_since_last_change__:_s__overrides_";
                                                             |     do {
                                                             | label_10:
    0x00091d14 bl 0x90018                                    |         fcn_00090018 ();
    0x00091d18 b 0x91c34                                     |         goto label_2;
                                                             | label_21:
    0x00091d1c add fp, sp, 0xa8                              |         
                                                             | label_22:
    0x00091d20 mov r0, fp                                    |         r0 = fp;
    0x00091d24 bl 0x9192c                                    |         fcn_0009192c (r0);
    0x00091d28 ldr r3, [r5, 0x94]                            |         r3 = *((r5 + 0x94));
    0x00091d2c cmp r3, 0x1b                                  |         
    0x00091d30 mov r6, r0                                    |         r6 = r0;
                                                             |         if (r3 <= 0x1b) {
    0x00091d34 bhi 0x91d54                                   |             
    0x00091d38 add r3, r3, 0x26                              |             r3 += 0x26;
    0x00091d3c ldr r0, [r5, r3, lsl 2]                       |             offset_0 = r3 << 2;
                                                             |             r0 = *((r5 + offset_0));
    0x00091d40 bl 0x152a8                                    |             free (r0);
    0x00091d44 ldr r3, [r5, 0x94]                            |             r3 = *((r5 + 0x94));
    0x00091d48 mov r2, 0                                     |             r2 = 0;
    0x00091d4c add r3, r3, 0x26                              |             r3 += 0x26;
    0x00091d50 str r2, [r5, r3, lsl 2]                       |             offset_1 = r3 << 2;
                                                             |             *((r5 + offset_1)) = r2;
                                                             |         }
    0x00091d54 ldr r3, [r5, 0x90]                            |         r3 = *((r5 + 0x90));
    0x00091d58 cmp r3, 0x1b                                  |         
                                                             |         if (r3 <= 0x1b) {
    0x00091d5c bhi 0x91d7c                                   |             
    0x00091d60 add r3, r3, 0x26                              |             r3 += 0x26;
    0x00091d64 ldr r0, [r5, r3, lsl 2]                       |             offset_2 = r3 << 2;
                                                             |             r0 = *((r5 + offset_2));
    0x00091d68 bl 0x152a8                                    |             free (r0);
    0x00091d6c ldr r3, [r5, 0x90]                            |             r3 = *((r5 + 0x90));
    0x00091d70 mov r2, 0                                     |             r2 = 0;
    0x00091d74 add r3, r3, 0x26                              |             r3 += 0x26;
    0x00091d78 str r2, [r5, r3, lsl 2]                       |             offset_3 = r3 << 2;
                                                             |             *((r5 + offset_3)) = r2;
                                                             |         }
    0x00091d7c ldr r7, [r5]                                  |         r7 = *(r5);
    0x00091d80 ldr r4, [r5, 4]                               |         r4 = *((r5 + 4));
    0x00091d84 mov r0, r7                                    |         r0 = r7;
    0x00091d88 sub r1, r4, 1                                 |         r1 = r4 - 1;
    0x00091d8c bl 0x90770                                    |         fcn_00090770 (r0, r1);
    0x00091d90 ldr ip, [r5, 0x14]                            |         ip = *((r5 + 0x14));
    0x00091d94 ldr r2, [pc, 0x884]                           |         r2 = "No_current_filename";
    0x00091d98 sub r4, r4, r7                                |         r4 -= r7;
    0x00091d9c ldr r1, [r5, 0x50]                            |         r1 = *((r5 + 0x50));
    0x00091da0 cmp ip, 0                                     |         
    0x00091da4 ldr r3, [pc, 0x878]                           |         r3 = *(0x92620);
                                                             |         if (ip != 0) {
    0x00091da8 moveq r3, r2                                  |             r3 = r2;
                                                             |         }
    0x00091dac cmp r6, 0                                     |         
    0x00091db0 stm sp, {r0, r4}                              |         *(sp) = r0;
                                                             |         *((sp + 4)) = r4;
    0x00091db4 ldr r0, [pc, 0x86c]                           |         r0 = " [Readonly]";
                                                             |         if (r6 >= 0) {
    0x00091db8 movlt r2, r0                                  |             r2 = r0;
                                                             |         }
    0x00091dbc ldr r0, [pc, 0x868]                           |         r0 = "_New_file_";
    0x00091dc0 bl 0x9017c                                    |         fcn_0009017c ();
    0x00091dc4 b 0x91c34                                     |         goto label_2;
                                                             | label_20:
    0x00091dc8 mov r2, r7                                    |         r2 = r7;
    0x00091dcc ldr r1, [pc, 0x85c]                           |         r1 = "__s_s_s__dL___dC";
    0x00091dd0 mov r0, sb                                    |         r0 = sb;
    0x00091dd4 bl 0x14b94                                    |         r0 = strncmp (r0, "__s_s_s__dL___dC", r2);
    0x00091dd8 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00091ddc bne 0x91e1c                                   |             goto label_23;
                                                             |         }
    0x00091de0 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x00091de4 cmn r3, 1                                     |         
    0x00091de8 cmneq sl, 1                                   |         __asm ("cmneq sl, 1");
                                                             |         if (r3 == 1) {
    0x00091dec ldrne r0, [pc, 0x840]                         |             r0 = "No_address_allowed_on_this_command";
                                                             |         }
    0x00091df0 bne 0x91d14                                   |         
                                                             |     } while (r3 != 1);
    0x00091df4 ldrb r3, [sp, 0xa8]                           |     r3 = dest;
    0x00091df8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00091dfc streq r3, [r5, 0x4c]                          |         *((r5 + 0x4c)) = r3;
                                                             |         goto label_24;
                                                             |     }
                                                             |     if (r3 == 0) {
                                                             | label_24:
    0x00091e00 beq 0x91c34                                   |         goto label_2;
                                                             |     }
    0x00091e04 ldr r0, [r5, 0x50]                            |     r0 = *((r5 + 0x50));
    0x00091e08 bl 0x152a8                                    |     free (r0);
    0x00091e0c add r0, sp, 0xa8                              |     r0 += dest;
    0x00091e10 bl 0x189d4                                    |     fcn_000189d4 (r0);
    0x00091e14 str r0, [r5, 0x50]                            |     *((r5 + 0x50)) = r0;
    0x00091e18 b 0x91c34                                     |     goto label_2;
                                                             | label_23:
    0x00091e1c mov r2, r7                                    |     r2 = r7;
    0x00091e20 ldr r1, [pc, 0x810]                           |     r1 = "No_address_allowed_on_this_command";
    0x00091e24 mov r0, sb                                    |     r0 = sb;
    0x00091e28 bl 0x14b94                                    |     r0 = strncmp (r0, "No_address_allowed_on_this_command", r2);
    0x00091e2c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00091e30 bne 0x91e48                                   |         
    0x00091e34 bl 0x90ae0                                    |         fcn_00090ae0 ();
    0x00091e38 bl 0x90a54                                    |         fcn_00090a54 ();
    0x00091e3c ldr r0, [pc, 0x7f8]                           |         r0 = *(0x92638);
    0x00091e40 bl 0x14660                                    |         puts (r0);
    0x00091e44 b 0x91bec                                     |         goto label_3;
                                                             |     }
    0x00091e48 mov r2, r7                                    |     r2 = r7;
    0x00091e4c ldr r1, [pc, 0x7ec]                           |     r1 = "These features are available:\n\tPattern searches with / and ?\n\tLast command repeat with .\n\tLine marking with 'x\n\tNamed buffers with \"x\n\tSome colon mode commands with :\n\tSettable options with \":set\"\n\tSignal catching- ^C\n\tJob suspend and resume with ^Z\n\tAdapt to window re-sizes";
    0x00091e50 mov r0, sb                                    |     r0 = sb;
    0x00091e54 bl 0x14b94                                    |     r0 = strncmp (r0, "These features are available:\n\tPattern searches with / and ?\n\tLast command repeat with .\n\tLine marking with 'x\n\tNamed buffers with \"x\n\tSome colon mode commands with :\n\tSettable options with \":set\"\n\tSignal catching- ^C\n\tJob suspend and resume with ^Z\n\tAdapt to window re-sizes", r2);
    0x00091e58 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00091e5c bne 0x91f28                                   |         goto label_25;
                                                             |     }
    0x00091e60 cmp sl, 0                                     |     
                                                             |     if (sl < 0) {
    0x00091e64 bge 0x91e84                                   |         
    0x00091e68 ldr r5, [r5, 8]                               |         r5 = *((r5 + 8));
    0x00091e6c mov r0, r5                                    |         r0 = r5;
    0x00091e70 bl 0x904a4                                    |         r0 = fcn_000904a4 (r0);
    0x00091e74 mov r4, r0                                    |         r4 = r0;
    0x00091e78 mov r0, r5                                    |         r0 = r5;
    0x00091e7c bl 0x905e0                                    |         r0 = fcn_000905e0 (r0);
    0x00091e80 mov r8, r0                                    |         r8 = r0;
                                                             |     }
    0x00091e84 bl 0x90ae0                                    |     fcn_00090ae0 ();
    0x00091e88 ldr r0, [pc, 0x7b4]                           |     r0 = "list";
    0x00091e8c bl 0x14660                                    |     puts ("list");
    0x00091e90 ldr r6, [pc, 0x7b0]                           |     r6 = *(0x92644);
    0x00091e94 ldr r7, [pc, 0x7b0]                           |     r7 = *(0x92648);
    0x00091e98 ldr sb, [pc, 0x7b0]                           |     sb = *(0x00092650);
                                                             | label_5:
    0x00091e9c cmp r8, r4                                    |     
                                                             |     if (r8 <= r4) {
    0x00091ea0 blo 0x91bf0                                   |         goto label_4;
                                                             |     }
    0x00091ea4 ldrb r5, [r4], 1                              |     r5 = *(r4);
                                                             |     r4++;
    0x00091ea8 tst r5, 0x80                                  |     
                                                             |     if ((r5 & 0x80) != 0) {
    0x00091eac beq 0x91ef0                                   |         
    0x00091eb0 cmp r5, 0x9b                                  |         
                                                             |         if (r5 != 0x9b) {
    0x00091eb4 bne 0x91f20                                   |             goto label_26;
                                                             |         }
    0x00091eb8 mov r0, r7                                    |         r0 = r7;
    0x00091ebc bl 0x90a74                                    |         fcn_00090a74 ();
    0x00091ec0 mov sl, 1                                     |         sl = 1;
    0x00091ec4 mov r5, 0x2e                                  |         r5 = 0x2e;
                                                             | label_6:
    0x00091ec8 cmp r5, 0x7f                                  |         
    0x00091ecc cmpne r5, 0x1f                                |         __asm ("cmpne r5, 0x1f");
                                                             |         if (r5 > 0x7f) {
    0x00091ed0 bhi 0x91f04                                   |             goto label_27;
                                                             |         }
    0x00091ed4 mov r0, 0x5e                                  |         r0 = 0x5e;
    0x00091ed8 bl 0x18ce4                                    |         fcn_00018ce4 (r0);
    0x00091edc cmp r5, 0x7f                                  |         
                                                             |         if (r5 == 0x7f) {
    0x00091ee0 addne r5, r5, 0x40                            |             r5 += 0x40;
                                                             |         }
                                                             |         if (r5 == 0x7f) {
    0x00091ee4 andne r5, r5, 0xff                            |             r5 &= 0xff;
                                                             |         }
                                                             |         if (r5 != 0x7f) {
    0x00091ee8 moveq r5, 0x3f                                |             r5 = 0x3f;
                                                             |         }
    0x00091eec b 0x91f04                                     |         
                                                             |     } else {
    0x00091ef0 cmp r5, 0xa                                   |         
                                                             |         if (r5 != 0xa) {
    0x00091ef4 bne 0x91f20                                   |             goto label_26;
                                                             |         }
    0x00091ef8 mov r0, r6                                    |         r0 = r6;
    0x00091efc bl 0x90a74                                    |         fcn_00090a74 ();
    0x00091f00 mov sl, 0                                     |         sl = 0;
                                                             |     }
                                                             | label_27:
    0x00091f04 mov r0, r5                                    |     r0 = r5;
    0x00091f08 bl 0x18ce4                                    |     fcn_00018ce4 (r0);
    0x00091f0c cmp sl, 0                                     |     
                                                             |     if (sl == 0) {
    0x00091f10 beq 0x91e9c                                   |         goto label_5;
                                                             |     }
    0x00091f14 mov r0, sb                                    |     r0 = sb;
    0x00091f18 bl 0x90a74                                    |     fcn_00090a74 ();
    0x00091f1c b 0x91e9c                                     |     goto label_5;
                                                             | label_26:
    0x00091f20 mov sl, 0                                     |     sl = 0;
    0x00091f24 b 0x91ec8                                     |     goto label_6;
                                                             | label_25:
    0x00091f28 mov r2, r7                                    |     r2 = r7;
    0x00091f2c ldr r1, [pc, 0x720]                           |     r1 = *(0x92650);
    0x00091f30 mov r0, sb                                    |     r0 = sb;
    0x00091f34 bl 0x14b94                                    |     r0 = strncmp (r0, r1, r2);
    0x00091f38 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00091f3c beq 0x91f70                                   |         
    0x00091f40 mov r2, r7                                    |         r2 = r7;
    0x00091f44 ldr r1, [pc, 0x70c]                           |         r1 = "quit";
    0x00091f48 mov r0, sb                                    |         r0 = sb;
    0x00091f4c bl 0x14b94                                    |         r0 = strncmp (r0, "quit", r2);
    0x00091f50 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00091f54 beq 0x91f70                                   |             goto label_28;
                                                             |         }
    0x00091f58 mov r2, r7                                    |         r2 = r7;
    0x00091f5c ldr r1, [pc, 0x6f8]                           |         r1 = "next";
    0x00091f60 mov r0, sb                                    |         r0 = sb;
    0x00091f64 bl 0x14b94                                    |         r0 = strncmp (r0, "next", r2);
    0x00091f68 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00091f6c bne 0x92008                                   |             goto label_29;
                                                             |         }
                                                             |     }
                                                             | label_28:
    0x00091f70 ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x00091f74 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00091f78 beq 0x91f98                                   |         
    0x00091f7c cmp r6, 0x71                                  |         
                                                             |         if (r6 != 0x71) {
    0x00091f80 ldreq r2, [r5, 0x28]                          |             r2 = *((r5 + 0x28));
                                                             |         }
                                                             |         if (r6 != 0x71) {
    0x00091f84 ldreq r3, [pc, 0x6d4]                         |             r3 = obj.optind;
                                                             |         }
                                                             |         if (r6 != 0x71) {
    0x00091f88 streq r2, [r3]                                |             *(r3) = r2;
                                                             |         }
                                                             | label_8:
    0x00091f8c mov r3, 0                                     |         r3 = 0;
    0x00091f90 str r3, [r5, 0x18]                            |         *((r5 + 0x18)) = r3;
    0x00091f94 b 0x91c34                                     |         goto label_2;
                                                             |     }
    0x00091f98 ldr r3, [r5, 0x20]                            |     r3 = *((r5 + 0x20));
    0x00091f9c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00091fa0 bne 0x91cdc                                   |         goto label_7;
                                                             |     }
    0x00091fa4 ldr r2, [pc, 0x6b4]                           |     r2 = "prev";
    0x00091fa8 ldr r1, [r5, 0x28]                            |     r1 = *((r5 + 0x28));
    0x00091fac ldr r3, [r2]                                  |     r3 = "prev";
    0x00091fb0 cmp r6, 0x71                                  |     
    0x00091fb4 sub r1, r1, r3                                |     r1 -= r3;
    0x00091fb8 sub r1, r1, 1                                 |     r1--;
                                                             |     if (r6 != 0x71) {
    0x00091fbc bne 0x91fd0                                   |         goto label_30;
                                                             |     }
    0x00091fc0 cmp r1, 0                                     |     
                                                             |     if (r1 <= 0) {
    0x00091fc4 ble 0x91f8c                                   |         goto label_8;
                                                             |     }
    0x00091fc8 ldr r0, [pc, 0x694]                           |     r0 = optind;
    0x00091fcc b 0x91ce4                                     |     goto label_9;
                                                             | label_30:
    0x00091fd0 cmp r6, 0x6e                                  |     
                                                             |     if (r6 != 0x6e) {
    0x00091fd4 bne 0x91fe8                                   |         goto label_31;
                                                             |     }
    0x00091fd8 cmp r1, 0                                     |     
                                                             |     if (r1 > 0) {
    0x00091fdc bgt 0x91f8c                                   |         goto label_8;
                                                             |     }
    0x00091fe0 ldr r0, [pc, 0x680]                           |     r0 = "%d more file(s) to edit";
    0x00091fe4 b 0x91d14                                     |     goto label_10;
                                                             | label_31:
    0x00091fe8 cmp r6, 0x70                                  |     
                                                             |     if (r6 != 0x70) {
    0x00091fec bne 0x91f8c                                   |         goto label_8;
                                                             |     }
    0x00091ff0 cmp r3, 0                                     |     
                                                             |     if (r3 <= 0) {
    0x00091ff4 ldrle r0, [pc, 0x670]                         |         r0 = "No previous files to edit";
                                                             |         goto label_32;
                                                             |     }
                                                             |     if (r3 <= 0) {
                                                             | label_32:
    0x00091ff8 ble 0x91d14                                   |         goto label_10;
                                                             |     }
    0x00091ffc sub r3, r3, 2                                 |     r3 -= 2;
    0x00092000 str r3, [r2]                                  |     *(r2) = r3;
    0x00092004 b 0x91f8c                                     |     goto label_8;
                                                             | label_29:
    0x00092008 mov r2, r7                                    |     r2 = r7;
    0x0009200c ldr r1, [pc, 0x65c]                           |     r1 = "No previous files to edit";
    0x00092010 mov r0, sb                                    |     r0 = sb;
    0x00092014 bl 0x14b94                                    |     r0 = strncmp (r0, "No previous files to edit", r2);
    0x00092018 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0009201c bne 0x920e0                                   |         goto label_33;
                                                             |     }
    0x00092020 ldrb r3, [sp, 0xa8]                           |     r3 = dest;
    0x00092024 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00092028 ldreq r0, [pc, 0x644]                         |         r0 = "No filename given";
                                                             |         goto label_34;
                                                             |     }
                                                             |     if (r3 == 0) {
                                                             | label_34:
    0x0009202c beq 0x91d14                                   |         goto label_10;
                                                             |     }
    0x00092030 cmp sl, 0                                     |     
                                                             |     if (sl >= 0) {
    0x00092034 bge 0x92060                                   |         goto label_35;
                                                             |     }
    0x00092038 ldr r0, [r5, 8]                               |     r0 = *((r5 + 8));
    0x0009203c bl 0x904a4                                    |     r0 = fcn_000904a4 (r0);
    0x00092040 mov r4, r0                                    |     r4 = r0;
                                                             |     do {
    0x00092044 mov r0, r4                                    |         r0 = r4;
    0x00092048 bl 0x90624                                    |         fcn_00090624 (r0);
    0x0009204c ldr r4, [r5, 4]                               |         r4 = *((r5 + 4));
    0x00092050 sub r3, r4, 1                                 |         r3 = r4 - 1;
    0x00092054 cmp r3, r0                                    |         
                                                             |         if (r3 == r0) {
    0x00092058 movne r4, r0                                  |             r4 = r0;
                                                             |         }
    0x0009205c b 0x92064                                     |         goto label_36;
                                                             | label_35:
    0x00092060 bne 0x92044                                   |         
                                                             |     } while (r3 != r0);
                                                             | label_36:
    0x00092064 mov r1, r4                                    |     r1 = r4;
    0x00092068 mov r2, 0                                     |     r2 = 0;
    0x0009206c add r0, sp, 0xa8                              |     r0 += dest;
    0x00092070 ldr r6, [r5]                                  |     r6 = *(r5);
    0x00092074 bl 0x90c58                                    |     fcn_00090c58 (r0, r1);
    0x00092078 sub r6, r4, r6                                |     r6 = r4 - r6;
    0x0009207c ldr r4, [r5]                                  |     r4 = *(r5);
    0x00092080 add r4, r4, r6                                |     r4 += r6;
    0x00092084 subs r6, r0, 0                                |     r6 -= dest;
                                                             |     if (r6 < dest) {
    0x00092088 blt 0x91c34                                   |         goto label_2;
                                                             |     }
    0x0009208c sub r1, r6, 1                                 |     r1 -= var_1h;
    0x00092090 add r1, r4, r1                                |     r1 = r4 + r1;
    0x00092094 mov r0, r4                                    |     r0 = r4;
    0x00092098 bl 0x90770                                    |     fcn_00090770 (r0, r1);
    0x0009209c ldr ip, [r5, 0x14]                            |     ip = *((r5 + 0x14));
    0x000920a0 ldr r1, [pc, 0x57c]                           |     r1 = *(0x92620);
    0x000920a4 cmp ip, 0                                     |     
    0x000920a8 ldr r2, [pc, 0x570]                           |     r2 = "No_current_filename";
    0x000920ac str r6, [sp]                                  |     *(sp) = r6;
                                                             |     if (ip == 0) {
    0x000920b0 movne r2, r1                                  |         r2 = r1;
                                                             |     }
    0x000920b4 add r1, sp, 0xa8                              |     r1 += dest;
    0x000920b8 mov r3, r0                                    |     r3 = r0;
    0x000920bc ldr r0, [pc, 0x5b4]                           |     r0 = "No filename given";
    0x000920c0 bl 0x9017c                                    |     fcn_0009017c ();
    0x000920c4 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x000920c8 beq 0x91c34                                   |         goto label_2;
                                                             |     }
    0x000920cc ldr r3, [r5, 8]                               |     r3 = *((r5 + 8));
    0x000920d0 cmp r3, r4                                    |     
                                                             |     if (r3 < r4) {
    0x000920d4 addhs r3, r3, r6                              |         r3 += r6;
                                                             |     }
                                                             |     if (r3 < r4) {
    0x000920d8 strhs r3, [r5, 8]                             |         *((r5 + 8)) = r3;
                                                             |     }
    0x000920dc b 0x91c34                                     |     goto label_2;
                                                             | label_33:
    0x000920e0 mov r2, r7                                    |     r2 = r7;
    0x000920e4 ldr r1, [pc, 0x590]                           |     r1 = '%s'%s %dL, %dC";
    0x000920e8 mov r0, sb                                    |     r0 = sb;
    0x000920ec bl 0x14b94                                    |     r0 = strncmp (r0, '%s'%s %dL, %dC", r2);
    0x000920f0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000920f4 bne 0x92128                                   |         goto label_37;
                                                             |     }
    0x000920f8 ldr r0, [r5, 0x20]                            |     r0 = *((r5 + 0x20));
    0x000920fc ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x00092100 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00092104 eorne r0, r3, 1                               |         r0 = r3 ^ 1;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00092108 moveq r0, 0                                   |         r0 = 0;
                                                             |     }
    0x0009210c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00092110 bne 0x91cdc                                   |         goto label_7;
                                                             |     }
    0x00092114 ldr r3, [pc, 0x544]                           |     r3 = "prev";
    0x00092118 mvn r2, 0                                     |     r2 = ~0;
    0x0009211c str r2, [r3]                                  |     *(r3) = r2;
    0x00092120 str r0, [r5, 0x18]                            |     *((r5 + 0x18)) = r0;
    0x00092124 b 0x91c34                                     |     goto label_2;
                                                             | label_37:
    0x00092128 mov r2, r7                                    |     r2 = r7;
    0x0009212c ldr r1, [pc, 0x54c]                           |     r1 = "rewind";
    0x00092130 add r0, sp, 0x28                              |     r0 += s1;
    0x00092134 bl 0x14b94                                    |     strncmp (r0, "rewind", r2);
    0x00092138 subs sb, r0, 0                                |     sb -= s1;
                                                             |     if (sb != s1) {
    0x0009213c bne 0x922a8                                   |         goto label_38;
                                                             |     }
    0x00092140 ldrb r3, [sp, 0xa8]                           |     r3 = dest;
    0x00092144 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00092148 beq 0x92160                                   |         
    0x0009214c ldr r1, [pc, 0x530]                           |         r1 = *(0x92680);
    0x00092150 add r0, sp, 0xa8                              |         r0 += dest;
    0x00092154 bl 0x14c0c                                    |         r0 = strcasecmp (r0, r1);
    0x00092158 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0009215c bne 0x92294                                   |             goto label_39;
                                                             |         }
                                                             |     }
    0x00092160 ldr lr, [r5, 0x10]                            |     
    0x00092164 ldr r0, [pc, 0x51c]                           |     r0 = "all";
    0x00092168 ldr ip, [pc, 0x4b0]                           |     ip = "No_current_filename";
    0x0009216c tst lr, 1                                     |     
                                                             |     if ((lr & 1) != 0) {
    0x00092170 moveq r1, r0                                  |         r1 = r0;
                                                             |     }
                                                             |     if ((lr & 1) == 0) {
    0x00092174 movne r1, ip                                  |         r1 = ip;
                                                             |     }
    0x00092178 tst lr, 8                                     |     
                                                             |     if ((lr & 8) != 0) {
    0x0009217c moveq r2, r0                                  |         r2 = r0;
                                                             |     }
                                                             |     if ((lr & 8) == 0) {
    0x00092180 movne r2, ip                                  |         r2 = ip;
                                                             |     }
    0x00092184 tst lr, 4                                     |     
                                                             |     if ((lr & 4) != 0) {
    0x00092188 moveq r3, r0                                  |         r3 = r0;
                                                             |     }
                                                             |     if ((lr & 4) == 0) {
    0x0009218c movne r3, ip                                  |         r3 = ip;
                                                             |     }
    0x00092190 tst lr, 2                                     |     
                                                             |     if ((lr & 2) == 0) {
    0x00092194 movne r0, ip                                  |         r0 = ip;
                                                             |     }
    0x00092198 ldr ip, [r5, 0x60]                            |     ip = *((r5 + 0x60));
    0x0009219c stm sp, {r0, ip}                              |     *(sp) = r0;
                                                             |     *((sp + 4)) = ip;
    0x000921a0 ldr r0, [pc, 0x4e4]                           |     r0 = "no";
    0x000921a4 bl 0x90018                                    |     fcn_00090018 ();
    0x000921a8 b 0x91c34                                     |     goto label_2;
                                                             |     do {
    0x000921ac mov r2, 2                                     |         r2 = 2;
    0x000921b0 mov r1, r6                                    |         r1 = r6;
    0x000921b4 mov r0, r4                                    |         r0 = r4;
    0x000921b8 bl 0x14b94                                    |         strncmp (r0, r1, r2);
    0x000921bc mov r3, 1                                     |         r3 = 1;
    0x000921c0 str r3, [sp]                                  |         *(sp) = r3;
    0x000921c4 mov r1, r8                                    |         r1 = r8;
    0x000921c8 mov r3, r7                                    |         r3 = r7;
    0x000921cc mov sl, 8                                     |         sl = 8;
    0x000921d0 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000921d4 moveq sb, 2                                   |             sb = 2;
                                                             |         }
    0x000921d8 mov r2, sb                                    |         r2 = sb;
    0x000921dc mov r0, r4                                    |         r0 = r4;
    0x000921e0 bl 0x9038c                                    |         fcn_0009038c (r0, r1, r2);
    0x000921e4 ldr r3, [pc, 0x4a4]                           |         r3 = "_sautoindent__sflash__signorecase__sshowmatch_tabstop_u";
    0x000921e8 mov r2, sb                                    |         r2 = sb;
    0x000921ec ldr r1, [pc, 0x4a0]                           |         r1 = "fl";
    0x000921f0 mov r0, r4                                    |         r0 = r4;
    0x000921f4 str sl, [sp]                                  |         *(sp) = sl;
    0x000921f8 bl 0x9038c                                    |         fcn_0009038c (r0, "fl", r2);
    0x000921fc mov r3, 4                                     |         r3 = 4;
    0x00092200 str r3, [sp]                                  |         *(sp) = r3;
    0x00092204 mov r2, sb                                    |         r2 = sb;
    0x00092208 ldr r3, [pc, 0x488]                           |         r3 = "flash_";
    0x0009220c ldr r1, [pc, 0x488]                           |         r1 = *(0x92698);
    0x00092210 mov r0, r4                                    |         r0 = r4;
    0x00092214 bl 0x9038c                                    |         fcn_0009038c (r0, r1, r2);
    0x00092218 mov r3, 2                                     |         r3 = 2;
    0x0009221c str r3, [sp]                                  |         *(sp) = r3;
    0x00092220 mov r2, sb                                    |         r2 = sb;
    0x00092224 ldr r3, [pc, 0x474]                           |         r3 = "ignorecase ";
    0x00092228 ldr r1, [pc, 0x474]                           |         r1 = *(0x926a0);
    0x0009222c mov r0, r4                                    |         r0 = r4;
    0x00092230 bl 0x9038c                                    |         fcn_0009038c (r0, r1, r2);
    0x00092234 mov r2, sl                                    |         r2 = sl;
    0x00092238 ldr r1, [pc, 0x468]                           |         r1 = "showmatch_";
    0x0009223c add r0, r4, sb                                |         r0 = r4 + sb;
    0x00092240 bl 0x14b94                                    |         r0 = strncmp (r0, "showmatch_", r2);
    0x00092244 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00092248 bne 0x92274                                   |             
    0x0009224c add r2, sp, 0x128                             |             r2 += var_128h;
    0x00092250 str r0, [r2, -0x104]!                         |             *((r2 -= 0x104)) = r0;
    0x00092254 add r0, sb, sl                                |             r0 = sb + sl;
    0x00092258 ldr r1, [pc, 0x44c]                           |             r1 = "tabstop=";
    0x0009225c add r0, r4, r0                                |             r0 = r4 + r0;
    0x00092260 bl 0x14c9c                                    |             sscanf (r0, "tabstop=", r2);
    0x00092264 ldr r3, [sp, 0x24]                            |             r3 = var_24h;
    0x00092268 sub r2, r3, 1                                 |             r2 = r3 - 1;
    0x0009226c cmp r2, 0x1f                                  |             
                                                             |             if (r2 <= 0x1f) {
    0x00092270 strls r3, [r5, 0x60]                          |                 *((r5 + 0x60)) = r3;
                                                             |                 goto label_40;
                                                             |             }
                                                             |         }
                                                             | label_40:
    0x00092274 mov r0, r4                                    |         r0 = r4;
    0x00092278 bl 0xa4454                                    |         r0 = fcn_000a4454 (r0);
    0x0009227c bl 0xa4434                                    |         r0 = fcn_000a4434 (r0);
    0x00092280 mov r4, r0                                    |         r4 = r0;
                                                             | label_11:
    0x00092284 ldrb r3, [r4]                                 |         r3 = *(r4);
    0x00092288 cmp r3, 0                                     |         
    0x0009228c bne 0x921ac                                   |         
                                                             |     } while (r3 != 0);
    0x00092290 b 0x91c34                                     |     goto label_2;
                                                             | label_39:
    0x00092294 add r4, sp, 0xa8                              |     r4 += dest;
    0x00092298 ldr r6, [pc, 0x3e8]                           |     r6 = "all";
    0x0009229c ldr r7, [pc, 0x40c]                           |     r7 = "_u";
    0x000922a0 ldr r8, [pc, 0x40c]                           |     r8 = *(0x926b0);
    0x000922a4 b 0x92284                                     |     goto label_11;
                                                             | label_38:
    0x000922a8 cmp r6, 0x73                                  |     
                                                             |     if (r6 != 0x73) {
    0x000922ac bne 0x923dc                                   |         goto label_41;
                                                             |     }
    0x000922b0 ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x000922b4 ldrb sl, [r3, 1]                              |     sl = *((r3 + 1));
    0x000922b8 add r7, r3, 2                                 |     r7 = r3 + 2;
    0x000922bc mov r1, sl                                    |     r1 = sl;
    0x000922c0 mov r0, r7                                    |     r0 = r7;
    0x000922c4 bl 0x1517c                                    |     r0 = strchr (r0, r1);
    0x000922c8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000922cc beq 0x925f8                                   |         goto label_42;
                                                             |     }
    0x000922d0 add r8, r0, 1                                 |     r8 = r0 + 1;
    0x000922d4 mov r6, 0                                     |     r6 = 0;
    0x000922d8 strb r6, [r0]                                 |     *(r0) = r6;
    0x000922dc sub sb, r0, r7                                |     sb = r0 - r7;
    0x000922e0 mov r1, sl                                    |     r1 = sl;
    0x000922e4 mov r0, r8                                    |     r0 = r8;
    0x000922e8 bl 0x1517c                                    |     r0 = strchr (r0, r1);
    0x000922ec cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000922f0 beq 0x925f8                                   |         goto label_42;
                                                             |     }
    0x000922f4 ldrb r3, [r0, 1]                              |     r3 = *((r0 + 1));
    0x000922f8 strb r6, [r0]                                 |     *(r0) = r6;
    0x000922fc sub fp, r0, r8                                |     
    0x00092300 mov r0, r4                                    |     r0 = r4;
    0x00092304 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x00092308 bl 0x904a4                                    |     fcn_000904a4 (r0);
    0x0009230c ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00092310 cmp r3, r6                                    |     
    0x00092314 mov r4, r0                                    |     r4 = r0;
                                                             |     if (r3 < r6) {
    0x00092318 bge 0x92338                                   |         
    0x0009231c ldr r0, [r5, 8]                               |         r0 = *((r5 + 8));
    0x00092320 bl 0x904a4                                    |         r0 = fcn_000904a4 (r0);
    0x00092324 mov r1, r0                                    |         r1 = r0;
    0x00092328 mov r4, r0                                    |         r4 = r0;
    0x0009232c ldr r0, [r5]                                  |         r0 = *(r5);
    0x00092330 bl 0x90770                                    |         fcn_00090770 (r0, r1);
    0x00092334 str r0, [sp, 0x1c]                            |         var_1ch = r0;
                                                             |     }
    0x00092338 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0009233c ldr r5, [sp, 0x1c]                            |     r5 = var_1ch;
    0x00092340 cmp r3, 0                                     |     
    0x00092344 mov sl, 1                                     |     sl = 1;
    0x00092348 sub sb, sb, 1                                 |     sb--;
                                                             |     if (r3 >= 0) {
    0x0009234c strlt r5, [sp, 0x20]                          |         var_20h = r5;
                                                             |     }
                                                             | label_12:
    0x00092350 ldr r2, [sp, 0x20]                            |     r2 = var_20h;
    0x00092354 cmp r2, r5                                    |     
                                                             |     if (r2 < r5) {
    0x00092358 blt 0x91c34                                   |         goto label_2;
                                                             |     }
    0x0009235c mov r6, r4                                    |     r6 = r4;
                                                             |     do {
    0x00092360 mov r0, r4                                    |         r0 = r4;
    0x00092364 mov r2, 2                                     |         r2 = 2;
    0x00092368 mov r1, r7                                    |         r1 = r7;
    0x0009236c bl 0x90684                                    |         r0 = fcn_00090684 (r0, r1);
    0x00092370 subs r4, r0, 0                                |         r4 = r0 - 0;
                                                             |         if (r4 == r0) {
    0x00092374 beq 0x923c0                                   |             goto label_43;
                                                             |         }
    0x00092378 mov r2, sl                                    |         r2 = sl;
    0x0009237c add r1, r4, sb                                |         r1 = r4 + sb;
    0x00092380 bl 0x8fdd0                                    |         fcn_0008fdd0 (r0, r1);
    0x00092384 mov r2, 2                                     |         r2 = 2;
    0x00092388 mov r1, r8                                    |         r1 = r8;
    0x0009238c mov r0, r4                                    |         r0 = r4;
    0x00092390 bl 0x901bc                                    |         fcn_000901bc (r0, r1);
    0x00092394 ldr r3, [sp, 0xc]                             |         r3 = var_ch;
    0x00092398 cmp r3, 0x67                                  |         
    0x0009239c add r6, r6, r0                                |         r6 += r0;
                                                             |         if (r3 != 0x67) {
    0x000923a0 bne 0x923d4                                   |             goto label_44;
                                                             |         }
    0x000923a4 add r0, fp, r0                                |         r0 = fp + r0;
    0x000923a8 add r4, r4, r0                                |         r4 += r0;
    0x000923ac mov r0, r6                                    |         r0 = r6;
    0x000923b0 bl 0x905e0                                    |         fcn_000905e0 (r0);
    0x000923b4 mov sl, 2                                     |         sl = 2;
    0x000923b8 cmp r4, r0                                    |         
    0x000923bc blo 0x92360                                   |         
                                                             |     } while (r4 <= r0);
                                                             |     do {
                                                             | label_43:
    0x000923c0 mov r0, r6                                    |         r0 = r6;
    0x000923c4 bl 0x90624                                    |         fcn_00090624 (r0);
    0x000923c8 add r5, r5, 1                                 |         r5++;
    0x000923cc mov r4, r0                                    |         r4 = r0;
    0x000923d0 b 0x92350                                     |         goto label_12;
                                                             | label_44:
    0x000923d4 mov sl, 2                                     |         sl = 2;
    0x000923d8 b 0x923c0                                     |         
                                                             |     } while (1);
                                                             | label_41:
    0x000923dc mov r2, r7                                    |     r2 = r7;
    0x000923e0 ldr r1, [pc, 0x2d0]                           |     r1 = "autoindent_";
    0x000923e4 add r0, sp, 0x28                              |     r0 += s1;
    0x000923e8 bl 0x14b94                                    |     r0 = strncmp (r0, "autoindent_", r2);
    0x000923ec cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000923f0 bne 0x92400                                   |         
    0x000923f4 ldr r0, [pc, 0x2c0]                           |         r0 = "version";
    0x000923f8 bl 0x9017c                                    |         fcn_0009017c ();
    0x000923fc b 0x91c34                                     |         goto label_2;
                                                             |     }
    0x00092400 mov r2, r7                                    |     r2 = r7;
    0x00092404 ldr r1, [pc, 0x2b4]                           |     r1 = "_.30.1";
    0x00092408 add r0, sp, 0x28                              |     r0 += s1;
    0x0009240c bl 0x14b94                                    |     r0 = strncmp (r0, "_.30.1", r2);
    0x00092410 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00092414 beq 0x9245c                                   |         
    0x00092418 mov r2, r7                                    |         r2 = r7;
    0x0009241c ldr r1, [pc, 0x2a0]                           |         r1 = "write";
    0x00092420 add r0, sp, 0x28                              |         r0 += s1;
    0x00092424 bl 0x14b94                                    |         r0 = strncmp (r0, "write", r2);
    0x00092428 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0009242c beq 0x9245c                                   |             goto label_45;
                                                             |         }
    0x00092430 mov r2, r7                                    |         r2 = r7;
    0x00092434 ldr r1, [pc, 0x28c]                           |         r1 = *(0x926c4);
    0x00092438 add r0, sp, 0x28                              |         r0 += s1;
    0x0009243c bl 0x14b94                                    |         r0 = strncmp (r0, r1, r2);
    0x00092440 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00092444 beq 0x9245c                                   |             goto label_45;
                                                             |         }
    0x00092448 cmp r6, 0x78                                  |         
                                                             |         if (r6 != 0x78) {
    0x0009244c bne 0x92564                                   |             goto label_46;
                                                             |         }
    0x00092450 ldrb r3, [sp, 0x29]                           |         r3 = var_29h;
    0x00092454 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00092458 bne 0x92564                                   |             goto label_46;
                                                             |         }
                                                             |     }
                                                             | label_45:
    0x0009245c ldrb r3, [sp, 0xa8]                           |     r3 = dest;
    0x00092460 ldr r0, [r5, 0x14]                            |     r0 = *((r5 + 0x14));
    0x00092464 cmp r3, 0                                     |     
    0x00092468 ldr r3, [sp, 0x10]                            |     r3 = var_10h;
                                                             |     if (r3 == 0) {
    0x0009246c addne fp, sp, 0xa8                            |         
                                                             |     }
    0x00092470 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00092474 eorne r0, r3, 1                               |         r0 = r3 ^ 1;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00092478 moveq r0, 0                                   |         r0 = 0;
                                                             |     }
    0x0009247c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00092480 movne r1, fp                                  |         r1 = fp;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00092484 ldrne r0, [pc, 0x240]                         |         r0 = "__s_is_read_only";
                                                             |         goto label_47;
                                                             |     }
                                                             |     if (r0 != 0) {
                                                             | label_47:
    0x00092488 bne 0x91ce4                                   |         goto label_9;
                                                             |     }
    0x0009248c ldr r3, [r5, 0x20]                            |     r3 = *((r5 + 0x20));
    0x00092490 subs r6, r6, 0x78                             |     r6 -= 0x78;
                                                             |     if (r6 == r6) {
    0x00092494 movne r6, 1                                   |         r6 = 1;
                                                             |     }
    0x00092498 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0009249c movne r6, 1                                   |         r6 = 1;
                                                             |     }
    0x000924a0 cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x000924a4 moveq r5, r6                                  |         r5 = r6;
                                                             |     }
                                                             |     if (r6 == 0) {
    0x000924a8 beq 0x924e0                                   |         goto label_48;
                                                             |     }
    0x000924ac mov r2, r8                                    |     r2 = r8;
    0x000924b0 mov r1, r4                                    |     r1 = r4;
    0x000924b4 mov r0, fp                                    |     r0 = fp;
    0x000924b8 bl 0x90420                                    |     fcn_00090420 (r0, r1);
    0x000924bc sub r6, r8, r4                                |     r6 = r8 - r4;
    0x000924c0 add r6, r6, 1                                 |     r6++;
    0x000924c4 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 >= r0) {
    0x000924c8 bge 0x924e0                                   |         goto label_48;
                                                             |     }
    0x000924cc cmn r5, 1                                     |     
                                                             |     if (r5 != 1) {
    0x000924d0 moveq r1, fp                                  |         r1 = fp;
                                                             |     }
                                                             |     if (r5 == 1) {
    0x000924d4 ldreq r0, [pc, 0x1f4]                         |         r0 = "__s__m";
                                                             |         goto label_49;
                                                             |     }
                                                             |     if (r5 == 1) {
                                                             | label_49:
    0x000924d8 beq 0x91ce4                                   |         goto label_9;
                                                             |     }
    0x000924dc b 0x91c34                                     |     goto label_2;
                                                             | label_48:
    0x000924e0 sub r1, r5, 1                                 |     r1 = r5 - 1;
    0x000924e4 add r1, r4, r1                                |     r1 = r4 + r1;
    0x000924e8 mov r0, r4                                    |     r0 = r4;
    0x000924ec bl 0x90770                                    |     fcn_00090770 (r0, r1);
    0x000924f0 mov r3, r5                                    |     r3 = r5;
    0x000924f4 mov r1, fp                                    |     r1 = fp;
    0x000924f8 mov r2, r0                                    |     r2 = r0;
    0x000924fc ldr r0, [pc, 0x1d0]                           |     r0 = "__s__m";
    0x00092500 bl 0x9017c                                    |     fcn_0009017c ();
    0x00092504 ldr r3, [pc, 0xf8]                            |     
    0x00092508 cmp r5, r6                                    |     
    0x0009250c ldr r3, [r3]                                  |     r3 = *(0x92600);
                                                             |     if (r5 != r6) {
    0x00092510 bne 0x91c34                                   |         goto label_2;
                                                             |     }
    0x00092514 ldr r2, [r3]                                  |     r2 = *(r3);
    0x00092518 cmp r2, r4                                    |     
                                                             |     if (r2 == r4) {
    0x0009251c bne 0x92538                                   |         
    0x00092520 ldr r2, [r3, 4]                               |         r2 = *((r3 + 4));
    0x00092524 add r4, r4, r5                                |         r4 += r5;
    0x00092528 cmp r2, r4                                    |         
                                                             |         if (r2 != r4) {
    0x0009252c moveq r0, 0                                   |             r0 = 0;
                                                             |         }
                                                             |         if (r2 != r4) {
    0x00092530 mvneq r1, 0                                   |             r1 = ~0;
                                                             |         }
    0x00092534 strdeq r0, r1, [r3, 0x20]                     |         __asm ("strdeq r0, r1, [r3, 0x20]");
                                                             |     }
    0x00092538 ldrb r2, [sp, 0x28]                           |     r2 = s1;
    0x0009253c cmp r2, 0x78                                  |     
                                                             |     if (r2 == 0x78) {
    0x00092540 beq 0x92558                                   |         goto label_50;
                                                             |     }
    0x00092544 ldrb r2, [sp, 0x29]                           |     r2 = var_29h;
    0x00092548 and r2, r2, 0xdf                              |     r2 &= 0xdf;
    0x0009254c cmp r2, 0x51                                  |     
    0x00092550 cmpne r2, 0x4e                                |     __asm ("cmpne r2, 0x4e");
                                                             |     if (r2 != 0x51) {
    0x00092554 bne 0x91c34                                   |         goto label_2;
                                                             |     }
                                                             | label_50:
    0x00092558 mov r2, 0                                     |     r2 = 0;
    0x0009255c str r2, [r3, 0x18]                            |     *((r3 + 0x18)) = r2;
    0x00092560 b 0x91c34                                     |     goto label_2;
                                                             | label_46:
    0x00092564 mov r2, r7                                    |     r2 = r7;
    0x00092568 ldr r1, [pc, 0x168]                           |     r1 = "__s__dL___dC";
    0x0009256c add r0, sp, 0x28                              |     r0 += s1;
    0x00092570 bl 0x14b94                                    |     r0 = strncmp (r0, "__s__dL___dC", r2);
    0x00092574 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00092578 bne 0x925ec                                   |         
    0x0009257c cmp sl, 0                                     |         
                                                             |         if (sl < 0) {
    0x00092580 bge 0x925a0                                   |             
    0x00092584 ldr r6, [r5, 8]                               |             r6 = *((r5 + 8));
    0x00092588 mov r0, r6                                    |             r0 = r6;
    0x0009258c bl 0x904a4                                    |             r0 = fcn_000904a4 (r0);
    0x00092590 mov r4, r0                                    |             r4 = r0;
    0x00092594 mov r0, r6                                    |             r0 = r6;
    0x00092598 bl 0x905e0                                    |             r0 = fcn_000905e0 (r0);
    0x0009259c mov r8, r0                                    |             r8 = r0;
                                                             |         }
    0x000925a0 ldr r2, [r5, 0x90]                            |         r2 = *((r5 + 0x90));
    0x000925a4 mov r1, r8                                    |         r1 = r8;
    0x000925a8 mov r0, r4                                    |         r0 = r4;
    0x000925ac bl 0x8f984                                    |         fcn_0008f984 (r0, r1);
    0x000925b0 mov r1, r8                                    |         r1 = r8;
    0x000925b4 mov r0, r4                                    |         r0 = r4;
    0x000925b8 bl 0x90770                                    |         fcn_00090770 (r0, r1);
    0x000925bc ldr r3, [r5, 0x90]                            |         r3 = *((r5 + 0x90));
    0x000925c0 add r3, r3, 0x26                              |         r3 += 0x26;
    0x000925c4 mov r4, r0                                    |         r4 = r0;
    0x000925c8 ldr r0, [r5, r3, lsl 2]                       |         offset_4 = r3 << 2;
                                                             |         r0 = *((r5 + offset_4));
    0x000925cc bl 0x1514c                                    |         r0 = strlen (r0);
    0x000925d0 mov r2, r0                                    |         r2 = r0;
    0x000925d4 bl 0x8f940                                    |         fcn_0008f940 ();
    0x000925d8 mov r1, r4                                    |         r1 = r4;
    0x000925dc mov r3, r0                                    |         r3 = r0;
    0x000925e0 ldr r0, [pc, 0xf4]                            |         r0 = "yank";
    0x000925e4 bl 0x9017c                                    |         fcn_0009017c ();
    0x000925e8 b 0x91c34                                     |         goto label_2;
                                                             |     }
    0x000925ec add r0, sp, 0x28                              |     r0 += s1;
    0x000925f0 bl 0x90080                                    |     fcn_00090080 (r0);
    0x000925f4 b 0x91c34                                     |     goto label_2;
                                                             | label_42:
    0x000925f8 ldr r0, [pc, 0xe0]                            |     r0 = "Yank %d lines (%d chars) into [%c]";
    0x000925fc bl 0x9017c                                    |     fcn_0009017c ();
    0x00092600 b 0x91c48                                     |     goto label_13;
                                                             | }

[*] Function system used 4 times busybox