Function at 0x462194
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x793444], 0x413694
mov dword [0x79344c], 0x413870
mov dword [0x793454], 0x413a60
mov dword [0x79345c], 0x413db0
mov dword [0x793464], 0x414134
mov dword [0x79346c], 0x4144ec
mov dword [0x793474], 0x414bfc
mov dword [0x79347c], 0x414f80
mov dword [0x793484], 0x414834
mov dword [0x79348c], 0x415304
mov dword [0x793494], 0x4156bc
mov dword [0x79349c], 0x415a74
mov dword [0x7934a4], 0x415e2c
mov dword [0x7934ac], 0x4161e4
mov dword [0x7934b4], 0x416568
mov dword [0x7934bc], 0x416920
mov dword [0x7934c4], 0x416cd8
mov dword [0x7934cc], 0x417090
mov dword [0x7934d4], 0x417414
mov dword [0x793440], 0x4136ac
mov dword [0x793448], 0x413888
mov dword [0x793450], 0x413a78
mov dword [0x793458], 0x413dc8
mov dword [0x793460], 0x414180
mov dword [0x793468], 0x414504
mov dword [0x793470], 0x414c14
mov dword [0x793478], 0x414f98
mov dword [0x793480], 0x414880
mov dword [0x793488], 0x415350
mov dword [0x793490], 0x415708
mov dword [0x793498], 0x415ac0
mov dword [0x7934a0], 0x415e78
mov dword [0x7934a8], 0x4161fc
mov dword [0x7934b0], 0x4165b4
mov dword [0x7934b8], 0x41696c
mov dword [0x7934c0], 0x416d24
mov dword [0x7934c8], 0x4170a8
mov dword [0x7934d0], 0x417460
mov dword [0x7934e4], 0x4136c8
mov dword [0x7934ec], 0x4138a4
mov dword [0x7934f4], 0x413ac8
mov dword [0x7934fc], 0x413e20
mov dword [0x793504], 0x4141d8
mov dword [0x79350c], 0x414520
mov dword [0x793514], 0x414c6c
mov dword [0x79351c], 0x414ff0
mov dword [0x793524], 0x4148e8
mov dword [0x79352c], 0x4153a8
mov dword [0x793534], 0x415760
mov dword [0x79353c], 0x415b18
mov dword [0x793544], 0x415ed0
mov dword [0x79354c], 0x416254
mov dword [0x793554], 0x41660c
mov dword [0x79355c], 0x4169c4
mov dword [0x793564], 0x416d7c
mov dword [0x79356c], 0x417100
mov dword [0x793574], 0x4174b8
mov dword [0x7934e0], 0x4136e0
mov dword [0x7934e8], 0x4138c0
mov dword [0x7934f0], 0x413b70
mov dword [0x7934f8], 0x413ed4
mov dword [0x793500], 0x41428c
mov dword [0x793508], 0x4145d4
mov dword [0x793510], 0x414d20
mov dword [0x793518], 0x4150a4
mov dword [0x793520], 0x41499c
mov dword [0x793528], 0x41545c
mov dword [0x793530], 0x415814
mov dword [0x793538], 0x415bcc
mov dword [0x793540], 0x415f84
mov dword [0x793548], 0x416308
mov dword [0x793550], 0x4166c0
mov dword [0x793558], 0x416a78
mov dword [0x793560], 0x416e30
mov dword [0x793568], 0x4171b4
mov dword [0x793570], 0x41756c
mov dword [0x793580], 0x413720
mov dword [0x793588], 0x4138dc
mov dword [0x793590], 0x413c20
mov dword [0x793598], 0x413f98
mov dword [0x7935a0], 0x414350
mov dword [0x7935a8], 0x414698
mov dword [0x7935b0], 0x414de4
mov dword [0x7935b8], 0x415168
mov dword [0x7935c0], 0x414a60
mov dword [0x7935c8], 0x415520
mov dword [0x7935d0], 0x4158d8
mov dword [0x7935d8], 0x415c90
mov dword [0x7935e0], 0x416048
mov dword [0x7935e8], 0x4163cc
mov dword [0x7935f0], 0x416784
mov dword [0x7935f8], 0x416b3c
mov dword [0x793600], 0x416ef4
mov dword [0x793608], 0x417278
mov dword [0x793610], 0x417630
mov dword [0x793584], 0x4136fc
mov dword [0x79358c], 0x4138dc
mov dword [0x793594], 0x413c20
mov dword [0x79359c], 0x413f98
mov dword [0x7935a4], 0x414350
mov dword [0x7935ac], 0x414698
mov dword [0x7935b4], 0x414de4
mov dword [0x7935bc], 0x415168
mov dword [0x7935c4], 0x414a60
mov dword [0x7935cc], 0x415520
mov dword [0x7935d4], 0x4158d8
mov dword [0x7935dc], 0x415c90
mov dword [0x7935e4], 0x416048
mov dword [0x7935ec], 0x4163cc
mov dword [0x7935f4], 0x416784
mov dword [0x7935fc], 0x416b3c
mov dword [0x793604], 0x416ef4
mov dword [0x79360c], 0x417278
mov dword [0x793614], 0x417630
mov dword [0x793620], 0x4137c4
mov dword [0x793628], 0x413998
mov dword [0x793630], 0x413ce4
mov dword [0x793638], 0x414060
mov dword [0x793640], 0x414418
mov dword [0x793648], 0x414760
mov dword [0x793650], 0x414eac
mov dword [0x793658], 0x415230
mov dword [0x793660], 0x414b28
mov dword [0x793668], 0x4155e8
mov dword [0x793670], 0x4159a0
mov dword [0x793678], 0x415d58
mov dword [0x793680], 0x416110
mov dword [0x793688], 0x416494
mov dword [0x793690], 0x41684c
mov dword [0x793698], 0x416c04
mov dword [0x7936a0], 0x416fbc
mov dword [0x7936a8], 0x417340
mov dword [0x7936b0], 0x4176f8
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 + 0x773340], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x4626e1
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x4626d7
xor eax, eax
mov byte [eax + 0x671b40], al
jmp 0x46271a
mov byte [eax + 0x671b40], 0xff
inc eax
cmp eax, 0x1ff
jge 0x46272b
cmp eax, 0xff
jg 0x462713
jmp 0x46270b
xor eax, eax
xor edx, edx
jmp 0x462737
lea edx, [eax - 0xff]
mov byte [eax + 0x671d40], dl
inc eax
cmp eax, 0x1ff
jge 0x46274e
cmp eax, 0xff
jge 0x462731
jmp 0x46272d
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 + 0x671f40], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x462756
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462752
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x4627a0
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x4627ac
mov eax, 0xff
mov byte [ecx + esi + 0x682040], al
inc esi
cmp esi, 0x100
jge 0x4627c2
test esi, esi
jg 0x46279b
jmp 0x462797
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x46278e
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x619abe]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x692140], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x4627db
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x4627d5
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x46281b
mov ebx, eax
jmp 0x46281d
mov ebx, ecx
mov byte [edx + eax + 0x752d40], bl
inc eax
cmp eax, 0x100
jl 0x462813
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462811
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462849
mov ebx, ecx
jmp 0x46284b
mov ebx, eax
mov byte [edx + eax + 0x762e40], bl
inc eax
cmp eax, 0x100
jl 0x462841
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x46283f
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x462879
neg ebx
mov byte [edx + eax + 0x6a2240], bl
inc eax
cmp eax, 0x100
jl 0x46286f
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x46286d
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 + 0x6b2340], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x4628a5
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x46289b
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x619abe]
movzx eax, al
mov byte [ebx + ecx + 0x732b40], al
inc ecx
cmp ecx, 0x100
jge 0x462935
cmp ecx, 0x80
jl 0x4628f0
jle 0x46292a
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x619ebe]
sub eax, edi
dec eax
movzx eax, al
jmp 0x4628fb
jne 0x4628fb
mov eax, ebp
and eax, 0xff
jmp 0x4628fb
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x4628e9
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x462960
mov eax, 0xff
mov byte [ebx + esi + 0x6c2440], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x46294f
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x46294b
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 0x4629a2
xor eax, eax
mov byte [ecx + ebp + 0x6d2540], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x462990
mov ecx, esi
cmp esi, 0x100
jl 0x462983
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x4629de
mov eax, 0xff
jmp 0x4629e4
test eax, eax
jge 0x4629e4
xor eax, eax
mov byte [edx + ebp + 0x722a40], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x4629ca
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x4629c6
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 0x462a37
movsx eax, word [esi + ebx*2 + 0x619abe]
jmp 0x462a50
jle 0x462a4c
movsx eax, word [esi + edx*2 + 0x619ebe]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x462a50
jne 0x462a50
mov eax, edi
mov byte [ecx + edi + 0x6e2640], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x462a25
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 0x462a19
xor edx, edx
fld qword [0x57ad58]
cmp edx, 0x80
jl 0x462aa2
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x462b2e
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 0x462b07
mov eax, 0xff
jmp 0x462b0d
test eax, eax
jge 0x462b0d
xor eax, eax
mov byte [ecx + ebx + 0x6f2740], al
inc ebx
cmp ebx, 0x100
jge 0x462bf1
cmp edx, 0x80
jl 0x462aa9
cmp ebx, 0x20
jg 0x462b9c
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 0x462af9
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 0x462af9
inc edx
cmp edx, 0x100
jl 0x462a8e
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 0x462c48
test ecx, ecx
jne 0x462c37
xor eax, eax
jmp 0x462c69
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x462c69
xor eax, eax
jmp 0x462c69
cmp ecx, 0xff
je 0x462d51
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x462c69
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x702840], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x462c27
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 0x462c11
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x462cd1
mov eax, 0xff
jmp 0x462cd7
test eax, eax
jge 0x462cd7
xor eax, eax
mov byte [ecx + ebp + 0x712940], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x462cbd
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x462cb9
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x462d1a
cmp edi, ebx
jle 0x462d16
mov eax, ebx
jmp 0x462d24
mov eax, edi
jmp 0x462d24
cmp edi, ecx
jle 0x462d22
mov eax, edi
jmp 0x462d24
mov eax, ecx
mov byte [edx + edi + 0x742c40], al
inc edi
cmp edi, 0x100
jl 0x462d06
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x462d04
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x462c69