Function at 0x7ff77f2e62a0
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
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov dword [rcx + 0x10], 0
mov r12, rcx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov esi, dword [rdx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x7ff77f2e6369
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff77f2e6369
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0x6414c8d2
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x7ff77f2e6364
nop
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 0x7ff77f2e6330
cmp r10d, 0x31ed6137
je 0x7ff77f2e6371
test r11d, r11d
jne 0x7ff77f2e6310
mov rax, qword [rax]
jmp 0x7ff77f2e62e0
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]
add rax, rbx
call rax
mov qword [r12 + 8], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x7ff77f2e642a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff77f2e642a
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0xfc934d2b
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2e6425
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2e63f0
cmp r10d, 0x9426c0c
je 0x7ff77f2e6432
test r11d, r11d
jne 0x7ff77f2e63d0
mov rax, qword [rax]
jmp 0x7ff77f2e63a0
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]
mov ecx, 0xfffffff5
add rax, rbx
call rax
mov qword [r12], rax
mov rbp, rax
mov dword [r12 + 0x14], 0x60
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov rbx, qword [rcx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov esi, dword [rdx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x7ff77f2e64fa
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff77f2e64fa
mov r14d, dword [rsi + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0xf59dcf82
lea rax, [r14 + r11*4]
mov r8d, dword [rax + rbx]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff77f2e64f5
movsx eax, r9b
lea r8, [r8 + 1]
sub r9b, 0x41
mov edx, eax
or edx, 0x20
cmp r9b, 0x19
movzx r9d, byte [r8 - 1]
cmova edx, eax
xor edx, r10d
imul r10d, edx, 0x1000193
test r9b, r9b
jne 0x7ff77f2e64c0
cmp r10d, 0x4dcce9b4
je 0x7ff77f2e6502
test r11d, r11d
jne 0x7ff77f2e64a0
mov rcx, qword [rcx]
jmp 0x7ff77f2e6471
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]
lea rdx, [r12 + 0x14]
add rax, rbx
mov rcx, rbp
call rax
mov dword [r12 + 0x50], 0xcccccc
mov dword [r12 + 0x6c], 0xd4ff6e
mov dword [r12 + 0x5c], 0x98fb98
mov dword [r12 + 0x58], 0x9370db
mov dword [r12 + 0x40], 0x9cc1
mov dword [r12 + 0x74], 0xfa87f6
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 0x7ff77f2e65fa
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff77f2e65fa
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0x455bcb28
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2e65f5
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2e65c0
cmp r10d, 0x341cd7c2
je 0x7ff77f2e6602
test r11d, r11d
jne 0x7ff77f2e65a0
mov rax, qword [rax]
jmp 0x7ff77f2e6570
mov ecx, dword [rsi + 0x24]
lea rdx, [r12 + 0x14]
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, qword [r12]
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 0x7ff77f2e66ca
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff77f2e66ca
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0x5cc2b55a
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2e66c5
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2e6690
cmp r10d, 0x5519394c
je 0x7ff77f2e66d2
test r11d, r11d
jne 0x7ff77f2e6670
mov rax, qword [rax]
jmp 0x7ff77f2e6640
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]
mov edx, 7
mov rcx, qword [r12]
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 0x7ff77f2e679a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff77f2e679a
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0x59c4ef38
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2e6795
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2e6760
cmp r10d, 0x4cc4122
je 0x7ff77f2e67a2
test r11d, r11d
jne 0x7ff77f2e6740
mov rax, qword [rax]
jmp 0x7ff77f2e6710
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]
mov rcx, qword [r12 + 8]
add rax, rbx
call rax
mov rbx, qword [rsp + 0x40]
mov rax, r12
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret