Function at 0x449540
Capabilities:
Encode data using base64
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov esi, edx
mov edx, 4
xor edi, edi
mov eax, esi
mul edx
jno 0x44955d
jmp 0x449ca5
mov dword [ebp - 0x1c], esi
mov esi, 0xaaaaaaab
mov dword [ebp - 0x24], ecx
mul esi
mov ecx, edx
shr ecx, 1
add ecx, 3
mov ebx, ecx
and ebx, 0x7ffffffc
cmp ebx, 4
ja 0x449ca5
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x28], ebx
mul esi
mov esi, ebx
shr edx, 1
lea eax, [edx + edx*2]
cmp eax, 3
mov dword [ebp - 0x20], eax
jb 0x449b4a
mov esi, dword [ebp - 0x20]
mov edx, 0xaaaaaaab
shr ecx, 2
lea eax, [esi - 3]
mov dword [ebp - 0x18], esi
mov esi, ebx
mul edx
mov eax, dword [ebp - 0x24]
shr edx, 1
cmp edx, ecx
cmovb ecx, edx
mov edx, dword [ebp + 8]
cmp ecx, 8
jb 0x449a32
mov edx, ebx
lea ebx, [ecx + 1]
mov edi, 8
not ecx
mov eax, ebx
and eax, 7
cmovne edi, eax
sub ebx, edi
add ecx, edi
lea esi, [ebx*4]
lea eax, [ebx + ebx*2]
sub edx, esi
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x20]
mov edi, esi
sub edx, eax
add eax, esi
mov dword [ebp - 0x18], edx
mov edx, dword [ebp + 8]
lea ebx, [edx + ebx*4]
mov dword [ebp - 0x2c], ebx
mov ebx, edx
nop dword [eax]
movdqu xmm0, xmmword [edi]
movdqa xmm5, xmmword [0x519150]
movq xmm4, qword [edi + 0x10]
pxor xmm1, xmm1
add edi, 0x18
movdqa xmm2, xmm5
movdqa xmm3, xmm0
movdqa xmm6, xmm0
pand xmm3, xmm5
pandn xmm2, xmm4
punpckhbw xmm6, xmm1
movdqa xmm5, xmmword [0x519170]
por xmm3, xmm2
movdqa xmm2, xmmword [0x519160]
punpcklbw xmm3, xmm1
pand xmm3, xmm2
pandn xmm2, xmm6
por xmm2, xmm3
movdqa xmm3, xmm0
pshufd xmm2, xmm2, 0xd8
pand xmm3, xmm5
pshufhw xmm2, xmm2, 0x6c
pshufd xmm2, xmm2, 0x6c
pshuflw xmm2, xmm2, 0x6c
pshufhw xmm7, xmm2, 0xc6
movdqa xmm2, xmm5
movdqa xmm5, xmmword [0x519190]
pandn xmm2, xmm4
packuswb xmm7, xmm7
por xmm3, xmm2
movdqa xmm2, xmmword [0x519180]
punpcklbw xmm7, xmm1
punpcklbw xmm3, xmm1
pand xmm3, xmm2
pandn xmm2, xmm6
por xmm2, xmm3
pshuflw xmm2, xmm2, 0xc6
pshufhw xmm2, xmm2, 0xc6
pshufd xmm2, xmm2, 0x6c
pshuflw xmm2, xmm2, 0x39
pshufhw xmm3, xmm2, 0x39
movdqa xmm2, xmm5
packuswb xmm3, xmm3
pandn xmm2, xmm4
pand xmm0, xmm5
movdqa xmm4, xmm7
movdqa xmm5, xmmword [0x5191c0]
psllw xmm7, 4
por xmm0, xmm2
movdqa xmm2, xmmword [0x5191a0]
psrlw xmm4, 2
punpcklbw xmm3, xmm1
pand xmm7, xmmword [0x519240]
punpcklbw xmm0, xmm1
pand xmm0, xmm2
pandn xmm2, xmm6
movdqa xmm6, xmmword [0x519210]
por xmm2, xmm0
pshufd xmm0, xmm2, 0x27
movdqa xmm2, xmmword [0x5191b0]
pshufhw xmm0, xmm0, 0x6c
pshufd xmm0, xmm0, 0x27
psubw xmm6, xmm4
pshuflw xmm0, xmm0, 0xc6
psrlw xmm6, 8
psubw xmm2, xmm4
pshufhw xmm0, xmm0, 0xc6
psrlw xmm2, 8
packuswb xmm0, xmm0
pand xmm2, xmm5
movdqa xmm5, xmmword [0x5191f0]
punpcklbw xmm0, xmm1
movdqa xmm1, xmmword [0x519200]
psubw xmm5, xmm4
psrlw xmm5, 8
pand xmm5, xmm1
movdqa xmm1, xmmword [0x519220]
pand xmm6, xmm1
movdqa xmm1, xmmword [0x5191e0]
paddw xmm6, xmm5
movdqa xmm5, xmmword [0x5191d0]
psubw xmm5, xmm4
psrlw xmm5, 8
pand xmm5, xmm1
movdqa xmm1, xmmword [0x519230]
paddw xmm6, xmm5
movdqa xmm5, xmmword [0x5191f0]
paddw xmm6, xmm2
movdqa xmm2, xmmword [0x5191b0]
paddw xmm6, xmm1
paddw xmm6, xmm4
movdqa xmm4, xmm3
psllw xmm3, 2
psrlw xmm4, 4
pand xmm3, xmmword [0x519260]
por xmm4, xmm7
movdqa xmm7, xmmword [0x519210]
psubw xmm5, xmm4
psubw xmm2, xmm4
psrlw xmm5, 8
psrlw xmm2, 8
pand xmm5, xmmword [0x519200]
pand xmm2, xmmword [0x5191c0]
psubw xmm7, xmm4
psrlw xmm7, 8
pand xmm7, xmmword [0x519220]
paddw xmm7, xmm5
movdqa xmm5, xmmword [0x5191d0]
psubw xmm5, xmm4
psrlw xmm5, 8
pand xmm5, xmmword [0x5191e0]
paddw xmm7, xmm5
movdqa xmm5, xmmword [0x5191f0]
paddw xmm7, xmm2
movdqa xmm2, xmmword [0x5191b0]
paddw xmm7, xmm1
movdqa xmm1, xmmword [0x519250]
paddw xmm7, xmm4
movdqa xmm4, xmm0
pand xmm0, xmmword [0x519270]
psrlw xmm4, 6
por xmm4, xmm3
movdqa xmm3, xmmword [0x519210]
pand xmm7, xmm1
movdqa xmm1, xmmword [0x5191c0]
psubw xmm2, xmm4
psubw xmm5, xmm4
psrlw xmm2, 8
psrlw xmm5, 8
psubw xmm3, xmm4
pand xmm2, xmm1
movdqa xmm1, xmmword [0x519200]
psrlw xmm3, 8
pand xmm5, xmm1
movdqa xmm1, xmmword [0x519220]
pand xmm3, xmm1
movdqa xmm1, xmmword [0x5191e0]
paddw xmm3, xmm5
movdqa xmm5, xmmword [0x5191d0]
psubw xmm5, xmm4
psrlw xmm5, 8
pand xmm5, xmm1
movdqa xmm1, xmmword [0x519230]
paddw xmm3, xmm5
movdqa xmm5, xmmword [0x5191f0]
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x5191b0]
paddw xmm3, xmm1
paddw xmm3, xmm4
movdqa xmm4, xmmword [0x519210]
psubw xmm5, xmm0
psrlw xmm5, 8
psubw xmm2, xmm0
pand xmm5, xmmword [0x519200]
psrlw xmm2, 8
pand xmm2, xmmword [0x5191c0]
psubw xmm4, xmm0
psrlw xmm4, 8
pand xmm4, xmmword [0x519220]
paddw xmm4, xmm5
movdqa xmm5, xmmword [0x5191d0]
psubw xmm5, xmm0
psrlw xmm5, 8
pand xmm5, xmmword [0x5191e0]
paddw xmm4, xmm5
paddw xmm4, xmm2
paddw xmm4, xmm1
movdqa xmm1, xmmword [0x519280]
paddw xmm4, xmm0
movdqa xmm0, xmmword [0x519250]
pand xmm3, xmm0
movdqa xmm5, xmm0
pand xmm4, xmm0
movdqa xmm0, xmm3
pand xmm6, xmm5
punpckhwd xmm3, xmm4
punpcklwd xmm0, xmm4
pshufd xmm2, xmm0, 0xfa
pshufd xmm0, xmm0, 0x50
packuswb xmm0, xmm2
movdqa xmm2, xmm1
pandn xmm2, xmm0
movdqa xmm0, xmm6
punpckhwd xmm6, xmm7
punpcklwd xmm0, xmm7
pshufd xmm4, xmm6, 0xd4
pshufd xmm5, xmm0, 0xf6
pshufd xmm0, xmm0, 0xd4
packuswb xmm0, xmm5
pshufd xmm5, xmm6, 0xf6
pand xmm0, xmm1
packuswb xmm4, xmm5
por xmm0, xmm2
pshufd xmm2, xmm3, 0xfa
pshufd xmm3, xmm3, 0x50
pand xmm4, xmm1
packuswb xmm3, xmm2
movdqa xmm2, xmm1
movdqu xmmword [ebx], xmm0
pandn xmm2, xmm3
por xmm4, xmm2
movdqu xmmword [ebx + 0x10], xmm4
add ebx, 0x20
add ecx, 8
jne 0x449610
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
movdqa xmm5, xmmword [0x5192d0]
movdqa xmm2, xmmword [0x5192f0]
movdqa xmm7, xmmword [0x519300]
movdqa xmm1, xmmword [0x519310]
movdqa xmm0, xmmword [0x519250]
nop word [eax + eax]
test esi, esi
je 0x449ca2
movzx ebx, byte [eax]
mov dword [ebp - 0x14], esi
movzx esi, byte [eax + 1]
mov dword [ebp - 0x2c], edx
movzx edx, byte [eax + 2]
movdqa xmm4, xmm5
movdqa xmm6, xmm2
add eax, 3
mov ecx, ebx
mov edi, esi
shl ebx, 4
and esi, 0xf
and ebx, 0x30
shr edi, 4
shr ecx, 2
or edi, ebx
mov ebx, edx
movd xmm3, ecx
and edx, 0x3f
mov ecx, dword [ebp - 0x18]
shr ebx, 6
pinsrw xmm3, edi, 1
lea esi, [ebx + esi*4]
mov ebx, dword [ebp - 0x28]
pinsrw xmm3, esi, 2
mov esi, dword [ebp - 0x14]
pinsrw xmm3, edx, 3
mov edx, dword [ebp - 0x2c]
add ecx, 0xfffffffd
psubw xmm4, xmm3
psubw xmm6, xmm3
mov dword [ebp - 0x18], ecx
psrlw xmm4, 8
psrlw xmm6, 8
pand xmm4, xmmword [0x5192e0]
pand xmm6, xmm7
add esi, 0xfffffffc
cmp ecx, 2
lea edi, [edx + 4]
paddw xmm6, xmm4
movdqa xmm4, xmmword [0x5192b0]
psubw xmm4, xmm3
psrlw xmm4, 8
pand xmm4, xmmword [0x5192c0]
paddw xmm6, xmm4
movdqa xmm4, xmmword [0x519290]
psubw xmm4, xmm3
psrlw xmm4, 8
pand xmm4, xmmword [0x5192a0]
paddw xmm6, xmm4
paddw xmm6, xmm3
paddw xmm6, xmm1
pand xmm6, xmm0
packuswb xmm6, xmm6
movd dword [edx], xmm6
mov edx, edi
ja 0x449a60
cmp esi, 4
jb 0x449ca2
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
sub edx, eax
add esi, eax
mov eax, edx
mov ebx, edx
lea ecx, [ebp + edx - 0xf]
mov dword [ebp - 0x1c], edx
xor eax, 3
push eax
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0xf]
push ebx
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx edx, byte [ebp - 0xf]
mov ebx, 0x19
mov eax, 0x33
mov esi, 0x3d
mov ecx, 0x3e
mov dword [ebp - 0x18], edx
shr edx, 2
sub ebx, edx
sub eax, edx
sub esi, edx
sub ecx, edx
shr ebx, 8
shr eax, 8
shr esi, 8
shr ecx, 8
and ebx, 6
and eax, 0xb5
and esi, 0xf1
and ecx, 3
add ebx, edx
movzx edx, byte [ebp - 0xe]
add ebx, eax
mov eax, dword [ebp - 0x18]
add ebx, esi
mov esi, 0x3d
add ebx, ecx
mov ecx, 0x3e
add bl, 0x41
mov dword [ebp - 0x14], edx
shr edx, 4
shl eax, 4
mov byte [edi], bl
mov ebx, 0x19
and eax, 0x30
or edx, eax
mov eax, 0x33
sub ebx, edx
sub eax, edx
sub ecx, edx
sub esi, edx
shr ebx, 8
shr eax, 8
shr esi, 8
shr ecx, 8
and ebx, 6
and eax, 0xb5
and esi, 0xf1
and ecx, 3
add ebx, edx
mov edx, dword [ebp - 0x14]
add ebx, eax
movzx eax, byte [ebp - 0xd]
add ebx, esi
mov esi, 0x3d
add ebx, ecx
mov ecx, 0x3e
and edx, 0xf
add bl, 0x41
shr eax, 6
mov byte [edi + 1], bl
mov ebx, 0x33
lea eax, [eax + edx*4]
mov edx, 0x19
sub edx, eax
sub ebx, eax
sub esi, eax
sub ecx, eax
shr edx, 8
shr ebx, 8
shr esi, 8
shr ecx, 8
and edx, 6
and ebx, 0xb5
and esi, 0xf1
and ecx, 3
add edx, eax
mov eax, 0x3d
add edx, ebx
mov ebx, dword [ebp - 0x28]
add edx, esi
add edx, ecx
add dl, 0x41
cmp dword [ebp - 0x1c], 1
movzx ecx, dl
cmove ecx, eax
mov byte [edi + 2], cl
mov byte [edi + 3], 0x3d
mov edi, dword [ebp + 8]
mov eax, edi
mov edx, ebx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret