Function at 0x453b40
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x786704], 0x414b08
mov dword [0x78670c], 0x414ce4
mov dword [0x786714], 0x414fec
mov dword [0x78671c], 0x41533c
mov dword [0x786724], 0x4156c0
mov dword [0x78672c], 0x415a78
mov dword [0x786734], 0x416188
mov dword [0x78673c], 0x41650c
mov dword [0x786744], 0x415dc0
mov dword [0x78674c], 0x416890
mov dword [0x786754], 0x416c48
mov dword [0x78675c], 0x417000
mov dword [0x786764], 0x4173b8
mov dword [0x78676c], 0x417770
mov dword [0x786774], 0x417af4
mov dword [0x78677c], 0x417eac
mov dword [0x786784], 0x418264
mov dword [0x78678c], 0x41861c
mov dword [0x786794], 0x4189a0
mov dword [0x786700], 0x414b20
mov dword [0x786708], 0x414cfc
mov dword [0x786710], 0x415004
mov dword [0x786718], 0x415354
mov dword [0x786720], 0x41570c
mov dword [0x786728], 0x415a90
mov dword [0x786730], 0x4161a0
mov dword [0x786738], 0x416524
mov dword [0x786740], 0x415e0c
mov dword [0x786748], 0x4168dc
mov dword [0x786750], 0x416c94
mov dword [0x786758], 0x41704c
mov dword [0x786760], 0x417404
mov dword [0x786768], 0x417788
mov dword [0x786770], 0x417b40
mov dword [0x786778], 0x417ef8
mov dword [0x786780], 0x4182b0
mov dword [0x786788], 0x418634
mov dword [0x786790], 0x4189ec
mov dword [0x7867a4], 0x414b3c
mov dword [0x7867ac], 0x414d18
mov dword [0x7867b4], 0x415054
mov dword [0x7867bc], 0x4153ac
mov dword [0x7867c4], 0x415764
mov dword [0x7867cc], 0x415aac
mov dword [0x7867d4], 0x4161f8
mov dword [0x7867dc], 0x41657c
mov dword [0x7867e4], 0x415e74
mov dword [0x7867ec], 0x416934
mov dword [0x7867f4], 0x416cec
mov dword [0x7867fc], 0x4170a4
mov dword [0x786804], 0x41745c
mov dword [0x78680c], 0x4177e0
mov dword [0x786814], 0x417b98
mov dword [0x78681c], 0x417f50
mov dword [0x786824], 0x418308
mov dword [0x78682c], 0x41868c
mov dword [0x786834], 0x418a44
mov dword [0x7867a0], 0x414b54
mov dword [0x7867a8], 0x414dbc
mov dword [0x7867b0], 0x4150fc
mov dword [0x7867b8], 0x415460
mov dword [0x7867c0], 0x415818
mov dword [0x7867c8], 0x415b60
mov dword [0x7867d0], 0x4162ac
mov dword [0x7867d8], 0x416630
mov dword [0x7867e0], 0x415f28
mov dword [0x7867e8], 0x4169e8
mov dword [0x7867f0], 0x416da0
mov dword [0x7867f8], 0x417158
mov dword [0x786800], 0x417510
mov dword [0x786808], 0x417894
mov dword [0x786810], 0x417c4c
mov dword [0x786818], 0x418004
mov dword [0x786820], 0x4183bc
mov dword [0x786828], 0x418740
mov dword [0x786830], 0x418af8
mov dword [0x786840], 0x414b94
mov dword [0x786848], 0x414e68
mov dword [0x786850], 0x4151ac
mov dword [0x786858], 0x415524
mov dword [0x786860], 0x4158dc
mov dword [0x786868], 0x415c24
mov dword [0x786870], 0x416370
mov dword [0x786878], 0x4166f4
mov dword [0x786880], 0x415fec
mov dword [0x786888], 0x416aac
mov dword [0x786890], 0x416e64
mov dword [0x786898], 0x41721c
mov dword [0x7868a0], 0x4175d4
mov dword [0x7868a8], 0x417958
mov dword [0x7868b0], 0x417d10
mov dword [0x7868b8], 0x4180c8
mov dword [0x7868c0], 0x418480
mov dword [0x7868c8], 0x418804
mov dword [0x7868d0], 0x418bbc
mov dword [0x786844], 0x414b70
mov dword [0x78684c], 0x414e68
mov dword [0x786854], 0x4151ac
mov dword [0x78685c], 0x415524
mov dword [0x786864], 0x4158dc
mov dword [0x78686c], 0x415c24
mov dword [0x786874], 0x416370
mov dword [0x78687c], 0x4166f4
mov dword [0x786884], 0x415fec
mov dword [0x78688c], 0x416aac
mov dword [0x786894], 0x416e64
mov dword [0x78689c], 0x41721c
mov dword [0x7868a4], 0x4175d4
mov dword [0x7868ac], 0x417958
mov dword [0x7868b4], 0x417d10
mov dword [0x7868bc], 0x4180c8
mov dword [0x7868c4], 0x418480
mov dword [0x7868cc], 0x418804
mov dword [0x7868d4], 0x418bbc
mov dword [0x7868e0], 0x414c38
mov dword [0x7868e8], 0x414f24
mov dword [0x7868f0], 0x415270
mov dword [0x7868f8], 0x4155ec
mov dword [0x786900], 0x4159a4
mov dword [0x786908], 0x415cec
mov dword [0x786910], 0x416438
mov dword [0x786918], 0x4167bc
mov dword [0x786920], 0x4160b4
mov dword [0x786928], 0x416b74
mov dword [0x786930], 0x416f2c
mov dword [0x786938], 0x4172e4
mov dword [0x786940], 0x41769c
mov dword [0x786948], 0x417a20
mov dword [0x786950], 0x417dd8
mov dword [0x786958], 0x418190
mov dword [0x786960], 0x418548
mov dword [0x786968], 0x4188cc
mov dword [0x786970], 0x418c84
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 + 0x766600], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x45408d
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x454083
xor eax, eax
mov byte [eax + 0x664e00], al
jmp 0x4540c6
mov byte [eax + 0x664e00], 0xff
inc eax
cmp eax, 0x1ff
jge 0x4540d7
cmp eax, 0xff
jg 0x4540bf
jmp 0x4540b7
xor eax, eax
xor edx, edx
jmp 0x4540e3
lea edx, [eax - 0xff]
mov byte [eax + 0x665000], dl
inc eax
cmp eax, 0x1ff
jge 0x4540fa
cmp eax, 0xff
jge 0x4540dd
jmp 0x4540d9
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 + 0x665200], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x454102
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x4540fe
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x45414c
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x454158
mov eax, 0xff
mov byte [ecx + esi + 0x675300], al
inc esi
cmp esi, 0x100
jge 0x45416e
test esi, esi
jg 0x454147
jmp 0x454143
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x45413a
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x60dc1e]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x685400], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x454187
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x454181
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x4541c7
mov ebx, eax
jmp 0x4541c9
mov ebx, ecx
mov byte [edx + eax + 0x746000], bl
inc eax
cmp eax, 0x100
jl 0x4541bf
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x4541bd
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x4541f5
mov ebx, ecx
jmp 0x4541f7
mov ebx, eax
mov byte [edx + eax + 0x756100], bl
inc eax
cmp eax, 0x100
jl 0x4541ed
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x4541eb
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x454225
neg ebx
mov byte [edx + eax + 0x695500], bl
inc eax
cmp eax, 0x100
jl 0x45421b
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x454219
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 + 0x6a5600], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x454251
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x454247
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x60dc1e]
movzx eax, al
mov byte [ebx + ecx + 0x725e00], al
inc ecx
cmp ecx, 0x100
jge 0x4542e1
cmp ecx, 0x80
jl 0x45429c
jle 0x4542d6
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x60e01e]
sub eax, edi
dec eax
movzx eax, al
jmp 0x4542a7
jne 0x4542a7
mov eax, ebp
and eax, 0xff
jmp 0x4542a7
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x454295
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x45430c
mov eax, 0xff
mov byte [ebx + esi + 0x6b5700], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x4542fb
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x4542f7
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 0x45434e
xor eax, eax
mov byte [ecx + ebp + 0x6c5800], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x45433c
mov ecx, esi
cmp esi, 0x100
jl 0x45432f
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x45438a
mov eax, 0xff
jmp 0x454390
test eax, eax
jge 0x454390
xor eax, eax
mov byte [edx + ebp + 0x715d00], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x454376
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x454372
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 0x4543e3
movsx eax, word [esi + ebx*2 + 0x60dc1e]
jmp 0x4543fc
jle 0x4543f8
movsx eax, word [esi + edx*2 + 0x60e01e]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x4543fc
jne 0x4543fc
mov eax, edi
mov byte [ecx + edi + 0x6d5900], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x4543d1
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 0x4543c5
xor edx, edx
fld qword [0x570610]
cmp edx, 0x80
jl 0x45444e
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x4544da
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 0x4544b3
mov eax, 0xff
jmp 0x4544b9
test eax, eax
jge 0x4544b9
xor eax, eax
mov byte [ecx + ebx + 0x6e5a00], al
inc ebx
cmp ebx, 0x100
jge 0x45459d
cmp edx, 0x80
jl 0x454455
cmp ebx, 0x20
jg 0x454548
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 0x4544a5
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 0x4544a5
inc edx
cmp edx, 0x100
jl 0x45443a
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 0x4545f4
test ecx, ecx
jne 0x4545e3
xor eax, eax
jmp 0x454615
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x454615
xor eax, eax
jmp 0x454615
cmp ecx, 0xff
je 0x4546fd
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x454615
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x6f5b00], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x4545d3
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 0x4545bd
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x45467d
mov eax, 0xff
jmp 0x454683
test eax, eax
jge 0x454683
xor eax, eax
mov byte [ecx + ebp + 0x705c00], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x454669
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x454665
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x4546c6
cmp edi, ebx
jle 0x4546c2
mov eax, ebx
jmp 0x4546d0
mov eax, edi
jmp 0x4546d0
cmp edi, ecx
jle 0x4546ce
mov eax, edi
jmp 0x4546d0
mov eax, ecx
mov byte [edx + edi + 0x735f00], al
inc edi
cmp edi, 0x100
jl 0x4546b2
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x4546b0
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x454615