Function at 0x53e1c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x68
movss xmm6, dword [ecx + 0xe0]
xor eax, eax
movaps xmm3, xmmword [ecx + 0xf0]
push esi
shufps xmm6, xmm6, 0
shufps xmm3, xmm3, 0xff
push edi
mov dword [esp + 0xc], ecx
movaps xmmword [esp + 0x20], xmm6
movaps xmmword [esp + 0x10], xmm3
mov dword [esp + 8], eax
cmp dword [ebp + 0x10], eax
jle 0x53e3c6
nop
mov edx, dword [ebp + 8]
mov esi, dword [ecx + 0xc0]
mov eax, dword [edx + eax*4]
mov edx, dword [eax]
mov eax, dword [esi + edx*8 + 4]
mov edi, eax
shr edi, 0x15
and edi, 0xf
inc edi
shl edi, 5
add edi, ecx
mov ecx, eax
and ecx, 0xfe000000
and eax, 0x1ffffff
add ecx, 0x2000000
xor ecx, eax
mov dword [esi + edx*8 + 4], ecx
test ecx, 0xfe000000
je 0x53e34d
and ecx, 0x1e00000
cmp ecx, 0x600000
jne 0x53e34d
movzx eax, word [esi + edx*8 + 4]
mov ecx, dword [ebp + 0xc]
movaps xmm1, xmmword [0x719550]
shl eax, 5
add eax, dword [edi]
movaps xmm5, xmmword [ecx]
movaps xmm4, xmmword [ecx + 0x10]
shufps xmm1, xmm1, 0
movaps xmm2, xmmword [eax + 0x10]
movaps xmm0, xmm2
unpckhps xmm0, xmm1
shufps xmm2, xmm0, 0xc4
movaps xmm0, xmm5
cmpltps xmm0, xmmword [eax]
cmpltps xmm2, xmm4
orps xmm2, xmm0
movmskps eax, xmm2
test al, 7
je 0x53e3ac
mov eax, dword [esi + edx*8]
movaps xmm0, xmm6
movzx esi, word [esi + edx*8 + 4]
shufps xmm0, xmm6, 0
movsx ecx, byte [eax + 5]
add ecx, eax
movsx eax, byte [ecx + 0x10]
movaps xmm2, xmmword [eax + ecx + 0x1b0]
lea eax, [esp + 0x50]
mulps xmm2, xmm3
mov ecx, edi
push eax
push esi
movaps xmm1, xmm2
unpckhps xmm1, xmm0
shufps xmm2, xmm1, 0xc4
movaps xmm0, xmm2
movaps xmm1, xmm2
shufps xmm0, xmm2, 0xff
addps xmm1, xmm5
addps xmm2, xmm4
shufps xmm0, xmm0, 0
minps xmm1, xmm5
maxps xmm2, xmm4
subps xmm1, xmm0
addps xmm2, xmm0
movaps xmmword [esp + 0x38], xmm1
movaps xmmword [esp + 0x58], xmm1
movaps xmmword [esp + 0x48], xmm2
movaps xmmword [esp + 0x68], xmm2
call fcn.00540ab0
movaps xmm2, xmmword [esp + 0x30]
movzx edx, ax
movaps xmm0, xmm2
mov eax, esi
shl eax, 5
add eax, dword [edi]
push edx
movaps xmm1, xmmword [eax]
shufps xmm1, xmm1, 0xff
unpckhps xmm0, xmm1
shufps xmm2, xmm0, 0xc4
movaps xmmword [eax], xmm2
movaps xmm1, xmmword [eax + 0x10]
movaps xmm2, xmmword [esp + 0x44]
movaps xmm0, xmm2
shufps xmm1, xmm1, 0xff
unpckhps xmm0, xmm1
shufps xmm2, xmm0, 0xc4
movaps xmmword [eax + 0x10], xmm2
jmp 0x53e39a
movzx esi, word [esi + edx*8 + 4]
mov ecx, edi
push esi
call fcn.00540cc0
mov ecx, dword [ebp + 0xc]
mov eax, esi
shl eax, 5
add eax, dword [edi]
movaps xmm1, xmmword [ecx]
movaps xmm0, xmm1
movaps xmm2, xmmword [eax]
shufps xmm2, xmm2, 0xff
unpckhps xmm0, xmm2
shufps xmm1, xmm0, 0xc4
movaps xmmword [eax], xmm1
movaps xmm2, xmmword [eax + 0x10]
movaps xmm1, xmmword [ecx + 0x10]
movaps xmm0, xmm1
shufps xmm2, xmm2, 0xff
unpckhps xmm0, xmm2
shufps xmm1, xmm0, 0xc4
movaps xmmword [eax + 0x10], xmm1
movzx eax, word [edi + 0x18]
push eax
push esi
mov ecx, edi
call fcn.00540820
movaps xmm6, xmmword [esp + 0x20]
movaps xmm3, xmmword [esp + 0x10]
mov eax, dword [esp + 8]
add dword [ebp + 0xc], 0x20
inc eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], eax
cmp eax, dword [ebp + 0x10]
jl 0x53e200
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc