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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x521104]
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 [0x528c4c], eax
mov eax, dword [ebp - 0x244]
mov dword [0x527e5c], eax
mov eax, dword [ebp - 0x254]
mov dword [0x521c00], eax
mov eax, dword [ebp - 0x24c]
push 0x118
mov dword [0x521c10], eax
lea eax, [ebp - 0x11c]
push 0
push eax
mov dword [0x521c04], 0
call fcn.004a6890
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 0x46bade
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push esi
mov esi, dword [0x528b74]
test esi, esi
jne 0x46bb0c
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 [0x528b74], esi
test esi, esi
je 0x46bb56
push 0x118
lea eax, [ebp - 0x238]
push 0
push eax
call fcn.004a6890
add esp, 0xc
mov dword [ebp - 0x23c], 0x11c
lea eax, [ebp - 0x23c]
mov ecx, esi
push eax
call dword [0x4ed33c]
call esi
test eax, eax
jne 0x46bb56
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 0x46bd2b
mov ecx, dword [ebp - 0x11c]
mov eax, 0xa
cmp ecx, 5
jb 0x46bd80
mov eax, 0xb
cmp ecx, 6
jb 0x46bd1b
mov eax, 0xd
cmp ecx, 7
jb 0x46bce3
mov eax, 0x11
cmp ecx, 0xb
jae 0x46bbb5
cmp ecx, 0xa
jb 0x46bd80
mov ecx, dword [ebp - 0x114]
cmp ecx, 0x585d
jb 0x46bbbf
mov eax, 0x22
jmp 0x46bd80
cmp ecx, 0x55f0
jb 0x46bbd1
mov eax, 0x21
jmp 0x46bd80
cmp ecx, 0x4a67
jb 0x46bbe3
mov eax, 0x20
jmp 0x46bd80
cmp ecx, 0x4a66
jb 0x46bbf5
mov eax, 0x1f
jmp 0x46bd80
cmp ecx, 0x4a65
jb 0x46bc07
mov eax, 0x1e
jmp 0x46bd80
cmp ecx, 0x4a64
jb 0x46bc19
mov eax, 0x1d
jmp 0x46bd80
cmp ecx, 0x4a63
jb 0x46bc2b
mov eax, 0x1c
jmp 0x46bd80
cmp ecx, 0x4a62
jb 0x46bc3d
mov eax, 0x1b
jmp 0x46bd80
cmp ecx, 0x4a38
jb 0x46bc4f
mov eax, 0x1a
jmp 0x46bd80
cmp ecx, 0x47bb
jb 0x46bc61
mov eax, 0x19
jmp 0x46bd80
cmp ecx, 0x4650
jb 0x46bc73
mov eax, 0x18
jmp 0x46bd80
cmp ecx, 0x44c0
jb 0x46bc85
mov eax, 0x17
jmp 0x46bd80
cmp ecx, 0x4268
jb 0x46bc97
mov eax, 0x16
jmp 0x46bd80
cmp ecx, 0x3e80
jb 0x46bca9
mov eax, 0x15
jmp 0x46bd80
cmp ecx, 0x3a98
jb 0x46bcbb
mov eax, 0x14
jmp 0x46bd80
cmp ecx, 0x36b0
jb 0x46bccd
mov eax, 0x13
jmp 0x46bd80
cmp ecx, 0x295a
jb 0x46bd80
mov eax, 0x12
jmp 0x46bd80
mov ecx, dword [ebp - 0x118]
cmp ecx, 1
jb 0x46bd80
mov eax, 0xe
cmp ecx, 2
jb 0x46bd80
mov eax, 0xf
cmp ecx, 3
jb 0x46bd80
mov eax, 0x10
cmp ecx, 4
jb 0x46bd80
mov eax, 0x11
jmp 0x46bd80
cmp dword [ebp - 0x118], 1
jb 0x46bd80
mov eax, 0xc
jmp 0x46bd80
cmp dword [ebp - 0x11c], 4
jne 0x46bd7e
mov ecx, dword [ebp - 0x118]
mov eax, 1
test ecx, ecx
jne 0x46bd58
mov ecx, 0x457
cmp word [ebp - 0x114], cx
jb 0x46bd80
mov eax, 2
jmp 0x46bd80
cmp ecx, 0x5a
jae 0x46bd77
mov ecx, 0x8ae
mov eax, 3
cmp word [ebp - 0x114], cx
jb 0x46bd80
mov eax, 4
jmp 0x46bd80
mov eax, 5
jmp 0x46bd80
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [0x528c48], eax
xor ecx, ebp
xor eax, eax
call fcn.004a389b
mov esp, ebp
pop ebp
ret