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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c8
mov eax, dword [0x422240]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x41a260]
mov dword [ebp - 0x1b8], eax
mov ecx, dword [0x41a264]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [0x41a268]
mov dword [ebp - 0x1b0], edx
mov eax, dword [0x41a26c]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [0x41a230]
mov dword [ebp - 0x1a8], ecx
mov edx, dword [0x41a234]
mov dword [ebp - 0x1a4], edx
mov eax, dword [0x41a238]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [0x41a23c]
mov dword [ebp - 0x19c], ecx
mov edx, dword [0x41a270]
mov dword [ebp - 0x198], edx
mov eax, dword [0x41a274]
mov dword [ebp - 0x194], eax
mov ecx, dword [0x41a278]
mov dword [ebp - 0x190], ecx
mov edx, dword [0x41a27c]
mov dword [ebp - 0x18c], edx
mov eax, dword [0x41a290]
mov dword [ebp - 0x188], eax
mov ecx, dword [0x41a294]
mov dword [ebp - 0x184], ecx
mov edx, dword [0x41a298]
mov dword [ebp - 0x180], edx
mov eax, dword [0x41a29c]
mov dword [ebp - 0x17c], eax
mov ecx, dword [0x41a250]
mov dword [ebp - 0x178], ecx
mov edx, dword [0x41a254]
mov dword [ebp - 0x174], edx
mov eax, dword [0x41a258]
mov dword [ebp - 0x170], eax
mov ecx, dword [0x41a25c]
mov dword [ebp - 0x16c], ecx
mov edx, dword [0x41a280]
mov dword [ebp - 0x168], edx
mov eax, dword [0x41a284]
mov dword [ebp - 0x164], eax
mov ecx, dword [0x41a288]
mov dword [ebp - 0x160], ecx
mov edx, dword [0x41a28c]
mov dword [ebp - 0x15c], edx
mov eax, dword [0x41a2a0]
mov dword [ebp - 0x158], eax
mov ecx, dword [0x41a2a4]
mov dword [ebp - 0x154], ecx
mov edx, dword [0x41a2a8]
mov dword [ebp - 0x150], edx
mov eax, dword [0x41a2ac]
mov dword [ebp - 0x14c], eax
mov ecx, dword [0x41a2b0]
mov dword [ebp - 0x148], ecx
mov edx, dword [0x41a2b4]
mov dword [ebp - 0x144], edx
mov eax, dword [0x41a2b8]
mov dword [ebp - 0x140], eax
mov ecx, dword [0x41a2bc]
mov dword [ebp - 0x13c], ecx
mov edx, dword [0x41a240]
mov dword [ebp - 0x138], edx
mov eax, dword [0x41a244]
mov dword [ebp - 0x134], eax
mov ecx, dword [0x41a248]
mov dword [ebp - 0x130], ecx
mov edx, dword [0x41a24c]
mov dword [ebp - 0x12c], edx
mov eax, dword [0x41a220]
mov dword [ebp - 0x128], eax
mov ecx, dword [0x41a224]
mov dword [ebp - 0x124], ecx
mov edx, dword [0x41a228]
mov dword [ebp - 0x120], edx
mov eax, dword [0x41a22c]
mov dword [ebp - 0x11c], eax
mov ecx, dword [0x41a2c0]
mov dword [ebp - 0x118], ecx
mov edx, dword [0x41a2c4]
mov dword [ebp - 0x114], edx
mov eax, dword [0x41a2c8]
mov dword [ebp - 0x110], eax
mov ecx, dword [0x41a2cc]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x1c4], 0
jmp 0x4019ff
mov edx, dword [ebp - 0x1c4]
add edx, 1
mov dword [ebp - 0x1c4], edx
push 0x10
push 0x41a2c0
mov eax, dword [ebp - 0x1c4]
shl eax, 4
lea ecx, [ebp + eax - 0x1b8]
push ecx
call fcn.00403131
add esp, 0xc
test eax, eax
je 0x401a91
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 0x401a8c
push 0x104
mov edx, dword [ebp - 0x1c8]
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.00407842
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.004013c0
add esp, 0x10
mov edx, dword [ebp - 0x1c8]
push edx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
nop
jmp 0x4019f0
mov byte [ebp - 0x1b9], 0x41
jmp 0x401aa8
mov al, byte [ebp - 0x1b9]
add al, 1
mov byte [ebp - 0x1b9], al
movsx ecx, byte [ebp - 0x1b9]
cmp ecx, 0x5a
jg 0x401b04
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 0x401b02
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.004013c0
add esp, 0x10
jmp 0x401a9a
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402424
mov esp, ebp
pop ebp
ret