Function at 0x14000c200
Capabilities:
Get disk size

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov qword [rbp + 0x2f], 0xfffffffffffffffe
mov qword [rsp + 0xf8], rbx
mov rbx, rdx
mov rdi, rcx
mov r9d, dword [0x1401cbd80]
mov r8d, r9d
imul r8d, r9d
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 7
sub r8d, edx
xor r15d, r15d
cmp r8d, 6
jne 0x14000c278
mov ecx, r9d
test r9d, r9d
je 0x14000c272
dec ecx
je 0x14000c26d
inc r9d
jmp 0x14000c278
mov r9d, r15d
jmp 0x14000c278
mov r9d, 2
xor r14b, r14b
lea r8d, [r9 + 1]
mov ecx, r8d
imul ecx, r9d
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub ecx, edx
cmp ecx, 9
cmove r9d, r8d
mov dword [0x1401cbd80], r9d
mov qword [rbp - 0x41], r15
mov qword [rbp - 0x31], r15
mov qword [rbp - 0x49], r15
cmp qword [rdi + 0xa8], 0
jne 0x14000c2e7
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x14000c2d2
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14000c2e2
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000ca26
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x49]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x31]
lea r8, [rbp - 0x41]
mov rdx, rbx
call fcn.14000f440
movzx r10d, al
mov r9d, dword [0x1401cbd80]
mov r8d, r9d
imul r8d, r9d
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0xd
sub r8d, edx
cmp r8d, 8
jne 0x14000c3c3
mov r8d, r15d
mov eax, 0xb21642c9
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x5c
mov eax, r9d
sub eax, edx
cmp eax, 0x4c
je 0x14000c3bc
nop word [rax + rax]
mov eax, r9d
or eax, 0xffffff2a
add r9d, eax
inc r8d
mov eax, r9d
imul eax, r9d
cmp r8d, eax
jg 0x14000c3bc
mov eax, 0xb21642c9
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x5c
mov eax, r9d
sub eax, edx
cmp eax, 0x4c
jne 0x14000c380
mov dword [0x1401cbd80], r8d
test r10b, r10b
jne 0x14000c4c7
lea r8, [0x140154184]
lea rdx, [0x140154188]
lea rcx, [rbp + 0x7f]
call fcn.1400100a0
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x29], rax
lea rdx, str.QueryInterfacesForSandBox_
test rdx, 0xffffffffffff0000
jne 0x14000c42c
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14000c436
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x29]
call fcn.1400025b0
jmp 0x14000c436
lea rcx, [rbp - 0x29]
call fcn.140003350
nop
lea r8, [rbp + 0x7f]
lea rdx, [rbp - 0x29]
lea rcx, [rbp + 0x27]
call fcn.140010500
mov rdx, rax
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rbp + 0x27]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000c470
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 0x14000c489
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 0x14000c4a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x14000c4b2
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14000c4c2
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000ca26
mov rbx, qword [rbp - 0x41]
cmp qword [rdi + 0xa0], 0
jne 0x14000c4df
test rbx, rbx
je 0x14000c54c
jmp 0x14000c9ed
test rbx, rbx
je 0x14000c9ed
mov qword [rbp - 9], r15
mov qword [rbp - 0x19], r15
mov rcx, qword [rdi + 0xa0]
mov rax, qword [rcx]
lea r8, [rbp - 9]
lea rdx, [0x14014a7a8]
call qword [rax]
mov rax, qword [rbx]
lea r8, [rbp - 0x19]
lea rdx, [0x14014a7a8]
mov rcx, rbx
call qword [rax]
mov rax, qword [rbp - 0x19]
cmp qword [rbp - 9], rax
sete bl
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x14000c535
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x14000c544
mov rax, qword [rcx]
call qword [rax + 0x10]
test bl, bl
je 0x14000c9ed
mov qword [rbp - 0x39], r15
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
lea r8, [rbp - 0x39]
lea rdx, [0x1401549b0]
call qword [rax]
mov ebx, eax
cmp qword [rbp - 0x39], 0
jne 0x14000c615
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 1], rax
mov r8d, ebx
lea rdx, str.QueryInterfacesForWinEx__d
lea rcx, [rbp - 1]
call fcn.140012850
mov rax, qword [rdi]
lea rdx, [rbp - 1]
mov rcx, rdi
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rbp - 1]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000c5c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x14000c5d7
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000c5f0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x14000c600
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14000c610
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000ca26
mov rcx, qword [rdi + 0xa8]
mov rax, qword [rcx]
lea rdx, [rbp - 0x21]
call qword [rax + 0x38]
nop
mov rbx, qword [rbp - 0x39]
mov rcx, qword [rbp - 0x21]
mov edx, dword [rcx - 0x10]
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdx, rax
test rax, rax
jne 0x14000c646
call fcn.1400024a0
int3
mov rax, qword [rbx]
lea r9, [rbp + 0x77]
mov r8d, 2
mov rcx, rbx
call qword [rax + 0x38]
mov esi, eax
mov r8d, dword [0x1401cbd80]
lea ecx, [r8 + 2]
lea eax, [r8 + 1]
imul ecx, eax
imul ecx, r8d
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
or rbx, 0xffffffffffffffff
cmp ecx, 3
jne 0x14000c6ce
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x7b
movsxd rcx, r8d
mov eax, 4
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1400d0cc8
mov rcx, rax
call fcn.1400d272c
test esi, esi
jns 0x14000c793
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 7], rax
mov r8d, esi
lea rdx, str.GetDispID__d
lea rcx, [rbp + 7]
call fcn.140012850
mov rax, qword [rdi]
lea rdx, [rbp + 7]
mov rcx, rdi
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rbp + 7]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000c72c
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 0x14000c745
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x14000c755
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000c76e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x14000c77e
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14000c78e
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000ca26
mov dword [rbp + 0x67], 0xfffffffd
mov ecx, 0x18
call fcn.1400d0cc8
mov r11, rax
mov qword [rbp + 0xf], rax
mov r10d, dword [0x1401cbd80]
lea r9d, [r10 + 1]
mov r8d, r9d
imul r8d, r10d
mov eax, 0xb21642c9
imul r8d
add edx, r8d
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x17
sub r8d, edx
mov esi, 1
cmp r8d, 0x16
jne 0x14000c81b
lea ecx, [r10 + 2]
imul ecx, r9d
imul ecx, r10d
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, 0x11
jne 0x14000c81b
test r10d, r10d
cmove r10d, esi
mov dword [0x1401cbd80], r10d
mov rax, qword [rdi + 0xa8]
mov qword [r11 + 8], rax
mov ecx, 9
mov rax, qword [rbp + 0xf]
mov word [rax], cx
lea rax, [rbp + 0x67]
mov qword [rbp + 0x17], rax
mov dword [rbp + 0x1f], esi
mov dword [rbp + 0x23], esi
mov rcx, qword [rbp - 0x39]
mov rax, qword [rcx]
mov r9d, 4
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
lea rdx, [rbp + 0xf]
mov qword [rsp + 0x20], rdx
mov r8d, 0x400
mov edx, dword [rbp + 0x77]
call qword [rax + 0x40]
mov esi, eax
mov rcx, qword [rbp + 0xf]
call fcn.1400d272c
mov qword [rbp + 0xf], r15
test esi, esi
jns 0x14000c945
lea rcx, [0x1401c39a8]
mov rdx, qword [0x1401c39a8]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp - 0x11], rax
mov r8d, esi
lea rdx, str.InvokeEx__d
lea rcx, [rbp - 0x11]
call fcn.140012850
mov rax, qword [rdi]
lea rdx, [rbp - 0x11]
mov rcx, rdi
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000c8de
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 0x14000c8f7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x14000c907
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000c920
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x14000c930
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14000c940
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000ca26
mov r14b, 1
mov ecx, dword [0x1401cbd80]
imul ecx, ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 7
sub ecx, edx
cmp ecx, 6
jne 0x14000c989
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
nop
mov rdx, qword [rbp - 0x21]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000c9a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x14000c9b2
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000c9cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x14000c9db
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14000c9eb
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000ca26
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000ca06
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x14000ca16
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14000ca26
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x14000ca35
mov rax, qword [rcx]
call qword [rax + 0x10]
call fcn.14000af40
test al, al
jne 0x14000ca53
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
movzx eax, r14b
mov rbx, qword [rsp + 0xf8]
add rsp, 0xc0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret