Function at 0x1000faec
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006b702
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc8
push esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x5c], 0x46507e67
push 1
lea ecx, [ebp - 0xb8]
call fcn.100126dc
and dword [ebp - 4], 0
mov dword [ebp - 0xc8], 0xfffffffa
mov dword [ebp - 0x54], 0x6ce028f4
mov dword [ebp - 0x74], 9
mov dword [ebp - 0x28], 0xc863cc1d
push 2
lea ecx, [ebp - 0xac]
call fcn.100126dc
add dh, al
inc ebp
cld
add edi, eax
inc ebp
loopne 0x1000fb6a
inc dword [eax]
add bh, al
test dword [edi + edi*8 - 1], eax
invalid
invalid
invalid
invalid
inc edi
inc ebp
lock add byte [eax], al
add byte [eax], al
jmp 0x1000fb88
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1000fb9e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc4], 0x161ab6ec
jmp 0x1000fb81
mov dword [ebp - 0x10], 0
jmp 0x1000fbae
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1000fbc4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd4], 0xd91e
jmp 0x1000fba7
mov dword [ebp - 0x10], 0
jmp 0x1000fbd4
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jge 0x1000fbed
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb8]
call fcn.10012743
or dword [eax], 0xffffffff
jmp 0x1000fbcd
mov dword [ebp - 0x10], 0
jmp 0x1000fbfd
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1000fc19
push dword [ebp - 0x10]
lea ecx, [ebp - 0xac]
call fcn.10012743
mov dword [eax], 1
jmp 0x1000fbf6
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x20]
push 1
lea ecx, [ebp - 0xac]
call fcn.10012743
cmp esi, dword [eax]
je 0x1000fc3d
mov dword [ebp - 0x44], 1
jmp 0x1000fc41
and dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x24], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x24]
mov dword [ebp + eax - 0xd4], ecx
push 0
lea ecx, [ebp - 0xb8]
call fcn.10012743
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x44]
jne 0x1000fc7a
mov dword [ebp - 0x60], 1
jmp 0x1000fc7e
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x60], eax
je 0x1000fc8f
mov dword [ebp - 0x38], 1
jmp 0x1000fc93
and dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x38], eax
je 0x1000fca4
mov dword [ebp - 0x4c], 1
jmp 0x1000fca8
and dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x40], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x40]
mov dword [ebp + eax - 0xc4], ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x4c]
je 0x1000fcdb
mov dword [ebp - 0x6c], 1
jmp 0x1000fcdf
and dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x6c], eax
jle 0x1000fcf0
mov dword [ebp - 0x7c], 1
jmp 0x1000fcf4
and dword [ebp - 0x7c], 0
xor eax, eax
add eax, 0xfffffffd
mov dword [ebp - 0x54], eax
je 0x1000fd1f
mov byte [ebp - 0x11], 0
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1000fd1a
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
jmp 0x1000fe91
mov dword [ebp - 0x18], 0xb400765e
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 2
push 1
lea ecx, [ebp - 0xa0]
call fcn.100126dc
mov byte [ebp - 4], 2
mov dword [ebp - 0x94], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xac]
call fcn.1001273e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb8]
call fcn.1001273e
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax]
test eax, eax
je 0x1000fec9
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret