Function at 0x10006650
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001ed7e
mov eax, dword fs:[0]
push eax
sub esp, 0x3f4
mov eax, dword [0x1002f0ac]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
lea eax, [ebp - 0x128]
push 0
push eax
call fcn.1000cfc0
add esp, 0xc
lea eax, [ebp - 0x128]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.explorer.exe
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x10006c88
mov eax, dword [0x100303d8]
test al, 1
jne 0x100066f7
or eax, 1
mov dword [0x100303d8], eax
mov ecx, 0x1002ff18
mov dword [ebp - 4], 0
call fcn.10002c50
push 0x1001ef70
call fcn.1000a188
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0
call fcn.10010a20
add esp, 4
mov ecx, 0x1002ff18
push eax
call fcn.10003530
mov esi, eax
xorps xmm0, xmm0
xor eax, eax
push esi
mov word [ebp - 0x24], ax
mov word [ebp - 0x12], ax
lea eax, [ebp - 0x24]
push 0x10020b04
push eax
movups xmmword [ebp - 0x22], xmm0
call fcn.10001b40
add esp, 0xc
lea eax, [ebp - 0x348]
mov ecx, 0x1002ff18
push eax
call fcn.10003a90
lea eax, [ebp - 0x3a8]
mov dword [ebp - 4], 1
push eax
mov ecx, 0x1002ff18
call fcn.10003ad0
cmp dword [ebp - 0x338], 0
mov byte [ebp - 4], 2
je 0x10006c2f
cmp dword [ebp - 0x334], 8
lea eax, [ebp - 0x348]
cmovae eax, dword [ebp - 0x348]
push eax
push 0xffffffffffffffff
push str.191ab
push str.OROISet
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, esi
je 0x10006c2f
cmp dword [ebp - 0x334], 8
lea eax, [ebp - 0x348]
cmovae eax, dword [ebp - 0x348]
push eax
lea eax, [ebp - 0x24]
push eax
push str.191ab
push str.OROISet
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea eax, [ebp - 0x3d8]
mov ecx, 0x1002ff18
push eax
call fcn.100034f0
mov dword [ebp - 0x400], 0
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x3f8], 0
push str.1188
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 4
call fcn.100011a0
lea eax, [ebp - 0x360]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x400]
call fcn.10002670
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 4
call fcn.10001200
push 0x10020b24
lea ecx, [ebp - 0x360]
call fcn.100011a0
lea eax, [ebp - 0x360]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x400]
call fcn.10002670
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 4
call fcn.10001200
push 0x10020b28
lea ecx, [ebp - 0x360]
call fcn.100011a0
lea eax, [ebp - 0x400]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x3c0]
push eax
call fcn.10002840
add esp, 0xc
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 9
call fcn.10001200
cmp dword [ebp - 0x3c4], 8
lea eax, [ebp - 0x3d8]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x3d8]
push eax
call edi
test eax, eax
je 0x1000694c
cmp dword [ebp - 0x3ac], 8
lea eax, [ebp - 0x3c0]
lea ecx, [ebp - 0x378]
mov dword [ebp - 0x3f4], 0xbb8
cmovae eax, dword [ebp - 0x3c0]
push eax
call fcn.100011a0
cmp dword [ebp - 0x3c4], 8
lea eax, [ebp - 0x3d8]
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 0xa
cmovae eax, dword [ebp - 0x3d8]
push eax
call fcn.100011a0
lea eax, [ebp - 0x3f4]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x378]
mov ecx, 0x1002ff18
push eax
lea eax, [ebp - 0x3f0]
push eax
call fcn.10002f30
lea ecx, [ebp - 0x3f0]
call fcn.10001200
lea ecx, [ebp - 0x378]
jmp 0x10006c09
push 0x208
lea eax, [ebp - 0x330]
push 0
push eax
call fcn.1000cfc0
add esp, 0xc
lea eax, [ebp - 0x348]
cmp dword [ebp - 0x334], 8
cmovae eax, dword [ebp - 0x348]
push eax
push 0x104
lea eax, [ebp - 0x330]
push eax
push 0x10020328
push str.7ee87
push str.OROISet
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x390]
call fcn.100011a0
cmp dword [ebp - 0x380], 0
mov byte [ebp - 4], 0xc
je 0x100069d6
cmp dword [ebp - 0x37c], 8
lea eax, [ebp - 0x390]
cmovae eax, dword [ebp - 0x390]
push eax
call edi
test eax, eax
jne 0x10006a69
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], 0
cmp dword [ebp - 0x394], 8
lea ecx, [ebp - 0x354]
push 0
push ecx
lea eax, [ebp - 0x3a8]
mov byte [ebp - 4], 0xd
cmovae eax, dword [ebp - 0x3a8]
push 0x10020b30
push eax
call fcn.10001e90
mov ecx, dword [ebp - 0x350]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x354]
add esp, 0x10
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10006a5a
lea eax, [ebp - 0x390]
cmp eax, esi
je 0x10006a5a
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.10001800
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0xc
call fcn.10001e30
cmp dword [ebp - 0x37c], 8
lea eax, [ebp - 0x390]
cmovae eax, dword [ebp - 0x390]
push eax
call edi
test eax, eax
je 0x10006c03
cmp dword [ebp - 0x334], 8
lea eax, [ebp - 0x348]
cmovae eax, dword [ebp - 0x348]
push eax
push 3
push str.e0f5b
push str.OROISet
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push dword [ebp - 0x3f4]
mov esi, eax
mov eax, 3
test esi, esi
cmove esi, eax
lea eax, [ebp - 0x400]
push eax
push dword [ebp - 0x3fc]
push dword [ebp - 0x400]
call fcn.10001cf0
mov eax, dword [ebp - 0x400]
lea ecx, [ebp - 0x378]
add esp, 0x10
mov dword [ebp - 0x3fc], eax
push str.1188
call fcn.100011a0
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x400]
call fcn.10002670
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0xc
call fcn.10001200
push 0x10020b24
lea ecx, [ebp - 0x378]
call fcn.100011a0
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x400]
call fcn.10002670
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0xc
call fcn.10001200
push 0x10020b48
lea ecx, [ebp - 0x378]
call fcn.100011a0
lea eax, [ebp - 0x400]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x3f0]
push eax
call fcn.10002840
add esp, 0xc
lea ecx, [ebp - 0x3c0]
push eax
call fcn.10001240
lea ecx, [ebp - 0x3f0]
call fcn.10001200
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0xc
call fcn.10001200
imul eax, esi, 0x3e8
lea ecx, [ebp - 0x378]
cmp dword [ebp - 0x3ac], 8
mov dword [ebp - 0x3f4], eax
lea eax, [ebp - 0x3c0]
cmovae eax, dword [ebp - 0x3c0]
push eax
call fcn.100011a0
lea eax, [ebp - 0x3f4]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x390]
push eax
mov ecx, 0x1002ff18
call fcn.10002f30
lea ecx, [ebp - 0x378]
call fcn.10001200
lea ecx, [ebp - 0x390]
call fcn.10001200
lea ecx, [ebp - 0x3c0]
call fcn.10001200
lea ecx, [ebp - 0x400]
call fcn.10001e30
lea ecx, [ebp - 0x3d8]
call fcn.10001200
mov eax, dword [ebp - 0x394]
cmp eax, 8
jb 0x10006c4d
inc eax
lea ecx, [ebp - 0x3a8]
push eax
push dword [ebp - 0x3a8]
call fcn.10001a20
xor eax, eax
mov dword [ebp - 0x394], 7
mov word [ebp - 0x3a8], ax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x398], 0
cmp eax, 8
jb 0x10006c88
inc eax
lea ecx, [ebp - 0x348]
push eax
push dword [ebp - 0x348]
call fcn.10001a20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000a19d
mov esp, ebp
pop ebp
ret