Function at 0x4f6480
Capabilities:
Check mutex on windows
Check os version
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56d5c6
mov eax, dword fs:[0]
push eax
sub esp, 0x1c8
mov eax, dword [0x5b7de4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x64], 0
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov ebx, eax
lea ecx, [ebp - 0x40]
cmp bl, 6
sbb esi, esi
neg esi
call fcn.0043a100
cmp dword [0x5c8770], 0
mov dword [0x5c876c], esi
je 0x4f64f0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4f64f0
mov edi, dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
push eax
call edi
jmp 0x4f64f6
mov edi, dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
cmp bl, 6
lea ecx, [ebp - 0x40]
sbb esi, esi
inc esi
call fcn.0043a100
cmp dword [0x5c8770], 0
mov dword [0x5c8768], esi
je 0x4f651d
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4f651d
push eax
call edi
push 0x5c8648
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x5c8660]
mov dword [ebp - 4], 0
test ebx, ebx
jne 0x4f6561
push 0x5c
call fcn.005189be
add esp, 4
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x4f6559
mov ecx, eax
call fcn.0040fbe0
mov ebx, eax
jmp 0x4f655b
xor ebx, ebx
mov dword [0x5c8660], ebx
inc dword [0x5c8664]
push 0x5c8648
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x80], ebx
sub esp, 0x18
mov dword [ebp - 4], 2
mov ecx, esp
mov dword [ebp - 0x68], esp
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
push 9
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.Interface
mov byte [ecx], 0
call fcn.0040a4a0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 3
push eax
sub esp, 0x18
mov ecx, esp
push 0xc
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.ScalePercent
mov byte [ecx], 0
call fcn.0040a4a0
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.00414860
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x68], esp
push 9
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.Interface
mov byte [ecx], 0
call fcn.0040a4a0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 4
push eax
sub esp, 0x18
mov ecx, esp
push 0x11
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.LocalScalePercent
mov byte [ecx], 0
call fcn.0040a4a0
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.00414860
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x40]
mov esi, dword [ebp - 0x5c]
test eax, eax
cmovg esi, eax
call fcn.0043a100
mov dword [0x5c8770], esi
test esi, esi
je 0x4f6665
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4f6665
push eax
call edi
lea ecx, [ebp - 0x170]
call fcn.0043a100
cmp dword [0x5c8770], 0
je 0x4f66a0
cmp dword [ebp - 0x148], 0
jne 0x4f66a0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push 0
lea eax, [ebp - 0x170]
push eax
push 5
call dword [sym.imp.USER32.dll_SetWindowsHookExA]
mov dword [ebp - 0x148], eax
xorps xmm0, xmm0
mov dword [ebp - 0x1a8], 0x57337c
movups xmmword [ebp - 0x1a4], xmm0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 6
push eax
mov ecx, 0x5c8950
call fcn.0043b190
push str._SNC_SERVICE_MODE
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
cmp eax, 0xb7
sete cl
mov dword [ebp - 0x64], ecx
test esi, esi
je 0x4f670f
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x4f68ef
mov dword [ebp - 0x140], 0x5718fc
mov dword [ebp - 0x130], 0x571904
push 0
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 7
xorps xmm0, xmm0
mov dword [ebp - 0x64], 1
push eax
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc8], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0xcc], 0x60
movlpd qword [ebp - 0x138], xmm0
call fcn.00433010
lea eax, [ebp - 0x130]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x134], eax
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_iostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0x144], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 4], 0xc
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_fstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_fstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x78]
mov dword [ebp + ecx - 0x144], eax
lea ecx, [ebp - 0x128]
call fcn.0041da40
lea eax, [ebp - 0x124]
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
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0x120]
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x100]
mov dword [ebp - 0xf8], eax
mov eax, dword [0x5c85e8]
mov dword [ebp - 0xe8], eax
mov eax, dword [0x5c85ec]
mov byte [ebp - 0xe0], 0
mov byte [ebp - 0xeb], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xf0], 0
push 0x40
push 1
push str.FullScreen.pid
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0xd
call fcn.0040d8c0
cmp dword [ebp - 0xdc], 0
jne 0x4f698c
lea ecx, [ebp - 0x140]
call fcn.0040c210
xor edi, edi
mov dword [0x5c8760], edi
mov dword [0x5c875c], edi
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x5c86b8
mov dword [0x5b71c8], 0x14
call edi
mov eax, dword [0x5c86d0]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x4f6931
call fcn.00421610
mov dword [ebp - 0x58], eax
mov dword [0x5c86d0], eax
inc dword [0x5c86d4]
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x5c86b8
call esi
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x64], eax
push 0x5c8688
call edi
mov edi, dword [0x5c86a0]
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x5c], edi
test edi, edi
jne 0x4f6a05
push 0x158c8
call fcn.005189be
add esp, 4
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x4f69fa
mov ecx, eax
call fcn.00464ee0
mov edi, eax
mov dword [ebp - 0x5c], eax
jmp 0x4f69ff
push 0x40
lea eax, [ebp - 0x54]
push 0
push eax
call fcn.00530cf0
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x140]
add esp, 0xc
mov eax, dword [eax + 4]
add ecx, eax
push 0xa
call fcn.004d64f0
movzx eax, al
lea ecx, [ebp - 0x140]
push eax
push 0
push 0x3f
lea eax, [ebp - 0x54]
push eax
call fcn.004f7c40
push 0xa
lea eax, [ebp - 0x54]
push 0
push eax
call fcn.00544a89
add esp, 0xc
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
neg eax
lea ecx, [ebp - 0x140]
sbb edi, edi
and edi, esi
call fcn.0040c210
jmp 0x4f68f1
xor edi, edi
mov dword [ebp - 0x5c], edi
mov dword [0x5c86a0], edi
inc dword [0x5c86a4]
push 0x5c8688
call esi
mov dword [ebp - 0x68], edi
push 0x34
mov byte [ebp - 4], 0x12
call fcn.005189be
mov edi, eax
add esp, 4
mov dword [ebp - 0x6c], edi
mov byte [ebp - 4], 0x13
test edi, edi
je 0x4f6a3f
mov ecx, edi
call fcn.0043a590
mov dword [edi], vtable.._AVLocal__1____CreateInteractionObject_VStartupManager_Coordinators___InteractionObjectImpl__SAPAVStartupManager_Coordinators__H_Z_.0
jmp 0x4f6a41
xor edi, edi
mov ecx, edi
mov dword [ebp - 0x60], edi
mov byte [ebp - 4], 0x12
call fcn.00467a30
movzx eax, ax
mov ecx, edi
push eax
call fcn.00467b70
mov dword [ebp - 0x6c], edi
push 0x39c
mov byte [ebp - 4], 0x14
call fcn.005189be
mov esi, eax
add esp, 4
mov dword [ebp - 0x7c], esi
mov byte [ebp - 4], 0x15
test esi, esi
je 0x4f6aa6
mov ecx, esi
call fcn.00489fb0
mov dword [esi], vtable.._AVLocal__1____CreateInteractionObject_VMainFrame_Presentation___InteractionObjectImpl__SAPAVMainFrame_Presentation__H_Z_.0
mov dword [esi + 0x34], vtable.._AVLocal__1____CreateInteractionObject_VMainFrame_Presentation___InteractionObjectImpl__SAPAVMainFrame_Presentation__H_Z_.1.0
mov dword [esi + 0x38], vtable.._AVLocal__1____CreateInteractionObject_VMainFrame_Presentation___InteractionObjectImpl__SAPAVMainFrame_Presentation__H_Z_.2.0
mov dword [esi + 0x3c], vtable.._AVLocal__1____CreateInteractionObject_VMainFrame_Presentation___InteractionObjectImpl__SAPAVMainFrame_Presentation__H_Z_.3.0
mov dword [esi + 0x64], vtable.._AVLocal__1____CreateInteractionObject_VMainFrame_Presentation___InteractionObjectImpl__SAPAVMainFrame_Presentation__H_Z_.4.0
jmp 0x4f6aa8
xor esi, esi
lea eax, [esi + 0x3c]
mov dword [ebp - 0x78], esi
mov ecx, eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x70], eax
call fcn.00467a30
movzx eax, ax
lea ecx, [esi + 0x3c]
push eax
xor eax, eax
test esi, esi
cmove ecx, eax
call fcn.00467b70
mov dword [ebp - 0x7c], esi
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.0043d410
push 0
push 0
push 0
push ecx
mov eax, esp
mov ecx, esi
push 0
mov dword [eax], 0
call fcn.004f4650
test eax, eax
je 0x4f6ea9
push 0xa
push dword [esi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [esi + 0x364]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [ebp - 0x38]
call fcn.0040fe20
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x38], vtable.Communication::CUDPAppClient.0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
call fcn.0041a7b0
mov dword [ebp - 0x1c], eax
push 0x2bd
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1a
call fcn.00418fc0
mov ecx, edi
call fcn.0043bf60
test eax, eax
je 0x4f6f02
mov eax, dword [esi + 4]
mov dword [ebp - 0x60], eax
mov eax, dword [esi + 0x358]
test eax, eax
jne 0x4f6b8d
call fcn.00503a66
mov dword [esi + 0x358], eax
test eax, eax
jne 0x4f6b8d
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x4f6c17
push 0
push 0
push eax
call fcn.00503b65
lea eax, [esi + 0x344]
lea ecx, [eax + 8]
mov dword [ebp - 0x58], ecx
test ecx, ecx
je 0x4f6f5b
test eax, eax
je 0x4f6f5b
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [ebp - 0x58]
push 0x5b7124
mov dword [ecx + 4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x58]
mov eax, dword [0x5b713c]
push 0x5b7124
mov dword [ecx + 8], eax
mov dword [0x5b713c], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push 0x418be0
push dword [ebp - 0x60]
push 0xdb
push dword [0x5c89a0]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp eax, 2
jne 0x4f6c17
push 0
push 0
push 0x10
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0x38]
call fcn.004105e0
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 4], 0x16
call fcn.0043fee0
mov edx, dword [0x5c8760]
mov esi, dword [ebp - 0x70]
mov ecx, esi
mov dword [ebp - 0x60], eax
mov dword [0x5c875c], edx
call fcn.00467e00
mov ecx, edi
call fcn.0043cb30
mov ecx, 0x5c8950
call fcn.0043fdb0
cmp dword [esi + 0x10], 1
mov byte [ebp - 4], 0x1e
jne 0x4f6c7e
push 1
push 0
mov ecx, esi
call fcn.004678d0
mov ecx, dword [0x5c8858]
push 1
push esi
call fcn.00466d70
mov ecx, esi
call fcn.00467b90
mov byte [ebp - 4], 0x1f
test edi, edi
je 0x4f6cb3
cmp dword [edi + 0x10], 1
jne 0x4f6cac
push 1
push 0
mov ecx, edi
call fcn.004678d0
mov ecx, dword [0x5c8858]
push 1
push edi
call fcn.00466d70
mov ecx, edi
call fcn.00467b90
cmp dword [ebp - 0x5c], 0
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
je 0x4f6d11
push 0x5c8688
call edi
mov eax, dword [0x5c86a4]
test eax, eax
jne 0x4f6cde
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x5c8688
call esi
jmp 0x4f6d17
sub eax, 1
mov dword [0x5c86a4], eax
jne 0x4f6d02
mov ecx, dword [0x5c86a0]
test ecx, ecx
je 0x4f6d02
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x5c86a0], 0
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x5c8688
call esi
jmp 0x4f6d17
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp - 0x64]
call fcn.0043a6b0
lea ecx, [ebp - 0x1a8]
call fcn.0043a770
cmp dword [0x5c8770], 0
je 0x4f6d4e
mov eax, dword [ebp - 0x148]
test eax, eax
je 0x4f6d44
push eax
call dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov dword [ebp - 0x148], 0
test ebx, ebx
je 0x4f6d8d
push 0x5c8648
call edi
mov eax, dword [0x5c8664]
test eax, eax
je 0x4f6d86
sub eax, 1
mov dword [0x5c8664], eax
jne 0x4f6d86
mov ecx, dword [0x5c8660]
test ecx, ecx
je 0x4f6d86
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x5c8660], 0
push 0x5c8648
call esi
mov eax, dword [ebp - 0x60]
jmp 0x4f6e8d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x58]
call fcn.0040fad0
push 0
push 0x3f
push 0x57d7f8
push str.c:work_fss_snc_azs_serviceapp_serviceapp.cpp
sub esp, 0x14
mov byte [ebp - 4], 0x18
mov ecx, esp
push 0x57d82c
call fcn.00439fc0
lea ecx, [ebp - 0x58]
call fcn.00410a90
mov ecx, eax
call fcn.00417f00
push 0x57d82c
lea ecx, [ebp - 0x1bc]
call fcn.00439fc0
push 0x5a1224
lea eax, [ebp - 0x1bc]
push eax
call fcn.00531020
lea ecx, [ebp - 0x58]
call fcn.0040fad0
push 0
push 0x49
push 0x57d7f8
push str.c:work_fss_snc_azs_serviceapp_serviceapp.cpp
sub esp, 0x14
mov byte [ebp - 4], 0x1b
mov ecx, esp
push 0x57d850
call fcn.00439fc0
lea ecx, [ebp - 0x58]
call fcn.00410a90
mov ecx, eax
call fcn.00417f00
push 0x57d850
lea ecx, [ebp - 0x1d0]
call fcn.00439fc0
push 0x5a1224
lea eax, [ebp - 0x1d0]
push eax
call fcn.00531020
push 1
push 0xc0000005
call fcn.0041a790
int3