Function at 0x10004daf
Capabilities:
Get disk information

Disassembly:
push 0x44
mov eax, 0x100bc130
call fcn.1008b701
mov edi, edx
mov dword [ebp - 0x2c], edi
mov esi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x14]
push 0x100d0a34
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
call fcn.100055e9
mov dword [ebp - 4], ebx
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x18], ebx
jb 0x10004de5
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x18]
call fcn.100055e9
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.1000598a
mov ecx, eax
call fcn.10005926
mov edx, dword [ebp - 0x18]
cmp dword [edx - 0xc], 2
jle 0x100050c2
cmp dword [edx - 0xc], 1
jge 0x10004e1e
push 0x80070057
call fcn.10001e48
cmp word [edx + 2], 0x3a
jne 0x100050c2
cmp dword [edx - 0xc], 2
jl 0x10004e14
cmp word [edx + 4], 0x5c
jne 0x100050c2
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
call fcn.10004b98
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x24]
cmp dword [eax - 0xc], 0
je 0x10004e9a
push eax
lea eax, [ebp - 0x14]
push 0x100d20d0
push eax
call fcn.10005d4b
mov esi, dword [ebp - 0x14]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x10004e7b
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.10005641
jmp 0x100050b5
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0x96
jle 0x10004ead
mov esi, 0x100d20fc
jmp 0x10004ecf
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.10004c82
pop ecx
test eax, eax
jne 0x10004ee4
mov esi, 0x100d2128
push esi
call fcn.10001a38
pop ecx
push eax
push esi
mov ecx, edi
call fcn.10001dcf
jmp 0x100050b5
push 3
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
call fcn.10005534
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.1000559b
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 0x10004f25
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.10004d53
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.100b17b0
mov esi, eax
mov dword [ebp - 0x20], ebx
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x100f8d30]
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 0x10004ff1
comisd xmm0, xmmword [0x100f8d58]
push 0x100d2158
lea eax, [ebp - 0x1c]
push eax
jbe 0x10004fd7
call fcn.10005d4b
movsd xmm0, qword [ebp - 0x38]
lea eax, [ebp - 0x20]
movsd qword [esp], xmm0
push edi
push 0x100d2174
push eax
call fcn.10005d4b
add esp, 0x14
jmp 0x1000502d
call fcn.10005d4b
push esi
push edi
lea eax, [ebp - 0x20]
push 0x100d21b0
push eax
call fcn.10005d4b
add esp, 0x18
jmp 0x1000502d
comisd xmm0, xmmword [0x100f8d58]
lea eax, [ebp - 0x20]
jbe 0x10005016
push ecx
push ecx
movsd qword [esp], xmm0
push edi
push 0x100d2174
push eax
call fcn.10005d4b
add esp, 0x14
jmp 0x10005026
push esi
push edi
push 0x100d21b0
push eax
call fcn.10005d4b
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 0x10005057
cmp eax, 2
je 0x10005046
cmp eax, 5
jne 0x10005063
push 0x21
push 0x100d21e8
lea ecx, [ebp - 0x14]
call fcn.10005bd6
jmp 0x10005063
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x14]
call fcn.1000559b
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], ebx
jne 0x10005070
xor ebx, ebx
inc ebx
jmp 0x1000509f
cmp dword [esi - 4], 1
jle 0x10005084
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.10005641
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 0x100050d7
mov esi, 0x100d20a4
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.1008b6ab
ret