Function at 0x4094e0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fe7e7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x404
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x14], edi
push 1
sub esp, 0x1c
mov ecx, esp
xor ebx, ebx
mov dword [ebp - 0x10], esp
push ebx
mov esi, 0xf
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push 0x503a80
mov dword [ebp - 4], ebx
mov byte [ecx], bl
call fcn.00404e20
mov ecx, edi
call fcn.00407e90
lea ecx, [ebp - 0x18c]
call fcn.00404940
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 1
call fcn.00419ce0
add esp, 4
mov eax, dword [ebp + 8]
mov edi, 0x10
mov byte [ebp - 4], 2
cmp dword [ebp + 0x1c], edi
jae 0x409563
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x20], edi
jae 0x40956f
lea eax, [ebp - 0x34]
push eax
push str.ID:_s_Run_tool__s
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.ToolExecute
mov byte [ecx], bl
call fcn.00404e20
push 4
push 0x57d720
call fcn.0041cec0
add esp, 0x30
lea ecx, [ebp - 0x18c]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp + 8]
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push edx
mov byte [ecx], bl
call fcn.00404af0
mov byte [ebp - 4], 3
call fcn.0042f580
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.0042a6f0
cmp al, bl
jne 0x409641
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0x29
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.Failed_to_get_information_about_the_tool.
mov byte [ecx], bl
call fcn.00404e20
mov ecx, dword [ebp - 0x14]
call fcn.00407e90
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x20], edi
jae 0x40960b
lea eax, [ebp - 0x34]
push eax
push str.ID:_s_Failed_to_get_information_about_the_tool.
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.ToolExecute
mov byte [ecx], bl
call fcn.00404e20
push 1
push 0x57d720
call fcn.0041cec0
add esp, 0x2c
jmp 0x4099fa
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x138]
push edx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x50], bl
call fcn.00404af0
mov byte [ebp - 4], 4
cmp dword [ebp - 0x144], ebx
je 0x4098fe
cmp dword [ebp - 0x40], ebx
je 0x4098fe
lea eax, [ebp - 0xa4]
push eax
call fcn.004222c0
mov ecx, eax
call fcn.00406530
lea ecx, [ebp - 0x154]
push ecx
push eax
lea edx, [ebp - 0x88]
push edx
mov byte [ebp - 4], 8
call fcn.004088d0
lea ecx, [ebp - 0x138]
push ecx
push eax
lea edx, [ebp - 0x6c]
push edx
mov byte [ebp - 4], 9
call fcn.004088d0
add esp, 0x18
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xa
call fcn.00406f30
cmp dword [ebp - 0x58], edi
jb 0x4096d6
mov eax, dword [ebp - 0x6c]
push eax
call fcn.004df8f9
add esp, 4
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x6c], bl
cmp dword [ebp - 0x74], edi
jb 0x4096f3
mov ecx, dword [ebp - 0x88]
push ecx
call fcn.004df8f9
add esp, 4
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x78], ebx
mov byte [ebp - 0x88], bl
mov byte [ebp - 4], 4
cmp dword [ebp - 0x90], edi
jb 0x40971a
mov edx, dword [ebp - 0xa4]
push edx
call fcn.004df8f9
add esp, 4
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x3c], edi
jae 0x409725
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x409826
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x3c], edi
jae 0x409740
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x20], edi
jae 0x40974c
lea eax, [ebp - 0x34]
push eax
push str.ID:_s_error_tool_path_s
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push str.ToolExecute
call fcn.00406560
push 4
push 0x57d720
call fcn.0041cec0
add esp, 0x30
push ebx
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push str.The_tools_executable_file_is_not_exist_please_reinstall_
call fcn.00406560
lea ecx, [ebp - 0x410]
call fcn.00410c40
mov ecx, dword [ebp - 0x14]
push ebx
push closesocket
push closesocket
push closesocket
push closesocket
push 0x100
push 0x96c80000
push str.MessageWnd
mov byte [ebp - 4], 0xb
mov byte [ebp - 0x190], bl
call dword [sym.imp.DuiLib.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::GetHWND_void_const]
push eax
lea ecx, [ebp - 0x410]
call dword [sym.imp.DuiLib.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____char_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU____]
lea ecx, [ebp - 0x410]
call dword [sym.imp.DuiLib.dll_public:_void___thiscall_DuiLib::CWindowWnd::CenterWindow_void_]
lea ecx, [ebp - 0x410]
call dword [sym.imp.DuiLib.dll_public:_unsigned_int___thiscall_DuiLib::CWindowWnd::ShowModal_void_]
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 4
call fcn.004045e0
lea ecx, [ebp - 0x50]
call fcn.004035b0
lea ecx, [ebp - 0x34]
call fcn.004035b0
lea ecx, [ebp - 0x18c]
call fcn.00404820
lea ecx, [ebp + 8]
call fcn.004035b0
jmp 0x409a30
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0x503a80
call fcn.00406560
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x503a80
mov byte [ebp - 4], 0xc
call fcn.00406560
mov eax, dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0x50]
push 1
mov byte [ebp - 4], 0xd
push ebx
cmp dword [ebp - 0x3c], edi
jae 0x409867
lea eax, [ebp - 0x50]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00406560
mov byte [ebp - 4], 4
call fcn.00419bd0
add esp, 0x60
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x14]
mov esi, eax
mov eax, dword [ebp - 0x34]
push esi
push ecx
cmp dword [ebp - 0x20], edi
jae 0x40989c
lea eax, [ebp - 0x34]
push eax
push str.ID:_s_RunAss_ret_d_errcode_d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.CDuiFrameWnd
call fcn.00406560
push 4
push 0x57d720
call fcn.0041cec0
add esp, 0x34
lea ecx, [ebp - 0x50]
call fcn.004035b0
lea ecx, [ebp - 0x34]
call fcn.004035b0
lea ecx, [ebp - 0x18c]
call fcn.00404820
lea ecx, [ebp + 8]
call fcn.004035b0
cmp esi, ebx
sete al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
lea edx, [ebp - 0x88]
push edx
call fcn.004222c0
mov ecx, eax
call fcn.00406530
lea ecx, [ebp - 0x154]
push ecx
push eax
lea edx, [ebp - 0x6c]
push edx
mov byte [ebp - 4], 5
call fcn.004088d0
add esp, 0xc
mov byte [ebp - 4], 7
cmp dword [ebp - 0x74], edi
jb 0x409941
mov eax, dword [ebp - 0x88]
push eax
call fcn.004df8f9
add esp, 4
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x78], ebx
mov byte [ebp - 0x88], bl
cmp dword [ebp - 0x58], edi
jae 0x409958
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x3c], edi
jae 0x409964
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x20], edi
jae 0x409970
lea eax, [ebp - 0x34]
push eax
push str.ID:_s_execute_tool_exe_s_path_s
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.CDuiFrameWnd
mov byte [ecx], bl
call fcn.00404e20
push 4
push 0x57d720
call fcn.0041cec0
add esp, 0x34
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x13
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.Tool_path_is_wrong_
mov byte [ecx], bl
call fcn.00404e20
mov ecx, dword [ebp - 0x14]
call fcn.00407e90
cmp dword [ebp - 0x58], edi
jb 0x4099d7
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.004df8f9
add esp, 4
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x6c], bl
cmp dword [ebp - 0x3c], edi
jb 0x4099f1
mov edx, dword [ebp - 0x50]
push edx
call fcn.004df8f9
add esp, 4
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x50], bl
cmp dword [ebp - 0x20], edi
jb 0x409a0b
mov eax, dword [ebp - 0x34]
push eax
call fcn.004df8f9
add esp, 4
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
call fcn.00404820
cmp dword [ebp + 0x1c], edi
jb 0x409a30
mov ecx, dword [ebp + 8]
push ecx
call fcn.004df8f9
add esp, 4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor al, al
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c