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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x51c100]
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 [0x5239f4], eax
mov eax, dword [ebp - 0x244]
mov dword [0x522dcc], eax
mov eax, dword [ebp - 0x254]
mov dword [0x51cbb0], eax
mov eax, dword [ebp - 0x24c]
push 0x118
mov dword [0x51cbc0], eax
lea eax, [ebp - 0x11c]
push 0
push eax
mov dword [0x51cbb4], 0
call fcn.004a3580
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 0x46955e
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push esi
mov esi, dword [0x52391c]
test esi, esi
jne 0x46958c
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 [0x52391c], esi
test esi, esi
je 0x4695d6
push 0x118
lea eax, [ebp - 0x238]
push 0
push eax
call fcn.004a3580
add esp, 0xc
mov dword [ebp - 0x23c], 0x11c
lea eax, [ebp - 0x23c]
mov ecx, esi
push eax
call dword [0x4e933c]
call esi
test eax, eax
jne 0x4695d6
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 0x4697ab
mov ecx, dword [ebp - 0x11c]
mov eax, 0xa
cmp ecx, 5
jb 0x469800
mov eax, 0xb
cmp ecx, 6
jb 0x46979b
mov eax, 0xd
cmp ecx, 7
jb 0x469763
mov eax, 0x11
cmp ecx, 0xb
jae 0x469635
cmp ecx, 0xa
jb 0x469800
mov ecx, dword [ebp - 0x114]
cmp ecx, 0x585d
jb 0x46963f
mov eax, 0x22
jmp 0x469800
cmp ecx, 0x55f0
jb 0x469651
mov eax, 0x21
jmp 0x469800
cmp ecx, 0x4a67
jb 0x469663
mov eax, 0x20
jmp 0x469800
cmp ecx, 0x4a66
jb 0x469675
mov eax, 0x1f
jmp 0x469800
cmp ecx, 0x4a65
jb 0x469687
mov eax, 0x1e
jmp 0x469800
cmp ecx, 0x4a64
jb 0x469699
mov eax, 0x1d
jmp 0x469800
cmp ecx, 0x4a63
jb 0x4696ab
mov eax, 0x1c
jmp 0x469800
cmp ecx, 0x4a62
jb 0x4696bd
mov eax, 0x1b
jmp 0x469800
cmp ecx, 0x4a38
jb 0x4696cf
mov eax, 0x1a
jmp 0x469800
cmp ecx, 0x47bb
jb 0x4696e1
mov eax, 0x19
jmp 0x469800
cmp ecx, 0x4650
jb 0x4696f3
mov eax, 0x18
jmp 0x469800
cmp ecx, 0x44c0
jb 0x469705
mov eax, 0x17
jmp 0x469800
cmp ecx, 0x4268
jb 0x469717
mov eax, 0x16
jmp 0x469800
cmp ecx, 0x3e80
jb 0x469729
mov eax, 0x15
jmp 0x469800
cmp ecx, 0x3a98
jb 0x46973b
mov eax, 0x14
jmp 0x469800
cmp ecx, 0x36b0
jb 0x46974d
mov eax, 0x13
jmp 0x469800
cmp ecx, 0x295a
jb 0x469800
mov eax, 0x12
jmp 0x469800
mov ecx, dword [ebp - 0x118]
cmp ecx, 1
jb 0x469800
mov eax, 0xe
cmp ecx, 2
jb 0x469800
mov eax, 0xf
cmp ecx, 3
jb 0x469800
mov eax, 0x10
cmp ecx, 4
jb 0x469800
mov eax, 0x11
jmp 0x469800
cmp dword [ebp - 0x118], 1
jb 0x469800
mov eax, 0xc
jmp 0x469800
cmp dword [ebp - 0x11c], 4
jne 0x4697fe
mov ecx, dword [ebp - 0x118]
mov eax, 1
test ecx, ecx
jne 0x4697d8
mov ecx, 0x457
cmp word [ebp - 0x114], cx
jb 0x469800
mov eax, 2
jmp 0x469800
cmp ecx, 0x5a
jae 0x4697f7
mov ecx, 0x8ae
mov eax, 3
cmp word [ebp - 0x114], cx
jb 0x469800
mov eax, 4
jmp 0x469800
mov eax, 5
jmp 0x469800
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [0x5239f0], eax
xor ecx, ebp
xor eax, eax
call fcn.004a057b
mov esp, ebp
pop ebp
ret