Function at 0x449fe0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x508730
mov eax, dword fs:[0]
push eax
sub esp, 0x920
mov eax, dword [0x55f43c]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x8fc], ecx
push 0xd5f
push 0x51fd54
push str.Connect_Device..._____s_:__d
call sub.Micl.dll_MiclSendDlgMessage
add esp, 0xc
push 0xffffffffffffffff
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x388]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [0x55fc1c]
cmp dword [edx], 5
jl 0x44a09c
mov eax, 1
test eax, eax
je 0x44a07f
push 0xd62
push 0x51fd8c
push 0x51fda4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.___timestamp_:__d_set_m_hInitFinish_to_nonsignal_state_t_s___s__line:_d____n
push 5
mov ecx, dword [0x55fc1c]
push ecx
call fcn.00496cb0
add esp, 0x1c
jmp 0x44a09c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.___timestamp_:__d_set_m_hInitFinish_to_nonsignal_state_n
push 5
mov edx, dword [0x55fc1c]
push edx
call fcn.00496cb0
add esp, 0x10
xor eax, eax
jne 0x44a03d
push str.Get_the_event_before_connect_device.
call sub.Micl.dll_MiclSendDlgMessage
add esp, 4
push 0x144
call sub.mfc100.dll_Ordinal_1294
add esp, 4
mov dword [ebp - 0x8d8], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x8d8], 0
je 0x44a0e3
mov ecx, dword [ebp - 0x8d8]
call fcn.0045f810
mov dword [ebp - 0x900], eax
jmp 0x44a0ed
mov dword [ebp - 0x900], 0
mov ecx, dword [ebp - 0x900]
mov dword [ebp - 0x8d4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x8d4]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1e0], 0xc0000000
mov dword [ebp - 0x14], 0xc0000000
mov eax, dword [ebp - 0x8fc]
cmp dword [eax + 0x38c], 0
je 0x44a17e
push ecx
mov ecx, esp
mov dword [ebp - 0x8dc], esp
push 0x51d40e
call dword [sym.imp.mfc100.dll_Ordinal_310]
mov dword [ebp - 0x904], eax
mov ecx, dword [ebp - 0x8fc]
call fcn.0044abf0
mov ecx, dword [ebp - 0x8fc]
mov dword [ecx + 0x27c], 0
mov edx, dword [ebp - 0x8fc]
mov dword [edx + 0x278], 0
mov eax, dword [ebp - 0x8fc]
mov dword [eax + 0x38c], 0
lea ecx, [ebp - 0x1dc]
call fcn.00456860
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x264]
call fcn.00456640
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1dc]
push ecx
call fcn.004b82c0
mov ecx, eax
call fcn.004b99a0
lea edx, [ebp - 0x264]
push edx
call fcn.004b82c0
mov ecx, eax
call fcn.004ba4d0
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x1dc], 1
jne 0x44a3b7
cmp dword [ebp - 0x94], 1
jne 0x44a3b7
lea eax, [ebp - 0x40]
push eax
push 0x51d40f
call fcn.004585a0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x44a3b7
mov dword [ebp - 0x268], 0x14
push 0
lea ecx, [ebp - 0x34]
call dword [sym.imp.mfc100.dll_Ordinal_4498]
mov dword [ebp - 0x26c], eax
lea edx, [ebp - 0x268]
push edx
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x644]
push ecx
mov edx, dword [ebp - 0x26c]
push edx
call sub.Micl.dll_MiclGetUsbPortIdAndRecogStringPairs_C2
add esp, 0xc
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x274], 0
jmp 0x44a265
mov eax, dword [ebp - 0x274]
add eax, 1
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
cmp ecx, dword [ebp - 0x268]
jge 0x44a358
mov edx, dword [ebp - 0x274]
imul edx, edx, 0x140
mov eax, dword [ebp - 0x8fc]
add edx, dword [eax + 0x644]
push edx
lea ecx, [ebp - 0x278]
call dword [sym.imp.mfc100.dll_Ordinal_310]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
lea ecx, [ebp - 0x278]
call dword [sym.imp.mfc100.dll_Ordinal_2617]
test eax, eax
jne 0x44a343
mov dword [ebp - 0x270], 1
mov ecx, dword [ebp - 0x274]
imul ecx, ecx, 0x140
mov edx, dword [ebp - 0x8fc]
mov eax, dword [edx + 0x644]
lea ecx, [eax + ecx + 0x100]
push ecx
call sub.MSVCR100.dll_strlen
add esp, 4
mov dword [ebp - 0x27c], eax
mov edx, dword [ebp - 0x27c]
push edx
mov eax, dword [ebp - 0x274]
imul eax, eax, 0x140
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ecx + 0x644]
lea eax, [edx + eax + 0x100]
push eax
push 0x104
lea ecx, [ebp - 0x1d4]
push ecx
call sub.Micl.dll_void___cdecl_memcpy_safe_void___unsigned_long_int__void___unsigned_long_int_
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x278]
call dword [sym.imp.mfc100.dll_Ordinal_901]
jmp 0x44a358
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x278]
call dword [sym.imp.mfc100.dll_Ordinal_901]
jmp 0x44a256
cmp dword [ebp - 0x270], 0
jne 0x44a38c
cmp dword [ebp - 0x268], 0
jle 0x44a38c
push str.UE_found_but_not_inserted_in_the_binded_USB_port_
call sub.Micl.dll_MiclSendDlgMessage
add esp, 4
mov edx, dword [ebp - 0x8fc]
mov dword [edx + 0x38c], 0
jmp 0x44a9b2
cmp dword [ebp - 0x268], 0
jne 0x44a3b7
push str.No_UE_found.
call sub.Micl.dll_MiclSendDlgMessage
add esp, 4
mov eax, dword [ebp - 0x8fc]
mov dword [eax + 0x38c], 0
jmp 0x44a9b2
lea ecx, [ebp - 0x1dc]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.0045f8a0
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x110], 0x1c200
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x8fc]
call fcn.004493b0
mov ecx, dword [ebp - 0x8fc]
mov dword [ecx + 0x38c], eax
mov ecx, dword [ebp - 0x8fc]
add ecx, 0x39c
call fcn.00433030
mov ecx, dword [ebp - 0x8fc]
call fcn.00442b80
mov edx, dword [ebp - 0x8fc]
mov dword [edx + 0x27c], 0
mov eax, dword [ebp - 0x8fc]
mov dword [eax + 0x278], 0
mov ecx, dword [ebp - 0x8fc]
cmp dword [ecx + 0x38c], 1
jne 0x44a9a5
push 0
mov ecx, dword [ebp - 0x8fc]
call fcn.004526c0
push 0
mov ecx, dword [ebp - 0x8fc]
call fcn.00452710
mov edx, dword [0x55fc1c]
cmp dword [edx], 5
jl 0x44a4a8
mov eax, 1
test eax, eax
je 0x44a492
push 0xda2
push 0x51fea0
push 0x51feb8
push str.start_MiclSendGetAPVerCmd_m_hDevice___t_s___s__line:_d____n
push 5
mov ecx, dword [0x55fc1c]
push ecx
call fcn.00496cb0
add esp, 0x18
jmp 0x44a4a8
push str.start_MiclSendGetAPVerCmd_m_hDevice___n
push 5
mov edx, dword [0x55fc1c]
push edx
call fcn.00496cb0
add esp, 0xc
xor eax, eax
jne 0x44a457
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ecx + 0x60c]
push edx
call sub.Micl.dll_MiclSendGetAPVerCmd
add esp, 4
mov eax, dword [0x55fc1c]
cmp dword [eax], 5
jl 0x44a510
mov ecx, 1
test ecx, ecx
je 0x44a4fb
push 0xda4
push 0x51ff28
push 0x51ff40
push str.end_MiclSendGetAPVerCmd_m_hDevice___t_s___s__line:_d____n
push 5
mov edx, dword [0x55fc1c]
push edx
call fcn.00496cb0
add esp, 0x18
jmp 0x44a510
push str.end_MiclSendGetAPVerCmd_m_hDevice___n
push 5
mov eax, dword [0x55fc1c]
push eax
call fcn.00496cb0
add esp, 0xc
xor ecx, ecx
jne 0x44a4c1
mov edx, dword [ebp - 0x8fc]
mov eax, dword [edx + 0x628]
push eax
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ecx + 0x60c]
push edx
call sub.Micl.dll_MiclStartCatchAssert
add esp, 8
mov eax, dword [ebp - 0x8fc]
cmp dword [eax + 0x27c], 0
je 0x44a558
mov ecx, dword [ebp - 0x8fc]
cmp dword [ecx + 0x278], 0
jne 0x44a9a3
push 0x51d45e
mov edx, dword [ebp - 0x8fc]
add edx, 0x638
push edx
call fcn.00420760
add esp, 8
movzx eax, al
test eax, eax
je 0x44a9a3
push str.Auto_update_DB_from_local_folder..
call sub.Micl.dll_MiclSendDlgMessage
add esp, 4
lea ecx, [ebp - 0x8b8]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x8bc]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ecx + 0x63c]
push edx
push str.CP_DIAG__s.mdb
lea eax, [ebp - 0x8b8]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_4283]
add esp, 0xc
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ecx + 0x640]
push edx
push str.AP_DIAG__s.txt
lea eax, [ebp - 0x8bc]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_4283]
add esp, 0xc
lea ecx, [ebp - 0x8b8]
push ecx
mov edx, dword [ebp - 0x8fc]
add edx, 0x638
push edx
lea eax, [ebp - 0x8e0]
push eax
call fcn.004206a0
add esp, 0xc
mov dword [ebp - 0x908], eax
mov ecx, dword [ebp - 0x908]
mov dword [ebp - 0x90c], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x90c]
push edx
lea ecx, [ebp - 0x8b8]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8e0]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea eax, [ebp - 0x8bc]
push eax
mov ecx, dword [ebp - 0x8fc]
add ecx, 0x638
push ecx
lea edx, [ebp - 0x8e4]
push edx
call fcn.004206a0
add esp, 0xc
mov dword [ebp - 0x910], eax
mov eax, dword [ebp - 0x910]
mov dword [ebp - 0x914], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x914]
push ecx
lea ecx, [ebp - 0x8bc]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8e4]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x8b8]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x44a750
lea ecx, [ebp - 0x8c0]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x8fc]
add edx, 0x638
push edx
push str.CP_Diag_file_not_found_in:
lea eax, [ebp - 0x8e8]
push eax
call fcn.0042c680
add esp, 0xc
mov dword [ebp - 0x918], eax
mov ecx, dword [ebp - 0x918]
mov dword [ebp - 0x91c], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x91c]
push edx
lea ecx, [ebp - 0x8c0]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x8e8]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x8c0]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call sub.Micl.dll_MiclSendDlgMessage
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8c0]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x8bc]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x44a7f9
lea ecx, [ebp - 0x8c4]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x8fc]
add eax, 0x638
push eax
push str.AP_txt_file_not_found_in:
lea ecx, [ebp - 0x8ec]
push ecx
call fcn.0042c680
add esp, 0xc
mov dword [ebp - 0x920], eax
mov edx, dword [ebp - 0x920]
mov dword [ebp - 0x924], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x924]
push eax
lea ecx, [ebp - 0x8c4]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x8ec]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x8c4]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call sub.Micl.dll_MiclSendDlgMessage
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8c4]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x8b4]
call fcn.0045f990
push 0x634
push 0
lea ecx, [ebp - 0x8b4]
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x8b8]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
lea edx, [ebp - 0x7b4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x8bc]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
lea eax, [ebp - 0x4b4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 1
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ecx + 0x10f8]
push edx
lea eax, [ebp - 0x8b4]
push eax
call sub.Micl.dll_MiclInitEx
add esp, 0xc
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0
jne 0x44a976
lea ecx, [ebp - 0x8c8]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x8fc]
add ecx, 0x638
push ecx
push str.Input_DbFolder:
lea edx, [ebp - 0x8f0]
push edx
call fcn.0042c680
add esp, 0xc
mov dword [ebp - 0x928], eax
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0x92c], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x92c]
push ecx
lea ecx, [ebp - 0x8c8]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x8f0]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x8c8]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call sub.Micl.dll_MiclSendDlgMessage
add esp, 4
push str.Auto_update_DB_from_local_folder_finished.
call sub.Micl.dll_MiclSendDlgMessage
add esp, 4
lea ecx, [ebp - 0x8d0]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x8cc]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x8cc]
push edx
lea eax, [ebp - 0x8d0]
push eax
mov ecx, dword [ebp - 0x8fc]
call fcn.00452400
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x8cc]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x8d0]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8c8]
call dword [sym.imp.mfc100.dll_Ordinal_901]
jmp 0x44a983
push str.Fail_to_auto_update_DB_from_local_folder.
call sub.Micl.dll_MiclSendDlgMessage
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x8bc]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8b8]
call dword [sym.imp.mfc100.dll_Ordinal_901]
jmp 0x44a9b2
push str.Fail_to_connect_device.
call sub.Micl.dll_MiclSendDlgMessage
add esp, 4
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x8f4], ecx
mov edx, dword [ebp - 0x8f4]
push edx
call sub.mfc100.dll_Ordinal_1296
add esp, 4
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x388]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov edx, dword [0x55fc1c]
cmp dword [edx], 5
jl 0x44aa3c
mov eax, 1
test eax, eax
je 0x44aa1f
push 0xddd
push str.CMMPTDlg::ConnectDevice
push 0x5200c0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.___timestamp_:__d_set_m_hInitFinish_to_signal_state_t_s___s__line:_d____n
push 5
mov ecx, dword [0x55fc1c]
push ecx
call fcn.00496cb0
add esp, 0x1c
jmp 0x44aa3c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.___timestamp_:__d_set_m_hInitFinish_to_signal_state_n
push 5
mov edx, dword [0x55fc1c]
push edx
call fcn.00496cb0
add esp, 0x10
xor eax, eax
jne 0x44a9dd
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ecx + 0x38c]
mov dword [ebp - 0x8f8], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x264]
call fcn.004566b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1dc]
call fcn.00456a30
mov eax, dword [ebp - 0x8f8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00501b98
mov esp, ebp
pop ebp
ret