Function at 0x18005c440
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov dword [rax + 0x18], r8d
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov ebx, dword [rsp + 0x110]
mov r13d, r8d
movaps xmmword [rax - 0x58], xmm6
mov r15d, edx
movaps xmmword [rax - 0x68], xmm7
mov eax, dword [rsp + 0x128]
movzx ecx, ax
shr eax, 0x10
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x130]
shr cx, 8
imul r9d, r9d
mov word [rsp + 0x62], cx
movzx ecx, ax
shr eax, 0x10
mov dword [rsp + 0x64], eax
mov eax, ebx
imul eax, ebx
shr cx, 8
mov word [rsp + 0x60], cx
mov dword [rsp + 0x108], r9d
lea edi, [r9 + r9]
movd xmm6, r9d
mov dword [rsp + 0x110], eax
mov dword [rsp + 0x70], edi
cvtdq2ps xmm6, xmm6
lea ecx, [rax + rax]
add eax, r9d
mov dword [rsp + 0x6c], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
call fcn.1800b25e8
mov eax, dword [rsp + 0x64]
mov r12d, edi
mov rcx, qword [rsp + 0xf0]
xor r14d, r14d
mov byte [rsp + 0x58], al
mov r9d, r15d
movzx eax, word [rsp + 0x60]
mov r8d, r13d
mov byte [rsp + 0x50], al
mov edx, r15d
mov eax, dword [rsp + 0x130]
mov edi, r14d
mov byte [rsp + 0x48], al
mov esi, r15d
mov eax, dword [rsp + 0x68]
mov byte [rsp + 0x40], al
movzx eax, word [rsp + 0x62]
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x128]
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x118]
divss xmm6, xmm0
mov dword [rsp + 0x28], eax
imul r12d, ebx
add ebx, r13d
addss xmm6, dword [0x1800e0294]
mov dword [rsp + 0x20], ebx
neg r12d
cvttss2si ebp, xmm6
call fcn.180059920
movzx r10d, byte [rsp + 0x120]
movss xmm7, dword [0x1800e0d90]
cmp ebp, 1
jle 0x18005c70b
mov edx, dword [rsp + 0x118]
lea ecx, [rbp - 1]
mov qword [rsp + 0x78], rcx
movd xmm6, edx
cvtdq2ps xmm6, xmm6
nop dword [rax + rax]
sub edi, dword [rsp + 0x110]
inc esi
add edi, r14d
js 0x18005c5b3
lea ebp, [rbx + 1]
jmp 0x18005c5fe
mov r9d, dword [rsp + 0x108]
lea edx, [rbx - 1]
mov ecx, edi
sub ecx, r12d
sub ecx, r9d
lea r8d, [r9 + r9]
add r8d, r12d
test ecx, ecx
jle 0x18005c5ed
lea eax, [rdi + rdi]
mov ebp, edx
sub eax, r12d
sub eax, r9d
cmovs ebp, ebx
test eax, eax
cmovs r12d, r8d
cmovs edi, ecx
cmovs ebx, edx
jmp 0x18005c5f7
mov ebx, edx
lea ebp, [rdx - 1]
mov edi, ecx
mov r12d, r8d
mov edx, dword [rsp + 0x118]
sub r14d, dword [rsp + 0x6c]
movd xmm1, edi
movd xmm0, r12d
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
andps xmm1, xmm7
mulss xmm1, xmm6
cvttss2si r15d, xmm1
test r10b, r10b
je 0x18005c688
mov ecx, dword [rsp + 0x64]
mov eax, edx
mov edx, dword [rsp + 0xf8]
sub eax, r15d
mov byte [rsp + 0x58], cl
mov r9d, esi
movzx ecx, word [rsp + 0x60]
mov r8d, r13d
mov byte [rsp + 0x50], cl
mov ecx, dword [rsp + 0x130]
mov byte [rsp + 0x48], cl
mov ecx, dword [rsp + 0x68]
mov byte [rsp + 0x40], cl
movzx ecx, word [rsp + 0x62]
mov byte [rsp + 0x38], cl
mov ecx, dword [rsp + 0x128]
mov byte [rsp + 0x30], cl
mov rcx, qword [rsp + 0xf0]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.180059920
jmp 0x18005c694
cmp ebp, ebx
jge 0x18005c694
mov ebp, ebx
mov r15d, 0xff
mov eax, dword [rsp + 0x64]
mov r9d, esi
mov edx, dword [rsp + 0xf8]
mov r8d, r13d
mov rcx, qword [rsp + 0xf0]
mov byte [rsp + 0x58], al
movzx eax, word [rsp + 0x60]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x130]
mov byte [rsp + 0x48], al
mov eax, dword [rsp + 0x68]
mov byte [rsp + 0x40], al
movzx eax, word [rsp + 0x62]
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x128]
mov byte [rsp + 0x30], al
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], ebp
call fcn.180059920
sub qword [rsp + 0x78], 1
mov edx, dword [rsp + 0x118]
movzx r10d, byte [rsp + 0x120]
jne 0x18005c5a0
mov eax, ebx
sub eax, r13d
cdq
xor eax, edx
sub eax, edx
cmp eax, 1
jl 0x18005c8ab
mov ecx, dword [rsp + 0x118]
mov r13d, eax
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
nop
sub edi, r12d
dec ebx
sub edi, dword [rsp + 0x108]
test edi, edi
jg 0x18005c745
lea ebp, [rsi - 1]
jmp 0x18005c796
mov ecx, dword [rsp + 0x110]
lea r9d, [rsi + 1]
mov r8d, edi
mov edx, r14d
sub r8d, ecx
lea eax, [rcx + rcx]
sub edx, eax
add r8d, r14d
jns 0x18005c782
lea eax, [rdi + rdi]
mov ebp, r9d
sub eax, ecx
lea ecx, [rax + r14]
test ecx, ecx
cmovg ebp, esi
cmovg r14d, edx
cmovg esi, r9d
cmovg edi, r8d
jmp 0x18005c78f
mov esi, r9d
lea ebp, [r9 + 1]
mov edi, r8d
mov r14d, edx
mov ecx, dword [rsp + 0x118]
add r12d, dword [rsp + 0x70]
movd xmm1, edi
movd xmm0, r14d
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
andps xmm1, xmm7
mulss xmm1, xmm6
cvttss2si r15d, xmm1
test r10b, r10b
je 0x18005c825
mov r8d, dword [rsp + 0x100]
mov eax, ecx
mov ecx, dword [rsp + 0x64]
sub eax, r15d
mov edx, dword [rsp + 0xf8]
mov r9d, esi
mov byte [rsp + 0x58], cl
movzx ecx, word [rsp + 0x60]
mov byte [rsp + 0x50], cl
mov ecx, dword [rsp + 0x130]
mov byte [rsp + 0x48], cl
mov ecx, dword [rsp + 0x68]
mov byte [rsp + 0x40], cl
movzx ecx, word [rsp + 0x62]
mov byte [rsp + 0x38], cl
mov ecx, dword [rsp + 0x128]
mov byte [rsp + 0x30], cl
mov rcx, qword [rsp + 0xf0]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.180059920
jmp 0x18005c831
cmp ebp, esi
jge 0x18005c831
mov ebp, esi
mov r15d, 0xff
mov eax, dword [rsp + 0x64]
mov r9d, ebp
mov r8d, dword [rsp + 0x100]
mov edx, dword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
mov byte [rsp + 0x58], al
movzx eax, word [rsp + 0x60]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x130]
mov byte [rsp + 0x48], al
mov eax, dword [rsp + 0x68]
mov byte [rsp + 0x40], al
movzx eax, word [rsp + 0x62]
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x128]
mov byte [rsp + 0x30], al
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], ebx
call fcn.180059920
mov ecx, dword [rsp + 0x118]
movzx r10d, byte [rsp + 0x120]
sub r13, 1
jne 0x18005c730
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0x80]
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret