Function at 0x452d50
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8ae08e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x260
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x250]
call fcn.004e4b6c
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x164]
add ecx, 0x19c
mov edx, dword [ebp + 8]
cmp edx, ecx
je 0x452e5e
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x250]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x248]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
je 0x452e2a
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 2
mov dword [ebp - 4], 3
mov dword [ebp - 4], 2
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x452de0
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x18], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x24c], eax
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
shr eax, cl
test al, 1
je 0x4530a8
mov al, byte [0x9ebfcc]
test al, al
je 0x452e8f
mov esi, ecx
lea eax, [esi + 0x41]
mov dword [ebp - 0x18], eax
jmp 0x452eaa
mov esi, ecx
lea eax, [esi + 0x41]
movsx edx, al
mov dword [ebp - 0x18], eax
push edx
call fcn.0043c63c
pop ecx
cmp eax, 4
je 0x4530a8
mov al, byte [0x9ec1c0]
test al, al
jne 0x452ec9
mov eax, dword [ebp - 0x18]
movsx edx, al
push edx
call fcn.0043c63c
pop ecx
cmp eax, 2
je 0x4530a8
lea edx, [ebp - 0x240]
mov eax, dword [ebp - 0x18]
push eax
push 0x9fb1a4
push edx
call fcn.0089882d
add esp, 0xc
add esp, 0xfffffff8
mov ecx, esp
lea eax, [ebp - 0x240]
push eax
call fcn.004061ac
lea ecx, [ebp - 0x250]
xor eax, eax
mov word [esp + 4], ax
call fcn.004e83f4
xor eax, eax
lea ecx, [ebp - 0x240]
lea edx, [ebp - 0x13c]
mov byte [ebp - 0x13c], al
lea esi, [ebp - 0x3c]
push eax
push eax
push esi
push eax
push eax
push 0x100
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
je 0x452f5c
mov al, byte [ebp - 0x13c]
test al, al
je 0x452f5c
lea ecx, [ebp - 0x240]
lea edx, [ebp - 0x13c]
mov eax, dword [ebp - 0x18]
push eax
push edx
push 0x9fb1ac
push ecx
call fcn.0089882d
add esp, 0x10
jmp 0x452f74
lea edx, [ebp - 0x240]
mov eax, dword [ebp - 0x18]
push eax
push 0x9f6a94
push edx
call fcn.0089882d
add esp, 0xc
lea ecx, [ebp - 0x250]
call fcn.004e9ec8
movzx eax, al
test eax, eax
je 0x452f9e
lea edx, [ebp - 0x240]
mov eax, dword [ebp - 0x18]
push eax
push 0x9fb1b8
push edx
call fcn.0089882d
add esp, 0xc
mov dword [ebp - 0x38], 0
push 0x10
call fcn.00898760
mov dword [ebp - 0x1c], eax
add esp, 4
test eax, eax
mov dword [ebp - 0x34], eax
je 0x453187
mov dword [ebp - 0x38], 1
mov dword [ebp - 4], 4
mov ecx, eax
call fcn.004e4b6c
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x250]
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.004e2d98
lea ebx, [ebp - 0x240]
xor eax, eax
mov edx, dword [ebp - 0x1c]
push eax
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
push eax
mov ecx, dword [edi + 0x164]
push edx
push ebx
push esi
call fcn.00430bc0
mov esi, eax
mov edx, dword [ebp - 0x18]
movsx ecx, dl
push ecx
call fcn.0043c63c
pop ecx
cmp eax, 3
jne 0x45302b
mov ebx, 0xf
jmp 0x45303c
cmp eax, 2
jne 0x453037
mov ebx, 0xd
jmp 0x45303c
mov ebx, 0xe
test esi, esi
je 0x4530a8
push dword [esi + 0x10]
mov ecx, edi
call fcn.004509f0
movzx edx, al
test edx, edx
je 0x4530a2
cmp ebx, 0xc
je 0x453191
cmp ebx, 0xd
je 0x453174
cmp ebx, 0xe
je 0x453092
cmp ebx, 0xf
jne 0x45307d
mov dword [esi + 0x18], 7
mov dword [esi + 0x1c], 6
jmp 0x4530a8
cmp ebx, 0x10
jne 0x4530a8
mov dword [esi + 0x18], 9
mov dword [esi + 0x1c], 8
jmp 0x4530a8
mov dword [esi + 0x18], 5
mov dword [esi + 0x1c], 4
jmp 0x4530a8
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov eax, dword [ebp - 0x14]
inc eax
cmp eax, 0x1a
mov dword [ebp - 0x14], eax
jl 0x452e6c
mov eax, dword [ebp + 8]
mov byte [eax + 0x30], 1
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x250]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x248]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
je 0x453140
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x254], eax
mov dword [ebp - 4], 6
mov dword [ebp - 4], 7
mov dword [ebp - 4], 6
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x4530f6
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x18], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x24c], eax
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
mov dword [esi + 0x18], 3
mov dword [esi + 0x1c], 2
jmp 0x4530a8
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x452fd9
mov dword [esi + 0x18], 1
mov dword [esi + 0x1c], 0
jmp 0x4530a8