Function at 0x140030c30
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 0x140030ee2
mov r10, qword [0x1401bf460]
test r10, r10
jne 0x140030ea4
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 0x140030cf3
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x140030cea
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 0x140030cc0
cmp r10d, r14d
jne 0x140030e4a
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x140030e52
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 0x140030e4a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x140030e4a
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 0x140030d7d
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 0x140030d52
cmp r10d, edi
je 0x140030d8f
test r11d, r11d
jne 0x140030d32
mov rax, qword [rax]
jmp 0x140030c90
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 0x140030e54
lea rax, [r12 + rsi]
cmp rcx, rax
jae 0x140030e54
mov edi, 0x811c9dc5
mov r14d, edi
movzx r8d, byte [rcx]
cmp r8b, 0x2e
je 0x140030dfb
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 0x140030dd0
inc rcx
movzx r8d, byte [rcx]
test r8b, r8b
je 0x140030e39
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 0x140030e10
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140030c90
xor ecx, ecx
mov qword [0x1401bf460], rcx
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rdx, [rax + rax*4]
mov qword [0x1401bf468], rdx
cmp rdx, rcx
je 0x140030e60
mov r10, rdx
xor r10, rcx
mov qword [0x1401bf460], r10
mov eax, edx
xor eax, 0x5abae3ee
mov dword [0x1401bf458], eax
mov esi, dword [rsp + 0x98]
mov rbp, qword [rsp + 0x88]
jmp 0x140030eab
mov rdx, qword [0x1401bf468]
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 0x140030f2e
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
inc ecx
mov rax, qword [rsp + 0x90]
mov dword [rax], ecx
jmp 0x140030f72
mov r8, qword [rsp + 0x90]
mov r11d, 1
nop dword [rax]
mov eax, dword [r8 + 8]
cmp eax, r11d
je 0x140030f56
xor eax, eax
lock cmpxchg dword [r8 + 8], r11d
cmp eax, r11d
jne 0x140030f6e
mov ecx, dword [rdx + 0xc]
mov eax, dword [rdx + 0xc]
inc eax
mov dword [rdx + 0xc], eax
cmp ecx, 0x1fffffff
jbe 0x140030f6a
int3
pause
jmp 0x140030f40
mov dword [r10 + 4], r9d
mov r10, qword [0x1401bf460]
test r10, r10
jne 0x1400311a4
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 0x140031003
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x140030ffa
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 0x140030fd0
cmp r10d, r14d
jne 0x140031148
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x140031150
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 0x140031148
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x140031148
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 0x14003108d
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 0x140031062
cmp r10d, edi
je 0x14003109f
test r11d, r11d
jne 0x140031042
mov rax, qword [rax]
jmp 0x140030fa0
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 0x140031153
lea rax, [r12 + rsi]
cmp r8, rax
jae 0x140031153
mov edi, 0x811c9dc5
mov r14d, edi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x140031107
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 0x1400310e0
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x140031137
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 0x140031112
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140030fa0
xor r8d, r8d
mov qword [0x1401bf460], r8
nop word [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rcx, [rax + rax*4]
mov qword [0x1401bf468], rcx
cmp rcx, r8
je 0x140031160
mov r10, rcx
xor r10, r8
mov qword [0x1401bf460], r10
mov eax, ecx
xor eax, 0x5abae3ee
mov dword [0x1401bf458], eax
mov esi, dword [rsp + 0x98]
mov rbp, qword [rsp + 0x88]
jmp 0x1400311ab
mov rcx, qword [0x1401bf468]
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 0x1400311fc
mov rax, qword [rsp + 0x90]
mov ecx, dword [rax]
dec ecx
mov rax, qword [rsp + 0x90]
mov dword [rax], ecx
jmp 0x140031219
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