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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x545100]
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 [0x54cb44], eax
mov eax, dword [ebp - 0x244]
mov dword [0x54bca0], eax
mov eax, dword [ebp - 0x254]
mov dword [0x545be8], eax
mov eax, dword [ebp - 0x24c]
push 0x118
mov dword [0x545bf4], eax
lea eax, [ebp - 0x11c]
push 0
push eax
mov dword [0x545bec], 0
call fcn.004a8c90
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 0x474ebe
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push esi
mov esi, dword [0x54ca74]
test esi, esi
jne 0x474eec
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 [0x54ca74], esi
test esi, esi
je 0x474f36
push 0x118
lea eax, [ebp - 0x238]
push 0
push eax
call fcn.004a8c90
add esp, 0xc
mov dword [ebp - 0x23c], 0x11c
lea eax, [ebp - 0x23c]
mov ecx, esi
push eax
call dword [0x4f1320]
call esi
test eax, eax
jne 0x474f36
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 0x47511d
mov ecx, dword [ebp - 0x11c]
mov eax, 0xa
cmp ecx, 5
jb 0x475172
mov eax, 0xb
cmp ecx, 6
jb 0x47510d
mov eax, 0xd
cmp ecx, 7
jb 0x4750d5
mov eax, 0x11
cmp ecx, 0xb
jae 0x474f95
cmp ecx, 0xa
jb 0x475172
mov ecx, dword [ebp - 0x114]
cmp ecx, 0x5867
jb 0x474f9f
mov eax, 0x23
jmp 0x475172
cmp ecx, 0x585d
jb 0x474fb1
mov eax, 0x22
jmp 0x475172
cmp ecx, 0x55f0
jb 0x474fc3
mov eax, 0x21
jmp 0x475172
cmp ecx, 0x4a67
jb 0x474fd5
mov eax, 0x20
jmp 0x475172
cmp ecx, 0x4a66
jb 0x474fe7
mov eax, 0x1f
jmp 0x475172
cmp ecx, 0x4a65
jb 0x474ff9
mov eax, 0x1e
jmp 0x475172
cmp ecx, 0x4a64
jb 0x47500b
mov eax, 0x1d
jmp 0x475172
cmp ecx, 0x4a63
jb 0x47501d
mov eax, 0x1c
jmp 0x475172
cmp ecx, 0x4a62
jb 0x47502f
mov eax, 0x1b
jmp 0x475172
cmp ecx, 0x4a38
jb 0x475041
mov eax, 0x1a
jmp 0x475172
cmp ecx, 0x47bb
jb 0x475053
mov eax, 0x19
jmp 0x475172
cmp ecx, 0x4650
jb 0x475065
mov eax, 0x18
jmp 0x475172
cmp ecx, 0x44c0
jb 0x475077
mov eax, 0x17
jmp 0x475172
cmp ecx, 0x4268
jb 0x475089
mov eax, 0x16
jmp 0x475172
cmp ecx, 0x3e80
jb 0x47509b
mov eax, 0x15
jmp 0x475172
cmp ecx, 0x3a98
jb 0x4750ad
mov eax, 0x14
jmp 0x475172
cmp ecx, 0x36b0
jb 0x4750bf
mov eax, 0x13
jmp 0x475172
cmp ecx, 0x295a
jb 0x475172
mov eax, 0x12
jmp 0x475172
mov ecx, dword [ebp - 0x118]
cmp ecx, 1
jb 0x475172
mov eax, 0xe
cmp ecx, 2
jb 0x475172
mov eax, 0xf
cmp ecx, 3
jb 0x475172
mov eax, 0x10
cmp ecx, 4
jb 0x475172
mov eax, 0x11
jmp 0x475172
cmp dword [ebp - 0x118], 1
jb 0x475172
mov eax, 0xc
jmp 0x475172
cmp dword [ebp - 0x11c], 4
jne 0x475170
mov ecx, dword [ebp - 0x118]
mov eax, 1
test ecx, ecx
jne 0x47514a
mov ecx, 0x457
cmp word [ebp - 0x114], cx
jb 0x475172
mov eax, 2
jmp 0x475172
cmp ecx, 0x5a
jae 0x475169
mov ecx, 0x8ae
mov eax, 3
cmp word [ebp - 0x114], cx
jb 0x475172
mov eax, 4
jmp 0x475172
mov eax, 5
jmp 0x475172
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [0x54cb50], eax
xor ecx, ebp
xor eax, eax
call fcn.004a5e3b
mov esp, ebp
pop ebp
ret