Function at 0x455d50
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
movsd xmm0, qword [0x4bc348]
mov eax, 0x441e
movsd xmm3, qword [0x4b1aa0]
movsd qword [ebp - 0x40], xmm0
movsd xmm0, qword [0x4b67b8]
mov word [ebp - 8], ax
mov eax, 0xffffddca
mov dword [ebp - 0x18], 0xbe179910
movsd qword [ebp - 0x30], xmm0
movsd xmm0, qword [0x4b98b0]
mov dword [ebp - 0x1c], 0x4e1b0320
mov dword [ebp - 0x10], 0x3b8b3953
mov dword [ebp - 0x20], 0x4e827387
movsd qword [ebp - 0x38], xmm0
movsd xmm0, qword [0x4bc3c0]
movsd qword [ebp - 0x28], xmm0
mov word [ebp - 4], ax
mov eax, 0x4e4
mov word [ebp - 0xc], ax
movss xmm0, dword [0x4c43f0]
comiss xmm0, dword [0x4b9658]
jbe 0x455e08
movsd xmm0, qword [0x4c4368]
mulsd xmm0, qword [0x4c4470]
movsd qword [0x4c4470], xmm0
movsd xmm0, qword [0x4c4368]
addsd xmm0, xmm3
movsd qword [0x4c4368], xmm0
jmp 0x455e30
movss xmm1, dword [0x4c4054]
movsx ecx, word [ebp - 4]
movsx eax, word [ebp - 8]
add ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4c4054], xmm1
dec dword [ebp - 8]
imul eax, dword [0x4c40a8], 0xa5c863
mov dword [0x4c40a8], eax
movsd xmm2, qword [0x4c4428]
movsd xmm0, qword [0x4c41f0]
movsx eax, word [ebp - 0xc]
addsd xmm2, xmm0
movsx ecx, word [ebp - 4]
dec dword [ebp - 4]
sub ecx, eax
movsd xmm0, qword [0x4c4428]
sub ecx, 0x6d5f1311
subsd xmm0, xmm3
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movsd qword [0x4c4428], xmm0
comisd xmm1, xmm2
jb 0x455ecf
movsd xmm2, qword [0x4c4220]
movsd xmm0, qword [ebp - 0x38]
movsx eax, word [ebp - 4]
subsd xmm2, xmm0
movd xmm1, eax
mov eax, dword [0x4c41c8]
inc dword [0x4c41c8]
dec dword [ebp - 4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm2
comisd xmm0, xmm1
jb 0x455ecf
movsx eax, word [ebp - 4]
sub dword [ebp - 0x18], eax
dec dword [ebp - 4]
dec dword [0x4c40a8]
mov ecx, 0x8651f6
mov eax, dword [0x4c40a8]
sub ecx, eax
mov edx, dword [ebp + 8]
movss xmm4, dword [0x4b1a98]
cmp ecx, 0xbacbd5b5
jg 0x455f16
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [ebp - 0x1c]
cvttss2si eax, xmm0
mov word [0x4c407c], ax
movss xmm0, dword [ebp - 0x1c]
addss xmm0, xmm4
movss dword [ebp - 0x1c], xmm0
movsd xmm1, qword [0x4c4118]
mov ecx, 0xed3fb1dd
mov eax, dword [ebp + 0xc]
subsd xmm1, qword [0x4b6060]
push esi
lea esi, [edx + eax*4]
mov eax, dword [ebp - 0x18]
movd xmm0, eax
mov eax, dword [ebp + 0x10]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [0x4c4378]
mov dword [ebp - 0x14], eax
movsd qword [0x4c4378], xmm1
mov eax, dword [ebp - 0x10]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [str.JW8N]
movss dword [str.JW8N], xmm0
dec dword [ebp - 0x10]
movsd xmm0, qword [ebp - 0x28]
addsd xmm0, xmm3
movsd qword [ebp - 0x28], xmm0
movsd xmm1, qword [ebp - 0x28]
movss xmm0, dword [0x4c4538]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movss xmm0, dword [ebp - 0x20]
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x455fe6
mov eax, dword [str._n___]
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [0x4b8ffc]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x4b92f4]
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [str._n___], eax
movss xmm0, dword [ebp - 0x20]
subss xmm0, xmm4
movss dword [ebp - 0x20], xmm0
cmp edx, esi
je 0x4564a0
movsd xmm5, qword [0x4b7028]
movsd xmm6, qword [0x4b3258]
movsd xmm7, qword [0x4baa68]
push edi
mov edi, 0xfffff0c9
lea esp, [esp]
movss xmm0, dword [0x4c40d4]
mulss xmm0, dword [0x4bc974]
movss dword [0x4c40d4], xmm0
mov eax, dword [0x4c4128]
movd xmm2, eax
mov eax, dword [0x4c408c]
movsd xmm1, qword [0x4c41c0]
cvtdq2pd xmm2, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
mov dword [0x4c4128], eax
movsd xmm0, qword [0x4c41c0]
addsd xmm0, xmm3
movsd qword [0x4c41c0], xmm0
dec dword [0x4c408c]
movsx eax, word [0x4c4540]
movsd xmm1, qword [0x4c4368]
movd xmm0, eax
mov eax, dword [0x4c4128]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4c4128], eax
dec word [0x4c4540]
mov eax, dword [ebp - 0x14]
mov word [0x4c454c], di
xor dword [edx], eax
movsd xmm0, qword [0x4c4110]
subsd xmm0, qword [0x4b4318]
movsd qword [0x4c4110], xmm0
movsd xmm1, qword [ebp - 0x38]
movsx eax, word [ebp - 8]
inc dword [ebp - 8]
add eax, 0x75a8da3a
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x456107
movsx ecx, word [ebp - 0xc]
movsx eax, word [ebp - 4]
add ecx, eax
imul ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
jmp 0x45611a
movsd xmm0, qword [ebp - 0x40]
subsd xmm0, xmm5
addsd xmm0, qword [ebp - 0x28]
movsd qword [ebp - 0x28], xmm0
movss xmm0, dword [0x4c446c]
movsd xmm1, qword [ebp - 0x40]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
addsd xmm1, qword [0x4c4140]
cvttsd2si eax, xmm1
mov word [0x4c4418], ax
movzx eax, word [0x4c425c]
ror dword [ebp - 0x14], 1
imul eax, eax, 0xe1ebd5f3
mov word [0x4c425c], ax
movzx ecx, word [ebp - 0xc]
movzx eax, word [ebp - 0xc]
sub ecx, eax
movzx eax, word [0x4c4540]
sub ecx, eax
mov word [ebp - 0xc], cx
movzx eax, word [0x4c407c]
movsx ecx, ax
movzx eax, word [ebp - 4]
sub ecx, eax
movzx eax, word [ebp - 8]
sub ecx, eax
mov word [0x4c407c], cx
mov ecx, 0xc0c7b544
dec dword [ebp - 8]
mov eax, dword [0x4c44cc]
sub ecx, eax
inc dword [0x4c44cc]
cmp ecx, 0xd4385ecc
jl 0x4561b9
movzx ecx, word [ebp - 0xc]
movzx eax, word [ebp - 0xc]
imul ecx, eax
mov word [ebp - 0xc], cx
dec dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
add eax, 0x264e64e2
cmp eax, 0x2d384762
jle 0x4561dc
movsd xmm0, qword [ebp - 0x38]
addsd xmm0, xmm6
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x20], xmm0
jmp 0x4561f4
movss xmm0, dword [0x4c44bc]
addss xmm0, dword [0x4c40d4]
movss dword [0x4c44bc], xmm0
movsx eax, word [ebp - 4]
mov ecx, 0xc03e95dc
sub dword [ebp - 0x18], eax
movsx eax, word [0x4c4430]
sub ecx, eax
mov eax, dword [0x4c40d0]
add eax, ecx
movzx ecx, word [ebp - 8]
imul ecx, eax
mov word [ebp - 8], cx
inc word [0x4c4430]
inc dword [0x4c40d0]
movsd xmm0, qword [0x4c4270]
subsd xmm0, qword [0x4b4528]
movsd qword [0x4c4270], xmm0
movss xmm0, dword [0x4c4364]
movsd xmm1, qword [0x4c43a8]
mov eax, dword [0x4c430c]
cvtps2pd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [0x4b26b8]
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [0x4c4364], xmm0
movsd xmm0, qword [0x4c43a8]
addsd xmm0, xmm3
movsd qword [0x4c43a8], xmm0
movsd xmm1, qword [ebp - 0x30]
movsx eax, word [ebp - 4]
subsd xmm1, qword [0x4b30b8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov word [ebp - 4], ax
movsd xmm0, qword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
addsd xmm0, xmm3
shr eax, 8
add al, byte [ebp - 0x14]
mov byte [ebp - 0x13], al
movsd qword [ebp - 0x30], xmm0
dec word [0x4c41a8]
movsx eax, word [0x4c41a8]
mov ecx, dword [0x4c439c]
add eax, 0xac858ebf
movss xmm0, dword [0x4c44a4]
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4c44a4], xmm0
inc dword [0x4c439c]
movsd xmm0, qword [ebp - 0x28]
cvtpd2ps xmm0, xmm0
movss dword [0x4c4364], xmm0
mov eax, dword [0x4c4048]
movsd xmm0, qword [0x4c42d8]
movd xmm2, eax
movsx eax, word [ebp - 0xc]
cvtdq2pd xmm2, xmm2
sub eax, 0x4fcb1d50
movd xmm1, eax
subsd xmm2, xmm0
movsd xmm0, qword [0x4c42d8]
cvtdq2pd xmm1, xmm1
subsd xmm2, qword [0x4b9900]
subsd xmm0, xmm3
comisd xmm1, xmm2
movsd qword [0x4c42d8], xmm0
jbe 0x45637f
mov eax, dword [0x4c412c]
mov ecx, 0xbdbc0e1f
sub ecx, eax
add dword [ebp - 0x18], ecx
inc dword [0x4c412c]
jmp 0x45639e
movsx eax, word [ebp - 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x4c4090]
cvttss2si eax, xmm0
mov dword [0x4c42b4], eax
inc dword [ebp - 8]
mov eax, dword [ebp - 0x10]
movss xmm0, dword [0x4c44e0]
subss xmm0, dword [0x4b7c04]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
movsd xmm1, qword [0x4b2240]
mov dword [ebp - 0x10], eax
movss xmm0, dword [0x4c44e0]
addss xmm0, xmm4
movss dword [0x4c44e0], xmm0
movsd xmm0, qword [0x4c43c8]
mulsd xmm0, qword [0x4b6050]
mov al, byte [ebp - 0x13]
add byte [ebp - 0x14], al
movsd qword [0x4c43c8], xmm0
movsd xmm0, qword [ebp - 0x30]
mov eax, dword [0x4c4190]
subsd xmm1, xmm0
inc dword [0x4c4190]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x30]
subsd xmm0, xmm3
movsd qword [ebp - 0x30], xmm0
movsd xmm0, qword [0x4bbc90]
comisd xmm0, xmm1
jb 0x456470
movsd xmm1, qword [0x4c4448]
comisd xmm1, xmmword [0x4b9c80]
movsd xmm0, qword [0x4c4448]
addsd xmm0, xmm3
movsd qword [0x4c4448], xmm0
ja 0x456470
dec word [0x4c4320]
mov ax, word [0x4c4320]
mov word [ebp - 4], ax
movsd qword [0x4c4478], xmm7
mov eax, dword [ebp - 0x10]
dec dword [ebp - 0x10]
sub eax, 0x44744bef
cmp eax, 0xbbd4de91
jl 0x456494
add dword [0x4c4284], 0xe2c90b4e
add edx, 4
cmp edx, esi
jne 0x456010
pop edi
movss xmm0, dword [ebp - 0x1c]
movsd xmm1, qword [ebp - 0x38]
addsd xmm1, qword [0x4b2100]
cvtps2pd xmm2, xmm0
pop esi
movss xmm0, dword [ebp - 0x1c]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [ebp - 0x1c], xmm0
movsd xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
subsd xmm0, xmm3
movsd qword [ebp - 0x38], xmm0
mov esp, ebp
pop ebp
ret