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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f269c
mov eax, dword fs:[0]
push eax
sub esp, 0x1c8
mov eax, dword [0x5299c0]
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 - 0x60], 0
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
mov dword [ebp - 0x60], eax
lea ecx, [ebp - 0x40]
sbb esi, esi
neg esi
call fcn.00421a50
cmp dword [0x53493c], 0
mov dword [0x534938], esi
je 0x48cd70
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x48cd70
mov ebx, dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
push eax
call ebx
jmp 0x48cd76
mov ebx, dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
cmp byte [ebp - 0x60], 6
lea ecx, [ebp - 0x40]
sbb esi, esi
inc esi
call fcn.00421a50
cmp dword [0x53493c], 0
mov dword [0x534934], esi
je 0x48cd9e
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x48cd9e
push eax
call ebx
lea ecx, [ebp - 0x74]
call fcn.00410d00
sub esp, 0x18
mov dword [ebp - 4], 0
mov ecx, esp
mov dword [ebp - 0x64], 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.00403090
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 1
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.00403090
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 0
call fcn.00415540
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x64], esp
push 9
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.Interface
mov byte [ecx], 0
call fcn.00403090
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 2
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.00403090
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 0
call fcn.00415540
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x40]
mov esi, dword [ebp - 0x5c]
test eax, eax
cmovg esi, eax
call fcn.00421a50
mov dword [0x53493c], esi
test esi, esi
je 0x48ce98
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x48ce98
push eax
call ebx
lea ecx, [ebp - 0x170]
call fcn.00421a50
cmp dword [0x53493c], 0
je 0x48ced3
cmp dword [ebp - 0x148], 0
jne 0x48ced3
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], 0x4f8248
movups xmmword [ebp - 0x1a4], xmm0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 4
push eax
mov ecx, 0x534b2c
call fcn.00424300
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 ebx, ebx
cmp eax, 0xb7
sete bl
test esi, esi
je 0x48cf3c
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x48d11c
mov dword [ebp - 0x140], 0x4f7924
mov dword [ebp - 0x130], 0x4f792c
push 0
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 5
xorps xmm0, xmm0
mov dword [ebp - 0x60], 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.00453f20
lea eax, [ebp - 0x130]
mov dword [ebp - 0x64], 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], 0xa
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.00439510
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 [0x534870]
mov dword [ebp - 0xe8], eax
mov eax, dword [0x534874]
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], 0xb
call fcn.0040ee90
cmp dword [ebp - 0xdc], 0
jne 0x48d1b4
lea ecx, [ebp - 0x140]
call fcn.0040d990
xor edi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x534914
mov dword [0x534910], edi
mov dword [0x53490c], edi
mov dword [0x529170], 0x19
call ebx
mov esi, dword [0x53492c]
mov byte [ebp - 4], 0xc
test esi, esi
jne 0x48d15c
call fcn.00427dc0
mov esi, eax
mov dword [0x53492c], esi
inc dword [0x534930]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x534914
call edi
mov dword [ebp - 0x60], esi
push 0x5348c8
call ebx
mov ebx, dword [0x5348e0]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x5c], ebx
test ebx, ebx
jne 0x48d22d
push 0x158c8
call fcn.004ab698
add esp, 4
mov dword [ebp - 0x64], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x48d222
mov ecx, eax
call fcn.004342a0
mov ebx, eax
mov dword [ebp - 0x5c], eax
jmp 0x48d227
push 0x40
lea eax, [ebp - 0x54]
push 0
push eax
call fcn.004c3810
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x140]
add esp, 0xc
mov eax, dword [eax + 4]
add ecx, eax
push 0xa
call fcn.004818e0
movzx eax, al
lea ecx, [ebp - 0x140]
push eax
push 0
push 0x3f
lea eax, [ebp - 0x54]
push eax
call fcn.0048e440
push 0xa
lea eax, [ebp - 0x54]
push 0
push eax
call fcn.004d0fb9
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.0040d990
jmp 0x48d11e
xor ebx, ebx
mov dword [ebp - 0x5c], ebx
mov dword [0x5348e0], ebx
inc dword [0x5348e4]
push 0x5348c8
call edi
mov dword [ebp - 0x64], ebx
push 0x38
mov byte [ebp - 4], 0x10
call fcn.004ab698
mov edi, eax
add esp, 4
mov dword [ebp - 0x70], edi
mov byte [ebp - 4], 0x11
test edi, edi
je 0x48d267
mov ecx, edi
call fcn.00421ee0
mov dword [edi], vtable.._AVLocal__1____CreateInteractionObject_VStartupManager_Coordinators___InteractionObjectImpl__SAPAVStartupManager_Coordinators__H_Z_.0
jmp 0x48d269
xor edi, edi
mov ecx, edi
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x10
call fcn.00437000
movzx eax, ax
mov ecx, edi
push eax
call fcn.00437140
mov dword [ebp - 0x70], edi
push 0x3a0
mov byte [ebp - 4], 0x12
call fcn.004ab698
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
mov byte [ebp - 4], 0x13
test esi, esi
je 0x48d2e1
mov ecx, esi
call fcn.004596c0
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 + method.Presentation::MainFrame.2.virtual_0], vtable.._AVLocal__1____CreateInteractionObject_VMainFrame_Presentation___InteractionObjectImpl__SAPAVMainFrame_Presentation__H_Z_.2.0
mov dword [esi + method.Presentation::MainFrame.3.virtual_0], vtable.._AVLocal__1____CreateInteractionObject_VMainFrame_Presentation___InteractionObjectImpl__SAPAVMainFrame_Presentation__H_Z_.3.0
mov dword [esi + method.Presentation::MainFrame.4.virtual_0], vtable.._AVLocal__1____CreateInteractionObject_VMainFrame_Presentation___InteractionObjectImpl__SAPAVMainFrame_Presentation__H_Z_.4.0
mov dword [esi + method.WindowStateManagerImpl_class_CWindowStateManager_.virtual_0], vtable.._AVLocal__1____CreateInteractionObject_VMainFrame_Presentation___InteractionObjectImpl__SAPAVMainFrame_Presentation__H_Z_.5.0
jmp 0x48d2e3
xor esi, esi
lea ebx, [esi + 0x248]
mov dword [ebp - 0x78], esi
mov ecx, ebx
mov byte [ebp - 4], 0x12
call fcn.00437000
movzx eax, ax
mov ecx, ebx
push eax
xor eax, eax
test esi, esi
cmove ecx, eax
call fcn.00437140
mov dword [ebp - 0x80], esi
mov ecx, edi
mov byte [ebp - 4], 0x15
call fcn.00429ea0
push 0
push 0
push 0
push ecx
lea eax, [edi + 0x34]
mov ecx, esi
mov dword [esi + 0x398], eax
mov eax, esp
push 0
mov dword [eax], 0
call fcn.0048aec0
test eax, eax
je 0x48d6ae
push 0xa
push dword [esi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [esi + 0x340]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [ebp - 0x38]
call fcn.00411190
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x38], vtable.Communication::CUDPAppClient.0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
call fcn.0041b4e0
mov dword [ebp - 0x1c], eax
push 0x2bd
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x18
call fcn.00419cf0
mov ecx, edi
call fcn.00426d00
test eax, eax
je 0x48d707
mov eax, dword [esi + 4]
mov dword [ebp - 0x68], eax
mov eax, dword [esi + 0x334]
test eax, eax
jne 0x48d3d0
call fcn.004a8c87
mov dword [esi + 0x334], eax
test eax, eax
jne 0x48d3d0
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x48d45c
push 0
push 0
push eax
call fcn.004a8d86
lea eax, [esi + 0x320]
lea ecx, [eax + 8]
mov dword [ebp - 0x58], ecx
test ecx, ecx
je 0x48d760
test eax, eax
je 0x48d760
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [ebp - 0x58]
push 0x529124
mov dword [ecx + 4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x58]
mov eax, dword [0x52913c]
push 0x529124
mov dword [ecx + 8], eax
mov dword [0x52913c], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push 0x419910
push dword [ebp - 0x68]
push 0xd1
push dword [0x534b98]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp eax, 2
jne 0x48d45c
mov ecx, esi
mov dword [esi + 0x384], 1
call fcn.00461940
cmp dword [0x534910], 0
jne 0x48d470
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
lea ecx, [ebp - 0x38]
call fcn.00411900
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 4], 0x14
call fcn.0042fae0
mov edx, dword [0x534910]
mov ecx, ebx
mov esi, eax
mov dword [0x53490c], edx
call fcn.004373f0
mov ecx, edi
call fcn.00428770
mov ecx, 0x534b2c
call fcn.0042f9b0
cmp dword [ebx + 0x10], 1
mov byte [ebp - 4], 0x1c
jne 0x48d4d3
push 1
push 0
mov ecx, ebx
call fcn.00436ea0
mov ecx, dword [0x5349ec]
push 1
push ebx
call fcn.00436340
mov ecx, ebx
call fcn.00437160
mov byte [ebp - 4], 0x1d
test edi, edi
je 0x48d508
cmp dword [edi + 0x10], 1
jne 0x48d501
push 1
push 0
mov ecx, edi
call fcn.00436ea0
mov ecx, dword [0x5349ec]
push 1
push edi
call fcn.00436340
mov ecx, edi
call fcn.00437160
cmp dword [ebp - 0x5c], 0
je 0x48d551
push 0x5348c8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x5348e4]
test eax, eax
je 0x48d546
sub eax, 1
mov dword [0x5348e4], eax
jne 0x48d546
mov ecx, dword [0x5348e0]
test ecx, ecx
je 0x48d546
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x5348e0], 0
push 0x5348c8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp - 0x60]
call fcn.00422210
lea ecx, [ebp - 0x1a8]
call fcn.00422440
cmp dword [0x53493c], 0
je 0x48d588
mov eax, dword [ebp - 0x148]
test eax, eax
je 0x48d57e
push eax
call dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov dword [ebp - 0x148], 0
lea ecx, [ebp - 0x74]
call fcn.00411560
mov eax, esi
jmp 0x48d692
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.004ab970
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x58]
call fcn.00410e40
push 0
push 0x41
push 0x4fd17c
push str.c:work_fss_snc_azsposterminalappposterminalapp.cpp
sub esp, 0x14
mov byte [ebp - 4], 0x16
mov ecx, esp
push 0x4fd1b8
call fcn.00421300
lea ecx, [ebp - 0x58]
call fcn.00411db0
mov ecx, eax
call fcn.00418be0
push 0x4fd1b8
lea ecx, [ebp - 0x1bc]
call fcn.00421300
push 0x519e4c
lea eax, [ebp - 0x1bc]
push eax
call fcn.004c283c
lea ecx, [ebp - 0x58]
call fcn.00410e40
push 0
push 0x4b
push 0x4fd17c
push str.c:work_fss_snc_azsposterminalappposterminalapp.cpp
sub esp, 0x14
mov byte [ebp - 4], 0x19
mov ecx, esp
push 0x4fd1dc
call fcn.00421300
lea ecx, [ebp - 0x58]
call fcn.00411db0
mov ecx, eax
call fcn.00418be0
push 0x4fd1dc
lea ecx, [ebp - 0x1d0]
call fcn.00421300
push 0x519e4c
lea eax, [ebp - 0x1d0]
push eax
call fcn.004c283c
push 1
push 0xc0000005
call fcn.0041b4c0
int3