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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1c98
call fcn.0100e440
mov eax, dword [0x10140d8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c8c], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov dword [ebp - 0x1c84], eax
mov eax, dword [ebp + 0x14]
push edi
mov dword [ebp - 0x1c90], eax
xor eax, eax
xor edi, edi
mov esi, 0x410
push esi
mov word [ebp - 0xa38], ax
lea eax, [ebp - 0xa36]
push edi
push eax
mov dword [ebp - 0x1c94], ebx
mov dword [ebp - 0x1c88], edi
mov dword [ebp - 0x1c80], edi
call sub.msvcrt.dll_memset
xor eax, eax
push esi
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0x18
lea eax, [ebp - 0x1c88]
push eax
push 0x20019
push edi
push 0x1001660
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x100a6b5
lea eax, [ebp - 0x1c98]
push eax
lea eax, [ebp - 0x624]
push eax
push edi
push edi
push dword [ebp - 0x1c84]
mov dword [ebp - 0x1c98], 0x104
push dword [ebp - 0x1c88]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x100a6b5
mov eax, dword [ebp - 0x1c98]
shr eax, 1
xor ecx, ecx
mov word [ebp + eax*2 - 0x624], cx
lea eax, [ebp - 0x624]
push eax
call fcn.01010f56
test eax, eax
je 0x100a6af
lea eax, [ebp - 0x624]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0100f4f8
lea eax, [ebp - 0x1866]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x100a435
cmp dword [ebp + 0x1c], edi
jne 0x100a429
mov esi, 0x209
push esi
lea eax, [ebp - 0xa38]
push eax
push 0xe9
push dword [ebp - 0x1c8c]
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [ebp - 0x1c84]
lea eax, [ebp - 0x1866]
push eax
push ebx
lea eax, [ebp - 0xa38]
push eax
push 0x900
push edi
push edi
lea eax, [ebp - 0x418]
push esi
push eax
call fcn.01011c3f
add esp, 0x24
push edi
push dword [ebp - 0x1c84]
lea eax, [ebp - 0x418]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
or dword [ebp - 0x1c80], 0xffffffff
jmp 0x100a6b5
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea eax, [ebp - 0x624]
push eax
push edi
push 0x1002c8c
push 0x1002bf8
call esi
push ebx
push 0x1014470
push 0x1003194
mov ebx, 0x900
push ebx
push edi
push edi
mov dword [ebp - 0x1c80], eax
lea eax, [ebp - 0xc44]
push 0x105
push eax
call fcn.01011c3f
add esp, 0x20
test eax, eax
jl 0x100a429
lea eax, [ebp - 0xc44]
push eax
push edi
push 0x1002c8c
push 0x1002bf8
call esi
cmp dword [ebp - 0x1c80], eax
jle 0x100a4e9
cmp dword [ebp + 0x1c], edi
jne 0x100a429
mov esi, 0x209
push esi
lea eax, [ebp - 0xa38]
push eax
push 0xdd
push dword [ebp - 0x1c8c]
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [ebp - 0x1c84]
lea eax, [ebp - 0xa38]
push eax
push ebx
push edi
push edi
lea eax, [ebp - 0x418]
push esi
push eax
call fcn.01011c3f
add esp, 0x1c
push 0x41000
jmp 0x100a415
cmp dword [ebp - 0x1c80], 4
jge 0x100a6af
call fcn.01008f48
test eax, eax
jne 0x100a54b
cmp dword [ebp + 0x1c], edi
jne 0x100a429
mov esi, 0x209
push esi
lea eax, [ebp - 0xa38]
push eax
push 0xdf
push dword [ebp - 0x1c8c]
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [ebp - 0x1c84]
lea eax, [ebp - 0xa38]
push eax
push ebx
push edi
push edi
lea eax, [ebp - 0x418]
push esi
push eax
call fcn.01011c3f
add esp, 0x1c
jmp 0x100a414
mov esi, 0x209
cmp dword [ebp + 0x1c], edi
jne 0x100a5a9
push esi
lea eax, [ebp - 0xa38]
push eax
push 0xde
push dword [ebp - 0x1c8c]
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [ebp - 0x1c84]
lea eax, [ebp - 0xa38]
push eax
push ebx
push edi
push edi
lea eax, [ebp - 0x418]
push esi
push eax
call fcn.01011c3f
add esp, 0x1c
push 0x41004
push dword [ebp - 0x1c84]
lea eax, [ebp - 0x418]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x100a5ac
push 6
pop eax
cmp eax, 6
jne 0x100a429
lea eax, [ebp - 0xc44]
push eax
lea eax, [ebp - 0x624]
push eax
push dword [ebp - 0x1c94]
call fcn.01009db9
test eax, eax
je 0x100a429
lea eax, [ebp - 0x624]
push eax
lea ecx, [ebp - 0x1460]
call fcn.0100f4f8
push 0x104
lea eax, [ebp - 0xa38]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x100a6a3
lea eax, [ebp - 0x104a]
push eax
lea eax, [ebp - 0xa38]
push eax
push 0x10031c4
push ebx
push edi
push edi
lea eax, [ebp - 0x418]
push esi
push eax
call fcn.01011c3f
add esp, 0x20
test eax, eax
jl 0x100a63c
lea eax, [ebp - 0x418]
push eax
call fcn.01010f56
test eax, eax
jne 0x100a67e
lea eax, [ebp - 0x104a]
push eax
push eax
lea eax, [ebp - 0x124c]
push eax
lea eax, [ebp - 0x1256]
push eax
push 0x10031a8
push ebx
push edi
push edi
lea eax, [ebp - 0x418]
push esi
push eax
call fcn.01011c3f
add esp, 0x28
test eax, eax
jl 0x100a698
lea eax, [ebp - 0x418]
push eax
call fcn.01010f56
test eax, eax
je 0x100a698
push ebx
push edi
push edi
lea eax, [ebp - 0x418]
push eax
push dword [ebp + 0x18]
push dword [ebp - 0x1c90]
call fcn.01011b30
jmp 0x100a6a3
mov ecx, dword [ebp - 0x1c90]
xor eax, eax
mov word [ecx], ax
mov dword [ebp - 0x1c80], 1
jmp 0x100a6b5
mov dword [ebp - 0x1c80], edi
cmp dword [ebp - 0x1c88], edi
pop edi
pop esi
pop ebx
je 0x100a6cc
push dword [ebp - 0x1c88]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c80]
xor ecx, ebp
call fcn.0100e410
leave
ret 0x1c