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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x14003d010]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r15, rcx
xor esi, esi
mov rax, qword [rcx + 0x50]
mov r13, qword [rax + 0x48]
mov r12, qword [rax + 0x50]
mov qword [r11 - 0x58], rsi
mov r14d, esi
mov dword [rsp + 0x78], esi
nop dword [rax]
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 0x14001da56
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001da56
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x28e1d100
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001da51
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14001da30
cmp r8d, 0x7cfafd51
je 0x14001da5b
test r9d, r9d
jne 0x14001da10
mov rax, qword [rax]
jmp 0x14001d9e0
mov edx, dword [rdi + 0x1c]
add rdx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r9d, dword [rdx + rax*4]
add r9, r10
xor edx, edx
mov r8d, 0x8000
mov rcx, r14
call r9
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov edi, dword [rcx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x14001db16
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001db16
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r11 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r11
mov r8d, 0x2dca541c
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001db11
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14001daf0
cmp r8d, 0x7d41f2e4
je 0x14001db1b
test r9d, r9d
jne 0x14001dad0
mov rax, qword [rax]
jmp 0x14001daa0
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
mov edx, dword [rsp + 0x78]
xor ecx, ecx
lea r9d, [rcx + 4]
mov r8d, 0x3000
call r10
mov r14, rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov edi, dword [rcx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x14001dbd6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001dbd6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r11 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r11
mov r8d, 0xb0a370ae
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001dbd1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14001dbb0
cmp r8d, 0xd04697d9
je 0x14001dbdb
test r9d, r9d
jne 0x14001db90
mov rax, qword [rax]
jmp 0x14001db60
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
lea r9, [rsp + 0x78]
mov r8d, dword [rsp + 0x78]
mov rdx, r14
mov ecx, 0x40
call r10
cmp eax, 0xc0000004
je 0x14001d9c0
mov rbp, rsi
cmp qword [r14], rsi
jbe 0x14001dd38
lea rsi, [r14 + 0x10]
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [rsi + 0x10]
movups xmmword [rsp + 0x30], xmm0
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 0x14001dcd6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001dcd6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
mov r8d, 0x17d11c63
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x14001dcd1
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x14001dcb0
cmp r8d, 0x621d03c2
je 0x14001dcdb
test r9d, r9d
jne 0x14001dc90
mov rax, qword [rax]
jmp 0x14001dc60
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov ecx, dword [rcx + rax*4]
add rcx, r10
call rcx
mov ecx, eax
movups xmm1, xmmword [rsp + 0x90]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, rcx
jne 0x14001dd1c
mov rax, qword [rsp + 0x30]
cmp rax, qword [r15 + 0x48]
je 0x14001dd2d
inc rbp
add rsi, 0x28
cmp rbp, qword [r14]
jae 0x14001dd36
jmp 0x14001dc30
movq qword [rsp + 0x80], xmm1
xor esi, esi
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001ddc6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001ddc6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x9f4de41
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001ddc1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14001dda0
cmp r8d, 0x53b20cce
je 0x14001ddcb
test r9d, r9d
jne 0x14001dd80
mov rax, qword [rax]
jmp 0x14001dd50
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
xor edx, edx
mov r8d, 0x8000
mov rcx, r14
call r9
xor bl, bl
mov r9, qword [rsp + 0x80]
test r9, r9
je 0x14001df5d
add r9, 8
mov qword [rsp + 0x28], 8
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0x48]
mov rcx, qword [r15 + 0x50]
call r12
inc bl
cmp bl, 2
jb 0x14001ddf3
mov qword [rsp + 0x88], rsi
mov r9, qword [rsp + 0x80]
add r9, 0x28
mov qword [rsp + 0x28], 8
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0x48]
mov rcx, qword [r15 + 0x50]
call r12
mov r9, qword [rsp + 0x88]
test r9, r9
je 0x14001df5d
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
add r9, 0x58
mov qword [rsp + 0x28], 0x10
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0x48]
mov rcx, qword [r15 + 0x50]
call r12
cmp qword [rsp + 0x70], 0
je 0x14001df5d
movzx ecx, word [rsp + 0x68]
shr rcx, 1
inc rcx
mov eax, 2
mul rcx
mov rbx, rax
mov rax, 0xffffffffffffffff
cmovo rbx, rax
mov rcx, rbx
call fcn.140001390
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1400326e4
mov qword [rsp + 0x90], rdi
movzx r9d, word [rsp + 0x68]
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], rdi
mov r9, qword [rsp + 0x70]
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0x48]
mov rcx, qword [r15 + 0x50]
call r12
mov word [rsp + 0x68], si
mov r9, qword [rsp + 0x88]
add r9, 0x58
mov qword [rsp + 0x28], 0x10
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0x48]
mov rcx, qword [r15 + 0x50]
call r13
nop
mov rcx, rdi
call fcn.140031ba4
mov al, 1
jmp 0x14001df5f
xor al, al
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1400318f0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret