Function at 0x45de70
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x7ac264], 0x41d2f0
mov dword [0x7ac26c], 0x41d4cc
mov dword [0x7ac274], 0x41d6bc
mov dword [0x7ac27c], 0x41da0c
mov dword [0x7ac284], 0x41dd90
mov dword [0x7ac28c], 0x41e148
mov dword [0x7ac294], 0x41e858
mov dword [0x7ac29c], 0x41ebdc
mov dword [0x7ac2a4], 0x41e490
mov dword [0x7ac2ac], 0x41ef60
mov dword [0x7ac2b4], 0x41f318
mov dword [0x7ac2bc], 0x41f6d0
mov dword [0x7ac2c4], 0x41fa88
mov dword [0x7ac2cc], 0x41fe40
mov dword [0x7ac2d4], 0x4201c4
mov dword [0x7ac2dc], 0x42057c
mov dword [0x7ac2e4], 0x420934
mov dword [0x7ac2ec], 0x420cec
mov dword [0x7ac2f4], 0x421070
mov dword [0x7ac260], 0x41d308
mov dword [0x7ac268], 0x41d4e4
mov dword [0x7ac270], 0x41d6d4
mov dword [0x7ac278], 0x41da24
mov dword [0x7ac280], 0x41dddc
mov dword [0x7ac288], 0x41e160
mov dword [0x7ac290], 0x41e870
mov dword [0x7ac298], 0x41ebf4
mov dword [0x7ac2a0], 0x41e4dc
mov dword [0x7ac2a8], 0x41efac
mov dword [0x7ac2b0], 0x41f364
mov dword [0x7ac2b8], 0x41f71c
mov dword [0x7ac2c0], 0x41fad4
mov dword [0x7ac2c8], 0x41fe58
mov dword [0x7ac2d0], 0x420210
mov dword [0x7ac2d8], 0x4205c8
mov dword [0x7ac2e0], 0x420980
mov dword [0x7ac2e8], 0x420d04
mov dword [0x7ac2f0], 0x4210bc
mov dword [0x7ac304], 0x41d324
mov dword [0x7ac30c], 0x41d500
mov dword [0x7ac314], 0x41d724
mov dword [0x7ac31c], 0x41da7c
mov dword [0x7ac324], 0x41de34
mov dword [0x7ac32c], 0x41e17c
mov dword [0x7ac334], 0x41e8c8
mov dword [0x7ac33c], 0x41ec4c
mov dword [0x7ac344], 0x41e544
mov dword [0x7ac34c], 0x41f004
mov dword [0x7ac354], 0x41f3bc
mov dword [0x7ac35c], 0x41f774
mov dword [0x7ac364], 0x41fb2c
mov dword [0x7ac36c], 0x41feb0
mov dword [0x7ac374], 0x420268
mov dword [0x7ac37c], 0x420620
mov dword [0x7ac384], 0x4209d8
mov dword [0x7ac38c], 0x420d5c
mov dword [0x7ac394], 0x421114
mov dword [0x7ac300], 0x41d33c
mov dword [0x7ac308], 0x41d51c
mov dword [0x7ac310], 0x41d7cc
mov dword [0x7ac318], 0x41db30
mov dword [0x7ac320], 0x41dee8
mov dword [0x7ac328], 0x41e230
mov dword [0x7ac330], 0x41e97c
mov dword [0x7ac338], 0x41ed00
mov dword [0x7ac340], 0x41e5f8
mov dword [0x7ac348], 0x41f0b8
mov dword [0x7ac350], 0x41f470
mov dword [0x7ac358], 0x41f828
mov dword [0x7ac360], 0x41fbe0
mov dword [0x7ac368], 0x41ff64
mov dword [0x7ac370], 0x42031c
mov dword [0x7ac378], 0x4206d4
mov dword [0x7ac380], 0x420a8c
mov dword [0x7ac388], 0x420e10
mov dword [0x7ac390], 0x4211c8
mov dword [0x7ac3a0], 0x41d37c
mov dword [0x7ac3a8], 0x41d538
mov dword [0x7ac3b0], 0x41d87c
mov dword [0x7ac3b8], 0x41dbf4
mov dword [0x7ac3c0], 0x41dfac
mov dword [0x7ac3c8], 0x41e2f4
mov dword [0x7ac3d0], 0x41ea40
mov dword [0x7ac3d8], 0x41edc4
mov dword [0x7ac3e0], 0x41e6bc
mov dword [0x7ac3e8], 0x41f17c
mov dword [0x7ac3f0], 0x41f534
mov dword [0x7ac3f8], 0x41f8ec
mov dword [0x7ac400], 0x41fca4
mov dword [0x7ac408], 0x420028
mov dword [0x7ac410], 0x4203e0
mov dword [0x7ac418], 0x420798
mov dword [0x7ac420], 0x420b50
mov dword [0x7ac428], 0x420ed4
mov dword [0x7ac430], 0x42128c
mov dword [0x7ac3a4], 0x41d358
mov dword [0x7ac3ac], 0x41d538
mov dword [0x7ac3b4], 0x41d87c
mov dword [0x7ac3bc], 0x41dbf4
mov dword [0x7ac3c4], 0x41dfac
mov dword [0x7ac3cc], 0x41e2f4
mov dword [0x7ac3d4], 0x41ea40
mov dword [0x7ac3dc], 0x41edc4
mov dword [0x7ac3e4], 0x41e6bc
mov dword [0x7ac3ec], 0x41f17c
mov dword [0x7ac3f4], 0x41f534
mov dword [0x7ac3fc], 0x41f8ec
mov dword [0x7ac404], 0x41fca4
mov dword [0x7ac40c], 0x420028
mov dword [0x7ac414], 0x4203e0
mov dword [0x7ac41c], 0x420798
mov dword [0x7ac424], 0x420b50
mov dword [0x7ac42c], 0x420ed4
mov dword [0x7ac434], 0x42128c
mov dword [0x7ac440], 0x41d420
mov dword [0x7ac448], 0x41d5f4
mov dword [0x7ac450], 0x41d940
mov dword [0x7ac458], 0x41dcbc
mov dword [0x7ac460], 0x41e074
mov dword [0x7ac468], 0x41e3bc
mov dword [0x7ac470], 0x41eb08
mov dword [0x7ac478], 0x41ee8c
mov dword [0x7ac480], 0x41e784
mov dword [0x7ac488], 0x41f244
mov dword [0x7ac490], 0x41f5fc
mov dword [0x7ac498], 0x41f9b4
mov dword [0x7ac4a0], 0x41fd6c
mov dword [0x7ac4a8], 0x4200f0
mov dword [0x7ac4b0], 0x4204a8
mov dword [0x7ac4b8], 0x420860
mov dword [0x7ac4c0], 0x420c18
mov dword [0x7ac4c8], 0x420f9c
mov dword [0x7ac4d0], 0x421354
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 + 0x78c160], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x45e3bd
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x45e3b3
xor eax, eax
mov byte [eax + 0x68a960], al
jmp 0x45e3f6
mov byte [eax + 0x68a960], 0xff
inc eax
cmp eax, 0x1ff
jge 0x45e407
cmp eax, 0xff
jg 0x45e3ef
jmp 0x45e3e7
xor eax, eax
xor edx, edx
jmp 0x45e413
lea edx, [eax - 0xff]
mov byte [eax + 0x68ab60], dl
inc eax
cmp eax, 0x1ff
jge 0x45e42a
cmp eax, 0xff
jge 0x45e40d
jmp 0x45e409
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 + 0x68ad60], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x45e432
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45e42e
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x45e47c
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x45e488
mov eax, 0xff
mov byte [ecx + esi + 0x69ae60], al
inc esi
cmp esi, 0x100
jge 0x45e49e
test esi, esi
jg 0x45e477
jmp 0x45e473
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x45e46a
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x6328de]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x6aaf60], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x45e4b7
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x45e4b1
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45e4f7
mov ebx, eax
jmp 0x45e4f9
mov ebx, ecx
mov byte [edx + eax + 0x76bb60], bl
inc eax
cmp eax, 0x100
jl 0x45e4ef
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45e4ed
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45e525
mov ebx, ecx
jmp 0x45e527
mov ebx, eax
mov byte [edx + eax + 0x77bc60], bl
inc eax
cmp eax, 0x100
jl 0x45e51d
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45e51b
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x45e555
neg ebx
mov byte [edx + eax + 0x6bb060], bl
inc eax
cmp eax, 0x100
jl 0x45e54b
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45e549
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 + 0x6cb160], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x45e581
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x45e577
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x6328de]
movzx eax, al
mov byte [ebx + ecx + 0x74b960], al
inc ecx
cmp ecx, 0x100
jge 0x45e611
cmp ecx, 0x80
jl 0x45e5cc
jle 0x45e606
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x632cde]
sub eax, edi
dec eax
movzx eax, al
jmp 0x45e5d7
jne 0x45e5d7
mov eax, ebp
and eax, 0xff
jmp 0x45e5d7
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x45e5c5
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x45e63c
mov eax, 0xff
mov byte [ebx + esi + 0x6db260], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x45e62b
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x45e627
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 0x45e67e
xor eax, eax
mov byte [ecx + ebp + 0x6eb360], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x45e66c
mov ecx, esi
cmp esi, 0x100
jl 0x45e65f
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x45e6ba
mov eax, 0xff
jmp 0x45e6c0
test eax, eax
jge 0x45e6c0
xor eax, eax
mov byte [edx + ebp + 0x73b860], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x45e6a6
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45e6a2
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 0x45e713
movsx eax, word [esi + ebx*2 + 0x6328de]
jmp 0x45e72c
jle 0x45e728
movsx eax, word [esi + edx*2 + 0x632cde]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x45e72c
jne 0x45e72c
mov eax, edi
mov byte [ecx + edi + 0x6fb460], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x45e701
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 0x45e6f5
xor edx, edx
fld qword [0x590ef8]
cmp edx, 0x80
jl 0x45e77e
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x45e80a
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 0x45e7e3
mov eax, 0xff
jmp 0x45e7e9
test eax, eax
jge 0x45e7e9
xor eax, eax
mov byte [ecx + ebx + 0x70b560], al
inc ebx
cmp ebx, 0x100
jge 0x45e8cd
cmp edx, 0x80
jl 0x45e785
cmp ebx, 0x20
jg 0x45e878
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 0x45e7d5
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 0x45e7d5
inc edx
cmp edx, 0x100
jl 0x45e76a
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 0x45e924
test ecx, ecx
jne 0x45e913
xor eax, eax
jmp 0x45e945
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x45e945
xor eax, eax
jmp 0x45e945
cmp ecx, 0xff
je 0x45ea2d
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x45e945
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x71b660], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x45e903
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 0x45e8ed
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x45e9ad
mov eax, 0xff
jmp 0x45e9b3
test eax, eax
jge 0x45e9b3
xor eax, eax
mov byte [ecx + ebp + 0x72b760], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x45e999
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x45e995
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x45e9f6
cmp edi, ebx
jle 0x45e9f2
mov eax, ebx
jmp 0x45ea00
mov eax, edi
jmp 0x45ea00
cmp edi, ecx
jle 0x45e9fe
mov eax, edi
jmp 0x45ea00
mov eax, ecx
mov byte [edx + edi + 0x75ba60], al
inc edi
cmp edi, 0x100
jl 0x45e9e2
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x45e9e0
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x45e945