Function at 0x46ccb0
Capabilities:
Check os version
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x522104]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x25c]
mov dword [0x529c74], eax
mov eax, dword [ebp - 0x244]
mov dword [0x528e5c], eax
mov eax, dword [ebp - 0x254]
mov dword [0x522c18], eax
mov eax, dword [ebp - 0x24c]
push 0x118
mov dword [0x522c24], eax
lea eax, [ebp - 0x11c]
push 0
push eax
mov dword [0x522c1c], 0
call fcn.004a7c50
add esp, 0xc
mov dword [ebp - 0x120], 0x11c
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x46cd4e
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push esi
mov esi, dword [0x529ba4]
test esi, esi
jne 0x46cd7c
push str.RtlGetVersion
push str.NTDLL.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
mov dword [0x529ba4], esi
test esi, esi
je 0x46cdc6
push 0x118
lea eax, [ebp - 0x238]
push 0
push eax
call fcn.004a7c50
add esp, 0xc
mov dword [ebp - 0x23c], 0x11c
lea eax, [ebp - 0x23c]
mov ecx, esi
push eax
call dword [0x4ee33c]
call esi
test eax, eax
jne 0x46cdc6
push edi
mov ecx, 0x47
lea esi, [ebp - 0x23c]
lea edi, [ebp - 0x120]
rep movsd dword es:[edi], dword [esi]
pop edi
cmp dword [ebp - 0x110], 2
pop esi
jne 0x46cf9b
mov ecx, dword [ebp - 0x11c]
mov eax, 0xa
cmp ecx, 5
jb 0x46cff0
mov eax, 0xb
cmp ecx, 6
jb 0x46cf8b
mov eax, 0xd
cmp ecx, 7
jb 0x46cf53
mov eax, 0x11
cmp ecx, 0xb
jae 0x46ce25
cmp ecx, 0xa
jb 0x46cff0
mov ecx, dword [ebp - 0x114]
cmp ecx, 0x585d
jb 0x46ce2f
mov eax, 0x22
jmp 0x46cff0
cmp ecx, 0x55f0
jb 0x46ce41
mov eax, 0x21
jmp 0x46cff0
cmp ecx, 0x4a67
jb 0x46ce53
mov eax, 0x20
jmp 0x46cff0
cmp ecx, 0x4a66
jb 0x46ce65
mov eax, 0x1f
jmp 0x46cff0
cmp ecx, 0x4a65
jb 0x46ce77
mov eax, 0x1e
jmp 0x46cff0
cmp ecx, 0x4a64
jb 0x46ce89
mov eax, 0x1d
jmp 0x46cff0
cmp ecx, 0x4a63
jb 0x46ce9b
mov eax, 0x1c
jmp 0x46cff0
cmp ecx, 0x4a62
jb 0x46cead
mov eax, 0x1b
jmp 0x46cff0
cmp ecx, 0x4a38
jb 0x46cebf
mov eax, 0x1a
jmp 0x46cff0
cmp ecx, 0x47bb
jb 0x46ced1
mov eax, 0x19
jmp 0x46cff0
cmp ecx, 0x4650
jb 0x46cee3
mov eax, 0x18
jmp 0x46cff0
cmp ecx, 0x44c0
jb 0x46cef5
mov eax, 0x17
jmp 0x46cff0
cmp ecx, 0x4268
jb 0x46cf07
mov eax, 0x16
jmp 0x46cff0
cmp ecx, 0x3e80
jb 0x46cf19
mov eax, 0x15
jmp 0x46cff0
cmp ecx, 0x3a98
jb 0x46cf2b
mov eax, 0x14
jmp 0x46cff0
cmp ecx, 0x36b0
jb 0x46cf3d
mov eax, 0x13
jmp 0x46cff0
cmp ecx, 0x295a
jb 0x46cff0
mov eax, 0x12
jmp 0x46cff0
mov ecx, dword [ebp - 0x118]
cmp ecx, 1
jb 0x46cff0
mov eax, 0xe
cmp ecx, 2
jb 0x46cff0
mov eax, 0xf
cmp ecx, 3
jb 0x46cff0
mov eax, 0x10
cmp ecx, 4
jb 0x46cff0
mov eax, 0x11
jmp 0x46cff0
cmp dword [ebp - 0x118], 1
jb 0x46cff0
mov eax, 0xc
jmp 0x46cff0
cmp dword [ebp - 0x11c], 4
jne 0x46cfee
mov ecx, dword [ebp - 0x118]
mov eax, 1
test ecx, ecx
jne 0x46cfc8
mov ecx, 0x457
cmp word [ebp - 0x114], cx
jb 0x46cff0
mov eax, 2
jmp 0x46cff0
cmp ecx, 0x5a
jae 0x46cfe7
mov ecx, 0x8ae
mov eax, 3
cmp word [ebp - 0x114], cx
jb 0x46cff0
mov eax, 4
jmp 0x46cff0
mov eax, 5
jmp 0x46cff0
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [0x529c80], eax
xor ecx, ebp
xor eax, eax
call fcn.004a4c5b
mov esp, ebp
pop ebp
ret