Function at 0x465d64
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x838
mov eax, 0x5e4654
call fcn.0046dcda
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x828]
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x83c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x838], eax
mov eax, dword [ebp + 0x14]
push eax
mov dword [ebp - 0x830], ebx
mov dword [ebp - 0x844], edi
call fcn.004041e0
mov dword [ebp - 4], edi
mov dword [ebp - 0x82c], edi
mov dword [ebp - 0x834], edi
call fcn.00452534
test al, al
je 0x465de1
invalid
lea eax, [ebp - 0x82c]
push eax
push 0x20119
push edi
push str.SoftWare
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x465e25
lea eax, [ebp - 0x828]
mov ecx, ebx
push eax
call fcn.00452e72
push edi
push 1
lea ecx, [ebp - 0x828]
call fcn.0041edb0
mov eax, ebx
jmp 0x466024
call fcn.00452603
test al, al
je 0x465e4b
xchg ebx, eax
mov eax, dword [0x6c0503e3]
insb byte es:[edi], dx
aad 0x1b
cmp cl, bl
test al, 0xc3
dec ebp
aaa
and ecx, eax
sbb eax, 0xceb0aada
invalid
lea eax, [ebp - 0x834]
push eax
push 0x20119
push edi
push dword [ebp - 0x83c]
push dword [ebp - 0x82c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x465e92
push dword [ebp - 0x82c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x830]
lea eax, [ebp - 0x828]
push eax
call fcn.00452e72
push edi
jmp 0x466011
call fcn.0045205a
test al, al
je 0x465ebb
movsb byte es:[edi], byte [esi]
adc dword [edx - 0x512522f5], ebp
shr dword [edi], 0x80
xor esp, ebx
clc
mov word [edx + ecx*2 + 0x36e844f2], ds
push esp
out dx, eax
xlatb
mov al, byte [0x2280b222]
fucomp st(1)
loope 0x465edb
and al, ch
das
invalid
call fcn.004524ef
test al, al
je 0x465ee2
leave
jns 0x465e8c
pop ebx
salc
pop esi
push ebx
or al, 0x76
rcr byte [ecx + 0x71], cl
mov edx, 0x924c4b78
dec esp
lahf
jp 0x465eba
jmp 0x25e3bc23
pop ebp
popfd
and eax, 0xff3309d1
push 0x800
lea eax, [ebp - 0x810]
push edi
push eax
call fcn.00480640
add esp, 0xc
mov dword [ebp - 0x840], 0x400
lea eax, [ebp - 0x840]
push eax
lea eax, [ebp - 0x810]
push eax
push edi
push edi
push dword [ebp - 0x838]
push dword [ebp - 0x834]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
call fcn.0045216e
test al, al
je 0x465f3d
cmp al, 0x64
add bh, byte [ecx]
popal
test al, dl
jge 0x465eb7
jmp 0x465eef
call fcn.004520e4
test al, al
je 0x465f5c
xchg esi, ebp
dec eax
xchg esi, eax
mov byte es:[edx], ah
lahf
dec ebp
out dx, al
mov eax, dword [edx - 0x12fd3bf9]
bound ebx, qword [eax]
sub al, 0xe9
cmp eax, dword [0xf7ccb5ff]
invalid
push dword [ebp - 0x834]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x82c]
call esi
lea eax, [ebp - 0x810]
push eax
call fcn.0048ece7
pop ecx
mov dword [ebp - 0x838], eax
call fcn.004524aa
test al, al
je 0x465f9e
invalid
call fcn.004521f8
test al, al
je 0x465fbe
invalid
call fcn.004520e4
test al, al
je 0x465fe6
int3
cmp dword [ebp - 0x838], 0
mov ecx, dword [ebp - 0x830]
jne 0x466003
lea eax, [ebp - 0x828]
push eax
call fcn.00452e72
jmp 0x46600f
lea eax, [ebp - 0x810]
push eax
call fcn.004041e0
push 0
push 1
lea ecx, [ebp - 0x828]
call fcn.0041edb0
mov eax, dword [ebp - 0x830]
call fcn.0046dc84
ret