Function at 0x10017999
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
lea ebp, [esp - 0x13c4]
mov eax, 0x1444
call fcn.1001e5c0
mov eax, dword [0x10047578]
xor eax, ebp
mov dword [ebp + 0x13c0], eax
mov eax, dword [ebp + 0x13cc]
push ebx
push edi
mov edi, 0x3ff
xor ebx, ebx
push edi
mov dword [ebp - 0x7c], eax
lea eax, [ebp + 0xbc1]
push ebx
push eax
mov byte [ebp + 0xbc0], bl
call fcn.1001d760
add esp, 0xc
push 0x1003b8f0
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
cmp eax, ebx
jne 0x100179f7
xor eax, eax
jmp 0x10017c66
push esi
mov esi, 0x400
push esi
lea ecx, [ebp + 0xbc0]
push ecx
push eax
call dword [sym.imp.kernel32.dll_GetModuleFileNameA]
lea eax, [ebp + 0xbc0]
push esi
push eax
call fcn.1001f6e0
pop ecx
pop ecx
test eax, eax
je 0x10017c63
lea eax, [ebp + 0xbc0]
push str.jvm.dll
push eax
call fcn.1001e6c0
pop ecx
pop ecx
test eax, eax
je 0x10017c63
push esi
lea eax, [ebp + 0x7c0]
push eax
lea eax, [ebp + 0xbc0]
push eax
call dword [sym.imp.kernel32.dll_GetLongPathNameA]
lea eax, [ebp + 0x7c0]
push esi
push eax
call fcn.1001f6e0
pop ecx
pop ecx
test eax, eax
je 0x10017c63
lea eax, [ebp + 0x7c0]
push str._bin
push eax
call fcn.1001e6c0
pop ecx
pop ecx
cmp eax, ebx
je 0x10017a83
mov byte [eax], bl
push 0x20019
push 0x1003b908
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
call fcn.1001f6e0
test eax, eax
jne 0x10017c43
push 0x20019
push 0x1003b914
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x60]
call fcn.1001f6e0
test eax, eax
je 0x10017b06
lea ecx, [ebp - 0x78]
call fcn.1000135a
lea ecx, [ebp - 0x54]
call fcn.1000135a
lea ecx, [ebp - 0x60]
call fcn.1000135a
lea ecx, [ebp - 0x6c]
call fcn.1000135a
mov eax, ebx
jmp 0x10017c65
push 0x20019
push 0x1003b920
push dword [ebp - 0x60]
lea ecx, [ebp - 0x54]
call fcn.1001f6e0
test eax, eax
jne 0x10017c43
push edi
lea eax, [ebp + 0xfc1]
push ebx
push eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], esi
mov byte [ebp + 0xfc0], bl
call fcn.1001d760
mov edi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
add esp, 0xc
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 0xfc0]
push eax
push ebx
jmp 0x10017c36
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x44], ebx
jbe 0x10017c1e
cmp byte [ebp + eax + 0xfc0], 0x2e
jne 0x10017b78
inc ecx
cmp ecx, 1
jg 0x10017b87
inc eax
cmp eax, dword [ebp - 0x44]
jb 0x10017b68
cmp ecx, 1
jle 0x10017c1e
push 3
lea eax, [ebp + 0xfc0]
push 0x1003b93c
push eax
call fcn.1001f6e0
add esp, 0xc
test eax, eax
js 0x10017c1e
push 0x20019
lea eax, [ebp + 0xfc0]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x78]
call fcn.1001f6e0
test eax, eax
jne 0x10017c1e
push 0x3ff
lea eax, [ebp + 0x3c1]
push ebx
push eax
mov dword [ebp - 0x80], esi
mov byte [ebp + 0x3c0], bl
call fcn.1001d760
add esp, 0xc
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp + 0x3c0]
push eax
push 0x1003b940
lea ecx, [ebp - 0x78]
call fcn.1001f6e0
test eax, eax
jne 0x10017c1e
push esi
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp + 0x3c0]
push eax
call dword [sym.imp.kernel32.dll_GetLongPathNameA]
lea eax, [ebp + 0x7c0]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.1001f6e0
pop ecx
pop ecx
test eax, eax
je 0x10017c7d
inc dword [ebp - 0x48]
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 0xfc0]
push eax
push dword [ebp - 0x48]
mov dword [ebp - 0x44], esi
push dword [ebp - 0x54]
call edi
test eax, eax
je 0x10017b5b
lea ecx, [ebp - 0x78]
call fcn.1000135a
lea ecx, [ebp - 0x54]
call fcn.1000135a
lea ecx, [ebp - 0x60]
call fcn.1000135a
lea ecx, [ebp - 0x6c]
call fcn.1000135a
xor eax, eax
pop esi
mov ecx, dword [ebp + 0x13c0]
pop edi
xor ecx, ebp
pop ebx
call fcn.1001d742
add ebp, 0x13c4
leave
ret
lea eax, [ebp + 0xfc0]
push eax
push dword [ebp + 0x13d0]
push dword [ebp - 0x7c]
call fcn.1001f6e0
xor ebx, ebx
add esp, 0xc
inc ebx
jmp 0x10017adf