Function at 0x4110b0
Capabilities:
Get disk information
Query environment variable
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48c
mov eax, dword [0x42c6a0]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x460], ecx
push 0
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.004011d0
push 0
push 0xc
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0xb
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 1
push 0x80
mov ecx, 0x42d960
call fcn.004027c0
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [ebp - 0x14], eax
push 1
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.004028e0
push 0
push 0x32
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 1
push 0x80
mov ecx, 0x42d960
call fcn.004027c0
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [ebp - 0x224], eax
push 0
mov ecx, dword [ebp - 0x224]
push ecx
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.004028e0
push 2
push 0
push 0
push 0x2001
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov edx, dword [ebp - 0x460]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea ecx, [ebp - 0x434]
call fcn.00410cc0
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x464], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xab
mov ecx, dword [ebp - 0x464]
push ecx
mov edx, dword [ebp - 0x464]
mov eax, dword [edx]
mov ecx, dword [eax + 0x14]
call ecx
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401150
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x468], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xac
mov edx, dword [ebp - 0x468]
push edx
mov eax, dword [ebp - 0x468]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
call edx
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
push 0x3f7
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x46c], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xad
mov eax, dword [ebp - 0x46c]
push eax
mov ecx, dword [ebp - 0x46c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
push 0x3f8
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x470], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xae
mov ecx, dword [ebp - 0x470]
push ecx
mov edx, dword [ebp - 0x470]
mov eax, dword [edx]
mov ecx, dword [eax + 0x14]
call ecx
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
push 0x3fb
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x474], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xaf
mov edx, dword [ebp - 0x474]
push edx
mov eax, dword [ebp - 0x474]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
call edx
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
push 0x3ef
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x478], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xb0
mov eax, dword [ebp - 0x478]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
push 0x3f1
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x47c], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xb1
mov ecx, dword [ebp - 0x47c]
push ecx
mov edx, dword [ebp - 0x47c]
mov eax, dword [edx]
mov ecx, dword [eax + 0x14]
call ecx
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
push 0x3ee
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x480], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xb2
mov edx, dword [ebp - 0x480]
push edx
mov eax, dword [ebp - 0x480]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
call edx
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
push 0x3f2
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x484], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xb3
mov eax, dword [ebp - 0x484]
push eax
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
push 1
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x488], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xb4
mov ecx, dword [ebp - 0x488]
push ecx
mov edx, dword [ebp - 0x488]
mov eax, dword [edx]
mov ecx, dword [eax + 0x14]
call ecx
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
push 2
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
mov ecx, dword [ebp - 0x460]
add ecx, 0x24
call fcn.00409d40
mov dword [ebp - 0x48c], eax
lea ecx, [ebp - 0x434]
call fcn.00409e40
push eax
push 0xc6
mov edx, dword [ebp - 0x48c]
push edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
call edx
lea ecx, [ebp - 0x434]
call fcn.00409d40
push eax
push 0x401
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
push 0x3f0
lea eax, [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00402880
mov ecx, eax
call fcn.00409d40
push eax
lea ecx, [ebp - 4]
call fcn.00412c60
mov ecx, dword [0x426518]
mov dword [ebp - 0x10], ecx
mov edx, dword [0x42651c]
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x438], 0x41
jmp 0x4115a5
mov eax, dword [ebp - 0x438]
add eax, 1
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 0x5a
jg 0x4115e0
mov cx, word [ebp - 0x438]
mov word [ebp - 0x10], cx
lea edx, [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 1
jne 0x4115de
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x10]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 4]
call fcn.00412c80
jmp 0x411596
mov ecx, dword [ebp - 0x460]
add ecx, 0x30
call fcn.00409370
test eax, eax
je 0x411613
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x460]
add ecx, 0x30
call fcn.00409d40
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 4]
call fcn.00412c80
lea ecx, [ebp - 4]
call fcn.00412bc0
sub eax, 1
push eax
lea ecx, [ebp - 4]
call fcn.00412c00
mov ecx, dword [ebp - 0x460]
add ecx, 0x2c
call fcn.00409370
test eax, eax
je 0x41170b
mov ecx, dword [ebp - 0x460]
add ecx, 0x2c
call fcn.00409d40
push eax
push 0x3ed
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
mov ecx, dword [ebp - 0x460]
add ecx, 0x2c
call fcn.00409d40
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x4116d3
push 1
push 0x3f8
lea ecx, [ebp - 0x444]
push ecx
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00402880
mov ecx, eax
call fcn.00409d40
push eax
lea ecx, [ebp - 0x440]
call fcn.004024f0
mov ecx, eax
call fcn.00412d20
push 0
push 0x401
lea edx, [ebp - 0x448]
push edx
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00402880
mov ecx, eax
call fcn.0040a580
jmp 0x411709
push 1
push 0x3f7
lea eax, [ebp - 0x450]
push eax
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00402880
mov ecx, eax
call fcn.00409d40
push eax
lea ecx, [ebp - 0x44c]
call fcn.004024f0
mov ecx, eax
call fcn.00412d20
jmp 0x411741
push 1
push 0x3f7
lea ecx, [ebp - 0x458]
push ecx
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00402880
mov ecx, eax
call fcn.00409d40
push eax
lea ecx, [ebp - 0x454]
call fcn.004024f0
mov ecx, eax
call fcn.00412d20
mov ecx, dword [ebp - 0x460]
add ecx, 0x30
call fcn.00409370
test eax, eax
je 0x411775
mov ecx, dword [ebp - 0x460]
add ecx, 0x30
call fcn.00409d40
push eax
push 0x3f0
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00401170
lea ecx, [ebp - 4]
call fcn.00402810
xor edx, edx
mov word [ebp - 0x220], dx
push 0x206
push 0
lea eax, [ebp - 0x21e]
push eax
call fcn.00417120
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x220]
push ecx
push 0x426520
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
xor edx, edx
mov word [ebp - 0x430], dx
push 0x206
push 0
lea eax, [ebp - 0x42e]
push eax
call fcn.00417120
add esp, 0xc
lea ecx, [ebp - 0x220]
push ecx
push 0x104
lea edx, [ebp - 0x430]
push edx
call fcn.004170a0
add esp, 0xc
push 0x426548
lea eax, [ebp - 0x430]
push eax
call fcn.004027a0
add esp, 8
lea ecx, [ebp - 0x430]
push ecx
push 0
push 0x42656c
push 0x426580
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push eax
push 0x3fb
mov ecx, dword [ebp - 0x460]
add ecx, 4
call fcn.00402830
mov dword [ebp - 0x45c], 0
lea ecx, [ebp - 0x434]
call fcn.00401130
mov eax, dword [ebp - 0x45c]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0041710f
mov esp, ebp
pop ebp
ret 0xc