Function at 0x14000ee90
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 8], rcx
push rbp
sub rsp, 0xa0
mov rbp, rcx
test rcx, rcx
jne 0x14000eeb0
xor eax, eax
add rsp, 0xa0
pop rbp
ret
mov qword [rsp + 0x90], rsi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
cmp word [rax + 0xe], 1
mov rsi, rax
je 0x14000eee4
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rsi, qword [rsp + 0x90]
xor eax, eax
add rsp, 0xa0
pop rbp
ret
mov qword [rsp + 0x98], rbx
movsxd rbx, dword [rax + 4]
mov qword [rsp + 0x88], rdi
lea ecx, [rbx*8 + 0x1f]
mov qword [rsp + 0x78], r13
movsxd r13, dword [rax + 8]
shr ecx, 5
lea eax, [rbx + 0x1f]
shl ecx, 2
shr eax, 5
shl eax, 2
mov edi, ecx
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
imul rdi, r13
test rdi, rdi
je 0x14000f35d
cmp rbx, 0xf3e58
ja 0x14000f35d
cmp r13, 0xf3e58
ja 0x14000f35d
xor edx, edx
mov rax, rdi
div r13
cmp rax, rcx
jb 0x14000f35d
movabs rax, 0x7ffffffffffffbd7
cmp rdi, rax
ja 0x14000f35d
lea rdx, [rdi + 0x428]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov qword [rsp + 0xc8], rax
test rax, rax
je 0x14000f35d
mov qword [rsp + 0x80], r12
mov rcx, rax
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x68], r15
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r9d, 1
mov dword [rax], 0x28
mov dword [rax + 4], ebx
mov dword [rax + 8], r13d
mov word [rax + 0xc], r9w
mov r10, rax
mov eax, 8
mov word [r10 + 0xe], ax
mov dword [r10 + 0x10], 0
mov dword [r10 + 0x14], edi
mov ecx, dword [rsi + 0x18]
mov dword [r10 + 0x18], ecx
mov ecx, dword [rsi + 0x1c]
mov qword [r10 + 0x20], pe_nt_image_headers64
mov dword [r10 + 0x1c], ecx
movzx edi, byte [rsi + 0x2a]
movzx ebp, byte [rsi + 0x29]
movzx r14d, byte [rsi + 0x28]
movzx r11d, byte [rsi + 0x2e]
movzx r15d, byte [rsi + 0x2d]
movzx r12d, byte [rsi + 0x2c]
test dil, dil
jne 0x14000f27d
test bpl, bpl
jne 0x14000f03c
test r14b, r14b
jne 0x14000f03c
cmp r11b, 0xff
jne 0x14000f03c
cmp r15b, r11b
jne 0x14000f03c
cmp r12b, r11b
je 0x14000f2b4
movss xmm0, dword [0x140048728]
movss xmm3, dword [0x14004872c]
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm7
movzx ecx, r14b
movaps xmmword [rsp + 0x30], xmm8
movzx r8d, dil
movzx edx, bpl
movzx eax, r11b
sub eax, r8d
mov byte [r10 + 0x2a], dil
mov byte [r10 + 0x29], bpl
movd xmm4, eax
movaps xmmword [rsp + 0x20], xmm9
movd xmm9, ecx
movzx eax, r15b
mov byte [r10 + 0x28], r14b
mov byte [r10 + 0x426], r11b
sub eax, edx
mov byte [r10 + 0x425], r15b
mov byte [r10 + 0x424], r12b
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm9, xmm9
divss xmm4, xmm0
movd xmm5, eax
movzx eax, r12b
movd xmm7, r8d
sub eax, ecx
lea rcx, [r10 + 0x2d]
cvtdq2ps xmm5, xmm5
cvtdq2ps xmm7, xmm7
movd xmm6, eax
movd xmm8, edx
divss xmm5, xmm0
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm8, xmm8
divss xmm6, xmm0
xorps xmm2, xmm2
cvtsi2ss xmm2, r9
test r9, r9
jns 0x14000f0f2
addss xmm2, xmm3
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm2, xmm6
mulss xmm0, xmm4
mulss xmm1, xmm5
inc r9
add rcx, 4
addss xmm2, xmm9
addss xmm0, xmm7
addss xmm1, xmm8
cvttss2si rax, xmm0
mov byte [rcx - 3], al
cvttss2si rax, xmm1
mov byte [rcx - 4], al
cvttss2si rax, xmm2
mov byte [rcx - 5], al
cmp r9, 0xff
jb 0x14000f0e1
movaps xmm9, xmmword [rsp + 0x20]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x50]
mov eax, dword [rsi + 0x20]
mov r12, qword [rsp + 0x80]
mov rdi, rbx
add rax, 0xa
shr rdi, 3
lea rbp, [rsi + rax*4]
mov eax, dword [r10 + 0x20]
add rax, 0xa
lea r9, [r10 + rax*4]
lea rax, [rdi*8]
sub rbx, rax
test r13, r13
je 0x14000f32d
mov r14, qword [rsp + 0xb8]
mov r15, qword [rsp + 0xc0]
xor r11d, r11d
xor esi, esi
nop
mov rcx, rsi
test rdi, rdi
je 0x14000f23a
lea rdx, [r11 + rbp]
mov r8, rdi
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
and al, 0x80
neg al
sbb al, al
mov byte [r9 + rcx], al
movzx eax, byte [rdx - 1]
and al, 0x40
neg al
sbb al, al
mov byte [r9 + rcx + 1], al
movzx eax, byte [rdx - 1]
and al, 0x20
neg al
sbb al, al
mov byte [r9 + rcx + 2], al
movzx eax, byte [rdx - 1]
and al, 0x10
neg al
sbb al, al
mov byte [r9 + rcx + 3], al
movzx eax, byte [rdx - 1]
and al, 8
neg al
sbb al, al
mov byte [r9 + rcx + 4], al
movzx eax, byte [rdx - 1]
and al, 4
neg al
sbb al, al
mov byte [r9 + rcx + 5], al
movzx eax, byte [rdx - 1]
and al, 2
neg al
sbb al, al
mov byte [r9 + rcx + 6], al
movzx eax, byte [rdx - 1]
and al, 1
neg al
sbb al, al
add rcx, 8
mov byte [r9 + rcx - 1], al
dec r8
jne 0x14000f1b3
test rbx, rbx
je 0x14000f31e
xor r8d, r8d
lea rax, [rdi + r11]
test rbx, rbx
je 0x14000f31e
movzx r10d, byte [rax + rbp]
lea rdx, [r9 + rcx]
nop dword [rax]
mov eax, 7
sub al, r8b
movzx ecx, al
bt r10d, ecx
jae 0x14000f30c
mov byte [rdx], 0xff
jmp 0x14000f30f
cmp dil, 0xff
jne 0x14000f03c
cmp bpl, dil
jne 0x14000f03c
cmp r14b, dil
jne 0x14000f03c
test r11b, r11b
jne 0x14000f03c
test r15b, r15b
jne 0x14000f03c
test r12b, r12b
jne 0x14000f03c
lea rcx, [r10 + 0x29]
cmp dil, r11b
jbe 0x14000f2e5
xor edx, edx
nop
mov eax, 0xff
lea rcx, [rcx + 4]
sub al, dl
inc rdx
mov byte [rcx - 3], al
mov byte [rcx - 4], al
mov byte [rcx - 5], al
cmp rdx, 0x100
jb 0x14000f2c0
jmp 0x14000f150
xor eax, eax
nop word [rax + rax]
mov byte [rcx + 1], al
mov byte [rcx], al
mov byte [rcx - 1], al
inc rax
lea rcx, [rcx + 4]
cmp rax, 0x100
jb 0x14000f2f0
jmp 0x14000f150
mov byte [rdx], 0
inc r8
inc rdx
cmp r8, rbx
jb 0x14000f260
add rsi, r14
add r11, r15
dec r13
jne 0x14000f1a0
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rax, qword [rsp + 0xc8]
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
jmp 0x14000f368
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor eax, eax
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x98]
mov r13, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x90]
add rsp, 0xa0
pop rbp
ret