Function at 0x3a122dc60
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], 0x5cf
mov qword [rsp + 0x170], rcx
mov rbx, r9
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x9c], 0
jbe 0x3a1230080
mov eax, dword [rsp + 0x198]
mov qword [rsp + 0x30], r8
lea r13, [r9 + 0x4d0]
mov r8, rbx
mov qword [rsp + 0x28], rdx
mov rcx, r13
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], 0x368
mov qword [rsp + 0x20], rax
call fcn.3a11820c0
mov rdi, rax
cmp rax, 0xffffffffffffff88
jbe 0x3a122dda8
movaps xmm6, xmmword [rsp + 0xa0]
mov rax, rdi
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 esi, dword [rsp + 0x9c]
mov r14d, dword [rax]
movzx r12d, r14b
add r12d, 1
cmp r12d, ebp
cmovbe ebp, r12d
cmp ebp, r8d
jb 0x3a122e072
cmp r8d, ebp
jae 0x3a122e06f
mov edx, ebp
sub edx, r8d
test esi, esi
je 0x3a122df97
lea eax, [rsi - 1]
cmp eax, 0xe
jbe 0x3a12300a8
movd xmm2, edx
mov ecx, esi
pxor xmm4, xmm4
mov rax, rbx
punpcklbw xmm2, xmm2
shr ecx, 4
punpcklwd xmm2, xmm2
shl rcx, 4
pshufd xmm2, xmm2, 0
add rcx, rbx
nop dword [rax]
movdqu xmm1, xmmword [rax + 0x4d0]
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 + 0x4c0], xmm0
cmp rcx, rax
jne 0x3a122de28
mov eax, esi
and eax, 0xfffffff0
test sil, 0xf
je 0x3a122df97
mov ecx, esi
sub ecx, eax
lea r9d, [rcx - 1]
mov r15d, ecx
cmp r9d, 6
jbe 0x3a122ded1
movzx r10d, dl
mov r9d, eax
pxor xmm0, xmm0
mov ecx, r10d
lea r9, [rbx + r9 + 0x4d0]
mov ch, cl
movq xmm2, qword [r9]
mov r10d, ecx
mov ecx, r15d
movd xmm5, r10d
pcmpeqb xmm0, xmm2
and ecx, 0xfffffff8
pshuflw xmm1, xmm5, 0
add eax, ecx
and r15d, 7
paddb xmm1, xmm2
pand xmm2, xmm0
pandn xmm0, xmm1
por xmm0, xmm2
movq qword [r9], xmm0
je 0x3a122df97
mov r9d, eax
add r9, r13
movzx ecx, byte [r9]
lea r10d, [rcx + rdx]
test cl, cl
cmovne ecx, r10d
mov byte [r9], cl
lea ecx, [rax + 1]
cmp ecx, esi
jae 0x3a122df97
add rcx, r13
movzx r9d, byte [rcx]
lea r10d, [r9 + rdx]
test r9b, r9b
cmovne r9d, r10d
mov byte [rcx], r9b
lea ecx, [rax + 2]
cmp ecx, esi
jae 0x3a122df97
add rcx, r13
movzx r9d, byte [rcx]
lea r10d, [r9 + rdx]
test r9b, r9b
cmovne r9d, r10d
mov byte [rcx], r9b
lea ecx, [rax + 3]
cmp ecx, esi
jae 0x3a122df97
add rcx, r13
movzx r9d, byte [rcx]
lea r10d, [r9 + rdx]
test r9b, r9b
cmovne r9d, r10d
mov byte [rcx], r9b
lea ecx, [rax + 4]
cmp ecx, esi
jae 0x3a122df97
add rcx, r13
movzx r9d, byte [rcx]
lea r10d, [r9 + rdx]
test r9b, r9b
cmovne r9d, r10d
mov byte [rcx], r9b
lea ecx, [rax + 5]
cmp ecx, esi
jae 0x3a122df97
add rcx, r13
movzx r9d, byte [rcx]
test r9b, r9b
lea r10d, [r9 + rdx]
cmovne r9d, r10d
add eax, 6
mov byte [rcx], r9b
cmp eax, esi
jae 0x3a122df97
add r13, rax
movzx eax, byte [r13]
lea ecx, [rax + rdx]
test al, al
cmovne eax, ecx
mov byte [r13], al
cmp edx, ebp
jae 0x3a122e054
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 0x3a122e054
lea ecx, [r8 - 1]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 2]
cmp edx, eax
jae 0x3a122e054
lea ecx, [r8 - 2]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 3]
cmp edx, eax
jae 0x3a122e054
lea ecx, [r8 - 3]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 4]
cmp edx, eax
jae 0x3a122e054
lea ecx, [r8 - 4]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 5]
cmp edx, eax
jae 0x3a122e054
lea ecx, [r8 - 5]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 6]
cmp edx, eax
jae 0x3a122e054
lea ecx, [r8 - 6]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 7]
cmp edx, eax
jae 0x3a122e054
lea ecx, [r8 - 7]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
lea eax, [rbp - 8]
cmp edx, eax
jae 0x3a122e054
lea ecx, [r8 - 8]
mov ecx, dword [rbx + rcx*4]
mov dword [rbx + rax*4], ecx
xor eax, eax
cmp r12d, 0xa
setne al
add eax, 1
cmp edx, eax
jae 0x3a122e054
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 r12d, r8d
jb 0x3a1230080
movzx edx, r8b
mov eax, r14d
lea r9d, [rsi - 3]
mov ecx, r8d
shl edx, 0x10
and eax, 0xff0000ff
or eax, edx
mov rdx, qword [rsp + 0x170]
mov dword [rdx], eax
mov r15d, dword [rbx]
mov eax, dword [rbx + 4]
mov dword [rbx + 0x34], 0
mov dword [rbx + 0x38], r15d
add eax, r15d
cmp r8d, 1
je 0x3a122e15a
mov edx, dword [rbx + 8]
mov dword [rbx + 0x3c], eax
add edx, eax
cmp r8d, 2
je 0x3a122e15a
mov eax, dword [rbx + 0xc]
mov dword [rbx + 0x40], edx
add eax, edx
cmp r8d, 3
je 0x3a122e15a
mov edx, dword [rbx + 0x10]
mov dword [rbx + 0x44], eax
add edx, eax
cmp r8d, 4
je 0x3a122e15a
mov eax, dword [rbx + 0x14]
mov dword [rbx + 0x48], edx
add eax, edx
cmp r8d, 5
je 0x3a122e15a
mov edx, dword [rbx + 0x18]
mov dword [rbx + 0x4c], eax
add edx, eax
cmp r8d, 6
je 0x3a122e15a
mov eax, dword [rbx + 0x1c]
mov dword [rbx + 0x50], edx
add eax, edx
cmp r8d, 7
je 0x3a122e15a
mov edx, dword [rbx + 0x20]
mov dword [rbx + 0x54], eax
add edx, eax
cmp r8d, 8
je 0x3a122e15a
mov r10d, dword [rbx + 0x24]
mov dword [rbx + 0x58], edx
add r10d, edx
cmp r8d, 9
je 0x3a122e15a
mov eax, dword [rbx + 0x28]
mov dword [rbx + 0x5c], r10d
add eax, r10d
cmp r8d, 0xa
je 0x3a122e15a
mov edx, dword [rbx + 0x2c]
mov dword [rbx + 0x60], eax
add edx, eax
cmp r8d, 0xb
je 0x3a122e15a
mov dword [rbx + 0x64], edx
xor eax, eax
test r9d, r9d
jle 0x3a122e219
nop dword [rax]
movzx r10d, byte [rbx + rax + 0x4d0]
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 + 0x3d0], al
movzx r10d, byte [rbx + rax + 0x4d1]
add r10, 0xc
mov edx, dword [rbx + r10*4 + 4]
lea r11d, [rdx + 1]
mov dword [rbx + r10*4 + 4], r11d
lea r10d, [rax + 1]
mov byte [rbx + rdx + 0x3d0], r10b
movzx r10d, byte [rbx + rax + 0x4d2]
add r10, 0xc
mov edx, dword [rbx + r10*4 + 4]
lea r11d, [rdx + 1]
mov dword [rbx + r10*4 + 4], r11d
lea r10d, [rax + 2]
mov byte [rbx + rdx + 0x3d0], r10b
movzx r10d, byte [rbx + rax + 0x4d3]
add r10, 0xc
mov edx, dword [rbx + r10*4 + 4]
lea r11d, [rdx + 1]
mov dword [rbx + r10*4 + 4], r11d
lea r10d, [rax + 3]
add rax, 4
mov byte [rbx + rdx + 0x3d0], r10b
cmp r9d, eax
jg 0x3a122e168
lea eax, [rsi - 4]
shr eax, 2
lea eax, [rax*4 + 4]
cmp esi, eax
jle 0x3a122e2d4
movsxd rdx, eax
movzx r9d, byte [rbx + rdx + 0x4d0]
add r9, 0xc
mov edx, dword [rbx + r9*4 + 4]
lea r10d, [rdx + 1]
mov dword [rbx + r9*4 + 4], r10d
lea r9d, [rax + 1]
mov byte [rbx + rdx + 0x3d0], al
cmp esi, r9d
jle 0x3a122e2d4
movsxd rdx, r9d
movzx r10d, byte [rbx + rdx + 0x4d0]
add r10, 0xc
mov edx, dword [rbx + r10*4 + 4]
lea r11d, [rdx + 1]
mov dword [rbx + r10*4 + 4], r11d
lea r10d, [rax + 2]
mov byte [rbx + rdx + 0x3d0], r9b
cmp esi, r10d
jle 0x3a122e2d4
movsxd rdx, r10d
add eax, 3
movzx r9d, byte [rbx + rdx + 0x4d0]
add r9, 0xc
mov edx, dword [rbx + r9*4 + 4]
lea r11d, [rdx + 1]
mov dword [rbx + r9*4 + 4], r11d
mov byte [rbx + rdx + 0x3d0], r10b
cmp esi, eax
jle 0x3a122e2d4
movsxd rdx, eax
movzx r9d, byte [rbx + rdx + 0x4d0]
add r9, 0xc
mov edx, dword [rbx + r9*4 + 4]
lea r10d, [rdx + 1]
mov dword [rbx + r9*4 + 4], r10d
mov byte [rbx + rdx + 0x3d0], al
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x88], rdi
xor r13d, r13d
add rax, 4
mov qword [rsp + 0x70], rax
lea eax, [r8 + 1]
mov dword [rsp + 0x64], eax
lea eax, [rcx + 1]
mov ecx, 1
mov byte [rsp + 0x83], al
lea rax, [rbx + 0x3d1]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x58], rcx
nop dword [rax + rax]
mov rdi, qword [rsp + 0x58]
mov eax, 1
movzx ebp, byte [rsp + 0x83]
mov ecx, edi
mov r8d, dword [rbx + rdi*4]
sub ebp, edi
shl eax, cl
sar eax, 1
mov r10d, r8d
cmp eax, 4
je 0x3a122e550
jg 0x3a122e450
cmp eax, 1
je 0x3a122e6d0
cmp eax, 2
jne 0x3a122e620
test r8d, r8d
jle 0x3a122e420
lea ecx, [r8 - 1]
movsxd r9, r15d
movsxd rsi, r13d
mov dword [rsp + 0x68], ecx
cmp ecx, 6
jbe 0x3a122e3c2
mov rcx, qword [rsp + 0x170]
movsxd rsi, r13d
mov r11d, r8d
movsxd r9, r15d
lea rdi, [rsi + 2]
lea r12, [r9 + 0x3d0]
lea rdx, [rcx + rdi*2]
lea rdi, [rdi + r11*2]
lea r14, [rbx + r12]
lea rdi, [rcx + rdi*2]
cmp r14, rdi
jae 0x3a122f428
add r11, r12
add r11, rbx
cmp rdx, r11
jae 0x3a122f428
mov rcx, qword [rsp + 0x170]
lea edi, [r10 + 1]
movzx ebp, bpl
add r9, rbx
mov r10d, 1
lea rsi, [rcx + rsi*2]
mov rcx, qword [rsp + 0x58]
nop dword [rax]
movzx r11d, byte [r10 + r9 + 0x3cf]
mov edx, r11d
shl edx, 8
or edx, ebp
shl edx, 8
or edx, r11d
shl edx, 8
or edx, ebp
mov dword [rsi + r10*4], edx
add r10, 1
cmp rdi, r10
jne 0x3a122e3e8
mov qword [rsp + 0x58], rcx
nop word cs:[rax + rax]
imul eax, r8d
add qword [rsp + 0x58], 1
mov rsi, qword [rsp + 0x58]
add r15d, r8d
add r13d, eax
mov eax, dword [rsp + 0x64]
cmp esi, eax
jb 0x3a122e320
mov rdi, qword [rsp + 0x88]
jmp 0x3a122dd48
cmp eax, 8
jne 0x3a122e620
test r8d, r8d
jle 0x3a122e420
lea ecx, [r8 - 1]
movzx r14d, bpl
movsxd r9, r15d
movsxd rsi, r13d
mov dword [rsp + 0x84], ecx
cmp ecx, 0xe
jbe 0x3a122e4cb
movsxd r9, r15d
mov rcx, qword [rsp + 0x170]
movsxd rsi, r13d
mov edx, r8d
lea rdi, [r9 + 0x3d0]
lea r12, [rsi + 2]
lea r11, [rbx + rdi]
lea rcx, [rcx + r12*2]
mov qword [rsp + 0x68], r11
mov r11, qword [rsp + 0x170]
lea r12, [r12 + rdx*8]
lea r12, [r11 + r12*2]
cmp qword [rsp + 0x68], r12
jae 0x3a122ed2b
add rdi, rdx
add rdi, rbx
cmp rcx, rdi
jae 0x3a122ed2b
mov rdi, qword [rsp + 0x170]
mov ebp, dword [rsp + 0x84]
lea r10, [rbx + r9 + 0x3d0]
lea r9, [rbx + r9 + 0x3d1]
mov rcx, qword [rsp + 0x58]
lea r11, [rdi + rsi*2]
add r9, rbp
nop word cs:[rax + rax]
movzx edx, byte [r10]
add r10, 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 r9, r10
jne 0x3a122e500
mov qword [rsp + 0x58], rcx
jmp 0x3a122e420
test r8d, r8d
jle 0x3a122e420
lea edx, [r8 - 1]
movzx r14d, bpl
mov r11d, r8d
movsxd r9, r15d
movsxd rsi, r13d
cmp edx, 0x14
jbe 0x3a122e5bc
lea rdx, [r9 + 0x3d0]
mov rcx, qword [rsp + 0x170]
movsxd rsi, r13d
lea rdi, [rbx + rdx]
lea r12, [rsi + 2]
mov qword [rsp + 0x68], rdi
mov rdi, qword [rsp + 0x170]
lea rcx, [rcx + r12*2]
lea r12, [r12 + r11*4]
lea r12, [rdi + r12*2]
cmp qword [rsp + 0x68], r12
jae 0x3a122e78a
add rdx, r11
add rdx, rbx
cmp rcx, rdx
jae 0x3a122e78a
mov rdi, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x58]
xor r10d, r10d
add r9, rbx
lea rsi, [rdi + rsi*2]
nop dword [rax + rax]
movzx edx, byte [r9 + r10 + 0x3d0]
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 [rsi + r10*8 + 4], rdx
add r10, 1
cmp r11, r10
jne 0x3a122e5d8
mov qword [rsp + 0x58], rcx
jmp 0x3a122e420
test r10d, r10d
jle 0x3a122e420
mov rcx, qword [rsp + 0x78]
movsxd r9, r13d
movsxd rdx, r15d
movsxd rdi, eax
mov rsi, qword [rsp + 0x170]
lea r11, [rbx + rdx + 0x3d0]
movzx ebp, bpl
add rdi, rdi
add rdx, rcx
mov rcx, qword [rsp + 0x58]
lea rsi, [rsi + r9*2 + 4]
lea r9d, [r10 - 1]
lea r10d, [rax - 1]
lea r12, [rdx + r9]
shr r10d, 4
add r10d, 1
nop
movzx edx, byte [r11]
shl edx, 8
add edx, ebp
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
xor r9d, r9d
movq xmm0, rdx
mov rdx, rsi
punpcklqdq xmm0, xmm0
nop
add r9d, 1
movups xmmword [rdx], xmm0
add rdx, 0x20
movups xmmword [rdx - 0x10], xmm0
cmp r9d, r10d
jb 0x3a122e6a0
add r11, 1
add rsi, rdi
cmp r11, r12
jne 0x3a122e670
mov qword [rsp + 0x58], rcx
jmp 0x3a122e420
test r8d, r8d
jle 0x3a122e420
lea ecx, [r8 - 1]
mov r11d, r8d
movsxd r9, r15d
movsxd rsi, r13d
mov dword [rsp + 0x84], ecx
cmp ecx, 6
jbe 0x3a122e743
lea rcx, [r9 + 0x3d0]
mov rdi, qword [rsp + 0x170]
movsxd rsi, r13d
lea r14, [rsi + 2]
mov qword [rsp + 0x68], rcx
lea r12, [rbx + rcx]
mov rcx, qword [rsp + 0x170]
lea rdx, [rdi + r14*2]
lea rdi, [r14 + r11]
lea rdi, [rcx + rdi*2]
cmp r12, rdi
jae 0x3a122fbe1
mov rcx, qword [rsp + 0x68]
lea rdi, [rcx + r11]
add rdi, rbx
cmp rdx, rdi
jae 0x3a122fbe1
mov rdi, qword [rsp + 0x170]
xor edx, edx
add r9, rbx
lea r10, [rdi + rsi*2]
mov rdi, qword [rsp + 0x58]
mov esi, eax
nop dword [rax + rax]
movzx ecx, byte [rdx + r9 + 0x3d0]
movzx eax, bpl
mov ah, cl
mov word [r10 + rdx*2 + 4], ax
add rdx, 1
cmp r11, rdx
jne 0x3a122e760
mov qword [rsp + 0x58], rdi
mov eax, esi
jmp 0x3a122e420
movzx r9d, bpl
mov rdi, qword [rsp + 0x68]
mov rdx, rcx
pxor xmm5, xmm5
movd xmm4, r9d
mov r9d, r10d
mov rcx, qword [rsp + 0x58]
pxor xmm3, xmm3
shr r9d, 4
punpcklwd xmm4, xmm4
pxor xmm2, xmm2
shl r9, 4
pshufd xmm4, xmm4, 0
add r9, rdi
nop dword [rax + rax]
movdqu xmm0, xmmword [rdi]
movdqa xmm9, xmm2
add rdi, 0x10
sub rdx, 0xffffffffffffff80
movdqa xmm1, xmm0
punpckhbw xmm0, xmm5
punpcklbw xmm1, xmm5
psllw xmm0, 8
psllw xmm1, 8
paddw xmm0, xmm4
paddw xmm1, xmm4
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 [rdx - 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 [rdx - 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 [rdx - 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 [rdx - 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 [rdx - 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 [rdx - 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 [rdx - 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 [rdx - 0x10], xmm0
cmp r9, rdi
jne 0x3a122e7c8
mov edi, r10d
mov qword [rsp + 0x58], rcx
and edi, 0xfffffff0
lea r9d, [r13 + rdi*4]
test r10b, 0xf
je 0x3a122e420
lea edx, [r15 + rdi]
mov rcx, qword [rsp + 0x70]
movsxd r11, r9d
add r9d, 4
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
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 [rcx + r11*2], rdx
lea edx, [rdi + 1]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd r9, r9d
movsxd rdx, edx
lea rsi, [r9 + r9]
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
add rdx, r11
mov qword [rcx + r9*2], rdx
lea edx, [rdi + 2]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 8], rdx
lea edx, [rdi + 3]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x10], rdx
lea edx, [rdi + 4]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x18], rdx
lea edx, [rdi + 5]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x20], rdx
lea edx, [rdi + 6]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x28], rdx
lea edx, [rdi + 7]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x30], rdx
lea edx, [rdi + 8]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x38], rdx
lea edx, [rdi + 9]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x40], rdx
lea edx, [rdi + 0xa]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x48], rdx
lea edx, [rdi + 0xb]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x50], rdx
lea edx, [rdi + 0xc]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x58], rdx
lea edx, [rdi + 0xd]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
add edi, 0xe
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x60], rdx
cmp r10d, edi
jle 0x3a122e420
add edi, r15d
movsxd rdx, edi
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
mov qword [rcx + rsi + 0x68], rdx
jmp 0x3a122e420
movzx r9d, bpl
mov r11, qword [rsp + 0x68]
mov rdx, rcx
pxor xmm7, xmm7
movd xmm8, r9d
mov r9d, r10d
mov rcx, qword [rsp + 0x58]
pxor xmm6, xmm6
shr r9d, 4
punpcklwd xmm8, xmm8
pxor xmm9, xmm9
shl r9, 4
pshufd xmm8, xmm8, 0
add r9, r11
nop word [rax + rax]
movdqu xmm0, xmmword [r11]
movdqa xmm3, xmm6
movdqa xmm12, xmm6
add r11, 0x10
add rdx, 0x100
movdqa xmm1, xmm0
punpckhbw xmm0, xmm9
punpcklbw xmm1, xmm9
psllw xmm0, 8
psllw xmm1, 8
paddw xmm0, xmm8
paddw xmm1, xmm8
movdqa xmm2, xmm0
punpckhwd xmm0, xmm7
movdqa xmm10, xmm1
punpckhwd xmm1, xmm7
punpcklwd xmm2, xmm7
punpcklwd xmm10, xmm7
pcmpgtd xmm12, xmm2
movdqa xmm13, xmm0
pcmpgtd xmm3, xmm10
movdqa xmm4, xmm10
punpckhdq xmm10, xmm3
punpckldq xmm4, xmm3
movdqa xmm3, xmm10
movdqa xmm11, xmm4
psllq xmm3, 0x10
psllq xmm11, 0x10
paddq xmm10, xmm3
paddq xmm11, xmm4
movdqa xmm3, xmm10
movdqa xmm4, xmm11
psllq xmm3, 0x20
psllq xmm4, 0x20
paddq xmm10, xmm3
movdqa xmm3, xmm6
paddq xmm11, xmm4
pcmpgtd xmm3, xmm1
movdqa xmm4, xmm1
punpckldq xmm4, xmm3
punpckhdq xmm1, xmm3
movdqa xmm5, xmm4
psllq xmm5, 0x10
paddq xmm5, xmm4
movdqa xmm4, xmm5
psllq xmm4, 0x20
paddq xmm5, xmm4
movdqa xmm4, xmm1
psllq xmm4, 0x10
paddq xmm4, xmm1
movdqa xmm1, xmm4
psllq xmm1, 0x20
paddq xmm4, xmm1
movdqa xmm1, xmm2
punpckldq xmm1, xmm12
movdqa xmm3, xmm1
psllq xmm3, 0x10
paddq xmm3, xmm1
movdqa xmm1, xmm3
psllq xmm1, 0x20
paddq xmm3, xmm1
movdqa xmm1, xmm2
punpckhdq xmm1, xmm12
movdqa xmm12, xmm6
pcmpgtd xmm12, xmm0
movdqa xmm2, xmm1
psllq xmm2, 0x10
paddq xmm2, xmm1
punpckhdq xmm0, xmm12
punpckldq xmm13, xmm12
movdqa xmm1, xmm2
movdqa xmm12, xmm0
psllq xmm1, 0x20
psllq xmm12, 0x10
paddq xmm2, 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 [rdx - 0xf0], xmm11
movdqa xmm11, xmm10
punpcklqdq xmm11, xmm10
punpckhqdq xmm10, xmm10
movups xmmword [rdx - 0x100], xmm12
movups xmmword [rdx - 0xd0], xmm10
movdqa xmm10, xmm5
punpcklqdq xmm10, xmm5
punpckhqdq xmm5, xmm5
movups xmmword [rdx - 0xe0], xmm11
movups xmmword [rdx - 0xb0], xmm5
movdqa xmm5, xmm4
punpcklqdq xmm5, xmm4
punpckhqdq xmm4, xmm4
movups xmmword [rdx - 0xc0], xmm10
movups xmmword [rdx - 0x90], xmm4
movdqa xmm4, xmm3
punpcklqdq xmm4, xmm3
punpckhqdq xmm3, xmm3
movups xmmword [rdx - 0xa0], xmm5
movups xmmword [rdx - 0x70], xmm3
movdqa xmm3, xmm2
punpcklqdq xmm3, xmm2
punpckhqdq xmm2, xmm2
movups xmmword [rdx - 0x80], xmm4
movups xmmword [rdx - 0x50], xmm2
movdqa xmm2, xmm1
punpcklqdq xmm2, xmm1
punpckhqdq xmm1, xmm1
movups xmmword [rdx - 0x60], xmm3
movups xmmword [rdx - 0x30], xmm1
movdqa xmm1, xmm0
punpcklqdq xmm1, xmm0
punpckhqdq xmm0, xmm0
movups xmmword [rdx - 0x40], xmm2
movups xmmword [rdx - 0x20], xmm1
movups xmmword [rdx - 0x10], xmm0
cmp r9, r11
jne 0x3a122ed70
mov r9d, r10d
mov qword [rsp + 0x58], rcx
and r9d, 0xfffffff0
lea r11d, [r13 + r9*8]
test r10b, 0xf
je 0x3a122e420
lea edx, [r15 + r9]
mov rcx, qword [rsp + 0x70]
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
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 rsi, rdx
movsxd rdx, r11d
add r11d, 8
movq xmm0, rsi
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rdx*2], xmm0
lea edx, [r9 + 1]
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd r11, r11d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
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]
lea edx, [r9 + 2]
movq xmm0, rdi
lea rsi, [r11 + r11]
punpcklqdq xmm0, xmm0
movups xmmword [rcx + r11*2], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
lea rdi, [rdx + r11]
lea edx, [r9 + 3]
movq xmm0, rdi
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0x10], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
lea rdi, [rdx + r11]
lea edx, [r9 + 4]
movq xmm0, rdi
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0x20], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
lea rdi, [rdx + r11]
lea edx, [r9 + 5]
movq xmm0, rdi
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0x30], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
lea rdi, [rdx + r11]
lea edx, [r9 + 6]
movq xmm0, rdi
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0x40], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
lea rdi, [rdx + r11]
lea edx, [r9 + 7]
movq xmm0, rdi
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0x50], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
lea rdi, [rdx + r11]
lea edx, [r9 + 8]
movq xmm0, rdi
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0x60], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
lea rdi, [rdx + r11]
lea edx, [r9 + 9]
movq xmm0, rdi
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0x70], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
add rdx, r11
movq xmm0, rdx
lea edx, [r9 + 0xa]
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0x80], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
add rdx, r11
movq xmm0, rdx
lea edx, [r9 + 0xb]
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0x90], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
add rdx, r11
movq xmm0, rdx
lea edx, [r9 + 0xc]
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0xa0], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
add rdx, r11
movq xmm0, rdx
lea edx, [r9 + 0xd]
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0xb0], xmm0
cmp r10d, edx
jle 0x3a122e420
add edx, r15d
add r9d, 0xe
movsxd rdx, edx
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r11, rdx
shl r11, 0x10
add rdx, r11
mov r11, rdx
shl r11, 0x20
add rdx, r11
movq xmm0, rdx
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0xc0], xmm0
cmp r10d, r9d
jle 0x3a122e420
add r9d, r15d
movsxd rdx, r9d
movzx edx, byte [rbx + rdx + 0x3d0]
shl edx, 8
add edx, r14d
movsxd rdx, edx
mov r9, rdx
shl r9, 0x10
add rdx, r9
mov r9, rdx
shl r9, 0x20
add rdx, r9
movq xmm0, rdx
punpcklqdq xmm0, xmm0
movups xmmword [rcx + rsi + 0xd0], xmm0
jmp 0x3a122e420
cmp dword [rsp + 0x68], 0xe
jbe 0x3a123008c
movd xmm0, ebp
movdqu xmm1, xmmword [r14]
mov r9d, r10d
punpcklbw xmm0, xmm0
shr r9d, 4
punpcklwd xmm0, xmm0
movdqa xmm2, xmm1
pshufd xmm0, xmm0, 0
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
movdqa xmm3, xmm0
punpcklbw xmm3, xmm2
movups xmmword [rdx], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x10], xmm3
movups xmmword [rdx + 0x20], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x30], xmm2
cmp r9d, 1
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0x10]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x40], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x50], xmm3
movups xmmword [rdx + 0x60], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x70], xmm2
cmp r9d, 2
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0x20]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x80], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x90], xmm3
movups xmmword [rdx + 0xa0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0xb0], xmm2
cmp r9d, 3
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0x30]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0xc0], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0xd0], xmm3
movups xmmword [rdx + 0xe0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0xf0], xmm2
cmp r9d, 4
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0x40]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x100], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x110], xmm3
movups xmmword [rdx + 0x120], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x130], xmm2
cmp r9d, 5
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0x50]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x140], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x150], xmm3
movups xmmword [rdx + 0x160], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x170], xmm2
cmp r9d, 6
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0x60]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x180], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x190], xmm3
movups xmmword [rdx + 0x1a0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x1b0], xmm2
cmp r9d, 7
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0x70]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x1c0], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x1d0], xmm3
movups xmmword [rdx + 0x1e0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x1f0], xmm2
cmp r9d, 8
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0x80]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x200], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x210], xmm3
movups xmmword [rdx + 0x220], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x230], xmm2
cmp r9d, 9
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0x90]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x240], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x250], xmm3
movups xmmword [rdx + 0x260], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x270], xmm2
cmp r9d, 0xa
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0xa0]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x280], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x290], xmm3
movups xmmword [rdx + 0x2a0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x2b0], xmm2
cmp r9d, 0xb
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0xb0]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x2c0], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x2d0], xmm3
movups xmmword [rdx + 0x2e0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x2f0], xmm2
cmp r9d, 0xc
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0xc0]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x300], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x310], xmm3
movups xmmword [rdx + 0x320], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x330], xmm2
cmp r9d, 0xd
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0xd0]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x340], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x350], xmm3
movups xmmword [rdx + 0x360], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x370], xmm2
cmp r9d, 0xe
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0xe0]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x380], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x390], xmm3
movups xmmword [rdx + 0x3a0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x3b0], xmm2
cmp r9d, 0xf
je 0x3a122f9b7
movdqu xmm1, xmmword [r14 + 0xf0]
movdqa xmm3, xmm0
movdqa xmm2, xmm1
punpcklbw xmm2, xmm1
punpckhbw xmm1, xmm1
punpcklbw xmm3, xmm2
movups xmmword [rdx + 0x3c0], xmm3
movdqa xmm3, xmm0
punpckhbw xmm3, xmm2
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x3d0], xmm3
movups xmmword [rdx + 0x3e0], xmm2
movups xmmword [rdx + 0x3f0], xmm0
mov r11d, r10d
and r11d, 0xfffffff0
mov r9d, r11d
lea edi, [r13 + r11*2]
test r10b, 0xf
je 0x3a122e420
sub r10d, r11d
lea edx, [r10 - 1]
cmp edx, 6
jbe 0x3a122fa66
movzx edx, bpl
movq xmm1, qword [r14 + r11]
lea rsi, [rsi + r11*2 + 2]
mov rcx, qword [rsp + 0x170]
mov dh, dl
movd xmm5, edx
movdqa xmm2, xmm1
lea rsi, [rcx + rsi*2]
mov edx, r10d
pshuflw xmm0, xmm5, 0
punpcklbw xmm2, xmm1
punpcklbw xmm1, xmm1
and edx, 0xfffffff8
movdqa xmm3, xmm0
pshufd xmm1, xmm1, 0x4e
lea edi, [rdi + rdx*2]
add r9d, edx
punpcklbw xmm3, xmm2
and r10d, 7
movq qword [rsi], xmm3
movdqa xmm3, xmm0
punpcklbw xmm3, xmm2
movdqa xmm2, xmm0
punpcklbw xmm0, xmm1
pshufd xmm3, xmm3, 0x4e
punpcklbw xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
movq qword [rsi + 8], xmm3
movq qword [rsi + 0x10], xmm2
movq qword [rsi + 0x18], xmm0
je 0x3a122e420
lea edx, [r15 + r9]
movzx r11d, bpl
mov rcx, qword [rsp + 0x70]
movsxd rdi, edi
movsxd rdx, edx
lea rsi, [rdi + rdi]
movzx r10d, byte [rbx + rdx + 0x3d0]
mov edx, r10d
shl edx, 8
or edx, r11d
shl edx, 8
or edx, r10d
shl edx, 8
or edx, r11d
mov dword [rcx + rdi*2], edx
lea edx, [r9 + 1]
cmp r8d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx r10d, byte [rbx + rdx + 0x3d0]
mov edx, r10d
shl edx, 8
or edx, r11d
shl edx, 8
or edx, r10d
shl edx, 8
or edx, r11d
mov dword [rcx + rsi + 4], edx
lea edx, [r9 + 2]
cmp r8d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx r10d, byte [rbx + rdx + 0x3d0]
mov edx, r10d
shl edx, 8
or edx, r11d
shl edx, 8
or edx, r10d
shl edx, 8
or edx, r11d
mov dword [rcx + rsi + 8], edx
lea edx, [r9 + 3]
cmp r8d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx r10d, byte [rbx + rdx + 0x3d0]
mov edx, r10d
shl edx, 8
or edx, r11d
shl edx, 8
or edx, r10d
shl edx, 8
or edx, r11d
mov dword [rcx + rsi + 0xc], edx
lea edx, [r9 + 4]
cmp r8d, edx
jle 0x3a122e420
add edx, r15d
movsxd rdx, edx
movzx r10d, byte [rbx + rdx + 0x3d0]
mov edx, r10d
shl edx, 8
or edx, r11d
shl edx, 8
or edx, r10d
shl edx, 8
or edx, r11d
mov dword [rcx + rsi + 0x10], edx
lea edx, [r9 + 5]
cmp r8d, edx
jle 0x3a122e420
add edx, r15d
add r9d, 6
movsxd rdx, edx
movzx r10d, byte [rbx + rdx + 0x3d0]
mov edx, r10d
shl edx, 8
or edx, r11d
shl edx, 8
or edx, r10d
shl edx, 8
or edx, r11d
mov dword [rcx + rsi + 0x14], edx
cmp r8d, r9d
jle 0x3a122e420
add r9d, r15d
movsxd rdx, r9d
movzx r9d, byte [rbx + rdx + 0x3d0]
mov edx, r9d
shl edx, 8
or edx, r11d
shl edx, 8
or edx, r9d
shl edx, 8
or edx, r11d
mov dword [rcx + rsi + 0x18], edx
jmp 0x3a122e420
cmp dword [rsp + 0x84], 0xe
jbe 0x3a123009a
movd xmm0, ebp
movdqu xmm1, xmmword [r12]
mov r9d, r10d
punpcklbw xmm0, xmm0
shr r9d, 4
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x10], xmm2
cmp r9d, 1
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0x10]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x20], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x30], xmm2
cmp r9d, 2
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0x20]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x40], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x50], xmm2
cmp r9d, 3
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0x30]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x60], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x70], xmm2
cmp r9d, 4
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0x40]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x80], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x90], xmm2
cmp r9d, 5
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0x50]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0xa0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0xb0], xmm2
cmp r9d, 6
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0x60]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0xc0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0xd0], xmm2
cmp r9d, 7
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0x70]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0xe0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0xf0], xmm2
cmp r9d, 8
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0x80]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x100], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x110], xmm2
cmp r9d, 9
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0x90]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x120], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x130], xmm2
cmp r9d, 0xa
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0xa0]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x140], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x150], xmm2
cmp r9d, 0xb
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0xb0]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x160], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x170], xmm2
cmp r9d, 0xc
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0xc0]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x180], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x190], xmm2
cmp r9d, 0xd
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0xd0]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x1a0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x1b0], xmm2
cmp r9d, 0xe
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0xe0]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
movups xmmword [rdx + 0x1c0], xmm2
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
movups xmmword [rdx + 0x1d0], xmm2
cmp r9d, 0xf
je 0x3a122fedf
movdqu xmm1, xmmword [r12 + 0xf0]
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
punpckhbw xmm0, xmm1
movups xmmword [rdx + 0x1e0], xmm2
movups xmmword [rdx + 0x1f0], xmm0
mov r9d, r10d
and r9d, 0xfffffff0
mov r11d, r9d
lea esi, [r13 + r9]
test r10b, 0xf
je 0x3a122e420
sub r10d, r9d
lea edx, [r10 - 1]
cmp edx, 6
jbe 0x3a122ff63
movzx edx, bpl
mov rcx, qword [rsp + 0x68]
add r14, r9
add r9, rbx
mov dh, dl
mov rdi, qword [rsp + 0x170]
movd xmm5, edx
movq xmm0, qword [r9 + rcx]
mov edx, r10d
pshuflw xmm2, xmm5, 0
lea rdi, [rdi + r14*2]
and edx, 0xfffffff8
movdqa xmm1, xmm2
add esi, edx
add r11d, edx
and r10d, 7
punpcklbw xmm1, xmm0
movq qword [rdi], xmm1
movdqa xmm1, xmm2
punpcklbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
movq qword [rdi + 8], xmm1
je 0x3a122e420
lea r9d, [r11 + r15]
mov rdi, qword [rsp + 0x70]
movzx edx, bpl
movsxd rsi, esi
movsxd r9, r9d
lea r10, [rsi + rsi]
movzx ecx, byte [rbx + r9 + 0x3d0]
mov dh, cl
mov word [rdi + rsi*2], dx
lea edx, [r11 + 1]
cmp r8d, edx
jle 0x3a122e420
add edx, r15d
movzx r9d, bpl
movsxd rsi, edx
mov edx, r9d
mov dh, byte [rbx + rsi + 0x3d0]
mov word [rdi + r10 + 2], dx
lea edx, [r11 + 2]
cmp r8d, edx
jle 0x3a122e420
add edx, r15d
movzx r9d, bpl
movsxd rsi, edx
mov edx, r9d
mov dh, byte [rbx + rsi + 0x3d0]
mov word [rdi + r10 + 4], dx
lea edx, [r11 + 3]
cmp edx, r8d
jge 0x3a122e420
add edx, r15d
movzx r9d, bpl
movsxd rsi, edx
mov edx, r9d
mov dh, byte [rbx + rsi + 0x3d0]
mov word [rdi + r10 + 6], dx
lea edx, [r11 + 4]
cmp r8d, edx
jle 0x3a122e420
add edx, r15d
movzx r9d, bpl
movsxd rdx, edx
mov ecx, r9d
mov ch, byte [rbx + rdx + 0x3d0]
lea edx, [r11 + 5]
mov word [rdi + r10 + 8], cx
cmp edx, r8d
jge 0x3a122e420
add edx, r15d
movzx r9d, bpl
add r11d, 6
movsxd rdx, edx
mov ecx, r9d
mov ch, byte [rbx + rdx + 0x3d0]
mov word [rdi + r10 + 0xa], cx
cmp r8d, r11d
jle 0x3a122e420
add r11d, r15d
movzx edx, bpl
movsxd r9, r11d
movzx ecx, byte [rbx + r9 + 0x3d0]
mov dh, cl
mov word [rdi + r10 + 0xc], dx
jmp 0x3a122e420
mov rdi, 0xffffffffffffffd4
jmp 0x3a122dd48
mov edi, r13d
xor r11d, r11d
xor r9d, r9d
jmp 0x3a122f9e0
mov esi, r13d
xor r11d, r11d
xor r9d, r9d
jmp 0x3a122ff04
xor eax, eax
jmp 0x3a122de6b