Function at 0x453b98
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x785704], 0x414c80
mov dword [0x78570c], 0x414e5c
mov dword [0x785714], 0x415164
mov dword [0x78571c], 0x4154b4
mov dword [0x785724], 0x415838
mov dword [0x78572c], 0x415bf0
mov dword [0x785734], 0x416300
mov dword [0x78573c], 0x416684
mov dword [0x785744], 0x415f38
mov dword [0x78574c], 0x416a08
mov dword [0x785754], 0x416dc0
mov dword [0x78575c], 0x417178
mov dword [0x785764], 0x417530
mov dword [0x78576c], 0x4178e8
mov dword [0x785774], 0x417c6c
mov dword [0x78577c], 0x418024
mov dword [0x785784], 0x4183dc
mov dword [0x78578c], 0x418794
mov dword [0x785794], 0x418b18
mov dword [0x785700], 0x414c98
mov dword [0x785708], 0x414e74
mov dword [0x785710], 0x41517c
mov dword [0x785718], 0x4154cc
mov dword [0x785720], 0x415884
mov dword [0x785728], 0x415c08
mov dword [0x785730], 0x416318
mov dword [0x785738], 0x41669c
mov dword [0x785740], 0x415f84
mov dword [0x785748], 0x416a54
mov dword [0x785750], 0x416e0c
mov dword [0x785758], 0x4171c4
mov dword [0x785760], 0x41757c
mov dword [0x785768], 0x417900
mov dword [0x785770], 0x417cb8
mov dword [0x785778], 0x418070
mov dword [0x785780], 0x418428
mov dword [0x785788], 0x4187ac
mov dword [0x785790], 0x418b64
mov dword [0x7857a4], 0x414cb4
mov dword [0x7857ac], 0x414e90
mov dword [0x7857b4], 0x4151cc
mov dword [0x7857bc], 0x415524
mov dword [0x7857c4], 0x4158dc
mov dword [0x7857cc], 0x415c24
mov dword [0x7857d4], 0x416370
mov dword [0x7857dc], 0x4166f4
mov dword [0x7857e4], 0x415fec
mov dword [0x7857ec], 0x416aac
mov dword [0x7857f4], 0x416e64
mov dword [0x7857fc], 0x41721c
mov dword [0x785804], 0x4175d4
mov dword [0x78580c], 0x417958
mov dword [0x785814], 0x417d10
mov dword [0x78581c], 0x4180c8
mov dword [0x785824], 0x418480
mov dword [0x78582c], 0x418804
mov dword [0x785834], 0x418bbc
mov dword [0x7857a0], 0x414ccc
mov dword [0x7857a8], 0x414f34
mov dword [0x7857b0], 0x415274
mov dword [0x7857b8], 0x4155d8
mov dword [0x7857c0], 0x415990
mov dword [0x7857c8], 0x415cd8
mov dword [0x7857d0], 0x416424
mov dword [0x7857d8], 0x4167a8
mov dword [0x7857e0], 0x4160a0
mov dword [0x7857e8], 0x416b60
mov dword [0x7857f0], 0x416f18
mov dword [0x7857f8], 0x4172d0
mov dword [0x785800], 0x417688
mov dword [0x785808], 0x417a0c
mov dword [0x785810], 0x417dc4
mov dword [0x785818], 0x41817c
mov dword [0x785820], 0x418534
mov dword [0x785828], 0x4188b8
mov dword [0x785830], 0x418c70
mov dword [0x785840], 0x414d0c
mov dword [0x785848], 0x414fe0
mov dword [0x785850], 0x415324
mov dword [0x785858], 0x41569c
mov dword [0x785860], 0x415a54
mov dword [0x785868], 0x415d9c
mov dword [0x785870], 0x4164e8
mov dword [0x785878], 0x41686c
mov dword [0x785880], 0x416164
mov dword [0x785888], 0x416c24
mov dword [0x785890], 0x416fdc
mov dword [0x785898], 0x417394
mov dword [0x7858a0], 0x41774c
mov dword [0x7858a8], 0x417ad0
mov dword [0x7858b0], 0x417e88
mov dword [0x7858b8], 0x418240
mov dword [0x7858c0], 0x4185f8
mov dword [0x7858c8], 0x41897c
mov dword [0x7858d0], 0x418d34
mov dword [0x785844], 0x414ce8
mov dword [0x78584c], 0x414fe0
mov dword [0x785854], 0x415324
mov dword [0x78585c], 0x41569c
mov dword [0x785864], 0x415a54
mov dword [0x78586c], 0x415d9c
mov dword [0x785874], 0x4164e8
mov dword [0x78587c], 0x41686c
mov dword [0x785884], 0x416164
mov dword [0x78588c], 0x416c24
mov dword [0x785894], 0x416fdc
mov dword [0x78589c], 0x417394
mov dword [0x7858a4], 0x41774c
mov dword [0x7858ac], 0x417ad0
mov dword [0x7858b4], 0x417e88
mov dword [0x7858bc], 0x418240
mov dword [0x7858c4], 0x4185f8
mov dword [0x7858cc], 0x41897c
mov dword [0x7858d4], 0x418d34
mov dword [0x7858e0], 0x414db0
mov dword [0x7858e8], 0x41509c
mov dword [0x7858f0], 0x4153e8
mov dword [0x7858f8], 0x415764
mov dword [0x785900], 0x415b1c
mov dword [0x785908], 0x415e64
mov dword [0x785910], 0x4165b0
mov dword [0x785918], 0x416934
mov dword [0x785920], 0x41622c
mov dword [0x785928], 0x416cec
mov dword [0x785930], 0x4170a4
mov dword [0x785938], 0x41745c
mov dword [0x785940], 0x417814
mov dword [0x785948], 0x417b98
mov dword [0x785950], 0x417f50
mov dword [0x785958], 0x418308
mov dword [0x785960], 0x4186c0
mov dword [0x785968], 0x418a44
mov dword [0x785970], 0x418dfc
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 + 0x765600], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x4540e5
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x4540db
xor eax, eax
mov byte [eax + 0x663e00], al
jmp 0x45411e
mov byte [eax + 0x663e00], 0xff
inc eax
cmp eax, 0x1ff
jge 0x45412f
cmp eax, 0xff
jg 0x454117
jmp 0x45410f
xor eax, eax
xor edx, edx
jmp 0x45413b
lea edx, [eax - 0xff]
mov byte [eax + 0x664000], dl
inc eax
cmp eax, 0x1ff
jge 0x454152
cmp eax, 0xff
jge 0x454135
jmp 0x454131
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 + 0x664200], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x45415a
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x454156
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x4541a4
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x4541b0
mov eax, 0xff
mov byte [ecx + esi + 0x674300], al
inc esi
cmp esi, 0x100
jge 0x4541c6
test esi, esi
jg 0x45419f
jmp 0x45419b
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x454192
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x60cc1e]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x684400], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x4541df
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x4541d9
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45421f
mov ebx, eax
jmp 0x454221
mov ebx, ecx
mov byte [edx + eax + 0x745000], bl
inc eax
cmp eax, 0x100
jl 0x454217
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x454215
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45424d
mov ebx, ecx
jmp 0x45424f
mov ebx, eax
mov byte [edx + eax + 0x755100], bl
inc eax
cmp eax, 0x100
jl 0x454245
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x454243
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x45427d
neg ebx
mov byte [edx + eax + 0x694500], bl
inc eax
cmp eax, 0x100
jl 0x454273
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x454271
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 + 0x6a4600], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x4542a9
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x45429f
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x60cc1e]
movzx eax, al
mov byte [ebx + ecx + 0x724e00], al
inc ecx
cmp ecx, 0x100
jge 0x454339
cmp ecx, 0x80
jl 0x4542f4
jle 0x45432e
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x60d01e]
sub eax, edi
dec eax
movzx eax, al
jmp 0x4542ff
jne 0x4542ff
mov eax, ebp
and eax, 0xff
jmp 0x4542ff
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x4542ed
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x454364
mov eax, 0xff
mov byte [ebx + esi + 0x6b4700], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x454353
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x45434f
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 0x4543a6
xor eax, eax
mov byte [ecx + ebp + 0x6c4800], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x454394
mov ecx, esi
cmp esi, 0x100
jl 0x454387
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x4543e2
mov eax, 0xff
jmp 0x4543e8
test eax, eax
jge 0x4543e8
xor eax, eax
mov byte [edx + ebp + 0x714d00], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x4543ce
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x4543ca
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 0x45443b
movsx eax, word [esi + ebx*2 + 0x60cc1e]
jmp 0x454454
jle 0x454450
movsx eax, word [esi + edx*2 + 0x60d01e]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x454454
jne 0x454454
mov eax, edi
mov byte [ecx + edi + 0x6d4900], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x454429
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 0x45441d
xor edx, edx
fld qword [0x56f610]
cmp edx, 0x80
jl 0x4544a6
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x454532
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 0x45450b
mov eax, 0xff
jmp 0x454511
test eax, eax
jge 0x454511
xor eax, eax
mov byte [ecx + ebx + 0x6e4a00], al
inc ebx
cmp ebx, 0x100
jge 0x4545f5
cmp edx, 0x80
jl 0x4544ad
cmp ebx, 0x20
jg 0x4545a0
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 0x4544fd
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 0x4544fd
inc edx
cmp edx, 0x100
jl 0x454492
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 0x45464c
test ecx, ecx
jne 0x45463b
xor eax, eax
jmp 0x45466d
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x45466d
xor eax, eax
jmp 0x45466d
cmp ecx, 0xff
je 0x454755
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x45466d
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x6f4b00], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x45462b
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 0x454615
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x4546d5
mov eax, 0xff
jmp 0x4546db
test eax, eax
jge 0x4546db
xor eax, eax
mov byte [ecx + ebp + 0x704c00], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x4546c1
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x4546bd
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x45471e
cmp edi, ebx
jle 0x45471a
mov eax, ebx
jmp 0x454728
mov eax, edi
jmp 0x454728
cmp edi, ecx
jle 0x454726
mov eax, edi
jmp 0x454728
mov eax, ecx
mov byte [edx + edi + 0x734f00], al
inc edi
cmp edi, 0x100
jl 0x45470a
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x454708
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x45466d