Function at 0x4b0f60
Capabilities:
Get common file path
Identify system language via api
Read .ini file
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0x5e6468]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x22c], ecx
lea eax, [ebp - 0x1b0]
push eax
call fcn.00434c10
add esp, 4
push eax
mov ecx, dword [ebp - 0x22c]
add ecx, 4
call fcn.00427000
lea ecx, [ebp - 0x1b0]
call fcn.00426fe0
lea ecx, [ebp - 0x28]
call fcn.0042df30
movzx ecx, byte [ebp + 0x10]
cmp ecx, 1
jne 0x4b1010
lea ecx, [ebp - 0x2c]
call fcn.00426ee0
push 0x104
lea ecx, [ebp - 0x2c]
call fcn.004a10e0
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4b1008
mov edx, dword [ebp - 0x30]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x2c]
call fcn.0042bd10
lea ecx, [ebp - 0x2c]
call fcn.004273c0
push eax
lea ecx, [ebp - 0x28]
call fcn.004464f0
push 0x5a7a1c
lea ecx, [ebp - 0x28]
call fcn.004307c0
lea ecx, [ebp - 0x2c]
call fcn.00426fe0
lea ecx, [ebp - 0x28]
call fcn.00446750
movzx eax, al
test eax, eax
je 0x4b1056
push 0x5a7a20
lea ecx, [ebp - 0x1cc]
push ecx
call fcn.004a2570
add esp, 8
push eax
lea ecx, [ebp - 0x28]
call fcn.004464d0
lea ecx, [ebp - 0x1cc]
call fcn.00424f60
lea ecx, [ebp - 0x28]
call fcn.0042bd60
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x22c]
call fcn.004b16a0
test eax, eax
jne 0x4b1086
mov dword [ebp - 0x1d0], 0
lea ecx, [ebp - 0x28]
call fcn.00424f60
mov eax, dword [ebp - 0x1d0]
jmp 0x4b168b
push 0x5a7a30
mov eax, dword [ebp - 0x22c]
add eax, 4
push eax
lea ecx, [ebp - 4]
push ecx
call fcn.004272e0
add esp, 0xc
lea ecx, [ebp - 4]
call fcn.004273c0
push eax
push 0x40
push 0x40
mov ecx, dword [ebp - 0x22c]
add ecx, 0x14
call fcn.00427700
push eax
push 0x5a7a48
push 0x5a7a50
push 0x5a7a64
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x22c]
add ecx, 0x14
call fcn.0042bd10
lea ecx, [ebp - 8]
call fcn.004b1bf0
push 0x17
push 0
push 0x5a7bb8
push 0x5a7a6c
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x1d8]
push eax
call fcn.004b1f00
add esp, 0xc
mov ecx, eax
call fcn.004b1d70
lea ecx, [ebp - 8]
call fcn.004b1c50
movzx ecx, al
test ecx, ecx
je 0x4b1604
push str.CommonXMLCommonResource.xml
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x50]
push eax
call fcn.0042fcb0
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.0042bd60
push eax
lea ecx, [ebp - 0x1e0]
call fcn.00426f30
mov ecx, dword [ebp - 0x22c]
add ecx, 0x24
push ecx
lea edx, [ebp - 0x1e0]
push edx
call fcn.00507f60
add esp, 8
movzx eax, al
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x1d9], al
lea ecx, [ebp - 0x1e0]
call fcn.00426fe0
movzx ecx, byte [ebp - 0x1d9]
test ecx, ecx
je 0x4b11cb
mov ecx, dword [ebp - 0x22c]
add ecx, 0x24
call fcn.00446cf0
push 0x5a7abc
lea ecx, [ebp - 0x1e4]
call fcn.00426f30
lea edx, [ebp - 0x1e4]
push edx
mov ecx, dword [ebp - 0x22c]
add ecx, 0x24
call fcn.00446c60
lea ecx, [ebp - 0x1e4]
call fcn.00426fe0
lea ecx, [ebp - 0x50]
call fcn.0042bd60
push ecx
mov ecx, esp
push eax
call fcn.00429d00
push 0
lea ecx, [ebp - 8]
call fcn.004b1c20
mov ecx, eax
call fcn.004b2210
lea ecx, [ebp - 8]
call fcn.004b1c10
push eax
push 0
mov ecx, dword [ebp - 0x22c]
add ecx, 0xc
call fcn.004b1ce0
mov ecx, eax
call fcn.004b22d0
cmp dword [ebp + 0xc], 0
je 0x4b12ad
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x70]
call fcn.00426f30
push 0
mov ecx, dword [ebp - 0x22c]
add ecx, 0x14
call fcn.004273c0
push eax
lea ecx, [ebp - 0x70]
call fcn.004467e0
cmp eax, 0xffffffff
jne 0x4b12a5
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x78]
push ecx
push 0x5a7ac4
lea edx, [ebp - 0x74]
push edx
lea ecx, [ebp - 0x70]
call fcn.00495510
lea ecx, [ebp - 0x74]
call fcn.004273e0
movzx eax, al
test eax, eax
jne 0x4b1280
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x22c]
add ecx, 0x14
call fcn.00427000
jmp 0x4b1293
push 0x5a7ac8
mov ecx, dword [ebp - 0x22c]
add ecx, 0x14
call fcn.00427020
mov edx, dword [ebp - 0x22c]
mov byte [edx + 0x21], 1
lea ecx, [ebp - 0x74]
call fcn.00426fe0
lea ecx, [ebp - 0x70]
call fcn.00426fe0
mov ecx, dword [ebp - 0x22c]
add ecx, 0x14
call fcn.004273c0
push ecx
mov ecx, esp
push eax
call fcn.00429d00
mov ecx, dword [ebp - 0x22c]
add ecx, 0xc
call fcn.004b1ce0
mov ecx, eax
call fcn.004b2270
push ecx
mov ecx, esp
push 0x5a7ad0
call fcn.00429d00
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 8]
call fcn.004b1c20
mov ecx, eax
call fcn.004b20d0
mov ecx, eax
call fcn.004b2030
push eax
lea ecx, [ebp - 0x6c]
call fcn.00424f10
lea ecx, [ebp - 0x1f4]
call fcn.00429db0
push 0x5a7ae0
lea ecx, [ebp - 0x6c]
call fcn.0042bd60
push eax
call fcn.0055e1f6
add esp, 8
test eax, eax
je 0x4b1370
push ecx
mov ecx, esp
push 0x5a7ae8
call fcn.00429d00
mov ecx, dword [ebp - 0x22c]
add ecx, 0xc
call fcn.004b1ce0
mov ecx, eax
call fcn.004b2270
mov ecx, dword [ebp - 0x22c]
mov byte [ecx + 0x21], 1
push 0x5a7af0
mov ecx, dword [ebp - 0x22c]
add ecx, 0x14
call fcn.00427020
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov word [ebp - 0x34], ax
movzx edx, word [ebp - 0x34]
cmp edx, 0x419
jne 0x4b13bd
push 0x5a7af8
mov eax, dword [ebp - 0x22c]
add eax, 0x14
push eax
call fcn.004b1bd0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4b13bd
mov ecx, dword [ebp - 0x22c]
call fcn.004b1a60
mov edx, dword [ebp - 0x22c]
mov byte [edx + 0x20], al
jmp 0x4b15f4
push ecx
mov ecx, esp
push str.autolinebreak
call fcn.00429d00
lea eax, [ebp - 0x200]
push eax
lea ecx, [ebp - 8]
call fcn.004b1c20
mov ecx, eax
call fcn.004b20d0
mov ecx, eax
call fcn.004b2030
push eax
lea ecx, [ebp - 0x7c]
call fcn.00426f30
lea ecx, [ebp - 0x200]
call fcn.00429db0
push 0
push 0x5a7b1c
lea ecx, [ebp - 0x7c]
call fcn.004467e0
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xffffffff
jne 0x4b1446
push 0x5a7b20
lea ecx, [ebp - 0x7c]
call fcn.004273c0
push eax
call fcn.0055e1f6
add esp, 8
test eax, eax
jne 0x4b1441
mov ecx, dword [ebp - 0x22c]
call fcn.004b1a60
mov ecx, dword [ebp - 0x22c]
mov byte [ecx + 0x20], al
jmp 0x4b15ec
mov edx, dword [ebp - 0x80]
add edx, 1
push edx
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x7c]
call fcn.004468b0
push 0
push 0x5a7b28
lea ecx, [ebp - 0x84]
call fcn.004467e0
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xffffffff
je 0x4b15e1
mov ecx, dword [ebp - 0x80]
add ecx, 1
push ecx
lea edx, [ebp - 0x88]
push edx
lea ecx, [ebp - 0x84]
call fcn.004468b0
mov dword [ebp - 0x80], 0
lea eax, [ebp - 0x80]
push eax
push 0x5a7b2c
lea ecx, [ebp - 0x204]
push ecx
lea ecx, [ebp - 0x88]
call fcn.00495510
mov ecx, eax
call fcn.004273c0
push eax
call fcn.0055e008
add esp, 4
mov dword [ebp - 0x1a8], eax
lea ecx, [ebp - 0x204]
call fcn.00426fe0
lea edx, [ebp - 0x80]
push edx
push 0x5a7b30
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x88]
call fcn.00495510
mov dword [ebp - 0x1a0], 0
push 0x110
push 0
lea ecx, [ebp - 0x19c]
push ecx
call fcn.0055e2a0
add esp, 0xc
mov dword [ebp - 0x1a0], 0x114
lea edx, [ebp - 0x1a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [ebp - 0x1a8]
cmp eax, dword [ebp - 0x19c]
jne 0x4b15cb
push 0x5a7b34
lea ecx, [ebp - 0x1a4]
push ecx
call fcn.004b1b90
add esp, 8
movzx edx, al
test edx, edx
je 0x4b156c
mov ecx, dword [ebp - 0x22c]
call fcn.004b1a60
mov ecx, dword [ebp - 0x22c]
mov byte [ecx + 0x20], al
jmp 0x4b15cb
lea ecx, [ebp - 0x1a4]
call fcn.004273c0
push eax
call fcn.0055e008
add esp, 4
mov dword [ebp - 0x1ac], eax
mov edx, dword [ebp - 0x1ac]
cmp edx, dword [ebp - 0x198]
jne 0x4b15b2
mov ecx, dword [ebp - 0x22c]
call fcn.004b1a60
movzx eax, al
test eax, eax
je 0x4b15b2
mov dword [ebp - 0x230], 1
jmp 0x4b15bc
mov dword [ebp - 0x230], 0
mov ecx, dword [ebp - 0x22c]
mov dl, byte [ebp - 0x230]
mov byte [ecx + 0x20], dl
lea ecx, [ebp - 0x1a4]
call fcn.00426fe0
lea ecx, [ebp - 0x88]
call fcn.00426fe0
lea ecx, [ebp - 0x84]
call fcn.00426fe0
lea ecx, [ebp - 0x7c]
call fcn.00426fe0
lea ecx, [ebp - 0x6c]
call fcn.00424f60
lea ecx, [ebp - 0x50]
call fcn.00424f60
mov ecx, dword [ebp - 0x22c]
add ecx, 0x14
call fcn.004273c0
push eax
push 0x5a7b38
lea eax, [ebp - 0x220]
push eax
call fcn.004a2760
add esp, 8
mov ecx, eax
call fcn.0042bd60
push eax
lea ecx, [ebp - 0x224]
push ecx
call fcn.0049fc20
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x22c]
add ecx, 0x18
call fcn.00427000
lea ecx, [ebp - 0x224]
call fcn.00426fe0
lea ecx, [ebp - 0x220]
call fcn.00424f60
mov dword [ebp - 0x228], 1
lea ecx, [ebp - 8]
call fcn.004b2610
lea ecx, [ebp - 4]
call fcn.00426fe0
lea ecx, [ebp - 0x28]
call fcn.00424f60
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0055e289
mov esp, ebp
pop ebp
ret 0xc