Function at 0x513ff0
Capabilities:
Check if file exists
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a10f5
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x798
mov eax, dword [0x60a070]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x21c], edi
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x88], 7
mov dword [ebp - 0x8c], eax
mov word [ebp - 0x9c], ax
mov dword [ebp - 0xec], 7
mov dword [ebp - 0xf0], eax
mov word [ebp - 0x100], ax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 2
call fcn.00500a10
push 0xd
xor eax, eax
mov dword [ebp - 0x254], 7
push 0x5c2420
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.00413c10
push ecx
lea edx, [ebp - 0x268]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x9c]
call fcn.00500ee0
mov byte [ebp - 4], 2
add esp, 4
mov eax, dword [ebp - 0x254]
cmp eax, 8
jb 0x5140ef
inc eax
lea ecx, [ebp - 0x268]
push eax
push dword [ebp - 0x268]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0x254], 7
push 0xffffffffffffffff
push eax
mov word [ebp - 0x268], ax
lea ecx, [ebp - 0x100]
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x258], 0
push eax
call fcn.00414130
push 3
xor eax, eax
mov dword [ebp - 0x23c], 7
push 0x5c2664
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x240], 0
mov word [ebp - 0x250], ax
call fcn.00413c10
push ecx
lea edx, [ebp - 0x250]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x9c]
call fcn.00500ee0
mov byte [ebp - 4], 2
add esp, 4
mov eax, dword [ebp - 0x23c]
cmp eax, 8
jb 0x51418b
inc eax
lea ecx, [ebp - 0x250]
push eax
push dword [ebp - 0x250]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0x23c], 7
push 0xffffffffffffffff
push eax
mov word [ebp - 0x250], ax
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x74], eax
mov word [ebp - 0x84], ax
lea eax, [ebp - 0x9c]
push eax
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x70], 7
call fcn.00414130
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x238]
push 0x13
xor eax, eax
mov dword [ebp - 0x224], 7
push str.HWCheckMarker.trace
mov dword [ebp - 0x228], 0
mov word [ebp - 0x238], ax
call fcn.00413c10
push ecx
lea edx, [ebp - 0x238]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x84]
call fcn.00500ee0
mov byte [ebp - 4], 5
add esp, 4
mov eax, dword [ebp - 0x224]
cmp eax, 8
jb 0x51423c
inc eax
lea ecx, [ebp - 0x238]
push eax
push dword [ebp - 0x238]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0x224], 7
cmp dword [ebp - 0x70], 8
mov word [ebp - 0x238], ax
lea eax, [ebp - 0x84]
cmovae eax, dword [ebp - 0x84]
push eax
mov dword [ebp - 0x228], 0
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x514368
cmp dword [ebp - 0x70], 8
lea eax, [ebp - 0x84]
cmovae eax, dword [ebp - 0x84]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
mov eax, fcn.00420d90
test eax, eax
je 0x5142bd
push 0x5e4890
push 0x5c0ec0
push 0x5c0ec0
push str.checkHardwareRequirements
push str.Bootstrapper
push 0x1e
call fcn.00420d90
add esp, 0x18
push ecx
mov edx, edi
lea ecx, [ebp - 0x84]
call fcn.00501a70
add esp, 4
test al, al
je 0x514368
mov eax, dword [ebp - 0x70]
cmp eax, 8
jb 0x5142f1
inc eax
lea ecx, [ebp - 0x84]
push eax
push dword [ebp - 0x84]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x74], 0
cmp eax, 8
jb 0x514326
inc eax
lea ecx, [ebp - 0x100]
push eax
push dword [ebp - 0x100]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0xec], 7
mov word [ebp - 0x100], ax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xf0], 0
cmp eax, 8
jb 0x514361
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.00414580
mov al, 1
jmp 0x515f31
xorps xmm0, xmm0
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0xac], 0
movq qword [ebp - 0xa8], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
and eax, 0xfffffe00
mov dword [ebp - 0xb0], eax
xor eax, eax
mov dword [ebp - 0x104], 7
mov dword [ebp - 0x108], 0
mov word [ebp - 0x118], ax
mov dword [ebp - 0x194], 7
mov dword [ebp - 0x198], eax
mov word [ebp - 0x1a8], ax
mov dword [ebp - 0x11c], 7
mov dword [ebp - 0x120], eax
mov word [ebp - 0x130], ax
mov dword [ebp - 0x134], 7
mov dword [ebp - 0x138], eax
mov word [ebp - 0x148], ax
mov dword [ebp - 0x14c], 7
mov dword [ebp - 0x150], eax
mov word [ebp - 0x160], ax
mov dword [ebp - 0x164], 7
mov dword [ebp - 0x168], eax
mov word [ebp - 0x178], ax
mov dword [ebp - 0x17c], 7
mov dword [ebp - 0x180], eax
mov word [ebp - 0x190], ax
xorps xmm0, xmm0
mov dword [ebp - 0x64], eax
movq qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x30]
movq qword [ebp - 0x30], xmm0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
call fcn.004296a0
mov dword [ebp - 0x30], eax
xorps xmm0, xmm0
mov byte [ebp - 4], 0x11
movq qword [ebp - 0x28], xmm0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.004296a0
mov dword [ebp - 0x28], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0xe8], xmm0
mov dword [ebp - 0xdc], 0
movq qword [ebp - 0xd8], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
and eax, 0xfffffe00
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
push 3
push 0x5ca448
lea ecx, [ebp - 0x280]
call fcn.00413c10
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x298]
push 4
xor eax, eax
mov dword [ebp - 0x284], 7
push str.type
mov dword [ebp - 0x288], 0
mov word [ebp - 0x298], ax
call fcn.00413c10
push ecx
lea edx, [ebp - 0x280]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x3e8]
call fcn.00508ce0
add esp, 4
mov byte [ebp - 4], 0x17
mov edx, dword [eax + 0x10]
mov byte [ebp - 0x210], 4
or dword [ebp - 0x210], 0x100
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0
jb 0x5145a7
mov eax, dword [eax]
mov ecx, eax
call fcn.0040c730
mov dword [ebp - 0x218], eax
push ecx
lea edx, [ebp - 0x298]
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x3d0]
call fcn.00508ce0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x19
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x5145df
mov edx, dword [ecx]
jmp 0x5145e1
mov edx, ecx
mov esi, dword [ecx + 0x10]
cmp eax, 0x10
jb 0x5145eb
mov ecx, dword [ecx]
lea eax, [esi + edx]
push eax
push ecx
lea ecx, [ebp - 0xe8]
call fcn.0040dfc0
lea ecx, [ebp - 0x218]
push ecx
mov ecx, eax
call fcn.0040d280
lea ecx, [ebp - 0x218]
call fcn.0040d130
mov eax, dword [ebp - 0x3bc]
cmp eax, 0x10
jb 0x514632
inc eax
lea ecx, [ebp - 0x3d0]
push eax
push dword [ebp - 0x3d0]
call fcn.00408330
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x3bc], 0xf
mov dword [ebp - 0x3c0], 0
mov byte [ebp - 0x3d0], 0
cmp eax, 0x10
jb 0x51466b
inc eax
lea ecx, [ebp - 0x3e8]
push eax
push dword [ebp - 0x3e8]
call fcn.00408330
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x3d4], 0xf
mov dword [ebp - 0x3d8], 0
mov byte [ebp - 0x3e8], 0
cmp eax, 8
jb 0x5146a4
inc eax
lea ecx, [ebp - 0x298]
push eax
push dword [ebp - 0x298]
call fcn.00414580
xor eax, eax
mov byte [ebp - 4], 0x14
mov word [ebp - 0x298], ax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x284], 7
mov dword [ebp - 0x288], 0
cmp eax, 8
jb 0x5146e3
inc eax
lea ecx, [ebp - 0x280]
push eax
push dword [ebp - 0x280]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0x26c], 7
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
call fcn.00500440
test al, al
jne 0x514752
mov eax, dword [0x615408]
test eax, eax
je 0x51473a
push str.In_HardwareUtils::FetchHardwareSummary._GetCurrentOSVersion_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
add esp, 0x18
jmp 0x5149c0
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x5149c0
push str.In_HardwareUtils::FetchHardwareSummary._GetCurrentOSVersion_API_Failed
jmp 0x5149ab
lea edx, [ebp - 0x148]
lea ecx, [ebp - 0x54]
call fcn.00512880
test al, al
je 0x51483a
cmp dword [ebp - 0x138], 0
sete al
test al, al
jne 0x51483a
push 0x5c3784
lea ecx, [ebp - 0x478]
call fcn.00413890
push ecx
lea edx, [ebp - 0x148]
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x6b8]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x1c
call fcn.0040cf10
push ecx
lea edx, [ebp - 0x478]
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x5c8]
call fcn.00508ce0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x1e
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x5147de
mov edx, dword [ecx]
jmp 0x5147e0
mov edx, ecx
mov esi, dword [ecx + 0x10]
cmp eax, 0x10
jb 0x5147ea
mov ecx, dword [ecx]
lea eax, [esi + edx]
push eax
push ecx
lea ecx, [ebp - 0xe8]
call fcn.0040dfc0
lea ecx, [ebp - 0x460]
push ecx
mov ecx, eax
call fcn.0040d280
lea ecx, [ebp - 0x460]
call fcn.0040d130
lea ecx, [ebp - 0x5c8]
call fcn.00405410
lea ecx, [ebp - 0x6b8]
call fcn.00405410
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 0x14
call fcn.004137d0
jmp 0x514889
mov eax, dword [0x615408]
test eax, eax
je 0x514865
push str.In_HardwareUtils::FetchHardwareSummary._GetOSVersionStringFromOSVersion_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
add esp, 0x18
jmp 0x514889
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x514889
mov eax, dword [ecx]
push str.In_HardwareUtils::FetchHardwareSummary._GetOSVersionStringFromOSVersion_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push ecx
call dword [eax + 0x34]
add esp, 0x14
lea edx, [ebp - 0x130]
lea ecx, [ebp - 0x54]
call fcn.00500780
test al, al
je 0x514971
cmp dword [ebp - 0x120], 0
sete al
test al, al
jne 0x514971
push 0x5c3028
lea ecx, [ebp - 0x4a8]
call fcn.00413890
push ecx
lea edx, [ebp - 0x130]
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x5f8]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0x21
call fcn.0040cf10
push ecx
lea edx, [ebp - 0x4a8]
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x5e0]
call fcn.00508ce0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x23
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x514915
mov edx, dword [ecx]
jmp 0x514917
mov edx, ecx
mov esi, dword [ecx + 0x10]
cmp eax, 0x10
jb 0x514921
mov ecx, dword [ecx]
lea eax, [esi + edx]
push eax
push ecx
lea ecx, [ebp - 0xe8]
call fcn.0040dfc0
lea ecx, [ebp - 0x490]
push ecx
mov ecx, eax
call fcn.0040d280
lea ecx, [ebp - 0x490]
call fcn.0040d130
lea ecx, [ebp - 0x5e0]
call fcn.00405410
lea ecx, [ebp - 0x5f8]
call fcn.00405410
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 0x14
call fcn.004137d0
jmp 0x5149c0
mov eax, dword [0x615408]
test eax, eax
je 0x51499c
push str.In_HardwareUtils::FetchHardwareSummary._GetCurrentOSName_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
add esp, 0x18
jmp 0x5149c0
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x5149c0
push str.In_HardwareUtils::FetchHardwareSummary._GetCurrentOSName_API_Failed
mov eax, dword [ecx]
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push ecx
call dword [eax + 0x34]
add esp, 0x14
lea ecx, [ebp - 0x20]
call fcn.005003b0
test al, al
jne 0x514a27
mov eax, dword [0x615408]
test eax, eax
je 0x5149fa
push str.In_HardwareUtils::FetchHardwareSummary._GetCurrentOSBitness_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
add esp, 0x18
jmp 0x514ba5
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x514ba5
mov eax, dword [ecx]
push str.In_HardwareUtils::FetchHardwareSummary._GetCurrentOSBitness_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push ecx
call dword [eax + 0x34]
add esp, 0x14
jmp 0x514ba5
push str.architecture
lea ecx, [ebp - 0x328]
call fcn.00413890
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x418]
mov edx, dword [ebp - 0x20]
call fcn.00508b20
mov byte [ebp - 4], 0x26
mov edx, dword [eax + 0x10]
mov byte [ebp - 0x210], 4
or dword [ebp - 0x210], 0x100
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0
jb 0x514a87
mov eax, dword [eax]
mov ecx, eax
call fcn.0040c730
mov dword [ebp - 0x218], eax
push ecx
lea edx, [ebp - 0x328]
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x400]
call fcn.00508ce0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x28
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x514abf
mov edx, dword [ecx]
jmp 0x514ac1
mov edx, ecx
mov esi, dword [ecx + 0x10]
cmp eax, 0x10
jb 0x514acb
mov ecx, dword [ecx]
lea eax, [esi + edx]
push eax
push ecx
lea ecx, [ebp - 0xe8]
call fcn.0040dfc0
lea ecx, [ebp - 0x218]
push ecx
mov ecx, eax
call fcn.0040d280
lea ecx, [ebp - 0x218]
call fcn.0040d130
mov eax, dword [ebp - 0x3ec]
cmp eax, 0x10
jb 0x514b12
inc eax
lea ecx, [ebp - 0x400]
push eax
push dword [ebp - 0x400]
call fcn.00408330
mov eax, dword [ebp - 0x404]
mov dword [ebp - 0x3ec], 0xf
mov dword [ebp - 0x3f0], 0
mov byte [ebp - 0x400], 0
cmp eax, 0x10
jb 0x514b4b
inc eax
lea ecx, [ebp - 0x418]
push eax
push dword [ebp - 0x418]
call fcn.00408330
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x404], 0xf
mov dword [ebp - 0x408], 0
mov byte [ebp - 0x418], 0
cmp eax, 8
jb 0x514b88
inc eax
lea ecx, [ebp - 0x328]
push eax
push dword [ebp - 0x328]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0x314], 7
mov dword [ebp - 0x318], 0
mov word [ebp - 0x328], ax
lea ecx, [ebp - 0x160]
call fcn.00500620
test al, al
je 0x514d16
cmp dword [ebp - 0x150], 0
sete al
test al, al
jne 0x514d16
push str.buildNumber
lea ecx, [ebp - 0x2b0]
call fcn.00413890
push ecx
lea edx, [ebp - 0x160]
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x340]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0x4c0]
mov byte [ebp - 4], 0x2b
call fcn.0040cf10
push ecx
lea edx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x430]
call fcn.00508ce0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x2d
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x514c2e
mov edx, dword [ecx]
jmp 0x514c30
mov edx, ecx
mov esi, dword [ecx + 0x10]
cmp eax, 0x10
jb 0x514c3a
mov ecx, dword [ecx]
lea eax, [esi + edx]
push eax
push ecx
lea ecx, [ebp - 0xe8]
call fcn.0040dfc0
lea ecx, [ebp - 0x4c0]
push ecx
mov ecx, eax
call fcn.0040d280
lea ecx, [ebp - 0x4c0]
call fcn.0040d130
mov eax, dword [ebp - 0x41c]
cmp eax, 0x10
jb 0x514c81
inc eax
lea ecx, [ebp - 0x430]
push eax
push dword [ebp - 0x430]
call fcn.00408330
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x41c], 0xf
mov dword [ebp - 0x420], 0
mov byte [ebp - 0x430], 0
cmp eax, 0x10
jb 0x514cba
inc eax
lea ecx, [ebp - 0x340]
push eax
push dword [ebp - 0x340]
call fcn.00408330
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x32c], 0xf
mov dword [ebp - 0x330], 0
mov byte [ebp - 0x340], 0
cmp eax, 8
jb 0x514cf7
inc eax
lea ecx, [ebp - 0x2b0]
push eax
push dword [ebp - 0x2b0]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0x29c], 7
mov dword [ebp - 0x2a0], 0
mov word [ebp - 0x2b0], ax
jmp 0x514d65
mov eax, dword [0x615408]
test eax, eax
je 0x514d41
push str.In_HardwareUtils::FetchHardwareSummary._GetCurrentOSBuildVersion_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
add esp, 0x18
jmp 0x514d65
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x514d65
mov eax, dword [ecx]
push str.In_HardwareUtils::FetchHardwareSummary._GetCurrentOSBuildVersion_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push ecx
call dword [eax + 0x34]
add esp, 0x14
push 2
xor eax, eax
mov dword [ebp - 0x204], 7
push 0x5e4d9c
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x208], 0
mov word [ebp - 0x218], ax
call fcn.00413c10
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x4d8]
call fcn.0040cf90
push ecx
lea edx, [ebp - 0x218]
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x358]
call fcn.00508ce0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x31
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x514dd5
mov edx, dword [ecx]
jmp 0x514dd7
mov edx, ecx
mov esi, dword [ecx + 0x10]
cmp eax, 0x10
jb 0x514de1
mov ecx, dword [ecx]
lea eax, [edx + esi]
push eax
push ecx
lea ecx, [ebp - 0xb8]
call fcn.0040dfc0
lea ecx, [ebp - 0x4d8]
push ecx
mov ecx, eax
call fcn.0040d280
lea ecx, [ebp - 0x4d8]
call fcn.0040d130
mov eax, dword [ebp - 0x344]
cmp eax, 0x10
jb 0x514e28
inc eax
lea ecx, [ebp - 0x358]
push eax
push dword [ebp - 0x358]
call fcn.00408330
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x344], 0xf
mov dword [ebp - 0x348], 0
mov byte [ebp - 0x358], 0
cmp eax, 8
jb 0x514e65
inc eax
lea ecx, [ebp - 0x218]
push eax
push dword [ebp - 0x218]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0x204], 7
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x208], 0
mov word [ebp - 0x218], ax
call fcn.00526c10
test al, al
je 0x51556f
cmp dword [ebp - 0x24], 0
je 0x51556f
lea ecx, [ebp - 0x190]
call fcn.00526f20
test al, al
jne 0x514ef1
mov eax, dword [0x615408]
test eax, eax
je 0x514ed9
push str.In_HardwareUtils::FetchHardwareSummary._GetSystemDrive_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
add esp, 0x18
jmp 0x5155be
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x5155be
push str.In_HardwareUtils::FetchHardwareSummary._GetSystemDrive_API_Failed
jmp 0x5155a9
xorps xmm0, xmm0
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xc4], 0
movq qword [ebp - 0xc0], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
and eax, 0xfffffe00
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x5154e3
xorps xmm0, xmm0
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x54], 0
movq qword [ebp - 0x50], xmm0
psrldq xmm0, 8
movd ecx, xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
and ecx, 0xfffffe00
mov dword [ebp - 0x58], ecx
lea esi, [eax + 0x10]
mov byte [ebp - 4], 0x36
cmp dword [esi + 0x14], 8
jb 0x514f8d
mov eax, dword [esi]
jmp 0x514f8f
mov eax, esi
push dword [esi + 0x10]
lea ecx, [ebp - 0x190]
push 0
push eax
call fcn.0041dd80
cmp eax, 0xffffffff
je 0x515167
push str.true
lea ecx, [ebp - 0x2e0]
call fcn.00413890
push str.isPrimary
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x37
call fcn.00413890
push ecx
lea edx, [ebp - 0x2e0]
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x388]
call fcn.00508ce0
add esp, 4
mov byte [ebp - 4], 0x39
mov edx, dword [eax + 0x10]
mov byte [ebp - 0x40], 4
or dword [ebp - 0x40], 0x100
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
jb 0x515015
mov eax, dword [eax]
mov ecx, eax
call fcn.0040c730
mov dword [ebp - 0x48], eax
push ecx
lea edx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x370]
call fcn.00508ce0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x3b
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x51504a
mov edx, dword [ecx]
jmp 0x51504c
mov edx, ecx
mov edi, dword [ecx + 0x10]
cmp eax, 0x10
jb 0x515056
mov ecx, dword [ecx]
lea eax, [edx + edi]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.0040dfc0
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
call fcn.0040d280
lea ecx, [ebp - 0x48]
call fcn.0040d130
mov eax, dword [ebp - 0x35c]
cmp eax, 0x10
jb 0x515094
inc eax
lea ecx, [ebp - 0x370]
push eax
push dword [ebp - 0x370]
call fcn.00408330
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x35c], 0xf
mov dword [ebp - 0x360], 0
mov byte [ebp - 0x370], 0
cmp eax, 0x10
jb 0x5150cd
inc eax
lea ecx, [ebp - 0x388]
push eax
push dword [ebp - 0x388]
call fcn.00408330
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x374], 0xf
mov dword [ebp - 0x378], 0
mov byte [ebp - 0x388], 0
cmp eax, 8
jb 0x515106
inc eax
lea ecx, [ebp - 0x2c8]
push eax
push dword [ebp - 0x2c8]
call fcn.00414580
xor eax, eax
mov byte [ebp - 4], 0x36
mov word [ebp - 0x2c8], ax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2b4], 7
mov dword [ebp - 0x2b8], 0
cmp eax, 8
jb 0x515145
inc eax
lea ecx, [ebp - 0x2e0]
push eax
push dword [ebp - 0x2e0]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0x2cc], 7
mov dword [ebp - 0x2d0], 0
mov word [ebp - 0x2e0], ax
jmp 0x515320
push str.false
lea ecx, [ebp - 0x310]
call fcn.00413890
push str.isPrimary
lea ecx, [ebp - 0x2f8]
mov byte [ebp - 4], 0x3d
call fcn.00413890
push ecx
lea edx, [ebp - 0x310]
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x3b8]
call fcn.00508ce0
add esp, 4
mov byte [ebp - 4], 0x3f
mov edx, dword [eax + 0x10]
mov byte [ebp - 0x40], 4
or dword [ebp - 0x40], 0x100
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
jb 0x5151d3
mov eax, dword [eax]
mov ecx, eax
call fcn.0040c730
mov dword [ebp - 0x48], eax
push ecx
lea edx, [ebp - 0x2f8]
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x3a0]
call fcn.00508ce0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x41
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x515208
mov edx, dword [ecx]
jmp 0x51520a
mov edx, ecx
mov edi, dword [ecx + 0x10]
cmp eax, 0x10
jb 0x515214
mov ecx, dword [ecx]
lea eax, [edi + edx]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.0040dfc0
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
call fcn.0040d280
lea ecx, [ebp - 0x48]
call fcn.0040d130
mov eax, dword [ebp - 0x38c]
cmp eax, 0x10
jb 0x515252
inc eax
lea ecx, [ebp - 0x3a0]
push eax
push dword [ebp - 0x3a0]
call fcn.00408330
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x38c], 0xf
mov dword [ebp - 0x390], 0
mov byte [ebp - 0x3a0], 0
cmp eax, 0x10
jb 0x51528b
inc eax
lea ecx, [ebp - 0x3b8]
push eax
push dword [ebp - 0x3b8]
call fcn.00408330
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x3a4], 0xf
mov dword [ebp - 0x3a8], 0
mov byte [ebp - 0x3b8], 0
cmp eax, 8
jb 0x5152c4
inc eax
lea ecx, [ebp - 0x2f8]
push eax
push dword [ebp - 0x2f8]
call fcn.00414580
xor eax, eax
mov byte [ebp - 4], 0x36
mov word [ebp - 0x2f8], ax
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x2e4], 7
mov dword [ebp - 0x2e8], 0
cmp eax, 8
jb 0x515303
inc eax
lea ecx, [ebp - 0x310]
push eax
push dword [ebp - 0x310]
call fcn.00414580
xor eax, eax
mov dword [ebp - 0x2fc], 7
mov dword [ebp - 0x300], 0
mov word [ebp - 0x310], ax
push 0x5c3028
lea ecx, [ebp - 0x4f0]
call fcn.00413890
push ecx
mov edx, esi
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x610]
call fcn.00508ce0
add esp, 4
mov byte [ebp - 4], 0x44
mov edx, dword [eax + 0x10]
mov byte [ebp - 0x40], 4
or dword [ebp - 0x40], 0x100
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
jb 0x515374
mov eax, dword [eax]
mov ecx, eax
call fcn.0040c730
mov dword [ebp - 0x48], eax
push ecx
lea edx, [ebp - 0x4f0]
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x448]
call fcn.00508ce0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x46
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x5153a9
mov edx, dword [ecx]
jmp 0x5153ab
mov edx, ecx
mov edi, dword [ecx + 0x10]
cmp eax, 0x10
jb 0x5153b5
mov ecx, dword [ecx]
lea eax, [edi + edx]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.0040dfc0
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
call fcn.0040d280
lea ecx, [ebp - 0x48]
call fcn.0040d130
mov eax, dword [ebp - 0x434]
cmp eax, 0x10
jb 0x5153f3
inc eax
lea ecx, [ebp - 0x448]
push eax
push dword [ebp - 0x448]
call fcn.00408330
push 0
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x434], 0xf
call fcn.00407a90
lea ecx, [ebp - 0x610]
call fcn.00405410
lea ecx, [ebp - 0x4f0]
mov byte [ebp - 4], 0x36
call fcn.004137d0
push str.freeSpaceInGB
lea ecx, [ebp - 0x508]
call fcn.00413890
push ecx
lea edx, [esi + 0x18]
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x640]
call fcn.00508ce0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x49
mov ecx, esp
mov dword [ebp - 0x1fc], esp
push eax
call fcn.0040cf10
push ecx
lea edx, [ebp - 0x508]
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x628]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x4b
call fcn.0040e350
mov ecx, eax
mov byte [ebp - 4], 0x4c
call fcn.0040d200
lea ecx, [ebp - 0x628]
call fcn.00405410
lea ecx, [ebp - 0x640]
call fcn.00405410
lea ecx, [ebp - 0x508]
mov byte [ebp - 4], 0x36
call fcn.004137d0
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0xd0]
call fcn.0040e390
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x34
call fcn.0040d130
lea ecx, [ebp - 0x20]
call fcn.0040eda0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
jmp 0x514f41
push str.volumes
lea ecx, [ebp - 0x520]
call fcn.00413890
sub esp, 0x18
mov byte [ebp - 4], 0x4d
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x1fc], esp
mov ecx, esp
push eax
call fcn.0040cf90
push ecx
lea edx, [ebp - 0x520]
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x658]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x4f
call fcn.0040e350
mov ecx, eax
mov byte [ebp - 4], 0x50
call fcn.0040d200
lea ecx, [ebp - 0x658]
call fcn.00405410
lea ecx, [ebp - 0x520]
call fcn.004137d0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x14
call fcn.0040d130
mov edi, dword [ebp - 0x21c]
jmp 0x5155be
mov eax, dword [0x615408]
test eax, eax
je 0x51559a
push str.In_HardwareUtils::FetchHardwareSummary._GetFreeSpaceOnHD_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
add esp, 0x18
jmp 0x5155be
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x5155be
push str.In_HardwareUtils::FetchHardwareSummary._GetFreeSpaceOnHD_API_Failed
mov eax, dword [ecx]
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push ecx
call dword [eax + 0x34]
add esp, 0x14
lea ecx, [ebp - 0x118]
call fcn.00526fa0
test al, al
je 0x51567e
cmp dword [ebp - 0x108], 0
sete al
test al, al
jne 0x51567e
push str.ramInGB
lea ecx, [ebp - 0x538]
call fcn.00413890
push ecx
lea edx, [ebp - 0x118]
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x688]
call fcn.00508ce0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x52
mov ecx, esp
mov dword [ebp - 0x1fc], esp
push eax
call fcn.0040cf10
push ecx
lea edx, [ebp - 0x538]
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x670]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x54
call fcn.0040e350
mov ecx, eax
mov byte [ebp - 4], 0x55
call fcn.0040d200
lea ecx, [ebp - 0x670]
call fcn.00405410
lea ecx, [ebp - 0x688]
call fcn.00405410
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x14
call fcn.004137d0
xor esi, esi
jmp 0x5156e7
xor esi, esi
je 0x515698
mov eax, dword [esi]
push str.In_HardwareUtils::FetchHardwareSummary._GetMachineRAM_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push esi
jmp 0x5156e1
mov eax, dword [0x615408]
test eax, eax
je 0x5156c3
push str.In_HardwareUtils::FetchHardwareSummary._GetMachineRAM_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
add esp, 0x18
jmp 0x5156e7
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x5156e7
mov eax, dword [ecx]
push str.In_HardwareUtils::FetchHardwareSummary._GetMachineRAM_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push ecx
call dword [eax + 0x34]
add esp, 0x14
lea ecx, [ebp - 0x30]
call fcn.00526ad0
test al, al
je 0x51582e
cmp dword [ebp - 0x2c], 0
je 0x51582e
push ecx
lea ecx, [ebp - 0x48]
call fcn.00403240
push 0
call fcn.0040cd60
mov byte [ebp - 4], 0x56
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
mov dword [ebp - 0x20], eax
nop dword [eax]
cmp eax, ecx
je 0x5157ac
lea esi, [eax + 0x10]
push ecx
lea edx, [esi + 0x18]
lea ecx, [ebp - 0x7a8]
call fcn.00508ce0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x57
mov ecx, esp
mov dword [ebp - 0x1fc], esp
push eax
call fcn.0040cf10
push ecx
mov edx, esi
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x6a0]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x59
call fcn.0040e350
mov ecx, eax
mov byte [ebp - 4], 0x5a
call fcn.0040d200
lea ecx, [ebp - 0x6a0]
call fcn.00405410
lea ecx, [ebp - 0x7a8]
mov byte [ebp - 4], 0x56
call fcn.00405410
lea ecx, [ebp - 0x20]
call fcn.0040eda0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
jmp 0x515720
push str.processor
lea ecx, [ebp - 0x550]
call fcn.00413890
sub esp, 0x18
mov byte [ebp - 4], 0x5b
lea eax, [ebp - 0x48]
mov dword [ebp - 0x1fc], esp
mov ecx, esp
push eax
call fcn.0040cf90
push ecx
lea edx, [ebp - 0x550]
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x6d0]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x5d
call fcn.0040e350
mov ecx, eax
mov byte [ebp - 4], 0x5e
call fcn.0040d200
lea ecx, [ebp - 0x6d0]
call fcn.00405410
lea ecx, [ebp - 0x550]
call fcn.004137d0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x14
call fcn.0040d130
xor esi, esi
jmp 0x515897
test esi, esi
je 0x515848
mov eax, dword [esi]
push str.In_HardwareUtils::FetchHardwareSummary._GetCPUDetails_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push esi
jmp 0x515891
mov eax, dword [0x615408]
test eax, eax
je 0x515873
push str.In_HardwareUtils::FetchHardwareSummary._GetCPUDetails_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
add esp, 0x18
jmp 0x515897
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x515897
mov eax, dword [ecx]
push str.In_HardwareUtils::FetchHardwareSummary._GetCPUDetails_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push ecx
call dword [eax + 0x34]
add esp, 0x14
call fcn.00508180
cvtss2sd xmm1, xmm0
lea ecx, [ebp - 0x1a8]
call fcn.005028e0
push str.dpiRatio
lea ecx, [ebp - 0x568]
call fcn.00413890
push ecx
lea edx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x700]
call fcn.00508ce0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x60
mov ecx, esp
mov dword [ebp - 0x1fc], esp
push eax
call fcn.0040cf10
push ecx
lea edx, [ebp - 0x568]
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x6e8]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x62
call fcn.0040e350
mov ecx, eax
mov byte [ebp - 4], 0x63
call fcn.0040d200
lea ecx, [ebp - 0x6e8]
call fcn.00405410
lea ecx, [ebp - 0x700]
call fcn.00405410
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 0x14
call fcn.004137d0
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x6c]
call fcn.00525f40
add esp, 4
test al, al
jne 0x5159d6
test esi, esi
je 0x51597b
mov eax, dword [esi]
push str.In_HardwareUtils::FetchHardwareSummary._GetGPUDetails_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push esi
call dword [eax + 0x34]
add esp, 0x14
jmp 0x515c3d
mov eax, dword [0x615408]
test eax, eax
je 0x5159a9
push str.In_HardwareUtils::FetchHardwareSummary._GetGPUDetails_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
add esp, 0x18
jmp 0x515c3d
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x515c3d
mov eax, dword [ecx]
push str.In_HardwareUtils::FetchHardwareSummary._GetGPUDetails_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push ecx
call dword [eax + 0x34]
add esp, 0x14
jmp 0x515c3d
cmp dword [ebp - 0x168], 0
sete al
test al, al
jne 0x515a7f
push str.directXVersion
lea ecx, [ebp - 0x580]
call fcn.00413890
push ecx
lea edx, [ebp - 0x178]
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x730]
call fcn.00508ce0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x65
mov ecx, esp
mov dword [ebp - 0x1fc], esp
push eax
call fcn.0040cf10
push ecx
lea edx, [ebp - 0x580]
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0x718]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x67
call fcn.0040e350
mov ecx, eax
mov byte [ebp - 4], 0x68
call fcn.0040d200
lea ecx, [ebp - 0x718]
call fcn.00405410
lea ecx, [ebp - 0x730]
call fcn.00405410
lea ecx, [ebp - 0x580]
mov byte [ebp - 4], 0x14
call fcn.004137d0
push ecx
lea ecx, [ebp - 0xd0]
call fcn.00403240
push 0
call fcn.0040cd60
mov byte [ebp - 4], 0x69
mov esi, dword [ebp - 0x6c]
nop dword [eax]
cmp esi, dword [ebp - 0x68]
je 0x515ba6
push ecx
lea ecx, [ebp - 0x50]
call fcn.00423010
push esi
call fcn.004324e0
push ecx
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x6a
call fcn.00403240
push 0
call fcn.0040cd60
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
mov dword [ebp - 0x20], eax
nop dword [eax + eax]
cmp eax, ecx
je 0x515b6f
lea edi, [eax + 0x10]
push ecx
lea edx, [edi + 0x18]
lea ecx, [ebp - 0x760]
call fcn.00508ce0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x6c
mov ecx, esp
mov dword [ebp - 0x1fc], esp
push eax
call fcn.0040cf10
push ecx
mov edx, edi
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x748]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x6e
call fcn.0040e350
mov ecx, eax
mov byte [ebp - 4], 0x6f
call fcn.0040d200
lea ecx, [ebp - 0x748]
call fcn.00405410
lea ecx, [ebp - 0x760]
mov byte [ebp - 4], 0x6b
call fcn.00405410
lea ecx, [ebp - 0x20]
call fcn.0040eda0
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x20]
jmp 0x515ae0
cmp dword [ebp - 0x4c], 0
jbe 0x515b87
lea eax, [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0xd0]
call fcn.0040e390
lea ecx, [ebp - 0x1c0]
call fcn.0040d130
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x69
call fcn.00422fe0
add esi, 8
jmp 0x515aa0
lea ecx, [ebp - 0xd0]
call fcn.0040db30
test eax, eax
je 0x515c2a
push str.displays
lea ecx, [ebp - 0x598]
call fcn.00413890
sub esp, 0x18
mov byte [ebp - 4], 0x70
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x1fc], esp
mov ecx, esp
push eax
call fcn.0040cf90
push ecx
lea edx, [ebp - 0x598]
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x778]
call fcn.00508ce0
add esp, 4
push eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x72
call fcn.0040e350
mov ecx, eax
mov byte [ebp - 4], 0x73
call fcn.0040d200
lea ecx, [ebp - 0x778]
call fcn.00405410
lea ecx, [ebp - 0x598]
call fcn.004137d0
lea ecx, [ebp - 0xd0]
call fcn.0040d130
mov edi, dword [ebp - 0x21c]
xor esi, esi
lea ecx, [ebp - 0x1f8]
call fcn.00410c60
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x74
push eax
lea eax, [ebp - 0x1d8]
push eax
call fcn.00410c90
push ecx
lea edx, [ebp - 0x1d8]
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0x790]
call fcn.00508d80
add esp, 4
mov ecx, edi
push eax
call fcn.00413810
lea ecx, [ebp - 0x790]
call fcn.004137d0
lea ecx, [ebp - 0x9c]
call fcn.00500f90
test al, al
jne 0x515dfe
push ecx
lea ecx, [ebp - 0x9c]
call fcn.00500fb0
add esp, 4
test al, al
jne 0x515dfe
test esi, esi
je 0x515cdd
mov esi, dword [esi]
lea ecx, [ebp - 0x9c]
call fcn.00413700
push eax
push str.In_HardwareUtils::FetchHardwareSummary._Failed_to_create_directory_at_path__s
push str.HardwareUtils
push 0x5c0ec0
push 0x32
xor eax, eax
push eax
jmp 0x515d3f
mov esi, dword [0x615408]
test esi, esi
je 0x515d15
lea ecx, [ebp - 0x9c]
call fcn.00413700
push eax
push str.In_HardwareUtils::FetchHardwareSummary._Failed_to_create_directory_at_path__s
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call esi
add esp, 0x1c
jmp 0x515d45
mov edi, dword [0x61540c]
test edi, edi
je 0x515d45
mov esi, dword [edi]
lea ecx, [ebp - 0x9c]
call fcn.00413700
push eax
push str.In_HardwareUtils::FetchHardwareSummary._Failed_to_create_directory_at_path__s
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push edi
call dword [esi + 0x34]
add esp, 0x18
lea ecx, [ebp - 0x1d8]
call fcn.00405410
lea ecx, [ebp - 0x1f8]
call fcn.0040ff80
lea ecx, [ebp - 0xe8]
call fcn.0040d130
lea ecx, [ebp - 0x28]
call fcn.00422fe0
lea ecx, [ebp - 0x30]
call fcn.00422fe0
lea ecx, [ebp - 0x6c]
call fcn.00515f50
lea ecx, [ebp - 0x190]
call fcn.004137d0
lea ecx, [ebp - 0x178]
call fcn.004137d0
lea ecx, [ebp - 0x160]
call fcn.004137d0
lea ecx, [ebp - 0x148]
call fcn.004137d0
lea ecx, [ebp - 0x130]
call fcn.004137d0
lea ecx, [ebp - 0x1a8]
call fcn.004137d0
lea ecx, [ebp - 0x118]
call fcn.004137d0
lea ecx, [ebp - 0xb8]
call fcn.0040d130
lea ecx, [ebp - 0x84]
call fcn.004137d0
lea ecx, [ebp - 0x100]
call fcn.004137d0
lea ecx, [ebp - 0x9c]
call fcn.004137d0
mov al, 1
jmp 0x515f31
push str.hardwareConfig.json
lea ecx, [ebp - 0x5b0]
call fcn.00413890
push ecx
lea edx, [ebp - 0x5b0]
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x9c]
call fcn.00500ee0
add esp, 4
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0x5b0]
call fcn.004137d0
push esi
mov edx, edi
lea ecx, [ebp - 0x9c]
call fcn.00501800
add esp, 4
test al, al
jne 0x515d45
test esi, esi
je 0x515e72
mov eax, dword [esi]
push str.In_HardwareUtils::FetchHardwareSummary._CreateFileWithContentAtPath_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push esi
call dword [eax + 0x34]
add esp, 0x14
jmp 0x515d45
mov eax, dword [0x615408]
test eax, eax
je 0x515e9d
push str.In_HardwareUtils::FetchHardwareSummary._CreateFileWithContentAtPath_API_Failed
push 0x5c0ec0
push 0x5c0ec0
push str.HardwareUtils
push str.OOBEUtils
push 0x32
call eax
jmp 0x515d42
mov ecx, dword [0x61540c]
test ecx, ecx
je 0x515d45
mov eax, dword [ecx]
push str.In_HardwareUtils::FetchHardwareSummary._CreateFileWithContentAtPath_API_Failed
push str.HardwareUtils
push 0x5c0ec0
push 0x32
push ecx
call dword [eax + 0x34]
add esp, 0x14
jmp 0x515d45
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0055eeb4
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret