Function at 0x4626fc
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x789a04], 0x412cf4
mov dword [0x789a0c], 0x412ed0
mov dword [0x789a14], 0x4130c0
mov dword [0x789a1c], 0x413410
mov dword [0x789a24], 0x413794
mov dword [0x789a2c], 0x413b4c
mov dword [0x789a34], 0x41425c
mov dword [0x789a3c], 0x4145e0
mov dword [0x789a44], 0x413e94
mov dword [0x789a4c], 0x414964
mov dword [0x789a54], 0x414d1c
mov dword [0x789a5c], 0x4150d4
mov dword [0x789a64], 0x41548c
mov dword [0x789a6c], 0x415844
mov dword [0x789a74], 0x415bc8
mov dword [0x789a7c], 0x415f80
mov dword [0x789a84], 0x416338
mov dword [0x789a8c], 0x4166f0
mov dword [0x789a94], 0x416a74
mov dword [0x789a00], 0x412d0c
mov dword [0x789a08], 0x412ee8
mov dword [0x789a10], 0x4130d8
mov dword [0x789a18], 0x413428
mov dword [0x789a20], 0x4137e0
mov dword [0x789a28], 0x413b64
mov dword [0x789a30], 0x414274
mov dword [0x789a38], 0x4145f8
mov dword [0x789a40], 0x413ee0
mov dword [0x789a48], 0x4149b0
mov dword [0x789a50], 0x414d68
mov dword [0x789a58], 0x415120
mov dword [0x789a60], 0x4154d8
mov dword [0x789a68], 0x41585c
mov dword [0x789a70], 0x415c14
mov dword [0x789a78], 0x415fcc
mov dword [0x789a80], 0x416384
mov dword [0x789a88], 0x416708
mov dword [0x789a90], 0x416ac0
mov dword [0x789aa4], 0x412d28
mov dword [0x789aac], 0x412f04
mov dword [0x789ab4], 0x413128
mov dword [0x789abc], 0x413480
mov dword [0x789ac4], 0x413838
mov dword [0x789acc], 0x413b80
mov dword [0x789ad4], 0x4142cc
mov dword [0x789adc], 0x414650
mov dword [0x789ae4], 0x413f48
mov dword [0x789aec], 0x414a08
mov dword [0x789af4], 0x414dc0
mov dword [0x789afc], 0x415178
mov dword [0x789b04], 0x415530
mov dword [0x789b0c], 0x4158b4
mov dword [0x789b14], 0x415c6c
mov dword [0x789b1c], 0x416024
mov dword [0x789b24], 0x4163dc
mov dword [0x789b2c], 0x416760
mov dword [0x789b34], 0x416b18
mov dword [0x789aa0], 0x412d40
mov dword [0x789aa8], 0x412f20
mov dword [0x789ab0], 0x4131d0
mov dword [0x789ab8], 0x413534
mov dword [0x789ac0], 0x4138ec
mov dword [0x789ac8], 0x413c34
mov dword [0x789ad0], 0x414380
mov dword [0x789ad8], 0x414704
mov dword [0x789ae0], 0x413ffc
mov dword [0x789ae8], 0x414abc
mov dword [0x789af0], 0x414e74
mov dword [0x789af8], 0x41522c
mov dword [0x789b00], 0x4155e4
mov dword [0x789b08], 0x415968
mov dword [0x789b10], 0x415d20
mov dword [0x789b18], 0x4160d8
mov dword [0x789b20], 0x416490
mov dword [0x789b28], 0x416814
mov dword [0x789b30], 0x416bcc
mov dword [0x789b40], 0x412d80
mov dword [0x789b48], 0x412f3c
mov dword [0x789b50], 0x413280
mov dword [0x789b58], 0x4135f8
mov dword [0x789b60], 0x4139b0
mov dword [0x789b68], 0x413cf8
mov dword [0x789b70], 0x414444
mov dword [0x789b78], 0x4147c8
mov dword [0x789b80], 0x4140c0
mov dword [0x789b88], 0x414b80
mov dword [0x789b90], 0x414f38
mov dword [0x789b98], 0x4152f0
mov dword [0x789ba0], 0x4156a8
mov dword [0x789ba8], 0x415a2c
mov dword [0x789bb0], 0x415de4
mov dword [0x789bb8], 0x41619c
mov dword [0x789bc0], 0x416554
mov dword [0x789bc8], 0x4168d8
mov dword [0x789bd0], 0x416c90
mov dword [0x789b44], 0x412d5c
mov dword [0x789b4c], 0x412f3c
mov dword [0x789b54], 0x413280
mov dword [0x789b5c], 0x4135f8
mov dword [0x789b64], 0x4139b0
mov dword [0x789b6c], 0x413cf8
mov dword [0x789b74], 0x414444
mov dword [0x789b7c], 0x4147c8
mov dword [0x789b84], 0x4140c0
mov dword [0x789b8c], 0x414b80
mov dword [0x789b94], 0x414f38
mov dword [0x789b9c], 0x4152f0
mov dword [0x789ba4], 0x4156a8
mov dword [0x789bac], 0x415a2c
mov dword [0x789bb4], 0x415de4
mov dword [0x789bbc], 0x41619c
mov dword [0x789bc4], 0x416554
mov dword [0x789bcc], 0x4168d8
mov dword [0x789bd4], 0x416c90
mov dword [0x789be0], 0x412e24
mov dword [0x789be8], 0x412ff8
mov dword [0x789bf0], 0x413344
mov dword [0x789bf8], 0x4136c0
mov dword [0x789c00], 0x413a78
mov dword [0x789c08], 0x413dc0
mov dword [0x789c10], 0x41450c
mov dword [0x789c18], 0x414890
mov dword [0x789c20], 0x414188
mov dword [0x789c28], 0x414c48
mov dword [0x789c30], 0x415000
mov dword [0x789c38], 0x4153b8
mov dword [0x789c40], 0x415770
mov dword [0x789c48], 0x415af4
mov dword [0x789c50], 0x415eac
mov dword [0x789c58], 0x416264
mov dword [0x789c60], 0x41661c
mov dword [0x789c68], 0x4169a0
mov dword [0x789c70], 0x416d58
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 + 0x769900], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x462c49
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x462c3f
xor eax, eax
mov byte [eax + 0x668100], al
jmp 0x462c82
mov byte [eax + 0x668100], 0xff
inc eax
cmp eax, 0x1ff
jge 0x462c93
cmp eax, 0xff
jg 0x462c7b
jmp 0x462c73
xor eax, eax
xor edx, edx
jmp 0x462c9f
lea edx, [eax - 0xff]
mov byte [eax + 0x668300], dl
inc eax
cmp eax, 0x1ff
jge 0x462cb6
cmp eax, 0xff
jge 0x462c99
jmp 0x462c95
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 + 0x668500], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x462cbe
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462cba
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x462d08
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x462d14
mov eax, 0xff
mov byte [ecx + esi + 0x678600], al
inc esi
cmp esi, 0x100
jge 0x462d2a
test esi, esi
jg 0x462d03
jmp 0x462cff
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x462cf6
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x60fffe]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x688700], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x462d43
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x462d3d
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462d83
mov ebx, eax
jmp 0x462d85
mov ebx, ecx
mov byte [edx + eax + 0x749300], bl
inc eax
cmp eax, 0x100
jl 0x462d7b
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462d79
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462db1
mov ebx, ecx
jmp 0x462db3
mov ebx, eax
mov byte [edx + eax + 0x759400], bl
inc eax
cmp eax, 0x100
jl 0x462da9
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462da7
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x462de1
neg ebx
mov byte [edx + eax + 0x698800], bl
inc eax
cmp eax, 0x100
jl 0x462dd7
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462dd5
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 + 0x6a8900], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x462e0d
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x462e03
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x60fffe]
movzx eax, al
mov byte [ebx + ecx + 0x729100], al
inc ecx
cmp ecx, 0x100
jge 0x462e9d
cmp ecx, 0x80
jl 0x462e58
jle 0x462e92
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x6103fe]
sub eax, edi
dec eax
movzx eax, al
jmp 0x462e63
jne 0x462e63
mov eax, ebp
and eax, 0xff
jmp 0x462e63
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x462e51
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x462ec8
mov eax, 0xff
mov byte [ebx + esi + 0x6b8a00], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x462eb7
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x462eb3
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 0x462f0a
xor eax, eax
mov byte [ecx + ebp + 0x6c8b00], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x462ef8
mov ecx, esi
cmp esi, 0x100
jl 0x462eeb
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x462f46
mov eax, 0xff
jmp 0x462f4c
test eax, eax
jge 0x462f4c
xor eax, eax
mov byte [edx + ebp + 0x719000], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x462f32
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462f2e
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 0x462f9f
movsx eax, word [esi + ebx*2 + 0x60fffe]
jmp 0x462fb8
jle 0x462fb4
movsx eax, word [esi + edx*2 + 0x6103fe]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x462fb8
jne 0x462fb8
mov eax, edi
mov byte [ecx + edi + 0x6d8c00], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x462f8d
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 0x462f81
xor edx, edx
fld qword [0x579d98]
cmp edx, 0x80
jl 0x46300a
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x463096
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 0x46306f
mov eax, 0xff
jmp 0x463075
test eax, eax
jge 0x463075
xor eax, eax
mov byte [ecx + ebx + 0x6e8d00], al
inc ebx
cmp ebx, 0x100
jge 0x463159
cmp edx, 0x80
jl 0x463011
cmp ebx, 0x20
jg 0x463104
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 0x463061
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 0x463061
inc edx
cmp edx, 0x100
jl 0x462ff6
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 0x4631b0
test ecx, ecx
jne 0x46319f
xor eax, eax
jmp 0x4631d1
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x4631d1
xor eax, eax
jmp 0x4631d1
cmp ecx, 0xff
je 0x4632b9
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x4631d1
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x6f8e00], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x46318f
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 0x463179
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x463239
mov eax, 0xff
jmp 0x46323f
test eax, eax
jge 0x46323f
xor eax, eax
mov byte [ecx + ebp + 0x708f00], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x463225
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x463221
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x463282
cmp edi, ebx
jle 0x46327e
mov eax, ebx
jmp 0x46328c
mov eax, edi
jmp 0x46328c
cmp edi, ecx
jle 0x46328a
mov eax, edi
jmp 0x46328c
mov eax, ecx
mov byte [edx + edi + 0x739200], al
inc edi
cmp edi, 0x100
jl 0x46326e
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x46326c
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x4631d1