[*] Binary protection state of streamprofile.cgi

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


[*] Function sprintf tear down of streamprofile.cgi

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/streamprofile.cgi @ 0x1a68 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00001a68 ()                                  | void fcn_00001a68 (int16_t arg1, int16_t arg2) {
                                                             |     int16_t var_0h;
                                                             |     int16_t var_4h_4;
                                                             |     int16_t var_8h_3;
                                                             |     int16_t var_ch_5;
                                                             |     int16_t var_10h_5;
                                                             |     int16_t var_14h_6;
                                                             |     int16_t var_18h_4;
                                                             |     int16_t var_24h_4;
                                                             |     int16_t var_28h_4;
                                                             |     int16_t var_2ch_3;
                                                             |     int16_t var_30h_5;
                                                             |     int16_t var_34h_2;
                                                             |     int16_t var_38h_4;
                                                             |     int16_t var_3ch_4;
                                                             |     int16_t var_40h_3;
                                                             |     int16_t var_44h_3;
                                                             |     int16_t var_48h;
                                                             |     int16_t var_4ch;
                                                             |     int16_t var_50h_3;
                                                             |     int16_t var_54h_3;
                                                             |     int16_t var_58h;
                                                             |     int16_t var_5ch;
                                                             |     int16_t var_60h;
                                                             |     int16_t var_64h;
                                                             |     int16_t var_68h;
                                                             |     int16_t var_6ch;
                                                             |     int16_t var_ach;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00001a68 svcmi 0xf0e92d                                |     __asm ("svcmi 0xf0e92d");
    0x00001a6c mov r8, r1                                    |     r8 = r1;
    0x00001a6e ldr r4, [pc, 0x3b0]                           |     
    0x00001a70 sub sp, 0xb4                                  |     
    0x00001a72 add r3, sp, 0x4c                              |     r3 += var_4ch;
    0x00001a74 movs r2, 0                                    |     r2 = 0;
    0x00001a76 ldr r1, [pc, 0x3ac]                           |     r1 = *(0x1e26);
    0x00001a78 mov fp, r0                                    |     
    0x00001a7a add r4, pc                                    |     r4 = 0x38a0;
    0x00001a7c str r3, [sp]                                  |     *(sp) = r3;
    0x00001a7e ldr r5, [pc, 0x3a8]                           |     
    0x00001a80 add r3, sp, 0x48                              |     r3 += var_48h;
    0x00001a82 ldr r1, [r4, r1]                              |     
    0x00001a84 add r5, pc                                    |     r5 = 0x38b2;
    0x00001a86 ldr r1, [r1]                                  |     r1 = *(0x38a0);
    0x00001a88 str r1, [sp, 0xac]                            |     var_ach = r1;
    0x00001a8a mov.w r1, 0                                   |     r1 = 0;
    0x00001a8e strd r2, r2, [sp, 0x4c]                       |     __asm ("strd r2, r2, [sp, 0x4c]");
    0x00001a92 strd r2, r2, [sp, 0x54]                       |     __asm ("strd r2, r2, [sp, 0x54]");
    0x00001a94 movs r2, 0x15                                 |     r2 = 0x15;
    0x00001a96 str r2, [sp, 0x5c]                            |     var_5ch = r2;
    0x00001a98 ldr r1, [pc, 0x390]                           |     
    0x00001a9a ldr r2, [pc, 0x394]                           |     
    0x00001a9c add r1, pc                                    |     r1 = 0x38cc;
    0x00001a9e add r2, pc                                    |     r2 = 0x38d4;
    0x00001aa0 bl 0x1964                                     |     r0 = fcn_00001964 (r0, r1, r2);
                                                             |     if (r0 != 0) {
    0x00001aa4 cbz r0, 0x1aaa                                |         
    0x00001aa6 ldr r4, [sp, 0x4c]                            |         r4 = var_4ch;
                                                             |         if (r4 == 0) {
    0x00001aa8 cbz r4, 0x1ad4                                |             goto label_10;
                                                             |         }
                                                             |     }
                                                             | label_2:
    0x00001aaa mov r0, r8                                    |     r0 = r8;
    0x00001aac blx 0xf14                                     |     r0 = fcn_00000f14 ();
    0x00001ab0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001ab2 beq.w 0x1ce0                                  |         goto label_11;
                                                             |     }
    0x00001ab4 strh r5, [r2, 8]                              |     *((r2 + 8)) = r5;
                                                             | label_1:
    0x00001ab6 ldr r2, [pc, 0x37c]                           |     
    0x00001ab8 ldr r3, [pc, 0x368]                           |     r3 = *(0x1e24);
    0x00001aba add r2, pc                                    |     r2 = 0x38f4;
    0x00001abc ldr r3, [r2, r3]                              |     r3 = *(0x38f4);
    0x00001abe ldr r2, [r3]                                  |     r2 = *(0x38f4);
    0x00001ac0 ldr r3, [sp, 0xac]                            |     r3 = var_ach;
    0x00001ac2 eors r2, r3                                   |     r2 ^= r3;
    0x00001ac4 mov.w r3, 0                                   |     r3 = 0;
                                                             |     if (r2 != r3) {
    0x00001ac8 bne.w 0x1e1a                                  |         goto label_12;
                                                             |     }
    0x00001acc movs r0, 1                                    |     r0 = 1;
    0x00001ace add sp, 0xb4                                  |     
    0x00001ad0 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |     
                                                             | label_10:
    0x00001ad4 ldr r1, [pc, 0x360]                           |     
    0x00001ad6 mov r0, fp                                    |     r0 = fp;
    0x00001ad8 add r1, pc                                    |     r1 = 0x3914;
    0x00001ada blx 0xe6c                                     |     r0 = fcn_00000e6c ();
    0x00001ade cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001ae0 beq.w 0x1cf0                                  |         goto label_13;
                                                             |     }
    0x00001ae4 ldr r1, [pc, 0x354]                           |     
    0x00001ae6 add r1, pc                                    |     r1 = 0x3926;
    0x00001ae8 blx 0xe6c                                     |     r0 = fcn_00000e6c ();
    0x00001aec mov r6, r0                                    |     r6 = r0;
    0x00001aee cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001af0 beq.w 0x1cf0                                  |         goto label_13;
                                                             |     }
    0x00001af4 add r3, sp, 0x5c                              |     r3 += var_5ch;
    0x00001af6 mov r1, r4                                    |     r1 = r4;
    0x00001af8 mov r2, r3                                    |     r2 = r3;
    0x00001afa movs r0, 1                                    |     r0 = 1;
    0x00001afc str r3, [sp, 0x2c]                            |     var_2ch_3 = r3;
    0x00001afe blx 0xf20                                     |     fcn_00000f20 ();
    0x00001b02 str r0, [sp, 0x24]                            |     var_24h_4 = r0;
    0x00001b04 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001b06 beq.w 0x1de4                                  |         goto label_14;
                                                             |     }
    0x00001b0a ldr.w sb, [pc, 0x334]                         |     
    0x00001b0e ldr.w sl, [pc, 0x334]                         |     
    0x00001b12 ldr r2, [pc, 0x334]                           |     
    0x00001b14 ldr r0, [pc, 0x334]                           |     
    0x00001b16 add sb, pc                                    |     sb = 0x395c;
    0x00001b18 ldr r3, [pc, 0x334]                           |     
    0x00001b1a mov r1, sb                                    |     r1 = sb;
    0x00001b1c add r2, pc                                    |     r2 = 0x396a;
    0x00001b1e add sl, pc                                    |     sl = 0x3968;
    0x00001b20 add r0, pc                                    |     r0 = 0x3970;
    0x00001b22 strd r4, r4, [sp, 0x60]                       |     __asm ("strd r4, r4, [sp, 0x60]");
    0x00001b26 add r3, pc                                    |     r3 = 0x397a;
    0x00001b28 str r4, [sp, 0x68]                            |     var_68h = r4;
    0x00001b2a str r3, [sp, 0x28]                            |     var_28h_4 = r3;
    0x00001b2c blx 0xf80                                     |     r0 = fcn_00000f80 ();
    0x00001b30 mov r7, r0                                    |     r7 = r0;
    0x00001b32 mov r0, sl                                    |     r0 = sl;
    0x00001b34 blx 0xdf0                                     |     g_variant_type_checked_ ();
    0x00001b38 ldr r3, [pc, 0x318]                           |     
    0x00001b3a mov.w r1, -1                                  |     r1 = -1;
    0x00001b3e strd r7, r0, [sp, 4]                          |     __asm ("strd r7, r0, [sp, 4]");
    0x00001b42 add r7, sp, 0x68                              |     r7 += var_68h;
    0x00001b44 str r1, [sp, 0x10]                            |     var_10h_5 = r1;
    0x00001b46 mov r1, sb                                    |     r1 = sb;
    0x00001b48 add r3, pc                                    |     r3 = 0x39a0;
    0x00001b4a ldr r2, [sp, 0x28]                            |     r2 = var_28h_4;
    0x00001b4c str r3, [sp]                                  |     *(sp) = r3;
    0x00001b4e ldr r3, [pc, 0x308]                           |     
    0x00001b50 ldr r0, [sp, 0x24]                            |     r0 = var_24h_4;
    0x00001b52 str r4, [sp, 0x14]                            |     var_14h_6 = r4;
    0x00001b54 add r3, pc                                    |     r3 = 0x39b2;
    0x00001b56 str r4, [sp, 0xc]                             |     var_ch_5 = r4;
    0x00001b58 str r7, [sp, 0x18]                            |     var_18h_4 = r7;
    0x00001b5a blx 0xd90                                     |     r0 = g_dbus_connection_call_sync ();
    0x00001b5e cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001b60 beq.w 0x1e02                                  |         goto label_15;
                                                             |     }
    0x00001b64 mov r1, sl                                    |     r1 = sl;
    0x00001b66 add r2, sp, 0x64                              |     r2 += var_64h;
    0x00001b68 str r0, [sp, 0x30]                            |     var_30h_5 = r0;
    0x00001b6a blx 0xe60                                     |     fcn_00000e60 ();
    0x00001b6e ldr r1, [pc, 0x2ec]                           |     
    0x00001b70 add r2, sp, 0x60                              |     r2 += var_60h;
    0x00001b72 ldr r0, [sp, 0x64]                            |     r0 = var_64h;
    0x00001b74 add r1, pc                                    |     r1 = 0x39d6;
    0x00001b76 blx 0xe60                                     |     fcn_00000e60 ();
    0x00001b7a ldr r3, [sp, 0x30]                            |     r3 = var_30h_5;
    0x00001b7c mov r0, r3                                    |     r0 = r3;
    0x00001b7e blx 0xefc                                     |     fcn_00000efc ();
    0x00001b82 ldr r0, [sp, 0x64]                            |     r0 = var_64h;
    0x00001b84 blx 0xefc                                     |     fcn_00000efc ();
    0x00001b88 ldr r3, [sp, 0x60]                            |     r3 = var_60h;
    0x00001b8a cmp r3, 0                                     |     
    0x00001b8c str r3, [sp, 0x40]                            |     var_40h_3 = r3;
                                                             |     if (r3 < 0) {
    0x00001b8e blt.w 0x1d36                                  |         goto label_16;
                                                             |     }
    0x00001b92 ldr r0, [pc, 0x2cc]                           |     
    0x00001b94 add r0, pc                                    |     r0 = 0x39fa;
    0x00001b96 blx 0xdf0                                     |     g_variant_type_checked_ ();
    0x00001b9a mov.w r3, -1                                  |     r3 = -1;
    0x00001b9e str r0, [sp, 8]                               |     var_8h_3 = r0;
    0x00001ba0 str r3, [sp, 0x10]                            |     var_10h_5 = r3;
    0x00001ba2 mov r1, sb                                    |     r1 = sb;
    0x00001ba4 ldrd r2, r3, [sp, 0x28]                       |     __asm ("ldrd r2, r3, [var_28h_4]");
    0x00001ba8 ldr r0, [sp, 0x24]                            |     r0 = var_24h_4;
    0x00001baa str r4, [sp, 0xc]                             |     var_ch_5 = r4;
    0x00001bac strd r4, r3, [sp, 0x14]                       |     __asm ("strd r4, r3, [sp, 0x14]");
    0x00001bb0 ldr r3, [pc, 0x2b0]                           |     
    0x00001bb2 str r4, [sp, 4]                               |     var_4h_4 = r4;
    0x00001bb4 add r3, pc                                    |     r3 = 0x3a1c;
    0x00001bb6 str r3, [sp]                                  |     *(sp) = r3;
    0x00001bb8 mov r3, sb                                    |     r3 = sb;
    0x00001bba blx 0xd90                                     |     r0 = g_dbus_connection_call_sync ();
    0x00001bbc strd sb, r0, [sl], 0x28                       |     __asm ("strd sb, r0, [sl], 0x28");
    0x00001bc0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001bc2 beq.w 0x1d20                                  |         goto label_17;
                                                             |     }
    0x00001bc6 ldr r3, [pc, 0x2a0]                           |     r3 = *(0x1e6a);
    0x00001bc8 mov r2, r4                                    |     r2 = r4;
    0x00001bca ldr r1, [r5, r3]                              |     r1 = *((r5 + r3));
    0x00001bcc ldr r3, [pc, 0x29c]                           |     r3 = *(0x1e6c);
    0x00001bce ldr r0, [r5, r3]                              |     r0 = *((r5 + r3));
    0x00001bd0 mov r3, r4                                    |     r3 = r4;
    0x00001bd2 blx 0xe0c                                     |     r0 = fcn_00000e0c ();
    0x00001bd6 mov r5, r0                                    |     r5 = r0;
    0x00001bd8 mov r0, r6                                    |     r0 = r6;
    0x00001bda blx 0xd84                                     |     r0 = json_array_size ();
    0x00001bde subs r3, r0, 0                                |     r3 = r0 - 0;
    0x00001be0 str r3, [sp, 0x34]                            |     var_34h_2 = r3;
                                                             |     if (r3 <= r0) {
    0x00001be2 ble 0x1c22                                    |         goto label_18;
                                                             |     }
    0x00001be4 ldr.w sl, [pc, 0x288]                         |     
    0x00001be8 ldr.w sb, [pc, 0x288]                         |     
    0x00001bec str.w fp, [sp, 0x2c]                          |     __asm ("str.w fp, [var_2ch_3]");
    0x00001bf0 mov fp, r3                                    |     
    0x00001bf2 add sl, pc                                    |     sl = 0x3a66;
    0x00001bf4 add sb, pc                                    |     sb = 0x3a6c;
                                                             |     do {
    0x00001bf6 movs r3, 0                                    |         r3 = 0;
    0x00001bf8 mov r1, r4                                    |         r1 = r4;
    0x00001bfa mov r0, r6                                    |         r0 = r6;
    0x00001bfc str r3, [sp, 0x68]                            |         var_68h = r3;
    0x00001bfe blx 0xd78                                     |         json_array_get ();
    0x00001c02 mov r1, sb                                    |         r1 = sb;
    0x00001c04 mov r3, r7                                    |         r3 = r7;
    0x00001c06 mov r2, sl                                    |         r2 = sl;
    0x00001c08 blx 0xd18                                     |         json_unpack ();
    0x00001c0c ldr r1, [sp, 0x68]                            |         r1 = var_68h;
                                                             |         if (r1 != 0) {
    0x00001c0e cbz r1, 0x1c18                                |             
    0x00001c10 movs r2, 0                                    |             r2 = 0;
    0x00001c12 mov r0, r5                                    |             r0 = r5;
    0x00001c14 blx 0xd54                                     |             g_hash_table_insert ();
    0x00001c16 invalid                                       |             
                                                             |         }
    0x00001c18 adds r4, 1                                    |         r4++;
    0x00001c1a cmp fp, r4                                    |         
    0x00001c1c bne 0x1bf6                                    |         
                                                             |     } while (fp != r4);
    0x00001c1e ldr.w fp, [sp, 0x2c]                          |     fp = var_2ch_3;
                                                             | label_18:
    0x00001c22 blx 0xe90                                     |     fcn_00000e90 ();
    0x00001c26 add r7, sp, 0x6c                              |     r7 += var_6ch;
    0x00001c28 movs r1, 0                                    |     r1 = 0;
    0x00001c2a mov r4, r0                                    |     r4 = r0;
    0x00001c2c ldr r0, [sp, 0x28]                            |     r0 = var_28h_4;
    0x00001c2e blx 0xdb4                                     |     r0 = g_variant_get_child_value ();
    0x00001c32 mov r6, r0                                    |     r6 = r0;
    0x00001c34 mov r1, r0                                    |     r1 = r0;
    0x00001c36 mov r0, r7                                    |     r0 = r7;
    0x00001c38 add.w sl, sp, 0x54                            |     sl += var_54h_3;
    0x00001c3c blx 0xe78                                     |     fcn_00000e78 ();
    0x00001c40 ldr r3, [pc, 0x234]                           |     
    0x00001c42 add.w sb, sp, 0x50                            |     sb += var_50h_3;
    0x00001c46 str r6, [sp, 0x44]                            |     var_44h_3 = r6;
    0x00001c48 add r3, pc                                    |     r3 = 0x3ac4;
    0x00001c4a str r3, [sp, 0x2c]                            |     var_2ch_3 = r3;
    0x00001c4c ldr r3, [pc, 0x22c]                           |     
    0x00001c4e add r3, pc                                    |     r3 = 0x3ace;
    0x00001c50 str r3, [sp, 0x38]                            |     var_38h_4 = r3;
    0x00001c52 ldr r3, [pc, 0x22c]                           |     
    0x00001c54 add r3, pc                                    |     r3 = 0x3ada;
    0x00001c56 str r3, [sp, 0x3c]                            |     var_3ch_4 = r3;
    0x00001c58 add r3, sp, 0x58                              |     r3 += var_58h;
    0x00001c5a str r3, [sp, 0x30]                            |     var_30h_5 = r3;
                                                             | label_0:
    0x00001c5c ldr r3, [sp, 0x30]                            |     r3 = var_30h_5;
    0x00001c5e mov r2, sb                                    |     r2 = sb;
    0x00001c60 ldr r1, [sp, 0x2c]                            |     r1 = var_2ch_3;
    0x00001c62 mov r0, r7                                    |     r0 = r7;
    0x00001c64 str r3, [sp]                                  |     *(sp) = r3;
    0x00001c66 mov r3, sl                                    |     r3 = sl;
    0x00001c68 blx 0xe24                                     |     r0 = fcn_00000e24 ();
    0x00001c6c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001c6e beq 0x1d44                                    |         goto label_19;
                                                             |     }
    0x00001c70 ldr r3, [sp, 0x58]                            |     r3 = var_58h;
    0x00001c72 ldr r0, [pc, 0x210]                           |     
    0x00001c74 ldr r2, [sp, 0x50]                            |     r2 = var_50h_3;
    0x00001c76 str r3, [sp, 8]                               |     var_8h_3 = r3;
    0x00001c78 ldr r3, [sp, 0x54]                            |     r3 = var_54h_3;
    0x00001c7a add r0, pc                                    |     r0 = 0x3b04;
    0x00001c7c str r3, [sp]                                  |     *(sp) = r3;
    0x00001c7e ldr r3, [pc, 0x208]                           |     
    0x00001c80 add r3, pc                                    |     r3 = 0x3b0e;
    0x00001c82 str r3, [sp, 4]                               |     var_4h_4 = r3;
    0x00001c84 ldrd r3, r1, [sp, 0x38]                       |     __asm ("ldrd r3, r1, [var_38h_4]");
    0x00001c88 blx 0xf50                                     |     fcn_00000f50 ();
    0x00001c8c ldr r3, [sp, 0x34]                            |     r3 = var_34h_2;
    0x00001c8e mov r6, r0                                    |     r6 = r0;
                                                             |     if (r3 != 0) {
    0x00001c90 cbnz r3, 0x1cf8                               |         goto label_20;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x00001c92 cbz r0, 0x1cae                                |         goto label_4;
                                                             |     }
    0x00001c94 ldr r2, [r0, 4]                               |     r2 = *((r0 + 4));
    0x00001c96 adds r2, 1                                    |     r2++;
                                                             |     if (r2 == 1) {
    0x00001c98 beq 0x1cae                                    |         goto label_4;
                                                             |     }
    0x00001c9a adds r2, r0, 4                                |     r2 = r0 + 4;
                                                             |     do {
    0x00001c9c ldrex r3, [r2]                                |         __asm ("ldrex r3, [r2]");
    0x00001ca0 adds r3, 1                                    |         r3++;
    0x00001ca2 strex r1, r3, [r2]                            |         __asm ("strex r1, r3, [r2]");
    0x00001ca6 cmp r1, 0                                     |         
    0x00001ca8 bne 0x1c9c                                    |         
                                                             |     } while (r1 != 0);
                                                             | label_5:
    0x00001caa dmb ish                                       |     __asm ("dmb ish");
                                                             | label_4:
    0x00001cae mov r1, r6                                    |     r1 = r6;
    0x00001cb0 mov r0, r4                                    |     r0 = r4;
    0x00001cb2 blx 0xd9c                                     |     json_array_append_new ();
                                                             | label_3:
    0x00001cb6 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x00001cb8 beq 0x1c5c                                    |         goto label_0;
                                                             |     }
    0x00001cba ldr r2, [r6, 4]                               |     r2 = *((r6 + 4));
    0x00001cbc adds r2, 1                                    |     r2++;
                                                             |     if (r2 == 1) {
    0x00001cbe beq 0x1c5c                                    |         goto label_0;
                                                             |     }
    0x00001cc0 adds r2, r6, 4                                |     r2 = r6 + 4;
    0x00001cc2 dmb ish                                       |     __asm ("dmb ish");
                                                             |     do {
    0x00001cc6 ldrex r1, [r2]                                |         __asm ("ldrex r1, [r2]");
    0x00001cca subs r1, 1                                    |         r1--;
    0x00001ccc strex r0, r1, [r2]                            |         __asm ("strex r0, r1, [r2]");
    0x00001cd0 cmp r0, 0                                     |         
    0x00001cd2 bne 0x1cc6                                    |         
                                                             |     } while (r0 != 0);
    0x00001cd4 cmp r1, 0                                     |     
                                                             |     if (r1 != 0) {
    0x00001cd6 bne 0x1c5c                                    |         goto label_0;
                                                             |     }
    0x00001cd8 mov r0, r6                                    |     r0 = r6;
    0x00001cda blx 0xea8                                     |     fcn_00000ea8 ();
    0x00001cde b 0x1c5c                                      |     goto label_0;
                                                             | label_11:
    0x00001ce0 ldr r2, [pc, 0x1a8]                           |     
    0x00001ce2 mov r3, r8                                    |     r3 = r8;
    0x00001ce4 ldr r1, [sp, 0x4c]                            |     r1 = var_4ch;
    0x00001ce6 mov r0, fp                                    |     r0 = fp;
    0x00001ce8 add r2, pc                                    |     r2 = 0x3b78;
    0x00001cea bl 0x17c4                                     |     fcn_000017c4 (r0, r1, r2);
    0x00001cee b 0x1ab6                                      |     goto label_1;
                                                             | label_13:
    0x00001cf0 movw r3, 0x7d3                                |     r3 = 0x7d3;
    0x00001cf4 str r3, [sp, 0x4c]                            |     var_4ch = r3;
    0x00001cf6 b 0x1aaa                                      |     goto label_2;
                                                             | label_20:
    0x00001cf8 ldr r1, [sp, 0x50]                            |     r1 = var_50h_3;
    0x00001cfa mov r0, r5                                    |     r0 = r5;
    0x00001cfc blx 0xee4                                     |     r0 = fcn_00000ee4 ();
    0x00001d00 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001d02 beq 0x1cb6                                    |         goto label_3;
                                                             |     }
    0x00001d04 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x00001d06 beq 0x1cae                                    |         goto label_4;
                                                             |     }
    0x00001d08 ldr r2, [r6, 4]                               |     r2 = *((r6 + 4));
    0x00001d0a adds r2, 1                                    |     r2++;
                                                             |     if (r2 == 1) {
    0x00001d0c beq 0x1cae                                    |         goto label_4;
                                                             |     }
    0x00001d0e adds r2, r6, 4                                |     r2 = r6 + 4;
                                                             | label_6:
    0x00001d10 ldrex r3, [r2]                                |     __asm ("ldrex r3, [r2]");
    0x00001d14 adds r3, 1                                    |     r3++;
    0x00001d16 strex r1, r3, [r2]                            |     __asm ("strex r1, r3, [r2]");
    0x00001d1a cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00001d1c beq 0x1caa                                    |         goto label_5;
                                                             |     }
    0x00001d1e b 0x1d10                                      |     goto label_6;
                                                             | label_17:
    0x00001d20 ldr r3, [sp, 0x5c]                            |     r3 = var_5ch;
    0x00001d22 movs r0, 4                                    |     r0 = 4;
    0x00001d24 ldr r2, [pc, 0x168]                           |     
    0x00001d26 movs r1, 1                                    |     r1 = 1;
    0x00001d28 ldr r3, [r3, 8]                               |     r3 = *((r3 + 8));
    0x00001d2a add r2, pc                                    |     r2 = 0x3bbe;
    0x00001d2c blx 0xe84                                     |     fcn_00000e84 ();
    0x00001d30 ldr r0, [sp, 0x2c]                            |     r0 = var_2ch_3;
    0x00001d32 blx 0xd3c                                     |     g_clear_error ();
                                                             | label_16:
    0x00001d36 mov.w r3, 0x3e8                               |     r3 = 0x3e8;
    0x00001d3a ldr r0, [sp, 0x24]                            |     r0 = var_24h_4;
    0x00001d3c str r3, [sp, 0x4c]                            |     var_4ch = r3;
    0x00001d3e blx 0xd30                                     |     g_object_unref ();
    0x00001d42 b 0x1aaa                                      |     goto label_2;
                                                             | label_19:
    0x00001d44 ldrd r3, r6, [sp, 0x40]                       |     __asm ("ldrd r3, r6, [var_40h_3]");
    0x00001d48 mov r2, r4                                    |     r2 = r4;
    0x00001d4a ldr r1, [pc, 0x148]                           |     
    0x00001d4c ldr r0, [pc, 0x148]                           |     
    0x00001d4e str r3, [sp]                                  |     *(sp) = r3;
    0x00001d50 ldr r3, [pc, 0x148]                           |     
    0x00001d52 add r1, pc                                    |     r1 = 0x3bec;
    0x00001d54 add r0, pc                                    |     r0 = 0x3bf0;
    0x00001d56 add r3, pc                                    |     r3 = 0x3bf6;
    0x00001d58 blx 0xf50                                     |     fcn_00000f50 ();
    0x00001d5c ldr r2, [pc, 0x140]                           |     
    0x00001d5e mov r7, r0                                    |     r7 = r0;
    0x00001d60 mov r1, r0                                    |     r1 = r0;
    0x00001d62 mov r3, r8                                    |     r3 = r8;
    0x00001d64 mov r0, fp                                    |     r0 = fp;
    0x00001d66 add r2, pc                                    |     r2 = 0x3c0a;
    0x00001d68 bl 0x16b0                                     |     r0 = fcn_000016b0 (r0, r1, r2, r3);
                                                             |     if (r0 != 0) {
    0x00001d6c cbnz r0, 0x1ddc                               |         goto label_21;
                                                             |     }
                                                             |     if (r6 != 0) {
                                                             | label_9:
    0x00001d6e cbz r6, 0x1d76                                |         
    0x00001d70 mov r0, r6                                    |         r0 = r6;
    0x00001d72 blx 0xefc                                     |         fcn_00000efc ();
                                                             |     }
    0x00001d76 ldr r0, [sp, 0x28]                            |     r0 = var_28h_4;
    0x00001d78 blx 0xefc                                     |     fcn_00000efc ();
    0x00001d7c ldr r0, [sp, 0x24]                            |     r0 = var_24h_4;
    0x00001d7e blx 0xd30                                     |     g_object_unref ();
                                                             |     if (r4 == 0) {
    0x00001d82 cbz r4, 0x1da0                                |         goto label_8;
                                                             |     }
    0x00001d84 ldr r3, [r4, 4]                               |     r3 = *((r4 + 4));
    0x00001d86 adds r3, 1                                    |     r3++;
                                                             |     if (r3 == 1) {
    0x00001d88 beq 0x1da0                                    |         goto label_8;
                                                             |     }
    0x00001d8a adds r3, r4, 4                                |     r3 = r4 + 4;
    0x00001d8c dmb ish                                       |     __asm ("dmb ish");
                                                             |     do {
    0x00001d90 ldrex r2, [r3]                                |         __asm ("ldrex r2, [r3]");
    0x00001d94 subs r2, 1                                    |         r2--;
    0x00001d96 strex r1, r2, [r3]                            |         __asm ("strex r1, r2, [r3]");
    0x00001d9a cmp r1, 0                                     |         
    0x00001d9c bne 0x1d90                                    |         
                                                             |     } while (r1 != 0);
                                                             |     if (r2 == 0) {
    0x00001d9e cbz r2, 0x1dd4                                |         goto label_22;
                                                             |     }
                                                             |     if (r7 == 0) {
                                                             | label_8:
    0x00001da0 cbz r7, 0x1dbe                                |         goto label_7;
                                                             |     }
    0x00001da2 ldr r3, [r7, 4]                               |     r3 = *((r7 + 4));
    0x00001da4 adds r3, 1                                    |     r3++;
                                                             |     if (r3 == 1) {
    0x00001da6 beq 0x1dbe                                    |         goto label_7;
                                                             |     }
    0x00001da8 adds r3, r7, 4                                |     r3 = r7 + 4;
    0x00001daa dmb ish                                       |     __asm ("dmb ish");
                                                             |     do {
    0x00001dae ldrex r2, [r3]                                |         __asm ("ldrex r2, [r3]");
    0x00001db2 subs r2, 1                                    |         r2--;
    0x00001db4 strex r1, r2, [r3]                            |         __asm ("strex r1, r2, [r3]");
    0x00001db8 cmp r1, 0                                     |         
    0x00001dba bne 0x1dae                                    |         
                                                             |     } while (r1 != 0);
                                                             |     if (r2 == 0) {
    0x00001dbc cbz r2, 0x1dcc                                |         goto label_23;
                                                             |     }
                                                             | label_7:
    0x00001dbe cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00001dc0 beq.w 0x1aaa                                  |         goto label_2;
                                                             |     }
    0x00001dc4 mov r0, r5                                    |     r0 = r5;
    0x00001dc6 blx 0xf38                                     |     fcn_00000f38 ();
    0x00001dca b 0x1aaa                                      |     goto label_2;
                                                             | label_23:
    0x00001dcc mov r0, r7                                    |     r0 = r7;
    0x00001dce blx 0xea8                                     |     fcn_00000ea8 ();
    0x00001dd2 b 0x1dbe                                      |     goto label_7;
                                                             | label_22:
    0x00001dd4 mov r0, r4                                    |     r0 = r4;
    0x00001dd6 blx 0xea8                                     |     fcn_00000ea8 ();
    0x00001dda b 0x1da0                                      |     goto label_8;
                                                             | label_21:
    0x00001ddc mov.w r3, 0x3e8                               |     r3 = 0x3e8;
    0x00001de0 str r3, [sp, 0x4c]                            |     var_4ch = r3;
    0x00001de2 b 0x1d6e                                      |     goto label_9;
                                                             | label_14:
    0x00001de4 ldr r3, [sp, 0x5c]                            |     r3 = var_5ch;
    0x00001de6 movs r1, 1                                    |     r1 = 1;
    0x00001de8 ldr r2, [pc, 0xb8]                            |     
    0x00001dea movs r0, 4                                    |     r0 = 4;
    0x00001dec ldr r3, [r3, 8]                               |     r3 = *((r3 + 8));
    0x00001dee add r2, pc                                    |     r2 = 0x3c96;
    0x00001df0 blx 0xe84                                     |     fcn_00000e84 ();
    0x00001df4 ldr r0, [sp, 0x2c]                            |     r0 = var_2ch_3;
    0x00001df6 blx 0xd3c                                     |     g_clear_error ();
    0x00001dfa mov.w r3, 0x3e8                               |     r3 = 0x3e8;
    0x00001dfe str r3, [sp, 0x4c]                            |     var_4ch = r3;
    0x00001e00 b 0x1aaa                                      |     goto label_2;
                                                             | label_15:
    0x00001e02 ldr r3, [sp, 0x68]                            |     r3 = var_68h;
    0x00001e04 movs r1, 1                                    |     r1 = 1;
    0x00001e06 ldr r2, [pc, 0xa0]                            |     
    0x00001e08 movs r0, 4                                    |     r0 = 4;
    0x00001e0a ldr r3, [r3, 8]                               |     r3 = *((r3 + 8));
    0x00001e0c add r2, pc                                    |     r2 = 0x3cba;
    0x00001e0e blx 0xe84                                     |     fcn_00000e84 ();
    0x00001e12 mov r0, r7                                    |     r0 = r7;
    0x00001e14 blx 0xd3c                                     |     g_clear_error ();
    0x00001e16 vabdl.s16 q7, d18, d13                        |     __asm ("vabdl.s16 q7, d18, d13");
                                                             | label_12:
    0x00001e1a blx 0xed8                                     |     fcn_00000ed8 ();
    0x00001e1e nop                                           |     
    0x00001e20 movs r4, 0x6e                                 |     r4 = 0x6e;
    0x00001e22 movs r1, r0                                   |     r1 = r0;
    0x00001e24 lsls r0, r0, 4                                |     r0 <<= 4;
    0x00001e26 movs r0, r0                                   |     
    0x00001e28 movs r4, 0x64                                 |     r4 = 0x64;
    0x00001e2a movs r1, r0                                   |     r1 = r0;
    0x00001e2c lsrs r0, r3, 0x1f                             |     r0 = r3 >> 0x1f;
    0x00001e2e movs r0, r0                                   |     
    0x00001e30 asrs r6, r0, 8                                |     r6 = r0 >> 8;
    0x00001e32 movs r0, r0                                   |     
    0x00001e34 movs r4, 0x2e                                 |     r4 = 0x2e;
    0x00001e36 movs r1, r0                                   |     r1 = r0;
    0x00001e38 asrs r0, r7, 6                                |     r0 = r7 >> 6;
    0x00001e3a movs r0, r0                                   |     
    0x00001e3c asrs r2, r0, 7                                |     r2 = r0 >> 7;
    0x00001e3e movs r0, r0                                   |     
    0x00001e40 asrs r2, r2, 7                                |     r2 >>= 7;
    0x00001e42 movs r0, r0                                   |     
    0x00001e44 asrs r2, r5, 7                                |     r2 = r5 >> 7;
    0x00001e46 movs r0, r0                                   |     
    0x00001e48 asrs r0, r0, 7                                |     r0 >>= 7;
    0x00001e4a movs r0, r0                                   |     
    0x00001e4c asrs r0, r4, 7                                |     r0 = r4 >> 7;
    0x00001e4e movs r0, r0                                   |     
    0x00001e50 asrs r6, r0, 8                                |     r6 = r0 >> 8;
    0x00001e52 movs r0, r0                                   |     
    0x00001e54 asrs r0, r0, 8                                |     r0 >>= 8;
    0x00001e56 movs r0, r0                                   |     
    0x00001e58 asrs r0, r7, 6                                |     r0 = r7 >> 6;
    0x00001e5a movs r0, r0                                   |     
    0x00001e5c asrs r0, r7, 7                                |     r0 = r7 >> 7;
    0x00001e5e movs r0, r0                                   |     
    0x00001e60 asrs r4, r3, 7                                |     r4 = r3 >> 7;
    0x00001e62 movs r0, r0                                   |     
    0x00001e64 asrs r0, r1, 7                                |     r0 = r1 >> 7;
    0x00001e66 movs r0, r0                                   |     
    0x00001e68 lsls r0, r1, 4                                |     r0 = r1 << 4;
    0x00001e6a movs r0, r0                                   |     
    0x00001e6c lsls r0, r6, 3                                |     r0 = r6 << 3;
    0x00001e6e movs r0, r0                                   |     
    0x00001e70 asrs r6, r7, 6                                |     r6 = r7 >> 6;
    0x00001e72 movs r0, r0                                   |     
    0x00001e74 lsrs r4, r0, 0x1f                             |     r4 = r0 >> 0x1f;
    0x00001e76 movs r0, r0                                   |     
    0x00001e78 asrs r4, r2, 6                                |     r4 = r2 >> 6;
    0x00001e7a movs r0, r0                                   |     
    0x00001e7c asrs r2, r5, 5                                |     r2 = r5 >> 5;
    0x00001e7e movs r0, r0                                   |     
    0x00001e80 asrs r4, r3, 5                                |     r4 = r3 >> 5;
    0x00001e82 movs r0, r0                                   |     
    0x00001e84 asrs r2, r1, 5                                |     r2 = r1 >> 5;
    0x00001e86 movs r0, r0                                   |     
    0x00001e88 asrs r0, r2, 5                                |     r0 = r2 >> 5;
    0x00001e8a movs r0, r0                                   |     
    0x00001e8c lsrs r4, r7, 0x1e                             |     r4 = r7 >> 0x1e;
    0x00001e8e movs r0, r0                                   |     
    0x00001e90 asrs r2, r4, 1                                |     r2 = r4 >> 1;
    0x00001e92 movs r0, r0                                   |     
    0x00001e94 asrs r6, r3, 2                                |     r6 = r3 >> 2;
    0x00001e96 movs r0, r0                                   |     
    0x00001e98 asrs r4, r5, 2                                |     r4 = r5 >> 2;
    0x00001e9a movs r0, r0                                   |     
    0x00001e9c asrs r6, r1, 2                                |     r6 = r1 >> 2;
    0x00001e9e movs r0, r0                                   |     
    0x00001ea0 lsrs r6, r7, 0x1c                             |     r6 = r7 >> 0x1c;
    0x00001ea2 movs r0, r0                                   |     
    0x00001ea4 lsrs r6, r1, 0x1b                             |     r6 = r1 >> 0x1b;
    0x00001ea6 movs r0, r0                                   |     
    0x00001ea8 lsrs r0, r0, 0x1d                             |     r0 >>= 0x1d;
    0x00001eaa movs r0, r0                                   |     
                                                             | }

[*] Function sprintf used 1 times streamprofile.cgi