Function at 0x1400888b0
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 [0x14033c140]
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 0x1400888f1
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 esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x140088998
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x140088998
mov ebp, dword [rsi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rbp]
add r9, rbx
mov r10d, 0x877c382a
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x140088993
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 0x140088960
cmp r10d, 0x8a454ceb
je 0x1400889a0
test r11d, r11d
jne 0x140088940
mov rax, qword [rax]
jmp 0x140088910
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rsi + 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 0x140088a0c
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], r13
xor r8d, r8d
lea rdx, [0x14031ce4e]
mov rcx, r15
call fcn.14008b360
jmp 0x140088b50
dec eax
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rsp + 0x50]
call fcn.140088f50
nop
lea rbp, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rbp, qword [rsp + 0x50]
cmp qword [r12 + 0x18], 7
jbe 0x140088a3c
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 0x140088ad9
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x140088ad9
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, 0xcba4369f
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140088ad4
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 0x140088aa0
cmp r10d, 0xd121d828
je 0x140088ae1
test r11d, r11d
jne 0x140088a80
mov rax, qword [rax]
jmp 0x140088a50
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 [0x14031e080]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
lea rcx, [rsp + 0x50]
call fcn.14008b2f0
mov rax, r15
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1402bd6f0
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret