Function at 0x1006b320
Capabilities:
Check os version

Disassembly:
sub esp, 0x1a4
mov eax, dword [0x10189710]
xor eax, esp
mov dword [esp + 0x1a0], eax
push 0x103
lea eax, [esp + 0xa1]
push 0
push eax
mov byte [esp + 0xa8], 0
call fcn.1012e060
push 0x9c
lea ecx, [esp + 0x10]
push 0
push ecx
call fcn.1012e060
add esp, 0x18
mov dword [esp], 0x9c
test esi, esi
je 0x1006b372
mov byte [esi], 0
cmp dword [0x101c8674], 0
jne 0x1006b3a9
mov dword [0x101c8674], 1
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, eax
js 0x1006b3a9
cmp al, 6
jb 0x1006b3a9
lea edx, [esp]
xor ecx, ecx
mov dword [0x101c8678], 1
call fcn.1005a1e0
jmp 0x1006b3c8
cmp dword [0x101c8678], 0
je 0x1006b3be
lea edx, [esp]
xor ecx, ecx
call fcn.1005a1e0
jmp 0x1006b3c8
lea edx, [esp]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x1006b5ec
lea eax, [esp + 0x9c]
push eax
call fcn.1006b2b0
add esp, 4
test esi, esi
je 0x1006b53d
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x1006b415
movzx ecx, word [esp + 0xc]
push ecx
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x18]
push edx
push ecx
push eax
push str.Version__u._u__s__Build__u_
push esi
call fcn.10127dc0
add esp, 0x18
jmp 0x1006b53d
call fcn.1006bbf0
test eax, eax
je 0x1006b4c4
cmp byte [esp + 0x9c], 0
jne 0x1006b46d
cmp byte [esp + 0x14], 0
je 0x1006b457
call fcn.1006b1f0
movzx edx, word [esp + 0xc]
push eax
push edx
lea eax, [esp + 0x1c]
push eax
push str._s__Build__u._u_
push esi
call fcn.10127dc0
add esp, 0x14
jmp 0x1006b53d
call fcn.1006b1f0
movzx ecx, word [esp + 0xc]
push eax
push ecx
push str.Build__u._u
jmp 0x1006b534
cmp byte [esp + 0x14], 0
je 0x1006b4a0
call fcn.1006b1f0
movzx edx, word [esp + 0xc]
push eax
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0xa8]
push ecx
push str._s__s__Build__u._u_
push esi
call fcn.10127dc0
add esp, 0x18
jmp 0x1006b53d
call fcn.1006b1f0
movzx edx, word [esp + 0xc]
push eax
push edx
lea eax, [esp + 0xa4]
push eax
push str.Version__s__Build__u._u_
push esi
call fcn.10127dc0
add esp, 0x14
jmp 0x1006b53d
cmp byte [esp + 0x9c], 0
jne 0x1006b4fd
cmp byte [esp + 0x14], 0
je 0x1006b4e7
movzx ecx, word [esp + 0xc]
push ecx
lea edx, [esp + 0x18]
push edx
push str._s__Build__u_
jmp 0x1006b534
movzx eax, word [esp + 0xc]
push eax
push str.Build__u
push esi
call fcn.10127dc0
add esp, 0xc
jmp 0x1006b53d
cmp byte [esp + 0x14], 0
movzx ecx, word [esp + 0xc]
push ecx
je 0x1006b527
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0xa4]
push eax
push str._s__s__Build__u_
push esi
call fcn.10127dc0
add esp, 0x14
jmp 0x1006b53d
lea edx, [esp + 0xa0]
push edx
push str.Version__s__Build__u_
push esi
call fcn.10127dc0
add esp, 0x10
cmp dword [esp + 0x10], 2
jne 0x1006b5ec
cmp dword [esp + 4], 5
jb 0x1006b5ec
cmp byte [esp + 0x9a], 1
mov eax, dword [esp + 0x98]
jne 0x1006b585
and eax, 0x200
neg eax
sbb eax, eax
add eax, 2
mov ecx, dword [esp + 0x1a0]
xor ecx, esp
call fcn.10127db1
add esp, 0x1a4
ret
test al, al
jns 0x1006b5a3
mov eax, 4
mov ecx, dword [esp + 0x1a0]
xor ecx, esp
call fcn.10127db1
add esp, 0x1a4
ret
test al, 2
je 0x1006b5c1
mov eax, 5
mov ecx, dword [esp + 0x1a0]
xor ecx, esp
call fcn.10127db1
add esp, 0x1a4
ret
xor edx, edx
mov ecx, 0x400
cmp ax, cx
setne dl
dec edx
and edx, 3
add edx, 3
mov eax, edx
mov ecx, dword [esp + 0x1a0]
xor ecx, esp
call fcn.10127db1
add esp, 0x1a4
ret
mov ecx, dword [esp + 0x1a0]
xor ecx, esp
xor eax, eax
call fcn.10127db1
add esp, 0x1a4
ret