Function at 0x40e180
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x424bd8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xdc
mov dword [ebp - 0x64], 0
xorpd xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x24], 0
push str.iphlpapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x60], eax
push str.GetAdaptersInfo
mov eax, dword [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x60], 0
je 0x40e4d2
cmp dword [ebp - 0x40], 0
je 0x40e4d2
mov ecx, 1
test ecx, ecx
je 0x40e4d2
mov dword [ebp - 0x2c], 0x288
push 0x288
call fcn.004171ae
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x40e4d2
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x18]
push eax
call dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x6f
jne 0x40e25b
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00417176
add esp, 4
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004171ae
add esp, 4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x40e4c6
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x10], edx
jmp 0x40e275
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
je 0x40e4c6
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x1a0], 6
jne 0x40e297
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x190], 6
je 0x40e299
jmp 0x40e26d
mov ecx, dword [ebp - 0x10]
add ecx, 0x10c
push ecx
lea ecx, [ebp - 0x5c]
call fcn.00405ba6
mov dword [ebp - 4], 0
cmp dword [ebp - 0x48], 0x10
jb 0x40e2c6
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x3c], eax
jmp 0x40e2cc
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x48], 0x10
jb 0x40e2e6
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x30], ecx
jmp 0x40e2ec
lea edx, [ebp - 0x5c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x48], 0x10
jb 0x40e312
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], eax
jmp 0x40e318
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x74], edx
push 0x41a452
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x74]
push edx
lea eax, [ebp - 0x88]
push eax
call fcn.00413210
add esp, 0x14
push 0
push str.bluetooth
lea ecx, [ebp - 0x5c]
call fcn.0040f0e0
cmp eax, dword [0x42b5d4]
jne 0x40e383
push 0
push str.virtual
lea ecx, [ebp - 0x5c]
call fcn.0040f0e0
cmp eax, dword [0x42b5d4]
jne 0x40e383
push 0
push str.vmware
lea ecx, [ebp - 0x5c]
call fcn.0040f0e0
cmp eax, dword [0x42b5d4]
je 0x40e39b
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x5c]
call fcn.00406627
jmp 0x40e26d
push 4
mov ecx, dword [ebp - 0x10]
add ecx, 0x194
push ecx
push 0x42b92c
call fcn.00418933
add esp, 0xc
test eax, eax
je 0x40e3d5
push 4
mov edx, dword [ebp - 0x10]
add edx, 0x194
push edx
push 0x42b934
call fcn.00418933
add esp, 0xc
test eax, eax
jne 0x40e3ed
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x5c]
call fcn.00406627
jmp 0x40e26d
mov byte [ebp - 0x11], 0
mov dword [ebp - 0x28], 0
jmp 0x40e403
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x24]
jae 0x40e439
push 6
mov edx, dword [ebp - 0x10]
add edx, 0x194
push edx
mov eax, dword [ebp - 0x28]
imul eax, eax, 6
lea ecx, [ebp + eax - 0xe8]
push ecx
call fcn.00418933
add esp, 0xc
test eax, eax
jne 0x40e437
mov byte [ebp - 0x11], 1
jmp 0x40e439
jmp 0x40e3fa
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x40e493
mov eax, dword [ebp - 0x24]
imul eax, eax, 6
lea ecx, [ebp + eax - 0xe8]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
push 6
mov eax, dword [ebp - 0x10]
add eax, 0x194
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00417240
add esp, 0xc
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x20]
push eax
push 6
mov ecx, dword [ebp - 0x10]
add ecx, 0x194
push ecx
call fcn.0040e0f0
add esp, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x24], 0x10
jne 0x40e4ae
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x5c]
call fcn.00406627
jmp 0x40e4c6
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x5c]
call fcn.00406627
jmp 0x40e26d
mov edx, dword [ebp - 0x18]
push edx
call fcn.00417176
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
push 4
lea edx, [ebp - 0x24]
push edx
call fcn.0040e0f0
add esp, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x44], 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x44]
push eax
push 0
push 0
push 0x42b93c
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x40e530
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x20]
push edx
push 4
lea eax, [ebp - 0x44]
push eax
call fcn.0040e0f0
add esp, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x20]
push edx
push str._I64u
mov eax, dword [ebp + 8]
push eax
call fcn.0040cbc0
add esp, 0x10
mov ecx, dword [ebp - 0x64]
or ecx, 1
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret