Function at 0x140009ad0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push rbx
sub rsp, 0x50
mov rbx, rcx
test rcx, rcx
jne 0x140009ae7
lea eax, [rcx - 1]
add rsp, 0x50
pop rbx
ret
cmp dword [rcx + 0xd090], 0xffffffff
jle 0x140009afb
mov eax, 0xfffffff6
add rsp, 0x50
pop rbx
ret
mov qword [rsp + 0x68], rbp
lea rax, [rcx + 0x12a28]
mov qword [rsp + 0x48], rsi
test rdx, rdx
mov qword [rsp + 0x40], rdi
lea rdi, [0x1400c2fd0]
mov qword [rsp + 0x38], r12
cmovne rdi, rdx
mov qword [rsp + 0x30], r13
mov rcx, rdi
mov qword [rsp + 0x28], r14
mov edx, 3
mov qword [rsp + 0x20], r15
nop dword [rax + rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm1, xmmword [rcx - 0x70]
movups xmmword [rax - 0x70], xmm1
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x60], xmm0
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x50], xmm1
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x40], xmm0
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x30], xmm1
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x140009b40
movups xmm0, xmmword [rcx]
lea rsi, [rbx + 0x410]
mov r10d, reloc.OLEAUT32.dll_VarI4FromDisp
mov qword [rsp + 0x70], rsi
lea rdx, [rbx + 0x1010]
movups xmmword [rax], xmm0
lea r8, [rbx + 0x137f8]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
mov rcx, rsi
movups xmmword [rax + 0x40], xmm0
nop dword [rax]
mov r9d, 3
mov qword [rcx], rdx
lea rax, [rdx + 0x80]
mov qword [rcx + 0x127e8], r8
add rdx, 0x100
mov qword [rcx + 8], rax
lea rax, [r8 + 0x100]
mov qword [rcx + 0x127f0], rax
add r8, 0x200
add rcx, 0x10
sub r9, 1
jne 0x140009be6
sub r10, 1
jne 0x140009be0
lea rdx, [rbx + 0x12bf8]
mov r8, rdi
mov rcx, rsi
call fcn.140015440
movups xmm0, xmmword [rdi + 0x100]
movsxd rax, dword [rbx + 0x30]
lea r15, [0x1400c3ba0]
mov qword [rsp + 0x60], r15
lea r12, [rbx + 0x2b7f8]
movups xmmword [rbx + 0xd010], xmm0
movups xmm1, xmmword [rdi + 0x110]
lea rcx, [rax + rax*2]
lea rax, [0x140000000]
movups xmmword [rbx + 0xd020], xmm1
lea rax, [rax + rcx*2]
movups xmm0, xmmword [rdi + 0x120]
lea rax, [rax + 0xc3b50]
mov qword [rsp + 0x78], rax
movups xmmword [rbx + 0xd030], xmm0
movups xmm1, xmmword [rdi + 0x130]
movups xmmword [rbx + 0xd040], xmm1
nop dword [rax]
nop word [rax + rax]
mov rbx, rsi
mov r13d, reloc.OLEAUT32.dll_VarI4FromDisp
nop dword [rax]
xor ebp, ebp
mov rdi, rax
lea r14d, [rbp + 3]
nop dword [rax]
mov rsi, qword [rbx]
xor r11d, r11d
mov r10, r15
xor r8d, r8d
lea r15, [0x140000000]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + r15 + 0xc3810]
xor edx, edx
movzx ecx, word [r10]
lea r10, [r10 + 2]
inc r8
movzx r9d, word [rsi + rax*2]
mov eax, r9d
shr eax, 1
add eax, ecx
div r9d
imul eax, eax
add r11d, eax
cmp r8, 0x40
jl 0x140009cf0
movzx edx, word [rdi]
add rbx, 0x10
mov r15, qword [rsp + 0x60]
add rdi, 2
mov eax, r11d
imul rdx, rax
add rbp, rdx
sub r14, 1
jne 0x140009cd0
mov rcx, rbp
call fcn.140014830
movabs rcx, 0x6000000000000000
sub rcx, rax
mov rax, qword [rsp + 0x78]
sar rcx, 1
mov qword [r12], rcx
add r12, 8
sub r13, 1
jne 0x140009cc0
mov rsi, qword [rsp + 0x70]
lea rcx, [0x1400c3ca0]
add rsi, 8
sub r15, 0xffffffffffffff80
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x70], rsi
cmp r15, rcx
jl 0x140009cb0
mov r15, qword [rsp + 0x20]
xor eax, eax
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x68]
add rsp, 0x50
pop rbx
ret