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

Disassembly:
mov rax, rsp
push r15
sub rsp, 0x40
mov qword [rax + 8], rbx
lea rcx, [0x18000c218]
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax - 0x10], rdi
mov rdi, rdx
mov qword [rax - 0x18], r12
lea rdx, [0x18000c210]
mov qword [rax - 0x20], r13
mov qword [rax - 0x28], r14
movsxd r12, r8d
call fcn.180020ca0
mov r9, qword [0x18009d4a0]
mov r13, rax
test r9, r9
jne 0x18002752e
mov rcx, qword gs:[0x60]
mov r8, qword [rcx + 0x18]
mov rcx, qword [r8 + 0x10]
mov rbp, qword [rcx]
mov r14, rbp
nop dword [rax + rax]
mov r11, qword [r14 + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x18002750e
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x18002750e
mov r15d, dword [rsi + 0x20]
nop word [rax + rax]
dec r10d
mov r9d, 0xb16fe146
lea rax, [r15 + r10*4]
mov edx, dword [rax + r11]
add rdx, r11
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
je 0x180027509
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, r9d
imul r9d, ecx, 0x1000193
test r8b, r8b
jne 0x1800274d0
cmp r9d, 0x5b025813
je 0x180027671
test r10d, r10d
jne 0x1800274b0
mov rax, qword [r14]
mov r14, rax
cmp rax, rbp
je 0x180027524
cmp qword [rax + 0x30], 0
jne 0x180027480
xor r9d, r9d
mov qword [0x18009d4a0], r9
mov edx, r12d
mov rcx, r13
call r9
mov r13, qword [rsp + 0x28]
mov rdx, r12
mov r12, qword [rsp + 0x30]
mov r15, rax
test rdx, rdx
jle 0x180027572
mov r8, rax
sub r8, rdi
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rdi]
mov byte [rdi + r8 + 0x20], cl
lea rdi, [rdi + 1]
sub rdx, 1
jne 0x180027560
mov rax, qword [0x18009d488]
test rax, rax
jne 0x180027643
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rsi, rbp
nop dword [rax]
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x180027624
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x180027624
mov r14d, dword [rdi + 0x20]
nop word [rax + rax]
dec r10d
mov r9d, 0x480cfee1
lea rax, [r14 + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx eax, byte [r8]
inc r8
test al, al
je 0x18002761f
nop
movsx ecx, al
lea r8, [r8 + 1]
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
movzx eax, byte [r8 - 1]
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
test al, al
jne 0x1800275f0
cmp r9d, 0xeccd22c
je 0x18002768e
test r10d, r10d
jne 0x1800275d0
mov rax, qword [rsi]
mov rsi, rax
cmp rax, rbp
je 0x18002763a
cmp qword [rax + 0x30], 0
jne 0x1800275a0
xor eax, eax
mov qword [0x18009d488], rax
lea rcx, [0x18000c220]
call rax
mov r14, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
test rax, rax
jne 0x1800276a7
add rsp, 0x40
pop r15
ret
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rsi + 0x1c]
add rcx, r11
mov r9d, dword [rcx + rdx*4]
add r9, r11
jmp 0x180027527
mov ecx, dword [rdi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rcx + rdx*4]
add rax, r11
jmp 0x18002763c
xor edx, edx
mov rcx, r15
add rsp, 0x40
pop r15
jmp rax