Function at 0x140048320
Capabilities:
Get disk size

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x58
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov rdi, rcx
xor ebx, ebx
mov dword [rbp - 0x28], ebx
lea rcx, [rbp + 0x40]
call fcn.140047f00
nop
mov rax, qword [rbp + 0x40]
cmp dword [rax - 0x10], ebx
jne 0x14004836e
lea rdx, [0x1401383d0]
mov rcx, rdi
call fcn.140002090
mov dword [rbp - 0x28], 1
jmp 0x14004858d
mov dword [rbp + 0x30], ebx
mov dword [rbp + 0x38], ebx
mov qword [rbp - 0x18], rbx
mov r8d, dword [0x1401a9d80]
lea ecx, [r8 + 2]
lea eax, [r8 + 1]
imul ecx, eax
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xb
sub ecx, edx
cmp ecx, 7
jne 0x1400483c4
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov r8d, dword [0x1401a9d80]
mov rax, qword [0x1401aa8d8]
test rax, rax
jne 0x140048438
imul r8d, r8d
and r8d, 0x8000000f
jge 0x1400483e7
dec r8d
or r8d, 0xfffffff0
inc r8d
cmp r8d, 5
jne 0x140048401
lea ecx, [r8 - 1]
call fcn.1400c4130
mov rcx, rax
mov eax, dword [0x1401a9d80]
mov dword [rcx], eax
lea rcx, str.Version.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x14004842c
lea rdx, str.GetFileVersionInfoSizeW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401aa8d8], rax
jmp 0x140048433
mov rax, qword [0x1401aa8d8]
test rax, rax
je 0x140048444
lea rdx, [rbp + 0x30]
mov rcx, qword [rbp + 0x40]
call rax
mov ebx, eax
lea rcx, [0x1401a19a8]
mov rdx, qword [0x1401a19a8]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp - 0x20], rax
lea rdx, [0x1401383d0]
test rdx, 0xffffffffffff0000
jne 0x14004848d
movzx esi, dx
mov ecx, esi
call fcn.1400019f0
test rax, rax
je 0x14004849d
mov r8d, esi
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.140002530
jmp 0x14004849d
mov r8d, 3
lea rcx, [rbp - 0x20]
call fcn.140002240
nop
test ebx, ebx
je 0x14004855c
mov ecx, ebx
call fcn.1400c2fb8
mov rsi, rax
call fcn.1400259f0
mov rcx, rax
mov qword [rsp + 0x20], rsi
mov r9d, ebx
mov r8d, dword [rbp + 0x30]
mov rdx, qword [rbp + 0x40]
call fcn.14003b4c0
test eax, eax
je 0x140048528
lea r9, [rbp + 0x38]
lea r8, [rbp - 0x18]
lea rdx, [0x140135e30]
mov rcx, rsi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140048528
cmp dword [rbp + 0x38], 0
je 0x140048528
mov rax, qword [rbp - 0x18]
cmp dword [rax], 0xfeef04bd
jne 0x140048528
movzx r8d, word [rax + 0xa]
movzx r9d, word [rax + 8]
movzx ecx, word [rax + 0xe]
movzx eax, word [rax + 0xc]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rdx, [0x140138448]
lea rcx, [rbp - 0x20]
call fcn.1400111b0
mov rcx, rsi
call fcn.1400c4098
mov ecx, dword [0x1401a9d80]
imul ecx, ecx
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub ecx, edx
cmp ecx, 0x13
jne 0x14004855c
dec dword [0x1401aa568]
mov rsi, qword [rbp - 0x20]
lea rcx, [rsi - 0x18]
call fcn.140002390
add rax, 0x18
mov qword [rdi], rax
mov dword [rbp - 0x28], 1
lock add dword [rsi - 8], 0xffffffff
jg 0x14004858d
mov rcx, qword [rsi - 0x18]
mov rax, qword [rcx]
lea rdx, [rsi - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400485a5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rdi
add rsp, 0x58
pop rdi
pop rsi
pop rbx
pop rbp
ret