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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
push edi
push str.GlobalSVNClientMgrControl
xor edi, edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp eax, edi
mov dword [0x43af74], eax
je 0x40d191
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40d191
movzx ecx, byte [0x439ca8]
mov eax, dword [0x439cac]
mov edx, dword [ecx*4 + 0x43915c]
push edi
push eax
push edx
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [0x43af74]
cmp eax, edi
je 0x40d174
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x43af74], edi
push str.SVNCMgr.exe_is_already_exist_
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call fcn.00415010
test eax, eax
je 0x40d1c2
push 0x40d0f0
call dword [sym.imp.SSLVPNDump.DLL_InstallFaultReport]
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
cmp ax, 0x804
jne 0x40d1b8
push 1
jmp 0x40d1b9
push edi
call dword [sym.imp.SSLVPNDump.DLL_SetLanguage2FaultReport]
add esp, 4
mov ebx, dword [ebp + 0x10]
push ebx
push str.SVNClient_Manager_is_started_cmd_s
mov ecx, 0x43b48c
call fcn.0040a090
mov esi, dword [ebp + 8]
push str._startservice
push ebx
mov dword [0x43af70], esi
call fcn.0041c810
add esp, 0x10
test eax, eax
je 0x40d207
push str.SVNClient_Manager_will_auto_start
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [0x43af7c], 1
jmp 0x40d22f
push str._install
push ebx
call fcn.0041c810
add esp, 8
test eax, eax
je 0x40d229
call fcn.0040cfb0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [0x43af7c], edi
mov ebx, dword [sym.imp.USER32.dll_LoadStringA]
push 0x64
push 0x43ad38
push 0x67
push esi
call ebx
push 0x64
push 0x43acd0
push 0x6d
push esi
call ebx
mov eax, esi
call fcn.0040dd20
push esi
call fcn.0040d4f0
add esp, 4
test eax, eax
jne 0x40d444
cmp dword [0x43af94], edi
jne 0x40d434
push 0x65
push 0xff
push str.SendMessageToAgent_wParam____d___lParam__d_
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 0xc
cmp dword [0x43b458], edi
je 0x40d29c
push str.Ending_session__stop_sending_message_to_agent.
jmp 0x40d427
mov eax, dword [0x43ac0c]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40d2f5
mov ecx, dword [0x43ac0c]
push 0x65
push 0xff
push 0x1080
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov edx, dword [0x43ac0c]
push 0x65
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
call fcn.0040dac0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov esi, eax
mov dword [esp + 0x10], esi
call ebx
sub eax, esi
cmp eax, 0x2710
jae 0x40d434
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 dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
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 0x40d3ec
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 0x40d39b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x40d39b
push str.Ocx_or_plugin_do_not_exist_
call fcn.00403400
add esp, 4
cmp edi, 2
je 0x40d422
push 0x1f4
add edi, 1
call dword [sym.imp.KERNEL32.dll_Sleep]
call ebx
push 0x65
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, dword [esp + 0x24]
add esp, 0x14
cmp esi, 0x2710
jb 0x40d312
call fcn.0040dac0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push str.IsWindow__TRUE__message_has_sent.
call fcn.0040a090
mov ecx, dword [0x43ac0c]
add esp, 4
push 0x65
push 0xff
push 0x1080
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
call fcn.0040dac0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push str.Ocx_or_plugin_do_not_exist_stop_try_to_post_message_to_agent.
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 4
call fcn.0040dac0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call fcn.00404320
test eax, eax
je 0x40d454
call fcn.00404530
jmp 0x40d45f
push str.Create_communication_window_failed
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push edi
push edi
push edi
lea edx, [esp + 0x20]
push edx
call esi
neg eax
sbb eax, eax
neg eax
je 0x40d4cf
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
mov edi, dword [sym.imp.USER32.dll_DispatchMessageA]
cmp eax, 0xffffffff
je 0x40d4bd
lea eax, [esp + 0x14]
push eax
call ebx
lea ecx, [esp + 0x14]
push ecx
call edi
push 0
push 0
push 0
lea edx, [esp + 0x20]
push edx
call esi
neg eax
sbb eax, eax
neg eax
jne 0x40d483
call fcn.0040dac0
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push str.Main_message_loop_GetMessage_return__1
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 4
call fcn.0040dac0
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10