Function at 0x406140
Capabilities:
Check if file exists
Encode data using xor
Get file attributes
Read .ini file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0c
mov eax, dword [0x431008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
jmp 0x406168
jmp 0x40617a
lea eax, [ebp - 0x807]
push 0x7ff
push 0
push eax
call fcn.0040c210
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
add esp, 0xc
push str..MainInfo.ini
push 0
push str.LauncherType
push str.MainInfo
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str..MainInfo.ini
push 0x20
mov byte [ebp - 0x808], al
lea eax, [ebp - 0x807]
push eax
push str.XTLauncherExecutable
push str.LauncherName
push str.MainInfo
call esi
push str..MainInfo.ini
push 0
push str.MaxGameInstances
push str.MainInfo
call edi
push str..MainInfo.ini
push 0xad75
push str.IpAddressPort
push str.MainInfo
mov word [ebp - 0x4e8], ax
call edi
push str..MainInfo.ini
push 0x20
mov word [ebp - 0x7a6], ax
lea eax, [ebp - 0x7e7]
push eax
push 0x42e0df
push str.CustomerName
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x20
lea eax, [ebp - 0x7c7]
push eax
push 0x42e0df
push str.IpAddress
push str.MainInfo
call esi
push str..MainInfo.ini
push 8
lea eax, [ebp - 0x7a4]
push eax
push 0x42e0df
push str.ClientVersion
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x11
lea eax, [ebp - 0x79c]
push eax
push 0x42e0df
push str.ClientSerial
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x20
lea eax, [ebp - 0x78b]
push eax
push 0x42e0df
push str.WindowName
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x32
lea eax, [ebp - 0x76b]
push eax
push 0x42e0df
push str.ScreenShotPath
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x20
lea eax, [ebp - 0x739]
push eax
push 0x42e0df
push str.ClientName
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x20
lea eax, [ebp - 0x6f9]
push eax
push 0x42e0df
push str.PluginName1
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x20
lea eax, [ebp - 0x6d9]
push eax
push 0x42e0df
push str.PluginName2
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x20
lea eax, [ebp - 0x6b9]
push eax
push 0x42e0df
push str.PluginName3
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x20
lea eax, [ebp - 0x699]
push eax
push 0x42e0df
push str.PluginName4
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x20
lea eax, [ebp - 0x679]
push eax
push 0x42e0df
push str.PluginName5
push str.MainInfo
call esi
push str..MainInfo.ini
push 0x20
lea eax, [ebp - 0x719]
push eax
push 0x42e0df
push str.CameraName
push str.MainInfo
call esi
push str..MainInfo.ini
push 0
push str.HelperActive
push str.HelperInfo
call edi
push str..MainInfo.ini
push 0
push str.HelperInterfaceActive
push str.HelperInfo
mov dword [ebp - 0x528], eax
call edi
push str..MainInfo.ini
push 0
push str.HelperActiveAlert
push str.HelperInfo
mov dword [ebp - 0x524], eax
call edi
push str..MainInfo.ini
mov dword [ebp - 0x63c], eax
push 0x50
push str.HelperActiveLevel
push str.HelperInfo
call edi
push str..MainInfo.ini
push 0xffff
push str.DWMaxAttackSpeed
push str.CharacterInfo
mov dword [ebp - 0x638], eax
call edi
push str..MainInfo.ini
push 0xffff
push str.DKMaxAttackSpeed
push str.CharacterInfo
mov dword [ebp - 0x634], eax
call edi
push str..MainInfo.ini
push 0xffff
push str.FEMaxAttackSpeed
push str.CharacterInfo
mov dword [ebp - 0x630], eax
call edi
push str..MainInfo.ini
push 0xffff
push str.MGMaxAttackSpeed
push str.CharacterInfo
mov dword [ebp - 0x62c], eax
call edi
push str..MainInfo.ini
push 0xffff
push str.DLMaxAttackSpeed
push str.CharacterInfo
mov dword [ebp - 0x628], eax
call edi
push str..MainInfo.ini
push 0xffff
push str.SUMaxAttackSpeed
push str.CharacterInfo
mov dword [ebp - 0x624], eax
call edi
push str..MainInfo.ini
push 0xffff
push str.RFMaxAttackSpeed
push str.CharacterInfo
mov dword [ebp - 0x620], eax
call edi
push str..MainInfo.ini
push 0
push str.ReconnectTime
push str.ReconnectInfo
mov dword [ebp - 0x61c], eax
call edi
push str..MainInfo.ini
push 0
push str.ItemLevel_15
push 0x42d1f4
mov dword [ebp - 0x618], eax
call edi
push str..MainInfo.ini
push 0
push str.InterfaceType
push str.Custom
mov dword [ebp - 0x614], eax
call edi
push str..MainInfo.ini
push 0
push str.InterfaceType
push str.Custom
mov dword [ebp - 0x558], eax
call edi
push str..MainInfo.ini
push 0
push str.SelectCharacterType
push str.Custom
mov dword [ebp - 0x558], eax
call edi
push str..MainInfo.ini
push 0
push str.SelectServerType
push str.Custom
mov dword [ebp - 0x554], eax
call edi
push str..MainInfo.ini
push 0
push str.MoveClassicSwitch
push str.Custom
mov dword [ebp - 0x550], eax
call edi
push str..MainInfo.ini
push 0
push str.MasterSkillTreeSwitch
push str.Custom
mov dword [ebp - 0x54c], eax
call edi
push str..MainInfo.ini
push 0
push str.RemoveClickEffectSwitch
push str.Custom
mov dword [ebp - 0x548], eax
call edi
push str..MainInfo.ini
push 0
push str.MenuFastAltClickSwitch
push str.Custom
mov dword [ebp - 0x544], eax
call edi
push str..MainInfo.ini
push 0
push str.InventoryExpandedSwitch
push str.Custom
mov dword [ebp - 0x540], eax
call edi
push str..MainInfo.ini
push 0
push str.WarehouseExpandedSwitch
push str.Custom
mov dword [ebp - 0x53c], eax
call edi
push str..MainInfo.ini
push 0
push str.GensBattleWindowSwitch
push str.Custom
mov dword [ebp - 0x538], eax
call edi
push str..MainInfo.ini
push 0
push str.FastMenuKeyUSwitch
push str.Custom
mov dword [ebp - 0x534], eax
call edi
push str..MainInfo.ini
push 0
push str.ChaosMachineItem380Switch
push str.Custom
mov dword [ebp - 0x530], eax
call edi
push str..MainInfo.ini
push 0
push str.OptionsEventsMasterSwitch
push str.Custom
mov dword [ebp - 0x520], eax
call edi
push str..MainInfo.ini
push 0
push str.ButtonsSelectServerSwitch
push str.Custom
mov dword [ebp - 0x51c], eax
call edi
push str..MainInfo.ini
push 0
push str.SelectServerBarRemakeSwitch
push str.Custom
mov dword [ebp - 0x518], eax
call edi
push str..MainInfo.ini
push 0
push str.DisableKeyMSwitch
push str.Custom
mov dword [ebp - 0x514], eax
call edi
push str..MainInfo.ini
mov dword [ebp - 0x510], eax
push 0
push str.DisableKeySSwitch
push str.Custom
call edi
push str..MainInfo.ini
push 0
push str.DisableKeyDSwitch
push str.Custom
mov dword [ebp - 0x50c], eax
call edi
push str..MainInfo.ini
push 0
push str.DisableKeyFSwitch
push str.Custom
mov dword [ebp - 0x508], eax
call edi
push str..MainInfo.ini
push 0
push str.DisableKeyXSwitch
push str.Custom
mov dword [ebp - 0x504], eax
call edi
push str..MainInfo.ini
push 0
push str.GuildMasterButtonsPositionSwitch
push str.Custom
mov dword [ebp - 0x500], eax
call edi
push str..MainInfo.ini
push 0
push str.SelectBarExpType
push str.Custom
mov dword [ebp - 0x4f8], eax
call edi
push str..MainInfo.ini
push 0
push str.DisableCreateClassType
push str.Custom
mov dword [ebp - 0x52c], eax
call edi
push str..MainInfo.ini
push 0
push str.RankUserType
push str.Custom
mov dword [ebp - 0x4fc], eax
call edi
push str..MainInfo.ini
push 0
push str.CharacterDeleteLevel
push str.Custom
mov dword [ebp - 0x60c], eax
call edi
push str..MainInfo.ini
push 0
push str.CustomSelectCharAnimateEnable
push str.Custom
mov dword [ebp - 0x608], eax
call edi
push str..MainInfo.ini
push 0
push str.CustomHelperAndInventory
push str.Custom
mov dword [ebp - 0x604], eax
call edi
push str..MainInfo.ini
push 0
push str.CustomInventoryAdvanced
push str.Custom
mov dword [ebp - 0x600], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableCsSkillsAllMaps
push str.Custom
mov dword [ebp - 0x5fc], eax
call edi
push str..MainInfo.ini
push 0
push str.DisableReflectEffect
push str.Custom
mov dword [ebp - 0x5f4], eax
call edi
push str..MainInfo.ini
push 0
push str.RankUserShowOverHead
push str.Custom
mov dword [ebp - 0x5f0], eax
call edi
push str..MainInfo.ini
push 1
push str.RankUserOnlyOnSafeZone
push str.Custom
mov dword [ebp - 0x580], eax
call edi
push str..MainInfo.ini
push 1
push str.RankUserShowReset
push str.Custom
mov dword [ebp - 0x57c], eax
call edi
push str..MainInfo.ini
push 1
push str.RankUserShowMasterReset
push str.Custom
mov dword [ebp - 0x578], eax
call edi
push str..MainInfo.ini
push 0
push str.RankUserNeedAltKey
push str.Custom
mov dword [ebp - 0x574], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableVipShop
push str.Custom
mov dword [ebp - 0x570], eax
call edi
push str..MainInfo.ini
push 3
push str.VipTypes
push str.Custom
mov dword [ebp - 0x5ec], eax
call edi
push str..MainInfo.ini
push 0
push str.PrinsdasdtLogo
push str.Custom
mov dword [ebp - 0x5e8], eax
call edi
push str..MainInfo.ini
push 0
push str.CustomMenuSwitch
push str.Custom
mov dword [ebp - 0x5e4], eax
call edi
push str..MainInfo.ini
push 0
push str.CustomMenuType
push str.Custom
mov dword [ebp - 0x5e0], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableEventTimeButton
push str.Custom
mov dword [ebp - 0x5dc], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableVipShopButton
push str.Custom
mov dword [ebp - 0x5d8], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableRankingButton
push str.Custom
mov dword [ebp - 0x5d4], eax
call edi
push str..MainInfo.ini
mov dword [ebp - 0x5d0], eax
push 0
push str.EnableCommandButton
push str.Custom
call edi
push str..MainInfo.ini
push 0
push str.EnableStoreSearchButton
push str.Custom
mov dword [ebp - 0x5cc], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableFlagSystemButton
push str.Custom
mov dword [ebp - 0x5c8], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableLuckyWheelButton
push str.Custom
mov dword [ebp - 0x5c4], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableSelectSrvChangeButton
push str.Custom
mov dword [ebp - 0x5c0], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableBuyWarehouseButton
push str.Custom
mov dword [ebp - 0x5bc], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableBuyJewelBankButton
push str.Custom
mov dword [ebp - 0x5b8], eax
call edi
push str..MainInfo.ini
push 0x14
mov dword [ebp - 0x5b4], eax
lea eax, [ebp - 0x46c]
push eax
push str.0000000000000000000
push str.DiscordRPCID
push str.Custom
call esi
push str..MainInfo.ini
push 0x32
lea eax, [ebp - 0x458]
push eax
push str.0000000000000000000
push str.DiscordRPCDescription
push str.Custom
call esi
push str..MainInfo.ini
push pe_nt_image_headers32
lea eax, [ebp - 0x426]
push eax
push str.0000000000000000000
push str.DiscordRPCImageKeySmall
push str.Custom
call esi
push str..MainInfo.ini
push pe_nt_image_headers32
lea eax, [ebp - 0x326]
push eax
push str.0000000000000000000
push str.DiscordRPCImageKeySmallTxt
push str.Custom
call esi
push str..MainInfo.ini
push pe_nt_image_headers32
lea eax, [ebp - 0x226]
push eax
push str.0000000000000000000
push str.DiscordRPCImageKeyLarge
push str.Custom
call esi
push str..MainInfo.ini
push pe_nt_image_headers32
lea eax, [ebp - 0x126]
push eax
push str.0000000000000000000
push str.DiscordRPCImageKeyLargeTxt
push str.Custom
call esi
push str..MainInfo.ini
push 0
push str.DiscordRPCType
push str.Custom
call edi
push str..MainInfo.ini
push 0
push str.DiscordRPCSwitch
push str.Custom
mov dword [ebp - 0x24], eax
call edi
push str..MainInfo.ini
push 0
push str.InventoryVisual
push str.Custom
mov dword [ebp - 0x20], eax
call edi
push str..MainInfo.ini
push 0
push str.PcPointSwitch
push str.Custom
mov dword [ebp - 0x1c], eax
call edi
push str..MainInfo.ini
push 0
push str.TrashInventoryIcon
push str.Custom
mov dword [ebp - 0x18], eax
call edi
push str..MainInfo.ini
push 0
push str.WarehouseDelay
push str.Custom
mov dword [ebp - 0x14], eax
call edi
push str..MainInfo.ini
push 0
push str.LuaCrypt
push str.Custom
mov dword [ebp - 0x10], eax
call edi
push str..MainInfo.ini
push 0
test eax, eax
push str.EnableShopValueSystem
push str.Custom
setne byte [ebp - 0xc]
call edi
push str..MainInfo.ini
push 0
push str.EnableStoreBlessButtom
push str.Custom
mov dword [ebp - 0x5ac], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableStoreSoulButtom
push str.Custom
mov dword [ebp - 0x5a8], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableStoreChaosButtom
push str.Custom
mov dword [ebp - 0x5a4], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableStoreCoin1Buttom
push str.Custom
mov dword [ebp - 0x5a0], eax
call edi
mov dword [ebp - 0x59c], eax
push str..MainInfo.ini
push 0
push str.EnableStoreCoin2Buttom
push str.Custom
call edi
push str..MainInfo.ini
push 0
push str.EnableStoreCoin3Buttom
push str.Custom
mov dword [ebp - 0x598], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableOffStoreButtom
push str.Custom
mov dword [ebp - 0x594], eax
call edi
push str..MainInfo.ini
push 0
push str.CustomMonsterEnable
push str.Custom
mov dword [ebp - 0x590], eax
call edi
push str..MainInfo.ini
push 0
push str.DisablePartyHpBar
push str.Custom
mov dword [ebp - 0x58c], eax
call edi
push str..MainInfo.ini
push 0
push str.LimitTransferZen
push str.Custom
mov dword [ebp - 0x588], eax
call edi
push str..MainInfo.ini
push 0
push str.SelectCharacterUpgrade
push str.Custom
mov dword [ebp - 0x584], eax
call edi
push str..MainInfo.ini
push 0
push str.ItemToolTipUpgrade
push str.Custom
mov dword [ebp - 0x568], eax
call edi
push str..MainInfo.ini
push 0
push str.StatsAdvancedSwitch
push str.Custom
mov dword [ebp - 0x56c], eax
call edi
push str..MainInfo.ini
push 0
push str.JewelBankSwitch
push str.Custom
mov dword [ebp - 0x564], eax
call edi
push str..MainInfo.ini
push 0
push str.LuckyWheelSwitch
push str.Custom
mov dword [ebp - 0x560], eax
call edi
push str..MainInfo.ini
push 0
push str.PlayerShowName
push str.Custom
mov dword [ebp - 0x55c], eax
call edi
push str..MainInfo.ini
push 0
push str.MultiCharacterEnable
push str.Custom
mov dword [ebp - 0x4f4], eax
call edi
push str..MainInfo.ini
push 0
push str.PlayerShowGuildLogo
mov dword [ebp - 0x4ec], eax
push str.Custom
call edi
push str..MainInfo.ini
push 0
push str.SceneCharacterDowngradeType
push str.Custom
mov dword [ebp - 0x4f0], eax
call edi
push str..MainInfo.ini
push 0
push str.MessageChatRemakeType
push str.Custom
mov dword [ebp - 0x4e4], eax
call edi
push str..MainInfo.ini
push 0
push str.MuunInventorySystem
push str.Custom
mov dword [ebp - 0x4e0], eax
call edi
push str..MainInfo.ini
push 0
push str.HelperActiveOfflineSystem
push str.HelperInfo
mov dword [ebp - 0x4dc], eax
call edi
push str..MainInfo.ini
push 0
push str.CapeCustomSystem
push str.Custom
mov dword [ebp - 0x4d8], eax
call edi
push str..MainInfo.ini
push 0
push str.BowCustomSystem
push str.Custom
mov dword [ebp - 0x4d4], eax
call edi
push str..MainInfo.ini
push 0
push str.FogSystem
push str.Custom
mov dword [ebp - 0x4d0], eax
call edi
push str..MainInfo.ini
push 0
push str.RemoveGlowSystem
push str.Custom
mov dword [ebp - 0x4cc], eax
call edi
push str..MainInfo.ini
push 0
push str.StoreSearchSystem
push str.Custom
mov dword [ebp - 0x4c8], eax
call edi
push str..MainInfo.ini
push 0
push str.GlovesRFSystem
push str.Custom
mov dword [ebp - 0x4c4], eax
call edi
push str..MainInfo.ini
push 0
push str.PetCustomSystem
push str.Custom
mov dword [ebp - 0x4c0], eax
call edi
push str..MainInfo.ini
push 0
push str.PetEffectSystem
push str.Custom
mov dword [ebp - 0x4bc], eax
call edi
push str..MainInfo.ini
push 0
push str.EarthQuakeSystem
push str.Custom
mov dword [ebp - 0x4b8], eax
call edi
mov dword [ebp - 0x4b4], eax
push str..MainInfo.ini
push 0
push str.CashShopSafezone
push str.Custom
call edi
push str..MainInfo.ini
push 0
push str.SelectServerPanel
push str.Custom
mov dword [ebp - 0x4b0], eax
call edi
push str..MainInfo.ini
push 0
push str.StatusRealView
push str.Custom
mov dword [ebp - 0x4ac], eax
call edi
push str..MainInfo.ini
push 0
push str.FpsMonitor
push str.Custom
mov dword [ebp - 0x4a8], eax
call edi
push str..MainInfo.ini
push 0
push str.FpsLimit
push str.Custom
mov dword [ebp - 0x4a4], eax
call edi
push str..MainInfo.ini
push 0
push str.UseSDSystem
push str.Custom
mov dword [ebp - 0x4a0], eax
call edi
push str..MainInfo.ini
push 0
push str.CreateAccountSystem
push str.Custom
mov dword [ebp - 0x49c], eax
call edi
push str..MainInfo.ini
push 0
push str.SaveLoginInfo
push str.Custom
mov dword [ebp - 0x498], eax
call edi
push str..MainInfo.ini
push 0
push str.MiniMapType
push str.Custom
mov dword [ebp - 0x494], eax
call edi
push str..MainInfo.ini
push 0
push str.OptionMenuType
push str.Custom
mov dword [ebp - 0x490], eax
call edi
push str..MainInfo.ini
push 0
push str.RemoveEffectLevel15
push str.Custom
mov dword [ebp - 0x48c], eax
call edi
push str..MainInfo.ini
push 0
push str.SocketItemAcceptHarmonySwitch
push str.Custom
mov dword [ebp - 0x488], eax
call edi
push str..MainInfo.ini
push 0
push str.WindowCustomInterfaceType
push str.Custom
mov dword [ebp - 0x484], eax
call edi
push str..MainInfo.ini
push 0
push str.EnableWarehouseShop
mov dword [ebp - 0x480], eax
push str.Custom
call edi
push str..MainInfo.ini
push 0
push str.FlagSystem
push str.Custom
mov dword [ebp - 0x47c], eax
call edi
push str..MainInfo.ini
push 0
push str.RuneEffect
push str.Custom
mov dword [ebp - 0x478], eax
call edi
push str..MainInfo.ini
push 0
push str.BuffIconType
push str.Custom
mov dword [ebp - 0x474], eax
call edi
lea ecx, [ebp - 0xc08]
mov dword [ebp - 0x470], eax
call fcn.004015f0
push ecx
lea eax, [ebp - 0x658]
push eax
lea eax, [ebp - 0x739]
push eax
lea ecx, [ebp - 0xc08]
call fcn.00401720
mov ecx, dword [ebp - 0x658]
xor edx, edx
test al, al
lea eax, [ebp - 0x650]
cmove ecx, edx
push ecx
push eax
lea eax, [ebp - 0x6f9]
mov dword [ebp - 0x658], ecx
push eax
lea ecx, [ebp - 0xc08]
call fcn.00401720
mov ecx, dword [ebp - 0x650]
xor edx, edx
test al, al
lea eax, [ebp - 0x64c]
cmove ecx, edx
push ecx
push eax
lea eax, [ebp - 0x6d9]
mov dword [ebp - 0x650], ecx
push eax
lea ecx, [ebp - 0xc08]
call fcn.00401720
mov ecx, dword [ebp - 0x64c]
xor edx, edx
test al, al
lea eax, [ebp - 0x648]
cmove ecx, edx
push ecx
push eax
lea eax, [ebp - 0x6b9]
mov dword [ebp - 0x64c], ecx
push eax
lea ecx, [ebp - 0xc08]
call fcn.00401720
mov ecx, dword [ebp - 0x648]
xor edx, edx
test al, al
lea eax, [ebp - 0x644]
cmove ecx, edx
push ecx
push eax
lea eax, [ebp - 0x699]
mov dword [ebp - 0x648], ecx
push eax
lea ecx, [ebp - 0xc08]
call fcn.00401720
mov ecx, dword [ebp - 0x644]
xor edx, edx
test al, al
cmove ecx, edx
push ecx
lea eax, [ebp - 0x640]
mov dword [ebp - 0x644], ecx
push eax
lea eax, [ebp - 0x679]
push eax
lea ecx, [ebp - 0xc08]
call fcn.00401720
mov ecx, dword [ebp - 0x640]
xor edx, edx
test al, al
lea eax, [ebp - 0x654]
cmove ecx, edx
push ecx
push eax
lea eax, [ebp - 0x719]
mov dword [ebp - 0x640], ecx
push eax
lea ecx, [ebp - 0xc08]
call fcn.00401720
mov ecx, dword [ebp - 0x654]
xor edx, edx
test al, al
cmove ecx, edx
xor eax, eax
mov dword [ebp - 0x654], ecx
nop word [eax + eax]
mov cl, byte [ebp + eax - 0x808]
mov edx, eax
xor cl, al
shr edx, 8
xor dl, 0x95
xor cl, 0xda
sub cl, dl
mov byte [ebp + eax - 0x808], cl
inc eax
cmp eax, 0x800
jb 0x407170
push str..DataLocal_
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4071a9
test al, 0x10
jne 0x4071b6
push str.mkdir__DataLocal_
call fcn.0041508f
add esp, 4
push 0
push 0x20
push 2
push 0
push 1
push 0x40000000
push str..DataLocalServer.bmd
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x407248
push 0
lea eax, [ebp - 0xc0c]
mov dword [ebp - 0xc0c], 0
push eax
push 0x800
lea eax, [ebp - 0x808]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
test eax, eax
jne 0x407219
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040adff
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x407231
jmp 0x407248
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040adff
mov esp, ebp
pop ebp
ret