Function at 0x100232d
Capabilities:
Get disk information

Disassembly:
mov eax, 0x1006044
call fcn.01005c58
sub esp, 0x24c
mov eax, dword [0x100710c]
push ebx
push esi
push edi
mov ebx, ecx
xor edi, edi
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x238], edi
call fcn.01005904
push 0x3f3
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], edi
call sub.MFC42u.DLL_CString::LoadStringW
push dword [ebp - 0x240]
mov ecx, ebx
push 0xbba
call sub.MFC42u.DLL_CWnd::SetDlgItemTextW
lea ecx, [ebx + 0xac]
push 0x3f4
mov dword [ebx + 0xb4], edi
call sub.MFC42u.DLL_CString::LoadStringW
push edi
push edi
push 0x402
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
call fcn.0100424d
mov eax, dword [ebx + 0xb0]
lea esi, [ebx + 0xa0]
push esi
push eax
call fcn.01002f65
cmp eax, edi
je 0x1002aeb
mov esi, dword [esi]
cmp esi, edi
je 0x1002aeb
mov eax, dword [esi + 8]
mov dword [ebp - 0x230], eax
xor eax, eax
inc eax
mov dword [ebp - 0x244], eax
mov esi, dword [esi + 4]
cmp esi, eax
jbe 0x10023fb
push 0x32
dec esi
pop eax
xor edx, edx
div esi
mov dword [ebp - 0x224], eax
jmp 0x1002405
mov dword [ebp - 0x224], 0x64
mov dword [ebx + 0xb4], edi
mov dword [ebp - 0x228], 2
mov eax, dword [ebx + 0xa0]
mov esi, dword [eax]
cmp esi, edi
mov dword [ebp - 0x220], esi
je 0x10024f0
jmp 0x1002433
mov esi, dword [ebp - 0x220]
mov eax, dword [ebp - 0x224]
add dword [ebx + 0xb4], eax
lea eax, [esi + 8]
push eax
lea eax, [ebx + 0xac]
push 0x3ff
push eax
call sub.MFC42u.DLL_CString::Format_1
add esp, 0xc
push edi
push edi
push 0x402
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [esi + 0xaac], edi
jne 0x10024e0
lea eax, [esi + 0x88]
push eax
mov dword [ebp - 0x234], eax
call dword [sym.imp.msvcrt.dll_wcslen]
shl eax, 1
cmp eax, 0x16
pop ecx
jbe 0x10024e0
mov esi, dword [ebp - 0x234]
push 0xb
pop ecx
mov edi, 0x100166c
xor eax, eax
repe cmpsw word [esi], word es:[edi]
jne 0x10024d8
mov eax, dword [ebp - 0x220]
lea esi, [eax + 0x88]
push esi
lea edi, [eax + 8]
push edi
call fcn.010047f2
test eax, eax
mov ecx, dword [ebp - 0x220]
mov dword [ecx + 0xaac], eax
jne 0x10024d8
push edi
push esi
call fcn.010047f2
mov ecx, dword [ebp - 0x220]
mov dword [ecx + 0xaac], eax
mov esi, dword [ebp - 0x220]
xor edi, edi
mov esi, dword [esi]
cmp esi, edi
mov dword [ebp - 0x220], esi
jne 0x100242d
dec dword [ebp - 0x228]
jne 0x1002415
mov eax, dword [ebx + 0xa0]
mov esi, dword [eax]
call fcn.01004f5e
jmp 0x1002980
lea eax, [esi + 0x88]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
lea eax, [esi + 0x88]
ja 0x1002529
lea eax, [esi + 8]
mov dword [ebp - 0x220], eax
lea eax, [esi + 8]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
mov dword [ebp - 0x22c], eax
lea eax, [esi + 8]
push eax
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
mov eax, dword [ebp - 0x22c]
add eax, eax
mov word [ebp - 0x21a], 0x5c
mov word [ebp + eax - 0x21c], 0x5c
mov word [ebp + eax - 0x21a], di
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 1
mov dword [ebp - 0x22c], eax
jne 0x100263c
lea ecx, [ebp - 0x258]
call fcn.01005904
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 4
call fcn.01005904
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 5
call fcn.01005904
push 0x44d
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 6
call sub.MFC42u.DLL_CString::LoadStringW
push 0x451
lea ecx, [ebp - 0x250]
call sub.MFC42u.DLL_CString::LoadStringW
lea eax, [esi + 8]
push eax
push dword [ebp - 0x250]
lea eax, [ebp - 0x254]
push eax
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
push dword [ebp - 0x254]
push 1
call fcn.01004de9
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x238], 1
mov byte [ebp - 4], 5
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 4
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0
call sub.MFC42u.DLL_CString::CString
cmp dword [ebp - 0x22c], 3
jne 0x100297e
cmp dword [esi + 0xaac], edi
jne 0x100274c
push dword [ebp - 0x220]
lea eax, [ebx + 0xac]
push 0x3fd
push eax
mov dword [ebx + 0xb4], edi
call sub.MFC42u.DLL_CString::Format_1
add esp, 0xc
push edi
push edi
push 0x402
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [esi + 0x88]
push eax
lea eax, [esi + 8]
push eax
call fcn.010047f2
cmp eax, edi
jne 0x100274c
lea ecx, [ebp - 0x23c]
call fcn.01005904
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 7
call fcn.01005904
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 8
call fcn.01005904
push 0x44d
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 9
call sub.MFC42u.DLL_CString::LoadStringW
push 0x450
lea ecx, [ebp - 0x24c]
call sub.MFC42u.DLL_CString::LoadStringW
lea eax, [esi + 8]
push eax
lea eax, [esi + 0x88]
push eax
push dword [ebp - 0x24c]
lea eax, [ebp - 0x248]
push eax
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
push dword [ebp - 0x248]
push 1
call fcn.01004de9
mov esi, dword [esi]
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x238], 1
mov byte [ebp - 4], 8
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 7
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x23c]
jmp 0x1002901
push dword [ebp - 0x220]
lea eax, [ebx + 0xac]
push 0x408
push eax
mov dword [ebx + 0xb4], edi
call sub.MFC42u.DLL_CString::Format_1
add esp, 0xc
push edi
push edi
push 0x402
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [ebp - 0x244]
push eax
push esi
call fcn.01004f9c
cmp eax, edi
je 0x100279b
push esi
call fcn.010050c5
cmp eax, edi
jne 0x1002912
push esi
call fcn.01005339
test eax, eax
je 0x1002912
push dword [ebp - 0x220]
lea eax, [ebx + 0xac]
push 0x407
push eax
mov dword [ebp - 0x244], edi
mov dword [ebx + 0xb4], edi
call sub.MFC42u.DLL_CString::Format_1
add esp, 0xc
push edi
push edi
push 0x402
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 0x22c], 1
jmp 0x1002848
mov eax, dword [0x1007208]
push 0x64
pop ecx
cmp eax, ecx
jl 0x1002837
cmp dword [ebp - 0x22c], edi
je 0x1002840
push dword [ebp - 0x220]
lea eax, [ebx + 0xac]
push 0x409
push eax
mov dword [ebx + 0xb4], ecx
call sub.MFC42u.DLL_CString::Format_1
add esp, 0xc
push edi
push edi
push 0x402
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 0x22c], edi
jmp 0x1002840
push eax
lea ecx, [ebx + 0x60]
call fcn.01002046
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x1007200], edi
jne 0x10027eb
cmp dword [0x1007204], edi
jne 0x100290c
lea ecx, [ebp - 0x234]
call fcn.01005904
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0xa
call fcn.01005904
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0xb
call fcn.01005904
push 0x44d
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0xc
call sub.MFC42u.DLL_CString::LoadStringW
push 0x44f
lea ecx, [ebp - 0x228]
call sub.MFC42u.DLL_CString::LoadStringW
push dword [ebp - 0x220]
lea eax, [ebp - 0x224]
push dword [ebp - 0x228]
push eax
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
push dword [ebp - 0x224]
push 1
call fcn.01004de9
mov esi, dword [esi]
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x238], 1
mov byte [ebp - 4], 0xb
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0xa
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0
call sub.MFC42u.DLL_CString::CString
jmp 0x1002980
push esi
call fcn.010051ee
cmp dword [ebp - 0x244], edi
jne 0x100297e
push dword [ebp - 0x220]
lea eax, [ebx + 0xac]
push 0x3fe
push eax
mov dword [ebx + 0xb4], edi
call sub.MFC42u.DLL_CString::Format_1
add esp, 0xc
push edi
push edi
push 0x402
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [esi + 0x888]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
jbe 0x100297e
lea eax, [esi + 0x8a8]
push eax
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
test eax, eax
jne 0x100297e
mov dword [ebp - 0x238], 1
mov esi, dword [esi]
cmp esi, edi
jne 0x100250e
call fcn.010050d0
mov esi, dword [ebp - 0x230]
cmp esi, edi
je 0x1002ad4
jmp 0x10029a3
mov esi, dword [ebp - 0x230]
lea eax, [esi + 0x888]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
lea eax, [esi + 0x888]
ja 0x10029c1
lea eax, [esi + 0x808]
push eax
lea eax, [ebx + 0xac]
push 0x3fd
push eax
mov dword [ebx + 0xb4], edi
call sub.MFC42u.DLL_CString::Format_1
add esp, 0xc
push edi
push edi
push 0x402
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [esi + 0x808]
push eax
lea eax, [esi + 8]
push eax
call fcn.010049ea
cmp eax, edi
je 0x1002a1b
lea eax, [esi + 0x888]
push eax
lea eax, [esi + 0x808]
push eax
call fcn.010047f2
cmp eax, edi
jne 0x1002ac4
lea ecx, [ebp - 0x22c]
call fcn.01005904
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0xd
call fcn.01005904
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0xe
call fcn.01005904
push 0x44d
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0xf
call sub.MFC42u.DLL_CString::LoadStringW
push 0x450
lea ecx, [ebp - 0x234]
call sub.MFC42u.DLL_CString::LoadStringW
lea eax, [esi + 0x808]
push eax
lea eax, [esi + 0x888]
push eax
lea eax, [ebp - 0x224]
push 0x450
push eax
call sub.MFC42u.DLL_CString::Format_1
add esp, 0x10
push dword [ebp - 0x224]
push 1
call fcn.01004de9
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0xe
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0xd
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0
call sub.MFC42u.DLL_CString::CString
mov esi, dword [esi]
cmp esi, edi
mov dword [ebp - 0x230], esi
jne 0x100299d
call fcn.010042af
xor eax, eax
cmp dword [ebp - 0x238], edi
sete al
mov edi, eax
jmp 0x1002b9c
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x23c]
mov esi, eax
call fcn.01005904
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 1
call fcn.01005904
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.01005904
push 0x44d
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 3
call sub.MFC42u.DLL_CString::LoadStringW
push 0x452
lea ecx, [ebp - 0x230]
call sub.MFC42u.DLL_CString::LoadStringW
mov ebx, dword [ebx + 0xb0]
push esi
push ebx
push dword [ebp - 0x230]
lea eax, [ebp - 0x228]
push eax
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
push dword [ebp - 0x228]
push 1
call fcn.01004de9
call fcn.010042af
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 1
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0
call sub.MFC42u.DLL_CString::CString
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x240]
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.01005413
leave
ret