Function at 0x14000ffc8
Capabilities:
Get disk size

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rdi, rdx
mov rbx, rcx
lea rdx, str.LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JR0hBb0dCQU1nbVFCVkVVNlNQY1FHN082RVpqVXlmSFNJc2EzaWNlQUJnYnZWRHJMakd3UWM4SFp1Qlo3ZkEKREE3UG5KZDJsK1ppWEErUTI0ZEw2ZHg3UURSdVMrWVVMTUVFUUYxdXprZHk0OC8zSnNzei85Zk1PTVlQbUY5Uwp1M0NsSGNtaG0veGVNQ2hGWS9sMHY5WGthUURITW5PazNyOC9HczJPcWhzNkNOczQ4VlBsQWdFRAotLS0tLUVORCBSU0EgUFVCTElDIEtFWS0tLS0tCg
lea rcx, [rbp + 0x38]
call fcn.140001cb0
nop
lea rax, [rbp - 0x40]
mov qword [rbp - 0x18], rax
lea rdx, str.83decddbc8cdd8cd91
lea rcx, [rbp - 0x40]
call fcn.140001cb0
nop
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.140020f5c
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.140020928
nop
mov rdx, qword [rax]
lea rcx, [rbp + 0x30]
call fcn.14001716c
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
or r14d, 0xffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140010061
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140010081
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbp + 0x30]
cmp dword [rax - 0x10], 0
jne 0x140010113
lea rax, [rbp - 0x28]
mov qword [rbp - 8], rax
lea rdx, str.83c5c2cac3cfc1c8c0c5c2c991
lea rcx, [rbp - 0x28]
call fcn.140001cb0
nop
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.140020f5c
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.140020928
nop
mov rdx, qword [rax]
lea rcx, [rbp + 0x30]
call fcn.1400171ec
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x1400100f3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140010113
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov ecx, 0x38
call fcn.1400b97c8
mov rbx, rax
mov qword [rbp - 8], rax
test rax, rax
je 0x14001015c
mov rcx, rax
call fcn.1400019cc
nop
mov byte [rbx + 0x18], 0
and qword [rbx + 0x20], 0
and qword [rbx + 0x28], 0
and dword [rbx + 0x30], 0
mov byte [rbx + 0x34], 0
call fcn.14005ca70
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400354b8
nop
jmp 0x14001015e
xor ebx, ebx
mov r8, rdi
lea rdx, [rbp + 0x30]
mov rcx, rbx
call fcn.140035b74
mov qword [rbp - 8], rbx
test rbx, rbx
je 0x1400101e2
mov byte [rbx + 0x18], 0
mov eax, dword [0x14019fd80]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub ecx, edx
cmp ecx, 7
jne 0x1400101ac
call fcn.1400b99c8
mov dword [0x14019fd80], eax
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1400101bf
call fcn.14005bec0
and qword [rbx + 0x28], 0
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1400101d2
call fcn.14005c940
and qword [rbx + 0x20], 0
mov rcx, rbx
call fcn.140001a6c
mov rcx, rbx
call fcn.1400b8ff4
mov eax, dword [0x14019fd80]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub ecx, eax
cmp ecx, 5
jne 0x140010223
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
nop
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140010244
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140010264
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x90]
add rsp, 0x70
pop r14
pop rdi
pop rbp
ret