Function at 0x46236c
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x7899c4], 0x412dd8
mov dword [0x7899cc], 0x412fb4
mov dword [0x7899d4], 0x4131a4
mov dword [0x7899dc], 0x4134f4
mov dword [0x7899e4], 0x413878
mov dword [0x7899ec], 0x413c30
mov dword [0x7899f4], 0x414340
mov dword [0x7899fc], 0x4146c4
mov dword [0x789a04], 0x413f78
mov dword [0x789a0c], 0x414a48
mov dword [0x789a14], 0x414e00
mov dword [0x789a1c], 0x4151b8
mov dword [0x789a24], 0x415570
mov dword [0x789a2c], 0x415928
mov dword [0x789a34], 0x415cac
mov dword [0x789a3c], 0x416064
mov dword [0x789a44], 0x41641c
mov dword [0x789a4c], 0x4167d4
mov dword [0x789a54], 0x416b58
mov dword [0x7899c0], 0x412df0
mov dword [0x7899c8], 0x412fcc
mov dword [0x7899d0], 0x4131bc
mov dword [0x7899d8], 0x41350c
mov dword [0x7899e0], 0x4138c4
mov dword [0x7899e8], 0x413c48
mov dword [0x7899f0], 0x414358
mov dword [0x7899f8], 0x4146dc
mov dword [0x789a00], 0x413fc4
mov dword [0x789a08], 0x414a94
mov dword [0x789a10], 0x414e4c
mov dword [0x789a18], 0x415204
mov dword [0x789a20], 0x4155bc
mov dword [0x789a28], 0x415940
mov dword [0x789a30], 0x415cf8
mov dword [0x789a38], 0x4160b0
mov dword [0x789a40], 0x416468
mov dword [0x789a48], 0x4167ec
mov dword [0x789a50], 0x416ba4
mov dword [0x789a64], 0x412e0c
mov dword [0x789a6c], 0x412fe8
mov dword [0x789a74], 0x41320c
mov dword [0x789a7c], 0x413564
mov dword [0x789a84], 0x41391c
mov dword [0x789a8c], 0x413c64
mov dword [0x789a94], 0x4143b0
mov dword [0x789a9c], 0x414734
mov dword [0x789aa4], 0x41402c
mov dword [0x789aac], 0x414aec
mov dword [0x789ab4], 0x414ea4
mov dword [0x789abc], 0x41525c
mov dword [0x789ac4], 0x415614
mov dword [0x789acc], 0x415998
mov dword [0x789ad4], 0x415d50
mov dword [0x789adc], 0x416108
mov dword [0x789ae4], 0x4164c0
mov dword [0x789aec], 0x416844
mov dword [0x789af4], 0x416bfc
mov dword [0x789a60], 0x412e24
mov dword [0x789a68], 0x413004
mov dword [0x789a70], 0x4132b4
mov dword [0x789a78], 0x413618
mov dword [0x789a80], 0x4139d0
mov dword [0x789a88], 0x413d18
mov dword [0x789a90], 0x414464
mov dword [0x789a98], 0x4147e8
mov dword [0x789aa0], 0x4140e0
mov dword [0x789aa8], 0x414ba0
mov dword [0x789ab0], 0x414f58
mov dword [0x789ab8], 0x415310
mov dword [0x789ac0], 0x4156c8
mov dword [0x789ac8], 0x415a4c
mov dword [0x789ad0], 0x415e04
mov dword [0x789ad8], 0x4161bc
mov dword [0x789ae0], 0x416574
mov dword [0x789ae8], 0x4168f8
mov dword [0x789af0], 0x416cb0
mov dword [0x789b00], 0x412e64
mov dword [0x789b08], 0x413020
mov dword [0x789b10], 0x413364
mov dword [0x789b18], 0x4136dc
mov dword [0x789b20], 0x413a94
mov dword [0x789b28], 0x413ddc
mov dword [0x789b30], 0x414528
mov dword [0x789b38], 0x4148ac
mov dword [0x789b40], 0x4141a4
mov dword [0x789b48], 0x414c64
mov dword [0x789b50], 0x41501c
mov dword [0x789b58], 0x4153d4
mov dword [0x789b60], 0x41578c
mov dword [0x789b68], 0x415b10
mov dword [0x789b70], 0x415ec8
mov dword [0x789b78], 0x416280
mov dword [0x789b80], 0x416638
mov dword [0x789b88], 0x4169bc
mov dword [0x789b90], 0x416d74
mov dword [0x789b04], 0x412e40
mov dword [0x789b0c], 0x413020
mov dword [0x789b14], 0x413364
mov dword [0x789b1c], 0x4136dc
mov dword [0x789b24], 0x413a94
mov dword [0x789b2c], 0x413ddc
mov dword [0x789b34], 0x414528
mov dword [0x789b3c], 0x4148ac
mov dword [0x789b44], 0x4141a4
mov dword [0x789b4c], 0x414c64
mov dword [0x789b54], 0x41501c
mov dword [0x789b5c], 0x4153d4
mov dword [0x789b64], 0x41578c
mov dword [0x789b6c], 0x415b10
mov dword [0x789b74], 0x415ec8
mov dword [0x789b7c], 0x416280
mov dword [0x789b84], 0x416638
mov dword [0x789b8c], 0x4169bc
mov dword [0x789b94], 0x416d74
mov dword [0x789ba0], 0x412f08
mov dword [0x789ba8], 0x4130dc
mov dword [0x789bb0], 0x413428
mov dword [0x789bb8], 0x4137a4
mov dword [0x789bc0], 0x413b5c
mov dword [0x789bc8], 0x413ea4
mov dword [0x789bd0], 0x4145f0
mov dword [0x789bd8], 0x414974
mov dword [0x789be0], 0x41426c
mov dword [0x789be8], 0x414d2c
mov dword [0x789bf0], 0x4150e4
mov dword [0x789bf8], 0x41549c
mov dword [0x789c00], 0x415854
mov dword [0x789c08], 0x415bd8
mov dword [0x789c10], 0x415f90
mov dword [0x789c18], 0x416348
mov dword [0x789c20], 0x416700
mov dword [0x789c28], 0x416a84
mov dword [0x789c30], 0x416e3c
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 + 0x7698c0], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x4628b9
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x4628af
xor eax, eax
mov byte [eax + 0x6680c0], al
jmp 0x4628f2
mov byte [eax + 0x6680c0], 0xff
inc eax
cmp eax, 0x1ff
jge 0x462903
cmp eax, 0xff
jg 0x4628eb
jmp 0x4628e3
xor eax, eax
xor edx, edx
jmp 0x46290f
lea edx, [eax - 0xff]
mov byte [eax + 0x6682c0], dl
inc eax
cmp eax, 0x1ff
jge 0x462926
cmp eax, 0xff
jge 0x462909
jmp 0x462905
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 + 0x6684c0], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x46292e
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x46292a
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x462978
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x462984
mov eax, 0xff
mov byte [ecx + esi + 0x6785c0], al
inc esi
cmp esi, 0x100
jge 0x46299a
test esi, esi
jg 0x462973
jmp 0x46296f
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x462966
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x60ffbe]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x6886c0], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x4629b3
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x4629ad
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x4629f3
mov ebx, eax
jmp 0x4629f5
mov ebx, ecx
mov byte [edx + eax + 0x7492c0], bl
inc eax
cmp eax, 0x100
jl 0x4629eb
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x4629e9
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462a21
mov ebx, ecx
jmp 0x462a23
mov ebx, eax
mov byte [edx + eax + 0x7593c0], bl
inc eax
cmp eax, 0x100
jl 0x462a19
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462a17
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x462a51
neg ebx
mov byte [edx + eax + 0x6987c0], bl
inc eax
cmp eax, 0x100
jl 0x462a47
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462a45
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 + 0x6a88c0], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x462a7d
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x462a73
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x60ffbe]
movzx eax, al
mov byte [ebx + ecx + 0x7290c0], al
inc ecx
cmp ecx, 0x100
jge 0x462b0d
cmp ecx, 0x80
jl 0x462ac8
jle 0x462b02
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x6103be]
sub eax, edi
dec eax
movzx eax, al
jmp 0x462ad3
jne 0x462ad3
mov eax, ebp
and eax, 0xff
jmp 0x462ad3
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x462ac1
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x462b38
mov eax, 0xff
mov byte [ebx + esi + 0x6b89c0], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x462b27
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x462b23
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 0x462b7a
xor eax, eax
mov byte [ecx + ebp + 0x6c8ac0], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x462b68
mov ecx, esi
cmp esi, 0x100
jl 0x462b5b
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x462bb6
mov eax, 0xff
jmp 0x462bbc
test eax, eax
jge 0x462bbc
xor eax, eax
mov byte [edx + ebp + 0x718fc0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x462ba2
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462b9e
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 0x462c0f
movsx eax, word [esi + ebx*2 + 0x60ffbe]
jmp 0x462c28
jle 0x462c24
movsx eax, word [esi + edx*2 + 0x6103be]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x462c28
jne 0x462c28
mov eax, edi
mov byte [ecx + edi + 0x6d8bc0], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x462bfd
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 0x462bf1
xor edx, edx
fld qword [0x579d78]
cmp edx, 0x80
jl 0x462c7a
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x462d06
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 0x462cdf
mov eax, 0xff
jmp 0x462ce5
test eax, eax
jge 0x462ce5
xor eax, eax
mov byte [ecx + ebx + 0x6e8cc0], al
inc ebx
cmp ebx, 0x100
jge 0x462dc9
cmp edx, 0x80
jl 0x462c81
cmp ebx, 0x20
jg 0x462d74
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 0x462cd1
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 0x462cd1
inc edx
cmp edx, 0x100
jl 0x462c66
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 0x462e20
test ecx, ecx
jne 0x462e0f
xor eax, eax
jmp 0x462e41
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x462e41
xor eax, eax
jmp 0x462e41
cmp ecx, 0xff
je 0x462f29
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x462e41
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x6f8dc0], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x462dff
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 0x462de9
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x462ea9
mov eax, 0xff
jmp 0x462eaf
test eax, eax
jge 0x462eaf
xor eax, eax
mov byte [ecx + ebp + 0x708ec0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x462e95
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x462e91
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x462ef2
cmp edi, ebx
jle 0x462eee
mov eax, ebx
jmp 0x462efc
mov eax, edi
jmp 0x462efc
cmp edi, ecx
jle 0x462efa
mov eax, edi
jmp 0x462efc
mov eax, ecx
mov byte [edx + edi + 0x7391c0], al
inc edi
cmp edi, 0x100
jl 0x462ede
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x462edc
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x462e41