Function at 0x427331
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xb8
mov eax, 0x4654fb
call fcn.0043f429
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 0x4275b6
xor ebx, ebx
push ebx
lea eax, [ebp - 0x71]
mov esi, 0x47602c
mov edi, 0x46c7e0
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.004033a0
push ebx
lea eax, [ebp - 0x71]
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x18], edi
call fcn.004033a0
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.00402660
mov esi, eax
push edi
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.00402660
mov edi, eax
mov ecx, dword [esi]
mov byte [ebp - 4], 4
mov byte [esi + 4], 1
call fcn.004034e0
mov esi, dword [eax]
mov ecx, dword [edi]
mov byte [edi + 4], 1
call fcn.004034e0
lea ecx, [ebp - 0x7c]
push ecx
push esi
lea ecx, [ebp - 0x84]
push ecx
push ebx
jmp 0x427561
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x7c]
mov edi, 0x400
cmp ecx, edi
jae 0x42743c
cmp eax, edi
jb 0x4274d3
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.00402660
mov esi, eax
push dword [ebp - 0x78]
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.00402660
mov edi, eax
mov ecx, dword [esi]
mov byte [ebp - 4], 6
mov byte [esi + 4], 1
call fcn.004034e0
mov esi, dword [eax]
mov ecx, dword [edi]
mov byte [edi + 4], 1
call fcn.004034e0
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.00403240
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 2
call fcn.00403240
mov edi, 0x400
jmp 0x4274d9
mov ebx, dword [ebp - 0x88]
cmp dword [ebp - 0x84], 2
je 0x4274eb
cmp dword [ebp - 0x84], 1
jne 0x427502
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x70]
push eax
call fcn.0040f655
test eax, eax
je 0x4275da
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.00402660
mov esi, eax
push edi
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.00402660
mov edi, eax
mov byte [esi + 4], 1
mov ecx, dword [esi]
mov byte [ebp - 4], 4
call fcn.004034e0
mov esi, dword [eax]
mov byte [edi + 4], 1
mov ecx, dword [edi]
call fcn.004034e0
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.00403240
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 2
call fcn.00403240
inc bl
jne 0x427425
lea ecx, [ebp - 0x40]
call fcn.00401500
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], bl
call fcn.00401500
mov ebx, dword [ebp - 0x8c]
push 1
lea eax, [ebp - 0x71]
push eax
push 0x475ec0
mov ecx, ebx
call fcn.00402330
lea ecx, [ebp - 0x80]
call fcn.0042b252
mov eax, ebx
call fcn.0043f3d8
ret 8
mov ebx, dword [ebp - 0x8c]
push 0
lea eax, [ebp - 0x40]
push eax
mov ecx, ebx
mov dword [ebx], 0x47602c
mov dword [ebx + 0x28], 0x46c7e0
call fcn.004043d0
lea ecx, [ebp - 0x40]
call fcn.00401500
lea ecx, [ebp - 0x70]
call fcn.00401500
jmp 0x4275c8