Function at 0x100020a0
Capabilities:
Check if file exists
Create thread
Get file attributes
Link many functions at runtime
Set environment variable

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0xc], 1
push esi
jne 0x100022b5
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push edi
push str.PangyaUS.ini
call esi
cmp eax, 0xffffffff
jne 0x100020fe
push str.PangyaJP.ini
call esi
cmp eax, 0xffffffff
jne 0x100020e7
push str.PangyaTH.ini
call esi
cmp eax, 0xffffffff
je 0x100020fe
push 0
push str.rugburn
push str.No_GameGuard_patch_is_available_for_PangyaTH.
jmp 0x1000210a
push 0
push 0
push 0
push 0x100018c0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x10002124
push 0
push str.rugburn
push str.No_GameGuard_patch_is_available_for_PangyaUS.
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call edi
push 0
push str.rugburn
push str.It_looks_like_no_patch_exists_for_this_version_of_PangYa._nThe_game_will_likely_exit_a_couple_minutes_after_detecting_GameGuard_is_not_present.
push 0
call edi
cmp dword [0x10006008], 0
jne 0x100022bf
push str.ijl15_real
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x100022c9
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1000430c
push eax
mov dword [0x10006008], eax
call edi
test eax, eax
je 0x100022df
push 0x10004320
push dword [0x10006008]
mov dword [0x1000601c], eax
call edi
test eax, eax
je 0x100022f5
push 0x10004328
push dword [0x10006008]
mov dword [0x10006018], eax
call edi
test eax, eax
je 0x1000230b
push 0x10004330
push dword [0x10006008]
mov dword [0x10006014], eax
call edi
test eax, eax
je 0x10002321
push 0x10004338
push dword [0x10006008]
mov dword [0x10006010], eax
call edi
test eax, eax
je 0x10002337
push 0x10004344
push dword [0x10006008]
mov dword [0x1000600c], eax
call edi
test eax, eax
je 0x1000234d
push 0x288
push 0
push 0x10006060
mov dword [0x10006004], eax
call sub.msvcrt.dll_memset
add esp, 0xc
call fcn.10002730
mov ecx, dword [0x10006260]
push str.PangyaUS.ini
mov dword [ecx*8 + 0x10006060], eax
mov ecx, 0x2a33
mov eax, dword [0x10006260]
mov dword [eax*8 + 0x10006064], 0x10004214
mov eax, dword [0x100062e4]
inc dword [0x10006260]
mov word [eax*8 + 0x10006264], cx
mov ecx, 0x27d9
mov eax, dword [0x100062e4]
mov word [eax*8 + 0x10006266], cx
mov eax, dword [0x100062e4]
mov dword [eax*8 + 0x10006268], 0x1000422c
inc dword [0x100062e4]
call esi
cmp eax, 0xffffffff
jne 0x10002287
push str.PangyaJP.ini
call esi
cmp eax, 0xffffffff
jne 0x10002280
push str.PangyaTH.ini
call esi
cmp eax, 0xffffffff
je 0x10002287
push str.E69B65A2_7A7E_4977_85E5_B19516D885CB
jmp 0x1000228c
push str.2D0FA24B_336B_4e99_9D30_3116331EFDA0
call dword [sym.imp.SHLWAPI.dll_StrDupA]
mov esi, eax
push esi
push str.PANGYA_ARG
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
pop edi
test eax, eax
je 0x10002363
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
call fcn.10003260
mov eax, 1
pop esi
pop ebp
ret 0xc
push str.Error:_ijl15_is_already_initialized_
call fcn.10001020
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ijl15_real
push str.Could_not_load_module__s___08x_
call fcn.10001020
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1000430c
push str.Could_not_load_proc__s___08x_
call fcn.10001020
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10004320
push str.Could_not_load_proc__s___08x_
call fcn.10001020
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10004328
push str.Could_not_load_proc__s___08x_
call fcn.10001020
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10004330
push str.Could_not_load_proc__s___08x_
call fcn.10001020
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10004338
push str.Could_not_load_proc__s___08x_
call fcn.10001020
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10004344
push str.Could_not_load_proc__s___08x_
call fcn.10001020
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Couldnt_set_PANGYA_ARG___08x_
call fcn.10001020
int3