Function at 0x4098e5
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
push 1
mov edi, ecx
pop ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], ebx
call fcn.00409d51
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.00409dd8
mov dword [ebp - 0x28], eax
call fcn.0040a671
mov dword [ebp - 0x24], eax
call fcn.0040a8e4
mov esi, eax
call fcn.0040a7ac
mov dword [ebp - 0x1c], eax
call fcn.0040aa30
test esi, esi
jne 0x409a10
cmp dword [ebp - 0x1c], esi
jne 0x409a10
cmp dword [ebp - 0x24], esi
jne 0x409a10
test eax, eax
jne 0x409a10
push ebx
call fcn.0040acc8
mov ecx, eax
call fcn.0040ad30
mov ecx, edi
call fcn.00409f07
test eax, eax
jne 0x409a10
mov ecx, edi
call fcn.00409ec9
test eax, eax
jne 0x409a10
push 2
call fcn.0040acc8
mov ecx, eax
call fcn.0040ad30
push 0x103
push 0x41659c
mov ecx, edi
call fcn.00409b77
test eax, eax
je 0x409a10
push 3
call fcn.0040acc8
mov ecx, eax
call fcn.0040ad30
push 4
lea eax, [ebp - 4]
pop esi
and dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov ebx, str.Software_se_wdtc
push str.notshowtip
mov edi, 0x80000001
push ebx
push edi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], esi
call dword [0x40d260]
cmp dword [ebp - 0x18], 0
je 0x4099ed
and dword [ebp - 8], 0
push 5
call fcn.0040acc8
mov ecx, eax
call fcn.0040ad30
cmp dword [ebp - 0x20], 0
je 0x409a00
push esi
call fcn.0040acc8
mov ecx, eax
call fcn.0040ad30
mov ecx, dword [ebp - 0x14]
call fcn.00409e5f
test eax, eax
je 0x409a17
push 6
jmp 0x409a25
xor eax, eax
jmp 0x409b70
mov ecx, dword [ebp - 0x14]
call fcn.00409e94
test eax, eax
je 0x409a31
push 7
call fcn.0040acc8
mov ecx, eax
call fcn.0040ad30
mov eax, dword [ebp + 8]
mov ax, word [eax + 6]
cmp ax, 0x31
jb 0x409a7a
cmp ax, 0x33
ja 0x409a7a
mov ecx, dword [ebp - 0x14]
call fcn.0040a196
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx + 6]
sub ecx, 0x30
cmp eax, ecx
jbe 0x409a5e
and dword [ebp - 8], 0
cmp eax, 1
jne 0x409a67
push 8
jmp 0x409a6e
cmp eax, 2
jne 0x409a7a
push 9
call fcn.0040acc8
mov ecx, eax
call fcn.0040ad30
lea eax, [ebp - 4]
and dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push str.ShowTipCount
push ebx
push edi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], esi
call dword [0x40d260]
push 0
push 0x413b04
call fcn.004010f9
mov ecx, eax
call fcn.00401470
push 0
push 0x413afc
mov dword [ebp + 8], eax
call fcn.004010f9
mov ecx, eax
call fcn.00401470
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
cmp ecx, dword [ebp - 0x10]
ja 0x409b56
test eax, eax
jbe 0x409b56
lea eax, [ebp - 4]
and dword [ebp - 0x14], 0
push eax
lea eax, [ebp - 0x14]
and dword [ebp + 8], 0
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 4], esi
push eax
push str.LastTimeCheck
push ebx
push edi
call dword [0x40d260]
lea eax, [ebp + 8]
push eax
call dword [0x40d1e8]
mov eax, dword [ebp + 8]
pop ecx
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
js 0x409b35
mov edx, ecx
imul edx, edx, 0x15180
cmp eax, edx
jg 0x409b35
push 1
push 0
call fcn.0040acc8
mov ecx, eax
call fcn.0040adcc
and dword [ebp - 8], 0
jmp 0x409b56
imul ecx, ecx, 0x15180
cmp eax, ecx
jle 0x409b56
and dword [ebp - 0x10], 0
lea eax, [ebp - 0x10]
push esi
push eax
push esi
push str.ShowTipCount
push ebx
push edi
call dword [0x40d254]
xor eax, eax
cmp dword [0x411d50], eax
jne 0x409b6d
cmp dword [ebp - 0x20], eax
jne 0x409b6a
cmp dword [ebp - 0x28], eax
je 0x409b6d
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret 4