Function at 0x4822b4
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 0x482aaa
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [ebp - 4]
call fcn.00404804
cmp eax, 3
jge 0x4822f0
mov bl, 1
jmp 0x482a8f
mov eax, dword [ebp - 4]
cmp byte [eax + 2], 0x3a
jne 0x482318
mov eax, dword [ebp - 4]
call fcn.00404804
cmp eax, 3
jle 0x482318
lea eax, [ebp - 4]
mov ecx, 1
mov edx, 1
call fcn.00404aa4
xor edx, edx
push ebp
push 0x482a83
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 0x482345
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482a8f
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0x3a
jne 0x482357
mov eax, dword [ebp - 4]
cmp byte [eax + 2], 0x5c
je 0x482366
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482a8f
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 0x482397
je 0x48239b
dec eax
sub eax, 3
jae 0x48239f
xor eax, eax
jmp 0x4823a1
mov al, 1
jmp 0x4823a1
xor eax, eax
test al, al
je 0x482a79
jmp 0x4823c7
mov edx, dword [ebp - 4]
mov eax, 0x482ac4
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
mov ecx, 1
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482ac4
call fcn.00404b48
test eax, eax
jg 0x4823ab
mov eax, dword [ebp - 4]
call fcn.00409128
test al, al
jne 0x4823f0
mov eax, dword [ebp - 4]
call fcn.00409138
test al, al
je 0x4823fd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482a8f
mov eax, dword [ebp - 4]
call fcn.00404804
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0x5c
jne 0x482438
mov eax, dword [ebp - 4]
call fcn.00404804
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x482438
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 0x482474
mov eax, dword [ebp - 4]
call fcn.00404804
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 6], 0x2e
jne 0x482474
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, 0x482ad0
call fcn.00404b48
test eax, eax
je 0x4824fc
mov edx, dword [ebp - 0x10]
mov eax, 0x482ad0
call fcn.00404b48
mov edx, dword [ebp - 0x10]
cmp byte [edx + eax - 5], 0x2e
jne 0x482932
mov edx, dword [ebp - 0x10]
mov eax, 0x482ad0
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, 0x482ad0
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 0x482932
mov edx, dword [ebp - 4]
mov eax, 0x482adc
call fcn.00404b48
test eax, eax
je 0x482557
mov edx, dword [ebp - 4]
mov eax, 0x482adc
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x482557
mov edx, dword [ebp - 4]
mov eax, 0x482adc
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, 0x482adc
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482ae8
call fcn.00404b48
test eax, eax
je 0x4825b2
mov edx, dword [ebp - 4]
mov eax, 0x482ae8
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x4825b2
mov edx, dword [ebp - 4]
mov eax, 0x482ae8
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, 0x482ae8
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482af4
call fcn.00404b48
test eax, eax
je 0x48260d
mov edx, dword [ebp - 4]
mov eax, 0x482af4
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x48260d
mov edx, dword [ebp - 4]
mov eax, 0x482af4
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, 0x482af4
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482b00
call fcn.00404b48
test eax, eax
je 0x482668
mov edx, dword [ebp - 4]
mov eax, 0x482b00
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x482668
mov edx, dword [ebp - 4]
mov eax, 0x482b00
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, 0x482b00
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482b0c
call fcn.00404b48
test eax, eax
je 0x4826c3
mov edx, dword [ebp - 4]
mov eax, 0x482b0c
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x4826c3
mov edx, dword [ebp - 4]
mov eax, 0x482b0c
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, 0x482b0c
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482b18
call fcn.00404b48
test eax, eax
je 0x48271e
mov edx, dword [ebp - 4]
mov eax, 0x482b18
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x48271e
mov edx, dword [ebp - 4]
mov eax, 0x482b18
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, 0x482b18
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482b24
call fcn.00404b48
test eax, eax
je 0x482779
mov edx, dword [ebp - 4]
mov eax, 0x482b24
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x482779
mov edx, dword [ebp - 4]
mov eax, 0x482b24
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, 0x482b24
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482b30
call fcn.00404b48
test eax, eax
je 0x4827d4
mov edx, dword [ebp - 4]
mov eax, 0x482b30
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x4827d4
mov edx, dword [ebp - 4]
mov eax, 0x482b30
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, 0x482b30
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482b3c
call fcn.00404b48
test eax, eax
je 0x48282f
mov edx, dword [ebp - 4]
mov eax, 0x482b3c
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x48282f
mov edx, dword [ebp - 4]
mov eax, 0x482b3c
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, 0x482b3c
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482b48
call fcn.00404b48
test eax, eax
je 0x48288a
mov edx, dword [ebp - 4]
mov eax, 0x482b48
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 5], 0x2e
jne 0x48288a
mov edx, dword [ebp - 4]
mov eax, 0x482b48
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, 0x482b48
call fcn.00404b48
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.00404aa4
mov edx, dword [ebp - 4]
mov eax, 0x482b54
call fcn.00404b48
test eax, eax
je 0x482932
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
call fcn.004045dc
mov edx, dword [ebp - 0xc]
mov eax, 0x482b54
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, 0x482b54
call fcn.00404b48
test eax, eax
je 0x482909
mov edx, dword [ebp - 0xc]
mov eax, 0x482b54
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, 0x482b54
call fcn.00404b48
test eax, eax
jne 0x4828da
cmp ebx, 0xffffffff
je 0x482932
mov eax, dword [ebp - 4]
cmp byte [eax + ebx + 3], 0x20
jne 0x482932
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, 0x482b60
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482b00
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482b6c
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482b78
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482adc
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482b84
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482b90
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482b30
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482b48
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482b9c
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482ba8
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482bb4
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482bc0
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482bcc
call fcn.00404b48
test eax, eax
jne 0x482a4d
mov edx, dword [ebp - 4]
mov eax, 0x482bd8
call fcn.00404b48
test eax, eax
je 0x482a51
xor ebx, ebx
jmp 0x482a79
mov eax, dword [ebp - 4]
call fcn.00409128
test al, al
jne 0x482a6d
mov eax, dword [ebp - 4]
call fcn.00409138
test al, al
jne 0x482a6d
xor eax, eax
jmp 0x482a6f
mov al, 1
test al, al
jne 0x482a77
mov bl, 1
jmp 0x482a79
xor ebx, ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482a8f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x482ab1
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00404568
ret