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

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15, rdx
mov r12d, r9d
mov rdx, r8
call fcn.1800026c0
mov r14d, dword [rsp + 0x80]
mov r13, rax
test r14d, r14d
jne 0x180002b89
mov r11, qword [0x1800050b0]
test r11, r11
jne 0x180002b6b
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180002b47
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180002b47
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x2d807773
lea rax, [rdi + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x180002b42
nop
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x180002b20
cmp r8d, 0xfec6f35a
je 0x180002b4c
test r9d, r9d
jne 0x180002b00
mov rcx, qword [rcx]
jmp 0x180002ad0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
mov qword [0x1800050b0], r11
mov r8d, r12d
mov rdx, r15
mov rcx, r13
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp r11
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x20], 0
nop dword [rax]
mov rax, qword [0x1800050d8]
test rax, rax
jne 0x180002c6a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
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 0x180002c47
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180002c47
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x939c5902
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x180002c42
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x180002c20
cmp r8d, 0xdb3fc5a9
je 0x180002c4c
test r9d, r9d
jne 0x180002c00
mov rax, qword [rax]
jmp 0x180002bd0
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]
add rax, r10
mov qword [0x1800050d8], rax
lea rdx, [rsp + 0x20]
mov rcx, r13
call rax
test rax, rax
jne 0x180002ba0
xor ebp, ebp
mov qword [rsp + 0x20], rbp
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [0x1800050d8]
test rax, rax
jne 0x180002d5a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
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 0x180002d37
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180002d37
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x939c5902
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180002d32
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180002d10
cmp r8d, 0xdb3fc5a9
je 0x180002d3c
test r9d, r9d
jne 0x180002cf0
mov rax, qword [rax]
jmp 0x180002cc0
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]
add rax, r10
mov qword [0x1800050d8], rax
lea rdx, [rsp + 0x20]
mov rcx, r13
call rax
mov rsi, rax
test rax, rax
je 0x180002eab
mov r10, qword [rax + 0x18]
xor r8d, r8d
movzx edx, byte [r10]
cmp dl, byte [r15]
jne 0x180002da8
mov r9, r10
mov rcx, r15
sub r9, r15
nop dword [rax]
test dl, dl
je 0x180002c90
movzx edx, byte [r9 + rcx + 1]
inc rcx
inc r8
cmp dl, byte [rcx]
je 0x180002d90
movsx ecx, byte [r8 + r10]
movsx eax, byte [r8 + r15]
cmp ecx, eax
je 0x180002c90
cmp r12d, 0xffffffff
jle 0x180002e9c
mov rax, qword [0x1800050d0]
test rax, rax
jne 0x180002e8a
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 ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180002e67
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180002e67
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xea614ff
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180002e62
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 0x180002e40
cmp r8d, 0x8796446a
je 0x180002e6c
test r9d, r9d
jne 0x180002e20
mov rax, qword [rax]
jmp 0x180002df0
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]
add rax, r10
mov qword [0x1800050d0], rax
mov rcx, rsi
call rax
test eax, eax
js 0x180002e9c
cmp eax, r12d
jne 0x180002c90
cmp ebp, r14d
jge 0x180002ea8
inc ebp
jmp 0x180002c90
mov rax, rsi
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret