Function at 0x463151
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe8
push esi
mov dword [ebp - 4], 1
push 2
lea ecx, [ebp - 0xc8]
call fcn.00415aed
mov dword [ebp - 8], 0
jmp 0x46317f
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jge 0x463192
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x3c], 0
jmp 0x463178
mov dword [ebp - 8], 0
jmp 0x4631a2
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
jge 0x4631bb
push dword [ebp - 8]
lea ecx, [ebp - 0xc8]
call fcn.00415bdb
or dword [eax], 0xffffffff
jmp 0x46319b
mov dword [ebp - 4], 2
jmp 0x4631cb
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jl 0x4635e1
push 2
lea ecx, [ebp - 0x30]
call fcn.00415aed
mov dword [ebp - 0xd8], 0x9b41dbc4
mov dword [ebp - 0x10], 0xb167d3d8
mov dword [ebp - 0x20], 0
jmp 0x463200
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x463219
push dword [ebp - 0x20]
lea ecx, [ebp - 0x30]
call fcn.00415bdb
mov dword [eax], 2
jmp 0x4631f9
push 1
lea ecx, [ebp - 0x30]
call fcn.00415bdb
mov dword [eax], 2
jmp 0x463243
push 1
lea ecx, [ebp - 0x30]
call fcn.00415bdb
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x5c]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x30]
call fcn.00415bdb
cmp dword [eax], 0
jl 0x4635d4
mov dword [ebp - 0x14], 4
mov dword [ebp - 0xcc], 0xfffffffb
mov dword [ebp - 0xbc], 1
mov dword [ebp - 0xb0], 0x2089ce3
mov dword [ebp - 0xa4], 2
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x3c]
add eax, 0x12af
mov ecx, dword [ebp - 4]
cmp eax, dword [ebp + ecx*4 - 0x3c]
jg 0x4632a6
mov dword [ebp - 0x94], 1
jmp 0x4632ad
and dword [ebp - 0x94], 0
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp dword [ebp - 0x94], eax
jge 0x4632c8
mov dword [ebp - 0x98], 1
jmp 0x4632cf
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x3c], 3
jae 0x4632e2
mov dword [ebp - 0x48], 1
jmp 0x4632e6
and dword [ebp - 0x48], 0
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp dword [ebp - 0x48], eax
jle 0x4632fe
mov dword [ebp - 0x8c], 1
jmp 0x463305
and dword [ebp - 0x8c], 0
cmp dword [ebp - 0x8c], 8
jae 0x463317
mov dword [ebp - 0x70], 1
jmp 0x46331b
and dword [ebp - 0x70], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x3c]
cmp dword [ebp - 0x70], eax
jl 0x463333
mov dword [ebp - 0x50], 1
jmp 0x463337
and dword [ebp - 0x50], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x3c]
cmp dword [ebp - 0x50], eax
jne 0x463353
xor eax, eax
jne 0x463353
and dword [ebp - 0x90], 0
jmp 0x46335d
mov dword [ebp - 0x90], 1
cmp dword [ebp - 0x90], 0xfad0
jge 0x463379
push 0xfffffffffffffffa
pop eax
test eax, eax
je 0x463379
mov dword [ebp - 0x58], 1
jmp 0x46337d
and dword [ebp - 0x58], 0
cmp dword [ebp - 0x58], 0xb752bf39
jbe 0x46338f
mov dword [ebp - 0x78], 1
jmp 0x463393
and dword [ebp - 0x78], 0
push 0
lea ecx, [ebp - 0x30]
call fcn.00415bdb
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [eax]
jle 0x4633ad
mov dword [ebp - 0x60], 1
jmp 0x4633b1
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x60]
jle 0x4633c5
mov dword [ebp - 0x88], 1
jmp 0x4633cc
and dword [ebp - 0x88], 0
cmp dword [ebp - 0x88], 0x22d8
je 0x4633e4
mov dword [ebp - 0xb8], 1
jmp 0x4633eb
and dword [ebp - 0xb8], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x3c]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0xe8], eax
push 0
lea ecx, [ebp - 0x30]
call fcn.00415bdb
mov eax, 0xf0e4
neg eax
je 0x46342e
push 1
lea ecx, [ebp - 0x30]
call fcn.00415bdb
cmp dword [eax], 0
je 0x46342e
mov dword [ebp - 0x68], 1
jmp 0x463432
and dword [ebp - 0x68], 0
cmp dword [ebp - 0x68], 0xe0c0
jne 0x463444
mov dword [ebp - 0x80], 1
jmp 0x463448
and dword [ebp - 0x80], 0
push 1
lea ecx, [ebp - 0x30]
call fcn.00415bdb
mov eax, dword [eax]
cmp eax, dword [ebp - 0x80]
jl 0x463462
mov dword [ebp - 0x44], 1
jmp 0x463466
and dword [ebp - 0x44], 0
cmp dword [ebp - 0x44], 1
jle 0x463482
mov dword [ebp - 0xd4], 0xfa1b4415
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
jmp 0x4635cf
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0
jmp 0x463499
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jg 0x4635cf
mov eax, 0x437
test eax, eax
je 0x463528
push 1
lea ecx, [ebp - 0x30]
call fcn.00415bdb
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x3c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0x10], 0
je 0x4634e8
xor eax, eax
inc eax
je 0x4634e8
cmp dword [ebp - 0x14], 0
je 0x4634e8
mov dword [ebp - 0x4c], 1
jmp 0x4634ec
and dword [ebp - 0x4c], 0
cmp dword [ebp - 0x4c], 0x138c4
jg 0x46350d
push 1
lea ecx, [ebp - 0xc8]
call fcn.00415bdb
cmp dword [eax], 0
jne 0x46350d
and dword [ebp - 0x54], 0
jmp 0x463514
mov dword [ebp - 0x54], 1
mov eax, dword [ebp - 0xb0]
cmp dword [ebp - 0x54], eax
jne 0x463528
mov dword [ebp - 0x40], 1
jmp 0x46352c
and dword [ebp - 0x40], 0
imul eax, dword [ebp - 0x40], 0
cmp eax, dword [ebp - 0xa4]
je 0x463541
mov dword [ebp - 0x64], 1
jmp 0x463545
and dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 2
jmp 0x46355b
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x4635ca
mov dword [ebp - 0x18], 0
jmp 0x463571
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jg 0x4635b2
push 1
lea ecx, [ebp - 0x30]
call fcn.00415bdb
mov eax, dword [eax]
mov esi, 0x8afc
sub esi, dword [ebp + eax*4 - 0x3c]
push 1
lea ecx, [ebp - 0xc8]
call fcn.00415bdb
mov dword [eax], esi
push 1
lea ecx, [ebp - 0x30]
call fcn.00415bdb
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x3c], 0
je 0x4635b0
jmp 0x4635b2
jmp 0x46356a
mov byte [ebp - 9], 0
movzx eax, byte [ebp - 9]
test eax, eax
je 0x4635c8
push 0
push 0
call dword [sym.imp.USER32.dll_CopyRect]
jmp 0x463554
jmp 0x463492
jmp 0x46322b
lea ecx, [ebp - 0x30]
call fcn.00415bbf
jmp 0x4631c4
mov byte [ebp - 0xa], 0
movzx eax, byte [ebp - 0xa]
test eax, eax
je 0x4635f5
push 0
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea ecx, [ebp - 0xc8]
call fcn.00415bbf
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x4636f2
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
jmp 0x463649
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0x10
jge 0x4636f0
mov dword [ebp - 0x24], 0xd0374c7a
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x46367c
cmp dword [ebp - 0x24], 0
je 0x46367c
mov dword [ebp - 0x6c], 1
jmp 0x463680
and dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x6c]
sub eax, 0xb6a1c4d
cmp eax, 0xfff9
jne 0x463698
mov dword [ebp - 0x74], 1
jmp 0x46369c
and dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x74]
cmp eax, 0xfffffffd
je 0x4636b1
mov dword [ebp - 0x7c], 1
jmp 0x4636b5
and dword [ebp - 0x7c], 0
push 6
pop eax
sub eax, dword [ebp - 0x7c]
imul eax, dword [ebp - 0x24]
imul eax, eax, 0xd0
cmp eax, 0xffffffff
jg 0x4636d6
mov dword [ebp - 0x84], 1
jmp 0x4636dd
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
mov dword [eax], ecx
jmp 0x46363e
jmp 0x46371a
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
movzx eax, byte [eax]
test eax, eax
je 0x46371a
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
pop esi
mov esp, ebp
pop ebp
ret