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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffea0
push ebx
xor edx, edx
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x160], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x40af89
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
xor edx, edx
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
mov dword [ebp - 0x11c], 0x11c
lea eax, [ebp - 0x11c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
jne 0x40acd1
mov dword [ebp - 0x11c], 0x114
lea eax, [ebp - 0x11c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x40af6b
cmp dword [ebp - 0x10c], 2
jne 0x40af6b
lea eax, [ebp - 0x140]
mov edx, 0x24
call fcn.004024a4
push 0x40af98
push 0x40afc0
call sub.kernel32.dll_GetModuleHandleW_1
push eax
call fcn.00401b80
test eax, eax
je 0x40ad12
lea edx, [ebp - 0x140]
push edx
call eax
jmp 0x40ad1e
lea eax, [ebp - 0x140]
push eax
call sub.kernel32.dll_GetSystemInfo
cmp dword [ebp - 0x118], 5
jne 0x40ad41
cmp dword [ebp - 0x114], 0
jne 0x40ad41
mov eax, ebx
mov edx, 0x40afe8
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x40aed2
cmp dword [ebp - 0x118], 5
jne 0x40ad6d
mov eax, dword [ebp - 0x114]
dec eax
sub eax, 2
jae 0x40ad6d
cmp byte [ebp - 2], 1
jne 0x40ad6d
mov eax, ebx
mov edx, 0x40b010
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x40aed2
cmp dword [ebp - 0x118], 6
jne 0x40ad96
cmp dword [ebp - 0x114], 0
jne 0x40ad96
cmp byte [ebp - 2], 1
jne 0x40ad96
mov eax, ebx
mov edx, 0x40b034
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x40aed2
cmp dword [ebp - 0x118], 6
jne 0x40adbf
cmp dword [ebp - 0x114], 1
jne 0x40adbf
cmp byte [ebp - 2], 1
jne 0x40adbf
mov eax, ebx
mov edx, 0x40b05c
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x40aed2
cmp dword [ebp - 0x118], 6
jne 0x40ade8
cmp dword [ebp - 0x114], 2
jne 0x40ade8
cmp byte [ebp - 2], 1
jne 0x40ade8
mov eax, ebx
mov edx, 0x40b07c
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x40aed2
cmp dword [ebp - 0x118], 6
jne 0x40ae11
cmp dword [ebp - 0x114], 3
jne 0x40ae11
cmp byte [ebp - 2], 1
jne 0x40ae11
mov eax, ebx
mov edx, 0x40b09c
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x40aed2
cmp dword [ebp - 0x118], 6
jne 0x40ae3a
cmp dword [ebp - 0x114], 4
jne 0x40ae3a
cmp byte [ebp - 2], 1
jne 0x40ae3a
mov eax, ebx
mov edx, 0x40b0c0
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x40aed2
cmp dword [ebp - 0x118], 0xa
jne 0x40ae60
cmp dword [ebp - 0x114], 0
jne 0x40ae60
cmp byte [ebp - 2], 1
jne 0x40ae60
mov eax, ebx
mov edx, 0x40b0f4
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x40aed2
cmp dword [ebp - 0x118], 5
jne 0x40ae86
cmp dword [ebp - 0x114], 2
jne 0x40ae86
cmp byte [ebp - 2], 1
je 0x40ae86
mov eax, ebx
mov edx, 0x40b118
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x40aed2
cmp dword [ebp - 0x118], 6
jne 0x40aeae
mov eax, dword [ebp - 0x114]
sub eax, 2
jae 0x40aeae
cmp byte [ebp - 2], 1
je 0x40aeae
mov eax, ebx
mov edx, 0x40b14c
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x40aed2
cmp dword [ebp - 0x118], 6
jne 0x40aed2
cmp dword [ebp - 0x114], 2
jne 0x40aed2
cmp byte [ebp - 2], 1
je 0x40aed2
mov eax, ebx
mov edx, 0x40b180
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
cmp dword [ebx], 0
jne 0x40af13
push ebx
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x150], eax
mov byte [ebp - 0x14c], 0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x148], eax
mov byte [ebp - 0x144], 0
lea edx, [ebp - 0x150]
mov ecx, 1
mov eax, 0x40b1b4
call fcn.0040fdb0
push dword [ebx]
lea eax, [ebp - 0x154]
call fcn.0040ac20
push dword [ebp - 0x154]
push ebp
lea eax, [ebp - 0x158]
call fcn.0040ab78
pop ecx
push dword [ebp - 0x158]
push ebp
lea eax, [ebp - 0x15c]
call fcn.0040ab34
pop ecx
push dword [ebp - 0x15c]
push ebp
lea eax, [ebp - 0x160]
call fcn.0040aabc
pop ecx
push dword [ebp - 0x160]
mov eax, ebx
mov edx, 5
call sub.rtl120.bpl__System__UStrCatN_qqrv
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40af90
lea eax, [ebp - 0x160]
mov edx, 4
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
ret