Function at 0x180037520
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, 0x1a29c2df46bac882
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, 0xd52dbde7452633d9
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x80], rax
movabs rax, 0xf7ca5dda37b05dc0
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x78], rax
movabs rax, 0xa5572b30a05462b5
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x70], rax
movabs rax, 0x1b6f3a5bb92bf238
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x68], rax
movabs rax, 0x326c0733add35e8a
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [r11 - 0x60], rax
movabs rax, 0x7d4787a632d3a6d7
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x50], rax
movabs rax, 0xa654d5b76b435db0
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x58], rax
movabs rax, 0x99ad14e00dc33ea9
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x60], rax
movabs rax, 0xd7325251ec3110da
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x68], rax
movabs rax, 0x74064932d5479d7b
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x70], rax
movabs rax, 0x326c0733add35ee4
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 [0x1800e1470]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm1
test rax, rax
jne 0x1800377ef
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 0x1800377a8
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x1800377a8
mov esi, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
mov r9d, 0x1c973eee
lea rax, [rsi + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx eax, byte [r8]
inc r8
test al, al
je 0x1800377a3
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 0x180037770
cmp r9d, 0x7c74d987
je 0x180037831
test r10d, r10d
jne 0x180037750
mov rax, qword [r14]
mov r14, rax
cmp rax, rbp
je 0x1800377be
cmp qword [rax + 0x30], 0
jne 0x180037720
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 [0x1800e1470], rax
mov qword gs:[0x130], rax
lea rcx, [rsp + 0x20]
mov rax, qword [0x1800bb200]
mov qword gs:[0x128], rax
call fcn.1800b9160
test rax, rax
je 0x180037823
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 0x1800377c0