Function at 0x415170
Capabilities:
Get memory capacity
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x8c
mov eax, dword [0x4629b4]
xor eax, esp
mov dword [esp + 0x88], eax
cmp dword [0x461114], 1
push ebx
push ebp
mov ebp, dword [esp + 0x98]
push esi
push edi
mov dword [esp + 0x38], ebp
jne 0x4153a2
lea eax, [esp + 0x28]
xorps xmm0, xmm0
push eax
movups xmmword [esp + 0x2c], xmm0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea eax, [esp + 0x50]
xorps xmm0, xmm0
push eax
movq qword [esp + 0x54], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0
push 0xe10
push dword [0x46c774]
push dword [0x46c770]
call fcn.0042daa0
mov ebp, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
push edx
push eax
push ebp
push ebx
call fcn.0042d9f0
push 0
mov ecx, eax
mov eax, edx
push 0x18
push eax
push ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], eax
call fcn.0042d9f0
mov ecx, eax
mov dword [esp + 0x40], edx
mov edi, ecx
mov dword [esp + 0x48], ecx
mov esi, edx
mov eax, edx
shld esi, ecx, 1
add ecx, ecx
add edi, ecx
mov ecx, dword [esp + 0x1c]
adc eax, esi
mov esi, dword [0x46c770]
shld eax, edi, 3
shl edi, 3
sub ecx, edi
mov edi, dword [0x46c774]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
sbb ecx, eax
mov eax, edi
mov dword [esp + 0x14], ecx
mov ecx, esi
shld eax, ecx, 4
shl ecx, 4
sub ecx, esi
sbb eax, edi
shld eax, ecx, 2
push eax
shl ecx, 2
push ecx
push ebp
push ebx
call fcn.0042d9f0
push 0
push 0x3c
push edx
push eax
call fcn.0042de80
push edi
push esi
push ebp
push ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edx
call fcn.0042d9f0
push 0
push 0x3c
push edx
push eax
call fcn.0042de80
push 0x58
mov ecx, 0x46b8a4
mov esi, eax
mov edi, edx
call fcn.0040df90
mov ecx, eax
call fcn.00409580
cmp dword [esp + 0x10], 0
mov ecx, eax
jl 0x415336
jg 0x4152bb
cmp dword [esp + 0x1c], 0x18
jb 0x415336
movzx eax, word [esp + 0x34]
push eax
movzx eax, word [esp + 0x36]
push eax
movzx eax, word [esp + 0x38]
push eax
movzx eax, word [esp + 0x38]
push dword [eax*4 + 0x4626a8]
movzx eax, word [esp + 0x3e]
push eax
movzx eax, word [esp + 0x3e]
push eax
movzx eax, word [esp + 0x40]
push eax
push edi
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
push ecx
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x78]
push dword [esp + 0x84]
push str._lld
push 0xffffffffffffffff
push 0x469b54
call fcn.00401430
push 0x469b54
call fcn.0040c2b0
add esp, 0x50
cmp eax, dword [0x4610f8]
jle 0x41538d
mov dword [0x4610f8], eax
jmp 0x41538d
movzx eax, word [esp + 0x34]
push eax
movzx eax, word [esp + 0x36]
push eax
movzx eax, word [esp + 0x38]
push eax
movzx eax, word [esp + 0x38]
push dword [eax*4 + 0x4626a8]
movzx eax, word [esp + 0x3e]
push eax
movzx eax, word [esp + 0x3e]
push eax
movzx eax, word [esp + 0x40]
push eax
push edi
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
push ecx
push dword [esp + 0x44]
push dword [esp + 0x4c]
push str._02lld_s_02lld
push 0xffffffffffffffff
push 0x469b54
call fcn.00401430
add esp, 0x44
mov ebp, dword [esp + 0x38]
push 0x469b54
push 0x13ee
push ebp
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp dword [0x46c170], 5
push dword [esp + 0xa4]
push ebp
jle 0x4153ba
call fcn.00417080
jmp 0x4153bf
call fcn.00419000
add esp, 8
cmp dword [0x461134], 1
jne 0x41556f
lea eax, [esp + 0x40]
xorps xmm0, xmm0
push eax
lea eax, [esp + 0x4c]
movlpd qword [esp + 0x3c], xmm0
push eax
lea eax, [esp + 0x40]
movlpd qword [esp + 0x50], xmm0
push eax
movlpd qword [esp + 0x4c], xmm0
call sub.KERNEL32.dll_GetSystemTimes
lea eax, [esp + 0x38]
push eax
push 0x46e5ec
call fcn.004113c0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x50]
push eax
push 0x46e5f4
mov dword [esp + 0x24], edx
call fcn.004113c0
mov esi, eax
mov edi, edx
lea eax, [esp + 0x50]
push eax
push 0x46e5fc
call fcn.004113c0
mov ecx, dword [esp + 0x50]
add esp, 0x18
mov dword [esp + 0x10], eax
mov ebx, edx
mov eax, dword [esp + 0x3c]
add dword [esp + 0x10], esi
mov esi, dword [esp + 0x10]
mov dword [0x46e5f0], eax
adc ebx, edi
mov eax, dword [esp + 0x48]
mov edx, ebx
mov dword [0x46e5f4], eax
mov eax, dword [esp + 0x4c]
mov dword [0x46e5f8], eax
mov eax, dword [esp + 0x40]
mov dword [0x46e5ec], ecx
mov ecx, esi
mov dword [0x46e5fc], eax
mov eax, dword [esp + 0x44]
mov dword [0x46e600], eax
call fcn.0042e300
cvtsd2ss xmm0, xmm0
mov eax, esi
or eax, ebx
movss dword [esp + 0x10], xmm0
je 0x4154d9
sub esi, dword [esp + 0x18]
mov ecx, esi
sbb ebx, dword [esp + 0x14]
mov edx, ebx
call fcn.0042e300
cvtsd2ss xmm0, xmm0
sub esp, 8
mulss xmm0, dword [0x456c80]
divss xmm0, dword [esp + 0x18]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
push str._.1f___
push 0xffffffffffffffff
push 0x469b34
call fcn.0040d490
add esp, 0x14
jmp 0x4154ee
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
neg esi
movss dword [esp + 0x10], xmm0
adc ebx, 0
neg ebx
push 0x469b34
push 0x1712
push ebp
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov edx, ebx
mov ecx, esi
call fcn.0042e300
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x456c80]
divss xmm0, dword [esp + 0x10]
call fcn.0042dfb0
mov esi, eax
cmp dword [0x46c168], esi
je 0x415569
mov eax, 0x23dc99
cmp esi, 0x3c
jbe 0x415543
cmp esi, 0x55
mov eax, 0x2088ff
mov ecx, 0xff
cmova eax, ecx
mov ebx, dword [sym.imp.USER32.dll_PostMessageW]
push eax
push 0
push 0x409
push dword [0x46c144]
call ebx
push 0
push esi
push 0x402
push dword [0x46c144]
call ebx
mov dword [0x46c168], esi
cmp dword [0x461138], 1
jne 0x41570f
push 0x40
lea eax, [esp + 0x5c]
push 0
push eax
call fcn.0042f620
add esp, 0xc
mov dword [esp + 0x58], 0x40
lea eax, [esp + 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x41570f
mov ecx, dword [esp + 0x60]
sub ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
sbb edx, dword [esp + 0x6c]
push 0x44be8c
call fcn.0042e2c0
cvtsd2ss xmm0, xmm0
sub esp, 8
mulss xmm0, dword [0x456c34]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
push str._.2f__s
push 0xffffffffffffffff
push 0x469c54
call fcn.0040d490
mov edx, dword [esp + 0x84]
add esp, 0x18
mov ecx, dword [esp + 0x68]
push 0x44be8c
call fcn.0042e2c0
cvtsd2ss xmm0, xmm0
sub esp, 8
mulss xmm0, dword [0x456c34]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
push str._.2f__s
push 0xffffffffffffffff
push 0x469c74
call fcn.0040d490
mov ecx, dword [esp + 0x78]
add esp, 0x18
sub ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
sbb edx, dword [esp + 0x6c]
call fcn.0042e2c0
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x456c80]
movss dword [esp + 0x38], xmm0
call fcn.0042e2c0
movss xmm1, dword [esp + 0x38]
sub esp, 8
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push str._.2f___
push 0xffffffffffffffff
push 0x469c94
call fcn.0040d490
mov esi, dword [esp + 0x70]
add esp, 0x14
cmp dword [0x46c16c], esi
je 0x41570f
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0x469c54
push 0x1774
push ebp
call ebx
push 0x469c74
push 0x1776
push ebp
call ebx
push 0x469c94
push 0x1778
push ebp
call ebx
mov eax, 0x23dc99
cmp esi, 0x3c
jbe 0x4156e3
cmp esi, 0x55
mov eax, 0x2088ff
mov ecx, 0xff
cmova eax, ecx
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
push eax
push 0
push 0x409
push dword [0x46c148]
call edi
push 0
push esi
push 0x402
push dword [0x46c148]
call edi
mov dword [0x46c16c], esi
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042d960
add esp, 0x8c
ret