Function at 0x140034290
Capabilities:
Check if file exists
Get file attributes
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1400df080]
xor rax, rsp
mov qword [rbp + 8], rax
lea rdi, [0x1400e3630]
mov rbx, qword [0x1400e3640]
cmp qword [0x1400e3648], 0x10
jb 0x1400342de
mov rdi, qword [0x1400e3630]
add rbx, rdi
xor r14d, r14d
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r14w
mov rdx, rbx
sub rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.14001db50
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.140023d70
nop
lea rcx, [rbp - 0x78]
call fcn.140043990
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 0x12
jb 0x14003436e
lea rsi, [rcx + 0x12]
mov qword [rbx + 0x10], rsi
mov rdi, rbx
cmp rdx, 8
jb 0x140034351
mov rdi, qword [rbx]
lea rcx, [rdi + rcx*2]
mov r8d, 0x24
lea rdx, str._trainer_settings_
call fcn.1400785c0
mov word [rdi + rsi*2], r14w
jmp 0x140034394
mov qword [rsp + 0x20], SafeArrayUnaccessData
lea r9, str._trainer_settings_
movzx r8d, byte [rsp + 0x30]
mov edx, 0x12
mov rcx, rbx
call fcn.14002bb40
mov rbx, rax
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea r9, [rsp + 0x68]
lea r8, [rbp - 0x58]
lea rcx, [rsp + 0x48]
call fcn.14003c630
nop
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov rax, r8
sub rax, rdx
cmp rax, 4
jb 0x14003440f
lea rcx, [rdx + 4]
mov qword [rsp + 0x58], rcx
lea rax, [rsp + 0x48]
cmp r8, 8
cmovae rax, qword [rsp + 0x48]
movabs r8, 0x69006e0069002e
mov qword [rax + rdx*2], r8
mov word [rax + rcx*2], r14w
lea rax, [rsp + 0x48]
jmp 0x140034434
mov qword [rsp + 0x20], 4
lea r9, str..ini
movzx r8d, byte [rsp + 0x30]
mov edx, 4
lea rcx, [rsp + 0x48]
call fcn.14002bb40
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x28], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400344a1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003449c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034888
call fcn.1400761b0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r14w
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x1400344f6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400344f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003488e
call fcn.1400761b0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140034536
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034531
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034894
call fcn.1400761b0
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r14w
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x140034588
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034583
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003489a
call fcn.1400761b0
lea rcx, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae rcx, qword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14003481d
mov qword [rsp + 0x68], r14
mov qword [rbp - 0x80], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x78], r14
mov byte [rsp + 0x68], 0
mov qword [rsp + 0x60], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x58], reloc.OLEAUT32.dll_SafeArrayDestroy
movsd xmm0, qword [str.GamePassExePath]
movsd qword [rsp + 0x48], xmm0
mov eax, dword [0x1400c8d28]
mov dword [rsp + 0x50], eax
movzx eax, word [0x1400c8d2c]
mov word [rsp + 0x54], ax
movzx eax, byte [0x1400c8d2e]
mov byte [rsp + 0x56], al
mov byte [rsp + 0x57], 0
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x78], 0
mov r8d, 6
lea rdx, str.Bypass
lea rcx, [rbp - 0x78]
call fcn.1400160c0
nop
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x38]
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x18]
call fcn.140033db0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x140034689
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034684
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400348a0
call fcn.1400761b0
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x78], 0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400346d6
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400346d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400348a6
call fcn.1400761b0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x48], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x140034725
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034720
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400348ac
call fcn.1400761b0
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x68], 0
cmp qword [rbp - 8], 3
jbe 0x140034813
mov rbx, qword [0x1400e3790]
lea rdi, [0x1400e36a0]
mov qword [rsp + 0x40], rdi
mov rcx, rdi
call fcn.140074f84
test eax, eax
jne 0x1400348b2
mov dword [rsp + 0x38], 0xa
mov dword [rsp + 0x34], r14d
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x34]
lea r8d, [rax + 4]
lea rdx, [rsp + 0x38]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x40], reloc.OLEAUT32.dll_SafeArrayDestroy
mov r8d, SafeArrayUnaccessData
lea rdx, str.SET_GAMEPASS_EXE_PATH
lea rcx, [rbp - 0x58]
call fcn.1400160c0
lea rdx, [rbp - 0x58]
mov rcx, rbx
call fcn.1400304e0
mov dword [rsp + 0x34], r14d
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x38]
mov r8d, 4
lea rdx, [rsp + 0x34]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0x34], 1
jne 0x14003480a
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x58]
call fcn.14001dd80
mov rdx, rax
mov rcx, rbx
call fcn.1400305a0
nop
mov rcx, rdi
call fcn.140074f8c
nop
lea rcx, [rbp - 0x18]
call fcn.14001dc70
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x140034859
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034854
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034882
call fcn.1400761b0
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.140076190
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.14007cacc
nop
call fcn.14007cacc
nop
call fcn.14007cacc
nop
call fcn.14007cacc
nop
call fcn.14007cacc
nop
call fcn.14007cacc
nop
call fcn.14007cacc
nop
call fcn.14007cacc
int3
mov ecx, eax
call fcn.1400738b4
int3