Function at 0x462584
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x78afc4], 0x412d00
mov dword [0x78afcc], 0x412edc
mov dword [0x78afd4], 0x4130cc
mov dword [0x78afdc], 0x41341c
mov dword [0x78afe4], 0x4137a0
mov dword [0x78afec], 0x413b58
mov dword [0x78aff4], 0x414268
mov dword [0x78affc], 0x4145ec
mov dword [0x78b004], 0x413ea0
mov dword [0x78b00c], 0x414970
mov dword [0x78b014], 0x414d28
mov dword [0x78b01c], 0x4150e0
mov dword [0x78b024], 0x415498
mov dword [0x78b02c], 0x415850
mov dword [0x78b034], 0x415bd4
mov dword [0x78b03c], 0x415f8c
mov dword [0x78b044], 0x416344
mov dword [0x78b04c], 0x4166fc
mov dword [0x78b054], 0x416a80
mov dword [0x78afc0], 0x412d18
mov dword [0x78afc8], 0x412ef4
mov dword [0x78afd0], 0x4130e4
mov dword [0x78afd8], 0x413434
mov dword [0x78afe0], 0x4137ec
mov dword [0x78afe8], 0x413b70
mov dword [0x78aff0], 0x414280
mov dword [0x78aff8], 0x414604
mov dword [0x78b000], 0x413eec
mov dword [0x78b008], 0x4149bc
mov dword [0x78b010], 0x414d74
mov dword [0x78b018], 0x41512c
mov dword [0x78b020], 0x4154e4
mov dword [0x78b028], 0x415868
mov dword [0x78b030], 0x415c20
mov dword [0x78b038], 0x415fd8
mov dword [0x78b040], 0x416390
mov dword [0x78b048], 0x416714
mov dword [0x78b050], 0x416acc
mov dword [0x78b064], 0x412d34
mov dword [0x78b06c], 0x412f10
mov dword [0x78b074], 0x413134
mov dword [0x78b07c], 0x41348c
mov dword [0x78b084], 0x413844
mov dword [0x78b08c], 0x413b8c
mov dword [0x78b094], 0x4142d8
mov dword [0x78b09c], 0x41465c
mov dword [0x78b0a4], 0x413f54
mov dword [0x78b0ac], 0x414a14
mov dword [0x78b0b4], 0x414dcc
mov dword [0x78b0bc], 0x415184
mov dword [0x78b0c4], 0x41553c
mov dword [0x78b0cc], 0x4158c0
mov dword [0x78b0d4], 0x415c78
mov dword [0x78b0dc], 0x416030
mov dword [0x78b0e4], 0x4163e8
mov dword [0x78b0ec], 0x41676c
mov dword [0x78b0f4], 0x416b24
mov dword [0x78b060], 0x412d4c
mov dword [0x78b068], 0x412f2c
mov dword [0x78b070], 0x4131dc
mov dword [0x78b078], 0x413540
mov dword [0x78b080], 0x4138f8
mov dword [0x78b088], 0x413c40
mov dword [0x78b090], 0x41438c
mov dword [0x78b098], 0x414710
mov dword [0x78b0a0], 0x414008
mov dword [0x78b0a8], 0x414ac8
mov dword [0x78b0b0], 0x414e80
mov dword [0x78b0b8], 0x415238
mov dword [0x78b0c0], 0x4155f0
mov dword [0x78b0c8], 0x415974
mov dword [0x78b0d0], 0x415d2c
mov dword [0x78b0d8], 0x4160e4
mov dword [0x78b0e0], 0x41649c
mov dword [0x78b0e8], 0x416820
mov dword [0x78b0f0], 0x416bd8
mov dword [0x78b100], 0x412d8c
mov dword [0x78b108], 0x412f48
mov dword [0x78b110], 0x41328c
mov dword [0x78b118], 0x413604
mov dword [0x78b120], 0x4139bc
mov dword [0x78b128], 0x413d04
mov dword [0x78b130], 0x414450
mov dword [0x78b138], 0x4147d4
mov dword [0x78b140], 0x4140cc
mov dword [0x78b148], 0x414b8c
mov dword [0x78b150], 0x414f44
mov dword [0x78b158], 0x4152fc
mov dword [0x78b160], 0x4156b4
mov dword [0x78b168], 0x415a38
mov dword [0x78b170], 0x415df0
mov dword [0x78b178], 0x4161a8
mov dword [0x78b180], 0x416560
mov dword [0x78b188], 0x4168e4
mov dword [0x78b190], 0x416c9c
mov dword [0x78b104], 0x412d68
mov dword [0x78b10c], 0x412f48
mov dword [0x78b114], 0x41328c
mov dword [0x78b11c], 0x413604
mov dword [0x78b124], 0x4139bc
mov dword [0x78b12c], 0x413d04
mov dword [0x78b134], 0x414450
mov dword [0x78b13c], 0x4147d4
mov dword [0x78b144], 0x4140cc
mov dword [0x78b14c], 0x414b8c
mov dword [0x78b154], 0x414f44
mov dword [0x78b15c], 0x4152fc
mov dword [0x78b164], 0x4156b4
mov dword [0x78b16c], 0x415a38
mov dword [0x78b174], 0x415df0
mov dword [0x78b17c], 0x4161a8
mov dword [0x78b184], 0x416560
mov dword [0x78b18c], 0x4168e4
mov dword [0x78b194], 0x416c9c
mov dword [0x78b1a0], 0x412e30
mov dword [0x78b1a8], 0x413004
mov dword [0x78b1b0], 0x413350
mov dword [0x78b1b8], 0x4136cc
mov dword [0x78b1c0], 0x413a84
mov dword [0x78b1c8], 0x413dcc
mov dword [0x78b1d0], 0x414518
mov dword [0x78b1d8], 0x41489c
mov dword [0x78b1e0], 0x414194
mov dword [0x78b1e8], 0x414c54
mov dword [0x78b1f0], 0x41500c
mov dword [0x78b1f8], 0x4153c4
mov dword [0x78b200], 0x41577c
mov dword [0x78b208], 0x415b00
mov dword [0x78b210], 0x415eb8
mov dword [0x78b218], 0x416270
mov dword [0x78b220], 0x416628
mov dword [0x78b228], 0x4169ac
mov dword [0x78b230], 0x416d64
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 + 0x76aec0], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x462ad1
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x462ac7
xor eax, eax
mov byte [eax + 0x6696c0], al
jmp 0x462b0a
mov byte [eax + 0x6696c0], 0xff
inc eax
cmp eax, 0x1ff
jge 0x462b1b
cmp eax, 0xff
jg 0x462b03
jmp 0x462afb
xor eax, eax
xor edx, edx
jmp 0x462b27
lea edx, [eax - 0xff]
mov byte [eax + 0x6698c0], dl
inc eax
cmp eax, 0x1ff
jge 0x462b3e
cmp eax, 0xff
jge 0x462b21
jmp 0x462b1d
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 + 0x669ac0], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x462b46
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462b42
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x462b90
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x462b9c
mov eax, 0xff
mov byte [ecx + esi + 0x679bc0], al
inc esi
cmp esi, 0x100
jge 0x462bb2
test esi, esi
jg 0x462b8b
jmp 0x462b87
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x462b7e
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x6115be]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x689cc0], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x462bcb
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x462bc5
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462c0b
mov ebx, eax
jmp 0x462c0d
mov ebx, ecx
mov byte [edx + eax + 0x74a8c0], bl
inc eax
cmp eax, 0x100
jl 0x462c03
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462c01
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462c39
mov ebx, ecx
jmp 0x462c3b
mov ebx, eax
mov byte [edx + eax + 0x75a9c0], bl
inc eax
cmp eax, 0x100
jl 0x462c31
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462c2f
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x462c69
neg ebx
mov byte [edx + eax + 0x699dc0], bl
inc eax
cmp eax, 0x100
jl 0x462c5f
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462c5d
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 + 0x6a9ec0], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x462c95
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x462c8b
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x6115be]
movzx eax, al
mov byte [ebx + ecx + 0x72a6c0], al
inc ecx
cmp ecx, 0x100
jge 0x462d25
cmp ecx, 0x80
jl 0x462ce0
jle 0x462d1a
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x6119be]
sub eax, edi
dec eax
movzx eax, al
jmp 0x462ceb
jne 0x462ceb
mov eax, ebp
and eax, 0xff
jmp 0x462ceb
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x462cd9
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x462d50
mov eax, 0xff
mov byte [ebx + esi + 0x6b9fc0], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x462d3f
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x462d3b
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 0x462d92
xor eax, eax
mov byte [ecx + ebp + 0x6ca0c0], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x462d80
mov ecx, esi
cmp esi, 0x100
jl 0x462d73
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x462dce
mov eax, 0xff
jmp 0x462dd4
test eax, eax
jge 0x462dd4
xor eax, eax
mov byte [edx + ebp + 0x71a5c0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x462dba
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462db6
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 0x462e27
movsx eax, word [esi + ebx*2 + 0x6115be]
jmp 0x462e40
jle 0x462e3c
movsx eax, word [esi + edx*2 + 0x6119be]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x462e40
jne 0x462e40
mov eax, edi
mov byte [ecx + edi + 0x6da1c0], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x462e15
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 0x462e09
xor edx, edx
fld qword [0x57ad70]
cmp edx, 0x80
jl 0x462e92
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x462f1e
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 0x462ef7
mov eax, 0xff
jmp 0x462efd
test eax, eax
jge 0x462efd
xor eax, eax
mov byte [ecx + ebx + 0x6ea2c0], al
inc ebx
cmp ebx, 0x100
jge 0x462fe1
cmp edx, 0x80
jl 0x462e99
cmp ebx, 0x20
jg 0x462f8c
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 0x462ee9
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 0x462ee9
inc edx
cmp edx, 0x100
jl 0x462e7e
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 0x463038
test ecx, ecx
jne 0x463027
xor eax, eax
jmp 0x463059
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x463059
xor eax, eax
jmp 0x463059
cmp ecx, 0xff
je 0x463141
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x463059
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x6fa3c0], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x463017
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 0x463001
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x4630c1
mov eax, 0xff
jmp 0x4630c7
test eax, eax
jge 0x4630c7
xor eax, eax
mov byte [ecx + ebp + 0x70a4c0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x4630ad
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x4630a9
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x46310a
cmp edi, ebx
jle 0x463106
mov eax, ebx
jmp 0x463114
mov eax, edi
jmp 0x463114
cmp edi, ecx
jle 0x463112
mov eax, edi
jmp 0x463114
mov eax, ecx
mov byte [edx + edi + 0x73a7c0], al
inc edi
cmp edi, 0x100
jl 0x4630f6
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x4630f4
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x463059