Function at 0x58eae0
Capabilities:
Access peb ldr_data
Check os version
Get common file path
Get disk information
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x710ef0
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x7e6410]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00598380
push 0
call fcn.005b0e80
add esp, 4
mov dword [esi + 0x3a4], eax
lea ecx, [esi + 0x60]
mov dword [esi + 0x3ac], 0
mov dword [esi + 0x3b0], 2
mov dword [esi + 0x3b4], 2
push 0x790eb0
mov dword [esi + 0x3b8], 0xffffffff
mov dword [esi + 0x3bc], 0xffffffff
mov dword [esi + 0x3e8], 0xffffffff
mov dword [esi + 0x3ec], 0xffffffff
mov dword [esi + 0x3f0], 0
mov dword [esi + 0x3f4], 1
mov dword [esi + 0x3f8], 0
mov dword [esi + 0x3fc], 0
mov dword [esi + 0x3c0], 0xa
mov dword [esi + 0x3c4], 0x14
mov dword [esi + 0x3c8], 0x190
mov dword [esi + 0x3cc], 5
mov dword [esi + 0x3d0], 0
mov dword [esi + 0x3d4], 0
mov dword [esi + 0x3d8], 1
mov dword [esi + 0x3dc], 0
mov dword [esi + 0x3e0], 2
mov dword [esi + 0x7e8], 0
mov dword [esi + 0x7ec], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x18], 0xffffffff
mov dword [esi + 0x14], 0xffffffff
mov dword [esi + 0x10], 0xffffffff
mov dword [esi + 0x2c], 0xffffffff
mov dword [esi + 0x28], 0xffffffff
mov dword [esi + 0x20], 0xffffffff
mov dword [esi + 0x24], 0xffffffff
mov dword [esi + 0x4c], 0xffffffff
mov dword [esi + 0x48], 0xffffffff
mov dword [esi + 0x44], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x38], 0xffffffff
mov dword [esi + 0x30], 0xffffffff
mov dword [esi + 0x34], 0xffffffff
mov dword [esi + 0x50], 0xffffffff
mov dword [esi + 0x68], 0
mov dword [esi + 0x54], 1
mov dword [esi + 0x58], 1
mov dword [esi + 0x5c], 1
call fcn.00428a30
lea ecx, [esi + 0x88]
mov dword [esi + 0x64], 0
mov dword [esi + 0x84], 0xffffffff
call fcn.0058bc20
push str.mzout_ds.dll
lea ecx, [esi + 0xd8]
mov dword [esi + 0xa0], 0x32
mov dword [esi + 0xac], 0
mov dword [esi + 0xa4], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xbc], 0
mov dword [esi + 0xc0], 4
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc8], 1
mov dword [esi + 0xcc], 0
call fcn.00428a30
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x220]
push 0
push 5
push eax
push 0
mov dword [esi + 0xdc], 0
call edi
test eax, eax
jne 0x58edcf
push eax
push 0x2e
lea eax, [ebp - 0x220]
push eax
push 0
call edi
test eax, eax
jne 0x58edcf
xor edi, edi
lea eax, [edi + 0x41]
push eax
push 0x788ee4
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.005a1530
add esp, 0x10
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x58edb4
inc edi
cmp edi, 0x1a
jl 0x58ed86
jmp 0x58edc3
lea eax, [ebp - 0x18]
push eax
lea ecx, [esi + 0x3a8]
call fcn.00428a30
cmp edi, 0x1a
jne 0x58ede1
push 0x74945c
jmp 0x58edd6
lea eax, [ebp - 0x220]
push eax
lea ecx, [esi + 0x3a8]
call fcn.00428a30
lea edi, [esi + 0x3a8]
push edi
lea ecx, [esi + 0xf0]
call fcn.004289a0
push edi
lea ecx, [esi + 0xf8]
call fcn.004289a0
xorps xmm0, xmm0
mov dword [esi + 0x100], 1
mov dword [esi + 0x104], 0
mov ecx, esi
mov dword [esi + 0x108], 0
mov dword [esi + 0x10c], 0
mov dword [esi + 0x110], 0
movdqu xmmword [esi + 0x114], xmm0
movdqu xmmword [esi + 0x124], xmm0
movq qword [esi + 0x134], xmm0
mov dword [esi + 0x13c], 0
mov dword [esi + 0x140], 0x64
mov dword [esi + 0x144], 1
call fcn.005a09f0
mov ecx, esi
call fcn.005a0840
mov ecx, esi
call fcn.005a0ab0
mov ecx, esi
call fcn.005a0d00
mov ecx, esi
call fcn.005a0e60
xorps xmm0, xmm0
mov dword [esi + 0x1e0], 0
mov dword [esi + 0x1e4], 1
mov dword [esi + 0x1e8], 1
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1f0], 0
mov dword [esi + 0x1f4], 0
mov dword [esi + 0x1f8], 1
mov dword [esi + 0x1fc], 0
mov dword [esi + 0x220], 0
movdqu xmmword [esi + 0x224], xmm0
push str.NETCAFE
movdqu xmmword [esi + 0x234], xmm0
push 0xffffffffffffffff
movq qword [esi + 0x244], xmm0
movdqu xmmword [esi + 0x24c], xmm0
push ecx
movdqu xmmword [esi + 0x25c], xmm0
mov ecx, esp
mov dword [ebp - 0x224], esp
movq qword [esi + 0x26c], xmm0
push str.GENERAL
mov dword [esi + 0x274], 0
mov dword [esi + 0x278], 0
mov dword [esi + 0x310], 0
mov dword [esi + 0x314], 0x50
mov dword [esi + 0x318], 0
mov dword [esi + 0x31c], 1
mov dword [esi + 0x320], 0
mov dword [esi + 0x324], 0
mov dword [esi + 0x328], 1
mov dword [esi + 0x32c], 0
mov dword [esi + 0x330], 0
mov dword [esi + 0x334], 0
mov dword [esi + 0x338], 0
mov dword [esi + 0x33c], 1
mov dword [esi + 0x340], 0
call fcn.00428840
lea eax, [ebp - 0x22c]
mov dword [ebp - 4], 0
push eax
call fcn.005b6a10
mov ecx, esp
mov byte [ebp - 4], 1
push 0x744bc4
push eax
push ecx
call fcn.00428bd0
push str.TARGET
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 2
push str.ACTIVE
push eax
call fcn.005b55c0
add esp, 0x18
push eax
mov byte [ebp - 4], 3
call fcn.004292e0
xor ecx, ecx
mov byte [ebp - 4], 2
test al, al
setne cl
mov dword [esi + 0x344], ecx
lea ecx, [ebp - 0x228]
call fcn.00428810
lea ecx, [ebp - 0x22c]
mov dword [ebp - 4], 0xffffffff
call fcn.00428810
mov dword [esi + 0x348], 0
mov dword [esi + 0x34c], 2
mov dword [esi + 0x350], 0
mov dword [esi + 0x360], 0
mov dword [esi + 0x298], 0xffffffff
mov dword [esi + 0x294], 0xffffffff
mov dword [esi + 0x290], 0xffffffff
mov dword [esi + 0x28c], 0xffffffff
cmp dword [esi + 0x3a4], 0xa
jge 0x58f0b6
mov dword [esi + 0x29c], 0
mov dword [esi + 0x2a0], 0
jmp 0x58f151
push str.NETCAFE
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.GENERAL
call fcn.00428840
lea eax, [ebp - 0x228]
mov dword [ebp - 4], 4
push eax
call fcn.005b6a10
mov ecx, esp
mov byte [ebp - 4], 5
push 0x744bc4
push eax
push ecx
call fcn.00428bd0
push str.TARGET
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 6
push str.ACTIVE
push eax
call fcn.005b55c0
add esp, 0x18
push eax
mov byte [ebp - 4], 7
call fcn.004292e0
xor ecx, ecx
mov byte [ebp - 4], 6
test al, al
setne cl
mov dword [esi + 0x29c], ecx
lea ecx, [ebp - 0x22c]
call fcn.00428810
lea ecx, [ebp - 0x228]
mov dword [ebp - 4], 0xffffffff
call fcn.00428810
mov dword [esi + 0x2a0], 1
mov dword [esi + 0x2a4], 0x50
mov ecx, dword [0x7f7170]
test ecx, ecx
je 0x58f178
mov eax, dword [ecx]
push 0x7425a0
push str.IDS_CUSTOMTAB_DEFAULT_FONT
mov eax, dword [eax + 8]
call eax
jmp 0x58f17d
mov eax, 0x790eb0
push eax
lea ecx, [esi + 0x2a8]
call fcn.00428a30
mov dword [esi + 0x2ac], 0xc
lea edi, [esi + 0x2e0]
mov dword [esi + 0x2b0], 1
mov dword [esi + 0x2b4], 0
mov dword [esi + 0x2b8], 0xffffff
mov dword [esi + 0x2bc], 0x6b634f
mov dword [esi + 0x2c0], 0xffffff
mov dword [esi + 0x2c4], 0xaf9500
mov dword [esi + 0x2c8], 0
mov dword [esi + 0x2cc], 0xffffffff
mov dword [esi + 0x2d0], 0
mov dword [esi + 0x2d4], 1
mov dword [esi + 0x2d8], 1
mov dword [esi + 0x2dc], 1
mov eax, dword [edi]
mov dword [edi + 4], eax
xor eax, eax
mov dword [ebp - 0x228], eax
mov edi, edi
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x230]
mov dword [ebp - 0x230], eax
cmp edx, ecx
jae 0x58f2da
mov edx, dword [edi]
lea eax, [ebp - 0x230]
cmp edx, eax
mov eax, dword [ebp - 0x228]
ja 0x58f2da
lea eax, [ebp - 0x230]
sub eax, edx
mov edx, dword [edi + 8]
sar eax, 2
mov dword [ebp - 0x224], eax
cmp ecx, edx
jne 0x58f2bc
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x58f2bc
sub ecx, dword [edi]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x58f3b4
sub edx, dword [edi]
inc ecx
sar edx, 2
mov eax, 0x3fffffff
mov dword [ebp - 0x22c], ecx
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x58f2a5
xor edx, edx
jmp 0x58f2a7
add edx, ecx
cmp edx, dword [ebp - 0x22c]
mov ecx, edi
cmovb edx, dword [ebp - 0x22c]
push edx
call fcn.0055abc0
mov ecx, dword [ebp - 0x224]
mov eax, dword [edi]
lea eax, [eax + ecx*4]
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x58f2d2
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0x228]
jmp 0x58f347
mov edx, dword [edi + 8]
cmp ecx, edx
jne 0x58f33e
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x58f338
sub ecx, dword [edi]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x58f3b4
sub edx, dword [edi]
inc ecx
sar edx, 2
mov eax, 0x3fffffff
mov dword [ebp - 0x224], ecx
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x58f321
xor edx, edx
jmp 0x58f323
add edx, ecx
cmp edx, dword [ebp - 0x224]
mov ecx, edi
cmovb edx, dword [ebp - 0x224]
push edx
call fcn.0055abc0
mov eax, dword [ebp - 0x228]
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x58f347
mov dword [ecx], eax
add dword [edi + 4], 4
inc eax
mov dword [ebp - 0x228], eax
cmp eax, 3
jle 0x58f220
mov dword [esi + 0x2fc], 0
mov dword [esi + 0x300], 0x100
mov dword [esi + 0x304], 1
mov dword [esi + 0x308], 1
mov dword [esi + 0x364], 1
mov dword [esi + 0x368], 0
mov ecx, dword [0x7f7170]
test ecx, ecx
je 0x58f3be
mov eax, dword [ecx]
push 0x7425a0
push str.IDS_CUSTOMTAB_DEFAULT_FONT
mov eax, dword [eax + 8]
call eax
jmp 0x58f3c3
push 0x783bc0
call fcn.006b1a39
mov eax, 0x790eb0
push eax
lea ecx, [esi + 0x36c]
call fcn.00428a30
mov dword [esi + 0x37c], 0
lea eax, [ebp - 0x224]
mov dword [esi + 0x388], 0
mov dword [esi + 0x38c], 1
mov dword [esi + 0x390], 1
mov dword [esi + 0x394], 1
mov dword [esi + 0x398], 0
mov dword [esi + 0x39c], 0x46
mov dword [esi + 0x3a0], 1
push 1
mov dword [esi + 0x408], 0
mov dword [esi + 0x40c], 0
push SysReAllocStringLen
mov dword [esi + 0x410], 1
push 0x74218c
mov dword [esi + 0x414], 1
push eax
mov dword [esi + 0x418], 0
call fcn.005b5ac0
add esp, 0x10
push eax
lea ecx, [esi + 0x41c]
mov dword [ebp - 4], 8
call fcn.004289a0
lea ecx, [ebp - 0x224]
mov dword [ebp - 4], 0xffffffff
call fcn.00428810
push 0x749484
lea ecx, [esi + 0x420]
call fcn.00428a30
push 1
push SysReAllocStringLen
lea eax, [ebp - 0x224]
mov dword [esi + 0x424], 1
push 0x74218c
push eax
call fcn.005b5ac0
add esp, 0x10
push eax
lea ecx, [esi + 0x428]
mov dword [ebp - 4], 9
call fcn.004289a0
lea ecx, [ebp - 0x224]
mov dword [ebp - 4], 0xffffffff
call fcn.00428810
mov dword [esi + 0x42c], 0
lea eax, [ebp - 0x234]
mov dword [esi + 0x430], 6
mov dword [esi + 0x434], 6
mov dword [esi + 0x438], 3
mov dword [esi + 0x43c], 5
mov dword [esi + 0x440], 7
mov dword [esi + 0x444], 0
mov dword [esi + 0x448], 0
mov dword [esi + 0x44c], 0
mov dword [esi + 0x470], 0
mov dword [esi + 0x450], 0
mov dword [esi + 0x454], 1
mov dword [esi + 0x458], 1
mov dword [esi + 0x45c], 0x64
mov dword [esi + 0x460], 1
mov dword [esi + 0x464], 1
mov dword [esi + 0x468], 1
mov dword [esi + 0x474], 1
mov dword [esi + 0x478], 1
mov dword [esi + 0x47c], 0x64
push 1
mov dword [esi + 0x480], 5
mov dword [esi + 0x484], 1
push SysReAllocStringLen
mov dword [esi + 0x48c], 0
push 0x74218c
mov dword [esi + 0x490], 1
push eax
mov dword [esi + 0x3e4], 0
call fcn.005b5d50
add esp, 0x10
push eax
lea ecx, [esi + 0x4b4]
mov dword [ebp - 4], 0xa
call fcn.004289a0
lea ecx, [ebp - 0x234]
mov dword [ebp - 4], 0xffffffff
call fcn.00428810
mov dword [esi + 0x4b8], 1
lea ecx, [esi + 0x4c8]
mov dword [esi + 0x4bc], 1
mov dword [esi + 0x4c0], 1
push 0x74948c
mov dword [esi + 0x4c4], 0
call fcn.00428a30
mov dword [esi + 0x4cc], 0
lea ecx, [esi + 0xe4]
mov dword [esi + 0x4d0], 0
mov dword [esi + 0x4d4], 0
mov dword [esi + 0x4d8], 0
mov dword [esi + 0x4e8], 0
push 0x790eb0
mov dword [esi + 0xe0], 0
call fcn.00428a30
push 0x790eb0
lea ecx, [esi + 0x7d4]
mov dword [esi + 0xe8], 0
call fcn.00428a30
push 0x790eb0
lea ecx, [esi + 0x7d8]
call fcn.00428a30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006b3266
mov esp, ebp
pop ebp
ret