Function at 0x5e1f22
Capabilities:
Get memory capacity
Get system information on windows

Disassembly:
push 0x1a8
mov eax, 0x6b71c2
call fcn.0064d018
mov edi, ecx
mov dword [ebp - 0x190], edi
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x188]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x188], str.Microsoft.Office.Click2Run.DetermineBitnessToInstallFromSystemInfo
mov word [ebp - 0x184], 0x100
call fcn.00481ddd
test al, al
je 0x5e23ec
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0x1b4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1b4]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
push ecx
push dword [ebp - 0x1b4]
mov ecx, esi
push str.ProcessorArchitecture
call fcn.0045455e
mov ecx, eax
call fcn.0048f2df
movzx eax, word [ebp - 0x1b4]
test eax, eax
je 0x5e23df
cmp eax, 9
je 0x5e21d9
xor eax, eax
mov dword [ebp - 0x84], 7
xor edi, edi
mov word [ebp - 0x98], ax
push 0x789e34
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x88], edi
call fcn.0040d510
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x80]
push 7
mov dword [ebp - 0x70], edi
xor eax, eax
pop edi
push str.Value_returned_from_GetNativeSystemInfo_is_an_unknown_architecture.
mov dword [ebp - 0x6c], edi
mov word [ebp - 0x80], ax
call fcn.0040d510
mov byte [ebp - 4], 6
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
movzx edx, word [ebp - 0x1b4]
mov ecx, edi
mov dword [ebp - 0x184], eax
lea edi, [ebp - 0xb4]
xor eax, eax
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x12]
call fcn.00445520
push ecx
lea ecx, [ebp - 0x12]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.0040e3c6
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x100]
call fcn.005e9850
mov dword [ebp - method.C2R::ContextDataMsg.virtual_0], vtable.C2R::ContextDataMsg.0
push 7
xor edx, edx
xor ecx, ecx
pop eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], eax
mov word [ebp - 0x2c], cx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov word [ebp - 0x58], cx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd0], eax
mov word [ebp - 0xe4], cx
mov dword [ebp - 0xb8], eax
xor eax, eax
mov dword [ebp - 0xbc], edx
mov word [ebp - 0xcc], ax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x180]
call fcn.005b30c3
push 7
xor ecx, ecx
mov dword [ebp - 0xb4], vtable.C2R::CommonTelemetry.0
xor edi, edi
mov word [ebp - 0xb0], cx
mov dword [ebp - 0xa0], edi
lea ecx, [ebp - 0x100]
pop edi
push ecx
push eax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x9c], edi
push eax
push str.BootstrapperArgumentComputer_class_MachineHardwareProperties_::GetBitnessToInstall
push 0xa
mov edx, 0x3ae
mov ecx, 0x25611c6
call fcn.00411ea6
lea ecx, [ebp - 0xb0]
call fcn.0040d475
lea ecx, [ebp - 0x180]
call fcn.00413b8b
lea ecx, [ebp - 0xcc]
call fcn.0040d475
lea ecx, [ebp - 0xe4]
call fcn.0040d475
lea ecx, [ebp - 0x58]
call fcn.0040d475
lea ecx, [ebp - 0x2c]
call fcn.0040d475
lea ecx, [ebp - 0xfc]
call fcn.0040d475
lea ecx, [ebp - 0x118]
call fcn.0040d475
lea ecx, [ebp - 0x80]
call fcn.0040d475
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x98]
call fcn.0040d475
push ecx
call esi
mov ecx, dword [ebp - 0x18c]
push eax
push str.Error
call fcn.0045455e
mov ecx, eax
call fcn.0042fcf4
mov ecx, dword [ebp - 0x18c]
call fcn.00454580
xor edx, edx
mov byte [eax + 1], dl
cmp byte [eax], dl
jne 0x5e21c2
mov byte [eax], 1
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], edx
push 0x819ee0
mov ecx, ebx
call fcn.0040d595
jmp 0x5e2637
lea eax, [ebp - 0x158]
mov dword [ebp - 0x158], 0x40
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
jne 0x5e21ff
call fcn.00616602
mov ecx, eax
mov esi, edx
jmp 0x5e2212
mov ecx, dword [ebp - 0x150]
mov esi, dword [ebp - 0x14c]
shrd ecx, esi, 0x14
shr esi, 0x14
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x184], ecx
mov eax, dword [eax + 4]
cdq
cmp esi, edx
jb 0x5e23df
ja 0x5e2234
cmp ecx, eax
jb 0x5e23df
xor eax, eax
mov dword [ebp - 0xb8], 7
xor edi, edi
mov word [ebp - 0xcc], ax
push 0x789e34
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xbc], edi
call fcn.0040d510
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x80]
xor eax, eax
mov dword [ebp - 0x70], edi
push 0x79c5bc
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
call fcn.0040d510
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x98]
xor eax, eax
mov dword [ebp - 0x88], edi
push str.x64_selected_as_install_bitness_based_on_available_RAM_and_platform.
mov dword [ebp - 0x84], 7
mov word [ebp - 0x98], ax
call fcn.0040d510
push 7
mov byte [ebp - 4], 2
lea edi, [ebp - 0xb4]
movzx edx, word [ebp - 0x1b4]
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x3e]
call fcn.00445520
push ecx
lea ecx, [ebp - 0x3e]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040e3c6
push esi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x11a]
push dword [ebp - 0x184]
call fcn.0044553f
push ecx
lea ecx, [ebp - 0x11a]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.0040e3c6
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x98]
push eax
push ecx
lea ecx, [ebp - 0x100]
call fcn.005e98e2
xor edi, edi
mov dword [ebp - method.C2R::ContextDataMsg.virtual_0], vtable.C2R::ContextDataMsg.0
xor eax, eax
mov dword [ebp - 0xb4], vtable.C2R::CommonTelemetry.0
mov word [ebp - 0xb0], ax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa0], edi
push eax
mov dword [ebp - 0x9c], 7
push str.BootstrapperArgumentComputer_class_MachineHardwareProperties_::GetBitnessToInstall
push 0x32
mov edx, 0x3b0
mov ecx, 0x25611c5
call fcn.00411dd9
lea ecx, [ebp - 0xb0]
call fcn.0040d475
lea ecx, [ebp - 0xfc]
call fcn.0040d475
lea ecx, [ebp - 0x118]
call fcn.0040d475
lea ecx, [ebp - 0x2c]
call fcn.0040d475
lea ecx, [ebp - 0x98]
call fcn.0040d475
lea ecx, [ebp - 0x80]
call fcn.0040d475
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xcc]
call fcn.0040d475
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], edi
push 0x8199e8
jmp 0x5e21cd
xor edi, edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], edi
jmp 0x5e21c8
push esi
lea eax, [ebp - 0xe4]
push eax
call fcn.00615f02
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0xe4]
cmp dword [0x8199fc], 8
mov edx, 0x8199e8
cmovae edx, dword [0x8199e8]
cmp dword [ebp - 0xd0], 8
cmovae ecx, dword [ebp - 0xe4]
xor esi, esi
push esi
push 0xffffffffffffffff
call fcn.0040bf20
test eax, eax
jne 0x5e261a
lea eax, [ebp - 0x158]
mov dword [ebp - 0x158], 0x40
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
jne 0x5e245f
call fcn.00616602
mov ecx, eax
mov esi, edx
jmp 0x5e2472
mov ecx, dword [ebp - 0x150]
mov esi, dword [ebp - 0x14c]
shrd ecx, esi, 0x14
shr esi, 0x14
mov eax, dword [edi + 4]
cdq
mov dword [ebp - 0x184], ecx
cmp esi, edx
jb 0x5e260b
ja 0x5e248e
cmp ecx, eax
jb 0x5e260b
xor eax, eax
mov dword [ebp - 0x6c], 7
xor edi, edi
mov word [ebp - 0x80], ax
push str.Platform:
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x70], edi
call fcn.0040d510
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x98]
xor eax, eax
mov dword [ebp - 0x88], edi
push str.Ram:
mov dword [ebp - 0x84], 7
mov word [ebp - 0x98], ax
call fcn.0040d510
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xcc]
xor eax, eax
mov dword [ebp - 0xbc], edi
push str.x64_selected_as_install_bitness_based_on_available_RAM_and_platform.
mov dword [ebp - 0xb8], 7
mov word [ebp - 0xcc], ax
call fcn.0040d510
push 7
pop ecx
mov byte [ebp - 4], 0x10
lea edi, [ebp - 0xb4]
xor eax, eax
push esi
push dword [ebp - 0x184]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x11a]
call fcn.0044553f
push ecx
lea ecx, [ebp - 0x11a]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.0040e3c6
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xcc]
push eax
push ecx
lea ecx, [ebp - 0x100]
call fcn.005e98e2
xor eax, eax
mov dword [ebp - method.C2R::ContextDataMsg.virtual_0], vtable.C2R::ContextDataMsg.0
mov word [ebp - 0xb0], ax
xor esi, esi
lea eax, [ebp - 0x100]
mov dword [ebp - 0xb4], vtable.C2R::CommonTelemetry.0
push eax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa0], esi
push eax
push str.BootstrapperArgumentComputer_class_MachineHardwareProperties_::GetBitnessToInstall
push 0x32
mov edx, 0x3b0
mov dword [ebp - 0x9c], 7
mov ecx, 0x25611c7
call fcn.00411dd9
lea ecx, [ebp - 0xb0]
call fcn.0040d475
lea ecx, [ebp - 0xfc]
call fcn.0040d475
lea ecx, [ebp - 0x118]
call fcn.0040d475
lea ecx, [ebp - 0xcc]
call fcn.0040d475
lea ecx, [ebp - 0x98]
call fcn.0040d475
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xd
call fcn.0040d475
push 0x8199e8
jmp 0x5e261f
xor edi, edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], edi
push 0x819ee0
jmp 0x5e2625
push 0x819ee0
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], esi
mov ecx, ebx
call fcn.0040d595
lea ecx, [ebp - 0xe4]
call fcn.0040d475
mov eax, ebx
call fcn.0064cfc2
ret 8