Function at 0x4623d4
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x789b64], 0x412ddc
mov dword [0x789b6c], 0x412fb8
mov dword [0x789b74], 0x4131a8
mov dword [0x789b7c], 0x4134f8
mov dword [0x789b84], 0x41387c
mov dword [0x789b8c], 0x413c34
mov dword [0x789b94], 0x414344
mov dword [0x789b9c], 0x4146c8
mov dword [0x789ba4], 0x413f7c
mov dword [0x789bac], 0x414a4c
mov dword [0x789bb4], 0x414e04
mov dword [0x789bbc], 0x4151bc
mov dword [0x789bc4], 0x415574
mov dword [0x789bcc], 0x41592c
mov dword [0x789bd4], 0x415cb0
mov dword [0x789bdc], 0x416068
mov dword [0x789be4], 0x416420
mov dword [0x789bec], 0x4167d8
mov dword [0x789bf4], 0x416b5c
mov dword [0x789b60], 0x412df4
mov dword [0x789b68], 0x412fd0
mov dword [0x789b70], 0x4131c0
mov dword [0x789b78], 0x413510
mov dword [0x789b80], 0x4138c8
mov dword [0x789b88], 0x413c4c
mov dword [0x789b90], 0x41435c
mov dword [0x789b98], 0x4146e0
mov dword [0x789ba0], 0x413fc8
mov dword [0x789ba8], 0x414a98
mov dword [0x789bb0], 0x414e50
mov dword [0x789bb8], 0x415208
mov dword [0x789bc0], 0x4155c0
mov dword [0x789bc8], 0x415944
mov dword [0x789bd0], 0x415cfc
mov dword [0x789bd8], 0x4160b4
mov dword [0x789be0], 0x41646c
mov dword [0x789be8], 0x4167f0
mov dword [0x789bf0], 0x416ba8
mov dword [0x789c04], 0x412e10
mov dword [0x789c0c], 0x412fec
mov dword [0x789c14], 0x413210
mov dword [0x789c1c], 0x413568
mov dword [0x789c24], 0x413920
mov dword [0x789c2c], 0x413c68
mov dword [0x789c34], 0x4143b4
mov dword [0x789c3c], 0x414738
mov dword [0x789c44], 0x414030
mov dword [0x789c4c], 0x414af0
mov dword [0x789c54], 0x414ea8
mov dword [0x789c5c], 0x415260
mov dword [0x789c64], 0x415618
mov dword [0x789c6c], 0x41599c
mov dword [0x789c74], 0x415d54
mov dword [0x789c7c], 0x41610c
mov dword [0x789c84], 0x4164c4
mov dword [0x789c8c], 0x416848
mov dword [0x789c94], 0x416c00
mov dword [0x789c00], 0x412e28
mov dword [0x789c08], 0x413008
mov dword [0x789c10], 0x4132b8
mov dword [0x789c18], 0x41361c
mov dword [0x789c20], 0x4139d4
mov dword [0x789c28], 0x413d1c
mov dword [0x789c30], 0x414468
mov dword [0x789c38], 0x4147ec
mov dword [0x789c40], 0x4140e4
mov dword [0x789c48], 0x414ba4
mov dword [0x789c50], 0x414f5c
mov dword [0x789c58], 0x415314
mov dword [0x789c60], 0x4156cc
mov dword [0x789c68], 0x415a50
mov dword [0x789c70], 0x415e08
mov dword [0x789c78], 0x4161c0
mov dword [0x789c80], 0x416578
mov dword [0x789c88], 0x4168fc
mov dword [0x789c90], 0x416cb4
mov dword [0x789ca0], 0x412e68
mov dword [0x789ca8], 0x413024
mov dword [0x789cb0], 0x413368
mov dword [0x789cb8], 0x4136e0
mov dword [0x789cc0], 0x413a98
mov dword [0x789cc8], 0x413de0
mov dword [0x789cd0], 0x41452c
mov dword [0x789cd8], 0x4148b0
mov dword [0x789ce0], 0x4141a8
mov dword [0x789ce8], 0x414c68
mov dword [0x789cf0], 0x415020
mov dword [0x789cf8], 0x4153d8
mov dword [0x789d00], 0x415790
mov dword [0x789d08], 0x415b14
mov dword [0x789d10], 0x415ecc
mov dword [0x789d18], 0x416284
mov dword [0x789d20], 0x41663c
mov dword [0x789d28], 0x4169c0
mov dword [0x789d30], 0x416d78
mov dword [0x789ca4], 0x412e44
mov dword [0x789cac], 0x413024
mov dword [0x789cb4], 0x413368
mov dword [0x789cbc], 0x4136e0
mov dword [0x789cc4], 0x413a98
mov dword [0x789ccc], 0x413de0
mov dword [0x789cd4], 0x41452c
mov dword [0x789cdc], 0x4148b0
mov dword [0x789ce4], 0x4141a8
mov dword [0x789cec], 0x414c68
mov dword [0x789cf4], 0x415020
mov dword [0x789cfc], 0x4153d8
mov dword [0x789d04], 0x415790
mov dword [0x789d0c], 0x415b14
mov dword [0x789d14], 0x415ecc
mov dword [0x789d1c], 0x416284
mov dword [0x789d24], 0x41663c
mov dword [0x789d2c], 0x4169c0
mov dword [0x789d34], 0x416d78
mov dword [0x789d40], 0x412f0c
mov dword [0x789d48], 0x4130e0
mov dword [0x789d50], 0x41342c
mov dword [0x789d58], 0x4137a8
mov dword [0x789d60], 0x413b60
mov dword [0x789d68], 0x413ea8
mov dword [0x789d70], 0x4145f4
mov dword [0x789d78], 0x414978
mov dword [0x789d80], 0x414270
mov dword [0x789d88], 0x414d30
mov dword [0x789d90], 0x4150e8
mov dword [0x789d98], 0x4154a0
mov dword [0x789da0], 0x415858
mov dword [0x789da8], 0x415bdc
mov dword [0x789db0], 0x415f94
mov dword [0x789db8], 0x41634c
mov dword [0x789dc0], 0x416704
mov dword [0x789dc8], 0x416a88
mov dword [0x789dd0], 0x416e40
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 + 0x769a60], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x462921
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x462917
xor eax, eax
mov byte [eax + 0x668260], al
jmp 0x46295a
mov byte [eax + 0x668260], 0xff
inc eax
cmp eax, 0x1ff
jge 0x46296b
cmp eax, 0xff
jg 0x462953
jmp 0x46294b
xor eax, eax
xor edx, edx
jmp 0x462977
lea edx, [eax - 0xff]
mov byte [eax + 0x668460], dl
inc eax
cmp eax, 0x1ff
jge 0x46298e
cmp eax, 0xff
jge 0x462971
jmp 0x46296d
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 + 0x668660], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x462996
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462992
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x4629e0
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x4629ec
mov eax, 0xff
mov byte [ecx + esi + 0x678760], al
inc esi
cmp esi, 0x100
jge 0x462a02
test esi, esi
jg 0x4629db
jmp 0x4629d7
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x4629ce
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x61015e]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x688860], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x462a1b
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x462a15
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462a5b
mov ebx, eax
jmp 0x462a5d
mov ebx, ecx
mov byte [edx + eax + 0x749460], bl
inc eax
cmp eax, 0x100
jl 0x462a53
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462a51
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462a89
mov ebx, ecx
jmp 0x462a8b
mov ebx, eax
mov byte [edx + eax + 0x759560], bl
inc eax
cmp eax, 0x100
jl 0x462a81
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462a7f
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x462ab9
neg ebx
mov byte [edx + eax + 0x698960], bl
inc eax
cmp eax, 0x100
jl 0x462aaf
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462aad
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 + 0x6a8a60], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x462ae5
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x462adb
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x61015e]
movzx eax, al
mov byte [ebx + ecx + 0x729260], al
inc ecx
cmp ecx, 0x100
jge 0x462b75
cmp ecx, 0x80
jl 0x462b30
jle 0x462b6a
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x61055e]
sub eax, edi
dec eax
movzx eax, al
jmp 0x462b3b
jne 0x462b3b
mov eax, ebp
and eax, 0xff
jmp 0x462b3b
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x462b29
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x462ba0
mov eax, 0xff
mov byte [ebx + esi + 0x6b8b60], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x462b8f
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x462b8b
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 0x462be2
xor eax, eax
mov byte [ecx + ebp + 0x6c8c60], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x462bd0
mov ecx, esi
cmp esi, 0x100
jl 0x462bc3
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x462c1e
mov eax, 0xff
jmp 0x462c24
test eax, eax
jge 0x462c24
xor eax, eax
mov byte [edx + ebp + 0x719160], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x462c0a
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462c06
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 0x462c77
movsx eax, word [esi + ebx*2 + 0x61015e]
jmp 0x462c90
jle 0x462c8c
movsx eax, word [esi + edx*2 + 0x61055e]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x462c90
jne 0x462c90
mov eax, edi
mov byte [ecx + edi + 0x6d8d60], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x462c65
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 0x462c59
xor edx, edx
fld qword [0x579d78]
cmp edx, 0x80
jl 0x462ce2
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x462d6e
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 0x462d47
mov eax, 0xff
jmp 0x462d4d
test eax, eax
jge 0x462d4d
xor eax, eax
mov byte [ecx + ebx + 0x6e8e60], al
inc ebx
cmp ebx, 0x100
jge 0x462e31
cmp edx, 0x80
jl 0x462ce9
cmp ebx, 0x20
jg 0x462ddc
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 0x462d39
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 0x462d39
inc edx
cmp edx, 0x100
jl 0x462cce
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 0x462e88
test ecx, ecx
jne 0x462e77
xor eax, eax
jmp 0x462ea9
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x462ea9
xor eax, eax
jmp 0x462ea9
cmp ecx, 0xff
je 0x462f91
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x462ea9
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x6f8f60], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x462e67
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 0x462e51
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x462f11
mov eax, 0xff
jmp 0x462f17
test eax, eax
jge 0x462f17
xor eax, eax
mov byte [ecx + ebp + 0x709060], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x462efd
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x462ef9
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x462f5a
cmp edi, ebx
jle 0x462f56
mov eax, ebx
jmp 0x462f64
mov eax, edi
jmp 0x462f64
cmp edi, ecx
jle 0x462f62
mov eax, edi
jmp 0x462f64
mov eax, ecx
mov byte [edx + edi + 0x739360], al
inc edi
cmp edi, 0x100
jl 0x462f46
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x462f44
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x462ea9