Function at 0x4152ef
Capabilities:
Get disk information

Disassembly:
lea eax, [ecx - 1]
cmp eax, 9
ja case.0x4152ba.7
jmp dword [eax*4 + 0x415286]
push 0x4269e0
push 0x409c68
push ebx
push edi
call fcn.004026f3
add esp, 0x10
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x4152da
jmp 0x41546a
push 0x288
push 0x415518
call fcn.00402688
xor esi, esi
mov dword [ebp - 0x28c], esi
cmp dword [0x426124], esi
jne 0x41ef13
cmp dword [0x42601c], esi
je 0x415550
cmp dword [0x42608c], esi
jne 0x415331
push 0x409c60
call fcn.00406992
pop ecx
cmp byte [0x426007], 0
jne 0x41ef43
mov ecx, 0x4099b0
call fcn.00401e96
mov dword [ebp - 0x280], eax
test eax, eax
je 0x415371
push eax
mov edx, 0x200
mov eax, 0x426c00
mov dword [ebp - 0x280], eax
mov ecx, eax
call fcn.00401da3
mov byte [0x426007], 1
push esi
mov edx, 0x104
mov ecx, 0x4269e0
call fcn.00405193
mov edi, 0x427000
mov dword [ebp - 0x27c], edi
xor eax, eax
mov word [0x427000], ax
mov ebx, 0x3ff
mov dword [ebp - 0x278], ebx
mov eax, dword [ebp - 0x280]
test eax, eax
je 0x41f251
cmp word [eax], si
je 0x41f251
movzx eax, word [eax]
test ax, ax
je 0x415534
cmp eax, 0x24
jne 0x41ef53
mov ebx, dword [ebp - 0x280]
add ebx, 2
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x294], ebx
mov edi, esi
mov dword [ebp - 0x288], 0x4154a0
movzx eax, word [ebx]
push eax
call dword [sym.imp.msvcrt.dll_towupper]
pop ecx
mov ecx, dword [ebp - 0x288]
cmp ax, word [ecx]
je 0x415417
inc edi
imul eax, edi, 6
lea eax, [eax + 0x4154a0]
mov dword [ebp - 0x288], eax
cmp word [eax], si
jne 0x4153ec
imul eax, edi, 6
cmp word [eax + 0x4154a0], si
mov edi, dword [ebp - 0x27c]
mov ebx, dword [ebp - 0x278]
je 0x415534
movzx ecx, word [eax + 0x4154a2]
cmp ecx, 8
jne 0x4152ae
movzx eax, word [eax + 0x4154a4]
push eax
push 0x415280
push ebx
push edi
call fcn.004026f3
add esp, 0x10
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x41545f
sub ecx, edx
sar ecx, 1
sub ebx, ecx
lea edi, [edi + ecx*2]
mov dword [ebp - 0x278], ebx
mov dword [ebp - 0x27c], edi
mov eax, dword [ebp - 0x280]
add eax, 2
mov dword [ebp - 0x280], eax
jmp 0x4153b6
xor eax, eax
mov word [edi], ax
mov ecx, 0x427000
call fcn.0041555b
cmp dword [0x426124], 0
jne 0x41f28c
call fcn.004026d0
ret
push esi
push 0x2335
call fcn.0040bd74
pop ecx
pop ecx
push dword [0x42611c]
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_EnterCriticalSection]
mov dword [0x426124], esi
push dword [0x42611c]
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_LeaveCriticalSection]
jmp 0x415312
mov eax, 0x426c00
mov dword [ebp - 0x280], eax
jmp 0x415371
push eax
push 0x415280
push ebx
push edi
call fcn.004026f3
add esp, 0x10
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x41ef68
sub ecx, edx
sar ecx, 1
lea edi, [edi + ecx*2]
mov dword [ebp - 0x27c], edi
sub ebx, ecx
mov dword [ebp - 0x278], ebx
call fcn.00407be4
test al, al
je 0x41efbf
mov eax, dword [ebp - 0x280]
movzx eax, word [eax]
mov dword [ebp - 0x288], eax
mov ecx, eax
call fcn.004222e6
test eax, eax
je 0x41efbf
mov eax, dword [ebp - 0x288]
movzx eax, ax
mov dword [ebp - 0x28c], eax
jmp 0x41547f
mov dword [ebp - 0x28c], esi
jmp 0x41547f
push ebx
push edi
xor edx, edx
inc edx
xor ecx, ecx
call fcn.00407954
jmp 0x41efe4
push ebx
push edi
xor edx, edx
inc edx
xor ecx, ecx
call fcn.0041044b
lea edi, [edi + eax*2]
sub ebx, eax
jmp 0x415473
lea ecx, [ebp - 0x6c]
call fcn.00421cd5
lea eax, [ebp - 0x6c]
push eax
push 0x2350
call fcn.0040e949
mov esi, eax
push esi
push 0x409c68
push ebx
push edi
call fcn.004026f3
add esp, 0x18
push esi
call dword [sym.imp.api_ms_win_core_heap_obsolete_l1_1_0.dll_LocalFree]
mov ecx, edi
lea edx, [ecx + 2]
xor esi, esi
mov ax, word [ecx]
add ecx, 2
cmp ax, si
je 0x41546a
jmp 0x41f024
mov edx, ebx
mov ecx, edi
cmp word [ebp - 0x28c], 0
je 0x41f04a
push 0x41f06c
jmp 0x41f04f
push 0x41f07c
call fcn.00401da3
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x41f059
jmp 0x41546a
push 0x409c60
mov edx, ebx
mov ecx, edi
call fcn.00401da3
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
je 0x41546a
jmp 0x41f097
cmp byte [0x426004], 0
je 0x41547f
mov ecx, dword [0x426094]
jmp 0x41f0de
mov eax, ecx
dec ecx
test eax, eax
je 0x41547f
push 0x2b
pop eax
mov word [edi], ax
add edi, 2
mov dword [ebp - 0x27c], edi
dec ebx
mov dword [ebp - 0x278], ebx
cmp ebx, 1
jle 0x41547f
jmp 0x41f0bd
cmp byte [0x426004], 0
je 0x41547f
mov dword [ebp - 0x284], esi
mov ax, word [0x4269e0]
mov word [ebp - 0x28], ax
mov ax, word [0x4269e2]
mov word [ebp - 0x26], ax
push 0x5c
pop eax
mov word [ebp - 0x24], ax
xor eax, eax
mov word [ebp - 0x22], ax
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_2_1.dll_GetDriveTypeW]
cmp eax, 4
jne 0x41547f
xor eax, eax
mov word [ebp - 0x24], ax
mov dword [ebp - 0x290], 0x104
mov dword [ebp - 4], esi
call fcn.00406c17
test al, al
je 0x41f16c
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.ext_ms_win_cmd_util_l1_1_0.dll_WNetGetConnectionWStub]
mov dword [ebp - 0x284], eax
jmp 0x41f176
mov dword [ebp - 0x284], 0x78
mov dword [ebp - 4], 0xfffffffe
jmp 0x41f1ba
cmp dword [ebp - 0x284], 0
je 0x41f1f8
cmp dword [ebp - 0x284], 0x8ca
je 0x41547f
push 0x41f2b8
push ebx
push edi
call fcn.004026f3
add esp, 0xc
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
je 0x41546a
jmp 0x41f1e7
lea eax, [ebp - 0x274]
push eax
push 0x41c464
push ebx
push edi
call fcn.004026f3
add esp, 0x10
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
je 0x41546a
jmp 0x41f213
movzx eax, word [0x4269e0]
push eax
push 0x415280
push ebx
push edi
call fcn.004026f3
add esp, 0x10
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
je 0x41546a
jmp 0x41f240
push 0x4269e0
push 0x41f2b0
push ebx
push 0x427000
call fcn.004026f3
add esp, 0x10
mov edx, 0x427000
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, si
jne 0x41f271
sub edx, ecx
sar edx, 1
lea edi, [edx*2 + 0x427000]
jmp 0x415534
push dword [0x42611c]
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_EnterCriticalSection]
mov dword [0x426124], esi
push dword [0x42611c]
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_LeaveCriticalSection]
jmp 0x415550