Function at 0x18009c520
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x500
mov r15, rdx
xor r12d, r12d
mov qword [rax + 0x20], r12
xor r8d, r8d
lea rdx, [rax + 0x20]
call fcn.18009c2d0
test eax, eax
je 0x18009c55d
lea eax, [r12 + 1]
jmp 0x18009c7f3
mov r13d, r12d
xor edx, edx
mov r8d, 0x4b0
lea rcx, [rsp + 0x50]
call fcn.1800bcb60
mov dword [rsp + 0x550], r12d
mov r14d, r13d
inc r13d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov ebp, dword [rcx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x18009c61c
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x18009c61c
mov esi, dword [rbp + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov ecx, dword [rcx + rbx]
add rcx, rbx
mov r10d, 0xf115995
movzx r9d, byte [rcx]
inc rcx
test r9b, r9b
je 0x18009c617
nop
movsx edx, r9b
sub r9b, 0x41
mov r8d, edx
or r8d, 0x20
cmp r9b, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx r9d, byte [rcx]
lea rcx, [rcx + 1]
test r9b, r9b
jne 0x18009c5e0
cmp r10d, 0xb69b36c2
je 0x18009c624
test r11d, r11d
jne 0x18009c5c0
mov rax, qword [rax]
jmp 0x18009c591
mov ecx, dword [rbp + 0x1c]
add rcx, rbx
mov eax, dword [rbp + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
lea rax, [rsp + 0x550]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x4b0
lea r9, [rsp + 0x50]
xor r8d, r8d
mov edx, r14d
mov rcx, qword [rsp + 0x558]
call r10
test eax, eax
jne 0x18009c714
cmp dword [rsp + 0x5c], eax
jbe 0x18009c560
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
lea rax, [rsp + 0x60]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x18009c6a0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.180006af0
nop
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.1800331e0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x18009c560
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009c70a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009c80e
call fcn.1800b9f6c
jmp 0x18009c560
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x18009c7b9
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x18009c7b9
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x3ae565dc
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x18009c7b4
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x18009c780
cmp r10d, 0x2596c1a2
je 0x18009c7c1
test r11d, r11d
jne 0x18009c760
mov rax, qword [rax]
jmp 0x18009c730
mov edx, dword [rsi + 0x24]
add rdx, rbx
movzx r8d, word [rdx + r11*2]
mov edx, dword [rsi + 0x1c]
add rdx, rbx
mov r9d, dword [rdx + r8*4]
add r9, rbx
mov rcx, qword [rsp + 0x558]
call r9
mov eax, 0xa
test r13d, r13d
cmove r12d, eax
mov eax, r12d
mov rbx, qword [rsp + 0x540]
add rsp, 0x500
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800c5e04
int3