Function at 0x14003d16c
Capabilities:
Get disk size

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x7b8]
sub rsp, 0x8a0
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140197e90]
xor rax, rsp
mov qword [rbp + 0x790], rax
mov rdi, rcx
mov qword [rbp - 0x80], rcx
xor esi, esi
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x58], rsi
lea r14d, [rsi + 1]
mov r9d, r14d
lea r8, str.SoftwareMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x48]
call fcn.140018038
test eax, eax
je 0x14003d2e7
mov r9d, r14d
lea r8, str.SoftwareMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
mov rbx, 0xffffffff80000002
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140018038
test eax, eax
je 0x14003d2e7
mov eax, dword [0x14019fd80]
lea ecx, [rax + 1]
imul ecx, eax
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, 0xd
jne 0x14003d25f
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov r9d, r14d
lea r8, str.SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140018038
mov r9d, eax
mov ebx, dword [0x14019fd80]
lea r8d, [rbx + 2]
lea ecx, [rbx + 1]
imul r8d, ecx
imul r8d, ebx
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub r8d, edx
cmp r8d, 0xd
jne 0x14003d2b8
sub ebx, r14d
mov dword [0x14019fd80], ebx
test r9d, r9d
je 0x14003d2ed
lea rax, [rsp + 0x78]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x78]
call fcn.14003c1d8
nop
mov rdx, rax
mov rcx, rdi
call fcn.14003cb3c
mov dword [rsp + 0x40], r14d
jmp 0x14003d4ec
mov ebx, dword [0x14019fd80]
mov word [rbp - 0x70], si
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rbp - 0x6e]
call fcn.1400be450
mov dword [rsp + 0x68], 0x400
lea ecx, [rbx + 1]
imul ecx, ebx
mov eax, 0x78787879
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x11
sub ecx, edx
or r15, 0xffffffffffffffff
cmp ecx, 0xb
jne 0x14003d369
mov eax, 0x51eb851f
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub ebx, edx
add ebx, 0x141
movsxd rcx, ebx
lea eax, [r15 + 5]
mul rcx
cmovo rax, r15
mov rcx, rax
call fcn.1400b8688
mov rcx, rax
call fcn.1400ba0bc
lea rdx, [0x140132fe0]
lea rcx, [rsp + 0x60]
call fcn.140001cb0
nop
lea r9, [rsp + 0x68]
lea r8, [rbp - 0x70]
lea rdx, [0x140130c68]
lea rcx, [rsp + 0x48]
call fcn.140018118
mov ebx, eax
mov r9d, dword [0x14019fd80]
mov r8d, r9d
imul r8d, r9d
mov eax, 0x66666667
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea eax, [rdx + rdx*4]
shl eax, 2
sub r8d, eax
cmp r8d, 0xe
jne 0x14003d3e2
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov r9d, dword [0x14019fd80]
test ebx, ebx
jne 0x14003d40e
lea rcx, [rbp - 0x70]
mov rax, r15
inc rax
cmp word [rcx + rax*2], si
jne 0x14003d3ed
mov r8d, eax
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x60]
call fcn.140001e74
mov r9d, dword [0x14019fd80]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14003d42a
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x48], rsi
mov r9d, dword [0x14019fd80]
mov dword [rsp + 0x50], esi
imul r9d, r9d
mov eax, 0x6bca1af3
imul r9d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub r9d, edx
cmp r9d, 0x12
jne 0x14003d477
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, eax
mov eax, 0xcccccccd
mul r8d
shr edx, 6
lea ecx, [rdx + rdx*4]
shl ecx, 4
sub r8d, ecx
lea eax, [r8 + 1]
mov dword [0x14019fd80], eax
mov rcx, qword [rsp + 0x60]
cmp dword [rcx - 0x10], esi
je 0x14003d4a5
lea rdx, [0x140132fe0]
call fcn.1400ccffc
test eax, eax
je 0x14003d4a5
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.14000291c
mov dword [rsp + 0x40], r14d
jmp 0x14003d4ca
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x70]
call fcn.14003c1d8
nop
mov rdx, rax
mov rcx, rdi
call fcn.14003cb3c
mov dword [rsp + 0x40], r14d
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14003d4ec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14003d501
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x50], esi
mov rax, rdi
mov rcx, qword [rbp + 0x790]
xor rcx, rsp
call fcn.1400b9010
lea r11, [rsp + 0x8a0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret