Function at 0x10017d45
Capabilities:
Query or enumerate registry key

Disassembly:
mov eax, 0x1440
call fcn.1001e1d0
mov eax, dword [0x1006a1fc]
xor eax, esp
mov dword [esp + 0x143c], eax
mov eax, dword [esp + 0x1444]
push ebp
push esi
push edi
mov ebp, 0x400
mov dword [esp + 0x44], eax
push ebp
lea eax, [esp + 0x44c]
push 0
push eax
call fcn.10020dd0
add esp, 0xc
push 0x1005438c
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
test eax, eax
je 0x10018007
push ebp
lea ecx, [esp + 0x44c]
push ecx
push eax
call dword [sym.imp.kernel32.dll_GetModuleFileNameA]
lea eax, [esp + 0x448]
push ebp
push eax
call fcn.10034a3c
pop ecx
pop ecx
test eax, eax
je 0x10018007
lea eax, [esp + 0x448]
push str.jvm.dll
push eax
call fcn.10021060
pop ecx
pop ecx
test eax, eax
je 0x10018007
push ebp
lea eax, [esp + 0x84c]
push eax
lea eax, [esp + 0x450]
push eax
call dword [sym.imp.kernel32.dll_GetLongPathNameA]
lea eax, [esp + 0x848]
push ebp
push eax
call fcn.10034a3c
pop ecx
pop ecx
test eax, eax
je 0x10018007
lea eax, [esp + 0x848]
push str._bin
push eax
call fcn.10021060
pop ecx
pop ecx
test eax, eax
je 0x10017e24
mov byte [eax], 0
xor eax, eax
lea ecx, [esp + 0x34]
mov esi, 0x20019
mov dword [esp + 0x34], eax
push esi
push 0x100543a4
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
call fcn.10034a3c
test eax, eax
jne 0x1001803b
push esi
push 0x100543b0
push dword [esp + 0x3c]
lea ecx, [esp + 0x34]
call fcn.10034a3c
test eax, eax
jne 0x1001803b
push esi
push 0x100543bc
push dword [esp + 0x30]
lea ecx, [esp + 0x1c]
call fcn.10034a3c
test eax, eax
jne 0x10017fe3
push ebp
xor edi, edi
mov dword [esp + 0x10], ebp
lea eax, [esp + 0x4c]
push edi
push eax
call fcn.10020dd0
mov ebp, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
lea eax, [esp + 0x18]
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push eax
lea eax, [esp + 0x5c]
push eax
push ecx
push dword [esp + 0x2c]
call ebp
test eax, eax
jne 0x10017fe3
xor esi, esi
inc esi
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0xc], eax
jbe 0x10017fbb
cmp byte [esp + ecx + 0x48], 0x2e
jne 0x10017f04
inc eax
cmp eax, esi
jg 0x10017f13
inc ecx
cmp ecx, dword [esp + 0xc]
jb 0x10017ef8
cmp eax, esi
jle 0x10017fbb
push 3
lea eax, [esp + 0x4c]
push 0x100543d8
push eax
call fcn.100233a0
add esp, 0xc
test eax, eax
js 0x10017fbb
push 0x20019
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x18]
lea ecx, [esp + 0x28]
call fcn.10034a3c
test eax, eax
jne 0x10017fbb
mov eax, 0x400
push eax
mov dword [esp + 0x44], eax
lea eax, [esp + 0xc4c]
push 0
push eax
call fcn.10020dd0
add esp, 0xc
lea eax, [esp + 0x40]
lea ecx, [esp + 0x1c]
push eax
lea eax, [esp + 0xc4c]
push eax
push 0x100543dc
call fcn.10034a3c
test eax, eax
jne 0x10017fbb
push 0x400
lea eax, [esp + 0x104c]
push eax
lea eax, [esp + 0xc50]
push eax
call dword [sym.imp.kernel32.dll_GetLongPathNameA]
lea eax, [esp + 0x848]
push eax
lea eax, [esp + 0x104c]
push eax
call fcn.10034a3c
pop ecx
pop ecx
test eax, eax
je 0x10018021
xor eax, eax
mov dword [esp + 0xc], 0x400
push eax
push eax
push eax
push eax
lea eax, [esp + 0x1c]
inc edi
push eax
lea eax, [esp + 0x5c]
push eax
push edi
push dword [esp + 0x2c]
call ebp
test eax, eax
je 0x10017eea
lea ecx, [esp + 0x1c]
call fcn.10003fa0
lea ecx, [esp + 0x10]
call fcn.10003fa0
lea ecx, [esp + 0x28]
call fcn.10003fa0
lea ecx, [esp + 0x34]
call fcn.10003fa0
xor eax, eax
mov ecx, dword [esp + 0x1448]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.1001df6b
add esp, 0x1440
ret
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x1458]
push dword [esp + 0x4c]
call fcn.10034a3c
add esp, 0xc
jmp 0x1001803d
xor esi, esi
lea ecx, [esp + 0x1c]
call fcn.10003fa0
lea ecx, [esp + 0x10]
call fcn.10003fa0
lea ecx, [esp + 0x28]
call fcn.10003fa0
lea ecx, [esp + 0x34]
call fcn.10003fa0
mov eax, esi
jmp 0x10018009