Function at 0x65688220
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ecx, 0xa
xor eax, eax
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x122]
mov esi, str.failureId
push ebx
sub esp, 0x14c
mov dword [ebp - 0x132], 0xedc41f0a
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x12e], 0xc5b9519b
mov byte [ebp + eax - 0x118], al
inc eax
cmp eax, 0x100
jne 0x65688254
mov edi, dword [0x656a8e2c]
xor esi, esi
xor ecx, ecx
mov al, byte [ebp + ecx - 0x118]
mov ebx, 9
xor edx, edx
mov byte [ebp - 0x139], al
mov eax, ecx
div ebx
movzx eax, byte [ebp + edx - 0x122]
movzx edx, byte [ebp - 0x139]
add eax, edx
add eax, esi
movzx esi, al
mov al, byte [ebp + esi - 0x118]
mov byte [ebp + ecx - 0x118], al
mov eax, edi
inc ecx
xor eax, 0x64df3cf6
add eax, 0x656077ce
or eax, 0x6b200955
mov edi, eax
mov al, byte [ebp - 0x139]
mov byte [ebp + esi - 0x118], al
cmp ecx, 0x100
jne 0x6568826d
mov dword [0x656a8e2c], edi
xor ebx, ebx
xor ecx, ecx
xor edx, edx
lea esi, [ebp - 0x12a]
inc edx
movzx edx, dl
mov al, byte [ebp + edx - 0x118]
add ecx, eax
mov byte [ebp - 0x139], al
movzx ecx, cl
mov al, byte [ebp + ecx - 0x118]
mov byte [ebp + edx - 0x118], al
mov al, byte [ebp - 0x139]
mov byte [ebp + ecx - 0x118], al
add al, byte [ebp + edx - 0x118]
movzx eax, al
mov al, byte [ebp + eax - 0x118]
xor al, byte [ebp + ebx - 0x132]
inc ebx
mov byte [ebx + esi - 1], al
cmp ebx, 8
jne 0x656882e4
mov byte [ebp - 0x122], 0
mov edx, str._tPackage_directories:__wZ
mov ecx, 0xcf9
movsx eax, byte [edx]
inc edx
test al, al
je 0x65688366
add ecx, eax
cmp ecx, 0x1ef0
jbe 0x65688348
mov eax, edi
xor eax, 0xa96cce88
mov dword [0x656a8e2c], eax
mov eax, dword [0x656a8e2c]
xor eax, 0x90549a8a
or eax, 0x5add7a1b
mov dword [0x656a8e2c], eax
call fcn.65693328
mov dword [esp + 8], esi
mov dword [esp + 0xc], 8
mov dword [esp + 4], 0x1154
mov dword [esp], str.mNHr6oNJ2irZNmU7EucR_OujDCvPK58Era2p1RshX99S83BRzuScZwYzQtLDvM_EmYi93yBq_NmDtQlhbf77p6KrbMCZrcT7gHPWzMI85QKlFAviCS1yqjh3eS3UiORrkBTcPDP_tJou1bCrGpyZuf5kx5UrdrYbkSuQPFJK37zUhgeonBVWpmhvCAxKcoZDBs_amCb0IV3HTexuovmBGiXtoBtqGuSbXKmzjVo_enWylMZPlNhVyqNlkA2FaxOEGaZZLiYghO5CUyCLDN_5Mk5JjAAzKKTk6oU0rB5aSSIbJex_LFkL0gysDG6DfDN3N5rA0NI7I_u8prU1X2MDA5euNKqbGqBy6_huBZwzAHE8Xr5mrr264yoSkyAMZnOq4JhtDT8TIZeQpIHVXw1iDfAMgHSsu49F69LJuZnMGfL7WN_9In2TK44JdpyjnKykA96VJbzraVnQ5U8FAG98DN3rr5CVZvMgIj843epx7tVk9Mu9_2xBR_IeLNSmSkG8VHMNi2SgHkvDamgnKcccZYpCe50bOletRPhiBGuLeFFdnZPDA0Nwu6DqJ9yWThR8DuhkRtl5OVAzZejdyE1x1n29UXYu6LYxGddJmc8U2F285vrJ0CzN3sdBNOSnTE_NFWOf2J_9ZuEnYjbn9hNy_ZjF0CbOiVdHdcQe0CSUyhrmELdoLpt1WMNdXE9ooi1QItsJ4QfRwrcI2uIhJBlZ5weekf1_7TT2nrU17OsATUI2N09UOTJ6srA14BfqCzRIlyoqngTCnU4pI5dePYq2fEIpGK_9BYu5C4sj_ZqORLZ2Z2d0yiNEfH1JePBU09n2I9ZNzjNXW3w7rP8wnlkS2sYLaWWDPNyispQkn7B66TgMslY4MYlyP09g2atJGG88XQUieLmwDlk1bgZTZDXNZ99jqOgulYEtaLw55W5fjkPYoxpY6JLN2gkCtCRrKEzjgEuCdLtYNXwTHmXfbGf7pT0sOnivuv6s0ENH7j0fzAUT4aNbK2lSFNXLKz69RuHol_ntcUpzSiGgBTERsJGmcI4I67LjqZMi80fAxQ4EKHVlP6fYs_WwovZ5wHhLZ7rRhjY_x6Nb21tbT3Fu1OW7w6u7YYD1clCm5CMLm5DewNpsBZbobt6tK_ZrLq6aqI22vlNJuOkNAyoqkhE2AI4fHWO7JPWw9TK63H1AlnfqGtfvyzdgLf_lwb2My4HNTqEJs6EFdmHWWBwBt6XDbOKZvG45lgDh9GZ4IIImc0JFb4YN8siVUVfH6yymiJ52z6wWqAjamSAu5Bd4B7bwE4qPvvDLqZhcBqbSsgH55byHkJvMHhEkaFMM1OIPkEO64ox3ekeNrMoD8ewE1ULRvXtk4LkzHGx5AwmYBZ5LdF676tiq8662zHDEM0fhGXoxinZvoOd7kScg7wv07Nxvmz3qInmFJOTv5EqFWMjWezKjT_6SZhn7zw9c_0AzWelv3tacArgOv5Uk9Oojz4rv9d_pePhSJgCblmA2ECmkfY2epBFDzLYo6ANGdNgQpUDPdLlp3fp1eQgCBCWa92rVuBNKZflmblF79_fCBVwbYu_IR75shjuERfiR9esZ4r9uttevlkK7ilE4yh1TNEkDZ9vKPAAls6YKIBvH2jGFtHyAfgLIE3PgtuXzEmVx80smulMuFjrnB5bbnIVFWKyXLD4QnziI1_9dAa8SlDIzeNrBV49Vk_wu1QKVG7_Gu4uYgNO5J5a16cgBqNM8wIj5tmhKDZ12J8D3nJV_tyjQsfuQtK99KMvy7D0IXRRm_0vOhlp4iILVkEUUc_dxncBijSHidOMsVE22p7vzvfdv3y2Nx6RMeAeTta5zKI9wz5kF9xKC4LMKlGRr0GP_t4XL6NKFCGh5glxdK7GOIHCTxKAyM2vO1o4NCSo_kTL_Bn9gxb8VEJRag9To92Yw_badt7XbBb_Fqbh1JyrGp3O8nP1hEV4ErL54TBrxKDZ_2McqlO2fLbHBQK5j_XzMMEDcAp4Zz63LFxY_fhjp0mvQbdMBSaycFu6oWty41MIWmPHzmQe_A1l3BzeqNGjK2inBUNjUzVj061H9Reh0s1RhEf050ERXfkGY6sRrIaSqMI5qYw7Dpw28L7wWYC5oddVlJ010IfiN9yth3_zbAHXlZSmr9Hhevmx9CHvw72bYf3iRMwslIV2G_33mB9lGQxt1Dcp8unDtYaNCIg8TKVV4onWwIpIFqSXSKWZlFkYgbWnBbmSEKNvNEOzbynvk7jqUMPveCFR1IY0onudbwx7N2GTlhw2FoEtonhqabIT9vTfxZW39FiwgzUa4dnw4aY8fVmZgZ_3r0uoVrJs8Z3qex0DneU5L1OcDyQv4rsrfbAw8vEv4mVtiylBdND6gkwUZpaAMGtB9e5LGGf4nYJQyTIyIWdFqHn2oidZQxC14ZXXOAkVOjP3Kwf0twSMj4T7gbrLAkMJeOfeNZuxvgfTP5xa5KirUVkaRI_DF3dglvIIn3BFaQ39HBQuGXR_Dwc9ESSJyfQl53wV31bOB6Xadub4VJvzPPBfeEk6XNmbuEizsGqPaau1Ohvyv0TAps6f_GybLLgqCMgJx9mlleeGxNYu8F9FoCxWVxnDwg0l3PUyVu5gSKPIpLiDGpWZiYKLnCmb8yVd3UG8vouqjsCZa2nI5o4jaZ39gadt4swohdK34tCEXmsk0p0pb3RY3MPOEIRefzbup3uRJrbjXyzU0xGtkZQkTXIboyMFcopDbnySX_neJyxG5DOOACDGMMSF5zuz84l0wGGh704BvsWtr7FIaaXfmE_For00YURnUtOFyTyw529dEKWxpB2BvPENysaQgHKymBllX3oEFpjcwc__FbXOCYVQD6UaI1pX1NIcI6vBuEBeUGVT1WSaUnjiVvNtqVd9QdbbpPc2F5zxjLgYKuMEdDPSIVplxFOqDpw7DOCChkbEkMtAN9pGsPQTsQoxtHmgmcEdfFCZI4CUaluGA154qZDdx3C7Va5G3g2D_7k5ZqSlsNBaleysOprhLI6M4Kz4bXoCL1KRwaIIpwtCEJ7mJp6vrFhHMhy6hdnWle7HDgpMXUgCKmQdwTNAryMqoc4nZ74vVAbB_U15KptyCREaCIX7HxT7IrhLLdS5vVEFb17unPqtzsVqsyTgXOnkI0eymGdsY50X_572Y_5dYg8mWhH0cl17dQawYgDf5Nhm4xGWxifIPr8JDK6R7nX11UCoOVsfE_Kp6KxBIoXK4BtbY9lF1F0M1uED6TJEBwFw7ewKRdeJGRhq2lPa1nXJyhjES2JvZ8JXNcYTDCokNPS92LJ6xX_Av40Qxp6ro6x3uQl6D9XGXLm3FQhtjf8l2SHgHyy8IJr88w7tTBoZt8gK490wwWVpUcpzaYaPssUZUm488T9D1VqYa4D656D3MZ2BNnCihkj_HqnFBqEHkjrgoL3xOVZ1_xCIaDsOWfyD2aZo8r5Bbln8HvrLhd3HphC8vCtfcdymg16LvcNyY6uWu_D9VCsV7AmRr9hEytD8C5CRlVC1g7fZ_7q28QFI0XxTf3T_lAeMp_TsNNdcBOen9pbMhEoPMtcS8IgdHDEuMsVWdDzObg3tguC11530jeJmkfjGIQoYSIWcz92atF3x6iE876xTSJNro9X6dvn2tYh024pH9LSXosMWvhqe6HQ3KjLm4gGoPBoTZlZiRLWkcfZcBrgz9EzvZ_AzxgnP9fE10bdMmg5UFfG4neJvAsp4yhjQRiJ1F4yI8XU2z4FmkDc0QZXh1CwnNpPVsFB6A_0hw0rHZbm0PCll7KPFryePSl4vvYWoHUeZZdyNeIR4gW5jONl5Yfenbw0CwSvljUj_5onhDYK3ozLnBBsQf2qcZz674ZKqOz6DSia5hbMOZ_HoH99Xz5KOkFmVbs1seBP467d9XQTeNGTw4PrkgGuM2Q04thV0vIjamrSw0nAAwYzf9Qe2Xt5Ugg1NO8VvADabBlXOEJwt8UIfKL53AOJ0H87nmul9khW5HOkS4jBS1nWiOMzMt94SgEuXVxg41dL5em_M
call fcn.6568bff8
add esp, 0x14c
pop ebx
pop esi
pop edi
pop ebp
ret