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

Disassembly:
push 0x314
mov eax, 0x4b4f52
call fcn.0046c66c
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.004527d1
push eax
lea ecx, [ebp - 0x314]
call fcn.00402899
mov esi, 0x11c
lea eax, [ebp - 0x304]
xor edi, edi
push esi
push edi
push eax
mov dword [ebp - 4], edi
call fcn.00484ac0
add esp, 0xc
mov dword [ebp - 0x304], esi
push 0x4eb9ec
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x44535f
push str.RtlGetVersion
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x44535f
lea eax, [ebp - 0x304]
mov ecx, esi
push eax
call dword [0x4ba7e8]
call esi
test eax, eax
jne 0x44535f
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 0x445137
push esi
lea eax, [ebp - 0x1a4]
push eax
push str.PROCESSOR_ARCHITECTURE
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x445137
lea eax, [ebp - 0x1a4]
push str.AMD64
push eax
call fcn.0048ca62
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 0x445148
push 0x48
pop ecx
jmp 0x445168
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.004504df
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 0x4451da
cmp esi, edx
jb 0x4451e1
cmp ecx, 0x1e
jl 0x4451c9
jmp 0x4451e3
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.004027d2
add esp, 0x1c
lea edx, [ebp - 0x314]
push 0
push 2
pop ecx
call fcn.00417741
mov eax, dword [ebp - 0x310]
pop ecx
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
jle 0x445272
push eax
call fcn.0048c6ff
xor ebx, ebx
cmp edi, eax
pop ecx
setge bl
jge 0x445272
push str.CheckSystemRequirements_failed._Required_MinOS:
lea ecx, [ebp - 0x30c]
call fcn.00402829
push 0
mov byte [ebp - 4], 2
lea edx, [ebp - 0x30c]
push dword [ebp - 0x310]
push 2
pop ecx
call fcn.00417010
pop ecx
pop ecx
mov ecx, dword [ebp - 0x30c]
jmp 0x445355
mov eax, dword [ebp - 0x318]
mov eax, dword [eax]
test eax, eax
je 0x445296
cmp dword [eax - 0xc], 0
je 0x445296
push eax
call fcn.0048c6ff
pop ecx
test eax, eax
jle 0x445296
xor ebx, ebx
cmp edi, eax
setle bl
test ebx, ebx
jne 0x4452d0
push str.CheckSystemRequirements_failed._Required_MaxOS:
lea ecx, [ebp - 0x310]
call fcn.00402829
push ebx
push dword [ebp - 0x318]
lea edx, [ebp - 0x310]
mov byte [ebp - 4], 3
push 2
pop ecx
call fcn.00417010
pop ecx
pop ecx
mov ecx, dword [ebp - 0x310]
jmp 0x445355
mov edi, dword [ebp - 0x31c]
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jle 0x4452f0
push eax
call fcn.0048c6ff
xor ebx, ebx
cmp dword [ebp - 0x308], eax
pop ecx
setge bl
test ebx, ebx
jne 0x44530a
push str.CheckSystemRequirements_failed._Required_MinServicePack:
lea ecx, [ebp - 0x308]
call fcn.00402829
mov byte [ebp - 4], 4
jmp 0x44533c
mov edi, dword [ebp - 0x320]
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jle 0x445324
push eax
call fcn.0048c6ff
cmp esi, eax
pop ecx
sbb ebx, ebx
inc ebx
test ebx, ebx
jne 0x445392
push str.CheckSystemRequirements_failed._Required_MinMemory:
lea ecx, [ebp - 0x308]
call fcn.00402829
mov byte [ebp - 4], 5
push 0
push edi
push 2
lea edx, [ebp - 0x308]
pop ecx
call fcn.00417010
pop ecx
pop ecx
mov ecx, dword [ebp - 0x308]
lea ecx, [ecx - 0x10]
call fcn.00402e64
jmp 0x445392
push str.RtlGetVersion_failed
lea ecx, [ebp - 0x308]
call fcn.00402829
push edi
push 2
lea edx, [ebp - 0x308]
mov byte [ebp - 4], bl
pop ecx
call fcn.00417741
pop ecx
mov ecx, dword [ebp - 0x308]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ebx, edi
mov ecx, dword [ebp - 0x314]
add ecx, 0xfffffff0
call fcn.00402e64
mov eax, ebx
call fcn.0046c616
ret