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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1403e7140]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r12, rdx
mov r15, rcx
mov qword [rsp + 0x48], rcx
xor r13d, r13d
mov r14, rdx
cmp qword [rdx + 0x18], 7
jbe 0x14008d9b1
mov r14, qword [rdx]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov ebp, dword [rcx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x14008da58
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x14008da58
mov esi, dword [rbp + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0x4a368a29
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x14008da53
nop
movsx edx, cl
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx ecx, byte [r9]
lea r9, [r9 + 1]
test cl, cl
jne 0x14008da20
cmp r10d, 0xf78aa542
je 0x14008da60
test r11d, r11d
jne 0x14008da00
mov rax, qword [rax]
jmp 0x14008d9d0
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
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0xffffffff
mov r8, r14
xor edx, edx
mov ecx, 0xfde9
call r10
mov r14d, eax
test eax, eax
jne 0x14008dacc
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], r13
xor r8d, r8d
lea rdx, [0x1403c3210]
mov rcx, r15
call fcn.14008fc10
jmp 0x14008dc10
dec eax
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rsp + 0x50]
call fcn.14008f9b0
nop
lea rbp, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rbp, qword [rsp + 0x50]
cmp qword [r12 + 0x18], 7
jbe 0x14008dafc
mov r12, qword [r12]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x14008db99
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x14008db99
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rdx, [rbx + r11*4]
mov r9d, dword [rdx + rdi]
add r9, rbx
mov r10d, 0x63128a7b
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14008db94
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 0x14008db60
cmp r10d, 0xa5704034
je 0x14008dba1
test r11d, r11d
jne 0x14008db40
mov rax, qword [rax]
jmp 0x14008db10
mov r10d, dword [rsi + 0x1c]
add r10, rbx
mov edx, dword [rsi + 0x24]
add rdx, rbx
movzx edx, word [rdx + r11*2]
mov eax, dword [r10 + rdx*4]
add rax, rbx
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rbp
mov r9d, 0xffffffff
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
call rax
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [r15 + 0x10], xmm1
movdqa xmm0, xmmword [0x1403c5130]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
lea rcx, [rsp + 0x50]
call fcn.140090020
mov rax, r15
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140360560
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret