Function at 0x14013c1a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x128
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xe0], xmm10
movaps xmmword [rsp + 0xf0], xmm11
movaps xmmword [rsp + 0x100], xmm12
movaps xmmword [rsp + 0x110], xmm13
cmp qword [rsp + 0x190], 0x5d3
mov qword [rsp + 0x170], rcx
mov rbx, r9
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x9c], 0
jbe 0x14013e65e
mov eax, dword [rsp + 0x198]
mov qword [rsp + 0x30], r8
lea r12, [r9 + 0x4d4]
mov r8, rbx
mov qword [rsp + 0x28], rdx
mov rcx, r12
mov edx, 0x100
mov dword [rsp + 0x48], eax
lea rax, [r9 + 0x68]
lea r9, [rsp + 0x9c]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x40], 0x36c
mov qword [rsp + 0x20], rax
call fcn.140142400
mov rsi, rax
cmp rax, 0xffffffffffffff88
jbe 0x14013c2e5
movaps xmm6, xmmword [rsp + 0xa0]
mov rax, rsi
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm11, xmmword [rsp + 0xf0]
movaps xmm12, xmmword [rsp + 0x100]
movaps xmm13, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x170]
mov ebp, 0xb
mov r8d, dword [rsp + 0x98]
mov edi, dword [rsp + 0x9c]
mov r13d, dword [rax]
movzx r14d, r13b
add r14d, 1
cmp r14d, ebp
cmovbe ebp, r14d
cmp ebp, r8d
jb 0x14013c5ac
cmp r8d, ebp
jae 0x14013c5a9
mov edx, ebp
sub edx, r8d
test edi, edi
je 0x14013c4d1
lea eax, [rdi - 1]
cmp eax, 0xe
jbe 0x14013e685
movd xmm0, edx
mov ecx, edi
pxor xmm4, xmm4
mov rax, rbx
punpcklbw xmm0, xmm0
shr ecx, 4
punpcklwd xmm0, xmm0
shl rcx, 4
pshufd xmm2, xmm0, 0
add rcx, rbx
movdqu xmm1, xmmword [rax + 0x4d4]
add rax, 0x10
movdqa xmm0, xmm1
movdqa xmm3, xmm1
pcmpeqb xmm0, xmm4
paddb xmm3, xmm2
pand xmm1, xmm0
pandn xmm0, xmm3
por xmm0, xmm1
movups xmmword [rax + 0x4c4], xmm0
cmp rcx, rax
jne 0x14013c362
mov eax, edi
and eax, 0xfffffff0
test dil, 0xf
je 0x14013c4d1
mov ecx, edi
sub ecx, eax
lea r9d, [rcx - 1]
mov r15d, ecx
cmp r9d, 6
jbe 0x14013c40b
movzx r10d, dl
mov r9d, eax
pxor xmm0, xmm0
mov ecx, r10d
lea r9, [rbx + r9 + 0x4d4]
mov ch, cl
movq xmm2, qword [r9]
mov r10d, ecx
mov ecx, r15d
movd xmm4, r10d
pcmpeqb xmm0, xmm2
and ecx, 0xfffffff8
pshuflw xmm1, xmm4, 0
add eax, ecx
and r15d, 7
paddb xmm1, xmm2
pand xmm2, xmm0
pandn xmm0, xmm1
por xmm0, xmm2
movq qword [r9], xmm0
je 0x14013c4d1
mov r9d, eax
add r9, r12
movzx ecx, byte [r9]
lea r10d, [rcx + rdx]
test cl, cl
cmovne ecx, r10d
mov byte [r9], cl
lea ecx, [rax + 1]
cmp ecx, edi
jae 0x14013c4d1
add rcx, r12
movzx r9d, byte [rcx]
lea r10d, [r9 + rdx]
test r9b, r9b
cmovne r9d, r10d
mov byte [rcx], r9b
lea ecx, [rax + 2]
cmp ecx, edi
jae 0x14013c4d1
add rcx, r12
movzx r9d, byte [rcx]
lea r10d, [r9 + rdx]
test r9b, r9b
cmovne r9d, r10d
mov byte [rcx], r9b
lea ecx, [rax + 3]
cmp ecx, edi
jae 0x14013c4d1
add rcx, r12
movzx r9d, byte [rcx]
lea r10d, [r9 + rdx]
test r9b, r9b
cmovne r9d, r10d
mov byte [rcx], r9b
lea ecx, [rax + 4]
cmp ecx, edi
jae 0x14013c4d1
add rcx, r12
movzx r9d, byte [rcx]
lea r10d, [r9 + rdx]
test r9b, r9b
cmovne r9d, r10d
mov byte [rcx], r9b
lea ecx, [rax + 5]
cmp ecx, edi
jae 0x14013c4d1
add rcx, r12
movzx r9d, byte [rcx]
test r9b, r9b
lea r10d, [r9 + rdx]
cmovne r9d, r10d
add eax, 6
mov byte [rcx], r9b
cmp eax, edi
jae 0x14013c4d1
add r12, rax
movzx eax, byte [r12]
lea ecx, [rax + rdx]
test al, al
cmovne eax, ecx
mov byte [r12], al
cmp edx, ebp
jae 0x14013c58e
mov eax, r8d
mov ecx, dword [rbx + rax*4]
mov eax, ebp
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 1]
cmp edx, eax
jae 0x14013c58e
lea ecx, [r8 - 1]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 2]
cmp edx, eax
jae 0x14013c58e
lea ecx, [r8 - 2]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 3]
cmp edx, eax
jae 0x14013c58e
lea ecx, [r8 - 3]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 4]
cmp edx, eax
jae 0x14013c58e
lea ecx, [r8 - 4]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 5]
cmp edx, eax
jae 0x14013c58e
lea ecx, [r8 - 5]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 6]
cmp edx, eax
jae 0x14013c58e
lea ecx, [r8 - 6]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 7]
cmp edx, eax
jae 0x14013c58e
lea ecx, [r8 - 7]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 8]
cmp edx, eax
jae 0x14013c58e
lea ecx, [r8 - 8]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
xor eax, eax
cmp r14d, 0xa
setne al
add eax, 1
cmp edx, eax
jae 0x14013c58e
lea eax, [r8 - 9]
mov eax, dword [rbx + rax*4]
mov dword [rbx + 8], eax
mov r8d, edx
lea eax, [rdx - 1]
xor edx, edx
shl r8, 2
neg rax
lea rcx, [r8 + rax*4]
add rcx, rbx
call sub.msvcrt.dll_memset
mov r8d, ebp
mov dword [rsp + 0x98], r8d
cmp r14d, r8d
jb 0x14013e65e
movzx edx, r8b
mov eax, r13d
lea r10d, [rdi - 3]
mov ecx, r8d
shl edx, 0x10
and eax, 0xff0000ff
or eax, edx
mov rdx, qword [rsp + 0x170]
mov dword [rdx], eax
mov r9d, dword [rbx]
mov edx, dword [rbx + 4]
mov dword [rbx + 0x34], 0
mov dword [rbx + 0x38], r9d
add edx, r9d
cmp r8d, 1
je 0x14013c690
mov eax, dword [rbx + 8]
mov dword [rbx + 0x3c], edx
add eax, edx
cmp r8d, 2
je 0x14013c690
mov edx, dword [rbx + 0xc]
mov dword [rbx + 0x40], eax
add edx, eax
cmp r8d, 3
je 0x14013c690
mov eax, dword [rbx + 0x10]
mov dword [rbx + 0x44], edx
add eax, edx
cmp r8d, 4
je 0x14013c690
mov edx, dword [rbx + 0x14]
mov dword [rbx + 0x48], eax
add edx, eax
cmp r8d, 5
je 0x14013c690
mov eax, dword [rbx + 0x18]
mov dword [rbx + 0x4c], edx
add eax, edx
cmp r8d, 6
je 0x14013c690
mov edx, dword [rbx + 0x1c]
mov dword [rbx + 0x50], eax
add edx, eax
cmp r8d, 7
je 0x14013c690
mov eax, dword [rbx + 0x20]
mov dword [rbx + 0x54], edx
add eax, edx
cmp r8d, 8
je 0x14013c690
mov edx, dword [rbx + 0x24]
mov dword [rbx + 0x58], eax
add edx, eax
cmp r8d, 9
je 0x14013c690
mov eax, dword [rbx + 0x28]
mov dword [rbx + 0x5c], edx
add eax, edx
cmp r8d, 0xa
je 0x14013c690
mov edx, dword [rbx + 0x2c]
mov dword [rbx + 0x60], eax
add edx, eax
cmp r8d, 0xb
je 0x14013c690
mov dword [rbx + 0x64], edx
xor eax, eax
test r10d, r10d
jle 0x14013c74d
nop dword [rax + rax]
movzx r11d, byte [rbx + rax + 0x4d4]
add r11, 0xc
mov edx, dword [rbx + r11*4 + 4]
lea ebp, [rdx + 1]
mov dword [rbx + r11*4 + 4], ebp
mov byte [rbx + rdx + 0x3d4], al
movzx r11d, byte [rbx + rax + 0x4d5]
add r11, 0xc
mov edx, dword [rbx + r11*4 + 4]
lea ebp, [rdx + 1]
mov dword [rbx + r11*4 + 4], ebp
lea r11d, [rax + 1]
mov byte [rbx + rdx + 0x3d4], r11b
movzx r11d, byte [rbx + rax + 0x4d6]
add r11, 0xc
mov edx, dword [rbx + r11*4 + 4]
lea ebp, [rdx + 1]
mov dword [rbx + r11*4 + 4], ebp
lea r11d, [rax + 2]
mov byte [rbx + rdx + 0x3d4], r11b
movzx r11d, byte [rbx + rax + 0x4d7]
add r11, 0xc
mov edx, dword [rbx + r11*4 + 4]
lea ebp, [rdx + 1]
mov dword [rbx + r11*4 + 4], ebp
lea r11d, [rax + 3]
add rax, 4
mov byte [rbx + rdx + 0x3d4], r11b
cmp r10d, eax
jg 0x14013c6a0
lea eax, [rdi - 4]
shr eax, 2
lea eax, [rax*4 + 4]
cmp edi, eax
jle 0x14013c802
movsxd rdx, eax
movzx r10d, byte [rbx + rdx + 0x4d4]
add r10, 0xc
mov edx, dword [rbx + r10*4 + 4]
lea r11d, [rdx + 1]
mov dword [rbx + r10*4 + 4], r11d
lea r11d, [rax + 1]
mov byte [rbx + rdx + 0x3d4], al
cmp edi, r11d
jle 0x14013c802
movsxd rdx, r11d
movzx r10d, byte [rbx + rdx + 0x4d4]
add r10, 0xc
mov edx, dword [rbx + r10*4 + 4]
lea ebp, [rdx + 1]
mov dword [rbx + r10*4 + 4], ebp
mov byte [rbx + rdx + 0x3d4], r11b
lea r11d, [rax + 2]
cmp edi, r11d
jle 0x14013c802
movsxd rdx, r11d
add eax, 3
movzx r10d, byte [rbx + rdx + 0x4d4]
add r10, 0xc
mov edx, dword [rbx + r10*4 + 4]
lea ebp, [rdx + 1]
mov dword [rbx + r10*4 + 4], ebp
mov byte [rbx + rdx + 0x3d4], r11b
cmp edi, eax
jle 0x14013c802
movsxd rdx, eax
movzx r10d, byte [rbx + rdx + 0x4d4]
add r10, 0xc
mov edx, dword [rbx + r10*4 + 4]
lea r11d, [rdx + 1]
mov dword [rbx + r10*4 + 4], r11d
mov byte [rbx + rdx + 0x3d4], al
mov r13d, r9d
pxor xmm4, xmm4
pxor xmm3, xmm3
xor r15d, r15d
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x88], rsi
pxor xmm2, xmm2
add rax, 4
mov qword [rsp + 0x78], rax
lea eax, [r8 + 1]
mov dword [rsp + 0x68], eax
lea eax, [rcx + 1]
mov ecx, 1
mov byte [rsp + 0x6f], al
lea rax, [rbx + 0x3d5]
mov qword [rsp + 0x70], rax
nop dword [rax]
movzx edx, byte [rsp + 0x6f]
mov eax, 1
mov r9d, dword [rbx + rcx*4]
shl eax, cl
sar eax, 1
sub edx, ecx
mov r11d, r9d
mov dword [rsp + 0x58], eax
mov byte [rsp + 0x5c], dl
cmp eax, 4
je 0x14013cbe0
jg 0x14013c97e
cmp eax, 1
je 0x14013cb28
cmp eax, 2
jne 0x14013ca62
test r9d, r9d
jle 0x14013c953
lea r12d, [r9 - 1]
cmp r12d, 6
jbe 0x14013e624
movsxd rax, r15d
mov esi, r9d
movsxd r10, r13d
lea rdi, [rax + 2]
mov qword [rsp + 0x60], rax
lea rbp, [r10 + 0x3d4]
mov rax, qword [rsp + 0x170]
lea r14, [rbx + rbp]
lea r8, [rax + rdi*2]
lea rdi, [rdi + rsi*2]
lea rdi, [rax + rdi*2]
cmp r14, rdi
jae 0x14013ddfa
add rsi, rbp
add rsi, rbx
cmp r8, rsi
jae 0x14013ddfa
mov rax, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x60]
lea edi, [r11 + 1]
add r10, rbx
movzx edx, byte [rsp + 0x5c]
mov r11d, 1
lea rbp, [rax + rsi*2]
mov eax, dword [rsp + 0x58]
nop word [rax + rax]
movzx esi, byte [r11 + r10 + 0x3d3]
mov r8d, esi
shl r8d, 8
or r8d, edx
shl r8d, 8
or r8d, esi
shl r8d, 8
or r8d, edx
mov dword [rbp + r11*4], r8d
add r11, 1
cmp r11, rdi
jne 0x14013c920
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
add rcx, 1
add r13d, r9d
imul eax, r9d
add r15d, eax
mov eax, dword [rsp + 0x68]
cmp ecx, eax
jb 0x14013c850
mov rsi, qword [rsp + 0x88]
jmp 0x14013c288
cmp dword [rsp + 0x58], 8
jne 0x14013ca62
test r9d, r9d
jle 0x14013c953
lea ebp, [r9 - 1]
movzx r14d, byte [rsp + 0x5c]
cmp ebp, 0xe
jbe 0x14013e634
movsxd rax, r15d
mov rdx, qword [rsp + 0x170]
mov r8d, r9d
movsxd r10, r13d
lea r12, [rax + 2]
mov qword [rsp + 0x60], rax
lea rdi, [r10 + 0x3d4]
mov rax, qword [rsp + 0x170]
lea rsi, [rbx + rdi]
lea rax, [rax + r12*2]
lea r12, [r12 + r8*8]
lea r12, [rdx + r12*2]
cmp rsi, r12
jae 0x14013cca1
add rdi, r8
add rdi, rbx
cmp rax, rdi
jae 0x14013cca1
mov rax, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x60]
lea r8, [rbx + r10 + 0x3d4]
lea r11, [rax + rdi*2]
mov rax, qword [rsp + 0x70]
add r10, rax
mov eax, dword [rsp + 0x58]
add r10, rbp
nop word [rax + rax]
movzx edx, byte [r8]
add r8, 1
add r11, 0x10
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov rsi, rdx
shl rsi, 0x10
add rdx, rsi
mov rsi, rdx
shl rsi, 0x20
lea rdi, [rdx + rsi]
movq xmm0, rdi
punpcklqdq xmm0, xmm0
movups xmmword [r11 - 0xc], xmm0
cmp r10, r8
jne 0x14013ca20
jmp 0x14013c94f
test r11d, r11d
jle 0x14013c953
movsxd r12, dword [rsp + 0x58]
movsxd r10, r15d
movsxd r8, r13d
movzx edx, byte [rsp + 0x5c]
mov rax, qword [rsp + 0x170]
lea rsi, [rbx + r8 + 0x3d4]
mov r14, r12
add r12, r12
lea rdi, [rax + r10*2 + 4]
lea r10d, [r11 - 1]
mov rax, qword [rsp + 0x70]
lea r11d, [r14 - 1]
shr r11d, 4
add r8, rax
mov eax, r14d
add r11d, 1
lea rbp, [r8 + r10]
mov r14d, r11d
shl r14d, 4
nop dword [rax]
movzx r8d, byte [rsi]
shl r8d, 8
add r8d, edx
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r10, r8
mov r8, rdi
movq xmm0, r10
xor r10d, r10d
punpcklqdq xmm0, xmm0
nop dword [rax]
add r10d, 1
movups xmmword [r8], xmm0
add r8, 0x20
movups xmmword [r8 - 0x10], xmm0
cmp r10d, r11d
jb 0x14013caf8
cmp eax, r14d
jne 0x14013e68c
add rsi, 1
add rdi, r12
cmp rsi, rbp
jne 0x14013cac0
jmp 0x14013c94f
test r9d, r9d
jle 0x14013c953
lea edi, [r9 - 1]
mov esi, r9d
movsxd r10, r13d
cmp edi, 6
jbe 0x14013e651
movsxd rdx, r15d
lea rax, [r10 + 0x3d4]
lea r14, [rdx + 2]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x170]
lea r12, [rbx + rax]
lea r8, [r14 + rsi]
mov qword [rsp + 0x80], rax
lea r8, [rdx + r8*2]
lea rbp, [rdx + r14*2]
cmp r12, r8
jae 0x14013d939
lea r8, [rax + rsi]
add r8, rbx
cmp rbp, r8
jae 0x14013d939
mov rdi, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x58]
xor r8d, r8d
add r10, rbx
mov rax, qword [rsp + 0x170]
lea r11, [rax + rdi*2]
movzx edi, byte [rsp + 0x5c]
nop dword [rax]
movzx eax, byte [r8 + r10 + 0x3d4]
movzx edx, dil
mov dh, al
mov word [r11 + r8*2 + 4], dx
add r8, 1
cmp rsi, r8
jne 0x14013cbb8
mov dword [rsp + 0x58], r14d
jmp 0x14013c953
test r9d, r9d
jle 0x14013c953
lea r8d, [r9 - 1]
movzx r14d, byte [rsp + 0x5c]
mov esi, r9d
movsxd r10, r13d
cmp r8d, 0x14
jbe 0x14013e644
movsxd rax, r15d
lea rbp, [r10 + 0x3d4]
lea r12, [rax + 2]
mov qword [rsp + 0x60], rax
lea rdi, [rbx + rbp]
mov rax, qword [rsp + 0x170]
lea r8, [rax + r12*2]
lea r12, [r12 + rsi*4]
lea r12, [rax + r12*2]
cmp rdi, r12
jae 0x14013d3ab
add rbp, rsi
add rbp, rbx
cmp r8, rbp
jae 0x14013d3ab
mov rax, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x60]
xor r8d, r8d
add r10, rbx
lea r11, [rax + rdi*2]
mov eax, dword [rsp + 0x58]
nop dword [rax]
movzx edx, byte [r10 + r8 + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov rdi, rdx
shl rdi, 0x10
add rdx, rdi
mov rdi, rdx
shl rdi, 0x20
add rdx, rdi
mov qword [r11 + r8*8 + 4], rdx
add r8, 1
cmp rsi, r8
jne 0x14013cc68
jmp 0x14013c94f
movzx edx, byte [rsp + 0x5c]
mov r8, rax
mov eax, dword [rsp + 0x58]
movd xmm9, edx
mov edx, r11d
shr edx, 4
punpcklwd xmm9, xmm9
shl rdx, 4
pshufd xmm9, xmm9, 0
add rdx, rsi
nop word [rax + rax]
movdqu xmm0, xmmword [rsi]
movdqa xmm6, xmm2
movdqa xmm12, xmm2
add rsi, 0x10
add r8, 0x100
movdqa xmm1, xmm0
punpckhbw xmm0, xmm4
punpcklbw xmm1, xmm4
psllw xmm0, 8
psllw xmm1, 8
paddw xmm0, xmm9
paddw xmm1, xmm9
movdqa xmm5, xmm0
punpckhwd xmm0, xmm3
movdqa xmm10, xmm1
punpckhwd xmm1, xmm3
punpcklwd xmm5, xmm3
punpcklwd xmm10, xmm3
pcmpgtd xmm12, xmm5
movdqa xmm13, xmm0
pcmpgtd xmm6, xmm10
movdqa xmm7, xmm10
punpckhdq xmm10, xmm6
punpckldq xmm7, xmm6
movdqa xmm6, xmm10
movdqa xmm11, xmm7
psllq xmm6, 0x10
psllq xmm11, 0x10
paddq xmm10, xmm6
paddq xmm11, xmm7
movdqa xmm6, xmm10
movdqa xmm7, xmm11
psllq xmm6, 0x20
psllq xmm7, 0x20
paddq xmm10, xmm6
movdqa xmm6, xmm2
paddq xmm11, xmm7
pcmpgtd xmm6, xmm1
movdqa xmm7, xmm1
punpckldq xmm7, xmm6
punpckhdq xmm1, xmm6
movdqa xmm8, xmm7
psllq xmm8, 0x10
paddq xmm8, xmm7
movdqa xmm7, xmm8
psllq xmm7, 0x20
paddq xmm8, xmm7
movdqa xmm7, xmm1
psllq xmm7, 0x10
paddq xmm7, xmm1
movdqa xmm1, xmm7
psllq xmm1, 0x20
paddq xmm7, xmm1
movdqa xmm1, xmm5
punpckldq xmm1, xmm12
movdqa xmm6, xmm1
psllq xmm6, 0x10
paddq xmm6, xmm1
movdqa xmm1, xmm6
psllq xmm1, 0x20
paddq xmm6, xmm1
movdqa xmm1, xmm5
punpckhdq xmm1, xmm12
movdqa xmm12, xmm2
pcmpgtd xmm12, xmm0
movdqa xmm5, xmm1
psllq xmm5, 0x10
paddq xmm5, xmm1
punpckhdq xmm0, xmm12
punpckldq xmm13, xmm12
movdqa xmm1, xmm5
movdqa xmm12, xmm0
psllq xmm1, 0x20
psllq xmm12, 0x10
paddq xmm5, xmm1
movdqa xmm1, xmm13
paddq xmm0, xmm12
psllq xmm1, 0x10
movdqa xmm12, xmm0
paddq xmm1, xmm13
psllq xmm12, 0x20
movdqa xmm13, xmm1
paddq xmm0, xmm12
psllq xmm13, 0x20
movdqa xmm12, xmm11
punpcklqdq xmm12, xmm11
punpckhqdq xmm11, xmm11
paddq xmm1, xmm13
movups xmmword [r8 - 0xf0], xmm11
movdqa xmm11, xmm10
punpcklqdq xmm11, xmm10
punpckhqdq xmm10, xmm10
movups xmmword [r8 - 0x100], xmm12
movups xmmword [r8 - 0xd0], xmm10
movdqa xmm10, xmm8
punpcklqdq xmm10, xmm8
punpckhqdq xmm8, xmm8
movups xmmword [r8 - 0xe0], xmm11
movups xmmword [r8 - 0xb0], xmm8
movdqa xmm8, xmm7
punpcklqdq xmm8, xmm7
punpckhqdq xmm7, xmm7
movups xmmword [r8 - 0xc0], xmm10
movups xmmword [r8 - 0x90], xmm7
movdqa xmm7, xmm6
punpcklqdq xmm7, xmm6
punpckhqdq xmm6, xmm6
movups xmmword [r8 - 0xa0], xmm8
movups xmmword [r8 - 0x70], xmm6
movdqa xmm6, xmm5
punpcklqdq xmm6, xmm5
punpckhqdq xmm5, xmm5
movups xmmword [r8 - 0x80], xmm7
movups xmmword [r8 - 0x50], xmm5
movdqa xmm5, xmm1
punpcklqdq xmm5, xmm1
punpckhqdq xmm1, xmm1
movups xmmword [r8 - 0x60], xmm6
movups xmmword [r8 - 0x30], xmm1
movdqa xmm1, xmm0
punpcklqdq xmm1, xmm0
punpckhqdq xmm0, xmm0
movups xmmword [r8 - 0x40], xmm5
movups xmmword [r8 - 0x20], xmm1
movups xmmword [r8 - 0x10], xmm0
cmp rsi, rdx
jne 0x14013ccd0
mov edx, r11d
mov dword [rsp + 0x58], eax
and edx, 0xfffffff0
lea esi, [r15 + rdx*8]
test r11b, 0xf
je 0x14013c953
lea r8d, [r13 + rdx]
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
lea rax, [r8 + r10]
movsxd r8, esi
add esi, 8
movq xmm0, rax
mov rax, qword [rsp + 0x78]
punpcklqdq xmm0, xmm0
movups xmmword [rax + r8*2], xmm0
lea r8d, [rdx + 1]
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
lea rdi, [r8 + r10]
movsxd r10, esi
lea r8d, [rdx + 2]
movq xmm0, rdi
lea rsi, [r10 + r10]
punpcklqdq xmm0, xmm0
movups xmmword [rax + r10*2], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 3]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0x10], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 4]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0x20], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 5]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0x30], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 6]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0x40], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 7]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0x50], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 8]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0x60], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 9]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0x70], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 0xa]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0x80], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 0xb]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0x90], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 0xc]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0xa0], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
lea r8d, [rdx + 0xd]
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0xb0], xmm0
cmp r11d, r8d
jle 0x14013c953
add r8d, r13d
add edx, 0xe
movsxd r8, r8d
movzx r8d, byte [rbx + r8 + 0x3d4]
shl r8d, 8
add r8d, r14d
movsxd r8, r8d
mov r10, r8
shl r10, 0x10
add r8, r10
mov r10, r8
shl r10, 0x20
add r8, r10
movq xmm0, r8
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0xc0], xmm0
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
movq xmm0, rdx
punpcklqdq xmm0, xmm0
movups xmmword [rax + rsi + 0xd0], xmm0
jmp 0x14013c953
movzx edx, byte [rsp + 0x5c]
mov eax, dword [rsp + 0x58]
movd xmm5, edx
mov edx, r11d
shr edx, 4
punpcklwd xmm5, xmm5
shl rdx, 4
pshufd xmm5, xmm5, 0
add rdx, rdi
nop
movdqu xmm0, xmmword [rdi]
movdqa xmm9, xmm2
add rdi, 0x10
sub r8, 0xffffffffffffff80
movdqa xmm1, xmm0
punpckhbw xmm0, xmm4
punpcklbw xmm1, xmm4
psllw xmm0, 8
psllw xmm1, 8
paddw xmm0, xmm5
paddw xmm1, xmm5
movdqa xmm6, xmm0
punpckhwd xmm0, xmm3
movdqa xmm7, xmm1
punpckhwd xmm1, xmm3
punpcklwd xmm6, xmm3
punpcklwd xmm7, xmm3
pcmpgtd xmm9, xmm7
movdqa xmm10, xmm7
punpckldq xmm10, xmm9
movdqa xmm8, xmm10
psllq xmm8, 0x10
paddq xmm8, xmm10
movdqa xmm10, xmm8
psllq xmm10, 0x20
paddq xmm8, xmm10
movups xmmword [r8 - 0x80], xmm8
movdqa xmm8, xmm7
punpckhdq xmm8, xmm9
movdqa xmm9, xmm1
movdqa xmm7, xmm8
psllq xmm7, 0x10
paddq xmm7, xmm8
movdqa xmm8, xmm7
psllq xmm8, 0x20
paddq xmm7, xmm8
movdqa xmm8, xmm2
pcmpgtd xmm8, xmm1
movups xmmword [r8 - 0x70], xmm7
punpckldq xmm9, xmm8
movdqa xmm7, xmm9
psllq xmm7, 0x10
paddq xmm7, xmm9
movdqa xmm9, xmm7
psllq xmm9, 0x20
paddq xmm7, xmm9
movups xmmword [r8 - 0x60], xmm7
movdqa xmm7, xmm1
punpckhdq xmm7, xmm8
movdqa xmm8, xmm6
movdqa xmm1, xmm7
psllq xmm1, 0x10
paddq xmm1, xmm7
movdqa xmm7, xmm1
psllq xmm7, 0x20
paddq xmm1, xmm7
movdqa xmm7, xmm2
pcmpgtd xmm7, xmm6
movups xmmword [r8 - 0x50], xmm1
punpckldq xmm8, xmm7
punpckhdq xmm6, xmm7
movdqa xmm7, xmm0
movdqa xmm1, xmm8
psllq xmm1, 0x10
paddq xmm1, xmm8
movdqa xmm8, xmm1
psllq xmm8, 0x20
paddq xmm1, xmm8
movups xmmword [r8 - 0x40], xmm1
movdqa xmm1, xmm6
psllq xmm1, 0x10
paddq xmm1, xmm6
movdqa xmm6, xmm1
psllq xmm6, 0x20
paddq xmm1, xmm6
movdqa xmm6, xmm2
pcmpgtd xmm6, xmm0
movups xmmword [r8 - 0x30], xmm1
punpckldq xmm7, xmm6
movdqa xmm1, xmm7
psllq xmm1, 0x10
paddq xmm1, xmm7
movdqa xmm7, xmm1
psllq xmm7, 0x20
paddq xmm1, xmm7
movups xmmword [r8 - 0x20], xmm1
movdqa xmm1, xmm0
punpckhdq xmm1, xmm6
movdqa xmm0, xmm1
psllq xmm0, 0x10
paddq xmm0, xmm1
movdqa xmm1, xmm0
psllq xmm1, 0x20
paddq xmm0, xmm1
movups xmmword [r8 - 0x10], xmm0
cmp rdx, rdi
jne 0x14013d3d0
mov edi, r11d
mov dword [rsp + 0x58], eax
and edi, 0xfffffff0
lea r8d, [r15 + rdi*4]
test r11b, 0xf
je 0x14013c953
lea edx, [r13 + rdi]
mov rax, qword [rsp + 0x78]
movsxd r10, r8d
add r8d, 4
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov rsi, rdx
shl rsi, 0x10
add rdx, rsi
mov rsi, rdx
shl rsi, 0x20
add rdx, rsi
mov qword [rax + r10*2], rdx
lea edx, [rdi + 1]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd r8, r8d
movsxd rdx, edx
lea rsi, [r8 + r8]
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r10, rdx
shl r10, 0x10
add rdx, r10
mov r10, rdx
shl r10, 0x20
add rdx, r10
mov qword [rax + r8*2], rdx
lea edx, [rdi + 2]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 8], rdx
lea edx, [rdi + 3]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x10], rdx
lea edx, [rdi + 4]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x18], rdx
lea edx, [rdi + 5]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x20], rdx
lea edx, [rdi + 6]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x28], rdx
lea edx, [rdi + 7]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x30], rdx
lea edx, [rdi + 8]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x38], rdx
lea edx, [rdi + 9]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x40], rdx
lea edx, [rdi + 0xa]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x48], rdx
lea edx, [rdi + 0xb]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x50], rdx
lea edx, [rdi + 0xc]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x58], rdx
lea edx, [rdi + 0xd]
cmp r11d, edx
jle 0x14013c953
add edx, r13d
add edi, 0xe
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x60], rdx
cmp r11d, edi
jle 0x14013c953
add edi, r13d
movsxd rdx, edi
movzx edx, byte [rbx + rdx + 0x3d4]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r8, rdx
shl r8, 0x10
add rdx, r8
mov r8, rdx
shl r8, 0x20
add rdx, r8
mov qword [rax + rsi + 0x68], rdx
jmp 0x14013c953
cmp edi, 0xe
jbe 0x14013e66a
movd xmm0, dword [rsp + 0x5c]
movdqu xmm1, xmmword [r12]
mov r8d, r11d
punpcklbw xmm0, xmm0
shr r8d, 4
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x10], xmm5
cmp r8d, 1
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0x10]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x20], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x30], xmm5
cmp r8d, 2
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0x20]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x40], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x50], xmm5
cmp r8d, 3
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0x30]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x60], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x70], xmm5
cmp r8d, 4
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0x40]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x80], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x90], xmm5
cmp r8d, 5
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0x50]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0xa0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0xb0], xmm5
cmp r8d, 6
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0x60]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0xc0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0xd0], xmm5
cmp r8d, 7
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0x70]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0xe0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0xf0], xmm5
cmp r8d, 8
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0x80]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x100], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x110], xmm5
cmp r8d, 9
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0x90]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x120], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x130], xmm5
cmp r8d, 0xa
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0xa0]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x140], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x150], xmm5
cmp r8d, 0xb
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0xb0]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x160], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x170], xmm5
cmp r8d, 0xc
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0xc0]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x180], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x190], xmm5
cmp r8d, 0xd
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0xd0]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x1a0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x1b0], xmm5
cmp r8d, 0xe
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0xe0]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [rbp + 0x1c0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [rbp + 0x1d0], xmm5
cmp r8d, 0xf
je 0x14013dc35
movdqu xmm1, xmmword [r12 + 0xf0]
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
punpckhbw xmm0, xmm1
movups xmmword [rbp + 0x1e0], xmm5
movups xmmword [rbp + 0x1f0], xmm0
mov r8d, r11d
and r8d, 0xfffffff0
mov r10d, r8d
lea ebp, [r15 + r8]
test r11b, 0xf
je 0x14013c953
sub r11d, r8d
lea esi, [r11 - 1]
cmp esi, 6
jbe 0x14013dcc4
mov esi, r8d
movzx r8d, byte [rsp + 0x5c]
mov rax, qword [rsp + 0x170]
add r14, rsi
add rsi, rbx
mov edx, r8d
lea rdi, [rax + r14*2]
mov rax, qword [rsp + 0x80]
mov dh, dl
mov r8d, edx
movq xmm1, qword [rsi + rax]
movd xmm5, r8d
mov r8d, r11d
pshuflw xmm0, xmm5, 0
and r8d, 0xfffffff8
movdqa xmm5, xmm0
punpcklbw xmm0, xmm1
add ebp, r8d
add r10d, r8d
punpcklbw xmm5, xmm1
pshufd xmm0, xmm0, 0x4e
and r11d, 7
movq qword [rdi], xmm5
movq qword [rdi + 8], xmm0
je 0x14013c953
movsxd rsi, ebp
lea r11d, [r10 + r13]
movzx ebp, byte [rsp + 0x5c]
xor r8d, r8d
movsxd r11, r11d
mov r14, qword [rsp + 0x78]
lea rdi, [rsi + rsi]
movzx eax, byte [rbx + r11 + 0x3d4]
mov r8b, bpl
mov edx, r8d
lea r8d, [r10 + 1]
mov dh, al
mov word [r14 + rsi*2], dx
cmp r9d, r8d
jle 0x14013c953
add r8d, r13d
movzx r11d, bpl
movsxd r8, r8d
mov eax, r11d
movzx edx, byte [rbx + r8 + 0x3d4]
lea r8d, [r10 + 2]
mov ah, dl
mov word [r14 + rdi + 2], ax
cmp r9d, r8d
jle 0x14013c953
add r8d, r13d
xor r11d, r11d
movsxd r8, r8d
mov r11b, bpl
movzx edx, byte [rbx + r8 + 0x3d4]
mov eax, r11d
lea r8d, [r10 + 3]
mov ah, dl
mov word [r14 + rdi + 4], ax
cmp r8d, r9d
jge 0x14013c953
add r8d, r13d
movzx r11d, bpl
movsxd r8, r8d
mov eax, r11d
movzx edx, byte [rbx + r8 + 0x3d4]
lea r8d, [r10 + 4]
mov ah, dl
mov word [r14 + rdi + 6], ax
cmp r9d, r8d
jle 0x14013c953
add r8d, r13d
movzx r11d, bpl
movsxd r8, r8d
mov eax, r11d
movzx edx, byte [rbx + r8 + 0x3d4]
lea r8d, [r10 + 5]
mov ah, dl
mov word [r14 + rdi + 8], ax
cmp r9d, r8d
jle 0x14013c953
add r8d, r13d
movzx r11d, bpl
add r10d, 6
movsxd r8, r8d
mov eax, r11d
movzx edx, byte [rbx + r8 + 0x3d4]
mov ah, dl
mov word [r14 + rdi + 0xa], ax
cmp r9d, r10d
jle 0x14013c953
add r10d, r13d
movzx r8d, bpl
movsxd rdx, r10d
mov eax, r8d
mov ah, byte [rbx + rdx + 0x3d4]
mov word [r14 + rdi + 0xc], ax
jmp 0x14013c953
cmp r12d, 0xe
jbe 0x14013e678
movd xmm0, dword [rsp + 0x5c]
movdqu xmm1, xmmword [r14]
mov r10d, r11d
punpcklbw xmm0, xmm0
shr r10d, 4
punpcklwd xmm0, xmm0
movdqa xmm5, xmm1
pshufd xmm0, xmm0, 0
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
movdqa xmm6, xmm0
punpcklbw xmm6, xmm5
movups xmmword [r8], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x10], xmm6
movups xmmword [r8 + 0x20], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x30], xmm5
cmp r10d, 1
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0x10]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x40], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x50], xmm6
movups xmmword [r8 + 0x60], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x70], xmm5
cmp r10d, 2
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0x20]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x80], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x90], xmm6
movups xmmword [r8 + 0xa0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0xb0], xmm5
cmp r10d, 3
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0x30]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0xc0], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0xd0], xmm6
movups xmmword [r8 + 0xe0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0xf0], xmm5
cmp r10d, 4
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0x40]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x100], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x110], xmm6
movups xmmword [r8 + 0x120], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x130], xmm5
cmp r10d, 5
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0x50]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x140], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x150], xmm6
movups xmmword [r8 + 0x160], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x170], xmm5
cmp r10d, 6
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0x60]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x180], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x190], xmm6
movups xmmword [r8 + 0x1a0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x1b0], xmm5
cmp r10d, 7
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0x70]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x1c0], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x1d0], xmm6
movups xmmword [r8 + 0x1e0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x1f0], xmm5
cmp r10d, 8
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0x80]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x200], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x210], xmm6
movups xmmword [r8 + 0x220], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x230], xmm5
cmp r10d, 9
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0x90]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x240], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x250], xmm6
movups xmmword [r8 + 0x260], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x270], xmm5
cmp r10d, 0xa
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0xa0]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x280], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x290], xmm6
movups xmmword [r8 + 0x2a0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x2b0], xmm5
cmp r10d, 0xb
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0xb0]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x2c0], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x2d0], xmm6
movups xmmword [r8 + 0x2e0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x2f0], xmm5
cmp r10d, 0xc
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0xc0]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x300], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x310], xmm6
movups xmmword [r8 + 0x320], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x330], xmm5
cmp r10d, 0xd
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0xd0]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x340], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x350], xmm6
movups xmmword [r8 + 0x360], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x370], xmm5
cmp r10d, 0xe
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0xe0]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x380], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x390], xmm6
movups xmmword [r8 + 0x3a0], xmm5
movdqa xmm5, xmm0
punpckhbw xmm5, xmm1
movups xmmword [r8 + 0x3b0], xmm5
cmp r10d, 0xf
je 0x14013e3ca
movdqu xmm1, xmmword [r14 + 0xf0]
movdqa xmm6, xmm0
movdqa xmm5, xmm1
punpcklbw xmm5, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm6, xmm5
movups xmmword [r8 + 0x3c0], xmm6
movdqa xmm6, xmm0
punpckhbw xmm6, xmm5
movdqa xmm5, xmm0
punpckhbw xmm0, xmm1
punpcklbw xmm5, xmm1
movups xmmword [r8 + 0x3d0], xmm6
movups xmmword [r8 + 0x3e0], xmm5
movups xmmword [r8 + 0x3f0], xmm0
mov r8d, r11d
and r8d, 0xfffffff0
mov edi, r8d
lea ebp, [r15 + r8*2]
test r11b, 0xf
je 0x14013c953
sub r11d, r8d
lea r10d, [r11 - 1]
cmp r10d, 6
jbe 0x14013e48d
mov r10d, r8d
movzx r8d, byte [rsp + 0x5c]
mov rax, qword [rsp + 0x60]
movq xmm1, qword [r14 + r10]
mov edx, r8d
lea rsi, [rax + r10*2 + 2]
mov rax, qword [rsp + 0x170]
mov dh, dl
mov r8d, edx
lea rsi, [rax + rsi*2]
movd xmm5, r8d
mov r8d, r11d
pshuflw xmm0, xmm5, 0
movdqa xmm5, xmm1
and r8d, 0xfffffff8
punpcklbw xmm5, xmm1
movdqa xmm6, xmm0
punpcklbw xmm1, xmm1
add edi, r8d
punpcklbw xmm6, xmm5
pshufd xmm1, xmm1, 0x4e
and r11d, 7
movq qword [rsi], xmm6
movdqa xmm6, xmm0
lea ebp, [rbp + r8*2]
punpcklbw xmm6, xmm5
movdqa xmm5, xmm0
punpcklbw xmm0, xmm1
pshufd xmm6, xmm6, 0x4e
punpcklbw xmm5, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rsi + 8], xmm6
movq qword [rsi + 0x10], xmm5
movq qword [rsi + 0x18], xmm0
je 0x14013c953
lea r8d, [r13 + rdi]
movzx edx, byte [rsp + 0x5c]
mov rax, qword [rsp + 0x78]
movsxd r10, ebp
movsxd r8, r8d
lea rsi, [r10 + r10]
movzx r11d, byte [rbx + r8 + 0x3d4]
mov r8d, r11d
shl r8d, 8
or r8d, edx
shl r8d, 8
or r8d, r11d
shl r8d, 8
or r8d, edx
mov dword [rax + r10*2], r8d
lea r8d, [rdi + 1]
cmp r9d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r10d, byte [rbx + r8 + 0x3d4]
mov r8d, r10d
shl r8d, 8
or r8d, edx
shl r8d, 8
or r8d, r10d
shl r8d, 8
or r8d, edx
mov dword [rax + rsi + 4], r8d
lea r8d, [rdi + 2]
cmp r9d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r10d, byte [rbx + r8 + 0x3d4]
mov r8d, r10d
shl r8d, 8
or r8d, edx
shl r8d, 8
or r8d, r10d
shl r8d, 8
or r8d, edx
mov dword [rax + rsi + 8], r8d
lea r8d, [rdi + 3]
cmp r9d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r10d, byte [rbx + r8 + 0x3d4]
mov r8d, r10d
shl r8d, 8
or r8d, edx
shl r8d, 8
or r8d, r10d
shl r8d, 8
or r8d, edx
mov dword [rax + rsi + 0xc], r8d
lea r8d, [rdi + 4]
cmp r9d, r8d
jle 0x14013c953
add r8d, r13d
movsxd r8, r8d
movzx r10d, byte [rbx + r8 + 0x3d4]
mov r8d, r10d
shl r8d, 8
or r8d, edx
shl r8d, 8
or r8d, r10d
shl r8d, 8
or r8d, edx
mov dword [rax + rsi + 0x10], r8d
lea r8d, [rdi + 5]
cmp r9d, r8d
jle 0x14013c953
add r8d, r13d
add edi, 6
movsxd r8, r8d
movzx r10d, byte [rbx + r8 + 0x3d4]
mov r8d, r10d
shl r8d, 8
or r8d, edx
shl r8d, 8
or r8d, r10d
shl r8d, 8
or r8d, edx
mov dword [rax + rsi + 0x14], r8d
cmp r9d, edi
jle 0x14013c953
add edi, r13d
movsxd r8, edi
movzx r10d, byte [rbx + r8 + 0x3d4]
mov r8d, r10d
shl r8d, 8
or r8d, edx
shl r8d, 8
or r8d, r10d
shl r8d, 8
or edx, r8d
mov dword [rax + rsi + 0x18], edx
jmp 0x14013c953
movsxd rax, r15d
movsxd r10, r13d
mov qword [rsp + 0x60], rax
jmp 0x14013c8f0
movsxd rax, r15d
movsxd r10, r13d
mov qword [rsp + 0x60], rax
jmp 0x14013c9f2
movsxd rax, r15d
mov qword [rsp + 0x60], rax
jmp 0x14013cc46
movsxd rax, r15d
mov qword [rsp + 0x60], rax
jmp 0x14013cb90
mov rsi, 0xffffffffffffffd4
jmp 0x14013c288
mov ebp, r15d
xor r10d, r10d
xor r8d, r8d
jmp 0x14013dc59
mov ebp, r15d
xor r8d, r8d
xor edi, edi
jmp 0x14013e3f3
xor eax, eax
jmp 0x14013c3a5
mov r8d, 0x1e1
lea rdx, str.zstd_lib_decompress_huf_decompress.c
lea rcx, str.u__length
call qword [sym.imp.msvcrt.dll__assert]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop