Function at 0x42e61e
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xb8
mov eax, 0x4a3a7d
call fcn.0045a4e9
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x80], ecx
lea eax, [ebp - 0x80]
push eax
push 0x20019
push ecx
push str.SYSTEMCurrentControlSetControlSession_ManagerEnvironment
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 4], ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x42e8a3
xor ebx, ebx
push ebx
lea eax, [ebp - 0x71]
mov esi, 0x4c0ee0
mov edi, 0x4c13e4
push eax
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x48], edi
call fcn.00403f50
push ebx
lea eax, [ebp - 0x71]
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x18], edi
call fcn.00403f50
mov edi, 0x400
push edi
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x7c], edi
call fcn.00403020
mov esi, eax
push edi
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.00403020
mov edi, eax
mov ecx, dword [esi]
mov byte [ebp - 4], 4
mov byte [esi + 4], 1
call fcn.004040f0
mov esi, dword [eax]
mov ecx, dword [edi]
mov byte [edi + 4], 1
call fcn.004040f0
lea ecx, [ebp - 0x7c]
push ecx
push esi
lea ecx, [ebp - 0x84]
push ecx
push ebx
jmp 0x42e84e
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x7c]
mov edi, 0x400
cmp ecx, edi
jae 0x42e729
cmp eax, edi
jb 0x42e7c0
inc ecx
inc eax
push eax
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x78], ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.00403020
mov esi, eax
push dword [ebp - 0x78]
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.00403020
mov edi, eax
mov ecx, dword [esi]
mov byte [ebp - 4], 6
mov byte [esi + 4], 1
call fcn.004040f0
mov esi, dword [eax]
mov ecx, dword [edi]
mov byte [edi + 4], 1
call fcn.004040f0
mov ebx, dword [ebp - 0x88]
lea ecx, [ebp - 0x7c]
push ecx
push esi
lea ecx, [ebp - 0x84]
push ecx
push 0
lea ecx, [ebp - 0x78]
push ecx
push dword [eax]
push ebx
push dword [ebp - 0x80]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 5
call fcn.00403cf0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 2
call fcn.00403cf0
mov edi, 0x400
jmp 0x42e7c6
mov ebx, dword [ebp - 0x88]
cmp dword [ebp - 0x84], 2
je 0x42e7d8
cmp dword [ebp - 0x84], 1
jne 0x42e7ef
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x70]
push eax
call fcn.00412b7f
test eax, eax
je 0x42e8c7
push edi
lea eax, [ebp - 0x9c]
inc ebx
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x88], ebx
call fcn.00403020
mov esi, eax
push edi
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.00403020
mov edi, eax
mov byte [esi + 4], 1
mov ecx, dword [esi]
mov byte [ebp - 4], 4
call fcn.004040f0
mov esi, dword [eax]
mov byte [edi + 4], 1
mov ecx, dword [edi]
call fcn.004040f0
lea ecx, [ebp - 0x7c]
push ecx
push esi
lea ecx, [ebp - 0x84]
push ecx
push 0
lea ecx, [ebp - 0x78]
push ecx
push dword [eax]
push ebx
push dword [ebp - 0x80]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov ebx, eax
neg ebx
lea ecx, [ebp - 0xa8]
sbb bl, bl
mov byte [ebp - 4], 3
call fcn.00403cf0
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 2
call fcn.00403cf0
inc bl
jne 0x42e712
lea ecx, [ebp - 0x40]
call fcn.00401ac0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], bl
call fcn.00401ac0
mov ebx, dword [ebp - 0x8c]
push 1
lea eax, [ebp - 0x71]
push eax
push 0x4c0d0c
mov ecx, ebx
call fcn.00402ce0
lea ecx, [ebp - 0x80]
call fcn.0043303c
mov eax, ebx
call fcn.0045a498
ret 8
mov ebx, dword [ebp - 0x8c]
push 0
lea eax, [ebp - 0x40]
push eax
mov ecx, ebx
mov dword [ebx], 0x4c0ee0
mov dword [ebx + 0x28], 0x4c13e4
call fcn.004053a0
lea ecx, [ebp - 0x40]
call fcn.00401ac0
lea ecx, [ebp - 0x70]
call fcn.00401ac0
jmp 0x42e8b5