Function at 0x140022a10
Capabilities:
Access peb ldr_data
Encode data using xor
Get process filename
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x140]
sub rsp, 0x240
call fcn.140087db0
mov ecx, eax
call fcn.140084ff0
test al, al
jne 0x140022c5f
movabs rax, 0x1f2423a90ff38c98
xorps xmm2, xmm2
mov qword [rsp + 0x20], rax
mov edx, 2
movabs rax, 0x5d91af123dbaea70
xor ecx, ecx
mov qword [rsp + 0x28], rax
movabs rax, 0x507671ec2faea1c3
mov qword [rsp + 0x40], rax
movabs rax, 0x5d91af123dbae022
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x38]
nop dword [rax + rax]
mov qword [rax - 8], rcx
mov qword [rax], rcx
lea rax, [rax + 0x10]
sub rdx, 1
jne 0x140022a90
movdqa xmm0, xmmword [rsp + 0x20]
lea rax, [rbp + 0x30]
xorps xmm0, xmmword [rsp + 0x40]
lea rcx, [rsp + 0x20]
movdqa xmmword [rbp + 0x30], xmm0
movdqa xmmword [rbp + 0x40], xmm2
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rax + 0x80]
movups xmmword [rcx + 0x60], xmm0
movups xmm0, xmmword [rax + 0x70]
movups xmmword [rcx + 0x70], xmm0
movups xmm0, xmmword [rax + 0x90]
movups xmmword [rcx + 0x80], xmm1
movups xmm1, xmmword [rax + 0xa0]
movups xmmword [rcx + 0x90], xmm0
movups xmmword [rcx + 0xa0], xmm1
lea rcx, [rsp + 0x20]
call fcn.140001eb0
movaps xmm1, xmmword [rsp + 0x40]
movabs rax, 0x2d9f8a29717e0
mov qword [rsp + 0x20], rax
movabs rcx, 0x9d5b1a60f7638d8
mov qword [rsp + 0x38], rcx
movabs rax, 0x2d99dd1e27690
mov qword [rsp + 0x30], rax
mov rax, qword gs:[0x60]
mov qword [rsp + 0x28], rcx
movdqa xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rsp + 0x30]
mov rax, qword [rax + 0x18]
movaps xmmword [rsp + 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0x50]
mov rax, qword [rax + 0x10]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x40], xmm1
movaps xmm1, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm1
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140022c37
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140022c37
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140022c32
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140022c10
cmp r8d, 0x491e0a9c
je 0x140022c3c
test r9d, r9d
jne 0x140022bf0
mov rax, qword [rax]
jmp 0x140022bc0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rcx, [rsp + 0x20]
add rax, r10
call rax
jmp 0x140022f87
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140022ce7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140022ce7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140022ce2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140022cc0
cmp r8d, 0x2fa62ca8
je 0x140022cec
test r9d, r9d
jne 0x140022ca0
mov rax, qword [rax]
jmp 0x140022c70
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0x7d0
add rax, r10
call rax
movabs rdx, 0x1fffffffe0000000
movabs rcx, 0xe000000020001c02
movabs rax, 0x1a31f6fe4acb14a
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x20], rax
xorps xmm4, xmm4
movabs rax, 0x4c496006f4cc2883
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x28], rax
xorps xmm5, xmm5
movabs rax, 0x6fd4700b90d9d939
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x60], rax
mov edx, 4
movabs rax, 0x79691429d4be07a3
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x68], rax
xor ecx, ecx
lea rax, [rbp + 0x38]
nop
mov qword [rax - 8], rcx
mov qword [rax], rcx
lea rax, [rax + 0x10]
sub rdx, 1
jne 0x140022d80
movdqa xmm0, xmmword [rsp + 0x20]
lea rax, [rsp + 0x20]
movdqa xmm1, xmmword [rsp + 0x30]
lea rcx, [rbp + 0x30]
xorps xmm0, xmmword [rsp + 0x60]
mov edx, 2
xorps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp + 0x30], xmm0
movdqa xmmword [rbp + 0x40], xmm1
movdqa xmmword [rbp + 0x50], xmm4
movdqa xmmword [rbp + 0x60], xmm5
nop dword [rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x140022dd0
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140022eb7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140022eb7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140022eb2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140022e90
cmp r8d, 0x491e0a9c
je 0x140022ebc
test r9d, r9d
jne 0x140022e70
mov rax, qword [rax]
jmp 0x140022e40
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rcx, [rsp + 0x20]
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140022f67
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140022f67
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [r10 + r9*4]
mov ecx, dword [rcx + rdi]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140022f62
nop dword [rax]
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x140022f40
cmp r8d, 0xcded1a85
je 0x140022f6c
test r9d, r9d
jne 0x140022f20
mov rax, qword [rax]
jmp 0x140022ef0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r10
call rax
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret