Function at 0x592260
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e1f46
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x676580]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x10], 1
mov ecx, dword [ebp - 0x160]
add ecx, 0x30
call fcn.0040ee60
movzx eax, al
test eax, eax
je 0x5922c6
mov ecx, dword [ebp - 0x160]
add ecx, 0x34
call fcn.0040ee60
movzx ecx, al
test ecx, ecx
jne 0x5925bf
mov edx, dword [ebp - 0x160]
add edx, 0x3c
push edx
push 0x622f38
mov ecx, dword [ebp - 0x160]
add ecx, 0x30
call fcn.00493020
push eax
call fcn.0043d8a0
add esp, 0xc
mov eax, dword [ebp - 0x160]
add eax, 0x4c
push eax
push 0x622f3c
mov ecx, dword [ebp - 0x160]
add ecx, 0x34
call fcn.00493020
push eax
call fcn.0043d8a0
add esp, 0xc
mov ecx, dword [ebp - 0x160]
add ecx, 0x3c
call fcn.004e99c0
cmp eax, 0xa
jne 0x592338
mov ecx, dword [ebp - 0x160]
add ecx, 0x4c
call fcn.004e99c0
cmp eax, 0xa
je 0x59233f
xor eax, eax
jmp 0x59277a
mov dword [ebp - 0x134], 0
push 0x118
push 0
lea ecx, [ebp - 0x130]
push ecx
call fcn.00524800
add esp, 0xc
mov dword [ebp - 0x134], 0x11c
push 2
push 0
mov ecx, dword [ebp - 0x160]
call fcn.0058b6d0
mov dword [ebp - 0x130], eax
push 1
push 1
mov ecx, dword [ebp - 0x160]
call fcn.0058b6d0
mov dword [ebp - 0x12c], eax
push 4
push 2
mov ecx, dword [ebp - 0x160]
call fcn.0058b6d0
mov dword [ebp - 0x128], eax
push 8
push 3
mov ecx, dword [ebp - 0x160]
call fcn.0058b6d0
mov dword [ebp - 0x124], eax
push 0x20
push 5
mov ecx, dword [ebp - 0x160]
call fcn.0058b6d0
mov word [ebp - 0x20], ax
push 0x10
push 6
mov ecx, dword [ebp - 0x160]
call fcn.0058b6d0
mov word [ebp - 0x1e], ax
push 0x40
push 7
mov ecx, dword [ebp - 0x160]
call fcn.0058b6d0
mov word [ebp - 0x1c], ax
push 0x80
push 8
mov ecx, dword [ebp - 0x160]
call fcn.0058b6d0
mov byte [ebp - 0x1a], al
mov edx, dword [ebp - 0x160]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [edx + 0x28]
push ecx
mov edx, dword [ebp - 0x160]
mov eax, dword [edx + 0x20]
push eax
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x5925bf
push 0x622f40
mov ecx, dword [ebp - 0x160]
add ecx, 0xc
call fcn.0040b1c0
cmp dword [0x67e1c8], 0
je 0x5925b7
mov dword [ebp - 0x148], 0
push 0x622fa0
lea ecx, [ebp - 0x140]
call fcn.004092b0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x160]
cmp dword [edx + 8], 0
jne 0x592496
mov dword [ebp - 0x164], 0xffffffff
jmp 0x5924b6
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x160]
mov eax, dword [edx + 8]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx]
call eax
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x13c], ecx
lea edx, [ebp - 0x140]
push edx
lea eax, [ebp - 0x144]
push eax
call fcn.005c21b0
add esp, 8
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], ecx
mov byte [ebp - 4], 1
lea edx, [ebp - 0x148]
push edx
mov ecx, dword [ebp - 0x160]
add ecx, 0x34
call fcn.00493020
push eax
push str.ConditionMask
mov ecx, dword [ebp - 0x160]
add ecx, 0x30
call fcn.00493020
push eax
push str.VerifyVersionInfoCondition_return_false__VersionInfo
push 0x622fe4
mov ecx, dword [ebp - 0x16c]
call fcn.00493020
push eax
push 0x622f98
push 0x622f90
lea eax, [ebp - 0x13c]
push eax
push 0x622f78
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447700
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x144]
call fcn.00403270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
call fcn.00403270
mov eax, dword [ebp - 0x10]
jmp 0x59277a
mov ecx, dword [ebp - 0x160]
cmp dword [ecx + 0x38], 0
je 0x592777
call fcn.005713b0
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x138]
xor ecx, ecx
cmp eax, dword [edx + 0x38]
sete cl
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jne 0x592777
push str.VerifyVersionInfoCondition
mov ecx, dword [ebp - 0x160]
add ecx, 0xc
call fcn.0040b1c0
cmp dword [0x67e1c8], 0
je 0x592772
mov dword [ebp - 0x15c], 0
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x158], edx
push str.OsVersionCondition::IsRecommanded
lea ecx, [ebp - 0x150]
call fcn.004092b0
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x160]
cmp dword [eax + 8], 0
jne 0x592660
mov dword [ebp - 0x170], 0xffffffff
jmp 0x59267e
mov ecx, dword [ebp - 0x160]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax + 8]
mov edx, dword [edx]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x14c], ecx
lea edx, [ebp - 0x150]
push edx
lea eax, [ebp - 0x154]
push eax
call fcn.005c21b0
add esp, 8
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x178], ecx
mov byte [ebp - 4], 3
lea edx, [ebp - 0x15c]
push edx
mov eax, dword [ebp - 0x160]
add eax, 0x38
push eax
push str.__but_need
lea ecx, [ebp - 0x158]
push ecx
push str.VerifyVersionInfoCondition:processor_architecture_is
push 0x62311c
mov ecx, dword [ebp - 0x178]
call fcn.00493020
push eax
push 0x622f9c
push 0x6230cc
lea edx, [ebp - 0x14c]
push edx
push 0x6230b4
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447700
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x154]
call fcn.00403270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x150]
call fcn.00403270
mov eax, dword [ebp - 0x10]
jmp 0x59277a
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005236f2
mov esp, ebp
pop ebp
ret