Function at 0x140019350
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov qword [rbp - 1], 0xfffffffffffffffe
mov rsi, rcx
call fcn.140001e70
mov rcx, rax
xor r14d, r14d
mov edx, r14d
test rax, rax
setne dl
test edx, edx
jne 0x140019395
mov ecx, 0x80004005
call fcn.140001bf0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x59], rbx
lea rcx, [rbp - 0x69]
call fcn.14000b0a0
nop
lea r8, str.TrainerSettings.ini
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x21]
call fcn.140001190
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
or rdi, 0xffffffffffffffff
cmp rcx, rbx
je 0x140019417
cmp dword [rbx + 0x10], 0
jl 0x140019409
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140019409
call fcn.140001420
mov r15, rax
lock add dword [rbx + 0x10], edi
jg 0x1400193ff
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [r15 + 0x18]
mov qword [rbp - 0x59], rax
jmp 0x140019417
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x59]
call fcn.140009350
nop
mov rdx, qword [rbp - 0x21]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001942f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbp - 0x69]
add rcx, 0xffffffffffffffe8
call fcn.140001420
lea rbx, [rax + 0x18]
mov qword [rbp + 0x17], rbx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
setne r15b
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019468
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test r15b, r15b
jne 0x140019476
mov rcx, qword [rbp - 0x69]
call fcn.140041350
mov ecx, 8
call fcn.14003fdcc
mov qword [rbp - 0x49], rax
mov rbx, qword [rbp - 0x59]
test rax, rax
je 0x14001949a
mov rdx, rbx
mov rcx, rax
call fcn.1400185e0
jmp 0x14001949d
mov rax, r14
mov qword [rsi + 0xc0], rax
mov ecx, 0x10
call fcn.14003fdcc
mov qword [rbp - 0x49], rax
test rax, rax
je 0x1400194c8
mov rdx, qword [rsi + 0xc0]
mov rcx, rax
call fcn.1400188b0
jmp 0x1400194cb
mov rax, r14
mov qword [rsi + 0xc8], rax
lea r12, [rbx - 0x18]
mov rcx, r12
call fcn.140001420
lea rbx, [rax + 0x18]
mov qword [rbp - 0x49], rbx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
setne r15b
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001950a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test r15b, r15b
jne 0x140019727
lea rdx, [0x140089a20]
mov ecx, 2
call fcn.140041384
mov r15, rax
call fcn.140001e70
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x140019547
mov ecx, 0x80004005
call fcn.140001bf0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x7f], rbx
test r15, r15
je 0x140019588
test r15, 0xffffffffffff0000
jne 0x140019588
movzx r15d, r15w
mov ecx, r15d
call fcn.1400099b0
test rax, rax
je 0x140019598
mov r8d, r15d
mov rdx, rax
lea rcx, [rbp + 0x7f]
call fcn.140003170
jmp 0x140019594
mov rdx, r15
lea rcx, [rbp + 0x7f]
call fcn.140002f40
mov rbx, qword [rbp + 0x7f]
call fcn.140001e70
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400195b8
mov ecx, 0x80004005
call fcn.140001bf0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x61], rax
cmp dword [rbx - 0x10], 0
jl 0x14001964f
lea rdx, str.Chinese
mov rcx, rbx
call fcn.1400408a4
test rax, rax
je 0x14001964f
sub rax, rbx
sar rax, 1
cmp eax, 0xffffffff
je 0x14001964f
cmp dword [rbx - 0x10], 0
jge 0x1400195fc
mov eax, edi
jmp 0x14001961a
lea rdx, str.Traditional
mov rcx, rbx
call fcn.1400408a4
test rax, rax
jne 0x140019614
mov eax, edi
jmp 0x14001961a
sub rax, rbx
sar rax, 1
lea rcx, str.Chinese_Traditional
lea rdx, str.Chinese_Simplified
cmp eax, 0xffffffff
cmovne rdx, rcx
test rdx, rdx
jne 0x140019639
mov eax, r14d
jmp 0x14001964a
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140019640
mov r8d, eax
jmp 0x14001965c
mov r8d, 7
lea rdx, str.English
lea rcx, [rbp - 0x61]
call fcn.140009350
mov rax, qword [rsi + 0xc8]
mov rcx, qword [rax + 8]
mov rax, qword [rax]
mov r9, qword [rax]
mov rbx, qword [rbp - 0x61]
mov r8, rbx
lea rdx, str.Language
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rax, qword [rsi + 0xc8]
mov rcx, qword [rax + 8]
mov rax, qword [rax]
mov r9, qword [rax]
lea r8, str.True
lea rdx, str.ShowAVHint
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rax, qword [rsi + 0xc8]
mov rcx, qword [rax + 8]
mov rax, qword [rax]
mov r9, qword [rax]
lea r8, str.True
lea rdx, str.OnLoadMusic
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rax, qword [rsi + 0xc8]
mov rcx, qword [rax + 8]
mov rax, qword [rax]
mov r9, qword [rax]
lea r8, str.False
lea rdx, str.IgnoreGameVersion
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001970f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019727
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rbp - 0x11]
mov rcx, qword [rsi + 0xc8]
call fcn.140018930
nop
mov rcx, rax
call fcn.140003ec0
mov rcx, qword [rax]
sub rcx, 0x18
call fcn.140001420
add rax, 0x18
mov qword [rbp - 0x51], rax
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001976c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp - 0x51]
cmp dword [rbx - 0x10], 0
jl 0x1400197a0
lea rdx, str.SIMPLIFIED
mov rcx, rbx
call fcn.1400408a4
test rax, rax
je 0x14001979a
sub rax, rbx
sar rax, 1
cmp eax, 0xffffffff
je 0x14001979a
mov edx, r14d
jmp 0x1400197cd
cmp dword [rbx - 0x10], 0
jge 0x1400197a4
mov eax, edi
jmp 0x1400197c2
lea rdx, str.TRADITIONAL
mov rcx, rbx
call fcn.1400408a4
test rax, rax
jne 0x1400197bc
mov eax, edi
jmp 0x1400197c2
sub rax, rbx
sar rax, 1
mov edx, r14d
cmp eax, 0xffffffff
sete dl
inc edx
mov rcx, rsi
call fcn.14001a3f0
mov r8b, 1
lea rdx, str.ShowAVHint
mov rcx, qword [rsi + 0xc8]
call fcn.140018970
test al, al
je 0x140019a1f
call fcn.140001e70
mov rcx, rax
test rax, rax
setne r14b
test r14d, r14d
jne 0x140019812
mov ecx, 0x80004005
call fcn.140001bf0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x6f], rax
lea rdx, [0x140089d70]
test rdx, 0xffffffffffff0000
jne 0x140019850
movzx ebx, dx
mov ecx, ebx
call fcn.1400099b0
test rax, rax
je 0x14001985d
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x6f]
call fcn.140003170
jmp 0x14001985d
xor r8d, r8d
lea rcx, [rbp + 0x6f]
call fcn.140009350
nop
lea rdx, str.360Tray.exe
lea rcx, [rbp + 7]
call fcn.140003b00
mov rcx, rax
call fcn.140017940
test eax, eax
je 0x14001988f
mov r8d, 0xb
lea rdx, str.360Tray.exe
lea rcx, [rbp + 0x6f]
call fcn.140009350
lea rdx, str.360Safe.exe
lea rcx, [rbp + 0xf]
call fcn.140003b00
mov rcx, rax
call fcn.140017940
test eax, eax
je 0x1400198c1
mov r8d, 0xb
lea rdx, str.360Safe.exe
lea rcx, [rbp + 0x6f]
call fcn.140009350
mov rax, qword [rbp + 0x6f]
cmp dword [rax - 0x10], 0
je 0x140019a07
lea r8, [rbp + 0x6f]
lea rdx, [0x14008c828]
lea rcx, [rbp - 0x29]
call fcn.140002e10
nop
lea r8, [0x14008c810]
mov rdx, rax
lea rcx, [rbp - 0x31]
call fcn.140001190
nop
lea r8, [0x14008c7c0]
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.140001190
nop
lea r8, [0x14008c770]
mov rdx, rax
lea rcx, [rbp - 9]
call fcn.140001190
nop
lea r8, [0x14008c720]
mov rdx, rax
lea rcx, [rbp - 0x19]
call fcn.140001190
mov r9d, 4
lea r8, str.Fuck360
mov rdx, qword [rax]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
sete bl
mov rdx, qword [rbp - 0x19]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001996a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 9]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019983
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x41]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001999c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x31]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400199b5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400199cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test bl, bl
je 0x140019a07
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 2]
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.USER32.dll_SendMessageW]
nop
mov rdx, qword [rbp + 0x6f]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019bbc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140019bbc
mov rdx, qword [rbp + 0x6f]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019a1f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rsi + 0xd0]
call fcn.140011ed0
lea r8, [0x14008c848]
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x39]
call fcn.140001190
nop
mov rdx, rax
lea rcx, [rsi + 0x2a0]
call fcn.14000bcf0
nop
mov rdx, qword [rbp - 0x39]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019a68
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsi + 0x2a0]
sub rcx, 0x18
call fcn.140001420
lea rbx, [rax + 0x18]
mov qword [rbp + 0x1f], rbx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
setne r15b
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019aa4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test r15b, r15b
jne 0x140019ac1
mov r8, qword [rsi + 0x2a0]
lea rdx, [0x14008c868]
mov ecx, 0xa7
call fcn.14000ae90
cmp byte [rsi + 0x120], 0
jne 0x140019b8d
mov rbx, qword [rsi + 0xc8]
lea rax, str.ERROR
mov qword [rsp + 0x20], rax
lea r9, str.OnLoadMusic
mov r8, qword [rbx + 8]
lea rdx, [rbp + 0x77]
mov rcx, qword [rbx]
call fcn.140018670
nop
lea rcx, [rbp + 0x77]
call fcn.14001aab0
mov rcx, rax
call fcn.14001ab70
lea rdx, str.true
mov rcx, qword [rbp + 0x77]
call fcn.1400411dc
test eax, eax
je 0x140019b6b
lea rdx, str.false
mov rcx, qword [rbp + 0x77]
call fcn.1400411dc
test eax, eax
jne 0x140019b4c
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019b8d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140019b8d
mov rax, qword [rbx]
mov r9, qword [rax]
lea r8, str.True
lea rdx, str.OnLoadMusic
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019b83
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov dl, 1
mov rcx, rsi
call fcn.140019c20
xor r9d, r9d
mov edx, 0x2710
lea r8d, [r9 + 0xa]
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.USER32.dll_SetTimer]
xor r9d, r9d
mov edx, 0x2711
mov r8d, 0xc8
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.USER32.dll_SetTimer]
nop
mov rdx, qword [rbp - 0x51]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019bd5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x69]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019bee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lock add dword [r12 + 0x10], 0xffffffff
jg 0x140019c04
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
add rsp, 0xc0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret