Function at 0x100069b0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x74]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], pe_nt_image_headers32
mov dword [esp + 0x40], 0x800
mov dword [esp + 0x44], 0x10000
mov dword [esp + 0x48], 0x200000
mov eax, dword [eax]
cmp eax, dword [esp + 0x78]
mov dword [esp + 0x4c], 0x4000000
jae 0x10006bc0
movzx edx, byte [eax]
lea ebp, [eax + 1]
xor edi, edi
mov dword [esp + 0x24], ebp
mov ebx, edx
mov ecx, edx
mov esi, edx
and ebx, 0xffffffc0
cmp bl, 0x80
je 0x10006ba0
cmp edx, 0xfd
ja 0x10006ba0
and ecx, 0xffffff80
xor ebx, ebx
movzx ecx, cl
shrd ecx, ebx, 1
test edx, ecx
mov ebx, ecx
je 0x10006c01
cmp dword [esp + 0x78], ebp
jbe 0x10006bd0
lea ecx, [eax + 2]
movzx eax, byte [eax + 1]
add eax, 0xffffff80
mov edx, eax
sar edx, 6
test edx, edx
jne 0x10006bd0
mov ebp, 1
jmp 0x10006a84
add ebp, 1
cmp dword [esp + 0x78], ecx
jbe 0x10006bd0
add ecx, 1
movzx eax, byte [ecx - 1]
add eax, 0xffffff80
mov edx, eax
sar edx, 6
test edx, edx
jne 0x10006bd0
shld edi, esi, 6
shl esi, 6
cdq
add esi, eax
adc edi, edx
shl ebx, 5
test ebx, esi
jne 0x10006a60
lea eax, [ebx + ebx - 1]
mov dword [esp + 0x2c], 0
and eax, esi
cmp ebp, 5
mov dword [esp + 0x28], eax
jg 0x10006c1a
mov eax, dword [esp + 0x28]
cmp dword [esp + ebp*4 + 0x38], eax
mov edx, dword [esp + 0x2c]
ja 0x10006bf0
cmp edx, 0
ja 0x10006bf0
cmp eax, 0x7fffffff
ja 0x10006bf0
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x28]
cmp ebp, 0
mov dword [eax], edi
ja 0x10006af5
xor eax, eax
cmp edi, 0x10ffff
jbe 0x10006b0c
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
and eax, 1
cmp eax, 1
sbb eax, eax
and eax, 0xffffffd6
add edi, 0xfffffff7
adc ebp, 0xffffffff
cmp ebp, 0
ja 0x10006b1c
cmp edi, 1
jbe 0x10006b44
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
cmp ebp, 0
ja 0x10006b44
cmp edi, 0x1f
ja 0x10006b44
mov edx, edi
xor edx, 0xd
or edx, ebp
je 0x10006b6f
test byte [esp + 0x7c], 8
mov edx, 0xffffffd6
cmovne eax, edx
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
add edi, 0xffff2800
adc ebp, 0xffffffff
cmp ebp, 0
ja 0x10006b6f
cmp edi, 0x7ff
ja 0x10006b6f
test byte [esp + 0x7c], 4
mov edx, 0xffffffd6
cmove eax, edx
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x24], ecx
add esi, 0xffff0002
adc edi, 0xffffffff
cmp edi, 0
ja 0x10006bfd
cmp esi, 1
ja 0x10006bfd
test byte [esp + 0x7c], 2
mov edx, 0xffffffd6
mov ebx, ecx
cmove eax, edx
jmp 0x10006ba9
mov ebx, dword [esp + 0x24]
mov eax, 0xffffffd6
mov edi, dword [esp + 0x74]
mov dword [edi], ebx
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
add esp, 0x5c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x24]
mov dword [eax], edi
add esp, 0x5c
mov eax, 0xffffffd6
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x24], ecx
mov eax, 0xffffffd6
mov ebx, ecx
jmp 0x10006ba9
mov ebx, ecx
jmp 0x10006ba9
lea eax, [ebx + ebx - 1]
mov ecx, ebp
mov dword [esp + 0x2c], 0
and eax, edx
mov dword [esp + 0x28], eax
jmp 0x10006ad8
mov dword [esp + 0x14], 0x1a2
mov dword [esp + 0x10], str.src_libavutil_avstring.c
mov dword [esp + 0xc], str.tail_len___5
mov dword [esp + 8], 0x100d6675
mov dword [esp + 4], 0
mov dword [esp], 0
call sym.avutil_56.dll_av_log
call sub.msvcrt.dll_abort
lea esi, [esi]
lea edi, [edi]