Function at 0x10010da0
Capabilities:
Get disk information
Get disk size

Disassembly:
push ebp
lea ebp, [esp - 0x214]
sub esp, 0x214
push 0xfffffffffffffffe
push 0x1016c1a8
push 0x10118480
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x1017455c]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0x210], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov edi, ecx
mov esi, edx
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov byte [ebp + 0x108], bl
push 0x104
push ebx
lea eax, [ebp + 0x109]
push eax
call fcn.10116880
mov byte [ebp], bl
push 0x104
push ebx
lea ecx, [ebp + 1]
push ecx
call fcn.10116880
add esp, 0x18
mov dword [ebp - 4], ebx
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
call ebx
test edi, edi
je 0x1001108c
cmp byte [edi], 0
je 0x1001108c
push 0x48
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1001108c
push 0x48
push esi
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x1001108c
push 0x48
push eax
push esi
call fcn.10116880
add esp, 0xc
lea edx, [ebp + 0x108]
push edx
push edi
call fcn.10010ce0
test eax, eax
je 0x10011090
lea eax, [ebp + 0x108]
push eax
call fcn.1010f90d
add esp, 4
mov dword [esi + 0x10], eax
test eax, eax
jne 0x10010e94
push 0xe
jmp 0x1001108e
push eax
call dword [0x101905d4]
mov dword [esi + 0x20], eax
mov ecx, dword [esi + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov dword [esi + 0x24], eax
lea edx, [ebp + 0x108]
push edx
mov eax, dword [esi + 0x10]
push eax
call fcn.10010d40
test eax, eax
je 0x10011090
lea ecx, [ebp + 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp + eax + 0x107], 0
lea edx, [ebp + 0x108]
push edx
call fcn.1010f90d
add esp, 4
mov dword [esi + 0x14], eax
test eax, eax
je 0x10010e8d
lea edi, [esi + 0x34]
lea ebx, [esi + 0x38]
lea eax, [esi + 0x2c]
lea ecx, [esi + 0x28]
push edi
push ebx
push eax
push ecx
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceA]
test eax, eax
je 0x10011090
mov ecx, dword [esi + 0x28]
imul ecx, dword [esi + 0x2c]
mov dword [esi + 0x30], ecx
mov edx, dword [edi]
sub edx, dword [ebx]
mov dword [esi + 0x3c], edx
push 0x105
push 0
lea eax, [ebp + 0x108]
push eax
call fcn.10116880
push 0x105
push 0
lea ecx, [ebp]
push ecx
call fcn.10116880
add esp, 0x18
push 0x105
lea edx, [ebp]
push edx
lea eax, [esi + 0x44]
push eax
push 0
lea ecx, [esi + 0x1c]
push ecx
push 0x105
lea edx, [ebp + 0x108]
push edx
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
je 0x10011090
cmp byte [ebp + 0x108], 0
je 0x10010fa4
lea ecx, [ebp + 0x108]
push ecx
call fcn.1010f90d
add esp, 4
mov dword [esi + 0x18], eax
test eax, eax
jne 0x10010fa4
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x10011090
push 0x20000000
push 3
push 7
push closesocket
mov edi, dword [esi + 0x14]
call fcn.10033690
add esp, 0x10
mov dword [esi], eax
call fcn.1004cb20
test eax, eax
je 0x10011090
mov dword [esi + 0x40], 0
push 0x10149b74
lea edx, [ebp]
push edx
call fcn.1011c280
add esp, 8
test eax, eax
jne 0x10010ff4
mov dword [esi + 0x40], 1
jmp 0x10011083
push 0x10149b7c
lea eax, [ebp]
push eax
call fcn.1011c280
add esp, 8
test eax, eax
je 0x10011078
push 0x10149b80
lea ecx, [ebp]
push ecx
call fcn.1011c280
add esp, 8
test eax, eax
je 0x10011078
push str.exFAT
lea edx, [ebp]
push edx
call fcn.1011c280
add esp, 8
test eax, eax
jne 0x1001103c
mov dword [esi + 0x40], 2
jmp 0x10011083
push str.HPFS
lea eax, [ebp]
push eax
call fcn.1011c280
add esp, 8
test eax, eax
jne 0x1001105a
mov dword [esi + 0x40], 6
jmp 0x10011083
push str.CDFS
lea ecx, [ebp]
push ecx
call fcn.1011c280
add esp, 8
test eax, eax
jne 0x10011083
mov dword [esi + 0x40], 7
jmp 0x10011083
mov ecx, esi
call fcn.10010750
test eax, eax
je 0x10011090
mov dword [ebp - 0x1c], 1
jmp 0x10011090
push 0x57
call ebx
mov dword [ebp - 4], 0xfffffffe
call fcn.100110c3
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x210]
xor ecx, ebp
call fcn.1010d699
add ebp, 0x214
mov esp, ebp
pop ebp
ret