Function at 0x1402adcb0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor r8d, r8d
mov rsi, rcx
cmp dword [rcx + 0x5c40], 4
jl 0x1402acf14
mov rax, qword [rcx]
mov r14d, dword [rax + 0x1c]
jmp 0x1402acf17
mov r14d, r8d
movsxd rbp, dword [rcx + 0x20]
test rbp, rbp
jle 0x1402ad174
mov r9d, 0x7f
lea rdi, [rcx + 0x340]
lea r10, [0x140000000]
lea r11d, [r9 - 0xa]
mov edx, dword [rdi + 0x1c8]
lea r13, [rdi - 0xe0]
mov ecx, dword [rsi + 0xe0c]
lea rbx, [rdi + 0xe0]
add ecx, edx
cmp ecx, r9d
mov eax, ecx
cmovg eax, r9d
test ecx, ecx
cmovs eax, r8d
cmp edx, r9d
cdqe
movzx eax, byte [rax + r10 + 0x4070f0]
mov word [r13], ax
mov eax, edx
cmovg eax, r9d
test edx, edx
cmovs eax, r8d
cdqe
movzx eax, word [r10 + rax*2 + 0x407170]
mov word [rdi - 0xde], ax
mov ecx, dword [rsi + 0xe10]
add ecx, edx
cmp ecx, r9d
mov eax, ecx
cmovg eax, r9d
test ecx, ecx
cmovs eax, r8d
cdqe
movzx eax, byte [rax + r10 + 0x4070f0]
add ax, ax
mov word [rdi], ax
mov ecx, dword [rsi + 0xe14]
add ecx, edx
cmp ecx, r9d
mov eax, ecx
cmovg eax, r9d
test ecx, ecx
cmovs eax, r8d
cdqe
movzx eax, word [r10 + rax*2 + 0x407270]
mov word [rdi + 2], ax
mov ecx, dword [rsi + 0xe18]
add ecx, edx
cmp ecx, r11d
mov eax, ecx
cmovg eax, r11d
test ecx, ecx
cmovs eax, r8d
cdqe
movzx eax, byte [rax + r10 + 0x4070f0]
mov word [rbx], ax
mov ecx, dword [rsi + 0xe1c]
add ecx, edx
cmp ecx, r9d
mov eax, ecx
cmovg eax, r9d
test ecx, ecx
mov rcx, r13
cmovs eax, r8d
xor edx, edx
cdqe
movzx eax, word [r10 + rax*2 + 0x407170]
mov word [rdi + 0xe2], ax
call fcn.1402ab930
mov edx, 1
mov rcx, rdi
mov r12d, eax
call fcn.1402ab930
mov edx, 2
mov rcx, rbx
mov r15d, eax
call fcn.1402ab930
mov r11d, r12d
imul r11d, r12d
lea ecx, [r11 + r11*2]
sar ecx, 7
imul r15d, r15d
mov dword [rdi + 0x1dc], ecx
lea r8d, [r15 + r15*2]
mov dword [rdi + 0x1d8], r8d
imul eax, eax
mov r9d, r11d
imul r10d, r11d, 7
mov ebx, 1
imul r12d, r14d
sar r9d, 7
sar r15d, 2
mov dword [rdi + 0x1e4], r9d
sar r10d, 3
sar r12d, 5
lea edx, [rax + rax*2]
mov dword [rdi + 0x1f4], r10d
sar edx, 6
add eax, eax
mov dword [rdi + 0x1e0], edx
mov dword [rdi + 0x1f0], r15d
mov dword [rdi + 0x1f8], eax
mov dword [rdi + 0x1ec], r12d
cmp ecx, ebx
jge 0x1402ad0de
mov dword [rdi + 0x1dc], ebx
cmp r8d, ebx
jge 0x1402ad0e9
mov dword [rdi + 0x1d8], ebx
cmp edx, ebx
jge 0x1402ad0f3
mov dword [rdi + 0x1e0], ebx
cmp r9d, ebx
jge 0x1402ad0fe
mov dword [rdi + 0x1e4], ebx
cmp r10d, ebx
jge 0x1402ad109
mov dword [rdi + 0x1f4], ebx
cmp r15d, ebx
jge 0x1402ad114
mov dword [rdi + 0x1f0], ebx
cmp eax, ebx
jge 0x1402ad11e
mov dword [rdi + 0x1f8], ebx
cmp r12d, ebx
jge 0x1402ad129
mov dword [rdi + 0x1ec], ebx
movzx eax, word [r13]
lea r10, [0x140000000]
xor r8d, r8d
mov dword [rdi + 0x1d0], r8d
lea ecx, [rax + rax*4]
imul eax, r11d, 0x3e8
shl ecx, 2
lea r9d, [r8 + 0x7f]
mov dword [rdi + 0x1d4], ecx
lea r11d, [r8 + 0x75]
movsxd rcx, eax
mov qword [rdi + 0x200], rcx
add rdi, 0x2e8
sub rbp, rbx
jne 0x1402acf3c
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
movsd xmm3, qword [0x1404073f8]
xorps xmm2, xmm2
movsxd r15, dword [rcx + 0x20]
xor edi, edi
movaps xmmword [rax - 0x38], xmm6
mov rbx, rcx
movaps xmmword [rax - 0x48], xmm8
mov rax, qword [rcx]
cvtss2sd xmm2, xmm1
mov dword [rsp + 0x78], r15d
movd xmm6, dword [rax + 0x1c]
divsd xmm2, qword [0x1403b1698]
cvtdq2pd xmm6, xmm6
mulsd xmm6, xmm3
divsd xmm6, qword [0x1403b1698]
mulsd xmm6, qword [0x1404073c8]
cmp dword [rax + 0x50], edi
je 0x1402add6a
movd xmm0, dword [rcx + 0xe04]
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x1403b0630]
comisd xmm0, xmmword [0x1404073f0]
jbe 0x1402add47
movsd xmm3, qword [0x140406fc8]
jmp 0x1402add65
movsd xmm1, qword [0x1404073d0]
comisd xmm1, xmm0
ja 0x1402add65
subsd xmm0, xmm1
mulsd xmm0, qword [0x140407400]
subsd xmm3, xmm0
movaps xmm1, xmm3
jmp 0x1402add9c
movsd xmm0, qword [0x1404073e8]
comisd xmm0, xmm2
jbe 0x1402add82
mulsd xmm2, qword [0x1404073e0]
jmp 0x1402add94
movaps xmm0, xmm2
addsd xmm0, xmm2
movaps xmm2, xmm0
subsd xmm2, qword [0x1403b0628]
movsd xmm1, qword [0x1404073d8]
movaps xmm0, xmm2
call fcn.1402ec860
movaps xmm8, xmm0
mov rsi, r15
mov r12d, 0x7f
mov r13d, 0x2e8
test r15d, r15d
jle 0x1402ade1b
lea r14, [rbx + 0x508]
mov rbp, r15
movsd xmm1, qword [0x1403b0628]
movd xmm0, dword [r14 - 8]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
subsd xmm1, xmm0
movaps xmm0, xmm8
call fcn.1402ec860
movsd xmm1, qword [0x1403b0628]
subsd xmm1, xmm0
mulsd xmm1, qword [0x140407408]
cvttsd2si eax, xmm1
cmp eax, r12d
mov ecx, eax
cmovg ecx, r12d
test eax, eax
cmovs ecx, edi
mov dword [r14], ecx
add r14, r13
sub rbp, 1
jne 0x1402addc6
mov eax, dword [rbx + 0x508]
mov ebp, 4
mov dword [rbx + 0xe00], eax
cmp rsi, rbp
jge 0x1402ade58
imul rax, rsi, 0x2e8
lea rdx, [rbx + 0x508]
mov ecx, ebp
add rdx, rax
sub rcx, rsi
mov eax, dword [rbx + 0xe00]
mov dword [rdx], eax
add rdx, r13
sub rcx, 1
jne 0x1402ade47
mov r10, qword [rbx]
lea rsi, [rbx + 0x504]
mov eax, dword [rbx + 0xe08]
mov r11d, 0x51eb851f
sub eax, 0x40
mov r8d, dword [r10 + 0x1c]
mov qword [rbx + 0xe0c], rdi
lea ecx, [rax + rax*4]
mov dword [rbx + 0xe14], edi
add ecx, ecx
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
imul edx, r8d
neg r8d
shl r8d, 2
imul edx
mov eax, r11d
mov r9d, edx
imul r8d
sar r9d, 5
sar edx, 5
mov ecx, r9d
shr ecx, 0x1f
mov eax, edx
shr eax, 0x1f
add r9d, ecx
add edx, eax
mov ecx, 0xf
cmp edx, ecx
mov eax, edx
cmovg eax, ecx
mov ecx, 0xfffffff1
cmp edx, ecx
cmovl eax, ecx
mov ecx, 6
mov dword [rbx + 0xe18], eax
cmp r9d, ecx
mov eax, r9d
cmovg eax, ecx
mov ecx, 0xfffffffc
cmp r9d, ecx
cmovl eax, ecx
mov dword [rbx + 0xe1c], eax
lea r15d, [rcx + 0x43]
mov eax, dword [r10 + 0x20]
lea r14d, [rax + rax*4]
mov eax, dword [rsi + 4]
lea rcx, [0x140407170]
cmp eax, r12d
cmovg eax, r12d
cmp dword [rsi + 4], edi
cmovl eax, edi
cdqe
movzx edx, word [rcx + rax*2]
mov ecx, dword [rbx + 0x18]
shr edx, 2
call fcn.1402ae340
mov ecx, dword [rsi]
add ecx, 0x100
imul eax, r14d
cdq
idiv ecx
cmp eax, r15d
mov ecx, eax
cmovg ecx, r15d
cmp eax, 2
cmovl ecx, edi
mov dword [rsi + 8], ecx
add rsi, r13
sub rbp, 1
jne 0x1402adf11
mov eax, dword [rbx + 0x50c]
mov dword [rbx + 0x14], eax
mov rax, qword [rbx]
cmp dword [rax + 0x28], edi
sete dil
cmp dword [rsp + 0x78], 1
mov dword [rbx + 0x10], edi
mov eax, dword [rax + 0x24]
mov dword [rbx + 0x18], eax
jle 0x1402adf8e
mov rcx, rbx
call fcn.1402ad2e0
mov rcx, rbx
movaps xmm6, xmmword [rsp + 0x30]
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm8, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp 0x1402acee0