Function at 0x140101a20
Capabilities:
Access peb ldr_data
Encode data using xor
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports
Terminate process

Disassembly:
push rbx
push rdi
sub rsp, 0x68
lea rcx, [0x1404b98c7]
call fcn.1402b13b0
mov r10, qword [0x1404930c0]
mov dword [rsp + 0x80], 0x1b8
mov word [rsp + 0x84], 0xc300
test r10, r10
jne 0x140101c2b
mov rax, qword gs:[0x60]
xor ebx, ebx
mov qword [rsp + 0x90], rsi
mov r11d, 0x1da9e7b6
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r14
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x88], rbp
mov rax, qword [rcx + 0x10]
mov r10, qword [rax]
mov r15, r10
mov r12, r10
nop dword [rax]
movups xmm0, xmmword [r10 + 0x58]
movd eax, xmm0
movups xmmword [rsp + 0x20], xmm0
sub ax, 8
mov word [rsp + 0x20], ax
test ebx, ebx
je 0x140101afc
mov rcx, qword [rsp + 0x28]
mov edx, 0x5c0a61e6
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140101af4
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140101ae0
cmp edx, ebx
jne 0x140101bef
mov r9, qword [r10 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rbp, qword [rax + r9 + 0x88]
mov edi, ebp
add rdi, r9
shr rbp, 0x20
cmp rdi, r9
je 0x140101bef
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140101bef
mov r14d, dword [rdi + 0x20]
nop
dec r8d
mov edx, 0x5c0a61e6
lea rax, [r14 + r8*4]
mov eax, dword [rax + r9]
add rax, r9
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x140101b67
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax - 1]
test cl, cl
jne 0x140101b50
cmp edx, r11d
je 0x140101b73
test r8d, r8d
jne 0x140101b30
jmp 0x140101bef
mov eax, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, rdi
jbe 0x140101c05
lea rax, [rdi + rbp]
cmp r10, rax
jae 0x140101c05
movzx eax, byte [r10]
mov ebx, 0x5c0a61e6
mov r11d, ebx
cmp al, 0x2e
je 0x140101bc6
nop dword [rax]
movsx eax, al
inc r10
xor eax, ebx
imul ebx, eax, 0x1000193
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x140101bb0
movzx eax, byte [r10 + 1]
inc r10
test al, al
je 0x140101beb
movsx eax, al
lea r10, [r10 + 1]
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [r10]
test al, al
jne 0x140101bd2
mov r10, qword [r12]
mov r10, qword [r10]
cmp r10, r15
je 0x140101c02
cmp qword [r10 + 0x30], 0
jne 0x140101aa0
xor r10d, r10d
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
mov qword [0x1404930c0], r10
mov edx, 6
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x3000
call r10
mov rdi, rax
test rax, rax
jne 0x140101cbf
lea rdx, [rsp + 0x20]
call fcn.140101de0
movzx r8d, byte [rax]
lea rdx, [rax + 1]
xor byte [rdx], r8b
xor byte [rax + 2], r8b
xor byte [rax + 3], r8b
xor byte [rax + 4], r8b
xor byte [rax + 5], r8b
xor byte [rax + 6], r8b
xor byte [rax + 7], r8b
xor byte [rax + 8], r8b
xor byte [rax + 9], r8b
xor byte [rax + 0xa], r8b
xor byte [rax + 0xb], r8b
xor byte [rax + 0xc], r8b
xor byte [rax + 0xd], r8b
xor byte [rax + 0xe], r8b
xor byte [rax + 0xf], r8b
xor byte [rax + 0x10], r8b
xor byte [rax + 0x11], r8b
xor byte [rax + 0x12], r8b
xor byte [rax + 0x13], r8b
xor byte [rdx + 0x13], r8b
mov byte [rdx + 0x14], dil
call fcn.1401001f0
mov ecx, 0x5006
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov eax, dword [rsp + 0x80]
mov dword [rdi], eax
movzx eax, word [rsp + 0x84]
mov word [rdi + 4], ax
call rdi
mov dword [rsp + 0x80], 0xb8
mov eax, dword [rsp + 0x80]
mov dword [rdi], eax
mov word [rsp + 0x84], 0xc300
movzx eax, word [rsp + 0x84]
mov word [rdi + 4], ax
call rdi
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.KERNEL32.DLL_VirtualFree]
cmp ebx, 1
jne 0x140101dd4
lea rdx, [rsp + 0x20]
call fcn.140101e30
movzx r8d, byte [rax]
lea rdx, [rax + 1]
xor byte [rdx], r8b
xor byte [rax + 2], r8b
xor byte [rax + 3], r8b
xor byte [rax + 4], r8b
xor byte [rax + 5], r8b
xor byte [rax + 6], r8b
xor byte [rax + 7], r8b
xor byte [rax + 8], r8b
xor byte [rax + 9], r8b
xor byte [rax + 0xa], r8b
xor byte [rax + 0xb], r8b
xor byte [rax + 0xc], r8b
xor byte [rax + 0xd], r8b
xor byte [rax + 0xe], r8b
xor byte [rax + 0xf], r8b
xor byte [rax + 0x10], r8b
xor byte [rax + 0x11], r8b
xor byte [rax + 0x12], r8b
xor byte [rax + 0x13], r8b
xor byte [rax + 0x14], r8b
xor byte [rax + 0x15], r8b
xor byte [rax + 0x16], r8b
xor byte [rax + 0x17], r8b
xor byte [rax + 0x18], r8b
xor byte [rax + 0x19], r8b
xor byte [rax + 0x1a], r8b
xor byte [rax + 0x1b], r8b
xor byte [rax + 0x1c], r8b
xor byte [rax + 0x1d], r8b
xor byte [rax + 0x1e], r8b
xor byte [rax + 0x1f], r8b
xor byte [rax + 0x20], r8b
xor byte [rax + 0x21], r8b
xor byte [rax + 0x22], r8b
xor byte [rax + 0x23], r8b
xor byte [rdx + 0x23], r8b
mov byte [rdx + 0x24], 0
call fcn.1401001f0
mov ecx, 0x5006
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
add rsp, 0x68
pop rdi
pop rbx
ret