Function at 0x140001000
Capabilities:
Encode data using xor
Get file size
Parse pe header
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x18], r8
push rsi
push rdi
push r14
sub rsp, 0x40
xor edi, edi
test rcx, rcx
je 0x14000128a
test rdx, rdx
je 0x14000128a
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
mov r8d, 1
lea rcx, str.C:UsersUtilizadorDownloadsReleaseBlankDllTotest.dll
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x140001091
lea rdx, str.Failed_to_open_DLL_file:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001710
mov rcx, rax
lea rdx, str.C:UsersUtilizadorDownloadsReleaseBlankDllTotest.dll
call fcn.140001710
mov rcx, rax
lea rdx, [0x1400034f4]
jmp 0x140001298
xor edx, edx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r14d, eax
lea ecx, [r14 - 1]
cmp ecx, 0xfffffffd
ja 0x14000126c
mov ebx, r14d
mov ecx, r14d
call fcn.140001d90
mov rsi, rax
mov r8d, r14d
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x70]
mov r8d, r14d
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140001245
cmp dword [rsp + 0x70], r14d
jne 0x140001245
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x5a4d
cmp word [rsi], ax
je 0x140001123
lea rdx, str.Invalid_DOS_signature__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001710
jmp 0x140001262
movsxd rcx, dword [rsi + 0x3c]
cmp rcx, 0x40
jb 0x140001215
cmp ecx, r14d
jae 0x140001215
cmp dword [rcx + rsi], 0x4550
je 0x14000115b
lea rdx, str.Invalid_NT_signature__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001710
jmp 0x140001262
test r14d, r14d
je 0x1400011dd
cmp rbx, 0x40
jb 0x1400011c4
mov rcx, rbx
and rcx, 0xffffffffffffffc0
movdqa xmm2, xmmword [0x140003730]
lea rax, [rsi + 0x20]
nop dword [rax]
movdqu xmm0, xmmword [rax - 0x20]
xorps xmm0, xmm2
movdqu xmmword [rax - 0x20], xmm0
movdqu xmm0, xmmword [rax - 0x10]
xorps xmm0, xmm2
movdqu xmmword [rax - 0x10], xmm0
movdqu xmm1, xmmword [rax]
xorps xmm1, xmm2
movdqu xmmword [rax], xmm1
movdqu xmm0, xmmword [rax + 0x10]
xorps xmm0, xmm2
movdqu xmmword [rax + 0x10], xmm0
add rdi, 0x40
lea rax, [rax + 0x40]
cmp rdi, rcx
jb 0x140001180
cmp rdi, rbx
jae 0x1400011dd
lea rax, [rdi + rsi]
sub rbx, rdi
nop dword [rax + rax]
xor byte [rax], 0xaa
lea rax, [rax + 1]
sub rbx, 1
jne 0x1400011d0
lea rdx, str._Error__Invalid_DOS_signature_for_the_provided_module_base.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001710
lea rdx, [0x1400018f0]
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]
lea rdx, str.Memory_allocation_in_target_process_failed__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001710
jmp 0x140001262
lea rdx, str.Invalid_e_lfanew_offset:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001710
mov edx, dword [rsi + 0x3c]
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___long_int____ptr64]
mov rcx, rax
lea rdx, [0x1400034f4]
call fcn.140001710
jmp 0x140001262
lea rdx, str.Failed_to_read_DLL_file_contents__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001710
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, rsi
call fcn.140001d20
jmp 0x14000129d
lea rdx, str.Invalid_DLL_file_size__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001710
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000129d
lea rdx, str.Invalid_arguments_provided_to_InjectDLL__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001710
xor al, al
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret