Function at 0x4218a9
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa28
push ebx
push esi
push edi
push 0x40
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp - 0x123]
mov byte [ebp - 0x124], bl
mov edx, 0xff
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0xa27]
mov byte [ebp - 0xa28], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x627]
mov byte [ebp - 0x628], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x227]
mov byte [ebp - 0x228], bl
push 0xb
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x7f5500]
mov esi, 0x104
push eax
push 0x803544
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], ebx
call fcn.00412eee
mov dword [0x803550], eax
mov al, byte [0x7f5500]
push 0x18
push eax
push 0x803554
call fcn.00412eee
mov dword [0x803570], eax
mov al, byte [0x7f5500]
push 0x4a
push eax
push 0x803574
call fcn.00412eee
add esp, 0x24
mov dword [0x8035c0], eax
lea eax, [ebp - 0x14]
push eax
push ebx
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
jne 0x421a98
lea eax, [ebp - 0xc]
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push eax
push 0xf003f
push ebx
push dword [0x8035c0]
push dword [ebp - 0x14]
call edi
test eax, eax
jne 0x421a8f
push esi
lea eax, [ebp - 0x228]
push ebx
push eax
mov dword [ebp - 8], esi
call fcn.00428b90
push esi
lea eax, [ebp - 0xa28]
push ebx
push eax
call fcn.00428b90
push 0x400
lea eax, [ebp - 0x628]
push ebx
push eax
mov dword [ebp - 4], ebx
call fcn.00428b90
add esp, 0x24
lea eax, [ebp - 8]
push ebx
push ebx
push ebx
push ebx
push eax
lea eax, [ebp - 0x124]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0x628]
push dword [0x803570]
push eax
call fcn.0042957b
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0xf003f
lea eax, [ebp - 0x628]
push ebx
push eax
push connect
call edi
test eax, eax
jne 0x421a6e
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xa28]
push eax
push ebx
push ebx
push ebx
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov eax, eax
mov edx, edx
lea eax, [ebp - 0xa28]
push eax
call fcn.00421875
cmp eax, 0x93000
pop ecx
je 0x421a7f
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x20], 0x103
je 0x421a8f
inc dword [ebp - 0x10]
jmp 0x4219a9
push dword [ebp - 4]
mov dword [ebp - 0x1c], 1
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [0x803550]
call fcn.0042881a
push dword [0x803570]
mov dword [0x803550], ebx
call fcn.0042881a
push dword [0x8035c0]
mov dword [0x803570], ebx
call fcn.0042881a
push dword [0x7fe008]
mov dword [0x8035c0], ebx
call fcn.0042881a
push dword [0x7fe048]
mov dword [0x7fe008], ebx
call fcn.0042881a
mov eax, dword [ebp - 0x1c]
add esp, 0x14
mov dword [0x7fe048], ebx
pop edi
pop esi
pop ebx
leave
ret