Function at 0x45a2b0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x7a7744], 0x41d100
mov dword [0x7a774c], 0x41d2dc
mov dword [0x7a7754], 0x41d4cc
mov dword [0x7a775c], 0x41d81c
mov dword [0x7a7764], 0x41dba0
mov dword [0x7a776c], 0x41df58
mov dword [0x7a7774], 0x41e668
mov dword [0x7a777c], 0x41e9ec
mov dword [0x7a7784], 0x41e2a0
mov dword [0x7a778c], 0x41ed70
mov dword [0x7a7794], 0x41f128
mov dword [0x7a779c], 0x41f4e0
mov dword [0x7a77a4], 0x41f898
mov dword [0x7a77ac], 0x41fc50
mov dword [0x7a77b4], 0x41ffd4
mov dword [0x7a77bc], 0x42038c
mov dword [0x7a77c4], 0x420744
mov dword [0x7a77cc], 0x420afc
mov dword [0x7a77d4], 0x420e80
mov dword [0x7a7740], 0x41d118
mov dword [0x7a7748], 0x41d2f4
mov dword [0x7a7750], 0x41d4e4
mov dword [0x7a7758], 0x41d834
mov dword [0x7a7760], 0x41dbec
mov dword [0x7a7768], 0x41df70
mov dword [0x7a7770], 0x41e680
mov dword [0x7a7778], 0x41ea04
mov dword [0x7a7780], 0x41e2ec
mov dword [0x7a7788], 0x41edbc
mov dword [0x7a7790], 0x41f174
mov dword [0x7a7798], 0x41f52c
mov dword [0x7a77a0], 0x41f8e4
mov dword [0x7a77a8], 0x41fc68
mov dword [0x7a77b0], 0x420020
mov dword [0x7a77b8], 0x4203d8
mov dword [0x7a77c0], 0x420790
mov dword [0x7a77c8], 0x420b14
mov dword [0x7a77d0], 0x420ecc
mov dword [0x7a77e4], 0x41d134
mov dword [0x7a77ec], 0x41d310
mov dword [0x7a77f4], 0x41d534
mov dword [0x7a77fc], 0x41d88c
mov dword [0x7a7804], 0x41dc44
mov dword [0x7a780c], 0x41df8c
mov dword [0x7a7814], 0x41e6d8
mov dword [0x7a781c], 0x41ea5c
mov dword [0x7a7824], 0x41e354
mov dword [0x7a782c], 0x41ee14
mov dword [0x7a7834], 0x41f1cc
mov dword [0x7a783c], 0x41f584
mov dword [0x7a7844], 0x41f93c
mov dword [0x7a784c], 0x41fcc0
mov dword [0x7a7854], 0x420078
mov dword [0x7a785c], 0x420430
mov dword [0x7a7864], 0x4207e8
mov dword [0x7a786c], 0x420b6c
mov dword [0x7a7874], 0x420f24
mov dword [0x7a77e0], 0x41d14c
mov dword [0x7a77e8], 0x41d32c
mov dword [0x7a77f0], 0x41d5dc
mov dword [0x7a77f8], 0x41d940
mov dword [0x7a7800], 0x41dcf8
mov dword [0x7a7808], 0x41e040
mov dword [0x7a7810], 0x41e78c
mov dword [0x7a7818], 0x41eb10
mov dword [0x7a7820], 0x41e408
mov dword [0x7a7828], 0x41eec8
mov dword [0x7a7830], 0x41f280
mov dword [0x7a7838], 0x41f638
mov dword [0x7a7840], 0x41f9f0
mov dword [0x7a7848], 0x41fd74
mov dword [0x7a7850], 0x42012c
mov dword [0x7a7858], 0x4204e4
mov dword [0x7a7860], 0x42089c
mov dword [0x7a7868], 0x420c20
mov dword [0x7a7870], 0x420fd8
mov dword [0x7a7880], 0x41d18c
mov dword [0x7a7888], 0x41d348
mov dword [0x7a7890], 0x41d68c
mov dword [0x7a7898], 0x41da04
mov dword [0x7a78a0], 0x41ddbc
mov dword [0x7a78a8], 0x41e104
mov dword [0x7a78b0], 0x41e850
mov dword [0x7a78b8], 0x41ebd4
mov dword [0x7a78c0], 0x41e4cc
mov dword [0x7a78c8], 0x41ef8c
mov dword [0x7a78d0], 0x41f344
mov dword [0x7a78d8], 0x41f6fc
mov dword [0x7a78e0], 0x41fab4
mov dword [0x7a78e8], 0x41fe38
mov dword [0x7a78f0], 0x4201f0
mov dword [0x7a78f8], 0x4205a8
mov dword [0x7a7900], 0x420960
mov dword [0x7a7908], 0x420ce4
mov dword [0x7a7910], 0x42109c
mov dword [0x7a7884], 0x41d168
mov dword [0x7a788c], 0x41d348
mov dword [0x7a7894], 0x41d68c
mov dword [0x7a789c], 0x41da04
mov dword [0x7a78a4], 0x41ddbc
mov dword [0x7a78ac], 0x41e104
mov dword [0x7a78b4], 0x41e850
mov dword [0x7a78bc], 0x41ebd4
mov dword [0x7a78c4], 0x41e4cc
mov dword [0x7a78cc], 0x41ef8c
mov dword [0x7a78d4], 0x41f344
mov dword [0x7a78dc], 0x41f6fc
mov dword [0x7a78e4], 0x41fab4
mov dword [0x7a78ec], 0x41fe38
mov dword [0x7a78f4], 0x4201f0
mov dword [0x7a78fc], 0x4205a8
mov dword [0x7a7904], 0x420960
mov dword [0x7a790c], 0x420ce4
mov dword [0x7a7914], 0x42109c
mov dword [0x7a7920], 0x41d230
mov dword [0x7a7928], 0x41d404
mov dword [0x7a7930], 0x41d750
mov dword [0x7a7938], 0x41dacc
mov dword [0x7a7940], 0x41de84
mov dword [0x7a7948], 0x41e1cc
mov dword [0x7a7950], 0x41e918
mov dword [0x7a7958], 0x41ec9c
mov dword [0x7a7960], 0x41e594
mov dword [0x7a7968], 0x41f054
mov dword [0x7a7970], 0x41f40c
mov dword [0x7a7978], 0x41f7c4
mov dword [0x7a7980], 0x41fb7c
mov dword [0x7a7988], 0x41ff00
mov dword [0x7a7990], 0x4202b8
mov dword [0x7a7998], 0x420670
mov dword [0x7a79a0], 0x420a28
mov dword [0x7a79a8], 0x420dac
mov dword [0x7a79b0], 0x421164
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 + 0x787640], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x45a7fd
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x45a7f3
xor eax, eax
mov byte [eax + 0x685e40], al
jmp 0x45a836
mov byte [eax + 0x685e40], 0xff
inc eax
cmp eax, 0x1ff
jge 0x45a847
cmp eax, 0xff
jg 0x45a82f
jmp 0x45a827
xor eax, eax
xor edx, edx
jmp 0x45a853
lea edx, [eax - 0xff]
mov byte [eax + 0x686040], dl
inc eax
cmp eax, 0x1ff
jge 0x45a86a
cmp eax, 0xff
jge 0x45a84d
jmp 0x45a849
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 + 0x686240], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x45a872
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45a86e
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x45a8bc
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x45a8c8
mov eax, 0xff
mov byte [ecx + esi + 0x696340], al
inc esi
cmp esi, 0x100
jge 0x45a8de
test esi, esi
jg 0x45a8b7
jmp 0x45a8b3
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x45a8aa
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x62df3e]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x6a6440], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x45a8f7
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x45a8f1
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45a937
mov ebx, eax
jmp 0x45a939
mov ebx, ecx
mov byte [edx + eax + 0x767040], bl
inc eax
cmp eax, 0x100
jl 0x45a92f
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45a92d
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45a965
mov ebx, ecx
jmp 0x45a967
mov ebx, eax
mov byte [edx + eax + 0x777140], bl
inc eax
cmp eax, 0x100
jl 0x45a95d
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45a95b
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x45a995
neg ebx
mov byte [edx + eax + 0x6b6540], bl
inc eax
cmp eax, 0x100
jl 0x45a98b
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45a989
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 + 0x6c6640], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x45a9c1
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x45a9b7
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x62df3e]
movzx eax, al
mov byte [ebx + ecx + 0x746e40], al
inc ecx
cmp ecx, 0x100
jge 0x45aa51
cmp ecx, 0x80
jl 0x45aa0c
jle 0x45aa46
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x62e33e]
sub eax, edi
dec eax
movzx eax, al
jmp 0x45aa17
jne 0x45aa17
mov eax, ebp
and eax, 0xff
jmp 0x45aa17
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x45aa05
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x45aa7c
mov eax, 0xff
mov byte [ebx + esi + 0x6d6740], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x45aa6b
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x45aa67
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 0x45aabe
xor eax, eax
mov byte [ecx + ebp + 0x6e6840], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x45aaac
mov ecx, esi
cmp esi, 0x100
jl 0x45aa9f
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x45aafa
mov eax, 0xff
jmp 0x45ab00
test eax, eax
jge 0x45ab00
xor eax, eax
mov byte [edx + ebp + 0x736d40], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x45aae6
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45aae2
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 0x45ab53
movsx eax, word [esi + ebx*2 + 0x62df3e]
jmp 0x45ab6c
jle 0x45ab68
movsx eax, word [esi + edx*2 + 0x62e33e]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x45ab6c
jne 0x45ab6c
mov eax, edi
mov byte [ecx + edi + 0x6f6940], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x45ab41
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 0x45ab35
xor edx, edx
fld qword [0x58ce48]
cmp edx, 0x80
jl 0x45abbe
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x45ac4a
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 0x45ac23
mov eax, 0xff
jmp 0x45ac29
test eax, eax
jge 0x45ac29
xor eax, eax
mov byte [ecx + ebx + 0x706a40], al
inc ebx
cmp ebx, 0x100
jge 0x45ad0d
cmp edx, 0x80
jl 0x45abc5
cmp ebx, 0x20
jg 0x45acb8
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 0x45ac15
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 0x45ac15
inc edx
cmp edx, 0x100
jl 0x45abaa
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 0x45ad64
test ecx, ecx
jne 0x45ad53
xor eax, eax
jmp 0x45ad85
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x45ad85
xor eax, eax
jmp 0x45ad85
cmp ecx, 0xff
je 0x45ae6d
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x45ad85
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x716b40], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x45ad43
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 0x45ad2d
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x45aded
mov eax, 0xff
jmp 0x45adf3
test eax, eax
jge 0x45adf3
xor eax, eax
mov byte [ecx + ebp + 0x726c40], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x45add9
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x45add5
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x45ae36
cmp edi, ebx
jle 0x45ae32
mov eax, ebx
jmp 0x45ae40
mov eax, edi
jmp 0x45ae40
cmp edi, ecx
jle 0x45ae3e
mov eax, edi
jmp 0x45ae40
mov eax, ecx
mov byte [edx + edi + 0x756f40], al
inc edi
cmp edi, 0x100
jl 0x45ae22
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x45ae20
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x45ad85