Function at 0x401c70
Capabilities:
Execute command
Get graphical window text
Get memory capacity
Get system information on windows
Query or enumerate registry value
Set registry value
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x404415
mov eax, dword fs:[0]
push eax
sub esp, 0x248
mov eax, dword [0x408008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
push 0x4085b8
push str.SOFTWAREPepus_smlnch
push 0x80000001
call esi
push 0x4085dc
push str.SOFTWAREPepusStrangeman
push 0x80000001
call esi
push 0x405d18
push 0
call dword [sym.imp.api_ms_win_crt_locale_l1_1_0.dll_setlocale]
add esp, 8
push 0x20000000
push 0xd
push 0x104
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
push 1
lea eax, [ebp - 0x24c]
mov dword [ebp - 4], 0
push eax
push 0
push 0
mov dword [ebp - 0x24c], 0x1a8
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x28]
call fcn.004026f0
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 1
push eax
mov dword [ebp - 0x80], 0x40
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 0x408018
push 0x4085d8
shrd ecx, eax, 0x14
mov eax, dword [ebp - 0x6c]
push 0
mov dword [ebp - 0x254], ecx
mov ecx, dword [ebp - 0x70]
push 0
push 0x405d1c
push dword [0x4085b8]
shrd ecx, eax, 0x14
mov dword [ebp - 0x250], ecx
call edi
cmp eax, 2
je 0x401dbc
push 0x408018
push 0x4085d8
push 0
push 0
push 0x405d1c
push dword [0x4085b8]
call edi
mov eax, dword [0x4085d8]
mov dword [0x4085b0], eax
jmp 0x401dc1
mov eax, dword [0x4085b0]
cmp eax, 1
jne 0x401dd3
call fcn.004014c0
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp eax, 2
je 0x401f3a
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Booting_from_Hard_Disk..._n
call fcn.00402b70
push 0x208
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Starting_VEX_DOS..._n
call fcn.00402b70
push 0x262
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.VEX_DOS_Version_6.51_n
call fcn.00402b70
push 0x104
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.System_INFO:_n
call fcn.00402b70
push 0x4b0
call esi
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 0x352
call esi
push str.CPU_information:__n
call fcn.00401280
add esp, 4
push 0x550
call esi
lea ecx, [ebp - 0x40]
call fcn.00401740
cmp dword [ebp - 0x2c], 0x10
lea edx, [ebp - 0x40]
push dword [ebp - 0x30]
cmovae edx, dword [ebp - 0x40]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
add esp, 4
push 0x35c
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x405da8
call fcn.00402b70
cmp dword [ebp - 0x14], 0x10
lea edx, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae edx, dword [ebp - 0x28]
mov ecx, eax
call fcn.004031f0
add esp, 4
mov edx, 0x405da8
mov ecx, eax
call fcn.00402b70
push 0x44c
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Available_physical_memory:
push 0x402f90
push dword [ebp - 0x250]
call fcn.00402b70
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___long_int_]
mov edx, str._megabytes
mov ecx, eax
call fcn.00402b70
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.Total_physical_memory:
push 0x402f90
push dword [ebp - 0x254]
call fcn.00402b70
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___long_int_]
mov edx, str._megabytes
mov ecx, eax
call fcn.00402b70
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.Starting_game..._n
call fcn.00402b70
push 0x408018
push 0x4085c8
push 0
push 0
push str.TextDataState_h4243459359
push dword [0x4085dc]
call edi
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov edi, dword [sym.imp.WINMM.dll_PlaySoundW]
cmp eax, 2
jne 0x40201e
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Language:_n0___english_t1__
call fcn.00402b70
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0x4085d4
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___int__]
push 1
push 0
push str.datadata0.vex
call edi
mov eax, dword [0x4085d4]
test eax, eax
jne 0x401fc5
push str.reg_add_HKEY_CURRENT_USERSOFTWAREPepusStrangeman__v_TextDataState_h4243459359__t_REG_DWORD__d_0__f
call esi
add esp, 4
mov dword [0x4085c4], 0
jmp 0x402028
cmp eax, 1
jne 0x401fe0
push str.reg_add_HKEY_CURRENT_USERSOFTWAREPepusStrangeman__v_TextDataState_h4243459359__t_REG_DWORD__d_1__f
call esi
add esp, 4
mov dword [0x4085c4], 1
jmp 0x402028
push str.color_4F
call esi
add esp, 4
push 0x15
push str.BAD_VALUE
push str.FATAL_ERROR_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
sub eax, 2
je 0x401dcb
sub eax, 2
jne 0x40202d
push str.Start_vexdos.exe
call esi
add esp, 4
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov eax, dword [0x4085c8]
mov dword [0x4085c4], eax
call fcn.004014f0
push 0x514
call dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax + eax]
cmp dword [0x4080a8], 0x10
mov edx, 0x408094
push dword [0x4080a4]
cmovae edx, dword [0x408094]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
add esp, 4
push 0x4085cc
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___long_int__]
push 1
push 0
push str.datadata0.vex
call edi
mov eax, dword [0x4085cc]
cmp eax, 1
je 0x401dc6
cmp eax, 2
je 0x401dcb
cmp eax, 3
je 0x402376
cmp eax, 4
jne 0x4022d1
nop dword [eax]
cmp dword [0x408108], 0x10
mov edx, 0x4080f4
push dword [0x408104]
cmovae edx, dword [0x4080f4]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
add esp, 4
push 0x4085e4
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___int__]
push 1
push 0
push str.datadata0.vex
call edi
mov eax, dword [0x4085e4]
cmp eax, 1
jne 0x402171
cmp dword [0x408180], 0x10
mov edx, 0x40816c
push dword [0x40817c]
cmovae edx, dword [0x40816c]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
add esp, 4
push 0x4085b0
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___int__]
push 1
push 0
push str.datadata0.vex
call edi
mov eax, dword [0x4085b0]
cmp eax, 1
jne 0x402159
push str.reg_add_HKEY_CURRENT_USERSOFTWAREPepus_smlnch__v_typeoflaunch__t_REG_DWORD__d_1__f
call esi
add esp, 4
jmp 0x4020b0
cmp eax, 2
jne 0x4020b0
push str.reg_add_HKEY_CURRENT_USERSOFTWAREPepus_smlnch__v_typeoflaunch__t_REG_DWORD__d_2__f
call esi
add esp, 4
jmp 0x4020b0
cmp eax, 2
jne 0x402201
cmp dword [0x408078], 0x10
mov edx, 0x408064
push dword [0x408074]
cmovae edx, dword [0x408064]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
add esp, 4
push 0x4085d4
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___int__]
push 1
push 0
push str.datadata0.vex
call edi
mov eax, dword [0x4085d4]
test eax, eax
jne 0x4021df
push str.reg_add_HKEY_CURRENT_USERSOFTWAREPepusStrangeman__v_TextDataState_h4243459359__t_REG_DWORD__d_0__f
call esi
add esp, 4
mov dword [0x4085c4], 0
jmp 0x4020b0
cmp eax, 1
jne 0x4020b0
push str.reg_add_HKEY_CURRENT_USERSOFTWAREPepusStrangeman__v_TextDataState_h4243459359__t_REG_DWORD__d_1__f
call esi
add esp, 4
mov dword [0x4085c4], 1
jmp 0x4020b0
cmp eax, 3
je 0x402040
push str.color_4F
call esi
add esp, 4
push 0x15
push str.BAD_VALUE
push str.FATAL_ERROR_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
sub eax, 2
je 0x401dcb
sub eax, 2
je 0x40200c
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x40226e
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402264
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402694
push ecx
push edx
call fcn.00403890
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 0x10
jb 0x4022b4
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4022aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402694
push ecx
push edx
call fcn.00403890
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00403601
mov esp, ebp
pop ebp
ret
cmp eax, 0x679a9d
jne 0x402346
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 1
mov dword [0x4085e0], 1
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___int_]
mov edx, 0x405f28
mov ecx, eax
call fcn.00402b70
cmp dword [0x4085e0], 0x62
jg 0x402376
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x4085e0]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
inc eax
push eax
mov dword [0x4085e0], 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___int_]
mov edx, 0x405f28
mov ecx, eax
call fcn.00402b70
mov eax, dword [0x4085e0]
cmp eax, 0x63
je 0x402603
cmp eax, 0x62
jle 0x402305
jmp 0x402376
push str.color_4F
call esi
add esp, 4
push 0x15
push str.BAD_VALUE
push str.FATAL_ERROR_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
sub eax, 2
je 0x401dcb
sub eax, 2
je 0x40200c
cmp dword [0x408198], 0x10
mov edx, 0x408184
push dword [0x408194]
cmovae edx, dword [0x408184]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
add esp, 4
push 0xa28
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x408030], 0x10
mov edx, 0x40801c
push dword [0x40802c]
cmovae edx, dword [0x40801c]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
add esp, 4
push 0x4085bc
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___int__]
push 1
push 0
push str.datadata0.vex
call edi
mov eax, dword [0x4085bc]
cmp eax, 1
jne 0x402410
cmp dword [0x408048], 0x10
mov edx, 0x408034
push dword [0x408044]
cmovae edx, dword [0x408034]
jmp 0x402449
cmp eax, 2
jne 0x402430
cmp dword [0x408090], 0x10
mov edx, 0x40807c
push dword [0x40808c]
cmovae edx, dword [0x40807c]
jmp 0x402449
cmp dword [0x408150], 0x10
mov edx, 0x40813c
push dword [0x40814c]
cmovae edx, dword [0x40813c]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
add esp, 4
nop word [eax + eax]
cmp dword [0x408138], 0x10
mov edx, 0x408124
push dword [0x408134]
cmovae edx, dword [0x408124]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
add esp, 4
push 0x4085b4
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___int__]
push 1
push 0
push str.datadata0.vex
call edi
mov eax, dword [0x4085b4]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
cmp eax, 1
jne 0x4024e3
cmp dword [0x408048], 0x10
mov edx, 0x408034
push dword [0x408044]
cmovae edx, dword [0x408034]
call fcn.004031f0
mov eax, dword [0x4085d0]
add esp, 4
inc eax
xor ecx, ecx
mov dword [0x4085d0], eax
jmp 0x402545
cmp eax, 2
jne 0x402518
cmp dword [0x408090], 0x10
mov edx, 0x40807c
push dword [0x40808c]
cmovae edx, dword [0x40807c]
call fcn.004031f0
mov eax, dword [0x4085d0]
add esp, 4
dec eax
xor ecx, ecx
mov dword [0x4085d0], eax
jmp 0x402545
cmp dword [0x408150], 0x10
mov edx, 0x40813c
push dword [0x40814c]
cmovae edx, dword [0x40813c]
call fcn.004031f0
mov ecx, dword [0x4085c0]
add esp, 4
mov eax, dword [0x4085d0]
inc ecx
mov dword [0x4085c0], ecx
cmp eax, 9
je 0x402594
cmp eax, 0xfffffff6
je 0x402579
cmp ecx, 0xf
jne 0x402460
cmp dword [0x408120], 0x10
mov edx, 0x40810c
push dword [0x40811c]
cmovae edx, dword [0x40810c]
jmp 0x4025ad
cmp dword [0x4081b0], 0x10
mov edx, 0x40819c
push dword [0x4081ac]
cmovae edx, dword [0x40819c]
jmp 0x4025ad
cmp dword [0x4080c0], 0x10
mov edx, 0x4080ac
push dword [0x4080bc]
cmovae edx, dword [0x4080ac]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
cmp dword [0x408198], 0x10
mov edx, 0x408184
push dword [0x408194]
cmovae edx, dword [0x408184]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004031f0
add esp, 8
push 0x640
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [0x4085d0], 0
mov dword [0x4085c0], 0
jmp 0x402040
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.ERROR:___
call fcn.00402b70
push 2
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00401840
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x402650
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402646
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402694
push ecx
push edx
call fcn.00403890
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 0x10
jb 0x4022b4
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4022aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4022aa
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3