Function at 0x7ff70b501440
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 dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov esi, r9d
mov rbp, rdx
cmp byte [rcx], 0
je 0x7ff70b5016f2
mov r10, qword [0x7ff70b692460]
test r10, r10
jne 0x7ff70b5016b4
xor r14d, r14d
mov edi, 0x5abae3ee
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, 8
test r14d, r14d
je 0x7ff70b501503
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b5014fa
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b5014d0
cmp r10d, r14d
jne 0x7ff70b50165a
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b501662
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
shr r12, 0x20
mov esi, edx
add rsi, rbx
cmp rsi, rbx
je 0x7ff70b50165a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff70b50165a
mov r15d, dword [rsi + 0x20]
dec r11d
lea rcx, [r15 + r11*4]
mov r8d, dword [rcx + rbx]
add r8, rbx
mov r10d, 0x811c9dc5
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff70b50158d
movsx ecx, r9b
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r9d, byte [r8]
lea r8, [r8 + 1]
test r9b, r9b
jne 0x7ff70b501562
cmp r10d, edi
je 0x7ff70b50159f
test r11d, r11d
jne 0x7ff70b501542
mov rax, qword [rax]
jmp 0x7ff70b5014a0
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 0x7ff70b501664
lea rax, [r12 + rsi]
cmp rcx, rax
jae 0x7ff70b501664
mov edi, 0x811c9dc5
mov r14d, edi
movzx r8d, byte [rcx]
cmp r8b, 0x2e
je 0x7ff70b50160b
nop
movsx eax, r8b
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
cmova edx, eax
xor edx, r14d
imul r14d, edx, 0x1000193
inc rcx
movzx r8d, byte [rcx]
cmp r8b, 0x2e
jne 0x7ff70b5015e0
inc rcx
movzx r8d, byte [rcx]
test r8b, r8b
je 0x7ff70b501649
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
cmova edx, eax
xor edx, edi
imul edi, edx, 0x1000193
lea rcx, [rcx + 1]
movzx r8d, byte [rcx]
test r8b, r8b
jne 0x7ff70b501620
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b5014a0
xor ecx, ecx
mov qword [0x7ff70b692460], rcx
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rdx, [rax + rax*4]
mov qword [0x7ff70b692468], rdx
cmp rdx, rcx
je 0x7ff70b501670
mov r10, rdx
xor r10, rcx
mov qword [0x7ff70b692460], r10
mov eax, edx
xor eax, 0x5abae3ee
mov dword [0x7ff70b692458], eax
mov esi, dword [rsp + 0x98]
mov rbp, qword [rsp + 0x88]
jmp 0x7ff70b5016bb
mov rdx, qword [0x7ff70b692468]
xor r10, rdx
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, 0xc
mov rdx, rbp
lea rcx, [r8 - 0xd]
call r10
test eax, eax
setne al
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rdx, qword [0x7ff70b6921c8]
add rdx, 0x228
mov qword [rsp + 0x90], rdx
mov rax, qword gs:[0x30]
mov r9d, dword [rax + 0x48]
mov r10, qword [rsp + 0x90]
mov eax, dword [r10 + 4]
cmp r9d, eax
jne 0x7ff70b50173e
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
inc ecx
mov rax, qword [rsp + 0x90]
mov dword [rax], ecx
jmp 0x7ff70b501782
mov r8, qword [rsp + 0x90]
mov r11d, 1
nop dword [rax]
mov eax, dword [r8 + 8]
cmp eax, r11d
je 0x7ff70b501766
xor eax, eax
lock cmpxchg dword [r8 + 8], r11d
cmp eax, r11d
jne 0x7ff70b50177e
mov ecx, dword [rdx + 0xc]
mov eax, dword [rdx + 0xc]
inc eax
mov dword [rdx + 0xc], eax
cmp ecx, 0x1fffffff
jbe 0x7ff70b50177a
int3
pause
jmp 0x7ff70b501750
mov dword [r10 + 4], r9d
mov r10, qword [0x7ff70b692460]
test r10, r10
jne 0x7ff70b5019b4
xor r14d, r14d
mov edi, 0x5abae3ee
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, 8
test r14d, r14d
je 0x7ff70b501813
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b50180a
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b5017e0
cmp r10d, r14d
jne 0x7ff70b501958
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b501960
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
shr r12, 0x20
mov esi, edx
add rsi, rbx
cmp rsi, rbx
je 0x7ff70b501958
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff70b501958
mov r15d, dword [rsi + 0x20]
dec r11d
lea rcx, [r15 + r11*4]
mov r8d, dword [rcx + rbx]
add r8, rbx
mov r10d, 0x811c9dc5
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff70b50189d
movsx ecx, r9b
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r9d, byte [r8]
lea r8, [r8 + 1]
test r9b, r9b
jne 0x7ff70b501872
cmp r10d, edi
je 0x7ff70b5018af
test r11d, r11d
jne 0x7ff70b501852
mov rax, qword [rax]
jmp 0x7ff70b5017b0
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rsi + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
cmp r8, rsi
jbe 0x7ff70b501963
lea rax, [r12 + rsi]
cmp r8, rax
jae 0x7ff70b501963
mov edi, 0x811c9dc5
mov r14d, edi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x7ff70b501917
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
inc r8
movzx edx, byte [r8]
cmp dl, 0x2e
jne 0x7ff70b5018f0
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x7ff70b501947
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
lea r8, [r8 + 1]
movzx edx, byte [r8]
test dl, dl
jne 0x7ff70b501922
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b5017b0
xor r8d, r8d
mov qword [0x7ff70b692460], r8
nop word [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rcx, [rax + rax*4]
mov qword [0x7ff70b692468], rcx
cmp rcx, r8
je 0x7ff70b501970
mov r10, rcx
xor r10, r8
mov qword [0x7ff70b692460], r10
mov eax, ecx
xor eax, 0x5abae3ee
mov dword [0x7ff70b692458], eax
mov esi, dword [rsp + 0x98]
mov rbp, qword [rsp + 0x88]
jmp 0x7ff70b5019bb
mov rcx, qword [0x7ff70b692468]
xor r10, rcx
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, 0xc
mov rdx, rbp
mov rcx, qword [0x7ff70b68ddf0]
call r10
test eax, eax
setne dl
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
test ecx, ecx
je 0x7ff70b501a0c
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
dec ecx
mov rax, qword [rsp + 0x90]
mov dword [rax], ecx
jmp 0x7ff70b501a29
mov rcx, qword [rsp + 0x90]
mov dword [rcx + 4], 0
mov dword [rcx + 8], 0
mov dword [rcx + 0xc], 0
movzx eax, dl
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret