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

Disassembly:
push ebp
mov ecx, 5
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x162]
mov esi, 0x643eb5b6
push ebx
sub esp, 0x17c
mov eax, dword [0x643e8028]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x13a]
mov esi, 0x643eb5ca
mov ecx, 0x22
rep movsb byte es:[edi], byte [esi]
xor eax, 0x872332bf
mov dword [0x643e7e00], eax
call fcn.643d2c24
imul eax, dword [0x643e8028], 0x92c57c9e
mov dword [ebp - 0x16c], eax
mov dword [0x643e8028], eax
xor eax, eax
mov byte [ebp + eax - 0x118], al
inc eax
cmp eax, 0x100
jne 0x643c863f
xor esi, esi
xor ecx, ecx
mov eax, ecx
mov edi, 0x21
xor edx, edx
mov bl, byte [ebp + ecx - 0x118]
div edi
movzx eax, byte [ebp + edx - 0x13a]
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 0x643c8652
mov edi, dword [ebp - 0x16c]
mov byte [ebp - 0x19], al
xor ecx, ecx
xor edx, edx
mov byte [ebp + esi - 0x118], bl
xor ebx, ebx
and edi, 0x8789195b
inc edx
lea esi, [ebp - 0x14e]
movzx edx, dl
mov al, byte [ebp + edx - 0x118]
add ecx, eax
mov byte [ebp - 0x16c], al
movzx ecx, cl
mov al, byte [ebp + ecx - 0x118]
mov byte [ebp + edx - 0x118], al
mov al, byte [ebp - 0x16c]
mov byte [ebp + ecx - 0x118], al
add al, byte [ebp + edx - 0x118]
movzx eax, al
mov al, byte [ebp + eax - 0x118]
xor al, byte [ebx + ebp - 0x162]
mov byte [ebp + ebx - 0x14e], al
inc ebx
cmp ebx, 0x14
jne 0x643c86b0
mov dword [esp + 8], esi
add edi, 0x78641840
mov dword [esp + 0xc], 0x14
mov dword [esp + 4], 0x1584
mov dword [esp], str.7Uu6M6rrvHz2_ZZDBJYP4LmRE1SzzCwUyAIwDyTy3jn02JgbvzDoEqcsxVOKK15nfhMAwGK6YB_r8ex44wyuDk418uqhhoiBfYBR9qdLzQInV3mUtMR4g20CaEXRhRzB3fvw0fXTZrNEcHZ5iP9CMOznQMOg8AbRmHpAKInamjs1RuYA6jRAxnPwAoveUsZZPzIKWUzT1iBZCc48mrHn_DD7jc62PiapcKvcU42hkgj_iAYT29KTzWPAKGC69f8vpx4sSOrcgY39Ao9zJ6btV8LdN67Bb7r52Yfkkt4ctogr3eqEbpi_gWGiAGNn8GnKnXCBfO5mIauzor61ndSLqe3UIFPhk6SwkJmeG3LNCJ_1ZQnImxBlvpx3S9GgxOxKkS1T2VTinhV_iyBZdJwiLvlbIWpoEGDROsZGRsPfIx3iemybIyGPVhafd61KQRkUUWrQ7UnRltbdmxed9H7VhBPRDTTNrbFFw3b6tiBXWCoWmLWppUjLMHVeVRunWH0XjMgRim3BTJHpIZNmC7W5RIv62InSIWtK6LvEFfRnUsNUICXCadbTeAoYJH6qFk0Wa9XrSeCtyApr1e7DvaAkPj0ZDvy4iCEg83VVtRm4iD7HJivXXHSZbYv08zoER_ICbRJMjyQhuXPAvzzfJls1jMGJl6Crsd4_sKJEguf8QrJ60MeafjejjwOUuiFzk_Ez2UrHg8mCKWhCV7msBI80MIqRoxVNifdb2sE3dXcZB8scezNMU5nv1ynz7Ed9uqNHWhfUIrvrV1XXE3vmSVr3azBjsuiRNNpg4ZEqQ7y8_Nv_szp3I6j7Vbkt5p9gTvdTyo58DI3QUiHfYGATYragkThLCsuTSEoxAqYDqZ8VfYL00XqQyiAeRCQCXQB4VmKbHPiXwo6Hwe8TBRgJR3rkMT9RmbtILxLbTYyPLYO4LqzNRsFJ5F1yzWme1HJSbnyW0YRxNNcuSJHx4ENDK0stZOVfEsuR3wMF0vlwnBR8ho_7k1sNo6NA6AYVKY1I8DQeHIMR5YU1KRDU6JjQjixwc4GwckBt_4NAad88qmxozuTNx8Fsntl7V3XjTbbJp0jFP48MpYFv0oC52Tq2_CRWNkLDc5Spw0SMknYnxAzVOU3n_QBtHtEApYfqRZwL3om5AuysxVfmPAjAIbFPjJOaNj1Q21aeZszxO1eo9ZATxyB19TFvdInge_bzEX5mhs6tR9gosydaeSI1YKywSXItenuAzUJQDi8eo0ryX3BWiOgZ9qjfJ3vWOGluXRKOO5SuPt1PFQpdyK6eBaHwp56bdU1OhekhCydhHWiKtx_p5pquz00jL4RSiAdPu5ZcpgN22gq2YgIsub8XYLjrmrQ1LO5thiOge5fJApj4KKbDjcXHFlGAaddgbqqkQJTVLh8gJcGDvPWIHBPAcxkqXihatKHP7l9pabKdnESlYxHu1WNaryx42Ljx8mjEBcT2y5LQvehdmVB4dZSfbxWn_PaxYLRyPAE8B8n7GZux9A3GVbQU9M0ed1vlVRMOWmttZ0iTROJUmCKUJSlzltmaaBymEKt36j_Jb96eYC7RX0rW6si5cmmWILBqbHmDJGI3naQQgc7PR1iDxTkhWMb5378iSQM8h2mYwyeC0bvr3rletxxtfl2Jzmh_qbUxz6_8L706Lyodq9n7yTVgPWYlpxS_IbnUc0nCTnHTKjO2FXO1gKBVoLdJWlpkgEyatWdfd3cMZJdFLrQ5Yq1pHzNVMa44UYoz_RRCVrRXoyFUlERJSPwhJkW8GmY9C0CRA5aZImj2aNKc3TNWGAqQBsmSASkROVtqC9ovaaSbAXLXq06bK_LQ6F0oIN8Z9wQe7KuLvmqyDVwy2WkoHWxfnl3eWz0Jy0hclXJ8a2NJG3YDXopMu4gM8wclp_QT5xPIsTR3N9UrWU2aH58eIhg0CeGVxHRi9JO1uE_wmZtj8R8GsQmI9U1MVBjkXrZgQhDf8wFctIPJzll8DN3SWC1KPIPAvJcHq_j5vdiYFOdqSll1ZscT3VLthqnjdD5G1kbTp1qxfYzyv045Rj4QtAi35tiO1NXtJ6DL2LfSe9hoUh57gc3FSb8PNorooqmPK_s7m63GDtjChBvDkhuj1oPieH4csXMtt_pK0RKcwoyMpLR6PumGmGkRYxmQlzfk4O3m9P3SUo86cJOjnJIlVPf0a4b9UQAlmHCpOlCTcpXQzozF5TlL0WwQ07mn6mVXIJDcqCL43aYG0H5theyf_IzuGCAuQcIncyiuMoqbuVUxd4KVPbHV5ekcsi_UanWXtdX5KtVECIyY8dAqXM7vZ5LD0vAYZyUzbgU1yBBlOeSuvT5omzuIc7Oblt11T31oYTj_jK_F67MUeIgZCoEG7k4vIMMPFxIanJHMwFLIIH0J0lHqUxZt8mg0NAZ80_aB5egAF7At9BKMQh77ghPQToDj_6XmyGjWdvXunVwVjHj2u0OLfHujH443sY7SEBU9uj2T3XMCAQbdiLNmZHzXRnUxOw3EghAXMTLcbjH05JcNQsK_Mv2CZFqxwVELLMt7OQr1RFHdxheal_6pGHbjhe1S0ftTXecqKGyhfz0vGyrgNflfDreIQoJC428L51VZZN_6MmQoW5HOalf4kKhy_XZ7HhhculNBwxUgiedjDgCf3UZULwa06xTWttjQ1EjJfedZiihtwJSYq34O09H9cPB0H0ShKgZqoIcznbX2Ow_3F2dYSQJzCxv2YrFkyoIUkkk17SEoMUANika8z6dg8MBLtozBRo7tQl8wChSNtrVxzmSFmMgxVl8ybIwMxRncjrt4lS1PGZ3MoTAB9XIb0sda0T1j9TtOtYUk03nJHL0YA_x34iVZ9gVm1uQUTGHeHD_HnSt0nXCJdI8t7DuBNHQqhWA6QR9b8ovY1GHJMNjmHZllXXco7cP4xW7YEkHIPpJH41GpfdADgTIq4JwohTssw2BMoF5p_okWruHBrBABND_T20pxoGSbZ8aWsQ5G_VuF7S2CN6XSevgdVJzhwU5mIU2vm9G4laS5cRN13ALXGNS4iHjnR7GPUyNeXo5zkNfSX6XuI_tnIDpwWbNDYgi6juNABy_fCmN19oKX_IQme7TJCuCLbrhwofaonmSeVra2DH5lMT3ypqNZpbtpDqY6WrOPKR7Lt97apqEfql2xfc9jnyZR6z9lW7uY2946az2N4AFpOjly2bIKEkpMDQ1UBfifK5LrGk62rph9EvVQApF6jV_2kpfGdRWAbF_4dV6obYysVX6wq5gSMpzBjgE5GA_mtrKAQydUEh4f0wssKzQrl4y0KC1yihwMJWowat1AXCVPRQX4Ik4QWpASlzQU5DtC1jufiTLRisiPQaFEzSsbsSKgieSYJXBhnnsZqvaWzK6HrTNZerD4fhEpvEQP6zXs_qU3ad5dYz7ztfFeFKS9ZmUdHzzPmRaS_8amb8wwOriKJ1GAKKk5LHjwLP3g52dsN_HSG7fZ4zeRsBSydUxOCApvLxF8BF2OKT4PHsm9ARMtMsznUFdCTr1Zv_uEYGZFGv0gPdxMAQo_0eTnVWIvUxztxiqvL8JEzonKlzOPkRQG12FDTtHPw00e8wDrzcMTdTacRkzWrEZSiYBY0acpt6Dv2gqc6DY5fY_iXDSoDYdqNNr7ST228o0eEzu5NmOJ2mqF6utkwdfCAHgdhLLrXWX_QDVRDni8xq0lb9GzTnOqhKWwphkxgVfYLsxIbaUZTrStkcyvQ4yyFAjLmQunuCMrBWLPYD9VOtKXolMIM_4FRJ0teZx4I1PbSBbYbw6HeozQB4bkBNs_4aKUhqPOG3EJWgmaPqUWVF2M_CHCJcHiz__kisHHEPLSDjcscYCcxJROHbmr6_NxIRqRnOGCgToGNsw_aAj4OFFYxTZIe8fkhzW9IePbz2DouxhIr7lssVkilwXqtYHIQofpyvCv2yHCoxZuvsVoEycRgC8WQmD0fp9aPSfsicJHuc_p4E2NLFkhM5c22oceE_8BsDrRvjoDFEb79j7EYw3ApMB1
mov dword [0x643e7e00], edi
mov byte [ebp - 0x13a], 0
call fcn.643cb468
add esp, 0x17c
pop ebx
pop esi
pop edi
pop ebp
ret