Function at 0x45ada0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x7a85e4], 0x41d040
mov dword [0x7a85ec], 0x41d21c
mov dword [0x7a85f4], 0x41d40c
mov dword [0x7a85fc], 0x41d75c
mov dword [0x7a8604], 0x41dae0
mov dword [0x7a860c], 0x41de98
mov dword [0x7a8614], 0x41e5a8
mov dword [0x7a861c], 0x41e92c
mov dword [0x7a8624], 0x41e1e0
mov dword [0x7a862c], 0x41ecb0
mov dword [0x7a8634], 0x41f068
mov dword [0x7a863c], 0x41f420
mov dword [0x7a8644], 0x41f7d8
mov dword [0x7a864c], 0x41fb90
mov dword [0x7a8654], 0x41ff14
mov dword [0x7a865c], 0x4202cc
mov dword [0x7a8664], 0x420684
mov dword [0x7a866c], 0x420a3c
mov dword [0x7a8674], 0x420dc0
mov dword [0x7a85e0], 0x41d058
mov dword [0x7a85e8], 0x41d234
mov dword [0x7a85f0], 0x41d424
mov dword [0x7a85f8], 0x41d774
mov dword [0x7a8600], 0x41db2c
mov dword [0x7a8608], 0x41deb0
mov dword [0x7a8610], 0x41e5c0
mov dword [0x7a8618], 0x41e944
mov dword [0x7a8620], 0x41e22c
mov dword [0x7a8628], 0x41ecfc
mov dword [0x7a8630], 0x41f0b4
mov dword [0x7a8638], 0x41f46c
mov dword [0x7a8640], 0x41f824
mov dword [0x7a8648], 0x41fba8
mov dword [0x7a8650], 0x41ff60
mov dword [0x7a8658], 0x420318
mov dword [0x7a8660], 0x4206d0
mov dword [0x7a8668], 0x420a54
mov dword [0x7a8670], 0x420e0c
mov dword [0x7a8684], 0x41d074
mov dword [0x7a868c], 0x41d250
mov dword [0x7a8694], 0x41d474
mov dword [0x7a869c], 0x41d7cc
mov dword [0x7a86a4], 0x41db84
mov dword [0x7a86ac], 0x41decc
mov dword [0x7a86b4], 0x41e618
mov dword [0x7a86bc], 0x41e99c
mov dword [0x7a86c4], 0x41e294
mov dword [0x7a86cc], 0x41ed54
mov dword [0x7a86d4], 0x41f10c
mov dword [0x7a86dc], 0x41f4c4
mov dword [0x7a86e4], 0x41f87c
mov dword [0x7a86ec], 0x41fc00
mov dword [0x7a86f4], 0x41ffb8
mov dword [0x7a86fc], 0x420370
mov dword [0x7a8704], 0x420728
mov dword [0x7a870c], 0x420aac
mov dword [0x7a8714], 0x420e64
mov dword [0x7a8680], 0x41d08c
mov dword [0x7a8688], 0x41d26c
mov dword [0x7a8690], 0x41d51c
mov dword [0x7a8698], 0x41d880
mov dword [0x7a86a0], 0x41dc38
mov dword [0x7a86a8], 0x41df80
mov dword [0x7a86b0], 0x41e6cc
mov dword [0x7a86b8], 0x41ea50
mov dword [0x7a86c0], 0x41e348
mov dword [0x7a86c8], 0x41ee08
mov dword [0x7a86d0], 0x41f1c0
mov dword [0x7a86d8], 0x41f578
mov dword [0x7a86e0], 0x41f930
mov dword [0x7a86e8], 0x41fcb4
mov dword [0x7a86f0], 0x42006c
mov dword [0x7a86f8], 0x420424
mov dword [0x7a8700], 0x4207dc
mov dword [0x7a8708], 0x420b60
mov dword [0x7a8710], 0x420f18
mov dword [0x7a8720], 0x41d0cc
mov dword [0x7a8728], 0x41d288
mov dword [0x7a8730], 0x41d5cc
mov dword [0x7a8738], 0x41d944
mov dword [0x7a8740], 0x41dcfc
mov dword [0x7a8748], 0x41e044
mov dword [0x7a8750], 0x41e790
mov dword [0x7a8758], 0x41eb14
mov dword [0x7a8760], 0x41e40c
mov dword [0x7a8768], 0x41eecc
mov dword [0x7a8770], 0x41f284
mov dword [0x7a8778], 0x41f63c
mov dword [0x7a8780], 0x41f9f4
mov dword [0x7a8788], 0x41fd78
mov dword [0x7a8790], 0x420130
mov dword [0x7a8798], 0x4204e8
mov dword [0x7a87a0], 0x4208a0
mov dword [0x7a87a8], 0x420c24
mov dword [0x7a87b0], 0x420fdc
mov dword [0x7a8724], 0x41d0a8
mov dword [0x7a872c], 0x41d288
mov dword [0x7a8734], 0x41d5cc
mov dword [0x7a873c], 0x41d944
mov dword [0x7a8744], 0x41dcfc
mov dword [0x7a874c], 0x41e044
mov dword [0x7a8754], 0x41e790
mov dword [0x7a875c], 0x41eb14
mov dword [0x7a8764], 0x41e40c
mov dword [0x7a876c], 0x41eecc
mov dword [0x7a8774], 0x41f284
mov dword [0x7a877c], 0x41f63c
mov dword [0x7a8784], 0x41f9f4
mov dword [0x7a878c], 0x41fd78
mov dword [0x7a8794], 0x420130
mov dword [0x7a879c], 0x4204e8
mov dword [0x7a87a4], 0x4208a0
mov dword [0x7a87ac], 0x420c24
mov dword [0x7a87b4], 0x420fdc
mov dword [0x7a87c0], 0x41d170
mov dword [0x7a87c8], 0x41d344
mov dword [0x7a87d0], 0x41d690
mov dword [0x7a87d8], 0x41da0c
mov dword [0x7a87e0], 0x41ddc4
mov dword [0x7a87e8], 0x41e10c
mov dword [0x7a87f0], 0x41e858
mov dword [0x7a87f8], 0x41ebdc
mov dword [0x7a8800], 0x41e4d4
mov dword [0x7a8808], 0x41ef94
mov dword [0x7a8810], 0x41f34c
mov dword [0x7a8818], 0x41f704
mov dword [0x7a8820], 0x41fabc
mov dword [0x7a8828], 0x41fe40
mov dword [0x7a8830], 0x4201f8
mov dword [0x7a8838], 0x4205b0
mov dword [0x7a8840], 0x420968
mov dword [0x7a8848], 0x420cec
mov dword [0x7a8850], 0x4210a4
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 0x45b2ed
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x45b2e3
xor eax, eax
mov byte [eax + 0x686ce0], al
jmp 0x45b326
mov byte [eax + 0x686ce0], 0xff
inc eax
cmp eax, 0x1ff
jge 0x45b337
cmp eax, 0xff
jg 0x45b31f
jmp 0x45b317
xor eax, eax
xor edx, edx
jmp 0x45b343
lea edx, [eax - 0xff]
mov byte [eax + 0x686ee0], dl
inc eax
cmp eax, 0x1ff
jge 0x45b35a
cmp eax, 0xff
jge 0x45b33d
jmp 0x45b339
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 0x45b362
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b35e
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x45b3ac
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x45b3b8
mov eax, 0xff
mov byte [ecx + esi + 0x6971e0], al
inc esi
cmp esi, 0x100
jge 0x45b3ce
test esi, esi
jg 0x45b3a7
jmp 0x45b3a3
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x45b39a
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 0x45b3e7
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x45b3e1
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45b427
mov ebx, eax
jmp 0x45b429
mov ebx, ecx
mov byte [edx + eax + 0x767ee0], bl
inc eax
cmp eax, 0x100
jl 0x45b41f
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b41d
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45b455
mov ebx, ecx
jmp 0x45b457
mov ebx, eax
mov byte [edx + eax + 0x777fe0], bl
inc eax
cmp eax, 0x100
jl 0x45b44d
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b44b
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x45b485
neg ebx
mov byte [edx + eax + 0x6b73e0], bl
inc eax
cmp eax, 0x100
jl 0x45b47b
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b479
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 0x45b4b1
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x45b4a7
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 0x45b541
cmp ecx, 0x80
jl 0x45b4fc
jle 0x45b536
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x62f0de]
sub eax, edi
dec eax
movzx eax, al
jmp 0x45b507
jne 0x45b507
mov eax, ebp
and eax, 0xff
jmp 0x45b507
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x45b4f5
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x45b56c
mov eax, 0xff
mov byte [ebx + esi + 0x6d75e0], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x45b55b
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x45b557
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 0x45b5ae
xor eax, eax
mov byte [ecx + ebp + 0x6e76e0], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x45b59c
mov ecx, esi
cmp esi, 0x100
jl 0x45b58f
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x45b5ea
mov eax, 0xff
jmp 0x45b5f0
test eax, eax
jge 0x45b5f0
xor eax, eax
mov byte [edx + ebp + 0x737be0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x45b5d6
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45b5d2
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 0x45b643
movsx eax, word [esi + ebx*2 + 0x62ecde]
jmp 0x45b65c
jle 0x45b658
movsx eax, word [esi + edx*2 + 0x62f0de]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x45b65c
jne 0x45b65c
mov eax, edi
mov byte [ecx + edi + 0x6f77e0], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x45b631
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 0x45b625
xor edx, edx
fld qword [0x58de68]
cmp edx, 0x80
jl 0x45b6ae
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x45b73a
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 0x45b713
mov eax, 0xff
jmp 0x45b719
test eax, eax
jge 0x45b719
xor eax, eax
mov byte [ecx + ebx + 0x7078e0], al
inc ebx
cmp ebx, 0x100
jge 0x45b7fd
cmp edx, 0x80
jl 0x45b6b5
cmp ebx, 0x20
jg 0x45b7a8
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 0x45b705
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 0x45b705
inc edx
cmp edx, 0x100
jl 0x45b69a
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 0x45b854
test ecx, ecx
jne 0x45b843
xor eax, eax
jmp 0x45b875
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x45b875
xor eax, eax
jmp 0x45b875
cmp ecx, 0xff
je 0x45b95d
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x45b875
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 0x45b833
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 0x45b81d
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x45b8dd
mov eax, 0xff
jmp 0x45b8e3
test eax, eax
jge 0x45b8e3
xor eax, eax
mov byte [ecx + ebp + 0x727ae0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x45b8c9
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x45b8c5
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x45b926
cmp edi, ebx
jle 0x45b922
mov eax, ebx
jmp 0x45b930
mov eax, edi
jmp 0x45b930
cmp edi, ecx
jle 0x45b92e
mov eax, edi
jmp 0x45b930
mov eax, ecx
mov byte [edx + edi + 0x757de0], al
inc edi
cmp edi, 0x100
jl 0x45b912
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x45b910
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x45b875