Function at 0x140199c70
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x10], xmm7
movdqa xmmword [rbp], xmm6
mov qword [rbp - 8], 0xfffffffffffffffe
mov word [rbp - 0xa], r9w
test r8, r8
je 0x14019a9a0
mov rbx, r8
mov rdi, rdx
mov rax, r8
shl rax, 5
movzx r13d, byte [rdx + 0x19]
cmp r8, 1
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x40], rcx
jne 0x140199cd5
movzx r12d, byte [rdi + 0x1a]
jmp 0x14019a48b
lea rsi, [rax - 0x20]
mov rax, rsi
shr rax, 5
cmp rsi, 0x100
jae 0x140199cf1
xor r8d, r8d
jmp 0x14019a08b
cmp rsi, 0x400
jae 0x140199d02
xor r8d, r8d
jmp 0x140199f9f
mov r8, rax
and r8, 0xffffffffffffffe0
movzx edx, r13b
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rdx, [rdi + 0x419]
mov r9, r8
movdqa xmm1, xmm0
nop dword [rax]
movzx r10d, byte [rdx - 0x200]
movd xmm2, r10d
movzx r10d, byte [rdx - 0x220]
movd xmm3, r10d
punpcklbw xmm3, xmm2
movzx r10d, byte [rdx - 0x240]
movd xmm2, r10d
movzx r10d, byte [rdx - 0x260]
movd xmm4, r10d
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm3
movzx r10d, byte [rdx - 0x280]
movd xmm2, r10d
movzx r10d, byte [rdx - 0x2a0]
movd xmm3, r10d
punpcklbw xmm3, xmm2
movzx r10d, byte [rdx - 0x2c0]
movd xmm5, r10d
movzx r10d, byte [rdx - 0x2e0]
movd xmm2, r10d
punpcklbw xmm2, xmm5
punpcklwd xmm2, xmm3
punpckldq xmm2, xmm4
movzx r10d, byte [rdx - 0x300]
movd xmm3, r10d
movzx r10d, byte [rdx - 0x320]
movd xmm4, r10d
punpcklbw xmm4, xmm3
movzx r10d, byte [rdx - 0x340]
movd xmm3, r10d
movzx r10d, byte [rdx - 0x360]
movd xmm5, r10d
punpcklbw xmm5, xmm3
punpcklwd xmm5, xmm4
movzx r10d, byte [rdx - 0x380]
movd xmm3, r10d
movzx r10d, byte [rdx - 0x3a0]
movd xmm4, r10d
punpcklbw xmm4, xmm3
movzx r10d, byte [rdx - 0x3c0]
movd xmm3, r10d
movzx r10d, byte [rdx - 0x3e0]
movd xmm6, r10d
punpcklbw xmm6, xmm3
punpcklwd xmm6, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm2
pmaxub xmm0, xmm6
movzx r10d, byte [rdx]
movd xmm2, r10d
movzx r10d, byte [rdx - 0x20]
movd xmm3, r10d
punpcklbw xmm3, xmm2
movzx r10d, byte [rdx - 0x40]
movd xmm2, r10d
movzx r10d, byte [rdx - 0x60]
movd xmm4, r10d
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm3
movzx r10d, byte [rdx - 0x80]
movd xmm2, r10d
movzx r10d, byte [rdx - 0xa0]
movd xmm3, r10d
punpcklbw xmm3, xmm2
movzx r10d, byte [rdx - 0xc0]
movd xmm5, r10d
movzx r10d, byte [rdx - 0xe0]
movd xmm2, r10d
punpcklbw xmm2, xmm5
punpcklwd xmm2, xmm3
punpckldq xmm2, xmm4
movzx r10d, byte [rdx - 0x100]
movd xmm3, r10d
movzx r10d, byte [rdx - 0x120]
movd xmm4, r10d
punpcklbw xmm4, xmm3
movzx r10d, byte [rdx - 0x140]
movd xmm3, r10d
movzx r10d, byte [rdx - 0x160]
movd xmm5, r10d
punpcklbw xmm5, xmm3
punpcklwd xmm5, xmm4
movzx r10d, byte [rdx - 0x180]
movd xmm3, r10d
movzx r10d, byte [rdx - 0x1a0]
movd xmm4, r10d
punpcklbw xmm4, xmm3
movzx r10d, byte [rdx - 0x1c0]
movd xmm3, r10d
movzx r10d, byte [rdx - 0x1e0]
movd xmm6, r10d
punpcklbw xmm6, xmm3
punpcklwd xmm6, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm2
pmaxub xmm1, xmm6
add rdx, 0x400
add r9, 0xffffffffffffffe0
jne 0x140199d30
pmaxub xmm0, xmm1
pshufd xmm1, xmm0, 0xee
pmaxub xmm1, xmm0
pshufd xmm0, xmm1, 0x55
pmaxub xmm0, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x10
pmaxub xmm1, xmm0
movdqa xmm0, xmm1
psrlw xmm0, 8
pmaxub xmm0, xmm1
movd r13d, xmm0
cmp rax, r8
jne 0x140199f93
mov edx, r13d
jmp 0x14019a0bb
test esi, 0x300
je 0x14019a08b
mov qword [rbp - 0x18], rsi
mov r12, rbx
mov rdx, r8
mov r8, rax
and r8, 0xfffffffffffffff8
movzx r9d, r13b
movd xmm0, r9d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov r9, rdx
shl r9, 5
add r9, rdi
add r9, 0x119
sub rdx, r8
nop word cs:[rax + rax]
movzx r10d, byte [r9 - 0xe0]
movzx r11d, byte [r9 - 0xc0]
movzx esi, byte [r9 - 0xa0]
movzx ebx, byte [r9 - 0x60]
movzx r14d, byte [r9 - 0x20]
movzx r15d, byte [r9 - 0x40]
shl r15d, 8
or r15d, ebx
shl r11d, 8
or r11d, r10d
shl esi, 0x10
or esi, r11d
movzx r10d, byte [r9 - 0x80]
shl r10d, 0x18
or r10d, esi
movd xmm1, r10d
pinsrw xmm1, r15d, 2
movzx r10d, byte [r9]
shl r10d, 8
or r10d, r14d
pinsrw xmm1, r10d, 3
pmaxub xmm0, xmm1
add r9, 0x100
add rdx, 8
jne 0x140199fe0
pshufd xmm1, xmm0, 0x55
pmaxub xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
pmaxub xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
pmaxub xmm1, xmm0
movd r13d, xmm1
mov edx, r13d
cmp rax, r8
mov rbx, r12
mov rsi, qword [rbp - 0x18]
je 0x14019a0bb
mov r9, rax
sub r9, r8
shl r8, 5
add r8, rdi
add r8, 0x39
nop dword [rax]
movzx edx, byte [r8]
movzx r10d, r13b
cmp r10b, dl
cmova edx, r10d
add r8, 0x20
mov r13d, edx
dec r9
jne 0x14019a0a0
movzx r12d, byte [rdi + 0x1a]
cmp rsi, 0x100
jae 0x14019a0d1
xor r8d, r8d
jmp 0x14019a454
cmp rsi, 0x400
jae 0x14019a0e2
xor r8d, r8d
jmp 0x14019a37b
mov r8, rax
and r8, 0xffffffffffffffe0
movzx r9d, r12b
movd xmm0, r9d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea r9, [rdi + 0x41a]
mov r10, r8
movdqa xmm1, xmm0
nop
movzx r11d, byte [r9 - 0x200]
movd xmm2, r11d
movzx r11d, byte [r9 - 0x220]
movd xmm3, r11d
punpcklbw xmm3, xmm2
movzx r11d, byte [r9 - 0x240]
movd xmm2, r11d
movzx r11d, byte [r9 - 0x260]
movd xmm4, r11d
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm3
movzx r11d, byte [r9 - 0x280]
movd xmm2, r11d
movzx r11d, byte [r9 - 0x2a0]
movd xmm3, r11d
punpcklbw xmm3, xmm2
movzx r11d, byte [r9 - 0x2c0]
movd xmm5, r11d
movzx r11d, byte [r9 - 0x2e0]
movd xmm2, r11d
punpcklbw xmm2, xmm5
punpcklwd xmm2, xmm3
punpckldq xmm2, xmm4
movzx r11d, byte [r9 - 0x300]
movd xmm3, r11d
movzx r11d, byte [r9 - 0x320]
movd xmm4, r11d
punpcklbw xmm4, xmm3
movzx r11d, byte [r9 - 0x340]
movd xmm3, r11d
movzx r11d, byte [r9 - 0x360]
movd xmm5, r11d
punpcklbw xmm5, xmm3
punpcklwd xmm5, xmm4
movzx r11d, byte [r9 - 0x380]
movd xmm3, r11d
movzx r11d, byte [r9 - 0x3a0]
movd xmm4, r11d
punpcklbw xmm4, xmm3
movzx r11d, byte [r9 - 0x3c0]
movd xmm3, r11d
movzx r11d, byte [r9 - 0x3e0]
movd xmm6, r11d
punpcklbw xmm6, xmm3
punpcklwd xmm6, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm2
pmaxub xmm0, xmm6
movzx r11d, byte [r9]
movd xmm2, r11d
movzx r11d, byte [r9 - 0x20]
movd xmm3, r11d
punpcklbw xmm3, xmm2
movzx r11d, byte [r9 - 0x40]
movd xmm2, r11d
movzx r11d, byte [r9 - 0x60]
movd xmm4, r11d
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm3
movzx r11d, byte [r9 - 0x80]
movd xmm2, r11d
movzx r11d, byte [r9 - 0xa0]
movd xmm3, r11d
punpcklbw xmm3, xmm2
movzx r11d, byte [r9 - 0xc0]
movd xmm5, r11d
movzx r11d, byte [r9 - 0xe0]
movd xmm2, r11d
punpcklbw xmm2, xmm5
punpcklwd xmm2, xmm3
punpckldq xmm2, xmm4
movzx r11d, byte [r9 - 0x100]
movd xmm3, r11d
movzx r11d, byte [r9 - 0x120]
movd xmm4, r11d
punpcklbw xmm4, xmm3
movzx r11d, byte [r9 - 0x140]
movd xmm3, r11d
movzx r11d, byte [r9 - 0x160]
movd xmm5, r11d
punpcklbw xmm5, xmm3
punpcklwd xmm5, xmm4
movzx r11d, byte [r9 - 0x180]
movd xmm3, r11d
movzx r11d, byte [r9 - 0x1a0]
movd xmm4, r11d
punpcklbw xmm4, xmm3
movzx r11d, byte [r9 - 0x1c0]
movd xmm3, r11d
movzx r11d, byte [r9 - 0x1e0]
movd xmm6, r11d
punpcklbw xmm6, xmm3
punpcklwd xmm6, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm2
pmaxub xmm1, xmm6
add r9, 0x400
add r10, 0xffffffffffffffe0
jne 0x14019a110
pmaxub xmm0, xmm1
pshufd xmm1, xmm0, 0xee
pmaxub xmm1, xmm0
pshufd xmm0, xmm1, 0x55
pmaxub xmm0, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x10
pmaxub xmm1, xmm0
movdqa xmm0, xmm1
psrlw xmm0, 8
pmaxub xmm0, xmm1
movd r12d, xmm0
cmp rax, r8
je 0x14019a488
test esi, 0x300
je 0x14019a454
mov r13, rbx
mov rcx, r8
mov r8, rax
and r8, 0xfffffffffffffff8
movzx r9d, r12b
movd xmm0, r9d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov r9, rcx
shl r9, 5
add r9, rdi
add r9, 0x11a
sub rcx, r8
nop
movzx r10d, byte [r9 - 0xe0]
movzx r11d, byte [r9 - 0xc0]
movzx esi, byte [r9 - 0xa0]
movzx ebx, byte [r9 - 0x60]
movzx r14d, byte [r9 - 0x20]
movzx r15d, byte [r9 - 0x40]
shl r15d, 8
or r15d, ebx
shl r11d, 8
or r11d, r10d
shl esi, 0x10
or esi, r11d
movzx r10d, byte [r9 - 0x80]
shl r10d, 0x18
or r10d, esi
movd xmm1, r10d
pinsrw xmm1, r15d, 2
movzx r10d, byte [r9]
shl r10d, 8
or r10d, r14d
pinsrw xmm1, r10d, 3
pmaxub xmm0, xmm1
add r9, 0x100
add rcx, 8
jne 0x14019a3b0
pshufd xmm1, xmm0, 0x55
pmaxub xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
pmaxub xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
pmaxub xmm1, xmm0
movd r12d, xmm1
cmp rax, r8
mov rbx, r13
je 0x14019a488
sub rax, r8
shl r8, 5
lea rcx, [r8 + rdi]
add rcx, 0x3a
nop word cs:[rax + rax]
movzx r8d, r12b
movzx r12d, byte [rcx]
cmp r8b, r12b
cmova r12d, r8d
add rcx, 0x20
dec rax
jne 0x14019a470
mov r13d, edx
xor r15d, r15d
mov ecx, 0x28
mov rax, rbx
mul rcx
mov rsi, rax
jo 0x14019a4d5
movabs rax, 0x7ffffffffffffff8
cmp rsi, rax
ja 0x14019a4d5
test rsi, rsi
mov qword [rbp - 0x50], rbx
je 0x14019a4e0
movzx eax, byte [0x1403d2ea1]
mov r15d, 8
mov edx, 8
mov rcx, rsi
call fcn.1400fcbc0
test rax, rax
jne 0x14019a4e7
mov rcx, r15
mov rdx, rsi
call fcn.14029d590
mov eax, 8
xor ebx, ebx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0
test r13b, r13b
sete byte [rbp - 0xb]
cmp word [rbp - 0xa], 1
lea rax, [0x14036cb68]
lea r15, [0x14036cb48]
cmove r15, rax
xor r14d, r14d
pxor xmm6, xmm6
movzx eax, r13b
mov word [rbp - 0x1c], ax
movzx eax, r12b
mov word [rbp - 0x1a], ax
xor esi, esi
jmp 0x14019a577
mov rax, qword [rbp - 0x30]
lea rcx, [rsi + rsi*4]
mov rdx, qword [rbp - 0x18]
mov qword [rax + rcx*8], rdx
mov r8, qword [rbp - 0x48]
mov qword [rax + rcx*8 + 8], r8
punpcklwd xmm7, xmm6
punpckldq xmm7, xmm6
movdqu xmmword [rax + rcx*8 + 0x10], xmm7
mov qword [rax + rcx*8 + 0x20], rbx
inc rsi
mov qword [rbp - 0x28], rsi
add r14, 0x20
mov rcx, r8
mov r8, qword [rbp - 0x58]
cmp r8, r14
je 0x14019a74f
movzx r9d, byte [rdi + r14 + 0x19]
movzx r8d, byte [rdi + r14 + 0x1a]
cmp r9b, r13b
jne 0x14019a5b0
cmp r8b, r12b
jne 0x14019a5f0
mov eax, 1
mov qword [rbp - 0x18], rax
lea r10, [0x14036cb68]
jmp 0x14019a720
lea r11d, [r9 + r9]
cmp r11b, r13b
sete r10b
cmp r8b, r12b
jne 0x14019a610
mov eax, 1
mov qword [rbp - 0x18], rax
cmp word [rbp - 0xa], 1
je 0x14019a710
mov r10, r15
cmp r11b, r13b
jne 0x14019a6a0
jmp 0x14019a720
lea eax, [r8 + r8]
cmp al, r12b
sete al
movzx r10d, byte [rbp - 0xb]
jmp 0x14019a621
lea eax, [r8 + r8]
cmp al, r12b
sete al
cmp word [rbp - 0xa], 1
jne 0x14019a651
mov r11d, 1
mov qword [rbp - 0x18], r11
cmp word [rbp + 0x90], 1
jne 0x14019a641
lea r10, [0x14036cb68]
jmp 0x14019a720
test al, al
je 0x14019a675
lea r10, [0x14036cb28]
jmp 0x14019a720
cmp word [rbp + 0x90], 1
jne 0x14019a675
mov ebx, 1
mov qword [rbp - 0x18], rbx
cmp r11b, r13b
jne 0x14019a675
lea r10, [0x14036cb48]
jmp 0x14019a720
test r10b, r10b
je 0x14019a6a0
mov r10d, 1
mov qword [rbp - 0x18], r10
lea r10, [0x14036cb08]
test al, al
jne 0x14019a720
nop word cs:[rax + rax]
test r9b, r9b
je 0x14019a973
movzx eax, word [rbp - 0x1c]
div r9b
mov esi, eax
movzx eax, ah
test al, al
jne 0x14019a782
test r8b, r8b
je 0x14019a981
movzx eax, word [rbp - 0x1a]
div r8b
mov ebx, eax
movzx eax, ah
test al, al
jne 0x14019a782
movzx eax, byte [0x1403d2ea1]
mov ecx, 2
mov edx, 1
call fcn.1400fcbc0
test rax, rax
je 0x14019a98f
mov byte [rax], sil
mov qword [rbp - 0x18], rax
mov byte [rax + 1], bl
mov rsi, qword [rbp - 0x28]
lea r10, [0x14036cae8]
jmp 0x14019a720
mov r10, r15
nop word cs:[rax + rax]
mov qword [rbp - 0x48], r10
movq xmm7, qword [rdi + r14 + 0x10]
movzx ebx, word [rdi + r14 + 0x14]
imul rbx, qword [rdi + r14 + 8]
cmp rsi, qword [rbp - 0x38]
jne 0x14019a530
lea rcx, [rbp - 0x38]
call fcn.140009d20
jmp 0x14019a530
movzx edx, word [rdi + 0x10]
cmp qword [rbp - 0x50], 1
jne 0x14019a763
mov rsi, qword [rbp - 0x40]
jmp 0x14019a934
add r8, 0xffffffffffffffe0
mov rax, r8
shr rax, 5
cmp r8, 0x200
mov rsi, qword [rbp - 0x40]
jae 0x14019a7dc
xor ecx, ecx
jmp 0x14019a90d
and rdx, 0xffffffffffffff00
or rdx, 6
movabs rax, 0x8000000000000000
mov rsi, qword [rbp - 0x40]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rdx
mov qword [rsi + 0x18], rcx
mov qword [rsi], rax
lea rcx, [rbp - 0x38]
call fcn.1400222e0
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x14019a954
mov rcx, qword [rbp - 0x30]
shl rax, 3
lea rdx, [rax + rax*4]
mov r8d, 8
call fcn.1400fcbd0
jmp 0x14019a954
mov rcx, rax
and rcx, 0xfffffffffffffff0
movd xmm0, edx
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rdx, [rdi + 0x210]
mov r8, rcx
movdqa xmm3, xmm0
nop
movdqa xmm1, xmm3
movdqa xmm2, xmm0
movd xmm0, dword [rdx - 0x100]
movd xmm3, dword [rdx - 0x120]
punpcklwd xmm3, xmm0
movd xmm0, dword [rdx - 0x140]
movd xmm4, dword [rdx - 0x160]
punpcklwd xmm4, xmm0
punpckldq xmm4, xmm3
movd xmm0, dword [rdx - 0x180]
movd xmm3, dword [rdx - 0x1a0]
punpcklwd xmm3, xmm0
movd xmm5, dword [rdx - 0x1c0]
movd xmm0, dword [rdx - 0x1e0]
punpcklwd xmm0, xmm5
punpckldq xmm0, xmm3
punpcklqdq xmm0, xmm4
movd xmm3, dword [rdx]
movd xmm4, dword [rdx - 0x20]
punpcklwd xmm4, xmm3
movd xmm3, dword [rdx - 0x40]
movd xmm5, dword [rdx - 0x60]
punpcklwd xmm5, xmm3
punpckldq xmm5, xmm4
movd xmm3, dword [rdx - 0x80]
movd xmm4, dword [rdx - 0xa0]
punpcklwd xmm4, xmm3
movd xmm6, dword [rdx - 0xc0]
movd xmm3, dword [rdx - 0xe0]
punpcklwd xmm3, xmm6
punpckldq xmm3, xmm4
punpcklqdq xmm3, xmm5
psubusw xmm0, xmm2
paddw xmm0, xmm2
psubusw xmm3, xmm1
paddw xmm3, xmm1
add rdx, 0x200
add r8, 0xfffffffffffffff0
jne 0x14019a800
psubusw xmm3, xmm0
paddw xmm3, xmm0
pshufd xmm0, xmm3, 0xee
psubusw xmm0, xmm3
paddw xmm0, xmm3
pshufd xmm1, xmm0, 0x55
psubusw xmm1, xmm0
paddw xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
psubusw xmm0, xmm1
paddw xmm0, xmm1
movd edx, xmm0
cmp rax, rcx
je 0x14019a934
sub rax, rcx
shl rcx, 5
add rcx, rdi
add rcx, 0x30
nop dword [rax + rax]
mov r8d, dword [rcx]
cmp dx, r8w
cmovbe edx, r8d
add rcx, 0x20
dec rax
jne 0x14019a920
movzx eax, dx
movzx ecx, r13b
imul rcx, rax
mov rax, qword [rbp - 0x28]
mov qword [rsi + 0x10], rax
movdqu xmm0, xmmword [rbp - 0x38]
movdqu xmmword [rsi], xmm0
mov qword [rsi + 0x18], rcx
mov rax, rsi
movaps xmm6, xmmword [rbp]
movaps xmm7, xmmword [rbp + 0x10]
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srcupsampler.rs
call fcn.14029df90
jmp 0x14019a99e
lea rcx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srcupsampler.rs
call fcn.14029df90
jmp 0x14019a99e
mov ecx, 1
mov edx, 2
call fcn.14029d5b0
ud2
lea rcx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srcupsampler.rs
call fcn.14029d730
int3