Function at 0x140002fd0
Capabilities:
Allocate or change rwx memory
Read file via mapping

Disassembly:
push rbp
push rbx
push rdi
push r12
lea rbp, [rsp - 0x3f]
sub rsp, 0xd8
mov rax, qword [0x140028008]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rdi, rcx
mov rdx, rcx
lea rcx, [rbp + 0xf]
call fcn.140003b60
xor r12d, r12d
mov rbx, rax
mov qword [rbp - 0x29], r12
lea ecx, [r12 + 0x20]
call fcn.140003ed0
movups xmm0, xmmword [str.C:WindowsSystem32_]
mov r9, rbx
mov qword [rbp - 0x31], rax
lea r8, [rbp - 0x31]
mov qword [rbp - 0x21], 0x14
movups xmmword [rax], xmm0
mov ecx, dword [0x140024070]
mov dword [rax + 0x10], ecx
lea rcx, [rbp - 0x11]
mov qword [rbp - 0x19], 0x1f
mov byte [rax + 0x14], r12b
call fcn.140003ca0
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x140003089
mov rcx, qword [rbp - 0x31]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003084
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400032ad
call fcn.140003f14
mov rdx, qword [rbp + 0x27]
cmp rdx, 0x10
jb 0x1400030c4
mov rcx, qword [rbp + 0xf]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400030bf
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400032ad
call fcn.140003f14
mov dword [rbp - 0x59], 0x7865742e
mov word [rbp - 0x55], 0x74
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xorps xmm0, xmm0
mov rcx, rdi
mov rbx, rax
xor eax, eax
mov qword [rbp - 0x39], rax
movups xmmword [rbp - 0x49], xmm0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x140003257
mov qword [rsp + 0x108], rsi
lea r8, [rbp - 0x49]
mov qword [rsp + 0x110], r14
mov r9d, 0x18
mov rdx, rax
mov qword [rsp + 0xd0], r15
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_K32GetModuleInformation]
cmp qword [rbp + 7], 0x10
lea rcx, [rbp - 0x11]
mov r14, qword [rbp - 0x49]
mov edx, 0x80000000
cmovae rcx, qword [rbp - 0x11]
xor r9d, r9d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x28], r12
xor r9d, r9d
mov rcx, rax
mov dword [rsp + 0x20], r12d
xor edx, edx
mov r8d, 0x1000002
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
xor r9d, r9d
mov qword [rsp + 0x20], r12
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
movsxd rsi, dword [r14 + 0x3c]
movzx edi, r12w
add rsi, r14
mov r15, rax
cmp r12w, word [rsi + 6]
jae 0x14000323f
nop dword [rax]
movzx ecx, word [rsi + 0x14]
lea r8, [rbp - 0x59]
movzx eax, di
add rcx, rsi
lea rbx, [rax*4 + 3]
add rbx, rax
lea rbx, [rcx + rbx*8]
mov rax, rbx
sub r8, rbx
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400031e6
inc rax
test ecx, ecx
jne 0x1400031d3
test edx, edx
jne 0x140003232
mov ecx, dword [rbx + 0xc]
lea r9, [rbp - 0x51]
mov edx, dword [rbx + 8]
add rcx, r14
mov r8d, 0x40
mov dword [rbp - 0x51], r12d
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [rbx + 0xc]
mov r8d, dword [rbx + 8]
lea rdx, [rax + r15]
lea rcx, [rax + r14]
call fcn.140006160
mov ecx, dword [rbx + 0xc]
lea r9, [rbp - 0x51]
mov edx, dword [rbx + 8]
add rcx, r14
mov r8d, dword [rbp - 0x51]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
inc di
cmp di, word [rsi + 6]
jb 0x1400031b0
mov r14, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x108]
mov r15, qword [rsp + 0xd0]
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x14000328e
mov rcx, qword [rbp - 0x11]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003289
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400032a7
call fcn.140003f14
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140003eb0
add rsp, 0xd8
pop r12
pop rdi
pop rbx
pop rbp
ret
call fcn.14000a4bc
int3
call fcn.14000a4bc
int3