Function at 0x462054
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x791e24], 0x413694
mov dword [0x791e2c], 0x413870
mov dword [0x791e34], 0x413a60
mov dword [0x791e3c], 0x413db0
mov dword [0x791e44], 0x414134
mov dword [0x791e4c], 0x4144ec
mov dword [0x791e54], 0x414bfc
mov dword [0x791e5c], 0x414f80
mov dword [0x791e64], 0x414834
mov dword [0x791e6c], 0x415304
mov dword [0x791e74], 0x4156bc
mov dword [0x791e7c], 0x415a74
mov dword [0x791e84], 0x415e2c
mov dword [0x791e8c], 0x4161e4
mov dword [0x791e94], 0x416568
mov dword [0x791e9c], 0x416920
mov dword [0x791ea4], 0x416cd8
mov dword [0x791eac], 0x417090
mov dword [0x791eb4], 0x417414
mov dword [0x791e20], 0x4136ac
mov dword [0x791e28], 0x413888
mov dword [0x791e30], 0x413a78
mov dword [0x791e38], 0x413dc8
mov dword [0x791e40], 0x414180
mov dword [0x791e48], 0x414504
mov dword [0x791e50], 0x414c14
mov dword [0x791e58], 0x414f98
mov dword [0x791e60], 0x414880
mov dword [0x791e68], 0x415350
mov dword [0x791e70], 0x415708
mov dword [0x791e78], 0x415ac0
mov dword [0x791e80], 0x415e78
mov dword [0x791e88], 0x4161fc
mov dword [0x791e90], 0x4165b4
mov dword [0x791e98], 0x41696c
mov dword [0x791ea0], 0x416d24
mov dword [0x791ea8], 0x4170a8
mov dword [0x791eb0], 0x417460
mov dword [0x791ec4], 0x4136c8
mov dword [0x791ecc], 0x4138a4
mov dword [0x791ed4], 0x413ac8
mov dword [0x791edc], 0x413e20
mov dword [0x791ee4], 0x4141d8
mov dword [0x791eec], 0x414520
mov dword [0x791ef4], 0x414c6c
mov dword [0x791efc], 0x414ff0
mov dword [0x791f04], 0x4148e8
mov dword [0x791f0c], 0x4153a8
mov dword [0x791f14], 0x415760
mov dword [0x791f1c], 0x415b18
mov dword [0x791f24], 0x415ed0
mov dword [0x791f2c], 0x416254
mov dword [0x791f34], 0x41660c
mov dword [0x791f3c], 0x4169c4
mov dword [0x791f44], 0x416d7c
mov dword [0x791f4c], 0x417100
mov dword [0x791f54], 0x4174b8
mov dword [0x791ec0], 0x4136e0
mov dword [0x791ec8], 0x4138c0
mov dword [0x791ed0], 0x413b70
mov dword [0x791ed8], 0x413ed4
mov dword [0x791ee0], 0x41428c
mov dword [0x791ee8], 0x4145d4
mov dword [0x791ef0], 0x414d20
mov dword [0x791ef8], 0x4150a4
mov dword [0x791f00], 0x41499c
mov dword [0x791f08], 0x41545c
mov dword [0x791f10], 0x415814
mov dword [0x791f18], 0x415bcc
mov dword [0x791f20], 0x415f84
mov dword [0x791f28], 0x416308
mov dword [0x791f30], 0x4166c0
mov dword [0x791f38], 0x416a78
mov dword [0x791f40], 0x416e30
mov dword [0x791f48], 0x4171b4
mov dword [0x791f50], 0x41756c
mov dword [0x791f60], 0x413720
mov dword [0x791f68], 0x4138dc
mov dword [0x791f70], 0x413c20
mov dword [0x791f78], 0x413f98
mov dword [0x791f80], 0x414350
mov dword [0x791f88], 0x414698
mov dword [0x791f90], 0x414de4
mov dword [0x791f98], 0x415168
mov dword [0x791fa0], 0x414a60
mov dword [0x791fa8], 0x415520
mov dword [0x791fb0], 0x4158d8
mov dword [0x791fb8], 0x415c90
mov dword [0x791fc0], 0x416048
mov dword [0x791fc8], 0x4163cc
mov dword [0x791fd0], 0x416784
mov dword [0x791fd8], 0x416b3c
mov dword [0x791fe0], 0x416ef4
mov dword [0x791fe8], 0x417278
mov dword [0x791ff0], 0x417630
mov dword [0x791f64], 0x4136fc
mov dword [0x791f6c], 0x4138dc
mov dword [0x791f74], 0x413c20
mov dword [0x791f7c], 0x413f98
mov dword [0x791f84], 0x414350
mov dword [0x791f8c], 0x414698
mov dword [0x791f94], 0x414de4
mov dword [0x791f9c], 0x415168
mov dword [0x791fa4], 0x414a60
mov dword [0x791fac], 0x415520
mov dword [0x791fb4], 0x4158d8
mov dword [0x791fbc], 0x415c90
mov dword [0x791fc4], 0x416048
mov dword [0x791fcc], 0x4163cc
mov dword [0x791fd4], 0x416784
mov dword [0x791fdc], 0x416b3c
mov dword [0x791fe4], 0x416ef4
mov dword [0x791fec], 0x417278
mov dword [0x791ff4], 0x417630
mov dword [0x792000], 0x4137c4
mov dword [0x792008], 0x413998
mov dword [0x792010], 0x413ce4
mov dword [0x792018], 0x414060
mov dword [0x792020], 0x414418
mov dword [0x792028], 0x414760
mov dword [0x792030], 0x414eac
mov dword [0x792038], 0x415230
mov dword [0x792040], 0x414b28
mov dword [0x792048], 0x4155e8
mov dword [0x792050], 0x4159a0
mov dword [0x792058], 0x415d58
mov dword [0x792060], 0x416110
mov dword [0x792068], 0x416494
mov dword [0x792070], 0x41684c
mov dword [0x792078], 0x416c04
mov dword [0x792080], 0x416fbc
mov dword [0x792088], 0x417340
mov dword [0x792090], 0x4176f8
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 + 0x771d20], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x4625a1
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x462597
xor eax, eax
mov byte [eax + 0x670520], al
jmp 0x4625da
mov byte [eax + 0x670520], 0xff
inc eax
cmp eax, 0x1ff
jge 0x4625eb
cmp eax, 0xff
jg 0x4625d3
jmp 0x4625cb
xor eax, eax
xor edx, edx
jmp 0x4625f7
lea edx, [eax - 0xff]
mov byte [eax + 0x670720], dl
inc eax
cmp eax, 0x1ff
jge 0x46260e
cmp eax, 0xff
jge 0x4625f1
jmp 0x4625ed
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 + 0x670920], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x462616
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462612
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x462660
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x46266c
mov eax, 0xff
mov byte [ecx + esi + 0x680a20], al
inc esi
cmp esi, 0x100
jge 0x462682
test esi, esi
jg 0x46265b
jmp 0x462657
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x46264e
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x61849e]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x690b20], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x46269b
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x462695
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x4626db
mov ebx, eax
jmp 0x4626dd
mov ebx, ecx
mov byte [edx + eax + 0x751720], bl
inc eax
cmp eax, 0x100
jl 0x4626d3
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x4626d1
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x462709
mov ebx, ecx
jmp 0x46270b
mov ebx, eax
mov byte [edx + eax + 0x761820], bl
inc eax
cmp eax, 0x100
jl 0x462701
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x4626ff
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x462739
neg ebx
mov byte [edx + eax + 0x6a0c20], bl
inc eax
cmp eax, 0x100
jl 0x46272f
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x46272d
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 + 0x6b0d20], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x462765
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x46275b
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x61849e]
movzx eax, al
mov byte [ebx + ecx + 0x731520], al
inc ecx
cmp ecx, 0x100
jge 0x4627f5
cmp ecx, 0x80
jl 0x4627b0
jle 0x4627ea
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x61889e]
sub eax, edi
dec eax
movzx eax, al
jmp 0x4627bb
jne 0x4627bb
mov eax, ebp
and eax, 0xff
jmp 0x4627bb
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x4627a9
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x462820
mov eax, 0xff
mov byte [ebx + esi + 0x6c0e20], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x46280f
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x46280b
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 0x462862
xor eax, eax
mov byte [ecx + ebp + 0x6d0f20], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x462850
mov ecx, esi
cmp esi, 0x100
jl 0x462843
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x46289e
mov eax, 0xff
jmp 0x4628a4
test eax, eax
jge 0x4628a4
xor eax, eax
mov byte [edx + ebp + 0x721420], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x46288a
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x462886
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 0x4628f7
movsx eax, word [esi + ebx*2 + 0x61849e]
jmp 0x462910
jle 0x46290c
movsx eax, word [esi + edx*2 + 0x61889e]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x462910
jne 0x462910
mov eax, edi
mov byte [ecx + edi + 0x6e1020], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x4628e5
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 0x4628d9
xor edx, edx
fld qword [0x579d58]
cmp edx, 0x80
jl 0x462962
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x4629ee
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 0x4629c7
mov eax, 0xff
jmp 0x4629cd
test eax, eax
jge 0x4629cd
xor eax, eax
mov byte [ecx + ebx + 0x6f1120], al
inc ebx
cmp ebx, 0x100
jge 0x462ab1
cmp edx, 0x80
jl 0x462969
cmp ebx, 0x20
jg 0x462a5c
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 0x4629b9
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 0x4629b9
inc edx
cmp edx, 0x100
jl 0x46294e
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 0x462b08
test ecx, ecx
jne 0x462af7
xor eax, eax
jmp 0x462b29
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x462b29
xor eax, eax
jmp 0x462b29
cmp ecx, 0xff
je 0x462c11
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x462b29
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x701220], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x462ae7
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 0x462ad1
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x462b91
mov eax, 0xff
jmp 0x462b97
test eax, eax
jge 0x462b97
xor eax, eax
mov byte [ecx + ebp + 0x711320], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x462b7d
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x462b79
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x462bda
cmp edi, ebx
jle 0x462bd6
mov eax, ebx
jmp 0x462be4
mov eax, edi
jmp 0x462be4
cmp edi, ecx
jle 0x462be2
mov eax, edi
jmp 0x462be4
mov eax, ecx
mov byte [edx + edi + 0x741620], al
inc edi
cmp edi, 0x100
jl 0x462bc6
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x462bc4
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x462b29