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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x103c
call fcn.0041bae0
push ebx
push esi
push edi
push 0x40
pop esi
push esi
xor ebx, ebx
lea eax, [esp + 0x7c]
push ebx
push eax
call fcn.0041c9b0
add esp, 0xc
lea edi, [esp + 0xb8]
xor eax, eax
push 0xa
pop ecx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc28]
call fcn.0040117c
lea ecx, [esp + 0x808]
call fcn.0040117c
lea ecx, [esp + 0xe38]
call fcn.0040117c
lea ecx, [esp + 0x5f8]
call fcn.0040117c
lea ecx, [esp + 0xa18]
call fcn.0040117c
lea ecx, [esp + 0xe0]
call fcn.0044c5e2
xor eax, eax
lea edi, [esp + 0x68]
stosd dword es:[edi], eax
push 0xa
pop ecx
push ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0x154]
rep stosd dword es:[edi], eax
call fcn.0042a4e8
pop ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
cmp edx, dword [0x4baffc]
jl 0x40f6ff
mov ecx, dword [0x4baff8]
jg 0x40f6f5
cmp eax, ecx
jbe 0x40f6ff
mov ebx, eax
sub ebx, ecx
mov dword [esp + 0x10], ebx
xor ebx, ebx
lea ecx, [esp + 0x68]
call fcn.00408edb
lea eax, [esp + 0x78]
mov dword [esp + 0x78], esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
jne 0x40f72a
push esi
lea eax, [esp + 0x7c]
push ebx
push eax
call fcn.0041c9b0
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 0x28
pop eax
push eax
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xbc]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_K32GetProcessMemoryInfo]
test eax, eax
jne 0x40f75c
push 0xa
pop ecx
lea edi, [esp + 0xb8]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push ebx
xor edx, edx
lea ecx, [esp + 0x80c]
call fcn.00407723
pop ecx
lea ecx, [esp + 0xe38]
call fcn.0040f4a2
lea eax, [esp + 0xc]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessHandleCount]
neg eax
push 0x80
sbb eax, eax
and dword [esp + 0x10], eax
lea eax, [esp + 0x17c]
push ebx
push eax
call fcn.0041c9b0
add esp, 0xc
lea eax, [esp + 0x178]
mov edi, 0x100
mov edx, str.SOFTWAREMetaQuotes_Software
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
push edi
push 0x7e
push eax
push 0x46d090
call fcn.00403d72
add esp, 0x10
mov esi, 0x2710
test al, al
je 0x40f7f7
lea eax, [esp + 0x178]
push eax
call fcn.0042a464
pop ecx
cmp edx, ebx
jg 0x40f83f
jl 0x40f7f7
cmp eax, esi
jae 0x40f83f
push edi
push 0x7e
lea eax, [esp + 0x180]
mov edx, str.SOFTWAREMetaQuotes_Software
push eax
push 0x46d090
mov ecx, closesocket
call fcn.00403d72
add esp, 0x10
test al, al
je 0x40f835
lea eax, [esp + 0x178]
push eax
call fcn.0042a464
pop ecx
cmp edx, ebx
jg 0x40f83f
jl 0x40f835
cmp eax, esi
jae 0x40f83f
xor eax, eax
mov word [esp + 0x178], ax
mov esi, 0x200
lea eax, [esp + 0x3f8]
push esi
push ebx
push eax
call fcn.0041c9b0
add esp, 0xc
lea eax, [esp + 0x1f8]
push esi
push ebx
push eax
call fcn.0041c9b0
add esp, 0xc
lea eax, [esp + 0x1f8]
mov esi, reloc.OLEAUT32.dll_SysReAllocString
mov edx, str.HARDWAREDESCRIPTIONSystem
mov ecx, esi
push edi
push 0x1fe
push eax
push str.SystemBiosVersion
call fcn.00403d72
add esp, 0x10
test al, al
jne 0x40f89f
xor eax, eax
mov word [esp + 0x1f8], ax
jmp 0x40f8bc
lea eax, [esp + 0x1f8]
push 0x472cfc
push eax
call fcn.0041bcae
pop ecx
pop ecx
test eax, eax
je 0x40f8bc
xor ecx, ecx
mov word [eax], cx
push edi
push 0x1fe
lea eax, [esp + 0x400]
mov edx, str.HARDWAREDESCRIPTIONSystemBIOS
push eax
push 0x46cfec
mov ecx, esi
call fcn.00403d72
add esp, 0x10
test al, al
jne 0x40f8f1
xor eax, eax
mov word [esp + 0x3f8], ax
jmp 0x40f9b3
lea eax, [esp + 0x3f8]
push 0x472cfc
push eax
call fcn.0041bcae
pop ecx
pop ecx
test eax, eax
je 0x40f90e
xor ecx, ecx
mov word [eax], cx
cmp word [esp + 0x3f8], 0
je 0x40f953
cmp word [esp + 0x1f8], 0
je 0x40f93a
push 0x471da0
lea eax, [esp + 0x1fc]
push edi
push eax
call fcn.004230c0
add esp, 0xc
lea eax, [esp + 0x3f8]
push eax
lea eax, [esp + 0x1fc]
push edi
push eax
call fcn.004230c0
add esp, 0xc
push edi
push 0x1fe
lea eax, [esp + 0x400]
mov edx, str.HARDWAREDESCRIPTIONSystemBIOS
push eax
push str.BaseBoardProduct
mov ecx, esi
call fcn.00403d72
add esp, 0x10
test al, al
je 0x40f9b3
cmp word [esp + 0x3f8], 0
je 0x40f9b3
push 0x471da0
lea eax, [esp + 0x1fc]
push edi
push eax
call fcn.004230c0
add esp, 0xc
lea eax, [esp + 0x3f8]
push eax
lea eax, [esp + 0x1fc]
push edi
push eax
call fcn.004230c0
add esp, 0xc
mov ecx, dword [0x4c67a0]
mov esi, str.write
mov edx, str.read
cmp ecx, 0xc0000005
jne 0x40f9d9
cmp dword [0x4c67b4], 0
mov eax, esi
cmove eax, edx
jmp 0x40f9de
mov eax, 0x472394
push eax
push dword [0x4c67ac]
lea eax, [esp + 0x600]
push ecx
push str._.8X_at__p__s
push eax
call fcn.004011fb
mov eax, dword [0x4ba0a4]
lea ecx, [esp + 0xf4]
add esp, 0x14
add eax, eax
push eax
push dword [0x4ba0a0]
call fcn.0044c62d
push 4
push 0x4baf9c
lea ecx, [esp + 0xe8]
call fcn.0044c62d
mov eax, dword [esp + 0x810]
lea ecx, [esp + 0xe0]
add eax, eax
push eax
push dword [esp + 0x810]
call fcn.0044c62d
mov eax, dword [esp + 0x600]
lea ecx, [esp + 0xe0]
add eax, eax
push eax
push dword [esp + 0x600]
call fcn.0044c62d
lea ecx, [esp + 0xe0]
call fcn.0044c6e5
push 0x27
push 0x4baf44
lea ecx, [esp + 0xe8]
call fcn.0044c755
push ecx
lea eax, [esp + 0x154]
push eax
lea ecx, [esp + 0xe8]
call fcn.0044c421
push 0x28
lea eax, [esp + 0x154]
push eax
push 0x10
pop edx
lea ecx, [esp + 0x70]
call fcn.0044c4b6
pop ecx
pop ecx
mov edi, ebx
movzx eax, byte [esp + edi + 0x68]
push eax
lea eax, [esp + 0xa1c]
push 0x4679d8
push eax
call fcn.004011fb
add esp, 0xc
lea eax, [esp + 0xa18]
lea ecx, [esp + 0xc28]
push eax
call fcn.00401262
inc edi
cmp edi, 0x10
jb 0x40fab0
mov ecx, dword [0x4c67a0]
mov eax, ebx
cmp dword [eax*8 + 0x492340], ecx
je 0x40fb00
inc eax
cmp eax, 0x1c
jb 0x40faed
mov edx, ebx
jmp 0x40fb07
mov edx, dword [eax*8 + 0x492344]
cmp ecx, 0xc0000005
jne 0x40fb25
cmp dword [0x4c67b4], 0
mov eax, str.read
cmove esi, eax
mov eax, dword [0x4c67b8]
jmp 0x40fb2c
mov esi, 0x472394
mov eax, ebx
push eax
push esi
push dword [0x4c67ac]
test edx, edx
mov eax, 0x4679ec
push ecx
cmovne eax, edx
push eax
lea eax, [esp + 0x60c]
push str._s__.8X_at__p__s_to__.8X
push eax
call fcn.004011fb
mov eax, dword [esp + 0x618]
add esp, 0x1c
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov eax, dword [0x4bad30]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc2c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x94]
shrd ecx, eax, 0x14
mov esi, dword [0x4ba900]
shr eax, 0x14
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x98]
shrd ecx, eax, 0x14
mov edi, dword [0x4ba6e8]
shr eax, 0x14
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x80]
shrd ecx, eax, 0x14
mov ebx, dword [0x4bab18]
shr eax, 0x14
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x88]
shrd ecx, eax, 0x14
shr eax, 0x14
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xd8]
shr eax, 0x14
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xa0]
sub ecx, dword [esp + 0xa8]
sbb eax, dword [esp + 0xac]
shrd ecx, eax, 0x14
shr eax, 0x14
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xc4]
shr eax, 0x14
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xe3c]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], eax
call fcn.00403bd7
push dword [esp + 0x14]
cmp dword [0x4ba2bc], 0
mov ecx, 0x4679ec
push dword [esp + 0x1c]
mov edx, 0x4679f0
push dword [esp + 0x24]
cmove edx, ecx
cmovne ecx, dword [0x4ba2b8]
push dword [esp + 0x2c]
push dword [esp + 0x34]
push dword [esp + 0x3c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x54]
push dword [esp + 0x5c]
push dword [esp + 0x64]
push dword [esp + 0x6c]
push 0
push dword [esp + 0x78]
push dword [esp + 0x80]
push dword [esp + 0x88]
push 0
push dword [esp + 0x94]
push esi
push edi
push ebx
push dword [esp + 0xa8]
push eax
push edx
push ecx
mov ecx, 0x4679ec
mov eax, str.Developer___:
cmove eax, ecx
mov ecx, dword [esp + 0x74]
push eax
lea eax, [esp + 0x1e0]
xor edx, edx
push eax
lea eax, [esp + 0x264]
push eax
push dword [esp + 0x87c]
mov eax, ecx
push dword [0x4bafa0]
push dword [0x4bafa8]
push dword [0x4baf9c]
push dword [0x4baf98]
push dword [0x4ba0a0]
push 0x3c
pop esi
div esi
mov eax, ecx
push edx
xor edx, edx
div esi
xor edx, edx
div esi
mov eax, ecx
mov ecx, 0xe10
push edx
xor edx, edx
div ecx
push eax
movzx eax, word [esp + 0xf6]
push eax
movzx eax, word [esp + 0xf8]
push eax
movzx eax, word [esp + 0xfa]
push eax
movzx eax, word [esp + 0xfa]
push eax
movzx eax, word [esp + 0xfc]
push eax
push 0x4baf44
push dword [0x4b9e88]
push str.Filename____:__s._s_r_nTime________:__04d._02d._02d__02d:_02d___u:_02u:_02u__r_nProgram_____:__s_r_nVersion_____:__d._d___s__r_nRevision____:__d_r_nOS__________:__s_r_nBIOS________:__s_r_nID__________:__s_r_n_s_s_sProcessors__:__u_x__s_r_nVideo_______:__s_r_nCompany_____:__s_r_nComputer____:__s_r_nMemory______:__I64u_Mb_r_nVirtual_____:__I64u_Mb_r_nCommit______:__I64u_Mb_r_nOS_Memory___:__I64u_free_of__I64u_Mb_r_nOS_Commit___:__I64u_free_of__I64u_Mb_r_nHandles_____:__lu_r_nCrashMD5____:__s_r_nCustomInfo__:__s_r_nException___:__s_r_n_r_n
push 0xffffffffffffffff
push 0x100000
push dword [0x4bb000]
call fcn.00401ea4
add esp, 0xc0
lea ecx, [esp + 0xe0]
call fcn.0044c601
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret