Function at 0x100028f0
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 0x10002b53
mov esi, dword [sym.imp.KERNEL32.dll_LocalAlloc]
push ebx
push edi
push 0x1000
push 0
call esi
push 0x1000
push 0
mov ebx, eax
call esi
push 0x1000
mov edi, eax
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea esi, [edi + eax]
cmp esi, edi
jbe 0x1000293e
cmp byte [esi], 0x5c
je 0x1000293d
dec esi
cmp esi, edi
ja 0x10002931
jmp 0x1000293e
inc esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push esi
push str._s:_d_
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
add esp, 0x10
mov dword [section..data], ebx
push str.PangyaUS.ini
call edi
cmp eax, 0xffffffff
jne 0x100029b4
push str.PangyaJP.ini
call edi
cmp eax, 0xffffffff
je 0x10002980
mov eax, 0x10002010
jmp 0x100029b9
push str.PangyaTH.ini
call edi
cmp eax, 0xffffffff
je 0x100029b4
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push str.rugburn
push str.No_GameGuard_patch_is_available_for_PangyaTH.
push 0
call esi
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 esi
jmp 0x100029ca
mov eax, 0x10001d20
push 0
push 0
push 0
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp dword [0x10006008], 0
jne 0x10002b5d
push str.ijl15_real
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x10002b67
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x10004508
push eax
mov dword [0x10006008], eax
call esi
test eax, eax
je 0x10002b7d
push 0x1000451c
push dword [0x10006008]
mov dword [0x1000601c], eax
call esi
test eax, eax
je 0x10002b93
push 0x10004524
push dword [0x10006008]
mov dword [0x10006018], eax
call esi
test eax, eax
je 0x10002ba9
push 0x1000452c
push dword [0x10006008]
mov dword [0x10006014], eax
call esi
test eax, eax
je 0x10002bbf
push 0x10004534
push dword [0x10006008]
mov dword [0x10006010], eax
call esi
test eax, eax
je 0x10002bd5
push 0x10004540
push dword [0x10006008]
mov dword [0x1000600c], eax
call esi
test eax, eax
je 0x10002beb
push str.rugburn.json
mov dword [0x10006004], eax
call edi
mov esi, dword [sym.imp.SHLWAPI.dll_StrDupA]
cmp eax, 0xffffffff
jne 0x10002ac8
push str.No_rugburn.json_config_file_found._An_example_configuration_will_be_saved.
call fcn.10001180
push 0xd5
mov edx, str._r_n___UrlRewrites_:__r_n_____http:___a_zA_Z0_9:.___.__:__http:__localhost:8080__0__r_n____r_n___PortRewrites_:___r_n_____r_n_______FromPort_:_10103__r_n_______ToPort_:_10101__r_n_______ToAddr_:__localhost__r_n_____r_n____r_n_r_n
mov ecx, str.rugburn.json
call fcn.100010b0
add esp, 8
push str._r_n___UrlRewrites_:__r_n_____http:___a_zA_Z0_9:.___.__:__http:__localhost:8080__0__r_n____r_n___PortRewrites_:___r_n_____r_n_______FromPort_:_10103__r_n_______ToPort_:_10101__r_n_______ToAddr_:__localhost__r_n_____r_n____r_n_r_n
call esi
jmp 0x10002ad2
mov ecx, str.rugburn.json
call section..text
push 0x288
push 0
push 0x10006060
mov dword [ebp + 0xc], eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [ebp + 0xc]
mov edx, 0x10001460
call fcn.10001bd0
push str.PangyaUS.ini
call edi
cmp eax, 0xffffffff
jne 0x10002b28
push str.PangyaJP.ini
call edi
cmp eax, 0xffffffff
je 0x10002b15
push str.E69B65A2_7A7E_4977_85E5_B19516D885CB
jmp 0x10002b2d
push str.PangyaTH.ini
call edi
cmp eax, 0xffffffff
je 0x10002b28
push str.E69B65A2_7A7E_4977_85E5_B19516D885CB
jmp 0x10002b2d
push str.2D0FA24B_336B_4e99_9D30_3116331EFDA0
call esi
mov esi, eax
push esi
push str.PANGYA_ARG
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
pop edi
pop ebx
test eax, eax
je 0x10002c01
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
call fcn.10003500
mov eax, 1
pop esi
pop ebp
ret 0xc
push str.Error:_ijl15_is_already_initialized_
call fcn.10001130
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ijl15_real
push str.Could_not_load_module__s___08x_
call fcn.10001130
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10004508
push str.Could_not_load_proc__s___08x_
call fcn.10001130
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1000451c
push str.Could_not_load_proc__s___08x_
call fcn.10001130
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10004524
push str.Could_not_load_proc__s___08x_
call fcn.10001130
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1000452c
push str.Could_not_load_proc__s___08x_
call fcn.10001130
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10004534
push str.Could_not_load_proc__s___08x_
call fcn.10001130
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10004540
push str.Could_not_load_proc__s___08x_
call fcn.10001130
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Couldnt_set_PANGYA_ARG___08x_
call fcn.10001130
int3