Function at 0x404040
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x408fb0
mov eax, dword fs:[0]
push eax
sub esp, 0x254
mov eax, dword [0x40e040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.Service_Started...
lea ecx, [ebp - 0x248]
call fcn.00405c40
lea ecx, [ebp - 0x248]
call fcn.004013c0
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x4040c3
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4040b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4040b9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00407c14
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push 6
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
call dword [sym.imp.KERNEL32.dll_FreeConsole]
xorps xmm0, xmm0
mov dword [ebp - 0x220], 0x44
xor eax, eax
movlpd qword [ebp - 0x21c], xmm0
movlpd qword [ebp - 0x214], xmm0
xor ecx, ecx
movlpd qword [ebp - 0x20c], xmm0
movlpd qword [ebp - 0x204], xmm0
movlpd qword [ebp - 0x1fc], xmm0
movlpd qword [ebp - 0x1ee], xmm0
movlpd qword [ebp - 0x1e6], xmm0
mov word [ebp - 0x1de], ax
mov dword [ebp - 0x1f4], 1
mov word [ebp - 0x1f0], ax
nop dword [eax]
mov al, byte [ecx + 0x40a724]
mov byte [ebp + ecx - 0x110], al
inc ecx
test al, al
jne 0x404140
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x220]
push eax
push 0
push 0
push 0x8000000
push 0
push 0
push 0
lea eax, [ebp - 0x110]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x404216
push 0x406950
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x40a730
call fcn.00406730
add esp, 4
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 str.Core_is_initialized...
lea ecx, [ebp - 0x248]
call fcn.00405c40
lea ecx, [ebp - 0x248]
call fcn.004013c0
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x4041fe
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4041f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4041f4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00407c14
add esp, 8
push dword [ebp - 0x230]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x22c]
call esi
jmp 0x40428e
push str.Error_000FFFF__with_starting_main_core...
lea ecx, [ebp - 0x248]
call fcn.00405c40
lea ecx, [ebp - 0x248]
call fcn.004013c0
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x40426d
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404263
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x404263
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00407c14
add esp, 8
push 0x406950
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov edx, 0x40a78c
call fcn.00406730
add esp, 4
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, str.main.exe
call fcn.004027b0
test al, al
je 0x4042b7
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call esi
mov ecx, str.main.exe
call fcn.004027b0
test al, al
jne 0x4042a2
push str.Core_is_closed...
lea ecx, [ebp - 0x248]
call fcn.00405c40
lea ecx, [ebp - 0x248]
call fcn.004013c0
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x40430e
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404304
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x404304
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00407c14
add esp, 8
call fcn.00402f80
test al, al
je 0x404384
push 0x30
push str.Themida_Protect
push 0x40a7e0
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push str.ERROR__Debugger_Founded...
lea ecx, [ebp - 0x248]
call fcn.00405c40
lea ecx, [ebp - 0x248]
call fcn.004013c0
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x4046ab
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4046a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4046a1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push str.Start_Service...
lea ecx, [ebp - 0x248]
call fcn.00405c40
lea ecx, [ebp - 0x248]
call fcn.004013c0
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x4043db
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4043d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4043d1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00407c14
add esp, 8
push str.MicroService_is_initialized...
lea ecx, [ebp - 0x248]
call fcn.00405c40
lea ecx, [ebp - 0x248]
call fcn.004013c0
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x404432
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404428
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x404428
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00407c14
add esp, 8
call fcn.00403690
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test eax, eax
jne 0x404455
mov edx, str.Vse_Norm
call fcn.00406730
push str.Main_Thread_Closed_Succesfull...
jmp 0x404330
mov edx, str.Vse_ne_norm
call fcn.00406730
push str.Main_Thread_Closed_UnSuccesfull...
lea ecx, [ebp - 0x260]
call fcn.00405c40
lea ecx, [ebp - 0x260]
call fcn.004013c0
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0xf
jbe 0x4044b4
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4044aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40437e
push ecx
push edx
call fcn.00407c14
add esp, 8
push str.C:_regedit_active.txt
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
call fcn.00405c40
push 0x10
push 0x40a910
push 0x40a930
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0xb0
lea eax, [ebp - 0x1d8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
cmp dword [ebp - 0x114], 0xf
lea eax, [ebp - 0x128]
lea ecx, [ebp - 0x1d8]
cmova eax, dword [ebp - 0x128]
add esp, 4
push 2
push eax
call fcn.00405a50
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1dc], eax
cmp dword [ebp - 0x188], 0
je 0x4046c9
push 0x406950
push ecx
mov edx, str.False
lea ecx, [ebp - 0x1d8]
call fcn.00406730
add esp, 4
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 0x406950
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Saved_Activate:_False
call fcn.00406730
add esp, 4
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_____]
lea ecx, [ebp - 0x1d4]
call fcn.004061d0
test eax, eax
jne 0x4045c8
push eax
mov eax, dword [ebp - 0x1d8]
lea ecx, [ebp - 0x1d8]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1dc], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x188], 0
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
je 0x404639
mov eax, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x198]
cmp dword [eax], ecx
jne 0x404639
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x1b8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1a8]
mov dword [eax], edx
cmp byte [ebp - 0x18c], 0
je 0x40464d
lea ecx, [ebp - 0x1d4]
call fcn.004061d0
lea ecx, [ebp - 0x1d4]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x1d0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x170]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, dword [ebp - 0x114]
cmp ecx, 0xf
jbe 0x4046ab
mov edx, dword [ebp - 0x128]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4046a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40437e
push ecx
push edx
call fcn.00407c14
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00407870
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov edx, str.Error_opening_file:
call fcn.00406730
cmp dword [ebp - 0x114], 0xf
lea edx, [ebp - 0x128]
push dword [ebp - 0x118]
cmova edx, dword [ebp - 0x128]
mov ecx, eax
call fcn.004071e0
add esp, 4
mov ecx, eax
push 0x406950
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 [ebp - 0x1d8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1dc], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x188], 0
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
je 0x40477b
mov eax, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x198]
cmp dword [eax], ecx
jne 0x40477b
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x1b8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1a8]
mov dword [eax], edx
cmp byte [ebp - 0x18c], 0
je 0x40478f
lea ecx, [ebp - 0x1d4]
call fcn.004061d0
lea ecx, [ebp - 0x1d4]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x1d0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x170]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, dword [ebp - 0x114]
cmp ecx, 0xf
jbe 0x4046ab
mov edx, dword [ebp - 0x128]
inc ecx
jmp 0x40435c