Function at 0x100bd360
Capabilities:
Check if file exists
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100de5dc
mov eax, dword fs:[0]
push eax
sub esp, 0x154
mov eax, dword [0x10145188]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
push 0xc6
push eax
lea ecx, [ebp - 0x156]
push ecx
mov word [ebp - 0x158], ax
call sub.MSVCR100.dll_memset
add esp, 0xc
lea edx, [ebp - 0x158]
push edx
push 0x64
mov ebx, 1
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
cmp word [ebp - 0x158], 0
lea edi, [ebp - 0x158]
je 0x100bd55e
push edi
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x100bd537
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x100bd537
mov eax, edi
lea edx, [eax + 2]
jmp 0x100bd400
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100bd400
sub eax, edx
sar eax, 1
mov esi, eax
xor eax, eax
push 0x7e
push eax
lea ecx, [ebp - 0x8e]
push ecx
mov word [ebp - 0x90], ax
call sub.MSVCR100.dll_memset
add esp, 0xc
cmp esi, 2
jl 0x100bd537
push 2
push edi
lea edx, [ebp - 0x90]
push 0x40
push edx
call dword [sym.imp.MSVCR100.dll_wcsncpy_s]
add esp, 0x10
lea ecx, [ebp - 0x15c]
call dword [0x100ec970]
mov dword [ebp - 4], 0
movzx eax, word [ebp - 0x90]
mov ebx, dword [sym.imp.DuiLib_u.dll_public:_static_wchar_t_const____cdecl_DuiLib::CPaintManagerUI::GetStringById_wchar_t_const__]
push eax
push str.Messagebox_51
call ebx
add esp, 4
push eax
lea ecx, [ebp - 0x15c]
push ecx
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
mov esi, dword [ebp - 0x15c]
add esp, 0xc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0
push eax
push str.Common_3
call ebx
add esp, 4
push str.Common_9
mov dword [ebp - 0x160], eax
call ebx
mov edx, dword [ebp - 0x160]
add esp, 4
push eax
xor ebx, ebx
mov ecx, esi
call fcn.100031f0
mov edx, dword [0x101489d4]
mov eax, dword [edx + 0x48]
add esp, 0xc
cmp dword [eax], 6
jbe 0x100bd516
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
mov esi, dword [sym.imp.Common.dll_int___cdecl_COMMON::WriteLog_int__wchar_t_const__]
push eax
push str.Check_Disk_Err_WIN10___CreateProcess_begin_:_d
push 1
call esi
lea eax, [ebp - 0x90]
add esp, 0xc
push eax
call fcn.100bc5d0
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
call ebx
push eax
push str.Check_Disk_Err_WIN10___CreateProcess_begin_:_d
push 1
call esi
add esp, 0xc
jmp 0x100bd522
lea ecx, [ebp - 0x90]
push ecx
call fcn.100bd250
lea ecx, [ebp - 0x15c]
xor ebx, ebx
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, edi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100bd540
sub eax, edx
sar eax, 1
cmp word [edi + eax*2 + 2], cx
lea edi, [edi + eax*2 + 2]
jne 0x100bd3d4
test ebx, ebx
setne al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100d0962
mov esp, ebp
pop ebp
ret