Function at 0x140174390
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
movdqa xmmword [rsp + 0x170], xmm14
movdqa xmmword [rsp + 0x160], xmm13
movdqa xmmword [rsp + 0x150], xmm12
movdqa xmmword [rsp + 0x140], xmm11
movdqa xmmword [rsp + 0x130], xmm10
movdqa xmmword [rsp + 0x120], xmm9
movdqa xmmword [rsp + 0x110], xmm8
movdqa xmmword [rsp + 0x100], xmm7
movdqa xmmword [rsp + 0xf0], xmm6
mov ebx, r9d
mov r10, r8
mov r15, rcx
mov r9, qword [rsp + 0x210]
mov r8, qword [rsp + 0x208]
mov rax, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x1f8]
mov qword [rsp + 0x48], rcx
movzx r11d, byte [rsp + 0x1f0]
mov byte [rsp + 0x47], bl
movzx ecx, bl
mov rdi, rdx
mov edx, 0x77a
bt edx, ecx
jb 0x1401744a5
cmp bl, r11b
jne 0x1401744a5
test r8, r8
je 0x140175972
test r9, r9
je 0x1401759a9
lea r14, [r8 + r8*2]
mov rcx, qword [rdi]
mov qword [rsp + 0x48], rcx
mov r8, qword [rdi + 8]
mov rdx, rax
or rdx, r14
shr rdx, 0x20
je 0x14017474c
xor edx, edx
div r14
mov r10, rax
mov rax, r8
or rax, r9
shr rax, 0x20
je 0x140174764
mov rax, r8
xor edx, edx
div r9
mov r8, rax
jmp 0x14017476f
mov edx, 0x1a9d
bt edx, ecx
jb 0x140174515
cmp bl, r11b
jne 0x140174515
lea rbp, [r8*4]
test rbp, rbp
je 0x1401759e0
test r9, r9
je 0x140175a17
mov rcx, qword [rdi]
mov qword [rsp + 0x98], rcx
mov rcx, qword [rdi + 8]
mov rdx, rax
or rdx, rbp
shr rdx, 0x20
je 0x140174978
xor edx, edx
div rbp
mov r10, rax
mov rax, rcx
or rax, r9
shr rax, 0x20
je 0x14017498f
mov rax, rcx
xor edx, edx
div r9
mov rcx, rax
jmp 0x140174998
mov edx, r11d
xor dl, 3
mov esi, ebx
and sil, 0xe
xor sil, 2
or sil, dl
jne 0x140174555
mov qword [rsp + 0x80], r15
mov rcx, qword [rdi]
mov rdx, qword [rdi + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x20], rax
call fcn.1401780a0
jmp 0x1401754e6
cmp bl, 2
je 0x140174648
cmp ecx, 5
je 0x1401745c0
cmp ecx, 6
jne 0x140174691
test r11b, r11b
je 0x140174c9e
movzx ecx, r11b
cmp ecx, 1
jne 0x140174691
lea r13, [r8*4]
test r13, r13
je 0x140175a85
test r9, r9
je 0x140175af3
mov r14, qword [rdi]
mov r10, qword [rdi + 8]
mov rcx, rax
or rcx, r13
shr rcx, 0x20
je 0x140174f0f
xor edx, edx
div r13
mov r11, rax
jmp 0x140174f17
test r11b, r11b
je 0x140174c2c
movzx ecx, r11b
cmp ecx, 1
jne 0x140174691
mov rsi, rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov rcx, rdi
mov rdx, r8
mov rbx, r9
mov r14, r8
mov r8, r9
mov r9b, 1
call fcn.140175b30
test r14, r14
je 0x140175a4e
test rbx, rbx
je 0x140175abc
mov r9, rbx
lea r10, [r14 + r14*2]
mov r11, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x38]
mov rax, rsi
mov rdx, rsi
or rdx, r10
shr rdx, 0x20
je 0x140174cd8
xor edx, edx
div r10
mov r8, rax
jmp 0x140174ce0
cmp r11b, 8
ja 0x140174691
movzx ecx, r11b
mov edx, 0x183
bt edx, ecx
jae 0x140174691
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov rcx, rdi
mov rdx, r8
mov r8, r9
mov r9d, r11d
call fcn.140175b30
jmp 0x1401754e6
lea rax, [rsp + 0x47]
mov qword [rsp + 0xb8], rax
lea rax, [0x140174360]
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0x1f0]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
lea rax, [0x140361a30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x70], 0
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 2
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0x50]
call fcn.14022fac0
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x67], rax
movups xmm0, xmmword [rsp + 0xd8]
movups xmmword [rsp + 0x57], xmm0
mov byte [r15], 0
movdqu xmm0, xmmword [rsp + 0x50]
mov rax, qword [rsp + 0x5f]
mov rcx, qword [rsp + 0x67]
movdqu xmmword [r15 + 1], xmm0
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rcx
jmp 0x1401754f2
xor edx, edx
div r14d
mov r10d, eax
mov rax, r8
or rax, r9
shr rax, 0x20
jne 0x140174495
mov eax, r8d
xor edx, edx
div r9d
mov r8d, eax
cmp r10, r8
cmovb r8, r10
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x98], rax
mov rax, qword [rdi + 0x18]
mov rdx, rax
or rdx, r9
shr rdx, 0x20
je 0x14017479c
xor edx, edx
div r9
mov r10, rax
jmp 0x1401747a4
xor edx, edx
div r9d
mov r10d, eax
mov qword [rsp + 0x80], r15
cmp r8, r10
cmovb r10, r8
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x90], rax
mov rax, qword [rdi + 0x28]
mov rdx, rax
or rdx, r9
shr rdx, 0x20
je 0x1401747dc
xor edx, edx
mov rcx, r9
div r9
mov rbp, rax
jmp 0x1401747e6
xor edx, edx
mov rcx, r9
div r9d
mov ebp, eax
cmp r10, rbp
cmovb rbp, r10
test rbp, rbp
sete al
cmp r14, 3
setb dl
or dl, al
jne 0x1401754e6
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rdx
mov rdi, rdx
shr rdi, 1
cmp rdi, rcx
cmovae rdi, rcx
movabs rax, 0x7ffffffffffffffe
and rax, rdi
mov r8, qword [rsp + 0x1f8]
lea rbx, [r8 + 5]
mov r8, qword [rsp + 0x48]
lea rsi, [r8 + 2]
lea rdx, [rcx + rcx]
mov rcx, qword [rsp + 0x98]
lea r15, [rcx + 2]
mov rcx, qword [rsp + 0x90]
lea r12, [rcx + 2]
xor r13d, r13d
mov qword [rsp + 0x88], rdi
jmp 0x140174888
inc r13
add rbx, r14
add rsi, rdx
add r15, rdx
add r12, rdx
cmp r13, rbp
jae 0x1401754e6
cmp rdi, 1
jne 0x1401748a0
xor r9d, r9d
jmp 0x1401748f8
mov r10, rbx
xor r11d, r11d
nop word cs:[rax + rax]
movzx ecx, byte [rsi + r11*2 - 2]
mov byte [r10 - 5], cl
movzx ecx, byte [r15 + r11*2 - 2]
mov byte [r10 - 4], cl
movzx ecx, byte [r12 + r11*2 - 2]
mov byte [r10 - 3], cl
lea r9, [r11 + 2]
movzx ecx, byte [rsi + r11*2]
mov byte [r10 - 2], cl
movzx ecx, byte [r15 + r11*2]
mov byte [r10 - 1], cl
movzx ecx, byte [r12 + r11*2]
mov byte [r10], cl
add r10, 6
mov r11, r9
cmp rax, r9
jne 0x1401748b0
test dil, 1
je 0x140174870
mov r10, r13
imul r10, r14
add r10, qword [rsp + 0x1f8]
mov r11, r13
imul r11, qword [rsp + 0x210]
mov rdi, rbp
mov rbp, r14
mov rcx, qword [rsp + 0x90]
lea r14, [rcx + r11*2]
mov rcx, qword [rsp + 0x98]
lea rcx, [rcx + r11*2]
mov r8, qword [rsp + 0x48]
lea r11, [r8 + r11*2]
lea r8, [r9 + r9*2]
movzx r11d, byte [r11 + r9*2]
mov byte [r10 + r8], r11b
movzx ecx, byte [rcx + r9*2]
mov byte [r10 + r8 + 1], cl
movzx ecx, byte [r14 + r9*2]
mov r14, rbp
mov rbp, rdi
mov rdi, qword [rsp + 0x88]
mov byte [r10 + r8 + 2], cl
jmp 0x140174870
xor edx, edx
div ebp
mov r10d, eax
mov rax, rcx
or rax, r9
shr rax, 0x20
jne 0x140174505
mov eax, ecx
xor edx, edx
div r9d
mov ecx, eax
cmp r10, rcx
cmovb rcx, r10
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x90], rax
mov rax, qword [rdi + 0x18]
mov rdx, rax
or rdx, r9
shr rdx, 0x20
je 0x1401749c5
xor edx, edx
div r9
mov r10, rax
jmp 0x1401749cd
xor edx, edx
div r9d
mov r10d, eax
cmp rcx, r10
cmovb r10, rcx
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x88], rax
mov rax, qword [rdi + 0x28]
mov rcx, rax
or rcx, r9
shr rcx, 0x20
je 0x1401749fa
xor edx, edx
div r9
mov rcx, rax
jmp 0x140174a01
xor edx, edx
div r9d
mov ecx, eax
cmp r10, rcx
cmovb rcx, r10
mov rax, qword [rdi + 0x30]
mov qword [rsp + 0xa0], rax
mov rax, qword [rdi + 0x38]
mov rdx, rax
or rdx, r9
shr rdx, 0x20
mov qword [rsp + 0x80], r15
je 0x140174a48
xor edx, edx
mov r11, r9
div r9
mov r14, rax
cmp rcx, r14
cmovb r14, rcx
test r14, r14
jne 0x140174a63
jmp 0x1401754e6
xor edx, edx
mov r11, r9
div r9d
mov r14d, eax
cmp rcx, r14
cmovb r14, rcx
test r14, r14
je 0x1401754e6
movabs rcx, 0x3fffffffffffffff
and r8, rcx
cmp r8, r11
cmovb r11, r8
test r8, r8
je 0x1401754e6
movabs rdx, 0x3ffffffffffffffe
and rdx, r11
mov rax, qword [rsp + 0x1f8]
lea r8, [rax + 7]
mov rax, qword [rsp + 0x98]
lea rdi, [rax + 2]
mov rax, qword [rsp + 0x210]
lea r12, [rax + rax]
mov rax, qword [rsp + 0x90]
lea r13, [rax + 2]
mov rax, qword [rsp + 0x88]
lea rsi, [rax + 2]
mov rax, qword [rsp + 0xa0]
lea rbx, [rax + 2]
xor r10d, r10d
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0xb0], r14
jmp 0x140174b0b
inc r10
add r8, rbp
add rdi, r12
add r13, r12
add rsi, r12
add rbx, r12
cmp r10, r14
jae 0x1401754e6
cmp r11, 1
jne 0x140174b20
xor r15d, r15d
jmp 0x140174b90
xor r9d, r9d
nop word cs:[rax + rax]
movzx eax, byte [rdi + r9*2 - 2]
mov byte [r8 + r9*4 - 7], al
movzx eax, byte [r13 + r9*2 - 2]
mov byte [r8 + r9*4 - 6], al
movzx eax, byte [rsi + r9*2 - 2]
mov byte [r8 + r9*4 - 5], al
movzx eax, byte [rbx + r9*2 - 2]
mov byte [r8 + r9*4 - 4], al
lea r15, [r9 + 2]
movzx eax, byte [rdi + r9*2]
mov byte [r8 + r9*4 - 3], al
movzx eax, byte [r13 + r9*2]
mov byte [r8 + r9*4 - 2], al
movzx eax, byte [rsi + r9*2]
mov byte [r8 + r9*4 - 1], al
movzx eax, byte [rbx + r9*2]
mov byte [r8 + r9*4], al
mov r9, r15
cmp rdx, r15
jne 0x140174b30
test r11b, 1
je 0x140174af0
mov r9, r10
imul r9, rbp
add r9, qword [rsp + 0x1f8]
mov r14, r10
imul r14, qword [rsp + 0x210]
mov rax, qword [rsp + 0xa0]
lea rax, [rax + r14*2]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x88]
lea rcx, [rax + r14*2]
mov rax, qword [rsp + 0x90]
lea rax, [rax + r14*2]
mov rbp, qword [rsp + 0x98]
lea r14, [rbp + r14*2]
movzx r14d, byte [r14 + r15*2]
mov byte [r9 + r15*4], r14b
mov r14, qword [rsp + 0xb0]
movzx eax, byte [rax + r15*2]
mov byte [r9 + r15*4 + 1], al
movzx eax, byte [rcx + r15*2]
mov byte [r9 + r15*4 + 2], al
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + r15*2]
mov rbp, qword [rsp + 0xa8]
mov byte [r9 + r15*4 + 3], al
jmp 0x140174af0
mov rsi, rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov rcx, rdi
mov rdx, r8
mov rbx, r9
mov r14, r8
mov r8, r9
xor r9d, r9d
call fcn.140175b30
test r14, r14
je 0x140175a4e
test rbx, rbx
je 0x140175abc
mov r10, rbx
lea rcx, [r14 + r14*2]
mov r11, qword [rdi + 0x30]
mov r8, qword [rdi + 0x38]
mov rax, rsi
mov rdx, rsi
or rdx, rcx
shr rdx, 0x20
je 0x140174df1
xor edx, edx
div rcx
mov r9, rax
jmp 0x140174df8
test r8, r8
je 0x140175a85
test r9, r9
je 0x140175af3
lea r13, [r8 + r8*2]
mov r14, qword [rdi]
mov r10, qword [rdi + 8]
mov rcx, rax
or rcx, r13
shr rcx, 0x20
je 0x140175414
xor edx, edx
div r13
mov r11, rax
jmp 0x14017541c
xor edx, edx
div r10d
mov r8d, eax
mov qword [rsp + 0x80], r15
mov rax, rcx
or rax, r9
shr rax, 0x20
je 0x140174cfe
mov rax, rcx
xor edx, edx
div r9
jmp 0x140174d05
mov eax, ecx
xor edx, edx
div r9d
cmp r8, rax
cmovb rax, r8
test rax, rax
sete cl
cmp r10, 4
setb dl
or dl, cl
jne 0x1401754e6
mov rcx, r10
shr rcx, 2
cmp rcx, r9
cmovae rcx, r9
mov r14, qword [rsp + 0x1f8]
add r14, 2
add r9, r9
xor edx, edx
xor esi, esi
nop word cs:[rax + rax]
movzx r8d, byte [r11 + rsi*2]
mov rbp, r14
movzx edi, byte [r14 + rsi*4 - 2]
xor edi, 0xff
imul edi, r8d
lea ebx, [rdi + 0x80]
shr ebx, 8
add ebx, edi
add ebx, 0x80
mov byte [rbp + rsi*4 - 2], bh
movzx edi, byte [r14 + rsi*4 - 1]
xor edi, 0xff
imul edi, r8d
lea ebx, [rdi + 0x80]
shr ebx, 8
add ebx, edi
add ebx, 0x80
mov byte [rbp + rsi*4 - 1], bh
movzx edi, byte [r14 + rsi*4]
xor edi, 0xff
imul edi, r8d
lea r8d, [rdi + 0x80]
shr r8d, 8
lea ebx, [r8 + rdi]
add ebx, 0x80
mov byte [rbp + rsi*4], bh
lea r8, [rsi + 1]
mov rsi, r8
cmp rcx, r8
jne 0x140174d50
inc rdx
add r14, r10
add r11, r9
cmp rdx, rax
jb 0x140174d40
jmp 0x1401754e6
xor edx, edx
div ecx
mov r9d, eax
mov qword [rsp + 0x80], r15
mov rax, r8
or rax, r10
shr rax, 0x20
je 0x140174e19
mov rax, r8
xor edx, edx
div r10
mov r8, rax
jmp 0x140174e24
mov eax, r8d
xor edx, edx
div r10d
mov r8d, eax
cmp r9, r8
cmovb r8, r9
test r8, r8
sete al
cmp rcx, 3
setb dl
or dl, al
jne 0x1401754e6
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, rcx
mul rdx
shr rdx, 1
cmp rdx, r10
cmovae rdx, r10
mov r15, qword [rsp + 0x1f8]
add r15, 2
add r10, r10
xor eax, eax
nop dword [rax + rax]
mov rsi, r15
xor r9d, r9d
nop word cs:[rax + rax]
movzx edi, byte [r11 + r9*2]
inc r9
movzx ebx, byte [rsi - 2]
xor ebx, 0xff
imul ebx, edi
lea r14d, [rbx + 0x80]
shr r14d, 8
add ebx, r14d
add ebx, 0x80
mov byte [rsi - 2], bh
movzx ebx, byte [rsi - 1]
xor ebx, 0xff
imul ebx, edi
lea r14d, [rbx + 0x80]
shr r14d, 8
add ebx, r14d
add ebx, 0x80
mov byte [rsi - 1], bh
movzx ebx, byte [rsi]
xor ebx, 0xff
imul ebx, edi
lea edi, [rbx + 0x80]
shr edi, 8
add ebx, edi
add ebx, 0x80
mov byte [rsi], bh
add rsi, 3
cmp rdx, r9
jne 0x140174e80
inc rax
add r15, rcx
add r11, r10
cmp rax, r8
jb 0x140174e70
jmp 0x1401754e6
xor edx, edx
div r13d
mov r11d, eax
mov rax, r10
or rax, r9
shr rax, 0x20
mov qword [rsp + 0x80], r15
je 0x140174f38
mov rax, r10
xor edx, edx
div r9
mov r10, rax
jmp 0x140174f43
mov eax, r10d
xor edx, edx
div r9d
mov r10d, eax
cmp r11, r10
cmovb r10, r11
mov r15, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
mov rcx, rax
or rcx, r9
shr rcx, 0x20
je 0x140174f68
xor edx, edx
div r9
mov r11, rax
jmp 0x140174f70
xor edx, edx
div r9d
mov r11d, eax
cmp r10, r11
cmovb r11, r10
mov r12, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
mov rcx, rax
or rcx, r9
shr rcx, 0x20
je 0x140174f95
xor edx, edx
div r9
mov rbx, rax
jmp 0x140174f9c
xor edx, edx
div r9d
mov ebx, eax
cmp r11, rbx
cmovb rbx, r11
mov r11, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov rcx, rax
or rcx, r9
shr rcx, 0x20
je 0x140174fc1
xor edx, edx
div r9
mov r10, rax
jmp 0x140174fc9
xor edx, edx
div r9d
mov r10d, eax
cmp rbx, r10
cmovb r10, rbx
test r10, r10
je 0x1401754e6
movabs rcx, 0xaaaaaaaaaaaaaaab
mov rax, r13
mul rcx
shr rdx, 1
cmp rdx, r9
cmovae rdx, r9
cmp rdx, 1
mov qword [rsp + 0x88], rdx
mov rax, rdx
adc rax, 0
lea rsi, [r10 - 1]
imul r8, rsi
lea rdx, [rax + rax*2]
mov rdi, qword [rsp + 0x1f8]
lea rcx, [rdi + r8*4]
add rcx, rdx
imul rsi, r9
add rsi, rax
lea r8, [r12 + rsi*2]
add r9, r9
cmp r8, rdi
seta r8b
cmp r12, rcx
setb dl
and dl, r8b
mov r8, r13
or r8, r9
lea r8, [r11 + rsi*2]
mov qword [rsp + 0xa8], r10
sets r10b
or dl, r10b
cmp r8, rdi
seta r8b
cmp r11, rcx
setb bl
and bl, r8b
or bl, r10b
or bl, dl
lea r8, [r14 + rsi*2]
cmp r8, rdi
seta r8b
cmp r14, rcx
setb dl
and dl, r8b
lea r8, [r15 + rsi*2]
or dl, r10b
cmp r8, rdi
seta r8b
cmp r15, rcx
setb cl
and cl, r8b
or cl, r10b
or cl, dl
or cl, bl
mov byte [rsp + 0xb0], cl
movabs rdi, 0x7ffffffffffffff8
and rdi, rax
xor ecx, ecx
movdqa xmm0, xmmword [0x140334e50]
pxor xmm1, xmm1
movdqa xmm2, xmmword [0x140330e60]
movdqa xmm3, xmmword [0x14031b630]
movdqa xmm4, xmmword [0x140335cc0]
movdqa xmm5, xmmword [0x140361980]
movdqa xmm6, xmmword [0x140361990]
mov qword [rsp + 0x90], r9
mov qword [rsp + 0xa0], r13
jmp 0x14017513a
mov rcx, qword [rsp + 0x98]
inc rcx
mov r13, qword [rsp + 0xa0]
add qword [rsp + 0x48], r13
mov r9, qword [rsp + 0x90]
add r14, r9
add r15, r9
add r11, r9
add r12, r9
cmp rcx, qword [rsp + 0xa8]
jae 0x1401754e6
mov qword [rsp + 0x98], rcx
cmp qword [rsp + 0x88], 8
setb cl
or cl, byte [rsp + 0xb0]
test cl, 1
je 0x140175170
xor r13d, r13d
jmp 0x14017538d
mov r13, qword [rsp + 0x48]
xor ecx, ecx
nop word [rax + rax]
movdqu xmm9, xmmword [r12 + rcx*2]
movdqu xmm10, xmmword [r11 + rcx*2]
pand xmm10, xmm0
movdqu xmm11, xmmword [r14 + rcx*2]
pand xmm11, xmm0
pmullw xmm11, xmm10
movdqa xmm12, xmm11
punpcklwd xmm12, xmm1
punpckhwd xmm11, xmm1
paddd xmm11, xmm2
paddd xmm12, xmm2
movdqa xmm7, xmm12
psrld xmm7, 8
movdqa xmm8, xmm11
psrld xmm8, 8
paddd xmm8, xmm11
paddd xmm7, xmm12
psrld xmm7, 8
psrld xmm8, 8
movdqu xmm13, xmmword [r15 + rcx*2]
pand xmm13, xmm0
pmullw xmm13, xmm10
movdqa xmm14, xmm13
punpcklwd xmm14, xmm1
punpckhwd xmm13, xmm1
paddd xmm13, xmm2
paddd xmm14, xmm2
movdqa xmm11, xmm14
psrld xmm11, 8
movdqa xmm12, xmm13
psrld xmm12, 8
paddd xmm12, xmm13
paddd xmm11, xmm14
psrld xmm11, 8
psrld xmm12, 8
pand xmm9, xmm0
pmullw xmm9, xmm10
movdqa xmm13, xmm9
punpcklwd xmm13, xmm1
punpckhwd xmm9, xmm1
paddd xmm9, xmm2
paddd xmm13, xmm2
movdqa xmm10, xmm13
psrld xmm10, 8
movdqa xmm14, xmm9
psrld xmm14, 8
paddd xmm14, xmm9
paddd xmm10, xmm13
psrld xmm10, 8
psrld xmm14, 8
pand xmm14, xmm3
pand xmm10, xmm3
packuswb xmm10, xmm14
packuswb xmm10, xmm10
pand xmm12, xmm3
pand xmm11, xmm3
packuswb xmm11, xmm12
pand xmm8, xmm3
pand xmm7, xmm3
packuswb xmm7, xmm8
packuswb xmm7, xmm11
movdqa xmm8, xmm7
punpcklbw xmm8, xmm1
pshufd xmm9, xmm8, 0xa5
pand xmm9, xmm4
punpckhbw xmm7, xmm1
pshuflw xmm11, xmm7, 0xff
pshufhw xmm11, xmm11, 0
movdqa xmm12, xmm4
pandn xmm12, xmm11
por xmm12, xmm9
movdqa xmm9, xmm8
punpcklwd xmm9, xmm7
pshufd xmm9, xmm9, 0x64
pshuflw xmm9, xmm9, 0xa4
pshufhw xmm9, xmm9, 0x47
packuswb xmm9, xmm12
pand xmm9, xmm5
pshuflw xmm11, xmm10, 0
pshufhw xmm11, xmm11, 0xa5
movdqa xmm12, xmm5
pandn xmm12, xmm11
por xmm12, xmm9
punpckhwd xmm7, xmm8
pshufd xmm7, xmm7, 0xf6
pshuflw xmm7, xmm7, 0x16
packuswb xmm7, xmm7
pand xmm7, xmm6
pshuflw xmm8, xmm10, 0xf6
movdqa xmm9, xmm6
pandn xmm9, xmm8
por xmm9, xmm7
movq qword [r13 + 0x10], xmm9
movdqu xmmword [r13], xmm12
add rcx, 8
add r13, 0x18
cmp rdi, rcx
jne 0x140175180
mov r13, rdi
cmp qword [rsp + 0x88], rdi
je 0x140175100
lea rcx, [r13*2]
add rcx, r13
add rcx, qword [rsp + 0x48]
nop dword [rax]
movzx esi, byte [r12 + r13*2]
movzx r8d, byte [r11 + r13*2]
movzx r9d, byte [r14 + r13*2]
movzx ebx, byte [r15 + r13*2]
lea r10, [r13 + 1]
imul r9d, r8d
lea r13d, [r9 + 0x80]
shr r13d, 8
lea edx, [r9 + r13]
add edx, 0x80
mov byte [rcx], dh
imul ebx, r8d
lea edx, [rbx + 0x80]
shr edx, 8
add edx, ebx
add edx, 0x80
mov byte [rcx + 1], dh
imul esi, r8d
lea edx, [rsi + 0x80]
shr edx, 8
add edx, esi
add edx, 0x80
mov byte [rcx + 2], dh
add rcx, 3
mov r13, r10
cmp rax, r10
jne 0x1401753a0
jmp 0x140175100
xor edx, edx
div r13d
mov r11d, eax
mov rax, r10
or rax, r9
shr rax, 0x20
mov qword [rsp + 0x80], r15
je 0x14017543d
mov rax, r10
xor edx, edx
div r9
mov r10, rax
jmp 0x140175448
mov eax, r10d
xor edx, edx
div r9d
mov r10d, eax
cmp r11, r10
cmovb r10, r11
mov r15, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
mov rcx, rax
or rcx, r9
shr rcx, 0x20
je 0x14017546d
xor edx, edx
div r9
mov r11, rax
jmp 0x140175475
xor edx, edx
div r9d
mov r11d, eax
cmp r10, r11
cmovb r11, r10
mov r12, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
mov rcx, rax
or rcx, r9
shr rcx, 0x20
je 0x14017549a
xor edx, edx
div r9
mov rbx, rax
jmp 0x1401754a1
xor edx, edx
div r9d
mov ebx, eax
cmp r11, rbx
cmovb rbx, r11
mov r11, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov rcx, rax
or rcx, r9
shr rcx, 0x20
je 0x1401754c6
xor edx, edx
div r9
mov r10, rax
jmp 0x1401754ce
xor edx, edx
div r9d
mov r10d, eax
cmp rbx, r10
cmovb r10, rbx
test r10, r10
sete al
cmp r13, 3
setb cl
or cl, al
je 0x140175558
mov r15, qword [rsp + 0x80]
mov byte [r15], 0xd
mov rax, r15
movaps xmm6, xmmword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm8, xmmword [rsp + 0x110]
movaps xmm9, xmmword [rsp + 0x120]
movaps xmm10, xmmword [rsp + 0x130]
movaps xmm11, xmmword [rsp + 0x140]
movaps xmm12, xmmword [rsp + 0x150]
movaps xmm13, xmmword [rsp + 0x160]
movaps xmm14, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs rcx, 0xaaaaaaaaaaaaaaab
mov rax, r13
mul rcx
shr rdx, 1
cmp rdx, r9
cmovae rdx, r9
lea rsi, [r10 - 1]
imul r8, rsi
add r8, rdx
lea rax, [r8 + r8*2]
mov rbp, qword [rsp + 0x1f8]
add rax, rbp
imul rsi, r9
add rsi, rdx
lea rcx, [r12 + rsi*2]
add r9, r9
lea r8, [r11 + rsi*2]
lea rdi, [r14 + rsi*2]
cmp rcx, rbp
seta cl
cmp r12, rax
mov qword [rsp + 0xa0], r10
setb r10b
and r10b, cl
mov rcx, r13
or rcx, r9
sets cl
or r10b, cl
cmp r8, rbp
seta r8b
cmp r11, rax
setb bl
and bl, r8b
or bl, cl
or bl, r10b
cmp rdi, rbp
seta r8b
lea rsi, [r15 + rsi*2]
cmp r14, rax
setb r10b
and r10b, r8b
or r10b, cl
cmp rsi, rbp
seta r8b
cmp r15, rax
setb al
and al, r8b
or al, cl
or al, r10b
or al, bl
mov byte [rsp + 0xa8], al
movabs r8, 0x7ffffffffffffff8
and r8, rdx
xor eax, eax
movdqa xmm0, xmmword [0x140334e50]
pxor xmm1, xmm1
movdqa xmm2, xmmword [0x140330e60]
movdqa xmm3, xmmword [0x14031b630]
movdqa xmm4, xmmword [0x140335cc0]
movdqa xmm5, xmmword [0x140361980]
movdqa xmm6, xmmword [0x140361990]
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], r13
jmp 0x1401756aa
mov rax, qword [rsp + 0x98]
inc rax
mov r13, qword [rsp + 0x88]
add qword [rsp + 0x48], r13
mov r9, qword [rsp + 0x90]
add r14, r9
add r15, r9
add r11, r9
add r12, r9
cmp rax, qword [rsp + 0xa0]
jae 0x1401754e6
cmp rdx, 8
setb cl
or cl, byte [rsp + 0xa8]
test cl, 1
mov qword [rsp + 0x98], rax
je 0x1401756d0
xor r13d, r13d
jmp 0x1401758e7
mov rbx, qword [rsp + 0x48]
xor r13d, r13d
nop dword [rax + rax]
movdqu xmm9, xmmword [r12 + r13*2]
movdqu xmm10, xmmword [r11 + r13*2]
pand xmm10, xmm0
movdqu xmm11, xmmword [r14 + r13*2]
pand xmm11, xmm0
pmullw xmm11, xmm10
movdqa xmm12, xmm11
punpcklwd xmm12, xmm1
punpckhwd xmm11, xmm1
paddd xmm11, xmm2
paddd xmm12, xmm2
movdqa xmm7, xmm12
psrld xmm7, 8
movdqa xmm8, xmm11
psrld xmm8, 8
paddd xmm8, xmm11
paddd xmm7, xmm12
psrld xmm7, 8
psrld xmm8, 8
movdqu xmm13, xmmword [r15 + r13*2]
pand xmm13, xmm0
pmullw xmm13, xmm10
movdqa xmm14, xmm13
punpcklwd xmm14, xmm1
punpckhwd xmm13, xmm1
paddd xmm13, xmm2
paddd xmm14, xmm2
movdqa xmm11, xmm14
psrld xmm11, 8
movdqa xmm12, xmm13
psrld xmm12, 8
paddd xmm12, xmm13
paddd xmm11, xmm14
psrld xmm11, 8
psrld xmm12, 8
pand xmm9, xmm0
pmullw xmm9, xmm10
movdqa xmm13, xmm9
punpcklwd xmm13, xmm1
punpckhwd xmm9, xmm1
paddd xmm9, xmm2
paddd xmm13, xmm2
movdqa xmm10, xmm13
psrld xmm10, 8
movdqa xmm14, xmm9
psrld xmm14, 8
paddd xmm14, xmm9
paddd xmm10, xmm13
psrld xmm10, 8
psrld xmm14, 8
pand xmm14, xmm3
pand xmm10, xmm3
packuswb xmm10, xmm14
packuswb xmm10, xmm10
pand xmm12, xmm3
pand xmm11, xmm3
packuswb xmm11, xmm12
pand xmm8, xmm3
pand xmm7, xmm3
packuswb xmm7, xmm8
packuswb xmm7, xmm11
movdqa xmm8, xmm7
punpcklbw xmm8, xmm1
pshufd xmm9, xmm8, 0xa5
pand xmm9, xmm4
punpckhbw xmm7, xmm1
pshuflw xmm11, xmm7, 0xff
pshufhw xmm11, xmm11, 0
movdqa xmm12, xmm4
pandn xmm12, xmm11
por xmm12, xmm9
movdqa xmm9, xmm8
punpcklwd xmm9, xmm7
pshufd xmm9, xmm9, 0x64
pshuflw xmm9, xmm9, 0xa4
pshufhw xmm9, xmm9, 0x47
packuswb xmm9, xmm12
pand xmm9, xmm5
pshuflw xmm11, xmm10, 0
pshufhw xmm11, xmm11, 0xa5
movdqa xmm12, xmm5
pandn xmm12, xmm11
por xmm12, xmm9
punpckhwd xmm7, xmm8
pshufd xmm7, xmm7, 0xf6
pshuflw xmm7, xmm7, 0x16
packuswb xmm7, xmm7
pand xmm7, xmm6
pshuflw xmm8, xmm10, 0xf6
movdqa xmm9, xmm6
pandn xmm9, xmm8
por xmm9, xmm7
movq qword [rbx + 0x10], xmm9
movdqu xmmword [rbx], xmm12
add r13, 8
add rbx, 0x18
cmp r8, r13
jne 0x1401756e0
mov r13, r8
cmp rdx, r8
je 0x140175670
lea rsi, [r13*2]
add rsi, r13
add rsi, qword [rsp + 0x48]
nop word [rax + rax]
movzx ebx, byte [r12 + r13*2]
movzx r10d, byte [r11 + r13*2]
movzx r9d, byte [r14 + r13*2]
movzx eax, byte [r15 + r13*2]
lea rdi, [r13 + 1]
imul r9d, r10d
lea r13d, [r9 + 0x80]
shr r13d, 8
lea ecx, [r9 + r13]
add ecx, 0x80
mov byte [rsi], ch
imul eax, r10d
lea ecx, [rax + 0x80]
shr ecx, 8
add eax, ecx
add eax, 0x80
mov byte [rsi + 1], ah
imul ebx, r10d
lea eax, [rbx + 0x80]
shr eax, 8
add eax, ebx
add eax, 0x80
mov byte [rsi + 2], ah
add rsi, 3
mov r13, rdi
cmp rdx, rdi
jne 0x140175900
jmp 0x140175670
lea rax, [0x1403619c0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rdx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fzune_jpeg_0.4.13_srcworker.rs
lea rcx, [rsp + 0x50]
call fcn.14029d7b0
lea rax, [0x1403619c0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rdx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fzune_jpeg_0.4.13_srcworker.rs
lea rcx, [rsp + 0x50]
call fcn.14029d7b0
lea rax, [0x1403619c0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rdx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fzune_jpeg_0.4.13_srcworker.rs
lea rcx, [rsp + 0x50]
call fcn.14029d7b0
lea rax, [0x1403619c0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rdx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fzune_jpeg_0.4.13_srcworker.rs
lea rcx, [rsp + 0x50]
call fcn.14029d7b0
lea rax, [0x1403619c0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rdx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fzune_jpeg_0.4.13_srcworker.rs
lea rcx, [rsp + 0x50]
call fcn.14029d7b0
lea rax, [0x1403619c0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rdx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fzune_jpeg_0.4.13_srcworker.rs
lea rcx, [rsp + 0x50]
call fcn.14029d7b0
lea rax, [0x1403619c0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rdx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fzune_jpeg_0.4.13_srcworker.rs
lea rcx, [rsp + 0x50]
call fcn.14029d7b0
lea rax, [0x1403619c0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rdx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001fzune_jpeg_0.4.13_srcworker.rs
lea rcx, [rsp + 0x50]
call fcn.14029d7b0
int3