Function at 0x46c184
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff38
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x98], edx
mov esi, eax
xor eax, eax
push ebp
push 0x46c4d3
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x94], 0x94
mov bl, 8
lea eax, [ebp - 0x94]
push eax
call sub.kernel32.dll_GetVersionExA
test eax, eax
je 0x46c49f
mov eax, dword [ebp - 0x84]
sub eax, 1
jb 0x46c205
je 0x46c25b
dec eax
je 0x46c2a1
jmp 0x46c49f
lea eax, [ebp - 0x98]
push eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xa8]
mov ecx, 1
mov eax, 0x46c4ec
call fcn.0040acf0
mov edx, dword [ebp - 0x98]
mov eax, esi
call fcn.00404e38
xor ebx, ebx
jmp 0x46c49f
mov eax, dword [ebp - 0x8c]
sub eax, 1
jb 0x46c272
sub eax, 9
je 0x46c280
sub eax, 0x50
je 0x46c28e
jmp 0x46c29a
mov eax, esi
mov edx, 0x46c504
call fcn.00404e38
jmp 0x46c29a
mov eax, esi
mov edx, 0x46c518
call fcn.00404e38
jmp 0x46c29a
mov eax, esi
mov edx, 0x46c52c
call fcn.00404e38
mov bl, 1
jmp 0x46c49f
cmp dword [ebp - 0x90], 5
jne 0x46c2c6
cmp dword [ebp - 0x8c], 0
jne 0x46c2c6
mov eax, esi
mov edx, 0x46c540
call fcn.00404e38
mov bl, 3
jmp 0x46c49f
cmp dword [ebp - 0x90], 5
jne 0x46c315
cmp dword [ebp - 0x8c], 1
jne 0x46c315
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x46c558
call fcn.0040acf0
mov edx, dword [ebp - 0xac]
mov eax, esi
call fcn.00404e38
mov bl, 4
jmp 0x46c49f
cmp dword [ebp - 0x90], 5
jne 0x46c364
cmp dword [ebp - 0x8c], 2
jne 0x46c364
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x46c570
call fcn.0040acf0
mov edx, dword [ebp - 0xb8]
mov eax, esi
call fcn.00404e38
mov bl, 5
jmp 0x46c49f
cmp dword [ebp - 0x90], 6
jne 0x46c3b3
cmp dword [ebp - 0x8c], 0
jne 0x46c3b3
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x46c588
call fcn.0040acf0
mov edx, dword [ebp - 0xbc]
mov eax, esi
call fcn.00404e38
mov bl, 6
jmp 0x46c49f
mov edi, dword [ebp - 0x90]
cmp edi, 6
jne 0x46c404
cmp dword [ebp - 0x8c], 1
jne 0x46c404
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x46c5a4
call fcn.0040acf0
mov edx, dword [ebp - 0xc0]
mov eax, esi
call fcn.00404e38
mov bl, 7
jmp 0x46c49f
cmp edi, 4
ja 0x46c456
lea eax, [ebp - 0xc4]
push eax
mov dword [ebp - 0xa8], edi
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xa8]
mov ecx, 1
mov eax, 0x46c5bc
call fcn.0040acf0
mov edx, dword [ebp - 0xc4]
mov eax, esi
call fcn.00404e38
mov bl, 2
jmp 0x46c49f
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 0xa8], edi
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xa8]
mov ecx, 1
mov eax, 0x46c5d8
call fcn.0040acf0
mov edx, dword [ebp - 0xc8]
mov eax, esi
call fcn.00404e38
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46c4da
lea eax, [ebp - 0xc8]
mov edx, 5
call fcn.00404e08
lea eax, [ebp - 0xac]
call fcn.00404de4
lea eax, [ebp - 0x98]
call fcn.00404de4
ret