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

Disassembly:
push 0x314
mov eax, 0x4b4ca2
call fcn.0046c44c
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.00452601
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.00484bc0
add esp, 0xc
mov dword [ebp - 0x304], esi
push 0x4eb960
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x442500
push str.RtlGetVersion
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x442500
lea eax, [ebp - 0x304]
mov ecx, esi
push eax
call dword [0x4ba7ec]
call esi
test eax, eax
jne 0x442500
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 0x4422d8
push esi
lea eax, [ebp - 0x1a4]
push eax
push str.PROCESSOR_ARCHITECTURE
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x4422d8
lea eax, [ebp - 0x1a4]
push str.AMD64
push eax
call fcn.0048cb62
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 0x4422e9
push 0x48
pop ecx
jmp 0x442309
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.00450307
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 0x44237b
cmp esi, edx
jb 0x442382
cmp ecx, 0x1e
jl 0x44236a
jmp 0x442384
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.00414d4f
mov eax, dword [ebp - 0x310]
pop ecx
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
jle 0x442413
push eax
call fcn.0048cb1c
xor ebx, ebx
cmp edi, eax
pop ecx
setge bl
jge 0x442413
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.00414600
pop ecx
pop ecx
mov ecx, dword [ebp - 0x30c]
jmp 0x4424f6
mov eax, dword [ebp - 0x318]
mov eax, dword [eax]
test eax, eax
je 0x442437
cmp dword [eax - 0xc], 0
je 0x442437
push eax
call fcn.0048cb1c
pop ecx
test eax, eax
jle 0x442437
xor ebx, ebx
cmp edi, eax
setle bl
test ebx, ebx
jne 0x442471
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.00414600
pop ecx
pop ecx
mov ecx, dword [ebp - 0x310]
jmp 0x4424f6
mov edi, dword [ebp - 0x31c]
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jle 0x442491
push eax
call fcn.0048cb1c
xor ebx, ebx
cmp dword [ebp - 0x308], eax
pop ecx
setge bl
test ebx, ebx
jne 0x4424ab
push str.CheckSystemRequirements_failed._Required_MinServicePack:
lea ecx, [ebp - 0x308]
call fcn.00402829
mov byte [ebp - 4], 4
jmp 0x4424dd
mov edi, dword [ebp - 0x320]
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jle 0x4424c5
push eax
call fcn.0048cb1c
cmp esi, eax
pop ecx
sbb ebx, ebx
inc ebx
test ebx, ebx
jne 0x442533
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.00414600
pop ecx
pop ecx
mov ecx, dword [ebp - 0x308]
lea ecx, [ecx - 0x10]
call fcn.00402e64
jmp 0x442533
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.00414d4f
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.0046c3f6
ret