Function at 0x140029170
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1b0
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400c8080]
xor rax, rsp
mov qword [rbp + 0xa8], rax
mov rdi, rcx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], 7
mov word [rbp + 8], r13w
lea rcx, [rbp - 0x58]
call fcn.14000fa90
nop
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r13w
mov dword [rsp + 0x30], 4
mov rdx, qword [rbp - 0x48]
add rdx, 0x14
lea rcx, [rsp + 0x48]
call fcn.140003750
lea rdx, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x48]
lea rcx, [rsp + 0x48]
call fcn.140003810
lea r8d, [r13 + 0x14]
lea rdx, str.TrainerSettings.ini
lea rcx, [rsp + 0x48]
call fcn.140003810
lea rcx, [rbp + 8]
call fcn.140005d90
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rbp + 0x18], xmm1
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae rcx, qword [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14002927c
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae rcx, qword [rbp - 0x58]
call fcn.140073648
mov ecx, 0x20
call fcn.14004d9ac
mov rbx, rax
mov qword [rsp + 0x30], rax
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
lea rax, [rbp + 8]
cmp rbx, rax
je 0x1400292c2
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 8
cmovae rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
mov rcx, rbx
call fcn.1400051b0
nop
mov qword [rdi + 0xc8], rbx
mov ecx, 0x28
call fcn.14004d9ac
mov rbx, rax
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r13w
mov r8d, 7
lea rdx, str.Trainer
lea rcx, [rbp - 0x78]
call fcn.1400051b0
nop
mov dword [rsp + 0x30], 1
mov rsi, qword [rdi + 0xc8]
lea rcx, [rbx + 8]
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], 7
mov word [rcx], r13w
lea rax, [rbp - 0x78]
cmp rcx, rax
je 0x140029346
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rdx, qword [rbp - 0x78]
mov r8, qword [rbp - 0x68]
call fcn.1400051b0
mov qword [rbx], rsi
mov qword [rdi + 0xd0], rbx
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140029390
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002938b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a435
call fcn.14004d9a4
lea rcx, [rbp + 8]
cmp qword [rbp + 0x20], 8
cmovae rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r12d, 8
mov qword [rsp + 0x30], r12
cmp eax, 0xffffffff
jne 0x14002976c
lea rdx, [0x1400ab913]
lea ecx, [r12 - 6]
call fcn.140073980
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x1400293e3
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.140005c20
nop
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r13w
lea rcx, [rbp - 0x78]
mov rsi, qword [rbp - 0x78]
mov r14, qword [rbp - 0x60]
cmp r14, 0x10
cmovae rcx, rsi
mov qword [rsp + 0x20], 7
lea r9, str.Chinese
xor r8d, r8d
mov r15, qword [rbp - 0x68]
mov rdx, r15
call fcn.140008e60
cmp rax, 0xffffffffffffffff
je 0x140029492
lea rcx, [rbp - 0x78]
cmp r14, 0x10
cmovae rcx, rsi
mov qword [rsp + 0x20], 0xb
lea r9, str.Traditional
xor r8d, r8d
mov rdx, r15
call fcn.140008e60
lea rcx, str.Chinese_Traditional
lea rdx, str.Chinese_Simplified
cmp rax, 0xffffffffffffffff
cmovne rdx, rcx
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x140029483
mov r8, rbx
jmp 0x14002949f
mov r8d, 7
lea rdx, str.English
lea rcx, [rsp + 0x68]
call fcn.1400051b0
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], 7
mov word [rbp - 0x38], r13w
mov r8, r12
lea rdx, str.Language
lea rcx, [rbp - 0x38]
call fcn.1400051b0
mov rcx, qword [rdi + 0xd0]
mov r9, qword [rcx]
cmp qword [r9 + 0x18], 8
jb 0x1400294e1
mov r9, qword [r9]
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r8, qword [rsp + 0x68]
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae rdx, qword [rbp - 0x38]
add rcx, 8
cmp qword [rcx + 0x18], 8
jb 0x14002950d
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x140029553
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002954e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a43b
call fcn.14004d9a4
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r13w
mov r8d, 0xa
lea rdx, str.ShowAVHint
lea rcx, [rsp + 0x48]
call fcn.1400051b0
nop
mov r8b, 1
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0xd0]
call fcn.140028100
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400295d6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400295d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a441
call fcn.14004d9a4
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r13w
mov r8d, 0xb
lea rdx, str.OnLoadMusic
lea rcx, [rsp + 0x48]
call fcn.1400051b0
nop
mov r8b, 1
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0xd0]
call fcn.140028100
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x140029659
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029654
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a447
call fcn.14004d9a4
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r13w
mov r8d, 0x11
lea rdx, str.IgnoreGameVersion
lea rcx, [rsp + 0x48]
call fcn.1400051b0
nop
xor r8d, r8d
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0xd0]
call fcn.140028100
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400296dd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400296d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a44d
call fcn.14004d9a4
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14002971e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029719
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a453
call fcn.14004d9a4
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r13w
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x14002976c
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029767
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a459
call fcn.14004d9a4
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x60], 7
mov word [rbp + 0x48], r13w
mov r8d, 7
lea rdx, str.ENGLISH
lea rcx, [rbp + 0x48]
call fcn.1400051b0
nop
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], r13w
mov r8, r12
lea rdx, str.Language
lea rcx, [rbp + 0x28]
call fcn.1400051b0
nop
mov rcx, qword [rdi + 0xd0]
lea r8, [rcx + 8]
lea rax, [rbp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x28]
lea rdx, [rbp - 0x18]
mov rcx, qword [rcx]
call fcn.140027c90
nop
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x14002981e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029819
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a45f
call fcn.14004d9a4
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], r13w
mov rdx, qword [rbp + 0x60]
cmp rdx, 8
jb 0x14002986f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002986a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a465
call fcn.14004d9a4
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x60], 7
mov word [rbp + 0x48], r13w
lea r15, [rbp - 0x18]
mov r12, qword [rbp - 0x18]
mov r13, qword [rbp]
cmp r13, 8
cmovae r15, r12
lea rax, [rbp - 0x18]
cmovae rax, r12
mov rcx, qword [rbp - 8]
lea rcx, [rax + rcx*2]
lea rbx, [rbp - 0x18]
cmovae rbx, r12
xor eax, eax
mov esi, eax
mov r14, rcx
sub r14, rbx
inc r14
shr r14, 1
cmp rbx, rcx
cmova r14, rax
test r14, r14
je 0x1400298f1
sub r15, rbx
nop dword [rax + rax]
movzx ecx, word [rbx]
call fcn.14007295c
mov word [rbx + r15], ax
lea rbx, [rbx + 2]
inc rsi
cmp rsi, r14
jne 0x1400298d0
mov r13, qword [rbp]
mov r12, qword [rbp - 0x18]
lea rcx, [rbp - 0x18]
cmp r13, 8
cmovae rcx, r12
mov qword [rsp + 0x20], 0xa
lea r9, str.SIMPLIFIED
xor r8d, r8d
mov rbx, qword [rbp - 8]
mov rdx, rbx
call fcn.140012030
cmp rax, 0xffffffffffffffff
je 0x14002992a
xor r15d, r15d
mov edx, r15d
jmp 0x140029960
lea rcx, [rbp - 0x18]
cmp r13, 8
cmovae rcx, r12
mov qword [rsp + 0x20], 0xb
lea r9, str.TRADITIONAL
xor r8d, r8d
mov rdx, rbx
call fcn.140012030
xor r15d, r15d
mov edx, r15d
cmp rax, 0xffffffffffffffff
sete dl
inc edx
mov rcx, rdi
call fcn.14002b090
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r15w
mov r8d, 0xa
lea rdx, str.ShowAVHint
lea rcx, [rsp + 0x48]
call fcn.1400051b0
nop
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0xd0]
call fcn.140027e60
movzx ebx, al
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400299ea
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400299e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a46b
call fcn.14004d9a4
test bl, bl
je 0x140029eee
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r15w
xor r8d, r8d
lea rdx, [0x1400ac068]
lea rcx, [rsp + 0x68]
call fcn.1400051b0
nop
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r15w
mov r8d, 0xb
lea rdx, str.360Tray.exe
lea rcx, [rsp + 0x48]
call fcn.1400051b0
lea rcx, [rsp + 0x48]
call fcn.1400268e0
test eax, eax
je 0x140029a6a
mov r8d, 0xb
lea rdx, str.360Tray.exe
lea rcx, [rsp + 0x68]
call fcn.1400051b0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r15w
mov r8d, 0xb
lea rdx, str.360Safe.exe
lea rcx, [rsp + 0x48]
call fcn.1400051b0
lea rcx, [rsp + 0x48]
call fcn.1400268e0
test eax, eax
je 0x140029aba
mov r8d, 0xb
lea rdx, str.360Safe.exe
lea rcx, [rsp + 0x68]
call fcn.1400051b0
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x140029ead
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r15w
mov dword [rsp + 0x30], 0x18
lea rdx, [rbx + 0xf]
lea rcx, [rsp + 0x48]
call fcn.140003750
mov r8d, 0xf
lea rdx, [0x1400b0368]
lea rcx, [rsp + 0x48]
call fcn.140003810
lea rdx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rdx, qword [rsp + 0x68]
mov r8, rbx
lea rcx, [rsp + 0x48]
call fcn.140003810
mov r8d, 9
lea rdx, [0x1400b0350]
lea rcx, [rsp + 0x48]
call fcn.140003810
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x28], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov dword [rsp + 0x30], 0x38
mov r8d, 0x25
lea rdx, [0x1400b0300]
lea rcx, [rbp - 0x38]
call fcn.140003810
mov qword [rbp + 0x98], r15
mov qword [rbp + 0xa0], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x88], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x98], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov dword [rsp + 0x30], 0x78
mov r8d, 0x22
lea rdx, [0x1400b02b0]
lea rcx, [rbp + 0x88]
call fcn.140003810
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x80], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x78], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov dword [rsp + 0x30], 0xf8
mov r8d, 0x23
lea rdx, [0x1400b0260]
lea rcx, [rbp + 0x68]
call fcn.140003810
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, qword [rbp + 0x80]
cmp rdx, 8
jb 0x140029c80
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029c7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a471
call fcn.14004d9a4
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x80], 7
mov word [rbp + 0x68], r15w
mov rdx, qword [rbp + 0xa0]
cmp rdx, 8
jb 0x140029cda
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029cd5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a477
call fcn.14004d9a4
mov qword [rbp + 0x98], r15
mov qword [rbp + 0xa0], 7
mov word [rbp + 0x88], r15w
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x140029d34
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029d2f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a47d
call fcn.14004d9a4
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], 7
mov word [rbp - 0x38], r15w
mov r12d, 0x1e8
mov qword [rsp + 0x30], r12
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x140029d92
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029d8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a483
call fcn.14004d9a4
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rdx, qword [rbp - 0x78]
mov r9d, 4
lea r8, [0x1400b0388]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
jne 0x140029e6c
xor r9d, r9d
xor r8d, r8d
lea edx, [rax - 5]
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140029e11
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029e0c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a489
call fcn.14004d9a4
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14002a31b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029e62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a48f
call fcn.14004d9a4
jmp 0x14002a31b
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140029ead
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029ea7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a495
call fcn.14004d9a4
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x140029eee
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029ee9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a49b
call fcn.14004d9a4
mov r14, qword [rsp + 0x30]
mov esi, r14d
lea rcx, [rdi + 0xe8]
call fcn.1400264b0
test eax, eax
setne dl
mov byte [rdi + 0x170], dl
test eax, eax
je 0x140029f2b
cmp qword [rdi + 0x130], 0x10000
jae 0x140029f2b
lea rcx, [rdi + 0xe8]
call fcn.140026840
nop
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r15w
bts r14d, 9
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x48]
add rdx, 0xf
lea rcx, [rsp + 0x68]
call fcn.140003750
lea rdx, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x48]
lea rcx, [rsp + 0x68]
call fcn.140003810
mov r8d, 0xf
lea rdx, str.TrainerBGM.mid
lea rcx, [rsp + 0x68]
call fcn.140003810
lea rbx, [rdi + 0x3c8]
lea rax, [rsp + 0x68]
cmp rbx, rax
je 0x140029fcd
mov rcx, rbx
call fcn.140005d90
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsp + 0x78], r15
mov eax, 7
mov qword [rbp - 0x80], rax
mov word [rsp + 0x68], r15w
jmp 0x140029fd1
mov rax, qword [rbp - 0x80]
cmp rax, 8
jb 0x14002a00e
lea rdx, [rax*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002a009
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a4a1
call fcn.14004d9a4
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14002a01b
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14002a044
cmp qword [rbx + 0x18], 8
jb 0x14002a030
mov rbx, qword [rbx]
mov r8, rbx
lea rdx, [0x1400b03b8]
mov ecx, 0xa7
call fcn.14000f660
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r15w
mov r8d, 0x12
lea rdx, str.TrainerErrorStatus
lea rcx, [rsp + 0x48]
call fcn.1400051b0
nop
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0xd0]
call fcn.140028210
mov ebx, eax
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14002a0c5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002a0c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a4a7
call fcn.14004d9a4
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r15w
lea rcx, [rsp + 0x48]
test ebx, ebx
jle 0x14002a151
mov r8d, 0xb
lea rdx, str.OnLoadMusic
call fcn.1400051b0
nop
xor r8d, r8d
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0xd0]
call fcn.140028100
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14002a1bc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002a1b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a42f
jmp 0x14002a1b7
mov r8d, 0x12
lea rdx, str.TrainerErrorStatus
call fcn.1400051b0
nop
lea r8d, [rbx + 1]
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0xd0]
call fcn.1400283c0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14002a1bc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002a1b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a4ad
call fcn.14004d9a4
cmp byte [rdi + 0x170], 0
jne 0x14002a211
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r15w
mov r8d, 0xb
lea rdx, str.OnLoadMusic
lea rcx, [rsp + 0x48]
call fcn.1400051b0
nop
or esi, 2
mov dword [rsp + 0x30], esi
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0xd0]
call fcn.140027e60
test al, al
je 0x14002a211
mov bl, 1
jmp 0x14002a213
xor bl, bl
test sil, 2
je 0x14002a25b
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14002a25b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002a256
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a4b3
call fcn.14004d9a4
test bl, bl
je 0x14002a269
mov dl, 1
mov rcx, rdi
call fcn.14002a4d0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r15w
mov r8d, 0x12
lea rdx, str.TrainerErrorStatus
lea rcx, [rsp + 0x48]
call fcn.1400051b0
nop
xor r8d, r8d
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0xd0]
call fcn.1400283c0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14002a2ec
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002a2e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a4b9
call fcn.14004d9a4
xor r9d, r9d
mov edx, 0x2710
lea r8d, [r9 + 0xa]
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.USER32.dll_SetTimer]
xor r9d, r9d
mov edx, 0x2711
mov r8d, 0xc8
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.USER32.dll_SetTimer]
nop
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x14002a35b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002a356
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a4bf
call fcn.14004d9a4
mov qword [rbp - 8], r15
mov qword [rbp], 7
mov word [rbp - 0x18], r15w
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x14002a3ac
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002a3a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a4c5
call fcn.14004d9a4
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], r15w
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x14002a3f9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002a3f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a429
call fcn.14004d9a4
mov rcx, qword [rbp + 0xa8]
xor rcx, rsp
call fcn.14004d980
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
int3
call fcn.14006ef3c
int3
call fcn.14006ef3c
int3
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
int3
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
int3
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
int3
call fcn.14006ef3c
int3
call fcn.14006ef3c
int3
call fcn.14006ef3c
int3
call fcn.14006ef3c
int3
call fcn.14006ef3c
nop
call fcn.14006ef3c
nop
call fcn.14006ef3c
int3