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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x50
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 edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180020dc7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180020dc7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x9de4c2d2
lea rcx, [rbx + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x180020dc2
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x180020da0
cmp r8d, 0x8d1f85ee
je 0x180020dcc
test r9d, r9d
jne 0x180020d80
mov rax, qword [rax]
jmp 0x180020d50
mov ecx, dword [rdi + 0x24]
lea rax, [0x180263c86]
xor al, 0x4a
add rcx, r10
mov byte [rbp - 0x30], al
movzx edx, word [rcx + r9*2]
movabs r9, 0xef1b7f1d8c386d4a
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov ebx, dword [rcx + rdx*4]
lea rcx, [0x180263c80]
mov rax, rcx
add rbx, r10
shr rax, 8
add al, 6
xor al, 0x4b
mov byte [rbp - 0x2f], al
mov rax, rcx
shr rax, 0x10
add al, 6
xor al, 0x4c
mov byte [rbp - 0x2e], al
mov rax, rcx
shr rax, 0x18
add al, 6
xor al, 0x4d
mov byte [rbp - 0x2d], al
mov rax, rcx
shr rax, 0x20
add al, 6
xor al, 0x4e
mov byte [rbp - 0x2c], al
mov rax, rcx
shr rax, 0x28
add al, 6
xor al, 0x4f
mov byte [rbp - 0x2b], al
mov rax, rcx
shr rax, 0x30
add al, 6
shr rcx, 0x38
xor al, 0x50
add cl, 6
mov byte [rbp - 0x2a], al
xor cl, 0x51
xor eax, eax
mov byte [rbp - 0x29], cl
mov qword [rbp - 0x28], rax
xor r10d, r10d
mov qword [rbp + 0x10], r10
mov rax, qword [rbp + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x10]
add rcx, r9
movzx edx, byte [rbp + rax - 0x30]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rbp + 0x10]
add r8, rcx
add r8, rdx
sub r8b, 6
mov byte [rbp + rax - 0x30], r8b
mov rax, qword [rbp + 0x10]
inc rax
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
cmp rax, 0x10
jb 0x180020e80
lea rcx, [0x180020d10]
xorps xmm0, xmm0
lea eax, [rcx - 0x75]
movabs r9, 0x52baf602e0d4955d
xor al, 0x5d
mov byte [rbp - 0x20], al
mov rax, rcx
shr rax, 8
sub al, 0x75
xor al, 0x5e
mov byte [rbp - 0x1f], al
mov rax, rcx
shr rax, 0x10
sub al, 0x75
xor al, 0x5f
mov byte [rbp - 0x1e], al
mov rax, rcx
shr rax, 0x18
sub al, 0x75
xor al, 0x60
mov byte [rbp - 0x1d], al
mov rax, rcx
shr rax, 0x20
sub al, 0x75
xor al, 0x61
mov byte [rbp - 0x1c], al
mov rax, rcx
shr rax, 0x28
sub al, 0x75
xor al, 0x62
mov byte [rbp - 0x1b], al
mov rax, rcx
shr rax, 0x30
shr rcx, 0x38
sub al, 0x75
xor al, 0x63
sub cl, 0x75
mov byte [rbp - 0x1a], al
xor cl, 0x64
xor eax, eax
mov byte [rbp - 0x19], cl
mov dword [rbp - 8], eax
mov word [rbp - 4], ax
mov byte [rbp - 2], al
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp + 0x10], r10
mov rax, qword [rbp + 0x10]
nop word [rax + rax]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x10]
add rcx, r9
movzx edx, byte [rbp + rax - 0x20]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rbp + 0x10]
add r8, rcx
add r8, rdx
add r8b, 0x75
mov byte [rbp + rax - 0x20], r8b
mov rax, qword [rbp + 0x10]
inc rax
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
cmp rax, 0x1f
jb 0x180020f60
mov r8, qword [rbp - 0x30]
mov rcx, rbx
mov rdx, qword [rbp - 0x20]
call fcn.1800bb760
mov rcx, rbx
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
jmp 0x1800bb9f0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
xor ebp, ebp
mov esi, edx
mov ebx, ebp
xor eax, eax
mov rdi, rcx
mov r14d, 1
lock cmpxchg dword [0x18025a240], r14d
je 0x1800bb3d9
cmp rbx, 0x20
jae 0x1800bb3c0
xor ecx, ecx
jmp 0x1800bb3c3
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x18025a240], r14d
jne 0x1800bb3b6
cmp qword [0x18025a248], rbp
je 0x1800bb46f
test rdi, rdi
jne 0x1800bb3f6
mov ecx, esi
call fcn.1800bb230
mov ebx, eax
jmp 0x1800bb474
mov ecx, dword [0x18026574c]
mov ebx, ebp
test ecx, ecx
je 0x1800bb41f
mov r8, qword [0x180265740]
mov rax, r8
nop dword [rax]
cmp rdi, qword [rax]
je 0x1800bb426
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x1800bb410
mov ebx, 4
jmp 0x1800bb474
cmp ebx, 0xffffffff
je 0x1800bb41f
mov eax, ebx
imul rdx, rax, 0x38
movzx eax, byte [rdx + r8 + 0x20]
shr eax, 1
and eax, r14d
cmp eax, esi
je 0x1800bb466
mov r8d, r14d
lea rcx, [rsp + 0x20]
mov edx, ebx
call fcn.1800bb5b0
mov edx, esi
mov ecx, ebx
call fcn.1800bb4a0
lea rcx, [rsp + 0x20]
mov ebx, eax
call fcn.1800bbc50
jmp 0x1800bb474
neg esi
sbb ebx, ebx
add ebx, 6
jmp 0x1800bb474
mov ebx, 2
xchg dword [0x18025a240], ebp
mov rbp, qword [rsp + 0x48]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
mov edx, 1
jmp 0x1800bb380