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

Disassembly:
cmp rdx, 0x10000
jb 0x1400079c8
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x140
mov rax, qword [0x1400e3080]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov rdi, rdx
mov r12, rcx
xor r13d, r13d
mov rbx, qword [0x1400e6d90]
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], r13
xor r8d, r8d
lea rdx, [0x1400c8448]
lea rcx, [rsp + 0x78]
call fcn.140007f70
lea rdx, [rsp + 0x78]
lea rcx, [rbx + 0x70]
call fcn.14005ba20
mov r15, rax
test rax, rax
jle 0x14000799c
mov r8b, 1
mov rdx, rdi
lea rcx, [rsp + 0xd8]
call fcn.140005af0
nop
lea rdi, [rsp + 0xd8]
mov rbx, qword [rsp + 0xd8]
mov r14, qword [rsp + 0xf0]
cmp r14, 0xf
cmova rdi, rbx
mov r8, qword [rsp + 0xe8]
cmp r8, 1
jb 0x140007134
lea rsi, [r8 + rdi]
lea edx, [r13 + 0x2b]
mov rcx, rdi
call fcn.1400a3f30
test rax, rax
je 0x140007134
cmp byte [rax], 0x2b
jne 0x140007110
mov ecx, r13d
jmp 0x140007115
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x140007170
inc rax
mov r8, rsi
sub r8, rax
mov edx, 0x2b
mov rcx, rax
call fcn.1400a3f30
test rax, rax
jne 0x140007106
cmp r14, 0xf
jbe 0x14000799c
lea rdx, [r14 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140007994
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400079c9
jmp 0x140007994
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x140007134
mov rdx, r15
lea rcx, [rsp + 0x118]
call fcn.140002900
mov r14, rax
lea rdx, [0x1400e7220]
mov r9, qword [0x1400e7230]
cmp qword [0x1400e7238], 0xf
jbe 0x1400071ab
mov rdx, qword [0x1400e7220]
add r9, rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x88], xmm1
cmp rdx, r9
jne 0x1400071e0
movdqa xmm0, xmmword [0x1400d2230]
movdqu xmmword [rsp + 0x88], xmm0
mov word [rsp + 0x78], r13w
jmp 0x1400071ee
sub r9, rdx
lea rcx, [rsp + 0x78]
call fcn.1400267d0
nop
lea rcx, [rsp + 0xf8]
call fcn.140047060
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 0xe
jb 0x140007243
lea rsi, [rcx + 0xe]
mov qword [rbx + 0x10], rsi
mov rdi, rbx
cmp rdx, 7
jbe 0x140007226
mov rdi, qword [rbx]
lea rcx, [rdi + rcx*2]
mov r8d, 0x1c
lea rdx, str._trainer_logs_
call fcn.1400a34f0
mov word [rdi + rsi*2], r13w
jmp 0x140007269
mov qword [rsp + 0x20], SafeArrayDestroy
lea r9, str._trainer_logs_
movzx r8d, byte [rsp + 0x30]
mov edx, SafeArrayDestroy
mov rcx, rbx
call fcn.140024680
mov rbx, rax
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x48], xmm1
mov qword [rbx + 0x10], r13
mov edi, 7
mov qword [rbx + 0x18], rdi
mov word [rbx], r13w
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x38]
lea rcx, [rsp + 0xb8]
call fcn.140025a90
nop
mov rsi, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
sub rax, rsi
cmp rax, 9
jb 0x140007303
lea rax, [rsi + 9]
mov qword [rsp + 0xc8], rax
lea rbx, [rsp + 0xb8]
cmp rcx, rdi
cmova rbx, qword [rsp + 0xb8]
lea rcx, [rbx + rsi*2]
lea r8d, [rdi + 0xb]
lea rdx, str._version_
call fcn.1400a34f0
mov word [rbx + rsi*2 + 0x12], r13w
lea rax, [rsp + 0xb8]
jmp 0x14000732b
mov qword [rsp + 0x20], 9
lea r9, str._version_
movzx r8d, byte [rsp + 0x30]
mov edx, 9
lea rcx, [rsp + 0xb8]
call fcn.140024680
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], rdi
mov word [rax], r13w
mov r9, r14
lea r8, [rsp + 0x58]
lea rcx, [rsp + 0x98]
call fcn.140025a90
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x1400073a1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000739b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400079cf
call fcn.14007bd90
nop
mov rdx, qword [rsp + 0xd0]
cmp rdx, 7
jbe 0x1400073e9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400073e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400079d5
call fcn.14007bd90
movdqa xmm0, xmmword [0x1400d2230]
movdqu xmmword [rsp + 0xc8], xmm0
mov word [rsp + 0xb8], r13w
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x140007446
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007440
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400079db
call fcn.14007bd90
nop
mov rdx, qword [rsp + 0x110]
cmp rdx, 7
jbe 0x14000748e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xf8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007489
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400079e1
call fcn.14007bd90
movdqa xmm0, xmmword [0x1400d2230]
movdqu xmmword [rsp + 0x108], xmm0
mov word [rsp + 0xf8], r13w
mov rdx, qword [rsp + 0x90]
cmp rdx, 7
jbe 0x1400074ee
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400074e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400079e7
call fcn.14007bd90
nop
mov rdx, qword [rsp + 0x130]
cmp rdx, 7
jbe 0x140007536
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x118]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007531
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400079ed
call fcn.14007bd90
movdqa xmm0, xmmword [0x1400d2230]
movdqu xmmword [rsp + 0x128], xmm0
mov word [rsp + 0x118], r13w
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 7
cmova rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140007625
lea rdx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 7
cmova rdx, qword [rsp + 0x98]
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov r8, qword [rsp + 0xa8]
lea rcx, [rsp + 0x58]
call fcn.140007f70
nop
mov dword [rsp + 0x38], r13d
lea rax, [0x1400e3cc0]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.140005340
cmp dword [rsp + 0x38], 0
jne 0x1400079f3
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x140007625
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007620
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a03
call fcn.14007bd90
mov rbx, qword [rsp + 0xa8]
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, rbx
cmp rax, 0xc
jb 0x140007a09
lea r15, [rsp + 0x98]
cmp qword [rsp + 0xb0], 7
cmova r15, qword [rsp + 0x98]
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x88], xmm1
lea r14, [rbx + 0xc]
lea rsi, [rsp + 0x78]
cmp r14, 7
jbe 0x140007719
mov rdi, r14
or rdi, 7
cmp rdi, rcx
jbe 0x1400076a7
mov rdi, rcx
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x1400076d6
mov eax, 0xa
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140007a0e
add rcx, rcx
cmp rcx, 0x1000
jb 0x140007702
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007a13
mov rcx, rax
call fcn.14007bdc4
test rax, rax
je 0x140007a25
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140007714
test rcx, rcx
je 0x140007711
call fcn.14007bdc4
mov rsi, rax
jmp 0x140007714
mov rsi, r13
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
add rbx, rbx
mov r8, rbx
mov rdx, r15
mov rcx, rsi
call fcn.1400a34f0
movups xmm0, xmmword [str._symbols.ini]
movups xmmword [rbx + rsi], xmm0
movsd xmm0, qword [0x1400c8508]
movsd qword [rbx + rsi + 0x10], xmm0
mov word [rsi + r14*2], r13w
lea r9, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0xf
cmova r9, qword [rsp + 0xd8]
add r9, qword [rsp + 0xe8]
lea rdx, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0xf
cmova rdx, qword [rsp + 0xd8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
cmp rdx, r9
jne 0x1400077c0
movdqa xmm0, xmmword [0x1400d2230]
movdqu xmmword [rsp + 0x68], xmm0
mov word [rsp + 0x58], r13w
jmp 0x1400077ce
sub r9, rdx
lea rcx, [rsp + 0x58]
call fcn.1400267d0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
movdqa xmm1, xmmword [0x1400d22b0]
movdqu xmmword [rsp + 0x48], xmm1
mov rax, qword [str.default]
mov dword [rsp + 0x38], eax
movzx eax, word [0x1400c851c]
mov word [rsp + 0x3c], ax
movzx eax, byte [0x1400c851e]
mov byte [rsp + 0x3e], al
mov byte [rsp + 0x3f], 0
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x58]
mov rdx, r12
lea rcx, [rsp + 0x38]
call fcn.140006e80
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x140007860
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000785b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a19
call fcn.14007bd90
movdqa xmm0, xmmword [0x1400d2240]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x1400078b5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400078b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a1f
call fcn.14007bd90
movdqa xmm0, xmmword [0x1400d2230]
movdqu xmmword [rsp + 0x68], xmm0
mov word [rsp + 0x58], r13w
mov rdx, qword [rsp + 0x90]
cmp rdx, 7
jbe 0x14000790f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007909
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a25
call fcn.14007bd90
nop
mov rdx, qword [rsp + 0xb0]
cmp rdx, 7
jbe 0x140007958
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007952
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a2b
call fcn.14007bd90
nop
mov rdx, qword [rsp + 0xf0]
cmp rdx, 0xf
jbe 0x14000799c
inc rdx
mov rcx, qword [rsp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007997
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400079c9
jmp 0x140007997
mov rcx, rbx
call fcn.14007bd90
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.14007bd70
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.140082e80
nop
call fcn.140082e80
nop
call fcn.140082e80
nop
call fcn.140082e80
nop
call fcn.140082e80
nop
call fcn.140082e80
nop
call fcn.140082e80
nop
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x38]
call fcn.1400052e0
nop
call fcn.140082e80
int3
call fcn.140002790
call fcn.1400026f0
call fcn.1400026f0
nop
call fcn.140082e80
nop
call fcn.140082e80
nop
call fcn.140082e80
nop
call fcn.140082e80
int3