[*] Binary protection state of storage_manager

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


[*] Function printf tear down of storage_manager

    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/storage_manager @ 0x2ca64 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.ns_api_modify_network_share ()           | void ns_api_modify_network_share () {
    0x0002ca64 lui gp, 5                                 |     
    0x0002ca68 addiu gp, gp, -0x6974                     |     
    0x0002ca6c addu gp, gp, t9                           |     gp += t9;
    0x0002ca70 addiu sp, sp, -0x90                       |     
    0x0002ca74 lw v1, 0xa4(sp)                           |     v1 = *(arg_a4h);
    0x0002ca78 sw s1, 0x6c(sp)                           |     *(var_6ch) = s1;
    0x0002ca7c lw s1, -0x7214(gp)                        |     s1 = *((gp - 7301));
    0x0002ca80 sw v1, 0x54(sp)                           |     *(var_54h) = v1;
    0x0002ca84 lw v1, 0xa8(sp)                           |     v1 = *(arg_a8h);
    0x0002ca88 sw s2, 0x70(sp)                           |     *(var_70h) = s2;
    0x0002ca8c lw v0, (s1)                               |     v0 = *(s1);
    0x0002ca90 sw v1, 0x58(sp)                           |     *(var_58h) = v1;
    0x0002ca94 lw s2, 0xb0(sp)                           |     s2 = *(arg_b0h);
    0x0002ca98 lw v1, 0xac(sp)                           |     v1 = *(arg_ach);
    0x0002ca9c sw gp, 0x40(sp)                           |     *(var_40h) = gp;
    0x0002caa0 sw s4, 0x78(sp)                           |     *(var_78h) = s4;
    0x0002caa4 sw ra, 0x8c(sp)                           |     *(var_8ch) = ra;
    0x0002caa8 sw fp, 0x88(sp)                           |     *(var_88h) = fp;
    0x0002caac sw s7, 0x84(sp)                           |     *(var_84h) = s7;
    0x0002cab0 sw s6, 0x80(sp)                           |     *(var_80h) = s6;
    0x0002cab4 sw s5, 0x7c(sp)                           |     *(var_7ch) = s5;
    0x0002cab8 sw s3, 0x74(sp)                           |     *(var_74h) = s3;
    0x0002cabc sw s0, 0x68(sp)                           |     *(var_68h) = s0;
    0x0002cac0 sw a2, 0x50(sp)                           |     *(var_50h) = a2;
    0x0002cac4 lw s4, 0xa0(sp)                           |     s4 = *(arg_a0h);
    0x0002cac8 sw v1, 0x5c(sp)                           |     *(var_5ch) = v1;
    0x0002cacc sw v0, 0x64(sp)                           |     *(var_64h) = v0;
    0x0002cad0 sh zero, 0x62(sp)                         |     *(var_62h) = 0;
                                                         |     if (s2 == 0) {
    0x0002cad4 beqz s2, 0x2cca8                          |         goto label_5;
                                                         |     }
    0x0002cad8 move s0, a0                               |     s0 = a0;
    0x0002cadc lw a0, -0x7f3c(gp)                        |     a0 = *((gp - 8143));
    0x0002cae0 lw t9, -0x7230(gp)                        |     t9 = sym.imp.g_string_new;
                                                         |     /* str.root.NetworkShare.N */
    0x0002cae4 addiu a0, a0, -0x6df4                     |     a0 += -0x6df4;
    0x0002cae8 move s6, a1                               |     s6 = a1;
    0x0002caec lw s7, -0x7fdc(gp)                        |     s7 = *((gp - 8183));
    0x0002caf0 move s5, a3                               |     s5 = a3;
    0x0002caf4 jalr t9                                   |     t9 ();
    0x0002caf8 lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cafc addiu a0, zero, 0x64                      |     a0 = 0x64;
    0x0002cb00 lw t9, -0x7500(gp)                        |     t9 = sym.imp.g_string_sized_new;
    0x0002cb04 move s3, v0                               |     s3 = v0;
    0x0002cb08 jalr t9                                   |     t9 ();
    0x0002cb0c lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cb10 lw a0, -0xf60(s7)                         |     a0 = *((s7 - 984));
    0x0002cb14 lw t9, -0x750c(gp)                        |     t9 = sym.imp.g_mutex_lock;
    0x0002cb18 sw v0, 0x4c(sp)                           |     *(var_4ch) = v0;
    0x0002cb1c jalr t9                                   |     t9 ();
    0x0002cb20 lw gp, 0x40(sp)                           |     gp = *(var_40h);
                                                         |     if (s0 == 0) {
    0x0002cb24 beqz s0, 0x2cf70                          |         goto label_6;
                                                         |     }
    0x0002cb28 lw t9, -0x7c90(gp)                        |     t9 = sym.nsadmin_get_device_share_id;
    0x0002cb2c move a1, s0                               |     a1 = s0;
    0x0002cb30 move a0, zero                             |     a0 = 0;
    0x0002cb34 bal 0x29294                               |     sym_nsadmin_get_device_share_id ();
    0x0002cb38 move s0, v0                               |     s0 = v0;
    0x0002cb3c lw gp, 0x40(sp)                           |     gp = *(var_40h);
                                                         |     if (v0 == 0) {
    0x0002cb40 beqz v0, 0x2cfb4                          |         goto label_7;
                                                         |     }
    0x0002cb44 lw t9, -0x7970(gp)                        |     t9 = sym.disk_get_bound_disk;
    0x0002cb48 move a0, v0                               |     a0 = v0;
    0x0002cb4c bal 0x17134                               |     sym_disk_get_bound_disk ();
    0x0002cb50 move fp, v0                               |     fp = v0;
    0x0002cb54 lw gp, 0x40(sp)                           |     gp = *(var_40h);
                                                         |     if (v0 == 0) {
    0x0002cb58 beqz v0, 0x2ccd4                          |         goto label_8;
                                                         |     }
    0x0002cb5c lw a1, -0x7f3c(gp)                        |     a1 = *((gp - 8143));
                                                         |     if (s5 != 0) {
    0x0002cb60 bnez s5, 0x2cbe4                          |         goto label_9;
                                                         |     }
    0x0002cb64 lw v0, 0x54(sp)                           |     v0 = *(var_54h);
                                                         |     if (s4 != 0) {
    0x0002cb68 bnez s4, 0x2cbe4                          |         goto label_9;
                                                         |     }
    0x0002cb6c lw v0, 0x58(sp)                           |     v0 = *(var_58h);
                                                         |     if (v0 != 0) {
    0x0002cb70 bnez v0, 0x2cbe4                          |         goto label_9;
                                                         |     }
    0x0002cb74 lw v0, 0x5c(sp)                           |     v0 = *(var_5ch);
                                                         |     if (v0 != 0) {
    0x0002cb78 bnez v0, 0x2cbe4                          |         goto label_9;
                                                         |     }
    0x0002cb7c lw t9, -0x716c(gp)                        |     t9 = sym.imp.g_string_assign;
                                                         |     if (v0 != 0) {
    0x0002cb80 bnez v0, 0x2cbe8                          |         goto label_10;
                                                         |     }
    0x0002cb84 lw s4, 0x50(sp)                           |     s4 = *(var_50h);
                                                         |     if (s6 != 0) {
    0x0002cb88 bnez s6, 0x2cbe4                          |         goto label_9;
                                                         |     }
    0x0002cb8c lw t9, -0x797c(gp)                        |     t9 = sym.nsadmin_device_name_exists;
                                                         |     if (s4 == 0) {
    0x0002cb90 beqz s4, 0x2cd78                          |         goto label_11;
                                                         |     }
    0x0002cb94 move a1, s4                               |     a1 = s4;
    0x0002cb98 move a0, zero                             |     a0 = 0;
    0x0002cb9c bal 0x291b0                               |     sym_nsadmin_device_name_exists ();
    0x0002cba0 lw gp, 0x40(sp)                           |     gp = *(var_40h);
                                                         |     if (v0 == 0) {
    0x0002cba4 beqz v0, 0x2cd78                          |         goto label_11;
                                                         |     }
    0x0002cba8 lw t9, -0x736c(gp)                        |     t9 = sym.imp.strcmp;
    0x0002cbac lw a1, 0x3c(s0)                           |     a1 = *((s0 + 15));
    0x0002cbb0 move a0, s4                               |     a0 = s4;
    0x0002cbb4 jalr t9                                   |     t9 ();
    0x0002cbb8 lw gp, 0x40(sp)                           |     gp = *(var_40h);
                                                         |     if (v0 == 0) {
    0x0002cbbc beqz v0, 0x2cd78                          |         goto label_11;
                                                         |     }
                                                         |     do {
    0x0002cbc0 lw a1, -0x7f3c(gp)                        |         a1 = *((gp - 8143));
    0x0002cbc4 lw t9, -0x716c(gp)                        |         t9 = sym.imp.g_string_assign;
    0x0002cbc8 move a0, s2                               |         a0 = s2;
                                                         |         /* str.Nice_name_already_exists. */
    0x0002cbcc addiu a1, a1, -0x6f88                     |         a1 += -0x6f88;
    0x0002cbd0 jalr t9                                   |         t9 ();
    0x0002cbd4 addiu s2, zero, 0x26c                     |         s2 = aav.0x0000026c;
    0x0002cbd8 lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cbdc move s4, zero                             |         s4 = 0;
    0x0002cbe0 b 0x2cc00                                 |         goto label_0;
                                                         | label_9:
    0x0002cbe4 lw t9, -0x716c(gp)                        |         t9 = sym.imp.g_string_assign;
                                                         | label_10:
    0x0002cbe8 move a0, s2                               |         a0 = s2;
                                                         |         /* str.Network_share_is_bound__cant_modify_it. */
    0x0002cbec addiu a1, a1, -0x6cf8                     |         a1 += -0x6cf8;
    0x0002cbf0 jalr t9                                   |         t9 ();
    0x0002cbf4 lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cbf8 addiu s2, zero, 0x258                     |         s2 = aav.0x00000258;
    0x0002cbfc move s4, zero                             |         s4 = 0;
                                                         | label_0:
    0x0002cc00 lw t9, -0x7598(gp)                        |         t9 = sym.imp.g_mutex_unlock;
    0x0002cc04 lw a0, -0xf60(s7)                         |         a0 = *((s7 - 984));
    0x0002cc08 jalr t9                                   |         t9 ();
    0x0002cc0c lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cc10 lw t9, -0x7560(gp)                        |         t9 = *((gp - 7512));
    0x0002cc14 move a0, fp                               |         a0 = fp;
    0x0002cc18 jalr t9                                   |         t9 ();
    0x0002cc1c lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cc20 lw t9, -0x7664(gp)                        |         t9 = *((gp - 7577));
    0x0002cc24 move a0, s0                               |         a0 = s0;
    0x0002cc28 jalr t9                                   |         t9 ();
    0x0002cc2c lw gp, 0x40(sp)                           |         gp = *(var_40h);
                                                         | label_1:
    0x0002cc30 lw t9, -0x7560(gp)                        |         t9 = *((gp - 7512));
    0x0002cc34 move a0, s4                               |         a0 = s4;
    0x0002cc38 jalr t9                                   |         t9 ();
    0x0002cc3c lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cc40 lw a0, 0x4c(sp)                           |         a0 = *(var_4ch);
    0x0002cc44 lw t9, -0x7640(gp)                        |         t9 = sym.imp.g_string_free;
    0x0002cc48 addiu a1, zero, 1                         |         a1 = 1;
    0x0002cc4c jalr t9                                   |         t9 ();
    0x0002cc50 lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cc54 move a0, s3                               |         a0 = s3;
    0x0002cc58 lw t9, -0x7640(gp)                        |         t9 = sym.imp.g_string_free;
    0x0002cc5c addiu a1, zero, 1                         |         a1 = 1;
    0x0002cc60 jalr t9                                   |         t9 ();
    0x0002cc64 lw a0, 0x64(sp)                           |         a0 = *(var_64h);
    0x0002cc68 lw v1, (s1)                               |         v1 = *(s1);
    0x0002cc6c lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cc70 move v0, s2                               |         v0 = s2;
                                                         |         if (a0 != v1) {
    0x0002cc74 bne a0, v1, 0x2d070                       |             goto label_12;
                                                         |         }
    0x0002cc78 lw ra, 0x8c(sp)                           |         ra = *(var_8ch);
    0x0002cc7c lw fp, 0x88(sp)                           |         fp = *(var_88h);
    0x0002cc80 lw s7, 0x84(sp)                           |         s7 = *(var_84h);
    0x0002cc84 lw s6, 0x80(sp)                           |         s6 = *(var_80h);
    0x0002cc88 lw s5, 0x7c(sp)                           |         s5 = *(var_7ch);
    0x0002cc8c lw s4, 0x78(sp)                           |         s4 = *(var_78h);
    0x0002cc90 lw s3, 0x74(sp)                           |         s3 = *(var_74h);
    0x0002cc94 lw s2, 0x70(sp)                           |         s2 = *(var_70h);
    0x0002cc98 lw s1, 0x6c(sp)                           |         s1 = *(var_6ch);
    0x0002cc9c lw s0, 0x68(sp)                           |         s0 = *(var_68h);
    0x0002cca0 addiu sp, sp, 0x90                        |         
    0x0002cca4 jr ra                                     |         return v0;
                                                         | label_5:
    0x0002cca8 lw v0, -0x7f3c(gp)                        |         v0 = *((gp - 8143));
    0x0002ccac lw a3, -0x7f3c(gp)                        |         a3 = *((gp - 8143));
    0x0002ccb0 lw a1, -0x7f3c(gp)                        |         a1 = *((gp - 8143));
                                                         |         /* esilref: 'error != NULL' */
    0x0002ccb4 addiu v0, v0, -0x6a58                     |         v0 += -0x6a58;
    0x0002ccb8 lw t9, -0x7740(gp)                        |         t9 = sym.imp.g_assertion_message_expr;
    0x0002ccbc sw v0, 0x10(sp)                           |         *(var_10h) = v0;
                                                         |         /* str.ns_api_modify_network_share */
    0x0002ccc0 addiu a3, a3, -0x6798                     |         a3 += -0x6798;
    0x0002ccc4 addiu a2, zero, 0x45b                     |         a2 = 0x45b;
                                                         |         /* str.nsapi.c */
    0x0002ccc8 addiu a1, a1, -0x706c                     |         a1 += -0x706c;
    0x0002cccc move a0, zero                             |         a0 = 0;
    0x0002ccd0 jalr t9                                   |         t9 ();
                                                         | label_8:
    0x0002ccd4 lw v0, 0x50(sp)                           |         v0 = *(var_50h);
    0x0002ccd8 lw t9, -0x797c(gp)                        |         t9 = sym.nsadmin_device_name_exists;
                                                         |         if (v0 == 0) {
    0x0002ccdc beqz v0, 0x2cd0c                          |             goto label_13;
                                                         |         }
    0x0002cce0 move a1, v0                               |         a1 = v0;
    0x0002cce4 move a0, zero                             |         a0 = 0;
    0x0002cce8 bal 0x291b0                               |         sym_nsadmin_device_name_exists ();
    0x0002ccec lw gp, 0x40(sp)                           |         gp = *(var_40h);
                                                         |         if (v0 == 0) {
    0x0002ccf0 beqz v0, 0x2cd0c                          |             goto label_13;
                                                         |         }
    0x0002ccf4 lw t9, -0x736c(gp)                        |         t9 = sym.imp.strcmp;
    0x0002ccf8 lw a1, 0x3c(s0)                           |         a1 = *((s0 + 15));
    0x0002ccfc lw a0, 0x50(sp)                           |         a0 = *(var_50h);
    0x0002cd00 jalr t9                                   |         t9 ();
    0x0002cd04 lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cd08 bnez v0, 0x2cbc0                          |         
                                                         |     } while (v0 != 0);
                                                         | label_13:
    0x0002cd0c lw t9, -0x79e8(gp)                        |     t9 = *(gp);
                                                         |     if (s4 != 0) {
    0x0002cd10 beqz s4, 0x2cd2c                          |         
    0x0002cd14 addiu a1, sp, 0x62                        |         a1 = sp + 0x62;
                                                         |         /* fcn.0002b258 */
    0x0002cd18 addiu t9, t9, -0x4da8                     |         t9 += -0x4da8;
    0x0002cd1c move a0, s4                               |         a0 = s4;
    0x0002cd20 bal 0x2b258                               |         fcn_0002b258 ();
    0x0002cd24 lw gp, 0x40(sp)                           |         gp = *(var_40h);
                                                         |         if (v0 == 0) {
    0x0002cd28 beqz v0, 0x2d018                          |             goto label_14;
                                                         |         }
                                                         |     }
    0x0002cd2c lw t9, -0x7978(gp)                        |     t9 = *(gp);
                                                         |     if (s6 != 0) {
    0x0002cd30 beqz s6, 0x2cd78                          |         
    0x0002cd34 move a1, s6                               |         a1 = s6;
    0x0002cd38 move a0, zero                             |         a0 = 0;
    0x0002cd3c bal 0x29488                               |         sym_nsadmin_device_share_id_exists ();
    0x0002cd40 lw gp, 0x40(sp)                           |         gp = *(var_40h);
                                                         |         if (v0 != 0) {
    0x0002cd44 beqz v0, 0x2cd60                          |             
    0x0002cd48 lw t9, -0x736c(gp)                        |             t9 = sym.imp.strcmp;
    0x0002cd4c lw a1, 0x40(s0)                           |             a1 = *((s0 + 16));
    0x0002cd50 move a0, s6                               |             a0 = s6;
    0x0002cd54 jalr t9                                   |             t9 ();
    0x0002cd58 lw gp, 0x40(sp)                           |             gp = *(var_40h);
                                                         |             if (v0 != 0) {
    0x0002cd5c bnez v0, 0x2d04c                          |                 goto label_15;
                                                         |             }
                                                         |         }
    0x0002cd60 lw t9, -0x79e8(gp)                        |         t9 = *(gp);
                                                         |         /* fcn.0002b7d4 */
    0x0002cd64 addiu t9, t9, -0x482c                     |         t9 += -0x482c;
    0x0002cd68 move a0, s6                               |         a0 = s6;
    0x0002cd6c bal 0x2b7d4                               |         fcn_0002b7d4 ();
    0x0002cd70 lw gp, 0x40(sp)                           |         gp = *(var_40h);
                                                         |         if (v0 == 0) {
    0x0002cd74 beqz v0, 0x2cff4                          |             goto label_16;
                                                         |         }
                                                         |     }
                                                         | label_11:
    0x0002cd78 lw a1, -0x7f3c(gp)                        |     a1 = *((gp - 8143));
    0x0002cd7c lw t9, -0x77b8(gp)                        |     t9 = sym.imp.g_string_append_printf
    0x0002cd80 lw a2, 0x34(s0)                           |     a2 = *((s0 + 13));
                                                         |     /* esilref: '&d' */
    0x0002cd84 addiu a1, a1, -0x6f38                     |     a1 += -0x6f38;
    0x0002cd88 move a0, s3                               |     a0 = s3;
    0x0002cd8c jalr t9                                   |     t9 ();
    0x0002cd90 lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cd94 lhu a1, 0x62(sp)                          |     a1 = *(var_62h);
    0x0002cd98 lw a0, -0x7f3c(gp)                        |     a0 = *((gp - 8143));
    0x0002cd9c lw t9, -0x737c(gp)                        |     t9 = sym.imp.g_strdup_printf
                                                         |     /* esilref: '&hu' */
    0x0002cda0 addiu a0, a0, -0x6ed8                     |     a0 += -0x6ed8;
    0x0002cda4 jalr t9                                   |     t9 ();
    0x0002cda8 lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cdac move s4, v0                               |     s4 = v0;
    0x0002cdb0 lw v0, 0x5c(sp)                           |     v0 = *(var_5ch);
    0x0002cdb4 lw a3, -0x7f3c(gp)                        |     a3 = *((gp - 8143));
    0x0002cdb8 sw v0, 0x38(sp)                           |     *(var_38h) = v0;
    0x0002cdbc lw v0, -0x7f3c(gp)                        |     v0 = *((gp - 8143));
    0x0002cdc0 lw a1, -0x7f3c(gp)                        |     a1 = *((gp - 8143));
                                                         |     /* str.Password */
    0x0002cdc4 addiu v0, v0, -0x72c4                     |     v0 += -0x72c4;
    0x0002cdc8 sw v0, 0x34(sp)                           |     *(var_34h) = v0;
    0x0002cdcc lw v0, 0x58(sp)                           |     v0 = *(var_58h);
    0x0002cdd0 lw a2, 0x50(sp)                           |     a2 = *(var_50h);
    0x0002cdd4 sw v0, 0x30(sp)                           |     *(var_30h) = v0;
    0x0002cdd8 lw v0, -0x7f3c(gp)                        |     v0 = *((gp - 8143));
    0x0002cddc lw t9, -0x7994(gp)                        |     t9 = sym.set_param_names;
                                                         |     /* str.Username */
    0x0002cde0 addiu v0, v0, -0x72b8                     |     v0 += -0x72b8;
    0x0002cde4 sw v0, 0x2c(sp)                           |     *(var_2ch) = v0;
    0x0002cde8 lw v0, 0x54(sp)                           |     v0 = *(var_54h);
    0x0002cdec sw zero, 0x3c(sp)                         |     *(var_3ch) = 0;
    0x0002cdf0 sw v0, 0x28(sp)                           |     *(var_28h) = v0;
    0x0002cdf4 lw v0, -0x7f3c(gp)                        |     v0 = *((gp - 8143));
    0x0002cdf8 sw s4, 0x20(sp)                           |     *(var_20h) = s4;
                                                         |     /* esilref: 'Share' */
    0x0002cdfc addiu v0, v0, -0x7558                     |     v0 += -0x7558;
    0x0002ce00 sw v0, 0x24(sp)                           |     *(var_24h) = v0;
    0x0002ce04 lw v0, -0x7f3c(gp)                        |     v0 = *((gp - 8143));
    0x0002ce08 sw s5, 0x18(sp)                           |     *(var_18h) = s5;
                                                         |     /* str.Port */
    0x0002ce0c addiu v0, v0, -0x72ac                     |     v0 += -0x72ac;
    0x0002ce10 sw v0, 0x1c(sp)                           |     *(var_1ch) = v0;
    0x0002ce14 lw v0, -0x7f3c(gp)                        |     v0 = *((gp - 8143));
    0x0002ce18 sw s6, 0x10(sp)                           |     *(var_10h) = s6;
                                                         |     /* str.Address */
    0x0002ce1c addiu v0, v0, -0x72a4                     |     v0 += -0x72a4;
    0x0002ce20 sw v0, 0x14(sp)                           |     *(var_14h) = v0;
                                                         |     /* str.ShareId */
    0x0002ce24 addiu a3, a3, -0x729c                     |     a3 += -0x729c;
                                                         |     /* esilref: 'Name' */
    0x0002ce28 addiu a1, a1, -0x65e8                     |     a1 += -0x65e8;
    0x0002ce2c move a0, s3                               |     a0 = s3;
    0x0002ce30 bal 0x32e48                               |     sym_set_param_names ();
    0x0002ce34 lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002ce38 bnez v0, 0x2ce5c                          |     
                                                         |     while (v0 == 0) {
    0x0002ce3c lw a1, -0x7f3c(gp)                        |         a1 = *((gp - 8143));
    0x0002ce40 lw t9, -0x716c(gp)                        |         t9 = sym.imp.g_string_assign;
    0x0002ce44 move a0, s2                               |         a0 = s2;
                                                         |         /* str.Error_modifying_share. */
    0x0002ce48 addiu a1, a1, -0x6cb0                     |         a1 += -0x6cb0;
    0x0002ce4c jalr t9                                   |         t9 ();
    0x0002ce50 addiu s2, zero, 0xa                       |         s2 = 0xa;
    0x0002ce54 lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002ce58 b 0x2cc00                                 |         goto label_0;
    0x0002ce5c lw v0, 0x5c(sp)                           |         v0 = *(var_5ch);
    0x0002ce60 lw a3, -0x7f3c(gp)                        |         a3 = *((gp - 8143));
    0x0002ce64 sw v0, 0x38(sp)                           |         *(var_38h) = v0;
    0x0002ce68 lw v0, -0x7f3c(gp)                        |         v0 = *((gp - 8143));
    0x0002ce6c lw a1, -0x7f3c(gp)                        |         a1 = *((gp - 8143));
                                                         |         /* str.password */
    0x0002ce70 addiu v0, v0, -0x728c                     |         v0 += -0x728c;
    0x0002ce74 sw v0, 0x34(sp)                           |         *(var_34h) = v0;
    0x0002ce78 lw v0, 0x58(sp)                           |         v0 = *(var_58h);
    0x0002ce7c lhu v1, 0x62(sp)                          |         v1 = *(var_62h);
    0x0002ce80 sw v0, 0x30(sp)                           |         *(var_30h) = v0;
    0x0002ce84 lw v0, -0x7f3c(gp)                        |         v0 = *((gp - 8143));
    0x0002ce88 lw t9, -0x79b4(gp)                        |         t9 = sym.properties_gobject_set;
                                                         |         /* str.username */
    0x0002ce8c addiu v0, v0, -0x7280                     |         v0 += -0x7280;
    0x0002ce90 sw v0, 0x2c(sp)                           |         *(var_2ch) = v0;
    0x0002ce94 lw v0, 0x54(sp)                           |         v0 = *(var_54h);
    0x0002ce98 lw a2, 0x50(sp)                           |         a2 = *(var_50h);
    0x0002ce9c sw v0, 0x28(sp)                           |         *(var_28h) = v0;
    0x0002cea0 lw v0, -0x7f3c(gp)                        |         v0 = *((gp - 8143));
    0x0002cea4 sw zero, 0x3c(sp)                         |         *(var_3ch) = 0;
                                                         |         /* esilref: 'share' */
    0x0002cea8 addiu v0, v0, -0x6278                     |         v0 += -0x6278;
    0x0002ceac sw v0, 0x24(sp)                           |         *(var_24h) = v0;
    0x0002ceb0 lw v0, -0x7f3c(gp)                        |         v0 = *((gp - 8143));
    0x0002ceb4 sw v1, 0x20(sp)                           |         *(var_20h) = v1;
                                                         |         /* str.port */
    0x0002ceb8 addiu v0, v0, -0x7274                     |         v0 += -0x7274;
    0x0002cebc sw v0, 0x1c(sp)                           |         *(var_1ch) = v0;
    0x0002cec0 lw v0, -0x7f3c(gp)                        |         v0 = *((gp - 8143));
    0x0002cec4 sw s5, 0x18(sp)                           |         *(var_18h) = s5;
                                                         |         /* str.address */
    0x0002cec8 addiu v0, v0, -0x726c                     |         v0 += -0x726c;
    0x0002cecc sw v0, 0x14(sp)                           |         *(var_14h) = v0;
    0x0002ced0 sw s6, 0x10(sp)                           |         *(var_10h) = s6;
                                                         |         /* str.shareid */
    0x0002ced4 addiu a3, a3, -0x7294                     |         a3 += -0x7294;
                                                         |         /* esilref: 'name' */
    0x0002ced8 addiu a1, a1, -0x4828                     |         a1 += -0x4828;
    0x0002cedc move a0, s0                               |         a0 = s0;
    0x0002cee0 bal 0x34d00                               |         sym_properties_gobject_set ();
    0x0002cee4 lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cee8 beqz v0, 0x2ce3c                          |         
                                                         |     }
    0x0002ceec lw v0, 0x54(sp)                           |     v0 = *(var_54h);
                                                         |     if (s5 == 0) {
    0x0002cef0 beqz s5, 0x2d03c                          |         goto label_17;
                                                         |     }
    0x0002cef4 lw t9, -0x79ac(gp)                        |     t9 = sym.nsdevice_unc_from_address;
                                                         | label_3:
    0x0002cef8 move a0, s0                               |     a0 = s0;
    0x0002cefc bal 0x31fb0                               |     sym_nsdevice_unc_from_address ();
    0x0002cf00 lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cf04 lw a0, -0x7f3c(gp)                        |     a0 = *((gp - 8143));
                                                         | label_4:
    0x0002cf08 lw t9, -0x737c(gp)                        |     t9 = sym.imp.g_strdup_printf
    0x0002cf0c lw a1, 0x34(s0)                           |     a1 = *((s0 + 13));
                                                         |     /* str.NetworkShareN_u */
    0x0002cf10 addiu a0, a0, -0x70b0                     |     a0 += -0x70b0;
    0x0002cf14 jalr t9                                   |     t9 ();
    0x0002cf18 lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cf1c move a0, v0                               |     a0 = v0;
    0x0002cf20 lw t9, -0x7e1c(gp)                        |     t9 = sym.get_standard_and_internal_disk_from_id;
    0x0002cf24 move s5, v0                               |     s5 = v0;
    0x0002cf28 bal 0x1fb10                               |     sym_get_standard_and_internal_disk_from_id ();
    0x0002cf2c lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cf30 move a0, v0                               |     a0 = v0;
    0x0002cf34 lw t9, -0x7f14(gp)                        |     t9 = sym.disk_is_mounted;
    0x0002cf38 move s2, v0                               |     s2 = v0;
    0x0002cf3c bal 0x16db4                               |     sym_disk_is_mounted ();
    0x0002cf40 lw gp, 0x40(sp)                           |     gp = *(var_40h);
                                                         |     if (v0 != 0) {
    0x0002cf44 bnez v0, 0x2cfd0                          |         goto label_18;
                                                         |     }
                                                         | label_2:
    0x0002cf48 lw t9, -0x7f30(gp)                        |     t9 = sym.disk_unref_with_list_lock;
    0x0002cf4c move a0, s2                               |     a0 = s2;
    0x0002cf50 bal 0x1c974                               |     sym_disk_unref_with_list_lock ();
    0x0002cf54 lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cf58 move a0, s5                               |     a0 = s5;
    0x0002cf5c lw t9, -0x7560(gp)                        |     t9 = *((gp - 7512));
    0x0002cf60 move s2, zero                             |     s2 = 0;
    0x0002cf64 jalr t9                                   |     t9 ();
    0x0002cf68 lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cf6c b 0x2cc00                                 |     goto label_0;
                                                         | label_6:
    0x0002cf70 lw a1, -0x7f3c(gp)                        |     a1 = *((gp - 8143));
    0x0002cf74 lw t9, -0x716c(gp)                        |     t9 = sym.imp.g_string_assign;
                                                         |     /* str.Required_parameter_is_missing. */
    0x0002cf78 addiu a1, a1, -0x6fd8                     |     a1 += -0x6fd8;
    0x0002cf7c move a0, s2                               |     a0 = s2;
    0x0002cf80 jalr t9                                   |     t9 ();
    0x0002cf84 lw gp, 0x40(sp)                           |     gp = *(var_40h);
                                                         |     do {
    0x0002cf88 lw t9, -0x7598(gp)                        |         t9 = sym.imp.g_mutex_unlock;
    0x0002cf8c lw a0, -0xf60(s7)                         |         a0 = *((s7 - 984));
    0x0002cf90 addiu s2, zero, 0x14                      |         s2 = 0x14;
    0x0002cf94 jalr t9                                   |         t9 ();
    0x0002cf98 lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cf9c move a0, zero                             |         a0 = 0;
    0x0002cfa0 lw t9, -0x7560(gp)                        |         t9 = *((gp - 7512));
    0x0002cfa4 move s4, zero                             |         s4 = 0;
    0x0002cfa8 jalr t9                                   |         t9 ();
    0x0002cfac lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cfb0 b 0x2cc30                                 |         goto label_1;
                                                         | label_7:
    0x0002cfb4 lw a1, -0x7f3c(gp)                        |         a1 = *((gp - 8143));
    0x0002cfb8 lw t9, -0x716c(gp)                        |         t9 = sym.imp.g_string_assign;
                                                         |         /* str.Invalid_shareid_parameter. */
    0x0002cfbc addiu a1, a1, -0x6e3c                     |         a1 += -0x6e3c;
    0x0002cfc0 move a0, s2                               |         a0 = s2;
    0x0002cfc4 jalr t9                                   |         t9 ();
    0x0002cfc8 lw gp, 0x40(sp)                           |         gp = *(var_40h);
    0x0002cfcc b 0x2cf88                                 |         
                                                         |     } while (1);
                                                         | label_18:
    0x0002cfd0 lw t9, -0x7d10(gp)                        |     t9 = sym.manager_unmount_disk_forced;
    0x0002cfd4 move a0, s2                               |     a0 = s2;
    0x0002cfd8 bal 0x282ac                               |     sym_manager_unmount_disk_forced ();
    0x0002cfdc lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cfe0 lw t9, -0x7d18(gp)                        |     t9 = sym.manager_mount_disk;
    0x0002cfe4 move a0, s2                               |     a0 = s2;
    0x0002cfe8 bal 0x28188                               |     sym_manager_mount_disk ();
    0x0002cfec lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002cff0 b 0x2cf48                                 |     goto label_2;
                                                         | label_16:
    0x0002cff4 lw a1, -0x7f3c(gp)                        |     a1 = *((gp - 8143));
    0x0002cff8 lw t9, -0x716c(gp)                        |     t9 = sym.imp.g_string_assign;
    0x0002cffc move a0, s2                               |     a0 = s2;
                                                         |     /* str.New_Share_Id_is_invalid. */
    0x0002d000 addiu a1, a1, -0x6ccc                     |     a1 += -0x6ccc;
    0x0002d004 jalr t9                                   |     t9 ();
    0x0002d008 addiu s2, zero, 0x276                     |     s2 = 0x276;
    0x0002d00c lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002d010 move s4, zero                             |     s4 = 0;
    0x0002d014 b 0x2cc00                                 |     goto label_0;
                                                         | label_14:
    0x0002d018 lw a1, -0x7f3c(gp)                        |     a1 = *((gp - 8143));
    0x0002d01c lw t9, -0x716c(gp)                        |     t9 = sym.imp.g_string_assign;
    0x0002d020 move a0, s2                               |     a0 = s2;
                                                         |     /* str.Invalid_port_parameter. */
    0x0002d024 addiu a1, a1, -0x6f6c                     |     a1 += -0x6f6c;
    0x0002d028 jalr t9                                   |     t9 ();
    0x0002d02c move s4, zero                             |     s4 = 0;
    0x0002d030 lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002d034 addiu s2, zero, 0x280                     |     s2 = aav.0x00000280;
    0x0002d038 b 0x2cc00                                 |     goto label_0;
                                                         | label_17:
    0x0002d03c lw t9, -0x79ac(gp)                        |     t9 = sym.nsdevice_unc_from_address;
                                                         |     if (v0 != 0) {
    0x0002d040 bnez v0, 0x2cef8                          |         goto label_3;
                                                         |     }
    0x0002d044 lw a0, -0x7f3c(gp)                        |     a0 = *((gp - 8143));
    0x0002d048 b 0x2cf08                                 |     goto label_4;
                                                         | label_15:
    0x0002d04c lw a1, -0x7f3c(gp)                        |     a1 = *((gp - 8143));
    0x0002d050 lw t9, -0x716c(gp)                        |     t9 = sym.imp.g_string_assign;
    0x0002d054 move a0, s2                               |     a0 = s2;
                                                         |     /* str.Share_Id_already_exists. */
    0x0002d058 addiu a1, a1, -0x6f54                     |     a1 += -0x6f54;
    0x0002d05c jalr t9                                   |     t9 ();
    0x0002d060 addiu s2, zero, 0x262                     |     s2 = 0x262;
    0x0002d064 lw gp, 0x40(sp)                           |     gp = *(var_40h);
    0x0002d068 move s4, zero                             |     s4 = 0;
    0x0002d06c b 0x2cc00                                 |     goto label_0;
                                                         | label_12:
    0x0002d070 lw t9, -0x7520(gp)                        |     t9 = sym.imp.__stack_chk_fail;
    0x0002d074 jalr t9                                   |     t9 ();
    0x0002d078 nop                                       |     
                                                         | }

[*] Function printf used 4 times storage_manager