Function at 0x482140
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004049f4
xor eax, eax
push ebp
push 0x482936
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [ebp - 4]
call fcn.00404804
cmp eax, 3
jge 0x48217c
mov bl, 1
jmp 0x48291b
mov eax, dword [ebp - 4]
cmp byte [eax + 2], 0x3a
jne 0x4821a4
mov eax, dword [ebp - 4]
call fcn.00404804
cmp eax, 3
jle 0x4821a4
lea eax, [ebp - 4]
mov ecx, 1
mov edx, 1
call fcn.00404aa4
xor edx, edx
push ebp
push 0x48290f
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov al, byte [eax]
call fcn.00402e80
add al, 0xbd
sub al, 0x18
jb 0x4821d1
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48291b
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0x3a
jne 0x4821e3
mov eax, dword [ebp - 4]
cmp byte [eax + 2], 0x5c
je 0x4821f2
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48291b
lea eax, [ebp - 8]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00404a64
mov eax, dword [ebp - 8]
call fcn.00404a04
push eax
call sub.kernel32.dll_GetDriveTypeA
sub eax, 3
jb 0x482223
je 0x482227
dec eax
sub eax, 3
jae 0x48222b
xor eax, eax
jmp 0x48222d
mov al, 1
jmp 0x48222d
xor eax, eax
test al, al
je 0x482905
jmp 0x482253
mov edx, dword [ebp - 4]
mov eax, 0x482950
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
mov ecx, 1
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482950
call fcn.00404b48
test eax, eax
jg 0x482237
mov eax, dword [ebp - 4]
call fcn.00409128
test al, al
jne 0x48227c
mov eax, dword [ebp - 4]
call fcn.00409138
test al, al
je 0x482289
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48291b
mov eax, dword [ebp - 4]
call fcn.00404804
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0x5c
jne 0x4822c4
mov eax, dword [ebp - 4]
call fcn.00404804
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x4822c4
mov eax, dword [ebp - 4]
call fcn.00404804
mov edx, eax
lea eax, [ebp - 4]
mov ecx, 1
call fcn.00404aa4
mov eax, dword [ebp - 4]
call fcn.00404804
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0x5c
jne 0x482300
mov eax, dword [ebp - 4]
call fcn.00404804
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 6], 0x2e
jne 0x482300
mov eax, dword [ebp - 4]
call fcn.00404804
mov edx, eax
dec edx
lea eax, [ebp - 4]
mov ecx, 2
call fcn.00404aa4
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0040932c
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004092f8
mov edx, dword [ebp - 0x10]
mov eax, 0x48295c
call fcn.00404b48
test eax, eax
je 0x482388
mov edx, dword [ebp - 0x10]
mov eax, 0x48295c
call fcn.00404b48
mov edx, dword [ebp - 0x10]
cmp byte [edx + eax - 5], 0x2e
jne 0x4827be
mov edx, dword [ebp - 0x10]
mov eax, 0x48295c
call fcn.00404b48
push eax
mov eax, dword [ebp - 0x10]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x48295c
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 0x10]
pop ecx
call fcn.00404aa4
lea eax, [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00404850
jmp 0x4827be
mov edx, dword [ebp - 4]
mov eax, 0x482968
call fcn.00404b48
test eax, eax
je 0x4823e3
mov edx, dword [ebp - 4]
mov eax, 0x482968
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x4823e3
mov edx, dword [ebp - 4]
mov eax, 0x482968
call fcn.00404b48
push eax
mov eax, dword [ebp - 4]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 4]
mov eax, 0x482968
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482974
call fcn.00404b48
test eax, eax
je 0x48243e
mov edx, dword [ebp - 4]
mov eax, 0x482974
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x48243e
mov edx, dword [ebp - 4]
mov eax, 0x482974
call fcn.00404b48
push eax
mov eax, dword [ebp - 4]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 4]
mov eax, 0x482974
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482980
call fcn.00404b48
test eax, eax
je 0x482499
mov edx, dword [ebp - 4]
mov eax, 0x482980
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x482499
mov edx, dword [ebp - 4]
mov eax, 0x482980
call fcn.00404b48
push eax
mov eax, dword [ebp - 4]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 4]
mov eax, 0x482980
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x48298c
call fcn.00404b48
test eax, eax
je 0x4824f4
mov edx, dword [ebp - 4]
mov eax, 0x48298c
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x4824f4
mov edx, dword [ebp - 4]
mov eax, 0x48298c
call fcn.00404b48
push eax
mov eax, dword [ebp - 4]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 4]
mov eax, 0x48298c
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482998
call fcn.00404b48
test eax, eax
je 0x48254f
mov edx, dword [ebp - 4]
mov eax, 0x482998
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x48254f
mov edx, dword [ebp - 4]
mov eax, 0x482998
call fcn.00404b48
push eax
mov eax, dword [ebp - 4]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 4]
mov eax, 0x482998
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x4829a4
call fcn.00404b48
test eax, eax
je 0x4825aa
mov edx, dword [ebp - 4]
mov eax, 0x4829a4
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x4825aa
mov edx, dword [ebp - 4]
mov eax, 0x4829a4
call fcn.00404b48
push eax
mov eax, dword [ebp - 4]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 4]
mov eax, 0x4829a4
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x4829b0
call fcn.00404b48
test eax, eax
je 0x482605
mov edx, dword [ebp - 4]
mov eax, 0x4829b0
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x482605
mov edx, dword [ebp - 4]
mov eax, 0x4829b0
call fcn.00404b48
push eax
mov eax, dword [ebp - 4]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 4]
mov eax, 0x4829b0
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x4829bc
call fcn.00404b48
test eax, eax
je 0x482660
mov edx, dword [ebp - 4]
mov eax, 0x4829bc
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x482660
mov edx, dword [ebp - 4]
mov eax, 0x4829bc
call fcn.00404b48
push eax
mov eax, dword [ebp - 4]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 4]
mov eax, 0x4829bc
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x4829c8
call fcn.00404b48
test eax, eax
je 0x4826bb
mov edx, dword [ebp - 4]
mov eax, 0x4829c8
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x4826bb
mov edx, dword [ebp - 4]
mov eax, 0x4829c8
call fcn.00404b48
push eax
mov eax, dword [ebp - 4]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 4]
mov eax, 0x4829c8
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x4829d4
call fcn.00404b48
test eax, eax
je 0x482716
mov edx, dword [ebp - 4]
mov eax, 0x4829d4
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x482716
mov edx, dword [ebp - 4]
mov eax, 0x4829d4
call fcn.00404b48
push eax
mov eax, dword [ebp - 4]
call fcn.00404804
pop edx
sub eax, edx
inc eax
push eax
mov edx, dword [ebp - 4]
mov eax, 0x4829d4
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x4829e0
call fcn.00404b48
test eax, eax
je 0x4827be
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
call fcn.004045dc
mov edx, dword [ebp - 0xc]
mov eax, 0x4829e0
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 0xc]
mov ecx, 1
call fcn.00404aa4
or ebx, 0xffffffff
mov edx, dword [ebp - 0xc]
mov eax, 0x4829e0
call fcn.00404b48
test eax, eax
je 0x482795
mov edx, dword [ebp - 0xc]
mov eax, 0x4829e0
call fcn.00404b48
mov ebx, eax
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, ebx
call fcn.00404aa4
mov edx, dword [ebp - 0xc]
mov eax, 0x4829e0
call fcn.00404b48
test eax, eax
jne 0x482766
cmp ebx, 0xffffffff
je 0x4827be
mov eax, dword [ebp - 4]
cmp byte [eax + ebx + 3], 0x20
jne 0x4827be
mov eax, dword [ebp - 4]
call fcn.00404804
mov ecx, eax
sub ecx, ebx
add ecx, 3
lea edx, [ebx + 4]
lea eax, [ebp - 4]
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x4829ec
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x48298c
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x4829f8
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x482a04
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x482968
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x482a10
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x482a1c
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x4829bc
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x4829d4
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x482a28
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x482a34
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x482a40
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x482a4c
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x482a58
call fcn.00404b48
test eax, eax
jne 0x4828d9
mov edx, dword [ebp - 4]
mov eax, 0x482a64
call fcn.00404b48
test eax, eax
je 0x4828dd
xor ebx, ebx
jmp 0x482905
mov eax, dword [ebp - 4]
call fcn.00409128
test al, al
jne 0x4828f9
mov eax, dword [ebp - 4]
call fcn.00409138
test al, al
jne 0x4828f9
xor eax, eax
jmp 0x4828fb
mov al, 1
test al, al
jne 0x482903
mov bl, 1
jmp 0x482905
xor ebx, ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48291b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48293d
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00404568
ret