Function at 0x5acef0
Capabilities:
Get disk size

Disassembly:
push rbp
add rsp, 0xffffffffffffff80
mov rbp, rsp
mov qword [rbp + 0x38], rbp
mov qword [rbp + 0x90], rcx
mov dword [0x006931f4], 0x32a
mov eax, dword [0x006931f4]
sub eax, 0x1b6
mov dword [0x006932a0], eax
mov eax, dword [0x00693428]
add eax, dword [0x006934cc]
mov ecx, dword [0x00693514]
add ecx, dword [0x00693560]
cmp eax, ecx
jle 0x5acf40
call fcn.004096f0
mov eax, dword [0x006932a0]
add eax, 1
cmp dword [0x006932a0], eax
jne 0x5acf70
mov ecx, dword [0x00693960]
mov edx, dword [0x00693278]
mov r8d, dword [0x006932dc]
mov r9d, dword [0x006933b8]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x00693930]
mov dword [0x006935ec], eax
mov eax, dword [0x00693930]
mov dword [0x006935ec], eax
mov eax, dword [0x00693544]
cmp eax, dword [0x00693908]
je 0x5acfa2
mov eax, dword [0x00693544]
mov dword [0x00693908], eax
mov eax, dword [0x00693958]
mov dword [0x0069390c], eax
call fcn.005aa780
mov dword [0x006931f0], 0x325
mov eax, dword [0x006931f0]
sub eax, 0x1b4
mov dword [0x0069329c], eax
mov eax, dword [0x006931b4]
mov dword [0x00693948], eax
mov byte [rbp + 0x67], 0
mov eax, dword [0x006932b0]
add eax, dword [0x006932fc]
mov ecx, dword [0x00693980]
add ecx, dword [0x00693208]
cmp ecx, eax
jle 0x5ad005
mov dword [0x00693980], 0x16f
mov ecx, dword [0x00693980]
add ecx, dword [0x00693208]
cmp ecx, eax
jle 0x5ad01f
mov dword [0x00693980], 0x16f
mov eax, dword [0x0069352c]
cmp eax, dword [0x006935f8]
je 0x5ad039
mov eax, dword [0x0069352c]
mov dword [0x006935f8], eax
mov eax, dword [0x006931f0]
add eax, 1
cmp dword [0x006931f0], eax
jne 0x5ad069
mov ecx, dword [0x0069395c]
mov edx, dword [0x0069328c]
mov r8d, dword [0x006932f0]
mov r9d, dword [0x006933e4]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x006932a0]
add eax, 1
cmp dword [0x006932a0], eax
jne 0x5ad092
mov ecx, dword [0x006932d8]
mov edx, dword [0x006933e4]
mov r8d, dword [0x0069344c]
call sub.kernel32.dll_GetDiskFreeSpaceExW
call fcn.005a9670
mov rax, qword [rbp + 0x90]
mov rax, qword [rax]
mov rcx, rax
mov rax, qword [rax]
call qword [rax]
test rax, rax
jne 0x5ad1ba
call fcn.005aa780
cmp eax, dword [0x0069397c]
jle 0x5ad0c9
mov dword [0x0069397c], 0xf
mov eax, dword [0x00693978]
mov dword [0x0069392c], eax
mov dword [0x006931e8], 0x31c
mov eax, dword [0x006931e8]
sub eax, 0x1b0
mov dword [0x006932ac], eax
mov eax, dword [0x006932cc]
add eax, 1
cmp dword [0x006932cc], eax
jne 0x5ad121
mov ecx, dword [0x00693440]
mov edx, dword [0x00693548]
mov r8d, dword [0x00693928]
mov r9d, dword [0x006931b0]
call sub.advapi32.dll_CryptDuplicateKey
mov dword [0x006931e8], 0x31c
mov eax, dword [0x006931e8]
sub eax, 0x1b0
mov dword [0x006932ac], eax
mov eax, dword [0x0069350c]
cmp eax, dword [0x006935f0]
je 0x5ad157
mov eax, dword [0x0069350c]
mov dword [0x006935f0], eax
mov eax, dword [0x006934f4]
add eax, dword [0x00693540]
mov ecx, dword [0x00693904]
add ecx, dword [0x00693950]
cmp eax, ecx
jle 0x5ad17f
mov eax, dword [0x00693950]
mov dword [0x006934f4], eax
mov eax, dword [0x006931d8]
mov dword [0x0069396c], eax
mov eax, dword [0x006931d8]
add eax, dword [0x00693280]
mov ecx, dword [0x006932cc]
add ecx, dword [0x006933a8]
cmp eax, ecx
jle 0x5ad1b1
mov dword [0x006931d8], 0xab
mov byte [rbp + 0x67], 1
jmp 0x5ad599
nop
call fcn.005aba50
cmp eax, dword [0x006931e8]
jle 0x5ad1d2
mov dword [0x006931e8], 0x21
mov eax, dword [0x006931fc]
mov dword [0x00693978], eax
mov eax, dword [0x006932b4]
add eax, 1
cmp dword [0x006932b4], eax
jne 0x5ad218
mov ecx, dword [0x006934d4]
mov edx, dword [0x00693948]
mov r8d, dword [0x006931e4]
mov r9d, dword [0x006932a8]
mov eax, dword [0x0069339c]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x006934e8]
add eax, dword [0x00693530]
mov ecx, dword [0x006937f8]
add ecx, dword [0x00693940]
cmp eax, ecx
jle 0x5ad240
mov eax, dword [0x00693940]
mov dword [0x006934e8], eax
lea rcx, [rbp + 0x68]
xor edx, edx
xor r8, r8
mov r9d, 0x18
mov dword [rsp + 0x20], 0xf0000000
call qword [0x006a8ea8]
test eax, eax
je 0x5ad4d1
nop
mov rcx, qword [rbp + 0x68]
mov edx, 0x8003
xor r8, r8
xor r9, r9
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
call qword [0x006a8eb0]
test eax, eax
je 0x5ad3c1
nop
mov rax, qword [rbp + 0x90]
mov rax, qword [rax]
mov rcx, rax
mov rax, qword [rax]
call qword [rax]
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x90]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 8]
mov r8d, eax
xor r9, r9
call qword [0x006a8eb8]
test eax, eax
je 0x5ad3b6
mov rax, qword [rbp + 0x90]
mov rax, qword [rax]
mov rcx, rax
mov rax, qword [rax]
call qword [rax]
mov rcx, qword [rbp + 0x90]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 8]
mov edx, eax
lea r8, [rbp + 0x78]
lea r9, [rbp + 0x60]
mov byte [rsp + 0x20], 2
call fcn.0055a060
nop
mov dword [rbp + 0x4c], 0xffffffff
mov rcx, qword [rbp + 0x70]
mov edx, 2
xor r8, r8
lea r9, [rbp + 0x48]
mov dword [rsp + 0x20], 0
call qword [0x006a8ec0]
test eax, eax
je 0x5ad3ac
mov rcx, qword [rbp + 0x70]
mov edx, 2
lea r8, [rbp + 0x50]
lea r9, [rbp + 0x48]
mov dword [rsp + 0x20], 0
call qword [0x006a8ec0]
test eax, eax
je 0x5ad3ac
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax]
call fcn.004fd260
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax]
lea rdx, [rbp + 0x60]
mov r8d, 4
call fcn.004fbd70
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax]
mov rdx, qword [rbp + 0x78]
movsxd r8, dword [rbp + 0x60]
call fcn.004fbd70
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax]
lea rdx, [rbp + 0x4c]
mov r8d, 0x14
call fcn.004fbd70
mov byte [rbp + 0x67], 1
nop
mov rcx, qword [rbp + 0x78]
call fcn.00409060
nop
mov rcx, qword [rbp + 0x70]
call qword [0x006a8ec8]
nop
mov rcx, qword [rbp + 0x68]
xor edx, edx
call qword [0x006a8ed0]
jmp 0x5ad4d1
mov eax, dword [0x006931c0]
add eax, dword [0x0069320c]
mov ecx, dword [0x006932b8]
add ecx, dword [0x00693304]
cmp eax, ecx
jle 0x5ad4f7
mov dword [0x006931c0], 0x12
call fcn.005aa780
cmp eax, dword [0x006931c0]
jle 0x5ad50e
mov dword [0x006931c0], 0x17
call fcn.005ab920
cmp eax, dword [0x006931c0]
jle 0x5ad525
mov dword [0x006931c0], 0x18
mov eax, dword [0x00693290]
add eax, 1
cmp dword [0x00693290], eax
jne 0x5ad54e
mov ecx, dword [0x006934c0]
mov edx, dword [0x00693558]
mov r8d, dword [0x00693934]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x006934cc]
add eax, dword [0x00693518]
mov ecx, dword [0x00693564]
add ecx, dword [0x00693924]
cmp eax, ecx
jle 0x5ad576
mov eax, dword [0x00693924]
mov dword [0x006934cc], eax
call fcn.005ab920
cmp eax, dword [0x006931b8]
jle 0x5ad58d
mov dword [0x006931b8], 0x1c
mov eax, dword [0x00693988]
mov dword [0x00693924], eax
movzx rax, byte [rbp + 0x67]
lea rsp, [rbp + 0x80]
pop rbp
ret