Function at 0x45cb50
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x7ab364], 0x41d0c8
mov dword [0x7ab36c], 0x41d2a4
mov dword [0x7ab374], 0x41d494
mov dword [0x7ab37c], 0x41d7e4
mov dword [0x7ab384], 0x41db68
mov dword [0x7ab38c], 0x41df20
mov dword [0x7ab394], 0x41e630
mov dword [0x7ab39c], 0x41e9b4
mov dword [0x7ab3a4], 0x41e268
mov dword [0x7ab3ac], 0x41ed38
mov dword [0x7ab3b4], 0x41f0f0
mov dword [0x7ab3bc], 0x41f4a8
mov dword [0x7ab3c4], 0x41f860
mov dword [0x7ab3cc], 0x41fc18
mov dword [0x7ab3d4], 0x41ff9c
mov dword [0x7ab3dc], 0x420354
mov dword [0x7ab3e4], 0x42070c
mov dword [0x7ab3ec], 0x420ac4
mov dword [0x7ab3f4], 0x420e48
mov dword [0x7ab360], 0x41d0e0
mov dword [0x7ab368], 0x41d2bc
mov dword [0x7ab370], 0x41d4ac
mov dword [0x7ab378], 0x41d7fc
mov dword [0x7ab380], 0x41dbb4
mov dword [0x7ab388], 0x41df38
mov dword [0x7ab390], 0x41e648
mov dword [0x7ab398], 0x41e9cc
mov dword [0x7ab3a0], 0x41e2b4
mov dword [0x7ab3a8], 0x41ed84
mov dword [0x7ab3b0], 0x41f13c
mov dword [0x7ab3b8], 0x41f4f4
mov dword [0x7ab3c0], 0x41f8ac
mov dword [0x7ab3c8], 0x41fc30
mov dword [0x7ab3d0], 0x41ffe8
mov dword [0x7ab3d8], 0x4203a0
mov dword [0x7ab3e0], 0x420758
mov dword [0x7ab3e8], 0x420adc
mov dword [0x7ab3f0], 0x420e94
mov dword [0x7ab404], 0x41d0fc
mov dword [0x7ab40c], 0x41d2d8
mov dword [0x7ab414], 0x41d4fc
mov dword [0x7ab41c], 0x41d854
mov dword [0x7ab424], 0x41dc0c
mov dword [0x7ab42c], 0x41df54
mov dword [0x7ab434], 0x41e6a0
mov dword [0x7ab43c], 0x41ea24
mov dword [0x7ab444], 0x41e31c
mov dword [0x7ab44c], 0x41eddc
mov dword [0x7ab454], 0x41f194
mov dword [0x7ab45c], 0x41f54c
mov dword [0x7ab464], 0x41f904
mov dword [0x7ab46c], 0x41fc88
mov dword [0x7ab474], 0x420040
mov dword [0x7ab47c], 0x4203f8
mov dword [0x7ab484], 0x4207b0
mov dword [0x7ab48c], 0x420b34
mov dword [0x7ab494], 0x420eec
mov dword [0x7ab400], 0x41d114
mov dword [0x7ab408], 0x41d2f4
mov dword [0x7ab410], 0x41d5a4
mov dword [0x7ab418], 0x41d908
mov dword [0x7ab420], 0x41dcc0
mov dword [0x7ab428], 0x41e008
mov dword [0x7ab430], 0x41e754
mov dword [0x7ab438], 0x41ead8
mov dword [0x7ab440], 0x41e3d0
mov dword [0x7ab448], 0x41ee90
mov dword [0x7ab450], 0x41f248
mov dword [0x7ab458], 0x41f600
mov dword [0x7ab460], 0x41f9b8
mov dword [0x7ab468], 0x41fd3c
mov dword [0x7ab470], 0x4200f4
mov dword [0x7ab478], 0x4204ac
mov dword [0x7ab480], 0x420864
mov dword [0x7ab488], 0x420be8
mov dword [0x7ab490], 0x420fa0
mov dword [0x7ab4a0], 0x41d154
mov dword [0x7ab4a8], 0x41d310
mov dword [0x7ab4b0], 0x41d654
mov dword [0x7ab4b8], 0x41d9cc
mov dword [0x7ab4c0], 0x41dd84
mov dword [0x7ab4c8], 0x41e0cc
mov dword [0x7ab4d0], 0x41e818
mov dword [0x7ab4d8], 0x41eb9c
mov dword [0x7ab4e0], 0x41e494
mov dword [0x7ab4e8], 0x41ef54
mov dword [0x7ab4f0], 0x41f30c
mov dword [0x7ab4f8], 0x41f6c4
mov dword [0x7ab500], 0x41fa7c
mov dword [0x7ab508], 0x41fe00
mov dword [0x7ab510], 0x4201b8
mov dword [0x7ab518], 0x420570
mov dword [0x7ab520], 0x420928
mov dword [0x7ab528], 0x420cac
mov dword [0x7ab530], 0x421064
mov dword [0x7ab4a4], 0x41d130
mov dword [0x7ab4ac], 0x41d310
mov dword [0x7ab4b4], 0x41d654
mov dword [0x7ab4bc], 0x41d9cc
mov dword [0x7ab4c4], 0x41dd84
mov dword [0x7ab4cc], 0x41e0cc
mov dword [0x7ab4d4], 0x41e818
mov dword [0x7ab4dc], 0x41eb9c
mov dword [0x7ab4e4], 0x41e494
mov dword [0x7ab4ec], 0x41ef54
mov dword [0x7ab4f4], 0x41f30c
mov dword [0x7ab4fc], 0x41f6c4
mov dword [0x7ab504], 0x41fa7c
mov dword [0x7ab50c], 0x41fe00
mov dword [0x7ab514], 0x4201b8
mov dword [0x7ab51c], 0x420570
mov dword [0x7ab524], 0x420928
mov dword [0x7ab52c], 0x420cac
mov dword [0x7ab534], 0x421064
mov dword [0x7ab540], 0x41d1f8
mov dword [0x7ab548], 0x41d3cc
mov dword [0x7ab550], 0x41d718
mov dword [0x7ab558], 0x41da94
mov dword [0x7ab560], 0x41de4c
mov dword [0x7ab568], 0x41e194
mov dword [0x7ab570], 0x41e8e0
mov dword [0x7ab578], 0x41ec64
mov dword [0x7ab580], 0x41e55c
mov dword [0x7ab588], 0x41f01c
mov dword [0x7ab590], 0x41f3d4
mov dword [0x7ab598], 0x41f78c
mov dword [0x7ab5a0], 0x41fb44
mov dword [0x7ab5a8], 0x41fec8
mov dword [0x7ab5b0], 0x420280
mov dword [0x7ab5b8], 0x420638
mov dword [0x7ab5c0], 0x4209f0
mov dword [0x7ab5c8], 0x420d74
mov dword [0x7ab5d0], 0x42112c
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 + 0x78b260], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x45d09d
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x45d093
xor eax, eax
mov byte [eax + 0x689a60], al
jmp 0x45d0d6
mov byte [eax + 0x689a60], 0xff
inc eax
cmp eax, 0x1ff
jge 0x45d0e7
cmp eax, 0xff
jg 0x45d0cf
jmp 0x45d0c7
xor eax, eax
xor edx, edx
jmp 0x45d0f3
lea edx, [eax - 0xff]
mov byte [eax + 0x689c60], dl
inc eax
cmp eax, 0x1ff
jge 0x45d10a
cmp eax, 0xff
jge 0x45d0ed
jmp 0x45d0e9
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 + 0x689e60], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x45d112
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45d10e
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x45d15c
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x45d168
mov eax, 0xff
mov byte [ecx + esi + 0x699f60], al
inc esi
cmp esi, 0x100
jge 0x45d17e
test esi, esi
jg 0x45d157
jmp 0x45d153
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x45d14a
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x6319de]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x6aa060], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x45d197
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x45d191
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45d1d7
mov ebx, eax
jmp 0x45d1d9
mov ebx, ecx
mov byte [edx + eax + 0x76ac60], bl
inc eax
cmp eax, 0x100
jl 0x45d1cf
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45d1cd
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x45d205
mov ebx, ecx
jmp 0x45d207
mov ebx, eax
mov byte [edx + eax + 0x77ad60], bl
inc eax
cmp eax, 0x100
jl 0x45d1fd
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45d1fb
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x45d235
neg ebx
mov byte [edx + eax + 0x6ba160], bl
inc eax
cmp eax, 0x100
jl 0x45d22b
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45d229
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 + 0x6ca260], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x45d261
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x45d257
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x6319de]
movzx eax, al
mov byte [ebx + ecx + 0x74aa60], al
inc ecx
cmp ecx, 0x100
jge 0x45d2f1
cmp ecx, 0x80
jl 0x45d2ac
jle 0x45d2e6
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x631dde]
sub eax, edi
dec eax
movzx eax, al
jmp 0x45d2b7
jne 0x45d2b7
mov eax, ebp
and eax, 0xff
jmp 0x45d2b7
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x45d2a5
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x45d31c
mov eax, 0xff
mov byte [ebx + esi + 0x6da360], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x45d30b
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x45d307
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 0x45d35e
xor eax, eax
mov byte [ecx + ebp + 0x6ea460], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x45d34c
mov ecx, esi
cmp esi, 0x100
jl 0x45d33f
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x45d39a
mov eax, 0xff
jmp 0x45d3a0
test eax, eax
jge 0x45d3a0
xor eax, eax
mov byte [edx + ebp + 0x73a960], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x45d386
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x45d382
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 0x45d3f3
movsx eax, word [esi + ebx*2 + 0x6319de]
jmp 0x45d40c
jle 0x45d408
movsx eax, word [esi + edx*2 + 0x631dde]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x45d40c
jne 0x45d40c
mov eax, edi
mov byte [ecx + edi + 0x6fa560], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x45d3e1
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 0x45d3d5
xor edx, edx
fld qword [0x58feb0]
cmp edx, 0x80
jl 0x45d45e
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x45d4ea
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 0x45d4c3
mov eax, 0xff
jmp 0x45d4c9
test eax, eax
jge 0x45d4c9
xor eax, eax
mov byte [ecx + ebx + 0x70a660], al
inc ebx
cmp ebx, 0x100
jge 0x45d5ad
cmp edx, 0x80
jl 0x45d465
cmp ebx, 0x20
jg 0x45d558
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 0x45d4b5
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 0x45d4b5
inc edx
cmp edx, 0x100
jl 0x45d44a
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 0x45d604
test ecx, ecx
jne 0x45d5f3
xor eax, eax
jmp 0x45d625
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x45d625
xor eax, eax
jmp 0x45d625
cmp ecx, 0xff
je 0x45d70d
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x45d625
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x71a760], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x45d5e3
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 0x45d5cd
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x45d68d
mov eax, 0xff
jmp 0x45d693
test eax, eax
jge 0x45d693
xor eax, eax
mov byte [ecx + ebp + 0x72a860], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x45d679
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x45d675
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x45d6d6
cmp edi, ebx
jle 0x45d6d2
mov eax, ebx
jmp 0x45d6e0
mov eax, edi
jmp 0x45d6e0
cmp edi, ecx
jle 0x45d6de
mov eax, edi
jmp 0x45d6e0
mov eax, ecx
mov byte [edx + edi + 0x75ab60], al
inc edi
cmp edi, 0x100
jl 0x45d6c2
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x45d6c0
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x45d625