Function at 0x545860
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, 0x1f8
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x170], xmm8
movaps xmmword [rsp + 0x180], xmm9
movaps xmmword [rsp + 0x190], xmm10
movaps xmmword [rsp + 0x1a0], xmm11
movaps xmmword [rsp + 0x1b0], xmm12
movaps xmmword [rsp + 0x1c0], xmm13
movaps xmmword [rsp + 0x1d0], xmm14
movaps xmmword [rsp + 0x1e0], xmm15
pxor xmm0, xmm0
movzx eax, word [rdx + 0x64]
cmp rax, qword [rdx + 8]
mov r14, rcx
mov r13, rdx
movaps xmmword [rsp + 0x50], xmm0
mov r12, rax
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0x140], 0
jae 0x545e64
movzx ebx, word [rdx + 0x60]
movzx esi, word [rdx + 0x40]
cmp bx, si
jae 0x545e64
movzx ecx, word [rdx + 0x66]
movzx edx, bx
add edx, ecx
cmp edx, esi
jge 0x545e64
movzx edi, word [r13 + 0x62]
movzx ebp, word [r13 + 0x42]
cmp di, bp
jae 0x545e64
movzx r9d, di
add r9d, ecx
cmp r9d, ebp
jge 0x545e64
movzx r10d, word [r13 + 0x68]
test cx, cx
movzx r11d, word [r13 + 0x6a]
movsd xmm15, qword [r13 + 0x70]
movsd xmm10, qword [r13 + 0x78]
movsd xmm9, qword [r13 + 0x80]
mov word [rsp + 0x4c], r10w
mov word [rsp + 0x4e], r11w
je 0x545e6f
movsd xmm7, qword [r13 + 0x108]
xor r15d, r15d
xor eax, eax
mov ebp, edi
movsd xmm1, qword [r13 + 0x128]
mov qword [rsp + 0x248], r13
mov edi, ebx
mov r13d, r15d
movapd xmm8, xmm7
pxor xmm13, xmm13
mov qword [rsp + 0x240], r14
mov r14d, eax
movsd qword [rsp + 0x40], xmm1
pxor xmm14, xmm14
xorpd xmm8, xmmword [0x006f6c80]
mov r15, qword [rsp + 0x248]
mov dword [rsp + 0x48], 0
jmp 0x545a4e
movzx ebp, word [r15 + 0x62]
movzx ecx, r8w
movzx edi, word [r15 + 0x60]
movzx ebx, r13w
movzx r8d, word [rsp + 0x4e]
add ebp, r13d
add edi, r14d
imul ebx, ecx
movzx r9d, word [rsp + 0x4c]
add ebx, dword [rsp + 0x48]
mov rcx, qword [r15 + 0x88]
lea edx, [r8 + r13]
add r13d, 1
lea r10d, [r14 + r9]
mov r9d, r12d
movsxd rsi, ebx
movzx ebx, r10w
movsd xmm12, qword [rcx + rsi*8]
movzx esi, dx
mov rcx, r15
mov edx, ebx
mov r8d, esi
movsd qword [rsp + 0x30], xmm9
movsd qword [rsp + 0x28], xmm10
movsd qword [rsp + 0x20], xmm15
call fcn.00575350
mov r9d, r12d
mov r8d, esi
mov edx, ebx
mulsd xmm0, xmm8
mov rcx, r15
movsd qword [rsp + 0x30], xmm9
movsd qword [rsp + 0x28], xmm10
movsd qword [rsp + 0x20], xmm15
movapd xmm11, xmm0
call fcn.00575600
mov r8d, esi
mov rcx, r15
mov r9d, r12d
movsd qword [rsp + 0x30], xmm9
mov edx, ebx
movapd xmm6, xmm0
movsd qword [rsp + 0x28], xmm10
mulsd xmm6, xmm8
movsd qword [rsp + 0x20], xmm15
call fcn.005758c0
movzx eax, bp
movzx r11d, word [r15 + 0x40]
movzx ebp, di
mov rcx, qword [r15 + 0x48]
movapd xmm3, xmm7
movapd xmm4, xmm0
movapd xmm0, xmm12
mulsd xmm3, xmm12
movsd xmm2, qword [0x006f6c68]
addsd xmm3, qword [rsp + 0x40]
mulsd xmm4, xmm7
imul r11d, eax
add r11d, ebp
movsxd rdi, r11d
movsd xmm1, qword [rcx + rdi*8]
movapd xmm5, xmm1
addsd xmm1, xmm1
divsd xmm5, xmm3
mulsd xmm3, xmm3
divsd xmm1, xmm3
movapd xmm3, xmm12
subsd xmm2, xmm5
movapd xmm5, xmm11
addsd xmm2, xmm2
mulsd xmm5, xmm2
addsd xmm5, qword [rsp + 0x58]
mulsd xmm0, xmm2
movsd qword [rsp + 0x58], xmm5
movapd xmm5, xmm4
mulsd xmm5, xmm2
addsd xmm5, qword [rsp + 0x68]
addsd xmm13, xmm0
movapd xmm0, xmm6
mulsd xmm0, xmm2
addsd xmm2, qword [rsp + 0x70]
movsd qword [rsp + 0x68], xmm5
movapd xmm5, xmm12
addsd xmm0, qword [rsp + 0x60]
movsd qword [rsp + 0x50], xmm13
movsd qword [rsp + 0x70], xmm2
movapd xmm2, xmm11
movsd qword [rsp + 0x60], xmm0
movapd xmm0, xmm6
mulsd xmm5, xmm1
mulsd xmm3, xmm5
mulsd xmm2, xmm5
addsd xmm2, qword [rsp + 0xa8]
mulsd xmm0, xmm5
addsd xmm0, qword [rsp + 0xd0]
movsd qword [rsp + 0xa8], xmm2
addsd xmm14, xmm3
movapd xmm3, xmm4
movsd xmm2, qword [rsp + 0x120]
movsd qword [rsp + 0xd0], xmm0
mulsd xmm3, xmm5
movapd xmm0, xmm12
addsd xmm3, qword [rsp + 0xf8]
movsd qword [rsp + 0x80], xmm14
addsd xmm2, xmm5
movsd qword [rsp + 0xf8], xmm3
movapd xmm3, xmm11
movsd qword [rsp + 0x120], xmm2
mulsd xmm3, xmm1
movapd xmm2, xmm11
mulsd xmm0, xmm3
addsd xmm0, qword [rsp + 0x88]
mulsd xmm2, xmm3
addsd xmm2, qword [rsp + 0xb0]
movsd qword [rsp + 0x88], xmm0
movapd xmm0, xmm6
movsd qword [rsp + 0xb0], xmm2
movapd xmm2, xmm4
mulsd xmm0, xmm3
addsd xmm0, qword [rsp + 0xd8]
mulsd xmm2, xmm3
addsd xmm2, qword [rsp + 0x100]
movsd qword [rsp + 0xd8], xmm0
movsd xmm0, qword [rsp + 0x128]
movsd qword [rsp + 0x100], xmm2
movapd xmm2, xmm6
mulsd xmm2, xmm1
addsd xmm0, xmm3
movsd qword [rsp + 0x128], xmm0
movapd xmm0, xmm12
movzx r8d, word [r15 + 0x66]
addsd xmm5, qword [rsp + 0xa0]
addsd xmm3, qword [rsp + 0xc8]
mulsd xmm0, xmm2
addsd xmm0, qword [rsp + 0x90]
movsd qword [rsp + 0xa0], xmm5
cmp r8w, r13w
movsd qword [rsp + 0xc8], xmm3
movsd qword [rsp + 0x90], xmm0
movapd xmm0, xmm11
mulsd xmm0, xmm2
addsd xmm0, qword [rsp + 0xb8]
movsd qword [rsp + 0xb8], xmm0
movapd xmm0, xmm6
mulsd xmm0, xmm2
addsd xmm0, qword [rsp + 0xe0]
movsd qword [rsp + 0xe0], xmm0
movapd xmm0, xmm4
mulsd xmm0, xmm2
addsd xmm0, qword [rsp + 0x108]
movsd qword [rsp + 0x108], xmm0
movsd xmm0, qword [rsp + 0x130]
addsd xmm0, xmm2
addsd xmm2, qword [rsp + 0xf0]
movsd qword [rsp + 0x130], xmm0
movapd xmm0, xmm4
movsd qword [rsp + 0xf0], xmm2
mulsd xmm0, xmm1
addsd xmm1, qword [rsp + 0x140]
movsd qword [rsp + 0x140], xmm1
mulsd xmm12, xmm0
addsd xmm12, qword [rsp + 0x98]
mulsd xmm11, xmm0
addsd xmm11, qword [rsp + 0xc0]
mulsd xmm6, xmm0
addsd xmm6, qword [rsp + 0xe8]
mulsd xmm4, xmm0
movsd qword [rsp + 0x98], xmm12
movsd xmm12, qword [rsp + 0x138]
addsd xmm4, qword [rsp + 0x110]
movsd qword [rsp + 0xc0], xmm11
movsd qword [rsp + 0xe8], xmm6
addsd xmm12, xmm0
addsd xmm0, qword [rsp + 0x118]
movsd qword [rsp + 0x110], xmm4
movsd qword [rsp + 0x138], xmm12
movsd qword [rsp + 0x118], xmm0
ja 0x545a40
add r14d, 1
cmp r8w, r14w
jbe 0x545f22
movzx edx, r14w
xor r13d, r13d
mov dword [rsp + 0x48], edx
jmp 0x545a40
mov dword [r13 + 0x158], 4
mov r12, qword [rsp + 0x50]
lea rcx, [r14 + 0x28]
mov r8d, 0xc8
mov r13, qword [rsp + 0x58]
lea rdx, [rsp + 0x80]
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov r9, qword [rsp + 0x70]
mov qword [r14], r12
mov qword [r14 + 8], r13
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], rsi
mov qword [r14 + 0x20], r9
call fcn.005b9c08
nop
movaps xmm6, xmmword [rsp + 0x150]
mov rax, r14
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
movaps xmm9, xmmword [rsp + 0x180]
movaps xmm10, xmmword [rsp + 0x190]
movaps xmm11, xmmword [rsp + 0x1a0]
movaps xmm12, xmmword [rsp + 0x1b0]
movaps xmm13, xmmword [rsp + 0x1c0]
movaps xmm14, xmmword [rsp + 0x1d0]
movaps xmm15, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rsp + 0x240]
jmp 0x545e6f