Function at 0x14001f7f0
Capabilities:
Get disk size

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov qword [rsp + 0xf0], rbx
mov r13, rdx
mov r12, rcx
call fcn.14001e370
xor ecx, ecx
test al, al
jne 0x14001f83c
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov rdx, r12
mov rcx, r13
call fcn.1400023d0
lea rax, [rbp - 0x59]
mov qword [rbp + 0x6f], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x77], rbx
lea r14, [0x140157870]
mov r15d, 1
test r14, 0xffffffffffff0000
jne 0x14001f89f
movzx ebx, r14w
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001f90c
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x77]
call fcn.140002760
jmp 0x14001f90c
mov esi, dword [rbx - 0x10]
mov rdi, r14
sub rdi, rbx
sar rdi, 1
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 7
or eax, ecx
jge 0x14001f8cd
mov edx, 7
lea rcx, [rbp + 0x77]
call fcn.140002560
mov rbx, qword [rbp + 0x77]
movsxd rdx, dword [rbx - 0xc]
mov r9d, 0xe
mov rcx, rbx
add rdx, rdx
cmp rdi, rsi
ja 0x14001f8ed
lea r8, [rbx + rdi*2]
call fcn.1400d400c
jmp 0x14001f8f5
mov r8, r14
call fcn.1400d41cc
cmp dword [rbx - 0xc], 7
jl 0x14001fe47
mov dword [rbx - 0x10], 7
xor eax, eax
mov word [rbx + 0xe], ax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x59], rax
lea rdx, [0x140156b2c]
test rdx, 0xffffffffffff0000
jne 0x14001f955
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001f962
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x59]
call fcn.140002760
jmp 0x14001f962
xor r8d, r8d
lea rcx, [rbp - 0x59]
call fcn.140002470
nop
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x19], rbx
lea r8, [0x140157860]
lea rdx, [rbp - 0x19]
lea rcx, [rbp + 0xf]
call fcn.14001b320
nop
lea r8, [0x140156b44]
mov rdx, rax
lea rcx, [rbp - 0x29]
call fcn.14001b320
nop
mov r8, r12
mov rdx, rax
lea rcx, [rbp - 9]
call fcn.14000ff10
nop
lea r8, [0x140156b14]
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.14001b320
nop
lea rcx, [r13 + 8]
lea rdx, [rbp - 0x59]
mov qword [rsp + 0x20], rdx
mov r9, qword [0x1401d0d48]
mov r8, rax
lea rdx, [rbp + 0x77]
call fcn.14004e240
movzx r14d, al
and r14b, 1
mov byte [rbp + 0x6f], r14b
mov rdx, qword [rbp - 0x39]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fa0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 9]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fa26
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fa3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xf]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fa58
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fa6d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fa85
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov esi, dword [0x1401d5d60]
mov ecx, esi
imul ecx, esi
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xf
sub ecx, edx
cmp ecx, 7
jne 0x14001fafc
xor ecx, ecx
lea r8d, [rcx + 0x16]
mov r11d, ecx
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
nop
test ebx, ebx
jle 0x14001faf4
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
mov r9d, ecx
mov r10, rbx
test eax, eax
jle 0x14001faea
mov ecx, r9d
mov edx, eax
nop
add r8d, ecx
dec ecx
dec rdx
jne 0x14001fae0
add r9d, r11d
dec r10
jne 0x14001fad5
xor ecx, ecx
inc r11d
cmp r11d, r8d
jl 0x14001fac0
lea rax, [rbp - 0x51]
mov qword [rbp + 0x1f], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x7f], rbx
lea rcx, [0x140157880]
test rcx, 0xffffffffffff0000
jne 0x14001fb54
movzx ebx, cx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001fbd4
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x7f]
call fcn.140002760
jmp 0x14001fbd4
mov r14d, dword [rbx - 0x10]
mov rsi, rcx
sub rsi, rbx
sar rsi, 1
sub r15d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 4
or eax, r15d
jge 0x14001fb89
mov edx, 4
lea rcx, [rbp + 0x7f]
call fcn.140002560
mov rbx, qword [rbp + 0x7f]
lea rcx, [0x140157880]
movsxd rdx, dword [rbx - 0xc]
mov r9d, 8
add rdx, rdx
cmp rsi, r14
ja 0x14001fba9
lea r8, [rbx + rsi*2]
mov rcx, rbx
call fcn.1400d400c
jmp 0x14001fbb4
mov r8, rcx
mov rcx, rbx
call fcn.1400d41cc
cmp dword [rbx - 0xc], 4
jl 0x14001fe3c
mov dword [rbx - 0x10], 4
xor r15d, r15d
mov word [rbx + 8], r15w
movzx r14d, byte [rbp + 0x6f]
jmp 0x14001fbd7
xor r15d, r15d
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x51], rax
lea rdx, [0x140156b5c]
test rdx, 0xffffffffffff0000
jne 0x14001fc20
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001fc2d
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x51]
call fcn.140002760
jmp 0x14001fc2d
xor r8d, r8d
lea rcx, [rbp - 0x51]
call fcn.140002470
nop
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x49], rbx
lea r8, [0x140157890]
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x21]
call fcn.14001b320
nop
lea r8, [0x140156b94]
mov rdx, rax
lea rcx, [rbp - 0x31]
call fcn.14001b320
nop
mov r8, r12
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.14000ff10
nop
lea r8, [0x140156bbc]
mov rdx, rax
lea rcx, [rbp + 7]
call fcn.14001b320
nop
lea rcx, [r13 + 0x10]
lea rdx, [rbp - 0x51]
mov qword [rsp + 0x20], rdx
mov r9, qword [0x1401d0d48]
mov r8, rax
lea rdx, [rbp + 0x7f]
call fcn.14004cd80
and r14b, al
mov byte [rbp + 0x6f], r14b
mov rdx, qword [rbp + 7]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fcd3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x41]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fcec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x31]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fd05
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x21]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fd1e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fd33
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fd4b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, r12
lea rcx, [rbp - 0x11]
call fcn.140020110
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [r13 + 0x18]
sub rbx, 0x18
cmp rcx, rbx
je 0x14001fdb3
cmp dword [rbx + 0x10], 0
jl 0x14001fda5
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001fda5
call fcn.1400025c0
mov r14, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14001fd96
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r14 + 0x18]
mov qword [r13 + 0x18], rax
movzx r14d, byte [rbp + 0x6f]
jmp 0x14001fdb3
mov r8d, dword [rdx - 0x10]
lea rcx, [r13 + 0x18]
call fcn.140002470
nop
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fdcb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rbp - 1]
call fcn.14002c010
nop
mov rdx, qword [rax]
mov eax, r15d
test rdx, rdx
setne al
test eax, eax
jne 0x14001fdf0
mov ecx, 0x80004005
call fcn.140001920
int3
mov rax, qword [r13 + 0x18]
sub rdx, rax
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x14001fe0e
add rax, 2
test cx, cx
jne 0x14001fdf7
mov eax, r15d
jmp 0x14001fe13
sbb eax, eax
or eax, 1
test eax, eax
sete bl
mov rdx, qword [rbp - 1]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001fe30
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
movzx eax, r14b
test bl, bl
cmovne eax, r15d
jmp 0x14001fe52
mov ecx, 0x80070057
call fcn.140001920
nop
mov ecx, 0x80070057
call fcn.140001920
nop
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret