Function at 0x425d00
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x544
push ebx
push ebp
mov ebp, dword [esp + 0x550]
push esi
xor esi, esi
push edi
cmp ebp, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], esi
je 0x425fc9
mov edx, dword [esp + 0x55c]
cmp edx, esi
je 0x425fc9
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x26
jne 0x425fc9
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x26
jne 0x425fc9
mov ecx, 0x7d
lea edi, [esp + 0x360]
rep stosd dword es:[edi], eax
mov ecx, 0x5a
lea edi, [esp + 0x1f4]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x24]
push 0x64
push eax
mov dword [esp + 0x24], 0x1f4
call fcn.00424a00
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], esi
cmp ecx, 0x26
jne 0x425fc9
mov ecx, 0x5a
lea edi, [esp + 0x88]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x88]
push 0x16b
push ecx
push ebp
stosb byte es:[edi], al
call fcn.00425070
add esp, 0xc
test eax, eax
jne 0x425fc9
call fcn.00425370
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea edx, [esp + 0x14]
push edx
push 0x20019
lea eax, [esp + 0x90]
push esi
push eax
push 0x80000000
call ebx
test eax, eax
jne 0x425fc9
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x425fc9
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push eax
call esi
call fcn.00425370
mov edx, dword [esp + 0x55c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], 0
cmp ecx, 0x26
jne 0x425fc9
mov ecx, 0x5a
lea edi, [esp + 0x88]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x88]
push 0x16b
push ecx
push edx
stosb byte es:[edi], al
call fcn.004251f0
add esp, 0xc
test eax, eax
jne 0x425fc9
call fcn.00425370
lea edx, [esp + 0x14]
lea eax, [esp + 0x88]
push edx
push 0x20019
push 0
push eax
push 0x80000000
call ebx
test eax, eax
jne 0x425fc9
mov eax, dword [esp + 0x14]
test eax, eax
je 0x425fc9
push eax
call esi
call fcn.00425370
lea ecx, [esp + 0x1f4]
push 0x16b
push ecx
push ebp
call fcn.00425070
add esp, 0xc
test eax, eax
jne 0x425fc9
call fcn.00425370
lea edx, [esp + 0x10]
lea eax, [esp + 0x1f4]
push edx
push 0x20019
push 0
push eax
push 0x80000000
call ebx
test eax, eax
jne 0x425fc9
mov eax, dword [esp + 0x10]
test eax, eax
je 0x425fc9
call fcn.00425370
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push ecx
push 0x20019
lea edx, [esp + 0x2c]
push 0
push edx
push eax
call ebx
test eax, eax
jne 0x425fc2
mov eax, dword [esp + 0x18]
test eax, eax
je 0x425fc2
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x360]
push ecx
lea ecx, [esp + 0x24]
push edx
push ecx
push 0
push 0x444d84
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x425fa7
cmp dword [esp + 0x20], 1
jne 0x425fa7
cmp dword [esp + 0x1c], 0x27
jne 0x425fa7
mov edx, dword [esp + 0x18]
push edx
call esi
mov eax, dword [esp + 0x10]
push eax
call esi
call fcn.00425370
mov ecx, dword [esp + 0x55c]
push 0x1f4
lea edx, [esp + 0x364]
push ecx
push edx
call fcn.00430d40
add esp, 0xc
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
inc eax
pop ebx
add esp, 0x544
ret
mov eax, dword [esp + 0x18]
push eax
call esi
mov ecx, dword [esp + 0x10]
push ecx
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x544
ret
mov edx, dword [esp + 0x10]
push edx
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x544
ret