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

Disassembly:
sub esp, 0x208
mov eax, dword [0x597c40]
xor eax, esp
mov dword [esp + 0x204], eax
lea eax, [esp + 0x100]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [esp + 0x100]
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x520c20
mov ecx, dword [str.WEHLanguage.ini]
mov edx, dword [0x575430]
mov dword [eax], ecx
mov ecx, dword [0x575434]
mov dword [eax + 4], edx
mov edx, dword [0x575438]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [eax + 8], ecx
mov cl, byte [0x57543c]
mov dword [eax + 0xc], edx
lea edx, [esp + 0x104]
push edx
push 0xff
mov byte [eax + 0x10], cl
lea eax, [esp + 0xc]
push eax
push 0x575440
push str.TeleportList:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x37f4]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575468
push str.SpiritHealer:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x3d00]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x571e1c
push str.GotoCorpse:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x420c]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575494
push str.AddLocation:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x4718]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x5754b4
push str.Speeds:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x6560]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x5754c4
push 0x5754c8
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x6a6c]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x5754cc
push str.LaunchWoW:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x4c24]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x5754e4
push str.HotKeys:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x2034]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x5754f8
push str.ClientInfo:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x5130]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push str.Save_Settingst
push str.SaveSettings:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x563c]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575530
push str.About:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x5b48]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575540
push str.Help:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x6054]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575550
push str.Reset:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x7484]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575560
push str.WallClimb:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0xb64]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575578
push str.NoFallDamage:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x1174]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push str.Teleport_To_Plane
push str.TeleportToPlane:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0xff0]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x57517c
push str.FlyMode:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x183c]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x5755cc
push str.WalkOnWater:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x19c0]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x572128
push str.HyperMode:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0xe6c]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push str.P2Point_Teleport
push str.P2PointTeleport:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x147c]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575620
push str.AllowModelHacks:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0xce8]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575648
push str.AirJump:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x32f0]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575660
push str.RosettaStone:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x79f0]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x575680
push str.YourModelSize:
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x319c]
call fcn.0040cce4
lea edx, [esp + 0x104]
push edx
push 0xff
lea eax, [esp + 0xc]
push eax
push 0x5756a4
push 0x5756a4
push str.Main_UI
call esi
lea ecx, [esp + 4]
push ecx
lea ecx, [edi + 0x3224]
call fcn.0040cce4
mov ecx, dword [esp + 0x208]
pop esi
xor ecx, esp
call fcn.00504076
add esp, 0x208
ret