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

Disassembly:
push rbp
push r12
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0x90
movabs rax, 0x7a02c459ae36e147
movabs r10, 0x1477a515cb458005
mov qword [rbp + 0x67], rax
movabs r11, 0xf778f3349e044e16
mov rax, qword [rbp + 0x67]
movzx r9d, dl
mov qword [rbp - 0x29], rax
mov r12d, 0x84222325
movabs rax, 0xf778f334ec612675
mov r15, rcx
mov qword [rbp + 0x67], rax
lea rcx, [rbp - 0x29]
mov rax, qword [rbp + 0x67]
mov r8d, r12d
mov qword [rbp - 0x21], rax
mov qword [rbp + 0x67], r10
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x19], rax
mov qword [rbp + 0x67], r11
mov rax, qword [rbp + 0x67]
movdqa xmm0, xmmword [rbp - 0x29]
mov qword [rbp - 0x11], rax
xorps xmm0, xmmword [rbp - 0x19]
movq rdx, xmm0
movdqa xmmword [rbp - 0x29], xmm0
test dl, dl
je 0x180021920
movsx eax, dl
lea rcx, [rcx + 1]
xor eax, r8d
imul r8d, eax, 0x1b3
movzx eax, byte [rcx]
movzx edx, al
test al, al
jne 0x180021905
mov rax, qword [r15]
mov edx, r12d
mov rcx, qword [rax + 0x10]
movzx eax, byte [rcx]
test al, al
je 0x180021947
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
test al, al
jne 0x180021931
mov qword [rsp + 0xb8], rbx
cmp edx, r8d
je 0x180021bd7
movabs rax, 0x7b07c4709c32ef47
lea rcx, [rbp - 0x19]
mov qword [rbp + 0x67], rax
mov edx, r12d
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x19], rax
movabs rax, 0xf778f3349e044e78
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x11], rax
mov qword [rbp + 0x67], r10
mov rax, qword [rbp + 0x67]
mov qword [rbp + 7], rax
mov qword [rbp + 0x67], r11
mov rax, qword [rbp + 0x67]
movdqa xmm0, xmmword [rbp - 0x19]
mov qword [rbp + 0xf], rax
xorps xmm0, xmmword [rbp + 7]
movq r8, xmm0
movdqa xmmword [rbp - 0x19], xmm0
test r8b, r8b
je 0x180021b63
nop
movsx eax, r8b
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
movzx r8d, al
test al, al
jne 0x1800219c0
test edx, edx
jne 0x180021b63
movabs rax, 0x6318c766b82af246
lea rcx, [rbp - 0x19]
mov qword [rbp + 0x67], rax
mov edx, r12d
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x19], rax
movabs rax, 0xf7789d5bee652b41
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x11], rax
mov qword [rbp + 0x67], r10
mov rax, qword [rbp + 0x67]
mov qword [rbp + 7], rax
mov qword [rbp + 0x67], r11
mov rax, qword [rbp + 0x67]
movdqa xmm0, xmmword [rbp - 0x19]
mov qword [rbp + 0xf], rax
xorps xmm0, xmmword [rbp + 7]
movq r8, xmm0
movdqa xmmword [rbp - 0x19], xmm0
test r8b, r8b
je 0x180021b63
nop word [rax + rax]
movsx eax, r8b
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
movzx r8d, al
test al, al
jne 0x180021a50
test edx, edx
jne 0x180021b63
movabs rcx, 0x55bfe55ac527ffb8
movabs rax, 0x7019d07abb28ef46
mov qword [rbp + 0x67], rax
mov edx, r12d
mov rax, qword [rbp + 0x67]
mov qword [rbp + 7], rax
movabs rax, 0x98089251c9732154
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp + 0xf], rax
movabs rax, 0x3f2e4eeb8c9b0e21
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x67], rcx
mov rax, qword [rbp + 0x67]
mov qword [rbp + 0x1f], rax
mov qword [rbp + 0x67], r10
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x19], rax
mov qword [rbp + 0x67], r11
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x11], rax
movabs rax, 0x3f2e4eeb8c9b0e4f
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 9], rax
mov qword [rbp + 0x67], rcx
lea rcx, [rbp + 7]
mov rax, qword [rbp + 0x67]
movdqa xmm1, xmmword [rbp + 7]
xorps xmm1, xmmword [rbp - 0x19]
movdqa xmm0, xmmword [rbp + 0x17]
movq r8, xmm1
mov qword [rbp - 1], rax
xorps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp + 7], xmm1
movdqa xmmword [rbp + 0x17], xmm0
test r8b, r8b
je 0x180021b63
nop dword [rax]
nop word [rax + rax]
movsx eax, r8b
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
movzx r8d, al
test al, al
jne 0x180021b40
test edx, edx
jne 0x180021b63
xor ebx, ebx
jmp 0x180021b68
mov ebx, 1
mov rax, qword [r15]
mov dword [rbp + 0x67], ebx
mov rcx, qword [rax + 0x10]
movzx eax, byte [rcx]
test al, al
je 0x180021b98
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, r12d
imul r12d, eax, 0x1b3
movzx eax, byte [rcx]
test al, al
jne 0x180021b80
test r9b, r9b
jne 0x180021bb5
mov rcx, r15
call fcn.180010c70
test al, al
jne 0x180021bd7
mov rcx, r15
call fcn.180010ea0
test al, al
jne 0x180021bd7
mov rcx, r15
call fcn.1800121a0
mov rcx, rax
call fcn.18000fe50
cmp dword [rax], 0
jg 0x180021bee
cmp r12d, ebx
jne 0x180021bd7
mov rcx, r15
call fcn.180011c20
xor al, al
mov rbx, qword [rsp + 0xb8]
add rsp, 0x90
pop r15
pop r12
pop rbp
ret
cmp r12d, ebx
jne 0x180021c19
movaps xmmword [rsp + 0x70], xmm6
call fcn.180019560
movaps xmm6, xmm0
mov rcx, r15
addss xmm6, dword [0x1800b7e60]
call fcn.180010480
movss dword [rax], xmm6
movaps xmm6, xmmword [rsp + 0x70]
mov rcx, r15
call fcn.1800121a0
mov rcx, rax
call fcn.18000fe50
mov rcx, r15
dec dword [rax]
call fcn.180011430
mov rcx, r15
call fcn.180011e50
mov rcx, r15
call fcn.180010020
mov rax, qword [0x1800d8328]
test rax, rax
jne 0x180021d58
mov rax, qword gs:[0x60]
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0x88], r13
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x80], r14
mov rax, qword [rcx + 0x10]
mov r13, qword [rax]
mov rsi, r13
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x180021d16
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x180021d16
mov r14d, dword [rdi + 0x20]
nop word [rax + rax]
dec r10d
mov r9d, 0x5fa48543
lea rax, [r14 + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x180021d11
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 0x180021ce0
cmp r9d, 0xb9b2262
je 0x180021d8a
test r10d, r10d
jne 0x180021cc0
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r13
je 0x180021d2c
cmp qword [rax + 0x30], 0
jne 0x180021c90
xor eax, eax
mov ebx, dword [rbp + 0x67]
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xc0]
mov qword [0x1800d8328], rax
lea rcx, [0x1800b7dd0]
call rax
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.18000d360
cmp r12d, ebx
je 0x180021d83
mov rcx, r15
call fcn.180011820
mov rcx, r15
call fcn.18000fc90
mov al, 1
jmp 0x180021bd9
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 0x180021d2e