Function at 0x477430
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x51c
mov eax, dword [0x4f6fc0]
xor eax, ebp
mov dword [ebp - 4], eax
or eax, 0xffffffff
mov word [ebp - 0x508], ax
call fcn.00478ac0
mov dword [ebp - 0x51c], eax
movsx ecx, word [0x54e8fc]
test ecx, ecx
jne 0x4774e7
push 0x5c
push 0x4ec52c
push 0x4fc4b8
push str._s_s_c064mul40
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0x14
lea eax, [ebp - 0x104]
push eax
call fcn.00419490
add esp, 4
cmp eax, 1
jne 0x4774a7
mov ecx, 0x41f
mov word [0x54e8fc], cx
push 0x5c
push str.launch
push 0x4fc4b8
push str._s_s_c028mul41
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0x14
lea eax, [ebp - 0x104]
push eax
call fcn.00419490
add esp, 4
cmp eax, 1
jne 0x4774e7
mov ecx, 0x41f
mov word [0x54e8fc], cx
cmp dword [ebp - 0x51c], 0
je 0x477509
call dword [ebp - 0x51c]
movzx edx, ax
push edx
call fcn.00478af0
add esp, 4
mov word [ebp - 0x508], ax
push 0x50
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
movsx ecx, word [ebp - 0x508]
cmp ecx, 0xffffffff
jne 0x477809
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [ebp - 0x514], ax
movzx edx, word [ebp - 0x514]
and edx, 0xff
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x518]
sub eax, 1
mov dword [ebp - 0x518], eax
cmp dword [ebp - 0x518], 0x1e
ja case.0x477571.1
mov ecx, dword [ebp - 0x518]
movzx edx, byte [ecx + 0x4778c8]
jmp dword [edx*4 + 0x477898]
mov eax, 0x401
mov word [ebp - 0x508], ax
jmp case.0x477571.1
mov ecx, 0x406
mov word [ebp - 0x508], cx
jmp case.0x477571.1
mov edx, 0x407
mov word [ebp - 0x508], dx
jmp case.0x477571.1
mov eax, 0x409
mov word [ebp - 0x508], ax
jmp case.0x477571.1
mov ecx, 0x40a
mov word [ebp - 0x508], cx
jmp case.0x477571.1
mov edx, 0x40c
mov word [ebp - 0x508], dx
jmp case.0x477571.1
mov eax, 0x410
mov word [ebp - 0x508], ax
jmp case.0x477571.1
mov ecx, 0x411
mov word [ebp - 0x508], cx
jmp case.0x477571.1
mov edx, 0x412
mov word [ebp - 0x508], dx
jmp case.0x477571.1
mov eax, 0x41e
mov word [ebp - 0x508], ax
jmp case.0x477571.1
mov ecx, 0x41f
mov word [ebp - 0x508], cx
movzx edx, word [ebp - 0x514]
mov dword [ebp - 0x50c], edx
cmp dword [ebp - 0x50c], 0x816
jg 0x47769e
cmp dword [ebp - 0x50c], 0x816
je 0x47775d
cmp dword [ebp - 0x50c], 0x807
jg 0x47767d
cmp dword [ebp - 0x50c], 0x807
je 0x477741
cmp dword [ebp - 0x50c], 0x404
je 0x477725
cmp dword [ebp - 0x50c], 0x804
je 0x477733
jmp 0x477793
cmp dword [ebp - 0x50c], 0x80a
je 0x47776b
cmp dword [ebp - 0x50c], 0x80c
je 0x4776f8
jmp 0x477793
cmp dword [ebp - 0x50c], 0xc0a
jg 0x4776db
cmp dword [ebp - 0x50c], 0xc0a
je 0x477779
cmp dword [ebp - 0x50c], 0x83e
je 0x477787
cmp dword [ebp - 0x50c], 0xc07
je 0x47774f
jmp 0x477793
cmp dword [ebp - 0x50c], 0xc0c
je 0x477709
cmp dword [ebp - 0x50c], 0x100c
je 0x477717
jmp 0x477793
mov eax, 0x40c
mov word [ebp - 0x508], ax
jmp 0x477793
mov ecx, 0x40c
mov word [ebp - 0x508], cx
jmp 0x477793
mov edx, 0x40c
mov word [ebp - 0x508], dx
jmp 0x477793
mov eax, 0x404
mov word [ebp - 0x508], ax
jmp 0x477793
mov ecx, 0x804
mov word [ebp - 0x508], cx
jmp 0x477793
mov edx, 0x407
mov word [ebp - 0x508], dx
jmp 0x477793
mov eax, 0x407
mov word [ebp - 0x508], ax
jmp 0x477793
mov ecx, 0x416
mov word [ebp - 0x508], cx
jmp 0x477793
mov edx, 0x40a
mov word [ebp - 0x508], dx
jmp 0x477793
mov eax, 0x40a
mov word [ebp - 0x508], ax
jmp 0x477793
mov ecx, 0x43e
mov word [ebp - 0x508], cx
movsx edx, word [ebp - 0x508]
cmp edx, 0x409
jne 0x477809
lea eax, [ebp - 0x204]
push eax
push str._sWIN.INI
lea ecx, [ebp - 0x504]
push ecx
call fcn.004b6e08
add esp, 0xc
lea edx, [ebp - 0x504]
push edx
push 0xff
lea eax, [ebp - 0x304]
push eax
push 0x54e6bf
push str.sCountry
push str.intl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.thailand
lea ecx, [ebp - 0x304]
push ecx
call fcn.004bab10
add esp, 8
test eax, eax
jne 0x477809
mov edx, 0x41e
mov word [ebp - 0x508], dx
movsx eax, word [ebp - 0x508]
cmp eax, 0xffffffff
jne 0x477821
mov ecx, 0x409
mov word [ebp - 0x508], cx
mov dx, word [ebp - 0x508]
mov word [0x54e6d4], dx
call fcn.004778f0
mov word [ebp - 0x510], ax
movsx eax, word [ebp - 0x510]
cmp eax, 0xffffffff
je 0x477855
mov cx, word [ebp - 0x510]
mov word [ebp - 0x508], cx
mov dx, word [ebp - 0x508]
mov word [0x4ec6d4], dx
movsx eax, word [0x4ec6d4]
push eax
movsx ecx, word [0x54e6d4]
push ecx
push str.OS_Value:_actual__x__used__x
push 2
call fcn.004417b0
add esp, 0x10
mov ax, word [ebp - 0x508]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b6253
mov esp, ebp
pop ebp
ret