Function at 0x14000ee50
Capabilities:
Get disk size

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x2d8], rbx
mov rax, qword [0x1401c3e90]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov r15, r8
mov qword [rsp + 0x70], r8
mov rbx, rdx
mov qword [rsp + 0x78], rdx
mov r14, rcx
mov qword [rsp + 0x68], rcx
mov r10d, dword [0x1401cbd80]
lea ecx, [r10 + 2]
lea eax, [r10 + 1]
imul ecx, eax
imul ecx, r10d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub ecx, edx
xor edi, edi
cmp ecx, 4
jne 0x14000eef3
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov r10d, dword [0x1401cbd80]
lea ecx, [r10 + 1]
imul ecx, r10d
mov eax, 0x78787879
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x11
sub ecx, edx
cmp ecx, 7
jne 0x14000f0fd
mov r11d, edi
mov dword [rsp + 0x40], edi
mov eax, r10d
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x38], eax
mov eax, 0x55555556
imul r10d
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [rsp + 0x58], ecx
mov eax, r10d
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [rsp + 0x30], eax
mov eax, 0x66666667
imul r10d
mov r12d, edx
sar r12d, 1
mov eax, r12d
shr eax, 0x1f
add r12d, eax
mov eax, 0x2aaaaaab
imul r10d
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [rsp + 0x50], ecx
mov eax, 0x92492493
imul r10d
lea r15d, [r10 + rdx]
sar r15d, 2
mov eax, r15d
shr eax, 0x1f
add r15d, eax
mov eax, r10d
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [rsp + 0x48], eax
mov eax, 0x38e38e39
imul r10d
mov r13d, edx
sar r13d, 1
mov eax, r13d
shr eax, 0x1f
add r13d, eax
mov eax, 0x66666667
imul r10d
mov ecx, edx
sar ecx, 2
mov eax, ecx
shr eax, 0x1f
add ecx, eax
mov dword [rsp + 0x60], ecx
lea r9, [rbp - 0x6f]
mov r14d, ecx
mov edi, dword [rsp + 0x58]
nop dword [rax]
movzx r8d, r10b
sub r8b, r11b
mov ebx, 1
lea esi, [rbx + 2]
mov r11d, dword [rsp + 0x50]
nop word [rax + rax]
mov eax, r10d
cdq
idiv ebx
movzx eax, r10b
imul r8b
movzx ecx, al
movzx eax, dl
imul cl
mov byte [r9 - 1], al
movzx eax, dl
imul r8b
movzx ecx, al
movzx eax, byte [rsp + 0x38]
imul cl
mov byte [r9], al
movzx eax, r8b
imul dil
movzx ecx, al
movzx eax, dl
imul cl
mov byte [r9 + 1], al
movzx eax, r8b
imul byte [rsp + 0x30]
movzx ecx, al
movzx eax, dl
imul cl
mov byte [r9 + 2], al
movzx eax, r8b
imul r12b
movzx ecx, al
movzx eax, dl
imul cl
mov byte [r9 + 3], al
movzx eax, r11b
imul r8b
movzx ecx, al
movzx eax, dl
imul cl
mov byte [r9 + 4], al
movzx eax, r15b
imul r8b
movzx ecx, al
movzx eax, dl
imul cl
mov byte [r9 + 5], al
movzx eax, byte [rsp + 0x48]
imul r8b
movzx ecx, al
movzx eax, dl
imul cl
mov byte [r9 + 6], al
movzx eax, r13b
imul r8b
movzx ecx, al
movzx eax, dl
imul cl
mov byte [r9 + 7], al
movzx eax, r14b
imul r8b
movzx ecx, al
movzx eax, dl
imul cl
mov byte [r9 + 8], al
inc ebx
add r9, 0xa
dec rsi
jne 0x14000f000
mov r11d, dword [rsp + 0x40]
inc r11d
mov dword [rsp + 0x40], r11d
cmp r11d, 0x10
jl 0x14000efe0
xor edi, edi
mov r14, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov rax, qword [rbx]
lea rdx, [rsp + 0x38]
mov rcx, rbx
call qword [rax + VariantChangeTypeEx]
mov esi, eax
test eax, eax
jns 0x14000f18e
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov r8d, esi
lea rdx, str.LoadWebBrowserFromStream_get_Document__d
lea rcx, [rsp + 0x50]
call fcn.140012850
mov rax, qword [r14]
lea rdx, [rsp + 0x50]
mov rcx, r14
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000f178
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000f189
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000f3fa
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
lea rdx, [0x14014a7d8]
call qword [rax]
mov esi, eax
test eax, eax
jns 0x14000f21a
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov r8d, esi
lea rdx, str.LoadWebBrowserFromStream_QueryInterface__d
lea rcx, [rsp + 0x58]
call fcn.140012850
mov rax, qword [r14]
lea rdx, [rsp + 0x58]
mov rcx, r14
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000f204
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000f215
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000f3fa
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx]
call qword [rdx + 0x40]
mov esi, eax
mov ecx, dword [0x1401cbd80]
lea r8d, [rcx + 1]
imul r8d, ecx
mov eax, 0x55555556
imul r8d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub r8d, eax
or rbx, 0xffffffffffffffff
cmp r8d, 1
jne 0x14000f297
mov eax, dword [str.UzyNd]
mov dword [rsp + 0x48], eax
movzx eax, word [0x1401546cc]
mov word [rsp + 0x4c], ax
lea rax, [rsp + 0x48]
mov rcx, rbx
inc rcx
cmp byte [rax + rcx], 0
jne 0x14000f272
mov eax, 4
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1400d0cc8
mov rcx, rax
call fcn.1400d272c
test esi, esi
jns 0x14000f30b
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov r8d, esi
lea rdx, str.LoadWebBrowserFromStream_InitNew__d
lea rcx, [rsp + 0x60]
call fcn.140012850
mov rax, qword [r14]
lea rdx, [rsp + 0x60]
mov rcx, r14
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000f2f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000f306
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000f3fa
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + 0x28]
mov esi, eax
test eax, eax
jns 0x14000f38c
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov r8d, esi
lea rdx, str.LoadWebBrowserFromStream_Load__d
lea rcx, [rsp + 0x40]
call fcn.140012850
mov rax, qword [r14]
lea rdx, [rsp + 0x40]
mov rcx, r14
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000f379
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000f38a
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000f3fa
mov ecx, dword [0x1401cbd80]
imul ecx, ecx
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, 0x13
jne 0x14000f3e9
mov ecx, 0x28
call fcn.1400d0cc8
mov rbx, rax
call fcn.1400d2038
add eax, dword [0x1401cbd80]
mov dword [rbx + rdi*4], eax
inc rdi
cmp rdi, 0xa
jl 0x14000f3c0
mov ecx, dword [rbx + 0x24]
mov dword [0x1401cbd80], ecx
mov rcx, rbx
call fcn.1400d272c
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000f3fa
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000f40a
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, esi
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.1400d1680
mov rbx, qword [rsp + 0x2d8]
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret