Function at 0x558950
Capabilities:
Enumerate network shares

Disassembly:
push ebp
sub esp, 0xb8
lea edx, [esp + 0x4c]
mov dword [esp + 0x64], 0x567468
lea eax, [esp + 0xb0]
mov dword [esp], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], 0x5c5844
mov dword [esp + 0x70], 0x559272
mov dword [esp + 0x74], esp
call sub.libgcc_s_sjlj_1.dll__Unwind_SjLj_Register
mov ecx, dword [esp + 0xc0]
lea eax, [esp + 0x84]
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp + 0xc], ecx
mov dword [esp], 2
mov dword [esp + 0x88], 0x4000
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x50], 0xffffffff
call sub.MPR.DLL_WNetOpenEnumW
sub esp, 0x14
test eax, eax
je 0x558a01
mov dword [esp + 0x2c], 0
lea edx, [esp + 0x4c]
mov dword [esp], edx
call sub.libgcc_s_sjlj_1.dll__Unwind_SjLj_Unregister
mov eax, dword [esp + 0x2c]
add esp, 0xb8
pop ebp
ret
mov eax, dword [esp + 0x88]
mov dword [esp], 0x40
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
sub esp, 8
test eax, eax
mov dword [esp + 0x38], eax
je 0x5589e1
mov eax, dword [esp + 0x88]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x88]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x8c]
mov dword [esp + 4], edx
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 8], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sub.MPR.DLL_WNetEnumResourceW
sub esp, 0x10
test eax, eax
je 0x558ac2
mov eax, dword [esp + 0x38]
mov dword [esp + 0x50], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
sub esp, 4
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sub.MPR.DLL_WNetCloseEnum
sub esp, 4
test eax, eax
sete al
movzx eax, al
mov dword [esp + 0x2c], eax
jmp 0x5589e9
mov ecx, dword [method.QString.fromAscii_helper_char_const__int_]
mov dword [esp + 4], 0
mov dword [esp], 0x5f48f0
call ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x558afc
mov eax, dword [esp + 0xc0]
cmp dword [eax + 8], 1
je 0x559031
mov eax, dword [esp + 0x8c]
mov edx, dword [sym.imp.Qt5Core.dll_QListData::shared_null]
test eax, eax
mov dword [esp + 0x94], edx
je 0x558d80
mov eax, dword [esp + 0x38]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], eax
jmp 0x558b4b
add dword [esp + 0x30], 1
add dword [esp + 0x2c], 0x20
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x8c], ecx
jbe 0x558d80
mov edx, dword [esp + 0x2c]
cmp dword [edx + 8], 2
je 0x558b80
mov edx, dword [esp + 0x2c]
test byte [edx + 0xc], 2
je 0x558b30
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x50], 6
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00558950
jmp 0x558b30
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 4]
test eax, eax
je 0x558b55
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], 0xffffffff
lea ecx, [esp + 0x98]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x50], 6
mov dword [esp], eax
call dword [method.QString.QString_QChar_const__int_]
sub esp, 8
mov eax, dword [esp + 0x98]
mov edx, dword [eax + 4]
test edx, edx
je 0x558cd0
mov ecx, dword [method.QString.fromAscii_helper_char_const__int_]
mov dword [esp + 4], 0
mov dword [esp], 0x5f48f0
mov dword [esp + 0x50], 3
call ecx
mov edx, dword [method.QString.fromAscii_helper_char_const__int_]
mov dword [esp + 4], 2
mov dword [esp], 0x5f4913
mov dword [esp + 0x50], 4
mov dword [esp + 0xa0], eax
call edx
mov dword [esp + 0x9c], eax
lea eax, [esp + 0xa0]
mov dword [esp + 4], eax
lea eax, [esp + 0x9c]
mov dword [esp + 8], 1
lea ecx, [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 0x50], 5
call dword [method.QString.replace_QString_const__QString_const__Qt::CaseSensitivity_]
sub esp, 0xc
mov dword [esp], eax
lea ecx, [esp + 0x98]
call dword [method.QString.operator_QString_const_]
sub esp, 4
mov eax, dword [esp + 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x558d50
cmp edx, 0xffffffff
je 0x558c83
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x558d48
mov eax, dword [esp + 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x558d22
cmp edx, 0xffffffff
je 0x558ca4
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x558d1b
lea eax, [esp + 0x98]
mov dword [esp + 0x50], 3
lea ecx, [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 0x34], ecx
call fcn.005979c0
sub esp, 4
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
test edx, edx
je 0x558cf5
cmp edx, 0xffffffff
je 0x558b55
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x558b55
mov eax, dword [esp + 0x98]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [esp + 0x50], 6
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x558b55
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [esp + 0x50], 3
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x558ca4
mov eax, dword [esp + 0x9c]
nop
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [esp + 0x50], 4
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x558c83
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 4]
test eax, eax
je 0x558f10
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 8]
cmp dword [eax + 0xc], ecx
je 0x558f10
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx]
cmp dword [eax], 1
jbe 0x558dd0
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x50], 6
call fcn.00571940
mov edx, dword [esp + 0xc4]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov dword [esp + 0x2c], ecx
je 0x558f87
mov eax, dword [sym.imp.Qt5Core.dll_operator__QString_const__QString_const_]
lea ecx, [esp + 0x90]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
jmp 0x558e17
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x558e4e
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x50], 6
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add eax, 0xc
mov dword [esp + 4], ecx
mov dword [esp], eax
call edx
test al, al
je 0x558e00
mov edx, dword [esp + 0x2c]
mov edx, dword [edx + 8]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x558e17
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x558f7e
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x50], 6
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add eax, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
call edx
test al, al
jne 0x558f7e
mov ecx, dword [esp + 0x3c]
add ecx, 0x10
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x94]
cmp dword [ecx], eax
lea ecx, [esp + 0x94]
mov dword [esp + 0x34], ecx
je 0x558f1b
mov dword [esp], ecx
lea ecx, [esp + 0xac]
mov dword [esp + 0x50], 6
call fcn.00597af0
sub esp, 4
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0xac]
mov edx, dword [ecx]
mov dword [esp + 0xac], edx
mov dword [ecx], eax
mov eax, dword [esp + 0xac]
mov edx, dword [eax]
test edx, edx
je 0x558efb
cmp edx, 0xffffffff
je 0x558f1b
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x558f1b
mov eax, dword [esp + 0xac]
mov dword [esp + 0x50], 6
call fcn.00555270
jmp 0x558f1b
lea ecx, [esp + 0x94]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x50], 1
call fcn.00597c10
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
test edx, edx
je 0x558f58
cmp edx, 0xffffffff
je 0x558a2c
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x558a2c
mov eax, dword [esp + 0x90]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [esp + 0x50], 0xffffffff
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x558a2c
mov edx, dword [esp + 0xc4]
mov eax, dword [edx]
mov ecx, dword [sym.imp.Qt5Core.dll_QListData::shared_null]
mov dword [esp + 0xa4], ecx
cmp dword [eax], 1
jbe 0x558fb6
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x50], 7
call fcn.00571940
mov edx, dword [esp + 0xc4]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov dword [esp + 0x2c], ecx
je 0x55923c
mov eax, dword [sym.imp.Qt5Core.dll_operator__QString_const__QString_const_]
lea ecx, [esp + 0x90]
mov dword [esp + 0x40], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
jmp 0x558fff
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x3c], 1
mov eax, dword [ecx + 4]
mov dword [esp + 0x40], ecx
test eax, eax
je 0x5590cf
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x50], 7
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add eax, 0xc
mov dword [esp + 4], ecx
mov dword [esp], eax
call edx
test al, al
je 0x558fe3
mov edx, dword [esp + 0x2c]
mov byte [esp + 0x3c], 0
mov eax, dword [edx + 8]
jmp 0x558ff3
mov dword [esp + 4], 0xffffffff
lea ecx, [esp + 0x98]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x50], 1
mov dword [esp], eax
call dword [method.QString.QString_QChar_const__int_]
sub esp, 8
lea eax, [esp + 0x98]
mov dword [esp + 0x50], 2
lea ecx, [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 0x30], ecx
call dword [method.QString.operator_QString_const_]
sub esp, 4
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
test edx, edx
je 0x5590a9
cmp edx, 0xffffffff
je 0x558afc
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x558afc
mov eax, dword [esp + 0x98]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [esp + 0x50], 1
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x558afc
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x559197
mov eax, dword [esp + 0x40]
mov dword [esp + 0x50], 7
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add eax, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
call edx
test al, al
jne 0x559197
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0xa4]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], ecx
cmp dword [eax + 0x10], edx
je 0x559266
mov dword [esp], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0x50], 7
call fcn.00597af0
sub esp, 4
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xa8]
mov eax, dword [ecx + 0x10]
mov dword [ecx + 0x10], edx
mov edx, dword [eax]
mov dword [esp + 0xa8], eax
test edx, edx
je 0x559254
cmp edx, 0xffffffff
je 0x55939a
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x55924d
mov eax, dword [esp + 0x40]
add eax, 0x10
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x50], 6
call fcn.00597c10
jmp 0x558e8d
mov ecx, dword [esp + 0xc4]
movzx edx, byte [esp + 0x3c]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], edx
mov dword [esp + 4], 4
mov dword [esp], 0x14
mov dword [esp + 0x50], 7
mov dword [esp + 8], ecx
mov ecx, eax
mov dword [esp + 0x44], eax
call dword [method.QMapDataBase.createNode_int__int__QMapNodeBase__bool_]
sub esp, 0x10
mov dword [esp + 0x40], eax
add eax, 0xc
mov dword [esp + 0x48], eax
je 0x559204
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x40]
mov dword [edx + 0xc], eax
mov edx, dword [eax]
test edx, edx
je 0x559204
cmp edx, 0xffffffff
je 0x559204
lock add dword [eax], 1
setne dl
mov ecx, dword [esp + 0x40]
add ecx, 0x10
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0xa4]
mov dword [esp + 0x30], ecx
je 0x559181
mov dword [esp], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], 0xa
call fcn.00597b80
sub esp, 4
jmp 0x559181
lea edx, [eax + 8]
mov dword [esp + 0x2c], edx
mov edx, 1
jmp 0x5591a5
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x50], 7
call fcn.00555270
jmp 0x559176
add eax, 0x10
mov dword [esp + 0x2c], eax
jmp 0x559181
lea eax, [ecx + 0x10]
mov dword [esp + 0x2c], eax
jmp 0x559181