Function at 0x404010
Capabilities:
Enumerate network shares

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x540
mov eax, dword [0x42cf34]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x52c], 0
mov dword [ebp - 0x540], 0
mov dword [ebp - 0x53c], 0
mov dword [ebp - 0x538], 0
push 0x104
push 0
lea eax, [ebp - 0x518]
push eax
call fcn.00407d10
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x20c]
push ecx
call fcn.00407d10
add esp, 0xc
mov edx, dword [ebp + 0xc]
push edx
push 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.00407d10
add esp, 0xc
mov edx, dword [ebp + 0x14]
push edx
push 0
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
push ecx
call fcn.00407d10
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push 0x42c6dc
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.00402750
add esp, 0x10
cmp eax, 0xffffffff
jne 0x4040f3
mov ecx, 1
imul edx, ecx, 0x103
mov dword [ebp - 0x528], edx
cmp dword [ebp - 0x528], 0x104
jae 0x4040e0
jmp 0x4040e5
call fcn.0040722d
mov eax, dword [ebp - 0x528]
mov byte [ebp + eax - 0x20c], 0
lea ecx, [ebp - 0x20c]
push ecx
call fcn.0040a520
add esp, 4
push eax
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x518]
push eax
call fcn.0041338c
add esp, 0xc
lea ecx, [ebp - 0x53c]
push ecx
lea edx, [ebp - 0x540]
push edx
lea eax, [ebp - 0x52c]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x534]
push ecx
push 2
lea edx, [ebp - 0x518]
push edx
call sub.NETAPI32.dll_NetShareEnum
mov dword [ebp - 0x520], eax
cmp dword [ebp - 0x520], 0
je 0x404164
cmp dword [ebp - 0x520], 0xea
jne 0x404339
mov eax, dword [ebp - 0x534]
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x524], 1
jmp 0x40418b
mov ecx, dword [ebp - 0x524]
add ecx, 1
mov dword [ebp - 0x524], ecx
mov edx, dword [ebp - 0x524]
cmp edx, dword [ebp - 0x52c]
ja 0x40432b
push 0x104
push 0
lea eax, [ebp - 0x108]
push eax
call fcn.00407d10
add esp, 0xc
push 0x104
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx]
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.0041366a
add esp, 0xc
push str.ADMIN_
lea ecx, [ebp - 0x108]
push ecx
call fcn.0040a443
add esp, 8
test eax, eax
jne 0x404317
push str.SYSVOL
lea edx, [ebp - 0x108]
push edx
call fcn.0040a443
add esp, 8
test eax, eax
je 0x404317
push str.NETLOGON
lea eax, [ebp - 0x108]
push eax
call fcn.0040a443
add esp, 8
test eax, eax
je 0x404317
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x18]
push edx
call fcn.00412dae
add esp, 4
test eax, eax
jbe 0x404317
push 0x104
push 0
lea eax, [ebp - 0x310]
push eax
call fcn.00407d10
add esp, 0xc
lea ecx, [ebp - 0x108]
push ecx
lea edx, [ebp - 0x20c]
push edx
push 0x42c6fc
push 0x104
lea eax, [ebp - 0x310]
push eax
call fcn.00402750
add esp, 0x14
cmp eax, 0xffffffff
jne 0x4042b2
mov ecx, 1
imul edx, ecx, 0x103
mov dword [ebp - 0x530], edx
cmp dword [ebp - 0x530], 0x104
jae 0x40429f
jmp 0x4042a4
call fcn.0040722d
mov eax, dword [ebp - 0x530]
mov byte [ebp + eax - 0x310], 0
mov ecx, 1
test ecx, ecx
je 0x404317
push 0x104
mov edx, dword [ebp - 0x51c]
mov eax, dword [edx + 0x18]
push eax
lea ecx, [ebp - 0x108]
push ecx
call fcn.0041366a
add esp, 0xc
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call fcn.0040a5b0
add esp, 0xc
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x310]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
push eax
call fcn.0040a5b0
add esp, 0xc
mov dword [ebp - 0x538], 1
jmp 0x40432b
mov ecx, dword [ebp - 0x51c]
add ecx, 0x20
mov dword [ebp - 0x51c], ecx
jmp 0x40417c
mov edx, dword [ebp - 0x534]
push edx
call sub.NETAPI32.dll_NetApiBufferFree
jmp 0x40434d
mov eax, dword [ebp - 0x520]
push eax
push str.____Error_accessing_ADMIN__share:__ld_n
call fcn.00402030
add esp, 8
cmp dword [ebp - 0x520], 0xea
je 0x404119
mov eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004070d2
mov esp, ebp
pop ebp
ret