Function at 0x417fce
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x74f330]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov ebx, 0x9c
push ebx
lea eax, [ebp - 0xa0]
push 0
push eax
call fcn.005b8ac0
add esp, 0xc
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xa0], ebx
mov ebx, dword [0x69b5d4]
push eax
call ebx
test eax, eax
jne 0x41803e
lea eax, [ebp - 0xa0]
push eax
mov dword [ebp - 0xa0], 0x94
call ebx
test eax, eax
jne 0x41803e
mov word [edi], ax
mov word [esi], ax
xor al, al
jmp 0x418278
mov ecx, dword [ebp - 0x90]
dec ecx
push 1
pop eax
je 0x4181d8
dec ecx
jne 0x418278
mov ecx, dword [ebp - 0x9c]
cmp ecx, 3
jb 0x41826e
jne 0x418073
push 4
pop ecx
mov word [edi], cx
mov ecx, eax
jmp 0x418275
cmp ecx, 4
jne 0x41809c
push 5
pop ecx
mov word [edi], cx
mov cl, byte [ebp - 0xc]
movzx edx, ax
shl dx, cl
mov ecx, 0xff80
mov word [esi], dx
test ecx, edx
je 0x418278
jmp 0x418275
cmp ecx, 5
jne 0x41812b
mov ecx, dword [ebp - 0x98]
sub ecx, 0
je 0x418112
dec ecx
je 0x4180c5
dec ecx
je 0x4180c0
mov ecx, 0x8000
jmp 0x418270
cmp byte [ebp - 6], al
jne 0x4180f9
cmp word [ebp - 0xc], 2
push 7
pop ecx
mov word [edi], cx
mov ecx, 0xfffc
jb 0x4180e6
movzx edx, word [ebp - 0xc]
dec edx
dec edx
je 0x4180ef
dec edx
je 0x4180ea
mov edx, ecx
jmp 0x4180f1
xor edx, edx
jmp 0x4180f1
push 2
pop edx
jmp 0x4180f1
mov edx, eax
mov word [esi], dx
test cx, dx
jmp 0x418091
push 8
movzx edx, ax
pop ecx
mov word [edi], cx
mov cl, byte [ebp - 0xc]
shl dx, cl
mov ecx, 0xfff8
jmp 0x41808c
push 6
pop ecx
mov word [edi], cx
mov cl, byte [ebp - 0xc]
movzx edx, ax
shl dx, cl
mov ecx, 0xffe0
jmp 0x41808c
cmp ecx, 6
jne 0x4181af
mov ecx, dword [ebp - 0x98]
sub ecx, 0
je 0x41819c
dec ecx
je 0x41817a
dec ecx
je 0x41816a
dec ecx
jne 0x4180b6
movzx edx, ax
cmp byte [ebp - 6], al
jne 0x418166
push 0xf
pop ecx
mov word [edi], cx
mov cl, byte [ebp - 0xc]
shl dx, cl
mov ecx, 0xfffe
jmp 0x41808c
push 0x10
jmp 0x418152
movzx edx, ax
cmp byte [ebp - 6], al
jne 0x418176
push 0xd
jmp 0x418152
push 0xe
jmp 0x418152
movzx edx, ax
cmp byte [ebp - 6], al
jne 0x418198
push 0xb
pop ecx
mov word [edi], cx
mov cl, byte [ebp - 0xc]
shl dx, cl
mov ecx, 0xfffc
jmp 0x41808c
push 0xc
jmp 0x418184
movzx edx, ax
cmp byte [ebp - 6], al
jne 0x4181ab
push 9
jmp 0x4180fe
push 0xa
jmp 0x418184
cmp ecx, 0xa
jne 0x4180b6
cmp dword [ebp - 0x98], 0
jne 0x4180b6
movzx edx, ax
cmp byte [ebp - 6], al
jne 0x4181d1
push 0x11
jmp 0x418152
push 0x12
jmp 0x418152
cmp dword [ebp - 0x9c], 4
jb 0x41826e
cmp dword [ebp - 0x98], 0xa
jae 0x41822c
mov edx, dword [ebp - 0x94]
mov ecx, eax
mov word [edi], cx
mov ecx, 0x4bc
mov edi, ecx
cmp dx, di
ja 0x418273
cmp dx, cx
jne 0x41820f
push 4
pop ecx
jmp 0x418275
mov ecx, 0x457
cmp dx, cx
jb 0x41821d
push 2
jmp 0x41820c
mov ecx, 0x3b6
cmp dx, cx
jb 0x418273
jmp 0x41806c
cmp dword [ebp - 0x98], 0x5a
jae 0x418261
push 2
pop ecx
mov word [edi], cx
mov ecx, 0x8ae
cmp word [ebp - 0x94], cx
ja 0x418273
jne 0x41824f
push 0x20
jmp 0x41820c
mov ecx, 0x7ce
cmp word [ebp - 0x94], cx
jb 0x418273
push 0x10
jmp 0x41820c
jne 0x4180b6
push 3
jmp 0x418068
xor ecx, ecx
mov word [edi], cx
xor ecx, ecx
mov word [esi], cx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005b851f
leave
ret 8