Function at 0x418176
Capabilities:
Get disk information

Disassembly:
push 0x4ac
mov eax, 0x431d07
call fcn.00430dfb
mov eax, dword [ebp + 8]
xor ebx, ebx
mov esi, dword [ebp + 0x10]
mov ecx, 0x40e5a0
mov dword [ebp - 0x494], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4a0], esi
mov dword [ebp - 0x498], ebx
mov dword [ebp - 0x49c], ecx
mov edi, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x4ac], edi
mov dword [ebp - 0x4b0], ecx
mov dword [ebp - 0x4a8], ebx
push eax
lea ecx, [ebp - 0x49c]
mov byte [ebp - 4], 2
mov dword [ebp - 0x4a4], ebx
mov dword [ebp - 0x4b4], ebx
call fcn.00418d42
push dword [ebp - 0x498]
call sub.RESUTILS.dll_ClusterIsPathOnSharedVolume
test eax, eax
je 0x418248
mov eax, 0x104
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x4a0], eax
lea eax, [ebp - 0x4a0]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x420]
push eax
push dword [ebp - 0x498]
call sub.RESUTILS.dll_ClusterPrepareSharedVolumeForBackup
test eax, eax
je 0x41823d
push eax
push 0x4052d8
call sub.msvcrt.dll_wprintf
pop ecx
pop ecx
jmp 0x418568
lea ebx, [ebp - 0x218]
jmp 0x4183d2
push ebx
push ebx
push ebx
push dword [ebp - 0x498]
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov esi, eax
lea ecx, [esi*2 + 2]
push ecx
lea ecx, [ebp - 0x4b0]
call fcn.004158f1
mov edi, dword [ebp - 0x4ac]
push esi
push edi
push dword [ebp - 0x498]
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
jne 0x4182a4
push dword [ebp - 0x498]
push dword [ebp - 0x49c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40536c
call sub.msvcrt.dll_printf
add esp, 0x10
lea ebx, [ebp - 0x218]
push 0x104
mov eax, ebx
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
jne 0x4183cc
push edi
push dword [ebp - 0x4b0]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4053a8
call sub.msvcrt.dll_wprintf
add esp, 0x10
lea eax, [ebp - 0x4b8]
push eax
push edi
call fcn.00428f9d
test eax, eax
je 0x418568
push 0x405428
call sub.msvcrt.dll_wprintf
mov dword [esp], 0x405498
call sub.msvcrt.dll_wprintf
pop ecx
lea eax, [ebp - 0x4a8]
push eax
push dword [ebp - 0x494]
call fcn.00417677
mov esi, eax
mov ebx, 0x403aac
test esi, esi
je 0x418347
push esi
call fcn.0042423d
push eax
push esi
push 0x405518
push 0x3a2
push ebx
push 0x402cb8
push 1
call fcn.00424141
add esp, 0x1c
push edi
push dword [ebp - 0x4b0]
push 0x405538
call sub.msvcrt.dll_wprintf
mov eax, dword [ebp - 0x4a8]
lea ecx, [ebp - 0x4b4]
add esp, 0xc
mov esi, dword [eax]
push 0
push ecx
lea ecx, [ebp - 0x4a4]
mov esi, dword [esi + 0x100]
push ecx
push edi
push eax
mov ecx, esi
call dword [0x4392d8]
call esi
mov esi, eax
test esi, esi
je 0x4183ad
push esi
call fcn.0042423d
push eax
push esi
push 0x4055a8
push 0x3a6
push ebx
push 0x402cb8
push 1
call fcn.00424141
add esp, 0x1c
push dword [ebp - 0x4b4]
push dword [ebp - 0x4a4]
push 0x405628
call sub.msvcrt.dll_wprintf
mov ebx, dword [ebp - 0x4a4]
add esp, 0xc
mov esi, dword [ebp - 0x4a0]
and dword [ebp - 0x47c], 0
xor eax, eax
push 7
pop ecx
mov dword [ebp - 0x478], ecx
mov word [ebp - 0x48c], ax
and dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], ecx
mov word [ebp - 0x470], ax
push ebx
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 4
call fcn.0041208a
push esi
lea ecx, [ebp - 0x43c]
mov byte [ebp - 4], 5
call fcn.0041208a
cmp dword [ebp - 0x440], 8
mov ecx, dword [ebp - 0x454]
mov edx, ecx
mov byte [ebp - 4], 6
jae 0x418439
lea edx, [ebp - 0x454]
mov eax, dword [ebp - 0x444]
lea eax, [edx + eax*2]
jae 0x41844a
lea ecx, [ebp - 0x454]
mov edi, dword [sym.imp.msvcrt.dll_towlower]
lea edx, [ebp - 0x490]
push edi
push edx
push eax
push ecx
lea eax, [ebp - 0x494]
push eax
call fcn.0041769c
cmp dword [ebp - 0x424], 8
mov ecx, dword [ebp - 0x438]
mov edx, ecx
jae 0x41847d
lea edx, [ebp - 0x438]
mov eax, dword [ebp - 0x428]
lea eax, [edx + eax*2]
jae 0x41848e
lea ecx, [ebp - 0x438]
push edi
lea edx, [ebp - 0x474]
push edx
push eax
push ecx
lea eax, [ebp - 0x494]
push eax
call fcn.0041769c
cmp dword [ebp - 0x478], 8
mov ecx, dword [ebp - 0x48c]
jae 0x4184b9
lea ecx, [ebp - 0x48c]
cmp dword [ebp - 0x45c], 8
mov eax, dword [ebp - 0x470]
jae 0x4184ce
lea eax, [ebp - 0x470]
push ecx
push eax
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x418529
xor ecx, ecx
cmp ax, word [esi]
je 0x4184f9
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
cmp ax, cx
jne 0x4184e6
mov eax, dword [0x4056c8]
mov dword [edi], eax
mov edx, ebx
mov ax, word [ebx]
add ebx, 2
cmp ax, cx
jne 0x4184fb
sub ebx, edx
sub esi, 2
mov ax, word [esi + 2]
add esi, 2
cmp ax, cx
jne 0x41850b
mov edi, esi
mov ecx, ebx
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor ebx, ebx
lea ecx, [ebp - 0x43c]
xor esi, esi
push ebx
inc esi
push esi
call fcn.00412283
push ebx
push esi
lea ecx, [ebp - 0x458]
call fcn.00412283
push ebx
push esi
lea ecx, [ebp - 0x474]
call fcn.00412283
push ebx
push esi
lea ecx, [ebp - 0x490]
call fcn.00412283
mov edi, dword [ebp - 0x4ac]
lea ecx, [ebp - 0x4a8]
call fcn.00414b1b
test edi, edi
je 0x41857e
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x498], 0
je 0x418593
push dword [ebp - 0x498]
call dword [sym.imp.KERNEL32.dll_LocalFree]
call fcn.00430daa
ret 0xc