Function at 0x446930
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov eax, dword [0x527064]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
lea eax, [ebp - 0x118]
mov dword [ebp - 0x118], 0x114
push eax
mov edi, ecx
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x446b79
mov eax, dword [ebp - 0x108]
cmp eax, 1
jne 0x4469b3
mov eax, dword [ebp - 0x110]
test eax, eax
jne 0x446994
mov esi, 1
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
cmp eax, 0x5a
sbb esi, esi
and esi, 0xfffffffd
add esi, 5
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x446b77
mov eax, dword [ebp - 0x114]
cmp eax, 4
jbe 0x446b72
cmp eax, 5
jne 0x446a16
cmp dword [ebp - 0x110], esi
jne 0x4469f1
mov esi, 4
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
call fcn.004468e0
mov esi, eax
neg esi
sbb esi, esi
and esi, 2
add esi, 6
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
cmp eax, 6
jne 0x446b1e
call fcn.004468e0
test eax, eax
mov eax, dword [ebp - 0x110]
je 0x446aa6
test eax, eax
jne 0x446a49
mov esi, 9
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x446a67
mov esi, 0xb
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x446a85
mov esi, 0xd
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
xor esi, esi
mov ecx, 0xf
cmp eax, 3
cmove esi, ecx
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x446ac1
mov esi, 7
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x446adf
mov esi, 0xa
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x446afd
mov esi, 0xc
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
xor esi, esi
mov ecx, 0xe
cmp eax, 3
cmove esi, ecx
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
cmp eax, 0xa
jne 0x446b77
call fcn.004468e0
xor esi, esi
test eax, eax
je 0x446b50
cmp dword [ebp - 0x110], esi
mov eax, 0x11
cmove esi, eax
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x110], esi
mov eax, 0x10
cmove esi, eax
xor eax, eax
mov dword [edi], esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret
mov esi, 3
mov dword [edi], esi
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop esi
call fcn.004908ad
mov esp, ebp
pop ebp
ret