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

Disassembly:
push ebx
push ebp
push esi
push edi
push str.Enter_OnDownloadFinish__
push 0
mov ecx, 0x43b48c
mov esi, eax
call fcn.0040a450
mov ebp, dword [esp + 0x1c]
add esp, 8
test ebp, ebp
jne 0x4107ce
push str.Enter_OnDownloadFinish_and_lParam__0
push ebp
mov ecx, 0x43b48c
call fcn.0040a450
push 0x69
push 0xff
push str.SendMessageToAgent_wParam____d___lParam__d_
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 0x14
cmp dword [0x43b458], ebp
je 0x410611
push str.Ending_session__stop_sending_message_to_agent.
jmp 0x410769
mov eax, dword [0x43ac0c]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41065f
mov ecx, dword [0x43ac0c]
push 0x69
push 0xff
push 0x1080
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov edx, dword [0x43ac0c]
push 0x69
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 0x410776
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov ebp, eax
xor edi, edi
call ebx
sub eax, ebp
cmp eax, 0x2710
jae 0x410776
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 0x41073c
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 0x4106fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x4106fb
push str.Ocx_or_plugin_do_not_exist_
call fcn.00403400
add esp, 4
cmp edi, 2
je 0x410764
push 0x1f4
add edi, 1
call dword [sym.imp.KERNEL32.dll_Sleep]
call ebx
push 0x69
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, ebp
add esp, 0x14
cmp esi, 0x2710
jb 0x41067a
jmp 0x410776
push str.IsWindow__TRUE__message_has_sent.
call fcn.0040a090
mov ecx, dword [0x43ac0c]
add esp, 4
push 0x69
push 0xff
push 0x1080
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x410776
push str.Ocx_or_plugin_do_not_exist_stop_try_to_post_message_to_agent.
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 4
push 0xfa0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0x43b7f8]
push 0x1388
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.0040f190
xor eax, eax
lea ebx, [ebx]
cmp byte [eax + 0x43ac40], 4
jne 0x4107b0
mov byte [eax + 0x43ac40], 0
add eax, 1
cmp eax, 3
jl 0x4107a0
call fcn.0040f260
mov eax, dword [0x43b7f8]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
pop edi
pop esi
pop ebp
pop ebx
ret
mov edi, dword [ebp + 8]
mov eax, edi
call fcn.00411f80
cmp esi, 0xfffffffe
mov ebx, eax
jne 0x4107ea
or dword [0x43b338], edi
pop edi
pop esi
pop ebp
pop ebx
ret
cmp esi, 0xffffffff
jne 0x410af7
push str.Enter_OnDownloadFinish_and_SYS_ERR__wParam
push 0
mov ecx, 0x43b48c
call fcn.0040a450
add esp, 8
cmp edi, 0x80
je 0x41090a
cmp edi, 0x10
je 0x41090a
cmp edi, 0x20
je 0x41090a
cmp edi, 0x30
je 0x41090a
cmp edi, 0x40
jne 0x41084c
push 0xfb
mov ebx, edi
push 0x1080
call fcn.0040ddb0
add esp, 8
jmp 0x410a84
push 0x69
push 0x1080
mov ebx, edi
call fcn.0040ddb0
mov ecx, dword [ebp + 0xc]
push ecx
push edi
push str.Failed_to_download_the_SVN_component__service_type___0x_x___operation___0x_x_
xor ebx, ebx
push ebx
mov ecx, 0x43b48c
call fcn.0040a450
mov edx, dword [0x43b7f8]
add esp, 0x18
push 0x1388
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.0040f190
mov eax, edi
and eax, 1
cmp al, 1
mov eax, dword [0x43a9c8]
jne 0x4108b1
mov ecx, eax
and ecx, 1
cmp cl, 1
mov byte [0x43ac40], bl
jne 0x4108b1
xor eax, 1
mov dword [0x43a9c8], eax
mov edx, edi
and edx, 2
cmp dl, 2
jne 0x4108d2
mov ecx, eax
and ecx, 2
cmp cl, dl
mov byte [0x43ac41], bl
jne 0x4108d2
xor eax, 2
mov dword [0x43a9c8], eax
mov edx, edi
and edx, 4
cmp dl, 4
jne 0x4108f3
mov ecx, eax
and ecx, 4
cmp cl, dl
mov byte [0x43ac42], bl
jne 0x4108f3
xor eax, 4
mov dword [0x43a9c8], eax
call fcn.0040f260
mov edx, dword [0x43b7f8]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x410a84
push 0x99
push 0x80
push str.SendMessageToAgent_wParam____d___lParam__d_
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 0xc
cmp dword [0x43b458], 0
je 0x410946
push str.Ending_session__stop_sending_message_to_agent.
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 4
jmp 0x410a84
mov eax, dword [0x43ac0c]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41099a
mov ecx, dword [0x43ac0c]
push 0x99
push 0x80
push 0x1080
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov edx, dword [0x43ac0c]
push 0x99
push 0x80
push 0x1080
push edx
push str.PostMessage_to_agent_hwnd0x_08x_msg_d_service_d_parm_d
call fcn.00403400
add esp, 0x14
jmp 0x410a84
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov ebp, eax
xor esi, esi
call ebx
sub eax, ebp
cmp eax, 0x2710
jae 0x410a80
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 0x410ab8
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 0x410a3e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x410a3e
push str.Ocx_or_plugin_do_not_exist_
call fcn.00403400
add esp, 4
cmp esi, 2
je 0x410ae3
push 0x1f4
add esi, 1
call dword [sym.imp.KERNEL32.dll_Sleep]
call ebx
push 0x99
push 0x80
mov edi, 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 edi, ebp
add esp, 0x14
cmp edi, 0x2710
jb 0x4109b5
mov ebp, dword [esp + 0x14]
mov eax, dword [0x43b338]
mov edx, eax
and edx, 1
cmp dl, 1
jne 0x410b4d
mov eax, dword [0x43af78]
push 1
push 1
push 0x101c
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
xor dword [0x43b338], 1
jmp 0x410c17
push str.IsWindow__TRUE__message_has_sent.
call fcn.0040a090
mov ecx, dword [0x43ac0c]
add esp, 4
push 0x99
push 0x80
push 0x1080
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x410a80
push str.Ocx_or_plugin_do_not_exist_stop_try_to_post_message_to_agent.
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 4
jmp 0x410a80
mov ecx, 0x43af98
call fcn.004160c0
test eax, eax
jne 0x410b14
push ebp
call fcn.0040c880
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
jne 0x410b29
push ebx
mov ebx, edi
push 0x1080
call fcn.0040ddb0
add esp, 8
jmp 0x410a84
cmp eax, 0xfffffffd
je 0x410a84
push 0x439a80
mov esi, ebp
call fcn.00417040
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
jne 0x410a84
jmp 0x410b14
mov ecx, eax
and ecx, 2
cmp cl, 2
jne 0x410b79
mov edx, dword [0x43af78]
push 1
push 2
push 0x101c
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
xor dword [0x43b338], 2
jmp 0x410c17
mov ecx, eax
and ecx, 4
cmp cl, 4
jne 0x410ba2
mov edx, dword [0x43af78]
push 1
push 4
push 0x101c
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
xor dword [0x43b338], 4
jmp 0x410c17
mov ecx, eax
and ecx, 0x10
cmp cl, 0x10
jne 0x410bcb
mov edx, dword [0x43af78]
push 1
push 0x10
push 0x101c
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
xor dword [0x43b338], 0x10
jmp 0x410c17
mov ecx, eax
and ecx, 0x20
cmp cl, 0x20
jne 0x410bf4
mov edx, dword [0x43af78]
push 1
push 0x20
push 0x101c
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
xor dword [0x43b338], 0x20
jmp 0x410c17
and eax, 0x40
cmp al, 0x40
jne 0x410c17
mov eax, dword [0x43af78]
push 1
push 0x40
push 0x101c
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
xor dword [0x43b338], 0x40
cmp dword [esp + 0x14], 0xffffffff
jne 0x410cd0
mov ecx, dword [0x43b7f8]
mov esi, dword [ebp + 8]
push 0x1388
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.0040f190
mov eax, dword [0x43a9c8]
mov edx, esi
and edx, 1
cmp dl, 1
jne 0x410c63
mov ecx, eax
and ecx, 1
cmp cl, dl
mov byte [0x43ac40], 0
jne 0x410c63
xor eax, 1
mov dword [0x43a9c8], eax
mov edx, esi
and edx, 2
cmp dl, 2
jne 0x410c85
mov ecx, eax
and ecx, 2
cmp cl, dl
mov byte [0x43ac41], 0
jne 0x410c85
xor eax, 2
mov dword [0x43a9c8], eax
mov edx, esi
and edx, 4
cmp dl, 4
jne 0x410ca7
mov ecx, eax
and ecx, 4
cmp cl, dl
mov byte [0x43ac42], 0
jne 0x410ca7
xor eax, 4
mov dword [0x43a9c8], eax
call fcn.0040f260
mov edx, dword [0x43b7f8]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0xb5b
push str..SVNCMgr.cpp
push str.Write1:_file:_s__line:_d
call fcn.00403400
add esp, 0xc
test byte [ebp + 8], 1
je 0x410d02
mov eax, dword [0x43af54]
xor esi, esi
cmp eax, esi
mov dword [0x43af58], esi
je 0x410d02
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x43af54]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x43af54], esi
pop edi
pop esi
pop ebp
pop ebx
ret