Function at 0x1800023e0
Capabilities:
Check if file exists
Query or enumerate registry value
Read .ini file

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0xa08]
sub rsp, 0xaf0
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x18002d340]
xor rax, rsp
mov qword [rbp + 0x9e0], rax
mov rsi, rcx
xor edi, edi
mov word [rbp + 0x5c0], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x5c2]
call fcn.1800098a0
mov word [rbp + 0x7d0], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x7d2]
call fcn.1800098a0
mov word [rbp + 0x1a0], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x1a2]
call fcn.1800098a0
mov word [rbp + 0x3b0], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x3b2]
call fcn.1800098a0
mov ecx, edi
lea rdx, str.SOFTWARE_
nop word [rax + rax]
movzx eax, word [rcx + rdx]
mov word [rbp + rcx + 0x3b0], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1800024a0
lea rcx, [rbp + 0x3b0]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], di
jne 0x1800024c0
mov rax, qword [str.SmartCloudInput]
mov qword [rcx], rax
mov rax, qword [0x18001f748]
mov qword [rcx + 8], rax
mov rax, qword [0x18001f750]
mov qword [rcx + 0x10], rax
mov rax, qword [0x18001f758]
mov qword [rcx + 0x18], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20219
xor r8d, r8d
lea rdx, [rbp + 0x3b0]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x180002599
mov dword [rsp + 0x30], 0x104
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x5c0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.InstallPath
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x180002599
mov rcx, rdi
nop dword [rax]
movzx eax, word [rbp + rcx + 0x5c0]
mov word [rbp + rcx + 0x7d0], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x180002560
mov rcx, rdi
nop dword [rax]
movzx eax, word [rbp + rcx + 0x7d0]
mov word [rbp + rcx + 0x1a0], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x180002580
cmp word [rbp + 0x1a0], di
jne 0x1800025a7
mov r8, rdi
jmp 0x1800025bc
lea rax, [rbp + 0x1a0]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], di
jne 0x1800025b2
lea rbx, [rsi + 0x20]
lea rdx, [rbp + 0x1a0]
mov rcx, rbx
call fcn.180003e80
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rbp + 0x1a0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18000263b
lea r8, [rbp + 0x1a0]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call fcn.180001d10
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.180003810
mov r8d, 1
lea rdx, [0x18001f778]
mov rcx, rbx
call fcn.180003950
nop
cmp qword [rbp - 0x80], 8
jb 0x18000263b
mov rcx, qword [rsp + 0x68]
call fcn.180007828
cmp qword [rbx + 0x18], 8
jb 0x180002647
mov rcx, qword [rbx]
jmp 0x18000264a
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x180002661
mov rcx, rsi
call fcn.180002880
jmp 0x180002858
lea r14, [rsi + 0x40]
cmp r14, rbx
je 0x18000267c
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.180003d30
mov r8d, 0xc
lea rdx, str.SCMutual.exe
mov rcx, r14
call fcn.180003950
lea r14, [rsi + 0x60]
cmp r14, rbx
je 0x1800026ac
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.180003d30
mov r8d, 0xc
lea rdx, str.SCConfig.exe
mov rcx, r14
call fcn.180003950
lea r14, [rsi + 0x80]
cmp r14, rbx
je 0x1800026df
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.180003d30
mov r8d, 0xb
lea rdx, str.SCCloud.exe
mov rcx, r14
call fcn.180003950
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], rdi
mov word [rsp + 0x48], di
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.180003d30
nop
mov r8d, 0x12
lea rdx, str.SmartCloudInfo.ini
lea rcx, [rsp + 0x48]
call fcn.180003950
mov word [rbp - 0x70], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x6e]
call fcn.1800098a0
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rcx, qword [rsp + 0x48]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1800027a0
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rbp - 0x70]
lea r8, [0x18001f800]
lea rdx, str.CfgRootPath
lea rcx, str.AppInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [rbp - 0x70], 0
jne 0x1800027ac
mov r8, rdi
jmp 0x1800027bf
lea rax, [rbp - 0x70]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1800027b4
lea rdx, [rbp - 0x70]
lea rcx, [rsi + 0xa0]
call fcn.180003e80
mov r8d, 0x15
lea rdx, str.ConfigUseVestige.ini
lea rcx, [rsi + 0xa0]
call fcn.180003950
cmp word [rbp - 0x70], 0
je 0x18000280a
lea rax, [rbp - 0x70]
or rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x180002800
mov r8, rdi
lea rdx, [rbp - 0x70]
lea rcx, [rsi + 0xc0]
call fcn.180003e80
mov r8d, 0x11
lea rdx, str.ConfigConfig.ini
lea rcx, [rsi + 0xc0]
call fcn.180003950
lea rdx, str.InitInstallPath_ok
mov rcx, rsi
call fcn.180002c90
nop
cmp qword [rsp + 0x60], 8
jb 0x180002858
mov rcx, qword [rsp + 0x48]
call fcn.180007828
mov rcx, qword [rbp + 0x9e0]
xor rcx, rsp
call fcn.180009870
lea r11, [rsp + 0xaf0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret