Function at 0x1002066e
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x10054040]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [0x1005675c]
mov eax, dword [0x10056730]
push esi
mov esi, ecx
push edi
mov edi, dword [edx + 0x6f4]
mov eax, dword [eax + 0x40]
vmovdqu xmm0, xmmword [esi + 8]
vmovd ecx, xmm0
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x20], ecx
vmovdqa xmmword [ebp - 0x50], xmm0
cmp edi, ecx
jle 0x100206bd
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x20]
cmp edi, ecx
jge 0x100206bd
mov edx, dword [edx + 0x6f8]
mov edi, dword [ebp - 0x4c]
cmp edx, edi
jle 0x100206bd
mov ecx, dword [ebp - 0x44]
add ecx, edi
cmp edx, ecx
jge 0x100206bd
vmovss xmm0, dword [0x1004c8e8]
jmp 0x100206c5
vmovss xmm0, dword [0x1004c8d8]
vsubss xmm0, xmm0, dword [esi + 0x2c]
vmulss xmm0, xmm0, dword [eax]
vaddss xmm0, xmm0, dword [esi + 0x2c]
vmovss dword [esi + 0x2c], xmm0
mov eax, dword [0x10056730]
vmovdqu xmm0, xmmword [esi + 8]
vmovss xmm1, dword [0x1004c9f8]
vmovdqu xmmword [ebp - 0x50], xmm0
mov eax, dword [eax + 0x44]
vxorps xmm0, xmm0, xmm0
mov edi, dword [0x100553b8]
mov ecx, dword [eax + 0x10]
mov eax, ecx
shr eax, 0x10
mov edx, ecx
mov dword [ebp - 0x20], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x28], eax
mov eax, 0xff
shr edx, 0x18
mov dword [ebp - 0x24], ecx
mov ecx, edx
sub eax, ecx
mov ecx, 0xff
vcvtsi2ss xmm0, xmm0, eax
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub dl, al
movzx esi, dl
mov edx, dword [ebp - 0x20]
movzx eax, dl
sub ecx, eax
shl esi, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub dl, al
mov ecx, 0xff
movzx eax, dl
mov edx, dword [ebp - 0x28]
or esi, eax
movzx eax, dl
sub ecx, eax
shl esi, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
mov ecx, dword [ebp - 0x24]
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub dl, al
movzx eax, dl
mov edx, 0xff
or esi, eax
movzx eax, cl
sub edx, eax
shl esi, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, edx
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub cl, al
movzx eax, cl
mov ecx, edi
or esi, eax
mov eax, dword [edi]
push esi
call dword [eax + 0x28]
vmovdqu xmm0, xmmword [ebp - 0x50]
mov ecx, dword [0x100553b8]
vpextrd esi, xmm0, 1
vpextrd eax, xmm0, 3
add eax, esi
mov edi, dword [ecx]
push eax
vpextrd eax, xmm0, 2
vmovd edx, xmm0
add eax, edx
push eax
push esi
push edx
call dword [edi + 0x30]
mov eax, dword [0x10056730]
mov esi, 0xff
vmovss xmm1, dword [0x1004ca04]
vxorps xmm5, xmm5, xmm5
vxorps xmm4, xmm4, xmm4
mov eax, dword [eax + 0x44]
mov edi, dword [ebp - 0x34]
vxorps xmm3, xmm3, xmm3
vxorps xmm2, xmm2, xmm2
mov ecx, dword [eax + 0x10]
mov eax, ecx
shr eax, 0x18
mov edx, ecx
mov dword [ebp - 0x24], eax
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
movzx eax, cl
mov ecx, esi
sub ecx, eax
shr edx, 8
vcvtsi2ss xmm5, xmm5, ecx
mov cl, byte [ebp - 0x28]
vmulss xmm0, xmm5, xmm1
vcvttss2si eax, xmm0
sub cl, al
mov dword [ebp - 0x20], edx
mov byte [ebp - 0x2d], cl
mov dh, dl
movzx eax, dl
mov ecx, esi
sub ecx, eax
mov dl, byte [ebp - 0x2c]
vcvtsi2ss xmm4, xmm4, ecx
vmulss xmm0, xmm4, xmm1
vcvttss2si eax, xmm0
sub dh, al
mov ecx, esi
mov eax, dword [ebp - 0x2c]
movzx eax, al
sub ecx, eax
vcvtsi2ss xmm3, xmm3, ecx
mov ecx, dword [ebp - 0x24]
vmulss xmm0, xmm3, xmm1
vcvttss2si eax, xmm0
sub dl, al
movzx eax, cl
sub esi, eax
vmovss xmm6, dword [edi + 0x2c]
vcvtsi2ss xmm2, xmm2, esi
vmulss xmm0, xmm2, xmm1
vmovss xmm1, dword [0x1004ca00]
vcvttss2si eax, xmm0
sub cl, al
vmulss xmm0, xmm5, xmm1
vcvttss2si eax, xmm0
sub byte [ebp - 0x28], al
vmulss xmm0, xmm4, xmm1
vcvttss2si eax, xmm0
sub byte [ebp - 0x20], al
vmulss xmm0, xmm3, xmm1
vcvttss2si eax, xmm0
sub byte [ebp - 0x2c], al
vmulss xmm0, xmm2, xmm1
vcvttss2si eax, xmm0
sub byte [ebp - 0x24], al
vmovdqu xmm0, xmmword [edi + 8]
mov eax, dword [ebp - 0x24]
mov edi, dword [0x100553b8]
movzx eax, al
vmovdqu xmmword [ebp - 0x50], xmm0
movzx ecx, cl
sub ecx, eax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vmulss xmm0, xmm0, xmm6
vcvttss2si eax, xmm0
add al, byte [ebp - 0x24]
movzx esi, al
mov eax, dword [ebp - 0x2c]
movzx eax, al
vxorps xmm0, xmm0, xmm0
movzx ecx, dl
sub ecx, eax
shl esi, 8
vcvtsi2ss xmm0, xmm0, ecx
vmulss xmm0, xmm0, xmm6
vcvttss2si eax, xmm0
add al, byte [ebp - 0x2c]
movzx eax, al
or esi, eax
movzx ecx, dh
mov eax, dword [ebp - 0x20]
movzx edx, byte [ebp - 0x2d]
movzx eax, al
sub ecx, eax
shl esi, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vmulss xmm0, xmm0, xmm6
vcvttss2si eax, xmm0
add al, byte [ebp - 0x20]
mov ecx, edi
movzx eax, al
or esi, eax
mov eax, dword [ebp - 0x28]
movzx eax, al
sub edx, eax
shl esi, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, edx
vmulss xmm0, xmm0, xmm6
vcvttss2si eax, xmm0
add al, byte [ebp - 0x28]
movzx eax, al
or esi, eax
mov eax, dword [edi]
push esi
call dword [eax + 0x28]
vmovdqu xmm0, xmmword [ebp - 0x50]
mov ecx, dword [0x100553b8]
vpextrd esi, xmm0, 1
vpextrd eax, xmm0, 3
add eax, esi
mov edi, dword [ecx]
push eax
vmovd edx, xmm0
vpextrd eax, xmm0, 2
add eax, edx
push eax
push esi
push edx
call dword [edi + 0x38]
mov eax, dword [0x10056730]
vmovss xmm1, dword [0x1004ca10]
vxorps xmm0, xmm0, xmm0
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + 0x18]
mov esi, dword [eax + 0x10]
mov eax, esi
shr eax, 0x18
mov edx, esi
mov dword [ebp - 0x38], eax
mov eax, esi
shr eax, 8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], ecx
shr edx, 0x10
mov dword [ebp - 0x24], esi
push dword [eax + 4]
mov eax, ecx
shr eax, 0x10
movzx ecx, al
movzx eax, dl
sub ecx, eax
vcvtsi2ss xmm0, xmm0, ecx
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
mov ecx, dword [ebp - 0x20]
sub dl, al
movzx esi, dl
mov edx, dword [ebp - 0x38]
movzx eax, dl
shr ecx, 0x18
sub ecx, eax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub dl, al
movzx eax, dl
mov edx, dword [ebp - 0x28]
shl eax, 8
or esi, eax
mov eax, dword [ebp - 0x20]
shr eax, 8
movzx ecx, al
movzx eax, dl
sub ecx, eax
shl esi, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub dl, al
movzx eax, dl
mov edx, dword [ebp - 0x24]
or esi, eax
mov eax, dword [ebp - 0x20]
movzx ecx, al
movzx eax, dl
sub ecx, eax
shl esi, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
mov ecx, dword [0x1005673c]
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub dl, al
movzx eax, dl
or esi, eax
push esi
mov esi, dword [ebp - 0x34]
push 0x10
push dword [ecx + 0x38]
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 0xc]
push eax
mov eax, dword [esi + 8]
add eax, 5
push eax
push ecx
call fcn.1001bd80
mov eax, dword [esi + 0x1c]
add esp, 0x1c
mov eax, dword [eax]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x20]
cmp dword [eax + ecx*8 + 0x14], 0xf
lea edi, [eax + ecx*8]
jbe 0x10020aae
mov edi, dword [edi]
mov eax, dword [0x10056730]
vmovss xmm1, dword [0x1004ca10]
vxorps xmm0, xmm0, xmm0
push edi
mov eax, dword [eax + 0x44]
mov edi, dword [ebp - 0x34]
mov esi, dword [eax + 0x10]
mov edx, esi
mov ecx, dword [eax + 0x18]
mov eax, esi
shr eax, 0x18
mov dword [ebp - 0x38], eax
mov eax, esi
shr eax, 8
mov dword [ebp - 0x28], eax
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x20], ecx
movzx ecx, al
shr edx, 0x10
movzx eax, dl
sub ecx, eax
mov dword [ebp - 0x24], esi
vcvtsi2ss xmm0, xmm0, ecx
mov ecx, dword [ebp - 0x20]
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub dl, al
shr ecx, 0x18
movzx esi, dl
mov edx, dword [ebp - 0x38]
movzx eax, dl
sub ecx, eax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub dl, al
movzx eax, dl
mov edx, dword [ebp - 0x28]
shl eax, 8
or esi, eax
mov eax, dword [ebp - 0x20]
shr eax, 8
movzx ecx, al
movzx eax, dl
sub ecx, eax
shl esi, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub dl, al
movzx eax, dl
mov edx, dword [ebp - 0x24]
or esi, eax
mov eax, dword [ebp - 0x20]
movzx ecx, al
movzx eax, dl
sub ecx, eax
shl esi, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
mov ecx, dword [edi + 0x10]
vmulss xmm0, xmm0, xmm1
vcvttss2si eax, xmm0
sub dl, al
movzx eax, dl
or esi, eax
mov eax, dword [edi + 0x14]
push esi
mov esi, dword [0x1005673c]
cdq
sub eax, edx
push 0x12
push dword [esi + 0x38]
sar eax, 1
add eax, dword [edi + 0xc]
add ecx, 0xfffffffb
push eax
mov eax, dword [edi + 8]
add eax, ecx
push eax
push esi
call fcn.1001bd80
mov ecx, dword [ebp - 4]
add esp, 0x1c
xor ecx, ebp
pop edi
pop esi
call fcn.10042579
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret