[*] 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