Function at 0x46addc
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 0x46b12b
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 0x46b0f7
mov eax, dword [ebp - 0x84]
sub eax, 1
jb 0x46ae5d
je 0x46aeb3
dec eax
je 0x46aef9
jmp 0x46b0f7
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, 0x46b144
call fcn.0040ac28
mov edx, dword [ebp - 0x98]
mov eax, esi
call fcn.00404e30
xor ebx, ebx
jmp 0x46b0f7
mov eax, dword [ebp - 0x8c]
sub eax, 1
jb 0x46aeca
sub eax, 9
je 0x46aed8
sub eax, 0x50
je 0x46aee6
jmp 0x46aef2
mov eax, esi
mov edx, 0x46b15c
call fcn.00404e30
jmp 0x46aef2
mov eax, esi
mov edx, 0x46b170
call fcn.00404e30
jmp 0x46aef2
mov eax, esi
mov edx, 0x46b184
call fcn.00404e30
mov bl, 1
jmp 0x46b0f7
cmp dword [ebp - 0x90], 5
jne 0x46af1e
cmp dword [ebp - 0x8c], 0
jne 0x46af1e
mov eax, esi
mov edx, 0x46b198
call fcn.00404e30
mov bl, 3
jmp 0x46b0f7
cmp dword [ebp - 0x90], 5
jne 0x46af6d
cmp dword [ebp - 0x8c], 1
jne 0x46af6d
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, 0x46b1b0
call fcn.0040ac28
mov edx, dword [ebp - 0xac]
mov eax, esi
call fcn.00404e30
mov bl, 4
jmp 0x46b0f7
cmp dword [ebp - 0x90], 5
jne 0x46afbc
cmp dword [ebp - 0x8c], 2
jne 0x46afbc
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, 0x46b1c8
call fcn.0040ac28
mov edx, dword [ebp - 0xb8]
mov eax, esi
call fcn.00404e30
mov bl, 5
jmp 0x46b0f7
cmp dword [ebp - 0x90], 6
jne 0x46b00b
cmp dword [ebp - 0x8c], 0
jne 0x46b00b
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, 0x46b1e0
call fcn.0040ac28
mov edx, dword [ebp - 0xbc]
mov eax, esi
call fcn.00404e30
mov bl, 6
jmp 0x46b0f7
mov edi, dword [ebp - 0x90]
cmp edi, 6
jne 0x46b05c
cmp dword [ebp - 0x8c], 1
jne 0x46b05c
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, 0x46b1fc
call fcn.0040ac28
mov edx, dword [ebp - 0xc0]
mov eax, esi
call fcn.00404e30
mov bl, 7
jmp 0x46b0f7
cmp edi, 4
ja 0x46b0ae
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, 0x46b214
call fcn.0040ac28
mov edx, dword [ebp - 0xc4]
mov eax, esi
call fcn.00404e30
mov bl, 2
jmp 0x46b0f7
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, 0x46b230
call fcn.0040ac28
mov edx, dword [ebp - 0xc8]
mov eax, esi
call fcn.00404e30
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b132
lea eax, [ebp - 0xc8]
mov edx, 5
call fcn.00404e00
lea eax, [ebp - 0xac]
call fcn.00404ddc
lea eax, [ebp - 0x98]
call fcn.00404ddc
ret