Function at 0x1401992a0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
movdqa xmmword [rsp + 0x30], xmm6
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x140199bc3
mov r15d, edx
mov rsi, rcx
mov r11, rax
shl r11, 5
movzx ebp, byte [r9 + 0x19]
cmp rax, 1
jne 0x1401992f3
movzx ebx, byte [r9 + 0x1a]
test r15w, r15w
jne 0x140199a73
jmp 0x140199b58
lea rcx, [r11 - 0x20]
mov rax, rcx
shr rax, 5
cmp rcx, 0x100
jae 0x14019930e
xor edi, edi
jmp 0x140199664
cmp rcx, 0x400
jae 0x14019931e
xor edi, edi
jmp 0x14019957d
mov rdi, rax
and rdi, 0xffffffffffffffe0
movzx edx, bpl
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rdx, [r9 + 0x419]
mov rbx, rdi
movdqa xmm1, xmm0
nop dword [rax]
movzx ebp, byte [rdx - 0x200]
movd xmm2, ebp
movzx ebp, byte [rdx - 0x220]
movd xmm3, ebp
punpcklbw xmm3, xmm2
movzx ebp, byte [rdx - 0x240]
movd xmm2, ebp
movzx ebp, byte [rdx - 0x260]
movd xmm4, ebp
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm3
movzx ebp, byte [rdx - 0x280]
movd xmm2, ebp
movzx ebp, byte [rdx - 0x2a0]
movd xmm3, ebp
punpcklbw xmm3, xmm2
movzx ebp, byte [rdx - 0x2c0]
movd xmm5, ebp
movzx ebp, byte [rdx - 0x2e0]
movd xmm2, ebp
punpcklbw xmm2, xmm5
punpcklwd xmm2, xmm3
punpckldq xmm2, xmm4
movzx ebp, byte [rdx - 0x300]
movd xmm3, ebp
movzx ebp, byte [rdx - 0x320]
movd xmm4, ebp
punpcklbw xmm4, xmm3
movzx ebp, byte [rdx - 0x340]
movd xmm3, ebp
movzx ebp, byte [rdx - 0x360]
movd xmm5, ebp
punpcklbw xmm5, xmm3
punpcklwd xmm5, xmm4
movzx ebp, byte [rdx - 0x380]
movd xmm3, ebp
movzx ebp, byte [rdx - 0x3a0]
movd xmm4, ebp
punpcklbw xmm4, xmm3
movzx ebp, byte [rdx - 0x3c0]
movd xmm3, ebp
movzx ebp, byte [rdx - 0x3e0]
movd xmm6, ebp
punpcklbw xmm6, xmm3
punpcklwd xmm6, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm2
pmaxub xmm0, xmm6
movzx ebp, byte [rdx]
movd xmm2, ebp
movzx ebp, byte [rdx - 0x20]
movd xmm3, ebp
punpcklbw xmm3, xmm2
movzx ebp, byte [rdx - 0x40]
movd xmm2, ebp
movzx ebp, byte [rdx - 0x60]
movd xmm4, ebp
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm3
movzx ebp, byte [rdx - 0x80]
movd xmm2, ebp
movzx ebp, byte [rdx - 0xa0]
movd xmm3, ebp
punpcklbw xmm3, xmm2
movzx ebp, byte [rdx - 0xc0]
movd xmm5, ebp
movzx ebp, byte [rdx - 0xe0]
movd xmm2, ebp
punpcklbw xmm2, xmm5
punpcklwd xmm2, xmm3
punpckldq xmm2, xmm4
movzx ebp, byte [rdx - 0x100]
movd xmm3, ebp
movzx ebp, byte [rdx - 0x120]
movd xmm4, ebp
punpcklbw xmm4, xmm3
movzx ebp, byte [rdx - 0x140]
movd xmm3, ebp
movzx ebp, byte [rdx - 0x160]
movd xmm5, ebp
punpcklbw xmm5, xmm3
punpcklwd xmm5, xmm4
movzx ebp, byte [rdx - 0x180]
movd xmm3, ebp
movzx ebp, byte [rdx - 0x1a0]
movd xmm4, ebp
punpcklbw xmm4, xmm3
movzx ebp, byte [rdx - 0x1c0]
movd xmm3, ebp
movzx ebp, byte [rdx - 0x1e0]
movd xmm6, ebp
punpcklbw xmm6, xmm3
punpcklwd xmm6, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm2
pmaxub xmm1, xmm6
add rdx, 0x400
add rbx, 0xffffffffffffffe0
jne 0x140199350
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 ebp, xmm0
cmp rax, rdi
jne 0x140199571
mov edx, ebp
jmp 0x140199699
test ecx, 0x300
je 0x140199664
mov qword [rsp + 0x28], r15
mov rdx, rdi
mov rdi, rax
and rdi, 0xfffffffffffffff8
movzx ebx, bpl
movd xmm0, ebx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov rbx, rdx
shl rbx, 5
add rbx, r9
add rbx, 0x119
sub rdx, rdi
nop word cs:[rax + rax]
movzx ebp, byte [rbx - 0xe0]
movzx r14d, byte [rbx - 0xc0]
movzx r15d, byte [rbx - 0xa0]
movzx r12d, byte [rbx - 0x60]
movzx r13d, byte [rbx - 0x20]
movzx r10d, byte [rbx - 0x40]
shl r10d, 8
or r10d, r12d
shl r14d, 8
or r14d, ebp
shl r15d, 0x10
or r15d, r14d
movzx ebp, byte [rbx - 0x80]
shl ebp, 0x18
or ebp, r15d
movd xmm1, ebp
pinsrw xmm1, r10d, 2
movzx r10d, byte [rbx]
shl r10d, 8
or r10d, r13d
pinsrw xmm1, r10d, 3
pmaxub xmm0, xmm1
add rbx, 0x100
add rdx, 8
jne 0x1401995c0
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 ebp, xmm1
mov edx, ebp
cmp rax, rdi
mov r15, qword [rsp + 0x28]
je 0x140199699
mov rbx, rax
sub rbx, rdi
shl rdi, 5
add rdi, r9
add rdi, 0x39
nop word cs:[rax + rax]
movzx edx, byte [rdi]
movzx r10d, bpl
cmp r10b, dl
cmova edx, r10d
add rdi, 0x20
mov ebp, edx
dec rbx
jne 0x140199680
movzx ebx, byte [r9 + 0x1a]
cmp rcx, 0x100
jae 0x1401996ae
xor edi, edi
jmp 0x140199a34
cmp rcx, 0x400
jae 0x1401996be
xor edi, edi
jmp 0x14019995a
mov rdi, rax
and rdi, 0xffffffffffffffe0
movzx r10d, bl
movd xmm0, r10d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rbx, [r9 + 0x41a]
mov r14, rdi
movdqa xmm1, xmm0
nop word [rax + rax]
movzx r10d, byte [rbx - 0x200]
movd xmm2, r10d
movzx r10d, byte [rbx - 0x220]
movd xmm3, r10d
punpcklbw xmm3, xmm2
movzx r10d, byte [rbx - 0x240]
movd xmm2, r10d
movzx r10d, byte [rbx - 0x260]
movd xmm4, r10d
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm3
movzx r10d, byte [rbx - 0x280]
movd xmm2, r10d
movzx r10d, byte [rbx - 0x2a0]
movd xmm3, r10d
punpcklbw xmm3, xmm2
movzx r10d, byte [rbx - 0x2c0]
movd xmm5, r10d
movzx r10d, byte [rbx - 0x2e0]
movd xmm2, r10d
punpcklbw xmm2, xmm5
punpcklwd xmm2, xmm3
punpckldq xmm2, xmm4
movzx r10d, byte [rbx - 0x300]
movd xmm3, r10d
movzx r10d, byte [rbx - 0x320]
movd xmm4, r10d
punpcklbw xmm4, xmm3
movzx r10d, byte [rbx - 0x340]
movd xmm3, r10d
movzx r10d, byte [rbx - 0x360]
movd xmm5, r10d
punpcklbw xmm5, xmm3
punpcklwd xmm5, xmm4
movzx r10d, byte [rbx - 0x380]
movd xmm3, r10d
movzx r10d, byte [rbx - 0x3a0]
movd xmm4, r10d
punpcklbw xmm4, xmm3
movzx r10d, byte [rbx - 0x3c0]
movd xmm3, r10d
movzx r10d, byte [rbx - 0x3e0]
movd xmm6, r10d
punpcklbw xmm6, xmm3
punpcklwd xmm6, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm2
pmaxub xmm0, xmm6
movzx r10d, byte [rbx]
movd xmm2, r10d
movzx r10d, byte [rbx - 0x20]
movd xmm3, r10d
punpcklbw xmm3, xmm2
movzx r10d, byte [rbx - 0x40]
movd xmm2, r10d
movzx r10d, byte [rbx - 0x60]
movd xmm4, r10d
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm3
movzx r10d, byte [rbx - 0x80]
movd xmm2, r10d
movzx r10d, byte [rbx - 0xa0]
movd xmm3, r10d
punpcklbw xmm3, xmm2
movzx r10d, byte [rbx - 0xc0]
movd xmm5, r10d
movzx r10d, byte [rbx - 0xe0]
movd xmm2, r10d
punpcklbw xmm2, xmm5
punpcklwd xmm2, xmm3
punpckldq xmm2, xmm4
movzx r10d, byte [rbx - 0x100]
movd xmm3, r10d
movzx r10d, byte [rbx - 0x120]
movd xmm4, r10d
punpcklbw xmm4, xmm3
movzx r10d, byte [rbx - 0x140]
movd xmm3, r10d
movzx r10d, byte [rbx - 0x160]
movd xmm5, r10d
punpcklbw xmm5, xmm3
punpcklwd xmm5, xmm4
movzx r10d, byte [rbx - 0x180]
movd xmm3, r10d
movzx r10d, byte [rbx - 0x1a0]
movd xmm4, r10d
punpcklbw xmm4, xmm3
movzx r10d, byte [rbx - 0x1c0]
movd xmm3, r10d
movzx r10d, byte [rbx - 0x1e0]
movd xmm6, r10d
punpcklbw xmm6, xmm3
punpcklwd xmm6, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm2
pmaxub xmm1, xmm6
add rbx, 0x400
add r14, 0xffffffffffffffe0
jne 0x1401996f0
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 ebx, xmm0
cmp rax, rdi
je 0x140199a67
test ecx, 0x300
je 0x140199a34
mov qword [rsp + 0x28], r15
mov rcx, rdi
mov rdi, rax
and rdi, 0xfffffffffffffff8
movzx r10d, bl
movd xmm0, r10d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov r10, rcx
shl r10, 5
lea rbx, [r10 + r9]
add rbx, 0x11a
sub rcx, rdi
movzx r10d, byte [rbx - 0xe0]
movzx ebp, byte [rbx - 0xc0]
movzx r14d, byte [rbx - 0xa0]
movzx r15d, byte [rbx - 0x60]
movzx r12d, byte [rbx - 0x20]
movzx r13d, byte [rbx - 0x40]
shl r13d, 8
or r13d, r15d
shl ebp, 8
or ebp, r10d
shl r14d, 0x10
or r14d, ebp
movzx r10d, byte [rbx - 0x80]
shl r10d, 0x18
or r10d, r14d
movd xmm1, r10d
pinsrw xmm1, r13d, 2
movzx r10d, byte [rbx]
shl r10d, 8
or r10d, r12d
pinsrw xmm1, r10d, 3
pmaxub xmm0, xmm1
add rbx, 0x100
add rcx, 8
jne 0x140199990
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 ebx, xmm1
cmp rax, rdi
mov r15, qword [rsp + 0x28]
je 0x140199a67
sub rax, rdi
shl rdi, 5
lea rcx, [rdi + r9]
add rcx, 0x3a
nop word cs:[rax + rax]
movzx r10d, bl
movzx ebx, byte [rcx]
cmp r10b, bl
cmova ebx, r10d
add rcx, 0x20
dec rax
jne 0x140199a50
mov ebp, edx
test r15w, r15w
je 0x140199b58
test bpl, bpl
je 0x140199b58
movzx edi, bpl
shl edi, 3
lea eax, [r15 - 1]
xor edx, edx
div di
test r8w, r8w
je 0x140199b58
test bl, bl
je 0x140199b58
mov ecx, eax
movzx ebp, r15w
inc ecx
movzx ebx, bl
movzx r14d, r8w
shl ebx, 3
dec r8d
xor r15d, r15d
mov eax, r8d
xor edx, edx
div bx
mov r8d, eax
inc r8d
nop word cs:[rax + rax]
movzx r12d, byte [r9 + r15 + 0x19]
mov eax, r12d
imul eax, ebp
mov r10d, dword [r9 + r15 + 8]
imul eax, r10d
test eax, eax
je 0x140199b58
dec eax
xor edx, edx
div edi
inc eax
mov word [r9 + r15 + 0x10], ax
movzx r13d, byte [r9 + r15 + 0x1a]
imul r10d, r14d
imul r10d, r13d
test r10d, r10d
je 0x140199b58
dec r10d
mov eax, r10d
xor edx, edx
div ebx
inc eax
mov word [r9 + r15 + 0x12], ax
movzx eax, r12w
imul eax, ecx
mov word [r9 + r15 + 0x14], ax
movzx eax, r13w
imul eax, r8d
mov word [r9 + r15 + 0x16], ax
add r15, 0x20
cmp r11, r15
jne 0x140199ad0
mov word [rsi + 8], cx
mov word [rsi + 0xa], r8w
movabs rax, 0x8000000000000003
mov qword [rsi], rax
jmp 0x140199baa
movzx eax, byte [0x1403d2ea1]
mov ecx, 0x12
mov edx, 1
call fcn.1400fcbc0
test rax, rax
je 0x140199bcf
movdqu xmm0, xmmword [str.invalid_dimensionsC:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srcparser.rs]
movdqu xmmword [rax], xmm0
mov word [rax + 0x10], 0x736e
mov rcx, rax
shr rcx, 0x10
mov qword [rsi], 0x12
mov word [rsi + 8], ax
shr rax, 0x30
mov word [rsi + 0xe], ax
mov dword [rsi + 0xa], ecx
mov qword [rsi + 0x10], 0x12
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x14036c9e0]
call fcn.14029d730
mov ecx, 1
mov edx, 0x12
call fcn.14029d590
int3