Function at 0x482420
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x510d6c
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0xf774
call fcn.004e1f60
mov eax, dword [0x55e2f4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xf724], ecx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xf740], ecx
test eax, eax
je 0x482475
mov dword [0x5761e8], 1
jmp 0x482482
cmp dword [0x5761e8], 0
je 0x48316a
xor edx, edx
mov dword [ebp - 0xf748], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xf734], eax
mov dword [ebp - 0xf74c], eax
mov eax, dword [0x5801a8]
mov dword [ebp - 0xf738], edx
mov dword [ebp - 0xf728], edx
xor dl, dl
mov dword [ebp - 0xf744], eax
mov eax, dword [ecx]
mov byte [ebp - 0xf719], dl
mov byte [ebp - 0xf71a], dl
xor edx, edx
push 0x3ef
mov dword [ebp - 0xf720], 0
mov dword [ebp - 0xf72c], edx
mov dword [ebp - 0xf73c], edx
call dword [eax + 0x8c]
mov ecx, dword [0x56aac8]
mov ebx, eax
lea eax, [ebp - 0x1ce4]
mov dword [ebp - 0xf750], ebx
push eax
mov dword [ebp - 4], 0
call fcn.004af0c0
mov ecx, 0x17
mov esi, eax
mov edi, 0x56aad0
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, dword [0x56aad6]
mov dword [ebp - 0xf730], ecx
mov dword [ebp - 0xf720], ecx
test ecx, ecx
je 0x4825a1
mov ecx, dword [0x56aac8]
lea eax, [ebp - 0x2540]
push eax
call fcn.004b0180
mov edi, dword [ebp - 0xf724]
push 1
push dword [edi + 0x10]
call fcn.004ce0d0
add esp, 8
mov dword [ebp - 0xf738], eax
mov dword [ebp - 0xf728], eax
test eax, eax
je 0x482576
xor ecx, ecx
cmp dword [ebp + 8], 0xfffffffe
sete cl
mov dword [ebp - 0xf72c], ecx
mov ecx, dword [ebp - 0xf730]
jmp 0x4825a7
call fcn.00428e80
mov edx, dword [ebp + 8]
mov cl, al
mov byte [ebp - 0xf719], cl
xor eax, eax
movsx ecx, cl
add edx, 0x41
cmp edx, ecx
mov ecx, dword [ebp - 0xf730]
sete al
mov dword [ebp - 0xf72c], eax
jmp 0x4825a7
mov edi, dword [ebp - 0xf724]
mov eax, dword [0x5761ec]
test eax, eax
jne 0x4825b4
test ecx, ecx
jmp 0x4825b6
cmp eax, ecx
je 0x4825c5
mov dword [0x5761ec], ecx
mov esi, 1
jmp 0x482624
mov esi, dword [ebp + 0x10]
jmp 0x482627
mov dword [ebp + 0x10], esi
lea eax, [ebp - 0xf718]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.00428bc0
add esp, 4
test eax, eax
jne 0x48265d
push 0xff
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_KillTimer]
push ebx
call fcn.00417c00
add esp, 4
call fcn.00417330
call dword [sym.imp.KERNEL32.DLL_GetLogicalDrives]
mov edi, eax
test edi, edi
jne 0x482677
push eax
push str.DRIVELETTERS
call fcn.00419c20
add esp, 8
test esi, esi
jne 0x482718
cmp dword [ebp - 0xf72c], esi
jne 0x4826b8
lea ecx, [ebp - 0xf718]
mov edx, 0x5801a8
mov esi, 0xd1d4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4826b8
add ecx, 4
add edx, 4
sub esi, 4
jae 0x482697
mov esi, dword [0x58d380]
cmp edi, esi
je 0x48316a
jmp 0x4826be
mov esi, dword [0x58d380]
xor ecx, ecx
mov eax, 1
shl eax, cl
test esi, eax
je 0x4826da
test dword [0x5801a8], eax
jne 0x4826da
mov edx, 1
jmp 0x4826dc
xor edx, edx
test edi, eax
je 0x4826f5
mov esi, dword [0x58d380]
test dword [ebp - 0xf718], eax
jne 0x4826f5
mov eax, 1
jmp 0x4826f7
xor eax, eax
cmp edx, eax
jne 0x482706
inc ecx
cmp ecx, 0x1a
jl 0x4826c0
mov esi, dword [ebp + 0x10]
jmp 0x482718
mov esi, 1
mov dword [ebp - 0xf734], 0xffffffff
mov dword [ebp + 0x10], esi
push 0xd1d8
lea eax, [ebp - 0xf718]
push eax
push 0x5801a8
call fcn.004e4130
add esp, 0xc
mov dword [0x58d380], edi
cmp dword [ebp + 0xc], 0
je 0x4829cf
test esi, esi
jne 0x4829cf
mov eax, dword [ebp - 0xf724]
mov edx, dword [ebp - 0xf730]
mov dword [ebp - 0xf72c], esi
mov dword [eax + 0x830], 1
test edx, edx
je 0x4827a1
lea ecx, [ebp - 0x1420]
push ecx
push dword [ebp - 0xf738]
push dword [eax + 0x10]
call fcn.004cd860
lea eax, [ebp - 0x1420]
mov dword [ebp - 0xf72c], 1
push eax
push 1
push esi
push ebx
call fcn.004064e0
mov edx, dword [ebp - 0xf730]
add esp, 0x1c
xor eax, eax
mov esi, 1
mov dword [ebp - 0xf720], eax
mov edi, 0x5801ac
mov dword [ebp - 0xf734], esi
nop dword [eax]
test edx, edx
je 0x4827e5
cmp dword [ebp - 0xf738], 0
jne 0x4827e5
lea ecx, [eax + 0x41]
movsx eax, byte [ebp - 0xf719]
cmp eax, ecx
mov eax, dword [ebp - 0xf720]
je 0x482999
test dword [0x58d380], esi
je 0x4827f9
test dword [0x5801a8], esi
je 0x482999
push eax
call fcn.004cf8f0
add esp, 4
test eax, eax
je 0x482987
push 0x51abf8
push edi
mov esi, edi
call fcn.004e480a
add esp, 8
cmp eax, edi
jne 0x482821
lea esi, [edi + 8]
push 0x802
lea eax, [ebp - 0x1c24]
push 0
push eax
call fcn.004e46b0
add esp, 0xc
lea ecx, [ebp - 0x1c54]
push esi
call fcn.00403e70
lea eax, [ebp - 0x1c54]
mov dword [ebp - 4], 5
push eax
lea eax, [ebp - 0x1c6c]
push eax
call fcn.004a3150
add esp, 8
mov eax, dword [ebp - 0x1c40]
mov byte [ebp - 4], 7
cmp eax, 8
jb 0x482882
inc eax
lea ecx, [ebp - 0x1c54]
push eax
push dword [ebp - 0x1c54]
call fcn.004052a0
xor eax, eax
mov dword [ebp - 0x1c40], 7
cmp dword [ebp - 0x1c5c], eax
mov word [ebp - 0x1c54], ax
sete al
mov dword [ebp - 0x1c44], 0
mov byte [ebp - 0xf71a], al
test al, al
jne 0x4828e3
cmp dword [ebp - 0x1c58], 8
lea ecx, [ebp - 0x1c6c]
lea edx, [ebp - 0x1c24]
cmovae ecx, dword [ebp - 0x1c6c]
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x4828d0
jmp 0x482900
lea ecx, [ebp - 0x1c24]
sub ecx, esi
nop dword [eax + eax]
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x4828f0
movzx eax, byte [ebp - 0xf71a]
push eax
lea eax, [ebp - 0x1c24]
push eax
push dword [0x5675c8]
push 0x526420
push ebx
call fcn.0041f780
add esp, 0xc
mov esi, eax
push 0
push 1
push 0x101d
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
sub eax, esi
push eax
push dword [0x5675c8]
push ebx
call fcn.0041f5f0
lea eax, [ebp - 0x1c24]
push eax
push 1
push dword [ebp - 0xf72c]
push ebx
call fcn.004064e0
mov eax, dword [ebp - 0x1c58]
add esp, 0x24
mov dword [ebp - 4], 0xffffffff
cmp eax, 8
jb 0x482981
inc eax
lea ecx, [ebp - 0x1c6c]
push eax
push dword [ebp - 0x1c6c]
call fcn.004052a0
mov esi, dword [ebp - 0xf734]
inc dword [ebp - 0xf72c]
mov eax, dword [ebp - 0xf720]
mov edx, dword [ebp - 0xf730]
inc eax
rol esi, 1
add edi, 0x802
mov dword [ebp - 0xf720], eax
mov dword [ebp - 0xf734], esi
cmp edi, 0x58d1e0
jl 0x4827c0
mov ecx, dword [ebp - 0xf724]
mov dword [ecx + 0x830], 0
jmp 0x48316a
mov ecx, dword [ebp - 0xf724]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x1027
push ebx
mov dword [ecx + 0x830], 1
call edi
mov dword [ebp - 0xf740], eax
test esi, esi
je 0x482a10
push 0
push 0
push 0xb
push ebx
call edi
push 0
push 0
push 0x1009
push ebx
call edi
mov ecx, dword [ebp - 0xf730]
xor esi, esi
mov dword [ebp - 0xf728], esi
test ecx, ecx
je 0x482bc4
cmp dword [ebp + 0x10], esi
jne 0x482a37
cmp dword [ebp - 0xf72c], esi
je 0x482bc4
push 0x34
lea eax, [ebp - 0xf784]
push 0
push eax
call fcn.004e46b0
mov dword [ebp - 0xf780], esi
add esp, 0xc
mov esi, dword [ebp - 0xf738]
mov dword [ebp - 0xf784], 7
mov dword [ebp - 0xf768], 2
test esi, esi
je 0x482a9f
xor ecx, ecx
movzx eax, word [ecx + 0x526cd0]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0xc1e], ax
test ax, ax
jne 0x482a70
lea eax, [ebp - 0xc1c]
mov dword [ebp - 0xf764], 0xfffe0004
mov dword [ebp - 0xf770], eax
jmp 0x482ae4
movsx esi, byte [ebp - 0xf719]
lea eax, [ebp - 0xc1c]
push esi
push 0x5171e4
push 0x401
push eax
call fcn.00405500
lea eax, [ebp - 0xc1c]
add esp, 0x10
mov dword [ebp - 0xf770], eax
lea eax, [esi - 0x41]
mov esi, dword [ebp - 0xf738]
movzx eax, ax
shl eax, 0x10
or eax, 3
mov dword [ebp - 0xf764], eax
cmp dword [ebp + 0x10], 0
lea eax, [ebp - 0xf784]
push eax
push 0
je 0x482afa
push 0x104d
jmp 0x482aff
push 0x104c
push ebx
call edi
lea eax, [ebp - 0xc1c]
push eax
push esi
mov esi, dword [ebp - 0xf724]
push dword [esi + 0x10]
call fcn.004cd860
lea eax, [ebp - 0xc1c]
push eax
push 1
push 0
push ebx
call fcn.004064e0
add esp, 0x1c
lea eax, [ebp - 0xc1c]
push eax
push 1
push dword [esi + 0x10]
call fcn.004cd7b0
add esp, 8
push edx
push eax
call fcn.00415f20
push eax
push 2
push 0
push ebx
call fcn.004064e0
push dword [ebp - 0x1d2e]
lea eax, [ebp - 0x418]
push eax
call fcn.004b6aa0
lea eax, [ebp - 0xc1c]
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.004069e0
lea eax, [ebp - 0xc1c]
push eax
push 3
push 0
push ebx
call fcn.004064e0
call fcn.004b0d40
test eax, eax
mov edx, str.SYSTEM_VOLUME_TYPE_ADJECTIVE
mov ecx, str.HIDDEN
cmove ecx, edx
push ecx
call fcn.004bb8b0
add esp, 0x40
push eax
push 4
push 0
push ebx
call fcn.004064e0
mov ecx, dword [ebp - 0xf730]
mov esi, 1
add esp, 0x10
mov dword [ebp - 0xf728], esi
xor edi, edi
mov eax, 0x5801ac
mov dword [ebp - 0xf73c], edi
mov dword [ebp - 0xf720], eax
test ecx, ecx
je 0x482bfc
cmp dword [ebp - 0xf738], 0
jne 0x482bfc
movsx eax, byte [ebp - 0xf719]
lea ecx, [edi + 0x41]
cmp eax, ecx
mov eax, dword [ebp - 0xf720]
je 0x483044
mov ecx, edi
mov edx, 1
shl edx, cl
mov ecx, dword [0x5801a8]
test dword [0x58d380], edx
je 0x482c1b
test ecx, edx
je 0x483044
cmp dword [ebp + 0x10], 0
jne 0x482c48
cmp dword [ebp - 0xf734], 0
jle 0x482c36
cmp edi, dword [ebp - 0xf734]
jne 0x48303d
mov eax, edx
and edx, dword [ebp - 0xf744]
and eax, ecx
cmp eax, edx
je 0x483037
movzx esi, di
push 0x3c
push 0
lea eax, [esi + 0x41]
mov word [ebp - 0x1cc8], ax
mov eax, 0x3a
mov word [ebp - 0x1cc6], ax
lea eax, [ebp - 0x1cc4]
push eax
call fcn.004e46b0
push 0x34
lea eax, [ebp - 0xf784]
push 0
push eax
call fcn.004e46b0
push edi
mov dword [ebp - 0xf784], 7
call fcn.004cf8f0
neg eax
push edi
sbb eax, eax
neg eax
mov dword [ebp - 0xf768], eax
mov eax, dword [ebp - 0xf728]
mov dword [ebp - 0xf780], eax
lea eax, [ebp - 0x1cc8]
mov dword [ebp - 0xf770], eax
call fcn.004cf8f0
add esp, 0x20
test eax, eax
je 0x482ce7
mov ecx, dword [ebp - 0xf720]
push ecx
call fcn.00429b60
add esp, 4
test eax, eax
mov eax, esi
je 0x482cdf
shl eax, 0x10
or eax, 2
jmp 0x482cec
shl eax, 0x10
or eax, 1
jmp 0x482cec
mov eax, esi
shl eax, 0x10
cmp dword [ebp + 0x10], 0
mov dword [ebp - 0xf764], eax
lea eax, [ebp - 0xf784]
push eax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
push 0
je 0x482d0d
push 0x104d
jmp 0x482d12
push 0x104c
push ebx
call eax
push edi
call fcn.004cf8f0
add esp, 4
test eax, eax
je 0x482feb
mov eax, dword [ebp - 0xf720]
mov esi, eax
push 0x51abf8
push eax
call fcn.004e480a
mov ecx, esi
add esp, 8
cmp eax, ecx
jne 0x482d45
lea esi, [ecx + 8]
push 0x802
lea eax, [ebp - 0x1420]
push 0
push eax
call fcn.004e46b0
xor eax, eax
mov dword [ebp - 0x1c28], 7
add esp, 0xc
mov dword [ebp - 0x1c2c], 0
mov word [ebp - 0x1c3c], ax
cmp word [esi], ax
jne 0x482d81
xor ecx, ecx
jmp 0x482d95
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x482d86
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x1c3c]
call fcn.004051a0
lea eax, [ebp - 0x1c3c]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x1c84]
push eax
call fcn.004a3150
add esp, 8
mov eax, dword [ebp - 0x1c28]
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x482de1
inc eax
lea ecx, [ebp - 0x1c3c]
push eax
push dword [ebp - 0x1c3c]
call fcn.004052a0
xor eax, eax
mov dword [ebp - 0x1c28], 7
cmp dword [ebp - 0x1c74], eax
mov word [ebp - 0x1c3c], ax
sete al
mov dword [ebp - 0x1c2c], 0
mov byte [ebp - 0xf71a], al
test al, al
jne 0x482e43
cmp dword [ebp - 0x1c70], 8
lea ecx, [ebp - 0x1c84]
lea edx, [ebp - 0x1420]
cmovae ecx, dword [ebp - 0x1c84]
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x482e30
jmp 0x482e60
lea ecx, [ebp - 0x1420]
sub ecx, esi
nop dword [eax + eax]
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x482e50
movzx eax, byte [ebp - 0xf71a]
push eax
lea eax, [ebp - 0x1420]
push eax
push dword [0x5675c8]
push 0x526420
push ebx
call fcn.0041f780
add esp, 0xc
mov esi, eax
push 0
push 1
push 0x101d
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
sub eax, esi
push eax
push dword [0x5675c8]
push ebx
call fcn.0041f5f0
mov esi, dword [ebp - 0xf728]
lea eax, [ebp - 0x1420]
push eax
push 1
push esi
push ebx
call fcn.004064e0
lea eax, [ebp - 0xc1c]
push eax
push dword [edi*8 + 0x58d1e4]
push dword [edi*8 + 0x58d1e0]
call fcn.00415f20
push eax
push 2
push esi
push ebx
call fcn.004064e0
add esp, 0x40
lea eax, [ebp - 0x418]
push dword [edi*4 + 0x58d2b0]
push eax
call fcn.004b6aa0
lea ecx, [ebp - 0x418]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x482f00
sub ecx, edx
lea edi, [ecx + 1]
cmp edi, 0x3fffffff
jg 0x482f48
lea eax, [edi + edi]
call fcn.004e1f90
mov esi, esp
mov dword [ebp - 0x10], esp
test esi, esi
je 0x482f48
push edi
push esi
xor eax, eax
push 0xffffffffffffffff
mov word [esi], ax
lea eax, [ebp - 0x418]
push eax
push 0
push 3
call dword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
xor ecx, ecx
test eax, eax
cmove esi, ecx
jmp 0x482f4a
xor esi, esi
push esi
mov esi, dword [ebp - 0xf728]
push 3
push esi
push ebx
call fcn.004064e0
mov edi, dword [ebp - 0xf73c]
add esp, 0x10
mov eax, dword [edi*4 + 0x58d318]
cmp eax, 3
ja case.default.0x482f6f
jmp dword [eax*4 + 0x483190]
push str.NORMAL
call fcn.004bb8b0
add esp, 4
jmp 0x482fb7
push str.HIDDEN
call fcn.004bb8b0
add esp, 4
jmp 0x482fb7
push str.OUTER
call fcn.004bb8b0
add esp, 4
jmp 0x482fb7
push str.OUTER_VOL_WRITE_PREVENTED
call fcn.004bb8b0
add esp, 4
jmp 0x482fb7
mov eax, 0x526d2c
push eax
push 4
push esi
push ebx
call fcn.004064e0
mov eax, dword [ebp - 0x1c70]
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
cmp eax, 8
jb 0x483037
inc eax
lea ecx, [ebp - 0x1c84]
push eax
push dword [ebp - 0x1c84]
call fcn.004052a0
jmp 0x483037
mov dword [ebp - 0xf784], 1
mov esi, 1
mov dword [ebp - 0xf770], 0x516968
nop dword [eax]
nop dword [eax + eax]
lea eax, [ebp - 0xf784]
mov dword [ebp - 0xf77c], esi
push eax
push 0
push 0x104c
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
inc esi
cmp esi, 4
jle 0x483010
mov esi, dword [ebp - 0xf728]
mov eax, dword [ebp - 0xf720]
inc esi
mov dword [ebp - 0xf728], esi
mov ecx, dword [ebp - 0xf730]
add eax, 0x802
inc edi
mov dword [ebp - 0xf720], eax
mov dword [ebp - 0xf73c], edi
cmp eax, 0x58d1e0
jl 0x482bd7
mov edi, dword [ebp - 0xf724]
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x830], 0
test eax, eax
je 0x48308e
push 0
push 1
push 0xb
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp + 0x10]
cmp dword [ebp - 0xf72c], 0
je 0x48309f
test eax, eax
je 0x48316a
mov esi, dword [ebp + 8]
cmp esi, 0xffffffff
je 0x483103
push esi
call fcn.004cf8f0
add esp, 4
mov ecx, edi
test eax, eax
je 0x4830f8
mov eax, dword [edi]
push 0x3ef
call dword [eax + 0x8c]
push dword [ebp + 8]
mov ecx, edi
mov esi, eax
call fcn.0047dd90
mov edi, eax
xor eax, eax
cmp edi, 0xffffffff
cmove edi, eax
push edi
push esi
call fcn.00406440
mov ecx, dword [ebp - 0xf724]
add esp, 8
call fcn.0047c880
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push edi
jmp 0x483161
push esi
call fcn.0047dd90
mov edi, eax
push edi
jmp 0x483161
mov eax, dword [edi]
or esi, 0xffffffff
cmp dword [0x55e048], esi
mov ecx, edi
push 0x3ef
cmovne esi, dword [0x55e048]
call dword [eax + 0x8c]
mov edi, eax
xor eax, eax
cmp esi, 0xffffffff
je 0x48313f
mov ecx, dword [ebp - 0xf724]
push esi
call fcn.0047dd90
xor ecx, ecx
cmp eax, 0xffffffff
cmove eax, ecx
push eax
push edi
call fcn.00406440
mov ecx, dword [ebp - 0xf724]
add esp, 8
call fcn.0047c880
push edi
call dword [sym.imp.USER32.dll_SetFocus]
push dword [ebp - 0xf740]
push ebx
call fcn.00406850
add esp, 8
lea esp, [ebp - 0xf794]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004e1f40
mov esp, ebp
pop ebp
ret 0xc