Function at 0x14002dd70
Capabilities:
Enumerate pe sections

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
movzx ebx, byte [r8 + 0x20]
mov eax, ebx
mov ebp, ebx
mov rsi, rcx
shr al, 2
mov r11, rdx
and eax, 7
and ebp, 0x20
je 0x14002df30
lea rdx, [r8 + 0x30]
test bl, 0x40
lea rdi, [r8 + 0x48]
cmovne rdi, rdx
movzx edx, byte [rsi + 0x20]
mov r10d, edx
mov r13d, edx
shr r10b, 2
and r10d, 7
and r13d, 0x20
movzx r12d, r10b
je 0x14002df40
lea r14, [rsi + 0x30]
test dl, 0x40
lea rcx, [rsi + 0x48]
cmovne rcx, r14
cmp eax, r12d
je 0x14002df4d
cmp eax, 1
sete cl
cmp r12d, 2
sete r10b
test cl, cl
je 0x14002df70
test r10b, r10b
je 0x14002df70
test r13b, r13b
jne 0x14002e0c0
mov rsi, qword [rsi + 0x48]
test bpl, bpl
lea r10, [rsi + r11*2]
je 0x14002e0dc
lea rdx, [r8 + 0x30]
and ebx, 0x40
lea rax, [r8 + 0x48]
cmovne rax, rdx
lea rbx, [rax + r9]
and r9, 0xfffffffffffffffc
lea r8, [rax + r9]
cmp rax, r8
jae 0x14002ded0
sub r9, 1
cmp r9, 3
jbe 0x14002e500
mov rbp, r9
shr rbp, 2
lea rdi, [rbp + 1]
lea rdx, [rdi*4]
lea rcx, [r11 + rdx]
lea rcx, [rsi + rcx*2]
cmp rax, rcx
jae 0x14002e2d0
lea r12, [rax + rdx]
mov rcx, r10
mov rdx, rax
cmp r10, r12
jae 0x14002e2d0
nop dword [rax]
movzx r11d, byte [rdx]
add rdx, 4
add rcx, 8
mov word [rcx - 8], r11w
movzx r11d, byte [rdx - 3]
mov word [rcx - 6], r11w
movzx r11d, byte [rdx - 2]
mov word [rcx - 4], r11w
movzx r11d, byte [rdx - 1]
mov word [rcx - 2], r11w
cmp rdx, r8
jb 0x14002de88
nop dword [rax]
shr r9, 2
add r9, 1
lea rax, [rax + r9*4]
lea r10, [r10 + r9*8]
cmp rax, rbx
jae 0x14002df1b
mov rcx, rbx
sub rcx, rax
lea r8, [rcx - 1]
cmp r8, 6
jbe 0x14002e4f0
lea rdx, [r10 + rcx*2]
cmp rax, rdx
jae 0x14002e3b0
xor edx, edx
cmp r10, rbx
jae 0x14002e3b0
nop dword [rax]
movzx r8d, byte [rax + rdx]
mov word [r10 + rdx*2], r8w
add rdx, 1
cmp rcx, rdx
jne 0x14002df08
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rdi, qword [r8 + 0x48]
jmp 0x14002dda7
cmp eax, r12d
mov rcx, qword [rsi + 0x48]
jne 0x14002dddf
movzx r8d, r10b
mov rdx, rdi
imul r11, r8
imul r8, r9
add rcx, r11
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
cmp r12d, 4
sete dil
test cl, cl
je 0x14002e0e8
test dil, dil
je 0x14002e0e8
test r13b, r13b
je 0x14002e670
lea rax, [rsi + 0x30]
add rsi, 0x48
and edx, 0x40
cmovne rsi, rax
test bpl, bpl
lea rcx, [rsi + r11*4]
je 0x14002e660
lea rdx, [r8 + 0x30]
add r8, 0x48
and ebx, 0x40
cmovne r8, rdx
mov rax, r9
lea rbx, [r8 + r9]
and rax, 0xfffffffffffffffc
lea rdi, [r8 + rax]
cmp r8, rdi
jae 0x14002e063
lea r9, [rax - 1]
cmp r9, 3
jbe 0x14002e960
mov rbp, r9
shr rbp, 2
lea r10, [rbp + 1]
lea rax, [r10*4]
lea rdx, [r11 + rax]
lea rdx, [rsi + rdx*4]
cmp r8, rdx
jae 0x14002e680
lea r12, [r8 + rax]
mov rdx, rcx
mov rax, r8
cmp rcx, r12
jae 0x14002e680
nop word [rax + rax]
movzx r10d, byte [rax]
add rax, 4
add rdx, 0x10
mov dword [rdx - 0x10], r10d
movzx r10d, byte [rax - 3]
mov dword [rdx - 0xc], r10d
movzx r10d, byte [rax - 2]
mov dword [rdx - 8], r10d
movzx r10d, byte [rax - 1]
mov dword [rdx - 4], r10d
cmp rax, rdi
jb 0x14002e020
shr r9, 2
add r9, 1
lea r8, [r8 + r9*4]
shl r9, 4
add rcx, r9
cmp r8, rbx
jae 0x14002df1b
mov rdx, rbx
mov r9, r8
sub rdx, r8
lea r10, [rdx - 1]
cmp r10, 6
jbe 0x14002e970
lea rax, [rcx + rdx*4]
cmp r8, rax
jae 0x14002e7c8
xor eax, eax
cmp rcx, rbx
jae 0x14002e7c8
nop dword [rax + rax]
movzx r9d, byte [r8 + rax]
mov dword [rcx + rax*4], r9d
add rax, 1
cmp rdx, rax
jne 0x14002e0a0
jmp 0x14002df1b
lea rax, [rsi + 0x30]
add rsi, 0x48
and edx, 0x40
cmovne rsi, rax
test bpl, bpl
lea r10, [rsi + r11*2]
jne 0x14002de18
mov rax, qword [r8 + 0x48]
jmp 0x14002de27
cmp eax, 2
sete cl
test dil, dil
je 0x14002e510
test cl, cl
je 0x14002e510
test r13b, r13b
jne 0x14002e980
mov r10, qword [rsi + 0x48]
lea rdx, [r10 + r11*4]
test bpl, bpl
je 0x14002eae0
lea rax, [r8 + 0x30]
and ebx, 0x40
lea rcx, [r8 + 0x48]
cmovne rcx, rax
lea rax, [r9 + r9]
lea rbx, [rcx + rax]
and rax, 0xfffffffffffffff8
lea r8, [rcx + rax]
cmp rcx, r8
jae 0x14002e1d7
sub rax, 1
mov r8, rax
shr r8, 3
add r8, 1
cmp rax, 7
jbe 0x14002f276
mov r9, r8
xor eax, eax
pxor xmm1, xmm1
shr r9, 1
shl r9, 4
nop word [rax + rax]
movdqu xmm0, xmmword [rcx + rax]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
movups xmmword [rdx + rax*2 + 0x10], xmm0
punpcklwd xmm2, xmm1
movups xmmword [rdx + rax*2], xmm2
add rax, 0x10
cmp rax, r9
jne 0x14002e170
test r8b, 1
je 0x14002e1cc
mov r9, r8
and r9, 0xfffffffffffffffe
movq xmm0, qword [rcx + r9*8]
lea rax, [r11 + r9*4]
pxor xmm1, xmm1
lea rax, [r10 + rax*4]
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rax + 8], xmm0
punpcklwd xmm2, xmm1
movq qword [rax], xmm2
lea rcx, [rcx + r8*8]
shl r8, 4
add rdx, r8
cmp rcx, rbx
jae 0x14002df1b
lea rax, [rbx - 1]
sub rax, rcx
mov r10, rax
shr r10, 1
cmp rax, 0xd
lea r11, [r10 + 1]
jbe 0x14002f268
mov r8, r11
xor eax, eax
pxor xmm1, xmm1
shr r8, 3
shl r8, 4
nop dword [rax]
movdqu xmm0, xmmword [rcx + rax]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
movups xmmword [rdx + rax*2 + 0x10], xmm0
punpcklwd xmm2, xmm1
movups xmmword [rdx + rax*2], xmm2
add rax, 0x10
cmp r8, rax
jne 0x14002e210
mov r8, r11
and r8, 0xfffffffffffffff8
and r11d, 7
lea rax, [rcx + r8*2]
lea r9, [rdx + r8*4]
je 0x14002df1b
sub r10, r8
lea r11, [r10 + 1]
cmp r10, 2
jbe 0x14002e29a
movq xmm0, qword [rcx + r8*2]
lea rdx, [rdx + r8*4]
pxor xmm1, xmm1
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rdx + 8], xmm0
punpcklwd xmm2, xmm1
movq qword [rdx], xmm2
mov rdx, r11
and rdx, 0xfffffffffffffffc
and r11d, 3
lea rax, [rax + rdx*2]
lea r9, [r9 + rdx*4]
je 0x14002df1b
movzx edx, word [rax]
mov dword [r9], edx
lea rdx, [rax + 2]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, word [rax + 2]
mov dword [r9 + 4], edx
lea rdx, [rax + 4]
cmp rdx, rbx
jae 0x14002df1b
movzx eax, word [rax + 4]
mov dword [r9 + 8], eax
jmp 0x14002df1b
cmp r9, 0xb
jbe 0x14002ef3a
mov rcx, rdi
xor edx, edx
pxor xmm1, xmm1
shr rcx, 2
shl rcx, 4
nop dword [rax + rax]
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
movups xmmword [r10 + rdx*2 + 0x10], xmm0
punpcklbw xmm2, xmm1
movups xmmword [r10 + rdx*2], xmm2
add rdx, 0x10
cmp rdx, rcx
jne 0x14002e2f0
test dil, 3
je 0x14002dec0
mov r12, rdi
and r12, 0xfffffffffffffffc
lea r8, [r12*4]
sub rdi, r12
cmp rbp, r12
lea rcx, [rax + r8]
lea rdx, [r10 + r12*8]
je 0x14002e381
movq xmm0, qword [rax + r12*4]
add r8, r11
test dil, 1
pxor xmm1, xmm1
lea r8, [rsi + r8*2]
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [r8 + 8], xmm0
punpcklbw xmm2, xmm1
movq qword [r8], xmm2
je 0x14002dec0
and rdi, 0xfffffffffffffffe
lea rcx, [rcx + rdi*4]
lea rdx, [rdx + rdi*8]
movzx r8d, byte [rcx]
mov word [rdx], r8w
movzx r8d, byte [rcx + 1]
mov word [rdx + 2], r8w
movzx r8d, byte [rcx + 2]
mov word [rdx + 4], r8w
movzx ecx, byte [rcx + 3]
mov word [rdx + 6], cx
jmp 0x14002dec0
cmp r8, 0xe
jbe 0x14002ef1e
mov r8, rcx
xor edx, edx
pxor xmm1, xmm1
and r8, 0xfffffffffffffff0
nop word [rax + rax]
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
movups xmmword [r10 + rdx*2 + 0x10], xmm0
punpcklbw xmm2, xmm1
movups xmmword [r10 + rdx*2], xmm2
add rdx, 0x10
cmp r8, rdx
jne 0x14002e3d0
mov r11, rcx
and r11, 0xfffffffffffffff0
test cl, 0xf
lea r8, [r11 + r11]
lea rdx, [rax + r11]
lea r9, [r10 + r8]
je 0x14002df1b
sub rcx, r11
lea rsi, [rcx - 1]
cmp rsi, 6
jbe 0x14002e45e
movq xmm0, qword [rax + r11]
mov rax, rcx
add r8, r10
pxor xmm1, xmm1
and rax, 0xfffffffffffffff8
lea r9, [r9 + rax*2]
movdqa xmm2, xmm0
add rdx, rax
punpcklbw xmm0, xmm1
and ecx, 7
punpcklbw xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [r8], xmm2
movq qword [r8 + 8], xmm0
je 0x14002df1b
movzx eax, byte [rdx]
mov word [r9], ax
lea rax, [rdx + 1]
cmp rax, rbx
jae 0x14002df1b
movzx eax, byte [rdx + 1]
mov word [r9 + 2], ax
lea rax, [rdx + 2]
cmp rax, rbx
jae 0x14002df1b
movzx eax, byte [rdx + 2]
mov word [r9 + 4], ax
lea rax, [rdx + 3]
cmp rax, rbx
jae 0x14002df1b
movzx eax, byte [rdx + 3]
mov word [r9 + 6], ax
lea rax, [rdx + 4]
cmp rax, rbx
jae 0x14002df1b
movzx eax, byte [rdx + 4]
mov word [r9 + 8], ax
lea rax, [rdx + 5]
cmp rax, rbx
jae 0x14002df1b
movzx eax, byte [rdx + 5]
mov word [r9 + 0xa], ax
lea rax, [rdx + 6]
cmp rax, rbx
jae 0x14002df1b
movzx eax, byte [rdx + 6]
mov word [r9 + 0xc], ax
jmp 0x14002df1b
xor edx, edx
jmp 0x14002df08
mov rcx, r10
mov rdx, rax
jmp 0x14002de88
cmp r12d, 1
sete dil
test cl, cl
je 0x14002e998
test dil, dil
je 0x14002e998
test r13b, r13b
je 0x14002ecff
lea rax, [rsi + 0x30]
add rsi, 0x48
and edx, 0x40
cmove rax, rsi
mov rdi, rax
lea r10, [rdi + r11]
test bpl, bpl
je 0x14002ecf6
lea rax, [r8 + 0x30]
and ebx, 0x40
lea rdx, [r8 + 0x48]
cmovne rdx, rax
lea r8, [r9 + r9]
lea rbx, [rdx + r8]
and r8, 0xfffffffffffffff8
lea rsi, [rdx + r8]
cmp rdx, rsi
jae 0x14002e600
sub r8, 1
cmp r8, 7
jbe 0x14002ef2f
mov rbp, r8
shr rbp, 3
lea r9, [rbp + 1]
lea rcx, [r11 + r9*4]
add rcx, rdi
cmp rdx, rcx
jae 0x14002ee41
lea r12, [rdx + r9*8]
mov rcx, r10
mov rax, rdx
cmp r10, r12
jae 0x14002ee41
nop dword [rax]
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, rsi
jb 0x14002e5b8
nop dword [rax + rax]
shr r8, 3
lea rax, [r8 + 1]
lea rdx, [rdx + rax*8]
lea r10, [r10 + rax*4]
cmp rdx, rbx
jae 0x14002df1b
lea rax, [rbx - 1]
sub rax, rdx
cmp rax, 0xd
jbe 0x14002e640
mov rsi, rax
shr rsi, 1
lea rcx, [rsi + 1]
lea r8, [rdx + rcx*2]
cmp r10, r8
jae 0x14002ed08
lea r8, [r10 + rcx]
cmp rdx, r8
jae 0x14002ed08
nop word [rax + rax]
movzx eax, word [rdx]
add rdx, 2
add r10, 1
cmp rdx, rbx
mov byte [r10 - 1], al
jb 0x14002e640
jmp 0x14002df1b
mov r8, qword [r8 + 0x48]
jmp 0x14002dfbd
mov rsi, qword [rsi + 0x48]
jmp 0x14002dfa1
cmp r9, 0xb
jbe 0x14002f28f
mov rdi, r10
mov rdx, r8
mov rax, rcx
pxor xmm3, xmm3
shr rdi, 2
pxor xmm2, xmm2
shl rdi, 4
add rdi, r8
nop word cs:[rax + rax]
movdqu xmm0, xmmword [rdx]
add rdx, 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
movups xmmword [rax - 0x40], xmm4
movups xmmword [rax - 0x10], xmm0
punpcklwd xmm1, xmm2
movups xmmword [rax - 0x20], xmm1
cmp rdi, rdx
jne 0x14002e6b0
mov r12, r10
and r12, 0xfffffffffffffffc
lea rdi, [r12*4]
mov rax, r12
lea rdx, [r8 + rdi]
shl rax, 4
add rax, rcx
test r10b, 3
je 0x14002e050
sub r10, r12
cmp rbp, r12
je 0x14002e79c
movq xmm0, qword [r8 + r12*4]
add rdi, r11
pxor xmm1, xmm1
test r10b, 1
lea r11, [rsi + rdi*4]
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
pshufd xmm0, xmm0, 0x4e
punpcklbw xmm2, xmm1
pxor xmm1, xmm1
movdqa xmm3, xmm2
punpcklwd xmm2, xmm1
pshufd xmm2, xmm2, 0x4e
movq qword [r11 + 8], xmm2
movdqa xmm2, xmm0
punpcklwd xmm3, xmm1
punpcklwd xmm2, xmm1
punpcklwd xmm0, xmm1
movq qword [r11], xmm3
pshufd xmm0, xmm0, 0x4e
movq qword [r11 + 0x10], xmm2
movq qword [r11 + 0x18], xmm0
je 0x14002e050
and r10, 0xfffffffffffffffe
lea rdx, [rdx + r10*4]
shl r10, 4
add rax, r10
movzx r10d, byte [rdx]
mov dword [rax], r10d
movzx r10d, byte [rdx + 1]
mov dword [rax + 4], r10d
movzx r10d, byte [rdx + 2]
mov dword [rax + 8], r10d
movzx edx, byte [rdx + 3]
mov dword [rax + 0xc], edx
jmp 0x14002e050
cmp r10, 0xe
jbe 0x14002f27e
mov r10, rdx
mov rax, rcx
pxor xmm3, xmm3
pxor xmm2, xmm2
and r10, 0xfffffffffffffff0
add r10, r8
nop word [rax + rax]
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
movups xmmword [rax - 0x40], xmm4
movups xmmword [rax - 0x10], xmm0
punpcklwd xmm1, xmm2
movups xmmword [rax - 0x20], xmm1
cmp r10, r9
jne 0x14002e7f0
mov r10, rdx
and r10, 0xfffffffffffffff0
test dl, 0xf
lea r11, [r10*4]
lea rax, [r8 + r10]
lea r9, [rcx + r11]
je 0x14002df1b
sub rdx, r10
lea rsi, [rdx - 1]
cmp rsi, 6
jbe 0x14002e8d1
movq xmm0, qword [r8 + r10]
add rcx, r11
pxor xmm1, xmm1
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
pshufd xmm0, xmm0, 0x4e
punpcklbw xmm2, xmm1
pxor xmm1, xmm1
movdqa xmm3, xmm2
punpcklwd xmm2, xmm1
pshufd xmm2, xmm2, 0x4e
movq qword [rcx + 8], xmm2
movdqa xmm2, xmm0
punpcklwd xmm3, xmm1
punpcklwd xmm2, xmm1
movq qword [rcx], xmm3
punpcklwd xmm0, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rcx + 0x10], xmm2
movq qword [rcx + 0x18], xmm0
mov rcx, rdx
and rcx, 0xfffffffffffffff8
lea r9, [r9 + rcx*4]
add rax, rcx
and edx, 7
je 0x14002df1b
movzx edx, byte [rax]
mov dword [r9], edx
lea rdx, [rax + 1]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, byte [rax + 1]
mov dword [r9 + 4], edx
lea rdx, [rax + 2]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, byte [rax + 2]
mov dword [r9 + 8], edx
lea rdx, [rax + 3]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, byte [rax + 3]
mov dword [r9 + 0xc], edx
lea rdx, [rax + 4]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, byte [rax + 4]
mov dword [r9 + 0x10], edx
lea rdx, [rax + 5]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, byte [rax + 5]
mov dword [r9 + 0x14], edx
lea rdx, [rax + 6]
cmp rdx, rbx
jae 0x14002df1b
movzx eax, byte [rax + 6]
mov dword [r9 + 0x18], eax
jmp 0x14002df1b
mov rdx, rcx
mov rax, r8
jmp 0x14002e020
xor eax, eax
jmp 0x14002e0a0
lea rax, [rsi + 0x30]
and edx, 0x40
lea r10, [rsi + 0x48]
cmovne r10, rax
jmp 0x14002e10c
cmp eax, 4
sete al
test dil, dil
je 0x14002eae9
test al, al
je 0x14002eae9
test r13b, r13b
je 0x14002ef4b
lea rax, [rsi + 0x30]
and edx, 0x40
lea rcx, [rsi + 0x48]
cmovne rcx, rax
test bpl, bpl
lea r10, [rcx + r11]
je 0x14002ef54
lea rax, [r8 + 0x30]
add r8, 0x48
and ebx, 0x40
cmovne r8, rax
shl r9, 2
lea rbx, [r8 + r9]
and r9, 0xfffffffffffffff0
lea rsi, [r8 + r9]
cmp r8, rsi
jae 0x14002ea7e
sub r9, 1
cmp r9, 0xf
jbe 0x14002f29f
mov rbp, r9
shr rbp, 4
lea rdi, [rbp + 1]
lea rax, [r11 + rdi*4]
add rax, rcx
cmp r8, rax
jae 0x14002f108
mov r12, rdi
mov rdx, r10
mov rax, r8
shl r12, 4
add r12, r8
cmp r10, r12
jae 0x14002f108
nop
mov ecx, dword [rax]
add rax, 0x10
add rdx, 4
mov byte [rdx - 4], cl
mov ecx, dword [rax - 0xc]
mov byte [rdx - 3], cl
mov ecx, dword [rax - 8]
mov byte [rdx - 2], cl
mov ecx, dword [rax - 4]
mov byte [rdx - 1], cl
cmp rax, rsi
jb 0x14002ea40
nop dword [rax]
shr r9, 4
lea rax, [r9 + 1]
lea r10, [r10 + rax*4]
mov rdx, rax
shl rdx, 4
add r8, rdx
cmp r8, rbx
jae 0x14002df1b
lea rdx, [rbx - 1]
mov rax, r8
sub rdx, r8
cmp rdx, 0x1b
jbe 0x14002eac0
mov rsi, rdx
shr rsi, 2
lea r9, [rsi + 1]
lea rcx, [r8 + r9*4]
cmp r10, rcx
jae 0x14002ef5d
lea rcx, [r10 + r9]
cmp r8, rcx
jae 0x14002ef5d
nop dword [rax]
mov eax, dword [r8]
add r8, 4
add r10, 1
cmp r8, rbx
mov byte [r10 - 1], al
jb 0x14002eac0
jmp 0x14002df1b
mov rcx, qword [r8 + 0x48]
jmp 0x14002e128
test r10b, r10b
je 0x14002df1b
test al, al
je 0x14002df1b
test r13b, r13b
je 0x14002f2b3
lea rax, [rsi + 0x30]
and edx, 0x40
lea r10, [rsi + 0x48]
cmovne r10, rax
test bpl, bpl
lea rcx, [r10 + r11*2]
je 0x14002f2aa
lea rax, [r8 + 0x30]
and ebx, 0x40
lea rdx, [r8 + 0x48]
cmovne rdx, rax
lea rax, [r9*4]
lea r9, [rdx + rax]
and rax, 0xfffffffffffffff0
lea r8, [rdx + rax]
cmp rdx, r8
jae 0x14002ebf0
sub rax, 1
mov rbx, rax
shr rbx, 4
add rbx, 1
cmp rax, 0xf
jbe 0x14002f2eb
mov r8, rbx
xor eax, eax
shr r8, 1
shl r8, 4
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm2, xmmword [rdx + rax*2 + 0x10]
movdqa xmm1, xmm0
punpckhwd xmm1, xmm2
punpcklwd xmm0, xmm2
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm2
movups xmmword [rcx + rax], xmm0
add rax, 0x10
cmp rax, r8
jne 0x14002eb70
test bl, 1
je 0x14002ebe2
mov r8, rbx
and r8, 0xfffffffffffffffe
mov rax, r8
shl rax, 4
add rax, rdx
movq xmm0, qword [rax]
movq xmm1, qword [rax + 8]
lea rax, [r11 + r8*4]
movdqa xmm2, xmm0
punpcklwd xmm2, xmm1
punpcklwd xmm0, xmm1
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq qword [r10 + rax*2], xmm0
lea rcx, [rcx + rbx*8]
mov rax, rbx
shl rax, 4
add rdx, rax
cmp rdx, r9
jae 0x14002df1b
lea rax, [r9 - 1]
sub rax, rdx
mov r11, rax
shr r11, 2
cmp rax, 0x1b
lea rbx, [r11 + 1]
jbe 0x14002f2dd
mov r8, rbx
xor eax, eax
shr r8, 3
shl r8, 4
nop word [rax + rax]
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm2, xmmword [rdx + rax*2 + 0x10]
movdqa xmm1, xmm0
punpckhwd xmm1, xmm2
punpcklwd xmm0, xmm2
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm2
movups xmmword [rcx + rax], xmm0
add rax, 0x10
cmp r8, rax
jne 0x14002ec28
mov r8, rbx
and r8, 0xfffffffffffffff8
and ebx, 7
lea rax, [rdx + r8*4]
lea r10, [rcx + r8*2]
je 0x14002df1b
sub r11, r8
lea rbx, [r11 + 1]
cmp r11, 2
jbe 0x14002ecc1
lea rdx, [rdx + r8*4]
movq xmm0, qword [rdx]
movq xmm1, qword [rdx + 8]
mov rdx, rbx
and rdx, 0xfffffffffffffffc
movdqa xmm2, xmm0
and ebx, 3
punpcklwd xmm2, xmm1
punpcklwd xmm0, xmm1
pshufd xmm2, xmm2, 0x4e
lea rax, [rax + rdx*4]
punpcklwd xmm0, xmm2
lea r10, [r10 + rdx*2]
movq qword [rcx + r8*2], xmm0
je 0x14002df1b
mov edx, dword [rax]
mov word [r10], dx
lea rdx, [rax + 4]
cmp rdx, r9
jae 0x14002df1b
mov edx, dword [rax + 4]
mov word [r10 + 2], dx
lea rdx, [rax + 8]
cmp rdx, r9
jae 0x14002df1b
mov eax, dword [rax + 8]
mov word [r10 + 4], ax
jmp 0x14002df1b
mov rdx, qword [r8 + 0x48]
jmp 0x14002e560
mov rdi, qword [rsi + 0x48]
jmp 0x14002e544
cmp rax, 0x1d
jbe 0x14002f2cc
mov r8, rcx
movdqa xmm1, xmmword [0x1400c1000]
xor eax, eax
and r8, 0xfffffffffffffff0
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 [r10 + rax], xmm0
add rax, 0x10
cmp rax, r8
jne 0x14002ed28
mov r11, rcx
and r11, 0xfffffffffffffff0
and ecx, 0xf
lea r8, [r11 + r11]
lea rax, [rdx + r8]
lea r9, [r10 + r11]
je 0x14002df1b
sub rsi, r11
lea rcx, [rsi + 1]
cmp rsi, 6
jbe 0x14002edb8
movq xmm1, qword [0x1400c1000]
add rdx, r8
movq xmm0, qword [rdx]
movq xmm2, qword [rdx + 8]
mov rdx, rcx
and rdx, 0xfffffffffffffff8
pand xmm0, xmm1
lea rax, [rax + rdx*2]
add r9, rdx
and ecx, 7
pand xmm1, xmm2
packuswb xmm0, xmm1
pshufd xmm0, xmm0, 8
movq qword [r10 + r11], xmm0
je 0x14002df1b
movzx edx, word [rax]
mov byte [r9], dl
lea rdx, [rax + 2]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, word [rax + 2]
mov byte [r9 + 1], dl
lea rdx, [rax + 4]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, word [rax + 4]
mov byte [r9 + 2], dl
lea rdx, [rax + 6]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, word [rax + 6]
mov byte [r9 + 3], dl
lea rdx, [rax + 8]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, word [rax + 8]
mov byte [r9 + 4], dl
lea rdx, [rax + 0xa]
cmp rdx, rbx
jae 0x14002df1b
movzx edx, word [rax + 0xa]
mov byte [r9 + 5], dl
lea rdx, [rax + 0xc]
cmp rdx, rbx
jae 0x14002df1b
movzx eax, word [rax + 0xc]
mov byte [r9 + 6], al
jmp 0x14002df1b
cmp r8, 0x17
jbe 0x14002f2bc
mov rcx, r9
movdqa xmm1, xmmword [0x1400c1000]
xor eax, eax
shr rcx, 2
shl rcx, 4
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm2, xmmword [rdx + rax*2 + 0x10]
pand xmm0, xmm1
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [r10 + rax], xmm0
add rax, 0x10
cmp rax, rcx
jne 0x14002ee60
test r9b, 3
je 0x14002e5f0
mov r13, r9
and r13, 0xfffffffffffffffc
lea r12, [r13*8]
sub r9, r13
cmp rbp, r13
lea rax, [r13*4]
lea rsi, [rdx + r12]
lea rcx, [r10 + rax]
je 0x14002eeff
movq xmm1, qword [0x1400c1000]
lea rbp, [rdx + r12]
add rdi, rax
test r9b, 1
movq xmm0, qword [rbp]
movq xmm2, qword [rbp + 8]
pand xmm0, xmm1
pand xmm1, xmm2
packuswb xmm0, xmm1
pshufd xmm0, xmm0, 8
movq qword [rdi + r11], xmm0
je 0x14002e5f0
mov rax, r9
and rax, 0xfffffffffffffffe
lea rsi, [rsi + rax*8]
lea rcx, [rcx + rax*4]
movzx eax, word [rsi]
mov byte [rcx], al
movzx eax, word [rsi + 2]
mov byte [rcx + 1], al
movzx eax, word [rsi + 4]
mov byte [rcx + 2], al
movzx eax, word [rsi + 6]
mov byte [rcx + 3], al
jmp 0x14002e5f0
mov rdx, rax
mov r9, r10
xor r11d, r11d
xor r8d, r8d
jmp 0x14002e41e
mov rcx, r10
mov rax, rdx
jmp 0x14002e5b8
mov rdx, r10
mov rcx, rax
xor r12d, r12d
xor r8d, r8d
jmp 0x14002e33e
mov rcx, qword [rsi + 0x48]
jmp 0x14002e9c7
mov r8, qword [r8 + 0x48]
jmp 0x14002e9e3
cmp rdx, 0x3b
jbe 0x14002f303
mov rcx, r9
movdqa xmm1, xmmword [0x1400c1000]
mov rdx, r10
shr rcx, 4
shl rcx, 6
add rcx, r8
movdqu xmm0, xmmword [rax]
add rax, 0x40
add rdx, 0x10
movdqu xmm3, xmmword [rax - 0x30]
movdqa xmm2, xmm0
movdqu xmm4, xmmword [rax - 0x10]
punpckhwd xmm2, xmm3
punpcklwd xmm0, xmm3
movdqa xmm3, xmm0
punpcklwd xmm0, xmm2
punpckhwd xmm3, xmm2
movdqu xmm2, xmmword [rax - 0x20]
punpcklwd xmm0, xmm3
pand xmm0, xmm1
movdqa xmm3, xmm2
punpcklwd xmm2, xmm4
punpckhwd xmm3, xmm4
movdqa xmm4, xmm2
punpcklwd xmm2, xmm3
punpckhwd xmm4, xmm3
punpcklwd xmm2, xmm4
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rdx - 0x10], xmm0
cmp rax, rcx
jne 0x14002ef80
mov r11, r9
and r11, 0xfffffffffffffff0
and r9d, 0xf
lea rax, [r11*4]
lea rdx, [r8 + rax]
lea rcx, [r10 + r11]
je 0x14002df1b
sub rsi, r11
lea r9, [rsi + 1]
cmp rsi, 6
jbe 0x14002f08d
add rax, r8
movq xmm0, qword [rax]
movq xmm1, qword [rax + 8]
movdqa xmm2, xmm0
punpcklwd xmm2, xmm1
punpcklwd xmm0, xmm1
movq xmm1, qword [rax + 0x10]
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq xmm2, qword [rax + 0x18]
mov rax, r9
movdqa xmm3, xmm1
and rax, 0xfffffffffffffff8
punpcklwd xmm3, xmm2
punpcklwd xmm1, xmm2
lea rdx, [rdx + rax*4]
add rcx, rax
movq xmm2, qword [0x1400c1000]
and r9d, 7
pshufd xmm3, xmm3, 0x4e
punpcklwd xmm1, xmm3
pand xmm0, xmm2
pand xmm2, xmm1
packuswb xmm0, xmm2
pshufd xmm0, xmm0, 8
movq qword [r10 + r11], xmm0
je 0x14002df1b
mov eax, dword [rdx]
mov byte [rcx], al
lea rax, [rdx + 4]
cmp rax, rbx
jae 0x14002df1b
mov eax, dword [rdx + 4]
mov byte [rcx + 1], al
lea rax, [rdx + 8]
cmp rax, rbx
jae 0x14002df1b
mov eax, dword [rdx + 8]
mov byte [rcx + 2], al
lea rax, [rdx + 0xc]
cmp rax, rbx
jae 0x14002df1b
mov eax, dword [rdx + 0xc]
mov byte [rcx + 3], al
lea rax, [rdx + 0x10]
cmp rax, rbx
jae 0x14002df1b
mov eax, dword [rdx + 0x10]
mov byte [rcx + 4], al
lea rax, [rdx + 0x14]
cmp rax, rbx
jae 0x14002df1b
mov eax, dword [rdx + 0x14]
mov byte [rcx + 5], al
lea rax, [rdx + 0x18]
cmp rax, rbx
jae 0x14002df1b
mov eax, dword [rdx + 0x18]
mov byte [rcx + 6], al
jmp 0x14002df1b
cmp r9, 0x2f
jbe 0x14002f2f3
mov rsi, rdi
movdqa xmm1, xmmword [0x1400c1000]
mov rax, r8
mov rdx, r10
shr rsi, 2
shl rsi, 6
add rsi, r8
nop
movdqu xmm0, xmmword [rax]
add rax, 0x40
add rdx, 0x10
movdqu xmm3, xmmword [rax - 0x30]
movdqa xmm2, xmm0
movdqu xmm4, xmmword [rax - 0x10]
punpckhwd xmm2, xmm3
punpcklwd xmm0, xmm3
movdqa xmm3, xmm0
punpcklwd xmm0, xmm2
punpckhwd xmm3, xmm2
movdqu xmm2, xmmword [rax - 0x20]
punpcklwd xmm0, xmm3
pand xmm0, xmm1
movdqa xmm3, xmm2
punpcklwd xmm2, xmm4
punpckhwd xmm3, xmm4
movdqa xmm4, xmm2
punpcklwd xmm2, xmm3
punpckhwd xmm4, xmm3
punpcklwd xmm2, xmm4
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rdx - 0x10], xmm0
cmp rsi, rax
jne 0x14002f130
test dil, 3
je 0x14002ea68
mov rsi, rdi
and rsi, 0xfffffffffffffffc
lea r12, [rsi*4]
mov rax, rsi
sub rdi, rsi
lea rdx, [r10 + r12]
shl rax, 4
add rax, r8
cmp rbp, rsi
je 0x14002f24d
shl rsi, 4
add rcx, r12
add rsi, r8
test dil, 1
movq xmm0, qword [rsi]
movq xmm1, qword [rsi + 8]
movdqa xmm2, xmm0
punpcklwd xmm2, xmm1
punpcklwd xmm0, xmm1
movq xmm1, qword [rsi + 0x10]
pshufd xmm2, xmm2, 0x4e
punpcklwd xmm0, xmm2
movq xmm2, qword [rsi + 0x18]
movdqa xmm3, xmm1
punpcklwd xmm3, xmm2
punpcklwd xmm1, xmm2
pshufd xmm3, xmm3, 0x4e
movq xmm2, qword [0x1400c1000]
punpcklwd xmm1, xmm3
pand xmm0, xmm2
pand xmm2, xmm1
packuswb xmm0, xmm2
pshufd xmm0, xmm0, 8
movq qword [rcx + r11], xmm0
je 0x14002ea68
and rdi, 0xfffffffffffffffe
lea rdx, [rdx + rdi*4]
mov rcx, rdi
shl rcx, 4
add rax, rcx
mov ecx, dword [rax]
mov byte [rdx], cl
mov ecx, dword [rax + 4]
mov byte [rdx + 1], cl
mov ecx, dword [rax + 8]
mov byte [rdx + 2], cl
mov eax, dword [rax + 0xc]
mov byte [rdx + 3], al
jmp 0x14002ea68
mov r9, rdx
mov rax, rcx
xor r8d, r8d
jmp 0x14002e24c
xor r9d, r9d
jmp 0x14002e1a0
mov r9, rcx
mov rax, r8
xor r10d, r10d
xor r11d, r11d
jmp 0x14002e863
mov rax, rcx
mov rdx, r8
xor r12d, r12d
xor edi, edi
jmp 0x14002e724
mov rdx, r10
mov rax, r8
jmp 0x14002ea40
mov rdx, qword [r8 + 0x48]
jmp 0x14002eb2e
mov r10, qword [rsi + 0x48]
jmp 0x14002eb12
mov rcx, r10
mov rsi, rdx
xor r12d, r12d
xor eax, eax
jmp 0x14002eeb6
mov r9, r10
mov rax, rdx
xor r11d, r11d
xor r8d, r8d
jmp 0x14002ed76
mov r10, rcx
mov rax, rdx
xor r8d, r8d
jmp 0x14002ec74
xor r8d, r8d
jmp 0x14002ebb0
mov rdx, r10
mov rax, r8
xor esi, esi
xor r12d, r12d
jmp 0x14002f1cb
mov rcx, r10
mov rdx, r8
xor r11d, r11d
xor eax, eax
jmp 0x14002f016