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

Disassembly:
push 0xfc
mov eax, 0x100274be
call fcn.1002684e
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
xor ebx, ebx
push ebx
push ebx
call edi
mov esi, eax
push ebx
lea ecx, [esi - 1]
push ecx
lea ecx, [ebp - 0xa8]
call fcn.1000287e
push 7
pop ebx
cmp dword [ebp - 0x94], ebx
lea ecx, [ebp - 0xa8]
cmova ecx, dword [ebp - 0xa8]
push ecx
push esi
call edi
xor esi, esi
lea edx, [ebp - 0xa8]
push str.Game.ini
lea ecx, [ebp - 0x74]
mov dword [ebp - 4], esi
call fcn.10003cb2
pop ecx
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 2
call fcn.100030d2
xor eax, eax
lea edi, [ebp - 0x44]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x44]
push 0x103
push esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
call fcn.10004090
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x74]
cmp dword [ebp - 0x60], ebx
lea eax, [ebp - 0x44]
cmova ecx, dword [ebp - 0x74]
cmp dword [ebp - 0x30], ebx
push ecx
cmova eax, dword [ebp - 0x44]
push 0x104
push eax
push esi
push str.Library
push str.Game
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x100026a5
cmp dword [ebp - 0x30], ebx
lea eax, [ebp - 0x44]
cmova eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
test esi, esi
je 0x100026aa
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.RGSSEval
push esi
call edi
mov ebx, eax
test ebx, ebx
jne 0x100023b2
lea eax, [ebp - 0x44]
mov edx, str.Failed_to_get_address_of_RGSSEval_from
push eax
lea ecx, [ebp - 0xf0]
call fcn.10003fab
pop ecx
mov byte [ebp - 4], 6
jmp 0x100026d4
push str.RGSSErrorMessage
push esi
call edi
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x100023e2
lea eax, [ebp - 0x44]
mov edx, str.Failed_to_get_address_of_RGSSErrorMessage_from
push eax
lea ecx, [ebp - 0xf0]
call fcn.10003fab
pop ecx
mov byte [ebp - 4], 7
jmp 0x100026d4
xor eax, eax
lea edi, [ebp - 0x2c]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x2c]
push 0x103
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
push eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
call fcn.10004090
cmp dword [ebp - 0x18], 7
lea eax, [ebp - 0x2c]
push 0x104
cmova eax, dword [ebp - 0x2c]
push eax
push 0x10000000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov byte [ebp - 4], 8
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
cmova eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov esi, eax
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
push esi
lea ecx, [ebp - 0xa8]
call fcn.100028a8
mov byte [ebp - 4], 9
lea edx, [ebp - 0xa8]
cmp dword [ebp - 0x94], 7
lea ecx, [ebp - 0x8c]
cmova edx, dword [ebp - 0xa8]
call fcn.1000547d
lea ecx, [ebp - 0xa8]
call fcn.100030d2
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.100030d2
lea ecx, [ebp - 0x108]
call fcn.100055ee
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x14], 7
jbe 0x10002499
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x5c]
call fcn.1000547d
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xf
call fcn.100030d2
mov edx, dword [ebp - 0x48]
lea edi, [ebp - 0x5c]
mov esi, dword [ebp - 0x5c]
lea eax, [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
cmp edx, 0xf
cmova edi, esi
add edi, ecx
cmp edx, 0xf
cmova eax, esi
cmp eax, edi
je 0x100024e9
cmp byte [eax], 0x5c
jne 0x100024db
mov byte [eax], 0x2f
inc eax
cmp eax, edi
jne 0x100024d3
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x5c]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 0x18
jb 0x100026db
push ecx
cmp edx, 0xf
lea eax, [ebp - 0x5c]
cmova eax, esi
push eax
push 0x18
push ecx
push ecx
push dword [ebp - 0x90]
lea ecx, [ebp - 0xc0]
call fcn.10004c71
push 1
push 0x10030330
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x10
call fcn.10003126
push eax
lea ecx, [ebp - 0xd8]
call fcn.10002934
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0xd8]
call fcn.10002913
push eax
lea ecx, [ebp - 0x2c]
call fcn.10002934
push 0xc
push str._RgssMod.rb
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.10003126
push eax
lea ecx, [ebp - 0xa8]
call fcn.10002934
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0xa8]
cmp dword [ebp - 0x94], 0xf
cmova eax, dword [ebp - 0xa8]
push eax
call ebx
pop ecx
lea ecx, [ebp - 0xa8]
mov edi, eax
call fcn.10003100
lea ecx, [ebp - 0x2c]
call fcn.10003100
lea ecx, [ebp - 0xd8]
call fcn.10003100
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xf
call fcn.10003100
test edi, edi
je 0x1000267c
call dword [ebp - 0x90]
mov edx, edi
lea ecx, [ebp - 0xf0]
mov esi, eax
call fcn.100013f7
push 0x18
push ecx
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.10004cf4
push eax
lea ecx, [ebp - 0xc0]
call fcn.10002843
push 0x10030350
lea edx, [ebp - 0xc0]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xd8]
call fcn.10003cb2
pop ecx
push esi
mov edx, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2c]
call fcn.10003cb2
pop ecx
lea ecx, [ebp - 0xd8]
call fcn.100030d2
lea ecx, [ebp - 0xc0]
call fcn.100030d2
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x1a
call fcn.100030d2
cmp dword [ebp - 0x18], 7
lea edx, [ebp - 0x2c]
push dword [ebp - 0x1c]
cmova edx, dword [ebp - 0x2c]
call fcn.1000512e
pop ecx
mov edx, 0x1003038c
mov ecx, eax
call fcn.10003d12
lea ecx, [ebp - 0x2c]
call fcn.10005464
lea ecx, [ebp - 0x2c]
call fcn.100030d2
lea ecx, [ebp - 0x5c]
call fcn.10003100
lea ecx, [ebp - 0x8c]
call fcn.10003100
lea ecx, [ebp - 0x44]
call fcn.100030d2
lea ecx, [ebp - 0x74]
call fcn.100030d2
call fcn.100267fd
ret
call fcn.100058d3
push str.Failed_to_load
lea ecx, [ebp - 0xf0]
call fcn.100028a8
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 4
push ecx
mov edx, eax
lea ecx, [ebp - 0x108]
call fcn.10003cf0
pop ecx
mov byte [ebp - 4], 5
mov ecx, eax
call fcn.100058c5
call fcn.100013ec
int3