Function at 0x1002ef2
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2498
call fcn.0100cb50
and dword [ebp - 0x10], 0
push ebx
push esi
lea eax, [ebp - 0x218]
push edi
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.01002a73
cmp word [ebp - 0x218], 0
pop ecx
pop ecx
je 0x1003773
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov esi, 0x1001c00
cmp dword [0x100e00c], 0
je 0x1002f6c
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
lea eax, [ebp - 0x218]
push 0x1001bf4
push eax
call edi
test eax, eax
je 0x10037b8
lea eax, [ebp - 0x218]
push 0x10018dc
push eax
call edi
test eax, eax
je 0x10037b8
lea eax, [ebp - 0x218]
push 0x1001be8
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1002fcc
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.01002a73
cmp word [ebp - 0x218], 0
pop ecx
pop ecx
je 0x1002fcc
mov edx, 0x100e358
mov ecx, 0x82
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp + 0xc]
push edx
push eax
call fcn.01002b08
pop ecx
test eax, eax
pop ecx
je 0x1002fcc
mov eax, dword [0x100e018]
or byte [eax + 0x14fa], 0x10
lea eax, [ebp - 0x218]
push 0x1001bdc
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x100304c
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.01002a73
cmp word [ebp - 0x218], 0
pop ecx
pop ecx
je 0x100304c
mov edx, 0x100e568
mov ecx, 0x82
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp + 0xc]
push edx
push eax
call fcn.01002b08
pop ecx
test eax, eax
pop ecx
je 0x100304c
mov eax, dword [0x100e018]
push 0x1001bd4
push 0x100e568
or byte [eax + 0x14fa], 4
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x100304c
mov eax, dword [0x100e018]
or byte [eax + 0x14f9], 4
lea eax, [ebp - 0x218]
push 0x1001bc4
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x10030a8
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.01002a73
cmp word [ebp - 0x218], 0
pop ecx
pop ecx
je 0x10030a8
push 0x20
mov edx, 0x100e778
pop ecx
xor eax, eax
mov edi, edx
push edx
rep stosd dword es:[edi], eax
lea eax, [ebp + 0xc]
push eax
call fcn.01002b08
pop ecx
test eax, eax
pop ecx
je 0x10030a8
mov eax, dword [0x100e018]
or byte [eax + 0x14fa], 8
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
lea eax, [ebp - 0x218]
push 0x1001ba8
push eax
call edi
test eax, eax
jne 0x1003163
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.01002a73
pop ecx
lea eax, [ebp - 0x218]
pop ecx
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.01002b08
pop ecx
test eax, eax
pop ecx
je 0x1003163
and dword [0x100e064], 0
lea eax, [ebp - 0x218]
push 0x1001ba0
push eax
call edi
test eax, eax
jne 0x100310f
mov dword [0x100e064], 1
lea eax, [ebp - 0x218]
push 0x1001b94
push eax
call edi
test eax, eax
jne 0x100312b
mov dword [0x100e068], 1
lea eax, [ebp - 0x218]
push 0x1001b84
push eax
call edi
test eax, eax
jne 0x1003147
mov dword [0x100e06c], 1
lea eax, [ebp - 0x218]
push 0x1001b7c
push eax
call edi
test eax, eax
jne 0x1003163
mov dword [0x100e070], 1
lea eax, [ebp - 0x218]
push 0x1001b64
push eax
call edi
test eax, eax
jne 0x1003186
push eax
push eax
call fcn.01002b27
pop ecx
test eax, eax
pop ecx
je 0x10037c1
push dword [ebp + 0xc]
lea eax, [ebp - 0x218]
push eax
call fcn.01002e15
pop ecx
lea eax, [ebp - 0x218]
pop ecx
push 0x1001b50
push eax
call edi
test eax, eax
je 0x10037cf
lea eax, [ebp - 0x218]
push 0x1001b30
push eax
call edi
test eax, eax
je 0x10037eb
lea eax, [ebp - 0x218]
push 0x1001b24
push eax
call edi
test eax, eax
jne 0x100363b
mov edx, dword [0x10017dc]
mov ecx, 0x103
lea edi, [ebp - 0xc34]
mov dword [ebp - 0xc38], edx
rep stosd dword es:[edi], eax
mov ecx, 0x103
lea edi, [ebp - 0x2084]
mov dword [ebp - 0x2088], edx
mov dword [ebp - 0x1c78], edx
rep stosd dword es:[edi], eax
mov ecx, 0x103
lea edi, [ebp - 0x1c74]
rep stosd dword es:[edi], eax
mov ecx, 0x103
lea edi, [ebp - 0x2494]
mov dword [ebp - 0x2498], edx
mov dword [ebp - 0x1048], edx
rep stosd dword es:[edi], eax
mov ecx, 0x103
lea edi, [ebp - 0x1044]
rep stosd dword es:[edi], eax
mov ecx, 0x103
lea edi, [ebp - 0x1454]
mov dword [ebp - 0x1458], edx
mov dword [ebp - 0x620], edx
rep stosd dword es:[edi], eax
mov ecx, 0x81
lea edi, [ebp - 0x61c]
rep stosd dword es:[edi], eax
lea edi, [ebp - 8]
mov dword [ebp - 0xc], edx
stosw word es:[edi], ax
push 0x7f
lea edi, [ebp - 0x414]
pop ecx
mov dword [ebp - 0x418], edx
rep stosd dword es:[edi], eax
mov ecx, 0x103
lea edi, [ebp - 0x1864]
mov dword [ebp - 0x1868], edx
mov dword [ebp - 4], edx
rep stosd dword es:[edi], eax
mov eax, dword [0x100e018]
mov dword [eax + 0x14f0], 0x1009bbf
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.01002a73
pop ecx
lea eax, [ebp - 0x218]
pop ecx
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.01002b08
pop ecx
test eax, eax
pop ecx
je 0x100363b
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
dec eax
push eax
lea eax, [ebp - 0x216]
push eax
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov eax, dword [0x100e018]
mov edi, 0x410
add eax, 0x6aa
push eax
lea eax, [ebp - 0x2088]
push edi
push eax
push 0x1001804
push 0x1001b10
push esi
call ebx
mov eax, dword [0x100e018]
add eax, 0x1530
push eax
lea eax, [ebp - 0x1868]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x100e018]
lea ecx, [eax + 0x6aa]
add eax, 0x1530
push ecx
push 0x820
push eax
lea eax, [ebp - 0x1868]
push eax
push 0x1001afc
push esi
call ebx
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
lea eax, [ebp - 0x1c78]
push edi
push eax
push 0x1001804
push 0x1001ae0
push esi
call ebx
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
lea eax, [ebp - 0x2498]
push edi
push eax
push 0x1001804
push 0x1001abc
push esi
call ebx
push 0
lea eax, [ebp - 0x418]
push 0
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
call dword [sym.imp.MSVCRT.dll__wsplitpath]
add esp, 0x14
lea eax, [ebp - 0x2088]
push 0
push eax
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x100ec18
call dword [sym.imp.MSVCRT.dll__wmakepath]
add esp, 0x14
push 0
lea eax, [ebp - 0x1c78]
push eax
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x100ee20
call dword [sym.imp.MSVCRT.dll__wmakepath]
add esp, 0x14
lea eax, [ebp - 0x2498]
push 0
push eax
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x100f028
call dword [sym.imp.MSVCRT.dll__wmakepath]
add esp, 0x14
push 0x100ec18
call fcn.01002d97
test eax, eax
pop ecx
je 0x100363b
mov eax, dword [0x100e018]
push 0x208
or byte [eax + 0x14f9], 3
lea eax, [ebp - 0x620]
push eax
push 0x2c2
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
lea eax, [ebp - 0xc38]
push edi
push eax
lea eax, [ebp - 0x620]
push eax
push 0x1001a98
push esi
call ebx
lea eax, [ebp - 0xc38]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x10034a1
lea eax, [ebp - 0x620]
push eax
lea eax, [ebp - 0xc38]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0xc38]
push eax
mov eax, dword [0x100e018]
add eax, 0x90
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
lea eax, [ebp - 4]
push 4
push eax
push 0x1001a94
push 0x1001a78
push esi
call ebx
lea eax, [ebp - 4]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi]
test eax, eax
pop ecx
je 0x100351b
mov eax, dword [0x100e018]
or dword [eax + 0x14f8], 0x10
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
push 0
push 0x1001a58
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x100351b
mov eax, dword [0x100e018]
or byte [eax + 0x14f9], 0x10
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
lea eax, [ebp - 4]
push 4
push eax
push 0x1001a94
push 0x1001a38
push esi
call ebx
lea eax, [ebp - 4]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi]
test eax, eax
pop ecx
je 0x100359a
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
lea eax, [ebp - 0x1048]
push edi
push eax
push 0
push 0x1001a0c
push esi
call ebx
lea eax, [ebp - 0x1048]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x100359a
mov eax, dword [0x100e018]
or dword [eax + 0x14f8], 0x20
lea eax, [ebp - 0x1048]
push eax
mov eax, dword [0x100e018]
add eax, 0x8b4
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
lea eax, [ebp - 4]
push 4
push eax
push 0
push 0x10019ec
push esi
call ebx
lea eax, [ebp - 4]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi]
test eax, eax
pop ecx
je 0x1003616
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
lea eax, [ebp - 0x1458]
push edi
push eax
push 0
push 0x10019c8
push esi
call ebx
lea eax, [ebp - 0x1458]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x1003616
mov eax, dword [0x100e018]
or dword [eax + 0x14f8], 0x40
lea eax, [ebp - 0x1458]
push eax
mov eax, dword [0x100e018]
add eax, 0xcc4
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x100e018]
add eax, 0x6aa
push eax
push 0xffffffffffffffff
push 0x10019a8
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [0x100e018]
mov dword [ecx + 0x14e8], eax
lea eax, [ebp - 0x218]
push 0x1001994
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x10036df
mov eax, dword [0x100e018]
or byte [eax + 0x14fb], 1
lea eax, [ebp - 0x828]
push eax
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x828]
push 0x100197c
push eax
push 0x1001970
push 0x100ec18
call edi
add esp, 0x10
lea eax, [ebp - 0x828]
push 0x1001954
push eax
push 0x1001970
push 0x100ee20
call edi
add esp, 0x10
lea eax, [ebp - 0x828]
push 0x1001938
push eax
push 0x1001970
push 0x100f028
call edi
add esp, 0x10
call fcn.01002d6a
test eax, eax
je 0x10036df
mov eax, dword [0x100e018]
or byte [eax + 0x14f9], 2
lea eax, [ebp - 0x218]
push 0x1001924
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x100370c
mov eax, dword [0x100e018]
push 1
pop edi
or byte [eax + 0x14fb], 1
mov dword [0x100e05c], edi
jmp 0x100370f
push 1
pop edi
lea eax, [ebp - 0x218]
push 0x1001918
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1003737
mov eax, dword [0x100e018]
or byte [eax + 0x14fb], 1
mov dword [0x100e060], edi
lea eax, [ebp - 0x218]
push 0x10018f4
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1003753
mov dword [0x100e07c], edi
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.01002a73
cmp word [ebp - 0x218], 0
pop ecx
pop ecx
jne 0x1002f31
xor eax, eax
cmp dword [0x100e00c], eax
je 0x100378c
cmp dword [ebp - 0x10], eax
mov dword [0x100e00c], 1
jne 0x1003791
mov dword [0x100e00c], eax
cmp dword [0x100e060], eax
jne 0x10037a1
cmp dword [0x100e05c], eax
je 0x10037a4
push 1
pop eax
mov ecx, dword [0x100e018]
push 1
mov dword [ecx + 0x1524], eax
pop eax
pop edi
pop esi
pop ebx
leave
ret
mov dword [ebp - 0x10], 1
jmp 0x1003773
call fcn.0100995f
push 1
call fcn.01007615
jmp 0x10037f3
cmp dword [section..data], 0
je 0x10037f4
cmp dword [0x100e004], 0
jne 0x10037f4
push dword [ebp + 8]
call fcn.01007d5b
jmp 0x10037f3
push dword [ebp + 8]
call fcn.01007cbb
pop ecx
xor eax, eax
jmp 0x10037b3