Function at 0x14002b220
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
movzx edi, byte [r8 + 0x20]
mov eax, edi
mov r12d, edi
shr al, 2
mov r10, rdx
and eax, 7
and r12d, 0x20
je 0x14002b588
lea rdx, [r8 + 0x30]
lea rbp, [r8 + 0x48]
test dil, 0x40
cmovne rbp, rdx
movzx r11d, byte [rcx + 0x20]
mov edx, r11d
mov r14d, r11d
shr dl, 2
and edx, 7
movzx esi, dl
and r14d, 0x20
je 0x14002b598
test r11b, 0x40
je 0x14002b950
lea r13, [rcx + 0x30]
mov rbx, r13
cmp eax, esi
je 0x14002b9d0
cmp eax, 1
sete dl
cmp esi, 2
sete bpl
jne 0x14002ba10
test dl, dl
je 0x14002ba10
lea rcx, [rbx + r10*2]
test r12b, r12b
jne 0x14002b9f8
mov rax, qword [r8 + 0x48]
lea r11, [rax + r9]
and r9, 0xfffffffffffffffc
lea r8, [rax + r9]
cmp rax, r8
jae 0x14002b40c
sub r9, 1
mov rdi, rax
cmp r9, 3
jbe 0x14002bfc0
mov rbp, r9
shr rbp, 2
lea rsi, [rbp + 1]
lea rdx, [rsi*4]
lea r12, [r10 + rdx]
lea r12, [rbx + r12*2]
cmp rax, r12
jae 0x14002b30e
add rdx, rax
cmp rcx, rdx
jb 0x14002bfc0
cmp r9, 0xb
jbe 0x14002c53b
mov r8, rsi
xor edx, edx
pxor xmm1, xmm1
shr r8, 2
shl r8, 4
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
punpcklbw xmm2, xmm1
movups xmmword [rcx + rdx*2 + 0x10], xmm0
movups xmmword [rcx + rdx*2], xmm2
add rdx, 0x10
cmp rdx, r8
jne 0x14002b340
test sil, 3
je 0x14002b3f7
mov rdx, rsi
and rdx, 0xfffffffffffffffc
lea r13, [rdx*4]
lea r8, [rcx + rdx*8]
sub rsi, rdx
lea r12, [rax + r13]
cmp rbp, rdx
je 0x14002b3cd
movq xmm0, qword [rax + rdx*4]
pxor xmm1, xmm1
add r13, r10
lea r10, [rbx + r13*2]
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
punpcklbw xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [r10], xmm2
movq qword [r10 + 8], xmm0
test sil, 1
je 0x14002b3f7
mov rax, rsi
and rax, 0xfffffffffffffffe
lea r8, [r8 + rax*8]
lea r12, [r12 + rax*4]
movzx eax, byte [r12]
mov word [r8], ax
movzx eax, byte [r12 + 1]
mov word [r8 + 2], ax
movzx eax, byte [r12 + 2]
mov word [r8 + 4], ax
movzx eax, byte [r12 + 3]
mov word [r8 + 6], ax
mov rax, r9
and r9, 0xfffffffffffffffc
shr rax, 2
lea rcx, [rcx + rax*8 + 8]
lea rax, [rdi + r9 + 4]
cmp rax, r11
jae 0x14002b576
mov r9, r11
sub r9, rax
lea rdx, [r9 - 1]
cmp rdx, 6
jbe 0x14002bf98
lea r8, [rcx + r9*2]
cmp rax, r8
jae 0x14002b43b
cmp rcx, r11
jb 0x14002bf98
cmp rdx, 0xe
jbe 0x14002c52d
mov r10, r9
mov r8, r9
pxor xmm1, xmm1
xor edx, edx
shr r10, 4
and r8, 0xfffffffffffffff0
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
punpcklbw xmm2, xmm1
movups xmmword [rcx + rdx*2 + 0x10], xmm0
movups xmmword [rcx + rdx*2], xmm2
add rdx, 0x10
cmp r8, rdx
jne 0x14002b480
mov rdx, r10
lea r10, [rax + r8]
shl rdx, 5
add rdx, rcx
cmp r9, r8
je 0x14002b576
sub r9, r8
lea rbx, [r9 - 1]
cmp rbx, 6
jbe 0x14002b503
movq xmm0, qword [rax + r8]
pxor xmm1, xmm1
mov rax, r9
lea rcx, [rcx + r8*2]
and rax, 0xfffffffffffffff8
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
lea rdx, [rdx + rax*2]
add r10, rax
punpcklbw xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
and r9d, 7
movq qword [rcx], xmm2
movq qword [rcx + 8], xmm0
je 0x14002b576
movzx eax, byte [r10]
mov word [rdx], ax
lea rax, [r10 + 1]
cmp rax, r11
jae 0x14002b576
movzx eax, byte [r10 + 1]
mov word [rdx + 2], ax
lea rax, [r10 + 2]
cmp rax, r11
jae 0x14002b576
movzx eax, byte [r10 + 2]
mov word [rdx + 4], ax
lea rax, [r10 + 3]
cmp rax, r11
jae 0x14002b576
movzx eax, byte [r10 + 3]
mov word [rdx + 6], ax
lea rax, [r10 + 4]
cmp rax, r11
jae 0x14002b576
movzx eax, byte [r10 + 4]
mov word [rdx + 8], ax
lea rax, [r10 + 5]
cmp rax, r11
jae 0x14002b576
movzx eax, byte [r10 + 5]
mov word [rdx + 0xa], ax
lea rax, [r10 + 6]
cmp rax, r11
jae 0x14002b576
movzx eax, byte [r10 + 6]
mov word [rdx + 0xc], ax
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, qword [r8 + 0x48]
jmp 0x14002b259
mov r13, qword [rcx + 0x48]
mov rbx, r13
cmp eax, esi
je 0x14002b9d0
cmp eax, 1
sete dl
cmp esi, 2
sete bpl
test dl, dl
je 0x14002b5c1
test bpl, bpl
jne 0x14002b2ab
cmp esi, 4
sete r15b
jne 0x14002bc50
test dl, dl
je 0x14002bc50
lea r11, [rbx + r10*4]
test r12b, r12b
je 0x14002bc40
lea rcx, [r8 + 0x30]
lea rdx, [r8 + 0x48]
and edi, 0x40
cmovne rdx, rcx
lea rsi, [rdx + r9]
and r9, 0xfffffffffffffffc
lea r8, [rdx + r9]
cmp rdx, r8
jae 0x14002b796
sub r9, 1
mov rdi, rdx
cmp r9, 3
jbe 0x14002c4d6
mov r12, r9
shr r12, 2
lea rbp, [r12 + 1]
lea rax, [rbp*4]
lea rcx, [r10 + rax]
lea rcx, [rbx + rcx*4]
cmp rdx, rcx
jae 0x14002b645
add rax, rdx
cmp r11, rax
jb 0x14002c4d6
cmp r9, 0xb
jbe 0x14002c554
mov r8, rbp
mov rax, r11
pxor xmm3, xmm3
mov rcx, rdx
shr r8, 2
pxor xmm2, xmm2
shl r8, 4
add r8, rdx
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx]
add rcx, 0x10
add rax, 0x40
movdqa xmm1, xmm0
punpckhbw xmm0, xmm3
punpcklbw xmm1, xmm3
movdqa xmm4, xmm1
punpckhwd xmm1, xmm2
movups xmmword [rax - 0x30], xmm1
movdqa xmm1, xmm0
punpcklwd xmm4, xmm2
punpckhwd xmm0, xmm2
punpcklwd xmm1, xmm2
movups xmmword [rax - 0x40], xmm4
movups xmmword [rax - 0x20], xmm1
movups xmmword [rax - 0x10], xmm0
cmp r8, rcx
jne 0x14002b670
mov rax, rbp
and rax, 0xfffffffffffffffc
mov rcx, rax
lea r13, [rax*4]
shl rcx, 4
lea r8, [rdx + r13]
add rcx, r11
test bpl, 3
je 0x14002b77b
sub rbp, rax
cmp r12, rax
je 0x14002b75d
movq xmm0, qword [rdx + rax*4]
pxor xmm1, xmm1
add r13, r10
lea r10, [rbx + r13*4]
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
punpcklbw xmm2, xmm1
pxor xmm1, xmm1
pshufd xmm0, xmm0, 0x4e
movdqa xmm3, xmm2
punpcklwd xmm2, xmm1
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm3, xmm1
movq qword [r10 + 8], xmm2
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [r10], xmm3
movq qword [r10 + 0x10], xmm2
movq qword [r10 + 0x18], xmm0
test bpl, 1
je 0x14002b77b
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rdx, rax
lea r8, [r8 + rax*4]
shl rdx, 4
add rcx, rdx
movzx eax, byte [r8]
mov dword [rcx], eax
movzx eax, byte [r8 + 1]
mov dword [rcx + 4], eax
movzx eax, byte [r8 + 2]
mov dword [rcx + 8], eax
movzx eax, byte [r8 + 3]
mov dword [rcx + 0xc], eax
mov rax, r9
and r9, 0xfffffffffffffffc
shr rax, 2
lea rdx, [rdi + r9 + 4]
add rax, 1
shl rax, 4
add r11, rax
cmp rdx, rsi
jae 0x14002b576
mov r9, rsi
mov rcx, rdx
sub r9, rdx
lea rax, [r9 - 1]
cmp rax, 6
jbe 0x14002c4b8
lea r8, [r11 + r9*4]
cmp rdx, r8
jae 0x14002b7c8
cmp r11, rsi
jb 0x14002c4b8
cmp rax, 0xe
jbe 0x14002c564
mov r10, r9
mov rbx, r9
pxor xmm3, xmm3
mov rax, r11
and r10, 0xfffffffffffffff0
shr rbx, 4
pxor xmm2, xmm2
lea r8, [rdx + r10]
nop
movdqu xmm0, xmmword [rcx]
add rcx, 0x10
add rax, 0x40
movdqa xmm1, xmm0
punpckhbw xmm0, xmm3
punpcklbw xmm1, xmm3
movdqa xmm4, xmm1
punpckhwd xmm1, xmm2
movups xmmword [rax - 0x30], xmm1
movdqa xmm1, xmm0
punpcklwd xmm4, xmm2
punpckhwd xmm0, xmm2
punpcklwd xmm1, xmm2
movups xmmword [rax - 0x40], xmm4
movups xmmword [rax - 0x20], xmm1
movups xmmword [rax - 0x10], xmm0
cmp r8, rcx
jne 0x14002b7f0
mov rax, rbx
shl rax, 6
add rax, r11
cmp r9, r10
je 0x14002b576
sub r9, r10
lea rcx, [r9 - 1]
cmp rcx, 6
jbe 0x14002b8c5
movq xmm0, qword [rdx + r10]
pxor xmm1, xmm1
lea rcx, [r11 + r10*4]
mov rdx, r9
and rdx, 0xfffffffffffffff8
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
lea rax, [rax + rdx*4]
add r8, rdx
punpcklbw xmm2, xmm1
pxor xmm1, xmm1
pshufd xmm0, xmm0, 0x4e
and r9d, 7
movdqa xmm3, xmm2
punpcklwd xmm2, xmm1
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm3, xmm1
movq qword [rcx + 8], xmm2
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rcx], xmm3
movq qword [rcx + 0x10], xmm2
movq qword [rcx + 0x18], xmm0
je 0x14002b576
movzx edx, byte [r8]
mov dword [rax], edx
lea rdx, [r8 + 1]
cmp rdx, rsi
jae 0x14002b576
movzx edx, byte [r8 + 1]
mov dword [rax + 4], edx
lea rdx, [r8 + 2]
cmp rdx, rsi
jae 0x14002b576
movzx edx, byte [r8 + 2]
mov dword [rax + 8], edx
lea rdx, [r8 + 3]
cmp rdx, rsi
jae 0x14002b576
movzx edx, byte [r8 + 3]
mov dword [rax + 0xc], edx
lea rdx, [r8 + 4]
cmp rdx, rsi
jae 0x14002b576
movzx edx, byte [r8 + 4]
mov dword [rax + 0x10], edx
lea rdx, [r8 + 5]
cmp rdx, rsi
jae 0x14002b576
movzx edx, byte [r8 + 5]
mov dword [rax + 0x14], edx
lea rdx, [r8 + 6]
cmp rdx, rsi
jae 0x14002b576
movzx edx, byte [r8 + 6]
mov dword [rax + 0x18], edx
jmp 0x14002b576
lea r13, [rcx + 0x48]
mov rbx, r13
cmp eax, esi
je 0x14002b9d0
cmp eax, 1
sete dl
cmp esi, 2
sete bpl
test dl, dl
je 0x14002b975
test bpl, bpl
jne 0x14002b2ab
cmp esi, 4
sete r15b
test dl, dl
je 0x14002b98c
mov rbx, r13
test r15b, r15b
jne 0x14002b5d6
cmp eax, 2
sete dl
test r15b, r15b
je 0x14002b99f
test dl, dl
jne 0x14002ba3c
cmp esi, 1
sete bl
jne 0x14002c090
test dl, dl
je 0x14002c090
lea rax, [rcx + 0x30]
lea r13, [rcx + 0x48]
and r11d, 0x40
cmovne r13, rax
jmp 0x14002bc7a
movzx r8d, dl
mov rdx, rbp
imul r10, r8
imul r8, r9
lea rcx, [rbx + r10]
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sub.msvcrt.dll_memcpy
lea r11, [r8 + 0x30]
lea rax, [r8 + 0x48]
and edi, 0x40
cmovne rax, r11
jmp 0x14002b2bc
cmp esi, 4
sete r15b
test dl, dl
je 0x14002ba27
mov rbx, r13
test r15b, r15b
jne 0x14002b5d6
cmp eax, 2
sete dl
jne 0x14002c078
test r15b, r15b
je 0x14002c078
mov rbx, r13
lea rdx, [rbx + r10*4]
test r12b, r12b
jne 0x14002c040
mov r8, qword [r8 + 0x48]
lea rcx, [r9 + r9]
lea rsi, [r8 + rcx]
and rcx, 0xfffffffffffffff8
lea rax, [r8 + rcx]
cmp r8, rax
jae 0x14002bb2d
sub rcx, 1
mov r11, rcx
shr r11, 3
add r11, 1
cmp rcx, 7
jbe 0x14002c802
mov r9, r11
xor eax, eax
pxor xmm1, xmm1
shr r9, 1
shl r9, 4
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop
movdqu xmm0, xmmword [r8 + rax]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
punpcklwd xmm2, xmm1
movups xmmword [rdx + rax*2 + 0x10], xmm0
movups xmmword [rdx + rax*2], xmm2
add rax, 0x10
cmp rax, r9
jne 0x14002bac0
test r11b, 1
je 0x14002bb1d
mov r9, r11
and r9, 0xfffffffffffffffe
movq xmm0, qword [r8 + r9*8]
pxor xmm1, xmm1
lea rax, [r10 + r9*4]
lea rax, [rbx + rax*4]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rax], xmm2
movq qword [rax + 8], xmm0
shl r11, 4
and rcx, 0xfffffffffffffff8
add rdx, r11
lea r8, [r8 + rcx + 8]
cmp r8, rsi
jae 0x14002b576
lea rax, [rsi - 1]
sub rax, r8
mov r9, rax
shr r9, 1
lea r10, [r9 + 1]
cmp rax, 0xd
jbe 0x14002c7f5
mov rcx, r10
xor eax, eax
pxor xmm1, xmm1
shr rcx, 3
shl rcx, 4
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [r8 + rax]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
punpcklwd xmm2, xmm1
movups xmmword [rdx + rax*2 + 0x10], xmm0
movups xmmword [rdx + rax*2], xmm2
add rax, 0x10
cmp rax, rcx
jne 0x14002bb80
mov rax, r10
and rax, 0xfffffffffffffff8
and r10d, 7
lea rbx, [rdx + rax*4]
lea r11, [r8 + rax*2]
je 0x14002b576
sub r9, rax
lea rcx, [r9 + 1]
cmp r9, 2
jbe 0x14002bc07
movq xmm0, qword [r8 + rax*2]
pxor xmm1, xmm1
lea rdx, [rdx + rax*4]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rdx], xmm2
movq qword [rdx + 8], xmm0
test cl, 3
je 0x14002b576
and rcx, 0xfffffffffffffffc
lea rbx, [rbx + rcx*4]
lea r11, [r11 + rcx*2]
movzx eax, word [r11]
mov dword [rbx], eax
lea rax, [r11 + 2]
cmp rax, rsi
jae 0x14002b576
movzx eax, word [r11 + 2]
mov dword [rbx + 4], eax
lea rax, [r11 + 4]
cmp rax, rsi
jae 0x14002b576
movzx eax, word [r11 + 4]
mov dword [rbx + 8], eax
jmp 0x14002b576
mov rdx, qword [r8 + 0x48]
jmp 0x14002b5f2
cmp eax, 2
sete dl
test r15b, r15b
je 0x14002bc66
mov rbx, r13
test dl, dl
jne 0x14002ba3f
cmp esi, 1
sete bl
jne 0x14002c090
test dl, dl
je 0x14002c090
lea rcx, [r13 + r10]
test r12b, r12b
je 0x14002c54b
lea rax, [r8 + 0x30]
lea rdx, [r8 + 0x48]
and edi, 0x40
cmovne rdx, rax
add r9, r9
lea r11, [rdx + r9]
and r9, 0xfffffffffffffff8
lea r8, [rdx + r9]
cmp rdx, r8
jae 0x14002be0a
sub r9, 1
mov rbx, rdx
cmp r9, 7
jbe 0x14002c7a2
mov rdi, r9
shr rdi, 3
lea rsi, [rdi + 1]
lea rax, [r10 + rsi*4]
add rax, r13
cmp rdx, rax
jae 0x14002bce4
lea rax, [rdx + rsi*8]
cmp rcx, rax
jb 0x14002c7a2
cmp r9, 0x17
jbe 0x14002c87e
mov r8, rsi
mov r15d, 0xff00ff
xor eax, eax
shr r8, 2
movd xmm2, r15d
shl r8, 4
pshufd xmm2, xmm2, 0
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm1, xmmword [rdx + rax*2 + 0x10]
pand xmm0, xmm2
pand xmm1, xmm2
packuswb xmm0, xmm1
movups xmmword [rcx + rax], xmm0
add rax, 0x10
cmp r8, rax
jne 0x14002bd40
mov r14, rsi
and r14, 0xfffffffffffffffc
lea r12, [r14*4]
lea rax, [r14*8]
lea r8, [rcx + r12]
lea rbp, [rdx + rax]
test sil, 3
je 0x14002bdf5
sub rsi, r14
cmp rdi, r14
je 0x14002bdd6
movq xmm1, qword [0x14004e6d8]
add rax, rdx
add r13, r12
movq xmm0, qword [rax]
movq xmm2, qword [rax + 8]
pand xmm0, xmm1
pand xmm1, xmm2
packuswb xmm0, xmm1
pshufd xmm0, xmm0, 8
movq qword [r13 + r10], xmm0
test sil, 1
je 0x14002bdf5
mov rax, rsi
and rax, 0xfffffffffffffffe
lea r8, [r8 + rax*4]
lea rbp, [rbp + rax*8]
movzx eax, word [rbp]
mov byte [r8], al
movzx eax, word [rbp + 2]
mov byte [r8 + 1], al
movzx eax, word [rbp + 4]
mov byte [r8 + 2], al
movzx eax, word [rbp + 6]
mov byte [r8 + 3], al
mov rax, r9
and r9, 0xfffffffffffffff8
shr rax, 3
lea rdx, [rbx + r9 + 8]
lea rcx, [rcx + rax*4 + 4]
cmp rdx, r11
jae 0x14002b576
lea rax, [r11 - 1]
sub rax, rdx
cmp rax, 0xd
jbe 0x14002c060
mov r8, rax
shr r8, 1
lea r9, [r8 + 1]
lea r10, [rdx + r9*2]
cmp rcx, r10
jae 0x14002be44
lea r10, [rcx + r9]
cmp rdx, r10
jb 0x14002c060
cmp rax, 0x1d
jbe 0x14002c871
mov rsi, r9
mov rbx, r9
mov edi, 0xff00ff
xor eax, eax
movd xmm2, edi
shr rsi, 4
and rbx, 0xfffffffffffffff0
pshufd xmm2, xmm2, 0
nop word cs:[rax + rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm1, xmmword [rdx + rax*2 + 0x10]
pand xmm0, xmm2
pand xmm1, xmm2
packuswb xmm0, xmm1
movups xmmword [rcx + rax], xmm0
add rax, 0x10
cmp rbx, rax
jne 0x14002be80
mov rax, rsi
lea r10, [rcx + rbx]
shl rax, 5
add rax, rdx
cmp rbx, r9
je 0x14002b576
sub r8, rbx
lea r9, [r8 + 1]
cmp r8, 6
jbe 0x14002bf0b
movq xmm1, qword [0x14004e6d8]
lea rdx, [rdx + rbx*2]
movq xmm0, qword [rdx]
movq xmm2, qword [rdx + 8]
mov rdx, r9
and rdx, 0xfffffffffffffff8
pand xmm0, xmm1
pand xmm1, xmm2
lea rax, [rax + rdx*2]
add r10, rdx
packuswb xmm0, xmm1
and r9d, 7
pshufd xmm0, xmm0, 8
movq qword [rcx + rbx], xmm0
je 0x14002b576
movzx edx, word [rax]
mov byte [r10], dl
lea rdx, [rax + 2]
cmp rdx, r11
jae 0x14002b576
movzx edx, word [rax + 2]
mov byte [r10 + 1], dl
lea rdx, [rax + 4]
cmp rdx, r11
jae 0x14002b576
movzx edx, word [rax + 4]
mov byte [r10 + 2], dl
lea rdx, [rax + 6]
cmp rdx, r11
jae 0x14002b576
movzx edx, word [rax + 6]
mov byte [r10 + 3], dl
lea rdx, [rax + 8]
cmp rdx, r11
jae 0x14002b576
movzx edx, word [rax + 8]
mov byte [r10 + 4], dl
lea rdx, [rax + 0xa]
cmp rdx, r11
jae 0x14002b576
movzx edx, word [rax + 0xa]
mov byte [r10 + 5], dl
lea rdx, [rax + 0xc]
cmp rdx, r11
jae 0x14002b576
movzx eax, word [rax + 0xc]
mov byte [r10 + 6], al
jmp 0x14002b576
xor edx, edx
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov word [rcx + rdx*2], r8w
add rdx, 1
cmp r9, rdx
jne 0x14002bfa0
jmp 0x14002b576
mov rdx, rcx
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word [rax + rax]
movzx r10d, byte [rax]
add rax, 4
add rdx, 8
mov word [rdx - 8], r10w
movzx r10d, byte [rax - 3]
mov word [rdx - 6], r10w
movzx r10d, byte [rax - 2]
mov word [rdx - 4], r10w
movzx r10d, byte [rax - 1]
mov word [rdx - 2], r10w
cmp rax, r8
jb 0x14002c000
jmp 0x14002b3f7
lea rax, [r8 + 0x30]
add r8, 0x48
and edi, 0x40
cmovne r8, rax
jmp 0x14002ba50
movzx eax, word [rdx]
add rdx, 2
add rcx, 1
mov byte [rcx - 1], al
cmp rdx, r11
jb 0x14002c060
jmp 0x14002b576
cmp esi, 1
sete bl
test dl, dl
je 0x14002c090
test bl, bl
jne 0x14002b9b3
nop word [rax + rax]
cmp eax, 4
jne 0x14002b576
test bl, bl
je 0x14002c572
test r14b, r14b
je 0x14002c799
lea rax, [rcx + 0x30]
add rcx, 0x48
and r11d, 0x40
cmove rax, rcx
mov rsi, rax
lea r11, [rsi + r10]
test r12b, r12b
je 0x14002c790
lea rax, [r8 + 0x30]
lea rdx, [r8 + 0x48]
and edi, 0x40
cmovne rdx, rax
shl r9, 2
lea rbx, [rdx + r9]
and r9, 0xfffffffffffffff0
lea rcx, [rdx + r9]
cmp rdx, rcx
jae 0x14002c2a1
sub r9, 1
mov rbp, rdx
cmp r9, 0xf
jbe 0x14002c81c
mov r12, r9
shr r12, 4
lea rdi, [r12 + 1]
lea rax, [r10 + rdi*4]
add rax, rsi
cmp rdx, rax
jae 0x14002c12e
mov rax, rdi
shl rax, 4
add rax, rdx
cmp r11, rax
jb 0x14002c81c
cmp r9, 0x2f
jbe 0x14002c89d
mov r8, rdi
mov r15d, 0xff00ff
mov rcx, r11
mov rax, rdx
shr r8, 2
movd xmm4, r15d
shl r8, 6
pshufd xmm4, xmm4, 0
add r8, rdx
nop dword [rax]
movdqu xmm2, xmmword [rax + 0x10]
movdqu xmm0, xmmword [rax]
add rax, 0x40
add rcx, 0x10
movdqu xmm3, xmmword [rax - 0x10]
movdqa xmm1, xmm0
punpcklwd xmm0, xmm2
punpckhwd xmm1, xmm2
movdqa xmm2, xmm0
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm1
movdqu xmm1, xmmword [rax - 0x20]
punpcklwd xmm0, xmm2
movdqa xmm2, xmm1
punpcklwd xmm1, xmm3
pand xmm0, xmm4
punpckhwd xmm2, xmm3
movdqa xmm3, xmm1
punpckhwd xmm3, xmm2
punpcklwd xmm1, xmm2
punpcklwd xmm1, xmm3
pand xmm1, xmm4
packuswb xmm0, xmm1
movups xmmword [rcx - 0x10], xmm0
cmp rax, r8
jne 0x14002c160
test dil, 3
je 0x14002c28c
mov rax, rdi
and rax, 0xfffffffffffffffc
mov rcx, rax
lea r13, [rax*4]
sub rdi, rax
shl rcx, 4
lea r8, [r11 + r13]
add rcx, rdx
cmp r12, rax
je 0x14002c272
shl rax, 4
add rsi, r13
add rax, rdx
movq xmm0, qword [rax]
movq xmm1, qword [rax + 8]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
movq xmm1, qword [rax + 0x10]
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq xmm2, qword [rax + 0x18]
movdqa xmm3, xmm1
punpcklwd xmm3, xmm2
punpcklwd xmm1, xmm2
movq xmm2, qword [0x14004e6d8]
pshufd xmm3, xmm3, 0x4e
punpcklwd xmm1, xmm3
pand xmm0, xmm2
pand xmm2, xmm1
packuswb xmm0, xmm2
pshufd xmm0, xmm0, 8
movq qword [rsi + r10], xmm0
test dil, 1
je 0x14002c28c
and rdi, 0xfffffffffffffffe
lea r8, [r8 + rdi*4]
shl rdi, 4
add rcx, rdi
mov eax, dword [rcx]
mov byte [r8], al
mov eax, dword [rcx + 4]
mov byte [r8 + 1], al
mov eax, dword [rcx + 8]
mov byte [r8 + 2], al
mov eax, dword [rcx + 0xc]
mov byte [r8 + 3], al
mov rax, r9
and r9, 0xfffffffffffffff0
shr rax, 4
lea rdx, [rbp + r9 + 0x10]
lea r11, [r11 + rax*4 + 4]
cmp rdx, rbx
jae 0x14002b576
lea rcx, [rbx - 1]
mov rax, rdx
sub rcx, rdx
cmp rcx, 0x1b
jbe 0x14002c4a0
mov r10, rcx
shr r10, 2
lea r9, [r10 + 1]
lea r8, [rdx + r9*4]
cmp r11, r8
jae 0x14002c2df
lea r8, [r11 + r9]
cmp rdx, r8
jb 0x14002c4a0
cmp rcx, 0x3b
jbe 0x14002c88e
mov r8, r9
mov edi, 0xff00ff
mov rcx, r11
shr r8, 4
movd xmm4, edi
shl r8, 6
pshufd xmm4, xmm4, 0
add r8, rdx
nop dword [rax + rax]
movdqu xmm2, xmmword [rax + 0x10]
movdqu xmm0, xmmword [rax]
add rax, 0x40
add rcx, 0x10
movdqu xmm3, xmmword [rax - 0x10]
movdqa xmm1, xmm0
punpcklwd xmm0, xmm2
punpckhwd xmm1, xmm2
movdqa xmm2, xmm0
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm1
movdqu xmm1, xmmword [rax - 0x20]
punpcklwd xmm0, xmm2
movdqa xmm2, xmm1
punpcklwd xmm1, xmm3
pand xmm0, xmm4
punpckhwd xmm2, xmm3
movdqa xmm3, xmm1
punpckhwd xmm3, xmm2
punpcklwd xmm1, xmm2
punpcklwd xmm1, xmm3
pand xmm1, xmm4
packuswb xmm0, xmm1
movups xmmword [rcx - 0x10], xmm0
cmp r8, rax
jne 0x14002c310
mov rsi, r9
and rsi, 0xfffffffffffffff0
and r9d, 0xf
lea rax, [rsi*4]
lea r8, [r11 + rsi]
lea rcx, [rdx + rax]
je 0x14002b576
sub r10, rsi
lea r9, [r10 + 1]
cmp r10, 6
jbe 0x14002c41d
add rax, rdx
movq xmm0, qword [rax]
movq xmm1, qword [rax + 8]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
movq xmm1, qword [rax + 0x10]
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq xmm2, qword [rax + 0x18]
movdqa xmm3, xmm1
mov rax, r9
and rax, 0xfffffffffffffff8
punpcklwd xmm3, xmm2
punpcklwd xmm1, xmm2
lea rcx, [rcx + rax*4]
add r8, rax
movq xmm2, qword [0x14004e6d8]
pshufd xmm3, xmm3, 0x4e
and r9d, 7
punpcklwd xmm1, xmm3
pand xmm0, xmm2
pand xmm2, xmm1
packuswb xmm0, xmm2
pshufd xmm0, xmm0, 8
movq qword [r11 + rsi], xmm0
je 0x14002b576
mov eax, dword [rcx]
mov byte [r8], al
lea rax, [rcx + 4]
cmp rax, rbx
jae 0x14002b576
mov eax, dword [rcx + 4]
mov byte [r8 + 1], al
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x14002b576
mov eax, dword [rcx + 8]
mov byte [r8 + 2], al
lea rax, [rcx + 0xc]
cmp rax, rbx
jae 0x14002b576
mov eax, dword [rcx + 0xc]
mov byte [r8 + 3], al
lea rax, [rcx + 0x10]
cmp rax, rbx
jae 0x14002b576
mov eax, dword [rcx + 0x10]
mov byte [r8 + 4], al
lea rax, [rcx + 0x14]
cmp rax, rbx
jae 0x14002b576
mov eax, dword [rcx + 0x14]
mov byte [r8 + 5], al
lea rax, [rcx + 0x18]
cmp rax, rbx
jae 0x14002b576
mov eax, dword [rcx + 0x18]
mov byte [r8 + 6], al
jmp 0x14002b576
mov eax, dword [rdx]
add rdx, 4
add r11, 1
mov byte [r11 - 1], al
cmp rdx, rbx
jb 0x14002c4a0
jmp 0x14002b576
xor eax, eax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
mov dword [r11 + rax*4], ecx
add rax, 1
cmp r9, rax
jne 0x14002c4c0
jmp 0x14002b576
mov rax, r11
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word [rax + rax]
movzx ecx, byte [rdx]
add rdx, 4
add rax, 0x10
mov dword [rax - 0x10], ecx
movzx ecx, byte [rdx - 3]
mov dword [rax - 0xc], ecx
movzx ecx, byte [rdx - 2]
mov dword [rax - 8], ecx
movzx ecx, byte [rdx - 1]
mov dword [rax - 4], ecx
cmp rdx, r8
jb 0x14002c500
jmp 0x14002b77b
mov rdx, rcx
mov r10, rax
xor r8d, r8d
jmp 0x14002b4c7
mov r8, rcx
mov r12, rax
xor edx, edx
xor r13d, r13d
jmp 0x14002b38c
mov rdx, qword [r8 + 0x48]
jmp 0x14002bc97
mov rcx, r11
mov r8, rdx
xor eax, eax
xor r13d, r13d
jmp 0x14002b6e4
mov rax, r11
mov r8, rdx
xor r10d, r10d
jmp 0x14002b855
test bpl, bpl
je 0x14002b576
test r14b, r14b
je 0x14002c813
lea rax, [rcx + 0x30]
add rcx, 0x48
and r11d, 0x40
cmove rax, rcx
mov rbx, rax
lea rcx, [rbx + r10*2]
test r12b, r12b
je 0x14002c80a
lea rax, [r8 + 0x30]
lea rdx, [r8 + 0x48]
and edi, 0x40
cmovne rdx, rax
lea r8, [r9*4]
lea rsi, [rdx + r8]
and r8, 0xfffffffffffffff0
lea rax, [rdx + r8]
cmp rdx, rax
jae 0x14002c67f
sub r8, 1
mov r11, r8
shr r11, 4
add r11, 1
cmp r8, 0xf
jbe 0x14002c8bb
mov r9, r11
xor eax, eax
shr r9, 1
shl r9, 4
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rdx + rax*2 + 0x10]
movdqu xmm0, xmmword [rdx + rax*2]
movdqa xmm1, xmm0
punpcklwd xmm0, xmm2
punpckhwd xmm1, xmm2
movdqa xmm2, xmm0
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm1
punpcklwd xmm0, xmm2
movups xmmword [rcx + rax], xmm0
add rax, 0x10
cmp rax, r9
jne 0x14002c600
test r11b, 1
je 0x14002c672
mov r9, r11
and r9, 0xfffffffffffffffe
mov rax, r9
shl rax, 4
add rax, rdx
movq xmm0, qword [rax]
movq xmm1, qword [rax + 8]
lea rax, [r10 + r9*4]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq qword [rbx + rax*2], xmm0
and r8, 0xfffffffffffffff0
lea rcx, [rcx + r11*8]
lea rdx, [rdx + r8 + 0x10]
cmp rdx, rsi
jae 0x14002b576
lea rax, [rsi - 1]
sub rax, rdx
mov r9, rax
shr r9, 2
lea r11, [r9 + 1]
cmp rax, 0x1b
jbe 0x14002c8ad
mov r8, r11
xor eax, eax
shr r8, 3
shl r8, 4
nop word cs:[rax + rax]
nop dword [rax]
movdqu xmm2, xmmword [rdx + rax*2 + 0x10]
movdqu xmm0, xmmword [rdx + rax*2]
movdqa xmm1, xmm0
punpcklwd xmm0, xmm2
punpckhwd xmm1, xmm2
movdqa xmm2, xmm0
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm1
punpcklwd xmm0, xmm2
movups xmmword [rcx + rax], xmm0
add rax, 0x10
cmp rax, r8
jne 0x14002c6c0
mov r8, r11
and r8, 0xfffffffffffffff8
and r11d, 7
lea r10, [rcx + r8*2]
lea rax, [rdx + r8*4]
je 0x14002b576
sub r9, r8
lea r11, [r9 + 1]
cmp r9, 2
jbe 0x14002c75b
lea rdx, [rdx + r8*4]
movq xmm0, qword [rdx]
movq xmm1, qword [rdx + 8]
mov rdx, r11
and rdx, 0xfffffffffffffffc
and r11d, 3
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
lea r10, [r10 + rdx*2]
punpcklwd xmm2, xmm1
lea rax, [rax + rdx*4]
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq qword [rcx + r8*2], xmm0
je 0x14002b576
mov edx, dword [rax]
mov word [r10], dx
lea rdx, [rax + 4]
cmp rdx, rsi
jae 0x14002b576
mov edx, dword [rax + 4]
mov word [r10 + 2], dx
lea rdx, [rax + 8]
cmp rdx, rsi
jae 0x14002b576
mov eax, dword [rax + 8]
mov word [r10 + 4], ax
jmp 0x14002b576
mov rdx, qword [r8 + 0x48]
jmp 0x14002c0d9
mov rsi, qword [rcx + 0x48]
jmp 0x14002c0bd
mov rax, rcx
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx r10d, word [rdx]
add rdx, 8
add rax, 4
mov byte [rax - 4], r10b
movzx r10d, word [rdx - 6]
mov byte [rax - 3], r10b
movzx r10d, word [rdx - 4]
mov byte [rax - 2], r10b
movzx r10d, word [rdx - 2]
mov byte [rax - 1], r10b
cmp rdx, r8
jb 0x14002c7c0
jmp 0x14002bdf5
mov rbx, rdx
mov r11, r8
xor eax, eax
jmp 0x14002bbbd
xor r9d, r9d
jmp 0x14002baf1
mov rdx, qword [r8 + 0x48]
jmp 0x14002c5b3
mov rbx, qword [rcx + 0x48]
jmp 0x14002c597
mov rax, r11
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
mov r8d, dword [rdx]
add rdx, 0x10
add rax, 4
mov byte [rax - 4], r8b
mov r8d, dword [rdx - 0xc]
mov byte [rax - 3], r8b
mov r8d, dword [rdx - 8]
mov byte [rax - 2], r8b
mov r8d, dword [rdx - 4]
mov byte [rax - 1], r8b
cmp rdx, rcx
jb 0x14002c840
jmp 0x14002c28c
mov r10, rcx
mov rax, rdx
xor ebx, ebx
jmp 0x14002bec8
mov r8, rcx
mov rbp, rdx
xor r12d, r12d
xor eax, eax
jmp 0x14002bd91
mov r8, r11
mov rcx, rdx
xor esi, esi
xor eax, eax
jmp 0x14002c3a6
mov r8, r11
mov rcx, rdx
xor eax, eax
xor r13d, r13d
jmp 0x14002c1f7
mov r10, rcx
mov rax, rdx
xor r8d, r8d
jmp 0x14002c70d
xor r9d, r9d
jmp 0x14002c641