Function at 0x4608f1
Capabilities:
Check os version

Disassembly:
sub esp, 0x118
push ebx
push ebp
push esi
push edi
push dword [0x59c9c8]
call fcn.00471605
cmp dword [0x59bbb0], 0
mov esi, eax
jne 0x460a63
mov edi, 0xa8
push edi
push 0
push 0x59bb08
call fcn.00449b30
add esp, 0xc
mov dword [0x59bb08], 0x1b
mov dword [0x59bb0c], edi
mov dword [0x59bb10], 0x460227
mov dword [0x59bb14], 0x460577
mov dword [0x59bb2c], 0x45ffa5
mov dword [0x59bb3c], 0x46056d
mov dword [0x59bb34], 0x460518
mov dword [0x59bb30], 0x460be1
mov dword [0x59bb1c], 0x4610d0
mov dword [0x59bb18], 0x4607ee
mov dword [0x59bb20], 0x460837
mov dword [0x59bb24], 0x461117
mov dword [0x59bb48], 0x460765
mov dword [0x59bb4c], 0x46108b
mov dword [0x59bb40], 0x4606c9
mov dword [0x59bb44], 0x460f37
mov dword [0x59bb80], 0x460d7e
mov dword [0x59bb84], 0x4605dd
mov dword [0x59bb88], 0x460dd7
mov dword [0x59bb8c], 0x46066d
mov dword [0x59bb90], 0x460e49
mov dword [0x59bb94], 0x4606a7
mov dword [0x59bb78], 0x46063c
mov dword [0x59bba8], 0x460e6b
mov dword [0x59bbac], 0x4605bc
call fcn.004646c5
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x460a59
cmp dword [esp + 0x24], 2
jne 0x460a59
mov eax, dword [0x59bbb4]
cmp dword [esp + 0x18], 6
cmovae eax, dword [0x59b6cc]
mov dword [0x59bbb4], eax
mov dword [0x59bbb0], 1
mov ebp, dword [esp + 0x140]
mov ecx, ebp
not ecx
mov eax, ebp
and ecx, 2
or ecx, 0x50010000
mov edx, ecx
or edx, 5
test al, 1
push 0x1f4
cmovne edx, ecx
mov ebx, edx
or ebx, 0x20
test al, 0x20
push 0
push dword [0x599ff8]
cmove ebx, edx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0x13c]
mov dword [esp + 0x14], edi
push eax
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0x13c]
push eax
call fcn.0046b150
test edi, edi
je 0x460bce
push 0
push dword [0x599ffc]
push 0xffffffffffffffff
push dword [esi]
push dword [esp + 0x14c]
push dword [esp + 0x14c]
push dword [esp + 0x14c]
push dword [esp + 0x14c]
push ebx
push 0
push str.SysTreeView32
push 0x200
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, eax
test edi, edi
je 0x460bd2
push dword [esp + 0x12c]
push dword [0x59c9cc]
call fcn.00471c7b
push 0x46115e
push 0xfffffffffffffffc
push edi
mov esi, eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 4
push 4
push 0x112c
push edi
mov dword [0x59bbb8], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x10]
push 0x59bb08
push edi
push esi
push dword [esp + 0x138]
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], 0x19
call fcn.00464885
mov edi, eax
mov eax, 0x100
test eax, ebp
je 0x460bd2
or ebx, eax
push ebx
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test ebp, 0x10000
je 0x460bd2
call fcn.004653fa
cmp eax, 0x3c
jg 0x460ba1
push esi
call fcn.0046045a
pop ecx
push 0
push 2
push 0x1108
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x460bbe
push eax
push dword [esi]
call fcn.00465038
push esi
push str.PB_3State
push dword [esi]
call dword [sym.imp.USER32.dll_SetPropW]
jmp 0x460bd2
mov edi, dword [esp + 0x10]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x118
ret 0x18