Function at 0x10004ce0
Capabilities:
Get disk size
Identify system language via api
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x10]
push edx
mov ecx, dword [ebp + 8]
call fcn.10014a30
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
jne 0x10004d10
fld qword [0x100c5520]
jmp 0x10004f1d
cmp dword [0x10066b44], 0x367492a9
jne 0x10004f02
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextStreamW]
call dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_UnregisterWaitEx]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetProcessMitigationPolicy]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalLock]
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
push 0
call dword [sym.imp.KERNEL32.dll_FindVolumeClose]
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleHistoryInfo]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ReadThreadProfilingData]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
push 0
mov ecx, dword [ebp - 4]
push ecx
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FillConsoleOutputAttribute]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push 0
call dword [sym.imp.KERNEL32.dll_ApplicationRecoveryFinished]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeMountPointW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Wow64SetThreadContext]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ReclaimVirtualMemory]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextStreamW]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesLengthW]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetThreadDescription]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesEx]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCompressedFileSizeW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHandleCount]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenPrivateNamespaceW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AllocateUserPhysicalPagesNuma]
call dword [sym.imp.KERNEL32.dll_UnregisterApplicationRestart]
push 0
call dword [sym.imp.KERNEL32.dll_FindNextChangeNotification]
push 0
call dword [sym.imp.KERNEL32.dll_CloseThreadpoolWork]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_TransmitCommChar]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WaitCommEvent]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessorSystemCycleTime]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 0
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrencyFormatW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnterSynchronizationBarrier]
push 0
call dword [sym.imp.KERNEL32.dll_GetMemoryErrorHandlingCapabilities]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
push 0
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
call fcn.100640c0
divsd xmm0, qword [0x100c5518]
movsd qword [ebp - 0x18], xmm0
fld qword [ebp - 0x18]
mov esp, ebp
pop ebp
ret