Function at 0x40a2e0
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x4ff34d
mov eax, dword fs:[0]
push eax
sub esp, 0x3f0
mov eax, dword [0x5384a8]
xor eax, esp
mov dword [esp + 0x3e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5384a8]
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.004044a0
mov dword [ebp + 0x1764], ebx
mov dword [ebp + 0x177c], ebx
mov esi, 7
mov dword [ebp + 0x1780], esi
xor ecx, ecx
mov word [ebp + 0x176c], cx
mov dword [ebp + 0x1784], ebx
mov dword [ebp + 0x17a0], esi
mov dword [ebp + 0x179c], ebx
xor edx, edx
mov word [ebp + 0x178c], dx
mov dword [ebp + 0x17a4], ebx
mov dword [ebp + 0x17c0], esi
mov dword [ebp + 0x17bc], ebx
xor eax, eax
mov word [ebp + 0x17ac], ax
mov dword [ebp + 0x17c4], ebx
mov dword [ebp + 0x17e0], esi
mov dword [ebp + 0x17dc], ebx
mov word [ebp + 0x17cc], cx
mov dword [ebp + 0x17e4], ebx
mov dword [ebp + 0x1800], esi
mov dword [ebp + 0x17fc], ebx
mov word [ebp + 0x17ec], dx
mov dword [ebp + 0x1804], ebx
mov dword [ebp + 0x1820], esi
mov dword [ebp + 0x181c], ebx
mov word [ebp + 0x180c], ax
mov dword [ebp + 0x1824], ebx
mov dword [ebp + 0x1840], esi
mov dword [ebp + 0x183c], ebx
mov word [ebp + 0x182c], cx
mov dword [ebp + 0x1844], ebx
mov dword [ebp + 0x1860], esi
mov dword [ebp + 0x185c], ebx
mov word [ebp + 0x184c], dx
mov dword [ebp + 0x1864], ebx
mov dword [ebp + 0x1880], esi
mov dword [ebp + 0x187c], ebx
mov word [ebp + 0x186c], ax
mov dword [ebp + 0x1884], ebx
mov dword [ebp + 0x18a0], esi
mov dword [ebp + 0x189c], ebx
mov word [ebp + 0x188c], cx
mov dword [ebp + 0x18a4], ebx
mov dword [ebp + 0x18c0], esi
mov dword [ebp + 0x18bc], ebx
mov word [ebp + 0x18ac], dx
mov dword [ebp + 0x18c4], ebx
mov dword [ebp + 0x18e0], esi
mov dword [ebp + 0x18dc], ebx
mov word [ebp + 0x18cc], ax
mov dword [ebp + 0x18e4], ebx
mov dword [ebp + 0x1900], esi
mov dword [ebp + 0x18fc], ebx
mov word [ebp + 0x18ec], cx
mov dword [ebp + 0x1904], ebx
mov dword [ebp + 0x1920], esi
mov dword [ebp + 0x191c], ebx
mov word [ebp + 0x190c], dx
mov dword [ebp + 0x192c], ebx
mov dword [ebp + 0x1934], ebx
mov dword [ebp + 0x1938], ebx
mov dword [ebp + 0x193c], ebx
mov dword [ebp + 0x1940], ebx
mov dword [ebp + 0x1948], ebx
mov dword [ebp + 0x194c], ebx
mov dword [ebp + 0x1950], ebx
lea eax, [ebp + 0x1954]
push eax
mov byte [esp + 0x410], 0xd
call fcn.0042a040
mov edi, 0xf
mov dword [ebp + 0x1970], ebx
mov dword [ebp + 0x198c], edi
mov dword [ebp + 0x1988], ebx
mov byte [ebp + 0x1978], bl
mov dword [ebp + 0x1990], ebx
mov dword [ebp + 0x19ac], esi
mov dword [ebp + 0x19a8], ebx
xor eax, eax
mov word [ebp + 0x1998], ax
xor ecx, ecx
mov dword [ebp + 0x19b0], ebx
mov dword [ebp + 0x19cc], esi
mov dword [ebp + 0x19c8], ebx
mov word [ebp + 0x19b8], cx
lea eax, [ebp + 0x19d4]
push eax
mov byte [esp + 0x410], 0x10
call fcn.0042a5e0
mov dword [ebp + 0x19f4], ebx
mov dword [ebp + 0x19fc], ebx
mov dword [ebp + 0x1a00], ebx
mov dword [ebp + 0x1a04], ebx
mov dword [ebp + 0x1a2c], ebx
mov dword [ebp + 0x1a48], esi
mov dword [ebp + 0x1a44], ebx
xor edx, edx
mov word [ebp + 0x1a34], dx
xor eax, eax
mov dword [ebp + 0x1a4c], ebx
mov dword [ebp + 0x1a68], esi
mov dword [ebp + 0x1a64], ebx
mov word [ebp + 0x1a54], ax
mov dword [ebp + 0x1a70], ebx
mov dword [ebp + 0x1a78], ebx
mov dword [ebp + 0x1a7c], ebx
mov dword [ebp + 0x1a80], ebx
mov dword [ebp + 0x1a84], ebx
mov dword [ebp + 0x1a8c], ebx
mov dword [ebp + 0x1a90], ebx
mov dword [ebp + 0x1a94], ebx
xor ecx, ecx
mov dword [ebp + 0x1aa0], ebx
mov dword [ebp + 0x1abc], esi
mov dword [ebp + 0x1ab8], ebx
mov word [ebp + 0x1aa8], cx
mov dword [ebp + 0x1ac0], ebx
mov dword [ebp + 0x1adc], esi
mov dword [ebp + 0x1ad8], ebx
mov word [ebp + 0x1ac8], dx
mov dword [ebp + 0x1ae0], ebx
mov dword [ebp + 0x1afc], esi
mov dword [ebp + 0x1af8], ebx
mov word [ebp + 0x1ae8], ax
lea ecx, [ebp + 0x1b08]
push ecx
mov byte [esp + 0x410], 0x19
call fcn.0040b3a0
lea eax, [ebp + 0x1b70]
push eax
mov byte [esp + 0x410], 0x1a
call fcn.0045b500
lea eax, [ebp + 0x1bc8]
call fcn.0040b4d0
mov dword [ebp + 0x1d44], ebx
mov dword [ebp + 0x1d60], edi
mov dword [ebp + 0x1d5c], ebx
mov byte [ebp + 0x1d4c], bl
mov dword [ebp + 0x1d68], ebx
mov dword [ebp + 0x1d84], edi
mov dword [ebp + 0x1d80], ebx
mov byte [ebp + 0x1d70], bl
mov dword [ebp + 0x1d88], ebx
mov dword [ebp + 0x1da4], edi
mov dword [ebp + 0x1da0], ebx
mov byte [ebp + 0x1d90], bl
mov dword [ebp + 0x1da8], ebx
mov dword [ebp + 0x1dc4], edi
mov dword [ebp + 0x1dc0], ebx
mov byte [ebp + 0x1db0], bl
mov dword [ebp + 0x1dc8], ebx
mov dword [ebp + 0x1de4], edi
mov dword [ebp + 0x1de0], ebx
mov byte [ebp + 0x1dd0], bl
mov dword [ebp + 0x1de8], ebx
mov dword [ebp + 0x1e04], edi
mov dword [ebp + 0x1e00], ebx
mov byte [ebp + 0x1df0], bl
lea eax, [ebp + 0x1e08]
call fcn.0040b910
lea ecx, [ebp + 0x1f74]
mov byte [esp + 0x40c], 0x1f
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_void_]
lea eax, [ebp + 0x1ff8]
push eax
mov byte [esp + 0x410], 0x20
call fcn.0042a7a0
mov dword [ebp + 0x2018], ebx
mov dword [ebp + 0x2034], edi
mov dword [ebp + 0x2030], ebx
mov byte [ebp + 0x2020], bl
mov dword [ebp + 0x2038], ebx
mov dword [ebp + 0x2054], edi
mov dword [ebp + 0x2050], ebx
mov byte [ebp + 0x2040], bl
mov dword [ebp + 0x2064], ebx
mov dword [ebp + 0x2080], edi
mov dword [ebp + 0x207c], ebx
mov byte [ebp + 0x206c], bl
xor edx, edx
mov dword [ebp + 0x2084], ebx
mov dword [ebp + 0x20a0], esi
mov dword [ebp + 0x209c], ebx
mov word [ebp + 0x208c], dx
xor eax, eax
mov dword [ebp + 0x20a4], ebx
mov dword [ebp + 0x20c0], esi
mov dword [ebp + 0x20bc], ebx
mov word [ebp + 0x20ac], ax
xor ecx, ecx
mov dword [ebp + 0x20c4], ebx
mov dword [ebp + 0x20e0], esi
mov dword [ebp + 0x20dc], ebx
mov word [ebp + 0x20cc], cx
mov dword [ebp + 0x20e4], ebx
mov dword [ebp + 0x2100], esi
mov dword [ebp + 0x20fc], ebx
mov word [ebp + 0x20ec], dx
mov dword [ebp + 0x2108], ebx
mov dword [ebp + 0x2124], edi
mov dword [ebp + 0x2120], ebx
mov byte [ebp + 0x2110], bl
mov dword [ebp + 0x2128], ebx
mov dword [ebp + 0x2144], esi
mov dword [ebp + 0x2140], ebx
mov word [ebp + 0x2130], ax
mov dword [ebp + 0x2148], ebx
mov dword [ebp + 0x2164], esi
mov dword [ebp + 0x2160], ebx
mov word [ebp + 0x2150], cx
mov dword [ebp + 0x2168], ebx
mov dword [ebp + 0x2184], esi
mov dword [ebp + 0x2180], ebx
mov word [ebp + 0x2170], dx
mov dword [ebp + 0x218c], ebx
mov dword [ebp + 0x21a8], edi
mov dword [ebp + 0x21a4], ebx
mov byte [ebp + 0x2194], bl
mov dword [ebp + 0x21ac], ebx
mov dword [ebp + 0x21c8], esi
mov dword [ebp + 0x21c4], ebx
mov word [ebp + 0x21b4], ax
mov dword [ebp + 0x21cc], ebx
mov dword [ebp + 0x21e8], esi
mov dword [ebp + 0x21e4], ebx
mov word [ebp + 0x21d4], cx
mov dword [ebp + 0x21ec], ebx
mov dword [ebp + 0x2208], esi
mov dword [ebp + 0x2204], ebx
mov word [ebp + 0x21f4], dx
mov dword [ebp + 0x2214], ebx
mov dword [ebp + 0x2230], esi
mov dword [ebp + 0x222c], ebx
mov word [ebp + 0x221c], ax
mov dword [ebp + 0x2240], ebx
mov dword [ebp + 0x225c], esi
mov dword [ebp + 0x2258], ebx
mov word [ebp + 0x2248], cx
mov dword [ebp + 0x2260], ebx
mov dword [ebp + 0x227c], esi
mov dword [ebp + 0x2278], ebx
mov word [ebp + 0x2268], dx
mov dword [ebp + 0x2280], ebx
mov dword [ebp + 0x229c], esi
mov dword [ebp + 0x2298], ebx
mov word [ebp + 0x2288], ax
lea eax, [ebp + 0x22b0]
push eax
mov byte [esp + 0x410], 0x32
call fcn.0042afe0
mov byte [esp + 0x40c], 0x33
lea eax, [ebp + 0x22cc]
push eax
call fcn.0042b580
lea eax, [ebp + 0x22e8]
push eax
mov byte [esp + 0x410], 0x34
call fcn.0042b6e0
lea eax, [ebp + 0x2304]
push eax
mov byte [esp + 0x410], 0x35
call fcn.0042bc80
mov dword [ebp + 0x2334], ebx
mov dword [ebp + 0x2350], edi
mov dword [ebp + 0x234c], ebx
mov byte [ebp + 0x233c], bl
mov dword [ebp + 0x2368], ebx
mov dword [ebp + 0x2384], edi
mov dword [ebp + 0x2380], ebx
mov byte [ebp + 0x2370], bl
mov byte [esp + 0x40c], 0x38
push str.ntdll.dll
mov dword [ebp + 0x220c], ebx
mov dword [ebp + 0x1f70], ebx
mov dword [ebp + 0x2330], ebx
mov byte [ebp + 0x22ac], bl
mov dword [ebp + 0x1758], ebx
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x1f68], 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 0x40aa2e
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x40aa27
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 0x40aa42
lea esi, [ebp + 0x1388]
call fcn.004563e0
push 0x208
lea eax, [esp + 0x1f2]
xor edx, edx
push ebx
push eax
mov dword [ebp + 0x1bc0], ebx
mov dword [ebp + 0x2014], ebx
mov word [esp + 0x1f8], dx
call fcn.0048f390
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 + 0x1f74]
push edx
mov ecx, esi
call dword [0x50530c]
push 0x5c
mov ecx, esi
call dword [sym.imp.LibDui.dll_public:_int___thiscall_DuiLib::CDuiString::ReverseFind_wchar_t_const]
cmp eax, ebx
jl 0x40aade
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], 0x39
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], 0x38
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
lea edi, [ebp + 0x1e08]
lea esi, [ebp + 0x1b70]
push edi
mov ecx, esi
call fcn.0045bc80
cmp dword [ebp + 0x1f24], ebx
jg 0x40ab3c
lea ecx, [esp + 0x54]
push ecx
call fcn.00485cb0
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 + 0x1e30], 1
mov dword [ebp + 0x1f24], edx
call fcn.0040bc30
mov ecx, esi
call fcn.0045ba50
lea edi, [esp + 0x164]
call fcn.00438d70
mov byte [esp + 0x40c], 0x3a
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.004722c0
add esp, 4
mov edi, 0x10
mov byte [esp + 0x40c], 0x3b
cmp dword [eax + 0x1c], edi
jb 0x40ab7e
mov eax, dword [eax + 8]
jmp 0x40ab81
add eax, 8
lea ecx, [esp + 0x54]
push ecx
mov ecx, eax
call fcn.00471c20
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x1d44]
mov byte [esp + 0x418], 0x3c
call fcn.00401ff0
mov byte [esp + 0x40c], 0x3b
cmp dword [esp + 0x70], edi
jb 0x40abc2
mov edx, dword [esp + 0x5c]
push edx
call fcn.0047d3e0
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], 0x3a
cmp dword [esp + 0x4c], 0x10
jb 0x40abf8
mov eax, dword [esp + 0x38]
push eax
call fcn.0047d3e0
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 + 0x2058], ebx
mov dword [ebp + 0x22a8], ebx
mov dword [ebp + 0x2364], ebx
mov dword [ebp + 0x2320], 1
call fcn.004385e0
mov ecx, eax
mov byte [esp + 0x40c], 0x3d
call esi
push eax
lea ecx, [esp + 0x148]
call fcn.00472110
add esp, 4
mov ecx, edi
mov byte [esp + 0x40c], 0x3f
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
push 0x516690
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], 0x40
call fcn.00429520
mov edx, esi
push edx
mov esi, 0x516694
call fcn.00436650
mov edx, dword [esp + 0x12c]
mov edi, 0x10
cmp dword [esp + 0x140], edi
jae 0x40acbb
lea edx, [esp + 0x12c]
lea esi, [esp + 0x30]
call fcn.004711b0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x130]
mov byte [esp + 0x418], 0x41
call fcn.00401ff0
mov byte [esp + 0x40c], 0x40
cmp dword [esp + 0x4c], edi
jb 0x40acf7
mov eax, dword [esp + 0x38]
push eax
call fcn.0047d3e0
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.00435e00
add esp, 0xc
push eax
lea eax, [esp + 0x58]
push eax
mov esi, str.devauthcode
mov byte [esp + 0x414], 0x42
call fcn.00435eb0
lea ecx, [esp + 0x12c]
push ecx
push eax
lea edx, [esp + 0x40]
push edx
mov byte [esp + 0x420], 0x43
call fcn.00435f80
add esp, 0x14
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x2368]
mov byte [esp + 0x418], 0x44
call fcn.00401ff0
mov byte [esp + 0x40c], 0x43
cmp dword [esp + 0x4c], edi
jb 0x40ad95
mov eax, dword [esp + 0x38]
push eax
call fcn.0047d3e0
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], 0x42
cmp dword [esp + 0x70], edi
jb 0x40adca
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.0047d3e0
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], 0x40
cmp dword [esp + 0x9c], edi
jb 0x40ae00
mov edx, dword [esp + 0x88]
push edx
call fcn.0047d3e0
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], 0x3f
cmp dword [esp + 0x140], edi
jb 0x40ae42
mov eax, dword [esp + 0x12c]
push eax
call fcn.0047d3e0
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], 0x3a
cmp dword [esp + 0x160], edi
jb 0x40ae84
mov ecx, dword [esp + 0x14c]
push ecx
call fcn.0047d3e0
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], 0x38
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.0047d0e0
add esp, 0x3fc
ret 4