Function at 0x440906
Capabilities:
Get memory capacity
Identify system language via api

Disassembly:
sub esp, 0x5ac
cmp dword [esp + 0x5b0], 0
push ebx
push ebp
push esi
push edi
je 0x440f7a
mov esi, dword [esp + 0x5c4]
test esi, esi
je 0x440f7a
xor ebp, ebp
cmp word [esi], bp
je 0x440f7a
mov edi, dword [esp + 0x5c8]
test edi, edi
je 0x440f7a
cmp word [edi], bp
je 0x440f7a
push dword [esp + 0x5c0]
mov ecx, 0x4b41da
push 0x7f
pop edx
call fcn.00403ead
push esi
push 0x27
pop edx
mov ecx, 0x4b42da
call fcn.00403ead
push edi
push 0x7f
pop edx
mov ecx, 0x4b432a
call fcn.00403ead
xor eax, eax
xorps xmm0, xmm0
mov edi, str.SOFTWAREMetaQuotes_Software
mov word [0x4b9122], ax
movlpd qword [0x4b9380], xmm0
mov word [0x4b9222], ax
mov word [0x4b9272], ax
cmp word [0x4b442a], ax
jne 0x440c9a
cmp byte [esp + 0x5cc], al
je 0x440c9a
push 0x103
lea eax, [esp + 0x164]
mov dword [esp + 0x18], 0x4679a8
push eax
or esi, 0xffffffff
push ebp
mov dword [esp + 0x24], esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x440c81
cmp word [esp + 0x160], bp
je 0x440c81
push ecx
mov ebx, 0x4b442a
lea eax, [esp + 0x164]
push ebx
push eax
lea ecx, [esp + 0x20]
call fcn.0045dd0a
test al, al
je 0x440c7d
push ebp
push ebx
call fcn.0044030d
push 0x80
lea eax, [esp + 0x24]
push ebp
push eax
call fcn.0041db90
add esp, 0xc
lea eax, [esp + 0x20]
push 0x3f
push eax
push str.utm_cookie
push ebx
call fcn.0043da92
test al, al
je 0x440a7a
lea ecx, [esp + 0x20]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bp
jne 0x440a4e
sub ecx, edx
sar ecx, 1
cmp ecx, 8
jb 0x440a7a
lea eax, [esp + 0x20]
push eax
call fcn.0042b644
pop ecx
cmp edx, ebp
jg 0x440a81
jl 0x440a7a
cmp eax, 0x2710
jae 0x440a81
xor eax, eax
mov word [esp + 0x20], ax
push 0x103
lea eax, [esp + 0x164]
push eax
push str.utm_cookie_expiration
push ebx
call fcn.0043da92
test al, al
je 0x440afd
cmp word [esp + 0x160], bp
je 0x440afd
lea eax, [esp + 0x160]
push eax
call fcn.0042b644
pop ecx
push ebp
mov esi, eax
mov edi, edx
call fcn.0042b6c8
mov ebx, eax
mov eax, edx
pop ecx
mov ecx, ebx
sub ecx, 0x1c20
sbb eax, ebp
cmp edi, eax
jl 0x440af3
jg 0x440ad8
cmp esi, ecx
jb 0x440af3
cmp edi, edx
jl 0x440ae2
jg 0x440af3
cmp esi, ebx
ja 0x440af3
mov ax, word [esp + 0x20]
mov ebx, 0x4b442a
mov edi, str.SOFTWAREMetaQuotes_Software
jmp 0x440b04
mov ebx, 0x4b442a
mov edi, str.SOFTWAREMetaQuotes_Software
xor eax, eax
mov word [esp + 0x20], ax
test ax, ax
je 0x440c7d
push 0x80
lea eax, [esp + 0xe4]
push ebp
push eax
call fcn.0041db90
add esp, 0xc
lea eax, [esp + 0xe0]
mov esi, 0x46d038
mov edx, edi
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
push 0x100
push 0x7e
push eax
push esi
call fcn.00403e35
add esp, 0x10
test al, al
je 0x440b66
lea eax, [esp + 0xe0]
push eax
call fcn.0042b644
pop ecx
cmp edx, ebp
jg 0x440ba4
jl 0x440b66
cmp eax, 0x2710
jae 0x440ba4
push 0x100
push 0x7e
lea eax, [esp + 0xe8]
mov edx, edi
push eax
push esi
mov ecx, SysReAllocStringLen
call fcn.00403e35
add esp, 0x10
test al, al
je 0x440bae
lea eax, [esp + 0xe0]
push eax
call fcn.0042b644
pop ecx
cmp edx, ebp
jg 0x440ba4
jl 0x440bae
cmp eax, 0x2710
jb 0x440bae
mov ax, word [esp + 0xe0]
jmp 0x440bb8
xor eax, eax
mov word [esp + 0xe0], ax
test ax, ax
je 0x440bdd
push 0x103
lea eax, [esp + 0x164]
push eax
push 0x46c590
push ebx
call fcn.0043da92
test al, al
je 0x440c7d
lea ecx, [esp + 0x20]
lea eax, [esp + 0xe0]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x440c0e
test dx, dx
je 0x440c0a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x440c0e
add eax, 4
add ecx, 4
test dx, dx
jne 0x440be8
mov eax, ebp
jmp 0x440c13
sbb eax, eax
or eax, 1
test eax, eax
je 0x440c7d
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00403e01
test al, al
jne 0x440c33
push ecx
mov edx, edi
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00403da9
pop ecx
push ecx
lea eax, [esp + 0x24]
mov edx, edi
push eax
push ecx
push esi
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00403d74
add esp, 0x10
mov ecx, SysReAllocStringLen
call fcn.00403e01
test al, al
jne 0x440c66
push ecx
mov edx, edi
mov ecx, SysReAllocStringLen
call fcn.00403da9
pop ecx
push ecx
lea eax, [esp + 0x24]
mov edx, edi
push eax
push ecx
push esi
mov ecx, SysReAllocStringLen
call fcn.00403d74
add esp, 0x10
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], 0x4679a8
cmp esi, 0xffffffff
je 0x440c9a
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [esp + 0x18], 0xffffffff
cmp word [0x4b542a], bp
jne 0x440f6f
lea ecx, [esp + 0x3a8]
call fcn.0040117c
lea eax, [esp + 0xa0]
mov dword [esp + 0xa0], 0x40
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
jne 0x440cd6
mov dword [esp + 0x1c], ebp
jmp 0x440cec
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
shrd ecx, eax, 0x14
mov dword [esp + 0x1c], ecx
push ecx
lea eax, [esp + 0x36c]
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ecx, ax
call fcn.00446f8e
pop ecx
pop ecx
lea edx, [esp + 0x3a8]
lea ecx, [esp + 0x368]
call fcn.00443d5b
mov ebx, dword [esp + 0x3ac]
call fcn.00403c7f
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebp, eax
push 1
call esi
push 0
mov edi, eax
call esi
mov ecx, eax
mov eax, dword [esp + 0x1c]
push ebx
add eax, 0xff
mov ebx, 0x1ff
and eax, 0xfffff00
push eax
push ebp
push edi
push ecx
push str.modeldesktopscr_res_dx_dcpu_umemory_ul_s
push ebx
mov ebp, 0x4b542a
push ebp
call fcn.00403ccb
push 0x100
lea esi, [ebx + 7]
mov edi, reloc.OLEAUT32.dll_SysReAllocString
push esi
lea eax, [esp + 0x188]
mov edx, str.HARDWAREDESCRIPTIONSystemBIOS
push eax
push str.SystemManufacturer
mov ecx, edi
call fcn.00403e35
add esp, 0x30
test al, al
je 0x440dd2
lea eax, [esp + 0x160]
push eax
call fcn.0043d7cd
cmp eax, 3
jbe 0x440dd2
lea edx, [esp + 0x3a8]
lea ecx, [esp + 0x160]
call fcn.00443d5b
push str.model_vendor
mov edx, ebx
mov ecx, ebp
call fcn.00403c4d
push dword [esp + 0x3ac]
mov edx, ebx
mov ecx, ebp
call fcn.00403c4d
push 0x100
push esi
lea eax, [esp + 0x168]
mov edx, str.HARDWAREDESCRIPTIONSystemBIOS
push eax
push 0x46cf94
mov ecx, edi
call fcn.00403e35
add esp, 0x10
test al, al
je 0x440e3b
lea eax, [esp + 0x160]
push eax
call fcn.0043d7cd
cmp eax, 3
jbe 0x440e3b
lea edx, [esp + 0x3a8]
lea ecx, [esp + 0x160]
call fcn.00443d5b
push str.model_device
mov edx, ebx
mov ecx, ebp
call fcn.00403c4d
push dword [esp + 0x3ac]
mov edx, ebx
mov ecx, ebp
call fcn.00403c4d
push 0
call fcn.0042b6c8
mov ebx, eax
mov dword [esp], 0x100
push 0x206
lea eax, [esp + 0x168]
mov ebp, edx
push eax
push str.Install.Time
mov edx, str.SOFTWAREMetaQuotes_Software
mov ecx, SysReAllocStringLen
mov esi, ebx
mov edi, ebp
call fcn.00403e35
add esp, 0x10
test al, al
je 0x440ebf
cmp word [esp + 0x160], 0
je 0x440ebf
lea eax, [esp + 0x160]
push eax
call fcn.0042b644
mov edi, edx
mov esi, eax
pop ecx
cmp edi, ebp
jl 0x440ea4
jg 0x440ea0
cmp esi, ebx
jbe 0x440ea4
mov esi, ebx
mov edi, ebp
mov ecx, esi
mov eax, edi
add ecx, 0x128a1800
adc eax, 0
cmp eax, ebp
jg 0x440ebf
jl 0x440ebb
cmp ecx, ebx
jae 0x440ebf
mov esi, ebx
mov edi, ebp
push edi
push esi
push str.fv_date_I64d
lea eax, [esp + 0x16c]
push 0x103
push eax
call fcn.00403ccb
add esp, 0x14
lea eax, [esp + 0x160]
mov esi, 0x1ff
mov edi, 0x4b542a
mov edx, esi
mov ecx, edi
push eax
call fcn.00403c4d
push 0x100
push 0x206
lea eax, [esp + 0x168]
mov edx, str.SOFTWAREMicrosoftWindowsCurrentVersionAdvertisingInfo
push eax
push 0x46c6cc
mov ecx, SysReAllocStringLen
call fcn.00403e35
add esp, 0x10
test al, al
jne 0x440f54
lea eax, [esp + 0x160]
push eax
call fcn.0043d7cd
cmp eax, 0x10
jbe 0x440f54
push str.advid
mov edx, esi
mov ecx, edi
call fcn.00403c4d
lea eax, [esp + 0x160]
mov edx, esi
push eax
mov ecx, edi
call fcn.00403c4d
and dword [esp + 0x3ac], 0
and dword [esp + 0x3b0], 0
mov dword [esp + 0x3a8], 0x4654d8
mov byte [0x4b40d8], 1
mov al, 1
jmp 0x440f7c
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5ac
ret 0x10