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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c8
mov eax, dword [0x424200]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x41c250]
mov dword [ebp - 0x1b8], eax
mov ecx, dword [0x41c254]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [0x41c258]
mov dword [ebp - 0x1b0], edx
mov eax, dword [0x41c25c]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [0x41c220]
mov dword [ebp - 0x1a8], ecx
mov edx, dword [0x41c224]
mov dword [ebp - 0x1a4], edx
mov eax, dword [0x41c228]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [0x41c22c]
mov dword [ebp - 0x19c], ecx
mov edx, dword [0x41c260]
mov dword [ebp - 0x198], edx
mov eax, dword [0x41c264]
mov dword [ebp - 0x194], eax
mov ecx, dword [0x41c268]
mov dword [ebp - 0x190], ecx
mov edx, dword [0x41c26c]
mov dword [ebp - 0x18c], edx
mov eax, dword [0x41c280]
mov dword [ebp - 0x188], eax
mov ecx, dword [0x41c284]
mov dword [ebp - 0x184], ecx
mov edx, dword [0x41c288]
mov dword [ebp - 0x180], edx
mov eax, dword [0x41c28c]
mov dword [ebp - 0x17c], eax
mov ecx, dword [0x41c240]
mov dword [ebp - 0x178], ecx
mov edx, dword [0x41c244]
mov dword [ebp - 0x174], edx
mov eax, dword [0x41c248]
mov dword [ebp - 0x170], eax
mov ecx, dword [0x41c24c]
mov dword [ebp - 0x16c], ecx
mov edx, dword [0x41c270]
mov dword [ebp - 0x168], edx
mov eax, dword [0x41c274]
mov dword [ebp - 0x164], eax
mov ecx, dword [0x41c278]
mov dword [ebp - 0x160], ecx
mov edx, dword [0x41c27c]
mov dword [ebp - 0x15c], edx
mov eax, dword [0x41c290]
mov dword [ebp - 0x158], eax
mov ecx, dword [0x41c294]
mov dword [ebp - 0x154], ecx
mov edx, dword [0x41c298]
mov dword [ebp - 0x150], edx
mov eax, dword [0x41c29c]
mov dword [ebp - 0x14c], eax
mov ecx, dword [0x41c2a0]
mov dword [ebp - 0x148], ecx
mov edx, dword [0x41c2a4]
mov dword [ebp - 0x144], edx
mov eax, dword [0x41c2a8]
mov dword [ebp - 0x140], eax
mov ecx, dword [0x41c2ac]
mov dword [ebp - 0x13c], ecx
mov edx, dword [0x41c230]
mov dword [ebp - 0x138], edx
mov eax, dword [0x41c234]
mov dword [ebp - 0x134], eax
mov ecx, dword [0x41c238]
mov dword [ebp - 0x130], ecx
mov edx, dword [0x41c23c]
mov dword [ebp - 0x12c], edx
mov eax, dword [0x41c210]
mov dword [ebp - 0x128], eax
mov ecx, dword [0x41c214]
mov dword [ebp - 0x124], ecx
mov edx, dword [0x41c218]
mov dword [ebp - 0x120], edx
mov eax, dword [0x41c21c]
mov dword [ebp - 0x11c], eax
mov ecx, dword [0x41c2b0]
mov dword [ebp - 0x118], ecx
mov edx, dword [0x41c2b4]
mov dword [ebp - 0x114], edx
mov eax, dword [0x41c2b8]
mov dword [ebp - 0x110], eax
mov ecx, dword [0x41c2bc]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x1c4], 0
jmp 0x401b9f
mov edx, dword [ebp - 0x1c4]
add edx, 1
mov dword [ebp - 0x1c4], edx
push 0x10
push 0x41c2b0
mov eax, dword [ebp - 0x1c4]
shl eax, 4
lea ecx, [ebp + eax - 0x1b8]
push ecx
call fcn.00402f91
add esp, 0xc
test eax, eax
je 0x401c31
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 0x401c2c
push 0x104
mov edx, dword [ebp - 0x1c8]
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.004078e2
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.00401430
add esp, 0x10
mov edx, dword [ebp - 0x1c8]
push edx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
nop
jmp 0x401b90
mov byte [ebp - 0x1b9], 0x41
jmp 0x401c48
mov al, byte [ebp - 0x1b9]
add al, 1
mov byte [ebp - 0x1b9], al
movsx ecx, byte [ebp - 0x1b9]
cmp ecx, 0x5a
jg 0x401ca4
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 0x401ca2
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.00401430
add esp, 0x10
jmp 0x401c3a
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402284
mov esp, ebp
pop ebp
ret