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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x5f4
mov eax, dword [0x100d0ac]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 0x5e4], ebx
mov dword [ebp - 0x5f4], eax
mov dword [ebp - 0x5dc], edi
call fcn.0100a525
xor esi, esi
cmp ebx, esi
mov dword [ebp - 0x5e0], esi
je 0x1005605
cmp edi, esi
je 0x1005605
push esi
push esi
push esi
lea eax, [ebp - 0x5f0]
push eax
push esi
push esi
call fcn.010040fb
test eax, eax
je 0x1005605
lea ecx, [ebp - 0x1c8]
call fcn.0100a67c
test eax, eax
je 0x10053b5
mov ebx, 0x828
push ebx
call fcn.0100a087
mov edx, eax
test edx, edx
je 0x10055f7
mov ecx, 0x20a
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [edx], ebx
mov dword [edx + 0x704], 4
mov esi, edx
jmp 0x10053cc
mov ebx, 0x6e8
push ebx
call fcn.0100a087
mov esi, eax
test esi, esi
je 0x10055f7
mov dword [esi], ebx
lea ecx, [ebp - 0x1c8]
call fcn.0100a67c
test eax, eax
je 0x10053ef
push 0x1001464
lea eax, [esi + 0x720]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x1005437
push 0x1001484
lea eax, [esi + 0x2c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x105
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x10055f7
lea eax, [ebp - 0x10c]
push eax
lea eax, [esi + 0x1c4]
push 0x1001300
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x1c8]
call fcn.0100a62b
xor edi, edi
inc edi
test eax, eax
je 0x1005464
push 0x100175c
lea eax, [esi + 0x1b]
push eax
mov dword [esi + 0xbc], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push dword [ebp - 0x5dc]
mov ebx, 0x10014a8
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x100145c
push ebx
call edi
push dword [ebp - 0x5dc]
mov dword [ebp - 0x5d8], eax
push 1
push 0x1001454
push ebx
call edi
cmp dword [ebp - 0x5d8], 0
mov dword [ebp - 0x5ec], eax
je 0x10054c4
test eax, eax
je 0x10054bb
push dword [ebp - 0x5dc]
push 0
push 0x1001444
push ebx
call edi
test eax, eax
jne 0x10054c4
and dword [ebp - 0x5d8], 0
jmp 0x10054ce
mov dword [ebp - 0x5d8], 1
mov eax, dword [ebp - 0x5d8]
test eax, eax
mov dword [ebp - 0x5e8], eax
jne 0x100550b
push 0
lea eax, [esi + 0x3dd]
push eax
lea edi, [esi + 0x3cc]
push edi
call fcn.0100490e
test eax, eax
mov eax, dword [ebp - 0x5ec]
je 0x1005503
mov eax, dword [ebp - 0x5e8]
test eax, eax
je 0x10055a0
push 1
lea eax, [esi + 0x3dd]
push eax
lea edi, [esi + 0x3cc]
push edi
call fcn.0100490e
test eax, eax
je 0x10055a0
cmp dword [ebp - 0x5d8], 0
jne 0x10055a0
push dword [ebp - 0x5dc]
lea ecx, [ebp - 0x5d4]
call fcn.0100a825
lea eax, [ebp - 0x4cb]
push eax
lea eax, [ebp - 0x4cf]
push eax
lea eax, [ebp - 0x10c]
push 0x1001754
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp + eax - 0x10d], 0
push 0x100143c
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x10c]
push eax
push 0x1001750
push 0x1001444
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x1c8]
call fcn.0100a67c
test eax, eax
je 0x10055d0
cmp byte [edi], 0
jne 0x10055d0
push 0x10016a4
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call edi
push 0x1001738
lea eax, [esi + 0x3dd]
push eax
call edi
push 0
push 0
push dword [esi]
push esi
push dword [ebp - 0x5e4]
push dword [ebp - 0x5f4]
call dword [ebp - 0x5f0]
test eax, eax
jne 0x10055f7
mov dword [ebp - 0x5e0], 1
push esi
call fcn.0100a0a7
mov eax, dword [ebp - 0x5e0]
jmp 0x1005607
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01009b9d
leave
ret 0xc