Function at 0x10004e00
Capabilities:
Get disk information

Disassembly:
push 0x44
mov eax, 0x100bc650
call fcn.1008bbf4
mov edi, edx
mov dword [ebp - 0x2c], edi
mov esi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x14]
push 0x100d1a34
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
call fcn.1000563a
mov dword [ebp - 4], ebx
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x18], ebx
jb 0x10004e36
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x18]
call fcn.1000563a
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.100059db
mov ecx, eax
call fcn.10005977
mov edx, dword [ebp - 0x18]
cmp dword [edx - 0xc], 2
jle 0x10005113
cmp dword [edx - 0xc], 1
jge 0x10004e6f
push 0x80070057
call fcn.10001e48
cmp word [edx + 2], 0x3a
jne 0x10005113
cmp dword [edx - 0xc], 2
jl 0x10004e65
cmp word [edx + 4], 0x5c
jne 0x10005113
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
call fcn.10004be9
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x24]
cmp dword [eax - 0xc], 0
je 0x10004eeb
push eax
lea eax, [ebp - 0x14]
push 0x100d30d0
push eax
call fcn.10005d9c
mov esi, dword [ebp - 0x14]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x10004ecc
push dword [esi - 0xc]
lea ecx, [ebp - 0x14]
call fcn.100018fb
mov esi, dword [ebp - 0x14]
push esi
call fcn.10001a38
pop ecx
push eax
push esi
mov ecx, edi
call fcn.10001dcf
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.10005692
jmp 0x10005106
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0x96
jle 0x10004efe
mov esi, 0x100d30fc
jmp 0x10004f20
push ecx
mov esi, esp
lea ecx, [eax - 0x10]
mov dword [ebp - 0x1c], esi
call fcn.1000158b
add eax, 0x10
mov dword [esi], eax
call fcn.10004cd3
pop ecx
test eax, eax
jne 0x10004f35
mov esi, 0x100d3128
push esi
call fcn.10001a38
pop ecx
push eax
push esi
mov ecx, edi
call fcn.10001dcf
jmp 0x10005106
push 3
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
call fcn.10005585
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.100055ec
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.100018e3
mov eax, dword [ebp - 0x18]
cmp dword [eax - 4], 1
jle 0x10004f76
push dword [eax - 0xc]
lea ecx, [ebp - 0x18]
call fcn.100018fb
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x50]
call fcn.100028b0
lea ecx, [ebp - 0x50]
call fcn.10004da4
push ebx
push 1
lea ecx, [ebp - 0x50]
mov edi, eax
mov esi, edx
call fcn.10001f43
push ebx
push 0x100000
push esi
push edi
call fcn.100b1cd0
mov esi, eax
mov dword [ebp - 0x20], ebx
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x100f9d70]
movsd qword [ebp - 0x38], xmm0
call fcn.100017c6
push eax
lea ecx, [ebp - 0x20]
call fcn.10001562
mov byte [ebp - 4], 4
mov dword [ebp - 0x1c], ebx
call fcn.100017c6
push eax
lea ecx, [ebp - 0x1c]
call fcn.10001562
movsd xmm0, qword [ebp - 0x38]
mov edi, 0x1f4
mov byte [ebp - 4], 5
cmp esi, edi
jge 0x10005042
comisd xmm0, xmmword [0x100f9d98]
push 0x100d3158
lea eax, [ebp - 0x1c]
push eax
jbe 0x10005028
call fcn.10005d9c
movsd xmm0, qword [ebp - 0x38]
lea eax, [ebp - 0x20]
movsd qword [esp], xmm0
push edi
push 0x100d3174
push eax
call fcn.10005d9c
add esp, 0x14
jmp 0x1000507e
call fcn.10005d9c
push esi
push edi
lea eax, [ebp - 0x20]
push 0x100d31b0
push eax
call fcn.10005d9c
add esp, 0x18
jmp 0x1000507e
comisd xmm0, xmmword [0x100f9d98]
lea eax, [ebp - 0x20]
jbe 0x10005067
push ecx
push ecx
movsd qword [esp], xmm0
push edi
push 0x100d3174
push eax
call fcn.10005d9c
add esp, 0x14
jmp 0x10005077
push esi
push edi
push 0x100d31b0
push eax
call fcn.10005d9c
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 0x100050a8
cmp eax, 2
je 0x10005097
cmp eax, 5
jne 0x100050b4
push 0x21
push 0x100d31e8
lea ecx, [ebp - 0x14]
call fcn.10005c27
jmp 0x100050b4
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x14]
call fcn.100055ec
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], ebx
jne 0x100050c1
xor ebx, ebx
inc ebx
jmp 0x100050f0
cmp dword [esi - 4], 1
jle 0x100050d5
push dword [esi - 0xc]
lea ecx, [ebp - 0x14]
call fcn.100018fb
mov esi, dword [ebp - 0x14]
push esi
call fcn.10001a38
pop ecx
mov ecx, dword [ebp - 0x2c]
push eax
push esi
call fcn.10001dcf
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.10005692
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.100018e3
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.100018e3
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.100018e3
jmp 0x10005128
mov esi, 0x100d30a4
push esi
call fcn.10001a38
pop ecx
push eax
push esi
mov ecx, edi
call fcn.10001dcf
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.100018e3
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.100018e3
mov eax, ebx
call fcn.1008bb9e
ret