Function at 0x140149b80
Capabilities:
Enumerate pe sections

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
mov r10, rdx
movzx edx, byte [r8 + 0x20]
mov rax, rcx
mov ecx, edx
shr cl, 2
and ecx, 7
test dl, 0x20
jne 0x140149e50
mov rdx, qword [r8 + 0x48]
movzx r11d, byte [rax + 0x20]
mov r8d, r11d
shr r8b, 2
and r8d, 7
movzx ebx, r8b
test r11b, 0x20
jne 0x140149e10
mov r11, qword [rax + 0x48]
cmp ecx, ebx
je 0x140149e2b
cmp ecx, 1
sete al
cmp ebx, 2
sete r8b
test al, al
je 0x140149cf0
test r8b, r8b
je 0x140149cf0
lea rsi, [rdx + r9]
and r9, 0xfffffffffffffffc
lea rbx, [r11 + r10*2]
lea rdi, [rdx + r9]
cmp rdx, rdi
jae 0x140149c98
sub r9, 1
cmp r9, 3
jbe 0x14014a250
mov r12, r9
shr r12, 2
lea rbp, [r12 + 1]
lea rax, [rbp*4]
lea rcx, [r10 + rax]
lea rcx, [r11 + rcx*2]
cmp rdx, rcx
jae 0x14014a038
lea r8, [rdx + rax]
mov rcx, rbx
mov rax, rdx
cmp rbx, r8
jae 0x14014a038
nop
movzx r8d, byte [rax]
add rax, 4
add rcx, 8
mov word [rcx - 8], r8w
movzx r8d, byte [rax - 3]
mov word [rcx - 6], r8w
movzx r8d, byte [rax - 2]
mov word [rcx - 4], r8w
movzx r8d, byte [rax - 1]
mov word [rcx - 2], r8w
cmp rax, rdi
jb 0x140149c50
nop dword [rax]
shr r9, 2
add r9, 1
lea rdx, [rdx + r9*4]
lea rbx, [rbx + r9*8]
cmp rdx, rsi
jae 0x140149ce1
mov r8, rsi
sub r8, rdx
lea rcx, [r8 - 1]
cmp rcx, 6
jbe 0x14014a248
lea rax, [rbx + r8*2]
cmp rdx, rax
jae 0x14014a110
xor eax, eax
cmp rbx, rsi
jae 0x14014a110
nop dword [rax]
movzx ecx, byte [rdx + rax]
mov word [rbx + rax*2], cx
add rax, 1
cmp r8, rax
jne 0x140149cd0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
cmp ebx, 4
sete sil
test al, al
je 0x140149e70
test sil, sil
je 0x140149e70
lea rbx, [rdx + r9]
and r9, 0xfffffffffffffffc
lea r8, [r11 + r10*4]
lea rsi, [rdx + r9]
cmp rdx, rsi
jae 0x140149db3
sub r9, 1
cmp r9, 3
jbe 0x14014a648
mov rbp, r9
shr rbp, 2
lea rdi, [rbp + 1]
lea rax, [rdi*4]
lea rcx, [r10 + rax]
lea rcx, [r11 + rcx*4]
cmp rdx, rcx
jae 0x14014a370
lea r12, [rdx + rax]
mov rcx, r8
mov rax, rdx
cmp r8, r12
jae 0x14014a370
nop word cs:[rax + rax]
movzx r10d, byte [rax]
add rax, 4
add rcx, 0x10
mov dword [rcx - 0x10], r10d
movzx r10d, byte [rax - 3]
mov dword [rcx - 0xc], r10d
movzx r10d, byte [rax - 2]
mov dword [rcx - 8], r10d
movzx r10d, byte [rax - 1]
mov dword [rcx - 4], r10d
cmp rax, rsi
jb 0x140149d70
shr r9, 2
add r9, 1
lea rdx, [rdx + r9*4]
shl r9, 4
add r8, r9
cmp rdx, rbx
jae 0x140149ce1
mov rcx, rbx
mov r9, rdx
sub rcx, rdx
lea r10, [rcx - 1]
cmp r10, 6
jbe 0x14014a658
lea rax, [r8 + rcx*4]
cmp rdx, rax
jae 0x14014a4b8
xor eax, eax
cmp r8, rbx
jae 0x14014a4b8
nop dword [rax + rax]
movzx r9d, byte [rdx + rax]
mov dword [r8 + rax*4], r9d
add rax, 1
cmp rcx, rax
jne 0x140149df0
jmp 0x140149ce1
lea rsi, [rax + 0x30]
add rax, 0x48
and r11d, 0x40
cmove rsi, rax
mov r11, rsi
cmp ecx, ebx
jne 0x140149bd2
movzx r8d, r8b
imul r10, r8
imul r8, r9
lea rcx, [r11 + r10]
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sub.msvcrt.dll_memcpy
lea r11, [r8 + 0x30]
add r8, 0x48
and edx, 0x40
mov rdx, r11
cmove rdx, r8
jmp 0x140149ba8
cmp ecx, 2
sete al
test sil, sil
je 0x14014a260
test al, al
je 0x14014a260
add r9, r9
lea r8, [r11 + r10*4]
lea rbx, [rdx + r9]
and r9, 0xfffffffffffffff8
lea rax, [rdx + r9]
cmp rdx, rax
jae 0x140149f37
sub r9, 1
mov rax, r9
shr rax, 3
add rax, 1
cmp r9, 7
jbe 0x14014aeb6
mov r9, rax
xor ecx, ecx
pxor xmm1, xmm1
shr r9, 1
shl r9, 4
nop dword [rax]
movdqu xmm0, xmmword [rdx + rcx]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
punpcklwd xmm2, xmm1
movups xmmword [r8 + rcx*2 + 0x10], xmm0
movups xmmword [r8 + rcx*2], xmm2
add rcx, 0x10
cmp rcx, r9
jne 0x140149ed0
test al, 1
je 0x140149f2c
mov r9, rax
and r9, 0xfffffffffffffffe
movq xmm0, qword [rdx + r9*8]
pxor xmm1, xmm1
lea rcx, [r10 + r9*4]
lea rcx, [r11 + rcx*4]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rcx], xmm2
movq qword [rcx + 8], xmm0
lea rdx, [rdx + rax*8]
shl rax, 4
add r8, rax
cmp rdx, rbx
jae 0x140149ce1
lea rax, [rbx - 1]
sub rax, rdx
mov r10, rax
shr r10, 1
lea r11, [r10 + 1]
cmp rax, 0xd
jbe 0x14014aebe
mov rcx, r11
xor eax, eax
pxor xmm1, xmm1
shr rcx, 3
shl rcx, 4
nop dword [rax]
movdqu xmm0, xmmword [rdx + rax]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
punpcklwd xmm2, xmm1
movups xmmword [r8 + rax*2 + 0x10], xmm0
movups xmmword [r8 + rax*2], xmm2
add rax, 0x10
cmp rcx, rax
jne 0x140149f70
mov rax, r11
and rax, 0xfffffffffffffff8
and r11d, 7
lea rcx, [rdx + rax*2]
lea r9, [r8 + rax*4]
je 0x140149ce1
sub r10, rax
lea r11, [r10 + 1]
cmp r10, 2
jbe 0x140149ffd
movq xmm0, qword [rdx + rax*2]
pxor xmm1, xmm1
lea r8, [r8 + rax*4]
mov rax, r11
and rax, 0xfffffffffffffffc
and r11d, 3
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
lea rcx, [rcx + rax*2]
punpcklwd xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
lea r9, [r9 + rax*4]
movq qword [r8], xmm2
movq qword [r8 + 8], xmm0
je 0x140149ce1
movzx eax, word [rcx]
mov dword [r9], eax
lea rax, [rcx + 2]
cmp rax, rbx
jae 0x140149ce1
movzx eax, word [rcx + 2]
mov dword [r9 + 4], eax
lea rax, [rcx + 4]
cmp rax, rbx
jae 0x140149ce1
movzx eax, word [rcx + 4]
mov dword [r9 + 8], eax
jmp 0x140149ce1
cmp r9, 0xb
jbe 0x14014ab8d
mov rax, rbp
xor ecx, ecx
pxor xmm1, xmm1
shr rax, 2
shl rax, 4
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx + rcx]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
punpcklbw xmm2, xmm1
movups xmmword [rbx + rcx*2 + 0x10], xmm0
movups xmmword [rbx + rcx*2], xmm2
add rcx, 0x10
cmp rcx, rax
jne 0x14014a058
test bpl, 3
je 0x140149c88
mov rdi, rbp
and rdi, 0xfffffffffffffffc
lea rax, [rdi*4]
lea rcx, [rbx + rdi*8]
sub rbp, rdi
lea r8, [rdx + rax]
cmp r12, rdi
je 0x14014a0e7
movq xmm0, qword [rdx + rdi*4]
pxor xmm1, xmm1
add rax, r10
lea rax, [r11 + rax*2]
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
punpcklbw xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rax], xmm2
movq qword [rax + 8], xmm0
test bpl, 1
je 0x140149c88
mov rax, rbp
and rax, 0xfffffffffffffffe
lea r8, [r8 + rax*4]
lea rcx, [rcx + rax*8]
movzx eax, byte [r8]
mov word [rcx], ax
movzx eax, byte [r8 + 1]
mov word [rcx + 2], ax
movzx eax, byte [r8 + 2]
mov word [rcx + 4], ax
movzx eax, byte [r8 + 3]
mov word [rcx + 6], ax
jmp 0x140149c88
cmp rcx, 0xe
jbe 0x14014ab80
mov r9, r8
mov rcx, r8
pxor xmm1, xmm1
xor eax, eax
shr r9, 4
and rcx, 0xfffffffffffffff0
nop
movdqu xmm0, xmmword [rdx + rax]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
punpcklbw xmm2, xmm1
movups xmmword [rbx + rax*2 + 0x10], xmm0
movups xmmword [rbx + rax*2], xmm2
add rax, 0x10
cmp rcx, rax
jne 0x14014a130
shl r9, 5
lea rax, [rdx + rcx]
add r9, rbx
cmp r8, rcx
je 0x140149ce1
sub r8, rcx
lea r10, [r8 - 1]
cmp r10, 6
jbe 0x14014a1b5
movq xmm0, qword [rdx + rcx]
pxor xmm1, xmm1
mov rdx, r8
lea r10, [rbx + rcx*2]
and rdx, 0xfffffffffffffff8
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
lea r9, [r9 + rdx*2]
add rax, rdx
punpcklbw xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
and r8d, 7
movq qword [r10], xmm2
movq qword [r10 + 8], xmm0
je 0x140149ce1
movzx edx, byte [rax]
mov word [r9], dx
lea rdx, [rax + 1]
cmp rdx, rsi
jae 0x140149ce1
movzx edx, byte [rax + 1]
mov word [r9 + 2], dx
lea rdx, [rax + 2]
cmp rdx, rsi
jae 0x140149ce1
movzx edx, byte [rax + 2]
mov word [r9 + 4], dx
lea rdx, [rax + 3]
cmp rdx, rsi
jae 0x140149ce1
movzx edx, byte [rax + 3]
mov word [r9 + 6], dx
lea rdx, [rax + 4]
cmp rdx, rsi
jae 0x140149ce1
movzx edx, byte [rax + 4]
mov word [r9 + 8], dx
lea rdx, [rax + 5]
cmp rdx, rsi
jae 0x140149ce1
movzx edx, byte [rax + 5]
mov word [r9 + 0xa], dx
lea rdx, [rax + 6]
cmp rdx, rsi
jae 0x140149ce1
movzx eax, byte [rax + 6]
mov word [r9 + 0xc], ax
jmp 0x140149ce1
xor eax, eax
jmp 0x140149cd0
mov rcx, rbx
mov rax, rdx
jmp 0x140149c50
cmp ebx, 1
sete bl
test al, al
je 0x14014a660
test bl, bl
je 0x14014a660
lea r8, [r9 + r9]
lea rbx, [r11 + r10]
lea rsi, [rdx + r8]
and r8, 0xfffffffffffffff8
lea rdi, [rdx + r8]
cmp rdx, rdi
jae 0x14014a310
sub r8, 1
cmp r8, 7
jbe 0x14014ab75
mov rbp, r8
shr rbp, 3
lea r9, [rbp + 1]
lea rcx, [r10 + r9*4]
add rcx, r11
cmp rdx, rcx
jae 0x14014aa94
lea r12, [rdx + r9*8]
mov rcx, rbx
mov rax, rdx
cmp rbx, r12
jae 0x14014aa94
nop
movzx r9d, word [rax]
add rax, 8
add rcx, 4
mov byte [rcx - 4], r9b
movzx r9d, word [rax - 6]
mov byte [rcx - 3], r9b
movzx r9d, word [rax - 4]
mov byte [rcx - 2], r9b
movzx r9d, word [rax - 2]
mov byte [rcx - 1], r9b
cmp rax, rdi
jb 0x14014a2d0
shr r8, 3
lea rax, [r8 + 1]
lea rdx, [rdx + rax*8]
lea rbx, [rbx + rax*4]
cmp rdx, rsi
jae 0x140149ce1
lea rax, [rsi - 1]
sub rax, rdx
cmp rax, 0xd
jbe 0x14014a350
mov r10, rax
shr r10, 1
lea rcx, [r10 + 1]
lea r8, [rdx + rcx*2]
cmp rbx, r8
jae 0x14014a957
lea r8, [rbx + rcx]
cmp rdx, r8
jae 0x14014a957
nop word [rax + rax]
movzx eax, word [rdx]
add rdx, 2
add rbx, 1
mov byte [rbx - 1], al
cmp rdx, rsi
jb 0x14014a350
jmp 0x140149ce1
cmp r9, 0xb
jbe 0x14014aee4
mov rsi, rdi
mov rcx, rdx
pxor xmm3, xmm3
mov rax, r8
shr rsi, 2
pxor xmm2, xmm2
shl rsi, 4
add rsi, rdx
nop word cs:[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 rsi, rcx
jne 0x14014a3a0
mov r12, rdi
and r12, 0xfffffffffffffffc
mov rax, r12
lea rsi, [r12*4]
shl rax, 4
lea rcx, [rdx + rsi]
add rax, r8
test dil, 3
je 0x140149da0
sub rdi, r12
cmp rbp, r12
je 0x14014a48c
movq xmm0, qword [rdx + r12*4]
pxor xmm1, xmm1
add rsi, r10
lea r10, [r11 + rsi*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 dil, 1
je 0x140149da0
and rdi, 0xfffffffffffffffe
lea rcx, [rcx + rdi*4]
shl rdi, 4
add rax, rdi
movzx r10d, byte [rcx]
mov dword [rax], r10d
movzx r10d, byte [rcx + 1]
mov dword [rax + 4], r10d
movzx r10d, byte [rcx + 2]
mov dword [rax + 8], r10d
movzx ecx, byte [rcx + 3]
mov dword [rax + 0xc], ecx
jmp 0x140149da0
cmp r10, 0xe
jbe 0x14014aed6
mov r11, rcx
mov rsi, rcx
pxor xmm3, xmm3
mov rax, r8
and r11, 0xfffffffffffffff0
shr rsi, 4
pxor xmm2, xmm2
lea r10, [rdx + r11]
nop
movdqu xmm0, xmmword [r9]
add r9, 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 r10, r9
jne 0x14014a4e0
shl rsi, 6
mov rax, r10
mov r9, rsi
add r9, r8
cmp rcx, r11
je 0x140149ce1
sub rcx, r11
lea r10, [rcx - 1]
cmp r10, 6
jbe 0x14014a5bc
movq xmm0, qword [rdx + r11]
pxor xmm1, xmm1
lea r8, [r8 + r11*4]
mov rdx, rcx
and rdx, 0xfffffffffffffff8
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
lea r9, [r9 + rdx*4]
add rax, rdx
punpcklbw xmm2, xmm1
pxor xmm1, xmm1
pshufd xmm0, xmm0, 0x4e
and ecx, 7
movdqa xmm3, xmm2
punpcklwd xmm2, xmm1
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm3, xmm1
movq qword [r8 + 8], xmm2
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [r8], xmm3
movq qword [r8 + 0x10], xmm2
movq qword [r8 + 0x18], xmm0
je 0x140149ce1
movzx edx, byte [rax]
mov dword [r9], edx
lea rdx, [rax + 1]
cmp rdx, rbx
jae 0x140149ce1
movzx edx, byte [rax + 1]
mov dword [r9 + 4], edx
lea rdx, [rax + 2]
cmp rdx, rbx
jae 0x140149ce1
movzx edx, byte [rax + 2]
mov dword [r9 + 8], edx
lea rdx, [rax + 3]
cmp rdx, rbx
jae 0x140149ce1
movzx edx, byte [rax + 3]
mov dword [r9 + 0xc], edx
lea rdx, [rax + 4]
cmp rdx, rbx
jae 0x140149ce1
movzx edx, byte [rax + 4]
mov dword [r9 + 0x10], edx
lea rdx, [rax + 5]
cmp rdx, rbx
jae 0x140149ce1
movzx edx, byte [rax + 5]
mov dword [r9 + 0x14], edx
lea rdx, [rax + 6]
cmp rdx, rbx
jae 0x140149ce1
movzx eax, byte [rax + 6]
mov dword [r9 + 0x18], eax
jmp 0x140149ce1
mov rcx, r8
mov rax, rdx
jmp 0x140149d70
xor eax, eax
jmp 0x140149df0
cmp ecx, 4
sete al
test bl, bl
je 0x14014a777
test al, al
je 0x14014a777
shl r9, 2
lea rbx, [r11 + r10]
lea rsi, [rdx + r9]
and r9, 0xfffffffffffffff0
lea rdi, [rdx + r9]
cmp rdx, rdi
jae 0x14014a71e
sub r9, 1
cmp r9, 0xf
jbe 0x14014aecb
mov rbp, r9
shr rbp, 4
lea r8, [rbp + 1]
lea rax, [r10 + r8*4]
add rax, r11
cmp rdx, rax
jae 0x14014ad4f
mov r12, r8
mov rcx, rbx
mov rax, rdx
shl r12, 4
add r12, rdx
cmp rbx, r12
jae 0x14014ad4f
nop dword [rax]
mov r8d, dword [rax]
add rax, 0x10
add rcx, 4
mov byte [rcx - 4], r8b
mov r8d, dword [rax - 0xc]
mov byte [rcx - 3], r8b
mov r8d, dword [rax - 8]
mov byte [rcx - 2], r8b
mov r8d, dword [rax - 4]
mov byte [rcx - 1], r8b
cmp rax, rdi
jb 0x14014a6d8
nop dword [rax]
shr r9, 4
lea rax, [r9 + 1]
mov rcx, rax
lea rbx, [rbx + rax*4]
shl rcx, 4
add rdx, rcx
cmp rdx, rsi
jae 0x140149ce1
lea rcx, [rsi - 1]
mov rax, rdx
sub rcx, rdx
cmp rcx, 0x1b
jbe 0x14014a760
mov r11, rcx
shr r11, 2
lea r9, [r11 + 1]
lea r8, [rdx + r9*4]
cmp rbx, r8
jae 0x14014ab9c
lea r8, [rbx + r9]
cmp rdx, r8
jae 0x14014ab9c
nop dword [rax]
mov eax, dword [rdx]
add rdx, 4
add rbx, 1
mov byte [rbx - 1], al
cmp rdx, rsi
jb 0x14014a760
jmp 0x140149ce1
test r8b, r8b
je 0x140149ce1
test al, al
je 0x140149ce1
lea rcx, [r9*4]
lea r8, [r11 + r10*2]
lea r9, [rdx + rcx]
and rcx, 0xfffffffffffffff0
lea rax, [rdx + rcx]
cmp rdx, rax
jae 0x14014a851
sub rcx, 1
mov rbx, rcx
shr rbx, 4
add rbx, 1
cmp rcx, 0xf
jbe 0x14014af1f
mov rcx, rbx
xor eax, eax
shr rcx, 1
shl rcx, 4
nop
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm5, xmmword [rdx + rax*2 + 0x10]
movdqa xmm1, xmm0
punpcklwd xmm0, xmm5
punpckhwd xmm1, xmm5
movdqa xmm2, xmm0
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm1
punpcklwd xmm0, xmm2
movups xmmword [r8 + rax], xmm0
add rax, 0x10
cmp rcx, rax
jne 0x14014a7d0
test bl, 1
je 0x14014a843
mov rcx, rbx
and rcx, 0xfffffffffffffffe
mov rax, rcx
shl rax, 4
add rax, rdx
movq xmm0, qword [rax]
movq xmm1, qword [rax + 8]
lea rax, [r10 + rcx*4]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq qword [r11 + rax*2], xmm0
mov rax, rbx
lea r8, [r8 + rbx*8]
shl rax, 4
add rdx, rax
cmp rdx, r9
jae 0x140149ce1
lea rax, [r9 - 1]
sub rax, rdx
mov r11, rax
shr r11, 2
lea rbx, [r11 + 1]
cmp rax, 0x1b
jbe 0x14014af12
mov rcx, rbx
xor eax, eax
shr rcx, 3
shl rcx, 4
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm5, xmmword [rdx + rax*2 + 0x10]
movdqa xmm1, xmm0
punpcklwd xmm0, xmm5
punpckhwd xmm1, xmm5
movdqa xmm2, xmm0
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm1
punpcklwd xmm0, xmm2
movups xmmword [r8 + rax], xmm0
add rax, 0x10
cmp rax, rcx
jne 0x14014a888
mov rcx, rbx
and rcx, 0xfffffffffffffff8
and ebx, 7
lea rax, [rdx + rcx*4]
lea r10, [r8 + rcx*2]
je 0x140149ce1
sub r11, rcx
lea rbx, [r11 + 1]
cmp r11, 2
jbe 0x14014a922
lea rdx, [rdx + rcx*4]
movq xmm0, qword [rdx]
movq xmm1, qword [rdx + 8]
mov rdx, rbx
and rdx, 0xfffffffffffffffc
and ebx, 3
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
lea rax, [rax + rdx*4]
punpcklwd xmm2, xmm1
lea r10, [r10 + rdx*2]
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq qword [r8 + rcx*2], xmm0
je 0x140149ce1
mov edx, dword [rax]
mov word [r10], dx
lea rdx, [rax + 4]
cmp rdx, r9
jae 0x140149ce1
mov edx, dword [rax + 4]
mov word [r10 + 2], dx
lea rdx, [rax + 8]
cmp rdx, r9
jae 0x140149ce1
mov eax, dword [rax + 8]
mov word [r10 + 4], ax
jmp 0x140149ce1
cmp rax, 0x1d
jbe 0x14014aef4
mov r9, rcx
mov r8, rcx
movdqa xmm1, xmmword [0x1401f6cd0]
xor eax, eax
shr r9, 4
and r8, 0xfffffffffffffff0
nop dword [rax]
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm2, xmmword [rdx + rax*2 + 0x10]
pand xmm0, xmm1
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rbx + rax], xmm0
add rax, 0x10
cmp rax, r8
jne 0x14014a980
mov rax, r9
lea r9, [rbx + r8]
shl rax, 5
add rax, rdx
cmp r8, rcx
je 0x140149ce1
sub r10, r8
lea rcx, [r10 + 1]
cmp r10, 6
jbe 0x14014aa0b
movq xmm1, qword [0x1401f6cd0]
lea rdx, [rdx + r8*2]
movq xmm0, qword [rdx]
movq xmm2, qword [rdx + 8]
mov rdx, rcx
and rdx, 0xfffffffffffffff8
pand xmm0, xmm1
pand xmm1, xmm2
lea rax, [rax + rdx*2]
add r9, rdx
packuswb xmm0, xmm1
and ecx, 7
pshufd xmm0, xmm0, 8
movq qword [rbx + r8], xmm0
je 0x140149ce1
movzx edx, word [rax]
mov byte [r9], dl
lea rdx, [rax + 2]
cmp rdx, rsi
jae 0x140149ce1
movzx edx, word [rax + 2]
mov byte [r9 + 1], dl
lea rdx, [rax + 4]
cmp rdx, rsi
jae 0x140149ce1
movzx edx, word [rax + 4]
mov byte [r9 + 2], dl
lea rdx, [rax + 6]
cmp rdx, rsi
jae 0x140149ce1
movzx edx, word [rax + 6]
mov byte [r9 + 3], dl
lea rdx, [rax + 8]
cmp rdx, rsi
jae 0x140149ce1
movzx edx, word [rax + 8]
mov byte [r9 + 4], dl
lea rdx, [rax + 0xa]
cmp rdx, rsi
jae 0x140149ce1
movzx edx, word [rax + 0xa]
mov byte [r9 + 5], dl
lea rdx, [rax + 0xc]
cmp rdx, rsi
jae 0x140149ce1
movzx eax, word [rax + 0xc]
mov byte [r9 + 6], al
jmp 0x140149ce1
cmp r8, 0x17
jbe 0x14014af02
mov rcx, r9
movdqa xmm1, xmmword [0x1401f6cd0]
xor eax, eax
shr rcx, 2
shl rcx, 4
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm2, xmmword [rdx + rax*2 + 0x10]
pand xmm0, xmm1
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rbx + rax], xmm0
add rax, 0x10
cmp rax, rcx
jne 0x14014aab8
test r9b, 3
je 0x14014a300
mov r13, r9
and r13, 0xfffffffffffffffc
lea r12, [r13*8]
lea rax, [r13*4]
sub r9, r13
lea rdi, [rdx + r12]
lea rcx, [rbx + rax]
cmp rbp, r13
je 0x14014ab56
movq xmm1, qword [0x1401f6cd0]
lea rbp, [rdx + r12]
add rax, r11
movq xmm0, qword [rbp]
movq xmm2, qword [rbp + 8]
pand xmm0, xmm1
pand xmm1, xmm2
packuswb xmm0, xmm1
pshufd xmm0, xmm0, 8
movq qword [rax + r10], xmm0
test r9b, 1
je 0x14014a300
mov rax, r9
and rax, 0xfffffffffffffffe
lea rdi, [rdi + rax*8]
lea rcx, [rcx + rax*4]
movzx eax, word [rdi]
mov byte [rcx], al
movzx eax, word [rdi + 2]
mov byte [rcx + 1], al
movzx eax, word [rdi + 4]
mov byte [rcx + 2], al
movzx eax, word [rdi + 6]
mov byte [rcx + 3], al
jmp 0x14014a300
mov rcx, rbx
mov rax, rdx
jmp 0x14014a2d0
mov r9, rbx
mov rax, rdx
xor ecx, ecx
jmp 0x14014a174
mov rcx, rbx
mov r8, rdx
xor edi, edi
xor eax, eax
jmp 0x14014a0a4
cmp rcx, 0x3b
jbe 0x14014af36
mov r8, r9
movdqa xmm1, xmmword [0x1401f6cd0]
mov rcx, rbx
shr r8, 4
shl r8, 6
add r8, rdx
nop
movdqu xmm5, xmmword [rax + 0x10]
movdqu xmm0, xmmword [rax]
add rax, 0x40
add rcx, 0x10
movdqa xmm2, xmm0
punpcklwd xmm0, xmm5
punpckhwd xmm2, xmm5
movdqa xmm3, xmm0
movdqu xmm5, xmmword [rax - 0x10]
punpckhwd xmm3, xmm2
punpcklwd xmm0, xmm2
movdqu xmm2, xmmword [rax - 0x20]
punpcklwd xmm0, xmm3
movdqa xmm3, xmm2
punpcklwd xmm2, xmm5
pand xmm0, xmm1
punpckhwd xmm3, xmm5
movdqa xmm4, xmm2
punpckhwd xmm4, xmm3
punpcklwd xmm2, xmm3
punpcklwd xmm2, xmm4
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rcx - 0x10], xmm0
cmp rax, r8
jne 0x14014abc0
mov r10, r9
and r10, 0xfffffffffffffff0
and r9d, 0xf
lea rax, [r10*4]
lea r8, [rbx + r10]
lea rcx, [rdx + rax]
je 0x140149ce1
sub r11, r10
lea r9, [r11 + 1]
cmp r11, 6
jbe 0x14014accd
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 [0x1401f6cd0]
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 [rbx + r10], xmm0
je 0x140149ce1
mov eax, dword [rcx]
mov byte [r8], al
lea rax, [rcx + 4]
cmp rax, rsi
jae 0x140149ce1
mov eax, dword [rcx + 4]
mov byte [r8 + 1], al
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x140149ce1
mov eax, dword [rcx + 8]
mov byte [r8 + 2], al
lea rax, [rcx + 0xc]
cmp rax, rsi
jae 0x140149ce1
mov eax, dword [rcx + 0xc]
mov byte [r8 + 3], al
lea rax, [rcx + 0x10]
cmp rax, rsi
jae 0x140149ce1
mov eax, dword [rcx + 0x10]
mov byte [r8 + 4], al
lea rax, [rcx + 0x14]
cmp rax, rsi
jae 0x140149ce1
mov eax, dword [rcx + 0x14]
mov byte [r8 + 5], al
lea rax, [rcx + 0x18]
cmp rax, rsi
jae 0x140149ce1
mov eax, dword [rcx + 0x18]
mov byte [r8 + 6], al
jmp 0x140149ce1
cmp r9, 0x2f
jbe 0x14014af26
mov rdi, r8
movdqa xmm1, xmmword [0x1401f6cd0]
mov rax, rdx
mov rcx, rbx
shr rdi, 2
shl rdi, 6
add rdi, rdx
nop dword [rax]
movdqu xmm5, xmmword [rax + 0x10]
movdqu xmm0, xmmword [rax]
add rax, 0x40
add rcx, 0x10
movdqa xmm2, xmm0
punpcklwd xmm0, xmm5
punpckhwd xmm2, xmm5
movdqa xmm3, xmm0
movdqu xmm5, xmmword [rax - 0x10]
punpckhwd xmm3, xmm2
punpcklwd xmm0, xmm2
movdqu xmm2, xmmword [rax - 0x20]
punpcklwd xmm0, xmm3
movdqa xmm3, xmm2
punpcklwd xmm2, xmm5
pand xmm0, xmm1
punpckhwd xmm3, xmm5
movdqa xmm4, xmm2
punpckhwd xmm4, xmm3
punpcklwd xmm2, xmm3
punpcklwd xmm2, xmm4
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rcx - 0x10], xmm0
cmp rax, rdi
jne 0x14014ad78
test r8b, 3
je 0x14014a708
mov rdi, r8
and rdi, 0xfffffffffffffffc
mov rax, rdi
lea r12, [rdi*4]
sub r8, rdi
shl rax, 4
lea rcx, [rbx + r12]
add rax, rdx
cmp rbp, rdi
je 0x14014ae95
shl rdi, 4
add r12, r11
add rdi, rdx
movq xmm0, qword [rdi]
movq xmm1, qword [rdi + 8]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpcklwd xmm2, xmm1
movq xmm1, qword [rdi + 0x10]
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq xmm2, qword [rdi + 0x18]
movdqa xmm3, xmm1
punpcklwd xmm3, xmm2
punpcklwd xmm1, xmm2
movq xmm2, qword [0x1401f6cd0]
pshufd xmm3, xmm3, 0x4e
punpcklwd xmm1, xmm3
pand xmm0, xmm2
pand xmm2, xmm1
packuswb xmm0, xmm2
pshufd xmm0, xmm0, 8
movq qword [r12 + r10], xmm0
test r8b, 1
je 0x14014a708
and r8, 0xfffffffffffffffe
mov r10, r8
lea rcx, [rcx + r8*4]
shl r10, 4
add rax, r10
mov r8d, dword [rax]
mov byte [rcx], r8b
mov r8d, dword [rax + 4]
mov byte [rcx + 1], r8b
mov r8d, dword [rax + 8]
mov byte [rcx + 2], r8b
mov eax, dword [rax + 0xc]
mov byte [rcx + 3], al
jmp 0x14014a708
xor r9d, r9d
jmp 0x140149f00
mov r9, r8
mov rcx, rdx
xor eax, eax
jmp 0x140149fae
mov rcx, rbx
mov rax, rdx
jmp 0x14014a6d8
mov r9, r8
mov rax, rdx
xor r11d, r11d
jmp 0x14014a549
mov rax, r8
mov rcx, rdx
xor r12d, r12d
xor esi, esi
jmp 0x14014a414
mov r9, rbx
mov rax, rdx
xor r8d, r8d
jmp 0x14014a9c8
mov rcx, rbx
mov rdi, rdx
xor r12d, r12d
xor eax, eax
jmp 0x14014ab0d
mov r10, r8
mov rax, rdx
xor ecx, ecx
jmp 0x14014a8d5
xor ecx, ecx
jmp 0x14014a811
mov rcx, rbx
mov rax, rdx
xor edi, edi
xor r12d, r12d
jmp 0x14014ae13
mov r8, rbx
mov rcx, rdx
xor r10d, r10d
xor eax, eax
jmp 0x14014ac56