Function at 0x45ae70
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x483e8b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x708
push ebx
push esi
push edi
lea eax, [ebp - 0x114]
mov dword [ebp - 0x10], esp
xor esi, esi
push eax
mov dword [ebp - 4], esi
call fcn.004297f0
add esp, 4
lea ecx, [ebp - 0x4c]
push ecx
call fcn.004038a0
add esp, 4
mov byte [ebp - 0x214], 0
mov dword [0x65cd50], esi
call fcn.0045ad30
push 1
lea ecx, [ebp - 0x94]
call fcn.00479b69
mov edx, dword [0x4853bc]
lea ecx, [ebp - 0x94]
push edx
push 8
push str.c:endpcache_regMonitor_log.txt
mov byte [ebp - 4], 1
call fcn.00479c3d
mov dword [ebp - 0x1c], esi
xor eax, eax
mov ecx, dword [0x65cd50]
mov dword [ebp - 0x18], eax
cmp eax, ecx
jge 0x45b123
shl eax, 8
mov byte [ebp - 0x714], 0
lea eax, [eax + 0x6309bc]
mov dword [ebp - 0x2c], eax
push eax
push str.CLSID
lea eax, [ebp - 0x714]
push str._s_sInprocServer32
push eax
call fcn.0047a8f8
add esp, 0x10
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x714]
push ecx
push 0x20019
push 0
push edx
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x514]
push eax
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x28]
push ecx
push edx
push 0
push 0
push eax
call esi
test eax, eax
je 0x45af90
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x514]
push ecx
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x28]
push edx
push eax
push 0
push 0
push ecx
call esi
test eax, eax
jne 0x45afb9
lea edi, [ebp - 0x514]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x214]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edi, [ebp - 0x214]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x45b11a
lea edx, [ebp - 0x214]
push edx
call fcn.00483565
mov ebx, eax
lea eax, [ebp - 0x24]
push eax
push ebx
mov byte [ebp - 0x414], 0
mov dword [ebp - 0x24], 0
call fcn.0044f590
add esp, 0xc
mov esi, eax
push 0x491c3c
push esi
call fcn.0047bec0
push 0x491c80
push esi
mov edi, eax
call fcn.0047bec0
add esp, 0x10
test edi, edi
jne 0x45b0cc
test eax, eax
jne 0x45b0cc
push esi
call fcn.00483565
push eax
lea ecx, [ebp - 0x4c]
push ebx
lea edx, [ebp - 0x114]
push ecx
push edx
lea eax, [ebp - 0x414]
push str._s__s_
push eax
call fcn.0047a8f8
lea ecx, [ebp - 0x414]
push ecx
call fcn.00403680
add esp, 0x20
lea edx, [ebp - 0x414]
lea ecx, [ebp - 0x88]
push edx
call fcn.00479641
push 0xa
mov ecx, eax
call fcn.00479456
push 0x401430
mov ecx, eax
call fcn.00401410
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x614]
push eax
push str.CLSID
push str.HKCR_s_sInprocServer32
push ecx
mov byte [ebp - 0x614], 0
call fcn.0047a8f8
lea edx, [ebp - 0x614]
push edx
call fcn.0042bb60
mov eax, dword [ebp - 0x18]
add esp, 0x14
mov dword [ebp - 0x1c], 1
inc eax
jmp 0x45aef5
push esi
call fcn.00483565
push eax
lea eax, [ebp - 0x4c]
push ebx
lea ecx, [ebp - 0x114]
push eax
push ecx
lea edx, [ebp - 0x414]
push str._s__s_
push edx
call fcn.0047a8f8
add esp, 0x1c
lea eax, [ebp - 0x414]
lea ecx, [ebp - 0x88]
push eax
call fcn.00479641
push 0xa
mov ecx, eax
call fcn.00479456
push 0x401430
mov ecx, eax
call fcn.00401410
mov eax, dword [ebp - 0x18]
inc eax
jmp 0x45aef5
lea ecx, [ebp - 0x94]
call fcn.00479c84
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x45b16c
lea ecx, [ebp - 0x4c]
push 0x4a0120
lea edx, [ebp - 0x114]
push ecx
push edx
lea eax, [ebp - 0x414]
push str._s__s___s
push eax
mov byte [ebp - 0x414], 0
call fcn.0047a8f8
lea ecx, [ebp - 0x414]
push ecx
call fcn.00403680
add esp, 0x18
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0
call fcn.00479c2a
lea ecx, [ebp - 0x80]
call fcn.00479b11
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov ax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret