Function at 0x56e210
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5fbe4c
mov eax, dword fs:[0]
push eax
sub esp, 0xcc
mov eax, dword [0x70f200]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 0xe4], 0
jne 0x56e250
xor eax, eax
jmp 0x56e6a8
push str.Updating_the_Visual_C_runtime...
push 0xffffffffffffffff
call fcn.0057b610
push 0
push 1
mov ecx, esi
call fcn.005494d0
lea eax, [ebp - 0x64]
mov dword [ebp - 0xd8], str.Visual_C_2005_SP1
xor edi, edi
mov dword [ebp - 0xd4], str.https:__download.microsoft.com_download_8_B_4_8B42259F_5D70_43F4_AC2E_4B208FD8D66A_vcredist_IA64.EXE
push eax
mov dword [ebp - 0x68], edi
mov dword [ebp - 0xd0], str.https:__download.microsoft.com_download_8_B_4_8B42259F_5D70_43F4_AC2E_4B208FD8D66A_vcredist_x64.EXE
mov dword [ebp - 0xcc], str.https:__download.microsoft.com_download_8_B_4_8B42259F_5D70_43F4_AC2E_4B208FD8D66A_vcredist_x86.EXE
mov dword [ebp - 0xc8], str.Visual_C_2008_SP1
mov dword [ebp - 0xc4], str.https:__download.microsoft.com_download_5_D_8_5D8C65CB_C849_4025_8E95_C3966CAFD8AE_vcredist_IA64.exe
mov dword [ebp - 0xc0], str.https:__download.microsoft.com_download_5_D_8_5D8C65CB_C849_4025_8E95_C3966CAFD8AE_vcredist_x64.exe
mov dword [ebp - 0xbc], str.https:__download.microsoft.com_download_5_D_8_5D8C65CB_C849_4025_8E95_C3966CAFD8AE_vcredist_x86.exe
mov dword [ebp - 0xb8], str.Visual_C_2010_SP1
mov dword [ebp - 0xb4], str.https:__download.microsoft.com_download_1_6_5_165255E7_1014_4D0A_B094_B6A430A6BFFC_vcredist_ia64.exe
mov dword [ebp - 0xb0], str.https:__download.microsoft.com_download_1_6_5_165255E7_1014_4D0A_B094_B6A430A6BFFC_vcredist_x64.exe
mov dword [ebp - 0xac], str.https:__download.microsoft.com_download_1_6_5_165255E7_1014_4D0A_B094_B6A430A6BFFC_vcredist_x86.exe
mov dword [ebp - 0xa8], str.Visual_C_2012
mov dword [ebp - 0xa4], str.https:__download.microsoft.com_download_1_6_B_16B06F60_3B20_4FF2_B699_5E9B7962F9AE_VSU4_vcredist_arm.exe
mov dword [ebp - 0xa0], str.https:__download.microsoft.com_download_1_6_B_16B06F60_3B20_4FF2_B699_5E9B7962F9AE_VSU4_vcredist_x64.exe
mov dword [ebp - 0x9c], str.https:__download.microsoft.com_download_1_6_B_16B06F60_3B20_4FF2_B699_5E9B7962F9AE_VSU4_vcredist_x86.exe
mov dword [ebp - 0x98], str.Visual_C_2013
mov dword [ebp - 0x94], str.https:__download.microsoft.com_download_2_E_6_2E61CFA4_993B_4DD4_91DA_3737CD5CD6E3_vcredist_arm.exe
mov dword [ebp - 0x90], str.https:__download.microsoft.com_download_2_E_6_2E61CFA4_993B_4DD4_91DA_3737CD5CD6E3_vcredist_x64.exe
mov dword [ebp - 0x8c], str.https:__download.microsoft.com_download_2_E_6_2E61CFA4_993B_4DD4_91DA_3737CD5CD6E3_vcredist_x86.exe
mov dword [ebp - 0x88], str.Visual_C_2015_2022
mov dword [ebp - 0x84], str.https:__aka.ms_vs_17_release_vc_redist.arm64.exe
mov dword [ebp - 0x80], str.https:__aka.ms_vs_17_release_vc_redist.x64.exe
mov dword [ebp - 0x7c], str.https:__aka.ms_vs_17_release_vc_redist.x86.exe
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x4c]
cmp eax, 5
je 0x56e374
mov dword [ebp - 0x70], 0xfffffffc
cmp eax, 6
jne 0x56e37b
mov dword [ebp - 0x70], 0xfffffff8
xorps xmm0, xmm0
mov dword [ebp - 0x14], edi
lea ecx, [ebp - 0x1c]
movq qword [ebp - 0x1c], xmm0
call fcn.005dc5e0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0
movq qword [ebp - 0x40], xmm0
call fcn.005dc5e0
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x34]
movq qword [ebp - 0x34], xmm0
call fcn.005dc5e0
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x28]
movq qword [ebp - 0x28], xmm0
call fcn.005dc5e0
xor edi, edi
mov byte [ebp - 4], 3
mov dword [ebp - 0x6c], edi
lea ebx, [ebp - 0xcc]
mov dword [ebp - 0x74], str.https:__download.microsoft.com_download_8_B_4_8B42259F_5D70_43F4_AC2E_4B208FD8D66A_vcredist_x86.EXE
mov ecx, dword [esi + 0xe4]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str._x86.exe
push dword [ebx - 0xc]
push 0x624284
call fcn.005dc190
push eax
lea ecx, [ebp - 0x1c]
call fcn.005dc200
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x635758
push dword [ebx - 0xc]
lea ecx, [ebp - 0x34]
push str.Updating
call fcn.005dc200
lea ecx, [ebp - 0x34]
call fcn.005dc190
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.0057b610
push 0
push 1
mov ecx, esi
call fcn.005494d0
push 0
push dword [ebp - 0x74]
lea ecx, [ebp - 0x1c]
call fcn.005dc190
push eax
mov ecx, esi
call fcn.005795d0
test eax, eax
jle 0x56e514
mov ecx, edi
call fcn.005cc910
test al, al
je 0x56e4ae
nop dword [eax]
push 0
push 0
mov ecx, esi
call fcn.005494d0
test eax, eax
jne 0x56e6c4
mov ecx, edi
call fcn.005cc910
test al, al
jne 0x56e490
lea ecx, [ebp - 0x1c]
call fcn.005dc190
cmp dword [ebp - 0x6c], 2
mov ecx, eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov edx, str.___Q
mov eax, str.___passive__norestart
cmovl eax, edx
push eax
push ecx
push 0x624388
lea ecx, [ebp - 0x28]
call fcn.005dc200
mov ecx, dword [esi + 0xe4]
push 5
call fcn.005dc190
push eax
lea ecx, [ebp - 0x28]
call fcn.005dc190
push eax
mov ecx, esi
call fcn.00579420
xor ecx, ecx
mov edi, eax
test edi, edi
setne cl
add dword [ebp - 0x68], ecx
cmp byte [esi + 0x48], 0
je 0x56e604
mov ecx, dword [esi + 0xe4]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str._x64.exe
push dword [ebx - 0xc]
push 0x624284
call fcn.005dc190
push eax
lea ecx, [ebp - 0x1c]
call fcn.005dc200
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x1c]
push 0
push dword [ebx + eax]
call fcn.005dc190
push eax
mov ecx, esi
call fcn.005795d0
test eax, eax
jle 0x56e604
mov ecx, edi
call fcn.005cc910
test al, al
je 0x56e59e
nop word [eax + eax]
push 0
push 0
mov ecx, esi
call fcn.005494d0
test eax, eax
jne 0x56e6c4
mov ecx, edi
call fcn.005cc910
test al, al
jne 0x56e580
lea ecx, [ebp - 0x1c]
call fcn.005dc190
cmp dword [ebp - 0x6c], 2
mov ecx, eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov edx, str.___Q
mov eax, str.___passive__norestart
cmovl eax, edx
push eax
push ecx
push 0x624388
lea ecx, [ebp - 0x28]
call fcn.005dc200
mov ecx, dword [esi + 0xe4]
push 5
call fcn.005dc190
push eax
lea ecx, [ebp - 0x28]
call fcn.005dc190
push eax
mov ecx, esi
call fcn.00579420
mov edi, eax
xor eax, eax
test edi, edi
setne al
add dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x6c]
add ebx, 0x10
ret
adc byte [eax - 0x77], al
inc ebp
xchg esp, eax
cmp eax, 6
jge 0x56e61d
mov eax, dword [ebx]
mov dword [ebp - 0x74], eax
jmp 0x56e3f0
mov ecx, edi
call fcn.005cc910
test al, al
je 0x56e646
push 0
push 0
mov ecx, esi
call fcn.005494d0
test eax, eax
jne 0x56e6c4
mov ecx, edi
call fcn.005cc910
test al, al
jne 0x56e628
push str.Install_complete.
push 0xffffffffffffffff
mov ecx, esi
call fcn.0057b610
push 0
push 1
mov ecx, esi
call fcn.005494d0
mov edi, dword [ebp - 0x68]
mov ecx, str.Failed_to_update_the_Visual_C_runtime.
push 0
push 0
test edi, edi
mov eax, str.Successfully_updated_the_Visual_C_runtime.
push 0
cmove eax, ecx
mov ecx, esi
push eax
call fcn.0057b7e0
xor ebx, ebx
test edi, edi
setne bl
lea ecx, [ebp - 0x28]
call fcn.005dc430
lea ecx, [ebp - 0x34]
call fcn.005dc430
lea ecx, [ebp - 0x40]
call fcn.005dc430
lea ecx, [ebp - 0x1c]
call fcn.005dc430
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e1b5
mov esp, ebp
pop ebp
ret
or ebx, 0xffffffff
jmp 0x56e686