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

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rsi
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf0
mov rdx, qword [0x1800d82a8]
mov rsi, r9
mov r10, qword [0x1800d82b0]
mov r13, r8
mov r15, rcx
movabs r14, 0x7ffffffdfffe
cmp rcx, rdx
jbe 0x1800211f8
lea rax, [r10 + rdx]
cmp rcx, rax
jb 0x180021208
lea rax, [rcx - 0x10000]
cmp rax, r14
ja 0x180021837
cmp r13, rdx
jbe 0x180021216
lea rax, [r10 + rdx]
cmp r13, rax
jb 0x180021226
lea rax, [r8 - 0x10000]
cmp rax, r14
ja 0x180021837
mov rcx, qword [rbp + 0x67]
cmp rcx, rdx
jbe 0x180021238
lea rax, [r10 + rdx]
cmp rcx, rax
jb 0x180021248
lea rax, [rcx - 0x10000]
cmp rax, r14
ja 0x180021837
mov rcx, r15
movaps xmmword [rsp + 0xd0], xmm6
call fcn.180010480
movss xmm6, dword [rax]
call fcn.1800181d0
comiss xmm6, xmm0
jae 0x18002182f
mov rcx, r15
call fcn.1800110d0
test al, al
je 0x18002182f
mov rcx, r15
call fcn.180010c70
test al, al
jne 0x18002182f
movabs rcx, 0xf778f3349e044e16
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0xe8], rdi
lea rdx, [rsp + 0x40]
mov qword [rsp + 0xe0], r12
movabs r12, 0x1477a515cb458005
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x40], rax
mov qword [rbp + 0x47], rcx
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x48], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x47], rcx
mov rax, qword [rbp + 0x47]
movdqa xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x38], rax
movabs rax, 0x23429723ad21b520
xorps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x59], rax
movabs rax, 0x921dc456fc612c23
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x51], rax
movabs rax, 0x5b1c77dcbaa33c77
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x49], rax
movabs rax, 0x3186d262a1179c88
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x41], rax
movabs rax, 0xe3a2d1084e29c871
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x39], rax
movabs rax, 0x370d8c08fe220c7e
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x31], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x50], rax
mov qword [rbp + 0x47], rcx
lea rcx, [rbp - 0x59]
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x58], rax
movabs rax, 0x3f2e4eeb8c9b0e4f
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x79], rax
movabs rax, 0x55bfe55ac527ffb8
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x71], rax
movabs rax, 0xdac7e3692d4afd49
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x69], rax
movabs rax, 0x370d8c08fe220c1a
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
movdqa xmm0, xmmword [rbp - 0x59]
xorps xmm0, xmmword [rsp + 0x50]
movdqa xmm1, xmmword [rbp - 0x49]
xorps xmm1, xmmword [rbp - 0x79]
movdqa xmmword [rbp - 0x59], xmm0
movdqa xmm0, xmmword [rbp - 0x39]
mov qword [rbp - 0x61], rax
xorps xmm0, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x39], xmm0
movdqa xmmword [rbp - 0x49], xmm1
call fcn.18000b080
mov rdx, qword [0x1800da3d8]
test rdx, rdx
mov qword [rbp + 0x47], rax
jne 0x180021525
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov r12, qword [rcx]
mov r14, r12
nop word [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 0x1800214ea
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x1800214ea
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
mov r9d, 0x2b81fa76
lea rax, [rdi + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x1800214e5
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 0x1800214b0
cmp r9d, 0xdace3fb7
je 0x180021847
test r10d, r10d
jne 0x180021490
mov rax, qword [r14]
mov r14, rax
cmp rax, r12
je 0x180021500
cmp qword [rax + 0x30], 0
jne 0x180021460
xor edx, edx
mov rsi, qword [rbp + 0x5f]
movabs r14, 0x7ffffffdfffe
mov rax, qword [rbp + 0x47]
movabs r12, 0x1477a515cb458005
mov qword [0x1800da3d8], rdx
mov rcx, rax
call rdx
mov rcx, qword [0x1800d82c0]
mov edx, 0x2f
mov rbx, rax
call fcn.180021f60
lea rdx, [rsp + 0x40]
mov rcx, rax
mov rdi, rax
call fcn.180018710
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x29]
mov ecx, dword [rax + 8]
movsd xmm0, qword [rax]
mov dword [rsp + 0x38], ecx
mov rcx, rdi
movsd qword [rsp + 0x30], xmm0
call fcn.180018940
mov eax, dword [rsi + 8]
xorps xmm0, xmm0
movsd xmm2, qword [rsi]
xorps xmm6, xmm6
unpcklps xmm0, xmm6
movsd qword [rbp - 0x7d], xmm0
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x58], eax
movups xmm0, xmmword [rsp + 0x50]
mov dword [rbx + 0x50], 0x447a0000
movss dword [rbp - 0x75], xmm6
movsd xmm0, xmm2
mov byte [rbx + 0x14], 1
movups xmmword [rbx + 0xb0], xmm0
mov qword [rbx + 0x28], rdi
movups xmmword [rsp + 0x50], xmm0
mov qword [rbx + 0xd0], r13
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + 0xc0], xmm0
mov rcx, qword [0x1800d82a8]
movss dword [rsp + 0x38], xmm6
cmp rdi, rcx
jbe 0x1800215ea
add rcx, qword [0x1800d82b0]
cmp rdi, rcx
jb 0x1800215fa
lea rax, [rdi - 0x10000]
cmp rax, r14
ja 0x180021817
mov rcx, qword [0x1800d82c0]
mov edx, 0x2f
call fcn.180021f60
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180018710
lea r8, [rsp + 0x30]
mov rcx, rdi
lea rdx, [rbp - 0x19]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
call fcn.180018940
movsd xmm0, qword [rbp - 0x29]
movsd qword [rbx + 0x58], xmm0
xorps xmm0, xmm0
mov eax, dword [rbp - 0x21]
unpcklps xmm0, xmm6
movsd qword [rbx + 0x94], xmm0
movss dword [rbx + 0x9c], xmm6
mov dword [rbx + 0x60], eax
mov rax, qword [0x1800b5fc0]
movss dword [rsp + 0x38], xmm6
movsd qword [rsp + 0x30], xmm0
cmp rax, 0x402402
jne 0x1800217f0
mov qword [rbp + 0x47], r12
movabs rcx, 0xf778f3349e044e16
mov rax, qword [rbp + 0x47]
movabs rdx, 0x3f2e4eeb8c9b0e4f
mov qword [rsp + 0x40], rax
movabs r8, 0x55bfe55ac527ffb8
mov qword [rbp + 0x47], rcx
mov r9b, 1
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x48], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x47], rcx
mov rax, qword [rbp + 0x47]
movdqa xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x38], rax
movabs rax, 0x6627c072aa28e161
xorps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x59], rax
movabs rax, 0x841d9a40ec613e79
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x51], rax
mov qword [rbp + 0x47], rdx
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x49], rax
mov qword [rbp + 0x47], r8
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x41], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x50], rax
mov qword [rbp + 0x47], rcx
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x58], rax
mov qword [rbp + 0x47], rdx
lea rdx, [rbp - 0x59]
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x79], rax
mov qword [rbp + 0x47], r8
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x47]
movdqa xmm0, xmmword [rbp - 0x59]
xorps xmm0, xmmword [rsp + 0x50]
movdqa xmm1, xmmword [rbp - 0x49]
mov qword [rbp - 0x71], rax
movabs rax, 0x711bc058ae36e147
xorps xmm1, xmmword [rbp - 0x79]
movdqa xmmword [rbp - 0x59], xmm0
movdqa xmmword [rbp - 0x49], xmm1
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x30], rax
movabs rax, 0xf778f3349e044e73
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x38], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x50], rax
mov qword [rbp + 0x47], rcx
lea rcx, [rsp + 0x30]
mov rax, qword [rbp + 0x47]
movdqa xmm0, xmmword [rsp + 0x30]
mov qword [rsp + 0x58], rax
xorps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x20], 0
call fcn.18000c810
mov qword [0x1800b5fc0], rax
mov rax, qword [rax + r15]
mov rcx, r15
mov qword [rbx + 0x30], rax
call fcn.180010ac0
mov rcx, r15
movss xmm1, dword [rax]
call fcn.1800119e0
mov rdx, rbx
mov rcx, r15
call fcn.1800115e0
mov r12, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x128]
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop rsi
pop rbp
ret
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rsi + 0x1c]
add rcx, r11
mov edx, dword [rcx + rdx*4]
add rdx, r11
jmp 0x180021502