Function at 0x14002b510
Capabilities:
Enumerate pe sections

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
mov r11, rdx
movzx edx, byte [r8 + 0x20]
mov rax, rcx
mov ecx, edx
shr cl, 2
and ecx, 7
test dl, 0x20
jne 0x14002bc00
mov rdx, qword [r8 + 0x48]
movzx ebx, byte [rax + 0x20]
mov r8d, ebx
shr r8b, 2
and r8d, 7
movzx esi, r8b
test bl, 0x20
jne 0x14002bbc0
mov r10, qword [rax + 0x48]
cmp ecx, esi
je 0x14002bbda
cmp ecx, 1
sete al
cmp esi, 2
sete r8b
test al, al
je 0x14002b848
test r8b, r8b
je 0x14002b848
lea rbx, [rdx + r9]
and r9, 0xfffffffffffffffc
lea rcx, [r10 + r11*2]
lea r8, [rdx + r9]
cmp rdx, r8
jae 0x14002b6cc
sub r9, 1
mov rdi, rdx
cmp r9, 3
jbe 0x14002be00
mov rbp, r9
shr rbp, 2
lea rsi, [rbp + 1]
lea rax, [rsi*4]
lea r12, [r11 + rax]
lea r12, [r10 + r12*2]
cmp rdx, r12
jae 0x14002b5d6
add rax, rdx
cmp rcx, rax
jb 0x14002be00
cmp r9, 0xb
jbe 0x14002c66d
mov r8, rsi
xor eax, eax
pxor xmm1, xmm1
shr r8, 2
shl r8, 4
nop word cs:[rax + rax]
nop dword [rax]
movdqu xmm0, xmmword [rdx + rax]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
punpcklbw xmm2, xmm1
movups xmmword [rcx + rax*2 + 0x10], xmm0
movups xmmword [rcx + rax*2], xmm2
add rax, 0x10
cmp rax, r8
jne 0x14002b600
test sil, 3
je 0x14002b6b7
mov rax, rsi
and rax, 0xfffffffffffffffc
lea r13, [rax*4]
lea r8, [rcx + rax*8]
sub rsi, rax
lea r12, [rdx + r13]
cmp rbp, rax
je 0x14002b68d
movq xmm0, qword [rdx + rax*4]
pxor xmm1, xmm1
add r13, r11
lea r10, [r10 + 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 0x14002b6b7
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 rdx, [rdi + r9 + 4]
lea rcx, [rcx + rax*8 + 8]
cmp rdx, rbx
jae 0x14002b836
mov r9, rbx
sub r9, rdx
lea rax, [r9 - 1]
cmp rax, 6
jbe 0x14002be80
lea r8, [rcx + r9*2]
cmp rdx, r8
jae 0x14002b6fb
cmp rcx, rbx
jb 0x14002be80
cmp rax, 0xe
jbe 0x14002c67d
mov r10, r9
mov r8, r9
pxor xmm1, xmm1
xor eax, eax
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 [rdx + rax]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
punpcklbw xmm2, xmm1
movups xmmword [rcx + rax*2 + 0x10], xmm0
movups xmmword [rcx + rax*2], xmm2
add rax, 0x10
cmp r8, rax
jne 0x14002b740
mov rax, r10
lea r10, [rdx + r8]
shl rax, 5
add rax, rcx
cmp r9, r8
je 0x14002b836
sub r9, r8
lea r11, [r9 - 1]
cmp r11, 6
jbe 0x14002b7c3
movq xmm0, qword [rdx + r8]
pxor xmm1, xmm1
mov rdx, r9
lea rcx, [rcx + r8*2]
and rdx, 0xfffffffffffffff8
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
lea rax, [rax + rdx*2]
add r10, rdx
punpcklbw xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
and r9d, 7
movq qword [rcx], xmm2
movq qword [rcx + 8], xmm0
je 0x14002b836
movzx edx, byte [r10]
mov word [rax], dx
lea rdx, [r10 + 1]
cmp rdx, rbx
jae 0x14002b836
movzx edx, byte [r10 + 1]
mov word [rax + 2], dx
lea rdx, [r10 + 2]
cmp rdx, rbx
jae 0x14002b836
movzx edx, byte [r10 + 2]
mov word [rax + 4], dx
lea rdx, [r10 + 3]
cmp rdx, rbx
jae 0x14002b836
movzx edx, byte [r10 + 3]
mov word [rax + 6], dx
lea rdx, [r10 + 4]
cmp rdx, rbx
jae 0x14002b836
movzx edx, byte [r10 + 4]
mov word [rax + 8], dx
lea rdx, [r10 + 5]
cmp rdx, rbx
jae 0x14002b836
movzx edx, byte [r10 + 5]
mov word [rax + 0xa], dx
lea rdx, [r10 + 6]
cmp rdx, rbx
jae 0x14002b836
movzx edx, byte [r10 + 6]
mov word [rax + 0xc], dx
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp esi, 4
sete bl
test al, al
je 0x14002bc20
test bl, bl
je 0x14002bc20
lea rsi, [rdx + r9]
and r9, 0xfffffffffffffffc
lea rbx, [r10 + r11*4]
lea r8, [rdx + r9]
cmp rdx, r8
jae 0x14002ba06
sub r9, 1
mov rdi, rdx
cmp r9, 3
jbe 0x14002c615
mov r12, r9
shr r12, 2
lea rbp, [r12 + 1]
lea rax, [rbp*4]
lea rcx, [r11 + rax]
lea rcx, [r10 + rcx*4]
cmp rdx, rcx
jae 0x14002b8b5
add rax, rdx
cmp rbx, rax
jb 0x14002c615
cmp r9, 0xb
jbe 0x14002c891
mov r8, rbp
mov rax, rbx
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 0x14002b8e0
mov rax, rbp
and rax, 0xfffffffffffffffc
mov rcx, rax
lea r13, [rax*4]
shl rcx, 4
lea r8, [rdx + r13]
add rcx, rbx
test bpl, 3
je 0x14002b9eb
sub rbp, rax
cmp r12, rax
je 0x14002b9cd
movq xmm0, qword [rdx + rax*4]
pxor xmm1, xmm1
add r13, r11
lea r10, [r10 + 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 0x14002b9eb
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 rbx, rax
cmp rdx, rsi
jae 0x14002b836
mov r9, rsi
mov rcx, rdx
sub r9, rdx
lea rax, [r9 - 1]
cmp rax, 6
jbe 0x14002c5f8
lea r8, [rbx + r9*4]
cmp rdx, r8
jae 0x14002ba38
cmp rbx, rsi
jb 0x14002c5f8
cmp rax, 0xe
jbe 0x14002c8a1
mov r10, r9
mov r11, r9
pxor xmm3, xmm3
mov rax, rbx
and r10, 0xfffffffffffffff0
shr r11, 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 0x14002ba60
mov rax, r11
shl rax, 6
add rax, rbx
cmp r9, r10
je 0x14002b836
sub r9, r10
lea rcx, [r9 - 1]
cmp rcx, 6
jbe 0x14002bb35
movq xmm0, qword [rdx + r10]
pxor xmm1, xmm1
lea rcx, [rbx + 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 0x14002b836
movzx edx, byte [r8]
mov dword [rax], edx
lea rdx, [r8 + 1]
cmp rdx, rsi
jae 0x14002b836
movzx edx, byte [r8 + 1]
mov dword [rax + 4], edx
lea rdx, [r8 + 2]
cmp rdx, rsi
jae 0x14002b836
movzx edx, byte [r8 + 2]
mov dword [rax + 8], edx
lea rdx, [r8 + 3]
cmp rdx, rsi
jae 0x14002b836
movzx edx, byte [r8 + 3]
mov dword [rax + 0xc], edx
lea rdx, [r8 + 4]
cmp rdx, rsi
jae 0x14002b836
movzx edx, byte [r8 + 4]
mov dword [rax + 0x10], edx
lea rdx, [r8 + 5]
cmp rdx, rsi
jae 0x14002b836
movzx edx, byte [r8 + 5]
mov dword [rax + 0x14], edx
lea rdx, [r8 + 6]
cmp rdx, rsi
jae 0x14002b836
movzx edx, byte [r8 + 6]
mov dword [rax + 0x18], edx
jmp 0x14002b836
lea rdi, [rax + 0x30]
add rax, 0x48
and ebx, 0x40
cmove rdi, rax
mov r10, rdi
cmp ecx, esi
jne 0x14002b562
movzx r8d, r8b
imul r11, r8
imul r8, r9
lea rcx, [r10 + r11]
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sub.msvcrt.dll_memcpy
lea r10, [r8 + 0x30]
add r8, 0x48
and edx, 0x40
mov rdx, r10
cmove rdx, r8
jmp 0x14002b53a
cmp ecx, 2
sete al
test bl, bl
je 0x14002bec0
test al, al
je 0x14002bec0
lea r8, [r9 + r9]
lea rcx, [r10 + r11*4]
lea rsi, [rdx + r8]
and r8, 0xfffffffffffffff8
lea rax, [rdx + r8]
cmp rdx, rax
jae 0x14002bceb
sub r8, 1
mov rbx, r8
shr rbx, 3
add rbx, 1
cmp r8, 7
jbe 0x14002c8f5
mov r9, rbx
xor eax, eax
pxor xmm1, xmm1
shr r9, 1
shl r9, 4
nop dword [rax]
movdqu xmm0, xmmword [rdx + rax]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
punpcklwd xmm2, xmm1
movups xmmword [rcx + rax*2 + 0x10], xmm0
movups xmmword [rcx + rax*2], xmm2
add rax, 0x10
cmp rax, r9
jne 0x14002bc80
test bl, 1
je 0x14002bcdb
mov r9, rbx
and r9, 0xfffffffffffffffe
movq xmm0, qword [rdx + r9*8]
pxor xmm1, xmm1
lea rax, [r11 + r9*4]
lea rax, [r10 + 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 rbx, 4
and r8, 0xfffffffffffffff8
add rcx, rbx
lea rdx, [rdx + r8 + 8]
cmp rdx, rsi
jae 0x14002b836
lea rax, [rsi - 1]
sub rax, rdx
mov r9, rax
shr r9, 1
lea r10, [r9 + 1]
cmp rax, 0xd
jbe 0x14002c8fd
mov r8, r10
xor eax, eax
pxor xmm1, xmm1
shr r8, 3
shl r8, 4
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
movdqu xmm0, xmmword [rdx + rax]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
punpcklwd xmm2, xmm1
movups xmmword [rcx + rax*2 + 0x10], xmm0
movups xmmword [rcx + rax*2], xmm2
add rax, 0x10
cmp rax, r8
jne 0x14002bd40
mov rax, r10
and rax, 0xfffffffffffffff8
and r10d, 7
lea rbx, [rcx + rax*4]
lea r11, [rdx + rax*2]
je 0x14002b836
sub r9, rax
lea r8, [r9 + 1]
cmp r9, 2
jbe 0x14002bdc6
movq xmm0, qword [rdx + rax*2]
pxor xmm1, xmm1
lea rcx, [rcx + rax*4]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rcx], xmm2
movq qword [rcx + 8], xmm0
test r8b, 3
je 0x14002b836
and r8, 0xfffffffffffffffc
lea rbx, [rbx + r8*4]
lea r11, [r11 + r8*2]
movzx eax, word [r11]
mov dword [rbx], eax
lea rax, [r11 + 2]
cmp rax, rsi
jae 0x14002b836
movzx eax, word [r11 + 2]
mov dword [rbx + 4], eax
lea rax, [r11 + 4]
cmp rax, rsi
jae 0x14002b836
movzx eax, word [r11 + 4]
mov dword [rbx + 8], eax
jmp 0x14002b836
mov rax, 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 [rdx]
add rdx, 4
add rax, 8
mov word [rax - 8], r10w
movzx r10d, byte [rdx - 3]
mov word [rax - 6], r10w
movzx r10d, byte [rdx - 2]
mov word [rax - 4], r10w
movzx r10d, byte [rdx - 1]
mov word [rax - 2], r10w
cmp rdx, r8
jb 0x14002be40
jmp 0x14002b6b7
xor eax, eax
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx r8d, byte [rdx + rax]
mov word [rcx + rax*2], r8w
add rax, 1
cmp r9, rax
jne 0x14002bea0
jmp 0x14002b836
cmp esi, 1
sete bl
test al, al
je 0x14002c200
test bl, bl
je 0x14002c200
add r9, r9
lea rcx, [r10 + r11]
lea rbx, [rdx + r9]
and r9, 0xfffffffffffffff8
lea r8, [rdx + r9]
cmp rdx, r8
jae 0x14002c050
sub r9, 1
mov rdi, rdx
cmp r9, 7
jbe 0x14002c8af
mov rbp, r9
shr rbp, 3
lea rsi, [rbp + 1]
lea rax, [r11 + rsi*4]
add rax, r10
cmp rdx, rax
jae 0x14002bf27
lea rax, [rdx + rsi*8]
cmp rcx, rax
jb 0x14002c8af
cmp r9, 0x17
jbe 0x14002c97f
mov r8, rsi
mov r14d, 0xff00ff
xor eax, eax
shr r8, 2
movd xmm2, r14d
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 0x14002bf80
mov r14, rsi
and r14, 0xfffffffffffffffc
lea r13, [r14*4]
lea rax, [r14*8]
lea r8, [rcx + r13]
lea r12, [rdx + rax]
test sil, 3
je 0x14002c03b
sub rsi, r14
cmp rbp, r14
je 0x14002c015
movq xmm1, qword [0x140051890]
add rax, rdx
add r13, r10
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 + r11], xmm0
test sil, 1
je 0x14002c03b
mov rax, rsi
and rax, 0xfffffffffffffffe
lea r8, [r8 + rax*4]
lea r12, [r12 + rax*8]
movzx eax, word [r12]
mov byte [r8], al
movzx eax, word [r12 + 2]
mov byte [r8 + 1], al
movzx eax, word [r12 + 4]
mov byte [r8 + 2], al
movzx eax, word [r12 + 6]
mov byte [r8 + 3], al
mov rax, r9
and r9, 0xfffffffffffffff8
shr rax, 3
lea rdx, [rdi + r9 + 8]
lea rcx, [rcx + rax*4 + 4]
cmp rdx, rbx
jae 0x14002b836
lea rax, [rbx - 1]
sub rax, rdx
cmp rax, 0xd
jbe 0x14002c1e0
mov r8, rax
shr r8, 1
lea r9, [r8 + 1]
lea r10, [rdx + r9*2]
cmp rcx, r10
jae 0x14002c08a
lea r10, [rcx + r9]
cmp rdx, r10
jb 0x14002c1e0
cmp rax, 0x1d
jbe 0x14002c971
mov rsi, r9
mov r11, r9
mov edi, 0xff00ff
xor eax, eax
movd xmm2, edi
shr rsi, 4
and r11, 0xfffffffffffffff0
pshufd xmm2, xmm2, 0
nop word cs:[rax + rax]
nop dword [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 r11, rax
jne 0x14002c0c0
mov rax, rsi
lea r10, [rcx + r11]
shl rax, 5
add rax, rdx
cmp r11, r9
je 0x14002b836
sub r8, r11
lea r9, [r8 + 1]
cmp r8, 6
jbe 0x14002c14c
movq xmm1, qword [0x140051890]
lea rdx, [rdx + r11*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 + r11], xmm0
je 0x14002b836
movzx edx, word [rax]
mov byte [r10], dl
lea rdx, [rax + 2]
cmp rdx, rbx
jae 0x14002b836
movzx edx, word [rax + 2]
mov byte [r10 + 1], dl
lea rdx, [rax + 4]
cmp rdx, rbx
jae 0x14002b836
movzx edx, word [rax + 4]
mov byte [r10 + 2], dl
lea rdx, [rax + 6]
cmp rdx, rbx
jae 0x14002b836
movzx edx, word [rax + 6]
mov byte [r10 + 3], dl
lea rdx, [rax + 8]
cmp rdx, rbx
jae 0x14002b836
movzx edx, word [rax + 8]
mov byte [r10 + 4], dl
lea rdx, [rax + 0xa]
cmp rdx, rbx
jae 0x14002b836
movzx edx, word [rax + 0xa]
mov byte [r10 + 5], dl
lea rdx, [rax + 0xc]
cmp rdx, rbx
jae 0x14002b836
movzx eax, word [rax + 0xc]
mov byte [r10 + 6], al
jmp 0x14002b836
movzx eax, word [rdx]
add rdx, 2
add rcx, 1
mov byte [rcx - 1], al
cmp rdx, rbx
jb 0x14002c1e0
jmp 0x14002b836
cmp ecx, 4
sete al
test bl, bl
je 0x14002c68b
test al, al
je 0x14002c68b
shl r9, 2
lea r8, [r10 + r11]
lea rbx, [rdx + r9]
and r9, 0xfffffffffffffff0
lea rcx, [rdx + r9]
cmp rdx, rcx
jae 0x14002c3e2
lea rsi, [r9 - 1]
mov rbp, rdx
cmp rsi, 0xf
jbe 0x14002c90a
mov r12, rsi
shr r12, 4
lea rdi, [r12 + 1]
lea rax, [r11 + rdi*4]
add rax, r10
cmp rdx, rax
jae 0x14002c26f
mov rax, rdi
shl rax, 4
add rax, rdx
cmp r8, rax
jb 0x14002c90a
cmp rsi, 0x2f
jbe 0x14002c99e
mov r9, rdi
mov r14d, 0xff00ff
mov rcx, r8
mov rax, rdx
shr r9, 2
movd xmm4, r14d
shl r9, 6
pshufd xmm4, xmm4, 0
add r9, 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, r9
jne 0x14002c2a0
test dil, 3
je 0x14002c3cd
mov rax, rdi
and rax, 0xfffffffffffffffc
mov rcx, rax
lea r13, [rax*4]
sub rdi, rax
shl rcx, 4
lea r9, [r8 + r13]
add rcx, rdx
cmp r12, rax
je 0x14002c3b3
shl rax, 4
add r13, r10
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 [0x140051890]
pshufd xmm3, xmm3, 0x4e
punpcklwd xmm1, xmm3
pand xmm0, xmm2
pand xmm2, xmm1
packuswb xmm0, xmm2
pshufd xmm0, xmm0, 8
movq qword [r13 + r11], xmm0
test dil, 1
je 0x14002c3cd
and rdi, 0xfffffffffffffffe
lea r9, [r9 + rdi*4]
shl rdi, 4
add rcx, rdi
mov eax, dword [rcx]
mov byte [r9], al
mov eax, dword [rcx + 4]
mov byte [r9 + 1], al
mov eax, dword [rcx + 8]
mov byte [r9 + 2], al
mov eax, dword [rcx + 0xc]
mov byte [r9 + 3], al
mov rax, rsi
and rsi, 0xfffffffffffffff0
shr rax, 4
lea rdx, [rbp + rsi + 0x10]
lea r8, [r8 + rax*4 + 4]
cmp rdx, rbx
jae 0x14002b836
lea rcx, [rbx - 1]
mov rax, rdx
sub rcx, rdx
cmp rcx, 0x1b
jbe 0x14002c5e0
mov r11, rcx
shr r11, 2
lea r10, [r11 + 1]
lea r9, [rdx + r10*4]
cmp r8, r9
jae 0x14002c420
lea r9, [r8 + r10]
cmp rdx, r9
jb 0x14002c5e0
cmp rcx, 0x3b
jbe 0x14002c98f
mov r9, r10
mov edi, 0xff00ff
mov rcx, r8
shr r9, 4
movd xmm4, edi
shl r9, 6
pshufd xmm4, xmm4, 0
add r9, 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 r9, rax
jne 0x14002c450
mov rsi, r10
and rsi, 0xfffffffffffffff0
and r10d, 0xf
lea rax, [rsi*4]
lea r9, [r8 + rsi]
lea rcx, [rdx + rax]
je 0x14002b836
sub r11, rsi
lea r10, [r11 + 1]
cmp r11, 6
jbe 0x14002c55d
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, r10
and rax, 0xfffffffffffffff8
punpcklwd xmm3, xmm2
punpcklwd xmm1, xmm2
lea rcx, [rcx + rax*4]
add r9, rax
movq xmm2, qword [0x140051890]
pshufd xmm3, xmm3, 0x4e
and r10d, 7
punpcklwd xmm1, xmm3
pand xmm0, xmm2
pand xmm2, xmm1
packuswb xmm0, xmm2
pshufd xmm0, xmm0, 8
movq qword [r8 + rsi], xmm0
je 0x14002b836
mov eax, dword [rcx]
mov byte [r9], al
lea rax, [rcx + 4]
cmp rax, rbx
jae 0x14002b836
mov eax, dword [rcx + 4]
mov byte [r9 + 1], al
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x14002b836
mov eax, dword [rcx + 8]
mov byte [r9 + 2], al
lea rax, [rcx + 0xc]
cmp rax, rbx
jae 0x14002b836
mov eax, dword [rcx + 0xc]
mov byte [r9 + 3], al
lea rax, [rcx + 0x10]
cmp rax, rbx
jae 0x14002b836
mov eax, dword [rcx + 0x10]
mov byte [r9 + 4], al
lea rax, [rcx + 0x14]
cmp rax, rbx
jae 0x14002b836
mov eax, dword [rcx + 0x14]
mov byte [r9 + 5], al
lea rax, [rcx + 0x18]
cmp rax, rbx
jae 0x14002b836
mov eax, dword [rcx + 0x18]
mov byte [r9 + 6], al
jmp 0x14002b836
mov eax, dword [rdx]
add rdx, 4
add r8, 1
mov byte [r8 - 1], al
cmp rdx, rbx
jb 0x14002c5e0
jmp 0x14002b836
xor eax, eax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
mov dword [rbx + rax*4], ecx
add rax, 1
cmp r9, rax
jne 0x14002c600
jmp 0x14002b836
mov rax, rbx
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop dword [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 0x14002c640
jmp 0x14002b9eb
mov r8, rcx
mov r12, rdx
xor eax, eax
xor r13d, r13d
jmp 0x14002b64c
mov rax, rcx
mov r10, rdx
xor r8d, r8d
jmp 0x14002b787
test r8b, r8b
je 0x14002b836
test al, al
je 0x14002b836
lea rax, [r9*4]
lea r8, [r10 + r11*2]
lea rsi, [rdx + rax]
and rax, 0xfffffffffffffff0
lea rcx, [rdx + rax]
cmp rdx, rcx
jae 0x14002c780
sub rax, 1
mov rbx, rax
shr rbx, 4
add rbx, 1
cmp rax, 0xf
jbe 0x14002c9bb
mov r9, rbx
xor ecx, ecx
shr r9, 1
shl r9, 4
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop dword [rax + rax]
movdqu xmm2, xmmword [rdx + rcx*2 + 0x10]
movdqu xmm0, xmmword [rdx + rcx*2]
movdqa xmm1, xmm0
punpcklwd xmm0, xmm2
punpckhwd xmm1, xmm2
movdqa xmm2, xmm0
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm1
punpcklwd xmm0, xmm2
movups xmmword [r8 + rcx], xmm0
add rcx, 0x10
cmp rcx, r9
jne 0x14002c700
test bl, 1
je 0x14002c773
mov r9, rbx
and r9, 0xfffffffffffffffe
mov rcx, r9
shl rcx, 4
add rcx, rdx
movq xmm0, qword [rcx]
movq xmm1, qword [rcx + 8]
lea rcx, [r11 + r9*4]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq qword [r10 + rcx*2], xmm0
and rax, 0xfffffffffffffff0
lea r8, [r8 + rbx*8]
lea rdx, [rdx + rax + 0x10]
cmp rdx, rsi
jae 0x14002b836
lea rax, [rsi - 1]
sub rax, rdx
mov r9, rax
shr r9, 2
lea r11, [r9 + 1]
cmp rax, 0x1b
jbe 0x14002c9ae
mov rcx, r11
xor eax, eax
shr rcx, 3
shl rcx, 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 [r8 + rax], xmm0
add rax, 0x10
cmp rax, rcx
jne 0x14002c7c0
mov rcx, r11
and rcx, 0xfffffffffffffff8
and r11d, 7
lea r10, [r8 + rcx*2]
lea rax, [rdx + rcx*4]
je 0x14002b836
sub r9, rcx
lea r11, [r9 + 1]
cmp r9, 2
jbe 0x14002c85c
lea rdx, [rdx + rcx*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 [r8 + rcx*2], xmm0
je 0x14002b836
mov edx, dword [rax]
mov word [r10], dx
lea rdx, [rax + 4]
cmp rdx, rsi
jae 0x14002b836
mov edx, dword [rax + 4]
mov word [r10 + 2], dx
lea rdx, [rax + 8]
cmp rdx, rsi
jae 0x14002b836
mov eax, dword [rax + 8]
mov word [r10 + 4], ax
jmp 0x14002b836
mov rcx, rbx
mov r8, rdx
xor eax, eax
xor r13d, r13d
jmp 0x14002b954
mov rax, rbx
mov r8, rdx
xor r10d, r10d
jmp 0x14002bac5
mov rax, rcx
nop word cs:[rax + rax]
nop dword [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 0x14002c8c0
jmp 0x14002c03b
xor r9d, r9d
jmp 0x14002bcaf
mov rbx, rcx
mov r11, rdx
xor eax, eax
jmp 0x14002bd7c
mov rax, r8
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop dword [rax]
mov r9d, dword [rdx]
add rdx, 0x10
add rax, 4
mov byte [rax - 4], r9b
mov r9d, dword [rdx - 0xc]
mov byte [rax - 3], r9b
mov r9d, dword [rdx - 8]
mov byte [rax - 2], r9b
mov r9d, dword [rdx - 4]
mov byte [rax - 1], r9b
cmp rdx, rcx
jb 0x14002c940
jmp 0x14002c3cd
mov r10, rcx
mov rax, rdx
xor r11d, r11d
jmp 0x14002c108
mov r8, rcx
mov r12, rdx
xor r13d, r13d
xor eax, eax
jmp 0x14002bfd1
mov r9, r8
mov rcx, rdx
xor esi, esi
xor eax, eax
jmp 0x14002c4e6
mov r9, r8
mov rcx, rdx
xor eax, eax
xor r13d, r13d
jmp 0x14002c337
mov r10, r8
mov rax, rdx
xor ecx, ecx
jmp 0x14002c80e
xor r9d, r9d
jmp 0x14002c741