Function at 0x4078f5
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
lea ebp, [esp - 0x798]
sub esp, 0x818
mov eax, dword [0x5f72d8]
xor eax, ebp
mov dword [ebp + 0x794], eax
lea eax, [ebp - 0x6c]
push eax
push 0x200
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [esi + 0xb4]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push str.rt_ccsUNICODE
lea eax, [ebp - 0x74]
push str.cpuz.ini
push eax
call fcn.0055b013
add esp, 0xc
cmp dword [ebp - 0x74], 0
je 0x408609
push edi
mov edi, 0xff
push ebx
push dword [ebp - 0x74]
lea eax, [ebp + 0x594]
push edi
push eax
call fcn.0055b718
mov ebx, eax
lea eax, [ebp + 0x594]
push str._CPU_Z_
push eax
call fcn.0055b478
add esp, 0x14
test eax, eax
jne 0x407986
test ebx, ebx
jne 0x407953
jmp 0x4085fe
push dword [ebp - 0x74]
lea eax, [ebp + 0x594]
push edi
push eax
call fcn.0055b718
add esp, 0xc
test eax, eax
je 0x4085fe
xor edi, edi
inc edi
lea eax, [ebp + 0x594]
push str.VERSION
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407a22
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.VERSION_d._d._d._d
push eax
call fcn.0055b6f6
add esp, 0x18
cmp eax, 4
jne 0x4085df
mov eax, dword [esi + 0x8cc]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x70]
jne 0x4085fe
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x80]
jne 0x4085fe
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp - 0x78]
jne 0x4085fe
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x7c]
jne 0x4085fe
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.TextFontSize
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407a67
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.TextFontSize_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x4085df
mov eax, dword [ebp - 0x70]
mov dword [esi + 0xd28], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.LabelFontSize
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407aac
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.LabelFontSize_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x4085df
mov eax, dword [ebp - 0x70]
mov dword [esi + 0xd24], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.TextFontColor
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407b0c
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.TextFontColor_X
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x4085df
mov eax, dword [ebp - 0x70]
mov ecx, eax
sar ecx, 8
movzx edx, al
movzx ecx, cl
shl edx, 8
sar eax, 0x10
or ecx, edx
movzx eax, al
shl ecx, 8
or ecx, eax
mov dword [esi + 0xd2c], ecx
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.ACPI
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407bb0
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.ACPI_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x407b56
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd30], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x407b8a
mov dword [esi + 0xd30], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd30], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push 0x5b02a8
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407c54
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.DMI_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x407bfa
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd34], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x407c2e
mov dword [esi + 0xd34], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd34], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.Sensor
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407cf8
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.Sensor_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x407c9e
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd40], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x407cd2
mov dword [esi + 0xd40], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd40], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.SMBus
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407d9c
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.SMBus_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x407d42
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd3c], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x407d76
mov dword [esi + 0xd3c], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd3c], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.Display
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407e40
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.Display_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x407de6
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd44], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x407e1a
mov dword [esi + 0xd44], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd44], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.UseDisplayAPI
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407ee4
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.UseDisplayAPI_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x407e8a
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd58], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x407ebe
mov dword [esi + 0xd58], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd58], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.RemoveService
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407f88
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.RemoveService_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x407f2e
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd6c], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x407f62
mov dword [esi + 0xd6c], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd6c], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.MaxPCIBus
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x407fe7
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.MaxPCIBus_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x4085df
mov ecx, dword [ebp - 0x70]
cmp ecx, edi
lea eax, [esi + 0xd74]
mov dword [eax], ecx
jge 0x407fd0
mov dword [eax], edi
cmp dword [eax], 0x100
jle 0x4085df
mov dword [eax], 0x100
jmp 0x4085df
lea eax, [ebp + 0x594]
push 0x5b03e0
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x40808b
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.LPCIO_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x408031
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd54], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x408065
mov dword [esi + 0xd54], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd54], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push 0x5b0404
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x408142
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.PCI_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x4080e8
mov ecx, dword [ebp - 0x70]
lea eax, [esi + 0xd78]
mov dword [eax], ecx
test ecx, ecx
jge 0x4080d4
and dword [eax], 0
cmp dword [eax], 2
jle 0x4085df
mov dword [eax], 2
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x40811c
mov dword [esi + 0xd78], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd78], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.BusClock
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x40818c
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.BusClock_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x4085df
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd5c], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push 0x5b0448
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x408230
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.Chipset_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x4081d6
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd48], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x40820a
mov dword [esi + 0xd48], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd48], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.SPD
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x4082d4
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.SPD_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x40827a
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd4c], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4082ae
mov dword [esi + 0xd4c], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd4c], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.XOC
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x408378
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.XOC_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x40831e
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd64], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x408352
mov dword [esi + 0xd64], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd64], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.XOC2
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x40841c
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.XOC2_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x4083c2
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd68], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4083f6
mov dword [esi + 0xd68], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd68], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.CheckUpdates
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x4084c0
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.CheckUpdates_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x408466
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [esi + 0xd70], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x40849a
mov dword [esi + 0xd70], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
and dword [esi + 0xd70], eax
jmp 0x4085df
lea eax, [ebp + 0x594]
push str.ValidUsername
push eax
call fcn.0055b478
pop ecx
test eax, eax
pop ecx
lea eax, [ebp + 0x594]
je 0x4084fa
push 0x28
lea ebx, [ebp + 0x394]
call fcn.004078ad
mov eax, ebx
push eax
mov eax, dword [esi + 0x8c8]
add eax, 0x604
jmp 0x40852a
push str.ValidEmail
push eax
call fcn.0055b478
pop ecx
test eax, eax
pop ecx
lea eax, [ebp + 0x594]
je 0x40853d
push 0x28
lea ebx, [ebp + 0x394]
call fcn.004078ad
mov eax, ebx
push eax
mov eax, dword [esi + 0x8c8]
add eax, 4
push 0x200
push eax
call fcn.0045eae0
add esp, 0xc
jmp 0x4085df
push str.ValidPublish
push eax
call fcn.0055b478
pop ecx
pop ecx
test eax, eax
je 0x4085df
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x594]
push str.ValidPublish_d
push eax
call fcn.0055b6f6
add esp, 0xc
cmp eax, edi
jne 0x408584
mov ecx, dword [esi + 0x8c8]
xor eax, eax
cmp dword [ebp - 0x70], eax
setne al
mov dword [ecx + 0xa58], eax
jmp 0x4085df
push 0xff
lea ebx, [ebp + 0x394]
lea eax, [ebp + 0x594]
call fcn.004078ad
mov eax, ebx
push 0x5b0298
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085bb
mov eax, dword [esi + 0x8c8]
mov dword [eax + 0xa58], edi
jmp 0x4085df
lea eax, [ebp + 0x394]
push 0x5b02a0
push eax
call fcn.0055b7d9
pop ecx
pop ecx
test eax, eax
jne 0x4085df
mov eax, dword [esi + 0x8c8]
and dword [eax + 0xa58], 0
push dword [ebp - 0x74]
lea eax, [ebp + 0x594]
push 0xff
push eax
call fcn.0055b718
add esp, 0xc
test eax, eax
jne 0x4079a4
push dword [ebp - 0x74]
call fcn.0055b0dd
pop ecx
pop ebx
pop edi
mov ecx, dword [ebp + 0x794]
xor ecx, ebp
call fcn.0055a90d
add ebp, 0x798
leave
ret