Function at 0x7ff70b538a20
Capabilities:
Access peb ldr_data
Encode data using xor
Execute anti-debugging instructions
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 rdi, rcx
test rcx, rcx
je 0x7ff70b5391d8
mov eax, dword [rcx]
test eax, eax
je 0x7ff70b5391d8
xor r13d, r13d
test eax, eax
je 0x7ff70b5391d8
mov rax, qword [0x7ff70b692558]
test rax, rax
jne 0x7ff70b538c9e
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebp, 0x9d367094
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
movups xmmword [rsp + 0x38], xmm0
sub cx, 8
test r14d, r14d
je 0x7ff70b538af3
mov r9, qword [rsp + 0x40]
mov r10d, 0x811c9dc5
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x7ff70b538aea
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 0x7ff70b538ac0
cmp r10d, r14d
jne 0x7ff70b538c46
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b538c4e
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
mov edi, edx
shr r12, 0x20
add rdi, rbx
cmp rdi, rbx
je 0x7ff70b538c46
mov r11d, dword [rdi + 0x18]
test r11d, r11d
je 0x7ff70b538c46
mov r15d, dword [rdi + 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 0x7ff70b538b7e
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 0x7ff70b538b52
cmp r10d, ebp
je 0x7ff70b538b90
test r11d, r11d
jne 0x7ff70b538b32
mov rax, qword [rax]
jmp 0x7ff70b538a90
mov ecx, dword [rdi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, rdi
jbe 0x7ff70b538c51
lea rax, [rdi + r12]
cmp r8, rax
jae 0x7ff70b538c51
movzx edx, byte [r8]
mov ebp, 0x811c9dc5
mov r14d, ebp
cmp dl, 0x2e
je 0x7ff70b538bf8
nop
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, r14d
imul r14d, ecx, 0x1000193
cmp dl, 0x2e
jne 0x7ff70b538bd0
movzx edx, byte [r8 + 1]
inc r8
test dl, dl
je 0x7ff70b538c35
nop dword [rax]
nop dword [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, ebp
imul ebp, ecx, 0x1000193
test dl, dl
jne 0x7ff70b538c10
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b538a90
xor r8d, r8d
mov qword [0x7ff70b692558], r8
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rax, [rax + rax*4]
mov qword [0x7ff70b692560], rax
mov r9, rax
mov ecx, eax
cmp rax, r8
je 0x7ff70b538c60
mov rdi, qword [rsp + 0xa0]
xor rax, r8
xor ecx, 0x9d367094
mov qword [0x7ff70b692558], rax
mov dword [0x7ff70b692550], ecx
jmp 0x7ff70b538ca5
mov r9, qword [0x7ff70b692560]
xor r9, rax
lea rcx, [r13*2]
mov rax, qword [rdi + 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 0x7ff70b5391cc
mov rdx, qword [rdi + 8]
lea r9, [rsp + 0xb8]
mov dword [rsp + 0xb0], 8
lea r8, [rsp + 0xb0]
lea rcx, str.1.2.840.113549.1.9.5
mov rdx, qword [rdx + rbx + 0x10]
call fcn.7ff70b5384f0
test eax, eax
je 0x7ff70b5391cc
mov rax, qword [0x7ff70b6925b8]
test rax, rax
jne 0x7ff70b538f4e
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebp, 0x54b2c491
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
movups xmmword [rsp + 0x38], xmm0
sub cx, 8
test r14d, r14d
je 0x7ff70b538da3
mov r9, qword [rsp + 0x40]
mov r10d, 0x811c9dc5
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x7ff70b538d9a
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 0x7ff70b538d70
cmp r10d, r14d
jne 0x7ff70b538ef6
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b538efe
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
mov edi, edx
shr r12, 0x20
add rdi, rbx
cmp rdi, rbx
je 0x7ff70b538ef6
mov r11d, dword [rdi + 0x18]
test r11d, r11d
je 0x7ff70b538ef6
mov r15d, dword [rdi + 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 0x7ff70b538e2e
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 0x7ff70b538e02
cmp r10d, ebp
je 0x7ff70b538e40
test r11d, r11d
jne 0x7ff70b538de2
mov rax, qword [rax]
jmp 0x7ff70b538d40
mov ecx, dword [rdi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, rdi
jbe 0x7ff70b538f01
lea rax, [rdi + r12]
cmp r8, rax
jae 0x7ff70b538f01
movzx edx, byte [r8]
mov ebp, 0x811c9dc5
mov r14d, ebp
cmp dl, 0x2e
je 0x7ff70b538ea8
nop
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, r14d
imul r14d, ecx, 0x1000193
cmp dl, 0x2e
jne 0x7ff70b538e80
movzx edx, byte [r8 + 1]
inc r8
test dl, dl
je 0x7ff70b538ee5
nop dword [rax]
nop dword [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, ebp
imul ebp, ecx, 0x1000193
test dl, dl
jne 0x7ff70b538ec0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b538d40
xor r8d, r8d
mov qword [0x7ff70b6925b8], r8
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rax, [rax + rax*4]
mov qword [0x7ff70b6925c0], rax
mov r9, rax
mov ecx, eax
cmp rax, r8
je 0x7ff70b538f10
mov rdi, qword [rsp + 0xa0]
xor rax, r8
xor ecx, 0x54b2c491
mov qword [0x7ff70b6925b8], rax
mov dword [0x7ff70b6925b0], ecx
jmp 0x7ff70b538f55
mov r9, qword [0x7ff70b6925c0]
xor r9, rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xb8]
call r9
test eax, eax
je 0x7ff70b5391cc
mov rax, qword [0x7ff70b692678]
test rax, rax
jne 0x7ff70b5391a6
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebp, 0xb9470d97
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
movups xmmword [rsp + 0x38], xmm0
sub cx, 8
test r14d, r14d
je 0x7ff70b539003
mov r9, qword [rsp + 0x40]
mov r10d, 0x811c9dc5
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x7ff70b538ffa
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 0x7ff70b538fd0
cmp r10d, r14d
jne 0x7ff70b53915a
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b539162
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
mov edi, edx
shr r12, 0x20
add rdi, rbx
cmp rdi, rbx
je 0x7ff70b53915a
mov r11d, dword [rdi + 0x18]
test r11d, r11d
je 0x7ff70b53915a
mov r15d, dword [rdi + 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 0x7ff70b53908e
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 0x7ff70b539062
cmp r10d, ebp
je 0x7ff70b5390a0
test r11d, r11d
jne 0x7ff70b539042
mov rax, qword [rax]
jmp 0x7ff70b538fa0
mov ecx, dword [rdi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rbx
mov ecx, dword [rcx + rdx*4]
add rcx, rbx
cmp rcx, rdi
jbe 0x7ff70b539164
lea rax, [rdi + r12]
cmp rcx, rax
jae 0x7ff70b539164
movzx r8d, byte [rcx]
mov ebp, 0x811c9dc5
mov r14d, ebp
cmp r8b, 0x2e
je 0x7ff70b53910c
nop
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, r14d
imul r14d, edx, 0x1000193
cmp r8b, 0x2e
jne 0x7ff70b5390e0
movzx r8d, byte [rcx + 1]
inc rcx
test r8b, r8b
je 0x7ff70b539149
nop dword [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, ebp
imul ebp, edx, 0x1000193
test r8b, r8b
jne 0x7ff70b539120
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b538fa0
xor ecx, ecx
mov qword [0x7ff70b692678], rcx
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rax, [rax + rax*4]
mov qword [0x7ff70b692680], rax
mov r8, rax
mov edx, eax
cmp rax, rcx
je 0x7ff70b539170
xor rax, rcx
xor edx, 0xb9470d97
mov qword [0x7ff70b692678], rax
mov dword [0x7ff70b692670], edx
jmp 0x7ff70b5391ad
mov r8, qword [0x7ff70b692680]
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x30]
xor r8, rax
call r8
test eax, eax
jne 0x7ff70b5391eb
mov rdi, qword [rsp + 0xa0]
inc r13d
cmp r13d, dword [rdi]
jb 0x7ff70b538a60
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 0x7ff70b5391da