Function at 0x14006cf70
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, 0x398
movdqa xmmword [rsp + 0x380], xmm15
movdqa xmmword [rsp + 0x370], xmm14
movdqa xmmword [rsp + 0x360], xmm13
movdqa xmmword [rsp + 0x350], xmm12
movdqa xmmword [rsp + 0x340], xmm11
movdqa xmmword [rsp + 0x330], xmm10
movdqa xmmword [rsp + 0x320], xmm9
movdqa xmmword [rsp + 0x310], xmm8
movdqa xmmword [rsp + 0x300], xmm7
movdqa xmmword [rsp + 0x2f0], xmm6
mov esi, r9d
mov ebx, r8d
mov rdi, rcx
mov r9d, dword [rsp + 0x400]
cmp dword [rsp + 0x410], 0x10
sete cl
mov r12d, r9d
imul r12d, esi
shl r12d, cl
mov rax, qword [rdi]
mov ebp, dword [rax + 8]
mov r8d, esi
shl r8d, cl
mov r15d, ebp
shl r15d, cl
mov r14d, dword [rsp + 0x408]
mov eax, r14d
or eax, r9d
js 0x14006d06d
mov r13, rdx
test r14d, r14d
je 0x14006d044
mov eax, 0x7fffffff
xor edx, edx
div r14d
cmp eax, r9d
jl 0x14006d06d
mov ecx, r14d
imul ecx, r9d
mov eax, r8d
or eax, ecx
js 0x14006d06d
test r8d, r8d
je 0x14006d12c
mov eax, 0x7fffffff
xor edx, edx
div r8d
cmp eax, ecx
jge 0x14006d12c
mov qword [rdi + 0x18], 0
cmp byte [0x140186241], 0
jne 0x14006d09d
movabs rax, 0x6d656d666f74756f
mov qword [0x140186238], rax
mov byte [0x140186240], 0
mov byte [0x140186241], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186238]
mov qword [rax + 8], rcx
xor eax, eax
movaps xmm6, xmmword [rsp + 0x2f0]
movaps xmm7, xmmword [rsp + 0x300]
movaps xmm8, xmmword [rsp + 0x310]
movaps xmm9, xmmword [rsp + 0x320]
movaps xmm10, xmmword [rsp + 0x330]
movaps xmm11, xmmword [rsp + 0x340]
movaps xmm12, xmmword [rsp + 0x350]
movaps xmm13, xmmword [rsp + 0x360]
movaps xmm14, xmmword [rsp + 0x370]
movaps xmm15, xmmword [rsp + 0x380]
add rsp, 0x398
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
imul r8d, ecx
movsxd rcx, r8d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rdi + 0x18], rax
test rax, rax
je 0x14006d075
mov eax, ebp
mov r8d, dword [rsp + 0x400]
or eax, r8d
mov ecx, dword [rsp + 0x410]
js 0x14006d1d6
test r8d, r8d
je 0x14006d16f
mov eax, 0x7fffffff
xor edx, edx
div r8d
cmp eax, ebp
jl 0x14006d1d6
mov r9d, ebp
imul r9d, r8d
mov eax, r9d
or eax, ecx
js 0x14006d1d6
test ecx, ecx
je 0x14006d1a1
mov eax, 0x7fffffff
xor edx, edx
div ecx
cmp eax, r9d
jl 0x14006d1d6
mov r8d, r9d
imul r8d, ecx
cmp r8d, 0x7ffffff9
jl 0x14006d1a4
jmp 0x14006d1d6
xor r8d, r8d
add r8d, 7
shr r8d, 3
test r14d, r14d
js 0x14006d1d6
je 0x14006d1c2
mov eax, 0x7fffffff
xor edx, edx
div r14d
cmp eax, r8d
jb 0x14006d1d6
mov eax, r8d
imul eax, r14d
mov ecx, r8d
xor ecx, 0x7fffffff
cmp ecx, eax
jge 0x14006d21f
cmp byte [0x1401860da], 0
jne 0x14006d200
movabs rax, 0x6772616c206f6f74
mov qword [0x1401860d0], rax
mov word [0x1401860d8], 0x65
mov byte [0x1401860da], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401860d0]
jmp 0x14006d0b7
lea eax, [r8 + 1]
imul eax, r14d
cmp eax, ebx
jbe 0x14006d273
cmp byte [0x140186282], 0
jne 0x14006d254
movdqa xmm0, xmmword [str.not_enough_pixel]
movdqa xmmword [0x140186270], xmm0
mov word [0x140186280], 0x73
mov byte [0x140186282], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186270]
jmp 0x14006d0b7
mov qword [rsp + 0x90], r9
mov qword [rsp + 0xf0], r8
lea ecx, [r8 + r8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14006d075
test r14d, r14d
je 0x14006f082
mov edx, dword [rsp + 0x410]
cmp edx, 8
mov eax, 1
cmovl r15d, eax
mov r8d, dword [rsp + 0x400]
mov ecx, r8d
cmovl ecx, dword [rsp + 0xf0]
imul ecx, r15d
movsxd r11, r15d
movsxd rax, ecx
mov r10, rax
mov r9, rax
mov qword [rsp + 0xa0], rax
sub r10, r11
cmp r10, 8
setb al
cmp r11d, 0x20
setb dl
or dl, al
mov byte [rsp + 0x2e], dl
mov rax, r10
and rax, 0xffffffffffffffe0
mov qword [rsp + 0x68], rax
mov rax, r10
and rax, 0xfffffffffffffff8
mov qword [rsp + 0x70], rax
mov rax, r9
neg rax
mov qword [rsp + 0x108], rax
mov eax, r15d
and eax, 0xffffffe0
mov qword [rsp + 0xd0], rax
mov eax, r15d
and eax, 0xfffffff8
mov qword [rsp + 0x138], rax
mov eax, r15d
and eax, 3
mov qword [rsp + 0x168], rax
mov rax, r10
mov qword [rsp + 0x40], r10
and r10, 0xfffffffffffffff0
mov qword [rsp + 0xe0], r10
mov rax, r15
neg rax
mov qword [rsp + 0x210], rax
mov eax, ecx
and eax, 0xffffffe0
mov qword [rsp + 0x130], rax
mov eax, ecx
and eax, 0xfffffff8
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x48], rcx
and ecx, 3
mov qword [rsp + 0x160], rcx
mov eax, r8d
and eax, 0xfffffffe
mov dword [rsp + 0x12c], eax
lea eax, [r8*2 - 1]
lea r9d, [r8*2 - 2]
cmp r9d, eax
seta al
lea ecx, [r8 - 1]
test ecx, ecx
sets r10b
cmp r9d, r9d
seta bl
or bl, r10b
or bl, al
mov byte [rsp + 0x57], bl
mov eax, r14d
mov qword [rsp + 0x250], rax
lea rax, [rcx + rcx]
mov qword [rsp + 0x158], rax
neg rax
mov qword [rsp + 0x140], rax
lea rdx, [rcx + 1]
mov rax, rdx
mov qword [rsp + 0x150], rdx
and rdx, 0xfffffffffffffff8
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x70]
neg rax
mov qword [rsp + 0x148], rax
mov r10, qword [rsp + 0x58]
mov r8, r10
sub r8, r11
mov r14, qword [rsp + 0x90]
mov eax, r14d
and eax, 0xfffffffc
mov qword [rsp + 0x1e8], rax
mov eax, r14d
and eax, 3
mov qword [rsp + 0x240], rax
lea rax, [rcx + rcx*2]
add rax, r10
add rax, 2
mov qword [rsp + 0x200], rax
mov eax, dword [rsp + 0x400]
lea eax, [rax*4 - 4]
lea rbx, [rax + 1]
mov qword [rsp + 0x170], rbx
or rax, 3
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x1c8], rdx
neg rdx
mov qword [rsp + 0x1b8], rdx
mov eax, r14d
and eax, 0xfffffffe
mov qword [rsp + 0x230], rax
pcmpeqd xmm14, xmm14
movdqa xmm15, xmmword [0x1401077a0]
mov byte [rsp + 0x2f], 1
mov eax, r14d
mov qword [rsp + 0x220], rax
movsxd rax, dword [rsp + 0x410]
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x1d0], r9
lea rax, [r9 + 1]
mov qword [rsp + 0x1e0], rax
lea rax, [r10 + r11]
mov qword [rsp + 0xb8], rax
lea eax, [r14 - 1]
mov dword [rsp + 0xac], eax
mov eax, dword [rsp + 0xf0]
mov qword [rsp + 0x258], rax
mov rax, qword [rsp + 0x68]
lea rax, [rax + r11]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x70]
lea rax, [rax + r11]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xe0]
lea rax, [rax + r11]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x158]
lea eax, [rax + 1]
mov qword [rsp + 0x1f8], rax
lea rax, [rcx - 1]
mov qword [rsp + 0x1f0], rax
lea rax, [r10 + 0x10]
mov qword [rsp + 0x88], rax
lea r14, [r11 + r13 + 0x11]
mov rax, qword [rsp + 0xa0]
lea rax, [rax + 1]
mov qword [rsp + 0x248], rax
lea rax, [r13 + r11 + 1]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x208], r8
lea rax, [r8 + 1]
mov qword [rsp + 0x100], rax
lea rax, [r10 + 1]
mov qword [rsp + 0xe8], rax
lea rax, [r10 + 3]
mov qword [rsp + 0x110], rax
lea rax, [r13 + 1]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x30], r11
lea rax, [r10 + r11 + 0x10]
mov qword [rsp + 0x1a8], rax
lea rax, [r13 + 2]
mov qword [rsp + 0x118], rax
mov edx, dword [rsp + 0x400]
mov eax, edx
mov qword [rsp + 0x238], rax
lea rax, [rcx*4 + 4]
mov qword [rsp + 0x188], rax
lea rax, [rcx + rcx*2 + 2]
mov qword [rsp + 0x218], rax
lea eax, [rdx + rdx - 0xa]
mov dword [rsp + 0x128], eax
mov qword [rsp + 0x80], rcx
lea rax, [rcx + r10]
add rax, 0xfffffffffffffffd
mov qword [rsp + 0x1b0], rax
xor eax, eax
mov qword [rsp + 0x60], rax
xor ecx, ecx
mov dword [rsp + 0xcc], ebp
mov dword [rsp + 0xc8], esi
jmp 0x14006d6c8
mov rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x220]
call sub.VCRUNTIME140.dll_memcpy
mov r13, qword [rsp + 0x78]
add r13, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x120]
inc rcx
mov rax, qword [rsp + 0x248]
add r14, rax
add qword [rsp + 0xb0], rax
inc byte [rsp + 0x2f]
add qword [rsp + 0x98], rax
add qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x60]
add eax, r12d
mov qword [rsp + 0x60], rax
cmp rcx, qword [rsp + 0x250]
je 0x14006f082
test cl, 1
mov r9d, 0
cmove r9, qword [rsp + 0x258]
movzx r11d, byte [r13]
cmp r11, 5
jae 0x14006f097
mov qword [rsp + 0xc0], r14
test rcx, rcx
jne 0x14006d702
lea rax, [0x1401054dc]
movzx r11d, byte [r11 + rax]
mov qword [rsp + 0x120], rcx
and ecx, 1
neg ecx
and ecx, dword [rsp + 0xf0]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rcx
add rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x180], rax
lea rax, [r13 + 1]
mov qword [rsp + 0x78], rax
cmp r11b, 5
ja case.default.0x14006d79c
movzx ebx, byte [rsp + 0x2f]
and ebx, 1
mov rax, qword [rsp + 0xf0]
imul ebx, eax
mov rcx, qword [rsp + 0x110]
lea rdx, [rcx + rbx]
mov rcx, qword [rsp + 0x58]
lea rbp, [rcx + rbx]
mov r8, qword [rsp + 0x88]
lea r10, [r8 + rbx]
mov r8, qword [rsp + 0xb8]
lea rsi, [r8 + r9]
add r9, rcx
movzx r11d, r11b
lea rcx, [0x140107bd0]
movsxd r11, dword [rcx + r11*4]
add r11, rcx
jmp r11
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0xa0]
call sub.VCRUNTIME140.dll_memcpy
jmp case.default.0x14006d79c
cmp dword [rsp + 0x48], 0
jle case.default.0x14006d79c
cmp dword [rsp + 0x48], 8
jb 0x14006d7e7
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
add rax, rcx
sub rax, r9
cmp rax, 0x20
jae 0x14006db83
xor r8d, r8d
mov rax, r8
cmp qword [rsp + 0x160], 0
mov rcx, qword [rsp + 0x98]
mov r11, qword [rsp + 0x20]
je 0x14006d826
mov r9, qword [rsp + 0x160]
mov rax, r8
movzx r10d, byte [rbp + rax]
add r10b, byte [rcx + rax]
mov byte [r11 + rax], r10b
inc rax
dec r9
jne 0x14006d810
not r8
add r8, qword [rsp + 0x48]
cmp r8, 3
jb case.default.0x14006d79c
mov rcx, qword [rsp + 0x110]
mov r8, qword [rsp + 0x38]
add rcx, r8
movzx r8d, byte [rdx + rax - 3]
mov r9, qword [rsp + 0x98]
add r8b, byte [r9 + rax]
mov byte [rcx + rax - 3], r8b
movzx r8d, byte [rdx + rax - 2]
add r8b, byte [r9 + rax + 1]
mov byte [rcx + rax - 2], r8b
movzx r8d, byte [rdx + rax - 1]
add r8b, byte [r9 + rax + 2]
mov byte [rcx + rax - 1], r8b
movzx r8d, byte [rdx + rax]
add r8b, byte [r9 + rax + 3]
mov byte [rcx + rax], r8b
add rax, 4
cmp qword [rsp + 0x48], rax
jne 0x14006d848
jmp case.default.0x14006d79c
mov r13, rbx
mov rdx, qword [rsp + 0x120]
not edx
and edx, 1
imul edx, eax
add rdx, qword [rsp + 0x58]
test r15d, r15d
mov rbx, qword [rsp + 0x98]
mov r14, qword [rsp + 0x38]
jle 0x14006d95c
cmp r15d, 8
jb 0x14006d8e7
mov rax, qword [rsp + 0x58]
lea r8, [rax + r14]
sub r8, r9
cmp r8, 0x20
jae 0x14006db95
xor r9d, r9d
mov rcx, r9
test r15b, 1
je 0x14006d913
movzx ecx, byte [rdx + r9]
shr cl, 1
mov rax, qword [rsp + 0x78]
add cl, byte [rax + r9]
mov rax, qword [rsp + 0x20]
mov byte [rax + r9], cl
mov rcx, r9
or rcx, 1
not r9
cmp r9, qword [rsp + 0x210]
je 0x14006d95c
mov rax, qword [rsp + 0xe8]
lea r9, [rax + r13]
lea r10, [rax + r14]
movzx r8d, byte [r9 + rcx - 1]
shr r8b, 1
add r8b, byte [rbx + rcx]
mov byte [r10 + rcx - 1], r8b
movzx r8d, byte [r9 + rcx]
shr r8b, 1
add r8b, byte [rbx + rcx + 1]
mov byte [r10 + rcx], r8b
add rcx, 2
cmp r15, rcx
jne 0x14006d930
cmp r15d, dword [rsp + 0x48]
jge case.default.0x14006d79c
mov rbx, r13
mov r9, qword [rsp + 0x30]
cmp qword [rsp + 0x40], 8
jb 0x14006e27b
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov r8, rcx
sub r8, rsi
mov r9, qword [rsp + 0x30]
cmp r8, 0x20
jb 0x14006e27b
mov r9, qword [rsp + 0x30]
cmp r15d, 0x20
jb 0x14006e27b
cmp qword [rsp + 0x40], 0x20
jae 0x14006e0e8
xor r8d, r8d
jmp 0x14006e1f7
test r15d, r15d
mov rcx, qword [rsp + 0x20]
jle 0x14006da89
cmp r15d, 8
jb 0x14006d9f2
mov rax, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
lea r11, [rax + r8]
sub r11, r9
cmp r11, 0x20
jae 0x14006dba7
xor r11d, r11d
mov r10, r11
cmp qword [rsp + 0x168], 0
je 0x14006da25
mov r14, qword [rsp + 0x168]
mov r10, r11
movzx r8d, byte [rbp + r10]
add r8b, byte [r13 + r10 + 1]
mov byte [rcx + r10], r8b
inc r10
dec r14
jne 0x14006da0e
not r11
add r11, r15
cmp r11, 3
jb 0x14006da89
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x38]
lea r11, [rax + rcx]
movzx r8d, byte [rdx + r10 - 3]
add r8b, byte [r13 + r10 + 1]
mov byte [r11 + r10 - 3], r8b
movzx r8d, byte [rdx + r10 - 2]
add r8b, byte [r13 + r10 + 2]
mov byte [r11 + r10 - 2], r8b
movzx r8d, byte [rdx + r10 - 1]
add r8b, byte [r13 + r10 + 3]
mov byte [r11 + r10 - 1], r8b
movzx r8d, byte [rdx + r10]
add r8b, byte [r13 + r10 + 4]
mov byte [r11 + r10], r8b
add r10, 4
cmp r15, r10
jne 0x14006da42
cmp r15d, dword [rsp + 0x48]
jge case.default.0x14006d79c
mov r10, qword [rsp + 0x30]
cmp qword [rsp + 0x40], 8
jb 0x14006e8bd
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
lea rdx, [rax + rcx]
mov r8, rdx
sub r8, r9
mov r10, qword [rsp + 0x30]
cmp r8, 0x10
jb 0x14006e8bd
mov r8, rdx
sub r8, rsi
mov r10, qword [rsp + 0x30]
cmp r8, 0x10
jb 0x14006e8bd
mov r10, qword [rsp + 0x30]
cmp r15d, 0x10
jb 0x14006e8bd
cmp qword [rsp + 0x40], 0x10
jae 0x14006e34d
xor r8d, r8d
jmp 0x14006e715
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
cmp r15d, dword [rsp + 0x48]
jge case.default.0x14006d79c
mov rcx, qword [rsp + 0x30]
cmp byte [rsp + 0x2e], 0
jne 0x14006dc90
cmp qword [rsp + 0x40], 0x20
jae 0x14006dbb9
xor eax, eax
jmp 0x14006dc33
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
cmp r15d, dword [rsp + 0x48]
jge case.default.0x14006d79c
mov rcx, qword [rsp + 0x30]
cmp byte [rsp + 0x2e], 0
jne 0x14006de1c
cmp qword [rsp + 0x40], 0x20
jae 0x14006dd27
xor eax, eax
jmp 0x14006ddb5
cmp dword [rsp + 0x48], 0x20
jae 0x14006deb4
xor eax, eax
jmp 0x14006df2b
cmp r15d, 0x20
jae 0x14006df72
xor r10d, r10d
jmp 0x14006dff3
cmp r15d, 0x20
jae 0x14006e03b
xor r10d, r10d
jmp 0x14006e0ae
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x38]
add rax, rcx
mov rcx, qword [rsp + 0x30]
add rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0xc0]
movdqu xmm0, xmmword [r9 + rdx - 0x10]
movdqu xmm1, xmmword [r9 + rdx]
movdqu xmm2, xmmword [rax + rdx - 0x10]
paddb xmm2, xmm0
movdqu xmm0, xmmword [rax + rdx]
paddb xmm0, xmm1
movdqu xmmword [rcx + rdx - 0x10], xmm2
movdqu xmmword [rcx + rdx], xmm0
add rdx, 0x20
cmp r8, rdx
jne 0x14006dbe0
cmp qword [rsp + 0x40], r8
je case.default.0x14006d79c
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xf8]
test byte [rsp + 0x40], 0x18
je 0x14006dc90
mov rcx, qword [rsp + 0x38]
add rcx, rax
add rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x148]
add rdx, rax
add rax, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x30]
movq xmm0, qword [rax]
movq xmm1, qword [rcx]
paddb xmm1, xmm0
movq qword [rcx + r8], xmm1
add rcx, 8
add rax, 8
add rdx, 8
jne 0x14006dc58
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x40], rax
je case.default.0x14006d79c
mov rax, qword [rsp + 0x48]
mov edx, eax
sub edx, ecx
mov rax, rcx
test dl, 1
je 0x14006dcc3
mov rax, rcx
sub rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x20]
movzx eax, byte [r8 + rax]
mov rdx, qword [rsp + 0x78]
add al, byte [rdx + rcx]
mov byte [r8 + rcx], al
lea rax, [rcx + 1]
not rcx
cmp rcx, qword [rsp + 0x108]
je case.default.0x14006d79c
mov rcx, qword [rsp + 0x100]
mov r8, qword [rsp + 0x38]
add rcx, r8
mov rdx, qword [rsp + 0xe8]
add rdx, r8
movzx r8d, byte [rcx + rax - 1]
mov r9, qword [rsp + 0x118]
add r8b, byte [r9 + rax - 1]
mov byte [rdx + rax - 1], r8b
movzx r8d, byte [rcx + rax]
add r8b, byte [r9 + rax]
mov byte [rdx + rax], r8b
add rax, 2
cmp qword [rsp + 0xa0], rax
jne 0x14006dcef
jmp case.default.0x14006d79c
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x38]
add rax, rcx
mov rcx, qword [rsp + 0x30]
add rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0xc0]
movdqu xmm0, xmmword [r9 + rdx - 0x10]
movdqu xmm1, xmmword [r9 + rdx]
movdqu xmm2, xmmword [rax + rdx - 0x10]
movdqu xmm3, xmmword [rax + rdx]
psrlw xmm2, 1
pand xmm2, xmm15
paddb xmm2, xmm0
psrlw xmm3, 1
pand xmm3, xmm15
paddb xmm3, xmm1
movdqu xmmword [rcx + rdx - 0x10], xmm2
movdqu xmmword [rcx + rdx], xmm3
add rdx, 0x20
cmp r8, rdx
jne 0x14006dd4e
cmp qword [rsp + 0x40], r8
je case.default.0x14006d79c
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xf8]
test byte [rsp + 0x40], 0x18
je 0x14006de1c
mov rcx, qword [rsp + 0x38]
add rcx, rax
add rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x148]
add rdx, rax
add rax, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x30]
movq xmm0, qword [rax]
movq xmm1, qword [rcx]
psrlw xmm1, 1
pand xmm1, xmm15
paddb xmm1, xmm0
movq qword [rcx + r8], xmm1
add rcx, 8
add rax, 8
add rdx, 8
jne 0x14006ddda
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x40], rax
je case.default.0x14006d79c
mov rax, qword [rsp + 0x48]
mov edx, eax
sub edx, ecx
mov rax, rcx
test dl, 1
je 0x14006de51
mov rax, rcx
sub rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x20]
movzx eax, byte [r8 + rax]
shr al, 1
mov rdx, qword [rsp + 0x78]
add al, byte [rdx + rcx]
mov byte [r8 + rcx], al
lea rax, [rcx + 1]
not rcx
cmp rcx, qword [rsp + 0x108]
je case.default.0x14006d79c
mov rcx, qword [rsp + 0x100]
mov r8, qword [rsp + 0x38]
add rcx, r8
mov rdx, qword [rsp + 0xe8]
add rdx, r8
movzx r8d, byte [rcx + rax - 1]
shr r8b, 1
add r8b, byte [r13 + rax + 1]
mov byte [rdx + rax - 1], r8b
movzx r8d, byte [rcx + rax]
shr r8b, 1
add r8b, byte [r13 + rax + 2]
mov byte [rdx + rax], r8b
add rax, 2
cmp qword [rsp + 0xa0], rax
jne 0x14006de7d
jmp case.default.0x14006d79c
mov rax, qword [rsp + 0x88]
add rax, rcx
xor r8d, r8d
mov rcx, qword [rsp + 0x130]
mov r9, qword [rsp + 0x98]
movdqu xmm0, xmmword [r9 + r8]
movdqu xmm1, xmmword [r9 + r8 + 0x10]
movdqu xmm2, xmmword [r10 + r8 - 0x10]
paddb xmm2, xmm0
movdqu xmm0, xmmword [r10 + r8]
paddb xmm0, xmm1
movdqu xmmword [rax + r8 - 0x10], xmm2
movdqu xmmword [rax + r8], xmm0
add r8, 0x20
cmp rcx, r8
jne 0x14006ded2
cmp rcx, qword [rsp + 0x48]
je case.default.0x14006d79c
mov r8, qword [rsp + 0x130]
mov rax, r8
test byte [rsp + 0x48], 0x18
je 0x14006d7ea
mov rcx, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x20]
movq xmm0, qword [r8 + rax]
movq xmm1, qword [rbp + rax]
paddb xmm1, xmm0
movq qword [r9 + rax], xmm1
add rax, 8
cmp rcx, rax
jne 0x14006df40
mov r8, rcx
cmp rcx, qword [rsp + 0x48]
je case.default.0x14006d79c
jmp 0x14006d7ea
mov rax, qword [rsp + 0x88]
lea r9, [rax + r14]
xor r11d, r11d
mov rax, qword [rsp + 0xd0]
movdqu xmm0, xmmword [rbx + r11]
movdqu xmm1, xmmword [rbx + r11 + 0x10]
movdqu xmm2, xmmword [r10 + r11 - 0x10]
movdqu xmm3, xmmword [r10 + r11]
psrlw xmm2, 1
pand xmm2, xmm15
paddb xmm2, xmm0
psrlw xmm3, 1
pand xmm3, xmm15
paddb xmm3, xmm1
movdqu xmmword [r9 + r11 - 0x10], xmm2
movdqu xmmword [r9 + r11], xmm3
add r11, 0x20
cmp rax, r11
jne 0x14006df89
cmp rax, r15
je 0x14006d95c
mov r9, qword [rsp + 0xd0]
mov r10, r9
test r15b, 0x18
je 0x14006d8ea
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x20]
movq xmm0, qword [rbx + r10]
movq xmm1, qword [rbp + r10]
psrlw xmm1, 1
pand xmm1, xmm15
paddb xmm1, xmm0
movq qword [rcx + r10], xmm1
add r10, 8
cmp rax, r10
jne 0x14006e000
mov r9, rax
cmp rax, r15
je 0x14006d95c
jmp 0x14006d8ea
mov rax, qword [rsp + 0x88]
mov r8, qword [rsp + 0x38]
lea r11, [rax + r8]
xor r14d, r14d
mov rax, qword [rsp + 0xd0]
movdqu xmm0, xmmword [r13 + r14 + 1]
movdqu xmm1, xmmword [r13 + r14 + 0x11]
movdqu xmm2, xmmword [r10 + r14 - 0x10]
paddb xmm2, xmm0
movdqu xmm0, xmmword [r10 + r14]
paddb xmm0, xmm1
movdqu xmmword [r11 + r14 - 0x10], xmm2
movdqu xmmword [r11 + r14], xmm0
add r14, 0x20
cmp rax, r14
jne 0x14006e057
cmp rax, r15
je 0x14006da89
mov r11, qword [rsp + 0xd0]
mov r10, r11
test r15b, 0x18
je 0x14006d9f5
mov rax, qword [rsp + 0x138]
movq xmm0, qword [r13 + r10 + 1]
movq xmm1, qword [rbp + r10]
paddb xmm1, xmm0
movq qword [rcx + r10], xmm1
add r10, 8
cmp rax, r10
jne 0x14006e0b6
mov r11, rax
cmp rax, r15
je 0x14006da89
jmp 0x14006d9f5
mov rax, qword [rsp + 0x1a8]
lea r8, [rax + rbx]
mov rax, qword [rsp + 0x88]
mov r9, qword [rsp + 0x38]
add r9, rax
mov r10, qword [rsp + 0xc0]
mov r11, qword [rsp + 0x68]
mov rax, qword [rsp + 0x30]
movdqu xmm1, xmmword [r10 - 0x10]
movdqu xmm0, xmmword [r10]
movdqu xmm4, xmmword [r8 - 0x10]
movdqu xmm5, xmmword [r8]
movdqa xmm6, xmm4
pxor xmm9, xmm9
punpckhbw xmm6, xmm9
punpcklbw xmm4, xmm9
movdqa xmm7, xmm5
punpckhbw xmm7, xmm9
punpcklbw xmm5, xmm9
movdqu xmm2, xmmword [r9 - 0x10]
movdqu xmm3, xmmword [r9]
movdqa xmm8, xmm2
punpckhbw xmm8, xmm9
paddw xmm8, xmm6
punpcklbw xmm2, xmm9
paddw xmm2, xmm4
movdqa xmm4, xmm3
punpckhbw xmm4, xmm9
paddw xmm4, xmm7
punpcklbw xmm3, xmm9
paddw xmm3, xmm5
psrlw xmm8, 1
psrlw xmm2, 1
packuswb xmm2, xmm8
paddb xmm2, xmm1
psrlw xmm4, 1
psrlw xmm3, 1
packuswb xmm3, xmm4
paddb xmm3, xmm0
movdqu xmmword [r9 + rax - 0x10], xmm2
movdqu xmmword [r9 + rax], xmm3
add r9, 0x20
add r10, 0x20
add r8, 0x20
add r11, 0xffffffffffffffe0
jne 0x14006e116
mov rax, qword [rsp + 0x68]
cmp qword [rsp + 0x40], rax
je case.default.0x14006d79c
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0xf8]
test byte [rsp + 0x40], 0x18
je 0x14006e27b
mov rax, qword [rsp + 0xb8]
lea r9, [rax + rbx]
mov r10, qword [rsp + 0xb0]
mov r11, qword [rsp + 0x70]
mov r14, qword [rsp + 0x20]
movq xmm0, qword [r10 + r8]
movq xmm1, qword [r9 + r8]
pxor xmm3, xmm3
punpcklbw xmm1, xmm3
movq xmm2, qword [r14 + r8]
punpcklbw xmm2, xmm3
paddw xmm2, xmm1
psrlw xmm2, 1
packuswb xmm2, xmm2
paddb xmm2, xmm0
movq qword [rcx + r8], xmm2
add r14, 8
add r11, 0xfffffffffffffff8
add r10, 8
add r9, 8
add rcx, 8
cmp r8, r11
jne 0x14006e215
mov r9, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x40], rax
je case.default.0x14006d79c
mov rax, qword [rsp + 0x48]
mov r8d, eax
sub r8d, r9d
mov rcx, r9
test r8b, 1
je 0x14006e2bb
movzx ecx, byte [rdx + r9]
mov rdx, r9
sub rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x20]
movzx edx, byte [r8 + rdx]
add edx, ecx
shr edx, 1
mov rax, qword [rsp + 0x78]
add dl, byte [rax + r9]
mov byte [r8 + r9], dl
lea rcx, [r9 + 1]
not r9
cmp r9, qword [rsp + 0x108]
je case.default.0x14006d79c
mov r8, qword [rsp + 0xe8]
add rbx, r8
mov rax, qword [rsp + 0x100]
mov r9, qword [rsp + 0x38]
lea rdx, [rax + r9]
add r8, r9
mov r9, qword [rsp + 0x118]
mov r10, qword [rsp + 0xa0]
movzx r11d, byte [rbx + rcx - 1]
movzx r14d, byte [rdx + rcx - 1]
add r14d, r11d
shr r14d, 1
add r14b, byte [r9 + rcx - 1]
mov byte [r8 + rcx - 1], r14b
movzx r11d, byte [rbx + rcx]
movzx r14d, byte [rdx + rcx]
add r14d, r11d
shr r14d, 1
add r14b, byte [r9 + rcx]
mov byte [r8 + rcx], r14b
add r10, 0xfffffffffffffffe
add rdx, 2
add r9, 2
add rbx, 2
add r8, 2
cmp rcx, r10
jne 0x14006e2fb
jmp case.default.0x14006d79c
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0x20]
mov r11, rbp
mov rax, qword [rsp + 0x30]
movdqu xmm0, xmmword [r11]
movdqa xmm1, xmm0
pxor xmm3, xmm3
punpckhbw xmm1, xmm3
movdqa xmm7, xmm1
punpcklwd xmm7, xmm3
punpckhwd xmm1, xmm3
movdqa xmm6, xmm1
punpcklbw xmm0, xmm3
movdqa xmm1, xmm0
punpcklwd xmm1, xmm3
punpckhwd xmm0, xmm3
movdqa xmm5, xmm0
movdqu xmm9, xmmword [r11 + rax]
movdqa xmm2, xmm9
punpckhbw xmm2, xmm3
movdqa xmm0, xmm2
punpcklwd xmm0, xmm3
movdqa xmm15, xmm0
movdqa xmmword [rsp + 0x190], xmm0
punpckhwd xmm2, xmm3
movdqa xmm4, xmm2
punpcklbw xmm9, xmm3
movdqa xmm0, xmm9
punpcklwd xmm0, xmm3
movdqa xmm12, xmm0
punpckhwd xmm9, xmm3
movdqu xmm14, xmmword [r10]
movdqa xmm2, xmm14
punpckhbw xmm2, xmm3
movdqa xmm11, xmm2
punpcklwd xmm11, xmm3
punpckhwd xmm2, xmm3
punpcklbw xmm14, xmm3
movdqa xmm8, xmm14
punpcklwd xmm8, xmm3
punpckhwd xmm14, xmm3
movdqa xmmword [rsp + 0x2e0], xmm5
movdqa xmm10, xmm5
paddd xmm10, xmm5
paddd xmm10, xmm5
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x2d0], xmm1
paddd xmm1, xmm1
paddd xmm1, xmm0
movdqa xmmword [rsp + 0x2c0], xmm6
movdqa xmm13, xmm6
paddd xmm13, xmm6
paddd xmm13, xmm6
movdqa xmm0, xmm9
paddd xmm0, xmm14
psubd xmm10, xmm0
movdqa xmm5, xmm12
movdqa xmmword [rsp + 0x270], xmm12
movdqa xmm0, xmm12
paddd xmm0, xmm8
psubd xmm1, xmm0
movdqa xmm3, xmm4
movdqa xmm0, xmm4
paddd xmm0, xmm2
psubd xmm13, xmm0
movdqa xmmword [rsp + 0x2a0], xmm7
movdqa xmm12, xmm7
paddd xmm12, xmm7
paddd xmm12, xmm7
movdqa xmm0, xmm15
paddd xmm0, xmm11
psubd xmm12, xmm0
movdqa xmm15, xmm14
pcmpgtd xmm15, xmm9
movdqa xmm0, xmm15
pandn xmm0, xmm14
movdqa xmm4, xmm9
pand xmm4, xmm15
por xmm4, xmm0
movdqa xmmword [rsp + 0x2b0], xmm4
movdqa xmm7, xmm8
pcmpgtd xmm7, xmm5
movdqa xmm0, xmm7
pandn xmm0, xmm8
movdqa xmm4, xmm5
pand xmm4, xmm7
por xmm4, xmm0
movdqa xmmword [rsp + 0x290], xmm4
movdqa xmm6, xmm2
pcmpgtd xmm6, xmm3
movdqa xmm0, xmm6
pandn xmm0, xmm2
movdqa xmm4, xmm6
pandn xmm4, xmm3
pand xmm3, xmm6
por xmm3, xmm0
movdqa xmmword [rsp + 0x280], xmm3
movdqa xmm3, xmm11
movdqa xmmword [rsp + 0x260], xmm11
movdqa xmm5, xmm11
movdqa xmm11, xmmword [rsp + 0x190]
pcmpgtd xmm5, xmm11
movdqa xmm0, xmm5
pandn xmm0, xmm3
movdqa xmm3, xmm5
pandn xmm3, xmm11
pand xmm11, xmm5
por xmm11, xmm0
movdqa xmmword [rsp + 0x190], xmm11
pand xmm5, xmmword [rsp + 0x260]
por xmm5, xmm3
pand xmm6, xmm2
por xmm6, xmm4
pand xmm8, xmm7
pandn xmm7, xmmword [rsp + 0x270]
por xmm7, xmm8
pand xmm14, xmm15
pandn xmm15, xmm9
por xmm15, xmm14
movdqa xmm2, xmm5
pcmpgtd xmm2, xmm12
movdqa xmm0, xmmword [rsp + 0x2a0]
pand xmm0, xmm2
pandn xmm2, xmm11
por xmm2, xmm0
movdqa xmm4, xmm6
pcmpgtd xmm4, xmm13
movdqa xmm0, xmmword [rsp + 0x2c0]
pand xmm0, xmm4
movdqa xmm14, xmmword [rsp + 0x280]
pandn xmm4, xmm14
por xmm4, xmm0
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm1
movdqa xmm3, xmmword [rsp + 0x2d0]
pand xmm3, xmm0
movdqa xmm11, xmmword [rsp + 0x290]
pandn xmm0, xmm11
por xmm0, xmm3
movdqa xmm8, xmm15
pcmpgtd xmm8, xmm10
movdqa xmm9, xmmword [rsp + 0x2e0]
pand xmm9, xmm8
movdqa xmm3, xmmword [rsp + 0x2b0]
pandn xmm8, xmm3
por xmm8, xmm9
pcmpgtd xmm12, xmmword [rsp + 0x190]
pcmpgtd xmm13, xmm14
pcmpgtd xmm1, xmm11
pcmpgtd xmm10, xmm3
pand xmm8, xmm10
pandn xmm10, xmm15
por xmm10, xmm8
pand xmm0, xmm1
pandn xmm1, xmm7
por xmm1, xmm0
packuswb xmm1, xmm10
pand xmm4, xmm13
pandn xmm13, xmm6
por xmm13, xmm4
pand xmm2, xmm12
pandn xmm12, xmm5
por xmm12, xmm2
packuswb xmm12, xmm13
packuswb xmm1, xmm12
movdqu xmm0, xmmword [r8]
paddb xmm1, xmm0
movdqu xmmword [r10 + rax], xmm1
add r11, 0x10
add r10, 0x10
add r8, 0x10
add r9, 0xfffffffffffffff0
jne 0x14006e36a
mov rax, qword [rsp + 0xe0]
cmp qword [rsp + 0x40], rax
pcmpeqd xmm14, xmm14
movdqa xmm15, xmmword [0x1401077a0]
je case.default.0x14006d79c
mov r8, qword [rsp + 0xe0]
mov r10, qword [rsp + 0x1a0]
test byte [rsp + 0x40], 8
je 0x14006e8bd
mov rax, qword [rsp + 0xb8]
lea r9, [rax + rbx]
mov r10, qword [rsp + 0xb0]
mov r11, qword [rsp + 0x70]
mov r14, qword [rsp + 0x20]
mov r13, rbp
movq xmm0, qword [r10 + r8]
movq xmm1, qword [r13 + r8]
pxor xmm2, xmm2
punpcklbw xmm1, xmm2
movdqa xmm6, xmm1
punpcklwd xmm6, xmm2
punpckhwd xmm1, xmm2
movq xmm3, qword [r9 + r8]
punpcklbw xmm3, xmm2
movdqa xmm5, xmm3
punpcklwd xmm5, xmm2
punpckhwd xmm3, xmm2
movq xmm8, qword [r14 + r8]
punpcklbw xmm8, xmm2
movdqa xmm10, xmm8
punpcklwd xmm10, xmm2
punpckhwd xmm8, xmm2
movdqa xmm4, xmm1
paddd xmm4, xmm1
paddd xmm4, xmm1
movdqa xmm2, xmm6
paddd xmm2, xmm6
paddd xmm2, xmm6
movdqa xmm7, xmm3
paddd xmm7, xmm8
psubd xmm4, xmm7
movdqa xmm7, xmm5
paddd xmm7, xmm10
psubd xmm2, xmm7
movdqa xmm7, xmm8
pcmpgtd xmm7, xmm3
movdqa xmm9, xmm7
pandn xmm9, xmm8
movdqa xmm11, xmm7
pandn xmm11, xmm3
pand xmm3, xmm7
por xmm3, xmm9
movdqa xmm9, xmm10
pcmpgtd xmm9, xmm5
movdqa xmm12, xmm9
pandn xmm12, xmm10
movdqa xmm13, xmm9
pandn xmm13, xmm5
pand xmm5, xmm9
por xmm5, xmm12
pand xmm9, xmm10
por xmm9, xmm13
pand xmm7, xmm8
por xmm7, xmm11
movdqa xmm8, xmm7
pcmpgtd xmm8, xmm4
movdqa xmm10, xmm9
pcmpgtd xmm10, xmm2
pand xmm6, xmm10
pandn xmm10, xmm5
por xmm10, xmm6
pand xmm1, xmm8
pandn xmm8, xmm3
por xmm8, xmm1
pcmpgtd xmm2, xmm5
pcmpgtd xmm4, xmm3
pand xmm8, xmm4
pandn xmm4, xmm7
por xmm4, xmm8
pand xmm10, xmm2
pandn xmm2, xmm9
por xmm2, xmm10
packuswb xmm2, xmm4
packuswb xmm2, xmm2
paddb xmm2, xmm0
movq qword [rdx + r8], xmm2
add r13, 8
add r14, 8
add r11, 0xfffffffffffffff8
add r10, 8
add r9, 8
add rdx, 8
cmp r8, r11
jne 0x14006e736
mov r10, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x40], rax
je case.default.0x14006d79c
mov rax, qword [rsp + 0x208]
add rbx, rax
mov rcx, qword [rsp + 0x38]
lea rdx, [rax + rcx]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x20]
mov r11, qword [rsp + 0x98]
movzx r14d, byte [rbx + r10]
movzx r13d, byte [rbp + r10]
mov rsi, rbp
mov rbp, rbx
movzx ebx, byte [rdx + r10]
lea ecx, [r14 + r14*2]
sub ecx, r13d
sub ecx, ebx
cmp ebx, r13d
mov eax, r13d
cmovl eax, ebx
cmovg r13d, ebx
mov rbx, rbp
mov rbp, rsi
cmp r13d, ecx
cmovle r14d, eax
cmp ecx, eax
cmovle r14d, r13d
add r14b, byte [r11 + r10]
mov byte [r9 + r10], r14b
inc rbx
inc rdx
inc r11
inc rbp
inc r9
dec r8
cmp r10, r8
jne 0x14006e8e6
mov rax, qword [rsp + 0x60]
mov eax, eax
mov qword [rsp + 0x60], rax
mov eax, r12d
imul eax, dword [rsp + 0x120]
mov r13, qword [rsp + 0x180]
lea rcx, [rax + r13]
mov edx, dword [rsp + 0x410]
cmp edx, 7
jg 0x14006ea41
mov r8b, 1
cmp dword [rsp + 0x418], 0
mov rax, qword [rsp + 0x90]
mov r11, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x170]
mov r14, qword [rsp + 0x230]
mov ebp, dword [rsp + 0xcc]
mov esi, dword [rsp + 0xc8]
jne 0x14006e9c6
mov r8, qword [rsp + 0x228]
lea r9, [0x140105450]
movzx r8d, byte [r8 + r9]
cmp edx, 4
je 0x14006ebe3
cmp edx, 2
jne 0x14006ec49
test eax, eax
je 0x14006ee92
cmp dword [rsp + 0xac], 0
je 0x14006edac
mov rax, qword [rsp + 0x60]
lea r9, [rax + r13]
xor r10d, r10d
xor edx, edx
jmp 0x14006ea29
mov eax, edx
shr al, 6
mul r8b
mov byte [r9 + r10], al
mov eax, edx
shr al, 4
and al, 3
mul r8b
mov byte [r9 + r10 + 1], al
shl dl, 4
add r10, 2
cmp r14d, r10d
je 0x14006ecb1
test r10b, 2
jne 0x14006e9fe
mov rax, qword [rsp + 0x20]
movzx edx, byte [rax]
inc rax
mov qword [rsp + 0x20], rax
jmp 0x14006e9fe
cmp edx, 8
mov r11, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x170]
mov r14, qword [rsp + 0xc0]
mov ebp, dword [rsp + 0xcc]
mov esi, dword [rsp + 0xc8]
jne 0x14006eb21
cmp ebp, esi
je 0x14006d65c
cmp ebp, 1
mov rdx, qword [rsp + 0x80]
jne 0x14006ecc1
test edx, edx
mov r11, qword [rsp + 0x20]
mov r9, qword [rsp + 0x38]
js 0x14006d66e
mov r8, qword [rsp + 0x80]
mov rdx, r8
cmp r8d, 0x23
jae 0x14006efb5
mov rax, rdx
test dl, 1
jne 0x14006ead7
mov eax, edx
mov r8d, eax
and r8d, 0x7fffffff
mov byte [rcx + r8*2 + 1], 0xff
movzx r8d, byte [r11 + rdx]
mov byte [rcx + rax*2], r8b
lea rax, [rdx - 1]
test rdx, rdx
je 0x14006d66e
lea edx, [rax + rax]
lea r8d, [rdx + 1]
mov byte [rcx + r8], 0xff
movzx r8d, byte [r11 + rax]
mov r9d, edx
mov byte [rcx + r9], r8b
lea r8d, [rdx - 2]
lea r9d, [rdx - 1]
mov byte [rcx + r9], 0xff
movzx r9d, byte [r11 + rax - 1]
mov byte [rcx + r8], r9b
add rax, 0xfffffffffffffffe
add edx, 0xfffffffc
cmp rax, 0xffffffffffffffff
jne 0x14006eae3
jmp 0x14006d66e
cmp edx, 0x10
mov r10, qword [rsp + 0x20]
jne 0x14006d66e
cmp ebp, esi
jne 0x14006ed2e
cmp dword [rsp + 0x90], 0
je 0x14006d66e
mov r8, qword [rsp + 0x90]
cmp r8d, 4
jb 0x14006ebb9
add r13, qword [rsp + 0x60]
xor ecx, ecx
xor eax, eax
mov r9, qword [rsp + 0x1e8]
movzx edx, word [r10 + rcx*2]
rol dx, 8
mov word [r13 + rcx*2], dx
movzx edx, word [r10 + rcx*2 + 2]
rol dx, 8
mov word [r13 + rcx*2 + 2], dx
movzx edx, word [r10 + rcx*2 + 4]
rol dx, 8
mov word [r13 + rcx*2 + 4], dx
movzx edx, word [r10 + rcx*2 + 6]
rol dx, 8
mov word [r13 + rcx*2 + 6], dx
add rax, 0xfffffffffffffff8
add rcx, 4
cmp r9d, ecx
jne 0x14006eb64
sub r13, rax
sub r10, rax
mov rcx, r13
test r8b, 3
je 0x14006d66e
xor eax, eax
movzx edx, word [r10 + rax*2]
rol dx, 8
mov word [rcx + rax*2], dx
inc rax
cmp dword [rsp + 0x240], eax
jne 0x14006ebc5
jmp 0x14006d66e
test eax, eax
je 0x14006ee92
cmp dword [rsp + 0xac], 0
je 0x14006edda
mov rax, qword [rsp + 0x60]
lea r9, [rax + r13]
xor r10d, r10d
mov r13, qword [rsp + 0x20]
movzx edx, byte [r13]
inc r13
mov eax, edx
shr al, 4
mul r8b
mov byte [r9 + r10], al
and dl, 0xf
mov eax, edx
mul r8b
mov byte [r9 + r10 + 1], al
add r10, 2
cmp r14d, r10d
jne 0x14006ec0a
mov qword [rsp + 0x20], r13
add r9, r10
mov r13, qword [rsp + 0x180]
jmp 0x14006ede0
test eax, eax
je 0x14006ee92
cmp dword [rsp + 0xac], 0
je 0x14006ee05
mov rax, qword [rsp + 0x60]
add rax, r13
xor r9d, r9d
xor edx, edx
jmp 0x14006ec98
mov r10d, edx
sar r10b, 7
and r10b, r8b
mov byte [rax + r9], r10b
lea r10d, [rdx + rdx]
sar r10b, 7
and r10b, r8b
mov byte [rax + r9 + 1], r10b
shl dl, 2
add r9, 2
cmp r14d, r9d
je 0x14006ecb9
test r9b, 6
jne 0x14006ec6e
mov r10, qword [rsp + 0x20]
movzx edx, byte [r10]
inc r10
mov qword [rsp + 0x20], r10
jmp 0x14006ec6e
add r9, r10
jmp 0x14006edb4
add rax, r9
jmp 0x14006ee0d
test edx, edx
mov r13, qword [rsp + 0x38]
js 0x14006d66e
add r13, qword [rsp + 0x200]
xor eax, eax
lea rdx, [rbx + rax]
lea r8d, [rdx - 1]
lea r9d, [r11 + rax]
movsxd r9, r9d
mov byte [rcx + r9], 0xff
movzx r9d, byte [r13]
lea r10d, [rdx + 1]
movsxd r10, r10d
mov byte [rcx + r10], r9b
movzx r9d, byte [r13 - 1]
movsxd rdx, edx
mov byte [rcx + rdx], r9b
movzx edx, byte [r13 - 2]
movsxd r8, r8d
mov byte [rcx + r8], dl
add rax, 0xfffffffffffffffc
add r13, 0xfffffffffffffffd
mov rdx, qword [rsp + 0x188]
add rdx, rax
jne 0x14006ecd8
jmp 0x14006d66e
mov eax, dword [rsp + 0x400]
cmp ebp, 1
jne 0x14006ee2f
test eax, eax
je 0x14006d66e
mov r8d, dword [rsp + 0x400]
cmp r8d, 1
je 0x14006ed8c
mov eax, dword [rsp + 0x12c]
movzx edx, word [r10]
rol dx, 8
mov word [rcx], dx
mov word [rcx + 2], 0xffff
movzx edx, word [r10 + 2]
rol dx, 8
mov word [rcx + 4], dx
mov word [rcx + 6], 0xffff
add rcx, 8
add r10, 4
add eax, 0xfffffffe
jne 0x14006ed5b
test r8b, 1
je 0x14006d66e
movzx eax, word [r10]
rol ax, 8
mov word [rcx], ax
mov word [rcx + 2], 0xffff
jmp 0x14006d66e
xor edx, edx
mov r9, rcx
xor r10d, r10d
test byte [rsp + 0x90], 1
je 0x14006ee92
test r10b, 3
jne 0x14006edd0
mov rax, qword [rsp + 0x20]
movzx edx, byte [rax]
shr dl, 6
mov eax, edx
jmp 0x14006ee8c
xor r10d, r10d
mov r9, rcx
test byte [rsp + 0x90], 1
je 0x14006ee92
test r10b, 1
jne 0x14006ee87
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax]
jmp 0x14006ee89
xor edx, edx
mov rax, rcx
xor r9d, r9d
test byte [rsp + 0x90], 1
je 0x14006ee92
test r9b, 7
jne 0x14006ee25
mov rdx, qword [rsp + 0x20]
movzx edx, byte [rdx]
sar dl, 7
and dl, r8b
mov byte [rax], dl
jmp 0x14006ee92
test eax, eax
je 0x14006d66e
add r13, qword [rsp + 0x60]
xor eax, eax
movzx ecx, word [r10]
rol cx, 8
mov word [r13 + rax*8], cx
movzx ecx, word [r10 + 2]
rol cx, 8
mov word [r13 + rax*8 + 2], cx
movzx ecx, word [r10 + 4]
rol cx, 8
mov word [r13 + rax*8 + 4], cx
mov word [r13 + rax*8 + 6], 0xffff
add r10, 6
inc rax
cmp dword [rsp + 0x238], eax
jne 0x14006ee3e
jmp 0x14006d66e
xor eax, eax
shr al, 4
mul r8b
mov byte [r9], al
cmp ebp, esi
mov r14, qword [rsp + 0xc0]
je 0x14006d66e
cmp ebp, 1
jne 0x14006ef42
cmp dword [rsp + 0x80], 0
js 0x14006d66e
mov rdx, qword [rsp + 0x80]
mov rax, rdx
test byte [rsp + 0x150], 1
je 0x14006eef2
mov rax, qword [rsp + 0x1f8]
mov byte [rcx + rax], 0xff
movzx eax, byte [rcx + rdx]
mov r8, qword [rsp + 0x158]
mov byte [rcx + r8], al
mov rax, qword [rsp + 0x1f0]
test rdx, rdx
je 0x14006d66e
add r13, qword [rsp + 0x60]
lea edx, [rax + rax]
lea r8d, [rdx + 1]
mov byte [rcx + r8], 0xff
movzx r8d, byte [r13 + rax]
mov r9d, edx
mov byte [rcx + r9], r8b
lea r8d, [rdx - 2]
lea r9d, [rdx - 1]
mov byte [rcx + r9], 0xff
movzx r9d, byte [r13 + rax - 1]
mov byte [rcx + r8], r9b
add rax, 0xfffffffffffffffe
add edx, 0xfffffffc
cmp rax, 0xffffffffffffffff
jne 0x14006ef03
jmp 0x14006d66e
cmp dword [rsp + 0x80], 0
js 0x14006d66e
add r13, qword [rsp + 0x218]
add r13, qword [rsp + 0x60]
xor eax, eax
lea rdx, [rbx + rax]
lea r8d, [rdx - 1]
lea r9d, [r11 + rax]
movsxd r9, r9d
mov byte [rcx + r9], 0xff
movzx r9d, byte [r13]
lea r10d, [rdx + 1]
movsxd r10, r10d
mov byte [rcx + r10], r9b
movzx r9d, byte [r13 - 1]
movsxd rdx, edx
mov byte [rcx + rdx], r9b
movzx edx, byte [r13 - 2]
movsxd r8, r8d
mov byte [rcx + r8], dl
add rax, 0xfffffffffffffffc
add r13, 0xfffffffffffffffd
mov rdx, qword [rsp + 0x188]
add rdx, rax
jne 0x14006ef5f
jmp 0x14006d66e
mov rdx, qword [rsp + 0x1e0]
add rdx, r13
add rdx, rax
mov r8, qword [rsp + 0x140]
add r8, rdx
cmp r8, rdx
seta dl
or dl, byte [rsp + 0x57]
mov rdx, qword [rsp + 0x80]
jne 0x14006eab0
add r13, qword [rsp + 0x1d0]
add r13, rax
mov rax, qword [rsp + 0x140]
add rax, r13
mov rdx, qword [rsp + 0x80]
cmp rax, r13
ja 0x14006eab0
add r9, qword [rsp + 0x1b0]
xor eax, eax
mov edx, dword [rsp + 0x128]
mov r10, qword [rsp + 0x1b8]
mov rbx, r9
lea r8d, [rdx + 8]
movd xmm0, dword [rbx + rax]
movd xmm1, dword [rbx + rax - 4]
mov r9d, edx
punpcklbw xmm0, xmm14
movq qword [rcx + r8 - 6], xmm0
punpcklbw xmm1, xmm14
movq qword [rcx + r9 - 6], xmm1
add edx, 0xfffffff0
add rax, 0xfffffffffffffff8
cmp r10, rax
jne 0x14006f029
mov rdx, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x1c8]
cmp qword [rsp + 0x150], rax
je 0x14006d66e
jmp 0x14006eab0
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 1
jmp 0x14006d0c0
cmp byte [0x140186297], 0
jne 0x14006f0d2
movabs rax, 0x2064696c61766e69
mov qword [0x140186288], rax
mov dword [0x140186290], 0x746c6966
mov word [0x140186294], 0x7265
mov byte [0x140186296], 0
mov byte [0x140186297], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186288]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14006d0be