Function at 0x41f3b4
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa4
xor eax, eax
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x41f5ee
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x28]
mov edx, 0x24
call sym.P_Interface.bpl__Jclsysutils_ResetMemory_qqrpvi
lea eax, [ebp - 0x28]
push eax
call sub.kernel32.dll_GetSystemInfo
mov eax, dword [ebp - 0x14]
mov dword [sym.P_Interface.bpl__Jclsysinfo_ProcessorCount], eax
mov eax, dword [ebp - 0xc]
mov dword [sym.P_Interface.bpl__Jclsysinfo_AllocGranularity], eax
mov eax, dword [ebp - 0x24]
mov dword [sym.P_Interface.bpl__Jclsysinfo_PageSize], eax
mov eax, dword [sym.imp.rtl70.bpl__Sysutils_Win32Platform]
cmp dword [eax], 2
sete byte [sym.P_Interface.bpl__Jclsysinfo_IsWinNT]
push 0x41f5fc
call sub.kernel32.dll_GetModuleHandleA
lea edx, [ebp - 4]
call sym.P_Interface.bpl__Jclfileutils_GetModulePath_qqrxui
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp byte [sym.P_Interface.bpl__Jclsysinfo_IsWinNT], 0
jne 0x41f443
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 4]
call sym.P_Interface.bpl__Jclfileutils_VersionFixedFileInfo_qqrx17System_AnsiStringr19tagVS_FIXEDFILEINFO
test al, al
je 0x41f443
mov eax, dword [ebp - 0x4c]
mov dword [0x6981b8], eax
jmp 0x41f44a
xor eax, eax
mov dword [0x6981b8], eax
call sym.P_Interface.bpl__Jclsysinfo_GetWindowsVersion_qqrv
and eax, 0x7f
cmp eax, 0x18
ja case.0x41f45b.0
jmp dword [eax*4 + 0x41f462]
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin95], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin95OSR2], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin98], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin98SE], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinME], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinNT3], 1
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinNT31], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinNT3], 1
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinNT35], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinNT3], 1
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinNT35], 1
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinNT351], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinNT4], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin2K], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinXP], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin2003], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinXP64], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin2003R2], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinVista], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinServer2008], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin7], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinServer2008R2], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin8], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin8RT], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinServer2012], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin81], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWin81RT], 1
jmp case.0x41f45b.0
mov byte [sym.P_Interface.bpl__Jclsysinfo_IsWinServer2012R2], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41f5f5
lea eax, [ebp - 4]
call sub.rtl70.bpl__System__LStrClr_qqrpv
ret