Function at 0x41fef0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x449f6c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
push 0x11c
lea eax, [ebp - 0x120]
push 0
mov dword [edi], 0xffffffff
push eax
mov dword [esi], 0xffffffff
call fcn.00428a90
mov ebx, dword [sym.imp.KERNEL32.dll_GetVersionExW]
add esp, 0xc
lea ecx, [ebp - 0x120]
push ecx
mov dword [ebp - 0x120], 0x11c
call ebx
test eax, eax
jne 0x41ff75
lea edx, [ebp - 0x120]
push edx
mov dword [ebp - 0x120], 0x114
call ebx
test eax, eax
jne 0x41ff75
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
movzx eax, word [ebp - 0xc]
mov dword [esi], eax
mov eax, dword [ebp - 0x110]
sub eax, 0
je 0x420143
sub eax, 1
je 0x4200db
sub eax, 1
jne 0x420149
mov eax, dword [ebp - 0x11c]
cmp eax, 4
ja 0x41ffc0
mov dword [edi], 0x68
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
cmp eax, 5
jne 0x420028
mov eax, dword [ebp - 0x118]
test eax, eax
jne 0x41ffe8
mov dword [edi], 0x69
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x420006
mov dword [edi], 0xc8
pop edi
pop esi
mov al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x4200c2
mov dword [edi], 0x12c
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
cmp eax, 6
jne 0x4200c2
mov eax, dword [ebp - 0x118]
test eax, eax
jne 0x420065
mov cl, byte [ebp - 6]
dec cl
movzx edx, cl
neg edx
sbb edx, edx
and edx, 0x64
add edx, 0x190
mov dword [edi], edx
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x420094
mov al, byte [ebp - 6]
dec al
movzx ecx, al
neg ecx
sbb ecx, ecx
and ecx, 0x64
add ecx, 0x258
mov dword [edi], ecx
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x4200c2
mov dl, byte [ebp - 6]
dec dl
movzx eax, dl
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x384
mov dword [edi], eax
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
mov dword [edi], 0x258
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x11c], 4
jne 0x420149
mov eax, dword [ebp - 0x118]
test eax, eax
jne 0x420107
mov dword [edi], 0x65
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
cmp eax, 0xa
jne 0x420125
mov dword [edi], 0x66
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
cmp eax, 0x5a
jne 0x420149
mov dword [edi], 0x67
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004239c1
mov esp, ebp
pop ebp
ret
mov dword [edi], 0x64
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov al, 1
pop ebx
call fcn.004239c1
mov esp, ebp
pop ebp
ret