Function at 0x140030dc0
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 0x140031072
mov r10, qword [0x1401bf4a8]
test r10, r10
jne 0x140031034
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 0x140030e83
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x140030e7a
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 0x140030e50
cmp r10d, r14d
jne 0x140030fda
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x140030fe2
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 0x140030fda
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x140030fda
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 0x140030f0d
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 0x140030ee2
cmp r10d, edi
je 0x140030f1f
test r11d, r11d
jne 0x140030ec2
mov rax, qword [rax]
jmp 0x140030e20
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 0x140030fe4
lea rax, [r12 + rsi]
cmp rcx, rax
jae 0x140030fe4
mov edi, 0x811c9dc5
mov r14d, edi
movzx r8d, byte [rcx]
cmp r8b, 0x2e
je 0x140030f8b
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 0x140030f60
inc rcx
movzx r8d, byte [rcx]
test r8b, r8b
je 0x140030fc9
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 0x140030fa0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140030e20
xor ecx, ecx
mov qword [0x1401bf4a8], rcx
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rdx, [rax + rax*4]
mov qword [0x1401bf4b0], rdx
cmp rdx, rcx
je 0x140030ff0
mov r10, rdx
xor r10, rcx
mov qword [0x1401bf4a8], r10
mov eax, edx
xor eax, 0x5abae3ee
mov dword [0x1401bf4a0], eax
mov esi, dword [rsp + 0x98]
mov rbp, qword [rsp + 0x88]
jmp 0x14003103b
mov rdx, qword [0x1401bf4b0]
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 [0x1401bf1c8]
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 0x1400310be
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
inc ecx
mov rax, qword [rsp + 0x90]
mov dword [rax], ecx
jmp 0x140031102
mov r8, qword [rsp + 0x90]
mov r11d, 1
nop dword [rax]
mov eax, dword [r8 + 8]
cmp eax, r11d
je 0x1400310e6
xor eax, eax
lock cmpxchg dword [r8 + 8], r11d
cmp eax, r11d
jne 0x1400310fe
mov ecx, dword [rdx + 0xc]
mov eax, dword [rdx + 0xc]
inc eax
mov dword [rdx + 0xc], eax
cmp ecx, 0x1fffffff
jbe 0x1400310fa
int3
pause
jmp 0x1400310d0
mov dword [r10 + 4], r9d
mov r10, qword [0x1401bf4a8]
test r10, r10
jne 0x140031334
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 0x140031193
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003118a
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 0x140031160
cmp r10d, r14d
jne 0x1400312d8
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x1400312e0
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 0x1400312d8
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x1400312d8
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 0x14003121d
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 0x1400311f2
cmp r10d, edi
je 0x14003122f
test r11d, r11d
jne 0x1400311d2
mov rax, qword [rax]
jmp 0x140031130
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 0x1400312e3
lea rax, [r12 + rsi]
cmp r8, rax
jae 0x1400312e3
mov edi, 0x811c9dc5
mov r14d, edi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x140031297
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 0x140031270
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x1400312c7
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 0x1400312a2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140031130
xor r8d, r8d
mov qword [0x1401bf4a8], r8
nop word [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rcx, [rax + rax*4]
mov qword [0x1401bf4b0], rcx
cmp rcx, r8
je 0x1400312f0
mov r10, rcx
xor r10, r8
mov qword [0x1401bf4a8], r10
mov eax, ecx
xor eax, 0x5abae3ee
mov dword [0x1401bf4a0], eax
mov esi, dword [rsp + 0x98]
mov rbp, qword [rsp + 0x88]
jmp 0x14003133b
mov rcx, qword [0x1401bf4b0]
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 [0x1401badf0]
call r10
test eax, eax
setne dl
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
test ecx, ecx
je 0x14003138c
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
dec ecx
mov rax, qword [rsp + 0x90]
mov dword [rax], ecx
jmp 0x1400313a9
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