Function at 0x6b0ae920
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
movups xmmword [rsp + 0x80], xmm6
movups xmmword [rsp + 0x90], xmm7
movups xmmword [rsp + 0xa0], xmm8
movups xmmword [rsp + 0xb0], xmm9
movups xmmword [rsp + 0xc0], xmm10
movups xmmword [rsp + 0xd0], xmm11
movups xmmword [rsp + 0xe0], xmm12
mov r14, rcx
mov r15, rdx
test r9d, r9d
jle 0x6b0aeeb5
lea eax, [r9 - 1]
mov r12, r8
xor r13d, r13d
xor ebp, ebp
lea rax, [rax + rax*4]
pxor xmm9, xmm9
movss xmm8, dword [0x6b0bc840]
lea rax, [r8 + rax*8 + 0x28]
movups xmm7, xmm8
movss xmm10, dword [0x6b0bc8d0]
mov qword [rsp + 0x38], rax
nop dword [rax]
movss xmm6, dword [r12]
mov rax, qword [r15 + 8]
comiss xmm6, xmm9
jbe 0x6b0aee88
movsxd rcx, dword [r15 + 0x24]
pxor xmm0, xmm0
lea rdx, [rax + rcx + 4]
lea rcx, [rax + rcx + 6]
movzx eax, byte [rdx]
movzx edx, byte [rdx + 1]
shl eax, 8
add eax, edx
movzx edx, byte [rcx]
movzx ecx, byte [rcx + 1]
cwde
shl edx, 8
add edx, ecx
movsx edx, dx
sub eax, edx
cvtsi2ss xmm0, eax
divss xmm6, xmm0
mov eax, dword [r14 + 0x24]
mov byte [r12 + 0x20], al
mov eax, dword [r14 + 0x28]
mov byte [r12 + 0x21], al
mov eax, dword [r12 + 0x10]
test eax, eax
jle 0x6b0aee20
mov rdi, qword [rsp + 0x160]
movsxd rax, ebp
xor esi, esi
lea rax, [rax + rax*2]
lea rdi, [rdi + rax*8 + 0xc]
lea eax, [rbp + 1]
mov dword [rsp + 0x2c], eax
jmp 0x6b0aea6c
mov dword [rdi + 4], 0
mov dword [rdi], 0
add ebp, dword [rsp + 0x2c]
add rsi, 1
add rdi, 0x18
cmp dword [r12 + 0x10], esi
jle 0x6b0aee20
mov rax, qword [r12 + 8]
mov ebp, esi
test rax, rax
je 0x6b0aec80
mov edx, dword [rax + rsi*4]
mov rcx, r15
call fcn.6b0a70d0
mov ebx, eax
test eax, eax
jne 0x6b0aea96
mov eax, r13d
or eax, dword [r14 + 0x20]
jne 0x6b0aea48
mov eax, dword [r14 + 0x28]
pxor xmm0, xmm0
pxor xmm1, xmm1
mov r10d, dword [r15 + 0x4c]
cvtsi2ss xmm0, rax
mov r8, rax
mov eax, dword [r14 + 0x24]
cvtsi2ss xmm1, rax
mulss xmm0, xmm6
mulss xmm1, xmm6
movups xmm11, xmm0
movups xmm12, xmm1
test r10d, r10d
jne 0x6b0aec90
mov edx, ebx
mov rcx, r15
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x34], eax
call fcn.6b0b0370
xor edx, edx
mov r10d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x34]
test eax, eax
js 0x6b0aec58
mov r11, qword [r15 + 8]
cdqe
pxor xmm2, xmm2
movss xmm4, dword [0x6b0bc914]
lea r10, [r11 + rax + 2]
lea rdx, [r11 + rax + 4]
lea rcx, [r11 + rax + 6]
lea r11, [r11 + rax + 8]
movzx eax, byte [r10]
movzx r10d, byte [r10 + 1]
shl eax, 8
add eax, r10d
cwde
cvtsi2ss xmm2, eax
mulss xmm2, xmm1
movups xmm0, xmm2
andps xmm0, xmm7
comiss xmm4, xmm0
jbe 0x6b0aeb66
cvttss2si eax, xmm2
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
movups xmm1, xmm0
cmpnless xmm1, xmm2
movss xmm2, dword [0x6b0bc850]
andps xmm1, xmm2
movups xmm2, xmm0
subss xmm2, xmm1
movzx eax, byte [r11]
movzx r10d, byte [r11 + 1]
pxor xmm3, xmm3
shl eax, 8
add eax, r10d
cwde
neg eax
cvtsi2ss xmm3, eax
mulss xmm3, xmm11
movups xmm0, xmm3
andps xmm0, xmm7
comiss xmm4, xmm0
jbe 0x6b0aebb6
cvttss2si eax, xmm3
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
movups xmm1, xmm0
cmpnless xmm1, xmm3
movss xmm3, dword [0x6b0bc850]
andps xmm1, xmm3
movups xmm3, xmm0
subss xmm3, xmm1
movzx eax, byte [rcx]
movzx ecx, byte [rcx + 1]
pxor xmm1, xmm1
shl eax, 8
add eax, ecx
cwde
cvtsi2ss xmm1, eax
mulss xmm1, xmm12
movups xmm0, xmm1
andps xmm0, xmm7
comiss xmm4, xmm0
jbe 0x6b0aebfb
cvttss2si eax, xmm1
pxor xmm0, xmm0
movss xmm5, dword [0x6b0bc850]
cvtsi2ss xmm0, eax
cmpnless xmm1, xmm0
andps xmm1, xmm5
addss xmm1, xmm0
movzx eax, byte [rdx]
movzx edx, byte [rdx + 1]
pxor xmm0, xmm0
shl eax, 8
add eax, edx
cwde
neg eax
cvtsi2ss xmm0, eax
mulss xmm0, xmm11
movups xmm5, xmm0
andps xmm5, xmm7
comiss xmm4, xmm5
jbe 0x6b0aec42
cvttss2si eax, xmm0
pxor xmm5, xmm5
movss xmm4, dword [0x6b0bc850]
cvtsi2ss xmm5, eax
cmpnless xmm0, xmm5
andps xmm0, xmm4
addss xmm0, xmm5
cvttss2si edx, xmm2
cvttss2si r10d, xmm1
cvttss2si eax, xmm3
sub r10d, edx
cvttss2si edx, xmm0
sub edx, eax
mov eax, dword [r14 + 0x1c]
add edx, eax
add r10d, eax
test ebx, ebx
lea eax, [r8 + rdx - 1]
lea ecx, [r9 + r10 - 1]
mov dword [rdi + 4], eax
mov eax, 1
mov dword [rdi], ecx
cmove r13d, eax
jmp 0x6b0aea55
mov edx, dword [r12 + 4]
add edx, esi
jmp 0x6b0aea7f
mov edx, ebx
lea r8, [rsp + 0x40]
mov rcx, r15
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x40], 1
call fcn.6b0b3a50
xor edx, edx
mov r10d, eax
test eax, eax
je 0x6b0aee11
pxor xmm3, xmm3
movss xmm4, dword [0x6b0bc914]
movups xmm0, xmm8
cvtsi2ss xmm3, dword [rsp + 0x58]
mulss xmm3, xmm12
andps xmm0, xmm3
comiss xmm4, xmm0
jbe 0x6b0aed3c
cvttss2si eax, xmm3
pxor xmm0, xmm0
movss xmm2, dword [0x6b0bc850]
cvtsi2ss xmm0, eax
movups xmm1, xmm0
cmpnless xmm1, xmm3
movups xmm3, xmm0
andps xmm1, xmm2
subss xmm3, xmm1
mov eax, dword [rsp + 0x64]
pxor xmm2, xmm2
movups xmm0, xmm8
neg eax
cvtsi2ss xmm2, eax
mulss xmm2, xmm11
andps xmm0, xmm2
comiss xmm4, xmm0
jbe 0x6b0aed81
cvttss2si eax, xmm2
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
movups xmm1, xmm0
cmpnless xmm1, xmm2
movss xmm2, dword [0x6b0bc850]
andps xmm1, xmm2
movups xmm2, xmm0
subss xmm2, xmm1
pxor xmm1, xmm1
movups xmm0, xmm8
cvtsi2ss xmm1, dword [rsp + 0x5c]
mulss xmm1, xmm12
andps xmm0, xmm1
comiss xmm4, xmm0
jbe 0x6b0aedbc
cvttss2si eax, xmm1
pxor xmm0, xmm0
movss xmm5, dword [0x6b0bc850]
cvtsi2ss xmm0, eax
cmpnless xmm1, xmm0
andps xmm1, xmm5
addss xmm1, xmm0
mov eax, dword [rsp + 0x60]
pxor xmm0, xmm0
movups xmm5, xmm8
neg eax
cvtsi2ss xmm0, eax
mulss xmm0, xmm11
andps xmm5, xmm0
comiss xmm4, xmm5
jbe 0x6b0aedfb
cvttss2si eax, xmm0
pxor xmm5, xmm5
movss xmm4, dword [0x6b0bc850]
cvtsi2ss xmm5, eax
cmpnless xmm0, xmm5
andps xmm0, xmm4
addss xmm0, xmm5
cvttss2si edx, xmm3
cvttss2si r10d, xmm1
cvttss2si eax, xmm2
sub r10d, edx
cvttss2si edx, xmm0
sub edx, eax
mov r9d, dword [r14 + 0x24]
mov r8d, dword [r14 + 0x28]
jmp 0x6b0aec58
add r12, 0x28
cmp qword [rsp + 0x38], r12
jne 0x6b0ae9b8
movups xmm6, xmmword [rsp + 0x80]
mov eax, ebp
movups xmm7, xmmword [rsp + 0x90]
movups xmm8, xmmword [rsp + 0xa0]
movups xmm9, xmmword [rsp + 0xb0]
movups xmm10, xmmword [rsp + 0xc0]
movups xmm11, xmmword [rsp + 0xd0]
movups xmm12, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rdx, dword [r15 + 0x1c]
pxor xmm0, xmm0
xorps xmm6, xmm10
lea rdx, [rax + rdx + 0x12]
movzx eax, byte [rdx]
movzx edx, byte [rdx + 1]
shl eax, 8
add eax, edx
movzx eax, ax
cvtsi2ss xmm0, eax
divss xmm6, xmm0
jmp 0x6b0aea04
xor ebp, ebp
jmp 0x6b0aee2f