Function at 0x18006f530
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
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push r15
sub rsp, 0x30
cmp byte [0x18018283d], 0
movaps xmmword [rax - 0x18], xmm6
je 0x18006f814
mov rax, qword [0x180181fc0]
mov rbx, qword [rax]
test rbx, rbx
je 0x18006f814
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x18006f814
cmp byte [0x18018283f], 0
setne al
mov byte [rbx + 0x189], al
cmp byte [0x180182841], 0
movss xmm6, dword [0x1800c5cd8]
je 0x18006f5b4
comiss xmm6, dword [rbx + 0x280]
jbe 0x18006f5b4
movss xmm0, dword [rbx + 0x284]
movss dword [rbx + 0x280], xmm0
mov rax, qword [0x180182880]
test rax, rax
jne 0x18006f660
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rdx, rdi
mov r8, qword [rdx + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18006f645
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x18006f645
mov r14d, dword [r9 + 0x20]
dec r10d
mov r11d, 0x811c9dc5
lea rax, [r14 + r10*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x18006f640
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x18006f61d
cmp r11d, 0x95466b05
je 0x18006f765
test r10d, r10d
jne 0x18006f600
mov rax, qword [rdx]
mov rdx, rax
cmp rax, rdi
je 0x18006f657
cmp qword [rax + 0x30], 0
jne 0x18006f5db
xor eax, eax
mov qword [0x180182880], rax
mov ecx, dword [0x180182858]
call rax
bt ax, 0xf
jae 0x18006f68c
movd xmm0, dword [0x18018284c]
mov eax, dword [0x180181fe0]
cvtdq2ps xmm0, xmm0
movss dword [rax + rbx], xmm0
mov byte [0x180182842], 0
mov rax, qword [0x180182880]
test rax, rax
jne 0x18006f735
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rdx, rdi
mov r8, qword [rdx + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18006f71a
mov ecx, dword [r9 + 0x18]
test ecx, ecx
je 0x18006f71a
mov r14d, dword [r9 + 0x20]
dec ecx
mov r11d, 0x811c9dc5
mov esi, ecx
lea rax, [r14 + rcx*4]
mov r10d, dword [rax + r8]
add r10, r8
mov al, byte [r10]
inc r10
test al, al
je 0x18006f716
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [r10]
inc r10
test al, al
jne 0x18006f6f6
cmp r11d, 0x95466b05
je 0x18006f783
test ecx, ecx
jne 0x18006f6d7
mov rax, qword [rdx]
mov rdx, rax
cmp rax, rdi
je 0x18006f72c
cmp qword [rax + 0x30], 0
jne 0x18006f6b3
xor eax, eax
mov qword [0x180182880], rax
mov ecx, dword [0x18018285c]
call rax
bt ax, 0xf
jae 0x18006f79d
mov eax, dword [0x180182848]
add eax, eax
movd xmm0, eax
xor al, al
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x280], xmm0
mov byte [0x180182843], al
jmp 0x18006f7a3
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18006f659
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rsi*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18006f72e
mov al, byte [0x180182843]
test al, al
je 0x18006f7c5
mov eax, dword [0x180182848]
add eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x280], xmm0
mov byte [0x180182843], 0
cmp byte [0x180182844], 0
je 0x18006f7ee
comiss xmm6, dword [rbx + 0x280]
jbe 0x18006f7e7
movss xmm0, dword [rbx + 0x284]
movss dword [rbx + 0x280], xmm0
mov byte [0x180182844], 0
cmp byte [0x180182842], 0
je 0x18006f814
movd xmm0, dword [0x18018284c]
mov eax, dword [0x180181fe0]
cvtdq2ps xmm0, xmm0
movss dword [rax + rbx], xmm0
mov byte [0x180182842], 0
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop r15
ret