Function at 0x40e9e0
Capabilities:
Check for time delay via gettickcount
Check if file exists
Check mutex on windows
Print debug messages

Disassembly:
push ecx
movzx eax, byte [0x439ca8]
mov eax, dword [eax*4 + 0x43933c]
mov ecx, dword [0x43af78]
push ebx
push ebp
push esi
push edi
push 0x24
push str.Client_Manager
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x40ec4e
mov edx, dword [0x43b7f8]
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x1388
push edx
mov dword [0x43af7c], 2
call esi
call fcn.0040f190
mov byte [0x43ac43], 2
call fcn.0040f260
mov eax, dword [0x43b7f8]
mov edi, dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push eax
call edi
mov ecx, dword [0x43b7f8]
push 0x1388
push ecx
mov dword [0x43a9c8], 0xff
mov dword [0x43a9cc], 0
call esi
call fcn.0040f190
mov byte [0x43ac40], 2
mov byte [0x43ac41], 2
mov byte [0x43ac42], 2
call fcn.0040f260
mov edx, dword [0x43b7f8]
push edx
call edi
push 0x68
push 0xff
push str.SendMessageToAgent_wParam____d___lParam__d_
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 0xc
cmp dword [0x43b458], 0
je 0x40eac4
push str.Ending_session__stop_sending_message_to_agent.
jmp 0x40ec21
mov eax, dword [0x43ac0c]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40eb12
mov ecx, dword [0x43ac0c]
push 0x68
push 0xff
push 0x1080
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov edx, dword [0x43ac0c]
push 0x68
push 0xff
push 0x1080
push edx
push str.PostMessage_to_agent_hwnd0x_08x_msg_d_service_d_parm_d
call fcn.00403400
add esp, 0x14
jmp 0x40ec2e
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebp
mov ebx, eax
xor edi, edi
call ebp
sub eax, ebx
cmp eax, 0x2710
jae 0x40ec2e
jmp 0x40eb36
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push str.hAgentWnd_is_invalid_refresh_inter_process_info
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x43b7f8]
push 0x1388
push eax
call esi
call fcn.0040f190
mov ecx, dword [0x43b7f8]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edx, dword [0x43ac0c]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
mov ecx, 0x43b48c
jne 0x40ebf4
push str.Post_message_to_agent_failed
call fcn.0040a090
add esp, 4
push str.GlobalSVNIEAgentControl
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
jne 0x40ebb3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x40ebb3
push str.Ocx_or_plugin_do_not_exist_
call fcn.00403400
add esp, 4
cmp edi, 2
je 0x40ec1c
push 0x1f4
add edi, 1
call dword [sym.imp.KERNEL32.dll_Sleep]
call ebp
push 0x68
push 0xff
mov esi, eax
mov eax, dword [0x43ac0c]
push 0x1080
push eax
push str.PostMessage_to_agent_hwnd0x_08x_msg_d_service_d_parm_d
call fcn.00403400
sub esi, ebx
add esp, 0x14
cmp esi, 0x2710
jb 0x40eb30
jmp 0x40ec2e
push str.IsWindow__TRUE__message_has_sent.
call fcn.0040a090
mov ecx, dword [0x43ac0c]
add esp, 4
push 0x68
push 0xff
push 0x1080
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x40ec2e
push str.Ocx_or_plugin_do_not_exist_stop_try_to_post_message_to_agent.
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 4
mov edx, dword [0x43af78]
push 0
push 0
push 0x101e
push edx
mov dword [0x4395b0], 1
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret