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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x20
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
xor r15d, r15d
test rax, rax
je 0x14001aa89
movsxd rbx, dword [rax + 0x3c]
or r13d, 0xffffffff
add rbx, rax
mov edi, r15d
movzx eax, word [rbx + 0x14]
lea rsi, [rbx + 0x18]
add rsi, rax
cmp r15w, word [rbx + 6]
jae 0x14001a8c3
cmp byte [0x14002f35f], r15b
mov rax, qword [0x14002f358]
mov qword [rsp + 0x50], rax
je 0x14001a80a
mov r8d, r15d
lea r9, [rsp + 0x50]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 8
jl 0x14001a7e3
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r10d, dword [rcx + r8 + 0x88]
add r10, r8
cmp r10, r8
je 0x14001a881
mov r9d, dword [r10 + 0x18]
test r9d, r9d
je 0x14001a881
mov r14d, dword [r10 + 0x20]
add r9d, r13d
mov r11d, 0x675d2465
lea rcx, [r14 + r9*4]
mov edx, dword [rcx + r8]
add rdx, r8
mov cl, byte [rdx]
inc rdx
test cl, cl
je 0x14001a87c
movsx ecx, cl
xor ecx, r11d
imul r11d, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14001a85d
cmp r11d, 0xc253d034
je 0x14001a886
test r9d, r9d
jne 0x14001a840
mov rax, qword [rax]
jmp 0x14001a81b
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx edx, word [rcx + r9*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
lea rdx, [rsp + 0x50]
add rax, r8
mov rcx, rsi
call rax
test eax, eax
je 0x14001aa89
movzx eax, word [rbx + 6]
inc edi
add rsi, 0x28
cmp edi, eax
jl 0x14001a7c6
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r10d, dword [rcx + r8 + 0x88]
add r10, r8
cmp r10, r8
je 0x14001a93a
mov r9d, dword [r10 + 0x18]
test r9d, r9d
je 0x14001a93a
mov edi, dword [r10 + 0x20]
add r9d, r13d
mov r11d, 0x6a21f53a
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r8]
add rdx, r8
mov cl, byte [rdx]
inc rdx
test cl, cl
je 0x14001a935
movsx ecx, cl
xor ecx, r11d
imul r11d, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14001a916
cmp r11d, 0x4fe9a1b2
je 0x14001a93f
test r9d, r9d
jne 0x14001a8f9
mov rax, qword [rax]
jmp 0x14001a8d4
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx edx, word [rcx + r9*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r8
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x14001a9d3
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x14001a9d3
mov edi, dword [r9 + 0x20]
add r10d, r13d
mov r11d, 0xa882d632
lea rcx, [rdi + r10*4]
mov edx, dword [rcx + r8]
add rdx, r8
mov cl, byte [rdx]
inc rdx
test cl, cl
je 0x14001a9ce
movsx ecx, cl
xor ecx, r11d
imul r11d, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14001a9af
cmp r11d, 0xbcdd6ae4
je 0x14001a9d8
test r10d, r10d
jne 0x14001a992
mov rax, qword [rax]
jmp 0x14001a96d
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
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x14001aa69
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x14001aa69
mov edi, dword [r9 + 0x20]
add r10d, r13d
mov r11d, 0x706d2db6
lea rcx, [r8 + r10*4]
mov edx, dword [rcx + rdi]
add rdx, r8
mov cl, byte [rdx]
inc rdx
test cl, cl
je 0x14001aa64
movsx ecx, cl
xor ecx, r11d
imul r11d, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14001aa45
cmp r11d, 0x73d478ea
je 0x14001aa6e
test r10d, r10d
jne 0x14001aa29
mov rax, qword [rax]
jmp 0x14001aa04
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
call rax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret