Function at 0x4019d0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x41c214]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xe0], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x41c9b8], eax
push str.DDAS.WinCC.DataManager
mov ecx, 0x41c740
call fcn.00409b60
call fcn.00402e00
movzx eax, al
test eax, eax
je 0x401a25
push 0
push 0x41c740
push str.DMRT
mov ecx, 0x41c758
call fcn.00402c70
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe0]
call fcn.00401940
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
push ecx
push str.CCRtsLoader:_InitializeSecurity____hr___x_r_n
push 0xffffffffffffffff
push 0x64
lea edx, [ebp - 0xcc]
push edx
call fcn.00411730
add esp, 0x14
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str.Service_started
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.00401ea0
add esp, 8
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0x254], 0
je 0x401aa2
push 4
mov ecx, dword [ebp - 0xe0]
call fcn.00401f90
push 0
push 0x41571c
push str.CCDmRtServer
push 0x415528
mov ecx, 0x41c768
call fcn.00401fd0
push 0
push 0x415724
push str.CCDmRtServer
push 0x415558
mov ecx, 0x41c768
call fcn.00401fd0
push 1
push 0x41572c
push str.CCDmRtServer
push 0x415538
mov ecx, 0x41c768
call fcn.00401fd0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x110], 0x400
mov ecx, 0x41c9c0
call fcn.004114c0
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x401d84
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xdc], 0
cmp dword [ebp - 0xd0], 0
jne 0x401c18
push 0x41c9cc
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, 0x41c9c0
call fcn.004114c0
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
jne 0x401b83
push 0x41c9cc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x401d5e
xor ecx, ecx
mov eax, dword [ebp - 0xd4]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00412af4
add esp, 4
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x401c0d
mov dword [ebp - 0xd8], 0
jmp 0x401bd8
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xd4]
jae 0x401c0d
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, 0x41c9c0
call fcn.004059b0
mov ecx, dword [eax]
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
mov dword [eax + edx*4], ecx
jmp 0x401bc9
push 0x41c9cc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 1
push 0
push 0
push 0
lea edx, [ebp - 0x114]
push edx
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x401c4b
cmp dword [ebp - 0x110], 0x12
jne 0x401c3c
jmp 0x401c4b
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x401c18
cmp dword [ebp - 0x110], 0x12
je 0x401d51
push 0x4ff
push 0x3e8
push 0
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jb 0x401d12
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xd4]
jae 0x401d12
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xec], ecx
push str.CCRtsLoader:_TerminateEvent_received_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + edx*4]
push ecx
mov ecx, 0x41c768
call fcn.00402450
mov ecx, 0x41c9c0
call fcn.004114c0
test eax, eax
jne 0x401ceb
push 0
push 0
push 0x12
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.USER32.dll_PostThreadMessageW]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xf0]
push eax
call fcn.00412afd
add esp, 4
mov dword [ebp - 0xd0], 0
jmp 0x401d51
cmp dword [ebp - 0xdc], 0x102
jne 0x401d51
mov ecx, 0x41c768
call fcn.00402670
test eax, eax
je 0x401d51
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf4]
push edx
call fcn.00412afd
add esp, 4
mov dword [ebp - 0xd0], 0
cmp dword [ebp - 0x110], 0x12
jne 0x401b42
cmp dword [ebp - 0xd0], 0
je 0x401d82
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf8]
push ecx
call fcn.00412afd
add esp, 4
jmp 0x401daa
push 0
push 0
push 0
lea edx, [ebp - 0x114]
push edx
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x401daa
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x401d84
mov ecx, 0x41c768
call fcn.00402360
mov ecx, 0x41c758
call fcn.00402d40
mov ecx, 0x41c740
call fcn.0040d550
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004134d5
mov esp, ebp
pop ebp
ret