Function at 0x18003a400
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, 0xb195e9a325bc8992
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, 0x74853a6b5dff7189
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x80], rax
movabs rax, 0x4a6707ae3d234b50
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x78], rax
movabs rax, 0x94f36bb45132a1e5
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x70], rax
movabs rax, 0x5d10bff8595828
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x68], rax
movabs rax, 0xa79a4a1752c1acea
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x60], rax
movabs rax, 0xd6fbacda51d5e7c7
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x50], rax
movabs rax, 0x7fc523b739a1fe0
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x58], rax
movabs rax, 0x24004e9407502839
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x60], rax
movabs rax, 0xe69612d51d57d38a
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x68], rax
movabs rax, 0x6f3463d69435376b
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x70], rax
movabs rax, 0xa79a4a1752c1ac84
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 [0x1800ebc30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm1
test rax, rax
jne 0x18003a6cf
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 0x18003a688
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x18003a688
mov esi, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
mov r9d, 0xd58a1b50
lea rax, [rsi + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx eax, byte [r8]
inc r8
test al, al
je 0x18003a683
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 0x18003a650
cmp r9d, 0xac5de09d
je 0x18003a711
test r10d, r10d
jne 0x18003a630
mov rax, qword [r14]
mov r14, rax
cmp rax, rbp
je 0x18003a69e
cmp qword [rax + 0x30], 0
jne 0x18003a600
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 [0x1800ebc30], rax
mov qword gs:[0x130], rax
lea rcx, [rsp + 0x20]
mov rax, qword [0x1800c4210]
mov qword gs:[0x128], rax
call fcn.1800c2440
test rax, rax
je 0x18003a703
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 0x18003a6a0