Function at 0x14000ff80
Capabilities:
Access peb ldr_data
Create thread
Encode data using xor
Execute command
Get kernel32 base address
Hash data using fnv
Hide graphical window
Log keystrokes via polling
Resolve function by fnv-1a hash
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x140095080]
xor rax, rsp
mov qword [rbp + 0xc8], rax
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r13d
xor r9d, r9d
lea r8, [0x14000ff40]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
call fcn.14000e2e0
call fcn.14000e810
call fcn.1400109b0
call fcn.14000e510
call fcn.14000f700
call fcn.14000f340
call fcn.140003cd0
call fcn.140004b40
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 0x140010096
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140010096
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, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140010091
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 0x140010070
cmp r8d, 0x491e0a9c
je 0x14001009b
test r9d, r9d
jne 0x140010050
mov rax, qword [rax]
jmp 0x140010020
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
lea rcx, [0x140088768]
call rdx
lea rcx, [0x140096050]
call fcn.140020220
cmp byte [0x140096268], r13b
jne 0x140010106
lea rdx, str._n_Status:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140012700
mov rcx, rax
lea rdx, [0x140096270]
call fcn.140012910
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
adc eax, 0x69813
int3
lea rcx, [0x140096050]
call fcn.14001d0d0
lea rcx, [0x140088820]
call fcn.1400025e0
lea rdx, [0x140088638]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140012700
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 0x1400101c6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400101c6
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, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400101c1
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 0x1400101a0
cmp r8d, 0x2fa62ca8
je 0x1400101cb
test r9d, r9d
jne 0x140010180
mov rax, qword [rax]
jmp 0x140010150
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x7d0
call rdx
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 0x140010276
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140010276
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, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140010271
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 0x140010250
cmp r8d, 0x491e0a9c
je 0x14001027b
test r9d, r9d
jne 0x140010230
mov rax, qword [rax]
jmp 0x140010200
mov edx, dword [rdi + 0x1c]
add rdx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rdx + rax*4]
add rdx, r10
lea rcx, [0x140088768]
call rdx
mov ecx, 0xfffffff5
mov r12d, 5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r12w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x80]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x140089110]
mov qword [rbp - 0x80], rax
lea rcx, [rbp + 0x30]
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 r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x80], rax
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x7c], edx
lea rax, [rbp - 0x70]
mov qword [rsp + 0x38], rax
lea rcx, [rbp - 0x70]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x70], rax
mov byte [rbp + 0xc], 0
mov byte [rbp + 1], 0
lea rcx, [rbp - 0x70]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x10], r13
mov rax, qword [0x140096350]
mov qword [rbp + 4], rax
mov qword [rbp - 8], r13
lea r8d, [r12 - 4]
lea rdx, str.key.txt
lea rcx, [rbp - 0x70]
call fcn.140012070
test rax, rax
jne 0x14001039f
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x80]
add rcx, rax
xor r8d, r8d
lea edx, [r12 - 3]
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 - 0x80]
movsxd rdx, dword [rax + 4]
test byte [rbp + rdx - 0x70], 6
je 0x14001064c
lea rcx, str._n_e_34_1m___e_0m
call fcn.1400025e0
lea rdx, str._Enter_Your_License_Key__Invisible__:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140012700
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rbx, rax
lea rdx, [rbp + 0xb0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
movzx edx, word [rbp + 0xb8]
mov eax, 0xf0
and dx, ax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov qword [rbp + 0x90], r13
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xa8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x90], 0
lea rdx, [rbp + 0x90]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.140013130
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], r13
lea r14, [rbp + 0x90]
mov rdi, qword [rbp + 0x90]
mov r15, qword [rbp + 0xa8]
cmp r15, 0x10
cmovae r14, rdi
mov rsi, qword [rbp + 0xa0]
cmp rsi, 0x10
jae 0x140010483
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x40], xmm0
mov ebx, reloc.WS2_32.dll_ntohs
jmp 0x1400104fd
mov rbx, rsi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400104da
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001092c
mov rcx, rax
call fcn.1400760f0
mov rcx, rax
test rax, rax
je 0x1400104d3
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400104e9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x1400104e6
call fcn.1400760f0
jmp 0x1400104e9
mov rax, r13
mov qword [rsp + 0x40], rax
lea r8, [rsi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rbx
lea rdx, [rsp + 0x40]
lea rcx, [0x140096050]
nop
nop
nop
nop
nop
cmp byte [0x140096268], 0
je 0x140010612
lea rcx, [rbp - 0x80]
call fcn.14000fd00
lea rcx, [0x140088820]
call fcn.1400025e0
lea rdx, str._Status:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140012700
mov rcx, rax
lea rdx, [0x140096270]
call fcn.140012910
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 0x1400105e6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400105e6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400105e1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400105c0
cmp r8d, 0x2fa62ca8
je 0x1400105eb
test r9d, r9d
jne 0x1400105a0
mov rax, qword [rax]
jmp 0x140010570
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]
add rax, r10
mov ecx, 0x5dc
call rax
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
cmp r15, 0x10
jb 0x14001064c
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140010644
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140010644
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.14007612c
lea rcx, [0x140096050]
nop
nop
nop
nop
nop
cmp byte [0x140096268], 0
je 0x140010752
lea rcx, [rbp - 0x80]
call fcn.14000fd00
lea rcx, [0x140088820]
call fcn.1400025e0
lea rdx, str._Status:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140012700
mov rcx, rax
lea rdx, [0x140096270]
call fcn.140012910
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 0x140010726
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140010726
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, 0x811c9dc5
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140010721
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x140010700
cmp r8d, 0x2fa62ca8
je 0x14001072b
test r9d, r9d
jne 0x1400106e0
mov rax, qword [rax]
jmp 0x1400106b0
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]
add rax, r10
mov ecx, 0x5dc
call rax
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov r8d, reloc.WS2_32.dll_ntohl
lea rdx, str.user_logged_in
lea rcx, [rsp + 0x60]
call fcn.1400122b0
lea rdx, [rsp + 0x60]
lea rcx, [0x140096050]
call fcn.1400228e0
mov edi, 4
lea esi, [rdi + 0x1b]
mov ebx, dword [reloc.WS2_32.dll_accept]
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
mov edx, r12d
call qword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [str.S_A3CR]
mov dword [rsp + 0x30], eax
cmp byte [0x1400889af], 0
je 0x140010888
mov r8d, r13d
cmp ebx, 2
jl 0x14001085b
movdqa xmm3, xmmword [0x1400892f0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140089360]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140089360]
shufps xmm2, xmm0, 0xdd
movd xmm0, edi
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x140089310]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140089320]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140089340]
movd xmm0, eax
pxor xmm2, xmm0
movd dword [rsp + 0x30], xmm2
jmp 0x140010888
lea r9, [rsp + 0x30]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, edi
jl 0x140010860
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, str._n_e_34_1m___e_0m
call fcn.1400025e0
lea rdx, str._Press_F1_in_lobby
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140012700
lea rcx, str._n_e_34_1m___e_0m
call fcn.1400025e0
lea rdx, str._Press_F2_for_Load_Driver
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140012700
mov ecx, reloc.WS2_32.dll_WSASetLastError
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
jne 0x1400108fe
mov ecx, WSAStartup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
jne 0x140010915
mov ecx, reloc.WS2_32.dll_WSASetLastError
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400108e0
mov edx, 0x1f4
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Beep]
call fcn.14000ceb0
jmp 0x1400107a0
mov edx, 0x1f4
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Beep]
call fcn.14000b060
jmp 0x1400107a0
call fcn.140002740
int3