Function at 0x40ae20
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x563e66
mov eax, dword fs:[0]
push eax
sub esp, 0x930
mov eax, dword [0x608514]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x90c], ecx
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x8d4]
push eax
mov dword [ebp - 0x8e4], 0
call fcn.00410470
add esp, 4
mov dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x878], 0
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x878], 7
mov word [ebp - 0x88c], ax
mov byte [ebp - 4], 1
test esi, esi
je 0x40aed0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40aeb4
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x88c]
call fcn.004047a0
push 0xffffffffffffffff
call dword [sym.imp.IMM32.dll_ImmDisableIME]
push 1
call fcn.004242e0
mov byte [ebp - 4], 2
xor eax, eax
push 0x3f
mov dword [ebp - 0x92c], 0
lea ecx, [ebp - 0x93c]
mov dword [ebp - 0x928], 0
push str.GlobalRCAV7E47DA93_AF41_4450_90CD_31C78125287D_RTPROTECT_MUTEX
mov dword [ebp - 0x92c], 0
mov dword [ebp - 0x928], 7
mov word [ebp - 0x93c], ax
call fcn.004047a0
cmp dword [ebp - 0x928], 8
lea eax, [ebp - 0x93c]
mov dword [ebp - 0x8e4], 1
cmovae eax, dword [ebp - 0x93c]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, 1
mov edi, eax
mov dword [ebp - 0x8e4], esi
and esi, 0xfffffffe
mov dword [ebp - 0x8e4], esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x93c]
call fcn.004046e0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x904], eax
test edi, edi
je 0x40bc8f
cmp eax, 0xb7
je 0x40bc8f
cmp dword [0x60e3b0], 0
je 0x40b05c
push ecx
mov ecx, 0x60e3b0
call fcn.004d07d0
mov eax, dword [0x60e3b0]
cmp byte [eax + 0x54], 0
je 0x40b05c
cmp dword [eax + 0x58], 4
jb 0x40b05c
mov al, byte [eax + 0x5c]
mov byte [ebp - 0x8dd], al
xor eax, eax
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x818], 7
mov word [ebp - 0x82c], ax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x82c]
push 5
push str.Start
call fcn.004047a0
push 0x76
push str.RC::TEHIPS::RCHipsMain::Main
push str.d:_rhinoprotect_rtpsystem_src2345rtprotect_rchipsmain.cpp
lea eax, [ebp - 0x82c]
mov ecx, 0x60e3b0
push eax
push 4
call fcn.004d10e0
cmp byte [ebp - 0x8dd], 0
je 0x40b04d
lea eax, [ebp - 0x82c]
mov ecx, 0x60e3b0
push eax
call fcn.004d1410
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x82c]
call fcn.004046e0
xor eax, eax
mov dword [ebp - 0x864], 0
mov dword [ebp - 0x860], 0
mov dword [ebp - 0x864], 0
mov dword [ebp - 0x860], 7
mov word [ebp - 0x874], ax
mov byte [ebp - 4], 6
lea edx, [ebp - 0x874]
lea ecx, [eax + 0x1a]
call fcn.0043c210
test al, al
je 0x40b100
push str.2345SafeCenterConfig
lea ecx, [ebp - 0x85c]
call fcn.00404270
mov byte [ebp - 4], 7
lea eax, [ebp - 0x85c]
push eax
lea edx, [ebp - 0x874]
lea ecx, [ebp - 0x8a4]
call fcn.00433480
add esp, 4
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x874]
push eax
call fcn.00404200
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x8a4]
call fcn.004046e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x85c]
call fcn.004046e0
mov eax, dword [0x60e284]
mov esi, dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x40b148
mov ecx, dword [0x60e28c]
mov edx, dword [ecx]
test edx, edx
je 0x40b12f
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x60e28c]
mov eax, dword [0x60e284]
mov ecx, dword [ecx]
mov eax, dword [eax]
mov dword [ebp - 0x814], eax
test ecx, ecx
je 0x40b14a
push ecx
call esi
mov eax, dword [ebp - 0x814]
jmp 0x40b14a
mov eax, dword [eax]
mov ecx, eax
call fcn.00483e80
mov eax, dword [0x60e284]
test eax, eax
jne 0x40b84f
mov ecx, dword [0x60e28c]
mov edx, dword [ecx]
test edx, edx
je 0x40b17e
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x60e28c]
mov eax, dword [0x60e284]
mov eax, dword [eax]
mov dword [ebp - 0x814], eax
mov eax, dword [ecx]
test eax, eax
je 0x40b18f
push eax
call esi
mov ecx, dword [ebp - 0x814]
call fcn.00483c90
mov ecx, eax
call fcn.00483080
cmp dword [ebp - 0x860], 8
lea eax, [ebp - 0x874]
mov dword [ebp - 0x8d8], 2
cmovae eax, dword [ebp - 0x874]
mov dword [ebp - 0x8dc], eax
lea eax, [ebp - 0x8dc]
push eax
lea eax, [ebp - 0x908]
push eax
call dword [sym.imp.BasicBusinessConfigCenter.dll_public:_static_class_RC::DM::RCBasicBusinessConfigCenterDMgr____cdecl_RC::DM::RCBasicBusinessConfigCenterDMgr::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.BasicBusinessConfigCenter.dll_public:_class_RC::DM::RCReturnValue___thiscall_RC::DM::RCBasicBusinessConfigCenterDMgr::Start_struct_RC::DM::RCConfigCenterSetting_const__]
push ecx
mov ecx, dword [ebp - 0x90c]
call fcn.00406350
test al, al
jne 0x40b2c1
cmp dword [0x60e3b0], 0
je 0x40b2c1
push ecx
mov ecx, 0x60e3b0
call fcn.004d07d0
mov eax, dword [0x60e3b0]
cmp byte [eax + 0x54], 0
je 0x40b2c1
cmp dword [eax + 0x58], 2
jb 0x40b2c1
mov al, byte [eax + 0x5c]
mov byte [ebp - 0x8dd], al
xor eax, eax
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x818], 7
mov word [ebp - 0x82c], ax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x82c]
push 0x1d
push str.StartCrashReportClient_error_
call fcn.004047a0
push 0xf8
push str.RC::TEHIPS::RCHipsMain::StartCrashReportClient
push str.d:_rhinoprotect_rtpsystem_src2345rtprotect_rchipsmain.cpp
lea eax, [ebp - 0x82c]
mov ecx, 0x60e3b0
push eax
push 2
call fcn.004d10e0
cmp byte [ebp - 0x8dd], 0
je 0x40b2b2
lea eax, [ebp - 0x82c]
mov ecx, 0x60e3b0
push eax
call fcn.004d1410
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x82c]
call fcn.004046e0
lea eax, [ebp - 0x8a4]
push eax
call fcn.00410470
add esp, 4
mov byte [ebp - 4], 0xa
xor eax, eax
push 0x1d
mov dword [ebp - 0x834], 0
lea ecx, [ebp - 0x844]
mov dword [ebp - 0x830], 0
push str.2345SafeCenterCrashReport.exe
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 7
mov word [ebp - 0x844], ax
call fcn.004047a0
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x844]
push eax
lea edx, [ebp - 0x8a4]
lea ecx, [ebp - 0x85c]
call fcn.00433480
add esp, 4
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x844]
call fcn.004046e0
push 0x12
xor eax, eax
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x818], 0
lea ecx, [ebp - 0x82c]
push str.__crashtypeDriver
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x818], 7
mov word [ebp - 0x82c], ax
call fcn.004047a0
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x82c]
push 0
push ecx
lea ecx, [ebp - 0x85c]
call fcn.004459f0
add esp, 8
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x82c]
call fcn.004046e0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x85c]
call fcn.004046e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x8a4]
call fcn.004046e0
call fcn.0040cf00
call fcn.0040c6b0
call fcn.0040c020
movups xmm0, xmmword [str.__typeafter_upgrade___invoke_product6]
push 0x7b0
lea eax, [ebp - 0x7c0]
movups xmmword [ebp - 0x810], xmm0
push 0
movups xmm0, xmmword [0x5b7308]
push eax
movups xmmword [ebp - 0x800], xmm0
movups xmm0, xmmword [0x5b7318]
movups xmmword [ebp - 0x7f0], xmm0
movups xmm0, xmmword [0x5b7328]
movups xmmword [ebp - 0x7e0], xmm0
movups xmm0, xmmword [0x5b7338]
movups xmmword [ebp - 0x7d0], xmm0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x8ec], 0
xor eax, eax
mov dword [ebp - 0x8e8], 0
mov dword [ebp - 0x8ec], 0
mov dword [ebp - 0x8e8], 7
mov word [ebp - 0x8fc], ax
push 0x1b
push str.2345SafeCenterInstaller.exe
lea ecx, [ebp - 0x8fc]
call fcn.004047a0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x8a4]
call fcn.0043c6c0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x8fc]
push ecx
mov edx, eax
lea ecx, [ebp - 0x844]
call fcn.00433480
add esp, 4
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x8a4]
call fcn.004046e0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x8fc]
call fcn.004046e0
lea ecx, [ebp - 0x844]
call fcn.00432270
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test al, al
je 0x40b5aa
xor eax, eax
mov dword [ebp - 0x8ec], 0
lea ecx, [ebp - 0x810]
mov dword [ebp - 0x8e8], 0
mov dword [ebp - 0x8ec], 0
lea edx, [ecx + 2]
mov dword [ebp - 0x8e8], 7
mov word [ebp - 0x8fc], ax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b520
sub ecx, edx
lea eax, [ebp - 0x810]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x8fc]
call fcn.004047a0
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x814]
push eax
push ecx
lea edx, [ebp - 0x8fc]
mov dword [ebp - 0x814], 0
lea ecx, [ebp - 0x844]
call fcn.004459f0
add esp, 8
test al, al
je 0x40b59b
mov esi, dword [ebp - 0x814]
test esi, esi
je 0x40b592
lea eax, [ebp - 0x814]
mov dword [ebp - 0x814], 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x8fc]
call fcn.004046e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x844]
call fcn.004046e0
xor eax, eax
mov dword [ebp - 0x84c], 0
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x84c], 0
mov dword [ebp - 0x848], 7
mov word [ebp - 0x85c], ax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x924]
push 0xe
mov dword [ebp - 0x914], eax
mov dword [ebp - 0x910], eax
push str.2345SafeCenter
mov dword [ebp - 0x914], eax
mov dword [ebp - 0x910], 7
mov word [ebp - 0x924], ax
call fcn.004047a0
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x924]
cmp dword [ebp - 0x910], 8
lea ecx, [ebp - 0x85c]
push dword [ebp - 0x914]
cmovae eax, dword [ebp - 0x924]
push eax
call fcn.004047a0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x924]
call fcn.004046e0
lea ecx, [ebp - 0x85c]
call fcn.00442dd0
mov eax, dword [0x60ea98]
test al, 1
jne 0x40b6d1
or eax, 1
mov dword [0x60ea98], eax
mov byte [ebp - 4], 0x18
push 0
push 0x60ea34
push 0x60ea44
mov dword [0x60ea34], 1
mov dword [0x60ea38], 0
mov dword [0x60ea3c], 0
mov dword [0x60ea40], 0
mov dword [0x60ea44], 0
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push 0x593b20
call fcn.0054c351
add esp, 4
mov byte [ebp - 4], 0x16
push 0x12
xor eax, eax
mov dword [ebp - 0x8ec], 0
mov dword [ebp - 0x8e8], 0
lea ecx, [ebp - 0x8fc]
push str.SdAntiVBusCore.dll
mov dword [ebp - 0x8ec], 0
mov dword [ebp - 0x8e8], 7
mov word [ebp - 0x8fc], ax
call fcn.004047a0
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x8fc]
push eax
lea edx, [ebp - 0x8d4]
lea ecx, [ebp - 0x8bc]
call fcn.00433480
add esp, 4
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x8fc]
call fcn.004046e0
cmp dword [ebp - 0x8a8], 8
lea eax, [ebp - 0x8bc]
cmovae eax, dword [ebp - 0x8bc]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x814], eax
test eax, eax
jne 0x40b856
push 3
call fcn.004242e0
cmp dword [0x60e3b0], 0
je 0x40b847
push ecx
mov ecx, 0x60e3b0
call fcn.004d07d0
mov eax, dword [0x60e3b0]
cmp byte [eax + 0x54], 0
je 0x40b847
cmp dword [eax + 0x58], 2
jb 0x40b847
mov al, byte [eax + 0x5c]
mov byte [ebp - 0x8dd], al
xor eax, eax
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x818], 7
mov word [ebp - 0x82c], ax
mov byte [ebp - 4], 0x1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x82c]
push str.Load_core_failed__d
push eax
call fcn.004d1600
add esp, 0xc
lea eax, [ebp - 0x82c]
mov ecx, 0x60e3b0
push 0xa3
push str.RC::TEHIPS::RCHipsMain::Main
push str.d:_rhinoprotect_rtpsystem_src2345rtprotect_rchipsmain.cpp
push eax
push 2
call fcn.004d10e0
cmp byte [ebp - 0x8dd], 0
je 0x40b838
lea eax, [ebp - 0x82c]
mov ecx, 0x60e3b0
push eax
call fcn.004d1410
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x82c]
call fcn.004046e0
push edi
call esi
jmp 0x40bc5a
mov ecx, dword [eax]
jmp 0x40b195
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.RCCreateVBusCore
push eax
call esi
push str.RCReleaseVBusCore
push dword [ebp - 0x814]
mov dword [ebp - 0x900], eax
call esi
mov ecx, eax
mov eax, dword [ebp - 0x900]
mov dword [ebp - 0x904], ecx
test eax, eax
je 0x40bb9b
test ecx, ecx
je 0x40bb9b
push str.066971AC_5B43_4F87_80EA_DEFC91C39DBE
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x40ba50
xor eax, eax
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x818], 7
mov word [ebp - 0x82c], ax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x8a4]
push str.SdHipsUpdate.dll
call fcn.00404270
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x8a4]
push eax
lea edx, [ebp - 0x8d4]
lea ecx, [ebp - 0x8fc]
call fcn.00433480
add esp, 4
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x82c]
push eax
call fcn.00404200
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x8fc]
call fcn.004046e0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x8a4]
call fcn.004046e0
cmp dword [ebp - 0x878], 8
lea edx, [ebp - 0x88c]
mov eax, dword [esi]
lea ecx, [ebp - 0x82c]
cmovae edx, dword [ebp - 0x88c]
cmp dword [ebp - 0x818], 8
push edx
cmovae ecx, dword [ebp - 0x82c]
mov eax, dword [eax + 0xc]
push 0x303
push ecx
mov ecx, esi
call eax
test al, al
jne 0x40ba2e
push 2
mov ecx, 0x60e3b0
call fcn.004d1070
mov dword [ebp - 0x900], eax
test eax, eax
je 0x40ba2e
xor eax, eax
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 7
mov word [ebp - 0x844], ax
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x844]
push str.SdHipsUpdate.dll
push str.Load__s_failed
push eax
call fcn.004d1600
add esp, 0xc
lea eax, [ebp - 0x844]
mov ecx, 0x60e3b0
push 0xcc
push str.RC::TEHIPS::RCHipsMain::Main
push str.d:_rhinoprotect_rtpsystem_src2345rtprotect_rchipsmain.cpp
push eax
push 2
call fcn.004d10e0
cmp dword [ebp - 0x900], 1
jbe 0x40ba1f
lea eax, [ebp - 0x844]
mov ecx, 0x60e3b0
push eax
call fcn.004d1410
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x844]
call fcn.004046e0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
push esi
call dword [ebp - 0x904]
add esp, 4
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x82c]
call fcn.004046e0
jmp 0x40ba57
push 5
call fcn.004242e0
push dword [ebp - 0x814]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [sym.imp.BasicBusiness.dll_public:_static_class_RC::DM::RCBasicBusinessDMgr____cdecl_RC::DM::RCBasicBusinessDMgr::GetInstance_void_]
call esi
mov ecx, eax
call dword [sym.imp.BasicBusiness.dll_public:_bool___thiscall_RC::DM::RCBasicBusinessDMgr::Stop_void_]
call esi
mov ecx, eax
call dword [sym.imp.BasicBusiness.dll_public:_bool___thiscall_RC::DM::RCBasicBusinessDMgr::StopListMgrSystem_void_]
lea eax, [ebp - 0x908]
push eax
call dword [sym.imp.BasicBusinessConfigCenter.dll_public:_static_class_RC::DM::RCBasicBusinessConfigCenterDMgr____cdecl_RC::DM::RCBasicBusinessConfigCenterDMgr::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.BasicBusinessConfigCenter.dll_public:_class_RC::DM::RCReturnValue___thiscall_RC::DM::RCBasicBusinessConfigCenterDMgr::Stop_void_]
mov eax, dword [0x60e284]
test eax, eax
jne 0x40bada
mov ecx, dword [0x60e28c]
mov edx, dword [ecx]
test edx, edx
je 0x40babb
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x60e28c]
mov eax, dword [0x60e284]
mov ecx, dword [ecx]
mov eax, dword [eax]
mov esi, dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [ebp - 0x904], eax
test ecx, ecx
je 0x40bae2
push ecx
call esi
mov eax, dword [ebp - 0x904]
jmp 0x40bae2
mov eax, dword [eax]
mov esi, dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, eax
call fcn.00483e80
mov eax, dword [0x60e284]
test eax, eax
jne 0x40bb97
mov ecx, dword [0x60e28c]
mov edx, dword [ecx]
test edx, edx
je 0x40bb16
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x60e28c]
mov eax, dword [0x60e284]
mov eax, dword [eax]
mov dword [ebp - 0x814], eax
mov eax, dword [ecx]
test eax, eax
je 0x40bb27
push eax
call esi
mov ecx, dword [ebp - 0x814]
call fcn.00483c90
mov esi, eax
mov eax, dword [esi + 0x38]
test eax, eax
je 0x40bb42
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x40bb62
call fcn.005510b0
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x40bb5b
push ecx
call fcn.004834b0
mov dword [esi + 0x30], 0
mov eax, dword [ebp - 0x90c]
mov esi, dword [eax + 4]
test esi, esi
je 0x40bb88
mov ecx, esi
mov dword [eax + 4], 0
call fcn.00431470
push 0x20
push esi
call fcn.0054bf14
add esp, 8
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call eax
xor esi, esi
jmp 0x40bc5d
mov ecx, dword [eax]
jmp 0x40bb2d
push 4
call fcn.004242e0
push 2
mov ecx, 0x60e3b0
call fcn.004d1070
mov esi, eax
test esi, esi
je 0x40bc46
xor eax, eax
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 7
mov word [ebp - 0x844], ax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x844]
push 0xe
push str.Core_dll_wrong
call fcn.004047a0
push 0xb4
push str.RC::TEHIPS::RCHipsMain::Main
push str.d:_rhinoprotect_rtpsystem_src2345rtprotect_rchipsmain.cpp
lea eax, [ebp - 0x844]
mov ecx, 0x60e3b0
push eax
push 2
call fcn.004d10e0
cmp esi, 1
jbe 0x40bc37
lea eax, [ebp - 0x844]
mov ecx, 0x60e3b0
push eax
call fcn.004d1410
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x844]
call fcn.004046e0
push dword [ebp - 0x814]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call eax
or esi, 0xffffffff
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x8bc]
call fcn.004046e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x85c]
call fcn.004046e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x874]
call fcn.004046e0
jmp 0x40bde0
push 2
call fcn.004242e0
test edi, edi
je 0x40bca1
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x60e3b0], 0
je 0x40bddd
push ecx
mov ecx, 0x60e3b0
call fcn.004d07d0
mov eax, dword [0x60e3b0]
cmp byte [eax + 0x54], 0
je 0x40bddd
cmp dword [eax + 0x58], 5
jb 0x40bddd
mov al, byte [eax + 0x5c]
mov byte [ebp - 0x8dd], al
xor eax, eax
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 7
mov word [ebp - 0x844], ax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x82c]
push 0x3f
mov dword [ebp - 0x81c], eax
mov dword [ebp - 0x818], eax
push str.GlobalRCAV7E47DA93_AF41_4450_90CD_31C78125287D_RTPROTECT_MUTEX
mov dword [ebp - 0x81c], eax
mov dword [ebp - 0x818], 7
mov word [ebp - 0x82c], ax
call fcn.004047a0
or esi, 2
lea eax, [ebp - 0x82c]
mov dword [ebp - 0x8e4], esi
cmp dword [ebp - 0x818], 8
push dword [ebp - 0x904]
cmovae eax, dword [ebp - 0x82c]
push eax
lea eax, [ebp - 0x844]
push str.CreateMutex__s_error__d
push eax
call fcn.004d1600
and esi, 0xfffffffd
add esp, 0x10
mov dword [ebp - 0x8e4], esi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x82c]
call fcn.004046e0
push 0x72
push str.RC::TEHIPS::RCHipsMain::Main
push str.d:_rhinoprotect_rtpsystem_src2345rtprotect_rchipsmain.cpp
lea eax, [ebp - 0x844]
mov ecx, 0x60e3b0
push eax
push 5
call fcn.004d10e0
cmp byte [ebp - 0x8dd], 0
je 0x40bdce
lea eax, [ebp - 0x844]
mov ecx, 0x60e3b0
push eax
call fcn.004d1410
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.004046e0
or esi, 0xffffffff
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88c]
call fcn.004046e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8d4]
call fcn.004046e0
mov eax, esi
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.0054bed3
mov esp, ebp
pop ebp
ret 4