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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x7ff77f37b080]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov r10, qword [0x7ff77f48f3c8]
xor ebx, ebx
test r10, r10
jne 0x7ff77f2ee3bd
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov r10, rdi
mov r8, qword [r10 + 0x60]
mov r9d, 0x8f68c51e
movzx eax, word [r10 + 0x58]
shr rax, 1
lea r11, [r8 + rax*2]
cmp r8, r11
je 0x7ff77f2ee3a2
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 0x7ff77f2ee370
cmp r9d, 0x91318b80
je 0x7ff77f2ee425
mov rax, qword [r10]
mov r10, rax
cmp rax, rdi
je 0x7ff77f2ee3b3
cmp qword [rax + 0x30], rbx
jne 0x7ff77f2ee350
mov r10, rbx
mov qword [0x7ff77f48f3c8], r10
movsxd rax, dword [r10 + 0x3c]
mov edi, dword [rax + r10 + 0x88]
mov esi, dword [rdi + r10 + 0x20]
nop
mov r11d, ebx
mov r9d, 0x9268c9d7
lea rax, [rsi + r11*4]
mov r8d, dword [rax + r10]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x7ff77f2ee421
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 0x7ff77f2ee3f0
cmp r9d, 0xdff9b2c2
je 0x7ff77f2ee42b
inc ebx
jmp 0x7ff77f2ee3d0
mov r10, qword [r10 + 0x30]
jmp 0x7ff77f2ee3b6
mov ecx, dword [rdi + r10 + 0x24]
add rcx, r10
movzx edx, word [rcx + r11*2]
mov ecx, dword [rdi + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r10
call rax
mov rcx, qword gs:[0x60]
mov r15, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop
mov rbx, qword [rcx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov esi, dword [rdx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x7ff77f2ee4ea
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff77f2ee4ea
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0x21f31b2f
lea rax, [r14 + r11*4]
mov r9d, dword [rax + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ee4e5
movsx eax, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, eax
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ee4b0
cmp r10d, 0x5eea7079
je 0x7ff77f2ee4f2
test r11d, r11d
jne 0x7ff77f2ee490
mov rcx, qword [rcx]
jmp 0x7ff77f2ee460
mov ecx, dword [rsi + 0x24]
lea r9, [rsp + 0x20]
add rcx, rbx
mov r8d, 1
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
mov edx, 0x5000
add rax, rbx
mov rcx, r15
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x7ff77f2ee5ba
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff77f2ee5ba
mov ebp, dword [rsi + 0x20]
dec r11d
mov r10d, 0x3cfe40d7
lea rcx, [rbx + r11*4]
mov r8d, dword [rcx + rbp]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff77f2ee5b5
nop dword [rax]
nop word [rax + rax]
movsx ecx, r9b
lea r8, [r8 + 1]
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
movzx r9d, byte [r8 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r9b, r9b
jne 0x7ff77f2ee580
cmp r10d, 0x98435c1f
je 0x7ff77f2ee5c2
test r11d, r11d
jne 0x7ff77f2ee553
mov rax, qword [rax]
jmp 0x7ff77f2ee530
mov ecx, dword [rsi + 0x24]
mov edx, 0x5000
add rcx, rbx
movzx r8d, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rcx + r8*4]
mov rcx, r15
add rax, rbx
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
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 0x7ff77f2ee67b
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff77f2ee67b
mov ebp, dword [rsi + 0x20]
dec r11d
mov r10d, 0x746136ac
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rbp]
add r9, rbx
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x7ff77f2ee676
movsx edx, cl
lea r9, [r9 + 1]
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
movzx ecx, byte [r9 - 1]
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
test cl, cl
jne 0x7ff77f2ee642
cmp r10d, 0x7aff9b78
je 0x7ff77f2ee680
test r11d, r11d
jne 0x7ff77f2ee623
mov rax, qword [rax]
jmp 0x7ff77f2ee600
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
xor edx, edx
mov rcx, qword [0x7ff77f48f3a0]
add rax, rbx
call rax
xor ecx, ecx
call qword [sym.imp.ucrtbase.dll_exit]
int3