Function at 0x1006304
Capabilities:
Get common file path
Query or enumerate registry value
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xe64
mov eax, dword [0x100d0ac]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xe50], eax
mov eax, dword [ebp + 0x10]
push ebx
mov dword [ebp - 0xe4c], eax
mov eax, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov dword [ebp - 0xe54], eax
mov eax, dword [ebp + 0x1c]
mov edx, 0x82
mov dword [ebp - 0xe64], eax
xor ebx, ebx
xor eax, eax
mov ecx, edx
mov byte [ebp - 0x41c], bl
lea edi, [ebp - 0x41b]
rep stosd dword es:[edi], eax
mov ecx, edx
mov byte [ebp - 0x210], bl
lea edi, [ebp - 0x20f]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xe58]
push eax
push 0x20019
push ebx
push 0x1001278
push 0x80000002
mov dword [ebp - 0xe48], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x10066b3
lea eax, [ebp - 0xe60]
push eax
lea eax, [ebp - 0x524]
push eax
push ebx
push ebx
push esi
push dword [ebp - 0xe58]
mov dword [ebp - 0xe60], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x10066a7
lea eax, [ebp - 0x524]
push eax
call fcn.0100a023
test eax, eax
je 0x10066b3
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0xe44]
call fcn.0100a825
lea eax, [ebp - 0xc3a]
push eax
push dword [ebp - 0xe4c]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1006460
cmp dword [ebp + 0x18], ebx
jne 0x1006458
push 0x209
lea eax, [ebp - 0x41c]
push eax
push 0xe9
push dword [ebp - 0xe50]
call dword [sym.imp.USER32.dll_LoadStringA]
push esi
lea eax, [ebp - 0xc3a]
push eax
push dword [ebp - 0xe4c]
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push ebx
push esi
lea eax, [ebp - 0x210]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
or eax, 0xffffffff
jmp 0x10066b5
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea eax, [ebp - 0x524]
push eax
push ebx
push 0x10018b4
push 0x1001888
call edi
push dword [ebp - 0xe4c]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push 0x100d0f8
mov dword [ebp - 0xe5c], eax
lea eax, [ebp - 0x62c]
push 0x1001974
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x62c]
push eax
push ebx
push 0x10018b4
push 0x1001888
call edi
cmp dword [ebp - 0xe5c], eax
jle 0x1006500
cmp dword [ebp + 0x18], ebx
jne 0x1006458
push 0x209
lea eax, [ebp - 0x41c]
push eax
push 0xdd
push dword [ebp - 0xe50]
call dword [sym.imp.USER32.dll_LoadStringA]
push dword [ebp - 0xe48]
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x210]
push eax
call esi
add esp, 0xc
push 0x41000
jmp 0x1006565
cmp dword [ebp - 0xe5c], 4
jge 0x10066b3
mov ecx, dword [ebp - 0xe64]
call fcn.0100a67c
test eax, eax
je 0x1006570
call fcn.01003e9c
test eax, eax
jne 0x1006570
cmp dword [ebp + 0x18], ebx
jne 0x1006458
push 0x209
lea eax, [ebp - 0x41c]
push eax
push 0xdf
push dword [ebp - 0xe50]
call dword [sym.imp.USER32.dll_LoadStringA]
push dword [ebp - 0xe48]
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x210]
push eax
call esi
add esp, 0xc
push ebx
push dword [ebp - 0xe48]
jmp 0x100644a
cmp dword [ebp + 0x18], ebx
jne 0x10065c6
push 0x209
lea eax, [ebp - 0x41c]
push eax
push 0xde
push dword [ebp - 0xe50]
call dword [sym.imp.USER32.dll_LoadStringA]
push dword [ebp - 0xe48]
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x210]
push eax
call esi
add esp, 0xc
push 0x41004
push dword [ebp - 0xe48]
lea eax, [ebp - 0x210]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10065c9
push 6
pop eax
cmp eax, 6
jne 0x1006458
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x524]
push eax
push dword [ebp - 0xe4c]
call fcn.01005e9f
test eax, eax
je 0x1006458
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0xa38]
call fcn.0100a825
push 0x104
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x10066a2
lea eax, [ebp - 0x82e]
push eax
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x210]
push 0x1001990
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
call fcn.0100a023
test eax, eax
je 0x1006663
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0xe54]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x10066a2
lea eax, [ebp - 0x82e]
push eax
push eax
lea eax, [ebp - 0x92f]
push eax
lea eax, [ebp - 0x933]
push eax
lea eax, [ebp - 0x210]
push 0x1001980
push eax
call esi
add esp, 0x18
lea eax, [ebp - 0x210]
push eax
call fcn.0100a023
test eax, eax
jne 0x100664e
mov eax, dword [ebp - 0xe54]
mov byte [eax], bl
xor eax, eax
inc eax
jmp 0x10066b5
push dword [ebp - 0xe58]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01009b9d
leave
ret 0x18