Function at 0x14005f4b0
Capabilities:
Get disk size
Set registry value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x50
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x78], rbx
movaps xmmword [rsp + 0x40], xmm6
mov rdi, rdx
mov rbp, rcx
mov edx, 0x5c
mov rcx, qword [rcx + 0x1b8]
call fcn.1400d3ff4
or rsi, 0xffffffffffffffff
test rax, rax
jne 0x14005f4ef
mov eax, esi
jmp 0x14005f4f9
sub rax, qword [rbp + 0x1b8]
sar rax, 1
lea r8d, [rax + 1]
lea rdx, [rsp + 0x80]
lea rcx, [rbp + 0x1b8]
call fcn.14002a950
nop
mov r9d, dword [0x1401cbd80]
lea ecx, [r9 + 1]
mov eax, ecx
imul eax, r9d
and eax, 0x8000000f
jge 0x14005f531
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 0xd
jne 0x14005f58d
movsd xmm3, qword [0x14015adc8]
xorps xmm2, xmm2
movd xmm4, r9d
cvtdq2pd xmm4, xmm4
movsd xmm5, qword [0x14015adf0]
movsd xmm6, qword [0x14015adc0]
nop word [rax + rax]
addsd xmm2, xmm3
movaps xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x14005f579
subsd xmm2, xmm3
divsd xmm3, xmm5
movaps xmm1, xmm2
mulsd xmm1, xmm2
movaps xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm6
ja 0x14005f560
lea r8d, [r9 + 2]
imul r8d, ecx
imul r8d, r9d
mov eax, 0x2aaaaaab
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea ecx, [rdx + rdx*2]
shl ecx, 3
sub r8d, ecx
cmp r8d, 0xf
jne 0x14005f5df
xor r8d, r8d
test r9d, r9d
je 0x14005f5d8
mov ecx, r9d
and ecx, 1
add r8d, ecx
mov eax, r9d
cdq
sub eax, edx
sar eax, 1
mov r9d, eax
jne 0x14005f5c2
mov dword [0x1401cbd80], r8d
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
mov rdx, qword [rbp + 0x1b8]
mov rcx, qword [rbp + 0x2e0]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14005f675
call fcn.1400565b0
mov r8, rax
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x30]
call fcn.14001c930
nop
mov dword [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rdi
mov r9d, 3
xor r8d, r8d
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005f66a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test ebx, ebx
jne 0x14005f675
mov bl, 1
jmp 0x14005f7da
mov edi, dword [0x1401cbd80]
lea r8d, [rdi + 2]
lea ecx, [rdi + 1]
imul r8d, ecx
imul r8d, edi
mov eax, 0x2aaaaaab
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub r8d, eax
cmp r8d, 0xf
jne 0x14005f6fa
mov r8d, 0x98
xor r11d, r11d
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
nop dword [rax]
test ebx, ebx
jle 0x14005f6f2
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
xor r9d, r9d
mov r10, rbx
test eax, eax
jle 0x14005f6ea
mov ecx, r9d
mov edx, eax
nop
add r8d, ecx
dec ecx
dec rdx
jne 0x14005f6e0
add r9d, r11d
dec r10
jne 0x14005f6d5
inc r11d
cmp r11d, r8d
jl 0x14005f6c0
call fcn.140057020
mov rbx, rax
lea rcx, [0x1401c39a8]
mov rdx, qword [0x1401c39a8]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
test rbx, rbx
je 0x14005f75c
test rbx, 0xffffffffffff0000
jne 0x14005f74b
movzx ebx, bx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14005f76f
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1400025b0
jmp 0x14005f76f
mov rax, rsi
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x14005f750
jmp 0x14005f75e
xor eax, eax
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.1400022c0
nop
lea rdx, [rsp + 0x70]
mov rcx, rbp
call fcn.140060350
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005f796
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [0x1401cbd80]
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, 1
jne 0x14005f7d8
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
xor bl, bl
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005f7f7
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
movzx eax, bl
mov rbx, qword [rsp + 0x78]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret