Function at 0x401360
Capabilities:
Check mutex on windows
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x45c
mov eax, dword [0x42603c]
xor eax, esp
mov dword [esp + 0x458], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x41ae70
xor edi, edi
push edi
push edi
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4013c2
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x10]
mov edx, 0x428938
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4013d0
call fcn.00401050
mov ecx, str._smrtml
call fcn.004028b0
mov ebx, 1
cmp al, bl
jne 0x4013fd
mov byte [0x429f50], bl
mov ecx, str._ptttml
call fcn.004028b0
cmp al, bl
jne 0x401411
mov byte [0x429f51], bl
mov ecx, str._ptton
call fcn.004028b0
cmp al, bl
jne 0x401425
mov byte [0x429f52], bl
mov ecx, str._show
call fcn.004028b0
cmp al, bl
jne 0x401439
mov byte [0x429f53], bl
mov ecx, str._driver
call fcn.004028b0
cmp al, bl
jne 0x40144d
mov byte [0x429f54], bl
mov ecx, str._guid
call fcn.004028b0
cmp al, bl
jne 0x401461
mov byte [0x429f55], bl
mov ecx, str._pcinfo
call fcn.004028b0
cmp al, bl
jne 0x401475
mov byte [0x429f56], bl
mov ecx, str._opt
call fcn.004028b0
cmp al, bl
jne 0x401489
mov byte [0x429f57], bl
mov ecx, str._agn
call fcn.004028b0
cmp al, bl
jne 0x40149d
mov byte [0x429f58], bl
mov ecx, str._NoUI
call fcn.004028b0
cmp al, bl
jne 0x4014b1
mov byte [0x429f59], bl
mov ecx, str._older
call fcn.004028b0
cmp al, bl
jne 0x4014c5
mov byte [0x429f5a], bl
mov ecx, str._alt
call fcn.004028b0
cmp al, bl
jne 0x4014d9
mov byte [0x429f5b], bl
mov ecx, str._log
call fcn.004028b0
cmp al, bl
jne 0x4014ed
mov byte [0x429f5c], bl
mov ecx, str._delregdv
call fcn.004028b0
cmp al, bl
jne 0x401501
mov byte [0x429f5e], bl
mov ecx, str._delprocessdv
call fcn.004028b0
cmp al, bl
jne 0x401515
mov byte [0x429f5f], bl
mov ecx, str._Script
call fcn.004028b0
cmp al, bl
jne 0x401529
mov byte [0x429f60], bl
cmp byte [0x429f51], 0
je 0x401567
push edi
mov ecx, 0x41af7c
call fcn.00404e40
add esp, 4
push edi
mov ecx, 0x41af90
call fcn.00404e40
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
cmp byte [0x429f52], 0
je 0x4015a5
push ebx
mov ecx, 0x41af7c
call fcn.00404e40
add esp, 4
push ebx
mov ecx, 0x41af90
call fcn.00404e40
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
cmp byte [0x429f5e], 0
je 0x4015cc
call fcn.00405890
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
cmp byte [0x429f5f], 0
je 0x4015f3
call fcn.00405e90
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
mov al, byte [0x4274c2]
cmp al, 9
je 0x40167a
cmp al, 0x20
je 0x40167a
cmp al, 0xa
je 0x40167a
mov eax, 0x428938
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x401610
sub eax, edx
sar eax, 1
je 0x40162a
cmp byte [0x429f53], 0
je 0x401656
push 0x10
push 0x41afa8
push 0x41afb8
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
push str.Customer_RMS7
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
push str.Ver._7.22.04
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov al, byte [0x4274c2]
cmp al, 9
je 0x401750
cmp al, 0xa
je 0x401750
mov byte [0x4288f5], 0
push 0x104
push 0x429b40
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40191e
push 0x206
lea edx, [esp + 0x66]
xor ecx, ecx
push edi
push edx
mov word [esp + 0x6c], cx
call fcn.00414930
add esp, 0xc
push 0x429b40
lea eax, [esp + 0x64]
push str._Start_Run_wmcRMS7_File_Path:__s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea ecx, [esp + 0x6c]
add esp, 0xc
push ecx
call fcn.004033d0
add esp, 4
push 0x5c
push 0x429b40
call fcn.0040e5d4
add eax, 2
mov edx, 0x429d48
add esp, 8
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x401712
push str.RMS7_DEBUG.exe
push 0x429d48
call fcn.0040daf6
add esp, 8
test eax, eax
jne 0x40192b
push str.1.Debug_Mode:_ON
mov byte [0x4288f6], bl
call fcn.00403020
jmp 0x401928
mov byte [0x4288f5], bl
call fcn.004046b0
test eax, eax
jne 0x401785
push str.Customer_RMS7_exit.
call fcn.004033d0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
cmp byte [0x4274c3], bl
jne 0x40179b
mov byte [0x4288f7], bl
mov byte [0x429f53], bl
jmp 0x4017a9
mov byte [0x4288f7], 0
mov byte [0x429f53], 0
call fcn.00404060
test eax, eax
jne 0x4017e2
mov eax, 0x41b044
call fcn.00404690
push str.Customer_RMS_exit.
call fcn.004033d0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
call fcn.00403f20
test eax, eax
jne 0x40181b
mov eax, str._rN_bT_
call fcn.00404690
push str.Customer_RMS_exit.
call fcn.004033d0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
call fcn.00404230
test eax, eax
jne 0x401854
mov eax, 0x41b0c0
call fcn.00404690
push str.Customer_RMS_exit.
call fcn.004033d0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
call fcn.00403c30
call fcn.00404360
test eax, eax
jne 0x4016a1
mov eax, 0x4272be
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401870
sub eax, edx
cmp eax, ebx
jae 0x4018ad
mov eax, str.uP_ndk
call fcn.00404690
push str.Customer_RMS_exit.
call fcn.004033d0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
push 0x3ff
lea ecx, [esp + 0x65]
push edi
push ecx
mov byte [esp + 0x6c], 0
call fcn.00414930
add esp, 0xc
push 0x4272be
lea edx, [esp + 0x64]
push 0x41b120
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp byte [0x4288f7], bl
jne 0x4018f8
push 0x10
push 0x41b168
lea eax, [esp + 0x68]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
push str.Customer_RMS_exit.
call fcn.004033d0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
push str._Start_Run_wmcRMS7_File_Path:__Unknow_
call fcn.004033d0
add esp, 4
call fcn.00407210
cmp al, bl
jne 0x4019ab
mov eax, 0x428938
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x401940
sub eax, edx
sar eax, 1
jne 0x401985
push 0x40024
push 0x41b250
push 0x41b258
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
jne 0x4019ab
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
push str.Server_Uninstall_Please_Under_UI_Mode__exit__
call fcn.004033d0
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x458]
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esp + 0xc]
mov esi, dword [sym.imp.USER32.dll_LoadIconW]
push 0x65
push eax
mov dword [esp + 0x1c], 0x30
mov dword [esp + 0x20], 3
mov dword [esp + 0x24], 0x401ab0
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], eax
call esi
push 0x7f00
push edi
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
mov edx, dword [esp + 0x28]
push 0x65
push edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 6
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], 0x41b2ec
call esi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 0x80000
push 0x41b2ec
push 0x41b2ec
push edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
cmp eax, edi
je 0x4013a9
push eax
mov dword [0x428810], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push edi
push edi
push edi
lea ecx, [esp + 0x50]
push ecx
call esi
test eax, eax
je 0x401a8f
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
lea edx, [esp + 0x44]
push edx
call edi
lea eax, [esp + 0x44]
push eax
call ebx
push 0
push 0
push 0
lea ecx, [esp + 0x50]
push ecx
call esi
test eax, eax
jne 0x401a70
mov ecx, dword [esp + 0x464]
mov eax, dword [esp + 0x4c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret 0x10