Function at 0x45acac
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x7a85e4], 0x41cf94
mov dword [0x7a85ec], 0x41d170
mov dword [0x7a85f4], 0x41d360
mov dword [0x7a85fc], 0x41d6b0
mov dword [0x7a8604], 0x41da34
mov dword [0x7a860c], 0x41ddec
mov dword [0x7a8614], 0x41e4fc
mov dword [0x7a861c], 0x41e880
mov dword [0x7a8624], 0x41e134
mov dword [0x7a862c], 0x41ec04
mov dword [0x7a8634], 0x41efbc
mov dword [0x7a863c], 0x41f374
mov dword [0x7a8644], 0x41f72c
mov dword [0x7a864c], 0x41fae4
mov dword [0x7a8654], 0x41fe68
mov dword [0x7a865c], 0x420220
mov dword [0x7a8664], 0x4205d8
mov dword [0x7a866c], 0x420990
mov dword [0x7a8674], 0x420d14
mov dword [0x7a85e0], 0x41cfac
mov dword [0x7a85e8], 0x41d188
mov dword [0x7a85f0], 0x41d378
mov dword [0x7a85f8], 0x41d6c8
mov dword [0x7a8600], 0x41da80
mov dword [0x7a8608], 0x41de04
mov dword [0x7a8610], 0x41e514
mov dword [0x7a8618], 0x41e898
mov dword [0x7a8620], 0x41e180
mov dword [0x7a8628], 0x41ec50
mov dword [0x7a8630], 0x41f008
mov dword [0x7a8638], 0x41f3c0
mov dword [0x7a8640], 0x41f778
mov dword [0x7a8648], 0x41fafc
mov dword [0x7a8650], 0x41feb4
mov dword [0x7a8658], 0x42026c
mov dword [0x7a8660], 0x420624
mov dword [0x7a8668], 0x4209a8
mov dword [0x7a8670], 0x420d60
mov dword [0x7a8684], 0x41cfc8
mov dword [0x7a868c], 0x41d1a4
mov dword [0x7a8694], 0x41d3c8
mov dword [0x7a869c], 0x41d720
mov dword [0x7a86a4], 0x41dad8
mov dword [0x7a86ac], 0x41de20
mov dword [0x7a86b4], 0x41e56c
mov dword [0x7a86bc], 0x41e8f0
mov dword [0x7a86c4], 0x41e1e8
mov dword [0x7a86cc], 0x41eca8
mov dword [0x7a86d4], 0x41f060
mov dword [0x7a86dc], 0x41f418
mov dword [0x7a86e4], 0x41f7d0
mov dword [0x7a86ec], 0x41fb54
mov dword [0x7a86f4], 0x41ff0c
mov dword [0x7a86fc], 0x4202c4
mov dword [0x7a8704], 0x42067c
mov dword [0x7a870c], 0x420a00
mov dword [0x7a8714], 0x420db8
mov dword [0x7a8680], 0x41cfe0
mov dword [0x7a8688], 0x41d1c0
mov dword [0x7a8690], 0x41d470
mov dword [0x7a8698], 0x41d7d4
mov dword [0x7a86a0], 0x41db8c
mov dword [0x7a86a8], 0x41ded4
mov dword [0x7a86b0], 0x41e620
mov dword [0x7a86b8], 0x41e9a4
mov dword [0x7a86c0], 0x41e29c
mov dword [0x7a86c8], 0x41ed5c
mov dword [0x7a86d0], 0x41f114
mov dword [0x7a86d8], 0x41f4cc
mov dword [0x7a86e0], 0x41f884
mov dword [0x7a86e8], 0x41fc08
mov dword [0x7a86f0], 0x41ffc0
mov dword [0x7a86f8], 0x420378
mov dword [0x7a8700], 0x420730
mov dword [0x7a8708], 0x420ab4
mov dword [0x7a8710], 0x420e6c
mov dword [0x7a8720], 0x41d020
mov dword [0x7a8728], 0x41d1dc
mov dword [0x7a8730], 0x41d520
mov dword [0x7a8738], 0x41d898
mov dword [0x7a8740], 0x41dc50
mov dword [0x7a8748], 0x41df98
mov dword [0x7a8750], 0x41e6e4
mov dword [0x7a8758], 0x41ea68
mov dword [0x7a8760], 0x41e360
mov dword [0x7a8768], 0x41ee20
mov dword [0x7a8770], 0x41f1d8
mov dword [0x7a8778], 0x41f590
mov dword [0x7a8780], 0x41f948
mov dword [0x7a8788], 0x41fccc
mov dword [0x7a8790], 0x420084
mov dword [0x7a8798], 0x42043c
mov dword [0x7a87a0], 0x4207f4
mov dword [0x7a87a8], 0x420b78
mov dword [0x7a87b0], 0x420f30
mov dword [0x7a8724], 0x41cffc
mov dword [0x7a872c], 0x41d1dc
mov dword [0x7a8734], 0x41d520
mov dword [0x7a873c], 0x41d898
mov dword [0x7a8744], 0x41dc50
mov dword [0x7a874c], 0x41df98
mov dword [0x7a8754], 0x41e6e4
mov dword [0x7a875c], 0x41ea68
mov dword [0x7a8764], 0x41e360
mov dword [0x7a876c], 0x41ee20
mov dword [0x7a8774], 0x41f1d8
mov dword [0x7a877c], 0x41f590
mov dword [0x7a8784], 0x41f948
mov dword [0x7a878c], 0x41fccc
mov dword [0x7a8794], 0x420084
mov dword [0x7a879c], 0x42043c
mov dword [0x7a87a4], 0x4207f4
mov dword [0x7a87ac], 0x420b78
mov dword [0x7a87b4], 0x420f30
mov dword [0x7a87c0], 0x41d0c4
mov dword [0x7a87c8], 0x41d298
mov dword [0x7a87d0], 0x41d5e4
mov dword [0x7a87d8], 0x41d960
mov dword [0x7a87e0], 0x41dd18
mov dword [0x7a87e8], 0x41e060
mov dword [0x7a87f0], 0x41e7ac
mov dword [0x7a87f8], 0x41eb30
mov dword [0x7a8800], 0x41e428
mov dword [0x7a8808], 0x41eee8
mov dword [0x7a8810], 0x41f2a0
mov dword [0x7a8818], 0x41f658
mov dword [0x7a8820], 0x41fa10
mov dword [0x7a8828], 0x41fd94
mov dword [0x7a8830], 0x42014c
mov dword [0x7a8838], 0x420504
mov dword [0x7a8840], 0x4208bc
mov dword [0x7a8848], 0x420c40
mov dword [0x7a8850], 0x420ff8
mov ebx, 1
mov ecx, 0x200
mov edi, ecx
xor esi, esi
lea ebp, [ecx + 0x200]
mov eax, esi
cdq
idiv ebx
mov word [edi + 0x7884e0], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x45b1f9
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x45b1ef
xor eax, eax
mov byte [eax + 0x686ce0], al
jmp 0x45b232
mov byte [eax + 0x686ce0], 0xff
inc eax
cmp eax, 0x1ff
jge 0x45b243
cmp eax, 0xff
jg 0x45b22b
jmp 0x45b223
xor eax, eax
xor edx, edx
jmp 0x45b24f
lea edx, [eax - 0xff]
mov byte [eax + 0x686ee0], dl
inc eax
cmp eax, 0x1ff
jge 0x45b266
cmp eax, 0xff
jge 0x45b249
jmp 0x45b245
xor ecx, ecx
xor ebx, ebx
xor esi, esi
xor ebp, ebp
mov eax, 0x80808081
imul ebp
add edx, ebp
sar edx, 7
mov edi, ebp
sar edi, 0x1f
sub edx, edi
mov byte [ebx + esi + 0x6870e0], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x45b26e
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b26a
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x45b2b8
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x45b2c4
mov eax, 0xff
mov byte [ecx + esi + 0x6971e0], al
inc esi
cmp esi, 0x100
jge 0x45b2da
test esi, esi
jg 0x45b2b3
jmp 0x45b2af
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x45b2a6
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x62ecde]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x6a72e0], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x45b2f3
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x45b2ed
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45b333
mov ebx, eax
jmp 0x45b335
mov ebx, ecx
mov byte [edx + eax + 0x767ee0], bl
inc eax
cmp eax, 0x100
jl 0x45b32b
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b329
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45b361
mov ebx, ecx
jmp 0x45b363
mov ebx, eax
mov byte [edx + eax + 0x777fe0], bl
inc eax
cmp eax, 0x100
jl 0x45b359
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b357
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x45b391
neg ebx
mov byte [edx + eax + 0x6b73e0], bl
inc eax
cmp eax, 0x100
jl 0x45b387
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b385
xor eax, eax
xor ecx, ecx
xor edi, edi
mov ebp, eax
xor ebx, ebx
mov dword [esp + 0x28], eax
mov eax, 0x80808081
imul ebx
add edx, ebx
sar edx, 7
mov esi, ebx
sar esi, 0x1f
sub edx, esi
add edx, edx
neg edx
add edx, ebp
mov byte [ecx + edi + 0x6c74e0], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x45b3bd
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x45b3b3
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x62ecde]
movzx eax, al
mov byte [ebx + ecx + 0x747ce0], al
inc ecx
cmp ecx, 0x100
jge 0x45b44d
cmp ecx, 0x80
jl 0x45b408
jle 0x45b442
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x62f0de]
sub eax, edi
dec eax
movzx eax, al
jmp 0x45b413
jne 0x45b413
mov eax, ebp
and eax, 0xff
jmp 0x45b413
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x45b401
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x45b478
mov eax, 0xff
mov byte [ebx + esi + 0x6d75e0], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x45b467
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x45b463
xor ecx, ecx
xor ebp, ebp
lea esi, [ecx + 1]
shl ecx, 8
mov ebx, 0xff00
mov eax, ebx
cdq
idiv esi
neg eax
add eax, 0xff
test eax, eax
jge 0x45b4ba
xor eax, eax
mov byte [ecx + ebp + 0x6e76e0], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x45b4a8
mov ecx, esi
cmp esi, 0x100
jl 0x45b49b
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x45b4f6
mov eax, 0xff
jmp 0x45b4fc
test eax, eax
jge 0x45b4fc
xor eax, eax
mov byte [edx + ebp + 0x737be0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x45b4e2
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b4de
xor ebp, ebp
xor eax, eax
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov edi, 0x200
mov dword [esp + 0xc], eax
mov eax, edi
xor edi, edi
xor esi, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
cmp ebp, 0x80
jge 0x45b54f
movsx eax, word [esi + ebx*2 + 0x62ecde]
jmp 0x45b568
jle 0x45b564
movsx eax, word [esi + edx*2 + 0x62f0de]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x45b568
jne 0x45b568
mov eax, edi
mov byte [ecx + edi + 0x6f77e0], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x45b53d
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
add ebx, 2
add ecx, 0x100
add edx, 0xfffffffe
add eax, 0xfffffffe
inc ebp
cmp ebp, 0x100
jl 0x45b531
xor edx, edx
fld qword [0x58de68]
cmp edx, 0x80
jl 0x45b5ba
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x45b646
xor ebx, ebx
mov ecx, edx
shl ecx, 8
mov eax, ebx
neg eax
add eax, 0x100
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsqrt
fsubr st(1)
fnstcw word [esp]
movzx eax, word [esp]
or eax, 0xc00
mov dword [esp + 8], eax
fldcw word [esp + 8]
fistp dword [esp + 0x14]
fldcw word [esp]
mov ebp, dword [esp + 0x14]
mov eax, edx
imul eax, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
neg ebp
add eax, ebp
sar eax, 0xf
add eax, ebx
cmp eax, 0xff
jle 0x45b61f
mov eax, 0xff
jmp 0x45b625
test eax, eax
jge 0x45b625
xor eax, eax
mov byte [ecx + ebx + 0x7078e0], al
inc ebx
cmp ebx, 0x100
jge 0x45b709
cmp edx, 0x80
jl 0x45b5c1
cmp ebx, 0x20
jg 0x45b6b4
mov eax, ebx
neg eax
add eax, 0x100
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsqrt
lea ebp, [ebx + ebx]
add ebp, ebp
add ebp, ebp
neg ebp
add ebp, 0x300
mov dword [esp + 0x1c], ebp
fild dword [esp + 0x1c]
fmulp st(1)
fsubr st(1)
fnstcw word [esp]
movzx eax, word [esp]
or eax, 0xc00
mov dword [esp + 8], eax
fldcw word [esp + 8]
fistp dword [esp + 0x14]
fldcw word [esp]
mov edi, dword [esp + 0x14]
mov eax, edx
imul eax, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
neg edi
add eax, edi
sar eax, 0xf
add eax, ebx
jmp 0x45b611
mov eax, ebx
neg eax
add eax, 0x100
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsqrt
fsubr st(1)
fnstcw word [esp]
movzx eax, word [esp]
or eax, 0xc00
mov dword [esp + 8], eax
fldcw word [esp + 8]
fistp dword [esp + 0x14]
fldcw word [esp]
mov ebp, dword [esp + 0x14]
mov eax, edx
imul eax, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
neg ebp
add eax, ebp
sar eax, 0x10
add eax, ebx
jmp 0x45b611
inc edx
cmp edx, 0x100
jl 0x45b5a6
fstp st(0)
xor ecx, ecx
xor edi, edi
xor eax, eax
mov edx, 0x1fe
xor ebx, ebx
mov dword [esp + 0x28], ebx
xor esi, esi
xor ebp, ebp
lea ebx, [eax - 0xfe01]
mov dword [esp + 0xc], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], edi
cmp ecx, 0x80
jge 0x45b760
test ecx, ecx
jne 0x45b74f
xor eax, eax
jmp 0x45b781
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x45b781
xor eax, eax
jmp 0x45b781
cmp ecx, 0xff
je 0x45b869
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x45b781
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x7179e0], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x45b73f
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
add edi, 2
add eax, 0x1fe
add edx, 0xfffffffe
add dword [esp + 0x28], 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b729
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x45b7e9
mov eax, 0xff
jmp 0x45b7ef
test eax, eax
jge 0x45b7ef
xor eax, eax
mov byte [ecx + ebp + 0x727ae0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x45b7d5
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x45b7d1
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x45b832
cmp edi, ebx
jle 0x45b82e
mov eax, ebx
jmp 0x45b83c
mov eax, edi
jmp 0x45b83c
cmp edi, ecx
jle 0x45b83a
mov eax, edi
jmp 0x45b83c
mov eax, ecx
mov byte [edx + edi + 0x757de0], al
inc edi
cmp edi, 0x100
jl 0x45b81e
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x45b81c
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x45b781