Function at 0x140030dd0
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 0x140031082
mov r10, qword [0x1401c04a8]
test r10, r10
jne 0x140031044
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 0x140030e93
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x140030e8a
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 0x140030e60
cmp r10d, r14d
jne 0x140030fea
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x140030ff2
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 0x140030fea
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x140030fea
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 0x140030f1d
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 0x140030ef2
cmp r10d, edi
je 0x140030f2f
test r11d, r11d
jne 0x140030ed2
mov rax, qword [rax]
jmp 0x140030e30
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 0x140030ff4
lea rax, [r12 + rsi]
cmp rcx, rax
jae 0x140030ff4
mov edi, 0x811c9dc5
mov r14d, edi
movzx r8d, byte [rcx]
cmp r8b, 0x2e
je 0x140030f9b
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 0x140030f70
inc rcx
movzx r8d, byte [rcx]
test r8b, r8b
je 0x140030fd9
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 0x140030fb0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140030e30
xor ecx, ecx
mov qword [0x1401c04a8], rcx
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rdx, [rax + rax*4]
mov qword [0x1401c04b0], rdx
cmp rdx, rcx
je 0x140031000
mov r10, rdx
xor r10, rcx
mov qword [0x1401c04a8], r10
mov eax, edx
xor eax, 0x5abae3ee
mov dword [0x1401c04a0], eax
mov esi, dword [rsp + 0x98]
mov rbp, qword [rsp + 0x88]
jmp 0x14003104b
mov rdx, qword [0x1401c04b0]
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 [0x1401c01c8]
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 0x1400310ce
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
inc ecx
mov rax, qword [rsp + 0x90]
mov dword [rax], ecx
jmp 0x140031112
mov r8, qword [rsp + 0x90]
mov r11d, 1
nop dword [rax]
mov eax, dword [r8 + 8]
cmp eax, r11d
je 0x1400310f6
xor eax, eax
lock cmpxchg dword [r8 + 8], r11d
cmp eax, r11d
jne 0x14003110e
mov ecx, dword [rdx + 0xc]
mov eax, dword [rdx + 0xc]
inc eax
mov dword [rdx + 0xc], eax
cmp ecx, 0x1fffffff
jbe 0x14003110a
int3
pause
jmp 0x1400310e0
mov dword [r10 + 4], r9d
mov r10, qword [0x1401c04a8]
test r10, r10
jne 0x140031344
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 0x1400311a3
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003119a
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 0x140031170
cmp r10d, r14d
jne 0x1400312e8
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x1400312f0
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 0x1400312e8
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x1400312e8
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 0x14003122d
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 0x140031202
cmp r10d, edi
je 0x14003123f
test r11d, r11d
jne 0x1400311e2
mov rax, qword [rax]
jmp 0x140031140
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 0x1400312f3
lea rax, [r12 + rsi]
cmp r8, rax
jae 0x1400312f3
mov edi, 0x811c9dc5
mov r14d, edi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x1400312a7
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 0x140031280
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x1400312d7
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 0x1400312b2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140031140
xor r8d, r8d
mov qword [0x1401c04a8], r8
nop word [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rcx, [rax + rax*4]
mov qword [0x1401c04b0], rcx
cmp rcx, r8
je 0x140031300
mov r10, rcx
xor r10, r8
mov qword [0x1401c04a8], r10
mov eax, ecx
xor eax, 0x5abae3ee
mov dword [0x1401c04a0], eax
mov esi, dword [rsp + 0x98]
mov rbp, qword [rsp + 0x88]
jmp 0x14003134b
mov rcx, qword [0x1401c04b0]
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 [0x1401bbdf0]
call r10
test eax, eax
setne dl
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
test ecx, ecx
je 0x14003139c
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
dec ecx
mov rax, qword [rsp + 0x90]
mov dword [rax], ecx
jmp 0x1400313b9
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