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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x24a4
call fcn.0100ee80
mov eax, dword [0x1012288]
and dword [ebp - 0x24a4], 0
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x24a0], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x2498], eax
push edi
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x2498]
push eax
call fcn.01002e4b
cmp word [ebp - 0x214], 0
pop ecx
pop ecx
je 0x10059b1
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov esi, 0x1001f94
cmp dword [0x1011024], 0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
je 0x100516a
push 0x1001f88
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
je 0x1005a01
push 0x100183c
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
je 0x1005a01
push 0x1001f7c
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x10051d2
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x2498]
push eax
call fcn.01002e4b
cmp word [ebp - 0x214], 0
pop ecx
pop ecx
je 0x10051d2
mov edx, 0x1011370
xor eax, eax
mov edi, edx
mov ecx, 0x82
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push edx
lea eax, [ebp - 0x2498]
push eax
call fcn.01002ed1
test eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
pop ecx
pop ecx
je 0x10051d2
mov eax, dword [0x1011030]
or byte [eax + 0x14fa], 0x10
push 0x1001f70
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x100525a
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x2498]
push eax
call fcn.01002e4b
cmp word [ebp - 0x214], 0
pop ecx
pop ecx
je 0x100525a
mov edx, 0x1011580
xor eax, eax
mov edi, edx
mov ecx, 0x82
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push edx
lea eax, [ebp - 0x2498]
push eax
call fcn.01002ed1
test eax, eax
pop ecx
pop ecx
je 0x1005254
mov eax, dword [0x1011030]
or byte [eax + 0x14fa], 4
push 0x1001f68
push 0x1011580
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1005254
mov eax, dword [0x1011030]
or byte [eax + 0x14f9], 4
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x1001f58
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x10052be
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x2498]
push eax
call fcn.01002e4b
cmp word [ebp - 0x214], 0
pop ecx
pop ecx
je 0x10052be
push 0x20
mov edx, 0x1011790
pop ecx
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
push edx
lea eax, [ebp - 0x2498]
push eax
call fcn.01002ed1
test eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
pop ecx
pop ecx
je 0x10052be
mov eax, dword [0x1011030]
or byte [eax + 0x14fa], 8
push 0x1001f40
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x10052da
mov dword [0x101107c], 1
push 0x1001f24
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x1005394
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x2498]
push eax
call fcn.01002e4b
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x2498]
push eax
call fcn.01002ed1
add esp, 0x10
test eax, eax
je 0x1005394
and dword [0x1011078], 0
push 0x1001f1c
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x1005340
mov dword [0x1011078], 1
push 0x1001f10
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x100535c
mov dword [0x1011080], 1
push 0x1001f00
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x1005378
mov dword [0x1011084], 1
push 0x1001ef8
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x1005394
mov dword [0x1011088], 1
push 0x1001ee0
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x10053b7
push eax
push eax
call fcn.01004dfa
test eax, eax
pop ecx
pop ecx
je 0x1005a0d
push dword [ebp - 0x2498]
lea eax, [ebp - 0x214]
push eax
call fcn.01002fd5
pop ecx
pop ecx
push 0x1001ecc
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
je 0x1005a1b
push 0x1001eac
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
je 0x1005a3a
push 0x1001ea0
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x100586f
and dword [ebp - 0xc34], eax
and dword [ebp - 0x1c74], eax
and dword [ebp - 0x2494], eax
and dword [ebp - 0x2084], eax
and dword [ebp - 0x1044], eax
and dword [ebp - 0x1454], eax
and dword [ebp - 0x824], eax
and dword [ebp - 0xc], eax
and dword [ebp - 0x61c], eax
mov edx, 0x103
and dword [ebp - 0x1864], eax
and dword [ebp - 0x249c], eax
mov ecx, edx
lea edi, [ebp - 0xc30]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x1c70]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x2490]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x2080]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x1040]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x1450]
rep stosd dword es:[edi], eax
mov ecx, 0x81
lea edi, [ebp - 0x820]
rep stosd dword es:[edi], eax
push 0x7f
lea edi, [ebp - 8]
stosw word es:[edi], ax
pop ecx
lea edi, [ebp - 0x618]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x1860]
rep stosd dword es:[edi], eax
mov eax, dword [0x1011030]
mov dword [eax + 0x14f0], 0x100b53f
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x2498]
push eax
call fcn.01002e4b
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x2498]
push eax
call fcn.01002ed1
add esp, 0x10
test eax, eax
je 0x1005869
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
dec eax
push eax
lea eax, [ebp - 0x212]
push eax
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
mov edi, 0x208
push edi
lea eax, [ebp - 0x1c74]
push eax
push 0x1001774
push 0x1001e8c
push esi
call ebx
mov eax, dword [0x1011030]
add eax, 0x1530
push eax
lea eax, [ebp - 0x1864]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x1011030]
lea ecx, [eax + 0x6aa]
push ecx
push edi
add eax, 0x1530
push eax
lea eax, [ebp - 0x1864]
push eax
push 0x1001e78
push esi
call ebx
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
push edi
lea eax, [ebp - 0x2494]
push eax
push 0x1001774
push 0x1001e5c
push esi
call ebx
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
push edi
lea eax, [ebp - 0x2084]
push eax
push 0x1001774
push 0x1001e38
push esi
call ebx
push 0
push 0
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
call dword [sym.imp.msvcrt.dll__wsplitpath]
push 0
lea eax, [ebp - 0x1c74]
push eax
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x1011c30
call dword [sym.imp.msvcrt.dll__wmakepath]
push 0
lea eax, [ebp - 0x2494]
push eax
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x1011e38
call dword [sym.imp.msvcrt.dll__wmakepath]
push 0
lea eax, [ebp - 0x2084]
push eax
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x1012040
call dword [sym.imp.msvcrt.dll__wmakepath]
add esp, 0x50
push 0x1011c30
call fcn.01002f45
test eax, eax
pop ecx
je 0x1005869
mov eax, dword [0x1011030]
or byte [eax + 0x14f9], 3
push 0x104
lea eax, [ebp - 0x824]
push eax
push 0x2c2
push dword [ebp - 0x24a0]
call dword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
push edi
lea eax, [ebp - 0xc34]
push eax
lea eax, [ebp - 0x824]
push eax
push 0x1001e14
push esi
call ebx
lea eax, [ebp - 0xc34]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x10056bd
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0xc34]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0xc34]
push eax
mov eax, dword [0x1011030]
add eax, 0x90
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
push 2
lea eax, [ebp - 0x249c]
push eax
push 0x1001e10
push 0x1001df4
push esi
call ebx
lea eax, [ebp - 0x249c]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
test eax, eax
pop ecx
je 0x100573d
mov eax, dword [0x1011030]
or dword [eax + 0x14f8], 0x10
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
push 0
push 0x1001dd4
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x100573d
mov eax, dword [0x1011030]
or byte [eax + 0x14f9], 0x10
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
push 2
lea eax, [ebp - 0x249c]
push eax
push 0x1001e10
push 0x1001db4
push esi
call ebx
lea eax, [ebp - 0x249c]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
test eax, eax
pop ecx
je 0x10057c2
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
push edi
lea eax, [ebp - 0x1044]
push eax
push 0
push 0x1001d88
push esi
call ebx
lea eax, [ebp - 0x1044]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x10057c2
mov eax, dword [0x1011030]
or dword [eax + 0x14f8], 0x20
lea eax, [ebp - 0x1044]
push eax
mov eax, dword [0x1011030]
add eax, 0x8b4
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
push 2
lea eax, [ebp - 0x249c]
push eax
push 0
push 0x1001d68
push esi
call ebx
lea eax, [ebp - 0x249c]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
test eax, eax
pop ecx
je 0x1005844
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
push edi
lea eax, [ebp - 0x1454]
push eax
push 0
push 0x1001d44
push esi
call ebx
lea eax, [ebp - 0x1454]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x1005844
mov eax, dword [0x1011030]
or dword [eax + 0x14f8], 0x40
lea eax, [ebp - 0x1454]
push eax
mov eax, dword [0x1011030]
add eax, 0xcc4
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x1011030]
add eax, 0x6aa
push eax
push 0xffffffffffffffff
push 0x1001d24
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [0x1011030]
mov dword [ecx + 0x14e8], eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x1001d10
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x1005922
and dword [ebp - 0x41c], eax
mov ecx, 0x81
lea edi, [ebp - 0x418]
rep stosd dword es:[edi], eax
mov eax, dword [0x1011030]
or byte [eax + 0x14fb], 1
lea eax, [ebp - 0x41c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
push 0x1001cf8
lea eax, [ebp - 0x41c]
push eax
push 0x1001cec
push 0x1011c30
call edi
push 0x1001cd0
lea eax, [ebp - 0x41c]
push eax
push 0x1001cec
push 0x1011e38
call edi
push 0x1001cb4
lea eax, [ebp - 0x41c]
push eax
push 0x1001cec
push 0x1012040
call edi
add esp, 0x30
call fcn.01002f11
test eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
je 0x1005922
mov eax, dword [0x1011030]
or byte [eax + 0x14f9], 2
push 0x1001ca0
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x100594a
mov eax, dword [0x1011030]
or byte [eax + 0x14fb], 1
mov dword [0x1011070], 1
push 0x1001c94
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x1005972
mov eax, dword [0x1011030]
or byte [eax + 0x14fb], 1
mov dword [0x1011074], 1
push 0x1001c70
lea eax, [ebp - 0x214]
push eax
call edi
test eax, eax
jne 0x100598e
mov dword [0x1011094], 1
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x2498]
push eax
call fcn.01002e4b
cmp word [ebp - 0x214], 0
pop ecx
pop ecx
jne 0x100512f
xor eax, eax
cmp dword [0x1011024], eax
je 0x10059cd
cmp dword [ebp - 0x24a4], eax
mov dword [0x1011024], 1
jne 0x10059d2
mov dword [0x1011024], eax
cmp dword [0x1011074], eax
jne 0x10059e2
cmp dword [0x1011070], eax
je 0x10059e5
xor eax, eax
inc eax
mov ecx, dword [0x1011030]
mov dword [ecx + 0x1524], eax
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0100ecf8
leave
ret
mov dword [ebp - 0x24a4], 1
jmp 0x10059b1
call fcn.0100b281
push 1
call fcn.01008ef5
jmp 0x1005a45
cmp dword [0x1011018], 0
je 0x1005a46
cmp dword [0x101101c], 0
jne 0x1005a46
push dword [ebp - 0x24a0]
call fcn.01009014
jmp 0x1005a45
push dword [ebp - 0x24a0]
call fcn.010093af
pop ecx
xor eax, eax
jmp 0x10059f4