Function at 0x44df56
Capabilities:
Get memory capacity
Get system information on windows
Identify system language via api

Disassembly:
sub esp, 0x64c
and dword [esp + 4], 0
push ebx
push ebp
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x18]
push str.GetDesktopWindow
call fcn.00405036
lea ecx, [esp + 0x18]
call fcn.0044e2cc
call eax
lea ecx, [esp + 0x18]
mov ebx, eax
call fcn.00403a68
lea eax, [esp + 0xe4]
mov dword [esp + 0xa0], 0x40
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
lea eax, [esp + 0xa0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
sub esp, 0x18
mov ecx, esp
push str.DisplayVersion
call fcn.00403905
sub esp, 0x18
mov ebp, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov ecx, esp
push ebp
call fcn.00403905
lea ecx, [esp + 0x78]
call fcn.00450c5d
add esp, 0x30
mov esi, eax
push 0x498c54
sub esp, 0x1c
mov ecx, esp
push 0x498c58
call fcn.00403905
sub esp, 0x18
mov ecx, esp
push ebp
call fcn.00403905
lea ecx, [esp + 0xa8]
call fcn.00450c5d
add esp, 0x34
lea ecx, [esp + 0x34]
mov edx, eax
call fcn.00449689
pop ecx
push esi
push eax
push dword [esp + 0x1c]
lea ecx, [esp + 0x94]
call fcn.0044986b
lea ecx, [esp + 0x30]
call fcn.00403a1a
lea ecx, [esp + 0x70]
call fcn.00403a1a
lea ecx, [esp + 0x48]
call fcn.00403a1a
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
cmp word [esp + 0xe4], 9
mov edx, 0x498c70
movzx eax, ax
mov dword [edi + 0x9c], eax
mov eax, 0x498c78
cmovne edx, eax
xor ebp, ebp
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bp
jne 0x44e072
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.00404958
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
shrd ecx, eax, 0x14
mov dword [edi + 0x98], ecx
lea ecx, [esp + 0x48]
call fcn.0044de45
push eax
lea ecx, [edi + 0x48]
call fcn.00404906
lea ecx, [esp + 0x48]
call fcn.00403a1a
lea eax, [esp + 0x88]
push eax
lea ecx, [edi + 0x60]
call fcn.004048e1
push str.GetWindowRect
lea ecx, [esp + 0x34]
call fcn.00405036
lea ecx, [esp + 0x30]
call fcn.0044e2cc
lea ecx, [esp + 0x60]
push ecx
push ebx
call eax
lea ecx, [esp + 0x30]
call fcn.00403a68
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x30]
mov dword [edi + 0x7c], eax
mov eax, dword [esp + 0x68]
push str.GetUserNameW
mov dword [edi + 0x78], eax
mov dword [esp + 0x18], 0x208
call fcn.00405036
lea ecx, [esp + 0x30]
call fcn.0044e2cc
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x10c]
push ecx
call eax
lea ecx, [esp + 0x30]
call fcn.00403a68
push 8
call fcn.0046967c
pop ecx
push eax
mov dword [eax], ebp
mov dword [eax + 4], ebp
call fcn.0046ed1c
pop ecx
lea ecx, [esp + 0x108]
mov esi, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bp
jne 0x44e15a
sub ecx, edx
lea eax, [esp + 0x108]
sar ecx, 1
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.00404958
mov edx, dword [esi + 8]
test edx, edx
jle 0x44e1a3
push 3
pop ebx
lea ecx, [esp + 0x18]
call fcn.004495d1
lea eax, [esp + 0x18]
mov edx, 0x498ca0
push eax
lea ecx, [esp + 0x4c]
call fcn.0043e0dd
pop ecx
jmp 0x44e1b3
push 4
pop ebx
lea ecx, [esp + 0x30]
call fcn.004495d1
lea eax, [esp + 0x30]
push eax
lea ecx, [edi + 0x30]
call fcn.00404906
test bl, 4
je 0x44e1cd
lea ecx, [esp + 0x30]
and ebx, 0xfffffffb
call fcn.00403a1a
test bl, 2
je 0x44e1db
lea ecx, [esp + 0x48]
call fcn.00403a1a
test bl, 1
je 0x44e1e9
lea ecx, [esp + 0x18]
call fcn.00403a1a
lea ecx, [esp + 0x48]
call fcn.00450d08
push eax
lea ecx, [edi + 0xa0]
call fcn.00404906
lea ecx, [esp + 0x48]
call fcn.00403a1a
push str.EnumDisplayDevicesW
lea ecx, [esp + 0x1c]
mov dword [esp + 0x314], 0x348
mov ebx, ebp
call fcn.00405036
lea ecx, [esp + 0x18]
call fcn.0044e2cc
push ebp
lea ecx, [esp + 0x314]
push ecx
push ebp
jmp 0x44e2a3
test byte [esp + 0x454], 1
je 0x44e281
push 0x498cb8
lea eax, [esp + 0x358]
push eax
lea ecx, [esp + 0x78]
call fcn.00403905
mov edx, eax
lea ecx, [esp + 0x4c]
call fcn.00449689
pop ecx
push eax
lea ecx, [edi + 0x80]
call fcn.00405616
lea ecx, [esp + 0x48]
call fcn.00403a1a
lea ecx, [esp + 0x70]
call fcn.00403a1a
push str.EnumDisplayDevicesW
lea ecx, [esp + 0x1c]
inc ebx
call fcn.00405036
lea ecx, [esp + 0x18]
call fcn.0044e2cc
push ebp
lea ecx, [esp + 0x314]
push ecx
push ebx
push ebp
call eax
lea ecx, [esp + 0x18]
mov esi, eax
call fcn.00403a68
test esi, esi
jne 0x44e237
lea ecx, [esp + 0x88]
call fcn.00403a1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64c
ret