Function at 0x1400020d0
Capabilities:
Allocate or change rwx memory
Log keystrokes via polling
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x210]
sub rsp, 0x310
mov rax, qword [0x140009040]
xor rax, rsp
mov qword [rbp + 0x200], rax
xor r15d, r15d
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rsi, rax
lea rdx, [rbp + 0x1b8]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowRect]
mov edi, dword [rbp + 0x1c0]
sub edi, dword [rbp + 0x1b8]
mov ebx, dword [rbp + 0x1c4]
sub ebx, dword [rbp + 0x1bc]
xor r9d, r9d
lea r8, [rbp + 0x198]
xor edx, edx
lea ecx, [rdx + 0x30]
call qword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [rbp + 0x1a0]
sub eax, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x140006b38]
cvttsd2si edx, xmm0
mov eax, dword [rbp + 0x1a4]
sub eax, ebx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x140006b40]
cvttsd2si r8d, xmm0
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], ebx
mov r9d, edi
mov rcx, rsi
call qword [sym.imp.USER32.dll_MoveWindow]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rbx, rax
test rax, rax
jne 0x1400021e7
lea rdx, str.Error:_Unable_to_get_console_window_handle.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140003340
lea rdx, [0x140003510]
mov rcx, rax
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_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x140002254
mov edx, 0xffffffec
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowLongA]
btr eax, 0x13
mov r8d, eax
mov edx, 0xffffffec
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetWindowLongA]
test eax, eax
jne 0x140002231
lea rdx, str.Error:_Unable_to_set_new_window_styles.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140003340
lea rdx, [0x140003510]
mov rcx, rax
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_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov dword [rsp + 0x30], 0x37
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400022a7
mov dword [rbp + 0x190], 0x25003c
mov edx, dword [rbp + 0x190]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
mov dword [rbp + 0x188], r15d
mov dword [rbp + 0x18c], 0x24003b
lea r8, [rbp + 0x188]
mov edx, 1
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetConsoleWindowInfo]
lea rcx, [rbp + 0x1e0]
call fcn.140001250
nop
lea rcx, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 0xf
cmova rcx, qword [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea rdx, str.Vigor
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
mov r14, rax
mov r12d, 4
test rax, rax
je 0x1400022f8
call fcn.140001540
jmp 0x140002bec
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x198], xmm0
mov qword [rbp + 0x1a8], rax
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], 0xf
lea ecx, [rax + 0x40]
call fcn.140004410
mov rcx, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], 0x33
mov qword [rsp + 0x78], 0x3f
movups xmm0, xmmword [str.]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006630]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006640]
movups xmmword [rax + 0x20], xmm0
movzx eax, word [0x140006650]
mov word [rcx + 0x30], ax
movzx eax, byte [0x140006652]
mov byte [rcx + 0x32], al
mov byte [rcx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], 0x33
mov qword [rbp - 0x68], 0x3f
movups xmm0, xmmword [str._______:_____________________________________:]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006668]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006678]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x140006688]
mov word [rax + 0x30], cx
movzx eax, byte [0x14000668a]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x50], 0x33
mov qword [rbp - 0x48], 0x3f
movups xmm0, xmmword [str.______t____________________________________t_]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400066a0]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x1400066b0]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x1400066c0]
mov word [rax + 0x30], cx
movzx eax, byte [0x1400066c2]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x33
mov qword [rbp - 0x28], 0x3f
movups xmm0, xmmword [str.______W._________________fi_______fi____W.]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400066d8]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x1400066e8]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x1400066f8]
mov word [rax + 0x30], cx
movzx eax, byte [0x1400066fa]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x10], 0x33
mov qword [rbp - 8], 0x3f
movups xmm0, xmmword [str.____:L:WE__GEEEEEEEL____.Et______.Et___:L:WE]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006710]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006720]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x140006730]
mov word [rax + 0x30], cx
movzx eax, byte [0x140006732]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp], rax
mov qword [rbp + 0x10], 0x33
mov qword [rbp + 0x18], 0x3f
movups xmm0, xmmword [str.___.KG___D____LK__.___iW_______iW____.KG___D]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006748]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006758]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x140006768]
mov word [rax + 0x30], cx
movzx eax, byte [0x14000676a]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x30], 0x33
mov qword [rbp + 0x38], 0x3f
movups xmm0, xmmword [str.___EE_____f___tE_____LD.______LD.____EE_____f]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006780]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006790]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x1400067a0]
mov word [rax + 0x30], cx
movzx eax, byte [0x1400067a2]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x50], 0x33
mov qword [rbp + 0x58], 0x3f
movups xmm0, xmmword [str.__f._____ti__tE___:KWfff___:KWfff__f._____ti]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400067b8]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x1400067c8]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x1400067d8]
mov word [rax + 0x30], cx
movzx eax, byte [0x1400067da]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x78], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x70], 0x33
mov qword [rbp + 0x78], 0x3f
movups xmm0, xmmword [str.__:G___G.GK___tE___iWLLLLt_iWLLLLt:G___G.GK]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400067f0]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006800]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x140006810]
mov word [rax + 0x30], cx
movzx eax, byte [0x140006812]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x90], 0x33
mov qword [rbp + 0x98], 0x3f
movups xmm0, xmmword [str.____L__DWW.___tE____.EL______.EL______L__DWW.]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006828]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006838]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x140006848]
mov word [rax + 0x30], cx
movzx eax, byte [0x14000684a]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r15
mov qword [rbp + 0xb8], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xb0], 0x33
mov qword [rbp + 0xb8], 0x3f
movups xmm0, xmmword [str.____tf_jL____tE______fE:______fE:____tf_jL]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006860]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006870]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x140006880]
mov word [rax + 0x30], cx
movzx eax, byte [0x140006882]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xd8], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xd0], 0x33
mov qword [rbp + 0xd8], 0x3f
movups xmm0, xmmword [str._____fDj.___tE________WW________WW_____fDj.]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006898]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x1400068a8]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x1400068b8]
mov word [rax + 0x30], cx
movzx eax, byte [0x1400068ba]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], r15
mov qword [rbp + 0xf8], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xf0], 0x33
mov qword [rbp + 0xf8], 0x3f
movups xmm0, xmmword [str.______Gt_.____tE________.D_______.D_____Gt_.]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400068d0]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x1400068e0]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x1400068f0]
mov word [rax + 0x30], cx
movzx eax, byte [0x1400068f2]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r15
mov qword [rbp + 0x118], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x110], 0x33
mov qword [rbp + 0x118], 0x3f
movups xmm0, xmmword [str._______t________fE__________tt________tt_____t]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006908]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006918]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x140006928]
mov word [rax + 0x30], cx
movzx eax, byte [0x14000692a]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x130], 0x33
mov qword [rbp + 0x138], 0x3f
movups xmm0, xmmword [str._________________:]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006940]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006950]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x140006960]
mov word [rax + 0x30], cx
movzx eax, byte [0x140006962]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], r15
mov qword [rbp + 0x158], 0xf
mov ecx, 0x40
call fcn.140004410
mov rdx, rax
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x150], 0x33
mov qword [rbp + 0x158], 0x3f
movups xmm0, xmmword [str.]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006630]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006640]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x140006650]
mov word [rax + 0x30], cx
movzx eax, byte [0x140006652]
mov byte [rdx + 0x32], al
mov byte [rdx + 0x33], 0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x198], xmm0
mov qword [rbp + 0x1a8], r15
mov ecx, 0x200
call fcn.140004410
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x1a0], rax
lea rcx, [rax + 0x200]
mov qword [rbp + 0x1a8], rcx
lea rcx, [rbp + 0x198]
mov qword [rbp + 0x1b8], rcx
lea r9, [rbp + 0x198]
mov r8, rax
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x60]
call fcn.140003a10
mov qword [rbp + 0x1a0], rax
lea r9, [fcn.1400032c0]
mov edx, 0x20
lea r8d, [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.14000444c
mov rdi, qword [rbp + 0x1a0]
mov rbx, qword [rbp + 0x198]
cmp rbx, rdi
je 0x140002b3e
nop
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140002afd
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003850
lea rdx, [0x140003510]
mov rcx, rax
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_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r12w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
add rbx, 0x20
cmp rbx, rdi
jne 0x140002af0
mov ebx, 6
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, bx
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, [0x140003510]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, str.____________________Game_not_found__
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003340
lea rdx, [0x140003510]
mov rcx, rax
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_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rbp + 0x198]
test rcx, rcx
je 0x140002bec
mov rdx, qword [rbp + 0x1a0]
call fcn.140003550
mov rdx, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x198]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002be7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002be7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140004764
mov dword [rbp + 0x180], r15d
lea rdx, [rbp + 0x180]
mov rcx, r14
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rbp + 0x180]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdi, rax
xorps xmm0, xmm0
mov qword [rbp + 0x160], 0x30
mov qword [rbp + 0x168], 0x250
mov qword [rbp + 0x170], 0x5d8
mov qword [rbp + 0x178], 0x144
movdqu xmmword [rbp + 0x1c8], xmm0
mov qword [rbp + 0x1d8], r15
mov ecx, 0x20
call fcn.140004410
mov qword [rbp + 0x1c8], rax
mov qword [rbp + 0x1d0], rax
lea rbx, [rax + 0x20]
mov qword [rbp + 0x1d8], rbx
mov r8d, 0x20
lea rdx, [rbp + 0x160]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x1d0], rbx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
mov rdx, qword [rbp + 0x1c8]
sub rbx, rdx
sar rbx, 3
test rbx, rbx
je 0x140002d64
movabs rax, 0x1fffffffffffffff
cmp rbx, rax
ja 0x1400031db
lea rbx, [rbx*8]
cmp rbx, 0x1000
jb 0x140002d13
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x1400031d5
call fcn.140004410
test rax, rax
je 0x140002d0c
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
mov rdx, qword [rbp + 0x1c8]
jmp 0x140002d2f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rbx, rbx
je 0x140002d2c
mov rcx, rbx
call fcn.140004410
mov rsi, rax
mov rdx, qword [rbp + 0x1c8]
jmp 0x140002d2f
mov rsi, r15
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
lea rax, [rsi + rbx]
mov qword [rsp + 0x58], rax
mov rbx, qword [rbp + 0x1d0]
sub rbx, rdx
mov r8, rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 3
lea rax, [rsi + rbx*8]
mov qword [rsp + 0x50], rax
lea r9, [rsp + 0x48]
mov rdx, qword [0x140009778]
mov rcx, r14
call fcn.1400013c0
mov rsi, rax
mov r14d, 4
mov ecx, 0x70
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140002dae
cmp byte [0x140009762], 0
sete byte [0x140009762]
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140001540
cmp byte [0x140009762], 0
je 0x140002ddc
mov dword [rbp + 0x1b4], 0x3f800000
mov qword [rsp + 0x20], r15
mov r9, r12
lea r8, [rbp + 0x1b4]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140003023
cmp byte [0x140009760], 0
sete byte [0x140009760]
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140001540
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [r14 + rcx]
cmp byte [0x140009760], 0
je 0x140002f21
cmp dword [0x140009780], eax
jle 0x140002ec7
lea rcx, [0x140009780]
call fcn.140004398
cmp dword [0x140009780], 0xffffffff
jne 0x140002ec7
mov dword [rsp + 0x40], 0xd8a8894d
mov word [rsp + 0x44], 0xc
mov byte [rsp + 0x46], 0
xorps xmm0, xmm0
movdqu xmmword [0x140009788], xmm0
mov qword [0x140009798], r15
mov ecx, 7
call fcn.140004410
mov qword [0x140009788], rax
mov qword [0x140009790], rax
lea rbx, [rax + 7]
mov qword [0x140009798], rbx
mov r8d, 7
lea rdx, [rsp + 0x40]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [0x140009790], rbx
lea rcx, [0x140005770]
call fcn.140004744
nop
lea rcx, [0x140009780]
call fcn.14000432c
mov rdx, qword [0x140009778]
add rdx, 0x1373305
mov r9, qword [0x140009790]
mov r8, qword [0x140009788]
sub r9, r8
lea rax, [rbp + 0x198]
mov qword [rsp + 0x20], rax
mov rcx, qword [0x140009770]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14000301d
mov rax, qword [0x140009790]
sub rax, qword [0x140009788]
cmp qword [rbp + 0x198], rax
jmp 0x14000301b
cmp dword [0x1400097a0], eax
jle 0x140002fca
lea rcx, [0x1400097a0]
call fcn.140004398
cmp dword [0x1400097a0], 0xffffffff
jne 0x140002fca
mov dword [rbp + 0x188], 0xd8908945
mov word [rbp + 0x18c], 0xc
mov byte [rbp + 0x18e], 0
xorps xmm0, xmm0
movdqu xmmword [0x1400097a8], xmm0
mov qword [0x1400097b8], r15
mov ecx, 7
call fcn.140004410
mov qword [0x1400097a8], rax
mov qword [0x1400097b0], rax
lea rbx, [rax + 7]
mov qword [0x1400097b8], rbx
mov r8d, 7
lea rdx, [rbp + 0x188]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [0x1400097b0], rbx
lea rcx, [0x140005700]
call fcn.140004744
nop
lea rcx, [0x1400097a0]
call fcn.14000432c
mov rdx, qword [0x140009778]
add rdx, 0x1373305
mov r9, qword [0x1400097b0]
mov r8, qword [0x1400097a8]
sub r9, r8
lea rax, [rbp + 0x1b8]
mov qword [rsp + 0x20], rax
mov rcx, qword [0x140009770]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14000301d
mov rax, qword [0x1400097b0]
sub rax, qword [0x1400097a8]
cmp qword [rbp + 0x1b8], rax
je 0x140003023
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x72
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400030ed
cmp byte [0x140009761], 0
sete byte [0x140009761]
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140001540
cmp byte [0x140009761], 0
je 0x14000307a
mov rcx, qword [0x140009778]
add rcx, 0x13812f7
mov r8, rdi
mov edx, 5
call fcn.140003bd0
jmp 0x1400030ed
mov rbx, qword [0x140009778]
add rbx, 0x13812f7
lea rax, [rbp + 0x190]
mov qword [rsp + 0x20], rax
mov r9d, 0x40
lea r8d, [r9 - 0x3b]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov qword [rsp + 0x20], r15
mov r9d, 5
lea r8, [0x140006af8]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea rax, [rbp + 0x190]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x190]
mov r8d, 5
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov ecx, 0x73
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400031c5
cmp byte [0x140009763], 0
sete byte [0x140009763]
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140001540
cmp byte [0x140009763], 0
je 0x140003152
mov rcx, qword [0x140009778]
add rcx, 0x137bca5
mov r8, rdi
mov edx, 7
call fcn.140003bd0
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140002d81
mov rbx, qword [0x140009778]
add rbx, 0x137bca5
lea rax, [rbp + 0x1b0]
mov qword [rsp + 0x20], rax
mov r9d, 0x40
lea r8d, [r9 - 0x39]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov qword [rsp + 0x20], r15
mov r9d, 7
lea r8, [0x140006b00]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea rax, [rbp + 0x1b0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x1b0]
mov r8d, 7
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140002d81
call fcn.140001190
int3
call fcn.140003830
int3