Function at 0x40d8c0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fee1c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x404
push ebx
push esi
push edi
mov esi, ecx
mov ebx, dword [ebp + 0x18]
xor edi, edi
mov dword [ebp - 4], edi
mov byte [ebp - 0xd], 0
mov ecx, ebx
cmp ebx, 4
jb 0x40d8f9
lea ecx, [edi + 4]
cmp dword [ebp + 0x1c], 0x10
mov eax, dword [ebp + 8]
jae 0x40d905
lea eax, [ebp + 8]
push ecx
push str.null
push eax
call fcn.00401040
add esp, 0xc
cmp eax, edi
jne 0x40d92c
cmp ebx, 4
jae 0x40d922
or eax, 0xffffffff
jmp 0x40d92a
xor eax, eax
cmp ebx, 4
setne al
cmp eax, edi
sete al
test al, al
je 0x40d93c
mov byte [ebp - 0xd], 1
jmp 0x40ded3
mov ecx, ebx
cmp ebx, 0xb
jb 0x40d948
mov ecx, 0xb
cmp dword [ebp + 0x1c], 0x10
mov eax, dword [ebp + 8]
jae 0x40d954
lea eax, [ebp + 8]
push ecx
push str.tool_update
push eax
call fcn.00401040
add esp, 0xc
cmp eax, edi
jne 0x40d97b
cmp ebx, 0xb
jae 0x40d971
or eax, 0xffffffff
jmp 0x40d979
xor eax, eax
cmp ebx, 0xb
setne al
cmp eax, edi
sete al
test al, al
je 0x40daa2
lea eax, [ebp - 0x4c]
push eax
call fcn.00419ce0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0xffffffffffffffff
lea eax, [esi + 0x2a0]
push edi
mov ebx, 0xf
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], edi
push eax
mov byte [ebp - 4], 1
mov byte [ecx], 0
call fcn.00404af0
mov ecx, esi
call fcn.00404750
test al, al
je 0x40da5e
call fcn.00401eb0
mov ecx, eax
call fcn.00423510
test al, al
je 0x40da42
cmp dword [ebp + 0x24], edi
je 0x40da87
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x24], esp
push str.Updating
mov dword [esi + 0x2bc], edi
call fcn.00406560
mov ecx, esi
call fcn.00407e90
cmp dword [ebp - 0x38], 0x10
mov eax, dword [ebp - 0x4c]
jae 0x40da0d
lea eax, [ebp - 0x4c]
push eax
push str.ID:_s__MenuDo_right_
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x24], esp
push str._UI_click_get_update_
call fcn.00406560
push 3
push 0x57d720
call fcn.0041cec0
push esi
push edi
push 0x40d710
call fcn.004e2e92
add esp, 0x38
jmp 0x40da83
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x24], esp
push str.You_are_offline__please_login_and_then_try_again.
call fcn.00406560
mov ecx, esi
call fcn.00407e90
jmp 0x40da87
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x24], esp
push 0x17
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], edi
push str.The_tool_is_up_to_date.
mov byte [ecx], 0
call fcn.00404e20
mov ecx, esi
call fcn.00407e90
mov byte [ebp - 0xd], 1
cmp dword [ebp - 0x38], 0x10
jb 0x40ded3
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004df8f9
add esp, 4
jmp 0x40ded3
mov ecx, ebx
cmp ebx, 0xb
jb 0x40daae
mov ecx, 0xb
cmp dword [ebp + 0x1c], 0x10
mov eax, dword [ebp + 8]
jae 0x40daba
lea eax, [ebp + 8]
push ecx
push str.tool_detail
push eax
call fcn.00401040
add esp, 0xc
cmp eax, edi
jne 0x40dae1
cmp ebx, 0xb
jae 0x40dad7
or eax, 0xffffffff
jmp 0x40dadf
xor eax, eax
cmp ebx, 0xb
setne al
cmp eax, edi
sete al
test al, al
je 0x40db09
cmp dword [esi + 0x2b4], 0x10
lea eax, [esi + 0x2a0]
jb 0x40daf9
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.004091d0
mov byte [ebp - 0xd], al
jmp 0x40ded3
mov ecx, ebx
cmp ebx, 8
jb 0x40db15
mov ecx, 8
cmp dword [ebp + 0x1c], 0x10
mov eax, dword [ebp + 8]
jae 0x40db21
lea eax, [ebp + 8]
push ecx
push str.tool_run
push eax
call fcn.00401040
add esp, 0xc
cmp eax, edi
jne 0x40db48
cmp ebx, 8
jae 0x40db3e
or eax, 0xffffffff
jmp 0x40db46
xor eax, eax
cmp ebx, 8
setne al
cmp eax, edi
sete al
test al, al
je 0x40dbbb
lea edx, [ebp - 0x30]
push edx
call fcn.00419ce0
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp + 0x24], edi
je 0x40dbb3
cmp dword [ebp - 0x1c], 0x10
mov eax, dword [ebp - 0x30]
jae 0x40db70
lea eax, [ebp - 0x30]
push eax
push str.ID:_s_MenuDo_right_
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x24], esp
push str._UI_click_icon_run_tool_
call fcn.00406560
push 3
push 0x57d720
call fcn.0041cec0
add esp, 0x10
lea eax, [esi + 0x2a0]
mov ecx, esp
mov dword [ebp + 0x24], esp
push eax
call fcn.004056c0
mov ecx, esi
call fcn.004094e0
mov byte [ebp - 0xd], 1
lea ecx, [ebp - 0x30]
jmp 0x40dece
lea eax, [ebp + 8]
push str.tool_delete
push eax
call fcn.00404030
add esp, 8
test al, al
je 0x40dcb1
lea ecx, [ebp - 0x30]
push ecx
call fcn.00419ce0
add esp, 4
cmp dword [ebp - 0x1c], 0x10
mov eax, dword [ebp - 0x30]
mov ebx, 3
mov byte [ebp - 4], bl
jae 0x40dbf4
lea eax, [ebp - 0x30]
push eax
push str.ID:_s_MenuDo_right_
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x14], esp
push str._UI_click_icon_delete_tool_
call fcn.00406560
push ebx
push 0x57d720
call fcn.0041cec0
add esp, 0x2c
cmp dword [ebp + 0x24], edi
je 0x40dca9
push 0x469
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x24], esp
push str.Are_you_sure_to_delete_the_tool_
call fcn.00406560
lea ecx, [ebp - 0x410]
call fcn.00410c40
mov edx, dword [esi + 4]
push edi
push closesocket
push closesocket
push closesocket
push closesocket
push 0x100
push 0x96c80000
push str.MessageWnd
push edx
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 4
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 - 0xd], 1
mov byte [ebp - 4], bl
call fcn.004045e0
lea ecx, [ebp - 0x30]
jmp 0x40dece
lea eax, [ebp + 8]
push str.tool_opendir
push eax
call fcn.00404030
add esp, 8
test al, al
je 0x40ded3
lea ecx, [ebp - 0x4c]
push ecx
call fcn.00419ce0
add esp, 4
cmp dword [ebp - 0x38], 0x10
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 5
jae 0x40dce6
lea eax, [ebp - 0x4c]
push eax
push str.ID:_s_MenuDo_right_
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x24], esp
push str._UI_click_icon_opendir_tool_
call fcn.00406560
push 3
push 0x57d720
call fcn.0041cec0
add esp, 0x2c
lea ecx, [ebp - 0x18c]
call fcn.00404940
lea edx, [ebp - 0x18c]
push edx
sub esp, 0x1c
lea eax, [esi + 0x2a0]
mov ecx, esp
mov dword [ebp + 0x24], esp
mov bl, 6
push eax
mov byte [ebp - 4], bl
call fcn.004056c0
mov byte [ebp - 4], 7
call fcn.0042f580
mov ecx, eax
mov byte [ebp - 4], bl
call fcn.0042a6f0
test al, al
jne 0x40dd99
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x24], esp
push str.Failed_to_get_information_about_the_tool.
call fcn.00406560
mov ecx, esi
call fcn.00407e90
lea ecx, [ebp - 0x18c]
call fcn.00404820
lea ecx, [ebp - 0x4c]
call fcn.004035b0
lea ecx, [ebp + 8]
call fcn.004035b0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
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 - 0x30]
push edx
mov byte [ebp - 4], 8
call fcn.004088d0
add esp, 0xc
mov bl, 0xa
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], bl
call fcn.004035b0
lea eax, [ebp - 0x88]
push eax
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], 0xb
call fcn.004088d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xc
call fcn.00406f30
lea ecx, [ebp - 0x6c]
call fcn.004035b0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004035b0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x24], esp
push 0x503a80
call fcn.00406560
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x503a80
mov byte [ebp - 4], 0xd
call fcn.00406560
mov eax, dword [ebp - 0x30]
push edi
mov esi, 0x10
push 1
mov byte [ebp - 4], 0xe
push edi
cmp dword [ebp - 0x1c], esi
jae 0x40de62
lea eax, [ebp - 0x30]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x50], esp
push eax
call fcn.00406560
mov byte [ebp - 4], bl
call fcn.00419bd0
add esp, 0x60
cmp eax, edi
jne 0x40deb8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x38], esi
jae 0x40de91
lea eax, [ebp - 0x4c]
push eax
push str.ID:_s_MenuDo_right__error__d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x24], esp
push str._UI_click_icon_opendir_tool_
call fcn.00406560
push 1
push 0x57d720
call fcn.0041cec0
add esp, 0x30
lea ecx, [ebp - 0x30]
call fcn.004035b0
lea ecx, [ebp - 0x18c]
call fcn.00404820
lea ecx, [ebp - 0x4c]
call fcn.004035b0
cmp dword [ebp + 0x1c], 0x10
jb 0x40dee5
mov eax, dword [ebp + 8]
push eax
call fcn.004df8f9
add esp, 4
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0xd]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x20