Function at 0x10004e10
Capabilities:
Get disk information

Disassembly:
push 0x44
mov eax, 0x100bd280
call fcn.1008c851
mov edi, edx
mov dword [ebp - 0x2c], edi
mov esi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x14]
push 0x100d2a54
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
call fcn.1000564f
mov dword [ebp - 4], ebx
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x18], ebx
jb 0x10004e46
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x18]
call fcn.1000564f
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.100059f0
mov ecx, eax
call fcn.1000598c
mov edx, dword [ebp - 0x18]
cmp dword [edx - 0xc], 2
jle 0x10005123
cmp dword [edx - 0xc], 1
jge 0x10004e7f
push 0x80070057
call fcn.10001e58
cmp word [edx + 2], 0x3a
jne 0x10005123
cmp dword [edx - 0xc], 2
jl 0x10004e75
cmp word [edx + 4], 0x5c
jne 0x10005123
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
call fcn.10004bf9
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x24]
cmp dword [eax - 0xc], 0
je 0x10004efb
push eax
lea eax, [ebp - 0x14]
push 0x100d40f0
push eax
call fcn.10005db1
mov esi, dword [ebp - 0x14]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x10004edc
push dword [esi - 0xc]
lea ecx, [ebp - 0x14]
call fcn.1000190b
mov esi, dword [ebp - 0x14]
push esi
call fcn.10001a48
pop ecx
push eax
push esi
mov ecx, edi
call fcn.10001ddf
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.100056a7
jmp 0x10005116
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0x96
jle 0x10004f0e
mov esi, 0x100d411c
jmp 0x10004f30
push ecx
mov esi, esp
lea ecx, [eax - 0x10]
mov dword [ebp - 0x1c], esi
call fcn.1000159b
add eax, 0x10
mov dword [esi], eax
call fcn.10004ce3
pop ecx
test eax, eax
jne 0x10004f45
mov esi, 0x100d4148
push esi
call fcn.10001a48
pop ecx
push eax
push esi
mov ecx, edi
call fcn.10001ddf
jmp 0x10005116
push 3
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000559a
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.10005601
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.100018f3
mov eax, dword [ebp - 0x18]
cmp dword [eax - 4], 1
jle 0x10004f86
push dword [eax - 0xc]
lea ecx, [ebp - 0x18]
call fcn.1000190b
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x50]
call fcn.100028c0
lea ecx, [ebp - 0x50]
call fcn.10004db4
push ebx
push 1
lea ecx, [ebp - 0x50]
mov edi, eax
mov esi, edx
call fcn.10001f53
push ebx
push 0x100000
push esi
push edi
call fcn.100b2900
mov esi, eax
mov dword [ebp - 0x20], ebx
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x100fb020]
movsd qword [ebp - 0x38], xmm0
call fcn.100017d6
push eax
lea ecx, [ebp - 0x20]
call fcn.10001572
mov byte [ebp - 4], 4
mov dword [ebp - 0x1c], ebx
call fcn.100017d6
push eax
lea ecx, [ebp - 0x1c]
call fcn.10001572
movsd xmm0, qword [ebp - 0x38]
mov edi, 0x1f4
mov byte [ebp - 4], 5
cmp esi, edi
jge 0x10005052
comisd xmm0, xmmword [0x100fb048]
push 0x100d4178
lea eax, [ebp - 0x1c]
push eax
jbe 0x10005038
call fcn.10005db1
movsd xmm0, qword [ebp - 0x38]
lea eax, [ebp - 0x20]
movsd qword [esp], xmm0
push edi
push 0x100d4194
push eax
call fcn.10005db1
add esp, 0x14
jmp 0x1000508e
call fcn.10005db1
push esi
push edi
lea eax, [ebp - 0x20]
push 0x100d41d0
push eax
call fcn.10005db1
add esp, 0x18
jmp 0x1000508e
comisd xmm0, xmmword [0x100fb048]
lea eax, [ebp - 0x20]
jbe 0x10005077
push ecx
push ecx
movsd qword [esp], xmm0
push edi
push 0x100d4194
push eax
call fcn.10005db1
add esp, 0x14
jmp 0x10005087
push esi
push edi
push 0x100d41d0
push eax
call fcn.10005db1
add esp, 0x10
mov dword [ebp - 0x28], 1
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp dword [ebp - 0x28], 0
je 0x100050b8
cmp eax, 2
je 0x100050a7
cmp eax, 5
jne 0x100050c4
push 0x21
push 0x100d4208
lea ecx, [ebp - 0x14]
call fcn.10005c3c
jmp 0x100050c4
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x14]
call fcn.10005601
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], ebx
jne 0x100050d1
xor ebx, ebx
inc ebx
jmp 0x10005100
cmp dword [esi - 4], 1
jle 0x100050e5
push dword [esi - 0xc]
lea ecx, [ebp - 0x14]
call fcn.1000190b
mov esi, dword [ebp - 0x14]
push esi
call fcn.10001a48
pop ecx
mov ecx, dword [ebp - 0x2c]
push eax
push esi
call fcn.10001ddf
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.100056a7
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.100018f3
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.100018f3
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.100018f3
jmp 0x10005138
mov esi, 0x100d40c4
push esi
call fcn.10001a48
pop ecx
push eax
push esi
mov ecx, edi
call fcn.10001ddf
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.100018f3
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.100018f3
mov eax, ebx
call fcn.1008c7fb
ret