Function at 0x4253bf
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x560
mov eax, 0x5a2e63
call fcn.0058141a
mov edi, ecx
mov dword [ebp - 0x544], edi
mov edx, 0x5e60c4
lea ecx, [ebp - 0x528]
call fcn.00429b1a
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [eax + 0x14], 8
jb 0x4253f3
mov eax, dword [eax]
push eax
mov ecx, 0x6b5ae0
call fcn.00406b7c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x528]
xor esi, esi
push ebx
inc esi
push esi
call fcn.00403bb4
mov edx, 0x5e60e8
lea ecx, [ebp - 0x528]
call fcn.00429b1a
mov dword [ebp - 4], esi
cmp dword [eax + 0x14], 8
jb 0x42542d
mov eax, dword [eax]
push eax
mov ecx, 0x6b5ae4
call fcn.00406b7c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x528]
push ebx
push esi
call fcn.00403bb4
mov edx, 0x5e6108
lea ecx, [ebp - 0x528]
call fcn.00429b1a
mov dword [ebp - 4], 2
cmp dword [eax + 0x14], 8
jb 0x425468
mov eax, dword [eax]
push eax
mov ecx, 0x6b5ae8
call fcn.00406b7c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x528]
push ebx
push esi
call fcn.00403bb4
push ebx
push ebx
push 0x1009
push dword [edi + 0x170]
mov dword [ebp - 0x550], ebx
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x210]
mov dword [ebp - 0x548], ebx
push str.SOFTWAREStardockMultiplicity2
push eax
call fcn.00589e60
lea eax, [ebp - 0x210]
push 0x5e60a0
push eax
call fcn.00589e70
lea eax, [ebp - 0x210]
push 0x5e6128
push eax
call fcn.00589e70
add esp, 0x18
lea eax, [ebp - 0x548]
push eax
lea eax, [ebp - 0x210]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
push 0xff
lea eax, [ebp - 0x110]
push eax
push ebx
push dword [ebp - 0x548]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
jmp 0x42581a
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x56c]
call fcn.00403e54
lea eax, [ebp - 0x110]
mov dword [ebp - 4], 3
push eax
call fcn.0058afab
push 0xff
mov ebx, eax
lea eax, [ebp - 0x310]
push 0
push eax
call fcn.005838b0
add esp, 0x10
lea eax, [ebp - 0x310]
mov edx, str.TargetMachine
lea ecx, [ebp - 0x110]
push 0x5e6128
push 0xff
push eax
push 0x5e66b6
call fcn.00434d68
cmp byte [ebp - 0x310], 0
je 0x4257ee
call fcn.0044a3d6
push eax
lea ecx, [ebp - 0x54c]
call fcn.00403f59
mov byte [ebp - 4], 4
cmp ebx, 1
je 0x4255e5
cmp ebx, 2
je 0x4255e5
mov eax, ebx
lea esi, [edi + 0x380]
shr eax, 0x10
mov ecx, esi
push eax
push ebx
call fcn.00403b45
lea eax, [ebp - 0x564]
mov ecx, esi
push eax
call fcn.00447baf
push eax
lea ecx, [ebp - 0x54c]
mov byte [ebp - 4], 5
call fcn.00406c84
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x564]
lea ecx, [ecx - 0x10]
call fcn.00404048
jmp 0x4255f8
lea eax, [ebx*4 + 0x6b5ae0]
push eax
lea ecx, [ebp - 0x54c]
call fcn.00406c84
mov esi, dword [ebp - 0x54c]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push esi
push dword [ebp - 0x550]
lea ecx, [edi + 0x150]
push 1
call fcn.00448001
xor edx, edx
mov dword [ebp - 0x554], eax
test eax, eax
mov ecx, eax
push 0x5e6128
cmovs ecx, edx
xor edi, edi
cmp ecx, 0xff
push edx
cmovle edi, ecx
mov edx, str.Disabled
lea ecx, [ebp - 0x110]
call fcn.00434e91
dec eax
lea ecx, [ebp - 0x55c]
neg eax
sbb eax, eax
inc eax
mov dword [edi*4 + 0x623ad0], eax
lea eax, [ebp - 0x310]
push eax
call fcn.00403e54
mov ecx, dword [ebp - 0x544]
mov edi, dword [ebp - 0x554]
mov byte [ebp - 4], 6
push dword [ebp - 0x55c]
lea ecx, [ecx + 0x150]
push 1
push edi
call fcn.0044822b
push 0x5e6128
push 0
mov edx, str.XCoord
lea ecx, [ebp - 0x110]
call fcn.00434e91
push 0x5e6128
push 0
mov edx, str.YCoord
mov dword [ebp - 0x568], eax
lea ecx, [ebp - 0x110]
call fcn.00434e91
push 0x5e6128
push 1
mov edx, str.UseOldPosition
mov dword [ebp - 0x554], eax
lea ecx, [ebp - 0x110]
call fcn.00434e91
cmp eax, 1
jne 0x42572a
mov edx, 0x5f0fd0
lea ecx, [ebp - 0x528]
call fcn.00429b1a
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 8
jb 0x4256fd
mov eax, dword [eax]
mov ecx, dword [ebp - 0x544]
push eax
push 2
push edi
lea ecx, [ecx + 0x150]
call fcn.0044822b
push 0
push 1
lea ecx, [ebp - 0x528]
mov byte [ebp - 4], 6
call fcn.00403bb4
jmp 0x4257b0
mov edx, str.Coordinates__d___d
lea ecx, [ebp - 0x540]
call fcn.00429b1a
cmp dword [eax + 0x14], 8
jb 0x425742
mov eax, dword [eax]
push dword [ebp - 0x554]
push dword [ebp - 0x568]
push eax
lea eax, [ebp - 0x510]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea ecx, [ebp - 0x540]
push 0
push 1
call fcn.00403bb4
lea eax, [ebp - 0x510]
push eax
lea ecx, [ebp - 0x558]
call fcn.0040820c
mov ecx, dword [ebp - 0x544]
mov byte [ebp - 4], 8
push dword [ebp - 0x558]
push 2
push edi
lea ecx, [ecx + 0x150]
call fcn.0044822b
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x558]
lea ecx, [ecx - 0x10]
call fcn.00404048
push ebx
xor eax, eax
push eax
push eax
push eax
push eax
push 4
push eax
push edi
mov edi, dword [ebp - 0x544]
lea ecx, [edi + 0x150]
call fcn.00448182
mov ecx, dword [ebp - 0x55c]
inc dword [ebp - 0x550]
lea ecx, [ecx - 0x10]
call fcn.00404048
lea ecx, [esi - 0x10]
call fcn.00404048
mov esi, dword [ebp - 0x560]
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x56c]
lea ecx, [ecx - 0x10]
call fcn.00404048
push 0xff
lea eax, [ebp - 0x110]
push eax
push esi
push dword [ebp - 0x548]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
inc esi
mov dword [ebp - 0x560], esi
test eax, eax
je 0x425510
push dword [ebp - 0x548]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.005813c4
ret