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

Disassembly:
sub esp, 0x80c
mov eax, dword [0x5706b0]
xor eax, esp
mov dword [esp + 0x808], eax
push edi
lea eax, [esp + 0x40c]
push eax
push 0x200
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 0x57c8dc
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push str.rt_ccsUNICODE
lea ecx, [esp + 0xc]
push str.cpuz.ini
push ecx
call fcn.004ee3a2
xor edi, edi
add esp, 0xc
cmp dword [esp + 8], edi
je 0x40ae74
push esi
mov edx, dword [esp + 0xc]
push edx
lea eax, [esp + 0x14]
push 0xff
push eax
call fcn.004ee8fd
lea ecx, [esp + 0x1c]
push str._CPU_Z_
push ecx
mov esi, eax
call fcn.004ee6cc
add esp, 0x14
test eax, eax
jne 0x40a301
cmp esi, edi
jne 0x40a2c7
mov edx, dword [esp + 0xc]
push edx
jmp 0x40ae6b
mov eax, dword [esp + 0xc]
push eax
lea ecx, [esp + 0x14]
push 0xff
push ecx
call fcn.004ee8fd
add esp, 0xc
test eax, eax
je 0x40ae66
mov esi, 1
push ebx
lea edx, [esp + 0x14]
push str.TextFontName
push edx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40a36b
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov eax, ebx
push eax
push 0x100
push 0x57d348
call fcn.00450bd1
add esp, 0xc
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.LabelFontName
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
lea eax, [esp + 0x14]
je 0x40a3b0
push 0xff
lea ebx, [esp + 0x218]
call fcn.0040a1f0
mov edx, ebx
push edx
push 0x100
push 0x57d148
call fcn.00450bd1
add esp, 0xc
jmp 0x40ae46
push str.TextFontSize
push eax
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40a3ef
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x18]
push str.TextFontSize_d
push edx
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40ae46
mov eax, dword [esp + 0xc]
mov dword [0x57d54c], eax
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.LabelFontSize
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40a433
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.LabelFontSize_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40ae46
mov ecx, dword [esp + 0xc]
mov dword [0x57d548], ecx
jmp 0x40ae46
lea edx, [esp + 0x14]
push str.TextFontColor
push edx
call fcn.004ee6cc
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
je 0x40a492
lea eax, [esp + 0xc]
push eax
push str.TextFontColor_X
push ecx
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40ae46
mov eax, dword [esp + 0xc]
mov edx, eax
sar edx, 8
movzx ecx, dl
movzx edx, al
shl edx, 8
sar eax, 0x10
or ecx, edx
movzx eax, al
shl ecx, 8
or ecx, eax
mov dword [0x57d550], ecx
jmp 0x40ae46
push str.ACPI
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40a533
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.ACPI_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40a4d7
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d554], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40a50b
mov dword [0x57d554], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d554], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push 0x535468
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40a5d8
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.DMI_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40a57c
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d558], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40a5b0
mov dword [0x57d558], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d558], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.Sensor
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40a67d
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.Sensor_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40a621
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d564], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40a655
mov dword [0x57d564], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d564], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.SMBus
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40a722
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.SMBus_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40a6c6
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d560], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40a6fa
mov dword [0x57d560], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d560], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.Display
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40a7c7
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.Display_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40a76b
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d568], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40a79f
mov dword [0x57d568], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d568], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.UseDisplayAPI
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40a86c
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.UseDisplayAPI_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40a810
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d578], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40a844
mov dword [0x57d578], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d578], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.RemoveService
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40a911
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.RemoveService_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40a8b5
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d588], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40a8e9
mov dword [0x57d588], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d588], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push 0x535570
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
lea eax, [esp + 0x14]
je 0x40a9d2
lea edx, [esp + 0xc]
push edx
push str.PCI_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40a976
mov eax, dword [esp + 0xc]
cmp eax, edi
mov dword [0x57d594], eax
jge 0x40a95e
mov dword [0x57d594], edi
jmp 0x40ae46
cmp eax, 2
jle 0x40ae46
mov dword [0x57d594], 2
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov ecx, ebx
push 0x535458
push ecx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40a9aa
mov dword [0x57d594], esi
jmp 0x40ae46
lea edx, [esp + 0x214]
push 0x535460
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d594], edi
jmp 0x40ae46
push 0x535588
push eax
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40aa35
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x18]
push 0x53559c
push edx
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40ae46
mov eax, dword [esp + 0xc]
cmp eax, esi
mov dword [0x57d590], eax
jge 0x40aa1b
mov dword [0x57d590], esi
jmp 0x40ae46
cmp eax, 0x100
jle 0x40ae46
mov dword [0x57d590], 0x100
jmp 0x40ae46
lea eax, [esp + 0x14]
push str.BusClock
push eax
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40aa7d
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x18]
push str.BusClock_d
push edx
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40ae46
xor eax, eax
cmp dword [esp + 0xc], edi
setne al
mov dword [0x57d57c], eax
jmp 0x40ae46
lea ecx, [esp + 0x14]
push 0x5355e4
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40ab22
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.Chipset_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40aac6
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d56c], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40aafa
mov dword [0x57d56c], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d56c], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.SPD
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40abc7
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.SPD_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40ab6b
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d570], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ab9f
mov dword [0x57d570], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d570], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.XOC
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40ac6c
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.XOC_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40ac10
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d584], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ac44
mov dword [0x57d584], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d584], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.CheckUpdates
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40ad11
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.CheckUpdates_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40acb5
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [0x57d58c], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov edx, ebx
push 0x535458
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ace9
mov dword [0x57d58c], esi
jmp 0x40ae46
lea eax, [esp + 0x214]
push 0x535460
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov dword [0x57d58c], edi
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.ValidUsername
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40ad59
push 0x28
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov eax, dword [0x57d0ec]
mov edx, ebx
push edx
add eax, 0x604
push 0x200
push eax
call fcn.00450bd1
add esp, 0xc
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.ValidEmail
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40ad9f
push 0x28
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov eax, dword [0x57d0ec]
mov edx, ebx
push edx
add eax, 4
push 0x200
push eax
call fcn.00450bd1
add esp, 0xc
jmp 0x40ae46
lea ecx, [esp + 0x14]
push str.ValidPublish
push ecx
call fcn.004ee6cc
add esp, 8
test eax, eax
je 0x40ae46
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push str.ValidPublish_d
push eax
call fcn.004ee8db
add esp, 0xc
test eax, eax
je 0x40adeb
mov edx, dword [0x57d0ec]
xor ecx, ecx
cmp dword [esp + 0xc], edi
setne cl
mov dword [edx + 0xa5c], ecx
jmp 0x40ae46
push 0xff
lea ebx, [esp + 0x218]
lea eax, [esp + 0x18]
call fcn.0040a1f0
mov eax, ebx
push 0x535458
push eax
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae22
mov ecx, dword [0x57d0ec]
mov dword [ecx + 0xa5c], esi
jmp 0x40ae46
lea edx, [esp + 0x214]
push 0x535460
push edx
call fcn.004ee9be
add esp, 8
test eax, eax
jne 0x40ae46
mov eax, dword [0x57d0ec]
mov dword [eax + 0xa5c], edi
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push 0xff
push edx
call fcn.004ee8fd
add esp, 0xc
test eax, eax
jne 0x40a326
pop ebx
mov eax, dword [esp + 0xc]
push eax
call fcn.004ee46c
add esp, 4
pop esi
mov ecx, dword [esp + 0x80c]
pop edi
xor ecx, esp
call fcn.004edcb6
add esp, 0x80c
ret