Function at 0x14003b940
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x140050010]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r12, r8
mov r14, rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0xe8]
movabs rdx, 0xff00ff00ff00ff00
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rcx
mov rax, qword [rcx]
xor rax, rdx
mov qword [rsp + 0x60], rax
mov qword [rcx], 0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movabs rax, 0xf373dbce0ecf1aa6
mov qword [rsp + 0x80], rax
movabs r13, 0x665378897d42e51f
mov qword [rsp + 0x88], r13
movabs rax, 0xf373dbce0ecf1a86
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r13
movdqa xmm0, xmmword [rsp + 0x80]
xorps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
call fcn.14003dff0
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rcx, [rsp + 0x40]
call fcn.14003b7a0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14003ba22
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e6a0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14003ba6e
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ba69
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003ba69
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14003f1a4
movdqa xmm0, xmmword [0x140048be0]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
lea rdx, [0x140048944]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003dff0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov ebp, dword [rcx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x14003bb39
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x14003bb39
mov esi, dword [rbp + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003bb34
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003bb00
cmp r10d, 0xd7bec4ca
je 0x14003bb41
test r11d, r11d
jne 0x14003bae0
mov rax, qword [rax]
jmp 0x14003bab0
mov ecx, dword [rbp + 0x1c]
add rcx, rbx
mov eax, dword [rbp + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rbx
mov ecx, 0xfffffff5
call rdx
mov r15, rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rcx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov ebp, dword [rdx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x14003bc09
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x14003bc09
mov esi, dword [rbp + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rax, [rsi + r11*4]
mov r9d, dword [rax + rbx]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003bc04
movsx eax, r8b
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
cmova edx, eax
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003bbd0
cmp r10d, 0x2d5a63d5
je 0x14003bc11
test r11d, r11d
jne 0x14003bbb0
mov rcx, qword [rcx]
jmp 0x14003bb80
mov ecx, dword [rbp + 0x1c]
add rcx, rbx
mov eax, dword [rbp + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
mov edx, 0xc
mov rcx, r15
call r8
lea rdx, [0x140048930]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003dff0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov ebp, dword [rcx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x14003bce9
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x14003bce9
mov esi, dword [rbp + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003bce4
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003bcb0
cmp r10d, 0x2d5a63d5
je 0x14003bcf1
test r11d, r11d
jne 0x14003bc90
mov rax, qword [rax]
jmp 0x14003bc60
mov ecx, dword [rbp + 0x1c]
add rcx, rbx
mov eax, dword [rbp + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
mov edx, 0xf
mov rcx, r15
call r8
mov rdx, r14
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003dff0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov ebp, dword [rcx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x14003bdc9
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x14003bdc9
mov esi, dword [rbp + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003bdc4
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003bd90
cmp r10d, 0x2d5a63d5
je 0x14003bdd1
test r11d, r11d
jne 0x14003bd70
mov rax, qword [rax]
jmp 0x14003bd40
mov ecx, dword [rbp + 0x1c]
add rcx, rbx
mov eax, dword [rbp + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
mov edx, 0xc
mov rcx, r15
call r8
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movabs rax, 0xf373dbce0ecf1aa6
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], r13
movabs rax, 0xf373dbce0ecf3afb
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r13
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
call fcn.14003dff0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov ebp, dword [rcx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x14003bee8
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x14003bee8
mov esi, dword [rbp + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x811c9dc5
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x14003bee3
nop
movsx edx, cl
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx ecx, byte [r9]
lea r9, [r9 + 1]
test cl, cl
jne 0x14003beb0
cmp r10d, 0x2d5a63d5
je 0x14003bef0
test r11d, r11d
jne 0x14003be90
mov rax, qword [rax]
jmp 0x14003be60
mov ecx, dword [rbp + 0x1c]
add rcx, rbx
mov eax, dword [rbp + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
mov edx, 0xf
mov rcx, r15
call r8
mov rdx, r12
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003dff0
nop
mov rax, qword [rsp + 0x60]
movabs rcx, 0xff00ff00ff00ff00
xor rax, rcx
lea rcx, [rsp + 0xe8]
mov qword [rcx], rax
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14003ebf0
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret