Function at 0x1400547b0
Capabilities:
Get disk size

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov r14, r9
mov edi, edx
mov rbx, rcx
xor ebp, ebp
mov dword [rcx + 0x4fc], ebp
add rcx, 0xc
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
mov ecx, dword [rbx + 0x4c8]
xor edx, edx
mov rax, qword [rsp + 0x78]
div rcx
mov r13, rax
imul eax, edi
mov dword [rsp + 0x138], eax
mov r9, qword [r14]
mov r8d, eax
xor edx, edx
mov rcx, r14
call qword [r9 + reloc.OLEAUT32.dll_VariantClear]
mov ecx, dword [rbx + 0x4c8]
call fcn.14004f8a0
mov r12, rax
test rax, rax
je 0x140054a88
lea rdi, vtable.CSABString.0
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x50], ebp
lea ecx, [rbp + 0x10]
call fcn.140247068
mov qword [rsp + 0x48], rax
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rsp + 0x54], 1
lea rsi, [rbx + 0x50]
mov qword [rsp + 0x58], rdi
test rsi, rsi
je 0x140054aa9
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rsi + rax], 0
jne 0x140054891
mov dword [rsp + 0x68], eax
inc eax
mov ebp, eax
mov ecx, eax
call fcn.140247068
mov rdi, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1400548c4
mov r8d, ebp
mov rdx, rsi
mov rcx, rax
call fcn.1402496a0
xor ebp, ebp
mov dword [rsp + 0x6c], 1
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140052970
nop
test rdi, rdi
je 0x1400548ee
mov rcx, rdi
call fcn.140247060
mov rcx, qword [rbx + 0x40]
mov rax, qword [rcx]
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], 0x80
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], rbp
xor r9d, r9d
mov r8d, 0x40000000
mov rdi, qword [rsp + 0x48]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x140054a6b
xor r9d, r9d
mov r8, qword [rbx + 0x30]
mov rdx, qword [rbx + 0x20]
lea rcx, [rsp + 0x98]
call fcn.14006a9c0
nop
mov r8, rdi
mov rdx, rdi
lea rcx, [rsp + 0x98]
call fcn.14006abb0
mov rsi, rbp
mov dword [rsp + 0x120], ebp
cmp dword [rsp + 0x128], 0
jbe 0x140054a40
nop dword [rax]
nop dword [rax + rax]
cmp dword [rbx + 0x4fc], 0
jne 0x140054a3b
mov rcx, qword [rsp + 0x130]
mov rax, qword [rcx]
mov r9d, dword [rbx + 0x4c8]
mov r8, r12
mov edx, ebp
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbx + 0x40]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
call qword [rax + 0x80]
xor edi, edi
test r13d, r13d
je 0x140054a25
mov ebp, dword [rsp + 0x138]
cmp dword [rbx + 0x4fc], 0
jne 0x140054a1e
mov rcx, qword [rbx + 0x40]
mov rax, qword [rcx]
mov qword [rsp + 0x28], 0
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rdx
mov r9d, dword [rbx + 0x4c8]
mov r8, r12
mov rdx, r15
call qword [rax + 0x30]
inc rsi
mov rax, qword [r14]
mov r8d, ebp
mov edx, esi
mov rcx, r14
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc edi
cmp edi, r13d
jb 0x1400549d3
mov ebp, dword [rsp + 0x120]
inc ebp
mov dword [rsp + 0x120], ebp
cmp ebp, dword [rsp + 0x128]
jb 0x140054980
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x40]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + 0x38]
mov rcx, qword [rbx + 0x40]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 0x88]
nop
lea rcx, [rsp + 0x98]
call fcn.14006aa90
mov rcx, r12
call fcn.140052840
nop
cmp dword [rsp + 0x54], 1
jne 0x140054a88
test rdi, rdi
je 0x140054a88
mov rcx, rdi
call fcn.140247060
mov rcx, rbx
call fcn.1400491b0
mov eax, 1
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov dword [rsp + 0x68], ebp
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call fcn.140247068
mov rdi, rax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
jmp 0x1400548c6