Function at 0x180001de0
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.180001a30
mov r14d, dword [rsp + 0x80]
mov r13, rax
test r14d, r14d
jne 0x180001ef9
mov r11, qword [0x180004088]
test r11, r11
jne 0x180001edb
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 0x180001eb7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180001eb7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xf970dee4
lea rax, [rdi + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x180001eb2
nop
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x180001e90
cmp r8d, 0xad3a3b5b
je 0x180001ebc
test r9d, r9d
jne 0x180001e70
mov rcx, qword [rcx]
jmp 0x180001e40
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 [0x180004088], 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 [0x1800040b0]
test rax, rax
jne 0x180001fda
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 0x180001fb7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180001fb7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x4f023b0e
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x180001fb2
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x180001f90
cmp r8d, 0x2bdb721d
je 0x180001fbc
test r9d, r9d
jne 0x180001f70
mov rax, qword [rax]
jmp 0x180001f40
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 [0x1800040b0], rax
lea rdx, [rsp + 0x20]
mov rcx, r13
call rax
test rax, rax
jne 0x180001f10
xor ebp, ebp
mov qword [rsp + 0x20], rbp
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [0x1800040b0]
test rax, rax
jne 0x1800020ca
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 0x1800020a7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1800020a7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x4f023b0e
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800020a2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180002080
cmp r8d, 0x2bdb721d
je 0x1800020ac
test r9d, r9d
jne 0x180002060
mov rax, qword [rax]
jmp 0x180002030
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 [0x1800040b0], rax
lea rdx, [rsp + 0x20]
mov rcx, r13
call rax
mov rsi, rax
test rax, rax
je 0x18000221b
mov r10, qword [rax + 0x18]
xor r8d, r8d
movzx edx, byte [r10]
cmp dl, byte [r15]
jne 0x180002118
mov r9, r10
mov rcx, r15
sub r9, r15
nop dword [rax]
test dl, dl
je 0x180002000
movzx edx, byte [r9 + rcx + 1]
inc rcx
inc r8
cmp dl, byte [rcx]
je 0x180002100
movsx ecx, byte [r8 + r10]
movsx eax, byte [r8 + r15]
cmp ecx, eax
je 0x180002000
cmp r12d, 0xffffffff
jle 0x18000220c
mov rax, qword [0x1800040a8]
test rax, rax
jne 0x1800021fa
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 0x1800021d7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1800021d7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xce0bfd57
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800021d2
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 0x1800021b0
cmp r8d, 0x65188b2
je 0x1800021dc
test r9d, r9d
jne 0x180002190
mov rax, qword [rax]
jmp 0x180002160
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 [0x1800040a8], rax
mov rcx, rsi
call rax
test eax, eax
js 0x18000220c
cmp eax, r12d
jne 0x180002000
cmp ebp, r14d
jge 0x180002218
inc ebp
jmp 0x180002000
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