Function at 0x40559e
Capabilities:
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0xa0
mov eax, dword [0x429060]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
push edi
xor eax, ebp
push 0x26
mov dword [ebp + 0x74], eax
pop ecx
xor eax, eax
lea edi, [ebp - 0x24]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], 0x9c
call esi
mov edi, eax
test edi, edi
jne 0x4055ed
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], 0x94
call esi
test eax, eax
je 0x405812
mov eax, dword [ebp - 0x18]
sub eax, 0
je 0x405816
dec eax
mov ecx, dword [ebp - 0x24]
je 0x4057c7
dec eax
jne 0x405812
cmp ecx, 6
jne 0x40569d
cmp dword [ebp - 0x20], 1
jne 0x405636
cmp byte [ebp + 0x72], 1
jne 0x405812
call fcn.00421ac0
neg al
sbb eax, eax
neg eax
add eax, 0x2b
jmp 0x405819
cmp dword [ebp - 0x20], 0
jne 0x405812
cmp byte [ebp + 0x72], 1
jne 0x405689
call fcn.00421ac0
test al, al
movzx eax, word [ebp + 0x6c]
je 0x40566e
dec eax
je 0x405667
dec eax
je 0x405660
push 0x26
jmp 0x405818
push 0x2a
jmp 0x405818
push 0x27
jmp 0x405818
dec eax
je 0x405682
dec eax
je 0x40567b
push 0x1d
jmp 0x405818
push 0x29
jmp 0x405818
push 0x1e
jmp 0x405818
call fcn.00421ac0
neg al
sbb eax, eax
and eax, 9
add eax, 0x1f
jmp 0x405819
cmp ecx, 5
jne 0x405788
cmp dword [ebp - 0x20], 2
jne 0x405714
cmp byte [ebp + 0x72], 1
jne 0x4056d1
movzx eax, word [ebp + 0x6c]
dec eax
je 0x4056ca
dec eax
je 0x4056c3
push 0x20
jmp 0x405818
push 0x22
jmp 0x405818
push 0x21
jmp 0x405818
call fcn.00421ac0
test al, al
movzx eax, word [ebp + 0x6c]
je 0x4056f9
dec eax
je 0x4056f2
dec eax
je 0x4056eb
push 0x23
jmp 0x405818
push 0x25
jmp 0x405818
push 0x24
jmp 0x405818
dec eax
je 0x40570d
dec eax
je 0x405706
push 0x1a
jmp 0x405818
push 0x1c
jmp 0x405818
push 0x1b
jmp 0x405818
cmp dword [ebp - 0x20], 1
jne 0x405747
test edi, edi
je 0x40572b
movzx eax, word [ebp + 0x6c]
dec eax
je 0x405740
dec eax
je 0x405739
dec eax
je 0x405732
push 0x16
jmp 0x405818
push 0x19
jmp 0x405818
push 0x18
jmp 0x405818
push 0x17
jmp 0x405818
cmp dword [ebp - 0x20], 0
jne 0x405812
test edi, edi
je 0x405765
movzx eax, word [ebp + 0x6c]
dec eax
je 0x405781
dec eax
je 0x40577a
dec eax
je 0x405773
dec eax
je 0x40576c
push 0x11
jmp 0x405818
push 0x15
jmp 0x405818
push 0x14
jmp 0x405818
push 0x13
jmp 0x405818
push 0x12
jmp 0x405818
cmp ecx, 4
ja 0x405812
test edi, edi
je 0x4057ab
movzx eax, word [ebp + 0x6c]
dec eax
je 0x4057c3
dec eax
je 0x4057bf
dec eax
je 0x4057bb
dec eax
je 0x4057b7
dec eax
je 0x4057b3
dec eax
je 0x4057af
push 0xa
jmp 0x405818
push 0x10
jmp 0x405818
push 0xf
jmp 0x405818
push 0xe
jmp 0x405818
push 0xd
jmp 0x405818
push 0xc
jmp 0x405818
push 0xb
jmp 0x405818
cmp ecx, 4
jne 0x405812
cmp dword [ebp - 0x20], 0
jne 0x4057ee
cmp dword [ebp - 0x1c], 0x3b6
jbe 0x4057df
push 5
jmp 0x405818
xor eax, eax
cmp byte [ebp - 0x13], 0x43
sete al
lea eax, [eax + eax + 4]
jmp 0x405819
cmp dword [ebp - 0x20], 0xa
jne 0x405808
cmp byte [ebp - 0x13], 0x41
je 0x405804
cmp byte [ebp - 0x13], 0x42
je 0x405804
push 7
jmp 0x405818
push 8
jmp 0x405818
cmp dword [ebp - 0x20], 0x5a
jne 0x405812
push 9
jmp 0x405818
push 0x2d
jmp 0x405818
push 4
pop eax
mov ecx, dword [ebp + 0x74]
pop edi
xor ecx, ebp
pop esi
call fcn.0042254d
add ebp, 0x78
leave
ret