Function at 0x10acb80
Capabilities:
Get disk size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x10]
sub esp, 0x20
cmp eax, 0xb
ja case.default.0x10acb96
push esi
push edi
jmp dword [eax*4 + 0x10acf70]
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x438]
mov edi, dword [ebp + 8]
and eax, 0xfffffefe
or eax, 0x9e
mov dword [esi + 0x438], eax
mov ecx, dword [edi + 8]
mov edx, dword [ecx]
mov cl, byte [edx + 0x26b22]
cmp cl, 3
je 0x10acbd5
cmp cl, 2
je 0x10acbd5
and eax, 0xfffffdff
jmp 0x10acbda
or eax, 0x200
mov dword [esi + 0x438], eax
mov edx, dword [edi + 8]
push 0
lea eax, [ebp - 0x10]
push eax
mov eax, dword [edx]
lea ecx, [ebp - 8]
push ecx
add eax, 0x26796
push eax
call dword [sym.imp.KERNEL32.DLL_GetDiskFreeSpaceExW]
test eax, eax
je 0x10acc17
cmp dword [ebp - 4], 1
ja 0x10acc17
jb 0x10acc0d
cmp dword [ebp - 8], 0
jae 0x10acc17
or dword [esi + 0x438], 0x200
test byte [esi + 0x154], 2
je 0x10acc29
or dword [esi + 0x438], 0x20
jmp 0x10acc30
and dword [esi + 0x438], 0xffffffdf
mov eax, dword [esi + 0x438]
and eax, 0xffffffbf
or eax, 0x3c00
mov dword [esi + 0x438], eax
mov ecx, dword [edi + 8]
mov edx, dword [ecx]
mov cl, byte [edx + 0x26b22]
cmp cl, 3
je 0x10acc60
cmp cl, 2
je 0x10acc60
or eax, 0x4000
jmp 0x10acc65
and eax, 0xffffbfff
or dword [esi + 0x3b4], 0x200
pop edi
mov dword [esi + 0x438], eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [ebp + 8]
mov eax, dword [edi + 8]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x2e4]
lea edx, [ebp - 0x20]
push edx
call eax
movzx ecx, word [ebp - 0x18]
mov esi, dword [ebp + 0xc]
add ecx, 4
mov dword [esi + 0x1c0], 0
mov dword [esi + 0x1c4], ecx
mov edx, dword [edi + 8]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x298]
call ecx
xor edx, edx
mov ecx, 0x3c
div ecx
pop edi
mov dword [esi + 0x1bc], 1
mov dword [esi + 0x1c8], edx
mov edx, dword [esi + 0x1b4]
and edx, 0xffffffbf
or edx, 0x3f
mov dword [esi + 0x1b4], edx
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x1b8]
mov edx, dword [ebp + 8]
and eax, 0xffffff3f
or eax, 0x117
mov dword [ecx + 0x1b8], eax
mov edx, dword [edx + 8]
mov edx, dword [edx]
mov dl, byte [edx + 0x26b22]
cmp dl, 3
je 0x10acd32
cmp dl, 2
je 0x10acd32
and eax, 0xffffffdf
or eax, 8
pop edi
mov dword [ecx + 0x1b8], eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
and eax, 0xfffffff7
or eax, 0x20
pop edi
mov dword [ecx + 0x1b8], eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov edx, dword [ecx]
mov al, byte [edx + 0x26b22]
cmp al, 3
je 0x10acd7b
cmp al, 2
je 0x10acd7b
mov eax, dword [ebp + 0xc]
pop edi
mov dword [eax + 0x730], 2
mov dword [eax + 0x734], 1
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
pop edi
mov dword [eax + 0x730], 0
mov dword [eax + 0x734], 1
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x3b4]
mov edi, dword [ebp + 8]
and eax, 0xffffff3f
or eax, 0x133
mov dword [esi + 0x40c], 0
mov dword [esi + 0x3b4], eax
mov ecx, dword [edi + 8]
push 0xb
push ecx
call fcn.010a5b20
test eax, eax
jne 0x10acddc
cmp dword [edi + 0x2a088], eax
je 0x10acddc
mov eax, 1
and dword [esi + 0x3b4], 0xfffffff7
mov ecx, dword [esi + 0x3b4]
mov dword [esi + 0xcc], eax
test eax, eax
je 0x10acdf8
and ecx, 0xfffffffb
jmp 0x10acdfb
or ecx, 4
mov dword [esi + 0x3b4], ecx
or dword [esi + 0x3b4], 0x200
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [ebp + 0xc]
push 0x82
lea edx, [esi + 0x204]
push 0
push edx
mov dword [esi + 0x1f8], 0
mov dword [esi + 0x1fc], 0
mov dword [esi + 0x200], 0
call sub.msvcrt.dll_memset
push 0x82
lea eax, [esi + 0x286]
push 0
push eax
call sub.msvcrt.dll_memset
push 0x82
push 0
add esi, 0x308
push esi
call sub.msvcrt.dll_memset
add esp, 0x24
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push ecx
push edx
call fcn.01059d50
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
or dword [eax + 0x6a0], 0x3f
pop edi
mov dword [eax + 0x6a8], 1
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x6d4]
and ecx, 0xfffffff7
or ecx, 0x17
pop edi
mov dword [eax + 0x6d4], ecx
mov dword [eax + 0x6d8], 1
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.01096880
test eax, eax
mov eax, dword [ebp + 0xc]
mov ecx, 1
je 0x10acf04
and dword [eax + 0xcc0], 0xfffffffe
or dword [eax + 0xcc0], 0xe
pop edi
mov dword [eax + 0xcc4], ecx
pop esi
mov esp, ebp
pop ebp
ret 0xc
or dword [eax + 0xcc0], ecx
or dword [eax + 0xcc0], 0xe
pop edi
mov dword [eax + 0xcc4], ecx
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc90]
and ecx, 0xffffffdf
or ecx, 0x1f
pop edi
mov dword [eax + 0xc90], ecx
mov dword [eax + 0xc94], 1
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xcf0]
and edx, 0xffffffbf
or edx, 0xbf
mov dword [eax + 0xcf0], edx
mov dword [eax + 0xcf4], 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc