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

Disassembly:
push ebp
mov ecx, 4
xor edx, edx
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x15a]
mov esi, 0x656ad1c5
push ebx
sub esp, 0x17c
mov eax, dword [0x656a908c]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x13a]
mov esi, 0x656ad1d5
mov ecx, 0x22
rep movsb byte es:[edi], byte [esi]
and eax, 0x745414e5
sub eax, 0x1c0a6086
and eax, 0x5e737eec
imul eax, eax, 0xbaad4513
mov byte [ebp + edx - 0x118], dl
inc edx
xor eax, 0xc70fd8b2
cmp edx, 0x100
jne 0x6568927e
mov dword [0x656a8bf4], eax
xor esi, esi
xor ebx, ebx
mov al, byte [ebp + ebx - 0x118]
mov ecx, 0x21
xor edx, edx
mov edi, 0x8c9
mov byte [ebp - 0x16c], al
mov eax, ebx
div ecx
mov al, byte [ebp - 0x16c]
mov ecx, str.ForceFlags
add al, byte [ebp + edx - 0x13a]
mov edx, dword [0x656a8bf4]
add eax, esi
or edx, 0xc3b362b3
movzx esi, al
xor edx, 0x8c4c3f02
mov dword [0x656a908c], edx
add edx, 0x23345b2c
mov dword [0x656a8bf4], edx
movsx eax, byte [ecx]
inc ecx
test al, al
je 0x65689332
add edi, eax
cmp edi, 0x218d
jbe 0x656892fa
mov dword [esp + 0xc], edx
mov dword [esp + 8], str.MinimumStackCommitInBytes
mov dword [esp + 4], str.The_cryptographic_signature_is_invalid.
mov dword [esp], edx
call fcn.656930f8
add dword [0x656a908c], 0x38fe3bbd
mov eax, dword [0x656a908c]
mov dword [esp + 8], str.MinimumStackCommitInBytes
mov dword [esp + 4], str.The_cryptographic_signature_is_invalid.
and dword [0x656a8bf4], 0x2df387c1
sub eax, 0xcd1279f
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [0x656a908c], eax
call fcn.656930f8
mov al, byte [ebp + esi - 0x118]
mov byte [ebp + ebx - 0x118], al
mov al, byte [ebp - 0x16c]
inc ebx
mov byte [ebp + esi - 0x118], al
cmp ebx, 0x100
jne 0x656892a2
xor edx, edx
xor edi, edi
xor esi, esi
lea eax, [esi + 1]
mov ecx, str.MinimumStackCommitInBytes
movzx esi, al
mov bl, byte [ebp + esi - 0x118]
lea eax, [ebx + edi]
movzx edi, al
mov al, byte [ebp + edi - 0x118]
mov byte [ebp + esi - 0x118], al
mov al, byte [ecx]
test al, al
je 0x656893dc
sub eax, 0x30
cmp al, 9
jbe 0x656893d9
imul eax, dword [0x656a8bf4], 0x5b711cf
mov dword [0x656a908c], eax
jmp 0x656893dc
inc ecx
jmp 0x656893bb
mov eax, dword [0x656a908c]
mov dword [ebp - 0x16c], edx
or eax, 0x74e2ca3e
mov dword [0x656a8bf4], eax
call fcn.65692604
mov edx, dword [ebp - 0x16c]
mov byte [ebp + edi - 0x118], bl
lea eax, [ebp - 0x14a]
add bl, byte [ebp + esi - 0x118]
and dword [0x656a908c], 0x86eb3181
movzx ebx, bl
mov cl, byte [ebp + ebx - 0x118]
xor cl, byte [ebp + edx - 0x15a]
mov byte [ebp + edx - 0x14a], cl
inc edx
cmp edx, 0x10
jne 0x65689395
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1514
mov dword [esp], str.4NDSr21zGTKNKmrpiug8DHy2tC1cM30Ab7HPe_xwm8qYvBBBKLyyNMo1p3CCmQjn4fXBc97cJH4eJjMtFqnLYB8IzaTFbegeW5_ZR989e9J3fZ_LGOiMsQXt3kdx1wwhd5lh6gHEtHnrZgnBkNI3BKnSNWMqy0GPYifMjSUhXbQtBmxc0IWenPYVRiiySCEKwMob7Xoo6_AA2bzo6rnDm3IH68lnfTIGS0bM66ja5QtWkLh_eqmeNdqw8CRDCoOcxeeFj5CEZBLAMhodi7Z3wvZ1shMO0qKXtVockdZuokoGs_vE7dYhhShJJKjfWculYyCdGZfNUd7Sn0RPvZ3Sc1GPM7xcr_Wz2r756nHhNSwuNzICSZDVZWnRIGUkyOIODMllWXDzvqMHdBfw9CdtWHyTAtmUNmMxgnPy5nGidxb6mWw8K9GuwTx5Jw6L33cPMwwH5eCuf06toV9Zq1Kb599HX3iledlk6hcitaX5LslrlG6t_0VTBPxSMiZCJpByxw_Sr0wn0YRG4zGjQlAbudyOKCLUqRWjsa3vPGwANSFAvQp_mMUeyvuPvMlnPIjCbkYNKHkGACWSGMdr99WTWeCDPX_aLUASHTxM3Z6WOm7qz8HCpFfzkpSFmAHlt4Mcf0huGCr9Wqs3la56dnPzWjM6qdofmEXYBh6Or4G14lnIbpx4yhKjrDsz8LRFO0YIt_eKeOawqETVD2_Czme7INsSQuoFh4tPfAhAVytXvSU_wZiEKjz2U_6oOxtSPMclfQx5bKc3tVE_GJzQk8VQi0Ti9FS3dU9JDJHAkUc8JLonEXdY7rS4cCOxxPuUozciVzpB89iJ3ZCCSGnP7apc27DX4hCv_aTMRYG2t0OMoKxsWpfjewt2v9uirs1nc1zYqpV0F73ZW_kLsgziuGVIgrp3ap4GgPf5JpqOuRg8Zr8FSa6lVWUDeGXe_9TK27xmlD858C8bM2sigg0bN4jzBkqrzb9LigBmAg828QPA6psrJYY6oF1oCbjK9sYRBo9S5up2b5mvAsTrcj_aHcZNxutZq5Bm8N0xiBaLMfMiepAsytH3oVQCT141JXIXeWTeQNgE0fQLmhNSp_wvH4Nz2bDBIhkHKvXclunlAVXg2hy_dA6kAeNjane1tyVrmNc2KiBG1IT8uq5l3U61sWP7wuBISq5WKlNL2vF5K8vl53mLpLAYu8YkRyZMZ7ddPMgqy73Qi71p4spyVs6Yxd9gHAElhCPVuiS4zebWWqnxiEJScG4BZpB39xf9FhXvQ5vPZQvFtU_6bcV_mzNCxkbUM6kRqqXZHlLMRErgKEewOSPeLr7_EJQVpnK8fXJustzgwdtU9r2vpD3y8TLsbWennnvrZRJeFAXCa3VuxnCAXShDhJLYl_0CXi8CvlZvRKlAVYWotCa4G4w48K3h681RBVATfhSKBv3cN2OiSwxhIVHjI83jDZUpp8Sg1B5x4XPS4af8npT9kcHacZnz3yXMmkUm0UhgfUrNlFKOlceRu1E05zePFD00k7do19WXaieXimCcx0Jk1ZVDEbH3UysC9DrF2d2TLCkrYa_mU7TZTjefdU4uzwnrwfFs9mXpEjH3bFxsG2To0_99PR_U2RgnJqmJu25ac7YTq_tiNLsSdrLQLJ7rO9MwajYlDPOsVOShYsPyS8ZqHyJUZqvT_5NjrFFvB4pz7b1WltuJ83v7o6py4kHMpqEDgYxhB6RfOMkpU6Ab37SZCZqYTi4uo8lXsW_mViHn3YW9DDlHsGXrer0Rk4nh6KK3fVSi9CX3XjBYbfdEZ7nxU9sQtpeexYCUQPGJ3hNR1WJp1XiObLyu9UwD_uisA3eTE9TEwURpDkQlflirbF5WFVrcYh1qjtqo2JQXgpOxbPsWXQZOUk4Hs53CxzQlVHm71yNGrV1xwpzuPzFPOkU5lUyUiXEDe1s48Wd5MUlLgx9wHABGtadE18d5DcWCzyLdYvqDUlL5_Z2Ix63OGVzogtvdmGHAOPKH113L3ZS2GDGVAO3fJW390rvnl0NQTibL0Guw_xfXw5m4NH6SgxP5jIWSaSCZWOnJ6lQeEdYEnFlOx2YB5GIZAHnx_6C1NSkquLwGkNnRFNPs3eVkS2NkoW7a56bIrpd1cklC48xI3Swri1DCZpUh1Mqvu1A9xATjvWA0GxRQQ7E0aXoZT8hchtKshtf6DaY1J79aOy36QUTgIOKXbf7IvCLGfQM5Ncov2nAx5OtT6h3MasF_jTsGG18AW2D6xtkK50RA5D6R__sXeUJOm3UYPknY2KE_cmhGG36r9j20dz4qjlyaVVw8bGxc6iUA_U4eaNxEH2JYkUbmrOL_oCIkBTgqT5Vr4T6cN1wXVjRlBGvkkfk3LBmlmVuitK3cR6NDNfzLFeL6lD2D9c578_MuDhZL43MOmcWDVCprH7uzhCnGpqo_9WJtejBMzUzFW22_laTfmrgfNKiCR9K80fiqOB2GzD5qZYwgLTmF7EeR6tv8gEtaXAkEUDCuEehXbgvpEfeapgRc0tRP8dCxXxFVtgyDDyuiigDh5EIP5yXP6Hs_pLKmsv3gG89ZO6D9oZuBEZjDF4ajuyy3Ez8XptZL5FkD1QFo6aEThFMc5iYy3kd7LNRZK_HH_kF9LcMxjKDm4qC72T8zwSi8yXZ9OsKQza0JvSuclIQMUANBDlNRlpwLBpTSVopIHvcw6DIrMn6XTNeS3VWzKuu8fbN3IYkWiuhgCBPFIfvgos2KIXfl7XdAHuAKl4icAadrWbFoO6uHG84WTrq0c_cpv3pKQgy6r7gtGgvoLvGZLNOLxtQyvfFLYBM6RIBILyh_znPdsNey81SucnfpE9OFNIeOPs4Ga8kqOc4IRqOlbQFTEUrozcCd_Wwx9pTWqzjBJPZB6Wj2UO3Oc_euH3RVEId0Q4T6LzNhlQqeKfRCPGreTwYTu8BrBayrcVXJ5F4ByXwKu_EhdFYD1L8tH0eHpuVbFO7A5_6abYNs0xl7qWhhOPTtI3Hlnpj3O3Zt1H4fkgAwSqKO1SfDiuE3165z22zav9cnn_jLELq70KLKqxyB40otQP6ztsjmFcSEEdbdWmHYrqVy3jIgQbitW5TqMSJtmoUQU9njHGH0haEXyuMSeiVSvbjmky0H41R97W3UaxOPJuDLJCGUsuvHmKU4ivR1jJMLmYWzZnQZ_2oInt_AtaH3t0QrJOK2yZd0g6IkGAsmR8BPTvl4QKlhgFiTBwoBM8R231WKU4VdI9DN9izupOsFH23O1Ffv6ZLpN82B9VLTIEZfjIVhwYUM5aibKJqZzyft6HavdjAVrHUVuAX8KHTx9Y6L7_ofaqsHEu4QtoLQdtUvSrM4t3BVOL0BcQjgDYG14TJj8bSAlMYkOAq9Oli_a6bFOBbkGIUyj_oPNbzzrthrFz11EnuKj2UG4O6SBmnirCJWwc7XGlGowGlgR2QxkZvTM4ma7mYDTARRb32_GJ3k1C5MjaPxKBzWCXNiCZ4iNst009HbdWQSTI3iYBCQBNHR8lq9evXZJlE1GGxNzVv6OD3qbg7aPmz07zJUjRZG5JMke37fccL0Mz8_uq4lr3C1lPhqz8jYIRWLl4Y1jHJgRcrgQgvR_aaEpiuLv7Ev2vAllKoufgRkJolZZEkVvtQvDT4aQSiKeTUMvvkrtQULXNbK77iv7eFc2qWVlyFjTqIrx_01NrGPe7iSE5g9xQksQydssUL2VWCGbtzLX0AroqPVhD3DSIyEKcLYaIX5_AZwKr1izBgI6ILyj52TfRSxyfxDuykBUdhkIYau0RJtuAB7Fxt_RCGk9PBwwQblYqYmJg2ReBFVH3nkPW7OjA0SmggSCQm91uaZPzjWDczRxaGIHVjhs3zTygR96VbZeLFsdaAXnNGHx3TrYZEfRK03j7dNKRQsiObK5vt7l7A0eBuGBsYKDXa7pPo2ripQYQ1ai4yIkMX7K5_0oBvThTEyNWOxrMmFtPGfCzEXS83MqnvdltmcC03kc4PTLD943Z23IohddHW1P7Ou3Z_coXVn
mov byte [ebp - 0x13a], 0
call fcn.6568bff8
add esp, 0x17c
pop ebx
pop esi
pop edi
pop ebp
ret