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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rax - 0x4b8]
sub rsp, 0x5a0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov rax, qword [0x1401bc300]
xor rax, rsp
mov qword [rbp + 0x470], rax
mov dword [rbp + 0x358], 0x104
mov r12d, 1
mov dword [rbp + 0x35c], r12d
xor r14b, r14b
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 edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140021607
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140021607
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140021602
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400215e0
cmp r8d, 0xdf6a51c
je 0x14002160c
test r9d, r9d
jne 0x1400215c0
mov rax, qword [rax]
jmp 0x140021590
mov ecx, dword [rdi + 0x24]
movabs rax, 0x171fae69ec8d8299
mov qword [rsp + 0x30], rax
add rcx, r10
movabs rax, 0x2dc583b967ec8c3d
xorps xmm5, xmm5
mov qword [rsp + 0x38], rax
xorps xmm6, xmm6
movabs rax, 0x16d151b8c3c9444d
xorps xmm7, xmm7
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
mov qword [rsp + 0x40], rax
add rcx, r10
movabs rax, 0x239486a9cb7ebb6
mov qword [rsp + 0x48], rax
movabs rax, 0x5443e32cb8dedbca
mov qword [rbp - 0x70], rax
movabs rax, 0x4286f7d7029efe48
mov r11d, dword [rcx + rdx*4]
movabs rdx, 0x1fffffffe0000000
mov qword [rbp - 0x68], rax
movabs rcx, 0xe000000020000fda
movabs rax, 0x62b402d4acbb3023
mov qword [rsp + 0x58], rcx
mov qword [rbp - 0x60], rax
add r11, r10
movabs rax, 0x6e563a1ef2d8a8ea
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x58], rax
mov ecx, 6
lea rax, [rbp + 0x148]
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x50], rdx
xor r15d, r15d
nop word [rax + rax]
mov qword [rax - 8], r15
mov qword [rax], r15
lea rax, [rax + 0x10]
sub rcx, r12
jne 0x1400216e0
movdqa xmm0, xmmword [rsp + 0x30]
lea rax, [rsp + 0x30]
xorps xmm0, xmmword [rbp - 0x70]
lea rcx, [rbp + 0x140]
movdqa xmm1, xmmword [rsp + 0x40]
mov esi, 4
xorps xmm1, xmmword [rbp - 0x60]
mov edx, esi
movdqa xmmword [rbp + 0x140], xmm0
movdqa xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp + 0x160], xmm0
movdqa xmmword [rbp + 0x150], xmm1
movdqa xmmword [rbp + 0x170], xmm5
movdqa xmmword [rbp + 0x180], xmm6
movdqa xmmword [rbp + 0x190], xmm7
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, r12
jne 0x140021751
movups xmm0, xmmword [rcx]
mov r9d, r12d
lea rdx, [rsp + 0x30]
xor r8d, r8d
mov rcx, 0xffffffff80000002
movups xmmword [rax], xmm0
lea rax, [rbp + 0x350]
mov qword [rsp + 0x20], rax
call r11
test eax, eax
jne 0x140021bce
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 0x140021867
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140021867
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140021862
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140021840
cmp r8d, 0x9027eb7c
je 0x14002186c
test r9d, r9d
jne 0x140021820
mov rax, qword [rax]
jmp 0x1400217f0
mov ecx, dword [rdi + 0x24]
movabs rax, 0x1ff15eeea4227be1
mov qword [rsp + 0x30], rax
add rcx, r10
movabs rax, 0x1b071d07b9a5eeea
xorps xmm4, xmm4
mov qword [rsp + 0x38], rax
xorps xmm5, xmm5
movabs rax, 0x1fffffffe24f6876
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
mov qword [rsp + 0x40], rax
add rcx, r10
movabs rax, 0x6ba2338bd05102b2
mov qword [rsp + 0x70], rax
movabs rax, 0x746e6977f6d19c8b
mov qword [rsp + 0x78], rax
movabs rax, 0x1fffffffe24f1b18
mov r11d, dword [rcx + rdx*4]
movabs rcx, 0x1fffffffe997d557
mov qword [rbp - 0x80], rax
add r11, r10
mov qword [rsp + 0x48], rcx
lea rax, [rbp + 0x148]
mov qword [rbp - 0x78], rcx
nop dword [rax]
mov qword [rax - 8], r15
mov qword [rax], r15
lea rax, [rax + 0x10]
sub rsi, r12
jne 0x140021900
movdqa xmm0, xmmword [rsp + 0x30]
lea rax, [rsp + 0x30]
movdqa xmm1, xmmword [rsp + 0x40]
lea rcx, [rbp + 0x140]
xorps xmm0, xmmword [rsp + 0x70]
mov ebx, 2
xorps xmm1, xmmword [rbp - 0x80]
mov edx, ebx
movdqa xmmword [rbp + 0x140], xmm0
movdqa xmmword [rbp + 0x150], xmm1
movdqa xmmword [rbp + 0x160], xmm4
movdqa xmmword [rbp + 0x170], xmm5
nop dword [rax + rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, r12
jne 0x140021960
movups xmm0, xmmword [rcx]
lea r9, [rbp + 0x35c]
xor r8d, r8d
movups xmm1, xmmword [rcx + 0x10]
lea rdx, [rsp + 0x30]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx + 0x20]
mov rcx, qword [rbp + 0x350]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x20], xmm0
lea rax, [rbp + 0x358]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x360]
mov qword [rsp + 0x20], rax
call r11
test eax, eax
jne 0x140021b19
movabs rax, 0x15a68bcee7461200
xorps xmm2, xmm2
mov qword [rsp + 0x30], rax
movabs rax, 0x52513d9def3f7550
mov qword [rsp + 0x38], rax
movabs rax, 0x5be1c29db3155754
mov qword [rsp + 0x50], rax
movabs rax, 0x52513d9def783b19
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x148]
nop word [rax + rax]
mov qword [rax - 8], r15
mov qword [rax], r15
lea rax, [rax + 0x10]
sub rbx, r12
jne 0x140021a50
movdqa xmm0, xmmword [rsp + 0x30]
lea rax, [rbp + 0x140]
xorps xmm0, xmmword [rsp + 0x50]
lea rcx, [rsp + 0x30]
movdqa xmmword [rbp + 0x140], xmm0
lea rdx, [rsp + 0x30]
movdqa xmmword [rbp + 0x150], xmm2
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + 0x60], xmm0
movups xmm0, xmmword [rax + 0x80]
movups xmmword [rcx + 0x70], xmm1
movups xmm1, xmmword [rax + 0x90]
movups xmmword [rcx + 0x80], xmm0
movups xmm0, xmmword [rax + 0xa0]
movups xmmword [rcx + 0x90], xmm1
movups xmm1, xmmword [rax + 0xb0]
movups xmmword [rcx + 0xa0], xmm0
movups xmmword [rcx + 0xb0], xmm1
lea rcx, [rbp + 0x360]
call sub.VCRUNTIME140.dll_strstr
test rax, rax
movzx r14d, r14b
cmovne r14d, r12d
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 0x140021ba7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140021ba7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140021ba2
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x140021b80
cmp r8d, 0x1242154a
je 0x140021bac
test r9d, r9d
jne 0x140021b60
mov rax, qword [rax]
jmp 0x140021b30
mov edx, dword [rbx + 0x24]
mov rcx, qword [rbp + 0x350]
add rdx, r10
movzx r8d, word [rdx + r9*2]
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r8*4]
add r9, r10
call r9
movzx eax, r14b
mov rcx, qword [rbp + 0x470]
xor rcx, rsp
call fcn.1400f3250
lea r11, [rsp + 0x5a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop rbp
ret