Function at 0x462654
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x78afc4], 0x412d04
mov dword [0x78afcc], 0x412ee0
mov dword [0x78afd4], 0x4130d0
mov dword [0x78afdc], 0x413420
mov dword [0x78afe4], 0x4137a4
mov dword [0x78afec], 0x413b5c
mov dword [0x78aff4], 0x41426c
mov dword [0x78affc], 0x4145f0
mov dword [0x78b004], 0x413ea4
mov dword [0x78b00c], 0x414974
mov dword [0x78b014], 0x414d2c
mov dword [0x78b01c], 0x4150e4
mov dword [0x78b024], 0x41549c
mov dword [0x78b02c], 0x415854
mov dword [0x78b034], 0x415bd8
mov dword [0x78b03c], 0x415f90
mov dword [0x78b044], 0x416348
mov dword [0x78b04c], 0x416700
mov dword [0x78b054], 0x416a84
mov dword [0x78afc0], 0x412d1c
mov dword [0x78afc8], 0x412ef8
mov dword [0x78afd0], 0x4130e8
mov dword [0x78afd8], 0x413438
mov dword [0x78afe0], 0x4137f0
mov dword [0x78afe8], 0x413b74
mov dword [0x78aff0], 0x414284
mov dword [0x78aff8], 0x414608
mov dword [0x78b000], 0x413ef0
mov dword [0x78b008], 0x4149c0
mov dword [0x78b010], 0x414d78
mov dword [0x78b018], 0x415130
mov dword [0x78b020], 0x4154e8
mov dword [0x78b028], 0x41586c
mov dword [0x78b030], 0x415c24
mov dword [0x78b038], 0x415fdc
mov dword [0x78b040], 0x416394
mov dword [0x78b048], 0x416718
mov dword [0x78b050], 0x416ad0
mov dword [0x78b064], 0x412d38
mov dword [0x78b06c], 0x412f14
mov dword [0x78b074], 0x413138
mov dword [0x78b07c], 0x413490
mov dword [0x78b084], 0x413848
mov dword [0x78b08c], 0x413b90
mov dword [0x78b094], 0x4142dc
mov dword [0x78b09c], 0x414660
mov dword [0x78b0a4], 0x413f58
mov dword [0x78b0ac], 0x414a18
mov dword [0x78b0b4], 0x414dd0
mov dword [0x78b0bc], 0x415188
mov dword [0x78b0c4], 0x415540
mov dword [0x78b0cc], 0x4158c4
mov dword [0x78b0d4], 0x415c7c
mov dword [0x78b0dc], 0x416034
mov dword [0x78b0e4], 0x4163ec
mov dword [0x78b0ec], 0x416770
mov dword [0x78b0f4], 0x416b28
mov dword [0x78b060], 0x412d50
mov dword [0x78b068], 0x412f30
mov dword [0x78b070], 0x4131e0
mov dword [0x78b078], 0x413544
mov dword [0x78b080], 0x4138fc
mov dword [0x78b088], 0x413c44
mov dword [0x78b090], 0x414390
mov dword [0x78b098], 0x414714
mov dword [0x78b0a0], 0x41400c
mov dword [0x78b0a8], 0x414acc
mov dword [0x78b0b0], 0x414e84
mov dword [0x78b0b8], 0x41523c
mov dword [0x78b0c0], 0x4155f4
mov dword [0x78b0c8], 0x415978
mov dword [0x78b0d0], 0x415d30
mov dword [0x78b0d8], 0x4160e8
mov dword [0x78b0e0], 0x4164a0
mov dword [0x78b0e8], 0x416824
mov dword [0x78b0f0], 0x416bdc
mov dword [0x78b100], 0x412d90
mov dword [0x78b108], 0x412f4c
mov dword [0x78b110], 0x413290
mov dword [0x78b118], 0x413608
mov dword [0x78b120], 0x4139c0
mov dword [0x78b128], 0x413d08
mov dword [0x78b130], 0x414454
mov dword [0x78b138], 0x4147d8
mov dword [0x78b140], 0x4140d0
mov dword [0x78b148], 0x414b90
mov dword [0x78b150], 0x414f48
mov dword [0x78b158], 0x415300
mov dword [0x78b160], 0x4156b8
mov dword [0x78b168], 0x415a3c
mov dword [0x78b170], 0x415df4
mov dword [0x78b178], 0x4161ac
mov dword [0x78b180], 0x416564
mov dword [0x78b188], 0x4168e8
mov dword [0x78b190], 0x416ca0
mov dword [0x78b104], 0x412d6c
mov dword [0x78b10c], 0x412f4c
mov dword [0x78b114], 0x413290
mov dword [0x78b11c], 0x413608
mov dword [0x78b124], 0x4139c0
mov dword [0x78b12c], 0x413d08
mov dword [0x78b134], 0x414454
mov dword [0x78b13c], 0x4147d8
mov dword [0x78b144], 0x4140d0
mov dword [0x78b14c], 0x414b90
mov dword [0x78b154], 0x414f48
mov dword [0x78b15c], 0x415300
mov dword [0x78b164], 0x4156b8
mov dword [0x78b16c], 0x415a3c
mov dword [0x78b174], 0x415df4
mov dword [0x78b17c], 0x4161ac
mov dword [0x78b184], 0x416564
mov dword [0x78b18c], 0x4168e8
mov dword [0x78b194], 0x416ca0
mov dword [0x78b1a0], 0x412e34
mov dword [0x78b1a8], 0x413008
mov dword [0x78b1b0], 0x413354
mov dword [0x78b1b8], 0x4136d0
mov dword [0x78b1c0], 0x413a88
mov dword [0x78b1c8], 0x413dd0
mov dword [0x78b1d0], 0x41451c
mov dword [0x78b1d8], 0x4148a0
mov dword [0x78b1e0], 0x414198
mov dword [0x78b1e8], 0x414c58
mov dword [0x78b1f0], 0x415010
mov dword [0x78b1f8], 0x4153c8
mov dword [0x78b200], 0x415780
mov dword [0x78b208], 0x415b04
mov dword [0x78b210], 0x415ebc
mov dword [0x78b218], 0x416274
mov dword [0x78b220], 0x41662c
mov dword [0x78b228], 0x4169b0
mov dword [0x78b230], 0x416d68
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 0x462ba1
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x462b97
xor eax, eax
mov byte [eax + 0x6696c0], al
jmp 0x462bda
mov byte [eax + 0x6696c0], 0xff
inc eax
cmp eax, 0x1ff
jge 0x462beb
cmp eax, 0xff
jg 0x462bd3
jmp 0x462bcb
xor eax, eax
xor edx, edx
jmp 0x462bf7
lea edx, [eax - 0xff]
mov byte [eax + 0x6698c0], dl
inc eax
cmp eax, 0x1ff
jge 0x462c0e
cmp eax, 0xff
jge 0x462bf1
jmp 0x462bed
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 0x462c16
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462c12
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x462c60
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x462c6c
mov eax, 0xff
mov byte [ecx + esi + 0x679bc0], al
inc esi
cmp esi, 0x100
jge 0x462c82
test esi, esi
jg 0x462c5b
jmp 0x462c57
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x462c4e
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 0x462c9b
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x462c95
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462cdb
mov ebx, eax
jmp 0x462cdd
mov ebx, ecx
mov byte [edx + eax + 0x74a8c0], bl
inc eax
cmp eax, 0x100
jl 0x462cd3
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462cd1
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462d09
mov ebx, ecx
jmp 0x462d0b
mov ebx, eax
mov byte [edx + eax + 0x75a9c0], bl
inc eax
cmp eax, 0x100
jl 0x462d01
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462cff
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x462d39
neg ebx
mov byte [edx + eax + 0x699dc0], bl
inc eax
cmp eax, 0x100
jl 0x462d2f
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462d2d
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 0x462d65
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x462d5b
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 0x462df5
cmp ecx, 0x80
jl 0x462db0
jle 0x462dea
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x6119be]
sub eax, edi
dec eax
movzx eax, al
jmp 0x462dbb
jne 0x462dbb
mov eax, ebp
and eax, 0xff
jmp 0x462dbb
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x462da9
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x462e20
mov eax, 0xff
mov byte [ebx + esi + 0x6b9fc0], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x462e0f
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x462e0b
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 0x462e62
xor eax, eax
mov byte [ecx + ebp + 0x6ca0c0], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x462e50
mov ecx, esi
cmp esi, 0x100
jl 0x462e43
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x462e9e
mov eax, 0xff
jmp 0x462ea4
test eax, eax
jge 0x462ea4
xor eax, eax
mov byte [edx + ebp + 0x71a5c0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x462e8a
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462e86
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 0x462ef7
movsx eax, word [esi + ebx*2 + 0x6115be]
jmp 0x462f10
jle 0x462f0c
movsx eax, word [esi + edx*2 + 0x6119be]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x462f10
jne 0x462f10
mov eax, edi
mov byte [ecx + edi + 0x6da1c0], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x462ee5
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 0x462ed9
xor edx, edx
fld qword [0x57ad70]
cmp edx, 0x80
jl 0x462f62
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x462fee
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 0x462fc7
mov eax, 0xff
jmp 0x462fcd
test eax, eax
jge 0x462fcd
xor eax, eax
mov byte [ecx + ebx + 0x6ea2c0], al
inc ebx
cmp ebx, 0x100
jge 0x4630b1
cmp edx, 0x80
jl 0x462f69
cmp ebx, 0x20
jg 0x46305c
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 0x462fb9
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 0x462fb9
inc edx
cmp edx, 0x100
jl 0x462f4e
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 0x463108
test ecx, ecx
jne 0x4630f7
xor eax, eax
jmp 0x463129
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x463129
xor eax, eax
jmp 0x463129
cmp ecx, 0xff
je 0x463211
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x463129
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 0x4630e7
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 0x4630d1
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x463191
mov eax, 0xff
jmp 0x463197
test eax, eax
jge 0x463197
xor eax, eax
mov byte [ecx + ebp + 0x70a4c0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x46317d
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x463179
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x4631da
cmp edi, ebx
jle 0x4631d6
mov eax, ebx
jmp 0x4631e4
mov eax, edi
jmp 0x4631e4
cmp edi, ecx
jle 0x4631e2
mov eax, edi
jmp 0x4631e4
mov eax, ecx
mov byte [edx + edi + 0x73a7c0], al
inc edi
cmp edi, 0x100
jl 0x4631c6
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x4631c4
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x463129