Function at 0x1007692
Capabilities:
Get disk size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x154
mov eax, dword [0x1014c68]
or dword [0x101499c], 0xffffffff
or dword [0x10149bc], 0xffffffff
push edi
push 0x1014aa2
push 0x1014850
mov edi, 0x10149d6
push edi
mov dword [ebp - 4], eax
call fcn.0100a762
test eax, eax
jne 0x10076e0
push 0x5c
push 0x1001d30
push 0x1001ce0
call fcn.01005dcd
jmp 0x10076ef
mov eax, dword [0x1014850]
cmp eax, 1
je 0x10076f6
cmp eax, 3
je 0x10076f6
xor eax, eax
jmp 0x100794e
push esi
xor esi, esi
push esi
push 0x20000080
push 3
push esi
push 3
push 0x80000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [0x101499c], eax
jne 0x1007732
push 0x6e
push 0x1001d30
push 0x1001ce0
call fcn.01005dcd
xor eax, eax
jmp 0x100794d
push 0x10012ec
push edi
lea eax, [ebp - 0x134]
push 0x1001cd0
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
jne 0x100777e
push 0x7d
jmp 0x100771c
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x154]
mov edi, eax
imul edi, ecx
mov dword [0x1014200], eax
imul eax, edx
push ebx
push esi
mov dword [0x10141f0], edx
mov dword [0x1014208], edi
xor edx, edx
mov edi, ecx
sub edi, dword [ebp - 0x150]
push 0x20
mov dword [0x10141f8], eax
mov eax, ecx
push edx
shr ecx, 1
push eax
mov dword [0x10141f4], esi
mov dword [0x1014204], esi
mov dword [0x101420c], esi
mov dword [0x10141fc], esi
mov dword [0x1014210], eax
mov dword [0x1014214], edx
mov dword [0x10142c0], esi
mov dword [0x10142c4], esi
mov dword [0x10142c8], esi
mov dword [0x10142cc], esi
mov dword [0x1014c34], esi
mov dword [0x1014c40], esi
mov dword [0x1014218], edi
mov dword [0x101421c], esi
mov dword [0x1014328], ecx
mov dword [0x101432c], esi
call fcn.01012760
mov edi, eax
xor eax, eax
or ecx, ebx
mov dword [ebp - 0x144], edx
je 0x1007835
inc eax
cdq
add eax, edi
adc edx, dword [ebp - 0x144]
push esi
add eax, 1
push 0x20
adc edx, esi
push edx
push eax
call fcn.01012650
mov dword [0x10141e8], eax
xor eax, eax
mov ax, word [0x10149d4]
mov dword [0x10141ec], edx
mov dword [0x1014408], esi
mov dword [0x101440c], esi
mov dword [0x1014410], esi
mov dword [0x1014414], esi
push eax
call fcn.0100ae93
test eax, eax
je 0x1007949
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0xcc]
push eax
push 0x1001cac
mov edi, 0x1001c50
push edi
lea eax, [ebp - 0x138]
push eax
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], 0xc8
call fcn.0100b682
push dword [ebp - 0x138]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x144], eax
call ebx
cmp dword [ebp - 0x144], esi
jne 0x10078f1
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
cdq
pop ecx
mov dword [0x1014408], eax
mov dword [0x101440c], edx
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0xcc]
push eax
push 0x1001c30
push edi
lea eax, [ebp - 0x138]
push eax
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], 0xc8
call fcn.0100b682
push dword [ebp - 0x138]
mov edi, eax
call ebx
cmp edi, esi
jne 0x1007949
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
cdq
pop ecx
mov dword [0x1014410], eax
mov dword [0x1014414], edx
xor eax, eax
inc eax
pop ebx
pop esi
mov ecx, dword [ebp - 4]
pop edi
call fcn.01012308
leave
ret