Function at 0x40606d
Capabilities:
Get disk information

Disassembly:
push 0x50c
mov eax, 0x5a102c
call fcn.00495539
mov edi, ecx
mov dword [ebp - 0x4f8], edi
mov esi, edx
add edi, 0x70c
xor ebx, ebx
push edi
mov dword [ebp - 0x4f0], esi
mov dword [ebp - 0x4f4], ebx
call fcn.0044c820
pop ecx
test al, al
je 0x4060bc
push edi
call fcn.0040604b
test al, al
je 0x4060bc
push edi
call fcn.004024df
mov eax, esi
jmp 0x4064a3
push ecx
mov dword [ebp - 0x4fc], esp
lea esi, [ebp - 0x510]
mov dword [ebp - 0x4fc], esp
call fcn.00409f9a
push 0x5ffc88
lea eax, [ebp - 0x4b0]
mov dword [ebp - 4], 1
call fcn.004018af
push 0x5ffc90
lea eax, [ebp - 0x494]
mov byte [ebp - 4], 2
call fcn.004018af
push 0x5ffc98
lea eax, [ebp - 0x478]
mov byte [ebp - 4], 3
call fcn.004018af
push 0x5ffca0
lea eax, [ebp - 0x45c]
mov byte [ebp - 4], 4
call fcn.004018af
push 0x5ffca8
lea eax, [ebp - 0x440]
mov byte [ebp - 4], 5
call fcn.004018af
xor eax, eax
mov dword [ebp - 0x4d4], 7
mov dword [ebp - 0x4d8], ebx
mov word [ebp - 0x4e8], ax
mov dword [ebp - 0x4ec], ebx
mov byte [ebp - 4], 7
lea ebx, [ebp - 0x4b0]
push ebx
lea ecx, [ebp - 0x510]
call fcn.0040ad04
push eax
lea eax, [ebp - 0x500]
push eax
lea eax, [ebp - 0x510]
push eax
call fcn.0040a786
push ebx
lea esi, [ebp - 0x4cc]
call fcn.004024df
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 8
cmp byte [eax + 0x784], 0
mov esi, 0x5ffcb0
jne 0x4061ad
mov esi, 0x5ffcc8
push esi
call fcn.0048c5ca
pop ecx
mov edi, eax
push esi
lea eax, [ebp - 0x4cc]
call fcn.00401757
lea eax, [ebp - 0x4cc]
push eax
call fcn.0044c820
pop ecx
test al, al
je 0x4061e3
lea eax, [ebp - 0x4cc]
push eax
call fcn.0040604b
test al, al
jne 0x40624f
push 1
xor edi, edi
lea esi, [ebp - 0x4cc]
mov byte [ebp - 4], 7
call fcn.00401ad5
inc dword [ebp - 0x4ec]
add ebx, 0x1c
cmp dword [ebp - 0x4ec], 5
jl 0x406164
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.0048cf80
add esp, 0xc
lea eax, [ebp - 0x420]
push eax
mov ebx, 0x104
push ebx
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
cmp word [ebp - 0x420], di
lea eax, [ebp - 0x420]
jmp 0x406409
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x4cc]
lea ecx, [ebp - 0x4e8]
call fcn.00401b81
mov esi, dword [ebp - 0x4f0]
lea ebx, [ebp - 0x4e8]
call fcn.00401696
xor ebx, ebx
inc ebx
push ebx
xor edi, edi
lea esi, [ebp - 0x4cc]
mov dword [ebp - 0x4f4], ebx
call fcn.00401ad5
push ebx
lea esi, [ebp - 0x4e8]
call fcn.00401ad5
push 0x4018dd
push 5
push 0x1c
lea eax, [ebp - 0x4b0]
push eax
mov byte [ebp - 4], bl
call fcn.0048ca68
mov dword [ebp - 4], 9
jmp 0x406486
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.0048cf80
add esp, 0xc
push dword [ebp - 0x4ec]
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.0048cf17
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x4063f4
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x4cc]
call fcn.004018af
mov byte [ebp - 4], 0xa
mov edi, dword [ebp - 0x50c]
mov esi, dword [edi + 4]
mov dword [ebp - 0x4fc], edi
jmp 0x406348
lea ecx, [esi + 0xc]
lea eax, [ebp - 0x4cc]
call fcn.00402276
test al, al
je 0x406344
mov esi, dword [esi + 8]
jmp 0x406348
mov edi, esi
mov esi, dword [esi]
cmp byte [esi + 0x29], 0
je 0x40632d
mov dword [ebp - 0x518], edi
cmp edi, dword [ebp - 0x50c]
je 0x406376
lea eax, [edi + 0xc]
lea ecx, [ebp - 0x4cc]
call fcn.00402276
test al, al
jne 0x406376
lea eax, [ebp - 0x518]
jmp 0x406388
mov eax, dword [ebp - 0x50c]
mov dword [ebp - 0x514], eax
lea eax, [ebp - 0x514]
mov ecx, dword [ebp - 0x4fc]
cmp dword [eax], ecx
jne 0x4063e1
mov eax, dword [ebp - 0x4f8]
cmp byte [eax + 0x784], 0
mov esi, 0x5ffcb0
jne 0x4063ab
mov esi, 0x5ffcc8
push esi
call fcn.0048c5ca
pop ecx
mov edi, eax
push esi
lea eax, [ebp - 0x4cc]
call fcn.00401757
lea eax, [ebp - 0x4cc]
push eax
call fcn.0044c820
pop ecx
test al, al
je 0x4063e1
lea eax, [ebp - 0x4cc]
push eax
call fcn.0040604b
test al, al
jne 0x406417
push 1
xor edi, edi
lea esi, [ebp - 0x4cc]
mov byte [ebp - 4], 7
call fcn.00401ad5
mov esi, dword [ebp - 0x4ec]
push esi
call fcn.0048c5ca
lea eax, [esi + eax*2 + 2]
cmp word [eax], 0
pop ecx
mov dword [ebp - 0x4ec], eax
jne 0x4062bc
jmp 0x40643f
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x4cc]
lea ecx, [ebp - 0x4e8]
call fcn.00401b81
push 1
xor edi, edi
lea esi, [ebp - 0x4cc]
mov byte [ebp - 4], 7
call fcn.00401ad5
mov esi, dword [ebp - 0x4f0]
lea ebx, [ebp - 0x4e8]
call fcn.00401696
xor ebx, ebx
inc ebx
push ebx
xor edi, edi
lea esi, [ebp - 0x4e8]
mov dword [ebp - 0x4f4], ebx
call fcn.00401ad5
push 0x4018dd
push 5
push 0x1c
lea eax, [ebp - 0x4b0]
push eax
mov byte [ebp - 4], bl
call fcn.0048ca68
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x510]
call fcn.00409c33
push dword [ebp - 0x50c]
call fcn.0048bcc1
mov eax, dword [ebp - 0x4f0]
pop ecx
call fcn.00495583
ret