Function at 0x4f5240
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6add29
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x778400]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 8], 0
je 0x4f52bf
mov eax, dword [0x784ec0]
and eax, 1
jne 0x4f52b0
mov ecx, dword [0x784ec0]
or ecx, 1
mov dword [0x784ec0], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp + 8]
push edx
mov ecx, 0x784ea8
call fcn.00418f80
push 0x6b64d0
call fcn.0066d110
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, 0x784ea8
call fcn.0041b040
mov dword [str.Demo], eax
push 0x781db8
call fcn.004f5ba0
add esp, 4
mov dword [ebp - 0x30], 0
jmp 0x4f52de
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x5c
jge 0x4f5307
mov ecx, dword [ebp - 0x30]
lea edx, [ecx*8 + 0x781db8]
push edx
mov ecx, 0x781db0
call fcn.004f85f0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx*8 + 0x781dbc]
mov dword [eax], edx
jmp 0x4f52d5
mov ax, word [ebp + 0xc]
mov word [ebp - 0x2c], ax
movzx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x4f5321
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [ebp - 0x2c], ax
push 1
push 0x6de704
push 0x6dca3c
lea edx, [ebp - 0x28]
push edx
call fcn.004e6960
add esp, 0x10
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.0041b040
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4f537f
lea ecx, [ebp - 0x28]
call fcn.0041b040
push eax
push 0
push str.setup_test_language
push 0x6dcb5c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x4f537f
mov ax, word [ebp - 0x38]
mov word [ebp - 0x2c], ax
movzx ecx, word [ebp - 0x2c]
and ecx, 0x3ff
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
sub edx, 3
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 0x1a
ja case.0x4f53a5.3
mov eax, dword [ebp - 0x34]
movzx ecx, byte [eax + 0x4f592c]
jmp dword [ecx*4 + 0x4f58ec]
movzx edx, word [ebp - 0x2c]
push edx
push str.Language_is_EN__id___d
call fcn.004e64c0
add esp, 8
push 0x781db8
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f4b0
push str.English
mov ecx, 0x784e60
call fcn.004157b0
push 0x6dd134
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx eax, word [ebp - 0x2c]
push eax
push str.Language_is_IT_YiDaLi___id___d
call fcn.004e64c0
add esp, 8
push 0x783d58
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f5a0
push str.Italian
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c18b4
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx ecx, word [ebp - 0x2c]
push ecx
push str.Language_is_NL_HeLan___id___d
call fcn.004e64c0
add esp, 8
push 0x784038
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f5b8
push str.Dutch
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c1b5c
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx edx, word [ebp - 0x2c]
push edx
push str.Language_is_NO_NuoWei___id___d
call fcn.004e64c0
add esp, 8
push 0x784318
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f5d0
push str.Norwegian
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c1ee4
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx eax, word [ebp - 0x2c]
push eax
push str.Language_is_PL_BoLan___id___d
call fcn.004e64c0
add esp, 8
push 0x7845b0
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f5e8
push str.Polish
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c2084
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx ecx, word [ebp - 0x2c]
push ecx
push str.Language_is_PT_PuTaoYa___id___d
call fcn.004e64c0
add esp, 8
push 0x784890
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f600
push str.Portuguese
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c214c
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx edx, word [ebp - 0x2c]
push edx
push str.Language_is_SVE_RuiDian___id___d
call fcn.004e64c0
add esp, 8
push 0x784b80
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f618
push str.Swedish
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c2400
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx eax, word [ebp - 0x2c]
push eax
push str.Language_is_HU_XiongYaLi___id___d
call fcn.004e64c0
add esp, 8
push 0x783a78
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f588
push str.Hungarian
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c2644
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx ecx, word [ebp - 0x2c]
push ecx
push str.Language_is_CATALA_XiBanYa___id___d
call fcn.004e64c0
add esp, 8
push 0x7834b8
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f570
push 0x6c273c
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c2744
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx edx, word [ebp - 0x2c]
push edx
push str.Language_is_SPANISH_XiBanYa___id___d
call fcn.004e64c0
add esp, 8
push 0x7834b8
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f570
push str.Spanish
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c2978
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx eax, word [ebp - 0x2c]
push eax
push str.Language_is_CZ_JieKe___id___d
call fcn.004e64c0
add esp, 8
push 0x7831d8
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f558
push str.Czech
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c297c
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx ecx, word [ebp - 0x2c]
sar ecx, 0xa
cmp ecx, 2
jne 0x4f5745
movzx edx, word [ebp - 0x2c]
push edx
push str.Language_is_CHS_JianTi___id___d
call fcn.004e64c0
add esp, 8
push 0x782378
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f4e0
push str.Chinese_Simplified_
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c2c78
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f578c
movzx eax, word [ebp - 0x2c]
push eax
push str.Language_is_ZH_FanTi___id___d
call fcn.004e64c0
add esp, 8
push 0x782098
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f4c8
push str.Chinese_Traditional_
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c2ce8
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx ecx, word [ebp - 0x2c]
push ecx
push str.Language_is_FR_FaGuo___id___d
call fcn.004e64c0
add esp, 8
push 0x782938
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f510
push str.French
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c2cec
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx edx, word [ebp - 0x2c]
push edx
push str.Language_is_RU_ErLuoSi___id___d
call fcn.004e64c0
add esp, 8
push 0x782ef8
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f540
push str.Russian
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c3184
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx eax, word [ebp - 0x2c]
push eax
push str.Language_is_JP_RiBen___id___d
call fcn.004e64c0
add esp, 8
push 0x782658
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f4f8
push str.Japanese
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c357c
mov ecx, 0x784e78
call fcn.004157b0
jmp 0x4f58b9
movzx ecx, word [ebp - 0x2c]
push ecx
push str.Language_is_DE_DeGuo___id___d
call fcn.004e64c0
add esp, 8
push 0x782c18
call fcn.004f5ba0
add esp, 4
mov dword [0x781d98], 0x76f528
push str.German
mov ecx, 0x784e60
call fcn.004157b0
push 0x6c36b4
mov ecx, 0x784e78
call fcn.004157b0
mov dword [ebp - 0x3c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00419320
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0066c98d
mov esp, ebp
pop ebp
ret