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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x104c
call fcn.0041c880
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.0041d750
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.00403b9b
lea ecx, [esp + 0x818]
call fcn.00403b9b
lea ecx, [esp + 0xe48]
call fcn.00403b9b
lea ecx, [esp + 0x608]
call fcn.00403b9b
lea ecx, [esp + 0xa28]
call fcn.00403b9b
lea ecx, [esp + 0xf0]
call fcn.00451993
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.0042bd24
pop ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
cmp edx, dword [0x55dde4]
jl 0x40f49d
mov ecx, dword [0x55dde0]
jg 0x40f493
cmp eax, ecx
jbe 0x40f49d
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 0x40f4d1
push esi
lea eax, [esp + 0x8c]
push ebx
push eax
call fcn.0041d750
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 0x40f503
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.0040f23d
lea eax, [esp + 0xc]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessHandleCount]
neg eax
push 0x7e
sbb eax, eax
and dword [esp + 0x10], eax
xor eax, eax
mov word [esp + 0x18c], ax
lea eax, [esp + 0x18e]
push ebx
push eax
call fcn.0041d750
add esp, 0xc
lea eax, [esp + 0x188]
mov edi, 0x100
mov edx, 0x50a8d4
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
push edi
push 0x7e
push eax
push 0x50a910
call fcn.00403ce0
add esp, 0x10
mov esi, 0x2710
test al, al
je 0x40f5a5
lea eax, [esp + 0x188]
push eax
call fcn.0042bca0
pop ecx
cmp edx, ebx
jg 0x40f5ed
jl 0x40f5a5
cmp eax, esi
jae 0x40f5ed
push edi
push 0x7e
lea eax, [esp + 0x190]
mov edx, 0x50a8d4
push eax
push 0x50a910
mov ecx, closesocket
call fcn.00403ce0
add esp, 0x10
test al, al
je 0x40f5e3
lea eax, [esp + 0x188]
push eax
call fcn.0042bca0
pop ecx
cmp edx, ebx
jg 0x40f5ed
jl 0x40f5e3
cmp eax, esi
jae 0x40f5ed
xor eax, eax
mov word [esp + 0x188], ax
mov esi, 0x200
lea eax, [esp + 0x408]
push esi
push ebx
push eax
call fcn.0041d750
add esp, 0xc
lea eax, [esp + 0x208]
push esi
push ebx
push eax
call fcn.0041d750
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.00403ce0
add esp, 0x10
test al, al
jne 0x40f64d
xor eax, eax
mov word [esp + 0x208], ax
jmp 0x40f66a
lea eax, [esp + 0x208]
push 0x51026c
push eax
call fcn.0041ca4e
pop ecx
pop ecx
test eax, eax
je 0x40f66a
xor ecx, ecx
mov word [eax], cx
push edi
push 0x1fe
lea eax, [esp + 0x410]
mov edx, str.HARDWAREDESCRIPTIONSystemBIOS
push eax
push 0x50a864
mov ecx, esi
call fcn.00403ce0
add esp, 0x10
test al, al
jne 0x40f69f
xor eax, eax
mov word [esp + 0x408], ax
jmp 0x40f761
lea eax, [esp + 0x408]
push 0x51026c
push eax
call fcn.0041ca4e
pop ecx
pop ecx
test eax, eax
je 0x40f6bc
xor ecx, ecx
mov word [eax], cx
cmp word [esp + 0x408], 0
je 0x40f701
cmp word [esp + 0x208], 0
je 0x40f6e8
push 0x50f308
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.004245ca
add esp, 0xc
lea eax, [esp + 0x408]
push eax
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.004245ca
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.00403ce0
add esp, 0x10
test al, al
je 0x40f761
cmp word [esp + 0x408], 0
je 0x40f761
push 0x50f308
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.004245ca
add esp, 0xc
lea eax, [esp + 0x408]
push eax
lea eax, [esp + 0x20c]
push edi
push eax
call fcn.004245ca
add esp, 0xc
mov ecx, dword [0x569998]
mov esi, str.write
mov edx, str.read
cmp ecx, 0xc0000005
jne 0x40f787
cmp dword [0x5699ac], 0
mov eax, esi
cmove eax, edx
jmp 0x40f78c
mov eax, 0x50f8fc
push eax
push dword [0x5699a4]
lea eax, [esp + 0x610]
push ecx
push str._.8X_at__p__s
push eax
call fcn.00403732
mov eax, dword [0x55cc74]
lea ecx, [esp + 0x104]
add esp, 0x14
add eax, eax
push eax
push dword [0x55cc70]
call fcn.004519fa
push 4
push 0x55dd84
lea ecx, [esp + 0xf8]
call fcn.004519fa
mov eax, dword [esp + 0x820]
lea ecx, [esp + 0xf0]
add eax, eax
push eax
push dword [esp + 0x820]
call fcn.004519fa
mov eax, dword [esp + 0x610]
lea ecx, [esp + 0xf0]
add eax, eax
push eax
push dword [esp + 0x610]
call fcn.004519fa
lea ecx, [esp + 0xf0]
call fcn.00451ab2
push 0x27
push 0x55dd2c
lea ecx, [esp + 0xf8]
call fcn.00451b22
push ecx
lea eax, [esp + 0x164]
push eax
lea ecx, [esp + 0xf8]
call fcn.004517d2
push 0x28
lea eax, [esp + 0x164]
push eax
push 0x10
pop edx
lea ecx, [esp + 0x80]
call fcn.00451867
pop ecx
pop ecx
mov edi, ebx
movzx eax, byte [esp + edi + 0x78]
push eax
lea eax, [esp + 0xa2c]
push 0x4f9918
push eax
call fcn.00403732
add esp, 0xc
lea eax, [esp + 0xa28]
lea ecx, [esp + 0xc38]
push eax
call fcn.004033c1
inc edi
cmp edi, 0x10
jb 0x40f861
mov ecx, dword [0x569998]
mov eax, ebx
cmp dword [eax*8 + 0x534ae0], ecx
je 0x40f8b1
inc eax
cmp eax, 0x1c
jb 0x40f89e
mov edx, ebx
jmp 0x40f8b8
mov edx, dword [eax*8 + 0x534ae4]
cmp ecx, 0xc0000005
jne 0x40f8d6
cmp dword [0x5699ac], 0
mov eax, str.read
cmove esi, eax
mov eax, dword [0x5699b0]
jmp 0x40f8dd
mov esi, 0x50f8fc
mov eax, ebx
push eax
push esi
push dword [0x5699a4]
test edx, edx
mov eax, 0x4f992c
push ecx
cmovne eax, edx
push eax
lea eax, [esp + 0x61c]
push str._s__.8X_at__p__s_to__.8X
push eax
call fcn.00403732
mov eax, dword [esp + 0x628]
add esp, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [0x55db18]
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 [0x55d6e8]
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 [0x55d2b8]
mov dword [esp + 0x58], eax
mov eax, dword [0x55d900]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xe4c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], eax
call fcn.00403a9a
mov edi, eax
mov dword [esp + 0x14], 0x3c
mov eax, dword [0x55ce8c]
mov ecx, 0x4f992c
test eax, eax
mov esi, 0x4f9930
mov eax, dword [esp + 0x10]
cmove esi, ecx
cmovne ecx, dword [0x55ce88]
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 [0x55ce8c], 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, 0x4f992c
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 [0x55dd88]
push dword [0x55dd90]
push dword [0x55dd84]
push dword [0x55dd80]
push dword [0x55cc70]
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 0x55dd2c
push dword [0x55ca58]
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 [0x55dde8]
call fcn.00401bd6
add esp, 0xc0
lea ecx, [esp + 0xf0]
call fcn.004519ce
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret