Function at 0x46885c
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 0x468bab
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 0x468b77
mov eax, dword [ebp - 0x84]
sub eax, 1
jb 0x4688dd
je 0x468933
dec eax
je 0x468979
jmp 0x468b77
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, 0x468bc4
call fcn.0040a388
mov edx, dword [ebp - 0x98]
mov eax, esi
call fcn.00404bc4
xor ebx, ebx
jmp 0x468b77
mov eax, dword [ebp - 0x8c]
sub eax, 1
jb 0x46894a
sub eax, 9
je 0x468958
sub eax, 0x50
je 0x468966
jmp 0x468972
mov eax, esi
mov edx, 0x468bdc
call fcn.00404bc4
jmp 0x468972
mov eax, esi
mov edx, 0x468bf0
call fcn.00404bc4
jmp 0x468972
mov eax, esi
mov edx, 0x468c04
call fcn.00404bc4
mov bl, 1
jmp 0x468b77
cmp dword [ebp - 0x90], 5
jne 0x46899e
cmp dword [ebp - 0x8c], 0
jne 0x46899e
mov eax, esi
mov edx, 0x468c18
call fcn.00404bc4
mov bl, 3
jmp 0x468b77
cmp dword [ebp - 0x90], 5
jne 0x4689ed
cmp dword [ebp - 0x8c], 1
jne 0x4689ed
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, 0x468c30
call fcn.0040a388
mov edx, dword [ebp - 0xac]
mov eax, esi
call fcn.00404bc4
mov bl, 4
jmp 0x468b77
cmp dword [ebp - 0x90], 5
jne 0x468a3c
cmp dword [ebp - 0x8c], 2
jne 0x468a3c
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, 0x468c48
call fcn.0040a388
mov edx, dword [ebp - 0xb8]
mov eax, esi
call fcn.00404bc4
mov bl, 5
jmp 0x468b77
cmp dword [ebp - 0x90], 6
jne 0x468a8b
cmp dword [ebp - 0x8c], 0
jne 0x468a8b
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, 0x468c60
call fcn.0040a388
mov edx, dword [ebp - 0xbc]
mov eax, esi
call fcn.00404bc4
mov bl, 6
jmp 0x468b77
mov edi, dword [ebp - 0x90]
cmp edi, 6
jne 0x468adc
cmp dword [ebp - 0x8c], 1
jne 0x468adc
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, 0x468c7c
call fcn.0040a388
mov edx, dword [ebp - 0xc0]
mov eax, esi
call fcn.00404bc4
mov bl, 7
jmp 0x468b77
cmp edi, 4
ja 0x468b2e
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, 0x468c94
call fcn.0040a388
mov edx, dword [ebp - 0xc4]
mov eax, esi
call fcn.00404bc4
mov bl, 2
jmp 0x468b77
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, 0x468cb0
call fcn.0040a388
mov edx, dword [ebp - 0xc8]
mov eax, esi
call fcn.00404bc4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x468bb2
lea eax, [ebp - 0xc8]
mov edx, 5
call fcn.00404b94
lea eax, [ebp - 0xac]
call fcn.00404b70
lea eax, [ebp - 0x98]
call fcn.00404b70
ret