Function at 0x14006e790
Capabilities:
Access peb ldr_data
Encode data using xor
Execute anti-debugging instructions
Get ntdll base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rsi, rcx
test rcx, rcx
je 0x14006efa5
mov eax, dword [rcx]
test eax, eax
je 0x14006efa5
xor r13d, r13d
test eax, eax
je 0x14006efa5
mov rax, qword [0x1401c54e0]
test rax, rax
jne 0x14006ea2e
mov rax, qword gs:[0x60]
xor edi, edi
mov r14d, 0x9d367094
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x14006e863
psrldq xmm0, 8
mov r10d, 0x811c9dc5
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x14006e85a
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
add r9, 2
xor r8d, r10d
imul r10d, r8d, 0x1000193
cmp r9, r11
jne 0x14006e830
cmp r10d, edi
jne 0x14006e9dc
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x14006e9e4
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
mov esi, edx
shr r12, 0x20
add rsi, rbx
cmp rsi, rbx
je 0x14006e9dc
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x14006e9dc
mov r15d, dword [rsi + 0x20]
dec r11d
mov r10d, 0x811c9dc5
lea rcx, [r15 + r11*4]
mov r8d, dword [rcx + rbx]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x14006e8ee
movsx ecx, r9b
lea r8, [r8 + 1]
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
movzx r9d, byte [r8 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r9b, r9b
jne 0x14006e8c2
cmp r10d, r14d
je 0x14006e900
test r11d, r11d
jne 0x14006e8a2
mov rax, qword [rax]
jmp 0x14006e800
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, rsi
jbe 0x14006e9e7
lea rax, [rsi + r12]
cmp r8, rax
jae 0x14006e9e7
movzx edx, byte [r8]
mov edi, 0x811c9dc5
mov dword [rsp + 0xb8], edi
mov r9d, edi
mov dword [rsp + 0xbc], edi
cmp dl, 0x2e
je 0x14006e97d
nop dword [rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 + 1]
cmova ecx, eax
inc r8
xor ecx, edi
imul edi, ecx, 0x1000193
cmp dl, 0x2e
jne 0x14006e950
mov dword [rsp + 0xb8], edi
movzx edx, byte [r8 + 1]
inc r8
test dl, dl
je 0x14006e9bf
nop dword [rax]
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x14006e990
mov dword [rsp + 0xbc], r9d
mov rax, qword gs:[0x60]
mov r14, qword [rsp + 0xb8]
shr r14, 0x20
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14006e800
xor r8d, r8d
mov qword [0x1401c54e0], r8
nop
rdtsc
shl rdx, 0x20
or rax, rdx
lea rax, [rax + rax*4]
mov qword [0x1401c54e8], rax
mov r9, rax
mov ecx, eax
cmp rax, r8
je 0x14006e9f0
mov rsi, qword [rsp + 0xa0]
xor rax, r8
xor ecx, 0x9d367094
mov qword [0x1401c54e0], rax
mov dword [0x1401c54d8], ecx
jmp 0x14006ea35
mov r9, qword [0x1401c54e8]
xor r9, rax
lea rcx, [r13*2]
mov rax, qword [rsi + 8]
add rcx, r13
lea rbx, [rcx*8]
mov rdx, qword [rbx + rax]
lea rcx, str.1.2.840.113549.1.9.5
call r9
test eax, eax
jne 0x14006ef99
mov rdx, qword [rsi + 8]
lea r9, [rsp + 0x40]
mov dword [rsp + 0xb0], 8
lea r8, [rsp + 0xb0]
lea rcx, str.1.2.840.113549.1.9.5
mov rdx, qword [rbx + rdx + 0x10]
call fcn.14006e220
test eax, eax
je 0x14006ef99
mov rax, qword [0x1401c5558]
test rax, rax
jne 0x14006ecfe
mov rax, qword gs:[0x60]
xor edi, edi
mov r14d, 0x54b2c491
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x14006eb33
psrldq xmm0, 8
mov r10d, 0x811c9dc5
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x14006eb2a
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
add r9, 2
xor r8d, r10d
imul r10d, r8d, 0x1000193
cmp r9, r11
jne 0x14006eb00
cmp r10d, edi
jne 0x14006eca6
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x14006ecae
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
mov esi, edx
shr r12, 0x20
add rsi, rbx
cmp rsi, rbx
je 0x14006eca6
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x14006eca6
mov r15d, dword [rsi + 0x20]
dec r11d
mov r10d, 0x811c9dc5
lea rcx, [r15 + r11*4]
mov r8d, dword [rcx + rbx]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x14006ebbe
movsx ecx, r9b
lea r8, [r8 + 1]
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
movzx r9d, byte [r8 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r9b, r9b
jne 0x14006eb92
cmp r10d, r14d
je 0x14006ebd0
test r11d, r11d
jne 0x14006eb72
mov rax, qword [rax]
jmp 0x14006ead0
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, rsi
jbe 0x14006ecb1
lea rax, [rsi + r12]
cmp r8, rax
jae 0x14006ecb1
movzx edx, byte [r8]
mov edi, 0x811c9dc5
mov dword [rsp + 0x30], edi
mov r9d, edi
mov dword [rsp + 0x34], edi
cmp dl, 0x2e
je 0x14006ec4a
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 + 1]
cmova ecx, eax
inc r8
xor ecx, edi
imul edi, ecx, 0x1000193
cmp dl, 0x2e
jne 0x14006ec20
mov dword [rsp + 0x30], edi
movzx edx, byte [r8 + 1]
inc r8
test dl, dl
je 0x14006ec8c
nop word [rax + rax]
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x14006ec60
mov dword [rsp + 0x34], r9d
mov rax, qword gs:[0x60]
mov r14, qword [rsp + 0x30]
shr r14, 0x20
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14006ead0
xor r8d, r8d
mov qword [0x1401c5558], r8
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rax, [rax + rax*4]
mov qword [0x1401c5560], rax
mov r9, rax
mov ecx, eax
cmp rax, r8
je 0x14006ecc0
mov rsi, qword [rsp + 0xa0]
xor rax, r8
xor ecx, 0x54b2c491
mov qword [0x1401c5558], rax
mov dword [0x1401c5550], ecx
jmp 0x14006ed05
mov r9, qword [0x1401c5560]
xor r9, rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x40]
call r9
test eax, eax
je 0x14006ef99
mov rcx, qword [0x1401c5600]
test rcx, rcx
jne 0x14006ef73
mov rax, qword gs:[0x60]
xor edi, edi
mov r14d, 0xb9470d97
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x14006edb3
psrldq xmm0, 8
mov r10d, 0x811c9dc5
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x14006edaa
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
add r9, 2
xor r8d, r10d
imul r10d, r8d, 0x1000193
cmp r9, r11
jne 0x14006ed80
cmp r10d, edi
jne 0x14006ef2a
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x14006ef32
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
mov esi, edx
shr r12, 0x20
add rsi, rbx
cmp rsi, rbx
je 0x14006ef2a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x14006ef2a
mov r15d, dword [rsi + 0x20]
dec r11d
mov r10d, 0x811c9dc5
lea rcx, [r15 + r11*4]
mov r8d, dword [rcx + rbx]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x14006ee3e
movsx ecx, r9b
lea r8, [r8 + 1]
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
movzx r9d, byte [r8 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r9b, r9b
jne 0x14006ee12
cmp r10d, r14d
je 0x14006ee50
test r11d, r11d
jne 0x14006edf2
mov rax, qword [rax]
jmp 0x14006ed50
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov ecx, dword [rcx + rdx*4]
add rcx, rbx
cmp rcx, rsi
jbe 0x14006ef34
lea rax, [r12 + rsi]
cmp rcx, rax
jae 0x14006ef34
movzx r8d, byte [rcx]
mov edi, 0x811c9dc5
mov dword [rsp + 0x38], edi
mov r9d, edi
mov dword [rsp + 0x3c], edi
cmp r8b, 0x2e
je 0x14006eece
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [rcx + 1]
cmova edx, eax
inc rcx
xor edx, edi
imul edi, edx, 0x1000193
cmp r8b, 0x2e
jne 0x14006eea0
mov dword [rsp + 0x38], edi
movzx r8d, byte [rcx + 1]
inc rcx
test r8b, r8b
je 0x14006ef10
nop dword [rax + rax]
movsx eax, r8b
lea rcx, [rcx + 1]
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [rcx]
cmova edx, eax
xor edx, r9d
imul r9d, edx, 0x1000193
test r8b, r8b
jne 0x14006eee0
mov dword [rsp + 0x3c], r9d
mov rax, qword gs:[0x60]
mov r14, qword [rsp + 0x38]
shr r14, 0x20
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14006ed50
xor ecx, ecx
mov qword [0x1401c5600], rcx
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea r8, [rax + rax*4]
mov qword [0x1401c5608], r8
cmp r8, rcx
je 0x14006ef40
xor rcx, r8
mov eax, r8d
xor eax, 0xb9470d97
mov qword [0x1401c5600], rcx
mov dword [0x1401c55f8], eax
jmp 0x14006ef7a
mov r8, qword [0x1401c5608]
mov rdx, qword [rsp + 0xa8]
xor r8, rcx
lea rcx, [rsp + 0x48]
call r8
test eax, eax
jne 0x14006efb8
mov rsi, qword [rsp + 0xa0]
inc r13d
cmp r13d, dword [rsi]
jb 0x14006e7d0
xor eax, eax
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 1
jmp 0x14006efa7