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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d0
and dword [ebp - 8], 0
mov dword [ebp - 0x84], 0xe
mov dword [ebp - 0x80], 0xffffff5f
mov dword [ebp - 0x8c], 0x35
mov dword [ebp - 0x88], 0x11
movups xmm1, xmmword [ebp - 0x8c]
push esi
push edi
movaps xmm0, xmm1
mov dword [ebp - 0x94], edx
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x7c], ecx
movups xmm0, xmm1
mov dword [ebp - 0x4c], 0x690f4a6
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x48], 0x9b24ca48
movd esi, xmm1
push 7
pop eax
add esi, 0x4d
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x26], al
xor eax, eax
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x44], 0xd90f6c05
mov dword [ebp - 0x40], 0xf75755d8
mov dword [ebp - 0x3c], 0x4656e50d
mov dword [ebp - 0x38], 0x520d25b3
mov dword [ebp - 0x34], 0xd23f752a
mov dword [ebp - 0x30], 0xc5e7c874
mov dword [ebp - 0x2c], 0x4acdd09b
mov word [ebp - 0x28], 0xb0b9
mov dword [ebp - 0x25], 0x175210ea
mov dword [ebp - 0x21], 0xae9d6696
mov dword [ebp - 0x1d], 0x434f1357
mov dword [ebp - 0x19], 0xf7f0a091
mov byte [ebp - 0x15], 0xc4
mov dword [ebp - 0x84], 0x73657268
mov dword [ebp - 0x80], 0x746c75
mov byte [ebp + eax - 0x194], al
inc eax
cmp eax, 0x100
jb 0x41c974
mov edi, dword [0x44a43c]
xor edx, edx
mov dword [ebp - 0xc], edx
mov cl, byte [ebp + edx - 0x194]
mov eax, edx
xor edx, edx
mov byte [ebp - 1], cl
push 7
pop esi
div esi
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x84]
add eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
add ecx, eax
movzx eax, cl
imul ecx, edi, 0x68d4a778
mov dword [ebp - 8], eax
mov esi, dword [ebp - 8]
mov al, byte [ebp + eax - 0x194]
mov byte [ebp + edx - 0x194], al
inc edx
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x194], al
mov dword [ebp - 0xc], edx
lea edi, [ecx - 0x55b63cdd]
cmp edx, 0x100
jb 0x41c98e
and dword [ebp - 8], 0
lea esi, [ecx + 0x7330c5b3]
xor eax, eax
xor edx, edx
mov dword [ebp - 0x14], edx
inc eax
movzx eax, al
mov dword [ebp - 0xc], eax
mov cl, byte [ebp + eax - 0x194]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
mov dword [ebp - 0x80], edx
mov edx, dword [ebp - 0xc]
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x194]
mov byte [ebp + edx - 0x194], al
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov byte [ebp + eax - 0x194], cl
mov ecx, 0x44a450
mov al, byte [0x44a450]
jmp 0x41ca50
sub al, 0x30
cmp al, 9
ja 0x41ca56
inc ecx
mov al, byte [ecx]
test al, al
jne 0x41ca47
jmp 0x41ca5e
mov esi, edi
xor esi, 0x1363fd7c
mov eax, dword [ebp - 0xc]
mov edi, esi
or edi, 0x6d99218e
mov dword [0x44a43c], edi
movzx eax, byte [ebp + eax - 0x194]
add eax, dword [ebp - 0x80]
movzx eax, al
mov al, byte [ebp + eax - 0x194]
xor al, byte [ebp + edx - 0x4c]
mov byte [ebp + edx - 0x1d0], al
inc edx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], edx
cmp edx, 0x38
jb 0x41c9fe
and dword [ebp - 0x14], 0
push 7
pop eax
mov byte [ebp - 0x62], al
xor eax, eax
mov dword [ebp - 0x80], edi
mov byte [ebp - 0x198], 0
mov dword [ebp - 0x74], 0x47bbf885
mov dword [ebp - 0x70], 0x8114e640
mov dword [ebp - 0x6c], 0xfb647845
mov dword [ebp - 0x68], 0x805759f1
mov word [ebp - 0x64], 0xe968
mov dword [ebp - 0x61], 0x58108066
mov dword [ebp - 0x5d], 0x3f653d2b
mov dword [ebp - 0x59], 0xc9f95ed1
mov dword [ebp - 0x55], 0xcbeea6db
mov word [ebp - 0x51], 0xc659
mov dword [ebp - 0x10], 0x73657268
mov dword [ebp - 0xc], 0x746c75
mov byte [ebp + eax - 0x194], al
inc eax
cmp eax, 0x100
jb 0x41cb07
xor edi, edi
xor edx, edx
mov cl, byte [ebp + edi - 0x194]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x90]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x10]
add eax, dword [ebp - 0x14]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x14], ecx
mov al, byte [ebp + ecx - 0x194]
mov byte [ebp + edi - 0x194], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x194], al
cmp edi, 0x100
jb 0x41cb18
and dword [ebp - 0xc], 0
xor esi, esi
xor edi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + esi - 0x194]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x194]
mov byte [ebp + esi - 0x194], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x194], cl
movzx eax, byte [ebp + esi - 0x194]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x194]
xor al, byte [ebp + edi - 0x74]
mov byte [ebp + edi - 0x3c], al
inc edi
cmp edi, 0x25
jb 0x41cb68
mov esi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x94]
mov edi, dword [ebp - 0x7c]
mov byte [ebp - 0x17], 0
cmp esi, eax
jae 0x41cbde
cmp byte [esi + edi], 0x5f
jne 0x41cbdb
mov byte [esi + edi], 0x3d
inc esi
jmp 0x41cbcd
mov eax, dword [ebp - 0x80]
mov ecx, edi
add eax, 0x720f9666
mov dword [0x44a488], eax
call fcn.004348b9
mov edx, eax
call fcn.0040c4b5
imul ecx, dword [0x44a488], 0xf570fbfa
mov edx, eax
mov dword [0x44a488], ecx
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x1d0]
push ecx
mov ecx, edi
call fcn.0040aed0
pop ecx
pop ecx
mov byte [eax + edi], 0
pop edi
pop esi
leave
ret