Function at 0x6d5bcce0
Capabilities:
Query or enumerate registry key

Disassembly:
mov eax, 0x1844
call fcn.6d5ca7f0
mov eax, dword [0x6d5e2a5c]
xor eax, esp
mov dword [esp + 0x1840], eax
mov eax, dword [esp + 0x1848]
push ebx
mov ebx, dword [esp + 0x1850]
push edi
xor edi, edi
push 0x7fe
lea edx, [esp + 0x4e]
xor ecx, ecx
push edi
push edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov word [esp + 0x54], cx
call sub.MSVCR100.dll_memset
push 0x7fe
lea ecx, [esp + 0x105a]
xor eax, eax
push edi
push ecx
mov word [esp + 0x1060], ax
call sub.MSVCR100.dll_memset
add esp, 0x18
push 0x20019
push str.Software
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x3c]
mov dword [esp + 0x14], edi
call fcn.6d593190
test eax, eax
je 0x6d5bcdc1
mov eax, dword [esp + 0x30]
cmp eax, edi
je 0x6d5bcda8
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1840]
xor ecx, esp
call fcn.6d5ca6ac
add esp, 0x1844
ret
push ebp
mov ebp, dword [esp + 0x34]
push esi
push 0x20019
push str.JavaSoft
push ebp
lea ecx, [esp + 0x38]
call fcn.6d593190
test eax, eax
je 0x6d5bce00
mov eax, dword [esp + 0x2c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, edi
je 0x6d5bcdf0
push eax
call esi
cmp ebp, edi
je 0x6d5bd08a
push ebp
call esi
jmp 0x6d5bd08a
mov esi, dword [esp + 0x2c]
push 0x20019
push str.Java_Runtime_Environment
push esi
lea ecx, [esp + 0x20]
call fcn.6d593190
test eax, eax
je 0x6d5bce44
mov eax, dword [esp + 0x14]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, edi
je 0x6d5bce2d
push eax
call ebx
cmp esi, edi
je 0x6d5bce34
push esi
call ebx
cmp ebp, edi
je 0x6d5bd08a
push ebp
call ebx
jmp 0x6d5bd08a
mov edx, dword [esp + 0x1860]
lea eax, [esp + 0x4c]
push eax
push str.CurrentVersion
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x58], edx
call fcn.6d5ba8b0
test eax, eax
je 0x6d5bce93
mov eax, dword [esp + 0x14]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, edi
je 0x6d5bce7c
push eax
call ebx
cmp esi, edi
je 0x6d5bce83
push esi
call ebx
cmp ebp, edi
je 0x6d5bd08a
push ebp
call ebx
jmp 0x6d5bd08a
mov esi, dword [esp + 0x14]
push 0x20019
lea edx, [esp + 0x54]
push edx
push esi
lea ecx, [esp + 0x2c]
call fcn.6d593190
test eax, eax
jne 0x6d5bcee1
lea eax, [esp + 0x1860]
push eax
push str.JavaHome
push ebx
lea ecx, [esp + 0x2c]
call fcn.6d5ba8b0
test eax, eax
jne 0x6d5bcee1
push ebx
call fcn.6d5bab20
add esp, 4
test eax, eax
je 0x6d5bcee1
cmp dword [esp + 0x44], edi
je 0x6d5bd03b
push 0x7fe
lea edx, [esp + 0x856]
xor ecx, ecx
push edi
push edx
mov word [esp + 0x85c], cx
call sub.MSVCR100.dll_memset
mov ebx, dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
add esp, 0xc
push 0x400
lea eax, [esp + 0x54]
push eax
push edi
push esi
call ebx
mov ebp, dword [sym.imp.USER32.dll_wsprintfW]
test eax, eax
jne 0x6d5bcfec
lea ecx, [esp + 0x850]
push ecx
lea edx, [esp + 0x54]
push edx
mov dword [esp + 0x1868], 0x400
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
jle 0x6d5bcfd2
push 0x20019
lea eax, [esp + 0x54]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.6d593190
test eax, eax
jne 0x6d5bcfce
lea ecx, [esp + 0x1860]
push ecx
push str.JavaHome
lea edx, [esp + 0x1058]
push edx
lea ecx, [esp + 0x2c]
call fcn.6d5ba8b0
test eax, eax
jne 0x6d5bcfce
cmp dword [esp + 0x1860], edi
jbe 0x6d5bcfce
lea eax, [esp + 0x1050]
push eax
call fcn.6d5bab20
add esp, 4
test eax, eax
je 0x6d5bcfce
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x854]
push 0x6d5cfa40
push edx
call ebp
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x105c]
push eax
push 0x6d5cfa40
push ecx
call ebp
add esp, 0x18
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
push 0x400
lea edx, [esp + 0x54]
push edx
push eax
push esi
call ebx
test eax, eax
je 0x6d5bcf23
lea eax, [esp + 0x850]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x6d5bcff6
sub eax, edx
sar eax, 1
je 0x6d5bd066
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x850]
push ecx
push 0x6d5cfa40
push edx
call ebp
mov eax, dword [esp + 0x54]
add esp, 0xc
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x6d5bd025
sub eax, edx
sar eax, 1
mov dword [esp + 0x1860], eax
lea ecx, [esp + 0x20]
call fcn.6d593ce0
lea ecx, [esp + 0x14]
call fcn.6d593ce0
lea ecx, [esp + 0x2c]
call fcn.6d593ce0
lea ecx, [esp + 0x38]
call fcn.6d593ce0
mov eax, 1
jmp 0x6d5bd08c
lea ecx, [esp + 0x20]
call fcn.6d593ce0
lea ecx, [esp + 0x14]
call fcn.6d593ce0
lea ecx, [esp + 0x2c]
call fcn.6d593ce0
lea ecx, [esp + 0x38]
call fcn.6d593ce0
xor eax, eax
mov ecx, dword [esp + 0x1850]
pop esi
pop ebp
pop edi
pop ebx
xor ecx, esp
call fcn.6d5ca6ac
add esp, 0x1844
ret