Function at 0x140096d40
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, 0x98
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp], xmm6
mov qword [rbp - 8], 0xfffffffffffffffe
mov word [rbp - 0x48], r9w
test r8, r8
je 0x140097a64
mov r14, r8
mov rdi, rdx
movzx esi, byte [rdx + 0x19]
cmp r8, 1
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x60], r8
jne 0x140096d9d
movzx ebx, byte [rdi + 0x1a]
mov r15d, 0x28
jmp 0x14009756b
movabs rax, 0x7ffffffffffffff
lea r13, [r14 + rax]
and rax, r13
cmp rax, 8
jae 0x140096dbc
xor r8d, r8d
jmp 0x140097144
cmp rax, 0x20
jae 0x140096dca
xor r8d, r8d
jmp 0x140097067
mov edx, r13d
and edx, 0x1f
mov r8, rax
sub r8, rdx
movzx r9d, sil
movd xmm0, r9d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea r9, [rdi + 0x419]
mov r10, r8
movdqa xmm1, xmm0
nop dword [rax + rax]
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 0x140096e00
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 esi, xmm0
test rdx, rdx
je 0x14009718d
cmp edx, 8
jb 0x140097144
mov rdx, r8
mov r9d, r13d
and r9d, 7
mov r8, rax
sub r8, r9
movzx r10d, sil
movd xmm0, r10d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov r10, rdx
shl r10, 5
add r10, rdi
add r10, 0x119
add rdx, r9
sub rdx, rax
movzx r11d, byte [r10 - 0xe0]
movzx esi, byte [r10 - 0xc0]
movzx ebx, byte [r10 - 0xa0]
movzx r14d, byte [r10 - 0x60]
movzx r15d, byte [r10 - 0x20]
movzx r12d, byte [r10 - 0x40]
shl r12d, 8
or r12d, r14d
shl esi, 8
or esi, r11d
shl ebx, 0x10
or ebx, esi
movzx r11d, byte [r10 - 0x80]
shl r11d, 0x18
or r11d, ebx
movd xmm1, r11d
pinsrw xmm1, r12d, 2
movzx r11d, byte [r10]
shl r11d, 8
or r11d, r15d
pinsrw xmm1, r11d, 3
pmaxub xmm0, xmm1
add r10, 0x100
add rdx, 8
jne 0x1400970a0
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 esi, xmm1
mov edx, esi
test r9, r9
mov r14, qword [rbp - 0x60]
je 0x14009717a
mov r9, rax
sub r9, r8
shl r8, 5
add r8, rdi
add r8, 0x39
nop word cs:[rax + rax]
movzx edx, byte [r8]
movzx r10d, sil
cmp r10b, dl
cmova edx, r10d
add r8, 0x20
mov esi, edx
dec r9
jne 0x140097160
movzx r10d, byte [rdi + 0x1a]
cmp rax, 8
jae 0x14009719a
xor r8d, r8d
jmp 0x140097515
mov edx, esi
movzx r10d, byte [rdi + 0x1a]
cmp rax, 8
jb 0x140097185
cmp rax, 0x20
jae 0x1400971a8
xor r8d, r8d
jmp 0x140097429
mov r9d, r13d
and r9d, 0x1f
mov r8, rax
sub r8, r9
movzx r10d, r10b
movd xmm0, r10d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea r10, [rdi + 0x41a]
mov r11, r8
movdqa xmm1, xmm0
nop word [rax + rax]
movzx esi, byte [r10 - 0x200]
movd xmm2, esi
movzx esi, byte [r10 - 0x220]
movd xmm3, esi
punpcklbw xmm3, xmm2
movzx esi, byte [r10 - 0x240]
movd xmm2, esi
movzx esi, byte [r10 - 0x260]
movd xmm4, esi
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm3
movzx esi, byte [r10 - 0x280]
movd xmm2, esi
movzx esi, byte [r10 - 0x2a0]
movd xmm3, esi
punpcklbw xmm3, xmm2
movzx esi, byte [r10 - 0x2c0]
movd xmm5, esi
movzx esi, byte [r10 - 0x2e0]
movd xmm2, esi
punpcklbw xmm2, xmm5
punpcklwd xmm2, xmm3
punpckldq xmm2, xmm4
movzx esi, byte [r10 - 0x300]
movd xmm3, esi
movzx esi, byte [r10 - 0x320]
movd xmm4, esi
punpcklbw xmm4, xmm3
movzx esi, byte [r10 - 0x340]
movd xmm3, esi
movzx esi, byte [r10 - 0x360]
movd xmm5, esi
punpcklbw xmm5, xmm3
punpcklwd xmm5, xmm4
movzx esi, byte [r10 - 0x380]
movd xmm3, esi
movzx esi, byte [r10 - 0x3a0]
movd xmm4, esi
punpcklbw xmm4, xmm3
movzx esi, byte [r10 - 0x3c0]
movd xmm3, esi
movzx esi, byte [r10 - 0x3e0]
movd xmm6, esi
punpcklbw xmm6, xmm3
punpcklwd xmm6, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm2
pmaxub xmm0, xmm6
movzx esi, byte [r10]
movd xmm2, esi
movzx esi, byte [r10 - 0x20]
movd xmm3, esi
punpcklbw xmm3, xmm2
movzx esi, byte [r10 - 0x40]
movd xmm2, esi
movzx esi, byte [r10 - 0x60]
movd xmm4, esi
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm3
movzx esi, byte [r10 - 0x80]
movd xmm2, esi
movzx esi, byte [r10 - 0xa0]
movd xmm3, esi
punpcklbw xmm3, xmm2
movzx esi, byte [r10 - 0xc0]
movd xmm5, esi
movzx esi, byte [r10 - 0xe0]
movd xmm2, esi
punpcklbw xmm2, xmm5
punpcklwd xmm2, xmm3
punpckldq xmm2, xmm4
movzx esi, byte [r10 - 0x100]
movd xmm3, esi
movzx esi, byte [r10 - 0x120]
movd xmm4, esi
punpcklbw xmm4, xmm3
movzx esi, byte [r10 - 0x140]
movd xmm3, esi
movzx esi, byte [r10 - 0x160]
movd xmm5, esi
punpcklbw xmm5, xmm3
punpcklwd xmm5, xmm4
movzx esi, byte [r10 - 0x180]
movd xmm3, esi
movzx esi, byte [r10 - 0x1a0]
movd xmm4, esi
punpcklbw xmm4, xmm3
movzx esi, byte [r10 - 0x1c0]
movd xmm3, esi
movzx esi, byte [r10 - 0x1e0]
movd xmm6, esi
punpcklbw xmm6, xmm3
punpcklwd xmm6, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm2
pmaxub xmm1, xmm6
add r10, 0x400
add r11, 0xffffffffffffffe0
jne 0x1400971e0
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 r10d, xmm0
test r9, r9
je 0x140097a2f
cmp r9d, 8
jb 0x140097515
mov rcx, r14
mov r9, r8
and r13d, 7
mov r8, rax
sub r8, r13
movzx r10d, r10b
movd xmm0, r10d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov r10, r9
shl r10, 5
add r10, rdi
add r10, 0x11a
add r9, r13
sub r9, rax
nop word cs:[rax + rax]
movzx r11d, byte [r10 - 0xe0]
movzx esi, byte [r10 - 0xc0]
movzx ebx, byte [r10 - 0xa0]
movzx r14d, byte [r10 - 0x60]
movzx r15d, byte [r10 - 0x20]
movzx r12d, byte [r10 - 0x40]
shl r12d, 8
or r12d, r14d
shl esi, 8
or esi, r11d
shl ebx, 0x10
or ebx, esi
movzx r11d, byte [r10 - 0x80]
shl r11d, 0x18
or r11d, ebx
movd xmm1, r11d
pinsrw xmm1, r12d, 2
movzx r11d, byte [r10]
shl r11d, 8
or r11d, r15d
pinsrw xmm1, r11d, 3
pmaxub xmm0, xmm1
add r10, 0x100
add r9, 8
jne 0x140097470
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 r10d, xmm1
mov ebx, r10d
test r13, r13
mov r14, rcx
je 0x14009754a
sub rax, r8
shl r8, 5
lea rcx, [r8 + rdi]
add rcx, 0x3a
nop word cs:[rax + rax]
movzx ebx, byte [rcx]
movzx r8d, r10b
cmp r8b, bl
cmova ebx, r8d
add rcx, 0x20
mov r10d, ebx
dec rax
jne 0x140097530
lea rax, [r14*8]
movabs rcx, 0x333333333333333
lea r15, [rax + rax*4]
cmp r14, rcx
ja 0x140097a70
mov esi, edx
movzx eax, byte [0x140123181]
mov r12d, 8
mov edx, 8
mov rcx, r15
call fcn.14005db40
test rax, rax
je 0x140097a73
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 0
cmp word [rbp + 0x80], 1
sete byte [rbp - 9]
test bl, bl
sete byte [rbp - 0xa]
shl r14, 5
mov qword [rbp - 0x50], r14
xor r14d, r14d
xor eax, eax
mov qword [rbp - 0x28], rax
jmp 0x140097615
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x28]
lea rcx, [rdx + rdx*4]
mov r10, qword [rbp - 0x18]
mov qword [rax + rcx*8], r10
mov r11, qword [rbp - 0x20]
mov qword [rax + rcx*8 + 8], r11
mov qword [rax + rcx*8 + 0x10], r12
mov qword [rax + rcx*8 + 0x18], r13
mov qword [rax + rcx*8 + 0x20], r15
inc rdx
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x30], rdx
add r14, 0x20
cmp qword [rbp - 0x50], r14
je 0x140097798
movzx edx, byte [rdi + r14 + 0x19]
movzx ecx, byte [rdi + r14 + 0x1a]
cmp dl, sil
jne 0x140097640
cmp cl, bl
je 0x140097679
lea eax, [rcx + rcx]
cmp al, bl
sete al
jmp 0x14009766f
cmp cl, bl
jne 0x140097660
mov r8b, 1
movzx eax, byte [rbp - 0xa]
cmp word [rbp - 0x48], 1
je 0x140097679
lea r9d, [rdx + rdx]
cmp r9b, sil
je 0x1400976b5
jmp 0x1400976cf
lea eax, [rcx + rcx]
cmp al, bl
sete al
cmp word [rbp - 0x48], 1
jne 0x1400976a7
cmp word [rbp + 0x80], 1
jne 0x14009768e
mov eax, 1
mov qword [rbp - 0x18], rax
lea rax, [0x1400f3090]
jmp 0x140097760
test al, al
je 0x1400976ed
mov eax, 1
mov qword [rbp - 0x18], rax
lea rax, [0x1400f3050]
jmp 0x140097760
movzx r8d, byte [rbp - 9]
lea r9d, [rdx + rdx]
cmp r9b, sil
jne 0x1400976cf
test r8b, r8b
je 0x1400976cf
mov eax, 1
mov qword [rbp - 0x18], rax
lea rax, [0x1400f3070]
jmp 0x140097760
cmp r9b, sil
sete r8b
test r8b, al
je 0x1400976ed
mov eax, 1
mov qword [rbp - 0x18], rax
lea rax, [0x1400f3030]
jmp 0x140097760
test dl, dl
je 0x140097a37
movzx eax, sil
div dl
mov r12d, eax
movzx eax, ah
test al, al
jne 0x1400977d4
test cl, cl
je 0x140097a45
movzx eax, bl
div cl
mov r13d, eax
movzx eax, ah
test al, al
jne 0x1400977d4
movzx eax, byte [0x140123181]
mov ecx, 2
mov edx, 1
call fcn.14005db40
test rax, rax
je 0x140097a53
mov byte [rax], r12b
mov qword [rbp - 0x18], rax
mov byte [rax + 1], r13b
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x28], rax
lea rax, [0x1400f3010]
nop dword [rax]
mov qword [rbp - 0x20], rax
movzx r12d, word [rdi + r14 + 0x10]
movzx r13d, word [rdi + r14 + 0x12]
movzx r15d, word [rdi + r14 + 0x14]
imul r15, qword [rdi + r14 + 8]
mov rax, qword [rbp - 0x28]
cmp rax, qword [rbp - 0x40]
jne 0x1400975d0
lea rcx, [rbp - 0x40]
call fcn.1400a2320
jmp 0x1400975d0
movzx edx, word [rdi + 0x10]
mov r9, qword [rbp - 0x60]
cmp r9, 1
jne 0x1400977af
mov rbx, qword [rbp - 0x58]
jmp 0x1400979f4
movabs rax, 0x7ffffffffffffff
add r9, rax
and rax, r9
cmp rax, 0x10
mov rbx, qword [rbp - 0x58]
jae 0x140097892
xor ecx, ecx
jmp 0x1400979cd
and r10, 0xffffffffffffff00
or r10, 7
movabs rax, 0x8000000000000000
mov rbx, qword [rbp - 0x58]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], r10
mov qword [rbx + 0x18], r11
mov qword [rbx], rax
cmp qword [rbp - 0x28], 0
je 0x140097869
mov rax, qword [rbp - 0x38]
mov rsi, qword [rbp - 0x28]
neg rsi
mov qword [rbp - 0x48], rax
lea rdi, [rax + 8]
mov ecx, 1
jmp 0x140097838
mov rcx, qword [rbp - 0x18]
lea rax, [rsi + rcx]
inc rax
inc rcx
add rdi, 0x28
cmp rax, 1
je 0x140097869
mov qword [rbp - 0x18], rcx
mov rcx, qword [rdi - 8]
mov rax, qword [rdi]
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x20], rax
call qword [rax]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140097820
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp - 0x50]
call fcn.14005db50
jmp 0x140097820
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x140097a14
mov rcx, qword [rbp - 0x38]
shl rax, 3
lea rdx, [rax + rax*4]
mov r8d, 8
call fcn.14005db50
jmp 0x140097a14
and r9d, 0xf
mov rcx, rax
sub rcx, r9
movd xmm0, edx
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rdx, [rdi + 0x210]
mov r8, rcx
movdqa xmm3, xmm0
nop dword [rax + rax]
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 0x1400978c0
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
test r9, r9
je 0x1400979f4
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 0x1400979e0
movzx eax, dx
movzx ecx, sil
imul rcx, rax
mov rax, qword [rbp - 0x30]
mov qword [rbx + 0x10], rax
movdqu xmm0, xmmword [rbp - 0x40]
movdqu xmmword [rbx], xmm0
mov qword [rbx + 0x18], rcx
mov rax, rbx
movaps xmm6, xmmword [rbp]
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ebx, r10d
jmp 0x14009754a
lea rcx, str.C:UsersMrChick.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.1.22_srcupsampler.rs
call fcn.1400df4f0
jmp 0x140097a62
lea rcx, str.C:UsersMrChick.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.1.22_srcupsampler.rs
call fcn.1400df4f0
jmp 0x140097a62
mov ecx, 1
mov edx, 2
call fcn.1400ded70
ud2
lea rcx, str.C:UsersMrChick.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.1.22_srcupsampler.rs
call fcn.1400deeb0
xor r12d, r12d
mov rcx, r12
mov rdx, r15
call fcn.1400ded50
int3