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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, ecx
mov ebx, 8
push edi
xor edi, edi
mov dword [ebp - 0xc], esi
sub ebx, 0x53e004
mov dword [esi + 8], eax
mov eax, 0xc
sub eax, 0x53e004
mov dword [ebp + 0x10], eax
mov eax, 0x10
sub eax, 0x53e004
mov dword [ebp - 4], eax
mov eax, 0x14
sub eax, 0x53e004
mov dword [ebp - 8], eax
nop dword [eax + eax]
mov ecx, dword [esi]
lea edx, [ebx + 0x53e004]
mov eax, dword [edi + str.Cg0liPECyrUYY0rAQ3KG44Oprkd2x2Tg0nE4HrbbCAtHw_N6Eq9KfYRVyO_DyplYUS4kquAHSic4KX1MVQae1NyoRgYQdNENCF5mvVQj6EsXcmYf_HGJtqoOgkt_eGbynQ1lVPyg_POsrvWf45mFzVlPZwvHrKy2TMcC8JwQgjXLN_jkAgrLW8slPpuTMR8nCfLjyhcFm9Rhcirwk5EoaX8eDFQo44YfubKAMoIxPM8cDAbh15hv2_I4SSSluOALroqS3o5iJm6k6phcJ6UvjsdnSlIQdxmcPNafmGt_Cim3LRUVExncg4udPrM9C6RnG5V_rcMLiGJ6w357DUW9ZhYYXAJVC_4sbtqSZk9qAhCwcaTh6Yj4zPY0mb5vl5Hqs6cDwvpr2QaMtYaie7QHLFLFu8tUoEKLkANvu1Fg3G5Rnen_9NDSpyrIEgJJL7VGWn1lF7WzhmGO8EkxhNXjkFqpf4mk6jtKMvDBVP0bo6VE4BdZ9552KYQzUCuLDVL7DudiY58SPaoQUuj_i5Qvbta0l5OXYq8CnYL3e2UfFwZQnjtZPNRZKql23mj0a2Lqc74S7mhCAfIhcYl4HxOMh3zilb9SkfLafdwFYbakAvHAl06Ob91Xp2UDvmFomyJ17b8C5Lro7TxJFtXN_yocrCNM34nU07afrDtJgzaH33tYigfoo2v0DoV53xR57yNJibX81XFeaQlnLPoXz1nUh1384gQ_libVR7NXrmKfcUWxa74beRN6KueebYN5DqV80n9EdTTQNZLogR_EqLwmMKS_Hodi7UTYh13DwTBcaEKlG46M0AyOF5UEBcTRwbNAUwcHqIdS9yJMWrgC8edMlEM3oIZ_qQmk6JbCpbf5A7QcAFc6DJo4K1kmhWAM72I37bnHzd_kZ4_i_EFOWV2MmLvw7MWFw8yRkMWeLl_VJW2ZuV4MSfi7AbGY7CuIWcxhtl16dlA75haJsy5_bS1xWpB3pTb1YA6vncwROdDcLzyywopkHXqOJyu8SyxN3PfeHhA02IqlxJojhVyRyFzyAZk_HxnO4PogK9OyTBgFDtJuyk4iah1J2agzBlASH2_Z6Vy7VoGd1J87LqiWmlYXKr4TN1TNDFxOP4ZuaqGNG4OGdC7bZj3CW2yr9rqPtJ6qh2HsFgwQPSOc4qqUHm17GXkeqzpwPC1m06bQwgUBFjNXUNUAzzld0nzwbTfr28FNyoRgYQdNEshhwiNT41AfTtxvp6g0Ut19s30uaOQ8IxqMvj1bsh2QurDJYYO7dXar8mU_VAJOleCKd2e3jV27s7HO9UvtLn9xI4o1B3d2p4chj0HuLasUT73Q1oS_xr0ZsF2tgsOkZ4hKn04vQnVMSOEkewS9k6P3C6hZNNhTJdLAVxvPgmu5Bgj3_5YzGEDwqF0R1WM5KwojFQfrHCo8V0UqiLYmhSe18LUi41o1fuUh4NV6nFmq4KchdxOVdOsG94kvJ0yuqrj5m3idiR0AejR5hhIzOcGd0x55uE6lkvCvtvMQ4kT8VfOVbZvdTK5hgCk5qE9AFFjj4oclYI74iamGPl0PC2WNGFeufpUD89w8qYurh4cyAoHCt17N_Ku8cqmXUX_nrlIvDZFnzhwRbc_Y9rluIv3jnni15CUAsoO1_gKWKupPTtwZ7e4pA8gDPKT6a8Gju2aHF4ne5t5U2CrbcAeiCTsubBgVKPvGvCOFKrXZn6_L54JJy0fD83oSr0pd0b81X9PIiO7m9aG2Wo5xsiZjCjDycWzrVQyGDKOuEw3drr1qc8BOT_S6jKpmQzN9iZg3DA5OE2rDcQCXpFdaAX2ARSRrY7SrxC97KP5RqUqQvHT8xZZpcr1SkXvFcPJvUq0WbUXAgPnnU_suyvK1CF1GYjsd8m6ZXunJOiEn7flUWK3oS9La1JsWoTWE7_aruVTqmhtS4MaEi_NpJo5TWYgA61UfCU0EcBxsMQO9nsnP3zqHQTHOhJna5uicmP_GjM8ss53VSoypwrYZXJgHBVKLTSxNO8UCCMicE67WHcxBPTYLZMf1BpErRS7MIJ58QJ0BbaPG92s6xehkG3JV4mTJlF8ckTl7qTGnYPQ7QJ4SFlkgLXTRiJDxQelN5_oV5RpRBvBWPzBszJSgP9AsrvU2RqzOwehbVTbBbR97Q2lMjvl0fVkOYPRlc203fe3Bqoc6vd8zpYb44pxsyx51IYcMeIQCSbfzHzA12hESUakNtlNfSjwzHYlt6c6RgyhCQ2IFoKr5Ed4LtIoNcD_zeRAHuqTHgTbGdUoyihp72M5qSm_LB3VONi_3qx8CNVgcc37PVJVerBPBj7uHJWG5RjAhr6e4ev4dFSflVyJsc_TJTrYzRez_Aw_IBWNZCiafM0wxR_4Ko6rdbTYIj9fTN8P44EhtDIvJymTnVA9vUxWXJafnzuX0PpxF0W0_1NTsJASQLjQZV5EnbfrH6jboMOGj2wCeojcdRNsD0_IB9QePrlEzken06P6jwSeT_jGcqpQ2XiKmVQeOAwVyFt9xEaqLsYtFNFtBDF6qykSfBIwsumGDYMUl6DA5i6DPreqLflDv2TfhzYKMn8XyPneeMjzEd3bLQLQbdA_yaP0EAr2ns6C2bQHbtXiyc_yxn8zBVZ8TjMTN7JCzIyi7UuDGhIvzaSYB638qbAv72EMqffKoCL1tdKBI2tj7vTcPd977L0MeTIycY_jYB5MXYaCG5TIioGeJMVIcF1saCoi4yVwgE86lX191e0VOQUtrgpWEWU3eF_A_Lj859SUsfIJs_sDeIZja9e20lXQvZsE8AV0SR11x5ScvKY7njCo8V0UqiLYhc8ibN62j_DGj0_ygUnm1OOFXJHIXPIBly0fnwOGv0TPwLfKckXvGYIc7R1bgfqIWtPKcpDYVWC4pNZe_o8LF1ufDT6SZmpNXgmuNfRD_SGl9K8JOIZJ6hn9PWguRuzhU4eMU2KaCw0s3Q7Hd1GJ4JpYULZeMYlysf2bEBQjTq3B7SJaRSGgCWkjJgqvc_wsNuepagIx5wr47P61fWlF8__YPViO8dhvxONAPRpQPnpMd7jo6V9lgwdm6C0Zo8QzfTRTN2i9WkS5wKnIjEXqKw3FDI8KjxXRSqItiGWUT2P4muWI1QK8rq1wDwsiZjCjDycWzHOAYOScY6vtm5_lfvUBjqjlldn5SeSnWzlpXXR4TNRBGLaSKFsnBiwkJyXzqFJIWOJ6QdKEOdCasP17YITtNVOugk_qTS0B7pMHOxZAK4rcvok0RFwdzmIGsxkGsPnyrDslcgzP6cNmiKeFfBhUs0Vdmoq2GnVO0jH7hCxJ_nKGTR0cPePIWmfqxoOtMXXGpTn889dejt78mdwaB3_e4qFGCoLYIrJWgNdOjmE8ZZnORx5lbcycC2K9eXbVIRybvLxE9hgcknb4btIhuStM_fslscUnZRtTAx4CNYMtHw_N6Eq9Kd914KDctB3cHDUak425Ex2QMvs5TnXOcKjxXRSqItiAhLrjHsvY6jK_J0I1wplqDO7fqOun6E6PIIvJlHQlM59qLJQpZhKZ3puMtO4xo_X2KcQS8ZqLxRgAuRn5hKUH28dt5p8w5JVdhRvkoSrwskwWHCAaJGSeGhpxxNIQMMdCa06hwXtuKhV9NPwV2_cLUoocsrJ5tUxVUpZaRV063sVjh0J_UNMbPpwr255MELF7VSPcOhnM9V6eSlQET3O5RFXlT_8ydYVOXc1Md02hH7zb2cDAqYFNyoRgYQdNE9Wsb2ddbvu3AlImNFzXGVFDW8gw1uHTbznYt7u257y_0ukX3n20mE8dYKVF6nBnwk_ffgxKssDCo8V0UqiLYnjzXTeR4Q15y2kl4nBEOV9a7lsNXl2bxmujZo8_hpw80H6DjgmMqANQb3MfzUgyTPSeG80chIntdNGIkPFB6VdPuMqOV5XJkmf0txnzlhV5BLULAVvABtKcDnlOznYTKvuEAy74YXh1G5itpv5ILycm8EI5bnWxEiQrVo3V4SyZEp3E6YApfm4sjCmVhmwzV97dZLbjXA0]
add edx, edi
mov dword [edi + ecx], eax
mov ecx, dword [esi]
mov eax, dword [edi + 0x53e004]
mov dword [edi + ecx + 4], eax
mov ecx, dword [esi]
mov eax, dword [edi + 0x53e008]
mov dword [edx + ecx], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi]
lea edx, [eax + 0x53e004]
mov eax, dword [edi + 0x53e00c]
add edx, edi
mov dword [edx + ecx], eax
mov eax, dword [ebp - 4]
mov ecx, dword [esi]
lea edx, [eax + 0x53e004]
mov eax, dword [edi + 0x53e010]
add edx, edi
mov dword [edx + ecx], eax
mov eax, dword [ebp - 8]
mov ecx, dword [esi]
lea edx, [eax + 0x53e004]
mov eax, dword [edi + 0x53e014]
add edx, edi
add edi, 0x18
mov dword [edx + ecx], eax
cmp edi, 0x48
jl 0x404930
mov eax, 8
sub eax, 0x53e04c
xor edi, edi
mov dword [ebp - 8], eax
lea ebx, [edi + 0xc]
mov dword [ebp + 0x10], 0x40
nop dword [eax]
mov ecx, dword [esi + 4]
lea edx, [edi + 0x53e04c]
mov eax, dword [edx - 4]
lea ebx, [ebx + 0x10]
mov dword [edi + ecx], eax
mov ecx, dword [esi + 4]
mov eax, dword [edx]
mov dword [edi + ecx + 4], eax
mov ecx, dword [esi + 4]
mov eax, dword [edx + 4]
add ecx, edx
mov edx, dword [ebp - 8]
mov dword [ecx + edx], eax
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x53e054]
add edi, 0x10
sub dword [ebp + 0x10], 1
mov dword [ebx + ecx - 0x10], eax
jne 0x4049c0
cmp edi, 0x1000
jl 0x4049b3
mov ecx, dword [ebp + 0xc]
xor edi, edi
xor ebx, ebx
nop
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 8]
movzx eax, byte [edi + eax]
mov byte [ebp + 0x13], al
lea eax, [edi + 1]
cdq
idiv ecx
movzx eax, byte [edx + esi]
mov byte [ebp + 0x12], al
lea eax, [edi + 2]
cdq
idiv ecx
movzx eax, byte [edx + esi]
mov byte [ebp + 0x11], al
lea eax, [edi + 3]
cdq
idiv ecx
mov ecx, esi
mov esi, dword [ebp - 0xc]
movzx eax, byte [edx + ecx]
mov ecx, dword [esi]
mov byte [ebp + 0x10], al
mov eax, dword [ebp + 0x10]
xor dword [ecx + ebx], eax
lea eax, [edi + 4]
mov ecx, dword [ebp + 0xc]
add ebx, 4
cdq
idiv ecx
mov edi, edx
cmp ebx, 0x48
jl 0x404a10
mov dword [ebp + 0xc], 0
xor edi, edi
mov dword [ebp + 8], 0
lea eax, [ebp + 0xc]
mov ecx, esi
push eax
lea eax, [ebp + 8]
push eax
call fcn.00404220
mov ecx, dword [esi]
mov eax, dword [ebp + 8]
mov dword [edi + ecx], eax
mov ecx, dword [esi]
mov eax, dword [ebp + 0xc]
mov dword [edi + ecx + 4], eax
add edi, 8
cmp edi, 0x48
jl 0x404a74
xor edi, edi
nop
mov ebx, 0x80
lea eax, [ebp + 0xc]
mov ecx, esi
push eax
lea eax, [ebp + 8]
push eax
call fcn.00404220
mov ecx, dword [esi + 4]
mov eax, dword [ebp + 8]
mov dword [edi + ecx], eax
mov ecx, dword [esi + 4]
mov eax, dword [ebp + 0xc]
mov dword [ecx + edi + 4], eax
add edi, 8
sub ebx, 1
jne 0x404aa5
cmp edi, 0x1000
jl 0x404aa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc