Function at 0x5e412d
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x454
mov eax, 0x612153
call fcn.004db4be
cmp dword [0x6756e4], 0
je 0x5e414c
xor eax, eax
jmp 0x5e444c
xor ebx, ebx
mov dword [ebp - 0x458], ebx
mov dword [ebp - 0x454], ebx
mov dword [ebp - 0x450], ebx
push 0x20019
push str.SOFTWAREASIO
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x458]
mov dword [ebp - 4], ebx
call fcn.00413668
test eax, eax
je 0x5e418b
mov esi, 0x80004005
jmp 0x5e443f
mov edi, ebx
mov esi, 0x668010
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x200
lea eax, [ebp - 0x214]
mov dword [ebp - 0x44c], edi
push 0
push eax
call fcn.004e0bc0
add esp, 0xc
mov dword [ebp - 0x444], 0x100
lea eax, [ebp - 0x460]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x214]
push eax
push edi
push dword [ebp - 0x458]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x5e442f
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x430], eax
push 0x20019
lea eax, [ebp - 0x214]
push eax
push dword [ebp - 0x458]
lea ecx, [ebp - 0x438]
call fcn.00413668
test eax, eax
jne 0x5e434d
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x43c]
call fcn.0040d2ee
lea eax, [ebp - 0x444]
mov dword [ebp - 0x444], 0x100
push eax
lea eax, [ebp - 0x214]
push eax
push str.CLSID
lea ecx, [ebp - 0x438]
call fcn.004136c4
test eax, eax
jne 0x5e433b
lea eax, [ebp - 0x42c]
push eax
push ecx
lea ecx, [ebp - 0x438]
call fcn.004b87f9
test eax, eax
jne 0x5e433b
cmp dword [ebp - 0x438], eax
je 0x5e4298
push dword [ebp - 0x438]
call ebx
and dword [ebp - 0x438], 0
mov eax, dword [0x668294]
and dword [ebp - 0x434], 0
mov dword [ebp - 0x448], eax
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x448]
push str.CLSID_sInprocServer32
push eax
call fcn.0040cefd
mov esi, dword [ebp - 0x448]
lea ecx, [ebp - 0x438]
add esp, 0xc
push 0x2001f
push esi
push SysReAllocString
call fcn.00413668
test eax, eax
jne 0x5e432a
push 0x208
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.004e0bc0
add esp, 0xc
mov dword [ebp - 0x440], 0x104
lea eax, [ebp - 0x440]
lea ecx, [ebp - 0x438]
push eax
lea eax, [ebp - 0x41c]
push eax
push 0x6349bc
call fcn.004136c4
test eax, eax
je 0x5e4372
lea ecx, [esi - 0xc]
mov esi, 0x668010
cmp ecx, esi
je 0x5e433b
call fcn.00407965
mov ecx, dword [ebp - 0x43c]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x5e434d
call fcn.00407965
mov byte [ebp - 4], 0
cmp dword [ebp - 0x438], 0
je 0x5e4422
push dword [ebp - 0x438]
call ebx
and dword [ebp - 0x438], 0
jmp 0x5e4422
push 0x34
call fcn.004da873
pop ecx
mov ecx, eax
mov dword [ebp - 0x440], eax
call fcn.004b8991
mov edi, eax
mov dword [ebp - 0x440], edi
test edi, edi
je 0x5e43dd
lea eax, [ebp - 0x43c]
mov ecx, edi
push eax
call fcn.0040d242
lea eax, [ebp - 0x41c]
push eax
call fcn.00505bb3
pop ecx
lea ecx, [ebp - 0x41c]
push ecx
push eax
lea ecx, [edi + 4]
call fcn.0040f513
add edi, 8
lea esi, [ebp - 0x42c]
lea eax, [ebp - 0x440]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004b8b1b
mov esi, dword [ebp - 0x448]
lea ecx, [esi - 0xc]
mov esi, 0x668010
cmp ecx, esi
je 0x5e43ee
call fcn.00407965
mov ecx, dword [ebp - 0x43c]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x5e4400
call fcn.00407965
mov byte [ebp - 4], 0
cmp dword [ebp - 0x438], 0
je 0x5e441c
push dword [ebp - 0x438]
call ebx
and dword [ebp - 0x438], 0
mov edi, dword [ebp - 0x44c]
and dword [ebp - 0x434], 0
inc edi
jmp 0x5e4198
xor eax, eax
mov esi, 0x80004002
cmp dword [0x6756e4], eax
cmovne esi, eax
lea ecx, [ebp - 0x458]
call fcn.0041364e
mov eax, esi
call fcn.004db46d
ret