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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x104c
call fcn.0041c820
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.0041d6f0
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.00403b87
lea ecx, [esp + 0x818]
call fcn.00403b87
lea ecx, [esp + 0xe48]
call fcn.00403b87
lea ecx, [esp + 0x608]
call fcn.00403b87
lea ecx, [esp + 0xa28]
call fcn.00403b87
lea ecx, [esp + 0xf0]
call fcn.00451786
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.0042bcc4
pop ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
cmp edx, dword [0x55cdf4]
jl 0x40f494
mov ecx, dword [0x55cdf0]
jg 0x40f48a
cmp eax, ecx
jbe 0x40f494
mov ebx, eax
sub ebx, ecx
mov dword [esp + 0x10], ebx
xor ebx, ebx
lea ecx, [esp + 0x78]
call fcn.00408ad5
lea eax, [esp + 0x88]
mov dword [esp + 0x88], esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
jne 0x40f4c8
push esi
lea eax, [esp + 0x8c]
push ebx
push eax
call fcn.0041d6f0
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 0x40f4fa
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.0040719f
pop ecx
lea ecx, [esp + 0xe48]
call fcn.0040f234
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.0041d6f0
add esp, 0xc
lea eax, [esp + 0x188]
mov edi, 0x100
mov edx, 0x5098d4
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
push edi
push 0x7e
push eax
push 0x509910
call fcn.00403ccc
add esp, 0x10
mov esi, 0x2710
test al, al
je 0x40f595
lea eax, [esp + 0x188]
push eax
call fcn.0042bc40
pop ecx
cmp edx, ebx
jg 0x40f5dd
jl 0x40f595
cmp eax, esi
jae 0x40f5dd
push edi
push 0x7e
lea eax, [esp + 0x190]
mov edx, 0x5098d4
push eax
push 0x509910
mov ecx, closesocket
call fcn.00403ccc
add esp, 0x10
test al, al
je 0x40f5d3
lea eax, [esp + 0x188]
push eax
call fcn.0042bc40
pop ecx
cmp edx, ebx
jg 0x40f5dd
jl 0x40f5d3
cmp eax, esi
jae 0x40f5dd
xor eax, eax
mov word [esp + 0x188], ax
mov esi, 0x200
lea eax, [esp + 0x408]
push esi
push ebx
push eax
call fcn.0041d6f0
add esp, 0xc
lea eax, [esp + 0x208]
push esi
push ebx
push eax
call fcn.0041d6f0
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.00403ccc
add esp, 0x10
test al, al
jne 0x40f63d
xor eax, eax
mov word [esp + 0x208], ax
jmp 0x40f65a
lea eax, [esp + 0x208]
push 0x50f264
push eax
call fcn.0041c9ee
pop ecx
pop ecx
test eax, eax
je 0x40f65a
xor ecx, ecx
mov word [eax], cx
push edi
push 0x1fe
lea eax, [esp + 0x410]
mov edx, str.HARDWAREDESCRIPTIONSystemBIOS
push eax
push 0x509864
mov ecx, esi
call fcn.00403ccc
add esp, 0x10
test al, al
jne 0x40f68f
xor eax, eax
mov word [esp + 0x408], ax
jmp 0x40f751
lea eax, [esp + 0x408]
push 0x50f264
push eax
call fcn.0041c9ee
pop ecx
pop ecx
test eax, eax
je 0x40f6ac
xor ecx, ecx
mov word [eax], cx
cmp word [esp + 0x408], 0
je 0x40f6f1
cmp word [esp + 0x208], 0
je 0x40f6d8
push 0x50e308
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.0042456a
add esp, 0xc
lea eax, [esp + 0x408]
push eax
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.0042456a
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.00403ccc
add esp, 0x10
test al, al
je 0x40f751
cmp word [esp + 0x408], 0
je 0x40f751
push 0x50e308
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.0042456a
add esp, 0xc
lea eax, [esp + 0x408]
push eax
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.0042456a
add esp, 0xc
mov ecx, dword [0x5689b0]
mov esi, str.write
mov edx, str.read
cmp ecx, 0xc0000005
jne 0x40f777
cmp dword [0x5689c4], 0
mov eax, esi
cmove eax, edx
jmp 0x40f77c
mov eax, 0x50e8fc
push eax
push dword [0x5689bc]
lea eax, [esp + 0x610]
push ecx
push str._.8X_at__p__s
push eax
call fcn.0040371e
mov eax, dword [0x55bc84]
lea ecx, [esp + 0x104]
add esp, 0x14
add eax, eax
push eax
push dword [0x55bc80]
call fcn.004517d1
push 4
push 0x55cd94
lea ecx, [esp + 0xf8]
call fcn.004517d1
mov eax, dword [esp + 0x820]
lea ecx, [esp + 0xf0]
add eax, eax
push eax
push dword [esp + 0x820]
call fcn.004517d1
mov eax, dword [esp + 0x610]
lea ecx, [esp + 0xf0]
add eax, eax
push eax
push dword [esp + 0x610]
call fcn.004517d1
lea ecx, [esp + 0xf0]
call fcn.00451889
push 0x27
push 0x55cd3c
lea ecx, [esp + 0xf8]
call fcn.004518f9
push ecx
lea eax, [esp + 0x164]
push eax
lea ecx, [esp + 0xf8]
call fcn.004515c5
push 0x28
lea eax, [esp + 0x164]
push eax
push 0x10
pop edx
lea ecx, [esp + 0x80]
call fcn.0045165a
pop ecx
pop ecx
mov edi, ebx
movzx eax, byte [esp + edi + 0x78]
push eax
lea eax, [esp + 0xa2c]
push 0x4f8920
push eax
call fcn.0040371e
add esp, 0xc
lea eax, [esp + 0xa28]
lea ecx, [esp + 0xc38]
push eax
call fcn.004033ad
inc edi
cmp edi, 0x10
jb 0x40f851
mov ecx, dword [0x5689b0]
mov eax, ebx
cmp dword [eax*8 + 0x533ae0], ecx
je 0x40f8a1
inc eax
cmp eax, 0x1c
jb 0x40f88e
mov edx, ebx
jmp 0x40f8a8
mov edx, dword [eax*8 + 0x533ae4]
cmp ecx, 0xc0000005
jne 0x40f8c6
cmp dword [0x5689c4], 0
mov eax, str.read
cmove esi, eax
mov eax, dword [0x5689c8]
jmp 0x40f8cd
mov esi, 0x50e8fc
mov eax, ebx
push eax
push esi
push dword [0x5689bc]
test edx, edx
mov eax, 0x4f8934
push ecx
cmovne eax, edx
push eax
lea eax, [esp + 0x61c]
push str._s__.8X_at__p__s_to__.8X
push eax
call fcn.0040371e
mov eax, dword [esp + 0x628]
add esp, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [0x55cb28]
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 [0x55c6f8]
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 [0x55c2c8]
mov dword [esp + 0x58], eax
mov eax, dword [0x55c910]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xe4c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], eax
call fcn.00403a86
mov edi, eax
mov dword [esp + 0x14], 0x3c
mov eax, dword [0x55be9c]
mov ecx, 0x4f8934
test eax, eax
mov esi, 0x4f8938
mov eax, dword [esp + 0x10]
cmove esi, ecx
cmovne ecx, dword [0x55be98]
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 [0x55be9c], 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, 0x4f8934
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 [0x55cd98]
push dword [0x55cda0]
push dword [0x55cd94]
push dword [0x55cd90]
push dword [0x55bc80]
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 0x55cd3c
push dword [0x55ba68]
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 [0x55cdf8]
call fcn.00401bd1
add esp, 0xc0
lea ecx, [esp + 0xf0]
call fcn.004517a5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret