Function at 0x416d74
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
mov word [ebp - 8], 0
movzx ecx, word [ebp - 8]
xor edx, edx
xor eax, eax
call fcn.00416c88
movzx edx, word [ebp - 8]
mov word [edx*2 + 0x4994e0], ax
movzx edx, word [ebp - 8]
xor ecx, ecx
xor eax, eax
call fcn.00416c88
movzx edx, word [ebp - 8]
mov word [edx*2 + 0x4996e0], ax
movzx eax, word [ebp - 8]
xor ecx, ecx
xor edx, edx
call fcn.00416c88
movzx edx, word [ebp - 8]
mov word [edx*2 + 0x4998e0], ax
inc word [ebp - 8]
cmp word [ebp - 8], 0x100
jne 0x416d80
cmp dword [0x4890d0], 8
jge 0x416ef5
pushal
xor ecx, ecx
mov dl, cl
mov al, ch
and edx, dword [0x4994c4]
and eax, dword [0x4994c4]
add eax, edx
mov ebx, dword [0x4890e8]
btr eax, ebx
jae 0x416e09
mov eax, dword [0x4994c4]
mov word [ebp - 2], ax
mov dl, cl
mov al, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
add eax, edx
shl ah, 1
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 2]
add ax, word [ebp - 4]
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*2 + 0x499ae0], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c0]
and eax, dword [0x4994c0]
add eax, edx
mov ebx, dword [0x4890d8]
btr eax, ebx
jae 0x416e5f
mov eax, dword [0x4994c0]
mov word [ebp - 6], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
add eax, edx
mov ebx, dword [0x4890e0]
btr eax, ebx
jae 0x416e85
mov eax, dword [0x4994c8]
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 4]
add ax, word [ebp - 6]
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*4 + 0x4b9ae0], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
add eax, edx
add ah, 1
mov ebx, dword [0x4890e0]
btr eax, ebx
jae 0x416ec6
mov eax, dword [0x4994c8]
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 4]
add ax, word [ebp - 6]
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*4 + 0x4b9ae2], ax
inc ecx
cmp ecx, 0x10000
jl 0x416de7
popal
jmp 0x417001
pushal
xor ecx, ecx
mov dl, cl
mov al, ch
and edx, dword [0x4994c0]
and eax, dword [0x4994c0]
add eax, edx
mov ebx, dword [0x4890d8]
btr eax, ebx
jae 0x416f1a
mov eax, dword [0x4994c0]
mov word [ebp - 6], ax
mov dl, cl
mov al, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
add eax, edx
shl ah, 1
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 6]
add ax, word [ebp - 4]
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*2 + 0x499ae0], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c4]
and eax, dword [0x4994c4]
add eax, edx
mov ebx, dword [0x4890e8]
btr eax, ebx
jae 0x416f70
mov eax, dword [0x4994c4]
mov word [ebp - 2], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
add eax, edx
mov ebx, dword [0x4890e0]
btr eax, ebx
jae 0x416f96
mov eax, dword [0x4994c8]
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 4]
add ax, word [ebp - 2]
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*4 + 0x4b9ae0], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
add eax, edx
add ah, 1
mov ebx, dword [0x4890e0]
btr eax, ebx
jae 0x416fd7
mov eax, dword [0x4994c8]
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 4]
add ax, word [ebp - 2]
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*4 + 0x4b9ae2], ax
inc ecx
cmp ecx, 0x10000
jl 0x416ef8
popal
cmp dword [0x4890d0], 8
jge 0x417124
pushal
xor ecx, ecx
mov dl, cl
mov al, ch
and edx, dword [0x4994c4]
and eax, dword [0x4994c4]
cmp eax, edx
jge 0x417027
mov eax, edx
sub eax, edx
mov word [ebp - 2], ax
mov dl, cl
mov al, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
xor ah, ah
xor dh, dh
cmp eax, edx
jge 0x417047
mov ah, 3
sub eax, edx
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 2]
add ax, word [ebp - 4]
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*2 + 0x4f9ae0], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c0]
and eax, dword [0x4994c0]
cmp eax, edx
jge 0x41707b
mov eax, edx
sub eax, edx
mov word [ebp - 6], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
xor al, al
xor dl, dl
mov ebx, 0xff
cmp eax, edx
jge 0x4170a8
xor edx, edx
xor eax, eax
mov ebx, dword [0x4994c4]
sub eax, edx
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 4]
add ax, word [ebp - 6]
mov al, bl
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*4 + 0x519ae0], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
inc dh
xor al, al
xor dl, dl
mov ebx, 0xff
cmp eax, edx
jge 0x4170f1
xor edx, edx
xor eax, eax
mov ebx, dword [0x4994c4]
sub eax, edx
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 4]
add ax, word [ebp - 6]
mov al, bl
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*4 + 0x519ae2], ax
inc ecx
cmp ecx, 0x10000
jl 0x417011
popal
jmp 0x417235
pushal
xor ecx, ecx
mov dl, cl
mov al, ch
and edx, dword [0x4994c0]
and eax, dword [0x4994c0]
cmp eax, edx
jge 0x41713d
mov eax, edx
sub eax, edx
mov word [ebp - 6], ax
mov dl, cl
mov al, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
xor ah, ah
xor dh, dh
cmp eax, edx
jge 0x41715d
mov ah, 3
sub eax, edx
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 6]
add ax, word [ebp - 4]
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*2 + 0x4f9ae0], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c4]
and eax, dword [0x4994c4]
cmp eax, edx
jge 0x417191
mov eax, edx
sub eax, edx
mov word [ebp - 2], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
xor al, al
xor dl, dl
mov ebx, 0xff
cmp eax, edx
jge 0x4171be
xor edx, edx
xor eax, eax
mov ebx, dword [0x4994c0]
sub eax, edx
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 4]
add ax, word [ebp - 2]
mov al, bl
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*4 + 0x519ae0], ax
mov dh, cl
mov ah, ch
and edx, dword [0x4994c8]
and eax, dword [0x4994c8]
inc dh
xor al, al
xor dl, dl
mov ebx, 0xff
cmp eax, edx
jge 0x417207
xor edx, edx
xor eax, eax
mov ebx, dword [0x4994c0]
sub eax, edx
mov word [ebp - 4], ax
xor eax, eax
add ax, word [ebp - 4]
add ax, word [ebp - 2]
mov al, bl
xor ebx, ebx
mov bl, cl
mov bh, ch
mov word [ebx*4 + 0x519ae2], ax
inc ecx
cmp ecx, 0x10000
jl 0x417127
popal
cmp dword [0x4890d0], 8
jge 0x4173be
mov word [ebp - 0xa], 0
mov word [ebp - 0xc], 0
mov ecx, dword [0x4890e4]
mov eax, 0x10
shl eax, cl
mov dword [ebp - 0x10], eax
mov ax, word [ebp - 0xa]
and ax, word [0x4994c4]
mov word [ebp - 2], ax
movzx eax, word [ebp - 0xc]
movzx edx, word [ebp - 2]
imul edx
add eax, dword [ebp - 0x10]
mov ecx, 0x1f
cdq
idiv ecx
mov word [ebp - 2], ax
mov ax, word [0x4994c4]
and word [ebp - 2], ax
mov ecx, dword [0x4890dc]
mov eax, 0x10
shl eax, cl
mov dword [ebp - 0x10], eax
mov ax, word [ebp - 0xa]
and ax, word [0x4994c8]
mov word [ebp - 4], ax
movzx eax, word [ebp - 0xc]
movzx edx, word [ebp - 4]
imul edx
add eax, dword [ebp - 0x10]
mov ecx, 0x1f
cdq
idiv ecx
mov word [ebp - 4], ax
mov ax, word [0x4994c8]
and word [ebp - 4], ax
mov ax, word [ebp - 4]
add ax, word [ebp - 2]
mov word [ebp - 8], ax
xor ebx, ebx
mov ax, word [ebp - 8]
mov bl, byte [ebp - 0xa]
mov bh, byte [ebp - 0xc]
mov byte [ebx + 0x559ae0], al
mov ecx, dword [0x4890dc]
mov eax, 0x10
shl eax, cl
mov dword [ebp - 0x10], eax
mov ax, word [ebp - 0xa]
shl eax, 8
and ax, word [0x4994c8]
mov word [ebp - 4], ax
movzx eax, word [ebp - 0xc]
movzx edx, word [ebp - 4]
imul edx
add eax, dword [ebp - 0x10]
mov ecx, 0x1f
cdq
idiv ecx
mov word [ebp - 4], ax
mov ax, word [0x4994c8]
and word [ebp - 4], ax
mov ecx, dword [0x4890d4]
mov eax, 0x10
shl eax, cl
mov dword [ebp - 0x10], eax
mov ax, word [ebp - 0xa]
shl eax, 8
and ax, word [0x4994c0]
mov word [ebp - 6], ax
movzx eax, word [ebp - 0xc]
movzx edx, word [ebp - 6]
imul edx
add eax, dword [ebp - 0x10]
mov ecx, 0x1f
cdq
idiv ecx
mov word [ebp - 6], ax
mov ax, word [0x4994c0]
and word [ebp - 6], ax
mov ax, word [ebp - 6]
add ax, word [ebp - 4]
mov word [ebp - 8], ax
xor ebx, ebx
mov ax, word [ebp - 8]
mov bl, byte [ebp - 0xa]
mov bh, byte [ebp - 0xc]
mov word [ebx*2 + 0x55bae0], ax
inc word [ebp - 0xc]
cmp word [ebp - 0xc], 0x20
jne 0x41724e
inc word [ebp - 0xa]
cmp word [ebp - 0xa], 0x100
jne 0x417248
jmp 0x417535
mov word [ebp - 0xa], 0
mov word [ebp - 0xc], 0
mov ecx, dword [0x4890d4]
mov eax, 0x10
shl eax, cl
mov dword [ebp - 0x10], eax
mov ax, word [ebp - 0xa]
and ax, word [0x4994c0]
mov word [ebp - 6], ax
movzx eax, word [ebp - 0xc]
movzx edx, word [ebp - 6]
imul edx
add eax, dword [ebp - 0x10]
mov ecx, 0x1f
cdq
idiv ecx
mov word [ebp - 6], ax
mov ax, word [0x4994c0]
and word [ebp - 6], ax
mov ecx, dword [0x4890dc]
mov eax, 0x10
shl eax, cl
mov dword [ebp - 0x10], eax
mov ax, word [ebp - 0xa]
and ax, word [0x4994c8]
mov word [ebp - 4], ax
movzx eax, word [ebp - 0xc]
movzx edx, word [ebp - 4]
imul edx
add eax, dword [ebp - 0x10]
mov ecx, 0x1f
cdq
idiv ecx
mov word [ebp - 4], ax
mov ax, word [0x4994c8]
and word [ebp - 4], ax
mov ax, word [ebp - 4]
add ax, word [ebp - 6]
mov word [ebp - 8], ax
xor ebx, ebx
mov ax, word [ebp - 8]
mov bl, byte [ebp - 0xa]
mov bh, byte [ebp - 0xc]
mov byte [ebx + 0x559ae0], al
mov ecx, dword [0x4890dc]
mov eax, 0x10
shl eax, cl
mov dword [ebp - 0x10], eax
mov ax, word [ebp - 0xa]
shl eax, 8
and ax, word [0x4994c8]
mov word [ebp - 4], ax
movzx eax, word [ebp - 0xc]
movzx edx, word [ebp - 4]
imul edx
add eax, dword [ebp - 0x10]
mov ecx, 0x1f
cdq
idiv ecx
mov word [ebp - 4], ax
mov ax, word [0x4994c8]
and word [ebp - 4], ax
mov ecx, dword [0x4890e4]
mov eax, 0x10
shl eax, cl
mov dword [ebp - 0x10], eax
mov ax, word [ebp - 0xa]
shl eax, 8
and ax, word [0x4994c4]
mov word [ebp - 2], ax
movzx eax, word [ebp - 0xc]
movzx edx, word [ebp - 2]
imul edx
add eax, dword [ebp - 0x10]
mov ecx, 0x1f
cdq
idiv ecx
mov word [ebp - 2], ax
mov ax, word [0x4994c4]
and word [ebp - 2], ax
mov ax, word [ebp - 2]
add ax, word [ebp - 4]
mov word [ebp - 8], ax
xor ebx, ebx
mov ax, word [ebp - 8]
mov bl, byte [ebp - 0xa]
mov bh, byte [ebp - 0xc]
mov word [ebx*2 + 0x55bae0], ax
inc word [ebp - 0xc]
cmp word [ebp - 0xc], 0x20
jne 0x4173ca
inc word [ebp - 0xa]
cmp word [ebp - 0xa], 0x100
jne 0x4173c4
mov word [ebp - 8], 0
movzx eax, word [ebp - 8]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul dword [0x417650]
movzx eax, word [ebp - 8]
fstp dword [eax*4 + 0x55fae0]
wait
movzx eax, word [ebp - 8]
xor edx, edx
mov dword [eax*4 + 0x55fee0], edx
movzx eax, word [ebp - 8]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [0x417654]
fld xword [0x417658]
fmulp st(1)
movzx eax, word [ebp - 8]
fstp dword [eax*4 + 0x5602e0]
wait
movzx eax, word [ebp - 8]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul dword [0x417650]
movzx eax, word [ebp - 8]
fstp dword [eax*4 + 0x5606e0]
wait
movzx eax, word [ebp - 8]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [0x417654]
fld xword [0x417664]
fmulp st(1)
movzx eax, word [ebp - 8]
fstp dword [eax*4 + 0x560ae0]
wait
movzx eax, word [ebp - 8]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [0x417654]
fld xword [0x417670]
fmulp st(1)
movzx eax, word [ebp - 8]
fstp dword [eax*4 + 0x560ee0]
wait
movzx eax, word [ebp - 8]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul dword [0x417650]
movzx eax, word [ebp - 8]
fstp dword [eax*4 + 0x5612e0]
wait
movzx eax, word [ebp - 8]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [0x417654]
fld xword [0x41767c]
fmulp st(1)
movzx eax, word [ebp - 8]
fstp dword [eax*4 + 0x5616e0]
wait
movzx eax, word [ebp - 8]
xor edx, edx
mov dword [eax*4 + 0x561ae0], edx
inc word [ebp - 8]
cmp word [ebp - 8], 0x100
jne 0x41753b
mov esp, ebp
pop ebp
ret