Function at 0x430720
Capabilities:
Check os version

Disassembly:
sub esp, 0x94
push ebx
push ebp
push esi
push edi
mov ecx, 0x25
xor eax, eax
lea edi, [esp + 0x10]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
cmp eax, 2
jne 0x430850
cmp ebp, 5
jae 0x4307b7
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x430775
mov dword [eax], 0x5dc
mov esi, dword [esp + 0xac]
test esi, esi
je 0x430a1b
mov edx, dword [str.Windows_NT_4.0]
mov ecx, esi
mov dword [ecx], edx
mov eax, dword [0x4a0978]
mov dword [ecx + 4], eax
mov edx, dword [0x4a097c]
mov dword [ecx + 8], edx
mov ax, word [0x4a0980]
mov word [ecx + 0xc], ax
mov dl, byte [0x4a0982]
mov byte [ecx + 0xe], dl
jmp 0x4309b9
jne 0x430807
test edi, edi
jne 0x430807
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x4307ce
mov dword [eax], 0x7d0
mov esi, dword [esp + 0xac]
test esi, esi
je 0x430a1b
mov ecx, dword [str.Windows_2000]
mov eax, esi
mov dword [eax], ecx
mov edx, dword [0x4a0968]
mov dword [eax + 4], edx
mov ecx, dword [0x4a096c]
mov dword [eax + 8], ecx
mov dl, byte [0x4a0970]
mov byte [eax + 0xc], dl
jmp 0x4309b9
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x430818
mov dword [eax], 0x834
mov esi, dword [esp + 0xac]
test esi, esi
je 0x430a1b
mov ecx, dword [str.Windows_XP]
mov eax, esi
mov dword [eax], ecx
mov edx, dword [0x4a095c]
mov dword [eax + 4], edx
mov cx, word [0x4a0960]
mov word [eax + 8], cx
mov dl, byte [0x4a0962]
jmp 0x4309b6
cmp eax, 1
jne 0x430a28
test edi, edi
jne 0x4308a6
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x43086e
mov dword [eax], 0x447
mov esi, dword [esp + 0xac]
test esi, esi
je 0x430a1b
mov ecx, dword [str.Windows_95]
mov eax, esi
mov dword [eax], ecx
mov edx, dword [0x4a0950]
mov dword [eax + 4], edx
mov cx, word [0x4a0954]
mov word [eax + 8], cx
mov dl, byte [0x4a0956]
jmp 0x4309b6
cmp edi, 0xa
jne 0x430972
mov esi, 0x4a0948
lea eax, [esp + 0x24]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4308e0
test cl, cl
je 0x4308dc
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4308e0
add eax, 2
add esi, 2
test cl, cl
jne 0x4308b8
xor eax, eax
jmp 0x4308e5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0xa8]
jne 0x430933
test eax, eax
je 0x4308fa
mov dword [eax], 0x44b
mov esi, dword [esp + 0xac]
test esi, esi
je 0x430a1b
mov ecx, dword [str.Windows_98SE]
mov eax, esi
mov dword [eax], ecx
mov edx, dword [0x4a093c]
mov dword [eax + 4], edx
mov ecx, dword [0x4a0940]
mov dword [eax + 8], ecx
mov dl, byte [0x4a0944]
mov byte [eax + 0xc], dl
jmp 0x4309b9
test eax, eax
je 0x43093d
mov dword [eax], 0x44a
mov esi, dword [esp + 0xac]
test esi, esi
je 0x430a1b
mov ecx, dword [str.Windows_98]
mov eax, esi
mov dword [eax], ecx
mov edx, dword [0x4a0930]
mov dword [eax + 4], edx
mov cx, word [0x4a0934]
mov word [eax + 8], cx
mov dl, byte [0x4a0936]
jmp 0x4309b6
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x430983
mov dword [eax], 0x44c
mov esi, dword [esp + 0xac]
test esi, esi
je 0x430a1b
mov ecx, dword [str.Windows_ME]
mov eax, esi
mov dword [eax], ecx
mov edx, dword [0x4a0924]
mov dword [eax + 4], edx
mov cx, word [0x4a0928]
mov word [eax + 8], cx
mov dl, byte [0x4a092a]
mov byte [eax + 0xa], dl
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x24]
test eax, eax
je 0x4309f5
mov al, byte [esp + 0x24]
test al, al
je 0x4309f5
lea ecx, [esp + 0x24]
mov edi, esi
push ecx
or ecx, 0xffffffff
xor eax, eax
push 0x4a091c
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, esi
push ecx
call ebx
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
add esp, 0xc
mov edx, dword [esp + 0x1c]
or ecx, 0xffffffff
and edx, 0xffff
xor eax, eax
push edx
push edi
mov edi, esi
push ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._Ver.__d._d._d
add ecx, esi
push ecx
call ebx
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x94
ret
pop edi
pop esi
pop ebp
mov eax, 0x15
pop ebx
add esp, 0x94
ret