Function at 0x140012f10
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x9a8
movaps xmmword [rsp + 0x910], xmm6
movaps xmmword [rsp + 0x920], xmm7
movaps xmmword [rsp + 0x930], xmm8
movaps xmmword [rsp + 0x940], xmm9
movaps xmmword [rsp + 0x950], xmm10
movaps xmmword [rsp + 0x960], xmm11
movaps xmmword [rsp + 0x970], xmm12
movaps xmmword [rsp + 0x980], xmm13
movaps xmmword [rsp + 0x990], xmm14
mov eax, dword [rsp + 0xa18]
mov ebx, dword [r9]
mov r14, rdx
mov edx, dword [rsp + 0xa10]
mov qword [rsp + 0x9f0], rcx
mov qword [rsp + 0xa00], r8
imul rdx, rax
mov qword [rsp + 0xa08], r9
mov qword [rsp + 0x48], rdx
cmp ebx, 3
je 0x1400135c0
mov rdx, r9
mov rcx, r8
call sym.lodepng_color_mode_equal
test eax, eax
jne 0x1400131b0
mov rax, qword [rsp + 0xa00]
cmp dword [rax], 3
je 0x1400131d8
mov rax, qword [rsp + 0xa08]
mov ecx, dword [rax + 4]
cmp ecx, 0x10
je 0x140013900
mov rax, qword [rsp + 0xa00]
movabs rdx, 0x800000006
mov rax, qword [rax]
cmp rax, rdx
je 0x140013d92
movabs rdx, 0x800000002
cmp rax, rdx
je 0x140013f4b
cmp qword [rsp + 0x48], 0
mov byte [rsp + 0x878], 0
mov byte [rsp + 0x87a], 0
mov byte [rsp + 0x87c], 0
mov byte [rsp + 0x87e], 0
je 0x140013640
mov r15, qword [rsp + 0x9f0]
mov qword [rsp + 0x9f8], r14
xor ebx, ebx
lea r9, [rsp + 0x87e]
mov r13, qword [rsp + 0xa00]
lea rsi, [rsp + 0x87c]
lea r12, [rsp + 0x87a]
mov qword [rsp + 0x50], r15
lea rdi, [rsp + 0x878]
jmp 0x1400130d1
mov edx, dword [r13 + 4]
cmp edx, 8
je 0x140013540
cmp edx, 0x10
jne 0x140013550
mov rdx, qword [rsp + 0x9f0]
mov byte [rdx + rbx*2 + 1], al
mov byte [rdx + rbx*2], al
nop dword [rax]
add qword [rsp + 0x50], 3
add rbx, 1
add r15, 6
cmp qword [rsp + 0x48], rbx
je 0x140013640
mov qword [rsp + 0x28], rbx
mov r8, rsi
mov rdx, r12
mov rcx, rdi
mov rax, qword [rsp + 0xa08]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x9f8]
mov qword [rsp + 0x20], rax
call sym.getPixelColorRGBA8
movzx ecx, byte [rsp + 0x87c]
movzx r11d, byte [rsp + 0x87e]
movzx r10d, byte [rsp + 0x87a]
movzx eax, byte [rsp + 0x878]
mov r8, r11
shl r11, 8
movzx edx, cl
or r11, r8
shl r11, 8
or r11, rdx
shl r11, 8
or r11, rdx
movzx edx, r10b
shl r11, 8
or r11, rdx
shl r11, 8
or r11, rdx
movzx edx, al
shl r11, 8
or r11, rdx
shl r11, 8
or r11, rdx
mov edx, dword [r13]
test edx, edx
je 0x140013090
cmp edx, 2
je 0x140013510
cmp edx, 3
je 0x140013670
cmp edx, 4
je 0x140013b20
cmp edx, 6
jne 0x1400130b8
cmp dword [r13 + 4], 8
je 0x1400141d8
mov rax, qword [rsp + 0x9f0]
mov qword [rax + rbx*8], r11
jmp 0x1400130b8
mov rax, qword [rsp + 0xa08]
mov eax, dword [rax + 4]
cmp ebx, 6
ja case.0x1400131d2.1
lea rcx, [0x14018d1a8]
movsxd rdx, dword [rcx + rbx*4]
add rdx, rcx
jmp rdx
mov ecx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
mov r9, qword [rax + 8]
mov eax, 1
shl rax, cl
test rdx, rdx
jne 0x140013209
mov rdi, qword [rsp + 0xa08]
mov rdx, qword [rdi + 0x10]
mov r9, qword [rdi + 8]
cmp ebx, 3
je 0x140014198
cmp rdx, rax
mov r12, rax
mov ecx, 0x10
mov dword [rsp + 0x900], 0xffffffff
cmovbe r12, rdx
lea rdx, [rsp + 0x880]
xor eax, eax
mov rdi, rdx
rep stosq qword [rdi], rax
test r12, r12
je 0x140012fd4
mov qword [rsp + 0x9f8], r14
xor r13d, r13d
mov r14, r9
jmp 0x1400133e9
mov eax, ebp
mov ecx, r15d
sar eax, 1
and ecx, 2
and eax, 1
add ecx, eax
mov eax, esi
sar eax, 1
and eax, 1
lea ecx, [rax + rcx*2]
mov eax, ebx
sar eax, 1
and eax, 1
lea eax, [rax + rcx*2]
cdqe
lea r8, [rdx + rax*8]
mov rdx, qword [r8]
test rdx, rdx
je 0x140013b67
mov eax, r15d
mov ecx, ebp
shr eax, 1
sar ecx, 2
and ecx, 1
and eax, 2
add eax, ecx
mov ecx, esi
sar ecx, 2
and ecx, 1
lea ecx, [rcx + rax*2]
mov eax, ebx
sar eax, 2
and eax, 1
lea eax, [rax + rcx*2]
cdqe
lea r8, [rdx + rax*8]
mov rdx, qword [r8]
test rdx, rdx
je 0x140013d47
mov eax, r15d
mov ecx, ebp
shr eax, 2
sar ecx, 3
and ecx, 1
and eax, 2
add eax, ecx
mov ecx, esi
sar ecx, 3
and ecx, 1
lea ecx, [rcx + rax*2]
mov eax, ebx
sar eax, 3
and eax, 1
lea eax, [rax + rcx*2]
cdqe
lea r8, [rdx + rax*8]
mov rdx, qword [r8]
test rdx, rdx
je 0x140013cfc
mov eax, r15d
mov ecx, ebp
shr eax, 3
sar ecx, 4
and ecx, 1
and eax, 2
add eax, ecx
mov ecx, esi
sar ecx, 4
and ecx, 1
lea ecx, [rcx + rax*2]
mov eax, ebx
sar eax, 4
and eax, 1
lea eax, [rax + rcx*2]
cdqe
lea r8, [rdx + rax*8]
mov rdx, qword [r8]
test rdx, rdx
je 0x140013cb1
mov eax, r15d
mov ecx, ebp
shr eax, 4
sar ecx, 5
and ecx, 1
and eax, 2
add eax, ecx
mov ecx, esi
sar ecx, 5
and ecx, 1
lea ecx, [rcx + rax*2]
mov eax, ebx
sar eax, 5
and eax, 1
lea eax, [rax + rcx*2]
cdqe
lea r8, [rdx + rax*8]
mov rdx, qword [r8]
test rdx, rdx
je 0x140013c66
mov eax, r15d
mov ecx, ebp
shr eax, 5
sar ecx, 6
and ecx, 1
and eax, 2
add eax, ecx
mov ecx, esi
sar ecx, 6
and ecx, 1
lea ecx, [rcx + rax*2]
mov eax, ebx
sar eax, 6
and eax, 1
lea eax, [rax + rcx*2]
cdqe
lea r8, [rdx + rax*8]
mov rdx, qword [r8]
test rdx, rdx
je 0x140013c1b
sar r15d, 7
sar ebp, 7
sar esi, 7
lea eax, [rbp + r15*2]
sar ebx, 7
lea eax, [rsi + rax*2]
lea eax, [rbx + rax*2]
cdqe
lea rsi, [rdx + rax*8]
mov rbx, qword [rsi]
test rbx, rbx
je 0x140013bb2
mov dword [rbx + 0x80], r13d
add r13, 1
cmp r12, r13
je 0x140013bfa
movzx ebp, byte [r14 + r13*4 + 1]
movzx r15d, byte [r14 + r13*4]
movzx esi, byte [r14 + r13*4 + 2]
movzx ebx, byte [r14 + r13*4 + 3]
mov ecx, ebp
mov r8d, r15d
mov edx, esi
and r8d, 1
and ecx, 1
mov eax, ebx
lea ecx, [rcx + r8*2]
and edx, 1
and eax, 1
lea edx, [rdx + rcx*2]
lea edi, [rax + rdx*2]
movsxd rdi, edi
mov rdx, qword [rsp + rdi*8 + 0x880]
test rdx, rdx
jne 0x140013250
mov ecx, 0x88
call sym.malloc
mov qword [rsp + rdi*8 + 0x880], rax
mov rdx, rax
test rax, rax
je 0x140016999
mov rdi, rax
mov ecx, 0x10
xor eax, eax
rep stosq qword [rdi], rax
mov dword [rdx + 0x80], 0xffffffff
jmp 0x140013250
add eax, eax
mov rdi, qword [rsp + 0x48]
mov r8, rdi
shr rdi, 3
and r8d, 7
imul r8, rax
imul rax, rdi
add r8, 7
shr r8, 3
add r8, rax
je case.0x1400131d2.1
mov rcx, qword [rsp + 0x9f0]
mov rdx, r14
call sym.memmove
xor r12d, r12d
movaps xmm6, xmmword [rsp + 0x910]
mov eax, r12d
movaps xmm7, xmmword [rsp + 0x920]
movaps xmm8, xmmword [rsp + 0x930]
movaps xmm9, xmmword [rsp + 0x940]
movaps xmm10, xmmword [rsp + 0x950]
movaps xmm11, xmmword [rsp + 0x960]
movaps xmm12, xmmword [rsp + 0x970]
movaps xmm13, xmmword [rsp + 0x980]
movaps xmm14, xmmword [rsp + 0x990]
add rsp, 0x9a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp dword [r13 + 4], 8
je 0x140013b54
mov byte [r15 + 1], al
mov byte [r15], al
mov byte [r15 + 3], r10b
mov byte [r15 + 2], r10b
mov byte [r15 + 5], cl
mov byte [r15 + 4], cl
jmp 0x1400130b8
mov rdx, qword [rsp + 0x9f0]
mov byte [rdx + rbx], al
jmp 0x1400130b8
mov ecx, edx
mov r8d, 0xffffffff
shl r8d, cl
mov ecx, 8
sub ecx, edx
mov r10d, r8d
shr eax, cl
not r10d
mov ecx, 7
and r10d, eax
movzx r10d, r10b
cmp edx, 1
je 0x140013587
xor ecx, ecx
cmp edx, 2
sete cl
lea ecx, [rcx + rcx + 1]
mov eax, ecx
not r8d
and eax, ebx
and r8d, r10d
sub ecx, eax
imul ecx, edx
imul rdx, rbx
shl r8d, cl
shr rdx, 3
add rdx, qword [rsp + 0x9f0]
test eax, eax
jne 0x1400138f0
mov byte [rdx], r8b
jmp 0x1400130b8
cmp qword [r9 + 8], 0
je 0x140014200
mov rdx, r9
mov rcx, r8
call sym.lodepng_color_mode_equal
test eax, eax
je 0x140012fc3
mov rax, qword [rsp + 0xa08]
mov eax, dword [rax + 4]
jmp case.0x1400131d2.0
cmp ecx, 8
je 0x140016909
cmp qword [rsp + 0x48], 0
je 0x140013640
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x9f0]
mov rdx, r14
lea rax, [rax + rax*2]
add rax, qword [rsp + 0x9f0]
movzx r8d, byte [rdx]
add rcx, 3
add rdx, 4
mov byte [rcx - 1], r8b
mov byte [rcx - 2], r8b
mov byte [rcx - 3], r8b
cmp rcx, rax
jne 0x14001361b
nop dword [rax + rax]
mov rax, qword [rsp + 0xa00]
xor r12d, r12d
mov eax, dword [rax]
cmp eax, 3
jne 0x1400134a8
lea rcx, [rsp + 0x880]
call sym.color_tree_cleanup
jmp 0x1400134a8
mov ebp, eax
mov r11d, r10d
and r11d, 1
and ebp, 1
lea ebp, [r11 + rbp*2]
mov r11d, ecx
and r11d, 1
lea ebp, [r11 + rbp*2]
mov r11d, r8d
and r11d, 1
lea r11d, [r11 + rbp*2]
movsxd r11, r11d
mov r14, qword [rsp + r11*8 + 0x880]
mov qword [rsp + 0x58], r14
test r14, r14
je 0x140013b02
mov ebp, eax
movzx r14d, al
movzx r11d, r10b
and ebp, 2
mov dword [rsp + 0x68], r14d
mov r14d, ebp
mov ebp, r11d
sar ebp, 1
and ebp, 1
add r14d, ebp
movzx ebp, cl
sar ebp, 1
and ebp, 1
lea r14d, [rbp + r14*2]
movzx ebp, r8b
sar ebp, 1
and ebp, 1
lea ebp, [rbp + r14*2]
mov r14, qword [rsp + 0x58]
movsxd rbp, ebp
mov r14, qword [r14 + rbp*8]
mov qword [rsp + 0x58], r14
test r14, r14
je 0x140013b02
movzx r14d, al
shr r14d, 1
mov ebp, r14d
mov r14d, r11d
sar r14d, 2
and ebp, 2
and r14d, 1
add ebp, r14d
movzx r14d, cl
sar r14d, 2
and r14d, 1
lea r14d, [r14 + rbp*2]
movzx ebp, r8b
sar ebp, 2
and ebp, 1
lea ebp, [rbp + r14*2]
mov r14, qword [rsp + 0x58]
movsxd rbp, ebp
mov r14, qword [r14 + rbp*8]
mov qword [rsp + 0x58], r14
test r14, r14
je 0x140013b02
movzx ebp, al
mov r14d, r11d
shr ebp, 2
sar r14d, 3
and r14d, 1
and ebp, 2
add ebp, r14d
movzx r14d, cl
sar r14d, 3
and r14d, 1
lea r14d, [r14 + rbp*2]
movzx ebp, r8b
sar ebp, 3
and ebp, 1
lea ebp, [rbp + r14*2]
mov r14, qword [rsp + 0x58]
movsxd rbp, ebp
mov r14, qword [r14 + rbp*8]
mov qword [rsp + 0x58], r14
test r14, r14
je 0x140013b02
movzx ebp, al
mov r14d, r11d
shr ebp, 3
sar r14d, 4
and r14d, 1
and ebp, 2
add ebp, r14d
movzx r14d, cl
sar r14d, 4
and r14d, 1
lea r14d, [r14 + rbp*2]
movzx ebp, r8b
sar ebp, 4
and ebp, 1
lea ebp, [rbp + r14*2]
mov r14, qword [rsp + 0x58]
movsxd rbp, ebp
mov r14, qword [r14 + rbp*8]
mov qword [rsp + 0x58], r14
test r14, r14
je 0x140013b02
movzx ebp, al
mov r14d, r11d
shr ebp, 4
sar r14d, 5
and r14d, 1
and ebp, 2
add ebp, r14d
movzx r14d, cl
sar r14d, 5
and r14d, 1
lea r14d, [r14 + rbp*2]
movzx ebp, r8b
sar ebp, 5
and ebp, 1
lea ebp, [rbp + r14*2]
mov r14, qword [rsp + 0x58]
movsxd rbp, ebp
mov r14, qword [r14 + rbp*8]
test r14, r14
je 0x140013b02
movzx ebp, al
sar r11d, 6
shr ebp, 5
and r11d, 1
and ebp, 2
add r11d, ebp
movzx ebp, cl
sar ebp, 6
and ebp, 1
lea ebp, [rbp + r11*2]
movzx r11d, r8b
sar r11d, 6
and r11d, 1
lea r11d, [r11 + rbp*2]
movsxd r11, r11d
mov r11, qword [r14 + r11*8]
test r11, r11
je 0x140013b02
shr al, 7
shr r10b, 7
shr cl, 7
movzx eax, al
movzx r10d, r10b
shr r8b, 7
lea eax, [r10 + rax*2]
movzx ecx, cl
lea eax, [rcx + rax*2]
lea rax, [r8 + rax*2]
and eax, 0x7f
mov rax, qword [r11 + rax*8]
test rax, rax
je 0x140013b02
mov r11d, dword [rax + 0x80]
test r11d, r11d
js 0x140013b02
mov eax, dword [r13 + 4]
cmp eax, 8
jne 0x140013a9a
mov rax, qword [rsp + 0x9f0]
mov byte [rax + rbx], r11b
jmp 0x1400130b8
or byte [rdx], r8b
jmp 0x1400130b8
mov rax, qword [rsp + 0xa00]
cmp dword [rax + 4], 0x10
jne 0x140012fe8
cmp qword [rsp + 0x48], 0
je 0x140013640
mov rbp, qword [rsp + 0x9f0]
lea rsi, [rsp + 0x87c]
xor ebx, ebx
lea r9, [rsp + 0x87e]
lea r12, [rsp + 0x87a]
lea rdi, [rsp + 0x878]
mov r15, rbp
mov r13, rbp
mov rbp, rsi
mov rsi, qword [rsp + 0xa08]
jmp 0x140013980
movzx eax, ch
mov byte [r13 + rbx*2 + 1], cl
mov byte [r13 + rbx*2], al
add rbx, 1
add r15, 6
cmp qword [rsp + 0x48], rbx
je 0x140013640
mov qword [rsp + 0x30], rsi
xor r8d, r8d
xor r11d, r11d
xor eax, eax
mov qword [rsp + 0x28], rbx
xor r10d, r10d
mov rdx, r12
mov rcx, rdi
mov qword [rsp + 0x20], r14
mov word [rsp + 0x878], r8w
mov r8, rbp
mov word [rsp + 0x87c], r11w
mov word [rsp + 0x87e], ax
mov word [rsp + 0x87a], r10w
call sym.getPixelColorRGBA16
mov rdx, qword [rsp + 0xa00]
movzx eax, word [rsp + 0x87e]
movzx r11d, word [rsp + 0x87c]
movzx ecx, word [rsp + 0x878]
movzx r8d, word [rsp + 0x87a]
mov edx, dword [rdx]
test edx, edx
je 0x140013960
cmp edx, 2
je 0x140013f20
cmp edx, 4
je 0x140014006
cmp edx, 6
jne 0x14001396d
mov edx, r8d
movzx r8d, r8b
mov r10d, ecx
movzx ecx, cl
shr dx, 8
shr r10w, 8
mov word [rsp + 0x50], dx
mov edx, r11d
movzx r11d, r11b
shr dx, 8
mov word [rsp + 0x58], dx
mov edx, eax
movzx eax, al
shr dx, 8
shl rax, 8
movzx edx, dl
or rax, rdx
movzx edx, byte [rsp + 0x58]
shl rax, 8
or rax, r11
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0x50]
shl rax, 8
or rax, r8
shl rax, 8
or rax, rdx
movzx edx, r10b
shl rax, 8
or rax, rcx
shl rax, 8
or rax, rdx
mov qword [r13 + rbx*8], rax
jmp 0x14001396d
cmp eax, 1
je 0x1400141f6
cmp eax, 2
mov ecx, 1
cmovne edx, ecx
mov r10d, edx
mov ecx, eax
mov r8d, 0xffffffff
and r10d, ebx
shl r8d, cl
sub edx, r10d
not r8d
imul edx, eax
and r8d, r11d
imul rax, rbx
mov ecx, edx
mov rdx, qword [rsp + 0x9f0]
shl r8d, cl
shr rax, 3
test r10d, r10d
jne 0x140013ffd
mov byte [rdx + rax], r8b
jmp 0x1400130b8
shl eax, 2
jmp case.0x1400131d2.0
lea eax, [rax + rax*2]
jmp case.0x1400131d2.0
lea rcx, [rsp + 0x880]
mov r12d, 0x52
call sym.color_tree_cleanup
jmp 0x1400134a8
mov edx, dword [r13 + 4]
cmp edx, 8
je 0x140013fe8
cmp edx, 0x10
jne 0x1400130b8
mov rdx, qword [rsp + 0x9f0]
mov byte [rdx + rbx*4 + 1], al
mov byte [rdx + rbx*4], al
mov byte [rdx + rbx*4 + 3], r8b
mov byte [rdx + rbx*4 + 2], r8b
jmp 0x1400130b8
mov rdx, qword [rsp + 0x50]
mov byte [rdx], al
mov byte [rdx + 1], r10b
mov byte [rdx + 2], cl
jmp 0x1400130b8
mov ecx, 0x88
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
call sym.malloc
mov r8, qword [rsp + 0x50]
mov r10, rax
mov qword [r8], rax
test rax, rax
je 0x140016999
mov rdi, rax
mov rax, qword [rsp + 0x58]
mov ecx, 0x10
rep stosq qword [rdi], rax
mov dword [r10 + 0x80], 0xffffffff
mov rdx, qword [r8]
jmp 0x140013285
mov ecx, 0x88
call sym.malloc
mov qword [rsi], rax
mov rdx, rax
test rax, rax
je 0x140016999
mov rdi, rax
mov ecx, 0x10
mov rax, rbx
rep stosq qword [rdi], rax
mov dword [rdx + 0x80], 0xffffffff
mov rbx, qword [rsi]
mov dword [rbx + 0x80], r13d
add r13, 1
cmp r12, r13
jne 0x1400133e9
mov rax, qword [rsp + 0xa08]
mov r14, qword [rsp + 0x9f8]
mov ecx, dword [rax + 4]
cmp ecx, 0x10
jne 0x140012fe8
jmp 0x140013900
mov ecx, 0x88
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
call sym.malloc
mov r8, qword [rsp + 0x50]
mov r10, rax
mov qword [r8], rax
test rax, rax
je 0x140016999
mov rdi, rax
mov rax, qword [rsp + 0x58]
mov ecx, 0x10
rep stosq qword [rdi], rax
mov dword [r10 + 0x80], 0xffffffff
mov rdx, qword [r8]
jmp 0x1400133ab
mov ecx, 0x88
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
call sym.malloc
mov r8, qword [rsp + 0x50]
mov r10, rax
mov qword [r8], rax
test rax, rax
je 0x140016999
mov rdi, rax
mov rax, qword [rsp + 0x58]
mov ecx, 0x10
rep stosq qword [rdi], rax
mov dword [r10 + 0x80], 0xffffffff
mov rdx, qword [r8]
jmp 0x140013370
mov ecx, 0x88
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
call sym.malloc
mov r8, qword [rsp + 0x50]
mov r10, rax
mov qword [r8], rax
test rax, rax
je 0x140016999
mov rdi, rax
mov rax, qword [rsp + 0x58]
mov ecx, 0x10
rep stosq qword [rdi], rax
mov dword [r10 + 0x80], 0xffffffff
mov rdx, qword [r8]
jmp 0x140013335
mov ecx, 0x88
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
call sym.malloc
mov r8, qword [rsp + 0x50]
mov r10, rax
mov qword [r8], rax
test rax, rax
je 0x140016999
mov rdi, rax
mov rax, qword [rsp + 0x58]
mov ecx, 0x10
rep stosq qword [rdi], rax
mov dword [r10 + 0x80], 0xffffffff
mov rdx, qword [r8]
jmp 0x1400132fa
mov ecx, 0x88
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
call sym.malloc
mov r8, qword [rsp + 0x50]
mov r10, rax
mov qword [r8], rax
test rax, rax
je 0x140016999
mov rdi, rax
mov rax, qword [rsp + 0x58]
mov ecx, 0x10
rep stosq qword [rdi], rax
mov dword [r10 + 0x80], 0xffffffff
mov rdx, qword [r8]
jmp 0x1400132bf
mov rax, qword [rsp + 0xa08]
mov r12d, dword [rax]
test r12d, r12d
je 0x140014025
cmp r12d, 2
je 0x140014292
cmp r12d, 3
je 0x140014dbe
cmp r12d, 4
je 0x140014f7c
cmp r12d, 6
jne 0x140013640
cmp ecx, 8
je 0x14001659c
cmp qword [rsp + 0x48], 0
je 0x140013640
mov rax, qword [rsp + 0x48]
lea rdx, [rax - 1]
cmp rdx, 3
jbe 0x14001698a
mov rcx, rdx
movdqa xmm1, xmmword [0x140190d10]
xor eax, eax
shr rcx, 2
shl rcx, 4
movdqu xmm0, xmmword [r14 + rax*2]
movdqu xmm2, xmmword [r14 + rax*2 + 0x10]
mov rdi, qword [rsp + 0x9f0]
pand xmm0, xmm1
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rdi + rax], xmm0
add rax, 0x10
cmp rax, rcx
jne 0x140013e0b
mov rax, rdx
and rax, 0xfffffffffffffffc
lea rdi, [rdi + rax*4]
mov qword [rsp + 0x9f0], rdi
movzx edx, byte [r14 + rax*8]
lea rcx, [rax*8]
mov byte [rdi], dl
movzx edx, byte [r14 + rcx + 2]
mov byte [rdi + 1], dl
movzx edx, byte [r14 + rcx + 4]
mov byte [rdi + 2], dl
movzx edx, byte [r14 + rcx + 6]
mov byte [rdi + 3], dl
mov rdi, qword [rsp + 0x48]
lea rdx, [rax + 1]
cmp rdi, rdx
je 0x140013640
mov rsi, qword [rsp + 0x9f0]
movzx edx, byte [r14 + rcx + 8]
mov byte [rsi + 4], dl
movzx edx, byte [r14 + rcx + 0xa]
mov byte [rsi + 5], dl
movzx edx, byte [r14 + rcx + 0xc]
mov byte [rsi + 6], dl
movzx edx, byte [r14 + rcx + 0xe]
mov byte [rsi + 7], dl
lea rdx, [rax + 2]
cmp rdi, rdx
je 0x140013640
movzx edx, byte [r14 + rcx + 0x10]
add rax, 3
mov byte [rsi + 8], dl
movzx edx, byte [r14 + rcx + 0x12]
mov byte [rsi + 9], dl
movzx edx, byte [r14 + rcx + 0x14]
mov byte [rsi + 0xa], dl
movzx edx, byte [r14 + rcx + 0x16]
mov byte [rsi + 0xb], dl
cmp rdi, rax
je 0x140013640
movzx eax, byte [r14 + rcx + 0x18]
mov byte [rsi + 0xc], al
movzx eax, byte [r14 + rcx + 0x1a]
mov byte [rsi + 0xd], al
movzx eax, byte [r14 + rcx + 0x1c]
mov byte [rsi + 0xe], al
movzx eax, byte [r14 + rcx + 0x1e]
mov byte [rsi + 0xf], al
jmp 0x140013640
movzx eax, ch
mov byte [r15 + 1], cl
mov byte [r15], al
mov eax, r8d
movzx eax, ah
mov byte [r15 + 3], r8b
mov byte [r15 + 2], al
mov eax, r11d
movzx eax, ah
mov byte [r15 + 5], r11b
mov byte [r15 + 4], al
jmp 0x14001396d
mov rax, qword [rsp + 0xa08]
mov r12d, dword [rax]
test r12d, r12d
je 0x1400140f3
cmp r12d, 2
je 0x140014a26
cmp r12d, 3
je 0x140014e73
cmp r12d, 4
je 0x1400135ee
cmp r12d, 6
jne 0x140013640
cmp ecx, 8
je 0x14001654b
cmp qword [rsp + 0x48], 0
je 0x140013640
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x9f0]
mov rax, r14
lea rdx, [rdi + rdi*2]
add rdx, qword [rsp + 0x9f0]
movzx r8d, byte [rax]
add rcx, 3
add rax, 8
mov byte [rcx - 3], r8b
movzx r8d, byte [rax - 6]
mov byte [rcx - 2], r8b
movzx r8d, byte [rax - 4]
mov byte [rcx - 1], r8b
cmp rcx, rdx
jne 0x140013fb8
jmp 0x140013640
mov rdx, qword [rsp + 0x9f0]
mov byte [rdx + rbx*2], al
mov byte [rdx + rbx*2 + 1], r8b
jmp 0x1400130b8
or byte [rdx + rax], r8b
jmp 0x1400130b8
movzx edx, ch
mov byte [r13 + rbx*4 + 1], cl
mov byte [r13 + rbx*4], dl
movzx edx, ah
mov byte [r13 + rbx*4 + 2], dl
mov byte [r13 + rbx*4 + 3], al
jmp 0x14001396d
cmp ecx, 8
je 0x140014214
cmp ecx, 0x10
je 0x140014d70
mov eax, 1
mov rdi, qword [rsp + 0x48]
shl eax, cl
lea r11d, [rax - 1]
test rdi, rdi
je 0x140013640
mov rax, qword [rsp + 0xa08]
mov r9d, ecx
xor r8d, r8d
xor r10d, r10d
mov rsi, qword [rsp + 0x9f0]
mov ebx, dword [rax + 0x18]
mov rbp, rax
test r9, r9
je 0x14001420b
lea rdx, [r8 + r9]
xor ecx, ecx
nop
mov rax, r8
lea r13d, [rcx + rcx]
mov ecx, r8d
add r8, 1
shr rax, 3
not ecx
movzx eax, byte [r14 + rax]
and ecx, 7
sar eax, cl
mov ecx, eax
and ecx, 1
or ecx, r13d
cmp r8, rdx
jne 0x140014080
mov eax, ecx
xor edx, edx
shl eax, 8
sub eax, ecx
div r11d
mov byte [rsi + r10*4 + 2], al
mov byte [rsi + r10*4 + 1], al
mov byte [rsi + r10*4], al
mov eax, 0xffffffff
test ebx, ebx
je 0x1400140d6
cmp dword [rbp + 0x1c], ecx
setne al
neg eax
mov byte [rsi + r10*4 + 3], al
add r10, 1
cmp rdi, r10
jne 0x14001406f
mov rax, qword [rsp + 0xa00]
mov eax, dword [rax]
jmp 0x14001364d
cmp ecx, 8
je 0x1400149df
cmp ecx, 0x10
je 0x140014f21
mov eax, 1
shl eax, cl
lea r10d, [rax - 1]
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140013640
mov rbx, qword [rsp + 0x9f0]
lea r11, [rax + rax*2]
mov r8d, ecx
xor r9d, r9d
add r11, qword [rsp + 0x9f0]
test r8, r8
je 0x1400149d8
lea rsi, [r9 + r8]
xor edx, edx
nop word [rax + rax]
mov rax, r9
mov ecx, r9d
add edx, edx
add r9, 1
shr rax, 3
not ecx
movzx eax, byte [r14 + rax]
and ecx, 7
sar eax, cl
and eax, 1
or edx, eax
cmp r9, rsi
jne 0x140014150
mov eax, edx
shl eax, 8
sub eax, edx
xor edx, edx
div r10d
mov byte [rbx + 2], al
mov byte [rbx + 1], al
mov byte [rbx], al
add rbx, 3
cmp rbx, r11
jne 0x140014138
jmp 0x1400140e4
cmp ecx, dword [rdi + 4]
jne 0x140013209
mov rdi, qword [rsp + 0x48]
mov rax, rdi
shr rdi, 3
and eax, 7
mov rdx, rdi
imul rax, rcx
imul rdx, rcx
add rax, 7
shr rax, 3
add rax, rdx
mov r8, rax
jne 0x140013495
jmp case.0x1400131d2.1
mov rdx, qword [rsp + 0x9f0]
mov byte [rdx + rbx*4], al
mov byte [rdx + rbx*4 + 1], r10b
mov byte [rdx + rbx*4 + 2], cl
mov byte [rdx + rbx*4 + 3], r8b
jmp 0x1400130b8
mov edx, 7
jmp 0x140013aae
mov r12d, 0x6b
jmp 0x1400134a8
xor ecx, ecx
xor eax, eax
jmp 0x1400140b7
mov r9d, dword [rax + 0x18]
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140013640
lea r8, [r14 + rax]
mov rax, qword [rsp + 0x9f0]
mov rdx, r14
movzx ecx, byte [rdx]
add rdx, 1
mov byte [rax + 3], 0xff
add rax, 4
mov byte [rax - 2], cl
mov byte [rax - 3], cl
mov byte [rax - 4], cl
cmp rdx, r8
jne 0x140014235
test r9d, r9d
je 0x140013640
mov rax, qword [rsp + 0xa08]
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x9f0]
mov ecx, dword [rax + 0x1c]
xor eax, eax
movzx edx, byte [r8 + rax*4]
cmp edx, ecx
jne 0x140014284
mov byte [r8 + rax*4 + 3], 0
add rax, 1
cmp r9, rax
jne 0x140014275
jmp 0x1400140e4
cmp ecx, 8
je 0x1400153ad
cmp qword [rsp + 0x48], 0
je 0x140013640
mov edx, dword [rax + 0x18]
test edx, edx
jne 0x140015320
mov rax, qword [rsp + 0x48]
lea rdx, [rax - 1]
cmp rdx, 0xf
jbe 0x140016965
mov r8, rdx
mov rax, qword [rsp + 0x9f0]
mov rcx, r14
shr r8, 4
shl r8, 6
add r8, rax
movdqu xmm5, xmmword [rcx]
movdqu xmm3, xmmword [rcx + 0x20]
add rax, 0x40
add rcx, 0x60
movdqu xmm2, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [rcx - 0x20]
movd r9d, xmm5
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm4, xmmword [rcx - 0x50]
mov byte [rax - 0x40], r9b
movaps xmmword [rsp + 0x300], xmm5
movzx r9d, byte [rsp + 0x302]
mov byte [rax - 0x3f], r9b
movaps xmmword [rsp + 0x2f0], xmm5
movzx r9d, byte [rsp + 0x2f4]
mov byte [rax - 0x3e], r9b
movaps xmmword [rsp + 0x2e0], xmm5
movzx r9d, byte [rsp + 0x2e6]
mov byte [rax - 0x3c], r9b
movaps xmmword [rsp + 0x2d0], xmm5
movzx r9d, byte [rsp + 0x2d8]
mov byte [rax - 0x3b], r9b
movaps xmmword [rsp + 0x2c0], xmm5
movzx r9d, byte [rsp + 0x2ca]
mov byte [rax - 0x3a], r9b
movaps xmmword [rsp + 0x2b0], xmm5
movzx r9d, byte [rsp + 0x2bc]
mov byte [rax - 0x38], r9b
movaps xmmword [rsp + 0x2a0], xmm5
movzx r9d, byte [rsp + 0x2ae]
mov byte [rax - 0x37], r9b
movd r9d, xmm4
mov byte [rax - 0x36], r9b
movaps xmmword [rsp + 0x290], xmm4
movzx r9d, byte [rsp + 0x292]
mov byte [rax - 0x34], r9b
movaps xmmword [rsp + 0x280], xmm4
movzx r9d, byte [rsp + 0x284]
mov byte [rax - 0x33], r9b
movaps xmmword [rsp + 0x270], xmm4
movzx r9d, byte [rsp + 0x276]
mov byte [rax - 0x32], r9b
movaps xmmword [rsp + 0x260], xmm4
movzx r9d, byte [rsp + 0x268]
mov byte [rax - 0x30], r9b
movaps xmmword [rsp + 0x250], xmm4
movzx r9d, byte [rsp + 0x25a]
mov byte [rax - 0x2f], r9b
movaps xmmword [rsp + 0x240], xmm4
movzx r9d, byte [rsp + 0x24c]
mov byte [rax - 0x2e], r9b
movaps xmmword [rsp + 0x230], xmm4
movzx r9d, byte [rsp + 0x23e]
mov byte [rax - 0x2c], r9b
movd r9d, xmm3
mov byte [rax - 0x2b], r9b
movaps xmmword [rsp + 0x220], xmm3
movzx r9d, byte [rsp + 0x222]
mov byte [rax - 0x2a], r9b
movaps xmmword [rsp + 0x210], xmm3
movzx r9d, byte [rsp + 0x214]
mov byte [rax - 0x28], r9b
movaps xmmword [rsp + 0x200], xmm3
movzx r9d, byte [rsp + 0x206]
mov byte [rax - 0x27], r9b
movaps xmmword [rsp + 0x1f0], xmm3
movzx r9d, byte [rsp + 0x1f8]
mov byte [rax - 0x26], r9b
movaps xmmword [rsp + 0x1e0], xmm3
movzx r9d, byte [rsp + 0x1ea]
mov byte [rax - 0x24], r9b
movaps xmmword [rsp + 0x1d0], xmm3
movzx r9d, byte [rsp + 0x1dc]
mov byte [rax - 0x23], r9b
movaps xmmword [rsp + 0x1c0], xmm3
movzx r9d, byte [rsp + 0x1ce]
mov byte [rax - 0x22], r9b
movd r9d, xmm2
mov byte [rax - 0x20], r9b
movaps xmmword [rsp + 0x1b0], xmm2
movzx r9d, byte [rsp + 0x1b2]
mov byte [rax - 0x1f], r9b
movaps xmmword [rsp + 0x1a0], xmm2
movzx r9d, byte [rsp + 0x1a4]
mov byte [rax - 0x1e], r9b
movaps xmmword [rsp + 0x190], xmm2
movzx r9d, byte [rsp + 0x196]
mov byte [rax - 0x1c], r9b
movaps xmmword [rsp + 0x180], xmm2
movzx r9d, byte [rsp + 0x188]
mov byte [rax - 0x1b], r9b
movaps xmmword [rsp + 0x170], xmm2
movzx r9d, byte [rsp + 0x17a]
mov byte [rax - 0x1a], r9b
movaps xmmword [rsp + 0x160], xmm2
movzx r9d, byte [rsp + 0x16c]
mov byte [rax - 0x18], r9b
movaps xmmword [rsp + 0x150], xmm2
movzx r9d, byte [rsp + 0x15e]
mov byte [rax - 0x17], r9b
movd r9d, xmm1
mov byte [rax - 0x16], r9b
movaps xmmword [rsp + 0x140], xmm1
movzx r9d, byte [rsp + 0x142]
mov byte [rax - 0x14], r9b
movaps xmmword [rsp + 0x130], xmm1
movzx r9d, byte [rsp + 0x134]
mov byte [rax - 0x13], r9b
movaps xmmword [rsp + 0x120], xmm1
movzx r9d, byte [rsp + 0x126]
mov byte [rax - 0x12], r9b
movaps xmmword [rsp + 0x110], xmm1
movzx r9d, byte [rsp + 0x118]
mov byte [rax - 0x10], r9b
movaps xmmword [rsp + 0x100], xmm1
movzx r9d, byte [rsp + 0x10a]
mov byte [rax - 0xf], r9b
movaps xmmword [rsp + 0xf0], xmm1
movzx r9d, byte [rsp + 0xfc]
mov byte [rax - 0xe], r9b
movaps xmmword [rsp + 0xe0], xmm1
movzx r9d, byte [rsp + 0xee]
mov byte [rax - 0xc], r9b
movd r9d, xmm0
mov byte [rax - 0xb], r9b
movaps xmmword [rsp + 0xd0], xmm0
movzx r9d, byte [rsp + 0xd2]
mov byte [rax - 0xa], r9b
movaps xmmword [rsp + 0xc0], xmm0
movzx r9d, byte [rsp + 0xc4]
mov byte [rax - 8], r9b
movaps xmmword [rsp + 0xb0], xmm0
movzx r9d, byte [rsp + 0xb6]
mov byte [rax - 7], r9b
movaps xmmword [rsp + 0xa0], xmm0
movzx r9d, byte [rsp + 0xa8]
mov byte [rax - 6], r9b
movaps xmmword [rsp + 0x90], xmm0
movzx r9d, byte [rsp + 0x9a]
mov byte [rax - 4], r9b
movaps xmmword [rsp + 0x80], xmm0
movzx r9d, byte [rsp + 0x8c]
mov byte [rax - 3], r9b
movaps xmmword [rsp + 0x70], xmm0
movzx r9d, byte [rsp + 0x7e]
mov byte [rax - 0x3d], 0xff
mov byte [rax - 2], r9b
mov byte [rax - 0x39], 0xff
mov byte [rax - 0x35], 0xff
mov byte [rax - 0x31], 0xff
mov byte [rax - 0x2d], 0xff
mov byte [rax - 0x29], 0xff
mov byte [rax - 0x25], 0xff
mov byte [rax - 0x21], 0xff
mov byte [rax - 0x1d], 0xff
mov byte [rax - 0x19], 0xff
mov byte [rax - 0x15], 0xff
mov byte [rax - 0x11], 0xff
mov byte [rax - 0xd], 0xff
mov byte [rax - 9], 0xff
mov byte [rax - 5], 0xff
mov byte [rax - 1], 0xff
cmp r8, rax
jne 0x1400142de
mov rax, qword [rsp + 0x9f0]
and rdx, 0xfffffffffffffff0
lea rax, [rax + rdx*4]
mov qword [rsp + 0x9f0], rax
mov rdi, rax
lea rax, [rdx + rdx*2]
mov byte [rdi + 3], 0xff
add rax, rax
movzx ecx, byte [r14 + rax]
mov byte [rdi], cl
movzx ecx, byte [r14 + rax + 2]
mov byte [rdi + 1], cl
movzx ecx, byte [r14 + rax + 4]
mov byte [rdi + 2], cl
mov rdi, qword [rsp + 0x48]
lea rcx, [rdx + 1]
cmp rdi, rcx
je 0x140013640
mov rsi, qword [rsp + 0x9f0]
movzx ecx, byte [r14 + rax + 6]
mov byte [rsi + 4], cl
movzx ecx, byte [r14 + rax + 8]
mov byte [rsi + 7], 0xff
mov byte [rsi + 5], cl
movzx ecx, byte [r14 + rax + 0xa]
mov byte [rsi + 6], cl
lea rcx, [rdx + 2]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0xc]
mov byte [rsi + 0xb], 0xff
mov byte [rsi + 8], cl
movzx ecx, byte [r14 + rax + 0xe]
mov byte [rsi + 9], cl
movzx ecx, byte [r14 + rax + 0x10]
mov byte [rsi + 0xa], cl
lea rcx, [rdx + 3]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x12]
mov byte [rsi + 0xf], 0xff
mov byte [rsi + 0xc], cl
movzx ecx, byte [r14 + rax + 0x14]
mov byte [rsi + 0xd], cl
movzx ecx, byte [r14 + rax + 0x16]
mov byte [rsi + 0xe], cl
lea rcx, [rdx + 4]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x18]
mov byte [rsi + 0x13], 0xff
mov byte [rsi + 0x10], cl
movzx ecx, byte [r14 + rax + 0x1a]
mov byte [rsi + 0x11], cl
movzx ecx, byte [r14 + rax + 0x1c]
mov byte [rsi + 0x12], cl
lea rcx, [rdx + 5]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x1e]
mov byte [rsi + 0x17], 0xff
mov byte [rsi + 0x14], cl
movzx ecx, byte [r14 + rax + 0x20]
mov byte [rsi + 0x15], cl
movzx ecx, byte [r14 + rax + 0x22]
mov byte [rsi + 0x16], cl
lea rcx, [rdx + 6]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x24]
mov byte [rsi + 0x1b], 0xff
mov byte [rsi + 0x18], cl
movzx ecx, byte [r14 + rax + 0x26]
mov byte [rsi + 0x19], cl
movzx ecx, byte [r14 + rax + 0x28]
mov byte [rsi + 0x1a], cl
lea rcx, [rdx + 7]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x2a]
mov byte [rsi + 0x1f], 0xff
mov byte [rsi + 0x1c], cl
movzx ecx, byte [r14 + rax + 0x2c]
mov byte [rsi + 0x1d], cl
movzx ecx, byte [r14 + rax + 0x2e]
mov byte [rsi + 0x1e], cl
lea rcx, [rdx + 8]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x30]
mov byte [rsi + 0x23], 0xff
mov byte [rsi + 0x20], cl
movzx ecx, byte [r14 + rax + 0x32]
mov byte [rsi + 0x21], cl
movzx ecx, byte [r14 + rax + 0x34]
mov byte [rsi + 0x22], cl
lea rcx, [rdx + 9]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x36]
mov byte [rsi + 0x27], 0xff
mov byte [rsi + 0x24], cl
movzx ecx, byte [r14 + rax + 0x38]
mov byte [rsi + 0x25], cl
movzx ecx, byte [r14 + rax + 0x3a]
mov byte [rsi + 0x26], cl
lea rcx, [rdx + 0xa]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x3c]
mov byte [rsi + 0x2b], 0xff
mov byte [rsi + 0x28], cl
movzx ecx, byte [r14 + rax + 0x3e]
mov byte [rsi + 0x29], cl
movzx ecx, byte [r14 + rax + 0x40]
mov byte [rsi + 0x2a], cl
lea rcx, [rdx + 0xb]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x42]
mov byte [rsi + 0x2f], 0xff
mov byte [rsi + 0x2c], cl
movzx ecx, byte [r14 + rax + 0x44]
mov byte [rsi + 0x2d], cl
movzx ecx, byte [r14 + rax + 0x46]
mov byte [rsi + 0x2e], cl
lea rcx, [rdx + 0xc]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x48]
mov byte [rsi + 0x33], 0xff
mov byte [rsi + 0x30], cl
movzx ecx, byte [r14 + rax + 0x4a]
mov byte [rsi + 0x31], cl
movzx ecx, byte [r14 + rax + 0x4c]
mov byte [rsi + 0x32], cl
lea rcx, [rdx + 0xd]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x4e]
mov byte [rsi + 0x37], 0xff
mov byte [rsi + 0x34], cl
movzx ecx, byte [r14 + rax + 0x50]
mov byte [rsi + 0x35], cl
movzx ecx, byte [r14 + rax + 0x52]
mov byte [rsi + 0x36], cl
lea rcx, [rdx + 0xe]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x54]
add rdx, 0xf
mov byte [rsi + 0x3b], 0xff
mov byte [rsi + 0x38], cl
movzx ecx, byte [r14 + rax + 0x56]
mov byte [rsi + 0x39], cl
movzx ecx, byte [r14 + rax + 0x58]
mov byte [rsi + 0x3a], cl
cmp rdi, rdx
je 0x140013640
movzx edx, byte [r14 + rax + 0x5a]
mov byte [rsi + 0x3f], 0xff
mov byte [rsi + 0x3c], dl
movzx edx, byte [r14 + rax + 0x5c]
movzx eax, byte [r14 + rax + 0x5e]
mov byte [rsi + 0x3d], dl
mov byte [rsi + 0x3e], al
jmp 0x140013640
xor eax, eax
jmp 0x140014182
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140013640
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x9f0]
mov rdx, r14
add rcx, qword [rsp + 0x9f0]
movzx r8d, byte [rdx]
add rax, 3
add rdx, 1
mov byte [rax - 1], r8b
mov byte [rax - 2], r8b
mov byte [rax - 3], r8b
cmp rax, rcx
jne 0x140014a04
jmp 0x1400140e4
cmp ecx, 8
je 0x1400152dd
cmp qword [rsp + 0x48], 0
je 0x140013640
mov rax, qword [rsp + 0x48]
lea rdx, [rax - 1]
cmp rdx, 0xf
jbe 0x1400169b5
mov r8, rdx
mov rcx, qword [rsp + 0x9f0]
movdqa xmm1, xmmword [0x140190d10]
mov rax, r14
shr r8, 4
lea r8, [r8 + r8*2]
shl r8, 5
add r8, r14
movdqu xmm2, xmmword [rax + 0x20]
movdqu xmm0, xmmword [rax + 0x30]
add rax, 0x60
add rcx, 0x30
movdqu xmm3, xmmword [rax - 0x10]
movdqu xmm4, xmmword [rax - 0x50]
pand xmm0, xmm1
pand xmm2, xmm1
packuswb xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x20]
pand xmm3, xmm1
pand xmm4, xmm1
movups xmmword [rcx - 0x20], xmm2
pand xmm0, xmm1
packuswb xmm0, xmm3
movdqu xmm3, xmmword [rax - 0x60]
movups xmmword [rcx - 0x10], xmm0
pand xmm3, xmm1
packuswb xmm3, xmm4
movups xmmword [rcx - 0x30], xmm3
cmp rax, r8
jne 0x140014a73
and rdx, 0xfffffffffffffff0
lea rax, [rdx + rdx*2]
add qword [rsp + 0x9f0], rax
lea rax, [rdx + rdx*2]
mov rdi, qword [rsp + 0x9f0]
add rax, rax
movzx ecx, byte [r14 + rax]
mov byte [rdi], cl
movzx ecx, byte [r14 + rax + 2]
mov byte [rdi + 1], cl
movzx ecx, byte [r14 + rax + 4]
mov byte [rdi + 2], cl
mov rdi, qword [rsp + 0x48]
lea rcx, [rdx + 1]
cmp rdi, rcx
je 0x140013640
mov rsi, qword [rsp + 0x9f0]
movzx ecx, byte [r14 + rax + 6]
mov byte [rsi + 3], cl
movzx ecx, byte [r14 + rax + 8]
mov byte [rsi + 4], cl
movzx ecx, byte [r14 + rax + 0xa]
mov byte [rsi + 5], cl
lea rcx, [rdx + 2]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0xc]
mov byte [rsi + 6], cl
movzx ecx, byte [r14 + rax + 0xe]
mov byte [rsi + 7], cl
movzx ecx, byte [r14 + rax + 0x10]
mov byte [rsi + 8], cl
lea rcx, [rdx + 3]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x12]
mov byte [rsi + 9], cl
movzx ecx, byte [r14 + rax + 0x14]
mov byte [rsi + 0xa], cl
movzx ecx, byte [r14 + rax + 0x16]
mov byte [rsi + 0xb], cl
lea rcx, [rdx + 4]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x18]
mov byte [rsi + 0xc], cl
movzx ecx, byte [r14 + rax + 0x1a]
mov byte [rsi + 0xd], cl
movzx ecx, byte [r14 + rax + 0x1c]
mov byte [rsi + 0xe], cl
lea rcx, [rdx + 5]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x1e]
mov byte [rsi + 0xf], cl
movzx ecx, byte [r14 + rax + 0x20]
mov byte [rsi + 0x10], cl
movzx ecx, byte [r14 + rax + 0x22]
mov byte [rsi + 0x11], cl
lea rcx, [rdx + 6]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x24]
mov byte [rsi + 0x12], cl
movzx ecx, byte [r14 + rax + 0x26]
mov byte [rsi + 0x13], cl
movzx ecx, byte [r14 + rax + 0x28]
mov byte [rsi + 0x14], cl
lea rcx, [rdx + 7]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x2a]
mov byte [rsi + 0x15], cl
movzx ecx, byte [r14 + rax + 0x2c]
mov byte [rsi + 0x16], cl
movzx ecx, byte [r14 + rax + 0x2e]
mov byte [rsi + 0x17], cl
lea rcx, [rdx + 8]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x30]
mov byte [rsi + 0x18], cl
movzx ecx, byte [r14 + rax + 0x32]
mov byte [rsi + 0x19], cl
movzx ecx, byte [r14 + rax + 0x34]
mov byte [rsi + 0x1a], cl
lea rcx, [rdx + 9]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x36]
mov byte [rsi + 0x1b], cl
movzx ecx, byte [r14 + rax + 0x38]
mov byte [rsi + 0x1c], cl
movzx ecx, byte [r14 + rax + 0x3a]
mov byte [rsi + 0x1d], cl
lea rcx, [rdx + 0xa]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x3c]
mov byte [rsi + 0x1e], cl
movzx ecx, byte [r14 + rax + 0x3e]
mov byte [rsi + 0x1f], cl
movzx ecx, byte [r14 + rax + 0x40]
mov byte [rsi + 0x20], cl
lea rcx, [rdx + 0xb]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x42]
mov byte [rsi + 0x21], cl
movzx ecx, byte [r14 + rax + 0x44]
mov byte [rsi + 0x22], cl
movzx ecx, byte [r14 + rax + 0x46]
mov byte [rsi + 0x23], cl
lea rcx, [rdx + 0xc]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x48]
mov byte [rsi + 0x24], cl
movzx ecx, byte [r14 + rax + 0x4a]
mov byte [rsi + 0x25], cl
movzx ecx, byte [r14 + rax + 0x4c]
mov byte [rsi + 0x26], cl
lea rcx, [rdx + 0xd]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x4e]
mov byte [rsi + 0x27], cl
movzx ecx, byte [r14 + rax + 0x50]
mov byte [rsi + 0x28], cl
movzx ecx, byte [r14 + rax + 0x52]
mov byte [rsi + 0x29], cl
lea rcx, [rdx + 0xe]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rax + 0x54]
add rdx, 0xf
mov byte [rsi + 0x2a], cl
movzx ecx, byte [r14 + rax + 0x56]
mov byte [rsi + 0x2b], cl
movzx ecx, byte [r14 + rax + 0x58]
mov byte [rsi + 0x2c], cl
cmp rdi, rdx
je 0x140013640
movzx edx, byte [r14 + rax + 0x5a]
mov byte [rsi + 0x2d], dl
movzx edx, byte [r14 + rax + 0x5c]
movzx eax, byte [r14 + rax + 0x5e]
mov byte [rsi + 0x2e], dl
mov byte [rsi + 0x2f], al
jmp 0x140013640
mov rdi, qword [rsp + 0x48]
test rdi, rdi
je 0x140013640
mov ecx, dword [rax + 0x18]
test ecx, ecx
jne 0x140015c13
mov rdx, qword [rsp + 0x9f0]
mov rax, r14
lea rcx, [r14 + rdi*2]
movzx r8d, byte [rax]
add rax, 2
mov byte [rdx + 3], 0xff
add rdx, 4
mov byte [rdx - 2], r8b
mov byte [rdx - 3], r8b
mov byte [rdx - 4], r8b
cmp rcx, rax
jne 0x140014d98
jmp 0x1400140e4
cmp ecx, 8
je 0x14001647f
xor r8d, r8d
xor r9d, r9d
cmp qword [rsp + 0x48], 0
je 0x140013640
mov rbx, qword [rsp + 0x48]
mov r10, qword [rsp + 0x9f0]
mov r11, rax
mov eax, ecx
test rax, rax
je 0x140014f68
lea rsi, [r8 + rax]
xor eax, eax
nop word [rax + rax]
lea edx, [rax + rax]
mov rax, r8
mov ecx, r8d
add r8, 1
shr rax, 3
not ecx
movzx eax, byte [r14 + rax]
and ecx, 7
sar eax, cl
and eax, 1
or eax, edx
cmp r8, rsi
jne 0x140014e00
shl eax, 2
lea rdi, [rax + 1]
lea rsi, [rax + 2]
lea rcx, [rax + 3]
mov rdx, qword [r11 + 8]
movzx eax, byte [rdx + rax]
mov byte [r10 + r9*4], al
movzx eax, byte [rdx + rdi]
mov byte [r10 + r9*4 + 1], al
movzx eax, byte [rdx + rsi]
mov byte [r10 + r9*4 + 2], al
movzx eax, byte [rdx + rcx]
mov byte [r10 + r9*4 + 3], al
add r9, 1
cmp rbx, r9
je 0x140013640
mov ecx, dword [r11 + 4]
jmp 0x140014de9
mov rax, qword [rsp + 0x48]
cmp ecx, 8
je 0x1400164e9
test rax, rax
je 0x140013640
mov r10, qword [rsp + 0x9f0]
mov r11, qword [rsp + 0xa08]
lea r9, [rax + rax*2]
xor r8d, r8d
add r9, qword [rsp + 0x9f0]
mov eax, ecx
test rax, rax
je 0x140015311
lea rbx, [r8 + rax]
xor eax, eax
nop word [rax + rax]
lea edx, [rax + rax]
mov rax, r8
mov ecx, r8d
add r8, 1
shr rax, 3
not ecx
movzx eax, byte [r14 + rax]
and ecx, 7
sar eax, cl
and eax, 1
or eax, edx
cmp r8, rbx
jne 0x140014ec0
shl eax, 2
lea rbx, [rax + 1]
lea rcx, [rax + 2]
mov rdx, qword [r11 + 8]
add r10, 3
movzx eax, byte [rdx + rax]
mov byte [r10 - 3], al
movzx eax, byte [rdx + rbx]
mov byte [r10 - 2], al
movzx eax, byte [rdx + rcx]
mov byte [r10 - 1], al
cmp r10, r9
je 0x140013640
mov ecx, dword [r11 + 4]
jmp 0x140014ea9
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140013640
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x9f0]
mov rdx, r14
add rcx, qword [rsp + 0x9f0]
movzx r8d, byte [rdx]
add rax, 3
add rdx, 2
mov byte [rax - 1], r8b
mov byte [rax - 2], r8b
mov byte [rax - 3], r8b
cmp rax, rcx
jne 0x140014f46
jmp 0x1400140e4
mov ecx, 3
mov esi, 2
mov edi, 1
jmp 0x140014e36
cmp ecx, 8
je 0x1400165b0
cmp qword [rsp + 0x48], 0
je 0x140013640
mov rax, qword [rsp + 0x48]
lea r8, [rax - 1]
cmp r8, 0xf
jbe 0x14001697b
mov rcx, r8
mov rdx, qword [rsp + 0x9f0]
movdqa xmm1, xmmword [0x140190d10]
mov rax, r14
shr rcx, 4
shl rcx, 6
add rcx, r14
movdqu xmm2, xmmword [rax]
movdqa xmm4, xmm1
add rax, 0x40
add rdx, 0x40
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm3, xmmword [rax - 0x20]
pand xmm2, xmm1
pand xmm0, xmm1
pand xmm3, xmm1
packuswb xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x10]
pand xmm0, xmm1
packuswb xmm3, xmm0
movdqa xmm0, xmm1
pand xmm4, xmm3
psrlw xmm3, 8
pand xmm0, xmm2
packuswb xmm0, xmm4
psrlw xmm2, 8
movdqa xmm4, xmm0
packuswb xmm2, xmm3
movdqa xmm5, xmm0
punpcklbw xmm4, xmm0
movdqa xmm3, xmm0
punpcklbw xmm5, xmm2
punpckhbw xmm3, xmm0
punpckhbw xmm0, xmm2
movdqa xmm2, xmm4
punpcklbw xmm2, xmm5
punpckhbw xmm4, xmm5
movups xmmword [rdx - 0x40], xmm2
movdqa xmm2, xmm3
punpckhbw xmm3, xmm0
punpcklbw xmm2, xmm0
movups xmmword [rdx - 0x30], xmm4
movups xmmword [rdx - 0x20], xmm2
movups xmmword [rdx - 0x10], xmm3
cmp rcx, rax
jne 0x140014fc5
mov rdi, qword [rsp + 0x9f0]
mov rax, r8
and rax, 0xfffffffffffffff0
lea rdi, [rdi + rax*4]
mov qword [rsp + 0x9f0], rdi
movzx ecx, byte [r14 + rax*4]
lea rdx, [rax*4]
mov byte [rdi + 2], cl
mov byte [rdi + 1], cl
mov byte [rdi], cl
movzx ecx, byte [r14 + rdx + 2]
mov byte [rdi + 3], cl
mov rdi, qword [rsp + 0x48]
lea rcx, [rax + 1]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 4]
mov rsi, qword [rsp + 0x9f0]
mov byte [rsi + 6], cl
mov byte [rsi + 5], cl
mov byte [rsi + 4], cl
movzx ecx, byte [r14 + rdx + 6]
mov byte [rsi + 7], cl
lea rcx, [rax + 2]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 8]
mov byte [rsi + 0xa], cl
mov byte [rsi + 9], cl
mov byte [rsi + 8], cl
movzx ecx, byte [r14 + rdx + 0xa]
mov byte [rsi + 0xb], cl
lea rcx, [rax + 3]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0xc]
mov byte [rsi + 0xe], cl
mov byte [rsi + 0xd], cl
mov byte [rsi + 0xc], cl
movzx ecx, byte [r14 + rdx + 0xe]
mov byte [rsi + 0xf], cl
lea rcx, [rax + 4]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x10]
mov byte [rsi + 0x12], cl
mov byte [rsi + 0x11], cl
mov byte [rsi + 0x10], cl
movzx ecx, byte [r14 + rdx + 0x12]
mov byte [rsi + 0x13], cl
lea rcx, [rax + 5]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x14]
mov byte [rsi + 0x16], cl
mov byte [rsi + 0x15], cl
mov byte [rsi + 0x14], cl
movzx ecx, byte [r14 + rdx + 0x16]
mov byte [rsi + 0x17], cl
lea rcx, [rax + 6]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x18]
mov byte [rsi + 0x1a], cl
mov byte [rsi + 0x19], cl
mov byte [rsi + 0x18], cl
movzx ecx, byte [r14 + rdx + 0x1a]
mov byte [rsi + 0x1b], cl
lea rcx, [rax + 7]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x1c]
mov byte [rsi + 0x1e], cl
mov byte [rsi + 0x1d], cl
mov byte [rsi + 0x1c], cl
movzx ecx, byte [r14 + rdx + 0x1e]
mov byte [rsi + 0x1f], cl
lea rcx, [rax + 8]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x20]
mov byte [rsi + 0x22], cl
mov byte [rsi + 0x21], cl
mov byte [rsi + 0x20], cl
movzx ecx, byte [r14 + rdx + 0x22]
mov byte [rsi + 0x23], cl
lea rcx, [rax + 9]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x24]
mov byte [rsi + 0x26], cl
mov byte [rsi + 0x25], cl
mov byte [rsi + 0x24], cl
movzx ecx, byte [r14 + rdx + 0x26]
mov byte [rsi + 0x27], cl
lea rcx, [rax + 0xa]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x28]
mov byte [rsi + 0x2a], cl
mov byte [rsi + 0x29], cl
mov byte [rsi + 0x28], cl
movzx ecx, byte [r14 + rdx + 0x2a]
mov byte [rsi + 0x2b], cl
lea rcx, [rax + 0xb]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x2c]
mov byte [rsi + 0x2e], cl
mov byte [rsi + 0x2d], cl
mov byte [rsi + 0x2c], cl
movzx ecx, byte [r14 + rdx + 0x2e]
mov byte [rsi + 0x2f], cl
lea rcx, [rax + 0xc]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x30]
mov byte [rsi + 0x32], cl
mov byte [rsi + 0x31], cl
mov byte [rsi + 0x30], cl
movzx ecx, byte [r14 + rdx + 0x32]
mov byte [rsi + 0x33], cl
lea rcx, [rax + 0xd]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x34]
mov byte [rsi + 0x36], cl
mov byte [rsi + 0x35], cl
mov byte [rsi + 0x34], cl
movzx ecx, byte [r14 + rdx + 0x36]
mov byte [rsi + 0x37], cl
lea rcx, [rax + 0xe]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x38]
add rax, 0xf
mov byte [rsi + 0x3a], cl
mov byte [rsi + 0x39], cl
mov byte [rsi + 0x38], cl
movzx ecx, byte [r14 + rdx + 0x3a]
mov byte [rsi + 0x3b], cl
cmp rdi, rax
je 0x140013640
movzx eax, byte [r14 + rdx + 0x3c]
mov byte [rsi + 0x3e], al
mov byte [rsi + 0x3d], al
mov byte [rsi + 0x3c], al
movzx eax, byte [r14 + rdx + 0x3e]
mov byte [rsi + 0x3f], al
jmp 0x140013640
mov rax, qword [rsp + 0x48]
lea r8, [rax + rax*2]
test rax, rax
je 0x140013640
mov rcx, qword [rsp + 0x9f0]
mov rdx, r14
xor r12d, r12d
call sym.memmove
mov rax, qword [rsp + 0xa00]
mov eax, dword [rax]
jmp 0x14001364d
mov ecx, 2
mov ebx, 1
jmp 0x140014ef2
mov r8d, dword [rax + 0x1c]
mov rdi, qword [rsp + 0x48]
mov rbx, rax
mov rdx, r14
mov rax, qword [rsp + 0x9f0]
lea r9, [rax + rdi*4]
mov rcx, rax
jmp 0x140015355
mov byte [rcx + 3], sil
add rcx, 4
add rdx, 6
cmp rcx, r9
je 0x140013640
movzx eax, byte [rdx]
movzx esi, byte [rdx + 1]
movzx r11d, byte [rdx + 2]
movzx r10d, byte [rdx + 4]
mov byte [rcx], al
shl eax, 8
add eax, esi
mov byte [rcx + 1], r11b
mov esi, 0xffffffff
mov byte [rcx + 2], r10b
cmp eax, r8d
jne 0x140015340
movzx eax, r11b
movzx r11d, byte [rdx + 3]
shl eax, 8
add eax, r11d
cmp eax, dword [rbx + 0x20]
jne 0x140015340
movzx eax, r10b
movzx r10d, byte [rdx + 5]
shl eax, 8
add eax, r10d
cmp eax, dword [rbx + 0x24]
setne sil
neg esi
jmp 0x140015340
mov rdi, qword [rsp + 0x48]
test rdi, rdi
je 0x140013640
mov rsi, qword [rsp + 0x9f0]
lea rcx, [rdi + rdi*2]
lea rax, [rdi - 1]
lea rdx, [rsi + rdi*4]
cmp r14, rdx
setae dl
add rcx, r14
cmp rsi, rcx
setae r8b
or dl, r8b
je 0x1400168ce
cmp rax, 6
jbe 0x1400168ce
cmp rax, 0xe
jbe 0x140016950
shr rdi, 4
mov rax, rsi
mov rdx, r14
lea rcx, [rdi + rdi*2]
add rax, 3
shl rcx, 4
add rcx, r14
movdqu xmm2, xmmword [rdx]
movdqu xmm1, xmmword [rdx + 0x10]
add rdx, 0x30
add rax, 0x40
movdqu xmm0, xmmword [rdx - 0x10]
movd r8d, xmm2
mov byte [rax - 0x43], r8b
movaps xmmword [rsp + 0x690], xmm2
movzx r8d, byte [rsp + 0x691]
mov byte [rax - 0x42], r8b
movaps xmmword [rsp + 0x680], xmm2
movzx r8d, byte [rsp + 0x682]
mov byte [rax - 0x41], r8b
movaps xmmword [rsp + 0x670], xmm2
movzx r8d, byte [rsp + 0x673]
mov byte [rax - 0x3f], r8b
movaps xmmword [rsp + 0x660], xmm2
movzx r8d, byte [rsp + 0x664]
mov byte [rax - 0x3e], r8b
movaps xmmword [rsp + 0x650], xmm2
movzx r8d, byte [rsp + 0x655]
mov byte [rax - 0x3d], r8b
movaps xmmword [rsp + 0x640], xmm2
movzx r8d, byte [rsp + 0x646]
mov byte [rax - 0x3b], r8b
movaps xmmword [rsp + 0x630], xmm2
movzx r8d, byte [rsp + 0x637]
mov byte [rax - 0x3a], r8b
movaps xmmword [rsp + 0x620], xmm2
movzx r8d, byte [rsp + 0x628]
mov byte [rax - 0x39], r8b
movaps xmmword [rsp + 0x610], xmm2
movzx r8d, byte [rsp + 0x619]
mov byte [rax - 0x37], r8b
movaps xmmword [rsp + 0x600], xmm2
movzx r8d, byte [rsp + 0x60a]
mov byte [rax - 0x36], r8b
movaps xmmword [rsp + 0x5f0], xmm2
movzx r8d, byte [rsp + 0x5fb]
mov byte [rax - 0x35], r8b
movaps xmmword [rsp + 0x5e0], xmm2
movzx r8d, byte [rsp + 0x5ec]
mov byte [rax - 0x33], r8b
movaps xmmword [rsp + 0x5d0], xmm2
movzx r8d, byte [rsp + 0x5dd]
mov byte [rax - 0x32], r8b
movaps xmmword [rsp + 0x5c0], xmm2
movzx r8d, byte [rsp + 0x5ce]
mov byte [rax - 0x31], r8b
movaps xmmword [rsp + 0x5b0], xmm2
movzx r8d, byte [rsp + 0x5bf]
mov byte [rax - 0x2f], r8b
movd r8d, xmm1
mov byte [rax - 0x2e], r8b
movaps xmmword [rsp + 0x5a0], xmm1
movzx r8d, byte [rsp + 0x5a1]
mov byte [rax - 0x2d], r8b
movaps xmmword [rsp + 0x590], xmm1
movzx r8d, byte [rsp + 0x592]
mov byte [rax - 0x2b], r8b
movaps xmmword [rsp + 0x580], xmm1
movzx r8d, byte [rsp + 0x583]
mov byte [rax - 0x2a], r8b
movaps xmmword [rsp + 0x570], xmm1
movzx r8d, byte [rsp + 0x574]
mov byte [rax - 0x29], r8b
movaps xmmword [rsp + 0x560], xmm1
movzx r8d, byte [rsp + 0x565]
mov byte [rax - 0x27], r8b
movaps xmmword [rsp + 0x550], xmm1
movzx r8d, byte [rsp + 0x556]
mov byte [rax - 0x26], r8b
movaps xmmword [rsp + 0x540], xmm1
movzx r8d, byte [rsp + 0x547]
mov byte [rax - 0x25], r8b
movaps xmmword [rsp + 0x530], xmm1
movzx r8d, byte [rsp + 0x538]
mov byte [rax - 0x23], r8b
movaps xmmword [rsp + 0x520], xmm1
movzx r8d, byte [rsp + 0x529]
mov byte [rax - 0x22], r8b
movaps xmmword [rsp + 0x510], xmm1
movzx r8d, byte [rsp + 0x51a]
mov byte [rax - 0x21], r8b
movaps xmmword [rsp + 0x500], xmm1
movzx r8d, byte [rsp + 0x50b]
mov byte [rax - 0x1f], r8b
movaps xmmword [rsp + 0x4f0], xmm1
movzx r8d, byte [rsp + 0x4fc]
mov byte [rax - 0x1e], r8b
movaps xmmword [rsp + 0x4e0], xmm1
movzx r8d, byte [rsp + 0x4ed]
mov byte [rax - 0x1d], r8b
movaps xmmword [rsp + 0x4d0], xmm1
movzx r8d, byte [rsp + 0x4de]
mov byte [rax - 0x1b], r8b
movaps xmmword [rsp + 0x4c0], xmm1
movzx r8d, byte [rsp + 0x4cf]
mov byte [rax - 0x1a], r8b
movd r8d, xmm0
mov byte [rax - 0x19], r8b
movaps xmmword [rsp + 0x4b0], xmm0
movzx r8d, byte [rsp + 0x4b1]
mov byte [rax - 0x17], r8b
movaps xmmword [rsp + 0x4a0], xmm0
movzx r8d, byte [rsp + 0x4a2]
mov byte [rax - 0x16], r8b
movaps xmmword [rsp + 0x490], xmm0
movzx r8d, byte [rsp + 0x493]
mov byte [rax - 0x15], r8b
movaps xmmword [rsp + 0x480], xmm0
movzx r8d, byte [rsp + 0x484]
mov byte [rax - 0x13], r8b
movaps xmmword [rsp + 0x470], xmm0
movzx r8d, byte [rsp + 0x475]
mov byte [rax - 0x12], r8b
movaps xmmword [rsp + 0x460], xmm0
movzx r8d, byte [rsp + 0x466]
mov byte [rax - 0x11], r8b
movaps xmmword [rsp + 0x450], xmm0
movzx r8d, byte [rsp + 0x457]
mov byte [rax - 0xf], r8b
movaps xmmword [rsp + 0x440], xmm0
movzx r8d, byte [rsp + 0x448]
mov byte [rax - 0xe], r8b
movaps xmmword [rsp + 0x430], xmm0
movzx r8d, byte [rsp + 0x439]
mov byte [rax - 0xd], r8b
movaps xmmword [rsp + 0x420], xmm0
movzx r8d, byte [rsp + 0x42a]
mov byte [rax - 0xb], r8b
movaps xmmword [rsp + 0x410], xmm0
movzx r8d, byte [rsp + 0x41b]
mov byte [rax - 0xa], r8b
movaps xmmword [rsp + 0x400], xmm0
movzx r8d, byte [rsp + 0x40c]
mov byte [rax - 9], r8b
movaps xmmword [rsp + 0x3f0], xmm0
movzx r8d, byte [rsp + 0x3fd]
mov byte [rax - 7], r8b
movaps xmmword [rsp + 0x3e0], xmm0
movzx r8d, byte [rsp + 0x3ee]
mov byte [rax - 6], r8b
movaps xmmword [rsp + 0x3d0], xmm0
movzx r8d, byte [rsp + 0x3df]
mov byte [rax - 0x40], 0xff
mov byte [rax - 5], r8b
mov byte [rax - 0x3c], 0xff
mov byte [rax - 0x38], 0xff
mov byte [rax - 0x34], 0xff
mov byte [rax - 0x30], 0xff
mov byte [rax - 0x2c], 0xff
mov byte [rax - 0x28], 0xff
mov byte [rax - 0x24], 0xff
mov byte [rax - 0x20], 0xff
mov byte [rax - 0x1c], 0xff
mov byte [rax - 0x18], 0xff
mov byte [rax - 0x14], 0xff
mov byte [rax - 0x10], 0xff
mov byte [rax - 0xc], 0xff
mov byte [rax - 8], 0xff
mov byte [rax - 4], 0xff
cmp rdx, rcx
jne 0x140015415
mov rax, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x9f0]
mov r10, rax
and r10, 0xfffffffffffffff0
lea r8, [rdi + r10*4]
cmp rax, r10
je 0x140015bb4
sub rax, r10
mov r11, rax
lea rax, [rax - 1]
cmp rax, 6
jbe 0x140015a76
mov rdi, qword [rsp + 0x9f0]
mov rax, qword [rsp + 0x9f0]
lea rcx, [r10 + r10*2]
lea rdx, [r10*4]
add rcx, r14
add rax, rdx
lea r9, [rdi + rdx + 3]
mov rdx, qword [rcx]
mov r15, qword [rcx + 0x10]
mov rbx, qword [rcx + 8]
mov rsi, rdx
mov qword [rsp + 0x3c8], rdx
mov rdi, rdx
shr rsi, 0x10
mov byte [rax], dl
shr rdi, 0x38
mov qword [rsp + 0x3c0], rdx
mov byte [rax + 1], dh
mov qword [rsp + 0x3b8], rdx
mov byte [rax + 2], sil
mov rsi, rdx
shr rsi, 0x18
mov qword [rsp + 0x3b0], rdx
mov byte [rax + 4], sil
mov rsi, rdx
shr rsi, 0x20
mov qword [rsp + 0x3a8], rdx
mov byte [rax + 5], sil
mov rsi, rdx
shr rsi, 0x28
mov qword [rsp + 0x3a0], rdx
mov byte [rax + 6], sil
mov rsi, rdx
shr rsi, 0x30
mov qword [rsp + 0x398], rdx
mov byte [rax + 8], sil
mov qword [rsp + 0x390], rdx
mov rdx, rbx
shr rdx, 0x10
mov byte [rax + 9], dil
mov rdi, rbx
mov qword [rsp + 0x388], rbx
shr rdi, 0x38
mov byte [rax + 0xa], bl
mov qword [rsp + 0x380], rbx
mov byte [rax + 0xc], bh
mov qword [rsp + 0x378], rbx
mov byte [rax + 0xd], dl
mov rdx, rbx
shr rdx, 0x18
mov qword [rsp + 0x370], rbx
mov byte [rax + 0xe], dl
mov rdx, rbx
shr rdx, 0x20
mov qword [rsp + 0x368], rbx
mov byte [rax + 0x10], dl
mov rdx, rbx
shr rdx, 0x28
mov qword [rsp + 0x360], rbx
mov byte [rax + 0x11], dl
mov rdx, rbx
shr rdx, 0x30
mov qword [rsp + 0x358], rbx
mov byte [rax + 0x12], dl
mov rdx, r15
mov qword [rsp + 0x350], rbx
shr rdx, 0x10
mov rbx, r15
mov byte [rax + 0x14], dil
mov rdi, r15
mov qword [rsp + 0x348], r15
shr rdi, 0x38
mov byte [rax + 0x15], r15b
mov qword [rsp + 0x340], r15
mov byte [rax + 0x16], bh
mov qword [rsp + 0x338], r15
mov byte [rax + 0x18], dl
mov rdx, r15
shr rdx, 0x18
mov qword [rsp + 0x330], r15
mov byte [rax + 0x19], dl
mov rdx, r15
shr rdx, 0x20
mov qword [rsp + 0x328], r15
mov byte [rax + 0x1a], dl
mov rdx, r15
shr rdx, 0x28
mov qword [rsp + 0x320], r15
mov byte [rax + 0x1c], dl
mov rdx, r15
shr rdx, 0x30
mov qword [rsp + 0x318], r15
mov byte [rax + 0x1d], dl
mov qword [rsp + 0x310], r15
mov byte [rax + 0x1e], dil
mov rax, r11
and rax, 0xfffffffffffffff8
mov byte [r9], 0xff
mov byte [r9 + 4], 0xff
add r10, rax
lea r8, [r8 + rax*4]
mov byte [r9 + 8], 0xff
mov byte [r9 + 0xc], 0xff
mov byte [r9 + 0x10], 0xff
mov byte [r9 + 0x14], 0xff
mov byte [r9 + 0x18], 0xff
mov byte [r9 + 0x1c], 0xff
cmp rax, r11
je 0x140015bb4
lea rax, [r10 + r10*2]
mov rdi, qword [rsp + 0x48]
movzx edx, byte [r14 + rax]
mov byte [r8], dl
movzx edx, byte [r14 + rax + 1]
mov byte [r8 + 1], dl
movzx edx, byte [r14 + rax + 2]
mov byte [r8 + 3], 0xff
mov byte [r8 + 2], dl
lea rdx, [r10 + 1]
cmp rdi, rdx
je 0x140015bb4
movzx edx, byte [r14 + rax + 3]
mov byte [r8 + 4], dl
movzx edx, byte [r14 + rax + 4]
mov byte [r8 + 5], dl
movzx edx, byte [r14 + rax + 5]
mov byte [r8 + 7], 0xff
mov byte [r8 + 6], dl
lea rdx, [r10 + 2]
cmp rdi, rdx
je 0x140015bb4
movzx edx, byte [r14 + rax + 6]
mov byte [r8 + 8], dl
movzx edx, byte [r14 + rax + 7]
mov byte [r8 + 9], dl
movzx edx, byte [r14 + rax + 8]
mov byte [r8 + 0xb], 0xff
mov byte [r8 + 0xa], dl
lea rdx, [r10 + 3]
cmp rdi, rdx
je 0x140015bb4
movzx edx, byte [r14 + rax + 9]
mov byte [r8 + 0xc], dl
movzx edx, byte [r14 + rax + 0xa]
mov byte [r8 + 0xd], dl
movzx edx, byte [r14 + rax + 0xb]
mov byte [r8 + 0xf], 0xff
mov byte [r8 + 0xe], dl
lea rdx, [r10 + 4]
cmp rdi, rdx
je 0x140015bb4
movzx edx, byte [r14 + rax + 0xc]
mov byte [r8 + 0x10], dl
movzx edx, byte [r14 + rax + 0xd]
mov byte [r8 + 0x11], dl
movzx edx, byte [r14 + rax + 0xe]
mov byte [r8 + 0x13], 0xff
mov byte [r8 + 0x12], dl
lea rdx, [r10 + 5]
cmp rdi, rdx
je 0x140015bb4
movzx edx, byte [r14 + rax + 0xf]
mov byte [r8 + 0x14], dl
movzx edx, byte [r14 + rax + 0x10]
mov byte [r8 + 0x15], dl
movzx edx, byte [r14 + rax + 0x11]
mov byte [r8 + 0x17], 0xff
mov byte [r8 + 0x16], dl
lea rdx, [r10 + 6]
cmp rdi, rdx
je 0x140015bb4
movzx edx, byte [r14 + rax + 0x12]
mov byte [r8 + 0x18], dl
movzx edx, byte [r14 + rax + 0x13]
movzx eax, byte [r14 + rax + 0x14]
mov byte [r8 + 0x1b], 0xff
mov byte [r8 + 0x19], dl
mov byte [r8 + 0x1a], al
mov rax, qword [rsp + 0xa08]
mov r12d, dword [rax + 0x18]
test r12d, r12d
je 0x1400140e4
mov edx, dword [rax + 0x1c]
mov r8, rax
mov rcx, qword [rsp + 0x9f0]
xor eax, eax
jmp 0x140015bea
add rax, 1
cmp qword [rsp + 0x48], rax
je 0x140013640
movzx r9d, byte [rcx + rax*4]
cmp r9d, edx
jne 0x140015bdb
movzx r9d, byte [rcx + rax*4 + 1]
cmp r9d, dword [r8 + 0x20]
jne 0x140015bdb
movzx r9d, byte [rcx + rax*4 + 2]
cmp r9d, dword [r8 + 0x24]
jne 0x140015bdb
mov byte [rcx + rax*4 + 3], 0
jmp 0x140015bdb
lea rax, [rdi - 1]
cmp rax, 0xe
jbe 0x1400169ae
mov dword [rsp + 0x6c], r12d
mov rdx, r14
pxor xmm5, xmm5
pxor xmm4, xmm4
mov rax, qword [rsp + 0xa08]
mov qword [rsp + 0x9f8], r14
movdqa xmm1, xmmword [0x140190d10]
movdqa xmm7, xmmword [0x140190dd0]
movd xmm6, dword [rax + 0x1c]
mov rax, qword [rsp + 0x9f0]
lea rcx, [rax + 3]
mov rax, rdi
pshufd xmm8, xmm6, 0
movdqa xmm6, xmmword [0x140190de0]
shr rax, 4
shl rax, 5
add rax, r14
mov qword [rsp + 0x60], rax
movdqu xmm2, xmmword [rdx]
movdqa xmm3, xmm1
add rcx, 0x40
add rdx, 0x20
movdqu xmm0, xmmword [rdx - 0x10]
movdqa xmm9, xmm1
movdqa xmm13, xmm7
movd r15d, xmm2
pand xmm3, xmm2
mov byte [rcx - 0x43], r15b
movd r11d, xmm0
pand xmm9, xmm0
movdqa xmm10, xmm0
movaps xmmword [rsp + 0x860], xmm2
packuswb xmm3, xmm9
movzx r14d, byte [rsp + 0x862]
movdqa xmm9, xmm2
movdqa xmm11, xmm3
psrlw xmm10, 8
punpckhbw xmm3, xmm5
mov byte [rcx - 0x3f], r14b
punpcklbw xmm11, xmm5
pmullw xmm13, xmm3
movaps xmmword [rsp + 0x850], xmm2
pmulhuw xmm3, xmm7
psrlw xmm9, 8
movzx r13d, byte [rsp + 0x854]
packuswb xmm9, xmm10
mov byte [rcx - 0x3b], r13b
movdqa xmm12, xmm9
movdqa xmm10, xmm9
movaps xmmword [rsp + 0x840], xmm2
punpcklbw xmm12, xmm5
punpckhbw xmm10, xmm5
movzx r12d, byte [rsp + 0x846]
movdqa xmm14, xmm13
mov byte [rcx - 0x37], r12b
punpckhwd xmm13, xmm3
punpcklwd xmm14, xmm3
movaps xmmword [rsp + 0x830], xmm2
movzx ebp, byte [rsp + 0x838]
movdqa xmm3, xmm13
mov byte [rcx - 0x33], bpl
movaps xmmword [rsp + 0x820], xmm2
movzx edi, byte [rsp + 0x82a]
mov byte [rcx - 0x2f], dil
movaps xmmword [rsp + 0x810], xmm2
movzx esi, byte [rsp + 0x81c]
mov byte [rcx - 0x2b], sil
movaps xmmword [rsp + 0x800], xmm2
movzx ebx, byte [rsp + 0x80e]
movdqa xmm2, xmm12
mov byte [rcx - 0x23], r11b
punpckhwd xmm2, xmm4
mov byte [rcx - 0x27], bl
movaps xmmword [rsp + 0x7f0], xmm0
movzx r10d, byte [rsp + 0x7f2]
mov byte [rcx - 0x1f], r10b
movaps xmmword [rsp + 0x7e0], xmm0
movzx r9d, byte [rsp + 0x7e4]
mov byte [rcx - 0x1b], r9b
movaps xmmword [rsp + 0x7d0], xmm0
movzx r8d, byte [rsp + 0x7d6]
mov byte [rcx - 0x17], r8b
movaps xmmword [rsp + 0x7c0], xmm0
movzx eax, byte [rsp + 0x7c8]
mov byte [rcx - 0x13], al
mov byte [rsp + 0x68], al
movaps xmmword [rsp + 0x7b0], xmm0
movzx eax, byte [rsp + 0x7ba]
mov byte [rcx - 0xf], al
mov byte [rsp + 0x58], al
movaps xmmword [rsp + 0x7a0], xmm0
movzx eax, byte [rsp + 0x7ac]
mov byte [rcx - 0xb], al
movaps xmmword [rsp + 0x790], xmm0
movdqa xmm0, xmm7
pmullw xmm0, xmm11
pmulhuw xmm11, xmm7
mov byte [rsp + 0x50], al
movzx eax, byte [rsp + 0x79e]
mov byte [rcx - 0x42], r15b
mov byte [rcx - 5], al
mov byte [rcx - 7], al
movzx eax, byte [rsp + 0x68]
mov byte [rcx - 0x3e], r14b
movdqa xmm9, xmm0
punpcklwd xmm0, xmm11
mov byte [rcx - 0x3a], r13b
punpckhwd xmm9, xmm11
mov byte [rcx - 0x36], r12b
paddd xmm9, xmm2
movdqa xmm2, xmm10
punpckhwd xmm10, xmm4
mov byte [rcx - 0x26], bl
paddd xmm3, xmm10
movdqa xmm10, xmm12
mov byte [rcx - 0x32], bpl
punpcklwd xmm2, xmm4
punpcklwd xmm10, xmm4
pcmpeqd xmm9, xmm8
mov byte [rcx - 0x2e], dil
paddd xmm2, xmm14
paddd xmm0, xmm10
mov byte [rcx - 0x2a], sil
pcmpeqd xmm2, xmm8
pcmpeqd xmm0, xmm8
mov byte [rcx - 0x22], r11b
pcmpeqd xmm3, xmm8
mov byte [rcx - 0x1e], r10b
pandn xmm9, xmm6
mov byte [rcx - 0x1a], r9b
pandn xmm2, xmm6
mov byte [rcx - 0x16], r8b
pandn xmm0, xmm6
pandn xmm3, xmm6
mov byte [rcx - 0x12], al
movzx eax, byte [rsp + 0x58]
movdqa xmm10, xmm0
punpcklwd xmm0, xmm9
punpckhwd xmm10, xmm9
movdqa xmm9, xmm0
mov byte [rcx - 0x41], r15b
mov byte [rcx - 0xe], al
movzx eax, byte [rsp + 0x50]
punpckhwd xmm9, xmm10
punpcklwd xmm0, xmm10
punpcklwd xmm0, xmm9
movdqa xmm9, xmm2
punpcklwd xmm2, xmm3
mov byte [rcx - 0x3d], r14b
mov byte [rcx - 0xa], al
movzx eax, byte [rcx - 5]
punpckhwd xmm9, xmm3
movdqa xmm3, xmm2
punpckhwd xmm3, xmm9
punpcklwd xmm2, xmm9
pand xmm0, xmm1
mov byte [rcx - 0x25], bl
mov byte [rcx - 6], al
movzx eax, byte [rsp + 0x68]
punpcklwd xmm2, xmm3
pand xmm2, xmm1
mov byte [rcx - 0x39], r13b
mov byte [rcx - 0x11], al
movzx eax, byte [rsp + 0x58]
packuswb xmm0, xmm2
mov byte [rcx - 0x35], r12b
mov byte [rcx - 0xd], al
movzx eax, byte [rsp + 0x50]
mov byte [rcx - 0x31], bpl
mov byte [rcx - 9], al
movd eax, xmm0
mov byte [rcx - 0x2d], dil
mov byte [rcx - 0x29], sil
mov byte [rcx - 0x21], r11b
mov byte [rcx - 0x1d], r10b
mov byte [rcx - 0x19], r9b
mov byte [rcx - 0x15], r8b
mov byte [rcx - 0x40], al
movaps xmmword [rsp + 0x780], xmm0
movzx eax, byte [rsp + 0x781]
mov byte [rcx - 0x3c], al
movaps xmmword [rsp + 0x770], xmm0
movzx eax, byte [rsp + 0x772]
mov byte [rcx - 0x38], al
movaps xmmword [rsp + 0x760], xmm0
movzx eax, byte [rsp + 0x763]
mov byte [rcx - 0x34], al
movaps xmmword [rsp + 0x750], xmm0
movzx eax, byte [rsp + 0x754]
mov byte [rcx - 0x30], al
movaps xmmword [rsp + 0x740], xmm0
movzx eax, byte [rsp + 0x745]
mov byte [rcx - 0x2c], al
movaps xmmword [rsp + 0x730], xmm0
movzx eax, byte [rsp + 0x736]
mov byte [rcx - 0x28], al
movaps xmmword [rsp + 0x720], xmm0
movzx eax, byte [rsp + 0x727]
mov byte [rcx - 0x24], al
movaps xmmword [rsp + 0x710], xmm0
movzx eax, byte [rsp + 0x718]
mov byte [rcx - 0x20], al
movaps xmmword [rsp + 0x700], xmm0
movzx eax, byte [rsp + 0x709]
mov byte [rcx - 0x1c], al
movaps xmmword [rsp + 0x6f0], xmm0
movzx eax, byte [rsp + 0x6fa]
mov byte [rcx - 0x18], al
movaps xmmword [rsp + 0x6e0], xmm0
movzx eax, byte [rsp + 0x6eb]
mov byte [rcx - 0x14], al
movaps xmmword [rsp + 0x6d0], xmm0
movzx eax, byte [rsp + 0x6dc]
mov byte [rcx - 0x10], al
movaps xmmword [rsp + 0x6c0], xmm0
movzx eax, byte [rsp + 0x6cd]
mov byte [rcx - 0xc], al
movaps xmmword [rsp + 0x6b0], xmm0
movzx eax, byte [rsp + 0x6be]
mov byte [rcx - 8], al
movaps xmmword [rsp + 0x6a0], xmm0
movzx eax, byte [rsp + 0x6af]
mov byte [rcx - 4], al
cmp rdx, qword [rsp + 0x60]
jne 0x140015c83
mov rax, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x9f0]
mov r12d, dword [rsp + 0x6c]
mov r14, qword [rsp + 0x9f8]
mov rdx, rax
and rdx, 0xfffffffffffffff0
lea rdi, [rdi + rdx*4]
mov qword [rsp + 0x9f0], rdi
cmp rax, rdx
je 0x1400140e4
mov rdi, qword [rsp + 0x9f0]
movzx r8d, byte [r14 + rdx*2]
mov rax, qword [rsp + 0xa08]
movzx r9d, byte [r14 + rdx*2 + 1]
mov ecx, dword [rax + 0x1c]
mov byte [rdi + 2], r8b
lea rax, [rdx + rdx]
mov byte [rdi + 1], r8b
mov byte [rdi], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rdi + 3], r8b
mov rdi, qword [rsp + 0x48]
lea r8, [rdx + 1]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 2]
mov rsi, qword [rsp + 0x9f0]
movzx r9d, byte [r14 + rax + 3]
mov byte [rsi + 6], r8b
mov byte [rsi + 5], r8b
mov byte [rsi + 4], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 7], r8b
lea r8, [rdx + 2]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 4]
movzx r9d, byte [r14 + rax + 5]
mov byte [rsi + 0xa], r8b
mov byte [rsi + 9], r8b
mov byte [rsi + 8], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0xb], r8b
lea r8, [rdx + 3]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 6]
movzx r9d, byte [r14 + rax + 7]
mov byte [rsi + 0xe], r8b
mov byte [rsi + 0xd], r8b
mov byte [rsi + 0xc], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0xf], r8b
lea r8, [rdx + 4]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 8]
movzx r9d, byte [r14 + rax + 9]
mov byte [rsi + 0x12], r8b
mov byte [rsi + 0x11], r8b
mov byte [rsi + 0x10], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0x13], r8b
lea r8, [rdx + 5]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 0xa]
movzx r9d, byte [r14 + rax + 0xb]
mov byte [rsi + 0x16], r8b
mov byte [rsi + 0x15], r8b
mov byte [rsi + 0x14], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0x17], r8b
lea r8, [rdx + 6]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 0xc]
movzx r9d, byte [r14 + rax + 0xd]
mov byte [rsi + 0x1a], r8b
mov byte [rsi + 0x19], r8b
mov byte [rsi + 0x18], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0x1b], r8b
lea r8, [rdx + 7]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 0xe]
movzx r9d, byte [r14 + rax + 0xf]
mov byte [rsi + 0x1e], r8b
mov byte [rsi + 0x1d], r8b
mov byte [rsi + 0x1c], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0x1f], r8b
lea r8, [rdx + 8]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 0x10]
movzx r9d, byte [r14 + rax + 0x11]
mov byte [rsi + 0x22], r8b
mov byte [rsi + 0x21], r8b
mov byte [rsi + 0x20], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0x23], r8b
lea r8, [rdx + 9]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 0x12]
movzx r9d, byte [r14 + rax + 0x13]
mov byte [rsi + 0x26], r8b
mov byte [rsi + 0x25], r8b
mov byte [rsi + 0x24], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0x27], r8b
lea r8, [rdx + 0xa]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 0x14]
movzx r9d, byte [r14 + rax + 0x15]
mov byte [rsi + 0x2a], r8b
mov byte [rsi + 0x29], r8b
mov byte [rsi + 0x28], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0x2b], r8b
lea r8, [rdx + 0xb]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 0x16]
movzx r9d, byte [r14 + rax + 0x17]
mov byte [rsi + 0x2e], r8b
mov byte [rsi + 0x2d], r8b
mov byte [rsi + 0x2c], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0x2f], r8b
lea r8, [rdx + 0xc]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 0x18]
movzx r9d, byte [r14 + rax + 0x19]
mov byte [rsi + 0x32], r8b
mov byte [rsi + 0x31], r8b
mov byte [rsi + 0x30], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
neg r8d
mov byte [rsi + 0x33], r8b
lea r8, [rdx + 0xd]
cmp rdi, r8
je 0x1400140e4
movzx r8d, byte [r14 + rax + 0x1a]
movzx r9d, byte [r14 + rax + 0x1b]
mov byte [rsi + 0x36], r8b
mov byte [rsi + 0x35], r8b
mov byte [rsi + 0x34], r8b
shl r8d, 8
add r8d, r9d
cmp r8d, ecx
setne r8b
add rdx, 0xe
neg r8d
mov byte [rsi + 0x37], r8b
cmp rdi, rdx
je 0x1400140e4
movzx edx, byte [r14 + rax + 0x1c]
movzx r8d, byte [r14 + rax + 0x1d]
movzx eax, dl
mov byte [rsi + 0x3a], dl
shl eax, 8
mov byte [rsi + 0x39], dl
add eax, r8d
mov byte [rsi + 0x38], dl
cmp eax, ecx
setne al
neg eax
mov byte [rsi + 0x3b], al
jmp 0x1400140e4
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140013640
add rax, r14
mov rcx, qword [rsp + 0x9f0]
mov rdx, r14
mov r8, rax
mov rax, qword [rsp + 0xa08]
add rdx, 1
add rcx, 4
mov r9, qword [rax + 8]
movzx eax, byte [rdx - 1]
shl eax, 2
movzx r10d, byte [r9 + rax]
mov byte [rcx - 4], r10b
movzx r10d, byte [r9 + rax + 1]
mov byte [rcx - 3], r10b
movzx r10d, byte [r9 + rax + 2]
movzx eax, byte [r9 + rax + 3]
mov byte [rcx - 2], r10b
mov byte [rcx - 1], al
cmp rdx, r8
jne 0x14001649e
jmp 0x140013640
test rax, rax
je 0x140013640
mov r8, qword [rsp + 0x9f0]
lea rdx, [rax + rax*2]
mov rcx, r14
add rdx, qword [rsp + 0x9f0]
mov rax, qword [rsp + 0xa08]
add r8, 3
add rcx, 1
mov r9, qword [rax + 8]
movzx eax, byte [rcx - 1]
shl eax, 2
movzx r10d, byte [r9 + rax]
mov byte [r8 - 3], r10b
movzx r10d, byte [r9 + rax + 1]
movzx eax, byte [r9 + rax + 2]
mov byte [r8 - 2], r10b
mov byte [r8 - 1], al
cmp r8, rdx
jne 0x140016509
jmp 0x140013640
mov rdi, qword [rsp + 0x48]
test rdi, rdi
je 0x140013640
mov rcx, qword [rsp + 0x9f0]
lea rdx, [rdi + rdi*2]
mov rax, r14
add rdx, qword [rsp + 0x9f0]
movzx r8d, byte [rax]
add rcx, 3
add rax, 4
mov byte [rcx - 3], r8b
movzx r8d, byte [rax - 3]
mov byte [rcx - 2], r8b
movzx r8d, byte [rax - 2]
mov byte [rcx - 1], r8b
cmp rcx, rdx
jne 0x140016570
jmp 0x140013640
mov r8, qword [rsp + 0x48]
shl r8, 2
jne 0x1400152ef
jmp 0x140013640
mov rdi, qword [rsp + 0x48]
test rdi, rdi
je 0x140013640
lea rax, [rdi - 1]
cmp rax, 0xe
jbe 0x140016974
shr rdi, 4
mov rax, qword [rsp + 0x9f0]
movdqa xmm1, xmmword [0x140190d10]
mov rcx, r14
mov rdx, rdi
shl rdx, 5
add rdx, r14
movdqu xmm0, xmmword [rcx]
movdqu xmm2, xmmword [rcx + 0x10]
add rcx, 0x20
add rax, 0x40
movdqu xmm3, xmmword [rcx - 0x10]
pand xmm2, xmm1
pand xmm0, xmm1
packuswb xmm0, xmm2
movdqu xmm2, xmmword [rcx - 0x20]
psrlw xmm3, 8
movdqa xmm4, xmm0
movdqa xmm5, xmm0
psrlw xmm2, 8
punpcklbw xmm4, xmm0
packuswb xmm2, xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm0
punpcklbw xmm5, xmm2
punpckhbw xmm0, xmm2
movdqa xmm2, xmm4
punpckhbw xmm4, xmm5
punpcklbw xmm2, xmm5
movups xmmword [rax - 0x30], xmm4
movups xmmword [rax - 0x40], xmm2
movdqa xmm2, xmm3
punpckhbw xmm3, xmm0
punpcklbw xmm2, xmm0
movups xmmword [rax - 0x10], xmm3
movups xmmword [rax - 0x20], xmm2
cmp rcx, rdx
jne 0x1400165ed
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x9f0]
mov rax, rdi
and rax, 0xfffffffffffffff0
lea rsi, [rsi + rax*4]
mov qword [rsp + 0x9f0], rsi
cmp rdi, rax
je 0x140013640
mov rdi, qword [rsp + 0x9f0]
movzx ecx, byte [r14 + rax*2]
lea rdx, [rax + rax]
mov byte [rdi + 2], cl
mov byte [rdi + 1], cl
mov byte [rdi], cl
movzx ecx, byte [r14 + rdx + 1]
mov byte [rdi + 3], cl
mov rdi, qword [rsp + 0x48]
lea rcx, [rax + 1]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 2]
mov rsi, qword [rsp + 0x9f0]
mov byte [rsi + 6], cl
mov byte [rsi + 5], cl
mov byte [rsi + 4], cl
movzx ecx, byte [r14 + rdx + 3]
mov byte [rsi + 7], cl
lea rcx, [rax + 2]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 4]
mov byte [rsi + 0xa], cl
mov byte [rsi + 9], cl
mov byte [rsi + 8], cl
movzx ecx, byte [r14 + rdx + 5]
mov byte [rsi + 0xb], cl
lea rcx, [rax + 3]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 6]
mov byte [rsi + 0xe], cl
mov byte [rsi + 0xd], cl
mov byte [rsi + 0xc], cl
movzx ecx, byte [r14 + rdx + 7]
mov byte [rsi + 0xf], cl
lea rcx, [rax + 4]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 8]
mov byte [rsi + 0x12], cl
mov byte [rsi + 0x11], cl
mov byte [rsi + 0x10], cl
movzx ecx, byte [r14 + rdx + 9]
mov byte [rsi + 0x13], cl
lea rcx, [rax + 5]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0xa]
mov byte [rsi + 0x16], cl
mov byte [rsi + 0x15], cl
mov byte [rsi + 0x14], cl
movzx ecx, byte [r14 + rdx + 0xb]
mov byte [rsi + 0x17], cl
lea rcx, [rax + 6]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0xc]
mov byte [rsi + 0x1a], cl
mov byte [rsi + 0x19], cl
mov byte [rsi + 0x18], cl
movzx ecx, byte [r14 + rdx + 0xd]
mov byte [rsi + 0x1b], cl
lea rcx, [rax + 7]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0xe]
mov byte [rsi + 0x1e], cl
mov byte [rsi + 0x1d], cl
mov byte [rsi + 0x1c], cl
movzx ecx, byte [r14 + rdx + 0xf]
mov byte [rsi + 0x1f], cl
lea rcx, [rax + 8]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x10]
mov byte [rsi + 0x22], cl
mov byte [rsi + 0x21], cl
mov byte [rsi + 0x20], cl
movzx ecx, byte [r14 + rdx + 0x11]
mov byte [rsi + 0x23], cl
lea rcx, [rax + 9]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x12]
mov byte [rsi + 0x26], cl
mov byte [rsi + 0x25], cl
mov byte [rsi + 0x24], cl
movzx ecx, byte [r14 + rdx + 0x13]
mov byte [rsi + 0x27], cl
lea rcx, [rax + 0xa]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x14]
mov byte [rsi + 0x2a], cl
mov byte [rsi + 0x29], cl
mov byte [rsi + 0x28], cl
movzx ecx, byte [r14 + rdx + 0x15]
mov byte [rsi + 0x2b], cl
lea rcx, [rax + 0xb]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x16]
mov byte [rsi + 0x2e], cl
mov byte [rsi + 0x2d], cl
mov byte [rsi + 0x2c], cl
movzx ecx, byte [r14 + rdx + 0x17]
mov byte [rsi + 0x2f], cl
lea rcx, [rax + 0xc]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x18]
mov byte [rsi + 0x32], cl
mov byte [rsi + 0x31], cl
mov byte [rsi + 0x30], cl
movzx ecx, byte [r14 + rdx + 0x19]
mov byte [rsi + 0x33], cl
lea rcx, [rax + 0xd]
cmp rdi, rcx
je 0x140013640
movzx ecx, byte [r14 + rdx + 0x1a]
add rax, 0xe
mov byte [rsi + 0x36], cl
mov byte [rsi + 0x35], cl
mov byte [rsi + 0x34], cl
movzx ecx, byte [r14 + rdx + 0x1b]
mov byte [rsi + 0x37], cl
cmp rdi, rax
je 0x140013640
movzx eax, byte [r14 + rdx + 0x1c]
mov byte [rsi + 0x3a], al
mov byte [rsi + 0x39], al
mov byte [rsi + 0x38], al
movzx eax, byte [r14 + rdx + 0x1d]
mov byte [rsi + 0x3b], al
jmp 0x140013640
mov rax, qword [rsp + 0x9f0]
mov rdx, r14
movzx r8d, byte [rdx]
add rdx, 3
add rax, 4
mov byte [rax - 4], r8b
movzx r8d, byte [rdx - 2]
mov byte [rax - 3], r8b
movzx r8d, byte [rdx - 1]
mov byte [rax - 1], 0xff
mov byte [rax - 2], r8b
cmp rcx, rdx
jne 0x1400168d9
jmp 0x140015bb4
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140013640
mov rcx, qword [rsp + 0x9f0]
lea rax, [rax + rax*2]
mov rdx, r14
add rax, qword [rsp + 0x9f0]
movzx r8d, byte [rdx]
add rcx, 3
add rdx, 2
mov byte [rcx - 1], r8b
mov byte [rcx - 2], r8b
mov byte [rcx - 3], r8b
cmp rcx, rax
jne 0x14001692e
jmp 0x140013640
mov r8, qword [rsp + 0x9f0]
mov r11, qword [rsp + 0x48]
xor r10d, r10d
jmp 0x140015875
mov rdi, qword [rsp + 0x9f0]
xor edx, edx
jmp 0x140014709
xor eax, eax
jmp 0x140016694
mov rdi, qword [rsp + 0x9f0]
xor eax, eax
jmp 0x140015082
mov rdi, qword [rsp + 0x9f0]
xor eax, eax
jmp 0x140013e4c
mov rax, qword [rsp + 0xa00]
mov r12d, 0x53
mov eax, dword [rax]
jmp 0x14001364d
xor edx, edx
jmp 0x140016104
xor edx, edx
jmp 0x140014ade