Function at 0x140001a20
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x140012040]
xor rax, rsp
mov qword [rsp + 0x30], rax
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
mov rsi, rax
call qword [sym.imp.USER32.dll_ShowWindow]
mov edx, 0xffffffec
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov edx, 0xffffffec
mov rcx, rsi
bts rax, 0x13
mov r8, rax
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov r9d, 2
mov r8b, 0xe1
xor edx, edx
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xor edi, edi
mov dword [rsp + 0x2c], 0x13004f
lea r8, [rsp + 0x28]
mov dword [rsp + 0x28], edi
mov rcx, rax
mov dword [rsp + 0x20], 0x140050
mov rbx, rax
lea edx, [rdi + 1]
call qword [sym.imp.KERNEL32.dll_SetConsoleWindowInfo]
mov edx, dword [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
cmp byte [0x14000fc97], dil
mov eax, dword [str.a_W:S_U]
mov dword [rsp + 0x20], eax
je 0x140001bb0
cmp dword [0x140012090], 2
jl 0x140001b77
movdqa xmm3, xmmword [0x14000feb0]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14000ff00]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14000ff00]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x14000fed0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14000fee0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.7777777777777777]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x20], xmm2
jmp 0x140001bb0
lea r8, [rsp + 0x20]
nop dword [rax]
mov eax, 0x92492493
lea r8, [r8 + 1]
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x38
movzx eax, dil
inc edi
sub al, dl
add al, 0x37
xor byte [r8 - 1], al
cmp edi, 4
jl 0x140001b80
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, qword gs:[0x60]
mov rbp, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140001c57
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140001c57
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rax, [rbx + r9*4]
mov eax, dword [rax + r10]
add rax, r10
movzx edx, byte [rax]
inc rax
test dl, dl
je 0x140001c52
nop
movsx edx, dl
lea rax, [rax + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rax - 1]
test dl, dl
jne 0x140001c30
cmp r8d, 0xbc0e3315
je 0x140001c5c
test r9d, r9d
jne 0x140001c10
mov rcx, qword [rcx]
jmp 0x140001be0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov edx, 0xb
add rax, r10
mov rcx, rbp
call rax
mov edx, 5
mov rcx, rsi
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400050c0
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret