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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c8
mov eax, dword [0x425280]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x41d280]
mov dword [ebp - 0x1b8], eax
mov ecx, dword [0x41d284]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [0x41d288]
mov dword [ebp - 0x1b0], edx
mov eax, dword [0x41d28c]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [0x41d250]
mov dword [ebp - 0x1a8], ecx
mov edx, dword [0x41d254]
mov dword [ebp - 0x1a4], edx
mov eax, dword [0x41d258]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [0x41d25c]
mov dword [ebp - 0x19c], ecx
mov edx, dword [0x41d290]
mov dword [ebp - 0x198], edx
mov eax, dword [0x41d294]
mov dword [ebp - 0x194], eax
mov ecx, dword [0x41d298]
mov dword [ebp - 0x190], ecx
mov edx, dword [0x41d29c]
mov dword [ebp - 0x18c], edx
mov eax, dword [0x41d2b0]
mov dword [ebp - 0x188], eax
mov ecx, dword [0x41d2b4]
mov dword [ebp - 0x184], ecx
mov edx, dword [0x41d2b8]
mov dword [ebp - 0x180], edx
mov eax, dword [0x41d2bc]
mov dword [ebp - 0x17c], eax
mov ecx, dword [0x41d270]
mov dword [ebp - 0x178], ecx
mov edx, dword [0x41d274]
mov dword [ebp - 0x174], edx
mov eax, dword [0x41d278]
mov dword [ebp - 0x170], eax
mov ecx, dword [0x41d27c]
mov dword [ebp - 0x16c], ecx
mov edx, dword [0x41d2a0]
mov dword [ebp - 0x168], edx
mov eax, dword [0x41d2a4]
mov dword [ebp - 0x164], eax
mov ecx, dword [0x41d2a8]
mov dword [ebp - 0x160], ecx
mov edx, dword [0x41d2ac]
mov dword [ebp - 0x15c], edx
mov eax, dword [0x41d2c0]
mov dword [ebp - 0x158], eax
mov ecx, dword [0x41d2c4]
mov dword [ebp - 0x154], ecx
mov edx, dword [0x41d2c8]
mov dword [ebp - 0x150], edx
mov eax, dword [0x41d2cc]
mov dword [ebp - 0x14c], eax
mov ecx, dword [0x41d2d0]
mov dword [ebp - 0x148], ecx
mov edx, dword [0x41d2d4]
mov dword [ebp - 0x144], edx
mov eax, dword [0x41d2d8]
mov dword [ebp - 0x140], eax
mov ecx, dword [0x41d2dc]
mov dword [ebp - 0x13c], ecx
mov edx, dword [0x41d260]
mov dword [ebp - 0x138], edx
mov eax, dword [0x41d264]
mov dword [ebp - 0x134], eax
mov ecx, dword [0x41d268]
mov dword [ebp - 0x130], ecx
mov edx, dword [0x41d26c]
mov dword [ebp - 0x12c], edx
mov eax, dword [0x41d240]
mov dword [ebp - 0x128], eax
mov ecx, dword [0x41d244]
mov dword [ebp - 0x124], ecx
mov edx, dword [0x41d248]
mov dword [ebp - 0x120], edx
mov eax, dword [0x41d24c]
mov dword [ebp - 0x11c], eax
mov ecx, dword [0x41d2e0]
mov dword [ebp - 0x118], ecx
mov edx, dword [0x41d2e4]
mov dword [ebp - 0x114], edx
mov eax, dword [0x41d2e8]
mov dword [ebp - 0x110], eax
mov ecx, dword [0x41d2ec]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x1c4], 0
jmp 0x4020ef
mov edx, dword [ebp - 0x1c4]
add edx, 1
mov dword [ebp - 0x1c4], edx
push 0x10
push 0x41d2e0
mov eax, dword [ebp - 0x1c4]
shl eax, 4
lea ecx, [ebp + eax - 0x1b8]
push ecx
call fcn.00403251
add esp, 0xc
test eax, eax
je 0x402181
lea edx, [ebp - 0x1c8]
push edx
push 0
push 0
mov eax, dword [ebp - 0x1c4]
shl eax, 4
lea ecx, [ebp + eax - 0x1b8]
push ecx
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
jne 0x40217c
push 0x104
mov edx, dword [ebp - 0x1c8]
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.00407aa2
add esp, 0xc
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x108]
push ecx
call fcn.004014e0
add esp, 0x10
mov edx, dword [ebp - 0x1c8]
push edx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
nop
jmp 0x4020e0
mov byte [ebp - 0x1b9], 0x41
jmp 0x402198
mov al, byte [ebp - 0x1b9]
add al, 1
mov byte [ebp - 0x1b9], al
movsx ecx, byte [ebp - 0x1b9]
cmp ecx, 0x5a
jg 0x4021f4
mov dl, byte [ebp - 0x1b9]
mov byte [ebp - 0x1c0], dl
mov byte [ebp - 0x1bf], 0x3a
mov byte [ebp - 0x1be], 0x5c
mov byte [ebp - 0x1bd], 0
lea eax, [ebp - 0x1c0]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 3
jne 0x4021f2
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x1c0]
push ecx
call fcn.004014e0
add esp, 0x10
jmp 0x40218a
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402544
mov esp, ebp
pop ebp
ret