Function at 0x14008ff80
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa70
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0xa60], rax
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r8
mov r15, rdx
mov rbx, rcx
mov qword [rsp + 0x30], rcx
mov eax, dword [0x14051ed30]
test eax, eax
jne 0x14008ffe0
call fcn.140085840
mov rax, qword [0x14051f7a8]
test rax, rax
je 0x14008ffe0
mov ecx, 1
call rax
xor edi, edi
mov qword [rbx + 0x520], rdi
mov qword [rbx + 0xd8], rdi
mov qword [rbx + 0x540], rdi
mov qword [rbx + 0x548], rdi
mov qword [rbx + 0x550], rdi
mov qword [rbx + 0x558], rdi
mov qword [rbx + 0x560], rdi
mov qword [rbx + 0x568], rdi
lea rsi, [rbx + 0x658]
mov eax, dword [rsp + 0xae0]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
lea r9, [0x140157b28]
xor edx, edx
lea r8d, [rdi + 3]
lea rcx, [0x140157b38]
call fcn.1400889f0
test eax, eax
jns 0x140090059
cmp dword [0x14024e138], edi
jmp 0x1400909e3
mov ecx, 0x650
call fcn.140107728
mov rsi, rax
mov qword [rsp + 0x48], rax
xor edx, edx
mov r8d, 0x650
mov rcx, rax
call fcn.140123da0
mov rcx, rsi
call fcn.1400d8f30
nop
lea rax, vtable.D_CBaseVideoRenderer.4.0
mov qword [rsi], rax
lea rax, vtable.D_CBaseVideoRenderer.0
mov qword [rsi + 0x18], rax
lea rax, vtable.D_CBaseVideoRenderer.2.0
mov qword [rsi + 0x20], rax
lea rax, vtable.D_CBaseVideoRenderer.3.0
mov qword [rsi + 0x158], rax
lea rax, vtable.D_CBaseVideoRenderer.1.0
mov qword [rsi + 0x160], rax
mov dword [rsi + 0x16c], edi
mov qword [rsi + 0x1a0], rdi
mov eax, dword [0x14051ed30]
test eax, eax
jne 0x1400900ef
call fcn.140085840
mov rax, qword [0x14051f7a8]
test rax, rax
je 0x1400900ef
mov ecx, 1
call rax
mov qword [rsi + 0x1b8], 0xfffffffffffffc18
call qword [0x14051ed60]
mov dword [rsi + 0x1d8], eax
mov qword [rsi + 0x174], rdi
mov dword [rsi + 0x18c], 0xffffffff
mov dword [rsi + 0x190], edi
mov dword [rsi + 0x188], edi
mov qword [rsi + 0x17c], rdi
mov qword [rsi + 0x1a0], rdi
mov qword [rsi + 0x1a8], rdi
mov qword [rsi + 0x1b0], rdi
mov qword [rsi + 0x1c0], rdi
mov qword [rsi + 0x1d0], rdi
mov qword [rsi + 0x1c8], rdi
mov dword [rsi + 0x168], edi
mov dword [rsi + 0x184], 0xfffb6c20
mov dword [rsi + 0x170], edi
mov qword [rsi + 0x198], rdi
lea rax, vtable.D_CMovieRender.2.0
mov qword [rsi], rax
lea rax, vtable.D_CMovieRender.4.0
mov qword [rsi + 0x18], rax
lea rax, vtable.D_CMovieRender.0
mov qword [rsi + 0x20], rax
lea rax, vtable.D_CMovieRender.1.0
mov qword [rsi + 0x158], rax
lea rax, vtable.D_CMovieRender.3.0
mov qword [rsi + 0x160], rax
mov qword [rsi + 0x1e0], rdi
mov qword [rsi + 0x1e8], rdi
mov dword [rsi + 0x1f0], edi
mov qword [rsi + 0x1f8], rdi
mov qword [rsi + 0x608], rdi
mov qword [rsi + 0x610], rdi
mov qword [rsi + 0x618], rdi
mov qword [rbx + 0x678], rsi
mov rcx, qword [rbx + 0x658]
mov rax, qword [rcx]
lea r8, str.MovieRenderer
lea rdx, [rsi + 0x18]
call qword [rax + 0x18]
mov esi, eax
test eax, eax
jns 0x140090217
cmp dword [0x14024e138], 0
jne 0x140090210
call fcn.140091610
mov eax, esi
jmp 0x140090a52
mov rcx, qword [rbx + 0x658]
mov rax, qword [rcx]
lea r8, [rbx + 0x670]
lea rdx, [0x140157c28]
call qword [rax]
test eax, eax
js 0x1400909dc
mov rcx, qword [rbx + 0x658]
mov rax, qword [rcx]
lea r8, [rbx + 0x660]
lea rdx, [0x140157d78]
call qword [rax]
test eax, eax
js 0x1400909dc
lea r8, [rbx + 0x668]
mov rcx, qword [rbx + 0x658]
mov rax, qword [rcx]
lea rdx, [0x140157dc8]
call qword [rax]
test eax, eax
jns 0x140090290
cmp dword [0x14024e138], 0
jne 0x1400909e9
call fcn.140091610
jmp 0x1400909e9
mov esi, dword [0x14024e138]
test esi, esi
jne 0x1400902a5
call fcn.140091610
mov esi, dword [0x14024e138]
mov ecx, esi
lea r13, [rbx + 0x694]
mov r9, r15
mov r8d, 0xc00
mov rdx, r13
call fcn.14007c200
mov rax, r13
movzx ecx, word [r13]
test cx, cx
je 0x1400902e7
nop dword [rax]
cmp cx, 0x2f
jne 0x1400902db
mov word [rax], 0x5c
add rax, 2
movzx ecx, word [rax]
test cx, cx
jne 0x1400902d0
test esi, esi
jne 0x1400902f6
call fcn.140091610
mov esi, dword [0x14024e138]
mov r14d, esi
mov ebp, esi
lea r9, str.RenderFile_faired__n
mov r8d, 0x200
lea rdx, [rsp + 0x60]
mov ecx, esi
call fcn.14007c200
test esi, esi
jne 0x14009034d
call fcn.140091610
mov esi, dword [0x14024e138]
lea r9, str.Movie_File_Open_Error_:
mov r8d, 0x200
lea rdx, [rsp + 0x60]
mov ecx, esi
call fcn.14007c200
test esi, esi
jne 0x14009036a
call fcn.140091610
mov esi, dword [0x14024e138]
jmp 0x14009036a
lea r9, str.Movie_File_Open_Error_:
mov r8d, 0x200
lea rdx, [rsp + 0x60]
mov ecx, r14d
call fcn.14007c200
mov esi, r14d
mov r9, r15
mov r8d, 0x200
lea rdx, [rsp + 0x60]
mov ecx, esi
call fcn.14007c560
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x140090394
call fcn.140091610
mov ecx, dword [0x14024e138]
lea r9, [0x140137584]
mov r8d, 0x200
lea rdx, [rsp + 0x60]
call fcn.14007c560
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
mov rcx, r13
call qword [0x140154aa0]
mov r12, rax
test rax, rax
je 0x1400909e9
mov rcx, rax
call qword [0x140154ad8]
cmp eax, 1
jne 0x140090625
mov r8d, edi
lea ebp, [rax - 2]
movzx ecx, word [r13]
test cx, cx
je 0x14009049f
mov r9, r13
mov esi, 0xd800
mov r11d, 0xfc00
movabs r10, 0x400800000000001
nop word [rax + rax]
movzx eax, cx
and ax, r11w
cmp ax, si
jne 0x140090426
mov eax, 4
lea edx, [rax - 2]
jmp 0x140090445
cmp cx, 0x5c
je 0x140090438
cmp cx, 0x3a
ja 0x14009043b
bt r10, rcx
jae 0x14009043b
mov ebp, r8d
mov eax, 2
mov edx, 1
add r9, rax
movzx ecx, word [r9]
add r8d, edx
test cx, cx
jne 0x140090410
cmp ebp, 0xffffffff
je 0x14009049f
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x14009046e
call fcn.140091610
mov ecx, dword [0x14024e138]
mov esi, ecx
lea eax, [rbp + 1]
movsxd rdx, eax
lea r9, [rdx*2]
add r9, r13
mov r8d, 0x400
lea rdx, [rsp + 0x260]
call fcn.14007c200
test esi, esi
jne 0x1400904ca
call fcn.140091610
jmp 0x1400904ca
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x1400904b4
call fcn.140091610
mov ecx, dword [0x14024e138]
mov r9, r13
mov r8d, 0x400
lea rdx, [rsp + 0x260]
call fcn.14007c200
lea r9, [rsp + 0x60]
lea rdx, [rsp + 0x660]
lea rcx, [rsp + 0x260]
call fcn.140046a40
cmp dword [rbx + 0x690], 1
je 0x140090617
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, r12
call qword [0x140154ab8]
mov rcx, r12
call qword [0x140154ab0]
mov r14, rax
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [0x140154ab8]
mov r9d, 0x4a0
lea r8, [0x1401374d0]
mov ecx, 0x100000
call fcn.140075550
mov r15, rax
test rax, rax
je 0x140090617
lea r8, [rsp + 0x60]
mov rcx, r13
call fcn.14009e850
mov r13, rax
test rax, rax
jne 0x140090568
mov rcx, r12
call qword [0x140154aa8]
mov rcx, r15
call fcn.140075a50
jmp 0x1400909e9
mov dword [rbx + 0x690], 1
mov rbp, rdi
test r14, r14
je 0x1400905d1
mov ebx, 0x100000
nop
mov rsi, r14
sub rsi, rbp
cmp rsi, rbx
cmova rsi, rbx
mov r9, r12
mov r8d, 1
mov rdx, rsi
mov rcx, r15
call qword [0x140154ac0]
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x50]
mov r8d, esi
mov rdx, r15
mov rcx, r13
call qword [0x14051ef80]
mov eax, dword [rsp + 0x50]
cmp rsi, rax
jne 0x1400905cc
add rbp, rsi
cmp rbp, r14
jb 0x140090580
mov rbx, qword [rsp + 0x30]
mov rcx, r12
call qword [0x140154aa8]
mov rcx, r13
call qword [0x14051ef30]
mov rcx, r15
call fcn.140075a50
mov rcx, qword [rbx + 0x658]
mov rax, qword [rcx]
xor r8d, r8d
lea rdx, [rbx + 0x694]
call qword [rax + 0x68]
test eax, eax
jns 0x140090649
lea rcx, [rbx + 0x694]
call fcn.140089670
jmp 0x1400909e9
mov rcx, r12
call qword [0x140154aa8]
jmp 0x1400909e9
mov rcx, r12
call qword [0x140154aa8]
mov rcx, qword [rbx + 0x658]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, r13
call qword [rax + 0x68]
test eax, eax
js 0x1400909e9
mov rcx, qword [rbx + 0x668]
mov rax, qword [rcx]
lea rdx, [rbx + 0xb0]
call qword [rax + 0x58]
mov rcx, qword [rbx + 0x668]
mov rax, qword [rcx]
lea rdx, [0x140157d68]
call qword [rax + 0x48]
mov rcx, qword [rbx + 0x668]
mov rax, qword [rcx]
lea rdx, [rbx + 0x688]
call qword [rax + 0x58]
mov rcx, qword [rbx + 0x668]
mov rax, qword [rcx]
lea rdx, [0x140157b58]
call qword [rax + 0x48]
mov rcx, qword [rbx + 0x668]
mov rax, qword [rcx]
lea rdx, [rbx + 0x680]
call qword [rax + 0x50]
cmp qword [rbx + 0x680], 0
jne 0x1400906be
mov eax, 0x28b0a
jmp 0x1400906d1
movsxd rcx, dword [rbx + 0x688]
mov rax, qword [rbx + 0xb0]
cqo
idiv rcx
mov qword [rbx + 0x680], rax
mov rcx, qword [rbx + 0x678]
mov eax, dword [rcx + 0x628]
mov dword [rbx + 0x510], eax
mov eax, dword [rcx + 0x62c]
mov dword [rbx + 0x514], eax
mov eax, dword [rcx + 0x630]
mov dword [rbx + 0x518], eax
mov rax, qword [rcx + 0x608]
mov qword [rbx + 0x520], rax
mov dword [rbx + 0x530], 1
mov eax, dword [rcx + 0x200]
test eax, eax
jne 0x14009073b
lea rcx, [rbx + 0xe8]
mov word [rcx + 4], 0x1803
mov qword [rcx + 0x20], rdi
jmp 0x140090969
cmp eax, 1
jne 0x140090796
cmp dword [rbx + 0xc8], 0
je 0x140090796
lea rcx, [rbx + 0xe8]
mov dword [rcx + 4], 0x2004
mov qword [rcx + 0x20], rdi
mov word [rcx + 0xe], 0x1800
mov dword [rcx + 0x1c], 0xff000000
mov word [rcx + 0xb], 0x1008
mov dword [rcx + 0x10], 0xff0000
mov word [rcx + 8], 0x808
mov byte [rcx + 0xd], 8
mov dword [rcx + 0x14], 0xff00
mov dword [rcx + 0x18], 0xff
mov byte [rcx + 0xa], 8
jmp 0x140090999
lea rcx, [rbx + 0xe8]
cmp eax, 8
jne 0x1400907db
mov word [rcx + 4], 0x1002
mov qword [rcx + 0x20], rdi
mov qword [rcx + 0x18], 0x1f
mov word [rcx + 0xb], 0xb00
mov dword [rcx + 0x10], 0xf800
mov word [rcx + 8], 0x605
mov byte [rcx + 0xd], 5
mov dword [rcx + 0x14], 0x7e0
mov byte [rcx + 0xa], 5
jmp 0x140090993
cmp eax, 9
jne 0x14009081d
mov word [rcx + 4], 0x1002
mov qword [rcx + 0x20], 0x8000
mov qword [rcx + 0x18], 0x1f
mov word [rcx + 0xb], 0xa00
mov dword [rcx + 0x10], 0x7c00
mov word [rcx + 8], 0x505
mov byte [rcx + 0xd], 5
mov dword [rcx + 0x14], 0x3e0
mov byte [rcx + 0xa], 5
jmp 0x140090993
mov dword [rcx + 0x20], 0xff000000
cmp eax, 0xa
jne 0x14009095f
mov dword [rcx], 0
mov word [rcx + 4], 0x801
mov dword [rcx + 0x24], 0xff
mov word [rcx + 0xe], 0
mov qword [rcx + 0x18], 0xff
mov word [rcx + 0xb], 0x1000
mov dword [rcx + 0x10], 0xff0000
mov word [rcx + 8], 0x808
mov byte [rcx + 0xd], 8
mov dword [rcx + 0x14], 0xff00
mov byte [rcx + 0xa], 8
lea r9, [rcx + 0x29]
mov r10d, 0x100
nop word [rax + rax]
mov eax, edi
and eax, 7
imul r8d, eax, 0xff
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [r9 + 1], dl
mov eax, edi
shr eax, 3
and eax, 7
imul r8d, eax, 0xff
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [r9], dl
mov eax, edi
shr eax, 5
and al, 3
movzx eax, al
imul edx, eax, 0x55
mov byte [r9 - 1], dl
mov byte [r9 + 2], 0
inc edi
lea r9, [r9 + 4]
cmp edi, r10d
jl 0x140090880
lea r9, [rbx + 0x112]
mov r11d, 0xf2
sub r11, rbx
mov rdi, 0xfffffffffffffeee
sub rdi, rbx
nop word [rax + rax]
mov byte [r9 + 1], 0xff
lea r8, [rdi + r9]
mov rax, qword [rbx + 0x678]
movzx edx, byte [r8 + rax + 0x206]
mov byte [r9], dl
mov rax, qword [rbx + 0x678]
movzx edx, byte [r8 + rax + 0x205]
mov byte [r9 - 1], dl
lea rdx, [r11 + r9]
mov rax, qword [rbx + 0x678]
movzx edx, byte [rdx + rax]
mov byte [r9 - 2], dl
lea r9, [r9 + 4]
sub r10, 1
jne 0x140090910
jmp 0x14009099f
mov dword [rcx + 4], 0x8182004
mov dword [rcx + 0x24], edi
mov byte [rcx + 0xa], 8
mov dword [rcx + 0x14], 0xff00
mov byte [rcx + 0xd], 8
mov word [rcx + 8], 0x808
mov dword [rcx + 0x10], 0xff0000
mov word [rcx + 0xb], 0x1000
mov qword [rcx + 0x18], 0xff
mov word [rcx + 0xe], 0
mov dword [rcx], 0
mov qword [rbx + 0x538], rcx
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x1400909bf
mov rax, qword [rbx + 0x678]
mov ecx, dword [rax + 0x628]
mov dword [rdx], ecx
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x1400909d8
mov rax, qword [rbx + 0x678]
mov ecx, dword [rax + 0x62c]
mov dword [rdx], ecx
xor eax, eax
jmp 0x140090a52
cmp dword [0x14024e138], 0
je 0x140090286
mov rcx, qword [rbx + 0x658]
test rcx, rcx
je 0x140090a02
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [rbx + 0x658], rdi
mov rcx, qword [rbx + 0x660]
test rcx, rcx
je 0x140090a1b
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [rbx + 0x660], rdi
mov rcx, qword [rbx + 0x668]
test rcx, rcx
je 0x140090a34
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [rbx + 0x668], rdi
mov rcx, qword [rbx + 0x670]
test rcx, rcx
je 0x140090a4d
mov rdx, qword [rcx]
call qword [rdx + pe_nt_image_headers64]
mov qword [rbx + 0x670], rdi
mov eax, 0xffffffff
mov rcx, qword [rsp + 0xa60]
xor rcx, rsp
call fcn.140107200
mov rbx, qword [rsp + 0xab8]
add rsp, 0xa70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret