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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x348
mov eax, dword [ebp + 8]
mov dword [0x418a2c], eax
lea ecx, [ebp - 0x94]
push ecx
push 0x2001f
push 0
push str.SoftwareBridgewellPageABC
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x408b4e
mov dword [ebp - 0x9c], 0x104
lea edx, [ebp - 0x9c]
push edx
push 0x418b00
lea eax, [ebp - 0x98]
push eax
push 0
push str.pageabc
mov ecx, dword [ebp - 0x94]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edx, dword [ebp - 0x98]
and edx, 2
test edx, edx
je 0x408b41
push 0x104
push 0x418b00
push 0x418b00
call fcn.00408a42
add esp, 0xc
mov eax, dword [ebp - 0x94]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp + 0x10]
mov dword [0x418934], ecx
cmp dword [0x418934], 0
je 0x408c5a
mov edx, dword [0x418934]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4175ac
lea ecx, [ebp - 0x230]
push ecx
call fcn.0040e5de
add esp, 8
mov dword [ebp - 0xa0], eax
push 0x4175b0
mov edx, dword [ebp - 0xa0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x408bc2
push 0x4175b4
mov eax, dword [ebp - 0xa0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x408c5a
mov ecx, dword [ebp - 0xa0]
add ecx, 3
mov dword [ebp - 0xa0], ecx
lea edx, [ebp - 0x234]
push edx
push 0x2001f
push 0
mov eax, dword [ebp - 0xa0]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x408c53
push 0x4000
lea ecx, [ebp - 0x90]
push ecx
push 0x418b00
call dword [sym.imp.KERNEL32.dll_OpenFile]
cmp eax, 0xffffffff
je 0x408c1d
mov dword [ebp - 0x238], 0
jmp 0x408c27
mov dword [ebp - 0x238], 1
push 4
lea edx, [ebp - 0x238]
push edx
push 4
push 0
push str.GrayOutBtn
mov eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x234]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x408ffd
push 0x4000
lea edx, [ebp - 0x90]
push edx
push 0x418b00
call dword [sym.imp.KERNEL32.dll_OpenFile]
cmp eax, 0xffffffff
jne 0x408c7d
xor eax, eax
jmp 0x408ffd
push 0x104
push 0x418d40
mov eax, dword [0x418a2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x418d40
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0x418d40
mov dword [0x418a20], eax
jmp 0x408cb9
mov ecx, dword [0x418a20]
sub ecx, 1
mov dword [0x418a20], ecx
cmp dword [0x418a20], 0x418d40
jbe 0x408cd6
mov edx, dword [0x418a20]
movsx eax, byte [edx - 1]
cmp eax, 0x5c
je 0x408cd6
jmp 0x408caa
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004082d8
add esp, 4
test eax, eax
je 0x408ed5
call fcn.004084a0
mov word [ebp - 0x280], 0xa
lea edx, [ebp - 0x280]
push edx
push 0x1d
call fcn.00408150
add esp, 8
mov eax, dword [0x418a0c]
and eax, 4
test eax, eax
je 0x408d47
mov ecx, dword [ebp - 0x242]
and ecx, 0xffff
and ecx, 2
test ecx, ecx
je 0x408d47
mov byte [ebp - 0x23c], 2
mov byte [ebp - 0x23b], 0
lea edx, [ebp - 0x23c]
push edx
push 0x23
call fcn.00408150
add esp, 8
push str.WebRes.DLL
mov eax, dword [0x418a20]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x418d40
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x4189d8], eax
cmp dword [0x4189d8], 0
jbe 0x408ebc
push str.plkcom32.dll
mov ecx, dword [0x418a20]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x418d40
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x418a28], eax
cmp dword [0x418a28], 0
jbe 0x408e80
push str.Plkcomm_Dispatcher
mov edx, dword [0x418a28]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x41890c], eax
cmp dword [0x41890c], 0
je 0x408e71
mov dword [0x4189e0], 0
mov dword [0x4189f4], 3
push 0x4189e0
call dword [0x41890c]
mov eax, dword [0x4189f4]
mov dword [ebp - 0x288], eax
mov ecx, dword [0x4189f8]
mov dword [0x418d3c], ecx
mov edx, dword [0x418a2c]
push edx
call sub.IMGLIB32.dll_IML_Register
push 0x65
call fcn.00408286
add esp, 4
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x408e40
push 0
push 0x406c8c
push 0
mov eax, dword [ebp - 0x284]
push eax
mov ecx, dword [0x418a2c]
push ecx
call dword [sym.imp.USER32.dll_DialogBoxIndirectParamA]
call fcn.00408821
mov edx, dword [0x418a2c]
push edx
call sub.IMGLIB32.dll_IML_Unregister
mov dword [0x4189e0], 1
mov eax, dword [ebp - 0x288]
mov dword [0x4189f4], eax
push 0x4189e0
call dword [0x41890c]
mov ecx, dword [0x418a28]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x408ead
push 0x64
lea edx, [ebp - 0x2ec]
push edx
push 1
mov eax, dword [0x4189d8]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x10
push 0x418940
lea ecx, [ebp - 0x2ec]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edx, dword [0x4189d8]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x408ed0
push 0x10
push str.Web_Utility
push str.System_is_not_installed_completely_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
call fcn.00408a11
mov eax, dword [0x418934]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [0x418934]
add ecx, eax
mov dword [ebp - 8], ecx
jmp 0x408ef7
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
cmp eax, dword [0x418934]
jbe 0x408f10
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx - 1]
cmp edx, 0x5c
je 0x408f10
jmp 0x408eee
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov byte [ecx], 0
mov edx, dword [0x418934]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [0x418934]
add ecx, eax
mov dword [ebp - 8], ecx
jmp 0x408f42
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
cmp eax, dword [0x418934]
jbe 0x408f5b
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx - 1]
cmp edx, 0x5c
je 0x408f5b
jmp 0x408f39
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov byte [ecx], 0
lea edx, [ebp - 4]
push edx
push 0x2001f
push 0
mov eax, dword [0x418934]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x408ffb
mov dword [ebp - 0x348], 0x50
lea ecx, [ebp - 0x348]
push ecx
lea edx, [ebp - 0x340]
push edx
lea eax, [ebp - 0x344]
push eax
push 0
push str.Name
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea edx, [ebp - 0x340]
push edx
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x2f0], eax
cmp dword [ebp - 0x2f0], 0
je 0x408ff1
push 0
push 0x515
push 0x405
mov eax, dword [ebp - 0x2f0]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov esp, ebp
pop ebp
ret 0x10