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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov r9, qword [0x7ff77f48f3f0]
xor ebp, ebp
test r9, r9
jne 0x7ff77f2efefd
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
mov r10, rbx
nop dword [rax]
mov r8, qword [r10 + 0x60]
mov r9d, 0x3b8b8f9f
movzx eax, word [r10 + 0x58]
shr rax, 1
lea r11, [r8 + rax*2]
cmp r8, r11
je 0x7ff77f2efee2
nop dword [rax + rax]
movsx eax, byte [r8]
mov ecx, eax
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
cmova edx, ecx
add r8, 2
xor edx, r9d
imul r9d, edx, 0x1000193
cmp r8, r11
jne 0x7ff77f2efeb0
cmp r9d, 0xddd3b45d
je 0x7ff77f2eff6b
mov rax, qword [r10]
mov r10, rax
cmp rax, rbx
je 0x7ff77f2efef3
cmp qword [rax + 0x30], rbp
jne 0x7ff77f2efe90
mov r9, rbp
mov qword [0x7ff77f48f3f0], r9
movsxd rax, dword [r9 + 0x3c]
mov r11d, ebp
mov edi, dword [rax + r9 + 0x88]
mov esi, dword [rdi + r9 + 0x20]
mov ebx, r11d
mov r10d, 0x3a8b8e0c
lea rax, [rsi + rbx*4]
mov edx, dword [rax + r9]
add rdx, r9
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
je 0x7ff77f2eff66
movsx eax, r8b
lea rdx, [rdx + 1]
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
movzx r8d, byte [rdx - 1]
cmova ecx, eax
xor ecx, r10d
imul r10d, ecx, 0x1000193
test r8b, r8b
jne 0x7ff77f2eff31
cmp r10d, 0x347547d8
je 0x7ff77f2eff71
inc r11d
jmp 0x7ff77f2eff11
mov r9, qword [r10 + 0x30]
jmp 0x7ff77f2efef6
mov ecx, dword [rdi + r9 + 0x24]
xor r8d, r8d
add rcx, r9
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + r9 + 0x1c]
add rcx, r9
mov ecx, dword [rcx + rdx*4]
lea rdx, [0x7ff77f2e9b50]
add rcx, r9
call fcn.7ff77f2eb220
mov r9, qword [0x7ff77f48f3d0]
test r9, r9
jne 0x7ff77f2f002d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
mov r10, rbx
mov r8, qword [r10 + 0x60]
mov r9d, 0x4f2d67db
movzx eax, word [r10 + 0x58]
shr rax, 1
lea r11, [r8 + rax*2]
cmp r8, r11
je 0x7ff77f2f0012
nop dword [rax]
movsx eax, byte [r8]
mov ecx, eax
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
cmova edx, ecx
add r8, 2
xor edx, r9d
imul r9d, edx, 0x1000193
cmp r8, r11
jne 0x7ff77f2effe0
cmp r9d, 0xdf47ed39
je 0x7ff77f2f009b
mov rax, qword [r10]
mov r10, rax
cmp rax, rbx
je 0x7ff77f2f0023
cmp qword [rax + 0x30], rbp
jne 0x7ff77f2effc1
mov r9, rbp
mov qword [0x7ff77f48f3d0], r9
movsxd rax, dword [r9 + 0x3c]
mov r11d, ebp
mov edi, dword [rax + r9 + 0x88]
mov esi, dword [rdi + r9 + 0x20]
mov ebx, r11d
mov r10d, 0x4e2d6648
lea rax, [rsi + rbx*4]
mov edx, dword [rax + r9]
add rdx, r9
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
je 0x7ff77f2f0096
movsx eax, r8b
lea rdx, [rdx + 1]
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
movzx r8d, byte [rdx - 1]
cmova ecx, eax
xor ecx, r10d
imul r10d, ecx, 0x1000193
test r8b, r8b
jne 0x7ff77f2f0061
cmp r10d, 0xfdef826e
je 0x7ff77f2f00a1
inc r11d
jmp 0x7ff77f2f0041
mov r9, qword [r10 + 0x30]
jmp 0x7ff77f2f0026
mov ecx, dword [rdi + r9 + 0x24]
mov r8d, 1
add rcx, r9
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + r9 + 0x1c]
add rcx, r9
mov ecx, dword [rcx + rdx*4]
lea rdx, [0x7ff77f2ea0e0]
add rcx, r9
call fcn.7ff77f2eb220
mov r10, qword [0x7ff77f48f3d8]
test r10, r10
jne 0x7ff77f2f016d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
mov r10, rbx
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [r10 + 0x60]
mov r9d, 0x7e17b70
movzx eax, word [r10 + 0x58]
shr rax, 1
lea r11, [r8 + rax*2]
cmp r8, r11
je 0x7ff77f2f0152
nop dword [rax + rax]
movsx eax, byte [r8]
mov ecx, eax
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
cmova edx, ecx
add r8, 2
xor edx, r9d
imul r9d, edx, 0x1000193
cmp r8, r11
jne 0x7ff77f2f0120
cmp r9d, 0xaa7d94ba
je 0x7ff77f2f01d5
mov rax, qword [r10]
mov r10, rax
cmp rax, rbx
je 0x7ff77f2f0163
cmp qword [rax + 0x30], rbp
jne case.0x7ff77f30b03e.34
mov r10, rbp
mov qword [0x7ff77f48f3d8], r10
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
mov edi, dword [rbx + r10 + 0x20]
nop
mov r11d, ebp
mov r9d, 0x8e17d03
lea rax, [rdi + r11*4]
mov r8d, dword [rax + r10]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x7ff77f2f01d1
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x7ff77f2f01a0
cmp r9d, 0x6b65fed4
je 0x7ff77f2f01db
inc ebp
jmp 0x7ff77f2f0180
mov r10, qword [r10 + 0x30]
jmp 0x7ff77f2f0166
mov ecx, dword [rbx + r10 + 0x24]
mov r8d, 2
add rcx, r10
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + r10 + 0x1c]
add rcx, r10
mov ecx, dword [rcx + rdx*4]
lea rdx, [0x7ff77f2ea300]
add rcx, r10
call fcn.7ff77f2eb220
mov rbx, qword [rsp + 0x30]
mov al, 1
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret