Function at 0x40a480
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x4f8b4c
mov eax, dword fs:[0]
push eax
sub esp, 0x3f0
mov eax, dword [0x52f4a8]
xor eax, esp
mov dword [esp + 0x3e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x52f4a8]
xor eax, esp
push eax
lea eax, [esp + 0x404]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x414]
mov ecx, ebp
mov dword [esp + 0x7c], ebp
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::WindowImplBase::constructor_void_]
xor ebx, ebx
mov dword [esp + 0x40c], ebx
lea ecx, [ebp + 0x484]
mov dword [ebp], vtable.CMainWnd.0
mov dword [ebp + 0x10], vtable.CMainWnd.1.0
mov dword [ebp + 0x20], vtable.CMainWnd.2.0
mov dword [ebp + 0x24], vtable.CMainWnd.3.0
mov dword [ebp + 0x28], vtable.CMainWnd.4.0
mov dword [ebp + 0x2c], vtable.CMainWnd.5.0
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CTrayIcon::constructor_void_]
push ebp
lea eax, [ebp + 0x850]
push eax
mov byte [esp + 0x414], 1
call fcn.00404440
mov dword [ebp + 0x1750], ebx
mov dword [ebp + 0x1768], ebx
mov esi, 7
mov dword [ebp + 0x176c], esi
xor ecx, ecx
mov word [ebp + 0x1758], cx
mov dword [ebp + 0x1770], ebx
mov dword [ebp + 0x178c], esi
mov dword [ebp + 0x1788], ebx
xor edx, edx
mov word [ebp + 0x1778], dx
mov dword [ebp + 0x1790], ebx
mov dword [ebp + 0x17ac], esi
mov dword [ebp + 0x17a8], ebx
xor eax, eax
mov word [ebp + 0x1798], ax
mov dword [ebp + 0x17b0], ebx
mov dword [ebp + 0x17cc], esi
mov dword [ebp + 0x17c8], ebx
mov word [ebp + 0x17b8], cx
mov dword [ebp + 0x17d0], ebx
mov dword [ebp + 0x17ec], esi
mov dword [ebp + 0x17e8], ebx
mov word [ebp + 0x17d8], dx
mov dword [ebp + 0x17f0], ebx
mov dword [ebp + 0x180c], esi
mov dword [ebp + 0x1808], ebx
mov word [ebp + 0x17f8], ax
mov dword [ebp + 0x1810], ebx
mov dword [ebp + 0x182c], esi
mov dword [ebp + 0x1828], ebx
mov word [ebp + 0x1818], cx
mov dword [ebp + 0x1830], ebx
mov dword [ebp + 0x184c], esi
mov dword [ebp + 0x1848], ebx
mov word [ebp + 0x1838], dx
mov dword [ebp + 0x1850], ebx
mov dword [ebp + 0x186c], esi
mov dword [ebp + 0x1868], ebx
mov word [ebp + 0x1858], ax
mov dword [ebp + 0x1870], ebx
mov dword [ebp + 0x188c], esi
mov dword [ebp + 0x1888], ebx
mov word [ebp + 0x1878], cx
mov dword [ebp + 0x1890], ebx
mov dword [ebp + 0x18ac], esi
mov dword [ebp + 0x18a8], ebx
mov word [ebp + 0x1898], dx
mov dword [ebp + 0x18b0], ebx
mov dword [ebp + 0x18cc], esi
mov dword [ebp + 0x18c8], ebx
mov word [ebp + 0x18b8], ax
mov dword [ebp + 0x18d0], ebx
mov dword [ebp + 0x18ec], esi
mov dword [ebp + 0x18e8], ebx
mov word [ebp + 0x18d8], cx
mov dword [ebp + 0x18f0], ebx
mov dword [ebp + 0x190c], esi
mov dword [ebp + 0x1908], ebx
mov word [ebp + 0x18f8], dx
mov dword [ebp + 0x1918], ebx
mov dword [ebp + 0x1920], ebx
mov dword [ebp + 0x1924], ebx
mov dword [ebp + 0x1928], ebx
mov dword [ebp + 0x192c], ebx
mov dword [ebp + 0x1934], ebx
mov dword [ebp + 0x1938], ebx
mov dword [ebp + 0x193c], ebx
lea eax, [ebp + 0x1940]
push eax
mov byte [esp + 0x410], 0xd
call fcn.00424d60
mov edi, 0xf
mov dword [ebp + 0x195c], ebx
mov dword [ebp + 0x1978], edi
mov dword [ebp + 0x1974], ebx
mov byte [ebp + 0x1964], bl
mov dword [ebp + 0x197c], ebx
mov dword [ebp + 0x1998], esi
mov dword [ebp + 0x1994], ebx
xor eax, eax
mov word [ebp + 0x1984], ax
xor ecx, ecx
mov dword [ebp + 0x199c], ebx
mov dword [ebp + 0x19b8], esi
mov dword [ebp + 0x19b4], ebx
mov word [ebp + 0x19a4], cx
lea eax, [ebp + 0x19c0]
push eax
mov byte [esp + 0x410], 0x10
call fcn.00425300
mov dword [ebp + 0x19e0], ebx
mov dword [ebp + 0x19e8], ebx
mov dword [ebp + 0x19ec], ebx
mov dword [ebp + 0x19f0], ebx
mov dword [ebp + 0x1a1c], ebx
mov dword [ebp + 0x1a38], esi
mov dword [ebp + 0x1a34], ebx
xor edx, edx
mov word [ebp + 0x1a24], dx
xor eax, eax
mov dword [ebp + 0x1a3c], ebx
mov dword [ebp + 0x1a58], esi
mov dword [ebp + 0x1a54], ebx
mov word [ebp + 0x1a44], ax
mov dword [ebp + 0x1a60], ebx
mov dword [ebp + 0x1a68], ebx
mov dword [ebp + 0x1a6c], ebx
mov dword [ebp + 0x1a70], ebx
mov dword [ebp + 0x1a74], ebx
mov dword [ebp + 0x1a7c], ebx
mov dword [ebp + 0x1a80], ebx
mov dword [ebp + 0x1a84], ebx
xor ecx, ecx
mov dword [ebp + 0x1a90], ebx
mov dword [ebp + 0x1aac], esi
mov dword [ebp + 0x1aa8], ebx
mov word [ebp + 0x1a98], cx
mov dword [ebp + 0x1ab0], ebx
mov dword [ebp + 0x1acc], esi
mov dword [ebp + 0x1ac8], ebx
mov word [ebp + 0x1ab8], dx
mov dword [ebp + 0x1ad0], ebx
mov dword [ebp + 0x1aec], esi
mov dword [ebp + 0x1ae8], ebx
mov word [ebp + 0x1ad8], ax
lea ecx, [ebp + 0x1af8]
push ecx
mov byte [esp + 0x410], 0x19
call fcn.0040b4e0
lea eax, [ebp + 0x1b60]
push eax
mov byte [esp + 0x410], 0x1a
call fcn.00454210
lea eax, [ebp + 0x1bb8]
call fcn.0040b610
mov dword [ebp + 0x1d34], ebx
mov dword [ebp + 0x1d50], edi
mov dword [ebp + 0x1d4c], ebx
mov byte [ebp + 0x1d3c], bl
mov dword [ebp + 0x1d58], ebx
mov dword [ebp + 0x1d74], edi
mov dword [ebp + 0x1d70], ebx
mov byte [ebp + 0x1d60], bl
mov dword [ebp + 0x1d78], ebx
mov dword [ebp + 0x1d94], edi
mov dword [ebp + 0x1d90], ebx
mov byte [ebp + 0x1d80], bl
mov dword [ebp + 0x1d98], ebx
mov dword [ebp + 0x1db4], edi
mov dword [ebp + 0x1db0], ebx
mov byte [ebp + 0x1da0], bl
mov dword [ebp + 0x1db8], ebx
mov dword [ebp + 0x1dd4], edi
mov dword [ebp + 0x1dd0], ebx
mov byte [ebp + 0x1dc0], bl
mov dword [ebp + 0x1dd8], ebx
mov dword [ebp + 0x1df4], edi
mov dword [ebp + 0x1df0], ebx
mov byte [ebp + 0x1de0], bl
lea eax, [ebp + 0x1df8]
call fcn.0040ba50
lea ecx, [ebp + 0x1f64]
mov byte [esp + 0x40c], 0x1f
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_void_]
lea eax, [ebp + 0x1fe8]
push eax
mov byte [esp + 0x410], 0x20
call fcn.004254c0
mov dword [ebp + 0x2008], ebx
mov dword [ebp + 0x2024], edi
mov dword [ebp + 0x2020], ebx
mov byte [ebp + 0x2010], bl
mov dword [ebp + 0x2028], ebx
mov dword [ebp + 0x2044], edi
mov dword [ebp + 0x2040], ebx
mov byte [ebp + 0x2030], bl
mov dword [ebp + 0x2054], ebx
mov dword [ebp + 0x2070], edi
mov dword [ebp + 0x206c], ebx
mov byte [ebp + 0x205c], bl
xor edx, edx
mov dword [ebp + 0x2074], ebx
mov dword [ebp + 0x2090], esi
mov dword [ebp + 0x208c], ebx
mov word [ebp + 0x207c], dx
xor eax, eax
mov dword [ebp + 0x2094], ebx
mov dword [ebp + 0x20b0], esi
mov dword [ebp + 0x20ac], ebx
mov word [ebp + 0x209c], ax
xor ecx, ecx
mov dword [ebp + 0x20b4], ebx
mov dword [ebp + 0x20d0], esi
mov dword [ebp + 0x20cc], ebx
mov word [ebp + 0x20bc], cx
mov dword [ebp + 0x20d4], ebx
mov dword [ebp + 0x20f0], esi
mov dword [ebp + 0x20ec], ebx
mov word [ebp + 0x20dc], dx
mov dword [ebp + 0x20f8], ebx
mov dword [ebp + 0x2114], edi
mov dword [ebp + 0x2110], ebx
mov byte [ebp + 0x2100], bl
mov dword [ebp + 0x2118], ebx
mov dword [ebp + 0x2134], esi
mov dword [ebp + 0x2130], ebx
mov word [ebp + 0x2120], ax
mov dword [ebp + 0x2138], ebx
mov dword [ebp + 0x2154], esi
mov dword [ebp + 0x2150], ebx
mov word [ebp + 0x2140], cx
mov dword [ebp + 0x2158], ebx
mov dword [ebp + 0x2174], esi
mov dword [ebp + 0x2170], ebx
mov word [ebp + 0x2160], dx
mov dword [ebp + 0x217c], ebx
mov dword [ebp + 0x2198], edi
mov dword [ebp + 0x2194], ebx
mov byte [ebp + 0x2184], bl
mov dword [ebp + 0x219c], ebx
mov dword [ebp + 0x21b8], esi
mov dword [ebp + 0x21b4], ebx
mov word [ebp + 0x21a4], ax
mov dword [ebp + 0x21bc], ebx
mov dword [ebp + 0x21d8], esi
mov dword [ebp + 0x21d4], ebx
mov word [ebp + 0x21c4], cx
mov dword [ebp + 0x21dc], ebx
mov dword [ebp + 0x21f8], esi
mov dword [ebp + 0x21f4], ebx
mov word [ebp + 0x21e4], dx
mov dword [ebp + 0x2204], ebx
mov dword [ebp + 0x2220], esi
mov dword [ebp + 0x221c], ebx
mov word [ebp + 0x220c], ax
mov dword [ebp + 0x2230], ebx
mov dword [ebp + 0x224c], esi
mov dword [ebp + 0x2248], ebx
mov word [ebp + 0x2238], cx
mov dword [ebp + 0x2250], ebx
mov dword [ebp + 0x226c], esi
mov dword [ebp + 0x2268], ebx
mov word [ebp + 0x2258], dx
mov dword [ebp + 0x2270], ebx
mov dword [ebp + 0x228c], esi
mov dword [ebp + 0x2288], ebx
mov word [ebp + 0x2278], ax
lea eax, [ebp + 0x229c]
push eax
mov byte [esp + 0x410], 0x32
call fcn.00425d50
mov dword [ebp + 0x22c0], ebx
mov dword [ebp + 0x22dc], edi
mov dword [ebp + 0x22d8], ebx
mov byte [ebp + 0x22c8], bl
mov byte [esp + 0x40c], 0x34
push str.ntdll.dll
mov dword [ebp + 0x21fc], ebx
mov dword [ebp + 0x1f60], ebx
mov dword [ebp + 0x22bc], ebx
mov byte [ebp + 0x22b8], bl
mov dword [ebp + 0x1744], ebx
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x1f58], 1
mov dword [esp + 0x78], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x30], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
cmp esi, ebx
je 0x40ab7a
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x40ab73
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x34]
push ecx
call eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x2c]
cmp eax, 6
jbe 0x40ab8e
lea esi, [ebp + 0x1384]
call fcn.0044f100
push 0x208
lea eax, [esp + 0x1f2]
xor edx, edx
push ebx
push eax
mov dword [ebp + 0x1bb0], ebx
mov dword [ebp + 0x2004], ebx
mov word [esp + 0x1f8], dx
call fcn.00488970
add esp, 0xc
push 0x104
lea ecx, [esp + 0x1f0]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [esp + 0x1ec]
lea esi, [ebp + 0x1f64]
push edx
mov ecx, esi
call dword [0x4fd30c]
push 0x5c
mov ecx, esi
call dword [sym.imp.LibDui.dll_public:_int___thiscall_DuiLib::CDuiString::ReverseFind_wchar_t_const]
cmp eax, ebx
jl 0x40ac2a
inc eax
push eax
lea eax, [esp + 0xa4]
push eax
mov ecx, esi
call dword [sym.imp.LibDui.dll_public:_class_DuiLib::CDuiString___thiscall_DuiLib::CDuiString::Left_int_]
push eax
mov ecx, esi
mov byte [esp + 0x410], 0x35
call dword [sym.imp.LibDui.dll_public:_class_DuiLib::CDuiString_const____thiscall_DuiLib::CDuiString::operator_class_DuiLib::CDuiString_const__]
lea ecx, [esp + 0xa0]
mov byte [esp + 0x40c], 0x34
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
lea edi, [ebp + 0x1df8]
lea esi, [ebp + 0x1b60]
push edi
mov ecx, esi
call fcn.004549b0
cmp dword [ebp + 0x1f14], ebx
jg 0x40ac88
lea ecx, [esp + 0x54]
push ecx
call fcn.0047f260
mov edx, dword [esp + 0x58]
sub esp, 0x15c
mov eax, esp
add edx, 0x2a300
mov dword [esp + 0x1d8], esp
push eax
mov ecx, edi
mov dword [ebp + 0x1e20], 1
mov dword [ebp + 0x1f14], edx
call fcn.0040bd40
mov ecx, esi
call fcn.00454770
lea edi, [esp + 0x164]
call fcn.00435630
mov byte [esp + 0x40c], 0x36
mov esi, dword [sym.imp.LibDui.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
mov ecx, edi
call esi
push eax
lea ecx, [esp + 0x34]
call fcn.0046b590
add esp, 4
mov edi, 0x10
mov byte [esp + 0x40c], 0x37
cmp dword [eax + 0x1c], edi
jb 0x40acca
mov eax, dword [eax + 8]
jmp 0x40accd
add eax, 8
lea ecx, [esp + 0x54]
push ecx
mov ecx, eax
call fcn.0046aef0
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x1d34]
mov byte [esp + 0x418], 0x38
call fcn.00401ff0
mov byte [esp + 0x40c], 0x37
cmp dword [esp + 0x70], edi
jb 0x40ad0e
mov edx, dword [esp + 0x5c]
push edx
call fcn.00476980
add esp, 4
mov edi, 0xf
lea ecx, [esp + 0x54]
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
call fcn.00401050
mov byte [esp + 0x40c], 0x36
cmp dword [esp + 0x4c], 0x10
jb 0x40ad44
mov eax, dword [esp + 0x38]
push eax
call fcn.00476980
add esp, 4
lea ecx, [esp + 0x30]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
call fcn.00401050
lea edi, [esp + 0xa0]
mov dword [ebp + 0x2048], ebx
mov dword [ebp + 0x2298], ebx
call fcn.00434ea0
mov ecx, eax
mov byte [esp + 0x40c], 0x39
call esi
push eax
lea ecx, [esp + 0x148]
call fcn.0046b3e0
add esp, 4
mov ecx, edi
mov byte [esp + 0x40c], 0x3b
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
push 0x50e754
lea ecx, [esp + 0x128]
call fcn.00401f40
push ebx
lea ecx, [esp + 0x148]
push ecx
or eax, 0xffffffff
lea esi, [esp + 0x12c]
mov byte [esp + 0x414], 0x3c
call fcn.00408520
mov edx, esi
push edx
mov esi, 0x50e758
call fcn.0042d430
mov edx, dword [esp + 0x12c]
mov edi, 0x10
cmp dword [esp + 0x140], edi
jae 0x40adf7
lea edx, [esp + 0x12c]
lea esi, [esp + 0x30]
call fcn.0046a260
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x130]
mov byte [esp + 0x418], 0x3d
call fcn.00401ff0
mov byte [esp + 0x40c], 0x3c
cmp dword [esp + 0x4c], edi
jb 0x40ae33
mov eax, dword [esp + 0x38]
push eax
call fcn.00476980
add esp, 4
lea ecx, [esp + 0x30]
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
call fcn.00401050
lea ecx, [esp + 0x144]
push ecx
lea edx, [esp + 0x84]
push str.devid
push edx
call fcn.0042cb90
add esp, 0xc
push eax
lea eax, [esp + 0x58]
push eax
mov esi, str.devauthcode
mov byte [esp + 0x414], 0x3e
call fcn.0042cc40
lea ecx, [esp + 0x12c]
push ecx
push eax
lea edx, [esp + 0x40]
push edx
mov byte [esp + 0x420], 0x3f
call fcn.0042cd10
add esp, 0x14
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x22c0]
mov byte [esp + 0x418], 0x40
call fcn.00401ff0
mov byte [esp + 0x40c], 0x3f
cmp dword [esp + 0x4c], edi
jb 0x40aed1
mov eax, dword [esp + 0x38]
push eax
call fcn.00476980
add esp, 4
mov esi, 0xf
lea ecx, [esp + 0x30]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
call fcn.00401050
mov byte [esp + 0x40c], 0x3e
cmp dword [esp + 0x70], edi
jb 0x40af06
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.00476980
add esp, 4
lea ecx, [esp + 0x54]
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
call fcn.00401050
mov byte [esp + 0x40c], 0x3c
cmp dword [esp + 0x9c], edi
jb 0x40af3c
mov edx, dword [esp + 0x88]
push edx
call fcn.00476980
add esp, 4
lea ecx, [esp + 0x80]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
call fcn.00401050
mov byte [esp + 0x40c], 0x3b
cmp dword [esp + 0x140], edi
jb 0x40af7e
mov eax, dword [esp + 0x12c]
push eax
call fcn.00476980
add esp, 4
lea ecx, [esp + 0x124]
mov dword [esp + 0x140], esi
mov dword [esp + 0x13c], ebx
mov byte [esp + 0x12c], bl
call fcn.00401050
mov byte [esp + 0x40c], 0x36
cmp dword [esp + 0x160], edi
jb 0x40afc0
mov ecx, dword [esp + 0x14c]
push ecx
call fcn.00476980
add esp, 4
lea ecx, [esp + 0x144]
mov dword [esp + 0x160], esi
mov dword [esp + 0x15c], ebx
mov byte [esp + 0x14c], bl
call fcn.00401050
lea ecx, [esp + 0x164]
mov byte [esp + 0x40c], 0x34
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
mov eax, ebp
mov ecx, dword [esp + 0x404]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3e8]
xor ecx, esp
call fcn.00476680
add esp, 0x3fc
ret 4