Function at 0x41c6b2
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x1b8]
sub esp, 0x238
mov eax, dword [0x451220]
xor eax, ebp
mov dword [ebp + 0x1b4], eax
mov eax, dword [ebp + 0x1c0]
push ebx
push esi
mov dword [ebp - 0x7c], eax
mov eax, dword [0x453c6c]
mov esi, ecx
mov ebx, 0x453c6c
push edi
mov ecx, ebx
call dword [eax + 0xc]
mov edi, eax
mov eax, dword [0x453c6c]
add edi, 0x10
mov ecx, ebx
mov dword [ebp - 0x64], edi
call dword [eax + 0xc]
push 0x5c
add eax, 0x10
push esi
mov dword [ebp - 0x60], eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x41c89c
mov edi, eax
sub edi, esi
push esi
sar edi, 1
mov ecx, ebx
lea esi, [ebp - 0x74]
call fcn.00405522
mov esi, dword [ebp - 0x74]
call fcn.0041c63a
mov esi, dword [ebp - 0x5c]
inc esi
push 0x44d9b4
inc esi
push esi
mov dword [ebp - 0x70], eax
call dword [sym.imp.SHLWAPI.dll_StrStrW]
mov edi, eax
mov dword [ebp - 0x6c], edi
test edi, edi
je 0x41c7ab
sub edi, esi
push esi
sar edi, 1
mov ecx, ebx
lea esi, [ebp - 0x5c]
call fcn.00405522
mov eax, esi
lea edi, [ebp - 0x64]
call int.004069e7
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
call fcn.00406e8b
mov esi, dword [ebp - 0x6c]
push 0x5d
push 0
add esi, 4
push esi
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
test eax, eax
je 0x41c7ab
mov edi, eax
sub edi, esi
push esi
sar edi, 1
mov ecx, ebx
lea esi, [ebp - 0x5c]
call fcn.00405522
mov eax, esi
lea edi, [ebp - 0x60]
call int.004069e7
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
call fcn.00406e8b
xor esi, esi
cmp dword [ebp - 0x70], esi
je 0x41c899
mov eax, dword [ebp - 0x64]
cmp dword [eax - 0xc], esi
je 0x41c899
xor eax, eax
push 0x20a
mov word [ebp - 0x58], ax
lea eax, [ebp - 0x56]
push esi
push eax
call fcn.00429ac0
mov ebx, dword [ebp - 0x64]
add esp, 0xc
lea eax, [ebp - 0x68]
push eax
push 0x20019
push esi
push ebx
push dword [ebp - 0x70]
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x78], 0x208
mov dword [ebp - 0x68], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x41c85a
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x80]
push eax
push esi
push dword [ebp - 0x60]
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x58]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, si
jne 0x41c839
sub eax, edx
sar eax, 1
push 0x5c
mov dword [ebp - 0x78], eax
lea eax, [ebp + eax*2 - 0x58]
pop ecx
cmp cx, word [eax - 2]
je 0x41c85a
mov word [eax], cx
lea eax, [ebp - 0x58]
push eax
lea esi, [ebp - 0x6c]
call fcn.00406e38
mov esi, dword [ebp - 0x6c]
add esi, 0xfffffff0
mov eax, esi
call fcn.0040698f
mov edi, dword [ebp - 0x7c]
add eax, 0x10
mov dword [edi], eax
mov eax, esi
call fcn.00406e8b
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
call fcn.00406e8b
lea eax, [ebx - 0x10]
call fcn.00406e8b
mov eax, edi
jmp 0x41c8be
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x7c]
push 0x447820
call fcn.00406e38
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
call fcn.00406e8b
lea eax, [edi - 0x10]
call fcn.00406e8b
mov eax, esi
mov ecx, dword [ebp + 0x1b4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00427527
add ebp, 0x1b8
leave
ret 4