Function at 0x405090
Capabilities:
Encode data using xor
Read .ini file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x425612
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2e48cc
call fcn.0041b030
mov eax, dword [0x42f660]
xor eax, esp
mov dword [esp + 0x2e48c8], eax
push ebx
push esi
push edi
mov eax, dword [0x42f660]
xor eax, esp
push eax
lea eax, [esp + 0x2e48e0]
mov dword fs:[0], eax
jmp 0x4050e7
jmp 0x4050f9
push 0x2e4408
xor ebx, ebx
lea eax, [esp + 0xd0]
push ebx
push eax
call fcn.00416c00
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 0xc
push str..MainInfo.ini
push 0x20
lea ecx, [esp + 0xf5]
push ecx
push 0x429373
push str.CustomerName
push str.MainInfo
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str..MainInfo.ini
push ebx
push str.LauncherType
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x20
lea edx, [esp + 0xd5]
push edx
push str.XTLauncherExecutable
push str.LauncherName
push str.MainInfo
mov byte [esp + 0xe4], al
call edi
push str..MainInfo.ini
push 0x20
lea eax, [esp + 0x115]
push eax
push 0x429373
push str.IpAddress
push str.MainInfo
call edi
push str..MainInfo.ini
push 0xad75
push str.IpAddressPort
push str.MainInfo
call esi
push str..MainInfo.ini
push 8
lea ecx, [esp + 0x138]
push ecx
push 0x429373
push str.ClientVersion
push str.MainInfo
mov word [esp + 0x146], ax
call edi
push str..MainInfo.ini
push 0x11
lea edx, [esp + 0x140]
push edx
push 0x429373
push str.ClientSerial
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea eax, [esp + 0x151]
push eax
push str._MU_
push str.WindowName
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x32
lea ecx, [esp + 0x171]
push ecx
push 0x429373
push str.ScreenShotPath
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea edx, [esp + 0x1a3]
push edx
push 0x429373
push str.ClientName
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea eax, [esp + 0x1c3]
push eax
push 0x429373
push str.AntiHackName
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea ecx, [esp + 0x203]
push ecx
push 0x429373
push str.PluginName1
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea edx, [esp + 0x223]
push edx
push 0x429373
push str.PluginName2
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea eax, [esp + 0x243]
push eax
push 0x429373
push str.PluginName3
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea ecx, [esp + 0x263]
push ecx
push 0x429373
push str.PluginName4
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea edx, [esp + 0x1e3]
push edx
push 0x429373
push str.PluginName5
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea eax, [esp + 0x283]
push eax
push 0x429373
push str.CameraName
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea ecx, [esp + 0x2a3]
push ecx
push 0x429373
push str.ServerName1
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea edx, [esp + 0x2c3]
push edx
push 0x429373
push str.ServerName2
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea eax, [esp + 0x2e3]
push eax
push 0x429373
push str.ServerName3
push str.MainInfo
call edi
push str..MainInfo.ini
push 0x20
lea ecx, [esp + 0x303]
push ecx
push 0x429373
push str.ServerName4
push str.MainInfo
call edi
push str..MainInfo.ini
push ebx
push str.GiamLag
push str.MainInfo
call esi
push str..MainInfo.ini
push ebx
push str.HelperActiveAlert
push str.HelperInfo
mov dword [esp + 0x32c], eax
call esi
push str..MainInfo.ini
push 0x50
push str.HelperActiveLevel
push str.HelperInfo
mov dword [esp + 0x350], eax
call esi
push str..MainInfo.ini
push 0xffff
push str.DWMaxAttackSpeed
push str.CharacterInfo
mov dword [esp + 0x354], eax
call esi
push str..MainInfo.ini
push 0xffff
push str.DKMaxAttackSpeed
push str.CharacterInfo
mov dword [esp + 0x358], eax
call esi
push str..MainInfo.ini
push 0xffff
push str.FEMaxAttackSpeed
push str.CharacterInfo
mov dword [esp + 0x35c], eax
call esi
push str..MainInfo.ini
push 0xffff
push str.MGMaxAttackSpeed
push str.CharacterInfo
mov dword [esp + 0x360], eax
call esi
push str..MainInfo.ini
push 0xffff
push str.DLMaxAttackSpeed
push str.CharacterInfo
mov dword [esp + 0x364], eax
call esi
push str..MainInfo.ini
push 0xffff
push str.SUMaxAttackSpeed
push str.CharacterInfo
mov dword [esp + 0x368], eax
call esi
push str..MainInfo.ini
push 0xffff
push str.RFMaxAttackSpeed
push str.CharacterInfo
mov dword [esp + 0x36c], eax
call esi
push str..MainInfo.ini
push ebx
push str.ReconnectTime
push str.ReconnectInfo
mov dword [esp + 0x370], eax
call esi
push str..MainInfo.ini
push ebx
mov dword [esp + 0x36c], eax
push str.ReconnectConnectAccountTime
push str.ReconnectInfo
call esi
push str..MainInfo.ini
push ebx
push str.ReconnectConnectCharacterTime
push str.ReconnectInfo
mov dword [esp + 0x378], eax
call esi
push str..MainInfo.ini
push 0x12c
push str.DelectCharacter
push str.Custom
mov dword [esp + 0x37c], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableMiniMapCircular
push str.Custom
mov dword [esp + 0x380], eax
call esi
push str..MainInfo.ini
push ebx
push str.MaxGameInstances
push str.Custom
mov dword [esp + 0x384], eax
call esi
push str..MainInfo.ini
push ebx
push str.TatLucChien
push str.Custom
mov dword [esp + 0x388], eax
call esi
push str..MainInfo.ini
push ebx
push str.AlwaysnameShowType
push str.Custom
mov dword [esp + 0x4a4], eax
call esi
push str..MainInfo.ini
push ebx
push str.MinimapX
push str.Custom
mov dword [esp + 0x38c], eax
call esi
push str..MainInfo.ini
push ebx
push str.MinimapY
push str.Custom
mov dword [esp + 0x390], eax
call esi
push str..MainInfo.ini
push ebx
push str.RemoveClass
push str.Custom
mov dword [esp + 0x394], eax
call esi
push str..MainInfo.ini
push 7
push str.CharsCount
push str.Custom
mov dword [esp + 0x398], eax
call esi
push str..MainInfo.ini
push ebx
push str.RankUserType
push str.Custom
mov dword [esp + 0x39c], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableMasterSkillTree
push str.Custom
mov dword [esp + 0x3a0], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableCsSkillsAllMaps
push str.Custom
mov dword [esp + 0x3a4], eax
call esi
mov dword [esp + 0x398], eax
push str..MainInfo.ini
push ebx
push str.DisableReflectEffect
push str.Custom
call esi
push str..MainInfo.ini
push ebx
push str.RankUserShowOverHead
push str.Custom
mov dword [esp + 0x3ac], eax
call esi
push str..MainInfo.ini
push 1
push str.RankUserOnlyOnSafeZone
push str.Custom
mov dword [esp + 0x3f0], eax
call esi
push str..MainInfo.ini
push 1
push str.RankUserShowReset
push str.Custom
mov dword [esp + 0x3f4], eax
call esi
push str..MainInfo.ini
push 1
push str.RankUserShowMasterReset
push str.Custom
mov dword [esp + 0x3f8], eax
call esi
push str..MainInfo.ini
push ebx
push str.RankUserNeedAltKey
push str.Custom
mov dword [esp + 0x3fc], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableRankVIP
push str.Custom
mov dword [esp + 0x400], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableRankTuChan
push str.Custom
mov dword [esp + 0x404], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableNutButton
push str.Custom
mov dword [esp + 0x408], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableNutC
push str.Custom
mov dword [esp + 0x40c], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableHieuUng
push str.Custom
mov dword [esp + 0x410], eax
call esi
push str..MainInfo.ini
push ebx
push str.BatTatQuanHam
push str.Custom
mov dword [esp + 0x414], eax
call esi
push str..MainInfo.ini
push ebx
push str.SlotPet
push str.Custom
mov dword [esp + 0x418], eax
call esi
push str..MainInfo.ini
push ebx
mov byte [esp + 0x414], al
push str.SlotEarRing
push str.Custom
call esi
push str..MainInfo.ini
push ebx
push str.EnableVipShop
push str.Custom
mov byte [esp + 0x41d], al
call esi
push str..MainInfo.ini
push 3
push str.VipTypes
push str.Custom
mov dword [esp + 0x3b0], eax
call esi
push str..MainInfo.ini
push ebx
push str.PrintLogo
push str.Custom
mov dword [esp + 0x3b4], eax
call esi
push str..MainInfo.ini
push ebx
push str.CustomMenuSwitch
push str.Custom
mov dword [esp + 0x3b8], eax
call esi
push str..MainInfo.ini
push ebx
push str.CustomMenuType
push str.Custom
mov dword [esp + 0x3bc], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableCoinStatus
push str.Custom
mov dword [esp + 0x3c0], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableShopValueSystem
push str.Custom
mov dword [esp + 0x3c4], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableStoreBlessButtom
push str.Custom
mov dword [esp + 0x3c8], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableStoreSoulButtom
push str.Custom
mov dword [esp + 0x3cc], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableStoreChaosButtom
push str.Custom
mov dword [esp + 0x3d0], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableStoreCoin1Buttom
push str.Custom
mov dword [esp + 0x3d4], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableStoreCoin2Buttom
push str.Custom
mov dword [esp + 0x3d8], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableStoreCoin3Buttom
push str.Custom
mov dword [esp + 0x3dc], eax
call esi
mov dword [esp + 0x3d0], eax
push str..MainInfo.ini
push ebx
push str.EnableOffStoreButtom
push str.Custom
call esi
push str..MainInfo.ini
push ebx
push str.CustomMonsterEnable
push str.Custom
mov dword [esp + 0x3e4], eax
call esi
push str..MainInfo.ini
push ebx
push str.CustomInterfaceType
push str.Custom
mov dword [esp + 0x3e8], eax
call esi
push str..MainInfo.ini
push ebx
push str.ScanLoiClient
push str.Custom
mov dword [esp + 0x424], eax
call esi
push str..MainInfo.ini
push ebx
push str.TIME_GMT
push str.TimeZone
mov dword [esp + 0x420], eax
call esi
push str..MainInfo.ini
push ebx
push str.MonitorFPS
push str.Custom
mov dword [esp + 0x42c], eax
call esi
push str..MainInfo.ini
push ebx
push str.MonitorMS
push str.Custom
mov dword [esp + 0x430], eax
call esi
push str..MainInfo.ini
push ebx
push str.LimitFPS
push str.Custom
mov dword [esp + 0x434], eax
call esi
push str..MainInfo.ini
push ebx
push str.EffectPlus15
push str.Effect
mov dword [esp + 0x438], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisablePartyHpBar
push str.Disable
mov dword [esp + 0x43c], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableGens
push str.Disable
mov dword [esp + 0x3ec], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableTabMap
push str.Disable
mov dword [esp + 0x440], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableHelper
push str.Disable
mov dword [esp + 0x444], eax
call esi
push str..MainInfo.ini
push ebx
mov dword [esp + 0x440], eax
push str.Disable380ButtonChaoBox
push str.Disable
call esi
push str..MainInfo.ini
push ebx
push str.DisableAdvance
push str.Disable
mov dword [esp + 0x44c], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableCustomClaws
push str.Disable
mov dword [esp + 0x450], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableCustomBow
push str.Disable
mov dword [esp + 0x458], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableCustomCloack
push str.Disable
mov dword [esp + 0x45c], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableCustomPosition
push str.Disable
mov dword [esp + 0x460], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableCustomPet
push str.Disable
mov dword [esp + 0x464], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableEffectRemake
push str.Disable
mov dword [esp + 0x468], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableSocketInvetori
push str.Disable
mov dword [esp + 0x454], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableRepeirInInventory
push str.Disable
mov dword [esp + 0x46c], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableButtonOpenStore
push str.Disable
mov dword [esp + 0x470], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableButtonInventoryExt
push str.Disable
mov dword [esp + 0x474], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableButtonQuestInStats
push str.Disable
mov dword [esp + 0x478], eax
call esi
push str..MainInfo.ini
push ebx
push str.DisableButtonPetsInStats
push str.Disable
mov dword [esp + 0x47c], eax
call esi
mov dword [esp + 0x470], eax
push str..MainInfo.ini
push ebx
push str.DisableButtonSkillMaster
push str.Disable
call esi
push str..MainInfo.ini
push ebx
push str.SelectCharAnimate
push str.UPGRADE
mov dword [esp + 0x484], eax
call esi
push str..MainInfo.ini
push ebx
push str.SelectCharS13
push str.UPGRADE
mov dword [esp + 0x488], eax
call esi
push str..MainInfo.ini
push ebx
push str.EnableCameraZoom
push str.CameraConfig
mov dword [esp + 0x48c], eax
call esi
push str..MainInfo.ini
push ebx
push str.Cam_ZoomMax
push str.CameraConfig
mov dword [esp + 0x490], eax
call esi
push str..MainInfo.ini
push ebx
push str.Cam_ZoomMin
push str.CameraConfig
mov dword [esp + 0x494], eax
call esi
push str..MainInfo.ini
push ebx
push str.InventoryUPGRADE
push str.UPGRADE
mov dword [esp + 0x498], eax
call esi
push str..MainInfo.ini
push ebx
push str.CameraZoom
push str.UPGRADE
mov dword [esp + 0x49c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldier
push str.SoldierELF
mov dword [esp + 0x4a0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierWings
push str.SoldierELF
mov dword [esp + 0x4a8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierHelm
push str.SoldierELF
mov dword [esp + 0x4ac], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierArmor
push str.SoldierELF
mov dword [esp + 0x4b0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierPants
push str.SoldierELF
mov dword [esp + 0x4b4], eax
call esi
push str.CommonNPCItems.ini
push ebx
mov dword [esp + 0x4b0], eax
push str.CustomElfSoldierGloves
push str.SoldierELF
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierBoots
push str.SoldierELF
mov dword [esp + 0x4bc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomType1
push str.SoldierELF
mov dword [esp + 0x4c0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierWeapon1
push str.SoldierELF
mov dword [esp + 0x4c4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomType2
push str.SoldierELF
mov dword [esp + 0x4c8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierWeapon2
push str.SoldierELF
mov dword [esp + 0x4cc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierHelmLevel
push str.SoldierELF
mov dword [esp + 0x4d0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierArmorLevel
push str.SoldierELF
mov dword [esp + 0x4d4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierPantsLevel
push str.SoldierELF
mov dword [esp + 0x4d8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierGlovesLevel
push str.SoldierELF
mov dword [esp + 0x4dc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierBootsLevel
push str.SoldierELF
mov dword [esp + 0x4e0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierWeaponFirstLevel
push str.SoldierELF
mov dword [esp + 0x4e4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierWeaponSecondLevel
push str.SoldierELF
mov dword [esp + 0x4e8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierHelmExcellent
push str.SoldierELF
mov dword [esp + 0x4ec], eax
call esi
mov dword [esp + 0x4e0], eax
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierArmorExcellent
push str.SoldierELF
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierPantsExcellent
push str.SoldierELF
mov dword [esp + 0x4f4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierGlovesExcellent
push str.SoldierELF
mov dword [esp + 0x4f8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierBootsExcellent
push str.SoldierELF
mov dword [esp + 0x4fc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierWeaponFirstExcellent
push str.SoldierELF
mov dword [esp + 0x500], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomElfSoldierWeaponSecondExcellent
push str.SoldierELF
mov dword [esp + 0x504], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlon
push str.Marlon
mov dword [esp + 0x508], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonWings
push str.Marlon
mov dword [esp + 0x50c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonHelm
push str.Marlon
mov dword [esp + 0x510], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonArmor
push str.Marlon
mov dword [esp + 0x514], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonPants
push str.Marlon
mov dword [esp + 0x518], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonGloves
push str.Marlon
mov dword [esp + 0x51c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonBoots
push str.Marlon
mov dword [esp + 0x520], eax
call esi
push str.CommonNPCItems.ini
push ebx
mov dword [esp + 0x51c], eax
push str.CustomType1
push str.Marlon
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonWeapon1
push str.Marlon
mov dword [esp + 0x52c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomType2
push str.Marlon
mov dword [esp + 0x528], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonWeapon2
push str.Marlon
mov dword [esp + 0x534], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonHelmLevel
push str.Marlon
mov dword [esp + 0x530], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonArmorLevel
push str.Marlon
mov dword [esp + 0x538], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonPantsLevel
push str.Marlon
mov dword [esp + 0x53c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonGlovesLevel
push str.Marlon
mov dword [esp + 0x540], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonBootsLevel
push str.Marlon
mov dword [esp + 0x544], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonWeaponFirstLevel
push str.Marlon
mov dword [esp + 0x548], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonWeaponSecondLevel
push str.Marlon
mov dword [esp + 0x54c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonHelmExcellent
push str.Marlon
mov dword [esp + 0x550], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonArmorExcellent
push str.Marlon
mov dword [esp + 0x554], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonPantsExcellent
push str.Marlon
mov dword [esp + 0x558], eax
call esi
mov dword [esp + 0x54c], eax
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonGlovesExcellent
push str.Marlon
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonBootsExcellent
push str.Marlon
mov dword [esp + 0x560], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonWeaponFirstExcellent
push str.Marlon
mov dword [esp + 0x564], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomMarlonWeaponSecondExcellent
push str.Marlon
mov dword [esp + 0x568], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCard
push str.ChaosCard
mov dword [esp + 0x56c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardWings
push str.ChaosCard
mov dword [esp + 0x570], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardHelm
push str.ChaosCard
mov dword [esp + 0x574], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardArmor
push str.ChaosCard
mov dword [esp + 0x578], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardPants
push str.ChaosCard
mov dword [esp + 0x57c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardGloves
push str.ChaosCard
mov dword [esp + 0x580], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardBoots
push str.ChaosCard
mov dword [esp + 0x584], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomType1
push str.ChaosCard
mov dword [esp + 0x588], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardWeapon1
push str.ChaosCard
mov dword [esp + 0x590], eax
call esi
push str.CommonNPCItems.ini
push ebx
mov dword [esp + 0x584], eax
push str.CustomType2
push str.ChaosCard
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardWeapon2
push str.ChaosCard
mov dword [esp + 0x598], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardHelmLevel
push str.ChaosCard
mov dword [esp + 0x594], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardArmorLevel
push str.ChaosCard
mov dword [esp + 0x59c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardPantsLevel
push str.ChaosCard
mov dword [esp + 0x5a0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardGlovesLevel
push str.ChaosCard
mov dword [esp + 0x5a4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardBootsLevel
push str.ChaosCard
mov dword [esp + 0x5a8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardWeaponFirstLevel
push str.ChaosCard
mov dword [esp + 0x5ac], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardWeaponSecondLevel
push str.ChaosCard
mov dword [esp + 0x5b0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardHelmExcellent
push str.ChaosCard
mov dword [esp + 0x5b4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardArmorExcellent
push str.ChaosCard
mov dword [esp + 0x5b8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardPantsExcellent
push str.ChaosCard
mov dword [esp + 0x5bc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardGlovesExcellent
push str.ChaosCard
mov dword [esp + 0x5c0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardBootsExcellent
push str.ChaosCard
mov dword [esp + 0x5c4], eax
call esi
mov dword [esp + 0x5b8], eax
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardWeaponFirstExcellent
push str.ChaosCard
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomChaosCardWeaponSecondExcellent
push str.ChaosCard
mov dword [esp + 0x5cc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1
push str.Guard1
mov dword [esp + 0x5d0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1Wings
push str.Guard1
mov dword [esp + 0x5d4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1Helm
push str.Guard1
mov dword [esp + 0x5d8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1Armor
push str.Guard1
mov dword [esp + 0x5dc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1Pants
push str.Guard1
mov dword [esp + 0x5e0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1Gloves
push str.Guard1
mov dword [esp + 0x5e4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1Boots
push str.Guard1
mov dword [esp + 0x5e8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomType1
push str.Guard1
mov dword [esp + 0x5ec], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1Weapon1
push str.Guard1
mov dword [esp + 0x5f4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomType2
push str.Guard1
mov dword [esp + 0x5f0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1Weapon2
push str.Guard1
mov dword [esp + 0x5fc], eax
call esi
push str.CommonNPCItems.ini
push ebx
mov dword [esp + 0x5f0], eax
push str.CustomGuard1HelmLevel
push str.Guard1
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1ArmorLevel
push str.Guard1
mov dword [esp + 0x600], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1PantsLevel
push str.Guard1
mov dword [esp + 0x604], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1GlovesLevel
push str.Guard1
mov dword [esp + 0x608], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1BootsLevel
push str.Guard1
mov dword [esp + 0x60c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1WeaponFirstLevel
push str.Guard1
mov dword [esp + 0x610], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1WeaponSecondLevel
push str.Guard1
mov dword [esp + 0x614], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1HelmExcellent
push str.Guard1
mov dword [esp + 0x618], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1ArmorExcellent
push str.Guard1
mov dword [esp + 0x61c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1PantsExcellent
push str.Guard1
mov dword [esp + 0x620], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1GlovesExcellent
push str.Guard1
mov dword [esp + 0x624], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1BootsExcellent
push str.Guard1
mov dword [esp + 0x628], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1WeaponFirstExcellent
push str.Guard1
mov dword [esp + 0x62c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard1WeaponSecondExcellent
push str.Guard1
mov dword [esp + 0x630], eax
call esi
mov dword [esp + 0x624], eax
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2
push str.Guard2
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2Wings
push str.Guard2
mov dword [esp + 0x638], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2Helm
push str.Guard2
mov dword [esp + 0x63c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2Armor
push str.Guard2
mov dword [esp + 0x640], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2Pants
push str.Guard2
mov dword [esp + 0x644], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2Gloves
push str.Guard2
mov dword [esp + 0x648], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2Boots
push str.Guard2
mov dword [esp + 0x64c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomType1
push str.Guard2
mov dword [esp + 0x650], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2Weapon1
push str.Guard2
mov dword [esp + 0x658], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomType2
push str.Guard2
mov dword [esp + 0x654], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2Weapon2
push str.Guard2
mov dword [esp + 0x660], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2HelmLevel
push str.Guard2
mov dword [esp + 0x65c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2ArmorLevel
push str.Guard2
mov dword [esp + 0x664], eax
call esi
push str.CommonNPCItems.ini
push ebx
mov dword [esp + 0x660], eax
push str.CustomGuard2PantsLevel
push str.Guard2
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2GlovesLevel
push str.Guard2
mov dword [esp + 0x66c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2BootsLevel
push str.Guard2
mov dword [esp + 0x670], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2WeaponFirstLevel
push str.Guard2
mov dword [esp + 0x674], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2WeaponSecondLevel
push str.Guard2
mov dword [esp + 0x678], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2HelmExcellent
push str.Guard2
mov dword [esp + 0x67c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2ArmorExcellent
push str.Guard2
mov dword [esp + 0x680], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2PantsExcellent
push str.Guard2
mov dword [esp + 0x684], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2GlovesExcellent
push str.Guard2
mov dword [esp + 0x688], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2BootsExcellent
push str.Guard2
mov dword [esp + 0x68c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2WeaponFirstExcellent
push str.Guard2
mov dword [esp + 0x690], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomGuard2WeaponSecondExcellent
push str.Guard2
mov dword [esp + 0x694], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizard
push str.CursedWizard
mov dword [esp + 0x698], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardWings
push str.CursedWizard
mov dword [esp + 0x69c], eax
call esi
mov dword [esp + 0x690], eax
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardHelm
push str.CursedWizard
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardArmor
push str.CursedWizard
mov dword [esp + 0x6a4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardPants
push str.CursedWizard
mov dword [esp + 0x6a8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardGloves
push str.CursedWizard
mov dword [esp + 0x6ac], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardBoots
push str.CursedWizard
mov dword [esp + 0x6b0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomType1
push str.CursedWizard
mov dword [esp + 0x6b4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardWeapon1
push str.CursedWizard
mov dword [esp + 0x6bc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomType2
push str.CursedWizard
mov dword [esp + 0x6b8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardWeapon2
push str.CursedWizard
mov dword [esp + 0x6c4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardHelmLevel
push str.CursedWizard
mov dword [esp + 0x6c0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardArmorLevel
push str.CursedWizard
mov dword [esp + 0x6c8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardPantsLevel
push str.CursedWizard
mov dword [esp + 0x6cc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardGlovesLevel
push str.CursedWizard
mov dword [esp + 0x6d0], eax
call esi
push str.CommonNPCItems.ini
push ebx
mov dword [esp + 0x6cc], eax
push str.CustomCursedWizardBootsLevel
push str.CursedWizard
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardWeaponFirstLevel
push str.CursedWizard
mov dword [esp + 0x6d8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardWeaponSecondLevel
push str.CursedWizard
mov dword [esp + 0x6dc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardHelmExcellent
push str.CursedWizard
mov dword [esp + 0x6e0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardArmorExcellent
push str.CursedWizard
mov dword [esp + 0x6e4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardPantsExcellent
push str.CursedWizard
mov dword [esp + 0x6e8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardGlovesExcellent
push str.CursedWizard
mov dword [esp + 0x6ec], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardBootsExcellent
push str.CursedWizard
mov dword [esp + 0x6f0], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardWeaponFirstExcellent
push str.CursedWizard
mov dword [esp + 0x6f4], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomCursedWizardWeaponSecondExcellent
push str.CursedWizard
mov dword [esp + 0x6f8], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelper
push str.LeoHelper
mov dword [esp + 0x6fc], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperWings
push str.LeoHelper
mov dword [esp + 0x700], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperHelm
push str.LeoHelper
mov dword [esp + 0x704], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperArmor
push str.LeoHelper
mov dword [esp + 0x708], eax
call esi
mov dword [esp + 0x6fc], eax
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperPants
push str.LeoHelper
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperGloves
push str.LeoHelper
mov dword [esp + 0x710], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperBoots
push str.LeoHelper
mov dword [esp + 0x714], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperHelmLevel
push str.LeoHelper
mov dword [esp + 0x718], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperArmorLevel
push str.LeoHelper
mov dword [esp + 0x71c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperPantsLevel
push str.LeoHelper
mov dword [esp + 0x720], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperGlovesLevel
push str.LeoHelper
mov dword [esp + 0x724], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperBootsLevel
push str.LeoHelper
mov dword [esp + 0x728], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperHelmExcellent
push str.LeoHelper
mov dword [esp + 0x72c], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperArmorExcellent
push str.LeoHelper
mov dword [esp + 0x730], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperPantsExcellent
push str.LeoHelper
mov dword [esp + 0x734], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperGlovesExcellent
push str.LeoHelper
mov dword [esp + 0x738], eax
call esi
push str.CommonNPCItems.ini
push ebx
push str.CustomLeoHelperBootsExcellent
push str.LeoHelper
mov dword [esp + 0x73c], eax
call esi
push 0x7c59d8
mov dword [esp + 0x734], eax
call fcn.00403b10
mov ecx, 0x7312f0
call fcn.00403550
mov ecx, 0x739338
call fcn.00404930
push 0x4aff28
call fcn.00402450
mov ecx, 0x430bf8
call fcn.00401250
push 0x432680
call fcn.00401770
push 0x4a5bf0
call fcn.00401f00
push 0x7c2150
call fcn.0040ec20
push 0x7aa7c8
call fcn.00404e70
mov ecx, 0x7f5fd0
call fcn.00403f80
push 0x731df8
call fcn.00404420
mov ecx, 0x4a9e40
call fcn.00402170
mov ecx, 0x436ff8
call fcn.004019f0
mov ecx, 0x7330c0
call fcn.004046a0
push 0x430cb0
call fcn.004014e0
push 0x727ce8
call fcn.004032c0
push 0x4a55a8
call fcn.00401cb0
mov ecx, 0x4dfce0
call fcn.00402aa0
push 0x7b4678
call fcn.0040c8b0
mov ecx, 0x7c4868
call fcn.0040ee60
push 0x4c9570
call fcn.004026d0
push 0xcb20
lea edx, [esp + 0x2d7788]
push 0x4c9574
push edx
call fcn.004126d0
add esp, 0xc
push 0x101d0
lea eax, [esp + 0x738]
push 0x7c5a5c
mov ecx, 0x8c
mov esi, 0x7c486c
lea edi, [esp + 0x2e42ac]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004126d0
add esp, 0xc
push 0x101d0
lea ecx, [esp + 0x10908]
push 0x7d5c2c
push ecx
call fcn.004126d0
add esp, 0xc
push 0x101d0
lea edx, [esp + 0x20ad8]
push 0x7e5dfc
push edx
call fcn.004126d0
add esp, 0xc
push 0x5dc0
lea eax, [esp + 0x317ac]
push 0x73933c
mov ecx, 0x2c1
mov esi, 0x7312f4
lea edi, [esp + 0x30cac]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004126d0
add esp, 0xc
push 0x19640
push 0x4aff2c
lea ecx, [esp + 0x37570]
push ecx
call fcn.004126d0
add esp, 0xc
push 0x4970
lea edx, [esp + 0x50c60]
push 0x432684
mov ecx, 0x2d
mov esi, 0x430bfc
lea edi, [esp + 0x50bb0]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.004126d0
add esp, 0xc
push 0x4248
lea eax, [esp + 0x555d0]
push 0x4a5bf4
push eax
call fcn.004126d0
add esp, 0xc
push 0x2710
lea ecx, [esp + 0x59818]
push 0x7c2154
push ecx
call fcn.004126d0
add esp, 0xc
push 0x92e0
lea edx, [esp + 0x5cae0]
push 0x7f5fd4
mov ecx, 0x2ee
mov esi, 0x7aa7cc
lea edi, [esp + 0x5bf2c]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.004126d0
add esp, 0xc
push 0x12c0
lea eax, [esp + 0x661d0]
push 0x731dfc
mov ecx, 0x104
mov esi, 0x7ff2b4
lea edi, [esp + 0x65dc4]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004126d0
add esp, 0xc
push 0x60e0
lea ecx, [esp + 0x6a370]
push 0x4a9e44
push ecx
call fcn.004126d0
add esp, 0xc
push 0x2ee0
lea edx, [esp + 0x67490]
push 0x436ffc
push edx
call fcn.004126d0
add esp, 0xc
push 0x6270
lea eax, [esp + 0x70450]
push 0x7330c4
push eax
call fcn.004126d0
add esp, 0xc
push 0x19c8
lea ecx, [esp + 0x766c0]
push 0x430cb4
push ecx
call fcn.004126d0
add esp, 0xc
push 0x9600
lea edx, [esp + 0x78088]
push 0x727cec
push edx
call fcn.004126d0
add esp, 0xc
mov ecx, 0x190
mov esi, 0x4a55ac
lea edi, [esp + 0x81684]
push 0x248000
rep movsd dword es:[edi], dword [esi]
push 0x4dfce4
lea eax, [esp + 0x81ccc]
push eax
call fcn.004126d0
add esp, 0xc
push 0xdac0
lea ecx, [esp + 0x2c9cc8]
push 0x7b467c
push ecx
call fcn.004126d0
add esp, 0xc
lea esi, [esp + 0x2e44d4]
call section..text
mov edx, esi
push edx
lea esi, [esp + 0x324]
lea eax, [esp + 0x19f]
call fcn.00401140
test al, al
jne 0x406fed
mov dword [esp + 0x320], ebx
lea eax, [esp + 0x2e44d4]
push eax
lea esi, [esp + 0x328]
lea eax, [esp + 0x1bf]
call fcn.00401140
test al, al
jne 0x407013
mov dword [esp + 0x324], ebx
lea ecx, [esp + 0x2e44d4]
push ecx
lea esi, [esp + 0x330]
lea eax, [esp + 0x1ff]
call fcn.00401140
test al, al
jne 0x407039
mov dword [esp + 0x32c], ebx
lea edx, [esp + 0x2e44d4]
push edx
lea esi, [esp + 0x334]
lea eax, [esp + 0x21f]
call fcn.00401140
test al, al
jne 0x40705f
mov dword [esp + 0x330], ebx
lea eax, [esp + 0x2e44d4]
push eax
lea esi, [esp + 0x338]
lea eax, [esp + 0x23f]
call fcn.00401140
test al, al
jne 0x407085
mov dword [esp + 0x334], ebx
lea ecx, [esp + 0x2e44d4]
push ecx
lea esi, [esp + 0x33c]
lea eax, [esp + 0x25f]
call fcn.00401140
test al, al
jne 0x4070ab
mov dword [esp + 0x338], ebx
lea edx, [esp + 0x2e44d4]
push edx
lea esi, [esp + 0x32c]
lea eax, [esp + 0x1df]
call fcn.00401140
test al, al
jne 0x4070d1
mov dword [esp + 0x328], ebx
lea eax, [esp + 0x2e44d4]
push eax
lea esi, [esp + 0x340]
lea eax, [esp + 0x27f]
call fcn.00401140
test al, al
jne 0x4070f7
mov dword [esp + 0x33c], ebx
lea ecx, [esp + 0x2e44d4]
push ecx
lea esi, [esp + 0x1c]
mov eax, str.Main.dll
call fcn.00401140
test al, al
jne 0x407115
mov dword [esp + 0x18], ebx
lea edx, [esp + 0x2e44d4]
push edx
lea esi, [esp + 0x20]
mov eax, str.Verify.dll
call fcn.00401140
test al, al
jne 0x407133
mov dword [esp + 0x18], ebx
lea eax, [esp + 0x24]
push eax
call fcn.004077d0
lea ecx, [esp + 0x24]
push str.GameGuardCRC__0x
push ecx
mov dword [esp + 0x2e48f0], ebx
call fcn.0040a270
add esp, 8
cmp eax, ebx
jne 0x40715e
xor ecx, ecx
jmp 0x407165
mov edx, dword [eax]
mov ecx, dword [edx + 4]
add ecx, eax
mov edx, dword [ecx + 0x14]
and edx, 0xfffff9ff
or edx, 0x800
mov dword [ecx + 0x14], edx
mov ecx, dword [esp + 0x324]
push ecx
push eax
call fcn.00407600
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0040bf40
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + esi + 0xc]
xor edi, edi
test cl, 6
jne 0x4071b7
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4071b7
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebx
je 0x4071d5
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], ebx
jne 0x4071cf
or eax, 4
push ebx
call fcn.0040c180
lea edx, [esp + 0x24]
push str.VerifyCRC__0x
push edx
call fcn.0040a270
add esp, 8
cmp eax, ebx
jne 0x4071ef
xor ecx, ecx
jmp 0x4071f6
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov edx, dword [ecx + 0x14]
and edx, 0xfffff9ff
or edx, 0x800
mov dword [ecx + 0x14], edx
mov ecx, dword [esp + 0x1c]
push ecx
push eax
call fcn.00407600
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0040bf40
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], 6
jne 0x407243
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x407243
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebx
je 0x407261
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], ebx
jne 0x40725b
or eax, 4
push ebx
call fcn.0040c180
lea edx, [esp + 0x24]
push str.MainDLLCRC__0x
push edx
call fcn.0040a270
add esp, 8
cmp eax, ebx
jne 0x40727b
xor ecx, ecx
jmp 0x407282
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov edx, dword [ecx + 0x14]
and edx, 0xfffff9ff
or edx, 0x800
mov dword [ecx + 0x14], edx
mov ecx, dword [esp + 0x18]
push ecx
push eax
call fcn.00407600
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0040bf40
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], 6
jne 0x4072cf
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4072cf
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebx
je 0x4072ed
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], ebx
jne 0x4072e7
or eax, 4
push ebx
call fcn.0040c180
lea edx, [esp + 0x24]
push str.MainEXECRC__0x
push edx
call fcn.0040a270
add esp, 8
cmp eax, ebx
jne 0x407307
xor ecx, ecx
jmp 0x40730e
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov edx, dword [ecx + 0x14]
and edx, 0xfffff9ff
or edx, 0x800
mov dword [ecx + 0x14], edx
mov ecx, dword [esp + 0x320]
push ecx
push eax
call fcn.00407600
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0040bf40
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], 6
jne 0x40735e
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x40735e
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebx
je 0x40737c
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], ebx
jne 0x407376
or eax, 4
push ebx
call fcn.0040c180
lea eax, [esp + 0x28]
call fcn.00408570
test eax, eax
jne 0x4073a9
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 4]
mov eax, dword [esp + ecx + 0x30]
lea ecx, [esp + ecx + 0x24]
or eax, 2
cmp dword [ecx + 0x38], ebx
jne 0x4073a3
or eax, 4
push ebx
call fcn.0040c180
xor eax, eax
jmp 0x4073b0
mov dl, byte [esp + eax + 0xcc]
mov ecx, eax
xor dl, al
shr ecx, 8
xor cl, 0x95
xor dl, 0xda
sub dl, cl
mov byte [esp + eax + 0xcc], dl
inc eax
cmp eax, 0x2e4408
jb 0x4073b0
push ebx
push 0x20
push 2
push ebx
push 1
push 0x40000000
push str.Premium_wzClient.dll
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
or edi, 0xffffffff
cmp esi, edi
jne 0x40750f
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 4]
lea eax, [esp + 0x84]
mov dword [esp + 0x18], eax
mov dword [esp + edx + 0x24], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov dword [esp + 0x2e48e8], 1
lea eax, [esp + 0x28]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov byte [esp + 0x2e48e8], 2
cmp dword [esp + 0x7c], ebx
je 0x407463
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x70]
cmp dword [edx], ecx
jne 0x407463
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov dword [edx], esi
mov edx, dword [esp + 0x48]
mov ecx, eax
mov dword [edx], ecx
sub eax, ecx
mov ecx, dword [esp + 0x58]
mov dword [ecx], eax
cmp byte [esp + 0x78], 0
je 0x407473
lea eax, [esp + 0x28]
call fcn.00408570
mov dword [esp + 0x28], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov byte [esp + 0x2e48e8], 3
mov eax, dword [esp + 0x60]
mov ebx, eax
test eax, eax
je 0x4074d7
mov edi, dword [eax]
test edi, edi
je 0x4074ce
push 0
lea ecx, [esp + 0x20]
call fcn.0040f2a6
mov eax, dword [edi + 4]
test eax, eax
je 0x4074ae
cmp eax, 0xffffffff
jae 0x4074ae
dec eax
mov dword [edi + 4], eax
mov esi, dword [edi + 4]
neg esi
sbb esi, esi
lea ecx, [esp + 0x1c]
not esi
call fcn.0040f2ce
and esi, edi
je 0x4074ce
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
push ebx
call fcn.004101f9
add esp, 4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2e48e8], 1
call fcn.0040f17a
mov dword [esp + 0x2e48e8], 0xffffffff
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 4]
lea eax, [esp + 0x84]
mov dword [esp + edx + 0x24], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
push eax
jmp 0x40759f
push ebx
lea ecx, [esp + 0x18]
push ecx
push 0x2e4408
lea edx, [esp + 0xd8]
push edx
push esi
mov dword [esp + 0x28], ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
test eax, eax
jne 0x407555
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x84]
mov dword [esp + 0x2e48e8], edi
call fcn.00407920
lea eax, [esp + 0x84]
push eax
jmp 0x40759f
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40756d
jmp 0x407584
lea ecx, [esp + 0x84]
mov dword [esp + 0x2e48e8], edi
call fcn.00407920
lea ecx, [esp + 0x84]
push ecx
mov dword [esp + 0x88], vtable.std::ios_base.0
call fcn.0040f20e
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x2e48e0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2e48c8]
xor ecx, esp
call fcn.0040fb80
mov esp, ebp
pop ebp
ret