Function at 0x413de0
Capabilities:
Enumerate process modules
Hide graphical window
Log keystrokes via polling
Set console window title

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x47c
mov eax, dword [0x41e008]
xor eax, esp
mov dword [esp + 0x478], eax
push ebx
push esi
push edi
push str.cs2_external_esp
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
push 0x20
call fcn.004150e0
mov dword [esp + 0x4c], eax
xorps xmm0, xmm0
add esp, 4
movq qword [eax], xmm0
lea ecx, [eax + 0xc]
mov dword [eax + 8], 0
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_class_pProcess_.0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov esi, dword [0x41e948]
mov dword [0x41e944], ecx
mov dword [0x41e948], eax
test esi, esi
je 0x413e7b
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x413e7b
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x413e7b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._cs2__Waiting_for_cs2.exe...
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
nop dword [eax + eax]
mov esi, dword [0x41e944]
push ecx
call fcn.004148d0
mov dword [esi], eax
test eax, eax
jne 0x413f1a
lea ecx, [esp + 0x10]
call fcn.00412f00
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp ecx, 0xc46535ff
jne 0x413ed2
cmp eax, 0x7fffffff
je 0x413eff
cmp eax, 0x7fffffff
jg 0x413eff
jl 0x413ee3
cmp ecx, 0xc46535ff
jae 0x413eff
add ecx, 0x3b9aca00
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x48]
adc eax, 0
mov dword [esp + 0x4c], eax
call fcn.004147e0
jmp 0x413ea0
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 0x7fffffff
call fcn.004147e0
jmp 0x413ea0
push eax
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
push 2
lea ecx, [esp + 0x4c]
mov dword [esi + 4], eax
push ecx
push 0x3fc
lea ecx, [esp + 0x8c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_K32EnumProcessModulesEx]
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x50]
push 0xc
push ecx
push eax
push dword [esi + 4]
mov dword [esi + 0xc], eax
call dword [sym.imp.KERNEL32.dll_K32GetModuleInformation]
mov eax, dword [esp + 0x54]
push dword [esi]
mov dword [esi + 0x10], eax
call fcn.00414b10
mov dword [esi + 8], eax
mov edx, str._cs2__Attached_to_cs2.exe
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._warn__If_the_esp_doesnt_work__consider_updating_offsets_manually_in_the_file_offsets.json
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._warn__You_can_find_the_latest_offsets_by_the_comunity_in:_https:__www.unknowncheats.me_forum_counter_strike_2_a_576077_counter_strike_2_reversal_structs_offsets.html
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._config__Reading_offsets_from_configuration.
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
call fcn.00402050
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._config__Sucessfully_read_offsets_file
test al, al
jne 0x413fff
mov edx, str._config__Error_reading_offsets_file__reseting_to_the_default_state
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push ecx
mov ecx, dword [0x41e944]
lea eax, [esp + 0x54]
push eax
call fcn.00414bc0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x41e92c], ecx
mov dword [0x41e930], eax
test ecx, ecx
jne 0x4140c1
lea ecx, [esp + 0x10]
call fcn.00412f00
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp ecx, 0xc46535ff
jne 0x41405a
cmp eax, 0x7fffffff
je 0x41407e
cmp eax, 0x7fffffff
jg 0x41407e
jl 0x41406b
cmp ecx, 0xc46535ff
jae 0x41407e
add ecx, 0x3b9aca00
mov dword [esp + 0x48], ecx
adc eax, 0
mov dword [esp + 0x4c], eax
jmp 0x41408e
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 0x7fffffff
lea ecx, [esp + 0x48]
call fcn.004147e0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._cs2__Failed_to_find_module_client.dll__waiting_for_the_game_to_load_it...
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
cmp dword [0x41e92c], 0
je 0x414011
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._overlay__Waiting_to_focus_game_to_create_the_overlay...
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov esi, dword [0x41e944]
mov ebx, dword [sym.imp.USER32.dll_GetForegroundWindow]
call ebx
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
cmp eax, dword [esi + 8]
je 0x41418a
nop dword [eax + eax]
lea ecx, [esp + 0x10]
call fcn.00412f00
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp ecx, 0xc46535ff
jne 0x414120
cmp eax, 0x7fffffff
je 0x414144
cmp eax, 0x7fffffff
jg 0x414144
jl 0x414131
cmp ecx, 0xc46535ff
jae 0x414144
add ecx, 0x3b9aca00
mov dword [esp + 0x48], ecx
adc eax, 0
mov dword [esp + 0x4c], eax
jmp 0x414154
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 0x7fffffff
lea ecx, [esp + 0x48]
call fcn.004147e0
mov esi, dword [0x41e944]
push dword [esi]
call fcn.00414b10
mov dword [esi + 8], eax
mov eax, dword [0x41e944]
push 1
push dword [eax + 8]
call edi
mov esi, dword [0x41e944]
call ebx
cmp eax, dword [esi + 8]
jne 0x414100
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._overlay__Creating_window_overlay...
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [0x41e944]
xorps xmm0, xmm0
push 0xfffffffffffffffa
movlpd qword [esp + 0x28], xmm0
movlpd qword [esp + 0x34], xmm0
mov dword [esp + 0x48], 0
mov dword [esp + 0x1c], 0x30
mov dword [esp + 0x24], 0x413bc0
mov dword [esp + 0x20], 3
mov dword [esp + 0x3c], 0
push dword [eax + 8]
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x40], 0x41a020
mov dword [esp + 0x44], 0x41a020
call dword [sym.imp.USER32.dll_RegisterClassExA]
mov eax, dword [0x41e944]
push 0x41e934
push dword [eax + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [0x41e934]
mov eax, dword [0x41e940]
push 0
push 0
push 0
push 0
add eax, ecx
push eax
mov eax, dword [0x41e93c]
sub eax, ecx
push eax
push dword [0x41e938]
push ecx
push 0x80000000
push str.cs2_external_esp
push 0x41a020
push 0x800a8
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x41427e
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x478]
xor ecx, esp
call fcn.004150d2
mov esp, ebp
pop ebp
ret
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
push 1
push ebx
call edi
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
lea eax, [esp + 0x64]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x414355
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
nop dword [eax]
push 0x23
call edi
test ax, ax
js 0x414351
lea eax, [esp + 0x64]
push eax
call ebx
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
lea ecx, [esp + 0x50]
call fcn.00412f00
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
cmp ecx, 0xfff0bdbf
jne 0x4142ff
cmp eax, 0x7fffffff
je 0x414323
cmp eax, 0x7fffffff
jg 0x414323
jl 0x414310
cmp ecx, 0xfff0bdbf
jae 0x414323
add ecx, 0xf4240
mov dword [esp + 0x10], ecx
adc eax, 0
mov dword [esp + 0x14], eax
jmp 0x414333
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x14], 0x7fffffff
lea ecx, [esp + 0x10]
call fcn.004147e0
push 0
push 0
push 0
lea eax, [esp + 0x70]
push eax
call esi
test eax, eax
jne 0x4142c0
mov ebx, dword [esp + 0x48]
mov esi, dword [sym.imp.KERNEL32.dll_Beep]
push 0x64
push 0x2bc
call esi
push 0x64
push 0x2bc
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._overlay__Destroying_overlay_window.
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push dword [0x41e94c]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [0x41e950]
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._cs2__Deataching_from_process
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [0x41e944]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._cs2__Press_any_key_to_close
call fcn.00414580
push 0x405cd0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::basic_istream_char__struct_std::char_traits_char__::get_void_]
mov ecx, dword [esp + 0x484]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004150d2
mov esp, ebp
pop ebp
ret