Function at 0x180004690
Capabilities:
Check if file exists
Read .ini file

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x418]
sub rsp, 0x500
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x18003c0b0]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
mov rbx, rcx
call fcn.180004a20
lea rsi, [rbx + 0x20]
lea rdi, [rbx + 0x60]
cmp rdi, rsi
je 0x1800046ee
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.180001bd0
mov r8d, 9
lea rdx, str.Psych.exe
mov rcx, rdi
call fcn.180001a60
mov qword [rsp + 0x60], 7
xor r14d, r14d
mov qword [rsp + 0x58], r14
mov word [rsp + 0x48], r14w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.180001bd0
nop
lea r8d, [r14 + 0x10]
lea rdx, str.XiangCaoWifi.ini
lea rcx, [rsp + 0x48]
call fcn.180001a60
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x30]
call fcn.18000e710
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 0x1800047dc
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 - 0x30]
lea r8, [0x180027660]
lea rdx, str.CfgPath
lea rcx, str.AppInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [rbp - 0x30], r14w
jne 0x1800047b9
mov r8d, r14d
jmp 0x1800047cc
lea rax, [rbp - 0x30]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1800047c1
lea rcx, [rbx + 0xa0]
lea rdx, [rbp - 0x30]
call fcn.180001d10
cmp qword [rbx + 0xb0], 0
jne 0x180004970
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1e0]
call fcn.18000e710
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.180003e50
nop
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
lea rax, [rbp + 0x1e0]
mov qword [rsp + 0x30], rax
lea rax, str.600af
mov qword [rsp + 0x28], rax
lea rax, str.OISet
mov qword [rsp + 0x20], rax
lea r8, str.XiangCaoWifi
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.180004350
lea rdi, [rbx + 0xa0]
mov rdx, rax
mov rcx, rdi
call fcn.180002580
mov r8, qword [rbp - 0x80]
cmp r8, 8
jb 0x18000487f
inc r8
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x68]
call fcn.180001ee0
cmp qword [rdi + 0x10], 0
je 0x180004954
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], r14
mov word [rsp + 0x68], r14w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.180001bd0
nop
mov edx, 0x5c
or r8, 0xffffffffffffffff
lea rcx, [rsp + 0x68]
call fcn.1800027c0
cmp eax, 0xffffffff
jle 0x180004937
inc eax
movsxd r9, eax
xor r8d, r8d
lea rdx, [rbp - 0x58]
mov rcx, rdi
call fcn.180002890
mov rdx, rax
mov rcx, rdi
call fcn.180002580
mov r8, qword [rbp - 0x40]
cmp r8, 8
jb 0x180004903
inc r8
mov rdx, qword [rbp - 0x58]
lea rcx, [rbp - 0x58]
call fcn.180001ee0
add rbx, 0xc0
cmp rbx, rdi
je 0x180004921
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.180001bd0
mov r8d, 0xf
lea rdx, str.Performance.ini
mov rcx, rbx
call fcn.180001a60
nop
mov r8, qword [rbp - 0x80]
cmp r8, 8
jb 0x180004954
inc r8
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x68]
call fcn.180001ee0
nop
mov r8, qword [rbp - 0x60]
cmp r8, 8
jb 0x1800049d5
inc r8
mov rdx, qword [rbp - 0x78]
lea rcx, [rbp - 0x78]
call fcn.180001ee0
jmp 0x1800049d5
lea rdi, [rbx + 0xa0]
mov r8d, 6
lea rdx, str.Config
mov rcx, rdi
call fcn.180001a60
mov r8d, 1
lea rdx, [0x180027664]
mov rcx, rdi
call fcn.180001a60
add rbx, 0xc0
cmp rbx, rdi
je 0x1800049bf
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.180001bd0
mov r8d, 0xe
lea rdx, str.UseVestige.ini
mov rcx, rbx
call fcn.180001a60
nop
mov r8, qword [rsp + 0x60]
cmp r8, 8
jb 0x1800049f2
inc r8
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.180001ee0
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.18000b7e0
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret