Function at 0x14003c0d0
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 0x14003c7c0
mov rdx, qword [r8 + 0x38]
movzx ebx, byte [rax + 0x20]
mov r8d, ebx
shr r8b, 2
and r8d, 7
movzx esi, r8b
test bl, 0x20
jne 0x14003c780
mov r10, qword [rax + 0x38]
cmp ecx, esi
je 0x14003c79a
cmp ecx, 1
sete al
cmp esi, 2
sete r8b
test al, al
je 0x14003c408
test r8b, r8b
je 0x14003c408
lea rbx, [rdx + r9]
and r9, 0xfffffffffffffffc
lea rcx, [r10 + r11*2]
lea r8, [rdx + r9]
cmp rdx, r8
jae 0x14003c28c
sub r9, 1
mov rdi, rdx
cmp r9, 3
jbe 0x14003c9c0
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 0x14003c196
add rax, rdx
cmp rcx, rax
jb 0x14003c9c0
cmp r9, 0xb
jbe 0x14003d22d
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 0x14003c1c0
test sil, 3
je 0x14003c277
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 0x14003c24d
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 0x14003c277
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 0x14003c3f6
mov r9, rbx
sub r9, rdx
lea rax, [r9 - 1]
cmp rax, 6
jbe 0x14003ca40
lea r8, [rcx + r9*2]
cmp rdx, r8
jae 0x14003c2bb
cmp rcx, rbx
jb 0x14003ca40
cmp rax, 0xe
jbe 0x14003d23d
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 0x14003c300
mov rax, r10
lea r10, [rdx + r8]
shl rax, 5
add rax, rcx
cmp r9, r8
je 0x14003c3f6
sub r9, r8
lea r11, [r9 - 1]
cmp r11, 6
jbe 0x14003c383
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 0x14003c3f6
movzx edx, byte [r10]
mov word [rax], dx
lea rdx, [r10 + 1]
cmp rdx, rbx
jae 0x14003c3f6
movzx edx, byte [r10 + 1]
mov word [rax + 2], dx
lea rdx, [r10 + 2]
cmp rdx, rbx
jae 0x14003c3f6
movzx edx, byte [r10 + 2]
mov word [rax + 4], dx
lea rdx, [r10 + 3]
cmp rdx, rbx
jae 0x14003c3f6
movzx edx, byte [r10 + 3]
mov word [rax + 6], dx
lea rdx, [r10 + 4]
cmp rdx, rbx
jae 0x14003c3f6
movzx edx, byte [r10 + 4]
mov word [rax + 8], dx
lea rdx, [r10 + 5]
cmp rdx, rbx
jae 0x14003c3f6
movzx edx, byte [r10 + 5]
mov word [rax + 0xa], dx
lea rdx, [r10 + 6]
cmp rdx, rbx
jae 0x14003c3f6
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 0x14003c7e0
test bl, bl
je 0x14003c7e0
lea rsi, [rdx + r9]
and r9, 0xfffffffffffffffc
lea rbx, [r10 + r11*4]
lea r8, [rdx + r9]
cmp rdx, r8
jae 0x14003c5c6
sub r9, 1
mov rdi, rdx
cmp r9, 3
jbe 0x14003d1d5
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 0x14003c475
add rax, rdx
cmp rbx, rax
jb 0x14003d1d5
cmp r9, 0xb
jbe 0x14003d451
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 0x14003c4a0
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 0x14003c5ab
sub rbp, rax
cmp r12, rax
je 0x14003c58d
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 0x14003c5ab
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 0x14003c3f6
mov r9, rsi
mov rcx, rdx
sub r9, rdx
lea rax, [r9 - 1]
cmp rax, 6
jbe 0x14003d1b8
lea r8, [rbx + r9*4]
cmp rdx, r8
jae 0x14003c5f8
cmp rbx, rsi
jb 0x14003d1b8
cmp rax, 0xe
jbe 0x14003d461
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 0x14003c620
mov rax, r11
shl rax, 6
add rax, rbx
cmp r9, r10
je 0x14003c3f6
sub r9, r10
lea rcx, [r9 - 1]
cmp rcx, 6
jbe 0x14003c6f5
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 0x14003c3f6
movzx edx, byte [r8]
mov dword [rax], edx
lea rdx, [r8 + 1]
cmp rdx, rsi
jae 0x14003c3f6
movzx edx, byte [r8 + 1]
mov dword [rax + 4], edx
lea rdx, [r8 + 2]
cmp rdx, rsi
jae 0x14003c3f6
movzx edx, byte [r8 + 2]
mov dword [rax + 8], edx
lea rdx, [r8 + 3]
cmp rdx, rsi
jae 0x14003c3f6
movzx edx, byte [r8 + 3]
mov dword [rax + 0xc], edx
lea rdx, [r8 + 4]
cmp rdx, rsi
jae 0x14003c3f6
movzx edx, byte [r8 + 4]
mov dword [rax + 0x10], edx
lea rdx, [r8 + 5]
cmp rdx, rsi
jae 0x14003c3f6
movzx edx, byte [r8 + 5]
mov dword [rax + 0x14], edx
lea rdx, [r8 + 6]
cmp rdx, rsi
jae 0x14003c3f6
movzx edx, byte [r8 + 6]
mov dword [rax + 0x18], edx
jmp 0x14003c3f6
lea rdi, [rax + 0x28]
add rax, 0x38
and ebx, 0x40
cmove rdi, rax
mov r10, rdi
cmp ecx, esi
jne 0x14003c122
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 + 0x28]
add r8, 0x38
and edx, 0x40
mov rdx, r10
cmove rdx, r8
jmp 0x14003c0fa
cmp ecx, 2
sete al
test bl, bl
je 0x14003ca80
test al, al
je 0x14003ca80
lea r8, [r9 + r9]
lea rcx, [r10 + r11*4]
lea rsi, [rdx + r8]
and r8, 0xfffffffffffffff8
lea rax, [rdx + r8]
cmp rdx, rax
jae 0x14003c8ab
sub r8, 1
mov rbx, r8
shr rbx, 3
add rbx, 1
cmp r8, 7
jbe 0x14003d4b5
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 0x14003c840
test bl, 1
je 0x14003c89b
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 0x14003c3f6
lea rax, [rsi - 1]
sub rax, rdx
mov r9, rax
shr r9, 1
lea r10, [r9 + 1]
cmp rax, 0xd
jbe 0x14003d4bd
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 0x14003c900
mov rax, r10
and rax, 0xfffffffffffffff8
and r10d, 7
lea rbx, [rcx + rax*4]
lea r11, [rdx + rax*2]
je 0x14003c3f6
sub r9, rax
lea r8, [r9 + 1]
cmp r9, 2
jbe 0x14003c986
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 0x14003c3f6
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 0x14003c3f6
movzx eax, word [r11 + 2]
mov dword [rbx + 4], eax
lea rax, [r11 + 4]
cmp rax, rsi
jae 0x14003c3f6
movzx eax, word [r11 + 4]
mov dword [rbx + 8], eax
jmp 0x14003c3f6
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 0x14003ca00
jmp 0x14003c277
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 0x14003ca60
jmp 0x14003c3f6
cmp esi, 1
sete bl
test al, al
je 0x14003cdc0
test bl, bl
je 0x14003cdc0
add r9, r9
lea rcx, [r10 + r11]
lea rbx, [rdx + r9]
and r9, 0xfffffffffffffff8
lea r8, [rdx + r9]
cmp rdx, r8
jae 0x14003cc10
sub r9, 1
mov rdi, rdx
cmp r9, 7
jbe 0x14003d46f
mov rbp, r9
shr rbp, 3
lea rsi, [rbp + 1]
lea rax, [r11 + rsi*4]
add rax, r10
cmp rdx, rax
jae 0x14003cae7
lea rax, [rdx + rsi*8]
cmp rcx, rax
jb 0x14003d46f
cmp r9, 0x17
jbe 0x14003d53f
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 0x14003cb40
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 0x14003cbfb
sub rsi, r14
cmp rbp, r14
je 0x14003cbd5
movq xmm1, qword [0x140060ec8]
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 0x14003cbfb
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 0x14003c3f6
lea rax, [rbx - 1]
sub rax, rdx
cmp rax, 0xd
jbe 0x14003cda0
mov r8, rax
shr r8, 1
lea r9, [r8 + 1]
lea r10, [rdx + r9*2]
cmp rcx, r10
jae 0x14003cc4a
lea r10, [rcx + r9]
cmp rdx, r10
jb 0x14003cda0
cmp rax, 0x1d
jbe 0x14003d531
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 0x14003cc80
mov rax, rsi
lea r10, [rcx + r11]
shl rax, 5
add rax, rdx
cmp r11, r9
je 0x14003c3f6
sub r8, r11
lea r9, [r8 + 1]
cmp r8, 6
jbe 0x14003cd0c
movq xmm1, qword [0x140060ec8]
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 0x14003c3f6
movzx edx, word [rax]
mov byte [r10], dl
lea rdx, [rax + 2]
cmp rdx, rbx
jae 0x14003c3f6
movzx edx, word [rax + 2]
mov byte [r10 + 1], dl
lea rdx, [rax + 4]
cmp rdx, rbx
jae 0x14003c3f6
movzx edx, word [rax + 4]
mov byte [r10 + 2], dl
lea rdx, [rax + 6]
cmp rdx, rbx
jae 0x14003c3f6
movzx edx, word [rax + 6]
mov byte [r10 + 3], dl
lea rdx, [rax + 8]
cmp rdx, rbx
jae 0x14003c3f6
movzx edx, word [rax + 8]
mov byte [r10 + 4], dl
lea rdx, [rax + 0xa]
cmp rdx, rbx
jae 0x14003c3f6
movzx edx, word [rax + 0xa]
mov byte [r10 + 5], dl
lea rdx, [rax + 0xc]
cmp rdx, rbx
jae 0x14003c3f6
movzx eax, word [rax + 0xc]
mov byte [r10 + 6], al
jmp 0x14003c3f6
movzx eax, word [rdx]
add rdx, 2
add rcx, 1
mov byte [rcx - 1], al
cmp rdx, rbx
jb 0x14003cda0
jmp 0x14003c3f6
cmp ecx, 4
sete al
test bl, bl
je 0x14003d24b
test al, al
je 0x14003d24b
shl r9, 2
lea r8, [r10 + r11]
lea rbx, [rdx + r9]
and r9, 0xfffffffffffffff0
lea rcx, [rdx + r9]
cmp rdx, rcx
jae 0x14003cfa2
lea rsi, [r9 - 1]
mov rbp, rdx
cmp rsi, 0xf
jbe 0x14003d4ca
mov r12, rsi
shr r12, 4
lea rdi, [r12 + 1]
lea rax, [r11 + rdi*4]
add rax, r10
cmp rdx, rax
jae 0x14003ce2f
mov rax, rdi
shl rax, 4
add rax, rdx
cmp r8, rax
jb 0x14003d4ca
cmp rsi, 0x2f
jbe 0x14003d55e
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 0x14003ce60
test dil, 3
je 0x14003cf8d
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 0x14003cf73
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 [0x140060ec8]
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 0x14003cf8d
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 0x14003c3f6
lea rcx, [rbx - 1]
mov rax, rdx
sub rcx, rdx
cmp rcx, 0x1b
jbe 0x14003d1a0
mov r11, rcx
shr r11, 2
lea r10, [r11 + 1]
lea r9, [rdx + r10*4]
cmp r8, r9
jae 0x14003cfe0
lea r9, [r8 + r10]
cmp rdx, r9
jb 0x14003d1a0
cmp rcx, 0x3b
jbe 0x14003d54f
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 0x14003d010
mov rsi, r10
and rsi, 0xfffffffffffffff0
and r10d, 0xf
lea rax, [rsi*4]
lea r9, [r8 + rsi]
lea rcx, [rdx + rax]
je 0x14003c3f6
sub r11, rsi
lea r10, [r11 + 1]
cmp r11, 6
jbe 0x14003d11d
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 [0x140060ec8]
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 0x14003c3f6
mov eax, dword [rcx]
mov byte [r9], al
lea rax, [rcx + 4]
cmp rax, rbx
jae 0x14003c3f6
mov eax, dword [rcx + 4]
mov byte [r9 + 1], al
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x14003c3f6
mov eax, dword [rcx + 8]
mov byte [r9 + 2], al
lea rax, [rcx + 0xc]
cmp rax, rbx
jae 0x14003c3f6
mov eax, dword [rcx + 0xc]
mov byte [r9 + 3], al
lea rax, [rcx + 0x10]
cmp rax, rbx
jae 0x14003c3f6
mov eax, dword [rcx + 0x10]
mov byte [r9 + 4], al
lea rax, [rcx + 0x14]
cmp rax, rbx
jae 0x14003c3f6
mov eax, dword [rcx + 0x14]
mov byte [r9 + 5], al
lea rax, [rcx + 0x18]
cmp rax, rbx
jae 0x14003c3f6
mov eax, dword [rcx + 0x18]
mov byte [r9 + 6], al
jmp 0x14003c3f6
mov eax, dword [rdx]
add rdx, 4
add r8, 1
mov byte [r8 - 1], al
cmp rdx, rbx
jb 0x14003d1a0
jmp 0x14003c3f6
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 0x14003d1c0
jmp 0x14003c3f6
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 0x14003d200
jmp 0x14003c5ab
mov r8, rcx
mov r12, rdx
xor eax, eax
xor r13d, r13d
jmp 0x14003c20c
mov rax, rcx
mov r10, rdx
xor r8d, r8d
jmp 0x14003c347
test r8b, r8b
je 0x14003c3f6
test al, al
je 0x14003c3f6
lea rax, [r9*4]
lea r8, [r10 + r11*2]
lea rsi, [rdx + rax]
and rax, 0xfffffffffffffff0
lea rcx, [rdx + rax]
cmp rdx, rcx
jae 0x14003d340
sub rax, 1
mov rbx, rax
shr rbx, 4
add rbx, 1
cmp rax, 0xf
jbe 0x14003d57b
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 0x14003d2c0
test bl, 1
je 0x14003d333
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 0x14003c3f6
lea rax, [rsi - 1]
sub rax, rdx
mov r9, rax
shr r9, 2
lea r11, [r9 + 1]
cmp rax, 0x1b
jbe 0x14003d56e
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 0x14003d380
mov rcx, r11
and rcx, 0xfffffffffffffff8
and r11d, 7
lea r10, [r8 + rcx*2]
lea rax, [rdx + rcx*4]
je 0x14003c3f6
sub r9, rcx
lea r11, [r9 + 1]
cmp r9, 2
jbe 0x14003d41c
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 0x14003c3f6
mov edx, dword [rax]
mov word [r10], dx
lea rdx, [rax + 4]
cmp rdx, rsi
jae 0x14003c3f6
mov edx, dword [rax + 4]
mov word [r10 + 2], dx
lea rdx, [rax + 8]
cmp rdx, rsi
jae 0x14003c3f6
mov eax, dword [rax + 8]
mov word [r10 + 4], ax
jmp 0x14003c3f6
mov rcx, rbx
mov r8, rdx
xor eax, eax
xor r13d, r13d
jmp 0x14003c514
mov rax, rbx
mov r8, rdx
xor r10d, r10d
jmp 0x14003c685
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 0x14003d480
jmp 0x14003cbfb
xor r9d, r9d
jmp 0x14003c86f
mov rbx, rcx
mov r11, rdx
xor eax, eax
jmp 0x14003c93c
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 0x14003d500
jmp 0x14003cf8d
mov r10, rcx
mov rax, rdx
xor r11d, r11d
jmp 0x14003ccc8
mov r8, rcx
mov r12, rdx
xor r13d, r13d
xor eax, eax
jmp 0x14003cb91
mov r9, r8
mov rcx, rdx
xor esi, esi
xor eax, eax
jmp 0x14003d0a6
mov r9, r8
mov rcx, rdx
xor eax, eax
xor r13d, r13d
jmp 0x14003cef7
mov r10, r8
mov rax, rdx
xor ecx, ecx
jmp 0x14003d3ce
xor r9d, r9d
jmp 0x14003d301