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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x104c
call fcn.0041bda0
push ebx
push esi
push edi
push 0x40
pop esi
push esi
xor ebx, ebx
lea eax, [esp + 0x8c]
push ebx
push eax
call fcn.0041cc70
add esp, 0xc
lea edi, [esp + 0xc8]
xor eax, eax
push 0xa
pop ecx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc38]
call fcn.0040117c
lea ecx, [esp + 0x818]
call fcn.0040117c
lea ecx, [esp + 0xe48]
call fcn.0040117c
lea ecx, [esp + 0x608]
call fcn.0040117c
lea ecx, [esp + 0xa28]
call fcn.0040117c
lea ecx, [esp + 0xf0]
call fcn.0044cb8c
xor eax, eax
lea edi, [esp + 0x78]
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 + 0x164]
rep stosd dword es:[edi], eax
call fcn.0042a7a8
pop ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
cmp edx, dword [0x4bb664]
jl 0x40f951
mov ecx, dword [0x4bb660]
jg 0x40f947
cmp eax, ecx
jbe 0x40f951
mov ebx, eax
sub ebx, ecx
mov dword [esp + 0x10], ebx
xor ebx, ebx
lea ecx, [esp + 0x78]
call fcn.0040906f
lea eax, [esp + 0x88]
mov dword [esp + 0x88], esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
jne 0x40f985
push esi
lea eax, [esp + 0x8c]
push ebx
push eax
call fcn.0041cc70
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 0x28
pop eax
push eax
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xcc]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_K32GetProcessMemoryInfo]
test eax, eax
jne 0x40f9b7
push 0xa
pop ecx
lea edi, [esp + 0xc8]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push ebx
xor edx, edx
lea ecx, [esp + 0x81c]
call fcn.004078b7
pop ecx
lea ecx, [esp + 0xe48]
call fcn.0040f6f1
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 + 0x18c]
push ebx
push eax
call fcn.0041cc70
add esp, 0xc
lea eax, [esp + 0x188]
mov edi, 0x100
mov edx, str.SOFTWAREMetaQuotes_Software
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
push edi
push 0x7e
push eax
push 0x46d090
call fcn.00403d81
add esp, 0x10
mov esi, 0x2710
test al, al
je 0x40fa52
lea eax, [esp + 0x188]
push eax
call fcn.0042a724
pop ecx
cmp edx, ebx
jg 0x40fa9a
jl 0x40fa52
cmp eax, esi
jae 0x40fa9a
push edi
push 0x7e
lea eax, [esp + 0x190]
mov edx, str.SOFTWAREMetaQuotes_Software
push eax
push 0x46d090
mov ecx, closesocket
call fcn.00403d81
add esp, 0x10
test al, al
je 0x40fa90
lea eax, [esp + 0x188]
push eax
call fcn.0042a724
pop ecx
cmp edx, ebx
jg 0x40fa9a
jl 0x40fa90
cmp eax, esi
jae 0x40fa9a
xor eax, eax
mov word [esp + 0x188], ax
mov esi, 0x200
lea eax, [esp + 0x408]
push esi
push ebx
push eax
call fcn.0041cc70
add esp, 0xc
lea eax, [esp + 0x208]
push esi
push ebx
push eax
call fcn.0041cc70
add esp, 0xc
lea eax, [esp + 0x208]
mov esi, reloc.OLEAUT32.dll_SysReAllocString
mov edx, str.HARDWAREDESCRIPTIONSystem
mov ecx, esi
push edi
push 0x1fe
push eax
push str.SystemBiosVersion
call fcn.00403d81
add esp, 0x10
test al, al
jne 0x40fafa
xor eax, eax
mov word [esp + 0x208], ax
jmp 0x40fb17
lea eax, [esp + 0x208]
push 0x472c94
push eax
call fcn.0041bf6e
pop ecx
pop ecx
test eax, eax
je 0x40fb17
xor ecx, ecx
mov word [eax], cx
push edi
push 0x1fe
lea eax, [esp + 0x410]
mov edx, str.HARDWAREDESCRIPTIONSystemBIOS
push eax
push 0x46cfec
mov ecx, esi
call fcn.00403d81
add esp, 0x10
test al, al
jne 0x40fb4c
xor eax, eax
mov word [esp + 0x408], ax
jmp 0x40fc0e
lea eax, [esp + 0x408]
push 0x472c94
push eax
call fcn.0041bf6e
pop ecx
pop ecx
test eax, eax
je 0x40fb69
xor ecx, ecx
mov word [eax], cx
cmp word [esp + 0x408], 0
je 0x40fbae
cmp word [esp + 0x208], 0
je 0x40fb95
push 0x471d38
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.00423380
add esp, 0xc
lea eax, [esp + 0x408]
push eax
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.00423380
add esp, 0xc
push edi
push 0x1fe
lea eax, [esp + 0x410]
mov edx, str.HARDWAREDESCRIPTIONSystemBIOS
push eax
push str.BaseBoardProduct
mov ecx, esi
call fcn.00403d81
add esp, 0x10
test al, al
je 0x40fc0e
cmp word [esp + 0x408], 0
je 0x40fc0e
push 0x471d38
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.00423380
add esp, 0xc
lea eax, [esp + 0x408]
push eax
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.00423380
add esp, 0xc
mov ecx, dword [0x4c7220]
mov esi, str.write
mov edx, str.read
cmp ecx, 0xc0000005
jne 0x40fc34
cmp dword [0x4c7234], 0
mov eax, esi
cmove eax, edx
jmp 0x40fc39
mov eax, 0x47232c
push eax
push dword [0x4c722c]
lea eax, [esp + 0x610]
push ecx
push str._.8X_at__p__s
push eax
call fcn.004011fb
mov eax, dword [0x4ba4f4]
lea ecx, [esp + 0x104]
add esp, 0x14
add eax, eax
push eax
push dword [0x4ba4f0]
call fcn.0044cbd7
push 4
push 0x4bb604
lea ecx, [esp + 0xf8]
call fcn.0044cbd7
mov eax, dword [esp + 0x820]
lea ecx, [esp + 0xf0]
add eax, eax
push eax
push dword [esp + 0x820]
call fcn.0044cbd7
mov eax, dword [esp + 0x610]
lea ecx, [esp + 0xf0]
add eax, eax
push eax
push dword [esp + 0x610]
call fcn.0044cbd7
lea ecx, [esp + 0xf0]
call fcn.0044cc8f
push 0x27
push 0x4bb5ac
lea ecx, [esp + 0xf8]
call fcn.0044ccff
push ecx
lea eax, [esp + 0x164]
push eax
lea ecx, [esp + 0xf8]
call fcn.0044c9cb
push 0x28
lea eax, [esp + 0x164]
push eax
push 0x10
pop edx
lea ecx, [esp + 0x80]
call fcn.0044ca60
pop ecx
pop ecx
mov edi, ebx
movzx eax, byte [esp + edi + 0x78]
push eax
lea eax, [esp + 0xa2c]
push 0x4679d8
push eax
call fcn.004011fb
add esp, 0xc
lea eax, [esp + 0xa28]
lea ecx, [esp + 0xc38]
push eax
call fcn.00401262
inc edi
cmp edi, 0x10
jb 0x40fd0e
mov ecx, dword [0x4c7220]
mov eax, ebx
cmp dword [eax*8 + 0x492340], ecx
je 0x40fd5e
inc eax
cmp eax, 0x1c
jb 0x40fd4b
mov edx, ebx
jmp 0x40fd65
mov edx, dword [eax*8 + 0x492344]
cmp ecx, 0xc0000005
jne 0x40fd83
cmp dword [0x4c7234], 0
mov eax, str.read
cmove esi, eax
mov eax, dword [0x4c7238]
jmp 0x40fd8a
mov esi, 0x47232c
mov eax, ebx
push eax
push esi
push dword [0x4c722c]
test edx, edx
mov eax, 0x4679ec
push ecx
cmovne eax, edx
push eax
lea eax, [esp + 0x61c]
push str._s__.8X_at__p__s_to__.8X
push eax
call fcn.004011fb
mov eax, dword [esp + 0x628]
add esp, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [0x4bb398]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc3c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xa4]
shrd ecx, eax, 0x14
mov ebx, dword [0x4baf68]
shr eax, 0x14
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xa8]
shrd ecx, eax, 0x14
shr eax, 0x14
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x90]
shrd ecx, eax, 0x14
shr eax, 0x14
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x98]
shrd ecx, eax, 0x14
shr eax, 0x14
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xe8]
shr eax, 0x14
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0xb0]
sub ecx, dword [esp + 0xb8]
sbb eax, dword [esp + 0xbc]
shrd ecx, eax, 0x14
shr eax, 0x14
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xd4]
shr eax, 0x14
mov dword [esp + 0x54], eax
mov eax, dword [0x4bab38]
mov dword [esp + 0x58], eax
mov eax, dword [0x4bb180]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xe4c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], eax
call fcn.00403bcb
mov edi, eax
mov dword [esp + 0x14], 0x3c
mov eax, dword [0x4ba70c]
mov ecx, 0x4679ec
test eax, eax
mov esi, 0x4679f0
mov eax, dword [esp + 0x10]
cmove esi, ecx
cmovne ecx, dword [0x4ba708]
xor edx, edx
div dword [esp + 0x14]
push dword [esp + 0x18]
mov dword [esp + 0x68], eax
push dword [esp + 0x20]
push dword [esp + 0x28]
cmp dword [0x4ba70c], 0
mov eax, str.Developer___:
push dword [esp + 0x30]
push dword [esp + 0x38]
push dword [esp + 0x40]
push dword [esp + 0x48]
push dword [esp + 0x50]
push dword [esp + 0x58]
push dword [esp + 0x60]
push dword [esp + 0x68]
push dword [esp + 0x70]
push 0
push dword [esp + 0x7c]
push dword [esp + 0x84]
push dword [esp + 0x8c]
push 0
push dword [esp + 0x98]
push ebx
push dword [esp + 0xa4]
push dword [esp + 0xac]
push dword [esp + 0xb4]
push edi
push esi
push ecx
mov ecx, 0x4679ec
cmove eax, ecx
mov ecx, 0xe10
push eax
lea eax, [esp + 0x1f0]
push eax
lea eax, [esp + 0x274]
push eax
push dword [esp + 0x88c]
mov eax, dword [esp + 0xd8]
push dword [0x4bb608]
push dword [0x4bb610]
push dword [0x4bb604]
push dword [0x4bb600]
push dword [0x4ba4f0]
push edx
xor edx, edx
div dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
push edx
xor edx, edx
div ecx
push eax
movzx eax, word [esp + 0x106]
push eax
movzx eax, word [esp + 0x108]
push eax
movzx eax, word [esp + 0x10a]
push eax
movzx eax, word [esp + 0x10a]
push eax
movzx eax, word [esp + 0x10c]
push eax
push 0x4bb5ac
push dword [0x4ba2d8]
push str.Filename____:__s._s_r_nTime________:__04u._02u._02u__02u:_02u___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 [0x4bb668]
call fcn.00401ea4
add esp, 0xc0
lea ecx, [esp + 0xf0]
call fcn.0044cbab
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret