Function at 0x1400ab740
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov eax, 1
mov rbp, rsp
push r15
push r14
push r13
push r12
xor r12d, r12d
push rdi
mov rdi, r9
push rsi
mov rsi, rax
push rbx
sub rsp, 0xa0
and rsp, 0xfffffffffffffff0
sub rsp, 0x670
mov dword [rbp + 0x10], ecx
movzx ecx, byte [rbp + 0x10]
mov qword [rbp + 0x18], rdx
shl rsi, cl
mov qword [rbp + 0x20], r8
mov qword [rsp + 0x4f8], rsi
mov esi, dword [rbp + 0x10]
movaps xmmword [rsp + 0x690], xmm8
lea r11d, [rsi - 1]
movaps xmmword [rsp + 0x670], xmm6
mov ecx, r11d
mov dword [rsp + 0x62c], r11d
shl rax, cl
movaps xmmword [rsp + 0x6b0], xmm10
pxor xmm10, xmm10
mov qword [rsp + 0x660], rax
mov rsi, rax
shr rax, 1
lea rdx, [rax*8]
mov rbx, rax
shr rsi, 3
mov qword [rsp + 0x668], rax
mov eax, 2
lea r15, [r9 + rdx]
mov qword [rsp + 0x560], rdx
shl rax, cl
lea r14, [r15 + rdx]
lea rcx, [rdx + 0x20]
movaps xmmword [rsp + 0x680], xmm7
lea r11, [rax*4]
mov qword [rsp + 0x488], rax
lea rax, [rax + rbx*2]
lea rax, [rdx + rax*4]
mov qword [rsp + 0x5f8], r14
add r14, r11
movaps xmmword [rsp + 0x6a0], xmm9
movaps xmmword [rsp + 0x6c0], xmm11
movaps xmmword [rsp + 0x6d0], xmm12
movaps xmmword [rsp + 0x6e0], xmm13
movaps xmmword [rsp + 0x6f0], xmm14
movaps xmmword [rsp + 0x700], xmm15
mov qword [rsp + 0x518], r11
movdqa xmm8, xmmword [0x14010ace0]
mov qword [rsp + 0x630], rax
mov rax, rbx
shl rbx, 4
mov qword [rsp + 0x5d8], rcx
lea rcx, [rsi*4]
sub rax, 1
mov qword [rsp + 0x5d0], rsi
shl rsi, 5
mov qword [rsp + 0x618], rbx
mov rbx, rdx
lea rdx, [r9 + rsi]
mov qword [rsp + 0x5c0], rsi
add rsi, r15
mov qword [rsp + 0x600], rsi
lea rsi, [rcx + 1]
mov qword [rsp + 0x590], rax
lea rax, [r11 - 8]
mov qword [rsp + 0x5f0], r14
lea r14, [0x140109420]
mov qword [rsp + 0x5b8], rsi
lea rsi, [rcx + 2]
mov qword [rsp + 0x5e8], rax
lea rax, [rbx + r11 - 8]
mov qword [rsp + 0x568], r14
mov qword [rsp + 0x5c8], rcx
mov qword [rsp + 0x610], rdx
mov qword [rsp + 0x5b0], rsi
mov qword [rsp + 0x620], r14
mov qword [rsp + 0x5e0], rax
mov rax, qword [rsp + 0x620]
mov edx, 2
mov ebx, dword [rax]
mov eax, 2
sub edx, ebx
mov rcx, rbx
mov r8d, edx
imul r8d, ebx
sub eax, r8d
imul eax, edx
mov edx, 2
mov r8d, eax
imul r8d, ebx
sub edx, r8d
imul edx, eax
mov eax, 2
mov r8d, edx
imul r8d, ebx
sub eax, r8d
imul eax, edx
mov edx, eax
imul edx, ebx
sub edx, 2
imul edx, eax
and edx, 0x7fffffff
mov r10d, edx
call fcn.14008bb30
mov r8d, 0x80000000
mov edx, r10d
mov esi, eax
sub r8d, ebx
imul r8, rsi
mov rax, r8
imul rax, rdx
and eax, 0x7fffffff
imul rax, rbx
add r8, rax
shr r8, 0x1f
sub r8d, ebx
mov eax, r8d
sar eax, 0x1f
and eax, ebx
add r8d, eax
mov rax, qword [rsp + 0x5f8]
add rax, r12
mov qword [rsp + 0x640], rax
mov rax, qword [rsp + 0x5f0]
add rax, r12
cmp qword [rsp + 0x668], 0
mov qword [rsp + 0x608], rax
je 0x1400ac3c8
mov r11d, ebx
lea eax, [rbx + rbx]
mov r14, qword [rsp + 0x630]
mov r10, qword [rsp + 0x5e0]
neg r11d
sar r11d, 0x1f
and r11d, ebx
sub r11d, eax
cmp qword [rsp + 0x590], 2
seta al
cmp qword [rsp + 0x5e8], 0x10
seta r9b
and eax, r9d
lea r9, [r14 - 8]
mov r14, qword [rsp + 0x618]
cmp r9, 0x14
seta r9b
and eax, r9d
lea r9, [r14 - 8]
cmp r9, 0x14
seta r9b
and eax, r9d
lea r9, [r10 + r12]
cmp r9, 0x14
seta r9b
test al, r9b
je 0x1400b047f
lea rax, [r14 + 0x1c]
cmp qword [rsp + 0x560], rax
setge r9b
cmp qword [rsp + 0x5d8], r14
setle al
or al, r9b
je 0x1400b047f
movd xmm7, ebx
movq xmm5, rdx
movq xmm4, rbx
xor eax, eax
pshufd xmm0, xmm7, 0
lea r10, [r14 + rdi]
punpcklqdq xmm5, xmm5
xor r13d, r13d
movd xmm7, r11d
mov r14, qword [rsp + 0x630]
punpcklqdq xmm4, xmm4
pshufd xmm12, xmm7, 0
movd xmm7, esi
movdqa xmm6, xmm4
pshufd xmm1, xmm7, 0
movd xmm7, r8d
lea r9, [r14 + rdi]
mov r14, qword [rsp + 0x5d0]
movdqa xmm9, xmm1
psrlq xmm6, 0x20
pshufd xmm11, xmm7, 0
punpckldq xmm9, xmm1
movdqa xmm7, xmm5
punpckhdq xmm1, xmm1
movaps xmmword [rsp + 0x650], xmm1
psrlq xmm7, 0x20
nop dword [rax]
movdqu xmm2, xmmword [rdi + rax + 0x10]
movdqu xmm14, xmmword [rdi + rax]
add r13, 1
shufps xmm14, xmm2, 0xdd
movdqa xmm2, xmm14
psrld xmm14, 0x1e
psubd xmm2, xmm0
movdqa xmm1, xmm2
paddd xmm2, xmm12
psrad xmm1, 0x1f
pand xmm1, xmm0
paddd xmm1, xmm2
movdqa xmm2, xmm1
psrad xmm2, 0x1f
pand xmm2, xmm0
paddd xmm2, xmm1
movdqa xmm1, xmm7
movdqa xmm15, xmm2
punpckldq xmm15, xmm2
punpckhdq xmm2, xmm2
pmuludq xmm2, xmmword [rsp + 0x650]
pmuludq xmm15, xmm9
movdqa xmm13, xmm15
pmuludq xmm1, xmm15
movdqa xmm3, xmm15
psrlq xmm13, 0x20
pmuludq xmm3, xmm5
pmuludq xmm13, xmm5
paddq xmm13, xmm1
psllq xmm13, 0x20
paddq xmm3, xmm13
pand xmm3, xmm8
movdqa xmm13, xmm3
movdqa xmm1, xmm3
psrlq xmm13, 0x20
pmuludq xmm3, xmm6
pmuludq xmm13, xmm4
pmuludq xmm1, xmm4
paddq xmm13, xmm3
movdqa xmm3, xmm2
psllq xmm13, 0x20
pmuludq xmm3, xmm5
paddq xmm1, xmm13
movdqa xmm13, xmm2
paddq xmm1, xmm15
psrlq xmm13, 0x20
movdqa xmm15, xmm7
pmuludq xmm15, xmm2
pmuludq xmm13, xmm5
psrlq xmm1, 0x1f
paddq xmm13, xmm15
psllq xmm13, 0x20
paddq xmm3, xmm13
pand xmm3, xmm8
movdqa xmm15, xmm3
movdqa xmm13, xmm3
psrlq xmm15, 0x20
pmuludq xmm3, xmm6
pmuludq xmm15, xmm4
pmuludq xmm13, xmm4
paddq xmm15, xmm3
psllq xmm15, 0x20
paddq xmm13, xmm15
movdqu xmm15, xmmword [rdi + rax + 0x10]
paddq xmm13, xmm2
psrlq xmm13, 0x1f
shufps xmm1, xmm13, 0x88
movdqa xmm2, xmm1
movdqu xmm1, xmmword [rdi + rax]
psubd xmm2, xmm0
shufps xmm1, xmm15, 0x88
movdqa xmm3, xmm1
psubd xmm3, xmm0
movdqa xmm1, xmm3
psubd xmm3, xmm0
psrad xmm1, 0x1f
pand xmm1, xmm0
paddd xmm1, xmm2
psrad xmm2, 0x1f
paddd xmm1, xmm3
pand xmm2, xmm0
paddd xmm1, xmm2
movdqa xmm2, xmm10
psubd xmm2, xmm14
movdqa xmm3, xmm2
movdqa xmm2, xmm1
pand xmm3, xmm11
psrad xmm1, 0x1f
psubd xmm2, xmm3
pand xmm1, xmm0
movdqa xmm3, xmm5
paddd xmm2, xmm1
movdqa xmm1, xmm2
psrad xmm1, 0x1f
pand xmm1, xmm0
paddd xmm1, xmm2
pshufd xmm2, xmm1, 0x55
movd dword [r10 + rax], xmm1
movd dword [r10 + rax + 8], xmm2
movdqa xmm2, xmm1
punpckhdq xmm2, xmm1
pshufd xmm1, xmm1, 0xff
movd dword [r10 + rax + 0x18], xmm1
movd dword [r10 + rax + 0x10], xmm2
movdqu xmm2, xmmword [r15 + rax + 0x10]
movdqu xmm14, xmmword [r15 + rax]
shufps xmm14, xmm2, 0xdd
movdqa xmm2, xmm14
psrld xmm14, 0x1e
psubd xmm2, xmm0
movdqa xmm1, xmm2
paddd xmm2, xmm12
psrad xmm1, 0x1f
pand xmm1, xmm0
paddd xmm1, xmm2
movdqa xmm2, xmm1
psrad xmm2, 0x1f
pand xmm2, xmm0
paddd xmm2, xmm1
movdqa xmm1, xmm7
movdqa xmm15, xmm2
punpckldq xmm15, xmm2
punpckhdq xmm2, xmm2
pmuludq xmm2, xmmword [rsp + 0x650]
pmuludq xmm15, xmm9
pmuludq xmm1, xmm15
pmuludq xmm3, xmm15
movdqa xmm13, xmm15
psrlq xmm13, 0x20
pmuludq xmm13, xmm5
paddq xmm1, xmm13
psllq xmm1, 0x20
paddq xmm3, xmm1
pand xmm3, xmm8
movdqa xmm13, xmm3
movdqa xmm1, xmm3
psrlq xmm13, 0x20
pmuludq xmm3, xmm6
pmuludq xmm13, xmm4
pmuludq xmm1, xmm4
paddq xmm13, xmm3
movdqa xmm3, xmm5
psllq xmm13, 0x20
pmuludq xmm3, xmm2
paddq xmm1, xmm13
movdqa xmm13, xmm7
paddq xmm1, xmm15
pmuludq xmm13, xmm2
movdqa xmm15, xmm2
psrlq xmm15, 0x20
psrlq xmm1, 0x1f
pmuludq xmm15, xmm5
paddq xmm13, xmm15
psllq xmm13, 0x20
paddq xmm3, xmm13
pand xmm3, xmm8
movdqa xmm15, xmm3
movdqa xmm13, xmm3
psrlq xmm15, 0x20
pmuludq xmm3, xmm6
pmuludq xmm15, xmm4
pmuludq xmm13, xmm4
paddq xmm15, xmm3
movdqu xmm3, xmmword [r15 + rax]
psllq xmm15, 0x20
paddq xmm13, xmm15
paddq xmm13, xmm2
psrlq xmm13, 0x1f
shufps xmm1, xmm13, 0x88
movdqa xmm2, xmm1
movdqu xmm1, xmmword [r15 + rax + 0x10]
psubd xmm2, xmm0
shufps xmm3, xmm1, 0x88
psubd xmm3, xmm0
movdqa xmm1, xmm3
psubd xmm3, xmm0
psrad xmm1, 0x1f
pand xmm1, xmm0
paddd xmm1, xmm2
psrad xmm2, 0x1f
paddd xmm1, xmm3
pand xmm2, xmm0
movdqa xmm3, xmm10
paddd xmm1, xmm2
psubd xmm3, xmm14
movdqa xmm2, xmm1
psrad xmm1, 0x1f
pand xmm3, xmm11
pand xmm1, xmm0
psubd xmm2, xmm3
paddd xmm2, xmm1
movdqa xmm1, xmm2
psrad xmm1, 0x1f
pand xmm1, xmm0
paddd xmm1, xmm2
pshufd xmm2, xmm1, 0x55
movd dword [r9 + rax], xmm1
movd dword [r9 + rax + 8], xmm2
movdqa xmm2, xmm1
punpckhdq xmm2, xmm1
pshufd xmm1, xmm1, 0xff
movd dword [r9 + rax + 0x10], xmm2
movd dword [r9 + rax + 0x18], xmm1
add rax, 0x20
cmp r13, r14
jne 0x1400abb18
mov rax, qword [rsp + 0x5c0]
mov r10, qword [rsp + 0x640]
mov r13, qword [rsp + 0x608]
mov r14, qword [rsp + 0x5c8]
add r10, rax
add r13, rax
cmp qword [rsp + 0x668], r14
je 0x1400ac3c8
mov rax, qword [rsp + 0x610]
mov r14d, dword [rax + 4]
mov dword [rsp + 0x650], r14d
sub r14d, ecx
mov r9d, r14d
sar r14d, 0x1f
mov eax, r14d
mov r14, rdx
and eax, ecx
add eax, r9d
add eax, r11d
mov r9d, eax
sar r9d, 0x1f
and r9d, ecx
add r9d, eax
mov r9d, r9d
imul r9, rsi
imul r14, r9
mov rax, r14
and eax, 0x7fffffff
imul rax, rbx
add rax, r9
shr rax, 0x1f
mov r9d, eax
mov rax, qword [rsp + 0x610]
sub r9d, ecx
mov r14d, r9d
mov r9d, dword [rax]
sub r9d, ecx
mov eax, r9d
sar r9d, 0x1f
and r9d, ecx
sub eax, ecx
add eax, r9d
mov r9d, r14d
add eax, r14d
mov r14d, dword [rsp + 0x650]
sar r9d, 0x1f
and r9d, ecx
shr r14d, 0x1e
add eax, r9d
mov r9d, r14d
mov r14d, eax
sar eax, 0x1f
neg r9d
and eax, ecx
and r9d, r8d
sub r14d, r9d
add eax, r14d
mov r14d, eax
sar r14d, 0x1f
mov r9d, r14d
mov r14, qword [rsp + 0x600]
and r9d, ecx
add eax, r9d
mov dword [r10], eax
mov r14d, dword [r14 + 4]
mov dword [rsp + 0x650], r14d
sub r14d, ecx
mov eax, r14d
sar eax, 0x1f
and eax, ecx
add eax, r14d
add eax, r11d
mov r9d, eax
sar r9d, 0x1f
and r9d, ecx
add r9d, eax
mov rax, rdx
mov r9d, r9d
imul r9, rsi
imul rax, r9
and eax, 0x7fffffff
imul rax, rbx
add rax, r9
shr rax, 0x1f
mov r9d, eax
sub r9d, ecx
mov r14d, r9d
mov r9, qword [rsp + 0x600]
mov r9d, dword [r9]
mov dword [rsp + 0x640], r9d
sub r9d, ecx
mov eax, r9d
sar r9d, 0x1f
and r9d, ecx
sub eax, ecx
add eax, r9d
mov r9d, r14d
add eax, r14d
mov r14d, dword [rsp + 0x650]
sar r9d, 0x1f
and r9d, ecx
shr r14d, 0x1e
add eax, r9d
mov r9d, r14d
mov r14d, eax
sar eax, 0x1f
neg r9d
and eax, ecx
and r9d, r8d
sub r14d, r9d
add eax, r14d
mov r14d, eax
sar r14d, 0x1f
mov r9d, r14d
mov r14, qword [rsp + 0x5b8]
and r9d, ecx
add eax, r9d
mov dword [r13], eax
cmp qword [rsp + 0x668], r14
jbe 0x1400ac3c8
mov rax, qword [rsp + 0x610]
mov r14d, dword [rax + 0xc]
mov dword [rsp + 0x650], r14d
sub r14d, ecx
mov eax, r14d
sar eax, 0x1f
and eax, ecx
add eax, r14d
add eax, r11d
mov r9d, eax
sar r9d, 0x1f
and r9d, ecx
add r9d, eax
mov rax, rdx
mov r9d, r9d
imul r9, rsi
imul rax, r9
and eax, 0x7fffffff
imul rax, rbx
add rax, r9
shr rax, 0x1f
mov r9d, eax
mov rax, qword [rsp + 0x610]
sub r9d, ecx
mov r14d, r9d
mov r9d, dword [rax + 8]
sub r9d, ecx
mov eax, r9d
sar r9d, 0x1f
and r9d, ecx
sub eax, ecx
add eax, r9d
mov r9d, r14d
add eax, r14d
mov r14d, dword [rsp + 0x650]
sar r9d, 0x1f
and r9d, ecx
shr r14d, 0x1e
add eax, r9d
mov r9d, r14d
mov r14d, eax
sar eax, 0x1f
neg r9d
and eax, ecx
and r9d, r8d
sub r14d, r9d
add eax, r14d
mov r14d, eax
sar r14d, 0x1f
mov r9d, r14d
mov r14, qword [rsp + 0x600]
and r9d, ecx
add eax, r9d
mov dword [r10 + 8], eax
mov r14d, dword [r14 + 0xc]
mov dword [rsp + 0x650], r14d
sub r14d, ecx
mov eax, r14d
sar eax, 0x1f
and eax, ecx
add eax, r14d
add eax, r11d
mov r9d, eax
sar r9d, 0x1f
and r9d, ecx
add r9d, eax
mov rax, rdx
mov r9d, r9d
imul r9, rsi
imul rax, r9
and eax, 0x7fffffff
imul rax, rbx
add rax, r9
shr rax, 0x1f
mov r9d, eax
sub r9d, ecx
mov r14d, r9d
mov r9, qword [rsp + 0x600]
mov r9d, dword [r9 + 8]
mov dword [rsp + 0x640], r9d
sub r9d, ecx
mov eax, r9d
sar r9d, 0x1f
and r9d, ecx
sub eax, ecx
add eax, r9d
mov r9d, r14d
add eax, r14d
mov r14d, dword [rsp + 0x650]
sar r9d, 0x1f
and r9d, ecx
shr r14d, 0x1e
add eax, r9d
mov r9d, r14d
mov r14d, eax
sar eax, 0x1f
neg r9d
and eax, ecx
and r9d, r8d
sub r14d, r9d
add eax, r14d
mov r14d, eax
sar r14d, 0x1f
mov r9d, r14d
mov r14, qword [rsp + 0x5b0]
and r9d, ecx
add eax, r9d
mov dword [r13 + 8], eax
cmp qword [rsp + 0x668], r14
jbe 0x1400ac3c8
mov rax, qword [rsp + 0x610]
mov r9d, dword [rax + 0x14]
mov dword [rsp + 0x650], r9d
sub r9d, ecx
mov r14d, r9d
sar r14d, 0x1f
mov eax, r14d
and eax, ecx
add eax, r9d
add eax, r11d
mov r14d, eax
sar r14d, 0x1f
mov r9d, r14d
mov r14, rdx
and r9d, ecx
add r9d, eax
mov r9d, r9d
imul r9, rsi
imul r14, r9
mov rax, r14
and eax, 0x7fffffff
imul rax, rbx
add rax, r9
shr rax, 0x1f
mov r14d, eax
mov rax, qword [rsp + 0x610]
sub r14d, ecx
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x640], eax
sub eax, ecx
mov r9d, eax
sub eax, ecx
sar r9d, 0x1f
and r9d, ecx
add eax, r9d
add eax, r14d
sar r14d, 0x1f
mov r9d, r14d
and r9d, ecx
add eax, r9d
mov r9d, dword [rsp + 0x650]
mov r14d, eax
sar eax, 0x1f
shr r9d, 0x1e
and eax, ecx
neg r9d
and r9d, r8d
sub r14d, r9d
add eax, r14d
mov r14, qword [rsp + 0x600]
mov r9d, eax
sar r9d, 0x1f
and r9d, ecx
add eax, r9d
mov dword [r10 + 0x10], eax
mov r10d, dword [r14 + 0x14]
mov r9d, r10d
sub r9d, ecx
mov eax, r9d
sar eax, 0x1f
and eax, ecx
add eax, r9d
add eax, r11d
mov r9d, eax
sar r9d, 0x1f
and r9d, ecx
add eax, r9d
mov eax, eax
imul rax, rsi
imul rdx, rax
and edx, 0x7fffffff
imul rdx, rbx
add rdx, rax
mov rax, rdx
shr rax, 0x1f
mov r9d, eax
mov eax, dword [r14 + 0x10]
sub r9d, ecx
mov dword [rsp + 0x650], eax
sub eax, ecx
cdq
sub eax, ecx
and edx, ecx
add eax, edx
mov edx, r9d
sar edx, 0x1f
add eax, r9d
and edx, ecx
add eax, edx
mov edx, r10d
shr edx, 0x1e
neg edx
and edx, r8d
mov r8d, eax
sar eax, 0x1f
sub r8d, edx
and eax, ecx
add eax, r8d
cdq
and edx, ecx
add eax, edx
mov dword [r13 + 0x10], eax
add qword [rsp + 0x620], 0xc
add r12, 4
add qword [rsp + 0x630], 4
add qword [rsp + 0x618], 4
cmp r12, 8
jne 0x1400ab929
mov rbx, qword [rsp + 0x518]
mov rdx, qword [rsp + 0x5f8]
mov rcx, rdi
mov r8, rbx
call sub.msvcrt.dll_memmove
lea rax, [rdi + rbx]
mov rdx, qword [rsp + 0x5f0]
mov r8, rbx
mov rcx, rax
mov qword [rsp + 0x530], rax
call sub.msvcrt.dll_memmove
movzx ecx, byte [rsp + 0x62c]
mov edx, 4
mov qword [rsp + 0x518], rbx
add rax, rbx
mov r9, qword [rsp + 0x4f8]
shl rdx, cl
mov qword [rsp + 0x588], rax
movzx ecx, byte [rbp + 0x10]
add rax, rdx
mov r8, rdx
lea r10, [rdx + rdx]
mov qword [rsp + 0x480], rax
add rax, rdx
mov r13, rax
mov eax, 4
mov qword [rsp + 0x490], r10
shl rax, cl
lea rcx, [r13 + rdx]
mov qword [rsp + 0x5b0], r8
lea r11, [r13 + rax]
mov qword [rsp + 0x5a8], rcx
add rcx, rdx
mov qword [rsp + 0x558], r11
mov rsi, rcx
add r11, rdx
add rsi, rdx
lea rbx, [r11 + rax]
mov qword [rsp + 0x580], r11
mov qword [rsp + 0x5e0], rbx
mov rbx, rsi
mov qword [rsp + 0x600], rsi
mov rsi, qword [rsp + 0x668]
add rbx, rdx
mov qword [rsp + 0x608], rcx
shl rsi, 2
mov qword [rsp + 0x5d8], rbx
mov r15, rsi
mov rsi, rbx
add rsi, r15
mov qword [rsp + 0x510], r15
mov r15d, dword [rbp + 0x10]
mov qword [rsp + 0x5d0], rsi
mov rsi, rdx
mov rdx, 0xfffffffffffffffc
sub rdx, r10
sub r15d, 2
mov r10, r8
sub rdx, r8
mov dword [rsp + 0x5c8], r15d
mov r15, qword [rsp + 0x488]
sub rdx, r8
mov qword [rsp + 0x4f0], rdx
mov rdx, qword [rbp + 0x18]
shl r15, 3
add rsi, r15
mov qword [rsp + 0x4a8], r15
add rdx, r9
add r10, rsi
mov qword [rsp + 0x4a0], rsi
mov r11, rdx
lea rdx, [r8 + rax]
add rdx, r10
lea r8, [rax + rdx]
lea rsi, [rdi + rdx]
lea rcx, [rdi + r8]
mov qword [rsp + 0x650], rcx
mov rcx, qword [rbp + 0x20]
add rcx, r9
mov rbx, rcx
lea rcx, [rax + r8]
lea r15, [rdi + rcx]
lea rcx, [r9 - 1]
cmp rcx, 0xe
seta cl
sub rax, 4
cmp rax, 0x38
seta al
and ecx, eax
cmp r11, rsi
mov r14d, ecx
setbe al
mov rcx, qword [rsp + 0x650]
cmp qword [rbp + 0x18], rcx
setae cl
or eax, ecx
and r14d, eax
mov rax, qword [rsp + 0x650]
cmp qword [rbp + 0x20], rax
setae al
cmp rsi, rbx
setae cl
or eax, ecx
and r14d, eax
cmp r11, qword [rsp + 0x650]
setbe al
cmp qword [rbp + 0x18], r15
setae cl
or eax, ecx
mov ecx, r14d
mov r14, r9
and ecx, eax
cmp qword [rsp + 0x650], rbx
mov rbx, qword [rsp + 0x5e0]
setae al
cmp qword [rbp + 0x20], r15
mov r11d, ecx
setae cl
mov r15d, r11d
and r14, 0xfffffffffffffff0
mov r11, qword [rsp + 0x580]
or eax, ecx
mov qword [rsp + 0x400], r14
mov rcx, qword [rbp + 0x20]
and r15d, eax
mov qword [rsp + 0x3e8], r14
mov rax, r14
add r14, qword [rbp + 0x18]
mov qword [rsp + 0x3d8], r14
mov r14, rax
lea rax, [rax*4]
add rcx, r14
mov byte [rsp + 0x62b], r15b
lea r15, [r11 + rax]
mov qword [rsp + 0x3c8], rcx
lea rcx, [r14 + 1]
mov r9, rcx
mov qword [rsp + 0x3b8], rcx
add rcx, qword [rbp + 0x18]
mov qword [rsp + 0x3d0], r15
lea r15, [rbx + rax]
mov qword [rsp + 0x3b0], rcx
lea rcx, [rax + 4]
mov qword [rsp + 0x3c0], r15
lea r15, [r11 + rcx]
mov qword [rsp + 0x3a8], r15
mov r15, qword [rbp + 0x20]
add r15, r9
mov qword [rsp + 0x3a0], r15
mov r15, rcx
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0x398], r15
lea r15, [r14 + 2]
add rcx, r15
mov qword [rsp + 0x390], r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0x208], rcx
lea rcx, [rax + 8]
mov qword [rsp + 0x1f8], r15
mov r15, rcx
lea r9, [r11 + rcx]
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0x200], r9
mov qword [rsp + 0x1f0], r15
lea r15, [r14 + 3]
add rcx, r15
mov qword [rsp + 0x1e8], r15
mov qword [rsp + 0x1e0], rcx
lea rcx, [rax + 0xc]
lea r9, [r11 + rcx]
mov qword [rsp + 0x1d8], r9
add r15, qword [rbp + 0x20]
mov qword [rsp + 0x1d0], r15
mov r15, rcx
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0x1c8], r15
lea r15, [r14 + 4]
add rcx, r15
mov qword [rsp + 0x1c0], r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0x1b8], rcx
lea rcx, [rax + 0x10]
mov qword [rsp + 0x1a8], r15
mov r15, rcx
lea r9, [r11 + rcx]
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0x1b0], r9
mov qword [rsp + 0x1a0], r15
lea r15, [r14 + 5]
add rcx, r15
mov qword [rsp + 0x198], r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0x190], rcx
lea rcx, [rax + 0x14]
mov qword [rsp + 0x180], r15
mov r15, rcx
lea r9, [r11 + rcx]
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0x188], r9
mov qword [rsp + 0x178], r15
lea r15, [r14 + 6]
add rcx, r15
mov qword [rsp + 0x170], r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0x168], rcx
lea rcx, [rax + 0x18]
mov qword [rsp + 0x158], r15
mov r15, rcx
lea r9, [r11 + rcx]
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0x160], r9
mov qword [rsp + 0x150], r15
lea r15, [r14 + 7]
add rcx, r15
mov qword [rsp + 0x148], r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0x140], rcx
lea rcx, [rax + 0x1c]
mov qword [rsp + 0x130], r15
mov r15, rcx
lea r9, [r11 + rcx]
add r15, rbx
mov qword [rsp + 0x138], r9
mov qword [rsp + 0x128], r15
lea r15, [r14 + 8]
mov qword [rsp + 0x120], r15
mov rcx, qword [rbp + 0x18]
add rcx, r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0x118], rcx
lea rcx, [rax + 0x20]
mov qword [rsp + 0x108], r15
mov r15, rcx
lea r9, [r11 + rcx]
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0x110], r9
mov qword [rsp + 0x100], r15
lea r15, [r14 + 9]
add rcx, r15
mov qword [rsp + 0xf8], r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0xf0], rcx
lea rcx, [rax + 0x24]
mov qword [rsp + 0xe0], r15
mov r15, rcx
lea r9, [r11 + rcx]
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0xd8], r15
lea r15, [r14 + 0xa]
add rcx, r15
mov qword [rsp + 0xd0], r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0xc8], rcx
lea rcx, [rax + 0x28]
mov qword [rsp + 0xb8], r15
mov r15, rcx
lea r9, [r11 + rcx]
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0xb0], r15
lea r15, [r14 + 0xb]
add rcx, r15
mov qword [rsp + 0xa8], r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0xa0], rcx
lea rcx, [rax + 0x2c]
mov qword [rsp + 0x90], r15
mov r15, rcx
lea r9, [r11 + rcx]
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x88], r15
lea r15, [r14 + 0xc]
add rcx, r15
mov qword [rsp + 0x80], r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0x78], rcx
lea rcx, [rax + 0x30]
lea r9, [r11 + rcx]
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x68], r15
mov r15, rcx
mov rcx, qword [rbp + 0x18]
add r15, rbx
mov qword [rsp + 0x60], r15
lea r15, [r14 + 0xd]
add rcx, r15
mov qword [rsp + 0x58], r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0x50], rcx
lea rcx, [rax + 0x34]
add rax, 0x38
mov qword [rsp + 0x40], r15
mov r15, rcx
lea r9, [r11 + rcx]
movzx ecx, byte [rsp + 0x62c]
add r15, rbx
mov qword [rsp + 0x48], r9
lea r9, [r11 + rax]
mov qword [rsp + 0x38], r15
lea r15, [r14 + 0xe]
mov r14, qword [rbp + 0x18]
mov qword [rsp + 0x30], r15
add r14, r15
add r15, qword [rbp + 0x20]
mov qword [rsp + 0x258], r9
mov qword [rsp + 0x250], r15
mov r15, rax
add r15, rbx
mov rbx, qword [rsp + 0x660]
mov qword [rsp + 0x260], r14
mov r14, r11
mov qword [rsp + 0x248], r15
mov r11, qword [rsp + 0x5b0]
lea r15, [rbx - 1]
cmp r15, 0xa
mov qword [rsp + 0x508], r15
mov r15, r12
seta byte [rsp + 0x640]
shl r15, cl
lea rcx, [r11 + rdx]
movzx r9d, byte [rsp + 0x640]
lea rax, [r15 + rdx]
mov r11, rbx
mov qword [rsp + 0x618], r15
cmp rax, rcx
cmovg rax, rcx
cmp rax, rdx
setle al
shr r11, 2
mov edx, eax
mov qword [rsp + 0x408], r11
shl r11, 4
mov rax, r14
and edx, r9d
mov qword [rsp + 0x520], r11
mov byte [rsp + 0x62a], dl
mov rdx, rbx
and rdx, 0xfffffffffffffffc
mov r11, rdx
mov qword [rsp + 0x5c0], rdx
shl rdx, 3
lea rcx, [rdx + 4]
mov rbx, rdx
lea r15, [r11*4]
add rax, rdx
lea r9, [r14 + rcx]
mov rdx, r14
mov r14, r11
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x230], r9
lea r9, [r11 + 1]
mov r11, rbx
mov rax, rdx
add r11, 8
add rax, r15
mov qword [rsp + 0x4d0], r9
lea r9, [rdx + r11]
mov qword [rsp + 0x498], r15
mov qword [rsp + 0x228], rax
lea rax, [r15 + 4]
mov qword [rsp + 0x220], r9
mov qword [rsp + 0x500], rbx
lea rbx, [rbx + 0xc]
lea r9, [rdx + rbx]
mov qword [rsp + 0x218], r9
mov r9, rax
mov rax, rdx
add rax, r9
mov qword [rsp + 0x620], r9
lea r9, [r14 + 2]
mov r14, qword [rsp + 0x500]
mov qword [rsp + 0x210], rax
lea rax, [r14 + 0x10]
mov qword [rsp + 0x3e0], r9
add r14, 0x14
mov r9, rax
mov rax, rdx
add rax, r9
mov qword [rsp + 0x630], r9
lea r9, [rdx + r14]
mov qword [rsp + 0x278], rax
mov rax, rdx
mov rdx, r15
add rdx, 8
mov qword [rsp + 0x270], r9
lea r9, [rax + rdx]
mov rax, qword [rsp + 0x618]
mov qword [rsp + 0x268], r9
add rax, r8
mov r9, rax
mov rax, qword [rsp + 0x5b0]
add rax, r8
cmp r9, rax
cmovle rax, r9
cmp r8, rax
movzx r8d, byte [rsp + 0x640]
setge al
and r8d, eax
mov rax, qword [rsp + 0x5e0]
mov byte [rsp + 0x629], r8b
mov r8, qword [rsp + 0x500]
add rdx, rax
add r8, rax
mov qword [rsp + 0x280], rdx
mov qword [rsp + 0x2c8], r8
mov r8, rcx
add r8, rax
mov qword [rsp + 0x2c0], r8
mov r8, rax
add r8, r15
mov qword [rsp + 0x2b8], r8
mov r8, r11
mov r11, qword [rsp + 0x510]
add r8, rax
mov qword [rsp + 0x2b0], r8
mov r8, rbx
mov rdx, r11
add r8, rax
mov qword [rsp + 0x2a8], r8
mov r8, qword [rsp + 0x620]
add r8, rax
mov qword [rsp + 0x240], r8
mov r8, qword [rsp + 0x630]
add r8, rax
mov qword [rsp + 0x290], r8
mov r8, r14
add r8, rax
mov qword [rsp + 0x288], r8
mov r8, qword [rsp + 0x5b0]
lea rax, [r10 + r8*4]
mov r10, r11
add rdx, rax
lea r9, [rdi + rax]
mov qword [rsp + 0x4e8], rax
add r10, rdx
mov qword [rsp + 0x4b0], rdx
add rdx, rdi
mov qword [rsp + 0x528], r10
mov qword [rsp + 0x418], r9
mov qword [rsp + 0x410], rdx
mov rdx, qword [rsp + 0x590]
mov rbx, qword [rsp + 0x5d8]
mov r14, qword [rsp + 0x5d0]
mov r10, rdx
and rdx, 0xfffffffffffffffc
lea rax, [rdx*4]
lea r9, [rdx*8]
shr r10, 2
mov qword [rsp + 0x420], r9
lea r9, [rbx + rax]
lea rcx, [rax + 4]
mov r15, r10
mov qword [rsp + 0x438], r9
lea r9, [r14 + rax]
shl r15, 4
mov qword [rsp + 0x430], r9
lea r9, [rdx + 1]
mov qword [rsp + 0x428], r9
lea r9, [rbx + rcx]
mov qword [rsp + 0x3f8], r15
mov r15, rcx
lea rcx, [rax + 8]
add rax, 0xc
mov qword [rsp + 0x448], r9
lea r9, [rdx + 2]
add r15, r14
mov qword [rsp + 0x478], r9
lea r9, [rbx + rcx]
mov qword [rsp + 0x380], r9
lea r9, [rdx + 3]
mov rdx, rax
mov qword [rsp + 0x388], r9
lea r9, [rbx + rax]
mov rax, qword [rsp + 0x4e8]
add rdx, r14
sub rax, qword [rsp + 0x490]
mov qword [rsp + 0x440], r15
mov r15, rcx
mov rcx, rax
add r15, r14
mov rax, r8
mov qword [rsp + 0x2a0], r9
add r8, rcx
mov qword [rsp + 0x2e0], r15
mov r15, qword [rsp + 0x668]
mov r9d, 4
add rax, r8
mov qword [rsp + 0x298], rdx
mov r10, rax
mov qword [rsp + 0x538], rax
mov rax, r11
add rax, r10
test r15, r15
mov qword [rsp + 0x578], rcx
cmovne r9, r11
mov qword [rsp + 0x4b8], rax
mov r11, rax
mov qword [rsp + 0x570], r8
mov rdx, r9
mov r9, rax
mov rax, qword [rsp + 0x590]
add r9, rdx
shl rax, 4
mov qword [rsp + 0x540], r9
mov r9d, 0xc
add rax, 0xc
test r15, r15
cmovne r12, qword [rsp + 0x560]
cmovne r9, rax
add rdx, r10
mov rax, r12
mov qword [rsp + 0x4c8], rdx
mov qword [rsp + 0x4c0], r9
mov r9, qword [rsp + 0x578]
add rax, r8
test r15, r15
mov qword [rsp + 0x550], rax
lea r12, [r12 + r9]
lea rdx, [rdi + r9]
mov r9, r8
mov qword [rsp + 0x548], r12
mov r12d, 1
lea r8, [rdi + r8]
cmovne r12, r15
add r10, rdi
mov rax, r12
mov qword [rsp + 0x450], r12
and r12, 0xfffffffffffffffc
shr rax, 2
mov qword [rsp + 0x630], rdx
mov rdx, r12
mov rcx, qword [rsp + 0x608]
shl rax, 4
mov qword [rsp + 0x468], r10
lea r10, [rdi + r11]
mov r11, qword [rsp + 0x600]
mov qword [rsp + 0x3f0], rax
lea rax, [rdx*8]
mov qword [rsp + 0x470], r10
lea r10, [rcx + rax]
mov qword [rsp + 0x458], r12
shl r12, 4
mov qword [rsp + 0x460], r12
mov r12, rdx
lea rdx, [rax + 4]
mov qword [rsp + 0x368], r10
mov r10, rcx
add r10, rdx
add rdx, r11
mov qword [rsp + 0x640], r8
lea r8, [rax + 8]
mov qword [rsp + 0x360], r10
lea r10, [r11 + rax]
mov qword [rsp + 0x350], rdx
lea rdx, [r12*4]
mov qword [rsp + 0x358], r10
lea r10, [rbx + rdx]
mov qword [rsp + 0x370], r10
lea r10, [r14 + rdx]
mov qword [rsp + 0x378], r10
lea r10, [r12 + 1]
mov qword [rsp + 0x348], r10
mov r10, rcx
lea rcx, [rcx + r8]
add r8, r11
mov qword [rsp + 0x340], rcx
lea rcx, [rax + 0xc]
lea r15, [r10 + rcx]
add rcx, r11
mov qword [rsp + 0x2e8], r8
mov qword [rsp + 0x2f8], rcx
lea rcx, [rdx + 4]
add rdx, 8
lea r8, [rbx + rcx]
add rcx, r14
mov qword [rsp + 0x2f0], r15
mov r15, qword [rsp + 0x4a8]
mov qword [rsp + 0x338], rcx
lea rcx, [r12 + 2]
mov qword [rsp + 0x2d0], rcx
lea rcx, [rax + 0x10]
add rax, 0x14
lea r12, [r10 + rcx]
add r10, rax
add rcx, r11
add rax, r11
mov qword [rsp + 0x318], rcx
lea rcx, [rbx + rdx]
add rdx, r14
mov qword [rsp + 0x320], rax
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x328], rcx
lea rcx, [r9 + 0x10]
mov qword [rsp + 0x4e0], r15
mov qword [rsp + 0x300], r8
mov qword [rsp + 0x308], r12
mov qword [rsp + 0x310], r10
mov qword [rsp + 0x330], rdx
mov qword [rsp + 0x2d8], rcx
mov qword [rsp + 0x4d8], rax
mov rbx, qword [rsp + 0x518]
mov qword [rsp + 0x5e8], r13
movdqa xmm6, xmmword [0x14010ace0]
mov qword [rbp + 0x28], rdi
mov r15, qword [rsp + 0x650]
mov r13, qword [rsp + 0x640]
mov rdi, qword [rsp + 0x630]
mov qword [rsp + 0x610], 0
mov qword [rsp + 0x5a0], 0
mov qword [rsp + 0x598], rbx
mov ebx, 0x7fffd801
mov edx, 2
mov ecx, edx
mov eax, edx
sub ecx, ebx
mov r8d, ecx
imul r8d, ebx
sub eax, r8d
imul eax, ecx
mov ecx, edx
mov r8d, eax
imul r8d, ebx
sub ecx, r8d
imul eax, ecx
mov ecx, edx
mov r8d, eax
imul r8d, ebx
sub ecx, r8d
imul eax, ecx
mov ecx, eax
imul ecx, ebx
sub ecx, edx
imul eax, ecx
mov ecx, ebx
and eax, 0x7fffffff
mov edx, eax
mov r14d, eax
mov dword [rsp + 0x5f8], eax
call fcn.14008bb30
mov dword [rsp + 0x28], r14d
mov r8d, dword [rbp + 0x10]
movd xmm7, eax
mov rax, qword [rsp + 0x568]
mov dword [rsp + 0x20], ebx
mov rdx, qword [rsp + 0x558]
mov rcx, qword [rsp + 0x5e8]
mov r9d, dword [rax + 4]
call fcn.14008cf70
cmp byte [rsp + 0x62b], 0
je 0x1400b03e7
movd xmm5, ebx
mov rcx, qword [rbp + 0x18]
mov r8, qword [rbp + 0x20]
xor eax, eax
mov rdx, qword [rsp + 0x400]
pshufd xmm2, xmm5, 0
pxor xmm4, xmm4
pxor xmm3, xmm3
nop dword [rax]
movdqu xmm0, xmmword [rcx + rax]
movdqa xmm5, xmm4
movdqa xmm8, xmm3
pcmpgtb xmm5, xmm0
movdqa xmm1, xmm0
punpcklbw xmm1, xmm5
punpckhbw xmm0, xmm5
pcmpgtw xmm8, xmm1
movdqa xmm9, xmm1
punpcklwd xmm9, xmm8
punpckhwd xmm1, xmm8
movdqa xmm8, xmm0
movdqa xmm5, xmm9
psrad xmm5, 0x1f
pand xmm5, xmm2
paddd xmm5, xmm9
movups xmmword [rsi + rax*4], xmm5
movdqa xmm5, xmm1
psrad xmm5, 0x1f
pand xmm5, xmm2
paddd xmm1, xmm5
movdqa xmm5, xmm3
pcmpgtw xmm5, xmm0
movups xmmword [rsi + rax*4 + 0x10], xmm1
punpcklwd xmm8, xmm5
punpckhwd xmm0, xmm5
movdqa xmm5, xmm4
movdqa xmm1, xmm8
psrad xmm1, 0x1f
pand xmm1, xmm2
paddd xmm1, xmm8
movdqa xmm8, xmm3
movups xmmword [rsi + rax*4 + 0x20], xmm1
movdqa xmm1, xmm0
psrad xmm1, 0x1f
pand xmm1, xmm2
paddd xmm0, xmm1
movups xmmword [rsi + rax*4 + 0x30], xmm0
movdqu xmm0, xmmword [r8 + rax]
pcmpgtb xmm5, xmm0
movdqa xmm1, xmm0
punpcklbw xmm1, xmm5
punpckhbw xmm0, xmm5
pcmpgtw xmm8, xmm1
movdqa xmm9, xmm1
punpcklwd xmm9, xmm8
punpckhwd xmm1, xmm8
movdqa xmm8, xmm0
movdqa xmm5, xmm9
psrad xmm5, 0x1f
pand xmm5, xmm2
paddd xmm5, xmm9
movups xmmword [r15 + rax*4], xmm5
movdqa xmm5, xmm1
psrad xmm5, 0x1f
pand xmm5, xmm2
paddd xmm1, xmm5
movdqa xmm5, xmm3
pcmpgtw xmm5, xmm0
movups xmmword [r15 + rax*4 + 0x10], xmm1
punpcklwd xmm8, xmm5
punpckhwd xmm0, xmm5
movdqa xmm1, xmm8
psrad xmm1, 0x1f
pand xmm1, xmm2
paddd xmm1, xmm8
movups xmmword [r15 + rax*4 + 0x20], xmm1
movdqa xmm1, xmm0
psrad xmm1, 0x1f
pand xmm1, xmm2
paddd xmm0, xmm1
movups xmmword [r15 + rax*4 + 0x30], xmm0
add rax, 0x10
cmp rdx, rax
jne 0x1400ad168
mov rcx, qword [rsp + 0x4f8]
mov rax, qword [rsp + 0x3e8]
cmp rcx, rax
je 0x1400ad725
mov rax, qword [rsp + 0x3d8]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x3d0]
mov dword [rdx], eax
mov rax, qword [rsp + 0x3c8]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x3c0]
mov dword [rdx], eax
mov rax, qword [rsp + 0x3b8]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x3b0]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x3a8]
mov dword [rdx], eax
mov rax, qword [rsp + 0x3a0]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x398]
mov dword [rdx], eax
mov rax, qword [rsp + 0x390]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x208]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x200]
mov dword [rdx], eax
mov rax, qword [rsp + 0x1f8]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x1f0]
mov dword [rdx], eax
mov rax, qword [rsp + 0x1e8]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x1e0]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x1d8]
mov dword [rdx], eax
mov rax, qword [rsp + 0x1d0]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x1c8]
mov dword [rdx], eax
mov rax, qword [rsp + 0x1c0]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x1b8]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x1b0]
mov dword [rdx], eax
mov rax, qword [rsp + 0x1a8]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x1a0]
mov dword [rdx], eax
mov rax, qword [rsp + 0x198]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x190]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x188]
mov dword [rdx], eax
mov rax, qword [rsp + 0x180]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x178]
mov dword [rdx], eax
mov rax, qword [rsp + 0x170]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x168]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x160]
mov dword [rdx], eax
mov rax, qword [rsp + 0x158]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x150]
mov dword [rdx], eax
mov rax, qword [rsp + 0x148]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x140]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x138]
mov dword [rdx], eax
mov rax, qword [rsp + 0x130]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x128]
mov dword [rdx], eax
mov rax, qword [rsp + 0x120]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x118]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x110]
mov dword [rdx], eax
mov rax, qword [rsp + 0x108]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x100]
mov dword [rdx], eax
mov rax, qword [rsp + 0xf8]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0xf0]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0xe8]
mov dword [rdx], eax
mov rax, qword [rsp + 0xe0]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0xd8]
mov dword [rdx], eax
mov rax, qword [rsp + 0xd0]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0xc8]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0xc0]
mov dword [rdx], eax
mov rax, qword [rsp + 0xb8]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0xb0]
mov dword [rdx], eax
mov rax, qword [rsp + 0xa8]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0xa0]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x98]
mov dword [rdx], eax
mov rax, qword [rsp + 0x90]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x88]
mov dword [rdx], eax
mov rax, qword [rsp + 0x80]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x78]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x70]
mov dword [rdx], eax
mov rax, qword [rsp + 0x68]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x60]
mov dword [rdx], eax
mov rax, qword [rsp + 0x58]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x50]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x48]
mov dword [rdx], eax
mov rax, qword [rsp + 0x40]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov rdx, qword [rsp + 0x38]
mov dword [rdx], eax
mov rax, qword [rsp + 0x30]
cmp rcx, rax
jbe 0x1400ad725
mov rax, qword [rsp + 0x260]
mov rcx, qword [rsp + 0x258]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov dword [rcx], eax
mov rax, qword [rsp + 0x250]
mov rcx, qword [rsp + 0x248]
movsx edx, byte [rax]
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
mov dword [rcx], eax
mov r8d, dword [rbp + 0x10]
test r8d, r8d
je 0x1400ae049
mov r14d, dword [rsp + 0x5f8]
mov r8d, dword [rbp + 0x10]
mov r9d, ebx
mov r12, qword [rsp + 0x5e8]
mov rcx, qword [rsp + 0x580]
mov dword [rsp + 0x20], r14d
mov rdx, r12
call fcn.14008b590
mov dword [rsp + 0x20], r14d
mov r9d, ebx
mov rdx, r12
mov rcx, qword [rsp + 0x5e0]
mov r8d, dword [rbp + 0x10]
call fcn.14008b590
mov eax, r14d
mov ecx, ebx
movd r10d, xmm7
cmp byte [rsp + 0x62a], 0
je 0x1400b09fd
movq xmm3, rax
movq xmm2, rcx
movd xmm5, ebx
xor edx, edx
pshufd xmm9, xmm7, 0
punpcklqdq xmm3, xmm3
punpcklqdq xmm2, xmm2
mov r8, qword [rsp + 0x520]
movdqa xmm10, xmm9
pshufd xmm8, xmm5, 0
movdqa xmm4, xmm2
movdqa xmm5, xmm3
psrlq xmm4, 0x20
punpckldq xmm10, xmm9
psrlq xmm5, 0x20
punpckhdq xmm9, xmm9
nop
movdqu xmm11, xmmword [rsi + rdx*2]
movdqu xmm0, xmmword [rsi + rdx*2 + 0x10]
movdqa xmm13, xmm5
movdqa xmm1, xmm11
shufps xmm11, xmm0, 0xdd
shufps xmm1, xmm0, 0x88
movdqa xmm0, xmm11
movdqa xmm12, xmm1
punpckldq xmm0, xmm11
punpckldq xmm12, xmm1
punpckhdq xmm11, xmm11
pmuludq xmm12, xmm0
punpckhdq xmm1, xmm1
pmuludq xmm1, xmm11
movdqa xmm0, xmm12
pmuludq xmm13, xmm12
movdqa xmm11, xmm12
psrlq xmm0, 0x20
pmuludq xmm11, xmm3
pmuludq xmm0, xmm3
paddq xmm0, xmm13
psllq xmm0, 0x20
paddq xmm11, xmm0
pand xmm11, xmm6
movdqa xmm13, xmm11
movdqa xmm0, xmm11
psrlq xmm13, 0x20
pmuludq xmm11, xmm4
pmuludq xmm13, xmm2
pmuludq xmm0, xmm2
paddq xmm13, xmm11
movdqa xmm11, xmm1
psllq xmm13, 0x20
pmuludq xmm11, xmm3
paddq xmm0, xmm13
movdqa xmm13, xmm5
paddq xmm0, xmm12
pmuludq xmm13, xmm1
movdqa xmm12, xmm1
psrlq xmm12, 0x20
psrlq xmm0, 0x1f
pmuludq xmm12, xmm3
paddq xmm12, xmm13
psllq xmm12, 0x20
paddq xmm11, xmm12
pand xmm11, xmm6
movdqa xmm13, xmm11
movdqa xmm12, xmm11
psrlq xmm13, 0x20
pmuludq xmm11, xmm4
pmuludq xmm13, xmm2
pmuludq xmm12, xmm2
paddq xmm13, xmm11
movdqa xmm11, xmm12
psllq xmm13, 0x20
paddq xmm11, xmm13
paddq xmm1, xmm11
movdqa xmm11, xmm3
psrlq xmm1, 0x1f
shufps xmm0, xmm1, 0x88
psubd xmm0, xmm8
movdqa xmm1, xmm0
psrad xmm0, 0x1f
pand xmm0, xmm8
paddd xmm0, xmm1
movdqa xmm1, xmm5
movdqa xmm12, xmm0
punpckldq xmm12, xmm0
punpckhdq xmm0, xmm0
pmuludq xmm12, xmm10
pmuludq xmm0, xmm9
pmuludq xmm1, xmm12
pmuludq xmm11, xmm12
movdqa xmm13, xmm12
psrlq xmm13, 0x20
pmuludq xmm13, xmm3
paddq xmm1, xmm13
psllq xmm1, 0x20
paddq xmm11, xmm1
pand xmm11, xmm6
movdqa xmm13, xmm11
movdqa xmm1, xmm11
psrlq xmm13, 0x20
pmuludq xmm11, xmm4
pmuludq xmm13, xmm2
pmuludq xmm1, xmm2
paddq xmm13, xmm11
movdqa xmm11, xmm3
psllq xmm13, 0x20
pmuludq xmm11, xmm0
paddq xmm1, xmm13
movdqa xmm13, xmm0
paddq xmm1, xmm12
psrlq xmm13, 0x20
movdqa xmm12, xmm5
pmuludq xmm12, xmm0
pmuludq xmm13, xmm3
psrlq xmm1, 0x1f
paddq xmm12, xmm13
psllq xmm12, 0x20
paddq xmm11, xmm12
pand xmm11, xmm6
movdqa xmm13, xmm11
movdqa xmm12, xmm11
psrlq xmm13, 0x20
pmuludq xmm11, xmm4
pmuludq xmm13, xmm2
pmuludq xmm12, xmm2
paddq xmm13, xmm11
movdqa xmm11, xmm12
psllq xmm13, 0x20
paddq xmm11, xmm13
paddq xmm0, xmm11
psrlq xmm0, 0x1f
shufps xmm1, xmm0, 0x88
psubd xmm1, xmm8
movdqa xmm0, xmm1
psrad xmm0, 0x1f
pand xmm0, xmm8
paddd xmm0, xmm1
movups xmmword [rsi + rdx], xmm0
add rdx, 0x10
cmp r8, rdx
jne 0x1400ad7e0
mov r11, qword [rsp + 0x660]
mov rdx, qword [rsp + 0x5c0]
cmp r11, rdx
je 0x1400adbed
mov rdx, qword [rsp + 0x238]
mov r14, qword [rsp + 0x228]
mov r8d, dword [rdx]
mov rdx, qword [rsp + 0x230]
mov edx, dword [rdx]
imul r8, rdx
mov rdx, rax
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add r8d, edx
mov rdx, rax
mov r8d, r8d
imul r8, r10
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add edx, r8d
mov dword [r14], edx
mov rdx, qword [rsp + 0x4d0]
cmp r11, rdx
jbe 0x1400adbed
mov rdx, qword [rsp + 0x220]
mov r14, qword [rsp + 0x210]
mov r8d, dword [rdx]
mov rdx, qword [rsp + 0x218]
mov edx, dword [rdx]
imul r8, rdx
mov rdx, rax
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add r8d, edx
mov rdx, rax
mov r8d, r8d
imul r8, r10
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add edx, r8d
mov dword [r14], edx
mov rdx, qword [rsp + 0x3e0]
cmp r11, rdx
jbe 0x1400adbed
mov rdx, qword [rsp + 0x278]
mov r11, qword [rsp + 0x268]
mov r8d, dword [rdx]
mov rdx, qword [rsp + 0x270]
mov edx, dword [rdx]
imul r8, rdx
mov rdx, rax
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add r8d, edx
mov rdx, rax
mov r8d, r8d
imul r8, r10
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add edx, r8d
mov dword [r11], edx
cmp byte [rsp + 0x629], 0
je 0x1400b0a8a
movq xmm3, rax
movq xmm2, rcx
movd xmm5, ebx
xor edx, edx
pshufd xmm9, xmm7, 0
punpcklqdq xmm3, xmm3
punpcklqdq xmm2, xmm2
mov r8, qword [rsp + 0x520]
movdqa xmm10, xmm9
pshufd xmm8, xmm5, 0
movdqa xmm4, xmm2
movdqa xmm5, xmm3
psrlq xmm4, 0x20
punpckldq xmm10, xmm9
psrlq xmm5, 0x20
punpckhdq xmm9, xmm9
movdqu xmm11, xmmword [r15 + rdx*2]
movdqu xmm0, xmmword [r15 + rdx*2 + 0x10]
movdqa xmm13, xmm5
movdqa xmm1, xmm11
shufps xmm11, xmm0, 0xdd
shufps xmm1, xmm0, 0x88
movdqa xmm0, xmm11
movdqa xmm12, xmm1
punpckldq xmm0, xmm11
punpckldq xmm12, xmm1
punpckhdq xmm11, xmm11
pmuludq xmm12, xmm0
punpckhdq xmm1, xmm1
pmuludq xmm1, xmm11
movdqa xmm0, xmm12
pmuludq xmm13, xmm12
movdqa xmm11, xmm12
psrlq xmm0, 0x20
pmuludq xmm11, xmm3
pmuludq xmm0, xmm3
paddq xmm0, xmm13
psllq xmm0, 0x20
paddq xmm11, xmm0
pand xmm11, xmm6
movdqa xmm13, xmm11
movdqa xmm0, xmm11
psrlq xmm13, 0x20
pmuludq xmm11, xmm4
pmuludq xmm13, xmm2
pmuludq xmm0, xmm2
paddq xmm13, xmm11
movdqa xmm11, xmm1
psllq xmm13, 0x20
pmuludq xmm11, xmm3
paddq xmm0, xmm13
movdqa xmm13, xmm5
paddq xmm0, xmm12
pmuludq xmm13, xmm1
movdqa xmm12, xmm1
psrlq xmm12, 0x20
psrlq xmm0, 0x1f
pmuludq xmm12, xmm3
paddq xmm12, xmm13
psllq xmm12, 0x20
paddq xmm11, xmm12
pand xmm11, xmm6
movdqa xmm13, xmm11
movdqa xmm12, xmm11
psrlq xmm13, 0x20
pmuludq xmm11, xmm4
pmuludq xmm13, xmm2
pmuludq xmm12, xmm2
paddq xmm13, xmm11
movdqa xmm11, xmm12
psllq xmm13, 0x20
paddq xmm11, xmm13
paddq xmm1, xmm11
movdqa xmm11, xmm3
psrlq xmm1, 0x1f
shufps xmm0, xmm1, 0x88
psubd xmm0, xmm8
movdqa xmm1, xmm0
psrad xmm0, 0x1f
pand xmm0, xmm8
paddd xmm0, xmm1
movdqa xmm1, xmm5
movdqa xmm12, xmm0
punpckldq xmm12, xmm0
punpckhdq xmm0, xmm0
pmuludq xmm12, xmm10
pmuludq xmm0, xmm9
pmuludq xmm1, xmm12
pmuludq xmm11, xmm12
movdqa xmm13, xmm12
psrlq xmm13, 0x20
pmuludq xmm13, xmm3
paddq xmm1, xmm13
psllq xmm1, 0x20
paddq xmm11, xmm1
pand xmm11, xmm6
movdqa xmm13, xmm11
movdqa xmm1, xmm11
psrlq xmm13, 0x20
pmuludq xmm11, xmm4
pmuludq xmm13, xmm2
pmuludq xmm1, xmm2
paddq xmm13, xmm11
movdqa xmm11, xmm3
psllq xmm13, 0x20
pmuludq xmm11, xmm0
paddq xmm1, xmm13
movdqa xmm13, xmm0
paddq xmm1, xmm12
psrlq xmm13, 0x20
movdqa xmm12, xmm5
pmuludq xmm12, xmm0
pmuludq xmm13, xmm3
psrlq xmm1, 0x1f
paddq xmm12, xmm13
psllq xmm12, 0x20
paddq xmm11, xmm12
pand xmm11, xmm6
movdqa xmm13, xmm11
movdqa xmm12, xmm11
psrlq xmm13, 0x20
pmuludq xmm11, xmm4
pmuludq xmm13, xmm2
pmuludq xmm12, xmm2
paddq xmm13, xmm11
movdqa xmm11, xmm12
psllq xmm13, 0x20
paddq xmm11, xmm13
paddq xmm0, xmm11
psrlq xmm0, 0x1f
shufps xmm1, xmm0, 0x88
psubd xmm1, xmm8
movdqa xmm0, xmm1
psrad xmm0, 0x1f
pand xmm0, xmm8
paddd xmm0, xmm1
movups xmmword [r15 + rdx], xmm0
add rdx, 0x10
cmp r8, rdx
jne 0x1400adc48
mov r11, qword [rsp + 0x660]
mov rdx, qword [rsp + 0x5c0]
cmp r11, rdx
je 0x1400ae049
mov rdx, qword [rsp + 0x2c8]
mov r14, qword [rsp + 0x2b8]
mov r8d, dword [rdx]
mov rdx, qword [rsp + 0x2c0]
mov edx, dword [rdx]
imul r8, rdx
mov rdx, rax
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add r8d, edx
mov rdx, rax
mov r8d, r8d
imul r8, r10
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add edx, r8d
mov dword [r14], edx
mov rdx, qword [rsp + 0x4d0]
cmp r11, rdx
jbe 0x1400ae049
mov rdx, qword [rsp + 0x2b0]
mov r14, qword [rsp + 0x240]
mov r8d, dword [rdx]
mov rdx, qword [rsp + 0x2a8]
mov edx, dword [rdx]
imul r8, rdx
mov rdx, rax
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add r8d, edx
mov rdx, rax
mov r8d, r8d
imul r8, r10
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add edx, r8d
mov dword [r14], edx
mov rdx, qword [rsp + 0x3e0]
cmp r11, rdx
jbe 0x1400ae049
mov rdx, qword [rsp + 0x290]
mov r8d, dword [rdx]
mov rdx, qword [rsp + 0x288]
mov edx, dword [rdx]
imul r8, rdx
mov rdx, rax
imul rdx, r8
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r8
shr rdx, 0x1f
sub edx, ebx
mov r8d, edx
sar r8d, 0x1f
and r8d, ebx
add edx, r8d
mov edx, edx
imul rdx, r10
imul rax, rdx
and eax, 0x7fffffff
imul rax, rcx
mov rcx, qword [rsp + 0x280]
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add eax, edx
mov dword [rcx], eax
mov r14, qword [rsp + 0x5b0]
mov rdx, qword [rsp + 0x558]
mov rcx, qword [rsp + 0x5a8]
mov r8, r14
call sub.msvcrt.dll_memmove
mov rdx, qword [rsp + 0x580]
mov rcx, qword [rsp + 0x608]
mov r8, r14
call sub.msvcrt.dll_memmove
mov rcx, qword [rsp + 0x600]
mov rdx, qword [rsp + 0x5e0]
mov r8, r14
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x610]
mov r12, qword [rbp + 0x28]
mov rcx, qword [rsp + 0x530]
add r12, rax
add rcx, rax
cmp qword [rsp + 0x668], 0
mov qword [rsp + 0x5b8], rcx
je 0x1400b0997
mov r10, rax
mov rax, qword [rsp + 0x560]
mov r14, qword [rsp + 0x598]
mov r11, qword [rsp + 0x4b0]
sub rax, 4
lea rcx, [r14 + rax]
lea r9, [r10 + rax]
mov rax, qword [rsp + 0x510]
sub rax, 4
cmp rax, 8
seta al
cmp qword [rsp + 0x590], 3
seta dl
and eax, edx
cmp rcx, r11
setle r8b
cmp r14, qword [rsp + 0x528]
setge dl
or edx, r8d
and edx, eax
mov rax, qword [rsp + 0x528]
cmp r9, r11
setle r8b
cmp r10, rax
setge al
or eax, r8d
mov r8, qword [rsp + 0x4e8]
and eax, edx
cmp r14, r11
setge dl
cmp rcx, r8
setle cl
or edx, ecx
test al, dl
je 0x1400b043f
cmp r9, r8
setle al
cmp r10, r11
setge dl
or al, dl
je 0x1400b043f
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rsp + 0x418]
xor eax, eax
mov r8, qword [rsp + 0x410]
mov r9, qword [rsp + 0x3f8]
add rdx, r14
nop word cs:[rax + rax]
movdqu xmm5, xmmword [r12 + rax*2 + 0x10]
movdqu xmm0, xmmword [r12 + rax*2]
shufps xmm0, xmm5, 0x88
movups xmmword [rcx + rax], xmm0
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm5, xmmword [rdx + rax*2 + 0x10]
shufps xmm0, xmm5, 0x88
movups xmmword [r8 + rax], xmm0
add rax, 0x10
cmp r9, rax
jne 0x1400ae1a0
mov rcx, qword [rsp + 0x420]
mov rax, qword [rsp + 0x5b8]
mov r11, qword [rsp + 0x438]
lea rdx, [r12 + rcx]
add rax, rcx
mov ecx, dword [rdx]
mov dword [r11], ecx
mov r11, qword [rsp + 0x430]
mov ecx, dword [rax]
mov dword [r11], ecx
mov r11, qword [rsp + 0x668]
mov rcx, qword [rsp + 0x428]
cmp r11, rcx
jbe 0x1400ae284
mov ecx, dword [rdx + 8]
mov r14, qword [rsp + 0x448]
mov dword [r14], ecx
mov r14, qword [rsp + 0x440]
mov ecx, dword [rax + 8]
mov dword [r14], ecx
mov rcx, qword [rsp + 0x478]
cmp r11, rcx
jbe 0x1400ae284
mov ecx, dword [rdx + 0x10]
mov r14, qword [rsp + 0x380]
mov dword [r14], ecx
mov r14, qword [rsp + 0x2e0]
mov ecx, dword [rax + 0x10]
mov dword [r14], ecx
mov rcx, qword [rsp + 0x388]
cmp r11, rcx
jbe 0x1400ae284
mov edx, dword [rdx + 0x18]
mov rcx, qword [rsp + 0x2a0]
mov dword [rcx], edx
mov rcx, qword [rsp + 0x298]
mov eax, dword [rax + 0x18]
mov dword [rcx], eax
mov edx, dword [rsp + 0x5c8]
test edx, edx
je 0x1400ae2e1
mov r14d, dword [rsp + 0x5f8]
mov r8d, dword [rsp + 0x5c8]
mov r9d, ebx
mov rdx, qword [rsp + 0x5e8]
mov rcx, qword [rsp + 0x5d8]
mov dword [rsp + 0x20], r14d
call fcn.14008b590
mov dword [rsp + 0x20], r14d
mov r9d, ebx
mov r8d, dword [rsp + 0x5c8]
mov rdx, qword [rsp + 0x5e8]
mov rcx, qword [rsp + 0x5d0]
call fcn.14008b590
movd eax, xmm7
mov r11, qword [rsp + 0x610]
mov ecx, ebx
mov r14, qword [rsp + 0x598]
mov qword [rsp + 0x620], rax
mov eax, dword [rsp + 0x5f8]
mov qword [rsp + 0x618], rcx
mov rcx, qword [rsp + 0x4b8]
lea r10, [r11 + 0x10]
mov qword [rsp + 0x5f0], rax
mov rax, qword [rsp + 0x4c0]
mov r8, rax
add rax, r11
add r8, r14
cmp rax, rcx
mov r9, rax
setle dl
cmp qword [rsp + 0x540], r11
setle al
or edx, eax
cmp rcx, r8
mov rcx, qword [rsp + 0x540]
setge al
cmp r14, rcx
setge cl
or eax, ecx
and eax, edx
cmp qword [rsp + 0x668], 0x52
seta dl
and eax, edx
cmp qword [rsp + 0x578], r8
setge dl
cmp qword [rsp + 0x548], r14
setle cl
or edx, ecx
mov rcx, qword [rsp + 0x548]
and edx, eax
cmp qword [rsp + 0x578], r9
setge al
cmp rcx, r11
setle cl
or eax, ecx
and eax, edx
cmp qword [rsp + 0x570], r8
setge dl
cmp qword [rsp + 0x550], r14
setle cl
or edx, ecx
mov rcx, qword [rsp + 0x550]
and edx, eax
cmp qword [rsp + 0x570], r9
setge al
cmp rcx, r11
setle cl
or eax, ecx
and eax, edx
cmp qword [rsp + 0x538], r8
mov r8, qword [rsp + 0x4c8]
setge dl
cmp r8, r14
setle cl
or edx, ecx
and edx, eax
cmp qword [rsp + 0x538], r9
setge al
cmp r8, r11
setle cl
or eax, ecx
and eax, edx
mov rdx, r14
sub rdx, r10
cmp rdx, 0x28
seta dl
test al, dl
je 0x1400b05dd
lea rax, [r14 + 8]
sub rax, r10
cmp rax, 0x28
jbe 0x1400b05dd
pshufd xmm2, xmm7, 0
mov rax, qword [rbp + 0x28]
movq xmm1, qword [rsp + 0x5f0]
movd xmm7, ebx
movdqa xmm5, xmm2
mov rcx, r14
movq xmm0, qword [rsp + 0x618]
mov r9, qword [rsp + 0x470]
lea rdx, [rax + 8]
punpckldq xmm5, xmm2
punpcklqdq xmm1, xmm1
add rcx, rax
punpcklqdq xmm0, xmm0
lea r8, [r11 + rdx]
punpckhdq xmm2, xmm2
add rdx, r14
movaps xmmword [rsp + 0x650], xmm5
movdqa xmm8, xmm0
movdqa xmm5, xmm1
xor eax, eax
mov r10, qword [rsp + 0x468]
mov r11, qword [rsp + 0x3f0]
pshufd xmm7, xmm7, 0
movaps xmmword [rsp + 0x640], xmm2
psrlq xmm5, 0x20
psrlq xmm8, 0x20
nop dword [rax]
movdqu xmm2, xmmword [rdi + rax*2]
movdqu xmm4, xmmword [rdi + rax*2 + 0x10]
movdqa xmm12, xmm1
movdqu xmm10, xmmword [r10 + rax]
movdqu xmm3, xmmword [r13 + rax*2]
movdqa xmm9, xmm2
shufps xmm2, xmm4, 0xdd
shufps xmm9, xmm4, 0x88
movdqa xmm14, xmm10
movdqa xmm11, xmm3
movdqu xmm4, xmmword [r13 + rax*2 + 0x10]
punpckldq xmm14, xmm10
punpckhdq xmm10, xmm10
pmuludq xmm14, xmmword [rsp + 0x650]
movdqa xmm13, xmm14
shufps xmm11, xmm4, 0x88
shufps xmm3, xmm4, 0xdd
psrlq xmm13, 0x20
movdqa xmm4, xmm5
pmuludq xmm4, xmm14
pmuludq xmm13, xmm1
pmuludq xmm10, xmmword [rsp + 0x640]
pmuludq xmm12, xmm14
paddq xmm4, xmm13
psllq xmm4, 0x20
paddq xmm12, xmm4
pand xmm12, xmm6
movdqa xmm13, xmm12
movdqa xmm4, xmm12
psrlq xmm13, 0x20
pmuludq xmm12, xmm8
pmuludq xmm13, xmm0
pmuludq xmm4, xmm0
paddq xmm13, xmm12
movdqa xmm12, xmm1
psllq xmm13, 0x20
pmuludq xmm12, xmm10
paddq xmm4, xmm13
movdqa xmm13, xmm5
paddq xmm4, xmm14
pmuludq xmm13, xmm10
movdqa xmm14, xmm10
psrlq xmm14, 0x20
psrlq xmm4, 0x1f
pmuludq xmm14, xmm1
paddq xmm13, xmm14
psllq xmm13, 0x20
paddq xmm12, xmm13
pand xmm12, xmm6
movdqa xmm14, xmm12
movdqa xmm13, xmm12
psrlq xmm14, 0x20
pmuludq xmm12, xmm8
pmuludq xmm14, xmm0
pmuludq xmm13, xmm0
paddq xmm14, xmm12
psllq xmm14, 0x20
paddq xmm13, xmm14
paddq xmm13, xmm10
movdqu xmm10, xmmword [r9 + rax]
psrlq xmm13, 0x1f
shufps xmm4, xmm13, 0x88
psubd xmm4, xmm7
movdqa xmm14, xmm10
movdqa xmm12, xmm4
punpckldq xmm14, xmm10
punpckhdq xmm10, xmm10
pmuludq xmm10, xmmword [rsp + 0x640]
psrad xmm12, 0x1f
movdqa xmm15, xmm14
pmuludq xmm15, xmmword [rsp + 0x650]
movdqa xmm14, xmm15
pand xmm12, xmm7
psrlq xmm14, 0x20
movdqa xmm13, xmm15
pmuludq xmm14, xmm1
pmuludq xmm13, xmm1
paddd xmm12, xmm4
movdqa xmm4, xmm5
pmuludq xmm4, xmm15
paddq xmm14, xmm4
psllq xmm14, 0x20
paddq xmm13, xmm14
pand xmm13, xmm6
movdqa xmm14, xmm13
movdqa xmm4, xmm13
psrlq xmm14, 0x20
pmuludq xmm13, xmm8
pmuludq xmm14, xmm0
pmuludq xmm4, xmm0
paddq xmm14, xmm13
movdqa xmm13, xmm10
psllq xmm14, 0x20
pmuludq xmm13, xmm1
paddq xmm4, xmm14
movdqa xmm14, xmm10
paddq xmm4, xmm15
psrlq xmm14, 0x20
movdqa xmm15, xmm5
pmuludq xmm15, xmm10
pmuludq xmm14, xmm1
psrlq xmm4, 0x1f
paddq xmm14, xmm15
psllq xmm14, 0x20
paddq xmm13, xmm14
pand xmm13, xmm6
movdqa xmm15, xmm13
movdqa xmm14, xmm13
psrlq xmm15, 0x20
pmuludq xmm13, xmm8
pmuludq xmm15, xmm0
pmuludq xmm14, xmm0
paddq xmm15, xmm13
psllq xmm15, 0x20
paddq xmm14, xmm15
movdqa xmm15, xmm3
paddq xmm14, xmm10
punpckldq xmm15, xmm3
punpckhdq xmm3, xmm3
psrlq xmm14, 0x1f
shufps xmm4, xmm14, 0x88
movdqa xmm14, xmm12
psubd xmm4, xmm7
punpckldq xmm14, xmm12
movdqa xmm10, xmm4
pmuludq xmm15, xmm14
psrad xmm10, 0x1f
pand xmm10, xmm7
paddd xmm10, xmm4
movdqa xmm4, xmm12
punpckhdq xmm4, xmm12
pmuludq xmm3, xmm4
movaps xmmword [rsp + 0x630], xmm4
movdqa xmm4, xmm5
movdqa xmm13, xmm15
pmuludq xmm4, xmm15
movdqa xmm12, xmm15
psrlq xmm13, 0x20
pmuludq xmm12, xmm1
pmuludq xmm13, xmm1
paddq xmm13, xmm4
psllq xmm13, 0x20
paddq xmm12, xmm13
pand xmm12, xmm6
movdqa xmm13, xmm12
movdqa xmm4, xmm12
psrlq xmm13, 0x20
pmuludq xmm12, xmm8
pmuludq xmm13, xmm0
pmuludq xmm4, xmm0
paddq xmm13, xmm12
movdqa xmm12, xmm3
psllq xmm13, 0x20
pmuludq xmm12, xmm1
paddq xmm4, xmm13
movdqa xmm13, xmm3
paddq xmm4, xmm15
psrlq xmm13, 0x20
movdqa xmm15, xmm5
pmuludq xmm15, xmm3
pmuludq xmm13, xmm1
psrlq xmm4, 0x1f
paddq xmm13, xmm15
psllq xmm13, 0x20
paddq xmm12, xmm13
pand xmm12, xmm6
movdqa xmm15, xmm12
movdqa xmm13, xmm12
psrlq xmm15, 0x20
pmuludq xmm12, xmm8
pmuludq xmm15, xmm0
pmuludq xmm13, xmm0
paddq xmm15, xmm12
movdqa xmm12, xmm11
psllq xmm15, 0x20
punpckldq xmm12, xmm11
punpckhdq xmm11, xmm11
pmuludq xmm11, xmmword [rsp + 0x630]
paddq xmm13, xmm15
pmuludq xmm12, xmm14
paddq xmm13, xmm3
psrlq xmm13, 0x1f
shufps xmm4, xmm13, 0x88
psubd xmm4, xmm7
movdqa xmm13, xmm5
movdqa xmm3, xmm4
psrad xmm3, 0x1f
pmuludq xmm13, xmm12
pand xmm3, xmm7
paddd xmm3, xmm4
pshufd xmm4, xmm3, 0x55
movdqa xmm15, xmm3
movd dword [r12 + rax*4], xmm3
movd dword [r12 + rax*4 + 0x10], xmm4
movdqa xmm4, xmm12
punpckhdq xmm15, xmm3
pshufd xmm3, xmm3, 0xff
psrlq xmm4, 0x20
movd dword [r12 + rax*4 + 0x30], xmm3
movdqa xmm3, xmm12
pmuludq xmm4, xmm1
pmuludq xmm3, xmm1
movd dword [r12 + rax*4 + 0x20], xmm15
paddq xmm4, xmm13
psllq xmm4, 0x20
paddq xmm4, xmm3
pand xmm4, xmm6
movdqa xmm13, xmm4
movdqa xmm3, xmm4
psrlq xmm13, 0x20
pmuludq xmm4, xmm8
pmuludq xmm13, xmm0
pmuludq xmm3, xmm0
paddq xmm13, xmm4
movdqa xmm4, xmm11
psllq xmm13, 0x20
psrlq xmm4, 0x20
paddq xmm3, xmm13
pmuludq xmm4, xmm1
movdqa xmm13, xmm5
pmuludq xmm13, xmm11
paddq xmm3, xmm12
movdqa xmm12, xmm11
pmuludq xmm12, xmm1
psrlq xmm3, 0x1f
paddq xmm4, xmm13
psllq xmm4, 0x20
paddq xmm12, xmm4
pand xmm12, xmm6
movdqa xmm13, xmm12
movdqa xmm4, xmm12
psrlq xmm13, 0x20
pmuludq xmm12, xmm8
pmuludq xmm13, xmm0
pmuludq xmm4, xmm0
paddq xmm13, xmm12
movdqa xmm12, xmm2
psllq xmm13, 0x20
punpckldq xmm12, xmm2
punpckhdq xmm2, xmm2
paddq xmm4, xmm13
movdqa xmm13, xmm5
paddq xmm4, xmm11
psrlq xmm4, 0x1f
shufps xmm3, xmm4, 0x88
movdqa xmm4, xmm3
psubd xmm4, xmm7
movdqa xmm3, xmm4
psrad xmm3, 0x1f
pand xmm3, xmm7
paddd xmm3, xmm4
pshufd xmm4, xmm3, 0x55
movd dword [r8 + rax*4], xmm3
movd dword [r8 + rax*4 + 0x10], xmm4
movdqa xmm4, xmm3
punpckhdq xmm4, xmm3
pshufd xmm3, xmm3, 0xff
movd dword [r8 + rax*4 + 0x20], xmm4
movdqa xmm4, xmm10
punpckldq xmm4, xmm10
movd dword [r8 + rax*4 + 0x30], xmm3
punpckhdq xmm10, xmm10
pmuludq xmm12, xmm4
pmuludq xmm2, xmm10
movdqa xmm11, xmm12
pmuludq xmm13, xmm12
movdqa xmm3, xmm12
psrlq xmm11, 0x20
pmuludq xmm3, xmm1
pmuludq xmm11, xmm1
paddq xmm11, xmm13
psllq xmm11, 0x20
paddq xmm11, xmm3
pand xmm11, xmm6
movdqa xmm13, xmm11
movdqa xmm3, xmm11
psrlq xmm13, 0x20
pmuludq xmm11, xmm8
pmuludq xmm13, xmm0
pmuludq xmm3, xmm0
paddq xmm13, xmm11
movdqa xmm11, xmm2
psllq xmm13, 0x20
psrlq xmm11, 0x20
paddq xmm3, xmm13
pmuludq xmm11, xmm1
movdqa xmm13, xmm5
pmuludq xmm13, xmm2
paddq xmm3, xmm12
movdqa xmm12, xmm2
pmuludq xmm12, xmm1
psrlq xmm3, 0x1f
paddq xmm11, xmm13
psllq xmm11, 0x20
paddq xmm12, xmm11
pand xmm12, xmm6
movdqa xmm13, xmm12
movdqa xmm11, xmm12
psrlq xmm13, 0x20
pmuludq xmm12, xmm8
pmuludq xmm13, xmm0
pmuludq xmm11, xmm0
paddq xmm13, xmm12
psllq xmm13, 0x20
paddq xmm11, xmm13
paddq xmm2, xmm11
psrlq xmm2, 0x1f
shufps xmm3, xmm2, 0x88
psubd xmm3, xmm7
movdqa xmm2, xmm3
psrad xmm2, 0x1f
pand xmm2, xmm7
paddd xmm2, xmm3
pshufd xmm3, xmm2, 0x55
movd dword [rcx + rax*4], xmm2
movd dword [rcx + rax*4 + 0x10], xmm3
movdqa xmm3, xmm2
punpckhdq xmm3, xmm2
pshufd xmm2, xmm2, 0xff
movd dword [rcx + rax*4 + 0x30], xmm2
movdqa xmm2, xmm9
punpckldq xmm2, xmm9
punpckhdq xmm9, xmm9
movd dword [rcx + rax*4 + 0x20], xmm3
movdqa xmm3, xmm1
pmuludq xmm4, xmm2
pmuludq xmm9, xmm10
movdqa xmm2, xmm5
pmuludq xmm2, xmm4
pmuludq xmm3, xmm4
movdqa xmm10, xmm4
psrlq xmm10, 0x20
pmuludq xmm10, xmm1
paddq xmm2, xmm10
psllq xmm2, 0x20
paddq xmm3, xmm2
pand xmm3, xmm6
movdqa xmm10, xmm3
movdqa xmm2, xmm3
psrlq xmm10, 0x20
pmuludq xmm3, xmm8
pmuludq xmm10, xmm0
pmuludq xmm2, xmm0
paddq xmm10, xmm3
movdqa xmm3, xmm1
psllq xmm10, 0x20
pmuludq xmm3, xmm9
paddq xmm2, xmm10
movdqa xmm10, xmm9
paddq xmm2, xmm4
psrlq xmm10, 0x20
movdqa xmm4, xmm5
pmuludq xmm10, xmm1
pmuludq xmm4, xmm9
psrlq xmm2, 0x1f
paddq xmm4, xmm10
psllq xmm4, 0x20
paddq xmm3, xmm4
pand xmm3, xmm6
movdqa xmm10, xmm3
movdqa xmm4, xmm3
psrlq xmm10, 0x20
pmuludq xmm3, xmm8
pmuludq xmm10, xmm0
pmuludq xmm4, xmm0
paddq xmm10, xmm3
psllq xmm10, 0x20
paddq xmm4, xmm10
movdqa xmm3, xmm4
paddq xmm3, xmm9
psrlq xmm3, 0x1f
shufps xmm2, xmm3, 0x88
psubd xmm2, xmm7
movdqa xmm3, xmm2
psrad xmm2, 0x1f
pand xmm2, xmm7
paddd xmm2, xmm3
pshufd xmm3, xmm2, 0x55
movd dword [rdx + rax*4], xmm2
movd dword [rdx + rax*4 + 0x10], xmm3
movdqa xmm3, xmm2
punpckhdq xmm3, xmm2
pshufd xmm2, xmm2, 0xff
movd dword [rdx + rax*4 + 0x20], xmm3
movd dword [rdx + rax*4 + 0x30], xmm2
add rax, 0x10
cmp r11, rax
jne 0x1400ae4c0
mov rax, qword [rsp + 0x460]
mov r8, qword [rsp + 0x5b8]
mov rdx, qword [rsp + 0x450]
lea rcx, [r12 + rax]
add r8, rax
cmp qword [rsp + 0x458], rdx
je 0x1400af185
mov r9, qword [rsp + 0x370]
mov rax, qword [rsp + 0x368]
mov r14, qword [rsp + 0x5f0]
mov r10, qword [rsp + 0x358]
mov eax, dword [rax]
mov edx, dword [r9]
imul rdx, qword [rsp + 0x620]
mov r10d, dword [r10]
mov dword [rsp + 0x650], eax
mov rax, r14
mov r11, qword [rsp + 0x360]
mov dword [rsp + 0x630], r10d
mov r10, qword [rsp + 0x618]
imul rax, rdx
mov r11d, dword [r11]
mov dword [rsp + 0x640], r11d
and eax, 0x7fffffff
imul rax, r10
add rax, rdx
shr rax, 0x1f
mov r9d, eax
mov rax, r14
sub r9d, ebx
mov edx, r9d
sar edx, 0x1f
mov r11d, edx
mov rdx, qword [rsp + 0x378]
and r11d, ebx
mov edx, dword [rdx]
add r9d, r11d
mov r11, qword [rsp + 0x5f0]
imul rdx, qword [rsp + 0x620]
mov r9d, r9d
imul rax, rdx
and eax, 0x7fffffff
imul rax, r10
add rax, rdx
shr rax, 0x1f
mov edx, eax
mov rax, r11
sub edx, ebx
mov r10d, edx
sar edx, 0x1f
and edx, ebx
mov r14d, edx
mov rdx, qword [rsp + 0x350]
mov edx, dword [rdx]
imul rdx, r9
imul rax, rdx
and eax, 0x7fffffff
imul rax, qword [rsp + 0x618]
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add eax, edx
mov edx, dword [rsp + 0x630]
mov dword [rcx], eax
mov rax, r11
imul rdx, r9
lea r9d, [r10 + r14]
mov r14, r11
mov r10, qword [rsp + 0x618]
imul rax, rdx
and eax, 0x7fffffff
imul rax, qword [rsp + 0x618]
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add eax, edx
mov edx, dword [rsp + 0x640]
mov dword [rcx + 8], eax
imul rdx, r9
imul r14, rdx
mov rax, r14
mov r14, r11
and eax, 0x7fffffff
imul rax, r10
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add edx, eax
mov rax, r11
mov r11, r10
mov dword [r8], edx
mov edx, dword [rsp + 0x650]
imul rdx, r9
imul rax, rdx
and eax, 0x7fffffff
imul rax, r10
mov r10, qword [rsp + 0x348]
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add edx, eax
mov dword [r8 + 8], edx
cmp qword [rsp + 0x668], r10
jbe 0x1400af185
mov r9, qword [rsp + 0x2f0]
mov rax, r14
mov r10, qword [rsp + 0x340]
mov r9d, dword [r9]
mov r10d, dword [r10]
mov dword [rsp + 0x640], r9d
mov r9, qword [rsp + 0x300]
mov dword [rsp + 0x650], r10d
mov r10, qword [rsp + 0x2e8]
mov edx, dword [r9]
imul rdx, qword [rsp + 0x620]
mov r10d, dword [r10]
imul rax, rdx
mov dword [rsp + 0x630], r10d
mov r10, r11
and eax, 0x7fffffff
imul rax, r11
add rax, rdx
mov rdx, qword [rsp + 0x338]
shr rax, 0x1f
mov edx, dword [rdx]
mov r9d, eax
mov rax, r14
imul rdx, qword [rsp + 0x620]
sub r9d, ebx
mov r11d, r9d
sar r11d, 0x1f
imul rax, rdx
and r11d, ebx
add r9d, r11d
mov r11, qword [rsp + 0x5f0]
mov r9d, r9d
and eax, 0x7fffffff
imul rax, r10
add rax, rdx
shr rax, 0x1f
mov edx, eax
mov rax, r11
sub edx, ebx
mov r10d, edx
sar edx, 0x1f
and edx, ebx
mov r14d, edx
mov rdx, qword [rsp + 0x2f8]
mov edx, dword [rdx]
imul rdx, r9
imul rax, rdx
and eax, 0x7fffffff
imul rax, qword [rsp + 0x618]
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add eax, edx
mov edx, dword [rsp + 0x630]
mov dword [rcx + 0x10], eax
mov rax, r11
imul rdx, r9
lea r9d, [r10 + r14]
mov r14, r11
mov r10, qword [rsp + 0x618]
imul rax, rdx
and eax, 0x7fffffff
imul rax, qword [rsp + 0x618]
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add eax, edx
mov edx, dword [rsp + 0x640]
mov dword [rcx + 0x18], eax
imul rdx, r9
imul r14, rdx
mov rax, r14
mov r14, r11
and eax, 0x7fffffff
imul rax, r10
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add eax, edx
mov edx, dword [rsp + 0x650]
mov dword [r8 + 0x10], eax
mov rax, r11
mov r11, r10
imul rdx, r9
imul rax, rdx
and eax, 0x7fffffff
imul rax, r10
mov r10, qword [rsp + 0x2d0]
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add eax, edx
mov dword [r8 + 0x18], eax
cmp qword [rsp + 0x668], r10
jbe 0x1400af185
mov r9, qword [rsp + 0x318]
mov rdx, qword [rsp + 0x308]
mov rax, r14
mov r10, qword [rsp + 0x310]
mov r9d, dword [r9]
mov edx, dword [rdx]
mov r10d, dword [r10]
mov dword [rsp + 0x650], r9d
mov r9, qword [rsp + 0x328]
mov dword [rsp + 0x630], edx
mov edx, dword [r9]
mov dword [rsp + 0x640], r10d
mov r10, r11
imul rdx, qword [rsp + 0x620]
imul rax, rdx
and eax, 0x7fffffff
imul rax, r11
add rax, rdx
shr rax, 0x1f
mov r9d, eax
mov rax, r14
sub r9d, ebx
mov edx, r9d
sar edx, 0x1f
mov r11d, edx
mov rdx, qword [rsp + 0x330]
and r11d, ebx
mov edx, dword [rdx]
add r9d, r11d
mov r11, qword [rsp + 0x5f0]
imul rdx, qword [rsp + 0x620]
mov r9d, r9d
imul rax, rdx
and eax, 0x7fffffff
imul rax, r10
add rax, rdx
shr rax, 0x1f
sub eax, ebx
mov r10d, eax
sar eax, 0x1f
and eax, ebx
mov r14d, eax
mov rax, qword [rsp + 0x320]
mov edx, dword [rax]
mov rax, r11
imul rdx, r9
imul rax, rdx
and eax, 0x7fffffff
imul rax, qword [rsp + 0x618]
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add edx, eax
mov rax, r11
mov dword [rcx + 0x20], edx
mov edx, dword [rsp + 0x650]
imul rdx, r9
mov r9, qword [rsp + 0x618]
imul rax, rdx
and eax, 0x7fffffff
imul rax, r9
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add edx, eax
mov rax, r11
mov dword [rcx + 0x28], edx
mov edx, dword [rsp + 0x640]
lea ecx, [r14 + r10]
mov r14, r11
imul rdx, rcx
imul rax, rdx
and eax, 0x7fffffff
imul rax, r9
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add edx, eax
mov eax, dword [rsp + 0x630]
mov dword [r8 + 0x20], edx
imul rax, rcx
imul r14, rax
mov rdx, rax
mov rax, r14
and eax, 0x7fffffff
imul rax, r9
add rax, rdx
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add eax, edx
mov dword [r8 + 0x28], eax
mov ecx, dword [rsp + 0x62c]
test ecx, ecx
je 0x1400b02d5
mov r14d, dword [rsp + 0x5f8]
mov r8d, dword [rsp + 0x62c]
mov r9d, ebx
mov rcx, r12
mov rdx, qword [rsp + 0x5a8]
mov dword [rsp + 0x20], r14d
call fcn.14008c880
mov dword [rsp + 0x20], r14d
mov r9d, ebx
mov r8d, dword [rsp + 0x62c]
mov rdx, qword [rsp + 0x5a8]
mov rcx, qword [rsp + 0x5b8]
call fcn.14008c880
cmp qword [rsp + 0x5a0], 0
je 0x1400b07bb
add qword [rsp + 0x568], 0xc
add qword [rsp + 0x598], 4
add qword [rsp + 0x610], 4
add qword [rsp + 0x4d8], 4
add qword [rsp + 0x4e0], 4
add qword [rsp + 0x4f0], 4
cmp qword [rsp + 0x5a0], 1
je 0x1400af24c
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0x5a0], 1
mov ebx, dword [rax]
jmp 0x1400ad0a6
mov r13, qword [rsp + 0x5e8]
mov r12, qword [rsp + 0x660]
mov rdi, qword [rbp + 0x28]
mov dword [r13], 0x7fffd801
add r12, r12
je 0x1400b0b81
mov edx, 0x7fffd801
xor ecx, ecx
movabs r10, 0xc2eb4317063831f
jmp 0x1400af28c
mov edx, dword [r13]
mov r8d, dword [rdi + rcx*8]
lea eax, [r8 - 0x7ffe9001]
sar eax, 0x1f
and eax, 0x7ffe9001
lea r9d, [r8 + rax + 0x2dffe]
mov eax, dword [rdi + rcx*8 + 4]
sub eax, r9d
sar r9d, 0x1f
and r9d, 0x7ffe9001
sub eax, r9d
mov r9d, eax
sar r9d, 0x1f
and r9d, 0x7ffe9001
add r9d, eax
mov r9d, r9d
mov rax, r9
imul r9, r9, 0x1c190ce1
imul rax, r10
and eax, 0x7fffffff
imul rax, rax, 0x7ffe9001
add rax, r9
shr rax, 0x1f
sub eax, 0x7ffe9001
mov r9d, eax
sar r9d, 0x1f
and r9d, 0x7ffe9001
add eax, r9d
mov eax, eax
imul rax, rdx
add rax, r8
mov esi, eax
shr rax, 0x1f
and esi, 0x7fffffff
movd xmm7, eax
movd xmm0, esi
punpckldq xmm0, xmm7
movq qword [rdi + rcx*8], xmm0
add rcx, 1
cmp r12, rcx
jne 0x1400af288
mov eax, dword [r13]
xor edx, edx
imul rax, rax, 0x7ffe9001
mov esi, eax
shr rax, 0x1f
and esi, 0x7fffffff
movd xmm7, eax
mov r11d, eax
movd xmm0, esi
punpckldq xmm0, xmm7
movq qword [r13], xmm0
jmp 0x1400af378
mov r11d, dword [r13 + 4]
mov esi, dword [r13]
mov r8d, dword [rdi + rdx*8 + 4]
mov r9d, r11d
mov r10d, r11d
shr r9d, 1
shl r10d, 0x1e
mov eax, r9d
mov ecx, r8d
and r10d, 0x40000000
sub ecx, r9d
sub eax, r8d
mov r9d, dword [rdi + rdx*8]
sar eax, 0x1f
shr ecx, 0x1f
or ecx, eax
mov eax, esi
shr eax, 1
or r10d, eax
mov eax, r9d
mov ebx, r10d
sub eax, r10d
mov r10d, ecx
sub ebx, r9d
shr eax, 0x1f
and r10d, 1
sar ebx, 0x1f
sub r10d, 1
or eax, ebx
and eax, r10d
mov r10d, r9d
sub r10d, esi
or eax, ecx
mov ecx, r10d
sar eax, 0x1f
and ecx, 0x7fffffff
shr r10d, 0x1f
xor ecx, r9d
and ecx, eax
xor ecx, r9d
mov dword [rdi + rdx*8], ecx
mov ecx, r8d
sub ecx, r11d
sub ecx, r10d
and ecx, 0x7fffffff
xor ecx, r8d
and eax, ecx
xor eax, r8d
mov dword [rdi + rdx*8 + 4], eax
add rdx, 1
cmp r12, rdx
jne 0x1400af370
mov rsi, qword [rsp + 0x588]
mov eax, 0x3fffec00
lea r8, [r12 - 1]
mov dword [r13], 0x7fffd801
mov ecx, dword [rsi]
lea edx, [rcx - 0x7fffd801]
sub eax, ecx
and edx, 0x7fffffff
sar eax, 0x1f
xor edx, ecx
and eax, edx
mov rdx, qword [rsp + 0x490]
xor eax, ecx
mov dword [rsi], eax
mov rax, qword [rsp + 0x4a8]
add rdx, rax
add rax, 4
lea rcx, [rax + r8*4]
cmp rdx, rcx
setge cl
add rdx, 4
cmp rax, rdx
setge dl
or dl, cl
je 0x1400b0b3d
lea rdx, [r12 - 2]
cmp rdx, 2
jbe 0x1400b0b3d
movd xmm7, dword [r13]
mov rcx, r8
add rax, rdi
xor edx, edx
movdqa xmm6, xmmword [0x14010acf0]
shr rcx, 2
pxor xmm4, xmm4
movd esi, xmm7
pshufd xmm5, xmm7, 0
shr esi, 1
movd xmm3, esi
pshufd xmm3, xmm3, 0
movdqu xmm2, xmmword [rax]
movdqa xmm0, xmm3
add rdx, 1
add rax, 0x10
movdqa xmm1, xmm2
psubd xmm0, xmm2
psubd xmm1, xmm3
psrad xmm0, 0x1f
psrld xmm1, 0x1f
por xmm0, xmm1
movdqa xmm1, xmm4
psrld xmm0, 0x1f
psubd xmm1, xmm0
movdqa xmm0, xmm2
psubd xmm0, xmm5
pand xmm0, xmm6
pxor xmm0, xmm2
pand xmm0, xmm1
pxor xmm0, xmm2
movups xmmword [rax - 0x10], xmm0
cmp rcx, rdx
jne 0x1400af4c6
mov rax, qword [rsp + 0x588]
mov rcx, r8
and rcx, 0xfffffffffffffffc
lea rdx, [rax + rcx*4 + 4]
cmp rcx, r8
je 0x1400af5cd
mov r9d, dword [rdx]
mov r10d, dword [r13]
mov r8d, r9d
mov eax, r10d
shr eax, 1
sub r8d, r10d
sub eax, r9d
and r8d, 0x7fffffff
sar eax, 0x1f
xor r8d, r9d
and eax, r8d
xor eax, r9d
mov dword [rdx], eax
lea rax, [rcx + 2]
cmp r12, rax
jbe 0x1400af5cd
mov r9d, dword [rdx + 4]
mov r10d, dword [r13]
add rcx, 3
mov eax, r10d
mov r8d, r9d
shr eax, 1
sub r8d, r10d
sub eax, r9d
and r8d, 0x7fffffff
sar eax, 0x1f
xor r8d, r9d
and eax, r8d
xor eax, r9d
mov dword [rdx + 4], eax
cmp r12, rcx
jbe 0x1400af5cd
mov r8d, dword [rdx + 8]
mov r9d, dword [r13]
mov ecx, r8d
mov eax, r9d
shr eax, 1
sub ecx, r9d
sub eax, r8d
and ecx, 0x7fffffff
sar eax, 0x1f
xor ecx, r8d
and eax, ecx
xor eax, r8d
mov dword [rdx + 8], eax
mov rax, r13
sub rax, rdi
mov rdx, rax
and edx, 7
je 0x1400af5e6
add rax, 8
sub rax, rdx
lea r13, [rdi + rax]
movzx ecx, byte [rsp + 0x62c]
mov eax, 8
shl rax, cl
cmp qword [rsp + 0x508], 2
mov r15, rax
jbe 0x1400b0b8e
mov rdx, qword [rsp + 0x408]
xor eax, eax
pxor xmm4, xmm4
movdqa xmm6, xmmword [0x14010acf0]
movdqa xmm7, xmmword [0x14010ad00]
movapd xmm1, xmmword [0x14010ad10]
pxor xmm3, xmm3
shl rdx, 5
movdqu xmm5, xmmword [rdi + rax]
movdqu xmm2, xmmword [rdi + rax + 0x10]
movdqa xmm8, xmm4
movdqa xmm10, xmm5
shufps xmm5, xmm2, 0x88
shufps xmm10, xmm2, 0xdd
movdqa xmm0, xmm10
psrld xmm0, 0x1e
psubd xmm8, xmm0
movdqa xmm0, xmm8
movdqa xmm2, xmm8
psrld xmm0, 1
pand xmm2, xmm7
pxor xmm5, xmm0
pxor xmm0, xmm10
paddd xmm5, xmm2
movdqa xmm2, xmm5
psrld xmm5, 0x1f
paddd xmm0, xmm5
pand xmm2, xmm6
pand xmm0, xmm6
movdqa xmm9, xmm2
movdqa xmm5, xmm0
pslld xmm9, 1
pslld xmm5, 1
pand xmm9, xmm8
pand xmm5, xmm8
psubd xmm2, xmm9
psubd xmm0, xmm5
cvtdq2pd xmm8, xmm2
pshufd xmm2, xmm2, 0xee
addpd xmm8, xmm3
cvtdq2pd xmm5, xmm0
pshufd xmm0, xmm0, 0xee
cvtdq2pd xmm2, xmm2
addpd xmm2, xmm3
mulpd xmm5, xmm1
cvtdq2pd xmm0, xmm0
mulpd xmm0, xmm1
addpd xmm5, xmm8
addpd xmm0, xmm2
movups xmmword [r13 + rax], xmm5
movups xmmword [r13 + rax + 0x10], xmm0
add rax, 0x20
cmp rdx, rax
jne 0x1400af636
mov rax, qword [rsp + 0x500]
lea rdx, [rdi + rax]
mov rax, qword [rsp + 0x5c0]
mov rcx, rax
cmp qword [rsp + 0x660], rax
je 0x1400af8e7
mov r11d, dword [rdx + 4]
pxor xmm3, xmm3
pxor xmm2, xmm2
pxor xmm0, xmm0
movsd xmm1, qword [0x14010ad10]
mov r14, qword [rsp + 0x660]
mov eax, r11d
shr eax, 0x1e
neg eax
mov r10d, eax
mov r8d, eax
mov eax, dword [rdx]
shr r8d, 1
mov r9d, r10d
xor eax, r8d
and r9d, 1
xor r8d, r11d
add eax, r9d
lea r11, [rcx*8]
mov r9d, eax
mov ebx, eax
add eax, eax
shr r9d, 0x1f
and eax, r10d
and ebx, 0x7fffffff
add r9d, r8d
sub ebx, eax
lea rax, [rcx + 1]
mov esi, r9d
cvtsi2sd xmm2, ebx
add r9d, r9d
and esi, 0x7fffffff
and r9d, r10d
sub esi, r9d
cvtsi2sd xmm3, esi
addsd xmm2, xmm0
mulsd xmm3, xmm1
addsd xmm2, xmm3
movsd qword [r13 + rcx*8], xmm2
cmp r14, rax
jbe 0x1400af8c0
mov esi, dword [rdx + 0xc]
mov r9d, dword [rdx + 8]
pxor xmm2, xmm2
pxor xmm3, xmm3
add rcx, 2
mov eax, esi
shr eax, 0x1e
neg eax
mov r10d, eax
shr eax, 1
mov r8d, r10d
xor r9d, eax
xor eax, esi
and r8d, 1
add r9d, r8d
mov r8d, r9d
mov ebx, r9d
add r9d, r9d
shr r8d, 0x1f
and ebx, 0x7fffffff
and r9d, r10d
add eax, r8d
sub ebx, r9d
mov r8d, eax
cvtsi2sd xmm3, ebx
add eax, eax
and r8d, 0x7fffffff
and eax, r10d
sub r8d, eax
cvtsi2sd xmm2, r8d
addsd xmm3, xmm0
mulsd xmm2, xmm1
addsd xmm2, xmm3
movsd qword [r13 + r11 + 8], xmm2
cmp r14, rcx
jbe 0x1400af8c0
mov r9d, dword [rdx + 0x14]
mov eax, dword [rdx + 0x10]
pxor xmm2, xmm2
pxor xmm3, xmm3
mov ecx, r9d
shr ecx, 0x1e
neg ecx
mov r8d, ecx
shr r8d, 1
xor eax, r8d
xor r8d, r9d
mov edx, eax
mov eax, ecx
and eax, 1
add eax, edx
mov edx, eax
mov r10d, eax
add eax, eax
shr edx, 0x1f
and r10d, 0x7fffffff
and eax, ecx
add edx, r8d
sub r10d, eax
mov r8d, edx
cvtsi2sd xmm3, r10d
add edx, edx
and r8d, 0x7fffffff
and edx, ecx
sub r8d, edx
cvtsi2sd xmm2, r8d
addsd xmm3, xmm0
mulsd xmm2, xmm1
addsd xmm2, xmm3
movsd qword [r13 + r11 + 0x10], xmm2
cmp qword [rsp + 0x508], 2
jbe 0x1400b0b98
movdqa xmm6, xmmword [0x14010acf0]
movdqa xmm7, xmmword [0x14010ad00]
movapd xmm1, xmmword [0x14010ad10]
lea rax, [r13 + r15]
pxor xmm4, xmm4
pxor xmm3, xmm3
xor edx, edx
mov rcx, qword [rsp + 0x408]
mov r8, qword [rsp + 0x530]
shl rcx, 5
movdqu xmm5, xmmword [r8 + rdx]
movdqu xmm2, xmmword [r8 + rdx + 0x10]
movdqa xmm8, xmm4
movdqa xmm10, xmm5
shufps xmm5, xmm2, 0x88
shufps xmm10, xmm2, 0xdd
movdqa xmm0, xmm10
psrld xmm0, 0x1e
psubd xmm8, xmm0
movdqa xmm0, xmm8
movdqa xmm2, xmm8
psrld xmm0, 1
pand xmm2, xmm7
pxor xmm5, xmm0
pxor xmm0, xmm10
paddd xmm5, xmm2
movdqa xmm2, xmm5
psrld xmm5, 0x1f
paddd xmm0, xmm5
pand xmm2, xmm6
pand xmm0, xmm6
movdqa xmm9, xmm2
movdqa xmm5, xmm0
pslld xmm9, 1
pslld xmm5, 1
pand xmm9, xmm8
pand xmm5, xmm8
psubd xmm2, xmm9
psubd xmm0, xmm5
cvtdq2pd xmm8, xmm2
pshufd xmm2, xmm2, 0xee
addpd xmm8, xmm3
cvtdq2pd xmm5, xmm0
pshufd xmm0, xmm0, 0xee
cvtdq2pd xmm2, xmm2
addpd xmm2, xmm3
mulpd xmm5, xmm1
cvtdq2pd xmm0, xmm0
mulpd xmm0, xmm1
addpd xmm5, xmm8
addpd xmm0, xmm2
movups xmmword [rax + rdx], xmm5
movups xmmword [rax + rdx + 0x10], xmm0
add rdx, 0x20
cmp rcx, rdx
jne 0x1400af90a
mov rbx, qword [rsp + 0x500]
mov rsi, qword [rsp + 0x5c0]
add qword [rsp + 0x530], rbx
cmp qword [rsp + 0x660], rsi
je 0x1400b03a2
movsd xmm1, qword [0x14010ad10]
mov rcx, rsi
pxor xmm0, xmm0
mov rsi, qword [rsp + 0x530]
pxor xmm2, xmm2
pxor xmm3, xmm3
mov r14, qword [rsp + 0x660]
mov r11d, dword [rsi + 4]
mov r9d, dword [rsi]
mov edx, r11d
shr edx, 0x1e
neg edx
mov r10d, edx
shr edx, 1
mov r8d, r10d
xor r9d, edx
xor edx, r11d
and r8d, 1
lea r11, [rax + rcx*8]
add r9d, r8d
mov r8d, r9d
mov ebx, r9d
shr r8d, 0x1f
and ebx, 0x7fffffff
add edx, r8d
mov r8d, edx
lea eax, [rdx + rdx]
and eax, r10d
and r8d, 0x7fffffff
sub r8d, eax
lea eax, [r9 + r9]
and eax, r10d
cvtsi2sd xmm2, r8d
sub ebx, eax
lea rax, [rcx + 1]
cvtsi2sd xmm3, ebx
mulsd xmm2, xmm1
addsd xmm3, xmm0
addsd xmm2, xmm3
movsd qword [r11], xmm2
cmp r14, rax
jbe 0x1400afb96
mov ebx, dword [rsi + 0xc]
mov eax, dword [rsi + 8]
pxor xmm3, xmm3
pxor xmm2, xmm2
add rcx, 2
mov edx, ebx
shr edx, 0x1e
neg edx
mov r8d, edx
mov r9d, edx
shr r8d, 1
and r9d, 1
xor eax, r8d
xor r8d, ebx
add eax, r9d
mov r9d, eax
mov r10d, eax
add eax, eax
shr r9d, 0x1f
and eax, edx
and r10d, 0x7fffffff
add r9d, r8d
sub r10d, eax
mov ebx, r9d
cvtsi2sd xmm2, r10d
lea eax, [r9 + r9]
and ebx, 0x7fffffff
and eax, edx
sub ebx, eax
cvtsi2sd xmm3, ebx
addsd xmm2, xmm0
mulsd xmm3, xmm1
addsd xmm2, xmm3
movsd qword [r11 + 8], xmm2
cmp r14, rcx
jbe 0x1400afb96
mov r8d, dword [rsi + 0x14]
mov r9d, dword [rsi + 0x10]
pxor xmm2, xmm2
mov edx, r8d
shr edx, 0x1e
neg edx
mov ecx, edx
mov eax, edx
shr ecx, 1
and eax, 1
xor r9d, ecx
xor r8d, ecx
add eax, r9d
mov ecx, eax
mov r9d, eax
add eax, eax
shr ecx, 0x1f
and r9d, 0x7fffffff
and eax, edx
add ecx, r8d
sub r9d, eax
mov r8d, ecx
add ecx, ecx
and r8d, 0x7fffffff
and ecx, edx
sub r8d, ecx
cvtsi2sd xmm2, r8d
mulsd xmm1, xmm2
pxor xmm2, xmm2
cvtsi2sd xmm2, r9d
addsd xmm0, xmm2
addsd xmm1, xmm0
movsd qword [r11 + 0x10], xmm1
mov rdx, qword [rsp + 0x588]
mov r8, r15
mov rcx, rdi
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x5b0]
lea rbx, [rdi + rax]
lea r14, [rbx + rax]
mov rax, r14
sub rax, rdi
mov rdx, rax
and edx, 7
jne 0x1400b03d7
movzx ecx, byte [rsp + 0x62c]
mov eax, 0x10
mov rdx, r13
lea rsi, [r14 + r15*2]
shl rax, cl
mov rcx, r14
mov r8, rax
mov qword [rsp + 0x630], rax
call sub.msvcrt.dll_memmove
cmp qword [rsp + 0x508], 2
jbe 0x1400b0ba4
movdqa xmm6, xmmword [0x14010acf0]
movdqa xmm7, xmmword [0x14010ad00]
mov rdx, qword [rsp + 0x520]
xor eax, eax
pxor xmm3, xmm3
pxor xmm2, xmm2
movdqu xmm0, xmmword [rdi + rax]
movdqa xmm4, xmm3
movdqu xmm5, xmmword [rdi + rax]
psrld xmm0, 0x1e
psubd xmm4, xmm0
movdqa xmm0, xmm4
movdqa xmm1, xmm4
psrld xmm0, 1
pand xmm1, xmm7
pxor xmm0, xmm5
paddd xmm0, xmm1
pand xmm0, xmm6
movdqa xmm1, xmm0
pslld xmm1, 1
pand xmm1, xmm4
psubd xmm0, xmm1
cvtdq2pd xmm1, xmm0
pshufd xmm0, xmm0, 0xee
addpd xmm1, xmm2
cvtdq2pd xmm0, xmm0
addpd xmm0, xmm2
movups xmmword [rsi + rax*2], xmm1
movups xmmword [rsi + rax*2 + 0x10], xmm0
add rax, 0x10
cmp rdx, rax
jne 0x1400afc26
mov rax, qword [rsp + 0x498]
lea r8, [rdi + rax]
mov rax, qword [rsp + 0x5c0]
mov rdx, rax
cmp qword [rsp + 0x660], rax
je 0x1400afdb9
mov r9d, dword [r8]
pxor xmm1, xmm1
pxor xmm0, xmm0
mov r11, qword [rsp + 0x660]
lea r10, [rdx*8]
mov ecx, r9d
shr ecx, 0x1e
neg ecx
mov eax, ecx
shr eax, 1
xor eax, r9d
mov r9d, ecx
and r9d, 1
add eax, r9d
mov r9d, eax
add eax, eax
and eax, ecx
and r9d, 0x7fffffff
sub r9d, eax
lea rax, [rdx + 1]
cvtsi2sd xmm1, r9d
addsd xmm1, xmm0
movsd qword [rsi + rdx*8], xmm1
cmp r11, rax
jbe 0x1400afd9a
mov eax, dword [r8 + 4]
pxor xmm1, xmm1
add rdx, 2
mov ecx, eax
shr ecx, 0x1e
neg ecx
mov r9d, ecx
shr r9d, 1
xor r9d, eax
mov eax, ecx
and eax, 1
add eax, r9d
mov r9d, eax
add eax, eax
and r9d, 0x7fffffff
and eax, ecx
sub r9d, eax
cvtsi2sd xmm1, r9d
addsd xmm1, xmm0
movsd qword [rsi + r10 + 8], xmm1
cmp r11, rdx
jbe 0x1400afd9a
mov edx, dword [r8 + 8]
pxor xmm1, xmm1
mov ecx, edx
shr ecx, 0x1e
neg ecx
mov eax, ecx
shr eax, 1
xor eax, edx
mov edx, ecx
and edx, 1
add eax, edx
mov edx, eax
add eax, eax
and edx, 0x7fffffff
and eax, ecx
sub edx, eax
cvtsi2sd xmm1, edx
addsd xmm1, xmm0
movsd qword [rsi + r10 + 0x10], xmm1
cmp qword [rsp + 0x508], 2
jbe 0x1400b0bae
movdqa xmm6, xmmword [0x14010acf0]
movdqa xmm7, xmmword [0x14010ad00]
lea rdx, [rsi + r15]
pxor xmm3, xmm3
pxor xmm2, xmm2
xor eax, eax
mov rcx, qword [rsp + 0x520]
movdqu xmm0, xmmword [rbx + rax]
movdqa xmm4, xmm3
movdqu xmm5, xmmword [rbx + rax]
psrld xmm0, 0x1e
psubd xmm4, xmm0
movdqa xmm0, xmm4
movdqa xmm1, xmm4
psrld xmm0, 1
pand xmm1, xmm7
pxor xmm0, xmm5
paddd xmm0, xmm1
pand xmm0, xmm6
movdqa xmm1, xmm0
pslld xmm1, 1
pand xmm1, xmm4
psubd xmm0, xmm1
cvtdq2pd xmm1, xmm0
pshufd xmm0, xmm0, 0xee
addpd xmm1, xmm2
cvtdq2pd xmm0, xmm0
addpd xmm0, xmm2
movups xmmword [rdx + rax*2], xmm1
movups xmmword [rdx + rax*2 + 0x10], xmm0
add rax, 0x10
cmp rcx, rax
jne 0x1400afdcf
mov r8, qword [rsp + 0x498]
mov rcx, qword [rsp + 0x5c0]
add r8, rbx
cmp qword [rsp + 0x660], rcx
je 0x1400aff48
pxor xmm0, xmm0
mov r11, rcx
mov r9d, dword [r8]
pxor xmm1, xmm1
mov r10, qword [rsp + 0x660]
lea rdx, [rdx + r11*8]
mov ecx, r9d
shr ecx, 0x1e
neg ecx
mov eax, ecx
shr eax, 1
xor eax, r9d
mov r9d, ecx
and r9d, 1
add eax, r9d
mov r9d, eax
add eax, eax
and eax, ecx
and r9d, 0x7fffffff
sub r9d, eax
mov rax, qword [rsp + 0x4d0]
cvtsi2sd xmm1, r9d
addsd xmm1, xmm0
movsd qword [rdx], xmm1
cmp r10, rax
jbe 0x1400aff48
mov ecx, dword [r8 + 4]
pxor xmm1, xmm1
mov r9d, ecx
shr r9d, 0x1e
neg r9d
mov eax, r9d
shr eax, 1
xor eax, ecx
mov ecx, r9d
and ecx, 1
add eax, ecx
mov ecx, eax
add eax, eax
and eax, r9d
and ecx, 0x7fffffff
sub ecx, eax
mov rax, r11
cvtsi2sd xmm1, ecx
add rax, 2
addsd xmm1, xmm0
movsd qword [rdx + 8], xmm1
cmp r10, rax
jbe 0x1400aff48
mov r8d, dword [r8 + 8]
pxor xmm1, xmm1
mov ecx, r8d
shr ecx, 0x1e
neg ecx
mov eax, ecx
shr eax, 1
xor eax, r8d
mov r8d, ecx
and r8d, 1
add eax, r8d
mov r8d, eax
add eax, eax
and r8d, 0x7fffffff
and eax, ecx
mov ecx, r8d
sub ecx, eax
cvtsi2sd xmm1, ecx
addsd xmm1, xmm0
movsd qword [rdx + 0x10], xmm1
mov r12d, dword [rsp + 0x62c]
mov r8d, 0x20
mov rdx, r14
mov ecx, r12d
shl r8, cl
mov rcx, rdi
call sub.msvcrt.dll_memmove
lea rax, [rdi + r15]
mov edx, r12d
mov rcx, rdi
lea r13, [rax + r15]
mov qword [rsp + 0x640], rax
lea r11, [r13 + r15]
mov qword [rsp + 0x650], r11
call fcn.14006cbc0
mov rcx, qword [rsp + 0x640]
mov edx, r12d
call fcn.14006cbc0
mov edx, r12d
mov rcx, r13
mov qword [rsp + 0x668], r13
call fcn.14006cbc0
mov r13, qword [rsp + 0x650]
mov edx, r12d
mov dword [rsp + 0x62c], r12d
mov rcx, r13
call fcn.14006cbc0
mov eax, dword [rsp + 0x62c]
mov r11, r13
mov r9, qword [rsp + 0x668]
mov qword [rsp + 0x20], r11
lea r13, [r13 + r15]
mov r8, qword [rsp + 0x640]
mov rdx, rdi
mov dword [rsp + 0x28], eax
mov rcx, r13
lea r12, [r13 + r15]
mov qword [rsp + 0x650], r11
call fcn.140077900
mov r9d, dword [rsp + 0x62c]
mov r8, qword [rsp + 0x650]
mov rcx, r12
mov rdx, qword [rsp + 0x668]
call fcn.140077da0
mov r8d, dword [rsp + 0x62c]
mov rdx, r12
mov rcx, r13
movabs r12, 0xfff0000000000000
call fcn.140078170
mov edx, dword [rsp + 0x62c]
mov rcx, r13
call fcn.14006f5d0
mov qword [rsp + 0x620], r15
xor ecx, ecx
movsd xmm2, qword [0x14010ad20]
movsd xmm3, qword [0x14010ad28]
movsd xmm6, qword [0x14010ad30]
movabs r11, 0x10000000000000
movsd xmm7, qword [0x14010ad38]
mov r15, qword [rsp + 0x660]
nop dword [rax]
movsd xmm0, qword [r13 + rcx*8]
comisd xmm2, xmm0
jbe 0x1400b0337
comisd xmm0, xmm3
jbe 0x1400b0337
movapd xmm1, xmm0
cvttsd2si r10, xmm0
addsd xmm1, xmm6
cvttsd2si r8, xmm1
movapd xmm1, xmm0
subsd xmm0, xmm7
mov rax, r10
subsd xmm1, xmm6
shr rax, 0x34
add eax, 1
cvttsd2si r9, xmm0
and eax, 0xfff
pxor xmm0, xmm0
cvttsd2si rdx, xmm1
add r8, r12
sub eax, 2
shr eax, 0x1f
sar r9, 0x3f
add rdx, r11
xor rdx, r8
and rdx, r9
xor rdx, r8
mov r8, rax
sub rax, 1
neg r8
and rax, r10
and rdx, r8
or rdx, rax
cvtsi2sd xmm0, rdx
movsd qword [r13 + rcx*8], xmm0
add rcx, 1
cmp r15, rcx
jne 0x1400b0098
mov r12d, dword [rsp + 0x62c]
mov rcx, r13
mov r15, qword [rsp + 0x620]
mov edx, r12d
sub rsi, r15
call fcn.14006cbc0
mov rcx, qword [rsp + 0x668]
mov rdx, r13
mov r8d, r12d
call fcn.140078280
mov rdx, r13
mov r13, qword [rsp + 0x650]
mov r8d, r12d
mov rcx, r13
call fcn.140078280
mov rdx, qword [rsp + 0x668]
mov r8d, r12d
mov rcx, rdi
call fcn.140078ae0
mov rdx, r13
mov r13, qword [rsp + 0x640]
mov r8d, r12d
mov rcx, r13
call fcn.140078ae0
mov edx, r12d
mov rcx, rdi
call fcn.14006f5d0
mov edx, r12d
mov rcx, r13
call fcn.14006f5d0
mov r8, qword [rsp + 0x630]
mov rcx, r14
mov rdx, rdi
call sub.msvcrt.dll_memmove
mov r10, qword [rsp + 0x660]
xor ecx, ecx
movabs r9, 0xfff0000000000000
movabs r8, 0x10000000000000
movsd xmm0, qword [r14 + rcx*8]
movapd xmm1, xmm0
cvttsd2si r11, xmm0
addsd xmm1, xmm6
cvttsd2si r12, xmm1
movapd xmm1, xmm0
subsd xmm0, xmm7
mov rax, r11
subsd xmm1, xmm6
shr rax, 0x34
add eax, 1
cvttsd2si r13, xmm0
movsd xmm0, qword [rsi + rcx*8]
and eax, 0xfff
cvttsd2si rdx, xmm1
add r12, r9
sub eax, 2
movapd xmm1, xmm0
shr eax, 0x1f
addsd xmm1, xmm6
sar r13, 0x3f
add rdx, r8
xor rdx, r12
and rdx, r13
xor rdx, r12
mov r12, rax
sub rax, 1
neg r12
and rax, r11
and rdx, r12
cvttsd2si r12, xmm1
movapd xmm1, xmm0
cvttsd2si r11, xmm0
subsd xmm1, xmm6
or rax, rdx
subsd xmm0, xmm7
mov dword [rdi + rcx*4], eax
cvttsd2si rdx, xmm1
sub r12, r8
cvttsd2si r13, xmm0
mov rax, r11
shr rax, 0x34
add eax, 1
and eax, 0xfff
add rdx, r8
xor rdx, r12
sub eax, 2
sar r13, 0x3f
shr eax, 0x1f
and rdx, r13
xor rdx, r12
mov r12, rax
sub rax, 1
neg r12
and rax, r11
and rdx, r12
or rax, rdx
mov dword [rbx + rcx*4], eax
add rcx, 1
cmp r10, rcx
jne 0x1400b01ea
mov eax, 1
jmp 0x1400b0339
cmp qword [rsp + 0x5a0], 0
jne 0x1400af1f0
mov rax, qword [rsp + 0x610]
mov rcx, qword [rsp + 0x588]
mov rdx, qword [rsp + 0x480]
add rcx, rax
add rdx, rax
mov r9, qword [rsp + 0x608]
mov r10, qword [rsp + 0x600]
xor eax, eax
mov r8d, dword [r9 + rax*4]
mov dword [rcx + rax*4], r8d
mov r8d, dword [r10 + rax*4]
mov dword [rdx + rax*4], r8d
add rax, 1
cmp qword [rsp + 0x660], rax
jne 0x1400b0314
jmp 0x1400af1f0
xor eax, eax
movaps xmm6, xmmword [rsp + 0x670]
movaps xmm7, xmmword [rsp + 0x680]
movaps xmm8, xmmword [rsp + 0x690]
movaps xmm9, xmmword [rsp + 0x6a0]
movaps xmm10, xmmword [rsp + 0x6b0]
movaps xmm11, xmmword [rsp + 0x6c0]
movaps xmm12, xmmword [rsp + 0x6d0]
movaps xmm13, xmmword [rsp + 0x6e0]
movaps xmm14, xmmword [rsp + 0x6f0]
movaps xmm15, xmmword [rsp + 0x700]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, qword [rsp + 0x588]
mov r8, r15
mov rcx, rdi
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x5b0]
lea rbx, [rdi + rax]
lea r14, [rbx + rax]
mov rax, r14
sub rax, rdi
mov rdx, rax
and edx, 7
je 0x1400b0b0e
add rax, 8
sub rax, rdx
lea r14, [rdi + rax]
jmp 0x1400afbcb
mov rcx, qword [rsp + 0x4f8]
mov r8, qword [rsp + 0x580]
xor eax, eax
mov r9, qword [rsp + 0x5e0]
mov r10, qword [rbp + 0x18]
mov r11, qword [rbp + 0x20]
movsx r12d, byte [r10 + rax]
mov edx, r12d
sar edx, 0x1f
and edx, ebx
add edx, r12d
mov dword [r8 + rax*4], edx
movsx r12d, byte [r11 + rax]
mov edx, r12d
sar edx, 0x1f
and edx, ebx
add edx, r12d
mov dword [r9 + rax*4], edx
add rax, 1
cmp rcx, rax
jne 0x1400b0409
jmp 0x1400ad725
mov rcx, qword [rsp + 0x668]
mov r8, qword [rsp + 0x5d8]
xor eax, eax
mov r9, qword [rsp + 0x5d0]
mov r10, qword [rsp + 0x5b8]
mov edx, dword [r12 + rax*8]
mov dword [r8 + rax*4], edx
mov edx, dword [r10 + rax*8]
mov dword [r9 + rax*4], edx
add rax, 1
cmp rcx, rax
jne 0x1400b0461
jmp 0x1400ae284
mov qword [rsp + 0x650], r12
mov r12, qword [rsp + 0x608]
xor r9d, r9d
mov r10d, dword [rdi + r9*8 + 4]
mov r14d, dword [rdi + r9*8]
mov eax, r10d
sub r14d, ecx
shr r10d, 0x1e
sub eax, ecx
neg r10d
mov r13d, eax
add eax, r11d
and r10d, r8d
sar r13d, 0x1f
and r13d, ecx
add eax, r13d
mov r13d, eax
sar r13d, 0x1f
and r13d, ecx
add r13d, eax
mov rax, rdx
mov r13d, r13d
imul r13, rsi
imul rax, r13
and eax, 0x7fffffff
imul rax, rbx
add rax, r13
mov r13d, r14d
sub r14d, ecx
sar r13d, 0x1f
shr rax, 0x1f
and r13d, ecx
sub eax, ecx
add r13d, r14d
mov r14, qword [rsp + 0x640]
add r13d, eax
sar eax, 0x1f
and eax, ecx
add eax, r13d
mov r13d, eax
sar eax, 0x1f
sub r13d, r10d
and eax, ecx
add eax, r13d
mov r10d, eax
sar r10d, 0x1f
and r10d, ecx
add eax, r10d
mov dword [r14 + r9*8], eax
mov r10d, dword [r15 + r9*8 + 4]
mov r14d, dword [r15 + r9*8]
mov eax, r10d
shr r10d, 0x1e
sub eax, ecx
sub r14d, ecx
neg r10d
mov r13d, eax
add eax, r11d
and r10d, r8d
sar r13d, 0x1f
and r13d, ecx
add eax, r13d
mov r13d, eax
sar r13d, 0x1f
and r13d, ecx
add r13d, eax
mov rax, rdx
mov r13d, r13d
imul r13, rsi
imul rax, r13
and eax, 0x7fffffff
imul rax, rbx
add rax, r13
mov r13d, r14d
sub r14d, ecx
sar r13d, 0x1f
shr rax, 0x1f
and r13d, ecx
sub eax, ecx
add r13d, r14d
add r13d, eax
sar eax, 0x1f
and eax, ecx
add eax, r13d
mov r13d, eax
sar eax, 0x1f
sub r13d, r10d
and eax, ecx
add eax, r13d
mov r10d, eax
sar r10d, 0x1f
and r10d, ecx
add eax, r10d
mov dword [r12 + r9*8], eax
add r9, 1
cmp qword [rsp + 0x668], r9
jne 0x1400b0492
mov r12, qword [rsp + 0x650]
jmp 0x1400ac3c8
mov qword [rsp + 0x640], rsi
mov rax, qword [rsp + 0x5b8]
xor ecx, ecx
mov rsi, qword [rsp + 0x618]
mov qword [rsp + 0x650], r12
mov qword [rsp + 0x630], r15
mov r11, qword [rsp + 0x5f0]
mov qword [rsp + 0x618], r13
mov qword [rsp + 0x5f0], rdi
mov rdi, rax
mov rax, qword [rsp + 0x608]
mov r15, qword [rsp + 0x600]
mov r13, qword [rsp + 0x5d0]
mov r8d, dword [rax + rcx*8]
mov r9d, dword [rax + rcx*8 + 4]
mov rax, qword [rsp + 0x5d8]
mov r10d, dword [r15 + rcx*8]
mov r15d, dword [r15 + rcx*8 + 4]
mov r13d, dword [r13 + rcx*4]
imul r13, qword [rsp + 0x620]
mov edx, dword [rax + rcx*4]
imul rdx, qword [rsp + 0x620]
mov r14, rdx
imul r14, r11
mov rax, r14
and eax, 0x7fffffff
imul rax, rsi
add rdx, rax
mov rax, r13
shr rdx, 0x1f
imul rax, r11
sub edx, ebx
mov r14d, edx
sar r14d, 0x1f
and eax, 0x7fffffff
and r14d, ebx
imul rax, rsi
add r14d, edx
mov r14d, r14d
imul r15, r14
add rax, r13
imul r10, r14
shr rax, 0x1f
sub eax, ebx
mov rdx, r15
mov r13d, eax
imul rdx, r11
sar r13d, 0x1f
and r13d, ebx
and edx, 0x7fffffff
imul rdx, rsi
add rdx, r15
shr rdx, 0x1f
sub edx, ebx
mov r15d, edx
sar r15d, 0x1f
and r15d, ebx
add r15d, edx
mov rdx, r10
imul rdx, r11
mov dword [r12], r15d
and edx, 0x7fffffff
imul rdx, rsi
add rcx, 1
add r12, 0x10
add rdi, 0x10
add rdx, r10
shr rdx, 0x1f
sub edx, ebx
mov r10d, edx
sar r10d, 0x1f
and r10d, ebx
add r10d, edx
lea edx, [r13 + rax]
imul r9, rdx
mov dword [r12 - 8], r10d
imul r8, rdx
mov rax, r9
imul rax, r11
and eax, 0x7fffffff
imul rax, rsi
add rax, r9
shr rax, 0x1f
sub eax, ebx
mov r9d, eax
sar r9d, 0x1f
and r9d, ebx
add r9d, eax
mov rax, r8
imul rax, r11
mov dword [rdi - 0x10], r9d
and eax, 0x7fffffff
imul rax, rsi
add rax, r8
shr rax, 0x1f
sub eax, ebx
cdq
and edx, ebx
add edx, eax
mov dword [rdi - 8], edx
cmp qword [rsp + 0x668], rcx
ja 0x1400b0622
mov r12, qword [rsp + 0x650]
mov rsi, qword [rsp + 0x640]
mov r15, qword [rsp + 0x630]
mov r13, qword [rsp + 0x618]
mov rdi, qword [rsp + 0x5f0]
jmp 0x1400af185
mov r12d, dword [rsp + 0x5f8]
mov r14d, dword [rsp + 0x62c]
mov r9d, ebx
mov rdx, qword [rsp + 0x5a8]
mov rcx, qword [rsp + 0x608]
mov dword [rsp + 0x20], r12d
mov r8d, r14d
call fcn.14008bf70
mov dword [rsp + 0x20], r12d
mov r9d, ebx
mov r8d, r14d
mov rdx, qword [rsp + 0x5a8]
mov rcx, qword [rsp + 0x600]
call fcn.14008bf70
mov rax, qword [rsp + 0x610]
mov rcx, qword [rsp + 0x588]
mov rdx, qword [rsp + 0x480]
mov r11, qword [rsp + 0x4f0]
add rcx, rax
mov rbx, qword [rsp + 0x4e0]
add rdx, rax
mov rax, qword [rsp + 0x5b0]
cmp r11, 8
seta r9b
add rax, r11
cmp rax, 8
seta r8b
test r14d, r14d
setne al
and eax, r9d
and eax, r8d
lea r8, [rbx + 0x10]
cmp qword [rsp + 0x570], r8
setge r8b
cmp qword [rsp + 0x2d8], rbx
setle r9b
or r8d, r9d
test al, r8b
je 0x1400b0302
mov r11, qword [rsp + 0x4d8]
lea rax, [r11 - 4]
sub rax, rbx
cmp rax, 8
jbe 0x1400b0302
cmp qword [rsp + 0x508], 2
jbe 0x1400b0bda
add rbx, qword [rbp + 0x28]
add r11, qword [rbp + 0x28]
xor eax, eax
mov r9, rbx
mov r8, r11
movdqu xmm7, xmmword [rdi + rax]
movups xmmword [r9 + rax], xmm7
movdqu xmm7, xmmword [r13 + rax]
movups xmmword [r8 + rax], xmm7
add rax, 0x10
cmp qword [rsp + 0x520], rax
jne 0x1400b08c0
mov rax, qword [rsp + 0x498]
mov r10, qword [rsp + 0x660]
add rcx, rax
add rdx, rax
mov rax, qword [rsp + 0x5c0]
cmp r10, rax
je 0x1400af1f0
sub r10, rax
cmp r10, 1
je 0x1400b0976
mov rbx, qword [rsp + 0x488]
lea r8, [rax*4]
mov r11, qword [rdi + r8]
lea r9, [rbx + rax]
mov rbx, qword [rbp + 0x28]
lea r9, [rbx + r9*4]
mov rbx, qword [rsp + 0x518]
mov qword [r9 + rbx], r11
mov rbx, qword [rsp + 0x4a0]
mov r9, qword [r13 + r8]
add r8, qword [rbp + 0x28]
mov qword [r8 + rbx], r9
mov r8, r10
and r8, 0xfffffffffffffffe
lea r9, [r8*4]
add rax, r8
add rcx, r9
add rdx, r9
cmp r10, r8
je 0x1400af1f0
mov rbx, qword [rsp + 0x608]
mov r8d, dword [rbx + rax*4]
mov rbx, qword [rsp + 0x600]
mov dword [rcx], r8d
mov eax, dword [rbx + rax*4]
mov dword [rdx], eax
jmp 0x1400af1f0
mov eax, dword [rsp + 0x5c8]
test eax, eax
je 0x1400af194
mov r14d, dword [rsp + 0x5f8]
mov r8d, dword [rsp + 0x5c8]
mov r9d, ebx
mov rdx, qword [rsp + 0x5e8]
mov rcx, qword [rsp + 0x5d8]
mov dword [rsp + 0x20], r14d
call fcn.14008b590
mov dword [rsp + 0x20], r14d
mov r9d, ebx
mov r8d, dword [rsp + 0x5c8]
mov rdx, qword [rsp + 0x5e8]
mov rcx, qword [rsp + 0x5d0]
call fcn.14008b590
jmp 0x1400af185
mov r9, qword [rsp + 0x580]
xor r8d, r8d
mov edx, dword [r9 + r8*8 + 4]
mov r11d, dword [r9 + r8*8]
imul r11, rdx
mov rdx, rax
imul rdx, r11
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r11
shr rdx, 0x1f
sub edx, ebx
mov r11d, edx
sar r11d, 0x1f
and r11d, ebx
add r11d, edx
mov rdx, rax
mov r11d, r11d
imul r11, r10
imul rdx, r11
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r11
shr rdx, 0x1f
sub edx, ebx
mov r11d, edx
sar r11d, 0x1f
and r11d, ebx
add edx, r11d
mov dword [r9 + r8*4], edx
add r8, 1
cmp qword [rsp + 0x660], r8
jne 0x1400b0a08
cmp byte [rsp + 0x629], 0
jne 0x1400adbfb
mov r9, qword [rsp + 0x5e0]
xor r8d, r8d
mov edx, dword [r9 + r8*8 + 4]
mov r11d, dword [r9 + r8*8]
imul r11, rdx
mov rdx, rax
imul rdx, r11
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r11
shr rdx, 0x1f
sub edx, ebx
mov r11d, edx
sar r11d, 0x1f
and r11d, ebx
add r11d, edx
mov rdx, rax
mov r11d, r11d
imul r11, r10
imul rdx, r11
and edx, 0x7fffffff
imul rdx, rcx
add rdx, r11
shr rdx, 0x1f
sub edx, ebx
mov r11d, edx
sar r11d, 0x1f
and r11d, ebx
add edx, r11d
mov dword [r9 + r8*4], edx
add r8, 1
cmp qword [rsp + 0x660], r8
jne 0x1400b0a95
jmp 0x1400ae049
movzx ecx, byte [rsp + 0x62c]
mov eax, 0x10
mov rdx, r13
lea rsi, [r14 + r15*2]
shl rax, cl
mov rcx, r14
mov r8, rax
mov qword [rsp + 0x630], rax
call sub.msvcrt.dll_memmove
jmp 0x1400afc14
mov rcx, qword [rsp + 0x5a0]
mov r9, rsi
mov r8d, dword [r9 + rcx*4]
mov r10d, dword [r13]
mov edx, r8d
mov eax, r10d
shr eax, 1
sub edx, r10d
sub eax, r8d
and edx, 0x7fffffff
sar eax, 0x1f
xor edx, r8d
and eax, edx
xor eax, r8d
mov dword [r9 + rcx*4], eax
add rcx, 1
cmp r12, rcx
jne 0x1400b0b48
jmp 0x1400af5cd
mov dword [r13 + 4], 0x7ffe6802
jmp 0x1400af5cd
mov rdx, rdi
xor ecx, ecx
jmp 0x1400af732
xor ecx, ecx
lea rax, [r13 + r15]
jmp 0x1400afa15
mov r8, rdi
xor edx, edx
jmp 0x1400afcb7
mov qword [rsp + 0x5c0], 0
mov r8, rbx
lea rdx, [rsi + r15]
mov r11, qword [rsp + 0x5c0]
mov qword [rsp + 0x4d0], 1
jmp 0x1400afe63
mov r10, qword [rsp + 0x660]
xor eax, eax
jmp 0x1400b0914