Function at 0x452b63
Capabilities:
Print debug messages
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffee0
mov dword [ebp - 4], 0x24
xor eax, eax
mov dword [ebp - 0xc], eax
xor edx, edx
mov dword [ebp - 0x10], edx
xor ecx, ecx
mov dword [ebp - 0x14], ecx
xor eax, eax
mov dword [ebp - 0x18], eax
xor edx, edx
mov dword [ebp - 0x1c], edx
mov ecx, dword [0x4637e8]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp + 8]
push dword [eax + 8]
mov edx, dword [ebp + 8]
push dword [edx + 4]
mov ecx, dword [ebp + 8]
push dword [ecx]
push 0x465461
lea eax, [ebp - 0x120]
push eax
call fcn.00451a80
add esp, 0x14
lea edx, [ebp - 0x120]
push edx
call sub.kernel32.dll_OutputDebugStringA
xor ecx, ecx
mov dword [0x46a450], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 1
jbe 0x452be8
mov dword [0x46a450], 0xc000f102
xor eax, eax
jmp 0x452dd1
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 4]
jae 0x452bfa
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov dword [ebp - 4], edx
push dword [ebp - 4]
push dword [ebp + 8]
push 0x46379c
call fcn.0045197a
add esp, 0xc
xor ecx, ecx
mov dword [0x4637bc], ecx
cmp dword [0x4637c0], 0
jne 0x452c42
xor eax, eax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
mov ecx, edx
shl edx, 3
sub edx, ecx
xor eax, eax
mov dword [edx*4 + 0x468850], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x100
jl 0x452c23
xor edx, edx
mov dword [0x46a450], edx
cmp dword [0x4637a4], 0xffffffff
jne 0x452c5d
xor ecx, ecx
mov dword [0x4637c0], ecx
jmp 0x452c67
mov dword [0x4637c0], 1
lea eax, [ebp - 0x10]
push eax
push 0xf003f
push 0
push 0x46549a
push 0x80000000
call sub.advapi32.dll_RegOpenKeyExA_1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x452d52
mov dword [0x4637d0], 0x3c
mov dword [0x4637d4], 0x14
lea edx, [ebp - 0x10]
push edx
push 0xf003f
push 0
push 0x4654c7
push 0x80000000
call sub.advapi32.dll_RegOpenKeyExA_1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x452cde
mov dword [0x4637d0], 0x3c
mov dword [0x4637d4], 0x14
jmp 0x452dbe
lea ecx, [ebp - 0x14]
push ecx
push 0x4654cd
push dword [ebp - 0x10]
call sub.advapi32.dll_RegCreateKeyA
mov dword [ebp - 0xc], eax
mov byte [ebp - 0x20], 0x3c
push 4
lea eax, [ebp - 0x20]
push eax
push 4
push 0
push 0x4654f5
push dword [ebp - 0x14]
call sub.advapi32.dll_RegSetValueExA
mov dword [ebp - 0xc], eax
mov byte [ebp - 0x20], 0x14
push 4
lea edx, [ebp - 0x20]
push edx
push 4
push 0
push 0x4654fb
push dword [ebp - 0x14]
call sub.advapi32.dll_RegSetValueExA
mov dword [ebp - 0xc], eax
mov dword [0x4637d0], 0x3c
mov dword [0x4637d4], 0x14
cmp dword [ebp - 0x14], 0
je 0x452dbe
push dword [ebp - 0x14]
call sub.advapi32.dll_RegCloseKey_1
jmp 0x452dbe
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x1c], 4
lea ecx, [ebp - 0x1c]
push ecx
push 0x4637d0
lea eax, [ebp - 0x18]
push eax
push 0
push 0x465506
push dword [ebp - 0x10]
call sub.advapi32.dll_RegQueryValueExA_1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x452d8f
mov dword [0x4637d0], 0x3c
lea edx, [ebp - 0x1c]
push edx
push 0x4637d4
lea ecx, [ebp - 0x18]
push ecx
push 0
push 0x46550c
push dword [ebp - 0x10]
call sub.advapi32.dll_RegQueryValueExA_1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x452dbe
mov dword [0x4637d4], 0x14
cmp dword [ebp - 0x10], 0
je 0x452dcc
push dword [ebp - 0x10]
call sub.advapi32.dll_RegCloseKey_1
mov eax, 1
mov esp, ebp
pop ebp
ret 4