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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x174
push ebx
push esi
push edi
mov dword [ebp - 0x30], ecx
lea edi, [ebp - 0x74]
push 6
pop ecx
mov esi, 0x4028a0
mov dword [ebp - 0x2c], edx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28], 0xeda2f450
mov dword [ebp - 0x24], 0x97a49
mov dword [ebp - 0x20], 0x31553e1c
movsw word es:[edi], word [esi]
xor edi, edi
mov dword [ebp - 0x1c], 0x5ff41faa
mov dword [ebp - 0x18], 0x4f6a251e
xor eax, eax
mov dword [ebp - 0x14], 0x64d30d7
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0x4491bb
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x174]
push 0x19
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x74]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + edi - 0x174], bl
cmp esi, 0x100
jb 0x4491cc
and dword [ebp - 4], 0
xor ebx, ebx
mov esi, dword [0x44edb0]
xor edi, edi
lea eax, [ebx + 1]
imul esi, esi, 0xb3a47c51
movzx ebx, al
mov eax, dword [ebp - 4]
push 0x18
mov cl, byte [ebp + ebx - 0x174]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x174]
mov byte [ebp + ebx - 0x174], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x174], cl
movzx eax, byte [ebp + ebx - 0x174]
add eax, edx
movzx eax, al
pop ecx
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + edi - 0x28]
mov byte [ebp + edi - 0x74], al
inc edi
cmp edi, ecx
jb 0x449217
push 2
mov byte [ebp - 0x5c], 0
xor eax, eax
pop ebx
mov dword [ebp - 0x10], 0x47
mov dword [ebp - 0xc], 0x4e
mov dword [ebp - 8], 0xffffff69
add ebx, dword [ebp + eax*4 - 0x10]
inc eax
cmp eax, 3
jl 0x449292
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], 0x54
mov dword [ebp - 0x38], 0x29
mov dword [ebp - 0x34], 0xffffff19
movups xmm1, xmmword [ebp - 0x40]
push 0xc
pop ecx
movaps xmm0, xmm1
mov dword [ebp - 0x10], ecx
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0xc], 9
movups xmm0, xmm1
mov dword [ebp - 8], 0xffffffdf
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x52
mov dword [ebp - 4], eax
xor eax, eax
add ecx, dword [ebp + eax*4 - 0x10]
imul esi, esi, 0x4eb3b85c
inc eax
cmp eax, 3
jl 0x4492f0
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x74]
mov dword [0x44edb0], esi
call fcn.0043617c
mov edi, eax
mov ecx, ebx
mov edx, edi
call fcn.0043709c
mov ecx, eax
call fcn.0043715b
mov ebx, eax
mov dword [ebp - 0x44], ebx
cmp ebx, dword [ebp - 4]
jbe 0x449527
imul edx, dword [0x44edb0], 0xec3f85f9
xor eax, eax
push 0x61
pop ecx
mov dword [ebp - 0x10], 0x5f
mov dword [ebp - 0xc], 0x31
mov dword [ebp - 8], 0xffffff0f
mov dword [0x44edb0], edx
add ecx, dword [ebp + eax*4 - 0x10]
inc eax
cmp eax, 3
jl 0x44935b
xor esi, esi
mov dword [ebp - 0x10], 0x20
mov dword [ebp - 0xc], 0xa
xor eax, eax
mov dword [ebp - 8], 0xffffffd6
sub esi, dword [ebp + eax*4 - 0x10]
inc eax
cmp eax, 3
jl 0x44937e
mov eax, dword [ebp - 0x2c]
mov dword [eax], ebx
mov eax, dword [ebp + 8]
mov dword [eax], ecx
cmp esi, ebx
jae 0x44951c
mov dword [ebp - 0x40], 0x32
mov dword [ebp - 0x3c], 0x5e
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x34], 0xffffff1d
mov dword [ebp - 0x10], 7
mov dword [ebp - 0xc], 0x55
mov dword [ebp - 8], 0xffffff4f
movups xmm0, xmmword [ebp - 0x40]
push 0x55
pop ebx
movups xmm1, xmm0
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x4d
xor eax, eax
add ebx, dword [ebp + eax*4 - 0x10]
inc eax
cmp eax, 3
jl 0x4493f3
add edx, 0x64fde044
mov dword [0x44edb0], edx
mov edx, edi
call fcn.0043709c
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x4494fa
mov cl, byte [0x44ee8c]
mov edx, 0x44ee8c
jmp 0x449437
sub cl, 0x30
cmp cl, 9
ja 0x44950b
inc edx
mov cl, byte [edx]
test cl, cl
jne 0x449428
mov edx, dword [0x44edb0]
xor edx, 0x1e4f947e
mov ecx, 0x4038fc
mov dword [0x44edb0], edx
call fcn.0044260d
mov dword [ebp - 0x58], 0x2d
xorps xmm1, xmm1
mov dword [ebp - 0x54], 0x4a
mov ecx, 0x3000
mov dword [ebp - 0x50], 0x51
xor eax, eax
mov dword [ebp - 0x4c], 0xffffff38
movups xmm0, xmmword [ebp - 0x58]
mov dword [ebp - 0x24], 0x5a
mov dword [ebp - 0x20], 0x3c
psubd xmm1, xmm0
mov dword [ebp - 0x1c], 0x1d
movaps xmm0, xmm1
mov dword [ebp - 0x18], 0x39
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x14], 0x2b14
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edx, xmm1
sub ecx, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, 5
jl 0x4494c4
mov ebx, dword [ebp - 0x30]
push ecx
push edx
push dword [ebx + esi*4]
call fcn.004360de
sub dword [0x44edb0], 0x34fa77a
mov ecx, dword [ebp - 4]
call fcn.004369c6
push eax
push ecx
push dword [ebx + esi*4]
call fcn.00436044
add esp, 0x18
inc esi
cmp esi, dword [ebp - 0x44]
jae 0x44951c
mov edx, dword [0x44edb0]
jmp 0x4493cb
mov edx, dword [0x44edb0]
or edx, 0x6b02845c
jmp 0x449441
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
call fcn.00434cfe
mov ecx, edi
call fcn.004369c6
push eax
push dword [ebp - 0x48]
push edi
call fcn.004360de
add esp, 0xc
mov ecx, edi
call fcn.0041e600
pop edi
pop esi
pop ebx
leave
ret