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

Disassembly:
mov r11, rsp
push r12
push r13
push r15
sub rsp, 0x90
movabs rax, 0xe20fb2dfd84ad796
movzx r15d, r8b
mov qword [rsp + 0xc8], rax
mov r12d, edx
mov rax, qword [rsp + 0xc8]
mov r13d, ecx
mov qword [rsp + 0x20], rax
movabs rax, 0x43df297397332665
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x80], rax
movabs rax, 0xd3e50cea52a28634
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x78], rax
movabs rax, 0x8d0fd794288698d9
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x70], rax
movabs rax, 0xa29faf8338ebeb34
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x68], rax
movabs rax, 0xce927617e97545ae
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x60], rax
movabs rax, 0x8561f7a6ac23b9c3
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x50], rax
movabs rax, 0x30a64123b956480c
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x58], rax
movabs rax, 0xbd8245d068d1e55d
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x60], rax
movabs rax, 0xff6aaef564e3eab6
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x68], rax
movabs rax, 0xcdf6dcea54878477
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x70], rax
movabs rax, 0xce927617e97545c0
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
movdqa xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rsp + 0x50]
movdqa xmm1, xmmword [rsp + 0x30]
xorps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x78], rax
mov rax, qword [0x1800e7340]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm1
test rax, rax
jne 0x18003a2ef
mov rax, qword gs:[0x60]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov rcx, qword [rax + 0x18]
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r14
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov r14, rbp
nop word [rax + rax]
mov r11, qword [r14 + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x18003a2a8
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x18003a2a8
mov esi, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
mov r9d, 0x2b9dc3a8
lea rax, [rsi + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx eax, byte [r8]
inc r8
test al, al
je 0x18003a2a3
nop
movsx ecx, al
lea r8, [r8 + 1]
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
movzx eax, byte [r8 - 1]
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
test al, al
jne 0x18003a270
cmp r9d, 0x10d2cf85
je 0x18003a331
test r10d, r10d
jne 0x18003a250
mov rax, qword [r14]
mov r14, rax
cmp rax, rbp
je 0x18003a2be
cmp qword [rax + 0x30], 0
jne 0x18003a220
xor eax, eax
mov r14, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xb0]
mov qword [0x1800e7340], rax
mov qword gs:[0x130], rax
lea rcx, [rsp + 0x20]
mov rax, qword [0x1800c0200]
mov qword gs:[0x128], rax
call fcn.1800be1e0
test rax, rax
je 0x18003a323
movzx r8d, r15b
mov edx, r12d
mov ecx, r13d
call rax
add rsp, 0x90
pop r15
pop r13
pop r12
ret
mov ecx, dword [rdi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rcx + rdx*4]
add rax, r11
jmp 0x18003a2c0