Function at 0x408f54
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x156]
mov esi, 0x42dc9a
push ebx
xor ebx, ebx
sub esp, 0x18c
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ecx, 0x1f
rep movsb byte es:[edi], byte [esi]
xor eax, 0x3f24ff2e
lea edi, [ebp - 0x173]
mov esi, 0x42dcb9
and eax, 0xb07f5be1
mov ecx, 0x1d
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
lea edx, [eax + 0x3c198665]
mov dword [0x42979c], eax
xor ecx, 0xaf7f7971
mov dword [0x4294a0], edx
mov dword [0x4297e8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 8], str.ciSigningFlags
mov dword [esp + 4], str.Failed_to_find_the_Cor20Header
mov dword [esp], eax
call fcn.00412a74
mov eax, dword [0x429544]
lea edx, [eax - 0x5dc8a9e1]
mov dword [0x42979c], edx
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
push edx
mov eax, dword [0x42979c]
xor eax, 0x7093ea2d
mov dword [0x4297e8], eax
call fcn.0040fd30
mov eax, dword [0x4294a0]
and eax, 0x14418141
mov dword [0x4297e8], eax
mov eax, dword [0x429544]
lea edx, [eax - 0x5fdc5aa8]
sub eax, 0xf5edb82
mov dword [0x4294a0], edx
mov dword [0x429544], eax
call fcn.004150c4
imul eax, dword [0x4297e8], 0xacd1a6b3
mov dword [0x4297e8], eax
sub eax, 0x1d7a2c97
mov dword [0x4294a0], eax
mov dword [esp + 8], eax
mov eax, dword [0x429544]
mov dword [esp], str.ciSigningFlags
mov dword [esp + 4], eax
call fcn.00413f60
mov byte [ebp + ebx - 0x118], bl
inc ebx
cmp ebx, 0x100
jne 0x40900f
xor esi, esi
xor ecx, ecx
mov edi, 0x1c
mov eax, ecx
xor edx, edx
mov bl, byte [ebp + ecx - 0x118]
div edi
movzx eax, byte [ebp + edx - 0x173]
movzx edx, bl
add eax, edx
add eax, esi
movzx esi, al
mov al, byte [ebp + esi - 0x118]
mov byte [ebp + ecx - 0x118], al
inc ecx
mov byte [ebp + esi - 0x118], bl
cmp ecx, 0x100
jne 0x40907a
mov byte [ebp - 0x19], al
mov eax, dword [0x429544]
xor edi, edi
xor ecx, ecx
mov byte [ebp + esi - 0x118], bl
xor ebx, ebx
xor eax, 0xccf6ac07
mov dword [ebp - 0x17c], eax
mov dword [0x429544], eax
mov eax, dword [0x4294a0]
add eax, 0x7578525
mov dword [ebp - 0x180], eax
mov dword [0x4297e8], eax
inc ecx
lea esi, [ebp - 0x137]
movzx ecx, cl
mov dl, byte [ebp + ecx - 0x118]
add ebx, edx
movzx ebx, bl
mov al, byte [ebp + ebx - 0x118]
mov byte [ebp + ecx - 0x118], al
mov byte [ebp + ebx - 0x118], dl
add dl, byte [ebp + ecx - 0x118]
movzx edx, dl
mov dl, byte [ebp + edx - 0x118]
xor dl, byte [edi + ebp - 0x156]
mov byte [ebp + edi - 0x137], dl
inc edi
cmp edi, 0x1f
jne 0x4090f1
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
mov byte [ebp - 0x118], 0
and eax, 0x482dd05f
or edx, 0x2c211f65
mov dword [0x4294a0], edx
mov dword [0x42979c], eax
mov dword [esp], eax
call dword [sym.imp.USER32.dll_IsWindow]
push eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0x1f
mov dword [esp + 4], 0x19d4
mov dword [esp], str.F28mu9PjaHbFREp8ZLPbFGxaRmINGhnio75nrXxBeD3MpT8pnLla2F_q4022dkgOc11XmhV5PzRMMRYh1MEsREkLQw1JhRROu43AfsZ6rxC9EGBjRNz6tKHCLePB5XIdpY9IY1kd9dY32AJhRFdOniqcjBq5qxyxYu1WgajxGpdeGzCrlYoz9VvyzYJDIlWYrRyZXhWlqv8B2Nwyb2qhbrxEMYawkTvOJvl4v2rKGE265WKi2awVwYDEahgIt9RFsrQonE6YvzYQWJm9zOaOGOVKIMdSYh2r4s4BmWXNhvxnWrgRBHFTsMhugihDGZF0SluuknD3gucOmyskoBds1aMZwv_nUy3dmOCKGjnTAaY_jVunGqRQR_41qHJu5PxsURsctVF6TdMzpYYJzn6vfncobRsb_7X59bSgLSMhF_G0P884F3G11cLPcEtXUgmrixJVAqaHV7C5liFssGDTKNTUwRMEkrgKFqiIAp2Uarta5CModFO8uyumYJNrGMNrHcPLAruHCR9e7dM1XAUUq6QlnlWZAlop5nKJB9amkRcS9Lq02QG20eJtua0PTkOzka2EnaI2FfkyYeKezHdoyblTb8iNIvZrFuH6waQLzsLlxb_YzL1brDAjJsLaiEHSIkdbETxfMUsPj6NZwtoOY55wrLUavgTZ1ENr2fttNOdNrATPDnRmVSqjT1HVtBtWX28DJXaJugX8c6g2sYSGMXNBU4J6_g0qymuSu8ZkVrfjiNvJXaGGL2wn4m9Gr58ov4pcqbXxcCBE6VBWmCKll0LyYOnu38jyOLYrVBvT6St2afAUW0XGMdC0qcRnYaqQeOrhUlsPxhOF68N8YUeGy6s9kwj9IJZkZqAQDMq49wV70k8HAp0Kx3IF7Gu61yx7iIUpCWPyb5IWMv47Vlns2wV_ytP7DKU7ck1XM32Ivm53Wm6uQdq9d7uI3AiQVhllqq_H9LHYCshVLJApAtyO9THYsNwPgUWodQ8KeDRBulVwfr75o9cwBfFPAkqGz2EuxVHA3CEKTHv9LJDdyWe5WV4VT_2X9jI7GxJNQnhPAMd1fUhJFlYt5VcihyPeDqbD9WFMghTkZhpFO0KIb7vSF0DQgQwl9CeQj3X_uwHera1D0OMn2yQFBJkHeSBLTRMSLSCQ3jrNKUPX356VkfI1HC6OUXFZaOSyGiHFfx5SdDwU8SfDdNdNVKaMVMHnJegH6MqhtgT0mptox3PzglJRY4eMa7jibizBcQe3N9qlxZc0eNEIWXypObHmPstKjyCKLahP3YWUdb3tcAx99GltqsNxYKc73GlQxjhVXuZ38mfN1JMNFl5yi_kMImh1Zy7KwF5XCAMzKzvRXvvU5WbrDFBhPRcM0K8W7lgFKOPXcArDyR8WDu6SSUH1ZlH9lmCoNWtPENN_rn_Xwz8NgJeWIFwQOR2XTtXLkhwzHdt0UU9TqcnMvVp8zgnM8iZK33LtfjGY474bM5uHyKVK6K2mXwAw8XdtAlJRZaAoBEoOsrZOFqSA4wFKSJJh3Qkx1sSX397P2Fo3AeWuZCcq1Lo1v5UOnLOmBZd656qaxSi4tOrmwu0rRE1DOTWpy0WJoEQgFjaX5oV4mph3FxC_nkKlijHl_ueoG0sWvTepcmEnPQctXhubMlGu2C3HPLg66cVB2Z6iE2MOE79ll1WnSokxX4ArzehJIU6Usz5hZvwupImvki4yXrR38eegIiHlR26RTqve06XnDArR6LNqTDC2S0ug6OTlHycBYM5MKgd6C4heCOAYFYv75CkiSDgZrCe_HB5IS_hHbNFYzr3pr2CLblznINlqrzzQletgN_H9Cfc6zs1EEkk_A8HHC5udnxW_zFUUNyU3LTvCHG0eoc6bww5yIL_9ynbXhpAt69EEVTQQDKLkBTndfmrsZjNocgO3bWU95CUC4mnLzQ6k1gy7m6xoNZR0eyUVYk117hjkfJmZxyR7Jqk01WjrFPtm_fvLOx_q7vGwPb3M2EYGXXGKKw4kNEyzYl_BHMglh5fYpOiaIKlw80Uvr9vqCMve2lQfCACDdTrUCosgkrcB_94TW9pOj7Rro_k_Gyz7OrEuwkIo4QCOYN8ZbnvJn1mfpRLj8JfuRtR3rLUkoEpEDgPGH0oGwvZ8KQ4wFNs77Lw6dIwaNBnI6sDKkQofW92UWBs9abXSeunBFsobdUzQOHJn6gQEegTkChFnZOz1YCwKmYY6EJPoyVJs49OV9fYP6OUvZMq41qcFhd8NQR2n4VzknVJkHyn1fQ9B2EVdKYi9uubhbDtw4FV92X3_MHhsM_OkJ6sZR2ohFOxSF4EktB9sSXcd7YGYeH5KEGEZWFsLxo7HAI4KXlUesC8DlF_pKCIikOj5lZXmYn3BSoSy7hiOi6QAmvwPYisw231K_9TtqNk29vzQoBmCVQ5CthblHLOT2ZFqkwJo3zGCjfMPb6ERYS4O52zN2cFMOyQ6ZIMmzigaSlIRnwSc12AdfWuBBvZbW_XEo2tsIVv0XpAFD2muKhjt_6Y5qiUxcqnENkk3tN5VP2AJfq_Jxu0KL0rZLRQ03O5lG5ahJlxG6qCM9IrGy_YSe7ctq8rYSZIyNxFliWqxUbNHOJNWK1OkNs2wW6yWB9chRC8RNcN73wEksTILrYB2RZy38AHJboB9EJy_6rv32fh_k0KuXo2yvosjBnAxPsItppUCOItRRIFoopBGhXqfRBd8gPTXsAYFpRArwKw8dOHp3hKe9Sa6XBoH_npoN9D8QsgECcefru2hbu0gRU_8MmStYN1aRb7vOFgYIFrssEtb0ID49MhEN_betGyX5CGOJCQAJHVBVDFryWrdSmSYKK8TC6l79FExHTaTG7ZUhp6NlYitJ_VPGuYZApXfgnZ2A7E4nxC0Q6wEUGOX8tiqYwIX0C6pCfYUxcrYKJqfoAqK0Z7tT1GFVYNCAIkaRS2AouKJ67TyYP2S6pcWPzV1ZWBWVw64gcMfIJ5nTMHlUGZg_noBX5bf9ytFZA2yDgWNiUEjhFXGMjAnXvOeMJZXn8FBPR1Bxbo21hp5Vr3OFyYSrCEmxBgA0lUeX0eIbfKXUiJnoVyiGKmG3pYL9bT6uPlOKecYlG7zzmAWsrSGw7uhB804_ENZE_JU8nn_VMZ3tqGkm6MbTNnkSHnbnmQ_9gG5agRZhGkLJDzpQ6_D9XfxCUjcTHj0bnUGBYpvzygiDXmFw4DawXjuboTto1FFMvIV1C5Bkm_32KPbvn482BtrUgB842NWl9rN6r_jd6IloLSocRYhE_x1uFYH5zgq04OYZsXZbavancoJbQjky9uo68xSIuESS4LMy9pHrVN1gRJwIUSh1il7xyyaAgsx3yhwA_TsM1BFVgM_bGlVGAprAjSvLMMBO4tQzZ8FVegyGQ8qGcP4WJieVNdI88ztHzqDe0ToTkrJ55413qvxVPiFNZj__4Ks1ON22CFzX0yO7NSQb97g9YPQWFPV__UQ6SMR4p9wh9S6NsPxS1IEw73gxxSYipIEn6Ua_1abdkztp_G5Nn9PVogaghgWfwD9jbhTRCIsBxY1LLN5CZYE41sy73I7KAsfnTgngpL1lKAHqBncRPhgnZjiP0FcvlebgY4KikONS9yh2B3wBqotHCPXHye5ubmfNU9qrQ0GHtEecykpvWfXrbmVJn_6MxsFfGy2AtuEf0WC6aVQc3nx9cE1ytdzW7Ye3e8j2S56ZuJSjmGoOKTfXXZ3ceF0kGSmk96OXCLC1mUTGe2HemrmtRgR8umr3YVuSJDMUQnb7M9NKYTuXOD56y8AU8C9YlWOlhX4VylMCKiyKlJW1_rwOdEMA5cHPqnWpD18kQcRRvRoek9g9Gz33M5oosiHCRvohHs_yRszLt_tTXubvShCgF47quX7DKqpHlH9ByTB7YA5SngD_E0ycIIjYUW_MZrUX3R9qymLka9_2cyB_VToKg0rnP66Ume52m83beRvFE8BPIOyklxXVerPskp5DLfyW58JzRs_G3jsIG9YBj1SCEXxTHu4Cdi4FXJTTxgkEc
call fcn.0040be04
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret