Function at 0x140020a84
Capabilities:
Get disk size

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x1400c2688]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov r13, rcx
mov edx, 0x449
call fcn.140032178
mov rbx, rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x147
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, rax
test eax, eax
js 0x140021271
movsxd r8, edi
xor r9d, r9d
mov edx, 0x150
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r14, rax
movabs rax, 0x5c003a0020
mov qword [rbp + 8], rax
mov word [rbp + 8], r14w
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x74]
lea r8, [rsp + 0x6c]
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
jne 0x140020b70
mov edx, edi
mov rcx, rbx
call fcn.1400434b4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x14e
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140021271
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x6c]
imul rcx, rax
mov edi, dword [rsp + 0x70]
imul rdi, rcx
mov ebx, dword [rsp + 0x74]
imul rbx, rcx
mov rsi, rdi
sub rsi, rbx
and dword [rbp - 4], 0
and qword [rbp], 0
lea rdx, [rbp - 8]
movzx ecx, r14w
call fcn.1400620e0
mov rax, rbx
cmp dword [rbp - 4], 1
jne 0x140020bc2
cmp qword [rbp], rbx
cmovbe rax, qword [rbp]
mov r14, rbx
sub r14, rax
jmp 0x140020bc5
xor r14d, r14d
mov r15, rdi
cmp rax, rdi
cmovbe r15, rax
call fcn.1400279a4
mov rcx, rax
test rax, rax
je 0x1400212b8
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov r12d, 0x40000000
movsd xmm6, qword [0x14008ff98]
xorps xmm2, xmm2
cvtsi2sd xmm2, rdi
cmp rdi, r12
jbe 0x140020c45
xorps xmm7, xmm7
cvtsi2sd xmm7, r12
test rdi, rdi
jns 0x140020c1b
addsd xmm2, xmm6
divsd xmm2, xmm7
movq r8, xmm2
lea rdx, str._.2f_GB
lea rcx, [rsp + 0x58]
call fcn.140004f88
mov eax, 0x100000
xorps xmm8, xmm8
cvtsi2sd xmm8, rax
jmp 0x140020c7f
mov eax, 0x100000
xorps xmm8, xmm8
cvtsi2sd xmm8, rax
test rdi, rdi
jns 0x140020c5c
addsd xmm2, xmm6
divsd xmm2, xmm8
movq r8, xmm2
lea rdx, str._.2f_MB
lea rcx, [rsp + 0x58]
call fcn.140004f88
xorps xmm7, xmm7
cvtsi2sd xmm7, r12
call fcn.1400279a4
mov rcx, rax
test rax, rax
je 0x1400212c3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
xorps xmm2, xmm2
cvtsi2sd xmm2, rsi
cmp rsi, r12
jbe 0x140020cd8
test rsi, rsi
jns 0x140020cb5
addsd xmm2, xmm6
divsd xmm2, xmm7
movq r8, xmm2
lea rdx, str._.2f_GB
lea rcx, [rsp + 0x50]
call fcn.140004f88
lea rsi, str._.2f_MB
jmp 0x140020cff
test rsi, rsi
jns 0x140020ce1
addsd xmm2, xmm6
divsd xmm2, xmm8
movq r8, xmm2
lea rsi, str._.2f_MB
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.140004f88
call fcn.1400279a4
mov rcx, rax
test rax, rax
je 0x1400212ce
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
xorps xmm2, xmm2
cvtsi2sd xmm2, rbx
cmp rbx, r12
jbe 0x140020d54
test rbx, rbx
jns 0x140020d35
addsd xmm2, xmm6
divsd xmm2, xmm7
movq r8, xmm2
lea rbx, str._.2f_GB
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140004f88
jmp 0x140020d7b
test rbx, rbx
jns 0x140020d5d
addsd xmm2, xmm6
divsd xmm2, xmm8
movq r8, xmm2
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.140004f88
lea rbx, str._.2f_GB
call fcn.1400279a4
mov rcx, rax
test rax, rax
je 0x1400212d9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
xorps xmm2, xmm2
cvtsi2sd xmm2, r15
cmp r15, r12
jbe 0x140020dba
test r15, r15
jns 0x140020db1
addsd xmm2, xmm6
divsd xmm2, xmm7
mov rdx, rbx
jmp 0x140020dcb
test r15, r15
jns 0x140020dc3
addsd xmm2, xmm6
divsd xmm2, xmm8
mov rdx, rsi
movq r8, xmm2
lea rcx, [rsp + 0x40]
call fcn.140004f88
call fcn.1400279a4
mov rcx, rax
test rax, rax
je 0x1400212e4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
xorps xmm2, xmm2
cvtsi2sd xmm2, r14
cmp r14, r12
jbe 0x140020e19
test r14, r14
jns 0x140020e10
addsd xmm2, xmm6
divsd xmm2, xmm7
mov rdx, rbx
jmp 0x140020e2a
test r14, r14
jns 0x140020e22
addsd xmm2, xmm6
divsd xmm2, xmm8
mov rdx, rsi
movq r8, xmm2
lea rcx, [rsp + 0x38]
call fcn.140004f88
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x80]
call fcn.140062540
call fcn.1400279a4
mov rcx, rax
test rax, rax
je 0x1400212ef
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
call fcn.1400279a4
mov rcx, rax
test rax, rax
je 0x1400212ad
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov rax, qword [rbp - 0x80]
xorps xmm2, xmm2
lea rcx, [rsp + 0x30]
cvtsi2sd xmm2, rax
cmp rax, r12
jle 0x140020eaf
divsd xmm2, xmm7
mov rdx, rbx
jmp 0x140020eb7
divsd xmm2, xmm8
mov rdx, rsi
movq r8, xmm2
call fcn.140004f88
mov rax, qword [rbp - 0x78]
xorps xmm2, xmm2
lea rcx, [rsp + 0x78]
cvtsi2sd xmm2, rax
cmp rax, r12
jle 0x140020ee0
divsd xmm2, xmm7
mov rdx, rbx
jmp 0x140020ee8
divsd xmm2, xmm8
mov rdx, rsi
movq r8, xmm2
call fcn.140004f88
mov r12d, 0x64
cmp dword [rbp - 4], 1
jne 0x140020f36
call fcn.1400293ac
mov r8d, r12d
lea rdx, [rbp - 0x70]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rbx, qword [rax]
mov edx, 0x443
mov rcx, r13
call fcn.140032178
mov rcx, rax
mov rdx, rbx
call fcn.140032d38
nop
mov rdx, qword [rbp - 0x70]
jmp 0x140020f6f
call fcn.1400293ac
mov r8d, 0x65
lea rdx, [rbp - 0x68]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rbx, qword [rax]
mov edx, 0x443
mov rcx, r13
call fcn.140032178
mov rcx, rax
mov rdx, rbx
call fcn.140032d38
nop
mov rdx, qword [rbp - 0x68]
or esi, 0xffffffff
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x140020f8c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x439
mov rcx, r13
call fcn.140032178
mov rcx, rax
mov rdx, qword [rsp + 0x58]
call fcn.140032d38
mov edx, 0x441
mov rcx, r13
call fcn.140032178
mov rcx, rax
mov rdx, qword [rsp + 0x50]
call fcn.140032d38
mov edx, 0x43b
mov rcx, r13
call fcn.140032178
mov rcx, rax
mov rdx, qword [rsp + 0x48]
call fcn.140032d38
mov edx, 0x43d
mov rcx, r13
call fcn.140032178
mov rcx, rax
mov rdx, qword [rsp + 0x40]
call fcn.140032d38
mov edx, 0x43f
mov rcx, r13
call fcn.140032178
mov rcx, rax
mov rdx, qword [rsp + 0x38]
call fcn.140032d38
mov edx, 0x446
mov rcx, r13
call fcn.140032178
mov rcx, rax
mov rdx, qword [rsp + 0x30]
call fcn.140032d38
mov edx, 0x448
mov rcx, r13
call fcn.140032178
mov rcx, rax
mov rbx, qword [rsp + 0x78]
mov rdx, rbx
call fcn.140032d38
mov rcx, qword [r13 + 0x238]
call fcn.140004b10
lea rax, [rbp - 0x60]
mov qword [rsp + 0x60], rax
lea rdx, str.Actual_Free_Space
lea rcx, [rbp - 0x60]
call fcn.140003464
mov r9, rax
imul rax, r15, 0x64
xor edx, edx
div rdi
mov r15, rax
mov r8d, 0xffffff
mov edx, eax
mov rcx, qword [r13 + 0x238]
call fcn.140003a8c
imul r14, r14, 0x64
cmp dword [rbp - 4], 1
jne 0x1400210fc
xor edx, edx
mov rax, r14
div rdi
cmp eax, 1
jge 0x1400210fc
lea rax, [rbp - 0x58]
mov qword [rsp + 0x60], rax
lea rdx, str.Used_by_Shadow_Defender
lea rcx, [rbp - 0x58]
call fcn.140003464
nop
mov r9, rax
mov edx, 1
mov r8d, 0x917328
mov rcx, qword [r13 + 0x238]
call fcn.140003a8c
lea rax, [rbp - 0x50]
mov qword [rsp + 0x60], rax
lea rdx, str.Used_Space
lea rcx, [rbp - 0x50]
call fcn.140003464
nop
mov edx, 0x63
sub edx, r15d
jmp 0x14002115a
lea rax, [rbp - 0x48]
mov qword [rsp + 0x60], rax
lea rdx, str.Used_by_Shadow_Defender
lea rcx, [rbp - 0x48]
call fcn.140003464
mov r9, rax
xor edx, edx
mov rax, r14
div rdi
mov rdi, rax
mov r8d, 0x917328
mov edx, eax
mov rcx, qword [r13 + 0x238]
call fcn.140003a8c
lea rax, [rbp - 0x40]
mov qword [rsp + 0x60], rax
lea rdx, str.Used_Space
lea rcx, [rbp - 0x40]
call fcn.140003464
nop
sub r12d, r15d
sub r12d, edi
mov edx, r12d
mov r9, rax
mov r8d, 0xc8c8a0
mov rcx, qword [r13 + 0x238]
call fcn.140003a8c
mov rdx, r13
lea rcx, [rbp - 0x30]
call fcn.140027ac8
nop
mov rdx, qword [rbp - 0x28]
mov rcx, qword [r13 + 0x238]
call fcn.140003bd8
nop
lea rcx, [rbp - 0x30]
call fcn.140027c0c
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x1400211b2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x1400211d2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x1400211f2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x140021212
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x140021232
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x140021252
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x140021271
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.14005ef50
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.140003bc0
nop
mov ecx, 0x80004005
call fcn.140003bc0
nop
mov ecx, 0x80004005
call fcn.140003bc0
nop
mov ecx, 0x80004005
call fcn.140003bc0
nop
mov ecx, 0x80004005
call fcn.140003bc0
nop
mov ecx, 0x80004005
call fcn.140003bc0
nop
mov ecx, 0x80004005
call fcn.140003bc0
int3