Function at 0x440352
Capabilities:
Get memory capacity
Query environment variable

Disassembly:
push 0x314
mov eax, 0x48ce52
call fcn.00464e7c
mov dword [ebp - 0x320], edx
mov dword [ebp - 0x310], ecx
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x31c], eax
inc ebx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x318], eax
call fcn.0044afe1
push eax
lea ecx, [ebp - 0x314]
call fcn.00402824
mov esi, 0x11c
lea eax, [ebp - 0x304]
xor edi, edi
push esi
push edi
push eax
mov dword [ebp - 4], edi
call fcn.00466990
add esp, 0xc
mov dword [ebp - 0x304], esi
push 0x4ba468
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x4406a1
push str.RtlGetVersion
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x4406a1
lea eax, [ebp - 0x304]
mov ecx, esi
push eax
call dword [0x4907c8]
call esi
test eax, eax
jne 0x4406a1
movzx eax, word [ebp - 0x1f0]
mov esi, 0xc8
imul edi, dword [ebp - 0x300], 0xa
imul ecx, eax, 0xa
movzx eax, word [ebp - 0x1ee]
push esi
add edi, dword [ebp - 0x2fc]
add ecx, eax
lea eax, [ebp - 0x1a4]
push eax
push str.ProgramW6432
mov dword [ebp - 0x308], ecx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
setne byte [ebp - 0x30c]
test eax, eax
jne 0x440479
push esi
lea eax, [ebp - 0x1a4]
push eax
push str.PROCESSOR_ARCHITECTURE
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x440479
lea eax, [ebp - 0x1a4]
push str.AMD64
push eax
call fcn.0046d798
pop ecx
pop ecx
mov ecx, eax
neg ecx
sbb cl, cl
inc cl
mov dword [ebp - 0x30c], ecx
test dword [ebp - 0x1ec], 0x8000
je 0x44048a
push 0x48
pop ecx
jmp 0x4404aa
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cmp byte [ebp - 0x1ea], 1
push 0x53
pop ecx
push 0x57
pop edx
cmove ecx, edx
test eax, eax
push 0x32
pop edx
cmovne ecx, edx
cmp byte [ebp - 0x30c], 0
push 3
pop eax
push 6
pop edx
cmovne eax, edx
push eax
push ecx
push dword [ebp - 0x2fc]
lea eax, [ebp - 0x1a4]
push dword [ebp - 0x300]
push str._d_d_c_d
push eax
call fcn.00448d25
add esp, 0x18
mov dword [ebp - 0x1e4], 0x40
lea eax, [ebp - 0x1e4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov esi, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1d8]
shrd esi, eax, 0x14
xor ecx, ecx
mov dword [ebp - 0x30c], esi
mov eax, ebx
mov edx, ebx
shl eax, cl
inc ecx
shl edx, cl
cmp eax, esi
jae 0x44051c
cmp esi, edx
jb 0x440523
cmp ecx, 0x1e
jl 0x44050b
jmp 0x440525
mov esi, edx
push esi
push dword [ebp - 0x30c]
lea eax, [ebp - 0x1a4]
push eax
push dword [ebp - 0x308]
lea eax, [ebp - 0x314]
push edi
push str.CheckSystemRequirements_os_sp___d__d_osString___s__physicalMemory___d____d
push eax
call fcn.00402762
add esp, 0x1c
lea edx, [ebp - 0x314]
push 0
push 2
pop ecx
call fcn.00413e51
mov eax, dword [ebp - 0x310]
pop ecx
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
jle 0x4405b4
push eax
call fcn.0046d752
xor ebx, ebx
cmp edi, eax
pop ecx
setge bl
jge 0x4405b4
push str.CheckSystemRequirements_failed._Required_MinOS:
lea ecx, [ebp - 0x30c]
call fcn.0040279b
push 0
mov byte [ebp - 4], 2
lea edx, [ebp - 0x30c]
push dword [ebp - 0x310]
push 2
pop ecx
call fcn.00413900
pop ecx
pop ecx
mov ecx, dword [ebp - 0x30c]
jmp 0x440697
mov eax, dword [ebp - 0x318]
mov eax, dword [eax]
test eax, eax
je 0x4405d8
cmp dword [eax - 0xc], 0
je 0x4405d8
push eax
call fcn.0046d752
pop ecx
test eax, eax
jle 0x4405d8
xor ebx, ebx
cmp edi, eax
setle bl
test ebx, ebx
jne 0x440612
push str.CheckSystemRequirements_failed._Required_MaxOS:
lea ecx, [ebp - 0x310]
call fcn.0040279b
push ebx
push dword [ebp - 0x318]
lea edx, [ebp - 0x310]
mov byte [ebp - 4], 3
push 2
pop ecx
call fcn.00413900
pop ecx
pop ecx
mov ecx, dword [ebp - 0x310]
jmp 0x440697
mov edi, dword [ebp - 0x31c]
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jle 0x440632
push eax
call fcn.0046d752
xor ebx, ebx
cmp dword [ebp - 0x308], eax
pop ecx
setge bl
test ebx, ebx
jne 0x44064c
push str.CheckSystemRequirements_failed._Required_MinServicePack:
lea ecx, [ebp - 0x308]
call fcn.0040279b
mov byte [ebp - 4], 4
jmp 0x44067e
mov edi, dword [ebp - 0x320]
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jle 0x440666
push eax
call fcn.0046d752
cmp esi, eax
pop ecx
sbb ebx, ebx
inc ebx
test ebx, ebx
jne 0x4406d4
push str.CheckSystemRequirements_failed._Required_MinMemory:
lea ecx, [ebp - 0x308]
call fcn.0040279b
mov byte [ebp - 4], 5
push 0
push edi
push 2
lea edx, [ebp - 0x308]
pop ecx
call fcn.00413900
pop ecx
pop ecx
mov ecx, dword [ebp - 0x308]
lea ecx, [ecx - 0x10]
call fcn.00402def
jmp 0x4406d4
push str.RtlGetVersion_failed
lea ecx, [ebp - 0x308]
call fcn.0040279b
push edi
push 2
lea edx, [ebp - 0x308]
mov byte [ebp - 4], bl
pop ecx
call fcn.00413e51
pop ecx
mov ecx, dword [ebp - 0x308]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov ebx, edi
mov ecx, dword [ebp - 0x314]
add ecx, 0xfffffff0
call fcn.00402def
mov eax, ebx
call fcn.00464e26
ret