Function at 0x414a72
Capabilities:
Get disk information
Move file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x414e3b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1a58
call fcn.00413bd0
push ebx
mov ebx, dword [esp + 0x40]
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push edi
mov edi, dword [esp + 0x10]
xor esi, esi
lea ebx, [ebx]
cmp esi, 0x1c42d
jge 0x41488a
call ebp
cmp esi, 0x1ea07ee5
jle 0x4148a2
cmp edi, 0xad25a2
je 0x4148a2
cmp ebx, 0x8c68430
jne 0x4148ab
inc esi
cmp esi, 0x8c794ade
jb 0x414880
cmp dword [0x7dc744], 0x12
jne 0x4148ef
push 0
call fcn.004082ab
add esp, 4
push 0
call fcn.0041408e
add esp, 4
lea eax, [esp + 0x80]
push eax
call fcn.00406060
push 0
mov dword [esp + 0x1a78], 0
call fcn.0040848c
add esp, 4
call fcn.004084ae
mov eax, 0x38d6
add dword [0x7dc744], eax
mov ecx, dword [0x7dc744]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, dword [sym.imp.KERNEL32.dll_EnumCalendarInfoA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov edi, dword [sym.imp.KERNEL32.dll_EnumDateFormatsW]
mov ebp, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [0x7d97a4], eax
mov dword [esp + 0x10], 0x963510
mov edi, edi
cmp dword [0x7dc744], 3
jne 0x414941
push 0
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
cmp dword [0x7dc744], 0xbc5
jne 0x414a59
push 0
push 0
push 0
push 0
call esi
push 0
push 0
push 0
push 0
call esi
push 0
push 0
push 0
push 0
call ebx
push 0
lea edx, [esp + 0xa6c]
push edx
call dword [sym.imp.KERNEL32.dll_GetConsoleTitleW]
push 0x404098
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push 0
push 0
call edi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleMode]
push 0
push 0
push 0
call edi
lea eax, [esp + 0x68]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCommState]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalUnfix]
push 0
call dword [sym.imp.KERNEL32.dll_SetComputerNameA]
xor eax, eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x44]
push edx
push eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
call dword [sym.imp.KERNEL32.dll_BuildCommDCBAndTimeoutsA]
push 0x404130
call ebp
push 0x404168
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateJobSet]
push 0x4041f0
call ebp
push 0x404234
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea eax, [esp + 0x1c]
push eax
push 0
push 0x404240
push 0
call dword [sym.imp.KERNEL32.dll_GetStringTypeW]
xor eax, eax
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
call dword [sym.imp.KERNEL32.dll_InterlockedPopEntrySList]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesA]
dec dword [esp + 0x10]
jne 0x414930
mov eax, dword [0x7dc744]
xor ebp, ebp
xor esi, esi
cmp eax, ebp
jbe 0x414a9d
mov edi, dword [sym.imp.KERNEL32.dll_MoveFileWithProgressA]
call fcn.00414590
cmp dword [0x7dc744], 0x29
jne 0x414a93
push ebp
push ebp
push ebp
push 0x404270
push 0x4042cc
call edi
mov eax, dword [0x7dc744]
inc esi
cmp esi, eax
jb 0x414a76
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, 0x19c
jne 0x414aff
push ebp
lea edx, [esp + 0x14]
push edx
push ebp
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
lea eax, [esp + 0x20]
push eax
call ebx
push 0x4042e0
call dword [sym.imp.KERNEL32.dll_FindAtomW]
lea ecx, [esp + 0x1c]
push ecx
push ebp
push 0x404300
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_GetStringTypeExA]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
push 0x404368
push ebp
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_SetCalendarInfoW]
push ebp
push 0x404430
call dword [sym.imp.KERNEL32.dll_BeginUpdateResourceW]
mov esi, dword [sym.imp.KERNEL32.dll_SetFileShortNameA]
mov edi, 0x250a9
lea ebx, [ebx]
cmp dword [0x7dc744], 0x92
jne 0x414b24
push 0x404464
push ebp
call esi
dec edi
jne 0x414b10
mov byte [0x43c640], 0
call fcn.004140a0
call fcn.00414810
call fcn.00414570
call fcn.00414640
cmp dword [0x7dc744], 0xd5c
mov byte [0x43c641], 0x73
jne 0x414bfa
lea edx, [esp + 0x128]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea eax, [esp + 0x20]
push eax
call ebx
push ebp
lea ecx, [esp + 0x26c]
push ecx
push 0x404470
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
push ebp
lea edx, [esp + 0xa6c]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameA]
push 0x404544
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push ebp
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_EraseTape]
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_SetThreadIdealProcessor]
push ebp
call dword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
push 0x404580
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push ebp
lea eax, [esp + 0x126c]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_VerLanguageNameW]
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesA]
push ebp
call dword [sym.imp.KERNEL32.dll_ReleaseActCtx]
push ebp
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
call dword [sym.imp.KERNEL32.dll_InterlockedPopEntrySList]
call fcn.00414580
mov ecx, dword [esp + 0x1a6c]
pop edi
xor eax, eax
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret