Function at 0x4d1c40
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x540539
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x588088]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
push 0x18
mov dword [ebp - 0x30], edi
call fcn.004e1a35
add esp, 4
mov dword [edi], eax
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebp - 4], 0
lea ebx, [edi + 4]
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov byte [ebp - 4], 1
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov byte [ebp - 4], 2
lea esi, [edi + 0x14]
mov dword [ebp - 0x14], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004cf5e0
mov dword [esi], eax
mov byte [ebp - 4], 5
mov dword [edi + 0x1c], 0
mov byte [ebp - 4], 6
lea esi, [edi + 0x20]
mov dword [ebp - 0x14], esi
lea ecx, [esi + 8]
mov dword [esi], 0
mov byte [esi + 4], 0
call fcn.00402ac0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
push 0x5576cc
call fcn.00402a70
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2c]
push 0
push 1
push eax
mov ecx, esi
call fcn.004a2120
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
call fcn.00402a60
mov eax, dword [esi]
test eax, eax
je 0x4d1d31
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [edi]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x14], edi
test eax, eax
je 0x4d1d48
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4c]
push str.GlobalRCAV7E47DA93_AF41_4450_90CD_31C78125287D_RTPROTECT_MUTEX
call fcn.00402a70
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2c]
push str.2345RTProtect.exe
call fcn.00402a70
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x4c]
push ebx
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004d2110
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2c]
call fcn.00402a60
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4c]
call fcn.00402a60
push str.7A504455_92EF_4B25_8E3F_D8F56B6FCF22
lea ecx, [ebp - 0x2c]
call fcn.00402a70
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4c]
push str.2345SafeCenterUpdate.exe
call fcn.00402a70
mov byte [ebp - 4], 0xe
lea eax, [edi + 0xc]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004d2110
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4c]
call fcn.00402a60
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
call fcn.00402a60
push 0xc
call fcn.004e1a35
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0xf
xorps xmm0, xmm0
push edi
movq qword [eax], xmm0
mov ecx, eax
push 0x4d19c0
mov dword [eax + 8], 0
call fcn.004aa2a0
mov ebx, eax
mov byte [ebp - 4], 0xa
mov esi, dword [edi + 0x1c]
cmp esi, ebx
je 0x4d1e50
mov ecx, dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
test ebx, ebx
je 0x4d1e33
push 1
lea eax, [ebx + 4]
push eax
call ecx
mov esi, dword [edi + 0x1c]
mov ecx, dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
test esi, esi
je 0x4d1e4b
push 0xffffffffffffffff
lea eax, [esi + 4]
push eax
call ecx
sub eax, 1
jne 0x4d1e4b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [edi + 0x1c], ebx
mov esi, ebx
mov ecx, esi
call fcn.004aa4f0
mov byte [ebp - 4], 8
mov eax, dword [edi]
test eax, eax
je 0x4d1e68
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 0xffffffff
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004e1a24
mov esp, ebp
pop ebp
ret