Function at 0x411cf0
Capabilities:
Access peb ldr_data
Check os version
Get number of processors
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x462e5e
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push esi
push edi
mov eax, dword [0x4826d4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0x1e
mov dword [edi + 0xc], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0xa
mov dword [edi + 0x28], 1
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov word [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov byte [edi + 0x3c], 1
mov dword [edi + 0x40], 0x3c
call fcn.00403330
mov ecx, eax
test ecx, ecx
je 0x412dfe
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x44], eax
mov dword [ebp - 4], 0
call fcn.00403330
mov ecx, eax
test ecx, ecx
je 0x412e08
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x48], eax
lea eax, [edi + 0x54]
mov dword [edi + 0x4c], 0
mov dword [edi + 0x50], 0
mov dword [ebp - 0x28], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov byte [ebp - 4], 2
mov dword [edi + 0x64], 0
mov dword [edi + 0x68], 1
call fcn.00403330
mov ecx, eax
test ecx, ecx
je 0x412e12
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x6c], eax
mov byte [ebp - 4], 3
mov byte [edi + 0x70], 0
mov dword [edi + 0x74], 0x3a98
mov dword [edi + 0x78], 0x7530
mov dword [edi + 0x7c], 0x3a98
mov dword [edi + 0x80], 0x3a98
mov dword [edi + 0x84], 0x8ca0
mov dword [edi + 0x88], 0xe100
mov dword [edi + 0x8c], 0x258
mov dword [edi + 0x90], SysReAllocStringLen
mov dword [edi + 0x94], SysReAllocStringLen
mov dword [edi + 0x98], SysReAllocStringLen
mov dword [edi + 0x9c], SysReAllocStringLen
mov dword [edi + 0xa0], 0
mov dword [edi + 0xa4], 0
call fcn.00403330
mov ecx, eax
test ecx, ecx
je 0x412e1c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0xa8], eax
mov dword [edi + 0xac], 0x24
mov dword [edi + 0xb0], 0x64
mov dword [edi + 0xb4], 0x10100
mov byte [edi + 0xb8], 1
mov dword [edi + 0xbc], 0
mov dword [edi + 0xc0], 0
mov dword [edi + 0xc4], 0
mov dword [edi + 0xc8], 0
mov byte [ebp - 4], 5
mov dword [edi + 0xcc], 0
call fcn.00403330
mov ecx, eax
test ecx, ecx
je 0x412e26
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0xd0], eax
xor esi, esi
mov byte [edi + 0xd4], 1
mov dword [ebp - 0x14], esi
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 7
push eax
push 0x20019
push esi
push str.SoftwareAutoOff
push SysReAllocStringLen
mov dword [ebp - 0x1c], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x412dd0
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x14], esi
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x20], 4
push eax
push 0
push 0x4686b4
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x411f9a
cmp dword [ebp - 0x1c], 4
jne 0x411f9a
cmp dword [ebp - 0x20], 4
mov eax, dword [ebp - 0x24]
je 0x411f9f
mov eax, SysReAllocStringLen
mov dword [edi + 0x90], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push 0x4686bc
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x411fe0
cmp dword [ebp - 0x20], 4
jne 0x411fe0
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x24]
je 0x411fe5
mov eax, SysReAllocStringLen
mov dword [edi + 0x94], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.xdlg
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412026
cmp dword [ebp - 0x20], 4
jne 0x412026
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x24]
je 0x41202b
mov eax, SysReAllocStringLen
mov dword [edi + 0x98], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.ydlg
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41206c
cmp dword [ebp - 0x20], 4
jne 0x41206c
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x24]
je 0x412071
mov eax, SysReAllocStringLen
mov dword [edi + 0x9c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.tmBkColor
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4120b4
cmp dword [ebp - 0x20], 4
jne 0x4120b4
cmp dword [ebp - 0x1c], 4
jne 0x4120b4
mov eax, dword [ebp - 0x24]
jmp 0x4120b6
xor eax, eax
mov dword [edi + 0xa0], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push 0x4686f0
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4120f9
cmp dword [ebp - 0x20], 4
jne 0x4120f9
cmp dword [ebp - 0x1c], 4
jne 0x4120f9
mov eax, dword [ebp - 0x24]
jmp 0x4120fb
xor eax, eax
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0xa4], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.Clock
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412143
cmp dword [ebp - 0x20], 4
jne 0x412143
cmp dword [ebp - 0x1c], 4
jne 0x412143
mov eax, dword [ebp - 0x24]
jmp 0x412145
xor eax, eax
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0xa5], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.ShowDayOfWeek
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41218d
cmp dword [ebp - 0x20], 4
jne 0x41218d
cmp dword [ebp - 0x1c], 4
jne 0x41218d
mov eax, dword [ebp - 0x24]
jmp 0x41218f
xor eax, eax
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0xa6], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.ShowSeconds
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4121d7
cmp dword [ebp - 0x20], 4
jne 0x4121d7
cmp dword [ebp - 0x1c], 4
jne 0x4121d7
mov eax, dword [ebp - 0x24]
jmp 0x4121d9
xor eax, eax
test eax, eax
lea ecx, [ebp - 0x14]
push 0
setne al
mov byte [edi + 0xa7], al
lea eax, [ebp - 0x24]
push str.ClockFont
push eax
call fcn.00416860
push eax
lea ecx, [edi + 0xa8]
mov byte [ebp - 4], 8
call fcn.004019b0
mov edx, dword [ebp - 0x24]
or eax, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x412226
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x1c], 4
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.ClockFontSize
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412261
cmp dword [ebp - 0x20], 4
jne 0x412261
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x24]
je 0x412266
mov eax, 0x24
mov dword [edi + 0xac], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Opacity
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4122a7
cmp dword [ebp - 0x20], 4
jne 0x4122a7
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x24]
je 0x4122ac
mov eax, 0x64
mov dword [edi + 0xb0], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Type
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4122ef
cmp dword [ebp - 0x20], 4
jne 0x4122ef
cmp dword [ebp - 0x1c], 4
jne 0x4122ef
mov eax, dword [ebp - 0x24]
jmp 0x4122f1
xor eax, eax
mov dword [edi + 0x30], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Hour1
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412331
cmp dword [ebp - 0x20], 4
jne 0x412331
cmp dword [ebp - 0x1c], 4
jne 0x412331
mov eax, dword [ebp - 0x24]
jmp 0x412333
xor eax, eax
mov dword [edi + 4], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Min1
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412371
cmp dword [ebp - 0x20], 4
jne 0x412371
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x24]
je 0x412376
mov eax, 0x1e
mov dword [edi + 8], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Sec1
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4123b6
cmp dword [ebp - 0x20], 4
jne 0x4123b6
cmp dword [ebp - 0x1c], 4
jne 0x4123b6
mov eax, dword [ebp - 0x24]
jmp 0x4123b8
xor eax, eax
mov dword [edi + 0xc], eax
lea eax, [edi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
movzx eax, word [edi + 0x18]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Hour2
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412407
cmp dword [ebp - 0x20], 4
jne 0x412407
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x24]
je 0x41240a
mov eax, dword [ebp - 0x2c]
mov word [edi + 0x18], ax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.AMPM
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41245c
cmp dword [ebp - 0x20], 4
jne 0x41245c
cmp dword [ebp - 0x1c], 4
jne 0x41245c
cmp dword [ebp - 0x2c], 1
jne 0x41245c
movzx eax, word [edi + 0x18]
cmp eax, 0xc
jae 0x41245c
add eax, 0xc
mov word [edi + 0x18], ax
movzx eax, word [edi + 0x1a]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Min2
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41249e
cmp dword [ebp - 0x20], 4
jne 0x41249e
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x2c]
je 0x4124a1
mov eax, dword [ebp - 0x24]
mov word [edi + 0x1a], ax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Sec2
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4124e2
cmp dword [ebp - 0x20], 4
jne 0x4124e2
cmp dword [ebp - 0x1c], 4
jne 0x4124e2
mov eax, dword [ebp - 0x2c]
jmp 0x4124e4
xor eax, eax
mov word [edi + 0x1c], ax
xor eax, eax
mov word [edi + 0x1e], ax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], 4
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.Hour3
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412527
cmp dword [ebp - 0x20], 4
jne 0x412527
cmp dword [ebp - 0x1c], 4
jne 0x412527
mov eax, dword [ebp - 0x2c]
jmp 0x412529
xor eax, eax
mov dword [edi + 0x20], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Min3
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412567
cmp dword [ebp - 0x20], 4
jne 0x412567
cmp dword [ebp - 0x1c], 4
mov ecx, dword [ebp - 0x2c]
je 0x41256c
mov ecx, 0xa
mov dword [ebp - 0x20], ecx
mov dword [edi + 0x24], ecx
cmp ecx, 0x3b
jle 0x41259f
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
mov dword [edi + 0x20], ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [ebp - 0x20]
shl eax, 2
sub ecx, eax
mov dword [edi + 0x24], ecx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], 4
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.Hour4
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4125da
cmp dword [ebp - 0x20], 4
jne 0x4125da
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x2c]
je 0x4125df
mov eax, 1
mov dword [edi + 0x28], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Min4
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41261f
cmp dword [ebp - 0x20], 4
jne 0x41261f
cmp dword [ebp - 0x1c], 4
jne 0x41261f
mov eax, dword [ebp - 0x2c]
jmp 0x412621
xor eax, eax
mov dword [edi + 0x2c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.TimerWindow
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41265f
cmp dword [ebp - 0x20], 4
jne 0x41265f
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x2c]
je 0x412664
mov eax, 1
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0xb5], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.HotKey
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4126ac
cmp dword [ebp - 0x20], 4
jne 0x4126ac
cmp dword [ebp - 0x1c], 4
jne 0x4126ac
mov eax, dword [ebp - 0x2c]
jmp 0x4126ae
xor eax, eax
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0xb4], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.Force
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4126f6
cmp dword [ebp - 0x20], 4
jne 0x4126f6
cmp dword [ebp - 0x1c], 4
jne 0x4126f6
mov eax, dword [ebp - 0x2c]
jmp 0x4126f8
xor eax, eax
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0x34], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.ForceIfHung
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41273d
cmp dword [ebp - 0x20], 4
jne 0x41273d
cmp dword [ebp - 0x1c], 4
jne 0x41273d
mov eax, dword [ebp - 0x2c]
jmp 0x41273f
xor eax, eax
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0x35], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.Mode
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412784
cmp dword [ebp - 0x20], 4
jne 0x412784
cmp dword [ebp - 0x1c], 4
jne 0x412784
mov eax, dword [ebp - 0x2c]
jmp 0x412786
xor eax, eax
mov dword [edi + 0x38], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 4
push eax
push 0
push str.Confirm
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4127c4
cmp dword [ebp - 0x20], 4
jne 0x4127c4
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x2c]
je 0x4127c9
mov eax, 1
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0x3c], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.ConfirmTime
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41280c
cmp dword [ebp - 0x20], 4
jne 0x41280c
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x2c]
je 0x412811
mov eax, 0x3c
mov dword [edi + 0x40], eax
cmp eax, 0xa
jge 0x412822
mov dword [edi + 0x40], 0xa
jmp 0x412830
cmp eax, 0x12c
jle 0x412830
mov dword [edi + 0x40], 0x12c
push 0
push str.Lang
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
call fcn.00416860
push eax
lea ecx, [edi + 0x44]
mov byte [ebp - 4], 9
call fcn.004019b0
mov edx, dword [ebp - 0x2c]
or eax, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41286f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [edi + 0x44]
lea eax, [ebp - 0x2c]
push str.SetLang
push eax
lea ecx, [ebp - 0x14]
call fcn.00416860
push eax
lea ecx, [edi + 0x48]
mov byte [ebp - 4], 0xa
call fcn.004019b0
mov edx, dword [ebp - 0x2c]
or eax, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4128af
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x1c], 8
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.Update
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4128e7
cmp dword [ebp - 0x20], 0xb
jne 0x4128e7
cmp dword [ebp - 0x1c], 8
je 0x4128ef
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [edi + 0x4c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov dword [edi + 0x50], ecx
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push eax
push 0
push str.AlarmSound
push esi
mov dword [ebp - 0x1c], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412936
cmp dword [ebp - 0x20], 4
jne 0x412936
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x2c]
je 0x41293b
mov eax, 1
push 0
mov dword [edi + 0x68], eax
lea ecx, [ebp - 0x14]
push str.SoundFile
lea eax, [ebp - 0x2c]
push eax
call fcn.00416860
push eax
lea ecx, [edi + 0x6c]
mov byte [ebp - 4], 0xb
call fcn.004019b0
mov edx, dword [ebp - 0x2c]
or eax, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41297d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], 4
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.ShowStartup
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4129ba
cmp dword [ebp - 0x20], 4
jne 0x4129ba
cmp dword [ebp - 0x1c], 4
jne 0x4129ba
mov eax, dword [ebp - 0x2c]
jmp 0x4129bc
xor eax, eax
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0x70], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.UseToast
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4129ff
cmp dword [ebp - 0x20], 4
jne 0x4129ff
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x2c]
je 0x412a04
mov eax, 1
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0xb6], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.TranslucentToast
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412a4c
cmp dword [ebp - 0x20], 4
jne 0x412a4c
cmp dword [ebp - 0x1c], 4
jne 0x412a4c
mov eax, dword [ebp - 0x2c]
jmp 0x412a4e
xor eax, eax
test eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
setne al
mov byte [edi + 0xb7], al
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push str.NotIdleWorking
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412a94
cmp dword [ebp - 0x20], 4
jne 0x412a94
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x2c]
je 0x412a99
mov eax, 1
test eax, eax
setne al
mov byte [edi + 0xb8], al
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0
push str.Task
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412c34
push dword [ebp - 0x10]
call fcn.0044437b
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
je 0x412c34
lea ecx, [ebp - 0x10]
push ecx
push eax
push 0
push 0
push str.Task
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412c29
cmp dword [ebp - 0x10], 0xc
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jb 0x412c29
nop word [eax + eax]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], eax
call fcn.00403330
mov ecx, eax
test ecx, ecx
je 0x412dfe
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x4c], eax
call fcn.00403330
mov ecx, eax
test ecx, ecx
je 0x412dfe
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
push dword [edi + 0x58]
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0xd
push str.TaskParam_d
push eax
call fcn.00408f60
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x30]
add esp, 0xc
lea ecx, [ebp - 0x14]
push 0
push edi
push eax
call fcn.00416860
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xe
call fcn.004019b0
mov edx, dword [ebp - 0x30]
or eax, 0xffffffff
mov byte [ebp - 4], 0xd
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x412bca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x58]
push eax
call fcn.00414cd0
add dword [ebp - 0x1c], 0xc
add edi, 0xfffffff0
sub dword [ebp - 0x10], 0xc
or eax, 0xffffffff
mov byte [ebp - 4], 0xc
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x412bfa
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x48]
or eax, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x412c19
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x10], 0xc
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
jae 0x412b10
push dword [ebp - 0x24]
call fcn.00444384
add esp, 4
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0
push str.Task2
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412dca
push dword [ebp - 0x10]
call fcn.0044437b
add esp, 4
mov dword [ebp - 0x20], eax
test eax, eax
je 0x412dca
lea ecx, [ebp - 0x10]
push ecx
push eax
push 0
push 0
push str.Task2
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412dbc
cmp dword [ebp - 0x10], 0x10
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jb 0x412dbc
nop word [eax + eax]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x44], xmm0
call fcn.00403330
mov ecx, eax
test ecx, ecx
je 0x412dfe
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x4c], eax
call fcn.00403330
mov ecx, eax
test ecx, ecx
je 0x412dfe
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
push dword [edi + 0x58]
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x10
push str.TaskParam_d
push eax
call fcn.00408f60
mov edi, dword [ebp - 0x24]
lea eax, [ebp - 0x30]
add esp, 0xc
lea ecx, [ebp - 0x14]
push 0
push edi
push eax
call fcn.00416860
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x11
call fcn.004019b0
mov edx, dword [ebp - 0x30]
or eax, 0xffffffff
mov byte [ebp - 4], 0x10
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x412d51
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x50], 1
je 0x412d5d
cmp dword [ebp - 0x54], 0x3b
jle 0x412d69
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x58]
push eax
call fcn.00414cd0
add dword [ebp - 0x1c], 0x10
add edi, 0xfffffff0
sub dword [ebp - 0x10], 0x10
or eax, 0xffffffff
mov byte [ebp - 4], 0xf
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x412d8d
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x48]
or eax, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x412dac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x10], 0x10
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
jae 0x412ca0
push dword [ebp - 0x20]
call fcn.00444384
mov edi, dword [ebp - 0x18]
add esp, 4
mov eax, dword [edi + 0x58]
mov dword [edi + 0x64], eax
call fcn.004335b0
cmp eax, 0x40002
jae 0x412de0
mov byte [edi + 0x35], 0
test esi, esi
je 0x412deb
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.004024f0
push 0x80004005
call fcn.004024f0
push 0x80004005
call fcn.004024f0
push 0x80004005
call fcn.004024f0
push 0x80004005
call fcn.004024f0
int3