Function at 0x426ff0
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x42c140
push 0x417290
mov eax, dword fs:[0]
push eax
push ecx
push ecx
push ebx
sub esp, 0x288
mov eax, dword [0x42d0b4]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], eax
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
xor esi, esi
mov dword [ebp - 0x294], esi
cmp dword [0x42d544], esi
je 0x42707a
push esi
push 0x2335
call fcn.0040c108
pop ecx
pop ecx
push dword [0x433858]
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
mov dword [0x42d544], esi
push dword [0x433858]
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
cmp dword [0x42d0c8], esi
je 0x427678
cmp dword [0x42d5c8], esi
jne 0x427099
push 0x401eb4
call fcn.004125d9
pop ecx
cmp byte [0x437896], 0
je 0x4270af
mov eax, 0x448110
mov dword [ebp - 0x288], eax
jmp 0x4270e4
mov ecx, 0x401fbc
call fcn.0040cfbc
mov edi, eax
mov dword [ebp - 0x288], edi
test edi, edi
je 0x4270e4
push edi
mov edx, 0x200
mov eax, 0x448110
mov dword [ebp - 0x288], eax
mov ecx, eax
call fcn.00411040
mov byte [0x437896], 1
mov ecx, dword [0x443cb8]
test ecx, ecx
jne 0x4270f3
mov ecx, 0x443ab0
push esi
mov edx, dword [0x443cc0]
call fcn.004136cb
lea ecx, [ebp - 0x29c]
call fcn.00426fa6
mov dword [ebp - 0x298], eax
test eax, eax
je 0x427678
mov edi, eax
mov dword [ebp - 0x280], edi
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x29c]
dec esi
mov dword [ebp - 0x27c], esi
mov ecx, dword [ebp - 0x288]
test ecx, ecx
je 0x4275eb
movzx eax, word [ecx]
test ax, ax
je 0x4275eb
test ax, ax
je 0x427628
cmp ax, 0x24
je 0x4271e7
movzx eax, ax
push eax
push 0x403924
push esi
push edi
call fcn.0041274c
add esp, 0x10
mov edx, edi
lea eax, [edx + 2]
mov dword [ebp - 0x284], eax
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x42717f
sub edx, dword [ebp - 0x284]
sar edx, 1
lea edi, [edi + edx*2]
mov dword [ebp - 0x280], edi
sub esi, edx
mov dword [ebp - 0x27c], esi
call fcn.004068b5
test al, al
je 0x4271dc
mov eax, dword [ebp - 0x288]
movzx eax, word [eax]
mov dword [ebp - 0x284], eax
mov ecx, eax
call fcn.00427ab0
test eax, eax
je 0x4271da
mov eax, dword [ebp - 0x284]
movzx eax, ax
mov dword [ebp - 0x294], eax
jmp 0x4275d4
xor ecx, ecx
mov dword [ebp - 0x294], ecx
jmp 0x4275d4
mov esi, dword [ebp - 0x288]
add esi, 2
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x28c], esi
xor edx, edx
mov edi, edx
mov dword [ebp - 0x284], 0x403b90
movzx eax, word [esi]
push eax
call dword [sym.imp.msvcrt.dll_towupper]
pop ecx
mov ecx, dword [ebp - 0x284]
cmp ax, word [ecx]
je 0x427239
inc edi
imul eax, edi, 6
lea eax, [eax + 0x403b90]
mov dword [ebp - 0x284], eax
xor ecx, ecx
cmp word [eax], cx
jne 0x42720a
jmp 0x42723b
xor ecx, ecx
imul eax, edi, 6
cmp word [eax + 0x403b90], cx
mov edi, dword [ebp - 0x280]
mov esi, dword [ebp - 0x27c]
je 0x42762a
movzx edx, word [eax + 0x403b92]
cmp edx, 8
jne 0x42729d
movzx eax, word [eax + 0x403b94]
push eax
push 0x403924
push esi
push edi
call fcn.0041274c
add esp, 0x10
mov edx, edi
lea eax, [edx + 2]
mov dword [ebp - 0x284], eax
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x427287
sub edx, dword [ebp - 0x284]
jmp 0x4275c1
lea eax, [edx - 1]
cmp eax, 9
ja case.0x4272a9.7
jmp dword [eax*4 + 0x427698]
push esi
push edi
xor edx, edx
inc edx
xor ecx, ecx
call fcn.004096a0
lea edi, [edi + eax*2]
sub esi, eax
jmp 0x4275c8
push esi
push edi
xor edx, edx
inc edx
xor ecx, ecx
call fcn.00405aef
jmp 0x4272bc
mov eax, dword [0x443cb8]
test eax, eax
jne 0x4272e2
mov eax, 0x443ab0
push eax
push 0x402520
push esi
push edi
call fcn.0041274c
add esp, 0x10
mov edx, edi
lea eax, [edx + 2]
mov dword [ebp - 0x284], eax
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x4272ff
sub edx, dword [ebp - 0x284]
jmp 0x4275c1
lea ecx, [ebp - 0x70]
call fcn.0040443c
lea eax, [ebp - 0x70]
push eax
push 0x2350
call fcn.0040b3fc
mov esi, eax
push esi
push 0x402520
push dword [ebp - 0x27c]
push edi
call fcn.0041274c
add esp, 0x18
push esi
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
mov edx, edi
lea esi, [edx + 2]
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x427350
sub edx, esi
mov esi, dword [ebp - 0x27c]
jmp 0x4275c1
cmp word [ebp - 0x294], 0
mov eax, 0x403948
jne 0x42737c
mov eax, 0x403958
push eax
mov edx, esi
mov ecx, edi
call fcn.00411040
mov edx, edi
lea eax, [edx + 2]
mov dword [ebp - 0x284], eax
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x427393
sub edx, dword [ebp - 0x284]
jmp 0x4275c1
push 0x401eb4
mov edx, esi
mov ecx, edi
call fcn.00411040
mov edx, edi
lea eax, [edx + 2]
mov dword [ebp - 0x284], eax
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x4273c4
sub edx, dword [ebp - 0x284]
jmp 0x4275c1
cmp byte [0x443cc9], 0
je 0x4275d4
mov ecx, dword [0x443ce4]
jmp 0x427410
mov eax, ecx
dec ecx
test eax, eax
je 0x4275d4
push 0x2b
pop eax
mov word [edi], ax
add edi, 2
mov dword [ebp - 0x280], edi
dec esi
mov dword [ebp - 0x27c], esi
cmp esi, 1
ja 0x4273ef
jmp 0x4275d4
cmp byte [0x443cc9], 0
je 0x4275d4
mov dword [ebp - 0x290], ecx
mov ecx, dword [0x443cb8]
test ecx, ecx
mov eax, ecx
jne 0x42743e
mov eax, 0x443ab0
mov ax, word [eax]
mov word [ebp - 0x2c], ax
test ecx, ecx
jne 0x42744e
mov ecx, 0x443ab0
mov ax, word [ecx + 2]
mov word [ebp - 0x2a], ax
push 0x5c
pop eax
mov word [ebp - 0x28], ax
xor eax, eax
mov word [ebp - 0x26], ax
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetDriveTypeW]
cmp eax, 4
jne 0x4275d4
xor eax, eax
mov word [ebp - 0x28], ax
mov dword [ebp - 0x2a0], 0x104
and dword [ebp - 4], eax
call fcn.00417797
test al, al
je 0x4274b2
lea eax, [ebp - 0x2a0]
push eax
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.ext_ms_win_cmd_util_l1_1_0.dll_WNetGetConnectionWStub]
mov dword [ebp - 0x290], eax
jmp 0x4274bc
mov dword [ebp - 0x290], 0x78
mov dword [ebp - 4], 0xfffffffe
jmp 0x427504
cmp dword [ebp - 0x290], 0
je 0x42754c
cmp dword [ebp - 0x290], 0x8ca
je 0x4275d4
push 0x403b14
push esi
push edi
call fcn.0041274c
add esp, 0xc
mov edx, edi
lea eax, [edx + 2]
mov dword [ebp - 0x28c], eax
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x427539
sub edx, dword [ebp - 0x28c]
jmp 0x4275c1
lea eax, [ebp - 0x278]
push eax
push 0x403b0c
push esi
push edi
call fcn.0041274c
add esp, 0x10
mov edx, edi
lea eax, [edx + 2]
mov dword [ebp - 0x28c], eax
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x42756f
sub edx, dword [ebp - 0x28c]
jmp 0x4275c1
mov eax, dword [0x443cb8]
test eax, eax
jne 0x427590
mov eax, 0x443ab0
movzx eax, word [eax]
push eax
push 0x403924
push esi
push edi
call fcn.0041274c
add esp, 0x10
mov edx, edi
lea eax, [edx + 2]
mov dword [ebp - 0x28c], eax
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x4275b0
sub edx, dword [ebp - 0x28c]
sar edx, 1
sub esi, edx
lea edi, [edi + edx*2]
mov dword [ebp - 0x27c], esi
mov dword [ebp - 0x280], edi
mov ecx, dword [ebp - 0x288]
add ecx, 2
mov dword [ebp - 0x288], ecx
movzx eax, word [ecx]
jmp 0x42714c
mov eax, dword [0x443cb8]
test eax, eax
jne 0x4275f9
mov eax, 0x443ab0
push eax
push 0x403908
push esi
mov edi, dword [ebp - 0x298]
push edi
call fcn.0041274c
add esp, 0x10
mov ecx, edi
lea esi, [ecx + 2]
xor edx, edx
mov ax, word [ecx]
add ecx, 2
cmp ax, dx
jne 0x427616
sub ecx, esi
sar ecx, 1
lea edi, [edi + ecx*2]
xor ecx, ecx
xor eax, eax
mov word [edi], ax
mov edi, dword [ebp - 0x298]
mov edx, edi
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x42763a
sub edx, esi
sar edx, 1
mov ecx, edi
call fcn.00412616
cmp dword [0x42d544], 0
je 0x427678
push dword [0x433858]
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
and dword [0x42d544], 0
push dword [0x433858]
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.00416fd0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret