Function at 0x5a2b406
Capabilities:
Get common file path
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x5b920e8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x11c], eax
cmp esi, 1
je 0x5a2b445
cmp esi, 2
je 0x5a2b445
cmp esi, 5
je 0x5a2b445
mov eax, 0x80000004
jmp 0x5a2b969
push ebx
push edi
xor ebx, ebx
mov edi, 0x80000001
push ebx
mov dword [ebp - 0x110], edi
call fcn.05a17bab
cmp esi, ebx
jle 0x5a2b957
cmp esi, 2
jle 0x5a2b523
cmp esi, 5
jne 0x5a2b957
mov esi, dword [ebp - 0x114]
push 0xe
mov ecx, esi
call fcn.05a17bd9
push 0x104
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x5a2b514
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.05acda40
pop ecx
pop ecx
cmp eax, ebx
je 0x5a2b4b0
mov byte [eax + 1], bl
push ebx
push ebx
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x118]
push eax
push ebx
push ebx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
je 0x5a2b514
mov eax, dword [ebp - 0x118]
movzx ecx, ax
push ecx
shr eax, 0x10
push eax
push 5
push str.__d:_04X__04X_
mov ecx, esi
call fcn.05a28116
push eax
mov ecx, esi
call fcn.05a28116
push eax
mov ecx, esi
call fcn.05a17c6c
push eax
call fcn.05ac95f9
add esp, 0x1c
jmp 0x5a2b961
mov dword [ebp - 0x110], 0x8000000a
jmp 0x5a2b961
push str.iphlpapi.dll
mov dword [ebp - 0x124], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x120], eax
cmp eax, ebx
je 0x5a2b7d7
push str.GetAdaptersInfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
cmp esi, ebx
je 0x5a2b7c8
lea eax, [ebp - 0x124]
push eax
push ebx
call esi
sub eax, 0x32
je 0x5a2b7c8
sub eax, 0x3d
je 0x5a2b58f
sub eax, 0x79
je 0x5a2b580
mov dword [ebp - 0x110], edi
jmp 0x5a2b7c8
mov dword [ebp - 0x110], 1
jmp 0x5a2b7c8
push dword [ebp - 0x124]
call fcn.05ac8aa1
pop ecx
mov dword [ebp - 0x118], eax
cmp eax, ebx
je 0x5a2b7be
lea ecx, [ebp - 0x124]
push ecx
push eax
call esi
test eax, eax
jne 0x5a2b7aa
mov edi, dword [ebp - 0x118]
xor esi, esi
lea eax, [edi + 0x1b0]
push str.0.0.0.0
push eax
call fcn.05acab90
pop ecx
pop ecx
test eax, eax
je 0x5a2b5db
inc esi
mov edi, dword [edi]
cmp edi, ebx
jne 0x5a2b5c3
lea eax, [esi*4 + 4]
push eax
call fcn.05ac9465
pop ecx
mov ecx, dword [ebp - 0x11c]
mov dword [ecx], eax
mov dword [eax + esi*4], ebx
mov esi, dword [ebp - 0x118]
mov dword [ebp - 0x10c], ebx
mov eax, dword [esi + 0x1a0]
cmp eax, 0x17
je 0x5a2b79e
cmp eax, 0x18
je 0x5a2b79e
cmp eax, 0x1c
je 0x5a2b79e
lea edi, [esi + 0x1b0]
push str.0.0.0.0
push edi
call fcn.05acab90
pop ecx
pop ecx
test eax, eax
je 0x5a2b79e
mov eax, dword [ebp + 8]
dec eax
je 0x5a2b6d1
dec eax
je 0x5a2b65e
mov dword [ebp - 0x110], 0x80000004
jmp 0x5a2b79e
push edi
call fcn.05acab00
pop ecx
mov ecx, dword [ebp - 0x114]
add eax, 5
push eax
call fcn.05a17bd9
push edi
mov edi, dword [ebp - 0x114]
push 2
push str.__d:_s_
mov ecx, edi
call fcn.05a28116
push eax
mov ecx, edi
call fcn.05a28116
push eax
mov ecx, edi
call fcn.05a17c6c
push eax
call fcn.05ac95f9
push 0xc
call fcn.05ac813b
add esp, 0x1c
cmp eax, ebx
je 0x5a2b6b7
push edi
mov ecx, eax
call fcn.05a17f0e
jmp 0x5a2b6b9
xor eax, eax
mov edx, dword [ebp - 0x10c]
add dword [ebp - 0x10c], 4
mov dword [ebp - 0x110], ebx
jmp 0x5a2b793
mov eax, dword [esi + 0x190]
mov edi, dword [ebp - 0x114]
lea eax, [eax + eax + 5]
push eax
mov ecx, edi
call fcn.05a17bd9
push 1
push str.__d:
push 4
mov ecx, edi
call fcn.05a28116
push eax
mov ecx, edi
call fcn.05a17c6c
push eax
call fcn.05ac95f9
add esp, 0x14
mov ecx, edi
call fcn.05a17c6c
mov ecx, dword [ebp - 0x114]
mov edi, eax
call fcn.05a17c5d
add edi, eax
cmp dword [esi + 0x190], 0
jbe 0x5a2b750
movzx eax, byte [esi + ebx + 0x194]
push eax
push str._02x
push 2
push 3
push edi
call fcn.05ac95f9
add esp, 0x14
inc ebx
add edi, 2
cmp ebx, dword [esi + 0x190]
jb 0x5a2b729
mov ecx, dword [ebp - 0x114]
push 0x5b6d5dc
call fcn.05a17dd8
push 0xc
call fcn.05ac813b
pop ecx
test eax, eax
je 0x5a2b77b
push dword [ebp - 0x114]
mov ecx, eax
call fcn.05a17f0e
jmp 0x5a2b77d
xor eax, eax
mov edx, dword [ebp - 0x10c]
add dword [ebp - 0x10c], 4
and dword [ebp - 0x110], 0
xor ebx, ebx
mov ecx, dword [ebp - 0x11c]
mov ecx, dword [ecx]
mov dword [edx + ecx], eax
mov esi, dword [esi]
cmp esi, ebx
jne 0x5a2b606
jmp 0x5a2b7b0
mov dword [ebp - 0x110], edi
push dword [ebp - 0x118]
call fcn.05ac8aac
pop ecx
jmp 0x5a2b7c8
mov dword [ebp - 0x110], 0x80000003
push dword [ebp - 0x120]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x114]
call fcn.05a17c5d
test eax, eax
jne 0x5a2b961
mov eax, esi
dec eax
je 0x5a2b80d
dec eax
jne 0x5a2b961
push dword [ebp - 0x114]
call fcn.05a2b183
pop ecx
mov dword [ebp - 0x110], eax
jmp 0x5a2b961
push str.netapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x11c], eax
cmp eax, ebx
je 0x5a2b961
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NetWkstaTransportEnum
push eax
call edi
push str.NetApiBufferFree
push dword [ebp - 0x11c]
mov esi, eax
call edi
mov dword [ebp - 0x128], eax
cmp esi, ebx
je 0x5a2b949
cmp eax, ebx
je 0x5a2b949
push ebx
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x10c]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x118]
push eax
push ebx
push ebx
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x120], ebx
call esi
push 0x5b6b8fc
lea ecx, [ebp - 0x134]
mov esi, eax
call fcn.05a17d9a
cmp esi, ebx
jne 0x5a2b8e3
cmp dword [ebp - 0x10c], ebx
je 0x5a2b8e3
mov esi, dword [ebp - 0x118]
add esi, 0xc
dec dword [ebp - 0x10c]
je 0x5a2b8b5
cmp dword [esi + 4], ebx
jne 0x5a2b8d1
xor edi, edi
mov eax, dword [esi]
movzx eax, byte [eax + edi]
push eax
lea ecx, [ebp - 0x134]
call fcn.05a17f44
add edi, 2
cmp edi, 0x18
jb 0x5a2b8b7
add esi, 0x14
cmp dword [ebp - 0x10c], ebx
jne 0x5a2b8a8
or dword [ebp - 0x10c], 0xffffffff
push dword [ebp - 0x118]
call dword [ebp - 0x128]
lea ecx, [ebp - 0x134]
call fcn.05a17c5d
mov esi, dword [ebp - 0x114]
add eax, 5
push eax
mov ecx, esi
call fcn.05a17bd9
lea ecx, [ebp - 0x134]
call fcn.05a17c6c
push eax
push 1
push str.__d:_s_
mov ecx, esi
call fcn.05a28116
push eax
mov ecx, esi
call fcn.05a28116
push eax
mov ecx, esi
call fcn.05a17c6c
push eax
call fcn.05ac95f9
add esp, 0x18
lea ecx, [ebp - 0x134]
call fcn.05a17dc2
push dword [ebp - 0x11c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x5a2b961
mov dword [ebp - 0x110], 0x80000004
mov eax, dword [ebp - 0x110]
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.05ac7ec0
leave
ret