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

Disassembly:
mov rax, rsp
push rdi
push r14
push r15
sub rsp, 0x200
mov qword [rax - 0x198], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rbx, rdx
mov r14, rcx
xor r15d, r15d
mov dword [rax + 0x10], r15d
mov rcx, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x1400013fc
mov rcx, qword [rdx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x140001448
lea rdx, str.DLL_file_not_found:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002c60
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140001428
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140003310
lea rdx, [0x140002e30]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x14000163f
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov rdi, r15
mov qword [rsp + 0x60], r15
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140001466
mov rdx, qword [rbx]
lea rcx, [rsp + 0xb0]
call fcn.1400027e0
mov rax, qword [rsp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0xb0], rax
mov rax, qword [rsp + 0xb0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0xac], edx
cmp qword [rsp + 0x140], 0
je 0x1400016d7
lea rdx, [rsp + 0x1c0]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____cdecl_std::basic_istream_char__struct_std::char_traits_char__::tellg_void____ptr64]
mov rbx, qword [rax + 8]
add rbx, qword [rax]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xb0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.140001770
mov rsi, rax
mov dword [rsp + 0x228], 1
mov r8, rbx
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::read_char____ptr64__long_long___int64_____ptr64]
lea rcx, [rsp + 0xc0]
call fcn.140002a90
test rax, rax
jne 0x14000154e
mov rax, qword [rsp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0xb0]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
lea rcx, [rsp + 0xb0]
call fcn.1400012e0
lea rax, [rsp + 0x50]
cmp rax, rsi
je 0x14000158c
mov rbx, qword [rsi]
mov qword [rsp + 0x50], rbx
mov rax, qword [rsi + 8]
mov qword [rsp + 0x58], rax
mov rdi, qword [rsi + 0x10]
mov qword [rsp + 0x60], rdi
mov qword [rsi], r15
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], r15
jmp 0x140001591
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400015d1
mov rdx, qword [rsp + 0x78]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400015cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400015cb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000bc3c
nop
mov rdx, rbx
mov rcx, r14
call fcn.140003560
test al, al
jne 0x14000165a
lea rdx, str.Failed_to_inject_DLL_using_manual_map
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002c60
lea rdx, [0x140002e30]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
test rbx, rbx
je 0x14000163f
sub rdi, rbx
mov rax, rbx
cmp rdi, 0x1000
jb 0x140001634
add rdi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001634
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rdi
mov rcx, rbx
call fcn.14000bc3c
xor al, al
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
test rbx, rbx
je 0x140001695
sub rdi, rbx
mov rax, rbx
cmp rdi, 0x1000
jb 0x14000168a
add rdi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000168a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rdi
mov rcx, rbx
call fcn.14000bc3c
mov al, 1
jmp 0x140001641
mov r8, rbx
lea rcx, [rsp + 0x1d8]
call fcn.140002bd0
nop
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400011b0
lea rdx, [0x1400120a0]
lea rcx, [rsp + 0x90]
call sub.VCRUNTIME140.dll__CxxThrowException
int3