Function at 0x413eda
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x48
push 0xaa2e98
call fcn.004f0bc0
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], ecx
xor esi, esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], esi
mov ebx, esi
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 4], esi
mov edi, 0x200
mov eax, 0x100
cmp dword [ebp + 0x10], esi
cmovne edi, eax
mov dword [ebp - 0x4c], edi
call fcn.00426920
neg eax
sbb eax, eax
and eax, edi
push esi
lea ecx, [ebp - 0x3c]
push ecx
push esi
or eax, 0x2001f
push eax
push esi
push esi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov edi, eax
mov dword [ebp - 0x28], edi
test edi, edi
jne 0x4140a7
call fcn.00426920
neg eax
sbb eax, eax
and eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x1c]
push ecx
or eax, 0x20019
push eax
push esi
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov edi, eax
mov dword [ebp - 0x28], edi
test edi, edi
jne 0x4140a7
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x40], esi
push esi
push esi
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x20]
push eax
push esi
push esi
lea eax, [ebp - 0x2c]
push eax
push esi
push esi
push esi
push esi
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x20]
push eax
call fcn.004f0465
pop ecx
mov edx, eax
mov dword [ebp - 0x34], edx
mov eax, esi
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x24]
push esi
push esi
push esi
push esi
lea ecx, [ebp - 0x30]
push ecx
push edx
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
jne 0x414007
push dword [ebp + 0x10]
mov edx, dword [ebp - 0x34]
push edx
push dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
call fcn.00413eda
add esp, 0xc
test eax, eax
jne 0x4140a7
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
jmp 0x413fc2
push dword [ebp - 0x20]
call fcn.004f0465
mov edi, eax
mov dword [ebp - 0x38], edi
push dword [ebp - 0x40]
call fcn.004f0465
pop ecx
pop ecx
mov ebx, eax
mov dword [ebp - 0x48], ebx
mov edx, esi
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
mov eax, edx
inc edx
mov dword [ebp - 0x24], edx
lea ecx, [ebp - 0x44]
push ecx
push ebx
push esi
push esi
lea ecx, [ebp - 0x30]
push ecx
push edi
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
jne 0x4140a2
lea eax, [ebp - 0x44]
push eax
push ebx
lea eax, [ebp - 0x58]
push eax
push esi
push edi
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edi, eax
mov dword [ebp - 0x28], edi
test edi, edi
jne 0x4140a7
push dword [ebp - 0x44]
push ebx
push dword [ebp - 0x58]
push esi
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edi, eax
mov dword [ebp - 0x28], edi
test edi, edi
jne 0x4140a7
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov edi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x24]
jmp 0x414034
mov edi, esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 4], 0xfffffffe
call fcn.004140c3
mov eax, edi
call fcn.004f0c06
ret