Function at 0x4537c8
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2d
push 0
push 0
dec ecx
jne 0x4537d0
push ebx
push esi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x453a9d
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0xe0], 0x94
lea eax, [ebp - 0xe0]
push eax
call sub.kernel32.dll_GetVersionExA
cmp bl, 1
jne 0x453813
cmp dword [ebp - 0xdc], 6
jb 0x453a1c
lea edx, [ebp - 0xe4]
mov eax, 0x453ab4
call fcn.0041567c
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0x18]
call fcn.0041493c
push 0
push 0
lea eax, [ebp - 0xf8]
push eax
mov eax, 0x453ad8
mov dword [ebp - 0x108], eax
mov byte [ebp - 0x104], 0xb
cmp dword [ebp - 0xdc], 6
setae al
and eax, 0x7f
mov eax, dword [eax*4 + 0x49087c]
mov dword [ebp - 0x100], eax
mov byte [ebp - 0xfc], 0xb
lea edx, [ebp - 0x108]
mov ecx, 1
mov eax, 0x453ae8
call fcn.0040a438
mov eax, dword [ebp - 0xf8]
push eax
push 0x453af8
push 0x453b04
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.004104a0
add esp, 0x1c
lea edx, [ebp - 0xf4]
lea eax, [ebp - 0x28]
call fcn.00414a24
push 0
push 0x453b24
lea eax, [ebp - 0x11c]
push eax
movzx eax, bl
mov eax, dword [eax*4 + 0x490870]
mov dword [ebp - 0x124], eax
mov byte [ebp - 0x120], 0xb
lea edx, [ebp - 0x124]
xor ecx, ecx
mov eax, 0x453b30
call fcn.0040a438
mov eax, dword [ebp - 0x11c]
push eax
push 0x453b44
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.004104a0
add esp, 0x18
lea edx, [ebp - 0x118]
lea eax, [ebp - 0x38]
call fcn.00414a24
push 0x453b54
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.004104a0
add esp, 0xc
lea edx, [ebp - 0x138]
lea eax, [ebp - 0x128]
call fcn.00414578
mov edx, dword [ebp - 0x128]
lea eax, [ebp - 4]
mov ecx, 0x453b60
call fcn.00407020
jmp 0x453a01
cmp dword [ebp - 0xdc], 6
jb 0x4539a4
push esi
push 0x453b70
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.004104a0
add esp, 0xc
lea eax, [ebp - 0x148]
mov dword [ebp - 0x124], eax
mov byte [ebp - 0x120], 0xd
lea edx, [ebp - 0x124]
xor ecx, ecx
mov eax, 0x453b88
call fcn.0040a438
jmp 0x4539e8
mov eax, ebx
sub al, 1
jae 0x4539e8
push esi
push 0x453b70
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.004104a0
add esp, 0xc
lea eax, [ebp - 0x158]
mov dword [ebp - 0x124], eax
mov byte [ebp - 0x120], 0xd
lea edx, [ebp - 0x124]
xor ecx, ecx
mov eax, 0x453b94
call fcn.0040a438
lea eax, [ebp - 0x168]
call fcn.0041522c
lea edx, [ebp - 0x168]
lea eax, [ebp - 0x48]
call fcn.00414a24
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x48]
push eax
push 1
mov eax, dword [ebp - 4]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
test eax, eax
je 0x45395b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x453aa4
lea eax, [ebp - 0x168]
mov edx, dword [0x401048]
mov ecx, 4
call fcn.00405fbc
lea eax, [ebp - 0x128]
call fcn.00406fdc
lea eax, [ebp - 0x11c]
call fcn.004052b8
lea eax, [ebp - 0x118]
call fcn.00410498
lea eax, [ebp - 0xf8]
call fcn.004052b8
lea eax, [ebp - 0xf4]
call fcn.00410498
lea eax, [ebp - 0xe4]
call fcn.00406fdc
lea eax, [ebp - 0x48]
mov edx, dword [0x401058]
mov ecx, 4
call fcn.00405fbc
lea eax, [ebp - 4]
call fcn.00406fdc
ret