Function at 0x4e1240
Capabilities:
Identify system language via api
Read .ini file
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
mov eax, dword [0x5a53f4]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x200], ecx
lea eax, [ebp - 0x1a0]
push eax
call fcn.00408440
add esp, 4
push eax
mov ecx, dword [ebp - 0x200]
add ecx, 4
call fcn.004032d0
lea ecx, [ebp - 0x1a0]
call fcn.00404d70
push 0x57bcc8
lea ecx, [ebp - 0x28]
push ecx
call fcn.0050cd60
add esp, 8
lea ecx, [ebp - 0x28]
call fcn.00406540
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x200]
call fcn.004e1830
test eax, eax
jne 0x4e12d2
mov dword [ebp - 0x1a4], 0
lea ecx, [ebp - 0x28]
call fcn.00406510
mov eax, dword [ebp - 0x1a4]
jmp 0x4e181f
push 0x57bcd8
mov eax, dword [ebp - 0x200]
add eax, 4
push eax
lea ecx, [ebp - 4]
push ecx
call fcn.0040a650
add esp, 0xc
lea ecx, [ebp - 4]
call fcn.00404d60
push eax
push 0x40
push 0x40
mov ecx, dword [ebp - 0x200]
add ecx, 0x14
call fcn.004049b0
push eax
push 0x57bcf0
push 0x57bcf8
push 0x57bd0c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x200]
add ecx, 0x14
call fcn.00404800
lea ecx, [ebp - 8]
call fcn.004e1d30
push 0x17
push 0
push 0x57be54
push 0x57bd14
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x1ac]
push eax
call fcn.004e1fc0
add esp, 0xc
mov ecx, eax
call fcn.004e1e30
lea ecx, [ebp - 8]
call fcn.00481680
movzx ecx, al
test ecx, ecx
je 0x4e1798
push str.CommonXMLCommonResource.xml
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x48]
push eax
call fcn.0040b0e0
add esp, 0xc
lea ecx, [ebp - 0x48]
call fcn.00406540
push eax
lea ecx, [ebp - 0x1b4]
call fcn.00403220
mov ecx, dword [ebp - 0x200]
add ecx, 0x24
push ecx
lea edx, [ebp - 0x1b4]
push edx
call fcn.004f4930
add esp, 8
movzx eax, al
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x1ad], al
lea ecx, [ebp - 0x1b4]
call fcn.00404d70
movzx ecx, byte [ebp - 0x1ad]
test ecx, ecx
je 0x4e1417
mov ecx, dword [ebp - 0x200]
add ecx, 0x24
call int.00420850
push 0x57bd64
lea ecx, [ebp - 0x1b8]
call fcn.00403220
lea edx, [ebp - 0x1b8]
push edx
mov ecx, dword [ebp - 0x200]
add ecx, 0x24
call fcn.004207c0
lea ecx, [ebp - 0x1b8]
call fcn.00404d70
lea ecx, [ebp - 0x48]
call fcn.00406540
push ecx
mov ecx, esp
push eax
call fcn.0040da80
push 0
lea ecx, [ebp - 8]
call fcn.00481650
mov ecx, eax
call fcn.004e21c0
lea ecx, [ebp - 8]
call fcn.004e1d50
push eax
push 0
mov ecx, dword [ebp - 0x200]
add ecx, 0xc
call fcn.00481720
mov ecx, eax
call fcn.004e2280
mov ecx, dword [ebp - 0x200]
add ecx, 0x14
call fcn.00404d60
push ecx
mov ecx, esp
push eax
call fcn.0040da80
mov ecx, dword [ebp - 0x200]
add ecx, 0xc
call fcn.00481720
mov ecx, eax
call fcn.004e2220
push ecx
mov ecx, esp
push 0x57bd6c
call fcn.0040da80
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebp - 8]
call fcn.00481650
mov ecx, eax
call fcn.004e2150
mov ecx, eax
call fcn.004a7800
push eax
lea ecx, [ebp - 0x64]
call fcn.0040a750
lea ecx, [ebp - 0x1c8]
call fcn.0040db30
push 0x57bd7c
lea ecx, [ebp - 0x64]
call fcn.00406540
push eax
call fcn.005354dc
add esp, 8
test eax, eax
je 0x4e151c
push ecx
mov ecx, esp
push 0x57bd84
call fcn.0040da80
mov ecx, dword [ebp - 0x200]
add ecx, 0xc
call fcn.00481720
mov ecx, eax
call fcn.004e2220
mov ecx, dword [ebp - 0x200]
mov byte [ecx + 0x21], 1
push 0x57bd8c
mov ecx, dword [ebp - 0x200]
add ecx, 0x14
call fcn.004032f0
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov word [ebp - 0x2c], ax
movzx edx, word [ebp - 0x2c]
cmp edx, 0x419
jne 0x4e1569
push 0x57bd94
mov eax, dword [ebp - 0x200]
add eax, 0x14
push eax
call fcn.004e1d10
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4e1569
mov ecx, dword [ebp - 0x200]
call fcn.004e1bf0
mov edx, dword [ebp - 0x200]
mov byte [edx + 0x20], al
jmp 0x4e1788
push ecx
mov ecx, esp
push str.autolinebreak
call fcn.0040da80
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 8]
call fcn.00481650
mov ecx, eax
call fcn.004e2150
mov ecx, eax
call fcn.004a7800
push eax
lea ecx, [ebp - 0x68]
call fcn.00403220
lea ecx, [ebp - 0x1d4]
call fcn.0040db30
push 0
push 0x57bdb8
lea ecx, [ebp - 0x68]
call fcn.00403460
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x4e15f2
push 0x57bdbc
lea ecx, [ebp - 0x68]
call fcn.00404d60
push eax
call fcn.005354dc
add esp, 8
test eax, eax
jne 0x4e15ed
mov ecx, dword [ebp - 0x200]
call fcn.004e1bf0
mov ecx, dword [ebp - 0x200]
mov byte [ecx + 0x20], al
jmp 0x4e1780
mov edx, dword [ebp - 0x6c]
add edx, 1
push edx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x68]
call fcn.00432e40
push 0
push 0x57bdc4
lea ecx, [ebp - 0x70]
call fcn.00403460
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
je 0x4e1778
mov ecx, dword [ebp - 0x6c]
add ecx, 1
push ecx
lea edx, [ebp - 0x74]
push edx
lea ecx, [ebp - 0x70]
call fcn.00432e40
mov dword [ebp - 0x6c], 0
lea eax, [ebp - 0x6c]
push eax
push 0x57bdc8
lea ecx, [ebp - 0x1d8]
push ecx
lea ecx, [ebp - 0x74]
call fcn.00403330
mov ecx, eax
call fcn.00404d60
push eax
call fcn.005352d2
add esp, 4
mov dword [ebp - 0x198], eax
lea ecx, [ebp - 0x1d8]
call fcn.00404d70
lea edx, [ebp - 0x6c]
push edx
push 0x57bdcc
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x74]
call fcn.00403330
mov dword [ebp - 0x190], 0
push 0x110
push 0
lea ecx, [ebp - 0x18c]
push ecx
call fcn.00534b20
add esp, 0xc
mov dword [ebp - 0x190], 0x114
lea edx, [ebp - 0x190]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [ebp - 0x198]
cmp eax, dword [ebp - 0x18c]
jne 0x4e1765
push 0x57bdd0
lea ecx, [ebp - 0x194]
push ecx
call fcn.004e1cd0
add esp, 8
movzx edx, al
test edx, edx
je 0x4e1706
mov ecx, dword [ebp - 0x200]
call fcn.004e1bf0
mov ecx, dword [ebp - 0x200]
mov byte [ecx + 0x20], al
jmp 0x4e1765
lea ecx, [ebp - 0x194]
call fcn.00404d60
push eax
call fcn.005352d2
add esp, 4
mov dword [ebp - 0x19c], eax
mov edx, dword [ebp - 0x19c]
cmp edx, dword [ebp - 0x188]
jne 0x4e174c
mov ecx, dword [ebp - 0x200]
call fcn.004e1bf0
movzx eax, al
test eax, eax
je 0x4e174c
mov dword [ebp - 0x204], 1
jmp 0x4e1756
mov dword [ebp - 0x204], 0
mov ecx, dword [ebp - 0x200]
mov dl, byte [ebp - 0x204]
mov byte [ecx + 0x20], dl
lea ecx, [ebp - 0x194]
call fcn.00404d70
lea ecx, [ebp - 0x74]
call fcn.00404d70
lea ecx, [ebp - 0x70]
call fcn.00404d70
lea ecx, [ebp - 0x68]
call fcn.00404d70
lea ecx, [ebp - 0x64]
call fcn.00406510
lea ecx, [ebp - 0x48]
call fcn.00406510
mov ecx, dword [ebp - 0x200]
add ecx, 0x14
call fcn.00404d60
push eax
push 0x57bdd4
lea eax, [ebp - 0x1f4]
push eax
call fcn.0050ced0
add esp, 8
mov ecx, eax
call fcn.00406540
push eax
lea ecx, [ebp - 0x1f8]
push ecx
call fcn.00401ba0
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x200]
add ecx, 0x18
call fcn.004032d0
lea ecx, [ebp - 0x1f8]
call fcn.00404d70
lea ecx, [ebp - 0x1f4]
call fcn.00406510
mov dword [ebp - 0x1fc], 1
lea ecx, [ebp - 8]
call fcn.0048b1b0
lea ecx, [ebp - 4]
call fcn.00404d70
lea ecx, [ebp - 0x28]
call fcn.00406510
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.005308cb
mov esp, ebp
pop ebp
ret 4