Function at 0x18009bfd0
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.18009bd80
test eax, eax
je 0x18009c00d
lea eax, [r12 + 1]
jmp 0x18009c2a3
mov r13d, r12d
xor edx, edx
mov r8d, 0x4b0
lea rcx, [rsp + 0x50]
call fcn.1800bc4e0
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 0x18009c0cc
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x18009c0cc
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, 0x27dcfd49
movzx r9d, byte [rcx]
inc rcx
test r9b, r9b
je 0x18009c0c7
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 0x18009c090
cmp r10d, 0x390dc9f6
je 0x18009c0d4
test r11d, r11d
jne 0x18009c070
mov rax, qword [rax]
jmp 0x18009c041
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 0x18009c1c4
cmp dword [rsp + 0x5c], eax
jbe 0x18009c010
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 0x18009c150
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.180006af0
nop
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.180032eb0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x18009c010
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009c1ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009c2be
call fcn.1800b98ec
jmp 0x18009c010
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 0x18009c269
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x18009c269
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, 0x3a339f40
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x18009c264
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 0x18009c230
cmp r10d, 0x773bdc46
je 0x18009c271
test r11d, r11d
jne 0x18009c210
mov rax, qword [rax]
jmp 0x18009c1e0
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.1800c5784
int3