Function at 0x4541e4
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x784de4], 0x414f64
mov dword [0x784dec], 0x415140
mov dword [0x784df4], 0x415330
mov dword [0x784dfc], 0x415680
mov dword [0x784e04], 0x415a04
mov dword [0x784e0c], 0x415dbc
mov dword [0x784e14], 0x4164cc
mov dword [0x784e1c], 0x416850
mov dword [0x784e24], 0x416104
mov dword [0x784e2c], 0x416bd4
mov dword [0x784e34], 0x416f8c
mov dword [0x784e3c], 0x417344
mov dword [0x784e44], 0x4176fc
mov dword [0x784e4c], 0x417ab4
mov dword [0x784e54], 0x417e38
mov dword [0x784e5c], 0x4181f0
mov dword [0x784e64], 0x4185a8
mov dword [0x784e6c], 0x418960
mov dword [0x784e74], 0x418ce4
mov dword [0x784de0], 0x414f7c
mov dword [0x784de8], 0x415158
mov dword [0x784df0], 0x415348
mov dword [0x784df8], 0x415698
mov dword [0x784e00], 0x415a50
mov dword [0x784e08], 0x415dd4
mov dword [0x784e10], 0x4164e4
mov dword [0x784e18], 0x416868
mov dword [0x784e20], 0x416150
mov dword [0x784e28], 0x416c20
mov dword [0x784e30], 0x416fd8
mov dword [0x784e38], 0x417390
mov dword [0x784e40], 0x417748
mov dword [0x784e48], 0x417acc
mov dword [0x784e50], 0x417e84
mov dword [0x784e58], 0x41823c
mov dword [0x784e60], 0x4185f4
mov dword [0x784e68], 0x418978
mov dword [0x784e70], 0x418d30
mov dword [0x784e84], 0x414f98
mov dword [0x784e8c], 0x415174
mov dword [0x784e94], 0x415398
mov dword [0x784e9c], 0x4156f0
mov dword [0x784ea4], 0x415aa8
mov dword [0x784eac], 0x415df0
mov dword [0x784eb4], 0x41653c
mov dword [0x784ebc], 0x4168c0
mov dword [0x784ec4], 0x4161b8
mov dword [0x784ecc], 0x416c78
mov dword [0x784ed4], 0x417030
mov dword [0x784edc], 0x4173e8
mov dword [0x784ee4], 0x4177a0
mov dword [0x784eec], 0x417b24
mov dword [0x784ef4], 0x417edc
mov dword [0x784efc], 0x418294
mov dword [0x784f04], 0x41864c
mov dword [0x784f0c], 0x4189d0
mov dword [0x784f14], 0x418d88
mov dword [0x784e80], 0x414fb0
mov dword [0x784e88], 0x415190
mov dword [0x784e90], 0x415440
mov dword [0x784e98], 0x4157a4
mov dword [0x784ea0], 0x415b5c
mov dword [0x784ea8], 0x415ea4
mov dword [0x784eb0], 0x4165f0
mov dword [0x784eb8], 0x416974
mov dword [0x784ec0], 0x41626c
mov dword [0x784ec8], 0x416d2c
mov dword [0x784ed0], 0x4170e4
mov dword [0x784ed8], 0x41749c
mov dword [0x784ee0], 0x417854
mov dword [0x784ee8], 0x417bd8
mov dword [0x784ef0], 0x417f90
mov dword [0x784ef8], 0x418348
mov dword [0x784f00], 0x418700
mov dword [0x784f08], 0x418a84
mov dword [0x784f10], 0x418e3c
mov dword [0x784f20], 0x414ff0
mov dword [0x784f28], 0x4151ac
mov dword [0x784f30], 0x4154f0
mov dword [0x784f38], 0x415868
mov dword [0x784f40], 0x415c20
mov dword [0x784f48], 0x415f68
mov dword [0x784f50], 0x4166b4
mov dword [0x784f58], 0x416a38
mov dword [0x784f60], 0x416330
mov dword [0x784f68], 0x416df0
mov dword [0x784f70], 0x4171a8
mov dword [0x784f78], 0x417560
mov dword [0x784f80], 0x417918
mov dword [0x784f88], 0x417c9c
mov dword [0x784f90], 0x418054
mov dword [0x784f98], 0x41840c
mov dword [0x784fa0], 0x4187c4
mov dword [0x784fa8], 0x418b48
mov dword [0x784fb0], 0x418f00
mov dword [0x784f24], 0x414fcc
mov dword [0x784f2c], 0x4151ac
mov dword [0x784f34], 0x4154f0
mov dword [0x784f3c], 0x415868
mov dword [0x784f44], 0x415c20
mov dword [0x784f4c], 0x415f68
mov dword [0x784f54], 0x4166b4
mov dword [0x784f5c], 0x416a38
mov dword [0x784f64], 0x416330
mov dword [0x784f6c], 0x416df0
mov dword [0x784f74], 0x4171a8
mov dword [0x784f7c], 0x417560
mov dword [0x784f84], 0x417918
mov dword [0x784f8c], 0x417c9c
mov dword [0x784f94], 0x418054
mov dword [0x784f9c], 0x41840c
mov dword [0x784fa4], 0x4187c4
mov dword [0x784fac], 0x418b48
mov dword [0x784fb4], 0x418f00
mov dword [0x784fc0], 0x415094
mov dword [0x784fc8], 0x415268
mov dword [0x784fd0], 0x4155b4
mov dword [0x784fd8], 0x415930
mov dword [0x784fe0], 0x415ce8
mov dword [0x784fe8], 0x416030
mov dword [0x784ff0], 0x41677c
mov dword [0x784ff8], 0x416b00
mov dword [0x785000], 0x4163f8
mov dword [0x785008], 0x416eb8
mov dword [0x785010], 0x417270
mov dword [0x785018], 0x417628
mov dword [0x785020], 0x4179e0
mov dword [0x785028], 0x417d64
mov dword [0x785030], 0x41811c
mov dword [0x785038], 0x4184d4
mov dword [0x785040], 0x41888c
mov dword [0x785048], 0x418c10
mov dword [0x785050], 0x418fc8
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 + 0x764ce0], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x454731
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x454727
xor eax, eax
mov byte [eax + 0x6634e0], al
jmp 0x45476a
mov byte [eax + 0x6634e0], 0xff
inc eax
cmp eax, 0x1ff
jge 0x45477b
cmp eax, 0xff
jg 0x454763
jmp 0x45475b
xor eax, eax
xor edx, edx
jmp 0x454787
lea edx, [eax - 0xff]
mov byte [eax + 0x6636e0], dl
inc eax
cmp eax, 0x1ff
jge 0x45479e
cmp eax, 0xff
jge 0x454781
jmp 0x45477d
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 + 0x6638e0], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x4547a6
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x4547a2
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x4547f0
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x4547fc
mov eax, 0xff
mov byte [ecx + esi + 0x6739e0], al
inc esi
cmp esi, 0x100
jge 0x454812
test esi, esi
jg 0x4547eb
jmp 0x4547e7
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x4547de
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x60c2fe]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x683ae0], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x45482b
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x454825
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45486b
mov ebx, eax
jmp 0x45486d
mov ebx, ecx
mov byte [edx + eax + 0x7446e0], bl
inc eax
cmp eax, 0x100
jl 0x454863
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x454861
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x454899
mov ebx, ecx
jmp 0x45489b
mov ebx, eax
mov byte [edx + eax + 0x7547e0], bl
inc eax
cmp eax, 0x100
jl 0x454891
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45488f
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x4548c9
neg ebx
mov byte [edx + eax + 0x693be0], bl
inc eax
cmp eax, 0x100
jl 0x4548bf
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x4548bd
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 + 0x6a3ce0], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x4548f5
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x4548eb
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x60c2fe]
movzx eax, al
mov byte [ebx + ecx + 0x7244e0], al
inc ecx
cmp ecx, 0x100
jge 0x454985
cmp ecx, 0x80
jl 0x454940
jle 0x45497a
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x60c6fe]
sub eax, edi
dec eax
movzx eax, al
jmp 0x45494b
jne 0x45494b
mov eax, ebp
and eax, 0xff
jmp 0x45494b
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x454939
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x4549b0
mov eax, 0xff
mov byte [ebx + esi + 0x6b3de0], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x45499f
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x45499b
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 0x4549f2
xor eax, eax
mov byte [ecx + ebp + 0x6c3ee0], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x4549e0
mov ecx, esi
cmp esi, 0x100
jl 0x4549d3
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x454a2e
mov eax, 0xff
jmp 0x454a34
test eax, eax
jge 0x454a34
xor eax, eax
mov byte [edx + ebp + 0x7143e0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x454a1a
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x454a16
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 0x454a87
movsx eax, word [esi + ebx*2 + 0x60c2fe]
jmp 0x454aa0
jle 0x454a9c
movsx eax, word [esi + edx*2 + 0x60c6fe]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x454aa0
jne 0x454aa0
mov eax, edi
mov byte [ecx + edi + 0x6d3fe0], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x454a75
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 0x454a69
xor edx, edx
fld qword [0x5705a8]
cmp edx, 0x80
jl 0x454af2
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x454b7e
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 0x454b57
mov eax, 0xff
jmp 0x454b5d
test eax, eax
jge 0x454b5d
xor eax, eax
mov byte [ecx + ebx + 0x6e40e0], al
inc ebx
cmp ebx, 0x100
jge 0x454c41
cmp edx, 0x80
jl 0x454af9
cmp ebx, 0x20
jg 0x454bec
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 0x454b49
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 0x454b49
inc edx
cmp edx, 0x100
jl 0x454ade
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 0x454c98
test ecx, ecx
jne 0x454c87
xor eax, eax
jmp 0x454cb9
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x454cb9
xor eax, eax
jmp 0x454cb9
cmp ecx, 0xff
je 0x454da1
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x454cb9
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x6f41e0], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x454c77
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 0x454c61
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x454d21
mov eax, 0xff
jmp 0x454d27
test eax, eax
jge 0x454d27
xor eax, eax
mov byte [ecx + ebp + 0x7042e0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x454d0d
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x454d09
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x454d6a
cmp edi, ebx
jle 0x454d66
mov eax, ebx
jmp 0x454d74
mov eax, edi
jmp 0x454d74
cmp edi, ecx
jle 0x454d72
mov eax, edi
jmp 0x454d74
mov eax, ecx
mov byte [edx + edi + 0x7345e0], al
inc edi
cmp edi, 0x100
jl 0x454d56
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x454d54
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x454cb9