Function at 0x140009e10
Capabilities:
Check if file exists

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x610
mov qword [rsp + 0xf8], 0xfffffffffffffffe
mov rax, qword [0x1400777b8]
xor rax, rsp
mov qword [rsp + 0x608], rax
mov r15, r9
mov rsi, r8
mov r14d, edx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x24], 0x78
lea r13, str._Injector::LibraryInjector::InjectLibrary_
mov qword [rsp + 0x90], r13
lea rax, [rsp + 0x20]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x24]
mov qword [rsp + 0xa0], rax
cmp qword [0x14007c1a0], r12
je 0x140009e9a
lea rcx, [rsp + 0x90]
call fcn.14000ac60
nop
mov rcx, qword [0x14007c1a0]
test rcx, rcx
je 0x14000a434
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x140009fec
lea rcx, [rsp + 0x230]
call fcn.140003100
nop
call fcn.14001768c
mov rcx, qword [rsp + 0x230]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x230]
add rcx, rdx
mov r8, rax
lea rdx, [rsp + 0x78]
call fcn.140002bb0
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140009f17
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x140009f17
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov rdx, r13
lea rcx, [rsp + 0x230]
call fcn.140007240
lea rdx, str.Process_Id:
mov rcx, rax
call fcn.140007930
mov edx, r14d
mov rcx, rax
call fcn.140002f20
lea rdx, [rsp + 0x588]
lea rcx, [rsp + 0x230]
call fcn.1400032d0
nop
lea r8, [rsp + 0x588]
cmp qword [rsp + 0x5a0], 8
cmovae r8, qword [rsp + 0x588]
mov rcx, qword [0x14007c1a0]
mov rax, qword [rcx]
mov r9, qword [rsp + 0x598]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
cmp qword [rsp + 0x5a0], 8
jb 0x140009fa4
mov rcx, qword [rsp + 0x588]
call fcn.14003afbc
mov qword [rsp + 0x5a0], 7
mov qword [rsp + 0x598], r12
mov word [rsp + 0x588], r12w
lea rcx, [rsp + 0x2b8]
call fcn.140003250
lea rdi, vtable.std::ios_base.0
mov qword [rsp + 0x2b8], rdi
lea rcx, [rsp + 0x2b8]
call fcn.140017774
jmp 0x140009ff3
lea rdi, vtable.std::ios_base.0
mov rcx, qword [0x14007c1a0]
test rcx, rcx
je 0x14000a434
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x14000a13c
lea rcx, [rsp + 0x410]
call fcn.140003100
nop
call fcn.14001768c
mov rcx, qword [rsp + 0x410]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x410]
add rcx, rdx
mov r8, rax
lea rdx, [rsp + 0x70]
call fcn.140002bb0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14000a070
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x14000a070
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov rdx, r13
lea rcx, [rsp + 0x410]
call fcn.140007240
lea rdx, str.Library_path:
mov rcx, rax
call fcn.140007930
mov rdx, rsi
mov rcx, rax
call fcn.140007240
lea rdx, [rsp + 0x5c8]
lea rcx, [rsp + 0x410]
call fcn.1400032d0
nop
lea r8, [rsp + 0x5c8]
cmp qword [rsp + 0x5e0], 8
cmovae r8, qword [rsp + 0x5c8]
mov rcx, qword [0x14007c1a0]
mov rax, qword [rcx]
mov r9, qword [rsp + 0x5d8]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
cmp qword [rsp + 0x5e0], 8
jb 0x14000a0fd
mov rcx, qword [rsp + 0x5c8]
call fcn.14003afbc
mov qword [rsp + 0x5e0], 7
mov qword [rsp + 0x5d8], r12
mov word [rsp + 0x5c8], r12w
lea rcx, [rsp + 0x498]
call fcn.140003250
mov qword [rsp + 0x498], rdi
lea rcx, [rsp + 0x498]
call fcn.140017774
mov rcx, qword [0x14007c1a0]
test rcx, rcx
je 0x14000a434
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x14000a2e1
lea rcx, [rsp + 0x320]
call fcn.140003100
nop
call fcn.14001768c
mov rcx, qword [rsp + 0x320]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x320]
add rcx, rdx
mov r8, rax
lea rdx, [rsp + 0x68]
call fcn.140002bb0
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14000a1b9
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x14000a1b9
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov qword [rsp + 0x40], 0xfde9
mov dword [rsp + 0x48], r12d
mov r8, r15
lea rdx, [rsp + 0x5e8]
lea rcx, [rsp + 0x40]
call fcn.14000b5b0
mov rbx, rax
mov rdx, r13
lea rcx, [rsp + 0x320]
call fcn.140007240
lea rdx, str.Configuration:
mov rcx, rax
call fcn.140007930
mov rdx, rbx
mov rcx, rax
call fcn.1400075f0
nop
cmp qword [rsp + 0x600], 8
jb 0x14000a222
mov rcx, qword [rsp + 0x5e8]
call fcn.14003afbc
mov qword [rsp + 0x600], 7
mov qword [rsp + 0x5f8], r12
mov word [rsp + 0x5e8], r12w
lea rdx, [rsp + 0x5a8]
lea rcx, [rsp + 0x320]
call fcn.1400032d0
nop
lea r8, [rsp + 0x5a8]
cmp qword [rsp + 0x5c0], 8
cmovae r8, qword [rsp + 0x5a8]
mov rcx, qword [0x14007c1a0]
mov rax, qword [rcx]
mov r9, qword [rsp + 0x5b8]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
cmp qword [rsp + 0x5c0], 8
jb 0x14000a2a2
mov rcx, qword [rsp + 0x5a8]
call fcn.14003afbc
mov qword [rsp + 0x5c0], 7
mov qword [rsp + 0x5b8], r12
mov word [rsp + 0x5a8], r12w
lea rcx, [rsp + 0x3a8]
call fcn.140003250
mov qword [rsp + 0x3a8], rdi
lea rcx, [rsp + 0x3a8]
call fcn.140017774
mov rcx, qword [0x14007c1a0]
test rcx, rcx
je 0x14000a434
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x14000a434
lea rcx, [rsp + 0x140]
call fcn.140003100
nop
call fcn.14001768c
mov rcx, qword [rsp + 0x140]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x140]
add rcx, rdx
mov r8, rax
lea rdx, [rsp + 0x80]
call fcn.140002bb0
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14000a364
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x14000a364
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov rdx, r13
lea rcx, [rsp + 0x140]
call fcn.140007240
lea rdx, str.Write_target_section:
mov rcx, rax
call fcn.140007930
mov edx, dword [rsp + 0x670]
mov rcx, rax
call fcn.14000a910
lea rdx, [rsp + 0x500]
lea rcx, [rsp + 0x140]
call fcn.1400032d0
nop
lea r8, [rsp + 0x500]
cmp qword [rsp + 0x518], 8
cmovae r8, qword [rsp + 0x500]
mov rcx, qword [0x14007c1a0]
mov rax, qword [rcx]
mov r9, qword [rsp + 0x510]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
cmp qword [rsp + 0x518], 8
jb 0x14000a3f5
mov rcx, qword [rsp + 0x500]
call fcn.14003afbc
mov qword [rsp + 0x518], 7
mov qword [rsp + 0x510], r12
mov word [rsp + 0x500], r12w
lea rcx, [rsp + 0x1c8]
call fcn.140003250
mov qword [rsp + 0x1c8], rdi
lea rcx, [rsp + 0x1c8]
call fcn.140017774
lea rbx, vtable.SpeedBit::Utils::Std::StringConverter.0
mov qword [rsp + 0x560], rbx
mov qword [rsp + 0x580], 0xf
mov qword [rsp + 0x578], r12
mov byte [rsp + 0x568], 0
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x48], r12d
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x14000a470
lea r9, [rsp + 0x560]
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140014a70
mov qword [rsp + 0x538], 0xf
mov qword [rsp + 0x530], r12
mov byte [rsp + 0x520], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x568]
lea rcx, [rsp + 0x520]
call fcn.140003e60
nop
mov qword [rsp + 0x560], rbx
cmp qword [rsp + 0x580], 0x10
jb 0x14000a4e9
mov rcx, qword [rsp + 0x568]
call fcn.14003afbc
mov qword [rsp + 0x580], 0xf
mov qword [rsp + 0x578], r12
mov byte [rsp + 0x568], 0
lea rax, vtable.SpeedBit::Utils::Transcoder::MultibyteHandler.0
mov qword [rsp + 0x560], rax
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14000a559
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x50], eax
lea rax, str.LibraryInjector::InjectLibrary___injected_library_doesnt_exist_on_disk
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x100], xmm0
lea rdx, [0x140075ac8]
lea rcx, [rsp + 0x100]
call fcn.14003cd48
mov r8d, r14d
xor edx, edx
mov ecx, 0x438
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
mov qword [rsp + 0xf0], rax
test rax, rax
jne 0x14000a5b1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x50], eax
lea rax, [0x140067230]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0xe0], xmm0
lea rdx, [0x140075ac8]
lea rcx, [rsp + 0xe0]
call fcn.14003cd48
mov qword [rsp + 0x558], 7
mov qword [rsp + 0x550], r12
mov word [rsp + 0x540], r12w
lea rdi, vtable.SpeedBit::Utils::Std::StringValueW_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___.0
mov qword [rsp + 0x50], rdi
lea rax, [rsp + 0x540]
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x50]
mov rdx, rbx
call fcn.140014610
test eax, eax
sete al
mov qword [rsp + 0x50], rdi
test al, al
je 0x14000a63b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x40], eax
lea rax, str.Utils::NTDLL::GetProcessFileName
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x120], xmm0
lea rdx, [0x140075ac8]
lea rcx, [rsp + 0x120]
call fcn.14003cd48
nop
mov qword [rsp + 0x60], r12
lea rdx, [rsp + 0x60]
mov ecx, r14d
call fcn.1400088d0
test eax, eax
jne 0x14000a689
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x40], eax
lea rax, str.Injector::LibraryInjector::CreateGuard
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0xb0], xmm0
lea rdx, [0x140075ac8]
lea rcx, [rsp + 0xb0]
call fcn.14003cd48
mov rdi, qword [rsp + 0x60]
mov qword [rsp + 0x40], rdi
or edx, 0xffffffff
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
cmp dword [rsp + 0x670], 0
je 0x14000a708
lea rdx, [rsp + 0x540]
cmp qword [rsp + 0x558], 8
cmovae rdx, qword [rsp + 0x540]
mov rcx, rbx
call fcn.140009380
test eax, eax
jne 0x14000a708
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea rax, str.Injector::LibraryInjector::InjectTargetName
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x130], xmm0
lea rdx, [0x140075ac8]
lea rcx, [rsp + 0x130]
call fcn.14003cd48
mov rdx, r15
mov rcx, rbx
call fcn.1400098b0
test eax, eax
jne 0x14000a74f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea rax, str.Injector::LibraryInjector::InjectConfiguration
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x110], xmm0
lea rdx, [0x140075ac8]
lea rcx, [rsp + 0x110]
call fcn.14003cd48
mov rcx, rbx
call fcn.140008dd0
test eax, eax
jne 0x14000a793
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea rax, str.Injector::LibraryInjector::InjectEnvironment
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0xc0], xmm0
lea rdx, [0x140075ac8]
lea rcx, [rsp + 0xc0]
call fcn.14003cd48
lea rax, [rsp + 0x520]
cmp qword [rsp + 0x538], 0x10
cmovae rax, qword [rsp + 0x520]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14000c800
test eax, eax
jne 0x14000a7fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea rax, str.DetourUpdateProcessWithDll
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0xd0], xmm0
lea rdx, [0x140075ac8]
lea rcx, [rsp + 0xd0]
call fcn.14003cd48
mov dword [rsp + 0x24], r12d
mov dword [rsp + 0x20], 1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
nop
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14000a826
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp qword [rsp + 0x558], 8
jb 0x14000a83e
mov rcx, qword [rsp + 0x540]
call fcn.14003afbc
mov qword [rsp + 0x558], 7
mov qword [rsp + 0x550], r12
mov word [rsp + 0x540], r12w
cmp rbx, 0xffffffffffffffff
je 0x14000a86b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp qword [rsp + 0x538], 0x10
jb 0x14000a883
mov rcx, qword [rsp + 0x520]
call fcn.14003afbc
mov qword [rsp + 0x538], 0xf
mov qword [rsp + 0x530], r12
mov byte [rsp + 0x520], 0
mov ebx, dword [rsp + 0x20]
lea rcx, [rsp + 0x90]
call fcn.14000ade0
nop
mov ecx, dword [rsp + 0x24]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
mov rcx, qword [rsp + 0x608]
xor rcx, rsp
call fcn.14003a5f0
add rsp, 0x610
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret