Function at 0x4029a0
Capabilities:
Create thread
Execute command
Log keystrokes via polling
Set console window title

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, dword [0x40a008]
xor eax, esp
mov dword [esp + 0x48], eax
push ebx
push esi
push edi
push 0x100
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.DLL_SetPriorityClass]
push str.r_e_a_l_i_t_y_c_h_e_a_t_s_._c_o_mwn_exception
call dword [sym.imp.KERNEL32.DLL_SetConsoleTitleW]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [esp + 0x28]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
call dword [sym.imp.KERNEL32.DLL_GetConsoleWindow]
push 1
push 0x1ae
push 0x163
push 0
mov esi, eax
push 0
push esi
call dword [sym.imp.USER32.dll_MoveWindow]
push 5
push 0
push 0
push 0xa
push 0xa
push 0xffffffffffffffff
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push esi
call ebx
and eax, 0xfff0ffff
push eax
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.DLL_GetStdHandle]
mov edi, eax
lea eax, [esp + 0x3c]
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_GetConsoleScreenBufferInfo]
mov ecx, dword [esp + 0x4a]
sub ecx, dword [esp + 0x46]
inc ecx
mov word [esp + 0x10], cx
mov ecx, dword [esp + 0x4c]
sub ecx, dword [esp + 0x48]
inc ecx
mov word [esp + 0x12], cx
test edi, edi
je 0x40386b
push dword [esp + 0x10]
push edi
call dword [sym.imp.KERNEL32.DLL_SetConsoleScreenBufferSize]
push 0xffffffffffffffec
push esi
call ebx
or eax, 0x80000
push eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
call fcn.00401960
call fcn.00401960
push 0
push 0x4072f0
cmp eax, 0xcd910aed
nop
nop
nop
nop
nop
nop
push 0x407314
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov esi, dword [sym.imp.KERNEL32.DLL_Sleep]
push 0x190
call esi
push 0x407330
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
push 0
push 0
push 0
push 0x403890
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
push str.SobFoX
call dword [sym.imp.KERNEL32.DLL_SetConsoleTitleW]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.DLL_GetStdHandle]
push 0xa
push eax
call dword [sym.imp.KERNEL32.DLL_SetConsoleTextAttribute]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Eenter_Your_Sensitiviy:
call fcn.00404230
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0x40a508
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::operator___float__]
call fcn.00403b30
mov ebx, dword [sym.imp.KERNEL32.DLL_Beep]
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x70
call edi
test ax, ax
je 0x402c25
cmp byte [0x40a502], 0
sete al
mov byte [0x40a502], al
cmp al, 1
jne 0x402b9d
push 4
push str.AK47
mov ecx, 0x40a088
call fcn.004040f0
mov byte [0x40a505], 0
mov byte [0x40a511], 0
mov byte [0x40a50d], 0
mov byte [0x40a50f], 0
mov byte [0x40a50e], 0
mov byte [0x40a503], 0
mov byte [0x40a506], 0
mov byte [0x40a50c], 0
jmp 0x402bf0
test al, al
jne 0x402bf0
push 0
push 0x4072a1
mov ecx, 0x40a088
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a504], 0
mov byte [0x40a501], 0
mov byte [0x40a500], 0
call fcn.00403b30
cmp byte [0x40a502], 1
movzx eax, byte [0x40a018]
jne 0x402c13
sub eax, 1
jne 0x402c21
push 0x64
push 0x258
jmp 0x402c1f
sub eax, 1
jne 0x402c21
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x71
call edi
test ax, ax
je 0x402d18
cmp byte [0x40a505], 0
sete al
mov byte [0x40a505], al
cmp al, 1
jne 0x402c90
push 5
push str.LR300
mov ecx, 0x40a088
call fcn.004040f0
mov byte [0x40a511], 0
mov byte [0x40a50d], 0
mov byte [0x40a50f], 0
mov byte [0x40a50e], 0
mov byte [0x40a503], 0
mov byte [0x40a502], 0
mov byte [0x40a50c], 0
mov byte [0x40a506], 0
jmp 0x402ce3
test al, al
jne 0x402ce3
push 0
push 0x4072a1
mov ecx, 0x40a088
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a504], 0
mov byte [0x40a501], 0
mov byte [0x40a500], 0
call fcn.00403b30
cmp byte [0x40a505], 1
movzx eax, byte [0x40a018]
jne 0x402d06
sub eax, 1
jne 0x402d14
push 0x64
push 0x258
jmp 0x402d12
sub eax, 1
jne 0x402d14
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x72
call edi
test ax, ax
je 0x402e0b
cmp byte [0x40a511], 0
sete al
mov byte [0x40a511], al
cmp al, 1
jne 0x402d83
push 5
push str.MP5A4
mov ecx, 0x40a088
call fcn.004040f0
mov byte [0x40a505], 0
mov byte [0x40a50d], 0
mov byte [0x40a50f], 0
mov byte [0x40a50e], 0
mov byte [0x40a503], 0
mov byte [0x40a502], 0
mov byte [0x40a50c], 0
mov byte [0x40a506], 0
jmp 0x402dd6
test al, al
jne 0x402dd6
push 0
push 0x4072a1
mov ecx, 0x40a088
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a504], 0
mov byte [0x40a501], 0
mov byte [0x40a500], 0
call fcn.00403b30
cmp byte [0x40a511], 1
movzx eax, byte [0x40a018]
jne 0x402df9
sub eax, 1
jne 0x402e07
push 0x64
push 0x258
jmp 0x402e05
sub eax, 1
jne 0x402e07
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x73
call edi
test ax, ax
je 0x402efe
cmp byte [0x40a50d], 0
sete al
mov byte [0x40a50d], al
cmp al, 1
jne 0x402e76
push 3
push 0x4073c4
mov ecx, 0x40a088
call fcn.004040f0
mov byte [0x40a505], 0
mov byte [0x40a511], 0
mov byte [0x40a50f], 0
mov byte [0x40a50e], 0
mov byte [0x40a503], 0
mov byte [0x40a502], 0
mov byte [0x40a50c], 0
mov byte [0x40a506], 0
jmp 0x402ec9
test al, al
jne 0x402ec9
push 0
push 0x4072a1
mov ecx, 0x40a088
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a504], 0
mov byte [0x40a501], 0
mov byte [0x40a500], 0
call fcn.00403b30
cmp byte [0x40a50d], 1
movzx eax, byte [0x40a018]
jne 0x402eec
sub eax, 1
jne 0x402efa
push 0x64
push 0x258
jmp 0x402ef8
sub eax, 1
jne 0x402efa
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x74
call edi
test ax, ax
je 0x402ff1
cmp byte [0x40a50f], 0
sete al
mov byte [0x40a50f], al
cmp al, 1
jne 0x402f69
push 8
push str.THOMPSON
mov ecx, 0x40a088
call fcn.004040f0
mov byte [0x40a505], 0
mov byte [0x40a511], 0
mov byte [0x40a50d], 0
mov byte [0x40a50e], 0
mov byte [0x40a503], 0
mov byte [0x40a502], 0
mov byte [0x40a50c], 0
mov byte [0x40a506], 0
jmp 0x402fbc
test al, al
jne 0x402fbc
push 0
push 0x4072a1
mov ecx, 0x40a088
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a504], 0
mov byte [0x40a501], 0
mov byte [0x40a500], 0
call fcn.00403b30
cmp byte [0x40a50f], 1
movzx eax, byte [0x40a018]
jne 0x402fdf
sub eax, 1
jne 0x402fed
push 0x64
push 0x258
jmp 0x402feb
sub eax, 1
jne 0x402fed
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x75
call edi
test ax, ax
je 0x4030e4
cmp byte [0x40a50e], 0
sete al
mov byte [0x40a50e], al
cmp al, 1
jne 0x40305c
push 3
push 0x4073d4
mov ecx, 0x40a088
call fcn.004040f0
mov byte [0x40a505], 0
mov byte [0x40a511], 0
mov byte [0x40a50d], 0
mov byte [0x40a50f], 0
mov byte [0x40a503], 0
mov byte [0x40a502], 0
mov byte [0x40a50c], 0
mov byte [0x40a506], 0
jmp 0x4030af
test al, al
jne 0x4030af
push 0
push 0x4072a1
mov ecx, 0x40a088
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a504], 0
mov byte [0x40a501], 0
mov byte [0x40a500], 0
call fcn.00403b30
cmp byte [0x40a50e], 1
movzx eax, byte [0x40a018]
jne 0x4030d2
sub eax, 1
jne 0x4030e0
push 0x64
push 0x258
jmp 0x4030de
sub eax, 1
jne 0x4030e0
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x76
call edi
test ax, ax
je 0x4031d0
cmp byte [0x40a50c], 0
sete al
mov byte [0x40a50c], al
cmp al, 1
jne 0x403148
push 8
push str.REVOLVER
mov ecx, 0x40a088
call fcn.004040f0
mov byte [0x40a505], 0
mov byte [0x40a511], 0
mov byte [0x40a50d], 0
mov byte [0x40a50f], 0
mov byte [0x40a503], 0
mov byte [0x40a502], 0
mov byte [0x40a506], 0
jmp 0x40319b
test al, al
jne 0x40319b
push 0
push 0x4072a1
mov ecx, 0x40a088
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a504], 0
mov byte [0x40a501], 0
mov byte [0x40a500], 0
call fcn.00403b30
cmp byte [0x40a50c], 1
movzx eax, byte [0x40a018]
jne 0x4031be
sub eax, 1
jne 0x4031cc
push 0x64
push 0x258
jmp 0x4031ca
sub eax, 1
jne 0x4031cc
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x77
call edi
test ax, ax
je 0x4032bc
cmp byte [0x40a506], 0
sete al
mov byte [0x40a506], al
cmp al, 1
jne 0x403234
push 3
push 0x4073e4
mov ecx, 0x40a088
call fcn.004040f0
mov byte [0x40a505], 0
mov byte [0x40a511], 0
mov byte [0x40a50d], 0
mov byte [0x40a50f], 0
mov byte [0x40a503], 0
mov byte [0x40a502], 0
mov byte [0x40a50c], 0
jmp 0x403287
test al, al
jne 0x403287
push 0
push 0x4072a1
mov ecx, 0x40a088
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a504], 0
mov byte [0x40a501], 0
mov byte [0x40a500], 0
call fcn.00403b30
cmp byte [0x40a506], 1
movzx eax, byte [0x40a018]
jne 0x4032aa
sub eax, 1
jne 0x4032b8
push 0x64
push 0x258
jmp 0x4032b6
sub eax, 1
jne 0x4032b8
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x78
call edi
test ax, ax
je 0x4033af
cmp byte [0x40a503], 0
sete al
mov byte [0x40a503], al
cmp al, 1
jne 0x403327
push 4
push str.M249
mov ecx, 0x40a088
call fcn.004040f0
mov byte [0x40a505], 0
mov byte [0x40a511], 0
mov byte [0x40a50d], 0
mov byte [0x40a50f], 0
mov byte [0x40a50e], 0
mov byte [0x40a502], 0
mov byte [0x40a50c], 0
mov byte [0x40a506], 0
jmp 0x40337a
test al, al
jne 0x40337a
push 0
push 0x4072a1
mov ecx, 0x40a088
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a504], 0
mov byte [0x40a501], 0
mov byte [0x40a500], 0
call fcn.00403b30
cmp byte [0x40a503], 1
movzx eax, byte [0x40a018]
jne 0x40339d
sub eax, 1
jne 0x4033ab
push 0x64
push 0x258
jmp 0x4033a9
sub eax, 1
jne 0x4033ab
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x61
call edi
test ax, ax
je 0x40343f
cmp byte [0x40a507], 0
sete al
mov byte [0x40a507], al
movzx eax, al
sub eax, 0
je 0x4033f9
sub eax, 1
jne 0x40340a
push 2
push 0x4073f0
mov ecx, 0x40a058
call fcn.004040f0
mov byte [0x40a504], 0
mov byte [0x40a501], 0
jmp 0x40340a
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
call fcn.00403b30
cmp byte [0x40a507], 1
movzx eax, byte [0x40a018]
jne 0x40342d
sub eax, 1
jne 0x40343b
push 0x64
push 0x258
jmp 0x403439
sub eax, 1
jne 0x40343b
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x62
call edi
test ax, ax
je 0x4034c6
cmp byte [0x40a501], 0
sete al
mov byte [0x40a501], al
cmp al, 1
jne 0x40347c
push 6
push str.SIMPLE
mov ecx, 0x40a058
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a504], 0
jmp 0x403491
test al, al
jne 0x403491
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
call fcn.00403b30
cmp byte [0x40a501], 1
movzx eax, byte [0x40a018]
jne 0x4034b4
sub eax, 1
jne 0x4034c2
push 0x64
push 0x258
jmp 0x4034c0
sub eax, 1
jne 0x4034c2
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x63
call edi
test ax, ax
je 0x40354d
cmp byte [0x40a504], 0
sete al
mov byte [0x40a504], al
cmp al, 1
jne 0x403503
push 4
push str.HOLO
mov ecx, 0x40a058
call fcn.004040f0
mov byte [0x40a507], 0
mov byte [0x40a501], 0
jmp 0x403518
test al, al
jne 0x403518
push 0
push 0x4072a1
mov ecx, 0x40a058
call fcn.004040f0
call fcn.00403b30
cmp byte [0x40a504], 1
movzx eax, byte [0x40a018]
jne 0x40353b
sub eax, 1
jne 0x403549
push 0x64
push 0x258
jmp 0x403547
sub eax, 1
jne 0x403549
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x64
call edi
test ax, ax
je 0x4035cd
cmp byte [0x40a500], 0
sete al
mov byte [0x40a500], al
cmp al, 1
jne 0x403583
push 8
push str.SILENCER
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a510], 0
jmp 0x403598
test al, al
jne 0x403598
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
call fcn.00403b30
cmp byte [0x40a500], 1
movzx eax, byte [0x40a018]
jne 0x4035bb
sub eax, 1
jne 0x4035c9
push 0x64
push 0x258
jmp 0x4035c7
sub eax, 1
jne 0x4035c9
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x65
call edi
test ax, ax
je 0x40364d
cmp byte [0x40a510], 0
sete al
mov byte [0x40a510], al
cmp al, 1
jne 0x403603
push 5
push str.BOOST
mov ecx, 0x40a0f0
call fcn.004040f0
mov byte [0x40a500], 0
jmp 0x403618
test al, al
jne 0x403618
push 0
push 0x4072a1
mov ecx, 0x40a0f0
call fcn.004040f0
call fcn.00403b30
cmp byte [0x40a510], 1
movzx eax, byte [0x40a018]
jne 0x40363b
sub eax, 1
jne 0x403649
push 0x64
push 0x258
jmp 0x403647
sub eax, 1
jne 0x403649
push 0x64
push 0x12c
call ebx
push 0x78
call esi
push 0x66
call edi
test ax, ax
je 0x4036b3
cmp byte [0x40a018], 0
sete al
mov byte [0x40a018], al
cmp al, 1
jne 0x403672
push 2
push 0x4072ec
jmp 0x40367d
test al, al
jne 0x403687
push 3
push 0x407418
mov ecx, 0x40a0a0
call fcn.004040f0
call fcn.00403b30
mov al, byte [0x40a018]
cmp al, 1
jne 0x40369e
push 0x64
push 0x258
jmp 0x4036ad
movzx eax, al
sub eax, 1
jne 0x4036af
push 0x64
push 0x12c
call ebx
push 0x78
call esi
call dword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov esi, eax
mov ebx, edx
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], ebx
call dword [sym.imp.MSVCP140.dll__Query_perf_counter]
push ebx
push ebx
push esi
push edx
push eax
call fcn.00405590
mov esi, ebx
pop ebx
push 0
push 0x3b9aca00
push esi
push ecx
mov ebx, eax
mov edi, edx
call fcn.00405670
push dword [esp + 0xc]
push dword [esp + 0x18]
push edx
push eax
call fcn.004054e0
push 0
push 0x3b9aca00
push edi
push ebx
mov esi, eax
mov dword [esp + 0x28], edx
call fcn.00405670
add esi, eax
mov eax, dword [esp + 0x18]
adc eax, edx
add esi, 0xf4240
mov dword [esp + 0x1c], esi
adc eax, 0
mov dword [esp + 0x18], eax
call dword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov esi, eax
mov ebx, edx
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], ebx
call dword [sym.imp.MSVCP140.dll__Query_perf_counter]
push ebx
push ebx
push esi
push edx
push eax
call fcn.00405590
mov esi, ebx
pop ebx
push 0
push 0x3b9aca00
push esi
push ecx
mov ebx, eax
mov edi, edx
call fcn.00405670
push dword [esp + 0xc]
push dword [esp + 0x18]
push edx
push eax
call fcn.004054e0
mov esi, eax
mov dword [esp + 0x10], edx
mov ecx, 0x3b9aca00
mov eax, edi
mul ecx
mov edx, 0x3b9aca00
mov ecx, eax
mov eax, ebx
mov ebx, dword [esp + 0x18]
mul edx
add ecx, edx
add esi, eax
mov eax, dword [esp + 0x10]
adc eax, ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], eax
cmp eax, ebx
jg 0x40383f
jl 0x4037b0
cmp esi, dword [esp + 0x1c]
jae 0x40383f
call dword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
push 0
push 0x64
push edx
push eax
call fcn.00405670
mov edi, dword [esp + 0x1c]
mov esi, eax
sub edi, dword [esp + 0x20]
mov dword [esp + 0xc], edx
mov ecx, edi
sbb ebx, dword [esp + 0x10]
mov edx, ebx
mov dword [esp + 0x14], esi
call fcn.00405a00
comisd xmm0, xmmword [0x407618]
mov edx, dword [esp + 0xc]
mov ecx, esi
jbe 0x403802
add esi, 0xad160000
mov edi, 0xad160000
mov ebx, 0x311cd
jmp 0x403806
mov esi, edi
add esi, ecx
add edi, ecx
push 0
push 0x3b9aca00
adc ebx, edx
push ebx
push edi
call fcn.004054e0
mov dword [esp + 0x28], eax
imul eax, eax, 0x3b9aca00
mov dword [esp + 0x2c], edx
sub esi, eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x34], esi
call dword [sym.imp.MSVCP140.dll__Thrd_sleep]
add esp, 4
jmp 0x403726
mov esi, dword [sym.imp.KERNEL32.DLL_Sleep]
jmp 0x402b26
push 0x4083b0
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3