[*] Binary protection state of chronyd

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


[*] Function popen tear down of chronyd

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/chronyd @ 0x4a50 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.00004a50 ()                                      | void fcn_00004a50 (int16_t arg_3e8h, int16_t arg1) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_58h;
                                                                 |     int16_t var_5ch;
                                                                 |     int16_t var_60h;
                                                                 |     int16_t var_80h;
                                                                 |     int16_t var_b0h;
                                                                 |     int16_t var_b4h;
                                                                 |     int16_t var_d4h;
                                                                 |     int16_t var_e4h;
                                                                 |     int16_t var_e8h;
                                                                 |     int16_t var_f8h;
                                                                 |     int16_t var_fch;
                                                                 |     int16_t var_10ch;
                                                                 |     int16_t var_110h;
                                                                 |     char * var_124h;
                                                                 |     int16_t var_134h;
                                                                 |     r0 = arg1;
    0x00004a50 ldr.w r2, [pc, 0xcd0]                             |     
    0x00004a54 ldr.w r3, [pc, 0xcd0]                             |     r3 = *(0x5728);
    0x00004a58 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00004a5c sub sp, 0x13c                                     |     
    0x00004a5e add r2, pc                                        |     r2 = 0xa186;
    0x00004a60 ldr.w r6, [pc, 0xcc8]                             |     r6 = "%d%lf%lf%lf";
    0x00004a64 mov r4, r0                                        |     r4 = r0;
    0x00004a66 ldr r3, [r2, r3]                                  |     
    0x00004a68 add r6, pc                                        |     r6 += pc;
    0x00004a6a ldr.w r7, [pc, 0xcc4]                             |     
    0x00004a6e ldr r3, [r3]                                      |     r3 = *(0xa186);
    0x00004a70 str r3, [sp, 0x134]                               |     var_134h = r3;
    0x00004a72 mov.w r3, 0                                       |     r3 = 0;
    0x00004a76 str r0, [r6]                                      |     *(r6) = r0;
    0x00004a78 bl 0x365c                                         |     fcn_0000365c (r0);
    0x00004a7c ldr r3, [r6, 0x18]                                |     r3 = *((r6 + 0x18));
    0x00004a7e add r7, pc                                        |     r7 = 0xa1b4;
    0x00004a80 mov r5, r0                                        |     r5 = r0;
                                                                 |     if (r3 != 0) {
    0x00004a82 cbz r3, 0x4a96                                    |         
    0x00004a84 ldr.w r1, [pc, 0xcac]                             |         
    0x00004a88 mov r0, r4                                        |         r0 = r4;
    0x00004a8a add r1, pc                                        |         r1 = 0xa1c2;
    0x00004a8c blx 0x2528                                        |         r0 = fcn_00002528 ();
    0x00004a90 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00004a92 bne.w 0x4ed6                                      |             goto label_10;
                                                                 |         }
                                                                 |     }
                                                                 | label_0:
    0x00004a96 ldr.w r1, [pc, 0xca0]                             |     
    0x00004a9a mov r0, r4                                        |     r0 = r4;
    0x00004a9c add r1, pc                                        |     r1 = 0xa1da;
    0x00004a9e blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004aa2 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004aa4 beq.w 0x4f44                                      |         goto label_11;
                                                                 |     }
    0x00004aa8 ldr.w r1, [pc, 0xc90]                             |     
    0x00004aac mov r0, r4                                        |     r0 = r4;
    0x00004aae add r1, pc                                        |     r1 = 0xa1ee;
    0x00004ab0 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004ab4 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004ab6 beq.w 0x4f08                                      |         goto label_12;
                                                                 |     }
    0x00004aba ldr.w r1, [pc, 0xc84]                             |     
    0x00004abe mov r0, r4                                        |     r0 = r4;
    0x00004ac0 add r1, pc                                        |     r1 = 0xa206;
    0x00004ac2 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004ac6 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004ac8 beq.w 0x4f84                                      |         goto label_13;
                                                                 |     }
    0x00004acc ldr.w r1, [pc, 0xc74]                             |     
    0x00004ad0 mov r0, r4                                        |     r0 = r4;
    0x00004ad2 add r1, pc                                        |     r1 = 0xa21a;
    0x00004ad4 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004ad8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004ada beq.w 0x4f9e                                      |         goto label_14;
                                                                 |     }
    0x00004ade ldr.w r1, [pc, 0xc68]                             |     
    0x00004ae2 mov r0, r4                                        |     r0 = r4;
    0x00004ae4 add r1, pc                                        |     r1 = 0xa232;
    0x00004ae6 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004aea cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004aec beq.w 0x4f66                                      |         goto label_15;
                                                                 |     }
    0x00004af0 ldr.w r1, [pc, 0xc58]                             |     
    0x00004af4 mov r0, r4                                        |     r0 = r4;
    0x00004af6 add r1, pc                                        |     r1 = 0xa246;
    0x00004af8 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004afc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004afe beq.w 0x5032                                      |         goto label_16;
                                                                 |     }
    0x00004b02 ldr.w r1, [pc, 0xc4c]                             |     
    0x00004b06 mov r0, r4                                        |     r0 = r4;
    0x00004b08 add r1, pc                                        |     r1 = 0xa25e;
    0x00004b0a blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004b0e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004b10 beq.w 0x507a                                      |         goto label_17;
                                                                 |     }
    0x00004b14 ldr.w r1, [pc, 0xc3c]                             |     
    0x00004b18 mov r0, r4                                        |     r0 = r4;
    0x00004b1a add r1, pc                                        |     r1 = 0xa272;
    0x00004b1c blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004b20 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004b22 beq.w 0x5010                                      |         goto label_18;
                                                                 |     }
    0x00004b26 ldr.w r1, [pc, 0xc30]                             |     
    0x00004b2a mov r0, r4                                        |     r0 = r4;
    0x00004b2c add r1, pc                                        |     r1 = 0xa28a;
    0x00004b2e blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004b32 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004b34 beq.w 0x50e8                                      |         goto label_19;
                                                                 |     }
    0x00004b38 ldr.w r1, [pc, 0xc20]                             |     
    0x00004b3c mov r0, r4                                        |     r0 = r4;
    0x00004b3e add r1, pc                                        |     r1 = 0xa29e;
    0x00004b40 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004b44 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004b46 beq.w 0x5146                                      |         goto label_20;
                                                                 |     }
    0x00004b4a ldr.w r1, [pc, 0xc14]                             |     
    0x00004b4e mov r0, r4                                        |     r0 = r4;
    0x00004b50 add r1, pc                                        |     r1 = 0xa2b6;
    0x00004b52 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004b56 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004b58 beq.w 0x51c6                                      |         goto label_21;
                                                                 |     }
    0x00004b5c ldr.w r1, [pc, 0xc04]                             |     
    0x00004b60 mov r0, r4                                        |     r0 = r4;
    0x00004b62 add r1, pc                                        |     r1 = 0xa2ca;
    0x00004b64 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004b68 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004b6a beq.w 0x51ea                                      |         goto label_22;
                                                                 |     }
    0x00004b6e ldr.w r1, [pc, 0xbf8]                             |     
    0x00004b72 mov r0, r4                                        |     r0 = r4;
    0x00004b74 add r1, pc                                        |     r1 = 0xa2e2;
    0x00004b76 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004b7a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004b7c beq.w 0x5226                                      |         goto label_23;
                                                                 |     }
    0x00004b80 ldr.w r1, [pc, 0xbe8]                             |     
    0x00004b84 mov r0, r4                                        |     r0 = r4;
    0x00004b86 add r1, pc                                        |     r1 = 0xa2f6;
    0x00004b88 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004b8c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004b8e beq.w 0x523a                                      |         goto label_24;
                                                                 |     }
    0x00004b92 ldr.w r1, [pc, 0xbdc]                             |     
    0x00004b96 mov r0, r4                                        |     r0 = r4;
    0x00004b98 add r1, pc                                        |     r1 = 0xa30e;
    0x00004b9a blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004b9e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004ba0 beq.w 0x524e                                      |         goto label_25;
                                                                 |     }
    0x00004ba4 ldr.w r1, [pc, 0xbcc]                             |     
    0x00004ba8 mov r0, r4                                        |     r0 = r4;
    0x00004baa add r1, pc                                        |     r1 = 0xa322;
    0x00004bac blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004bb0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004bb2 beq.w 0x5272                                      |         goto label_26;
                                                                 |     }
    0x00004bb6 ldr.w r1, [pc, 0xbc0]                             |     
    0x00004bba mov r0, r4                                        |     r0 = r4;
    0x00004bbc add r1, pc                                        |     r1 = 0xa33a;
    0x00004bbe blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004bc2 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004bc4 beq.w 0x5294                                      |         goto label_27;
                                                                 |     }
    0x00004bc8 ldr.w r1, [pc, 0xbb0]                             |     
    0x00004bcc mov r0, r4                                        |     r0 = r4;
    0x00004bce add r1, pc                                        |     r1 = 0xa34e;
    0x00004bd0 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004bd4 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004bd6 beq.w 0x52a4                                      |         goto label_28;
                                                                 |     }
    0x00004bda ldr.w r1, [pc, 0xba4]                             |     
    0x00004bde mov r0, r4                                        |     r0 = r4;
    0x00004be0 add r1, pc                                        |     r1 = 0xa366;
    0x00004be2 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004be6 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004be8 beq.w 0x52d4                                      |         goto label_29;
                                                                 |     }
    0x00004bec ldr.w r1, [pc, 0xb94]                             |     
    0x00004bf0 mov r0, r4                                        |     r0 = r4;
    0x00004bf2 add r1, pc                                        |     r1 = 0xa37a;
    0x00004bf4 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004bf8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004bfa beq.w 0x52c2                                      |         goto label_30;
                                                                 |     }
    0x00004bfe ldr.w r1, [pc, 0xb88]                             |     
    0x00004c02 mov r0, r4                                        |     r0 = r4;
    0x00004c04 add r1, pc                                        |     r1 = 0xa392;
    0x00004c06 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004c0a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004c0c beq.w 0x52f4                                      |         goto label_31;
                                                                 |     }
    0x00004c10 ldr.w r1, [pc, 0xb78]                             |     
    0x00004c14 mov r0, r4                                        |     r0 = r4;
    0x00004c16 add r1, pc                                        |     r1 = 0xa3a6;
    0x00004c18 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004c1c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004c1e beq.w 0x52e4                                      |         goto label_32;
                                                                 |     }
    0x00004c22 ldr.w r1, [pc, 0xb6c]                             |     
    0x00004c26 mov r0, r4                                        |     r0 = r4;
    0x00004c28 add r1, pc                                        |     r1 = 0xa3be;
    0x00004c2a blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004c2e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004c30 beq.w 0x634e                                      |         goto label_33;
                                                                 |     }
    0x00004c34 ldr.w r1, [pc, 0xb5c]                             |     
    0x00004c38 mov r0, r4                                        |     r0 = r4;
    0x00004c3a add r1, pc                                        |     r1 = 0xa3d2;
    0x00004c3c blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004c40 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004c42 beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x00004c46 ldr.w r1, [pc, 0xb50]                             |     
    0x00004c4a mov r0, r4                                        |     r0 = r4;
    0x00004c4c add r1, pc                                        |     r1 = 0xa3ea;
    0x00004c4e blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004c52 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004c54 beq.w 0x6328                                      |         goto label_34;
                                                                 |     }
    0x00004c58 ldr.w r1, [pc, 0xb40]                             |     
    0x00004c5c mov r0, r4                                        |     r0 = r4;
    0x00004c5e add r1, pc                                        |     r1 = 0xa3fe;
    0x00004c60 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004c64 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004c66 beq.w 0x635e                                      |         goto label_35;
                                                                 |     }
    0x00004c6a ldr.w r1, [pc, 0xb34]                             |     
    0x00004c6e mov r0, r4                                        |     r0 = r4;
    0x00004c70 add r1, pc                                        |     r1 = 0xa416;
    0x00004c72 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004c76 mov r8, r0                                        |     r8 = r0;
    0x00004c78 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004c7a beq.w 0x620e                                      |         goto label_36;
                                                                 |     }
    0x00004c7e ldr.w r1, [pc, 0xb24]                             |     
    0x00004c82 mov r0, r4                                        |     r0 = r4;
    0x00004c84 add r1, pc                                        |     r1 = 0xa42e;
    0x00004c86 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004c8a mov r6, r0                                        |     r6 = r0;
    0x00004c8c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004c8e beq.w 0x616c                                      |         goto label_37;
                                                                 |     }
    0x00004c92 ldr.w r1, [pc, 0xb14]                             |     
    0x00004c96 mov r0, r4                                        |     r0 = r4;
    0x00004c98 add r1, pc                                        |     r1 = 0xa446;
    0x00004c9a blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004c9e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004ca0 beq.w 0x6104                                      |         goto label_38;
                                                                 |     }
    0x00004ca4 ldr.w r1, [pc, 0xb04]                             |     
    0x00004ca8 mov r0, r4                                        |     r0 = r4;
    0x00004caa add r1, pc                                        |     r1 = 0xa45a;
    0x00004cac blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004cb0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004cb2 beq.w 0x60d2                                      |         goto label_39;
                                                                 |     }
    0x00004cb6 ldr.w r1, [pc, 0xaf8]                             |     
    0x00004cba mov r0, r4                                        |     r0 = r4;
    0x00004cbc add r1, pc                                        |     r1 = 0xa472;
    0x00004cbe blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004cc2 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004cc4 beq.w 0x60b6                                      |         goto label_40;
                                                                 |     }
    0x00004cc8 ldr.w r1, [pc, 0xae8]                             |     
    0x00004ccc mov r0, r4                                        |     r0 = r4;
    0x00004cce add r1, pc                                        |     r1 = 0xa486;
    0x00004cd0 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004cd4 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004cd6 beq.w 0x6868                                      |         goto label_41;
                                                                 |     }
    0x00004cda ldr.w r1, [pc, 0xadc]                             |     
    0x00004cde mov r0, r4                                        |     r0 = r4;
    0x00004ce0 add r1, pc                                        |     r1 = 0xa49e;
    0x00004ce2 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004ce6 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004ce8 beq.w 0x6842                                      |         goto label_42;
                                                                 |     }
    0x00004cec ldr.w r1, [pc, 0xacc]                             |     
    0x00004cf0 mov r0, r4                                        |     r0 = r4;
    0x00004cf2 add r1, pc                                        |     r1 = 0xa4b2;
    0x00004cf4 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004cf8 mov r1, r0                                        |     r1 = r0;
    0x00004cfa cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004cfc beq.w 0x6878                                      |         goto label_43;
                                                                 |     }
    0x00004d00 ldr.w r1, [pc, 0xabc]                             |     
    0x00004d04 mov r0, r4                                        |     r0 = r4;
    0x00004d06 add r1, pc                                        |     r1 = 0xa4ca;
    0x00004d08 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004d0c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004d0e beq.w 0x67ea                                      |         goto label_44;
                                                                 |     }
    0x00004d12 ldr.w r1, [pc, 0xab0]                             |     
    0x00004d16 mov r0, r4                                        |     r0 = r4;
    0x00004d18 add r1, pc                                        |     r1 = 0xa4e2;
    0x00004d1a blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004d1e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004d20 beq.w 0x6832                                      |         goto label_45;
                                                                 |     }
    0x00004d24 ldr.w r1, [pc, 0xaa0]                             |     
    0x00004d28 mov r0, r4                                        |     r0 = r4;
    0x00004d2a add r1, pc                                        |     r1 = 0xa4f6;
    0x00004d2c blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004d30 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004d32 beq.w 0x6822                                      |         goto label_46;
                                                                 |     }
    0x00004d36 ldr.w r1, [pc, 0xa94]                             |     
    0x00004d3a mov r0, r4                                        |     r0 = r4;
    0x00004d3c add r1, pc                                        |     r1 = 0xa50e;
    0x00004d3e blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004d42 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004d44 beq.w 0x689a                                      |         goto label_47;
                                                                 |     }
    0x00004d48 ldr.w r1, [pc, 0xa84]                             |     
    0x00004d4c mov r0, r4                                        |     r0 = r4;
    0x00004d4e add r1, pc                                        |     r1 = 0xa522;
    0x00004d50 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004d54 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004d56 beq.w 0x67aa                                      |         goto label_48;
                                                                 |     }
    0x00004d5a ldr.w r1, [pc, 0xa78]                             |     
    0x00004d5e mov r0, r4                                        |     r0 = r4;
    0x00004d60 add r1, pc                                        |     r1 = 0xa53a;
    0x00004d62 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004d66 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004d68 beq.w 0x6768                                      |         goto label_49;
                                                                 |     }
    0x00004d6c ldr.w r1, [pc, 0xa68]                             |     
    0x00004d70 mov r0, r4                                        |     r0 = r4;
    0x00004d72 add r1, pc                                        |     r1 = 0xa54e;
    0x00004d74 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004d78 mov r1, r0                                        |     r1 = r0;
    0x00004d7a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004d7c beq.w 0x6540                                      |         goto label_50;
                                                                 |     }
    0x00004d80 ldr.w r1, [pc, 0xa58]                             |     
    0x00004d84 mov r0, r4                                        |     r0 = r4;
    0x00004d86 add r1, pc                                        |     r1 = 0xa566;
    0x00004d88 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004d8c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004d8e beq.w 0x6508                                      |         goto label_51;
                                                                 |     }
    0x00004d92 ldr.w r1, [pc, 0xa4c]                             |     
    0x00004d96 mov r0, r4                                        |     r0 = r4;
    0x00004d98 add r1, pc                                        |     r1 = 0xa57e;
    0x00004d9a blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004d9e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004da0 beq.w 0x64f8                                      |         goto label_52;
                                                                 |     }
    0x00004da4 ldr.w r1, [pc, 0xa3c]                             |     
    0x00004da8 mov r0, r4                                        |     r0 = r4;
    0x00004daa add r1, pc                                        |     r1 = 0xa592;
    0x00004dac blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004db0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004db2 beq.w 0x64e8                                      |         goto label_53;
                                                                 |     }
    0x00004db6 ldr.w r1, [pc, 0xa30]                             |     
    0x00004dba mov r0, r4                                        |     r0 = r4;
    0x00004dbc add r1, pc                                        |     r1 = 0xa5aa;
    0x00004dbe blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004dc2 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004dc4 beq.w 0x64d8                                      |         goto label_54;
                                                                 |     }
    0x00004dc8 ldr.w r1, [pc, 0xa20]                             |     
    0x00004dcc mov r0, r4                                        |     r0 = r4;
    0x00004dce add r1, pc                                        |     r1 = 0xa5be;
    0x00004dd0 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004dd4 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004dd6 beq.w 0x64c8                                      |         goto label_55;
                                                                 |     }
    0x00004dda ldr.w r1, [pc, 0xa14]                             |     
    0x00004dde mov r0, r4                                        |     r0 = r4;
    0x00004de0 add r1, pc                                        |     r1 = 0xa5d6;
    0x00004de2 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004de6 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004de8 beq.w 0x64b8                                      |         goto label_56;
                                                                 |     }
    0x00004dec ldr.w r1, [pc, 0xa04]                             |     
    0x00004df0 mov r0, r4                                        |     r0 = r4;
    0x00004df2 add r1, pc                                        |     r1 = 0xa5ea;
    0x00004df4 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004df8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004dfa beq.w 0x60a2                                      |         goto label_57;
                                                                 |     }
    0x00004dfe ldr.w r1, [pc, 0x9f8]                             |     
    0x00004e02 mov r0, r4                                        |     r0 = r4;
    0x00004e04 add r1, pc                                        |     r1 = 0xa602;
    0x00004e06 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004e0a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004e0c beq.w 0x6090                                      |         goto label_58;
                                                                 |     }
    0x00004e10 ldr.w r1, [pc, 0x9e8]                             |     
    0x00004e14 mov r0, r4                                        |     r0 = r4;
    0x00004e16 add r1, pc                                        |     r1 = 0xa616;
    0x00004e18 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004e1c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004e1e beq.w 0x607e                                      |         goto label_59;
                                                                 |     }
    0x00004e22 ldr.w r1, [pc, 0x9dc]                             |     
    0x00004e26 mov r0, r4                                        |     r0 = r4;
    0x00004e28 add r1, pc                                        |     r1 = 0xa62e;
    0x00004e2a blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004e2e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004e30 beq.w 0x606c                                      |         goto label_60;
                                                                 |     }
    0x00004e34 ldr.w r1, [pc, 0x9cc]                             |     
    0x00004e38 mov r0, r4                                        |     r0 = r4;
    0x00004e3a add r1, pc                                        |     r1 = 0xa642;
    0x00004e3c blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004e40 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004e42 beq.w 0x605a                                      |         goto label_61;
                                                                 |     }
    0x00004e46 ldr.w r1, [pc, 0x9c0]                             |     
    0x00004e4a mov r0, r4                                        |     r0 = r4;
    0x00004e4c add r1, pc                                        |     r1 = 0xa65a;
    0x00004e4e blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004e52 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004e54 beq.w 0x6046                                      |         goto label_62;
                                                                 |     }
    0x00004e58 ldr.w r1, [pc, 0x9b0]                             |     
    0x00004e5c mov r0, r4                                        |     r0 = r4;
    0x00004e5e add r1, pc                                        |     r1 = 0xa66e;
    0x00004e60 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004e64 mov r1, r0                                        |     r1 = r0;
    0x00004e66 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004e68 beq.w 0x6030                                      |         goto label_63;
                                                                 |     }
    0x00004e6c ldr.w r1, [pc, 0x9a0]                             |     
    0x00004e70 mov r0, r4                                        |     r0 = r4;
    0x00004e72 add r1, pc                                        |     r1 = 0xa686;
    0x00004e74 blx 0x2528                                        |     fcn_00002528 ();
    0x00004e76 adcs.w r6, r8, r1, lsl 16                         |     __asm ("adcs.w r6, r8, r1, lsl 16");
    0x00004e7a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004e7c beq.w 0x601a                                      |         goto label_64;
                                                                 |     }
    0x00004e80 ldr.w r1, [pc, 0x990]                             |     
    0x00004e84 mov r0, r4                                        |     r0 = r4;
    0x00004e86 add r1, pc                                        |     r1 = 0xa69e;
    0x00004e88 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004e8c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004e8e beq.w 0x5fae                                      |         goto label_65;
                                                                 |     }
    0x00004e92 ldr.w r1, [pc, 0x984]                             |     
    0x00004e96 mov r0, r4                                        |     r0 = r4;
    0x00004e98 add r1, pc                                        |     r1 = 0xa6b6;
    0x00004e9a blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004e9e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004ea0 beq.w 0x5f88                                      |         goto label_66;
                                                                 |     }
    0x00004ea4 ldr.w r1, [pc, 0x974]                             |     
    0x00004ea8 mov r0, r4                                        |     r0 = r4;
    0x00004eaa add r1, pc                                        |     r1 = 0xa6ca;
    0x00004eac blx 0x2528                                        |     r0 = fcn_00002528 ();
                                                                 |     if (r0 == 0) {
    0x00004eb0 cbz r0, 0x4ec4                                    |         goto label_67;
                                                                 |     }
    0x00004eb2 ldr.w r1, [pc, 0x96c]                             |     
    0x00004eb6 mov r0, r4                                        |     r0 = r4;
    0x00004eb8 add r1, pc                                        |     r1 = 0xa6de;
    0x00004eba blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004ebe cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00004ec0 bne.w 0x5304                                      |         void (*0x5304)() ();
                                                                 |     }
                                                                 | label_67:
    0x00004ec4 ldr.w r1, [pc, 0x95c]                             |     
    0x00004ec8 mov r0, r5                                        |     r0 = r5;
    0x00004eca add r1, pc                                        |     
    0x00004ecc add.w r1, r1, 0x184                               |     r1 = 0xa876;
    0x00004ed0 bl 0x49cc                                         |     fcn_000049cc (r0, r1);
    0x00004ed4 b 0x4f18                                          |     goto label_1;
                                                                 | label_10:
    0x00004ed6 ldr.w r1, [pc, 0x950]                             |     
    0x00004eda mov r0, r4                                        |     r0 = r4;
    0x00004edc add r1, pc                                        |     r1 = 0xa70a;
    0x00004ede blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00004ee2 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004ee4 beq.w 0x4a96                                      |         goto label_0;
                                                                 |     }
    0x00004ee8 ldrb r3, [r5]                                     |     r3 = *(r5);
    0x00004eea cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00004eec beq.w 0x4ffc                                      |         goto label_68;
                                                                 |     }
    0x00004ef0 ldr.w r3, [pc, 0x938]                             |     
    0x00004ef4 add r3, pc                                        |     r3 = 0xa724;
                                                                 | label_2:
    0x00004ef6 ldr.w r1, [pc, 0x938]                             |     
    0x00004efa mov r2, r4                                        |     r2 = r4;
    0x00004efc str r5, [sp]                                      |     *(sp) = r5;
    0x00004efe movs r0, 1                                        |     r0 = 1;
    0x00004f00 add r1, pc                                        |     r1 = 0xa736;
    0x00004f02 blx 0x2510                                        |     fcn_00002510 ();
    0x00004f06 b 0x4a96                                          |     goto label_0;
                                                                 | label_12:
    0x00004f08 ldr.w r3, [pc, 0x928]                             |     
    0x00004f0c movs r2, 1                                        |     r2 = 1;
    0x00004f0e mov r0, r5                                        |     r0 = r5;
    0x00004f10 add r3, pc                                        |     r3 = 0xa748;
    0x00004f12 ldr r1, [r3, 0x1c]                                |     r1 = *(0xa764);
    0x00004f14 bl 0x41b4                                         |     fcn_000041b4 (r0, r1, r2);
    0x00004f16 invalid                                           |     
                                                                 |     do {
                                                                 | label_1:
    0x00004f18 ldr.w r3, [pc, 0x91c]                             |         
    0x00004f1c movs r2, 0                                        |         r2 = 0;
    0x00004f1e add r3, pc                                        |         r3 = 0xa75a;
    0x00004f20 str r2, [r3]                                      |         *(r3) = r2;
    0x00004f22 str r2, [r3, 8]                                   |         *((r3 + 8)) = r2;
    0x00004f24 ldr.w r2, [pc, 0x914]                             |         
    0x00004f28 ldr.w r3, [pc, 0x7fc]                             |         r3 = *(0x5728);
    0x00004f2c add r2, pc                                        |         r2 = 0xa76c;
    0x00004f2e ldr r3, [r2, r3]                                  |         r3 = *(0xa76c);
    0x00004f30 ldr r2, [r3]                                      |         r2 = *(0xa76c);
    0x00004f32 ldr r3, [sp, 0x134]                               |         r3 = var_134h;
    0x00004f34 eors r2, r3                                       |         r2 ^= r3;
    0x00004f36 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00004f3a bne.w 0x52be                                      |             goto label_69;
                                                                 |         }
    0x00004f3e add sp, 0x13c                                     |         
    0x00004f40 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_11:
    0x00004f44 movs r1, 1                                        |         r1 = 1;
    0x00004f46 mov r0, r5                                        |         r0 = r5;
    0x00004f48 bl 0x48d4                                         |         fcn_000048d4 (r0, r1);
    0x00004f4a stc2l p8, c15, [r4], {0xdf}                       |         __asm ("stc2l p8, c15, [r4], {0xdf}");
    0x00004f4e cmp r0, 0xf0                                      |         
    0x00004f50 mov r0, r5                                        |         r0 = r5;
    0x00004f52 ldr.w r1, [pc, 0x8f0]                             |         
    0x00004f56 add r2, pc                                        |         r2 += pc;
    0x00004f58 add r1, pc                                        |         r1 = 0xa7a2;
    0x00004f5a blx 0x24a4                                        |         r0 = fcn_000024a4 ();
    0x00004f5e cmp r0, 1                                         |         
    0x00004f60 beq 0x4f18                                        |         
                                                                 |     } while (r0 == 1);
                                                                 |     do {
                                                                 | label_3:
    0x00004f62 bl 0x4018                                         |         fcn_00004018 ();
                                                                 | label_15:
    0x00004f66 ldr.w r4, [pc, 0x8e0]                             |         
    0x00004f6a movs r1, 1                                        |         r1 = 1;
    0x00004f6c mov r0, r5                                        |         r0 = r5;
    0x00004f6e bl 0x48d4                                         |         fcn_000048d4 (r0, r1);
    0x00004f72 add r4, pc                                        |         r4 = 0xa7c0;
    0x00004f74 ldr r0, [r4, 0x48]                                |         r0 = *(0xa808);
    0x00004f76 blx 0x2688                                        |         fcn_00002688 ();
    0x00004f7a mov r0, r5                                        |         r0 = r5;
    0x00004f7c bl 0x96d0                                         |         fcn_000096d0 ();
    0x00004f80 str r0, [r4, 0x48]                                |         *((r4 + 0x48)) = r0;
    0x00004f82 b 0x4f18                                          |         goto label_1;
                                                                 | label_13:
    0x00004f84 ldr.w r1, [pc, 0x8c4]                             |         
    0x00004f88 mov r0, r5                                        |         r0 = r5;
    0x00004f8a add r1, pc                                        |         r1 = 0xa7da;
    0x00004f8c blx 0x2528                                        |         r0 = fcn_00002528 ();
                                                                 |         if (r0 != 0) {
    0x00004f90 cbnz r0, 0x4fd2                                   |             goto label_70;
                                                                 |         }
    0x00004f92 ldr.w r3, [pc, 0x8bc]                             |         r3 = "refclock_sock.c";
    0x00004f96 movs r2, 3                                        |         r2 = 3;
    0x00004f98 add r3, pc                                        |         r3 += pc;
    0x00004f9a str r2, [r3, 4]                                   |         *((r3 + 4)) = r2;
    0x00004f9c b 0x4f18                                          |         goto label_1;
                                                                 | label_14:
    0x00004f9e movs r1, 1                                        |         r1 = 1;
    0x00004fa0 mov r0, r5                                        |         r0 = r5;
    0x00004fa2 add r4, sp, 0xd4                                  |         r4 += var_d4h;
    0x00004fa4 bl 0x48d4                                         |         fcn_000048d4 (r0, r1);
    0x00004fa8 mov r1, r4                                        |         r1 = r4;
    0x00004faa mov r0, r5                                        |         r0 = r5;
    0x00004fac bl 0x159ac                                        |         r0 = fcn_000159ac (r0, r1);
    0x00004fb0 cmp r0, 0                                         |         
    0x00004fb2 beq 0x4f62                                        |         
                                                                 |     } while (r0 == 0);
    0x00004fb4 ldrh.w r3, [sp, 0xe4]                             |     r3 = var_e4h;
    0x00004fb8 cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x00004fba beq 0x5068                                        |         goto label_71;
                                                                 |     }
    0x00004fbc cmp r3, 2                                         |     
                                                                 |     if (r3 != 2) {
    0x00004fbe bne 0x4f18                                        |         goto label_1;
                                                                 |     }
    0x00004fc0 ldr.w r5, [pc, 0x890]                             |     
    0x00004fc4 ldm r4!, {r0, r1, r2, r3}                         |     r0 = *(r4!);
                                                                 |     r1 = *((r4! + 4));
                                                                 |     r2 = *((r4! + 8));
                                                                 |     r3 = *((r4! + 12));
    0x00004fc6 add r5, pc                                        |     r5 = 0xa81e;
    0x00004fc8 adds r5, 0x34                                     |     r5 += 0x34;
    0x00004fca stm r5!, {r0, r1, r2, r3}                         |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
                                                                 |     *((r5! + 12)) = r3;
    0x00004fcc ldr r3, [r4]                                      |     r3 = *(r4);
    0x00004fce str r3, [r5]                                      |     *(r5) = r3;
    0x00004fd0 b 0x4f18                                          |     goto label_1;
                                                                 | label_70:
    0x00004fd2 ldr.w r1, [pc, 0x884]                             |     
    0x00004fd6 mov r0, r5                                        |     r0 = r5;
    0x00004fd8 add r1, pc                                        |     r1 = 0xa836;
    0x00004fda blx 0x2528                                        |     r0 = fcn_00002528 ();
                                                                 |     if (r0 != 0) {
    0x00004fde cbz r0, 0x5004                                    |         
    0x00004fe0 ldr.w r1, [pc, 0x878]                             |         
    0x00004fe4 mov r0, r5                                        |         r0 = r5;
    0x00004fe6 add r1, pc                                        |         r1 = 0xa846;
    0x00004fe8 blx 0x2528                                        |         r0 = fcn_00002528 ();
    0x00004fec cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00004fee bne 0x50ba                                        |             goto label_72;
                                                                 |         }
    0x00004ff0 ldr.w r3, [pc, 0x86c]                             |         
    0x00004ff4 movs r2, 1                                        |         r2 = 1;
    0x00004ff6 add r3, pc                                        |         r3 = 0xa85a;
    0x00004ff8 str r2, [r3, 4]                                   |         *((r3 + 4)) = r2;
    0x00004ffa b 0x4f18                                          |         goto label_1;
                                                                 | label_68:
    0x00004ffc ldr.w r3, [pc, 0x864]                             |         
    0x00005000 add r3, pc                                        |         r3 = 0xa868;
    0x00005002 b 0x4ef6                                          |         goto label_2;
                                                                 |     }
    0x00005004 ldr.w r3, [pc, 0x860]                             |     
    0x00005008 movs r2, 2                                        |     r2 = 2;
    0x0000500a add r3, pc                                        |     r3 = 0xa876;
    0x0000500c str r2, [r3, 4]                                   |     *((r3 + 4)) = r2;
    0x0000500e b 0x4f18                                          |     goto label_1;
                                                                 | label_18:
    0x00005010 ldr.w r4, [pc, 0x858]                             |     
    0x00005014 movs r1, 1                                        |     r1 = 1;
    0x00005016 mov r0, r5                                        |     r0 = r5;
    0x00005018 bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x0000501c add r4, pc                                        |     r4 = 0xa88c;
    0x0000501e ldr.w r0, [r4, 0xa0]                              |     r0 = *(0xa92c);
    0x00005022 blx 0x2688                                        |     fcn_00002688 ();
    0x00005026 mov r0, r5                                        |     r0 = r5;
    0x00005028 bl 0x96d0                                         |     fcn_000096d0 ();
    0x0000502c str.w r0, [r4, 0xa0]                              |     __asm ("str.w r0, [r4, 0xa0]");
    0x00005030 b 0x4f18                                          |     goto label_1;
                                                                 | label_16:
    0x00005032 movs r1, 1                                        |     r1 = 1;
    0x00005034 mov r0, r5                                        |     r0 = r5;
    0x00005036 add r4, sp, 0xe8                                  |     r4 += var_e8h;
    0x00005038 bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x0000503c mov r1, r4                                        |     r1 = r4;
    0x0000503e mov r0, r5                                        |     r0 = r5;
    0x00005040 bl 0x159ac                                        |     r0 = fcn_000159ac (r0, r1);
    0x00005044 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00005046 beq 0x4f62                                        |         goto label_3;
                                                                 |     }
    0x00005048 ldrh.w r3, [sp, 0xf8]                             |     r3 = var_f8h;
    0x0000504c cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x0000504e beq 0x50d6                                        |         goto label_73;
                                                                 |     }
    0x00005050 cmp r3, 2                                         |     
                                                                 |     if (r3 != 2) {
    0x00005052 bne.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x00005056 ldr.w r5, [pc, 0x818]                             |     
    0x0000505a ldm r4!, {r0, r1, r2, r3}                         |     r0 = *(r4!);
                                                                 |     r1 = *((r4! + 4));
                                                                 |     r2 = *((r4! + 8));
                                                                 |     r3 = *((r4! + 12));
    0x0000505c add r5, pc                                        |     r5 = 0xa8d2;
    0x0000505e adds r5, 0x60                                     |     r5 += 0x60;
    0x00005060 stm r5!, {r0, r1, r2, r3}                         |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
                                                                 |     *((r5! + 12)) = r3;
    0x00005062 ldr r3, [r4]                                      |     r3 = *(r4);
    0x00005064 str r3, [r5]                                      |     *(r5) = r3;
    0x00005066 b 0x4f18                                          |     goto label_1;
                                                                 | label_71:
    0x00005068 ldr.w r5, [pc, 0x808]                             |     
    0x0000506c ldm r4!, {r0, r1, r2, r3}                         |     r0 = *(r4!);
                                                                 |     r1 = *((r4! + 4));
                                                                 |     r2 = *((r4! + 8));
                                                                 |     r3 = *((r4! + 12));
    0x0000506e add r5, pc                                        |     r5 = 0xa8e6;
    0x00005070 adds r5, 0x20                                     |     r5 += 0x20;
    0x00005072 stm r5!, {r0, r1, r2, r3}                         |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
                                                                 |     *((r5! + 12)) = r3;
    0x00005074 ldr r3, [r4]                                      |     r3 = *(r4);
    0x00005076 str r3, [r5]                                      |     *(r5) = r3;
    0x00005078 b 0x4f18                                          |     goto label_1;
                                                                 | label_17:
    0x0000507a movs r1, 1                                        |     r1 = 1;
    0x0000507c mov r0, r5                                        |     r0 = r5;
    0x0000507e bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x00005082 ldrb r3, [r5]                                     |     r3 = *(r5);
    0x00005084 cmp r3, 0x2f                                      |     
                                                                 |     if (r3 == 0x2f) {
    0x00005086 beq 0x510a                                        |         goto label_74;
                                                                 |     }
    0x00005088 add r4, sp, 0xfc                                  |     r4 += var_fch;
    0x0000508a mov r0, r5                                        |     r0 = r5;
    0x0000508c mov r1, r4                                        |     r1 = r4;
    0x0000508e bl 0x159ac                                        |     r0 = fcn_000159ac (r0, r1);
    0x00005092 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00005094 beq.w 0x4f62                                      |         goto label_3;
                                                                 |     }
    0x00005098 ldrh.w r3, [sp, 0x10c]                            |     r3 = var_10ch;
    0x0000509c cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x0000509e beq.w 0x51b4                                      |         goto label_75;
                                                                 |     }
    0x000050a2 cmp r3, 2                                         |     
                                                                 |     if (r3 != 2) {
    0x000050a4 bne.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x000050a8 ldr.w r5, [pc, 0x7cc]                             |     
    0x000050ac ldm r4!, {r0, r1, r2, r3}                         |     r0 = *(r4!);
                                                                 |     r1 = *((r4! + 4));
                                                                 |     r2 = *((r4! + 8));
                                                                 |     r3 = *((r4! + 12));
    0x000050ae add r5, pc                                        |     r5 = 0xa92a;
    0x000050b0 adds r5, 0x8c                                     |     r5 += 0x8c;
    0x000050b2 stm r5!, {r0, r1, r2, r3}                         |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
                                                                 |     *((r5! + 12)) = r3;
    0x000050b4 ldr r3, [r4]                                      |     r3 = *(r4);
    0x000050b6 str r3, [r5]                                      |     *(r5) = r3;
    0x000050b8 b 0x4f18                                          |     goto label_1;
                                                                 | label_72:
    0x000050ba ldr.w r1, [pc, 0x7c0]                             |     
    0x000050be mov r0, r5                                        |     r0 = r5;
    0x000050c0 add r1, pc                                        |     r1 = 0xa942;
    0x000050c2 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x000050c6 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000050c8 bne.w 0x4f62                                      |         goto label_3;
                                                                 |     }
    0x000050cc ldr.w r3, [pc, 0x7b0]                             |     
    0x000050d0 add r3, pc                                        |     r3 = 0xa954;
    0x000050d2 str r0, [r3, 4]                                   |     *((r3 + 4)) = r0;
    0x000050d4 b 0x4f18                                          |     goto label_1;
                                                                 | label_73:
    0x000050d6 ldr.w r5, [pc, 0x7ac]                             |     
    0x000050da ldm r4!, {r0, r1, r2, r3}                         |     r0 = *(r4!);
                                                                 |     r1 = *((r4! + 4));
                                                                 |     r2 = *((r4! + 8));
                                                                 |     r3 = *((r4! + 12));
    0x000050dc add r5, pc                                        |     r5 = 0xa966;
    0x000050de adds r5, 0x4c                                     |     r5 += 0x4c;
    0x000050e0 stm r5!, {r0, r1, r2, r3}                         |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
                                                                 |     *((r5! + 12)) = r3;
    0x000050e2 ldr r3, [r4]                                      |     r3 = *(r4);
    0x000050e4 str r3, [r5]                                      |     *(r5) = r3;
    0x000050e6 b 0x4f18                                          |     goto label_1;
                                                                 | label_19:
    0x000050e8 ldr.w r4, [pc, 0x79c]                             |     
    0x000050ec movs r1, 1                                        |     r1 = 1;
    0x000050ee mov r0, r5                                        |     r0 = r5;
    0x000050f0 bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x000050f4 add r4, pc                                        |     r4 = 0xa980;
    0x000050f6 ldr.w r0, [r4, 0xa4]                              |     r0 = *(0xaa24);
    0x000050fa blx 0x2688                                        |     fcn_00002688 ();
    0x000050fe mov r0, r5                                        |     r0 = r5;
    0x00005100 bl 0x96d0                                         |     fcn_000096d0 ();
    0x00005104 str.w r0, [r4, 0xa4]                              |     __asm ("str.w r0, [r4, 0xa4]");
    0x00005108 b 0x4f18                                          |     goto label_1;
                                                                 | label_74:
    0x0000510a ldr.w r4, [pc, 0x780]                             |     
    0x0000510e movs r1, 1                                        |     r1 = 1;
    0x00005110 mov r0, r5                                        |     r0 = r5;
    0x00005112 bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x00005116 add r4, pc                                        |     r4 = 0xa9a8;
    0x00005118 ldr r0, [r4, 0x74]                                |     r0 = *(0xaa1c);
    0x0000511a blx 0x2688                                        |     fcn_00002688 ();
    0x0000511e mov r0, r5                                        |     r0 = r5;
    0x00005120 bl 0x96d0                                         |     fcn_000096d0 ();
    0x00005124 str r0, [r4, 0x74]                                |     *((r4 + 0x74)) = r0;
    0x00005126 ldrb r3, [r0]                                     |     r3 = *(r0);
    0x00005128 cmp r3, 0x2f                                      |     
                                                                 |     if (r3 != 0x2f) {
    0x0000512a bne.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x0000512e ldrb r3, [r0, 1]                                  |     r3 = *((r0 + 1));
    0x00005130 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00005132 bne.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x00005136 blx 0x2688                                        |     fcn_00002688 ();
    0x0000513a ldr.w r3, [pc, 0x754]                             |     
    0x0000513e movs r2, 0                                        |     r2 = 0;
    0x00005140 add r3, pc                                        |     r3 = 0xa9d6;
    0x00005142 str r2, [r3, 0x74]                                |     *((r3 + 0x74)) = r2;
    0x00005144 b 0x4f18                                          |     goto label_1;
                                                                 | label_20:
    0x00005146 ldr.w r7, [pc, 0x74c]                             |     
    0x0000514a mov r0, r5                                        |     r0 = r5;
    0x0000514c bl 0x365c                                         |     fcn_0000365c (r0);
    0x00005150 add r2, sp, 0x5c                                  |     r2 += var_5ch;
    0x00005152 mov r6, r0                                        |     r6 = r0;
    0x00005154 add r7, pc                                        |     r7 = 0xa9ee;
    0x00005156 mov r0, r5                                        |     r0 = r5;
    0x00005158 mov r1, r7                                        |     r1 = r7;
    0x0000515a blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x0000515e cmp r0, 1                                         |     
                                                                 |     if (r0 != 1) {
    0x00005160 bne.w 0x4f62                                      |         goto label_3;
                                                                 |     }
    0x00005164 mov r0, r6                                        |     r0 = r6;
    0x00005166 add r4, sp, 0x110                                 |     r4 += var_110h;
    0x00005168 bl 0x365c                                         |     fcn_0000365c (r0);
    0x0000516c mov r1, r4                                        |     r1 = r4;
    0x0000516e mov r5, r0                                        |     r5 = r0;
    0x00005170 mov r0, r6                                        |     r0 = r6;
    0x00005172 bl 0x159ac                                        |     r0 = fcn_000159ac (r0, r1);
    0x00005176 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00005178 beq.w 0x4f62                                      |         goto label_3;
                                                                 |     }
    0x0000517c mov r0, r5                                        |     r0 = r5;
    0x0000517e bl 0x365c                                         |     fcn_0000365c (r0);
    0x00005182 ldrb r3, [r5]                                     |     r3 = *(r5);
    0x00005184 mov r6, r0                                        |     r6 = r0;
    0x00005186 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00005188 bne 0x520e                                        |         goto label_76;
                                                                 |     }
    0x0000518a movs r3, 0x7b                                     |     r3 = 0x7b;
    0x0000518c str r3, [sp, 0x58]                                |     var_58h = r3;
                                                                 | label_4:
    0x0000518e ldr.w r3, [pc, 0x708]                             |     
    0x00005192 add r3, pc                                        |     r3 = 0xaa30;
    0x00005194 ldr.w r0, [r3, 0xa8]                              |     r0 = *(0xaad8);
    0x00005198 bl 0x34dc                                         |     r0 = fcn_000034dc (r0);
    0x0000519c mov r6, r0                                        |     r6 = r0;
    0x0000519e mov r5, r0                                        |     r5 = r0;
    0x000051a0 ldm r4!, {r0, r1, r2, r3}                         |     r0 = *(r4!);
                                                                 |     r1 = *((r4! + 4));
                                                                 |     r2 = *((r4! + 8));
                                                                 |     r3 = *((r4! + 12));
    0x000051a2 ldrd ip, r7, [sp, 0x58]                           |     __asm ("ldrd ip, r7, [var_58h]");
    0x000051a6 stm r5!, {r0, r1, r2, r3}                         |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
                                                                 |     *((r5! + 12)) = r3;
    0x000051a8 ldr r3, [r4]                                      |     r3 = *(r4);
    0x000051aa str r3, [r5]                                      |     *(r5) = r3;
    0x000051ac strh.w ip, [r6, 0x14]                             |     *((r6 + 0x14)) = ip;
    0x000051b0 str r7, [r6, 0x18]                                |     *((r6 + 0x18)) = r7;
    0x000051b2 b 0x4f18                                          |     goto label_1;
                                                                 | label_75:
    0x000051b4 ldr.w r5, [pc, 0x6e4]                             |     
    0x000051b8 ldm r4!, {r0, r1, r2, r3}                         |     r0 = *(r4!);
                                                                 |     r1 = *((r4! + 4));
                                                                 |     r2 = *((r4! + 8));
                                                                 |     r3 = *((r4! + 12));
    0x000051ba add r5, pc                                        |     r5 = 0xaa5a;
    0x000051bc adds r5, 0x78                                     |     r5 += 0x78;
    0x000051be stm r5!, {r0, r1, r2, r3}                         |     *(r5!) = r0;
                                                                 |     *((r5! + 4)) = r1;
                                                                 |     *((r5! + 8)) = r2;
                                                                 |     *((r5! + 12)) = r3;
    0x000051c0 ldr r3, [r4]                                      |     r3 = *(r4);
    0x000051c2 str r3, [r5]                                      |     *(r5) = r3;
    0x000051c4 b 0x4f18                                          |     goto label_1;
                                                                 | label_21:
    0x000051c6 movs r1, 1                                        |     r1 = 1;
    0x000051c8 mov r0, r5                                        |     r0 = r5;
    0x000051ca bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x000051ce ldr.w r2, [pc, 0x6d0]                             |     r2 = "clear";
    0x000051d2 mov r0, r5                                        |     r0 = r5;
    0x000051d4 ldr.w r1, [pc, 0x6cc]                             |     
    0x000051d8 add r2, pc                                        |     r2 += pc;
    0x000051da add r1, pc                                        |     r1 = 0xaa82;
    0x000051dc adds r2, 8                                        |     r2 += 8;
    0x000051de blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x000051e2 cmp r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x000051e4 beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x000051e8 b 0x4f62                                          |     goto label_3;
                                                                 | label_22:
    0x000051ea movs r1, 1                                        |     r1 = 1;
    0x000051ec mov r0, r5                                        |     r0 = r5;
    0x000051ee bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x000051f2 ldr.w r2, [pc, 0x6b4]                             |     
    0x000051f6 mov r0, r5                                        |     r0 = r5;
    0x000051f8 ldr.w r1, [pc, 0x6b0]                             |     
    0x000051fc add r2, pc                                        |     r2 = 0xaaaa;
    0x000051fe add r1, pc                                        |     r1 = 0xaaae;
    0x00005200 adds r2, 0xb0                                     |     r2 += 0xb0;
    0x00005202 blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x00005206 cmp r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x00005208 beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x0000520c b 0x4f62                                          |     goto label_3;
                                                                 | label_76:
    0x0000520e add r2, sp, 0x58                                  |     r2 += var_58h;
    0x00005210 mov r1, r7                                        |     r1 = r7;
    0x00005212 mov r0, r5                                        |     r0 = r5;
    0x00005214 blx 0x24a4                                        |     fcn_000024a4 ();
    0x00005216 strd r2, r8, [r6, -0x4]                           |     __asm ("strd r2, r8, [r6, -0x4]");
                                                                 |     if (r0 != 1) {
    0x0000521a bne.w 0x4f62                                      |         goto label_3;
                                                                 |     }
    0x0000521e ldrb r3, [r6]                                     |     r3 = *(r6);
    0x00005220 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00005222 beq 0x518e                                        |         goto label_4;
                                                                 |     }
    0x00005224 b 0x4f62                                          |     goto label_3;
                                                                 | label_23:
    0x00005226 ldr.w r3, [pc, 0x688]                             |     
    0x0000522a movs r2, 1                                        |     r2 = 1;
    0x0000522c mov r0, r5                                        |     r0 = r5;
    0x0000522e add r3, pc                                        |     r3 = 0xaae4;
    0x00005230 ldr.w r1, [r3, 0xb8]                              |     r1 = *(0xab9c);
    0x00005234 bl 0x41b4                                         |     fcn_000041b4 (r0, r1, r2);
    0x00005238 b 0x4f18                                          |     goto label_1;
                                                                 | label_24:
    0x0000523a ldr.w r3, [pc, 0x678]                             |     
    0x0000523e mov r2, r0                                        |     r2 = r0;
    0x00005240 mov r0, r5                                        |     r0 = r5;
    0x00005242 add r3, pc                                        |     r3 = 0xaafc;
    0x00005244 ldr.w r1, [r3, 0xb8]                              |     r1 = *(0xabb4);
    0x00005248 bl 0x41b4                                         |     fcn_000041b4 (r0, r1, r2);
    0x0000524c b 0x4f18                                          |     goto label_1;
                                                                 | label_25:
    0x0000524e movs r1, 1                                        |     r1 = 1;
    0x00005250 mov r0, r5                                        |     r0 = r5;
    0x00005252 bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x00005256 ldr.w r2, [pc, 0x660]                             |     
    0x0000525a mov r0, r5                                        |     r0 = r5;
    0x0000525c ldr.w r1, [pc, 0x65c]                             |     
    0x00005260 add r2, pc                                        |     r2 = 0xab1e;
    0x00005262 add r1, pc                                        |     r1 = 0xab22;
    0x00005264 adds r2, 0xc                                      |     r2 += 0xc;
    0x00005266 blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x0000526a cmp r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x0000526c beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x00005270 b 0x4f62                                          |     goto label_3;
                                                                 | label_26:
    0x00005272 ldr.w r2, [pc, 0x64c]                             |     
    0x00005276 mov r0, r5                                        |     r0 = r5;
    0x00005278 ldr.w r1, [pc, 0x648]                             |     
    0x0000527c add r2, pc                                        |     r2 = 0xab42;
    0x0000527e add.w r4, r2, 0x18                                |     r4 = r2 + 0x18;
    0x00005282 add r1, pc                                        |     r1 = 0xab4a;
    0x00005284 add.w r3, r2, 0x10                                |     r3 = r2 + 0x10;
    0x00005288 adds r1, 0xbc                                     |     r1 += 0xbc;
    0x0000528a adds r2, 0x14                                     |     r2 += 0x14;
    0x0000528c str r4, [sp]                                      |     *(sp) = r4;
    0x0000528e bl 0x40d4                                         |     fcn_000040d4 (r0, r1, r2, r3, r4);
    0x00005292 b 0x4f18                                          |     goto label_1;
                                                                 | label_27:
    0x00005294 ldr.w r1, [pc, 0x630]                             |     
    0x00005298 mov r0, r5                                        |     r0 = r5;
    0x0000529a add r1, pc                                        |     r1 = 0xab66;
    0x0000529c adds r1, 0x20                                     |     r1 += 0x20;
    0x0000529e bl 0x497c                                         |     fcn_0000497c (r0, r1);
    0x000052a2 b 0x4f18                                          |     goto label_1;
                                                                 | label_28:
    0x000052a4 ldr.w r2, [pc, 0x624]                             |     
    0x000052a8 mov r0, r5                                        |     r0 = r5;
    0x000052aa ldr.w r1, [pc, 0x624]                             |     
    0x000052ae add r2, pc                                        |     r2 = 0xab7e;
    0x000052b0 add r1, pc                                        |     r1 = 0xab86;
    0x000052b2 bl 0x4408                                         |     r0 = fcn_00004408 (r0, r1, r2, r3, r4, r5, r6);
    0x000052b6 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000052b8 bne.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x000052bc b 0x4f62                                          |     goto label_3;
                                                                 | label_69:
    0x000052be blx 0x2958                                        |     fcn_00002958 ();
                                                                 | label_30:
    0x000052c2 ldr.w r3, [pc, 0x610]                             |     
    0x000052c6 movs r2, 0                                        |     r2 = 0;
    0x000052c8 mov r0, r5                                        |     r0 = r5;
    0x000052ca add r3, pc                                        |     r3 = 0xaba4;
    0x000052cc ldr r1, [r3, 0x1c]                                |     r1 = *(0xabc0);
    0x000052ce bl 0x41b4                                         |     fcn_000041b4 (r0, r1, r2);
    0x000052d2 b 0x4f18                                          |     goto label_1;
                                                                 | label_29:
    0x000052d4 ldr.w r1, [pc, 0x600]                             |     
    0x000052d8 mov r0, r5                                        |     r0 = r5;
    0x000052da add r1, pc                                        |     r1 = 0xabb6;
    0x000052dc adds r1, 0x28                                     |     r1 += 0x28;
    0x000052de bl 0x497c                                         |     fcn_0000497c (r0, r1);
    0x000052e2 b 0x4f18                                          |     goto label_1;
                                                                 | label_32:
    0x000052e4 ldr.w r1, [pc, 0x5f4]                             |     
    0x000052e8 mov r0, r5                                        |     r0 = r5;
    0x000052ea add r1, pc                                        |     r1 = 0xabca;
    0x000052ec adds r1, 0xc4                                     |     r1 += 0xc4;
    0x000052ee bl 0x49a4                                         |     fcn_000049a4 (r0, r1);
    0x000052f2 b 0x4f18                                          |     goto label_1;
                                                                 | label_31:
    0x000052f4 ldr.w r1, [pc, 0x5e8]                             |     
    0x000052f8 mov r0, r5                                        |     r0 = r5;
    0x000052fa add r1, pc                                        |     r1 = 0xabde;
    0x000052fc adds r1, 0xc0                                     |     r1 += 0xc0;
    0x000052fe bl 0x49cc                                         |     fcn_000049cc (r0, r1);
    0x00005302 b 0x4f18                                          |     goto label_1;
                                                                 | label_66:
    0x00005f88 ldr.w r2, [pc, 0x6c0]                             |     
    0x00005f8c mov r0, r5                                        |     r0 = r5;
    0x00005f8e ldr.w r1, [pc, 0x6c0]                             |     
    0x00005f92 add r2, pc                                        |     r2 = 0xc5e2;
    0x00005f94 add.w r4, r2, 0x90                                |     r4 = r2 + 0x90;
    0x00005f98 add r1, pc                                        |     
    0x00005f9a add.w r3, r2, 0x88                                |     r3 = r2 + 0x88;
    0x00005f9e add.w r1, r1, 0x180                               |     r1 = 0xc76e;
    0x00005fa2 adds r2, 0x8c                                     |     r2 += 0x8c;
    0x00005fa4 str r4, [sp]                                      |     *(sp) = r4;
    0x00005fa6 bl 0x40d4                                         |     fcn_000040d4 (r0, r1, r2, r3, r4);
    0x00005faa b.w 0x4f18                                        |     goto label_1;
                                                                 | label_65:
    0x00005fae ldr.w r1, [pc, 0x6a4]                             |     
    0x00005fb2 mov r0, r5                                        |     r0 = r5;
    0x00005fb4 add r1, pc                                        |     
    0x00005fb6 add.w r1, r1, 0x17c                               |     r1 = 0xc78a;
    0x00005fba bl 0x49cc                                         |     fcn_000049cc (r0, r1);
    0x00005fbe b.w 0x4f18                                        |     goto label_1;
                                                                 | label_64:
    0x0000601a mov r0, r5                                        |     r0 = r5;
    0x0000601c bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x00006020 ldr.w r3, [pc, 0x644]                             |     
    0x00006024 movs r2, 1                                        |     r2 = 1;
    0x00006026 add r3, pc                                        |     r3 = 0xc692;
    0x00006028 str.w r2, [r3, 0x178]                             |     __asm ("str.w r2, [r3, 0x178]");
    0x0000602c b.w 0x4f18                                        |     goto label_1;
                                                                 | label_63:
    0x00006030 mov r0, r5                                        |     r0 = r5;
    0x00006032 bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x00006036 ldr.w r3, [pc, 0x634]                             |     
    0x0000603a movs r2, 1                                        |     r2 = 1;
    0x0000603c add r3, pc                                        |     r3 = 0xc6ae;
    0x0000603e str.w r2, [r3, 0x174]                             |     __asm ("str.w r2, [r3, 0x174]");
    0x00006042 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_62:
    0x00006046 ldr.w r1, [pc, 0x628]                             |     
    0x0000604a mov r0, r5                                        |     r0 = r5;
    0x0000604c add r1, pc                                        |     
    0x0000604e add.w r1, r1, 0x170                               |     r1 = 0xc832;
    0x00006052 bl 0x49a4                                         |     fcn_000049a4 (r0, r1);
    0x00006056 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_61:
    0x0000605a ldr.w r1, [pc, 0x618]                             |     
    0x0000605e mov r0, r5                                        |     r0 = r5;
    0x00006060 add r1, pc                                        |     r1 = 0xc6da;
    0x00006062 adds r1, 0x84                                     |     r1 += 0x84;
    0x00006064 bl 0x49a4                                         |     fcn_000049a4 (r0, r1);
    0x00006068 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_60:
    0x0000606c ldr.w r1, [pc, 0x608]                             |     
    0x00006070 mov r0, r5                                        |     r0 = r5;
    0x00006072 add r1, pc                                        |     r1 = 0xc6ee;
    0x00006074 adds r1, 0x80                                     |     r1 += 0x80;
    0x00006076 bl 0x49a4                                         |     fcn_000049a4 (r0, r1);
    0x0000607a b.w 0x4f18                                        |     goto label_1;
                                                                 | label_59:
    0x0000607e ldr.w r1, [pc, 0x5fc]                             |     
    0x00006082 mov r0, r5                                        |     r0 = r5;
    0x00006084 add r1, pc                                        |     r1 = 0xc706;
    0x00006086 adds r1, 0x78                                     |     r1 += 0x78;
    0x00006088 bl 0x497c                                         |     fcn_0000497c (r0, r1);
    0x0000608c b.w 0x4f18                                        |     goto label_1;
                                                                 | label_58:
    0x00006090 ldr.w r1, [pc, 0x5ec]                             |     
    0x00006094 mov r0, r5                                        |     r0 = r5;
    0x00006096 add r1, pc                                        |     r1 = 0xc71a;
    0x00006098 adds r1, 0x70                                     |     r1 += 0x70;
    0x0000609a bl 0x497c                                         |     fcn_0000497c (r0, r1);
    0x0000609e b.w 0x4f18                                        |     goto label_1;
                                                                 | label_57:
    0x000060a2 ldr.w r1, [pc, 0x5e0]                             |     
    0x000060a6 mov r0, r5                                        |     r0 = r5;
    0x000060a8 add r1, pc                                        |     
    0x000060aa add.w r1, r1, 0x16c                               |     r1 = 0xc89e;
    0x000060ae bl 0x49a4                                         |     fcn_000049a4 (r0, r1);
    0x000060b2 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_40:
    0x000060b6 ldr.w r1, [pc, 0x5d0]                             |     
    0x000060ba mov r0, r5                                        |     r0 = r5;
    0x000060bc add r1, pc                                        |     r1 = 0xc74a;
    0x000060be blx 0x2528                                        |     r0 = fcn_00002528 ();
                                                                 |     if (r0 == 0) {
    0x000060c2 cbnz r0, 0x60e4                                   |         
    0x000060c4 ldr.w r2, [pc, 0x5c4]                             |         
    0x000060c8 add r2, pc                                        |         r2 = 0xc758;
    0x000060ca str.w r0, [r2, 0xf4]                              |         __asm ("str.w r0, [r2, 0xf4]");
    0x000060ce b.w 0x4f18                                        |         goto label_1;
                                                                 | label_39:
    0x000060d2 ldr.w r1, [pc, 0x5bc]                             |         
    0x000060d6 mov r0, r5                                        |         r0 = r5;
    0x000060d8 add r1, pc                                        |         r1 = 0xc76e;
    0x000060da adds r1, 0xf0                                     |         r1 += 0xf0;
    0x000060dc bl 0x49cc                                         |         fcn_000049cc (r0, r1);
    0x000060e0 b.w 0x4f18                                        |         goto label_1;
                                                                 |     }
    0x000060e4 ldr.w r1, [pc, 0x5ac]                             |     
    0x000060e8 mov r0, r5                                        |     r0 = r5;
    0x000060ea add r1, pc                                        |     r1 = 0xc782;
    0x000060ec blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x000060f0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000060f2 bne 0x61c4                                        |         goto label_77;
                                                                 |     }
    0x000060f4 ldr.w r3, [pc, 0x5a0]                             |     
    0x000060f8 movs r2, 1                                        |     r2 = 1;
    0x000060fa add r3, pc                                        |     r3 = 0xc796;
    0x000060fc str.w r2, [r3, 0xf4]                              |     __asm ("str.w r2, [r3, 0xf4]");
    0x00006100 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_38:
    0x00006104 ldr.w r3, [pc, 0x594]                             |     
    0x00006108 add r3, pc                                        |     
    0x0000610a ldr.w r3, [r3, 0xdc]                              |     r3 = *(0xc884);
    0x0000610e cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00006110 bne.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x00006114 ldr.w r6, [pc, 0x588]                             |     
    0x00006118 movs r1, 0                                        |     r1 = 0;
    0x0000611a add r6, pc                                        |     r6 = 0xc7be;
    0x0000611c ldr.w r0, [r6, 0xe0]                              |     r0 = *(0xc89e);
    0x00006120 bl 0x3578                                         |     fcn_00003578 (r0, r1);
    0x00006124 mov r0, r5                                        |     r0 = r5;
    0x00006126 bl 0x365c                                         |     fcn_0000365c (r0);
    0x0000612a ldr.w r1, [pc, 0x578]                             |     
    0x0000612e mov r4, r0                                        |     r4 = r0;
    0x00006130 add.w r2, r6, 0xe8                                |     r2 = r6 + 0xe8;
    0x00006134 mov r0, r5                                        |     r0 = r5;
    0x00006136 add r1, pc                                        |     r1 = 0xc7e0;
    0x00006138 blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x0000613c cmp r0, 1                                         |     
                                                                 |     if (r0 != 1) {
    0x0000613e bne.w 0x4f62                                      |         goto label_3;
                                                                 |     }
    0x00006142 ldr.w r5, [pc, 0x564]                             |     
    0x00006146 ldr.w r7, [pc, 0x564]                             |     
    0x0000614a add r5, pc                                        |     r5 = 0xc7f8;
    0x0000614c add r7, pc                                        |     r7 = 0xc7fe;
    0x0000614e adds r5, 0x84                                     |     r5 += 0x84;
                                                                 | label_5:
    0x00006150 ldrb r3, [r4]                                     |     r3 = *(r4);
    0x00006152 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00006154 beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x00006158 mov r0, r4                                        |     r0 = r4;
    0x0000615a bl 0x365c                                         |     fcn_0000365c (r0);
    0x0000615e ldrb r3, [r4]                                     |     r3 = *(r4);
    0x00006160 mov r6, r0                                        |     r6 = r0;
    0x00006162 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00006164 bne.w 0x6454                                      |         goto label_78;
                                                                 |     }
    0x00006168 mov r4, r6                                        |     r4 = r6;
    0x0000616a b 0x6150                                          |     goto label_5;
                                                                 | label_37:
    0x0000616c movs r1, 1                                        |     r1 = 1;
    0x0000616e mov r0, r5                                        |     r0 = r5;
    0x00006170 add.w r8, sp, 0xb0                                |     r8 += var_b0h;
    0x00006174 bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x00006178 mov r3, r8                                        |     r3 = r8;
    0x0000617a mov r2, r6                                        |     r2 = r6;
    0x0000617c movw r1, 0x801                                    |     r1 = 0x801;
    0x00006180 mov r0, r5                                        |     r0 = r5;
    0x00006182 blx 0x29d4                                        |     r0 = popen (r0, r1)
    0x00006186 mov r4, r0                                        |     r4 = r0;
    0x00006188 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000618a beq.w 0x6426                                      |         goto label_79;
                                                                 |     }
    0x0000618e cmp r0, 3                                         |     
                                                                 |     if (r0 != 3) {
    0x00006190 bne 0x61e6                                        |         goto label_80;
                                                                 |     }
    0x00006192 ldr.w r3, [pc, 0x51c]                             |     r3 = *(0x66b2);
    0x00006196 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x00006198 ldr r0, [r3]                                      |     r0 = *(0x66b2);
    0x0000619a adds r3, r0, 1                                    |     r3 = r0 + 1;
                                                                 |     if (r3 != r0) {
    0x0000619c bne.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x000061a0 ldr.w r3, [pc, 0x510]                             |     
    0x000061a4 ldr.w r1, [pc, 0x510]                             |     
    0x000061a8 ldr.w r2, [pc, 0x510]                             |     
    0x000061ac add r3, pc                                        |     r3 = 0xc864;
    0x000061ae str r5, [sp, 4]                                   |     var_4h = r5;
    0x000061b0 add r1, pc                                        |     r1 = 0xc86c;
    0x000061b2 adds r3, 0x74                                     |     r3 += 0x74;
    0x000061b4 str r1, [sp]                                      |     *(sp) = r1;
    0x000061b6 add r2, pc                                        |     r2 = 0xc876;
    0x000061b8 movw r1, 0x647                                    |     r1 = 0x647;
    0x000061bc bl 0x8bd0                                         |     fcn_00008bd0 (r0, r1, r2);
    0x000061c0 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_77:
    0x000061c4 ldr.w r1, [pc, 0x4f8]                             |     
    0x000061c8 mov r0, r5                                        |     r0 = r5;
    0x000061ca add r1, pc                                        |     r1 = 0xc88e;
    0x000061cc blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x000061d0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000061d2 bne.w 0x6436                                      |         goto label_81;
                                                                 |     }
    0x000061d6 ldr.w r3, [pc, 0x4ec]                             |     
    0x000061da movs r2, 2                                        |     r2 = 2;
    0x000061dc add r3, pc                                        |     r3 = 0xc8a6;
    0x000061de str.w r2, [r3, 0xf4]                              |     __asm ("str.w r2, [r3, 0xf4]");
    0x000061e2 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_80:
    0x000061e6 ldr.w r3, [pc, 0x4e0]                             |     
    0x000061ea movs r0, 3                                        |     r0 = 3;
    0x000061ec ldr.w r4, [pc, 0x4dc]                             |     
    0x000061f0 movw r1, 0x645                                    |     r1 = 0x645;
    0x000061f4 ldr.w r2, [pc, 0x4d8]                             |     
    0x000061f8 add r3, pc                                        |     r3 = 0xc8c6;
    0x000061fa str r5, [sp, 4]                                   |     var_4h = r5;
    0x000061fc add r4, pc                                        |     r4 = 0xc8cc;
    0x000061fe adds r3, 0x74                                     |     r3 += 0x74;
    0x00006200 add r2, pc                                        |     r2 = 0xc8d4;
    0x00006202 str r4, [sp]                                      |     *(sp) = r4;
    0x00006204 bl 0x8bd0                                         |     fcn_00008bd0 (r0, r1, r2);
    0x00006208 movs r0, 1                                        |     r0 = 1;
    0x0000620a blx 0x2b8c                                        |     fcn_00002b8c ();
                                                                 | label_36:
    0x0000620e ldrb r3, [r5]                                     |     r3 = *(r5);
    0x00006210 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00006212 beq.w 0x4f62                                      |         goto label_3;
                                                                 |     }
    0x00006216 mov r0, r5                                        |     r0 = r5;
    0x00006218 ldr.w sl, [pc, 0x4b8]                             |     
    0x0000621c bl 0x365c                                         |     fcn_0000365c (r0);
    0x00006220 ldr.w r3, [pc, 0x4b4]                             |     
    0x00006224 mov r6, r0                                        |     r6 = r0;
    0x00006226 ldr.w sb, [pc, 0x4b4]                             |     
    0x0000622a add sl, pc                                        |     sl = 0xc902;
    0x0000622c add r3, pc                                        |     r3 = 0xc908;
    0x0000622e ldr.w r0, [r3, 0xd8]                              |     r0 = *(0xc9e0);
    0x00006232 add sb, pc                                        |     sb = 0xc914;
    0x00006234 bl 0x34dc                                         |     r0 = fcn_000034dc (r0);
    0x00006238 mov r4, r0                                        |     r4 = r0;
    0x0000623a mov r0, r5                                        |     r0 = r5;
    0x0000623c bl 0x96d0                                         |     fcn_000096d0 ();
    0x00006240 mov fp, r4                                        |     
    0x00006242 vldr d16, [pc, 0x314]                             |     __asm ("vldr d16, [0x0000655c]");
    0x00006246 vldr d17, [pc, 0x318]                             |     __asm ("vldr d17, [0x00006564]");
    0x0000624a str r0, [fp], 4                                   |     *(fp) = r0;
                                                                 |     fp += 4;
    0x0000624e movs r1, 0                                        |     r1 = 0;
    0x00006250 vst1.32 {d16, d17}, [fp]                          |     __asm ("vst1.32 {d16, d17}, [fp]");
    0x00006254 movs r0, 0                                        |     r0 = 0;
    0x00006256 adr r3, 0x318                                     |     r3 = 0x318;
    0x00006258 ldrd r2, r3, [r3]                                 |     __asm ("ldrd r2, r3, [r3]");
    0x0000625c str.w r8, [r4, 0x14]                              |     __asm ("str.w r8, [r4, 0x14]");
    0x00006260 ldr.w r8, [pc, 0x47c]                             |     
    0x00006264 strd r2, r3, [r4, 0x18]                           |     __asm ("strd r2, r3, [r4, 0x18]");
    0x00006268 strd r0, r1, [r4, 0x20]                           |     __asm ("strd r0, r1, [r4, 0x20]");
    0x0000626c add r8, pc                                        |     r8 = 0xc950;
    0x0000626e strd r0, r1, [r4, 0x28]                           |     __asm ("strd r0, r1, [r4, 0x28]");
    0x00006272 b 0x62ec                                          |     goto label_82;
                                                                 | label_6:
    0x00006274 mov r1, sb                                        |     r1 = sb;
    0x00006276 mov r0, r6                                        |     r0 = r6;
    0x00006278 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x0000627c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000627e beq.w 0x6404                                      |         goto label_83;
                                                                 |     }
    0x00006282 mov r1, r8                                        |     r1 = r8;
    0x00006284 mov r0, r6                                        |     r0 = r6;
    0x00006286 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x0000628a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000628c beq.w 0x63ec                                      |         goto label_84;
                                                                 |     }
    0x00006290 ldr.w r1, [pc, 0x450]                             |     
    0x00006294 mov r0, r6                                        |     r0 = r6;
    0x00006296 add r1, pc                                        |     r1 = 0xc97e;
    0x00006298 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x0000629c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000629e beq.w 0x63d4                                      |         goto label_85;
                                                                 |     }
    0x000062a2 ldr.w r1, [pc, 0x444]                             |     
    0x000062a6 mov r0, r6                                        |     r0 = r6;
    0x000062a8 add r1, pc                                        |     r1 = 0xc996;
    0x000062aa blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x000062ae cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000062b0 beq.w 0x63be                                      |         goto label_86;
                                                                 |     }
    0x000062b4 ldr.w r1, [pc, 0x434]                             |     
    0x000062b8 mov r0, r6                                        |     r0 = r6;
    0x000062ba add r1, pc                                        |     r1 = 0xc9aa;
    0x000062bc blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x000062c0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000062c2 beq 0x6394                                        |         goto label_87;
                                                                 |     }
    0x000062c4 ldr.w r1, [pc, 0x428]                             |     
    0x000062c8 mov r0, r6                                        |     r0 = r6;
    0x000062ca add r1, pc                                        |     r1 = 0xc9be;
    0x000062cc blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x000062d0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000062d2 beq 0x636e                                        |         goto label_88;
                                                                 |     }
    0x000062d4 ldr.w r1, [pc, 0x41c]                             |     
    0x000062d8 mov r0, r6                                        |     r0 = r6;
    0x000062da add r1, pc                                        |     r1 = 0xc9d2;
    0x000062dc blx 0x2528                                        |     r0 = fcn_00002528 ();
                                                                 |     if (r0 != 0) {
    0x000062e0 cbnz r0, 0x631c                                   |         goto label_8;
                                                                 |     }
    0x000062e2 movs r3, 1                                        |     r3 = 1;
    0x000062e4 str r0, [sp, 0x60]                                |     var_60h = r0;
    0x000062e6 str r3, [r4, 0x10]                                |     *((r4 + 0x10)) = r3;
                                                                 | label_7:
    0x000062e8 ldr r6, [sp, 0x60]                                |     r6 = var_60h;
    0x000062ea add r6, r5                                        |     r6 += r5;
                                                                 | label_82:
    0x000062ec ldrb r3, [r6]                                     |     r3 = *(r6);
    0x000062ee cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000062f0 beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x000062f4 mov r0, r6                                        |     r0 = r6;
    0x000062f6 bl 0x365c                                         |     fcn_0000365c (r0);
    0x000062fa mov r1, sl                                        |     r1 = sl;
    0x000062fc mov r5, r0                                        |     r5 = r0;
    0x000062fe mov r0, r6                                        |     r0 = r6;
    0x00006300 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00006304 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00006306 bne 0x6274                                        |         goto label_6;
                                                                 |     }
    0x00006308 ldr r1, [pc, 0x3ec]                               |     
    0x0000630a add r3, sp, 0x60                                  |     r3 += var_60h;
    0x0000630c add.w r2, r4, 0xc                                 |     r2 = r4 + 0xc;
    0x00006310 mov r0, r5                                        |     r0 = r5;
    0x00006312 add r1, pc                                        |     r1 = 0xca0e;
    0x00006314 blx 0x24a4                                        |     fcn_000024a4 ();
    0x00006316 invalid                                           |     
                                                                 |     if (r0 == 0) {
    0x0000631a beq 0x62e8                                        |         goto label_7;
                                                                 |     }
                                                                 | label_8:
    0x0000631c ldrb r3, [r6]                                     |     r3 = *(r6);
    0x0000631e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00006320 beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x00006324 b.w 0x4f62                                        |     goto label_3;
                                                                 | label_34:
    0x00006328 movs r1, 2                                        |     r1 = 2;
    0x0000632a mov r0, r5                                        |     r0 = r5;
    0x0000632c bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x0000632e invalid                                           |     
    0x00006332 mov r0, r5                                        |     r0 = r5;
    0x00006334 ldr r1, [pc, 0x3c8]                               |     
    0x00006336 add r2, pc                                        |     r2 += pc;
    0x00006338 add.w r3, r2, 0xcc                                |     r3 = r2 + 0xcc;
    0x0000633c add r1, pc                                        |     r1 = 0xca40;
    0x0000633e adds r2, 0xd0                                     |     r2 += 0xd0;
    0x00006340 blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x00006344 cmp r0, 2                                         |     
                                                                 |     if (r0 == 2) {
    0x00006346 beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x0000634a b.w 0x4f62                                        |     goto label_3;
                                                                 | label_33:
    0x0000634e ldr r1, [pc, 0x3b4]                               |     
    0x00006350 mov r0, r5                                        |     r0 = r5;
    0x00006352 add r1, pc                                        |     r1 = 0xca5c;
    0x00006354 adds r1, 0xc8                                     |     r1 += 0xc8;
    0x00006356 bl 0x49cc                                         |     fcn_000049cc (r0, r1);
    0x0000635a b.w 0x4f18                                        |     goto label_1;
                                                                 | label_35:
    0x0000635e ldr r1, [pc, 0x3a8]                               |     
    0x00006360 mov r0, r5                                        |     r0 = r5;
    0x00006362 add r1, pc                                        |     r1 = 0xca70;
    0x00006364 adds r1, 0xd4                                     |     r1 += 0xd4;
    0x00006366 bl 0x49cc                                         |     fcn_000049cc (r0, r1);
    0x0000636a b.w 0x4f18                                        |     goto label_1;
                                                                 | label_88:
    0x0000636e ldr r1, [pc, 0x39c]                               |     
    0x00006370 add r7, sp, 0x124                                 |     r7 += var_124h;
    0x00006372 subs r0, 0xc4                                     |     r0 -= 0xc4;
    0x00006374 ldr r2, [pc, 0x340]                               |     r2 = *(0x66b8);
    0x00006376 mov r0, r5                                        |     r0 = r5;
    0x00006378 add r1, pc                                        |     r1 = 0xca8a;
    0x0000637a blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x0000637e cmp r0, 1                                         |     
                                                                 |     if (r0 != 1) {
    0x00006380 bne 0x631c                                        |         goto label_8;
                                                                 |     }
    0x00006382 ldr r1, [pc, 0x38c]                               |     
    0x00006384 mov r0, r7                                        |     r0 = r7;
    0x00006386 add r1, pc                                        |     r1 = 0xca9c;
    0x00006388 blx 0x2528                                        |     r0 = fcn_00002528 ();
                                                                 |     if (r0 != 0) {
    0x0000638c cbnz r0, 0x63aa                                   |         goto label_89;
                                                                 |     }
    0x0000638e movs r3, 1                                        |     r3 = 1;
    0x00006390 str r3, [r4, 0x14]                                |     *((r4 + 0x14)) = r3;
    0x00006392 b 0x62e8                                          |     goto label_7;
                                                                 | label_87:
    0x00006394 ldr r1, [pc, 0x37c]                               |     
    0x00006396 add r3, sp, 0x60                                  |     r3 += var_60h;
    0x00006398 add.w r2, r4, 0x20                                |     r2 = r4 + 0x20;
    0x0000639c mov r0, r5                                        |     r0 = r5;
    0x0000639e add r1, pc                                        |     r1 = 0xcab6;
    0x000063a0 blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x000063a4 cmp r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x000063a6 beq 0x62e8                                        |         goto label_7;
                                                                 |     }
    0x000063a8 b 0x631c                                          |     goto label_8;
                                                                 | label_89:
    0x000063aa ldr r1, [pc, 0x36c]                               |     
    0x000063ac mov r0, r7                                        |     r0 = r7;
    0x000063ae add r1, pc                                        |     r1 = 0xcacc;
    0x000063b0 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x000063b4 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000063b6 bne 0x6476                                        |         goto label_90;
                                                                 |     }
    0x000063b8 movs r3, 2                                        |     r3 = 2;
    0x000063ba str r3, [r4, 0x14]                                |     *((r4 + 0x14)) = r3;
    0x000063bc b 0x62e8                                          |     goto label_7;
                                                                 | label_86:
    0x000063be ldr r1, [pc, 0x35c]                               |     
    0x000063c0 add r3, sp, 0x60                                  |     r3 += var_60h;
    0x000063c2 add.w r2, r4, 0x28                                |     r2 = r4 + 0x28;
    0x000063c6 mov r0, r5                                        |     r0 = r5;
    0x000063c8 add r1, pc                                        |     r1 = 0xcaea;
    0x000063ca blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x000063ce cmp r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x000063d0 beq 0x62e8                                        |         goto label_7;
                                                                 |     }
    0x000063d2 b 0x631c                                          |     goto label_8;
                                                                 | label_85:
    0x000063d4 ldr r1, [pc, 0x348]                               |     
    0x000063d6 add r3, sp, 0x60                                  |     r3 += var_60h;
    0x000063d8 add.w r2, r4, 0x18                                |     r2 = r4 + 0x18;
    0x000063dc mov r0, r5                                        |     r0 = r5;
    0x000063de add r1, pc                                        |     r1 = 0xcb02;
    0x000063e0 blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x000063e4 cmp r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x000063e6 beq.w 0x62e8                                      |         goto label_7;
                                                                 |     }
    0x000063ea b 0x631c                                          |     goto label_8;
                                                                 | label_84:
    0x000063ec ldr r1, [pc, 0x334]                               |     
    0x000063ee add r3, sp, 0x60                                  |     r3 += var_60h;
    0x000063f0 add.w r2, r4, 8                                   |     r2 = r4 + 8;
    0x000063f4 mov r0, r5                                        |     r0 = r5;
    0x000063f6 add r1, pc                                        |     r1 = 0xcb1e;
    0x000063f8 blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x000063fc cmp r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x000063fe beq.w 0x62e8                                      |         goto label_7;
                                                                 |     }
    0x00006402 b 0x631c                                          |     goto label_8;
                                                                 | label_83:
    0x00006404 ldr r1, [pc, 0x320]                               |     
    0x00006406 add r3, sp, 0x60                                  |     r3 += var_60h;
    0x00006408 mov r2, fp                                        |     r2 = fp;
    0x0000640a mov r0, r5                                        |     r0 = r5;
    0x0000640c add r1, pc                                        |     r1 = 0xcb38;
    0x0000640e blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x00006412 cmp r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x00006414 beq.w 0x62e8                                      |         goto label_7;
                                                                 |     }
    0x00006416 add r7, sp, 0x1a0                                 |     r7 = sp + 0x1a0;
    0x00006418 b 0x631c                                          |     goto label_8;
                                                                 |     do {
    0x0000641a ldr r3, [sp, 0xb4]                                |         r3 = var_b4h;
    0x0000641c ldr.w r0, [r3, r4, lsl 2]                         |         offset_0 = r4 << 2;
                                                                 |         r0 = *((r3 + offset_0));
    0x00006420 adds r4, 1                                        |         r4++;
    0x00006422 bl 0x69e4                                         |         fcn_000069e4 (r0);
                                                                 | label_79:
    0x00006426 ldr r3, [sp, 0xb0]                                |         r3 = var_b0h;
    0x00006428 cmp r4, r3                                        |         
    0x0000642a blo 0x641a                                        |         
                                                                 |     } while (r4 <= r3);
    0x0000642c mov r0, r8                                        |     r0 = r8;
    0x0000642e blx 0x2a64                                        |     gnutls_aead_cipher_decrypt ();
    0x00006432 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_81:
    0x00006436 ldr r1, [pc, 0x2f4]                               |     
    0x00006438 mov r0, r5                                        |     r0 = r5;
    0x0000643a add r1, pc                                        |     r1 = 0xcb6c;
    0x0000643c blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x00006440 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00006442 bne.w 0x4f62                                      |         goto label_3;
                                                                 |     }
    0x00006446 ldr r3, [pc, 0x2e8]                               |     
    0x00006448 movs r2, 3                                        |     r2 = 3;
    0x0000644a add r3, pc                                        |     r3 = 0xcb80;
    0x0000644c str.w r2, [r3, 0xf4]                              |     __asm ("str.w r2, [r3, 0xf4]");
    0x00006450 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_78:
    0x00006454 add.w r8, sp, 0x110                               |     r8 += var_110h;
    0x00006458 movs r2, 1                                        |     r2 = 1;
    0x0000645a mov r1, r8                                        |     r1 = r8;
    0x0000645c mov r0, r4                                        |     r0 = r4;
    0x0000645e bl 0x244e0                                        |     r0 = fcn_000244e0 (r0, r1, r2, r3);
                                                                 |     if (r0 == 0) {
    0x00006462 cbnz r0, 0x6488                                   |         
    0x00006464 ldr r3, [pc, 0x2cc]                               |         
    0x00006466 mov r1, r8                                        |         r1 = r8;
    0x00006468 mov r4, r6                                        |         r4 = r6;
    0x0000646a add r3, pc                                        |         r3 = 0xcba2;
    0x0000646c ldr.w r0, [r3, 0xe0]                              |         r0 = *(0xcc82);
    0x0000646e lsls r0, r4, 3                                    |         r0 = r4 << 3;
    0x00006470 bl 0x354c                                         |         fcn_0000354c (r0, r1);
    0x00006472 invalid                                           |         
    0x00006474 b 0x6150                                          |         goto label_5;
                                                                 | label_90:
    0x00006476 ldr r1, [pc, 0x2c0]                               |         
    0x00006478 mov r0, r7                                        |         r0 = r7;
    0x0000647a add r1, pc                                        |         r1 = 0xcbb8;
    0x0000647c blx 0x2528                                        |         r0 = fcn_00002528 ();
                                                                 |         if (r0 != 0) {
    0x00006480 cbnz r0, 0x64a2                                   |             goto label_91;
                                                                 |         }
    0x00006482 movs r3, 3                                        |         r3 = 3;
    0x00006484 str r3, [r4, 0x14]                                |         *((r4 + 0x14)) = r3;
    0x00006486 b 0x62e8                                          |         goto label_7;
                                                                 |     }
    0x00006488 ldr r3, [pc, 0x2b0]                               |     
    0x0000648a mov r2, r7                                        |     r2 = r7;
    0x0000648c mov.w r1, 0x448                                   |     r1 = 0x448;
    0x00006490 movs r0, 1                                        |     r0 = 1;
    0x00006492 add r3, pc                                        |     r3 = 0xcbd2;
    0x00006494 strd r3, r4, [sp]                                 |     __asm ("strd r3, r4, [sp]");
    0x00006498 mov r3, r5                                        |     r3 = r5;
    0x0000649a mov r4, r6                                        |     r4 = r6;
    0x0000649c bl 0x8bd0                                         |     fcn_00008bd0 (r0, r1, r2);
    0x000064a0 b 0x6150                                          |     goto label_5;
                                                                 | label_91:
    0x000064a2 ldr r1, [pc, 0x29c]                               |     
    0x000064a4 mov r0, r7                                        |     r0 = r7;
    0x000064a6 add r1, pc                                        |     r1 = 0xcbec;
    0x000064a8 blx 0x2528                                        |     r0 = fcn_00002528 ();
    0x000064ac cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000064ae bne.w 0x631c                                      |         goto label_8;
                                                                 |     }
    0x000064b2 movs r3, 4                                        |     r3 = 4;
    0x000064b4 str r3, [r4, 0x14]                                |     *((r4 + 0x14)) = r3;
    0x000064b6 b 0x62e8                                          |     goto label_7;
                                                                 | label_56:
    0x000064b8 ldr r1, [pc, 0x288]                               |     
    0x000064ba mov r0, r5                                        |     r0 = r5;
    0x000064bc add r1, pc                                        |     r1 = 0xcc04;
    0x000064be adds r1, 0x68                                     |     r1 += 0x68;
    0x000064c0 bl 0x49a4                                         |     fcn_000049a4 (r0, r1);
    0x000064c4 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_55:
    0x000064c8 ldr r1, [pc, 0x27c]                               |     
    0x000064ca mov r0, r5                                        |     r0 = r5;
    0x000064cc add r1, pc                                        |     r1 = 0xcc18;
    0x000064ce adds r1, 0x60                                     |     r1 += 0x60;
    0x000064d0 bl 0x497c                                         |     fcn_0000497c (r0, r1);
    0x000064d4 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_54:
    0x000064d8 ldr r1, [pc, 0x270]                               |     
    0x000064da mov r0, r5                                        |     r0 = r5;
    0x000064dc add r1, pc                                        |     r1 = 0xcc2c;
    0x000064de adds r1, 0x58                                     |     r1 += 0x58;
    0x000064e0 bl 0x497c                                         |     fcn_0000497c (r0, r1);
    0x000064e4 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_53:
    0x000064e8 ldr r1, [pc, 0x264]                               |     
    0x000064ea mov r0, r5                                        |     r0 = r5;
    0x000064ec add r1, pc                                        |     r1 = 0xcc40;
    0x000064ee adds r1, 0x50                                     |     r1 += 0x50;
    0x000064f0 bl 0x497c                                         |     fcn_0000497c (r0, r1);
    0x000064f4 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_52:
    0x000064f8 ldr r1, [pc, 0x258]                               |     
    0x000064fa mov r0, r5                                        |     r0 = r5;
    0x000064fc add r1, pc                                        |     r1 = 0xcc54;
    0x000064fe adds r1, 0x48                                     |     r1 += 0x48;
    0x00006500 bl 0x497c                                         |     fcn_0000497c (r0, r1);
    0x00006504 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_51:
    0x00006508 movs r1, 3                                        |     r1 = 3;
    0x0000650a mov r0, r5                                        |     r0 = r5;
    0x0000650c bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x00006510 ldr r2, [pc, 0x244]                               |     
    0x00006512 mov r0, r5                                        |     r0 = r5;
    0x00006514 ldr r4, [pc, 0x244]                               |     
    0x00006516 add r2, pc                                        |     
    0x00006518 add.w r1, r2, 0x168                               |     r1 = r2 + 0x168;
    0x0000651c add r4, pc                                        |     r4 = 0xcc7c;
    0x0000651e str r1, [sp]                                      |     *(sp) = r1;
    0x00006520 add.w r2, r2, 0x160                               |     r2 = 0xcdd2;
    0x00006524 ldr r1, [pc, 0x238]                               |     
    0x00006526 add.w r3, r4, 0x40                                |     r3 = r4 + 0x40;
    0x0000652a add r1, pc                                        |     r1 = 0xcc8e;
    0x0000652c blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x00006530 cmp r0, 3                                         |     
                                                                 |     if (r0 == 3) {
    0x00006532 beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x00006534 add r4, sp, 0x3c4                                 |     r4 = sp + 0x3c4;
    0x00006536 mov.w r3, -1                                      |     r3 = -1;
    0x0000653a str r3, [r4, 0x40]                                |     *((r4 + 0x40)) = r3;
    0x0000653c bl 0x4018                                         |     fcn_00004018 ();
                                                                 | label_50:
    0x00006540 mov r0, r5                                        |     r0 = r5;
    0x00006542 bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x00006546 ldr r3, [pc, 0x21c]                               |     
    0x00006548 movs r2, 1                                        |     r2 = 1;
    0x0000654a add r3, pc                                        |     r3 = 0xccb4;
    0x0000654c str.w r2, [r3, 0x158]                             |     __asm ("str.w r2, [r3, 0x158]");
    0x00006550 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_49:
    0x00006768 movs r1, 2                                        |     r1 = 2;
    0x0000676a mov r0, r5                                        |     r0 = r5;
    0x0000676c ldr r4, [pc, 0x200]                               |     
    0x0000676e bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x00006770 ldrh.w r4, [r1, 0x980]                            |     r4 = *((r1 + 0x980));
    0x00006774 mov r0, r5                                        |     r0 = r5;
    0x00006776 add r4, pc                                        |     r4 = 0xd0ea;
    0x00006778 add.w r3, r4, 0x148                               |     r3 = r4 + 0x148;
    0x0000677c add.w r2, r4, 0x150                               |     r2 = r4 + 0x150;
    0x00006780 add r1, pc                                        |     r1 += pc;
    0x00006782 blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x00006786 cmp r0, 2                                         |     
                                                                 |     if (r0 != 2) {
    0x00006788 bne.w 0x68ac                                      |         goto label_92;
                                                                 |     }
    0x0000678c ldr.w r3, [r4, 0xdc]                              |     r3 = *((r4 + 0xdc));
    0x00006790 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00006792 beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x00006796 ldr.w r3, [r4, 0x148]                             |     r3 = *((r4 + 0x148));
    0x0000679a cmp r3, 0                                         |     
                                                                 |     if (r3 <= 0) {
    0x0000679c ble.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x000067a0 movs r3, 0                                        |     r3 = 0;
    0x000067a2 str.w r3, [r4, 0x148]                             |     __asm ("str.w r3, [r4, 0x148]");
    0x000067a6 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_48:
    0x000067aa ldr r4, [pc, 0x1cc]                               |     
    0x000067ac movs r1, 2                                        |     r1 = 2;
    0x000067ae mov r0, r5                                        |     r0 = r5;
    0x000067b0 bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x000067b4 add r4, pc                                        |     r4 = 0xd132;
    0x000067b6 mov r0, r5                                        |     r0 = r5;
    0x000067b8 bl 0x365c                                         |     r0 = fcn_0000365c (r0);
    0x000067bc mov r6, r0                                        |     r6 = r0;
    0x000067be ldr.w r0, [r4, 0x13c]                             |     r0 = *(0xd26e);
    0x000067c2 blx 0x2688                                        |     fcn_00002688 ();
    0x000067c6 ldr r1, [pc, 0x1b4]                               |     
    0x000067c8 add.w r2, r4, 0x140                               |     r2 = r4 + 0x140;
    0x000067cc mov r0, r6                                        |     r0 = r6;
    0x000067ce add r1, pc                                        |     r1 = 0xd150;
    0x000067d0 blx 0x24a4                                        |     r0 = fcn_000024a4 ();
    0x000067d4 cmp r0, 1                                         |     
                                                                 |     if (r0 != 1) {
    0x000067d6 bne 0x688c                                        |         goto label_93;
                                                                 |     }
    0x000067d8 mov r0, r5                                        |     r0 = r5;
    0x000067da bl 0x96d0                                         |     fcn_000096d0 ();
    0x000067de ldr r3, [pc, 0x1a0]                               |     
    0x000067e0 add r3, pc                                        |     r3 = 0xd166;
    0x000067e2 str.w r0, [r3, 0x13c]                             |     __asm ("str.w r0, [r3, 0x13c]");
    0x000067e6 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_44:
    0x000067ea ldr.w r8, [pc, 0x198]                             |     
    0x000067ee ldr r7, [pc, 0x198]                               |     
    0x000067f0 ldr r6, [pc, 0x198]                               |     
    0x000067f2 add r8, pc                                        |     r8 = 0xd17c;
    0x000067f4 add r7, pc                                        |     r7 = 0xd182;
    0x000067f6 add r6, pc                                        |     r6 = 0xd186;
                                                                 | label_9:
    0x000067f8 mov r0, r5                                        |     r0 = r5;
    0x000067fa bl 0x365c                                         |     fcn_0000365c (r0);
    0x000067fe ldrb r3, [r5]                                     |     r3 = *(r5);
    0x00006800 mov r4, r0                                        |     r4 = r0;
    0x00006802 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00006804 beq.w 0x4f18                                      |         goto label_1;
                                                                 |     }
    0x00006808 mov r1, r8                                        |     r1 = r8;
    0x0000680a mov r0, r5                                        |     r0 = r5;
    0x0000680c blx 0x2b80                                        |     r0 = fcn_00002b80 ();
    0x00006810 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00006812 bne 0x68b6                                        |         goto label_94;
                                                                 |     }
    0x00006814 ldr r3, [pc, 0x178]                               |     
    0x00006816 movs r2, 1                                        |     r2 = 1;
    0x00006818 mov r5, r4                                        |     r5 = r4;
    0x0000681a add r3, pc                                        |     r3 = 0xd1ae;
    0x0000681c strd r2, r2, [r3, 0x118]                          |     __asm ("strd r2, r2, [r3, 0x118]");
    0x00006820 b 0x67f8                                          |     goto label_9;
                                                                 | label_46:
    0x00006822 ldr r1, [pc, 0x170]                               |     
    0x00006824 mov r0, r5                                        |     r0 = r5;
    0x00006826 add r1, pc                                        |     r1 = 0xd1c0;
    0x00006828 adds r1, 0x38                                     |     r1 += 0x38;
    0x0000682a bl 0x497c                                         |     fcn_0000497c (r0, r1);
    0x0000682e b.w 0x4f18                                        |     goto label_1;
                                                                 | label_45:
    0x00006832 ldr r1, [pc, 0x164]                               |     
    0x00006834 mov r0, r5                                        |     r0 = r5;
    0x00006836 add r1, pc                                        |     r1 = 0xd1d4;
    0x00006838 adds r1, 0x30                                     |     r1 += 0x30;
    0x0000683a bl 0x49a4                                         |     fcn_000049a4 (r0, r1);
    0x0000683e b.w 0x4f18                                        |     goto label_1;
                                                                 | label_42:
    0x00006842 ldr r4, [pc, 0x158]                               |     
    0x00006844 mov r0, r5                                        |     r0 = r5;
    0x00006846 add r4, pc                                        |     r4 = 0xd1e8;
    0x00006848 add.w r3, r4, 0x100                               |     r3 = r4 + 0x100;
    0x0000684c add.w r2, r4, 0x108                               |     r2 = r4 + 0x108;
    0x00006850 add.w r1, r4, 0x10c                               |     r1 = r4 + 0x10c;
    0x00006854 bl 0x3ebc                                         |     r0 = fcn_00003ebc (r0, r1, r2, r3);
    0x00006858 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000685a beq.w 0x4f62                                      |         goto label_3;
                                                                 |     }
    0x0000685e movs r3, 1                                        |     r3 = 1;
    0x00006860 str.w r3, [r4, 0x110]                             |     __asm ("str.w r3, [r4, 0x110]");
    0x00006864 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_41:
    0x00006868 ldr r1, [pc, 0x134]                               |     
    0x0000686a mov r0, r5                                        |     r0 = r5;
    0x0000686c add r1, pc                                        |     r1 = 0xd210;
    0x0000686e adds r1, 0xf8                                     |     r1 += 0xf8;
    0x00006870 bl 0x49cc                                         |     fcn_000049cc (r0, r1);
    0x00006874 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_43:
    0x00006878 mov r0, r5                                        |     r0 = r5;
    0x0000687a bl 0x48d4                                         |     fcn_000048d4 (r0, r1);
    0x0000687e ldr r3, [pc, 0x124]                               |     
    0x00006880 movs r2, 1                                        |     r2 = 1;
    0x00006882 add r3, pc                                        |     r3 = 0xd22c;
    0x00006884 str.w r2, [r3, 0x114]                             |     __asm ("str.w r2, [r3, 0x114]");
    0x00006888 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_93:
    0x0000688c ldr r3, [pc, 0x118]                               |     
    0x0000688e movs r2, 0                                        |     r2 = 0;
    0x00006890 add r3, pc                                        |     r3 = 0xd23c;
    0x00006892 str.w r2, [r3, 0x13c]                             |     __asm ("str.w r2, [r3, 0x13c]");
    0x00006896 b.w 0x4f62                                        |     goto label_3;
                                                                 | label_47:
    0x0000689a ldr r1, [pc, 0x110]                               |     
    0x0000689c mov r0, r5                                        |     r0 = r5;
    0x0000689e add r1, pc                                        |     
    0x000068a0 add.w r1, r1, 0x138                               |     r1 = 0xd388;
    0x000068a4 bl 0x49cc                                         |     fcn_000049cc (r0, r1);
    0x000068a8 b.w 0x4f18                                        |     goto label_1;
                                                                 | label_92:
    0x000068ac movs r3, 0                                        |     r3 = 0;
    0x000068ae str.w r3, [r4, 0x148]                             |     __asm ("str.w r3, [r4, 0x148]");
    0x000068b2 bl 0x4018                                         |     fcn_00004018 ();
                                                                 | label_94:
    0x000068b6 mov r1, r7                                        |     r1 = r7;
    0x000068b8 mov r0, r5                                        |     r0 = r5;
    0x000068ba blx 0x2b80                                        |     r0 = fcn_00002b80 ();
                                                                 |     if (r0 == 0) {
    0x000068be cbnz r0, 0x68ce                                   |         
    0x000068c0 ldr r3, [pc, 0xec]                                |         
    0x000068c2 movs r2, 1                                        |         r2 = 1;
    0x000068c4 mov r5, r4                                        |         r5 = r4;
    0x000068c6 add r3, pc                                        |         r3 = 0xd27a;
    0x000068c8 str.w r2, [r3, 0x118]                             |         __asm ("str.w r2, [r3, 0x118]");
    0x000068cc b 0x67f8                                          |         goto label_9;
                                                                 |     }
    0x000068ce mov r1, r6                                        |     r1 = r6;
    0x000068d0 mov r0, r5                                        |     r0 = r5;
    0x000068d2 blx 0x2b80                                        |     r0 = fcn_00002b80 ();
                                                                 |     if (r0 == 0) {
    0x000068d6 cbnz r0, 0x68e6                                   |         
    0x000068d8 ldr r3, [pc, 0xd8]                                |         
    0x000068da movs r2, 1                                        |         r2 = 1;
    0x000068dc mov r5, r4                                        |         r5 = r4;
    0x000068de add r3, pc                                        |         r3 = 0xd296;
    0x000068e0 str.w r2, [r3, 0x120]                             |         __asm ("str.w r2, [r3, 0x120]");
    0x000068e4 b 0x67f8                                          |         goto label_9;
                                                                 |     }
    0x000068e6 ldr r1, [pc, 0xd0]                                |     
    0x000068e8 mov r0, r5                                        |     r0 = r5;
    0x000068ea add r1, pc                                        |     r1 = 0xd2a8;
    0x000068ec blx 0x2b80                                        |     r0 = fcn_00002b80 ();
                                                                 |     if (r0 == 0) {
    0x000068f0 cbnz r0, 0x6900                                   |         
    0x000068f2 ldr r3, [pc, 0xc8]                                |         
    0x000068f4 movs r2, 1                                        |         r2 = 1;
    0x000068f6 mov r5, r4                                        |         r5 = r4;
    0x000068f8 add r3, pc                                        |         r3 = 0xd2ba;
    0x000068fa str.w r2, [r3, 0x124]                             |         __asm ("str.w r2, [r3, 0x124]");
    0x000068fe b 0x67f8                                          |         goto label_9;
                                                                 |     }
    0x00006900 ldr r1, [pc, 0xbc]                                |     
    0x00006902 mov r0, r5                                        |     r0 = r5;
    0x00006904 add r1, pc                                        |     r1 = 0xd2c8;
    0x00006906 blx 0x2b80                                        |     r0 = fcn_00002b80 ();
                                                                 |     if (r0 == 0) {
    0x0000690a cbnz r0, 0x691a                                   |         
    0x0000690c ldr r3, [pc, 0xb4]                                |         
    0x0000690e movs r2, 1                                        |         r2 = 1;
    0x00006910 mov r5, r4                                        |         r5 = r4;
    0x00006912 add r3, pc                                        |         r3 = 0xd2da;
    0x00006914 str.w r2, [r3, 0x128]                             |         __asm ("str.w r2, [r3, 0x128]");
    0x00006916 movs r1, 0x28                                     |         r1 = 0x28;
    0x00006918 b 0x67f8                                          |         goto label_9;
                                                                 |     }
    0x0000691a ldr r1, [pc, 0xac]                                |     
    0x0000691c mov r0, r5                                        |     r0 = r5;
    0x0000691e add r1, pc                                        |     r1 = 0xd2ec;
    0x00006920 blx 0x2b80                                        |     r0 = fcn_00002b80 ();
                                                                 |     if (r0 == 0) {
    0x00006924 cbnz r0, 0x6934                                   |         
    0x00006926 ldr r3, [pc, 0xa4]                                |         
    0x00006928 movs r2, 1                                        |         r2 = 1;
    0x0000692a mov r5, r4                                        |         r5 = r4;
    0x0000692c add r3, pc                                        |         r3 = 0xd2fe;
    0x0000692e str.w r2, [r3, 0x12c]                             |         __asm ("str.w r2, [r3, 0x12c]");
    0x00006932 b 0x67f8                                          |         goto label_9;
                                                                 |     }
    0x00006934 ldr r1, [pc, 0x98]                                |     
    0x00006936 mov r0, r5                                        |     r0 = r5;
    0x00006938 add r1, pc                                        |     r1 = 0xd30c;
    0x0000693a blx 0x2b80                                        |     r0 = fcn_00002b80 ();
                                                                 |     if (r0 == 0) {
    0x0000693e cbnz r0, 0x694e                                   |         
    0x00006940 ldr r3, [pc, 0x90]                                |         
    0x00006942 movs r2, 1                                        |         r2 = 1;
    0x00006944 mov r5, r4                                        |         r5 = r4;
    0x00006946 add r3, pc                                        |         r3 = 0xd31e;
    0x00006948 str.w r2, [r3, 0x130]                             |         __asm ("str.w r2, [r3, 0x130]");
    0x0000694c b 0x67f8                                          |         goto label_9;
                                                                 |     }
    0x0000694e ldr r1, [pc, 0x88]                                |     
    0x00006950 mov r0, r5                                        |     r0 = r5;
    0x00006952 add r1, pc                                        |     r1 = 0xd330;
    0x00006954 blx 0x2b80                                        |     r0 = fcn_00002b80 ();
                                                                 |     if (r0 == 0) {
    0x00006958 cbnz r0, 0x6968                                   |         
    0x0000695a ldr r3, [pc, 0x80]                                |         
    0x0000695c movs r2, 1                                        |         r2 = 1;
    0x0000695e mov r5, r4                                        |         r5 = r4;
    0x00006960 add r3, pc                                        |         r3 = 0xd342;
    0x00006962 str.w r2, [r3, 0x134]                             |         __asm ("str.w r2, [r3, 0x134]");
    0x00006966 b 0x67f8                                          |         goto label_9;
                                                                 |     }
    0x00006968 ldr r0, [pc, 0x74]                                |     
    0x0000696a add r0, pc                                        |     r0 = 0xd34e;
    0x0000696c bl 0x4074                                         |     fcn_00004074 (r0);
    0x00006970 ldr r1, [pc, 0x2b8]                               |     r1 = *(0x6c2c);
    0x00006972 movs r3, r0                                       |     r3 = r0;
    0x00006974 ldr r4, [sp, 0x80]                                |     r4 = var_80h;
    0x00006976 movs r2, r0                                       |     r2 = r0;
    0x00006978 ldr r1, [pc, 0x1c0]                               |     r1 = *(0x6b3c);
    0x0000697a movs r3, r0                                       |     r3 = r0;
    0x0000697c ldm r1, {r1, r5, r7}                              |     r1 = *(r1);
                                                                 |     r5 = *((r1 + 4));
                                                                 |     r7 = *((r1 + 8));
    0x0000697e movs r2, r0                                       |     r2 = r0;
    0x00006980 ldr r1, [pc, 0x110]                               |     r1 = *(0x6a94);
    0x00006982 movs r3, r0                                       |     r3 = r0;
    0x00006984 ldr r2, [sp, 0x3e8]                               |     r2 = *(arg_3e8h);
    0x00006986 movs r2, r0                                       |     r2 = r0;
    0x00006988 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000698a movs r2, r0                                       |     r2 = r0;
    0x0000698c ldr r3, [sp, 0x58]                                |     r3 = var_58h;
    0x0000698e movs r2, r0                                       |     r2 = r0;
    0x00006990 ldr r1, [pc, 0x28]                                |     r1 = *(0x69bc);
    0x00006992 movs r3, r0                                       |     r3 = r0;
    0x00006994 invalid                                           |     
                                                                 | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/chronyd @ 0x129d0 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.000129d0 ()                                  | void fcn_000129d0 () {
                                                             |     int16_t var_0h;
                                                             |     int16_t var_4h;
                                                             |     int16_t var_ch;
                                                             |     int32_t var_78h;
                                                             |     int16_t var_18h;
                                                             |     time_t * timer;
                                                             |     int16_t var_48h;
                                                             |     char * filename;
                                                             |     int16_t var_88h;
                                                             |     int16_t var_1080h;
                                                             |     int32_t var_0h_2;
    0x000129d0 ldr r2, [pc, 0x104]                           |     
    0x000129d2 ldr r3, [pc, 0x108]                           |     r3 = *(0x12ade);
    0x000129d4 push.w {r4, r5, r6, r7, r8, sb, sl, lr}       |     
    0x000129d8 sub.w sp, sp, 0x1080                          |     
    0x000129dc add r2, pc                                    |     r2 = 0x254b8;
    0x000129de sub sp, 8                                     |     
    0x000129e0 add.w r1, sp, 0x1080                          |     r1 += var_1080h;
    0x000129e4 ldr r3, [r2, r3]                              |     
    0x000129e6 adds r1, 4                                    |     r1 += 4;
    0x000129e8 ldr r3, [r3]                                  |     r3 = *(0x254b8);
    0x000129ea str r3, [r1]                                  |     *(r1) = r3;
    0x000129ec mov.w r3, 0                                   |     r3 = 0;
    0x000129f0 bl 0x71e4                                     |     r0 = fcn_000071e4 ();
                                                             |     if (r0 == 0) {
    0x000129f4 cbz r0, 0x12a16                               |         goto label_0;
                                                             |     }
    0x000129f6 ldr r1, [pc, 0xe8]                            |     
    0x000129f8 add r5, sp, 0x88                              |     r5 += var_88h;
    0x000129fa mov.w r3, 0x1000                              |     r3 = 0x1000;
    0x000129fe subs r4, r5, 4                                |     r4 -= filename;
    0x00012a00 str r0, [sp, 4]                               |     var_4h = r0;
    0x00012a02 movs r2, 1                                    |     r2 = 1;
    0x00012a04 add r1, pc                                    |     r1 = 0x254ea;
    0x00012a06 mov r0, r4                                    |     r0 = r4;
    0x00012a08 str r1, [sp]                                  |     *(sp) = r1;
    0x00012a0a mov r1, r3                                    |     r1 = r3;
    0x00012a0c blx 0x285c                                    |     r0 = fcn_0000285c ();
    0x00012a10 cmp.w r0, 0x1000                              |     
    0x00012a14 blo 0x12a3a                                   |     
                                                             |     while (r0 != 0) {
                                                             | label_0:
    0x00012a16 ldr r2, [pc, 0xcc]                            |         
    0x00012a18 add.w r1, sp, 0x1080                          |         r1 += var_1080h;
    0x00012a1c ldr r3, [pc, 0xbc]                            |         r3 = *(0x12adc);
    0x00012a1e adds r1, 4                                    |         r1 += 4;
    0x00012a20 add r2, pc                                    |         r2 = 0x2550a;
    0x00012a22 ldr r3, [r2, r3]                              |         r3 = *(0x2550a);
    0x00012a24 ldr r2, [r3]                                  |         r2 = *(0x2550a);
    0x00012a26 ldr r3, [r1]                                  |         r3 = *(r1);
    0x00012a28 eors r2, r3                                   |         r2 ^= r3;
    0x00012a2a mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x00012a2e bne 0x12ad2                                   |             goto label_1;
                                                             |         }
    0x00012a30 add.w sp, sp, 0x1080                          |         
    0x00012a34 add sp, 8                                     |         
    0x00012a36 pop.w {r4, r5, r6, r7, r8, sb, sl, pc}        |         
    0x00012a3a movs r2, 0                                    |         r2 = 0;
    0x00012a3c add.w sb, sp, 0xc                             |         sb += var_ch;
    0x00012a40 mov r0, r4                                    |         r0 = r4;
    0x00012a42 mov r3, sb                                    |         r3 = sb;
    0x00012a44 mov r1, r2                                    |         r1 = r2;
    0x00012a46 blx 0x29d4                                    |         r0 = popen (r0, r1)
    0x00012a4a mov r4, r0                                    |         r4 = r0;
    0x00012a4c cmp r0, 0                                     |         
    0x00012a4e bne 0x12a16                                   |         
                                                             |     }
    0x00012a50 ldr r3, [r5, -0x7c]                           |     r3 = var_ch;
                                                             |     if (r3 == 0) {
    0x00012a54 cbz r3, 0x12aca                               |         goto label_2;
                                                             |     }
    0x00012a56 ldr.w r8, [pc, 0x90]                          |     
    0x00012a5a add.w sl, sp, 0x48                            |     sl += var_48h;
    0x00012a5e sub.w r6, sl, 4                               |     r6 -= timer;
    0x00012a62 add r8, pc                                    |     r8 = 0x25550;
                                                             |     do {
    0x00012a64 ldr r3, [r5, -0x78]                           |         r3 = var_78h;
    0x00012a68 movs r1, 0x2f                                 |         r1 = 0x2f;
    0x00012a6a lsls r7, r4, 2                                |         r7 = r4 << 2;
    0x00012a6c ldr.w r0, [r3, r4, lsl 2]                     |         offset_0 = r4 << 2;
                                                             |         r0 = *((r3 + offset_0));
    0x00012a70 blx 0x25ec                                    |         r0 = fcn_000025ec ();
                                                             |         if (r0 != 0) {
    0x00012a74 cbz r0, 0x12ac0                               |             
    0x00012a76 adds r3, r0, 1                                |             r3 = r0 + 1;
    0x00012a78 mov r2, r8                                    |             r2 = r8;
    0x00012a7a movs r1, 0x40                                 |             r1 = 0x40;
    0x00012a7c mov r0, r6                                    |             r0 = r6;
    0x00012a7e blx 0x2aa0                                    |             r0 = gmtime (r0);
    0x00012a82 cmp r0, 0x3f                                  |             
                                                             |             if (r0 > 0x3f) {
    0x00012a84 bhi 0x12ac0                                   |                 goto label_3;
                                                             |             }
    0x00012a86 mov r0, r6                                    |             r0 = r6;
    0x00012a88 blx 0x27a4                                    |             r0 = fcn_000027a4 ();
    0x00012a8c cmp r0, 3                                     |             
                                                             |             if (r0 < 3) {
    0x00012a8e bls 0x12ac0                                   |                 goto label_3;
                                                             |             }
    0x00012a90 ldr r1, [pc, 0x58]                            |             
    0x00012a92 add r0, r5                                    |             r0 += r5;
    0x00012a94 movs r3, 0                                    |             r3 = 0;
    0x00012a96 movs r2, 6                                    |             r2 = 6;
    0x00012a98 strb r3, [r0, -0x48]                          |             *((r0 - 0x48)) = r3;
    0x00012a9c mov r0, r6                                    |             r0 = r6;
    0x00012a9e add r1, pc                                    |             r1 = 0x2558e;
    0x00012aa0 blx 0x2ac4                                    |             r0 = gnutls_cipher_get_key_size ();
                                                             |             if (r0 != 0) {
    0x00012aa4 cbz r0, 0x12ab2                               |                 
    0x00012aa6 sub.w r1, sl, 0x18                            |                 r1 -= var_18h;
    0x00012aaa mov r0, r6                                    |                 r0 = r6;
    0x00012aac bl 0x159ac                                    |                 r0 = fcn_000159ac (r0, r1);
                                                             |                 if (r0 == 0) {
    0x00012ab0 cbz r0, 0x12ac0                               |                     goto label_3;
                                                             |                 }
                                                             |             }
    0x00012ab2 ldr r3, [r5, -0x78]                           |             r3 = var_78h;
    0x00012ab6 movs r2, 0                                    |             r2 = 0;
    0x00012ab8 mov r0, r2                                    |             r0 = r2;
    0x00012aba ldr r1, [r3, r7]                              |             r1 = *((r3 + r7));
    0x00012abc bl 0x16e90                                    |             fcn_00016e90 ();
                                                             |         }
                                                             | label_3:
    0x00012ac0 ldr r3, [r5, -0x7c]                           |         r3 = var_ch;
    0x00012ac4 adds r4, 1                                    |         r4++;
    0x00012ac6 cmp r3, r4                                    |         
    0x00012ac8 bhi 0x12a64                                   |         
                                                             |     } while (r3 > r4);
                                                             | label_2:
    0x00012aca mov r0, sb                                    |     r0 = sb;
    0x00012acc blx 0x2a64                                    |     gnutls_aead_cipher_decrypt ();
    0x00012ad0 b 0x12a16                                     |     goto label_0;
                                                             | label_1:
    0x00012ad2 blx 0x2958                                    |     fcn_00002958 ();
    0x00012ad6 nop                                           |     
    0x00012ad8 strh r0, [r5, 0x16]                           |     *((r5 + 0x16)) = r0;
    0x00012ada movs r2, r0                                   |     r2 = r0;
    0x00012adc lsls r0, r4, 0xc                              |     r0 = r4 << 0xc;
    0x00012ade movs r0, r0                                   |     
    0x00012ae0 lsls r4, r0, 0xc                              |     r4 = r0 << 0xc;
    0x00012ae2 movs r2, r0                                   |     r2 = r0;
    0x00012ae4 strh r4, [r4, 0x14]                           |     *((r4 + 0x14)) = r4;
    0x00012ae6 movs r2, r0                                   |     r2 = r0;
    0x00012ae8 b 0x12e70                                     |     
    0x00012e70 mov.w r0, 0x1480                              |     r0 = 0x1480;
    0x00012e74 mov r7, r1                                    |     r7 = r1;
    0x00012e76 mov r5, r2                                    |     r5 = r2;
    0x00012e78 vmov.f64 d9, d0                               |     __asm ("vmov.f64 d9, d0");
    0x00012e7c vmov.f64 d8, d1                               |     __asm ("vmov.f64 d8, d1");
    0x00012e80 bl 0x95c8                                     |     fcn_000095c8 (r0);
    0x00012e84 cmp r6, 0                                     |     
    0x00012e86 mov r4, r0                                    |     r4 = r0;
    0x00012e88 it le                                         |     
                                                             |     if (r6 > 0) {
    0x00012e8a movle r6, 0x40                                |         r6 = 0x40;
                                                             |     }
                                                             |     if (r6 > 0) {
    0x00012e8c ble 0x12e94                                   |         
    0x00012e8e cmp r6, 0x40                                  |         
    0x00012e90 it ge                                         |         
                                                             |         if (r6 >= 0x40) {
    0x00012e92 movge r6, 0x40                                |             r6 = 0x40;
                                                             |             goto label_4;
                                                             |         }
                                                             |     }
                                                             | label_4:
    0x00012e94 cmp r5, r6                                    |     
    0x00012e96 adr r3, 0x78                                  |     r3 = 0x78;
    0x00012e98 ldrd r2, r3, [r3]                             |     __asm ("ldrd r2, r3, [r3]");
    0x00012e9c vmov.i32 d10, 0                               |     __asm ("vmov.i32 d10, 0");
    0x00012ea0 it ge                                         |     
                                                             |     if (r5 < r6) {
    0x00012ea2 movge r5, r6                                  |         r5 = r6;
                                                             |     }
    0x00012ea4 vmov.i32 q8, 0                                |     __asm ("vmov.i32 q8, 0");
    0x00012ea8 cmp r5, 1                                     |     
    0x00012eaa strd r8, r7, [r4]                             |     __asm ("strd r8, r7, [r4]");
    0x00012eae mov.w r7, 0                                   |     r7 = 0;
    0x00012eb2 mov.w sl, 0                                   |     sl = 0;
    0x00012eb6 mov.w fp, 0                                   |     
    0x00012eba it lt                                         |     
                                                             |     if (r5 >= 1) {
    0x00012ebc movlt r5, 1                                   |         r5 = 1;
                                                             |     }
    0x00012ebe movt r7, 0x4010                               |     r7 = (r7 & 0xFFFF) | 0x40100000;
    0x00012ec2 str r6, [r4, 0xc]                             |     *((r4 + 0xc)) = r6;
    0x00012ec4 movs r6, 0                                    |     r6 = 0;
    0x00012ec6 add.w r0, r4, 0x48                            |     r0 = r4 + 0x48;
    0x00012eca vstr d9, [r4, 0x10]                           |     __asm ("vstr d9, [r4, 0x10]");
    0x00012ece vstr d8, [r4, 0x18]                           |     __asm ("vstr d8, [r4, 0x18]");
    0x00012ed2 vstr d10, [r4, 0x30]                          |     __asm ("vstr d10, [r4, 0x30]");
    0x00012ed4 add r3, sp, 0x30                              |     r3 = sp + 0x30;
    0x00012ed6 str r5, [r4, 8]                               |     *((r4 + 8)) = r5;
    0x00012ed8 vstr d16, [r4, 0x20]                          |     __asm ("vstr d16, [r4, 0x20]");
    0x00012edc vstr d17, [r4, 0x28]                          |     __asm ("vstr d17, [r4, 0x28]");
    0x00012ee0 strd sl, fp, [r4, 0x60]                       |     __asm ("strd sl, fp, [r4, 0x60]");
    0x00012ee4 strd sl, fp, [r4, 0x38]                       |     __asm ("strd sl, fp, [r4, 0x38]");
    0x00012ee8 strd r2, r3, [r4, 0x68]                       |     __asm ("strd r2, r3, [r4, 0x68]");
    0x00012eec strd r2, r3, [r4, 0x70]                       |     __asm ("strd r2, r3, [r4, 0x70]");
    0x00012ef0 strd r6, r7, [r4, 0x40]                       |     __asm ("strd r6, r7, [r4, 0x40]");
    0x00012ef2 str r0, [r2, 0x70]                            |     *((r2 + 0x70)) = r0;
    0x00012ef4 bl 0x152bc                                    |     fcn_000152bc ();
    0x00012ef8 vstr d10, [r4, 0x50]                          |     __asm ("vstr d10, [r4, 0x50]");
    0x00012efc mov r0, r4                                    |     r0 = r4;
    0x00012efe vpop {d8, d9, d10}                            |     __asm ("vpop {d8, d9, d10}");
    0x00012f02 strd r6, r7, [r4, 0x78]                       |     __asm ("strd r6, r7, [r4, 0x78]");
    0x00012f06 strd sl, fp, [r4, 0x58]                       |     __asm ("strd sl, fp, [r4, 0x58]");
    0x00012f08 add r3, sp, 0x58                              |     r3 = sp + 0x58;
    0x00012f0a pop.w {r4, r5, r6, r7, r8, sl, fp, pc}        |     
                                                             | }

[*] Function popen used 3 times chronyd