Function at 0x46bc4e
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
push esi
mov dword [ebp - 0x140], 0xae9714a0
mov dword [ebp - 0x168], 0xfffffff9
mov dword [ebp - 0x13c], 6
mov dword [ebp - 0x144], 0xf5cd53bc
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x164], 0xffffffff
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x160], 0x276b87d0
mov dword [ebp - 0xf0], 0x941fc9a5
mov dword [ebp - 0x148], 0xd3f5047c
mov dword [ebp - 0x7c], 0xffffffff
mov dword [ebp - 0x104], 1
mov dword [ebp - 0x30], 0
jmp 0x46bcdd
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x46bcf3
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x194], 0xffffffff
jmp 0x46bcd6
mov eax, dword [ebp - 0x7c]
dec eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x5c], 1
lea eax, [ebp - 0x184]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x5c]
dec eax
mov dword [ebp - 0x5c], eax
js 0x46bd32
mov ecx, dword [ebp - 0x58]
call fcn.00441fbe
mov eax, dword [ebp - 0x58]
add eax, 0x18
mov dword [ebp - 0x58], eax
jmp 0x46bd16
push 3
lea ecx, [ebp - 0x6c]
call fcn.004013fc
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xfc], 0xfffffff9
mov dword [ebp - 0x16c], 1
push 2
lea ecx, [ebp - 0x15c]
call fcn.004013fc
push 4
lea ecx, [ebp - 0x134]
call fcn.004013fc
mov dword [ebp - 4], 0
jmp 0x46bd81
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 3
jge 0x46bd9a
push dword [ebp - 4]
lea ecx, [ebp - 0x6c]
call fcn.004014ea
mov dword [eax], 0xff0ea75c
jmp 0x46bd7a
mov dword [ebp - 4], 0
jmp 0x46bdaa
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 2
jge 0x46bdc6
push dword [ebp - 4]
lea ecx, [ebp - 0x15c]
call fcn.004014ea
mov dword [eax], 1
jmp 0x46bda3
mov dword [ebp - 4], 0
jmp 0x46bdd6
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 4
jge 0x46bdf2
push dword [ebp - 4]
lea ecx, [ebp - 0x134]
call fcn.004014ea
mov dword [eax], 0x4f989879
jmp 0x46bdcf
mov dword [ebp - 8], 2
jmp 0x46be02
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jl 0x46c1eb
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x60], 0x85ce96b7
mov dword [ebp - 0x40], 1
push 4
pop eax
imul eax, eax, 3
mov dword [ebp + eax - 0x50], 2
jmp 0x46be5b
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x50]
dec eax
push 4
pop ecx
imul ecx, ecx, 3
mov dword [ebp + ecx - 0x50], eax
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x50], 0
jl 0x46c143
mov dword [ebp - 0xd8], 1
mov dword [ebp - 0xf8], 0x6ae3
push 4
pop eax
imul eax, eax, 3
push dword [ebp + eax - 0x50]
lea ecx, [ebp - 0x6c]
call fcn.004014ea
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov esi, dword [ebp - 0x60]
push 4
pop eax
imul eax, eax, 3
push dword [ebp + eax - 0x50]
lea ecx, [ebp - 0x6c]
call fcn.004014ea
add esi, dword [eax]
je 0x46bfe9
mov eax, dword [ebp - 8]
mov dword [ebp - 0x150], eax
xor eax, eax
jne 0x46bed7
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x50], 0
jne 0x46bed7
and dword [ebp - 0xec], 0
jmp 0x46bee1
mov dword [ebp - 0xec], 1
mov eax, dword [ebp - 8]
cmp dword [ebp - 0xec], eax
jg 0x46bef5
mov dword [ebp - 0x80], 1
jmp 0x46bef9
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x80], eax
jl 0x46bf0a
mov dword [ebp - 0x78], 1
jmp 0x46bf0e
and dword [ebp - 0x78], 0
mov esi, dword [ebp - 0x78]
sub esi, dword [ebp - 0xd8]
push 1
lea ecx, [ebp - 0x6c]
call fcn.004014ea
cmp esi, dword [eax]
je 0x46bf31
mov dword [ebp - 0xdc], 1
jmp 0x46bf38
and dword [ebp - 0xdc], 0
push 2
lea ecx, [ebp - 0x6c]
call fcn.004014ea
mov ecx, dword [ebp - 0xdc]
sub ecx, dword [eax]
cmp ecx, dword [ebp - 8]
jle 0x46bf5b
mov dword [ebp - 0xe4], 1
jmp 0x46bf62
and dword [ebp - 0xe4], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x50]
cmp dword [ebp - 0xe4], eax
jge 0x46bf80
mov dword [ebp - 0xb8], 1
jmp 0x46bf87
and dword [ebp - 0xb8], 0
mov eax, 0xd4a55f07
sub eax, dword [ebp - 0xb8]
je 0x46bf9d
mov eax, 0x46b51f0e
test eax, eax
jne 0x46bfaf
cmp dword [ebp - 0xf8], 0
jne 0x46bfaf
and dword [ebp - 0x88], 0
jmp 0x46bfb9
mov dword [ebp - 0x88], 1
cmp dword [ebp - 0x88], 0
je 0x46bfe9
push dword [ebp - 8]
lea ecx, [ebp - 0x6c]
call fcn.004014ea
cmp dword [eax], 0
je 0x46bfe9
mov byte [ebp - 0x1a], 0
movzx eax, byte [ebp - 0x1a]
test eax, eax
je 0x46bfe4
call dword [sym.imp.USER32.dll_EndMenu]
jmp 0x46c13e
push 1
lea ecx, [ebp - 0x128]
call fcn.004013fc
mov dword [ebp - 0x3c], 0x2a93f045
mov dword [ebp - 0x28], 0
jmp 0x46c00d
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jge 0x46c029
push dword [ebp - 0x28]
lea ecx, [ebp - 0x128]
call fcn.004014ea
mov dword [eax], 0x6add33d7
jmp 0x46c006
push dword [ebp - 8]
lea ecx, [ebp - 0x6c]
call fcn.004014ea
mov esi, eax
push 4
pop eax
imul eax, eax, 3
push dword [ebp + eax - 0x50]
lea ecx, [ebp - 0x6c]
call fcn.004014ea
mov ecx, dword [esi]
cmp ecx, dword [eax]
jle 0x46c057
mov dword [ebp - 0x38], 1
jmp 0x46c05b
and dword [ebp - 0x38], 0
push 0
lea ecx, [ebp - 0x128]
call fcn.004014ea
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x50]
cmp eax, dword [ebp - 0x38]
jl 0x46c088
mov dword [ebp - 0xe0], 1
jmp 0x46c08f
and dword [ebp - 0xe0], 0
cmp dword [ebp - 0x3c], 0
je 0x46c0a7
cmp dword [ebp - 0x3c], 0
je 0x46c0a7
mov dword [ebp - 0x90], 1
jmp 0x46c0ae
and dword [ebp - 0x90], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x50]
mov ecx, dword [ebp - 0xe0]
add ecx, dword [ebp - 0x90]
sub eax, ecx
cmp eax, 0xfffffff6
je 0x46c0d7
mov dword [ebp - 0xc0], 1
jmp 0x46c0de
and dword [ebp - 0xc0], 0
cmp dword [ebp - 0xc0], 0x3395cc9e
je 0x46c0fc
cmp dword [ebp - 0x60], 0
je 0x46c0fc
mov dword [ebp - 0x98], 1
jmp 0x46c103
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x98]
sub eax, 0x5cb2
cmp eax, dword [ebp - 0xd8]
jg 0x46c122
mov dword [ebp - 0xa0], 1
jmp 0x46c129
and dword [ebp - 0xa0], 0
imul eax, dword [ebp - 0xa0], 0
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x128]
call fcn.004014ce
jmp 0x46be46
mov eax, dword [ebp - 0x40]
dec eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xc8], eax
push 3
lea ecx, [ebp - 0x134]
call fcn.004014ea
mov ecx, dword [ebp - 0xc8]
mov dword [eax], ecx
cmp dword [ebp - 0xc8], 0xffffffff
jle 0x46c17d
mov dword [ebp - 0xa8], 1
jmp 0x46c184
and dword [ebp - 0xa8], 0
push dword [ebp - 8]
lea ecx, [ebp - 0x6c]
call fcn.004014ea
mov eax, dword [eax]
neg eax
xor ecx, ecx
sub ecx, eax
jne 0x46c1af
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x50], 0
jne 0x46c1af
and dword [ebp - 0xe8], 0
jmp 0x46c1b9
mov dword [ebp - 0xe8], 1
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0xe8]
je 0x46c1d3
mov dword [ebp - 0xb0], 1
jmp 0x46c1da
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xfc], eax
jmp 0x46bdfb
lea ecx, [ebp - 0x134]
call fcn.004014ce
lea ecx, [ebp - 0x15c]
call fcn.004014ce
lea ecx, [ebp - 0x6c]
call fcn.004014ce
push dword [ebp + 0xc]
push 0x7082
push 0
push 0x7a94
lea eax, [ebp - 0x184]
push eax
push 0x423b
push 0x4919
call fcn.00471d2f
add esp, 0x1c
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0xc], 0xfffffff7
mov dword [ebp - 0x118], 0xfffffffd
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x18], 0
jmp 0x46c263
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xb
jl 0x46c583
mov dword [ebp - 0x20], 0x94a18885
mov dword [ebp - 0x11c], 0xffff
mov dword [ebp - 0x9c], 0xfffffffe
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x20], 0
jmp 0x46c2a2
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffec
je 0x46c57e
mov dword [ebp - 0x54], 0x9323d1bc
mov dword [ebp - 0x10], 4
push 3
lea ecx, [ebp - 0x114]
call fcn.004013fc
mov dword [ebp - 0x108], 9
mov dword [ebp - 0x2c], 0
jmp 0x46c2e1
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x46c2fd
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x114]
call fcn.004014ea
mov dword [eax], 1
jmp 0x46c2da
imul eax, dword [ebp - 0x11c], 0xe28d
cmp eax, dword [ebp - 0xc]
je 0x46c318
mov dword [ebp - 0xd0], 1
jmp 0x46c31f
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0xd0]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xc], eax
jne 0x46c33c
mov dword [ebp - 0x70], 1
jmp 0x46c340
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x70]
lea eax, [ecx + eax - 1]
cmp eax, dword [ebp - 0xc]
jne 0x46c353
cmp dword [ebp - 0xc], 0
cmp dword [ebp - 0x18], 8
jae 0x46c365
mov dword [ebp - 0x84], 1
jmp 0x46c36c
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0x84], eax
je 0x46c386
mov dword [ebp - 0x8c], 1
jmp 0x46c38d
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x8c]
jl 0x46c3a4
mov dword [ebp - 0x94], 1
jmp 0x46c3ab
and dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x94], eax
jge 0x46c3ec
mov byte [ebp - 0x11], 0
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x46c3e7
push 0x1e2d
push 0
push 0x10ab
push 0x22ed
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtFloodFill]
jmp 0x46c56e
mov dword [ebp - 0xc], 0
jmp 0x46c3fc
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffe2
jg 0x46c558
mov dword [ebp - 0xa4], 0xa6ca0cec
mov dword [ebp - 0x10], 0
jmp 0x46c420
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jg 0x46c553
push dword [ebp - 0x10]
lea ecx, [ebp - 0x114]
call fcn.004014ea
mov esi, eax
push dword [ebp - 0x10]
lea ecx, [ebp - 0x114]
call fcn.004014ea
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x46c45a
mov dword [ebp - 0xac], 1
jmp 0x46c461
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0xc], eax
jl 0x46c484
mov dword [ebp - 0xb4], 1
jmp 0x46c48b
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xb4]
jl 0x46c4a5
mov dword [ebp - 0xcc], 1
jmp 0x46c4ac
and dword [ebp - 0xcc], 0
cmp dword [ebp - 0x100], 0
je 0x46c4c7
cmp dword [ebp - 0x54], 0
je 0x46c4c7
mov dword [ebp - 0xbc], 1
jmp 0x46c4ce
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x118]
cmp dword [ebp - 0xbc], eax
jne 0x46c4e8
mov dword [ebp - 0xc4], 1
jmp 0x46c4ef
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc4]
add eax, 0x6de0
cmp eax, dword [ebp - 0x18]
jle 0x46c511
cmp dword [ebp - 0x10], 0
je 0x46c511
mov dword [ebp - 0xd4], 1
jmp 0x46c518
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0xd4]
je 0x46c52f
mov dword [ebp - 0x74], 1
jmp 0x46c533
and dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x108], eax
mov byte [ebp - 0x19], 0
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x46c54e
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
jmp 0x46c419
jmp 0x46c3f5
cmp dword [ebp - 0xf4], 0
je 0x46c56e
lea ecx, [ebp - 0x114]
call fcn.004014ce
jmp 0x46c57e
lea ecx, [ebp - 0x114]
call fcn.004014ce
jmp 0x46c29b
jmp 0x46c25c
push 0x18
pop eax
imul eax, eax, 0
lea eax, [ebp + eax - 0x184]
push eax
mov ecx, dword [ebp + 8]
call fcn.00441f98
mov dword [ebp - 0x34], 1
lea eax, [ebp - 0x184]
mov dword [ebp - 0x24], eax
imul eax, dword [ebp - 0x34], 0x18
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
js 0x46c5cf
mov eax, dword [ebp - 0x24]
sub eax, 0x18
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
call fcn.0042189c
jmp 0x46c5b3
mov eax, dword [ebp + 8]
pop esi
mov esp, ebp
pop ebp
ret