14053ffd2:	49 3b c5             	cmp    %r13,%rax
14053ffd5:	48 0f 43 f8          	cmovae %rax,%rdi
14053ffd9:	49 3b f9             	cmp    %r9,%rdi
14053ffdc:	0f 87 0e 01 00 00    	ja     0x1405400f0
14053ffe2:	48 8d 0c 7f          	lea    (%rdi,%rdi,2),%rcx
14053ffe6:	48 c1 e1 04          	shl    $0x4,%rcx
14053ffea:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14053ffef:	48 85 c9             	test   %rcx,%rcx
14053fff2:	75 09                	jne    0x14053fffd
14053fff4:	33 db                	xor    %ebx,%ebx
14053fff6:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14053fffb:	eb 45                	jmp    0x140540042
14053fffd:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140540004:	72 2c                	jb     0x140540032
140540006:	48 8d 41 27          	lea    0x27(%rcx),%rax
14054000a:	48 3b c1             	cmp    %rcx,%rax
14054000d:	0f 86 dd 00 00 00    	jbe    0x1405400f0
140540013:	48 8b c8             	mov    %rax,%rcx
140540016:	e8 ed b0 8d 00       	call   0x140e1b108
14054001b:	48 85 c0             	test   %rax,%rax
14054001e:	0f 84 d8 00 00 00    	je     0x1405400fc
140540024:	48 8d 58 27          	lea    0x27(%rax),%rbx
140540028:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
14054002c:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140540030:	eb 08                	jmp    0x14054003a
140540032:	e8 d1 b0 8d 00       	call   0x140e1b108
140540037:	48 8b d8             	mov    %rax,%rbx
14054003a:	4c 8b 84 24 90 00 00 	mov    0x90(%rsp),%r8
140540041:	00
140540042:	48 89 9c 24 98 00 00 	mov    %rbx,0x98(%rsp)
140540049:	00
14054004a:	4f 8d 34 76          	lea    (%r14,%r14,2),%r14
14054004e:	49 c1 e6 04          	shl    $0x4,%r14
140540052:	4c 03 f3             	add    %rbx,%r14
140540055:	4d 8d 7e 30          	lea    0x30(%r14),%r15
140540059:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
14054005e:	4c 89 bc 24 88 00 00 	mov    %r15,0x88(%rsp)
140540065:	00
140540066:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
14054006b:	41 c6 46 28 ff       	movb   $0xff,0x28(%r14)
140540070:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140540075:	49 0f be 48 28       	movsbq 0x28(%r8),%rcx
14054007a:	48 ff c1             	inc    %rcx
14054007d:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140540082:	e8 d9 09 00 00       	call   0x140540a60
140540087:	90                   	nop
140540088:	4c 89 b4 24 88 00 00 	mov    %r14,0x88(%rsp)
14054008f:	00
140540090:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140540094:	48 8b 0e             	mov    (%rsi),%rcx
140540097:	4c 8b ce             	mov    %rsi,%r9
14054009a:	4c 8b c3             	mov    %rbx,%r8
14054009d:	4c 3b e2             	cmp    %rdx,%r12
1405400a0:	75 07                	jne    0x1405400a9
1405400a2:	e8 59 04 00 00       	call   0x140540500
1405400a7:	eb 23                	jmp    0x1405400cc
1405400a9:	49 8b d4             	mov    %r12,%rdx
1405400ac:	e8 af 04 00 00       	call   0x140540560
1405400b1:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
1405400b8:	00
1405400b9:	4c 8b ce             	mov    %rsi,%r9
1405400bc:	4d 8b c7             	mov    %r15,%r8
1405400bf:	48 8b 56 08          	mov    0x8(%rsi),%rdx
1405400c3:	49 8b cc             	mov    %r12,%rcx
1405400c6:	e8 95 04 00 00       	call   0x140540560
1405400cb:	90                   	nop
1405400cc:	4c 8b cf             	mov    %rdi,%r9
1405400cf:	4d 8b c5             	mov    %r13,%r8
1405400d2:	48 8b d3             	mov    %rbx,%rdx
1405400d5:	48 8b ce             	mov    %rsi,%rcx
1405400d8:	e8 13 c9 00 00       	call   0x14054c9f0
1405400dd:	49 8b c6             	mov    %r14,%rax
1405400e0:	48 83 c4 40          	add    $0x40,%rsp
1405400e4:	41 5f                	pop    %r15
1405400e6:	41 5e                	pop    %r14
1405400e8:	41 5d                	pop    %r13
1405400ea:	41 5c                	pop    %r12
1405400ec:	5f                   	pop    %rdi
1405400ed:	5e                   	pop    %rsi
1405400ee:	5b                   	pop    %rbx
1405400ef:	c3                   	ret
1405400f0:	e8 9b d0 c5 ff       	call   0x14019d190
1405400f5:	cc                   	int3
1405400f6:	e8 95 d4 c5 ff       	call   0x14019d590
1405400fb:	cc                   	int3
1405400fc:	e8 a3 a0 8e 00       	call   0x140e2a1a4
140540101:	cc                   	int3
140540102:	cc                   	int3
140540103:	cc                   	int3
140540104:	cc                   	int3
140540105:	cc                   	int3
140540106:	cc                   	int3
140540107:	cc                   	int3
140540108:	cc                   	int3
140540109:	cc                   	int3
14054010a:	cc                   	int3
14054010b:	cc                   	int3
14054010c:	cc                   	int3
14054010d:	cc                   	int3
14054010e:	cc                   	int3
14054010f:	cc                   	int3
140540110:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140540115:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14054011a:	57                   	push   %rdi
14054011b:	48 83 ec 20          	sub    $0x20,%rsp
14054011f:	48 8b f1             	mov    %rcx,%rsi
140540122:	48 8b 42 08          	mov    0x8(%rdx),%rax
140540126:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
14054012d:	48 8b 1a             	mov    (%rdx),%rbx
140540130:	48 85 db             	test   %rbx,%rbx
140540133:	74 30                	je     0x140540165
140540135:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14054013c:	00 00 00 00
140540140:	48 8b 3b             	mov    (%rbx),%rdi
140540143:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140540147:	48 8b ce             	mov    %rsi,%rcx
14054014a:	e8 b1 0d 00 00       	call   0x140540f00
14054014f:	ba 38 00 00 00       	mov    $0x38,%edx
140540154:	48 8b cb             	mov    %rbx,%rcx
140540157:	e8 e8 af 8d 00       	call   0x140e1b144
14054015c:	90                   	nop
14054015d:	48 8b df             	mov    %rdi,%rbx
140540160:	48 85 ff             	test   %rdi,%rdi
140540163:	75 db                	jne    0x140540140
140540165:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14054016a:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14054016f:	48 83 c4 20          	add    $0x20,%rsp
140540173:	5f                   	pop    %rdi
140540174:	c3                   	ret
140540175:	cc                   	int3
140540176:	cc                   	int3
140540177:	cc                   	int3
140540178:	cc                   	int3
140540179:	cc                   	int3
14054017a:	cc                   	int3
14054017b:	cc                   	int3
14054017c:	cc                   	int3
14054017d:	cc                   	int3
14054017e:	cc                   	int3
14054017f:	cc                   	int3
140540180:	49 3b d0             	cmp    %r8,%rdx
140540183:	0f 84 9f 02 00 00    	je     0x140540428
140540189:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14054018e:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140540193:	55                   	push   %rbp
140540194:	56                   	push   %rsi
140540195:	57                   	push   %rdi
140540196:	41 54                	push   %r12
140540198:	41 55                	push   %r13
14054019a:	41 56                	push   %r14
14054019c:	41 57                	push   %r15
14054019e:	48 83 ec 60          	sub    $0x60,%rsp
1405401a2:	49 8b d8             	mov    %r8,%rbx
1405401a5:	48 8b f2             	mov    %rdx,%rsi
1405401a8:	4c 8b e9             	mov    %rcx,%r13
1405401ab:	45 33 e4             	xor    %r12d,%r12d
1405401ae:	48 bd aa aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaa,%rbp
1405401b5:	aa aa 02
1405401b8:	49 b9 b3 01 00 00 00 	movabs $0x100000001b3,%r9
1405401bf:	01 00 00
1405401c2:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
1405401c9:	9c f2 cb
1405401cc:	4c 8b 46 10          	mov    0x10(%rsi),%r8
1405401d0:	48 8b d6             	mov    %rsi,%rdx
1405401d3:	48 83 7e 18 0f       	cmpq   $0xf,0x18(%rsi)
1405401d8:	76 03                	jbe    0x1405401dd
1405401da:	48 8b 16             	mov    (%rsi),%rdx
1405401dd:	48 8b f8             	mov    %rax,%rdi
1405401e0:	49 8b cc             	mov    %r12,%rcx
1405401e3:	4d 85 c0             	test   %r8,%r8
1405401e6:	74 1b                	je     0x140540203
1405401e8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1405401ef:	00
1405401f0:	0f b6 04 0a          	movzbl (%rdx,%rcx,1),%eax
1405401f4:	48 33 f8             	xor    %rax,%rdi
1405401f7:	49 0f af f9          	imul   %r9,%rdi
1405401fb:	48 ff c1             	inc    %rcx
1405401fe:	49 3b c8             	cmp    %r8,%rcx
140540201:	72 ed                	jb     0x1405401f0
140540203:	4c 8b cf             	mov    %rdi,%r9
140540206:	4c 8b c6             	mov    %rsi,%r8
140540209:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
14054020e:	49 8b cd             	mov    %r13,%rcx
140540211:	e8 ea 3f cd ff       	call   0x140214200
140540216:	48 83 7c 24 58 00    	cmpq   $0x0,0x58(%rsp)
14054021c:	0f 85 e2 01 00 00    	jne    0x140540404
140540222:	49 39 6d 10          	cmp    %rbp,0x10(%r13)
140540226:	0f 84 fd 01 00 00    	je     0x140540429
14054022c:	49 8d 6d 08          	lea    0x8(%r13),%rbp
140540230:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
140540235:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
14054023a:	b9 60 00 00 00       	mov    $0x60,%ecx
14054023f:	e8 c4 ae 8d 00       	call   0x140e1b108
140540244:	4c 8b f8             	mov    %rax,%r15
140540247:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14054024c:	4c 8d 70 10          	lea    0x10(%rax),%r14
140540250:	4c 89 b4 24 b8 00 00 	mov    %r14,0xb8(%rsp)
140540257:	00
140540258:	48 8b d6             	mov    %rsi,%rdx
14054025b:	49 8b ce             	mov    %r14,%rcx
14054025e:	e8 dd 87 c6 ff       	call   0x1401a8a40
140540263:	90                   	nop
140540264:	49 8d 4e 20          	lea    0x20(%r14),%rcx
140540268:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
14054026d:	c6 41 28 ff          	movb   $0xff,0x28(%rcx)
140540271:	48 89 8c 24 a8 00 00 	mov    %rcx,0xa8(%rsp)
140540278:	00
140540279:	48 0f be 4e 48       	movsbq 0x48(%rsi),%rcx
14054027e:	48 8d 56 20          	lea    0x20(%rsi),%rdx
140540282:	4c 8d 84 24 a8 00 00 	lea    0xa8(%rsp),%r8
140540289:	00
14054028a:	e8 51 03 00 00       	call   0x1405405e0
14054028f:	90                   	nop
140540290:	49 8b 4d 10          	mov    0x10(%r13),%rcx
140540294:	48 83 c1 01          	add    $0x1,%rcx
140540298:	0f 57 c0             	xorps  %xmm0,%xmm0
14054029b:	78 07                	js     0x1405402a4
14054029d:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1405402a2:	eb 15                	jmp    0x1405402b9
1405402a4:	48 8b c1             	mov    %rcx,%rax
1405402a7:	48 d1 e8             	shr    $1,%rax
1405402aa:	83 e1 01             	and    $0x1,%ecx
1405402ad:	48 0b c1             	or     %rcx,%rax
1405402b0:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1405402b5:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1405402b9:	49 8b 4d 38          	mov    0x38(%r13),%rcx
1405402bd:	0f 57 c9             	xorps  %xmm1,%xmm1
1405402c0:	48 85 c9             	test   %rcx,%rcx
1405402c3:	78 07                	js     0x1405402cc
1405402c5:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
1405402ca:	eb 15                	jmp    0x1405402e1
1405402cc:	48 8b c1             	mov    %rcx,%rax
1405402cf:	48 d1 e8             	shr    $1,%rax
1405402d2:	83 e1 01             	and    $0x1,%ecx
1405402d5:	48 0b c1             	or     %rcx,%rax
1405402d8:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
1405402dd:	f3 0f 58 c9          	addss  %xmm1,%xmm1
1405402e1:	f3 0f 5e c1          	divss  %xmm1,%xmm0
1405402e5:	41 0f 2f 45 00       	comiss 0x0(%r13),%xmm0
1405402ea:	0f 86 b5 00 00 00    	jbe    0x1405403a5
1405402f0:	49 8b cd             	mov    %r13,%rcx
1405402f3:	e8 08 f7 e6 ff       	call   0x1403afa00
1405402f8:	49 8b 45 30          	mov    0x30(%r13),%rax
1405402fc:	48 23 c7             	and    %rdi,%rax
1405402ff:	48 03 c0             	add    %rax,%rax
140540302:	49 8b 55 18          	mov    0x18(%r13),%rdx
140540306:	48 8b 5c c2 08       	mov    0x8(%rdx,%rax,8),%rbx
14054030b:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
14054030f:	48 3b d9             	cmp    %rcx,%rbx
140540312:	75 07                	jne    0x14054031b
140540314:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140540319:	eb 72                	jmp    0x14054038d
14054031b:	4c 8b 24 c2          	mov    (%rdx,%rax,8),%r12
14054031f:	49 8b 6e 10          	mov    0x10(%r14),%rbp
140540323:	0f 1f 40 00          	nopl   0x0(%rax)
140540327:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14054032e:	00 00
140540330:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140540334:	48 8b 42 10          	mov    0x10(%rdx),%rax
140540338:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
14054033d:	76 03                	jbe    0x140540342
14054033f:	48 8b 12             	mov    (%rdx),%rdx
140540342:	49 8b ce             	mov    %r14,%rcx
140540345:	49 83 7e 18 0f       	cmpq   $0xf,0x18(%r14)
14054034a:	76 03                	jbe    0x14054034f
14054034c:	49 8b 0e             	mov    (%r14),%rcx
14054034f:	48 3b e8             	cmp    %rax,%rbp
140540352:	75 0c                	jne    0x140540360
140540354:	4c 8b c5             	mov    %rbp,%r8
140540357:	e8 f4 f6 99 00       	call   0x140edfa50
14054035c:	85 c0                	test   %eax,%eax
14054035e:	74 0b                	je     0x14054036b
140540360:	49 3b dc             	cmp    %r12,%rbx
140540363:	74 1c                	je     0x140540381
140540365:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140540369:	eb c5                	jmp    0x140540330
14054036b:	48 8b 03             	mov    (%rbx),%rax
14054036e:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140540373:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140540378:	49 8d 6d 08          	lea    0x8(%r13),%rbp
14054037c:	45 33 e4             	xor    %r12d,%r12d
14054037f:	eb 11                	jmp    0x140540392
140540381:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140540386:	45 33 e4             	xor    %r12d,%r12d
140540389:	49 8d 6d 08          	lea    0x8(%r13),%rbp
14054038d:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140540392:	0f 28 44 24 30       	movaps 0x30(%rsp),%xmm0
140540397:	66 0f 7f 44 24 50    	movdqa %xmm0,0x50(%rsp)
14054039d:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
1405403a4:	00
1405403a5:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
1405403aa:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
1405403af:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1405403b3:	49 ff 45 10          	incq   0x10(%r13)
1405403b7:	49 89 17             	mov    %rdx,(%r15)
1405403ba:	4d 89 47 08          	mov    %r8,0x8(%r15)
1405403be:	4d 89 38             	mov    %r15,(%r8)
1405403c1:	4c 89 7a 08          	mov    %r15,0x8(%rdx)
1405403c5:	49 8b 4d 18          	mov    0x18(%r13),%rcx
1405403c9:	49 8b 45 30          	mov    0x30(%r13),%rax
1405403cd:	48 23 c7             	and    %rdi,%rax
1405403d0:	48 03 c0             	add    %rax,%rax
1405403d3:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9
1405403d7:	4c 3b 4d 00          	cmp    0x0(%rbp),%r9
1405403db:	75 06                	jne    0x1405403e3
1405403dd:	4c 89 3c c1          	mov    %r15,(%rcx,%rax,8)
1405403e1:	eb 12                	jmp    0x1405403f5
1405403e3:	4c 3b ca             	cmp    %rdx,%r9
1405403e6:	75 06                	jne    0x1405403ee
1405403e8:	4c 89 3c c1          	mov    %r15,(%rcx,%rax,8)
1405403ec:	eb 0c                	jmp    0x1405403fa
1405403ee:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
1405403f3:	75 05                	jne    0x1405403fa
1405403f5:	4c 89 7c c1 08       	mov    %r15,0x8(%rcx,%rax,8)
1405403fa:	48 bd aa aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaa,%rbp
140540401:	aa aa 02
140540404:	48 83 c6 50          	add    $0x50,%rsi
140540408:	48 3b f3             	cmp    %rbx,%rsi
14054040b:	0f 85 a7 fd ff ff    	jne    0x1405401b8
140540411:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
140540418:	00
140540419:	48 83 c4 60          	add    $0x60,%rsp
14054041d:	41 5f                	pop    %r15
14054041f:	41 5e                	pop    %r14
140540421:	41 5d                	pop    %r13
140540423:	41 5c                	pop    %r12
140540425:	5f                   	pop    %rdi
140540426:	5e                   	pop    %rsi
140540427:	5d                   	pop    %rbp
140540428:	c3                   	ret
140540429:	48 8d 0d 70 e0 a6 00 	lea    0xa6e070(%rip),%rcx        # 0x140fae4a0
140540430:	e8 7f af 8b 00       	call   0x140dfb3b4
140540435:	cc                   	int3
140540436:	cc                   	int3
140540437:	cc                   	int3
140540438:	cc                   	int3
140540439:	cc                   	int3
14054043a:	cc                   	int3
14054043b:	cc                   	int3
14054043c:	cc                   	int3
14054043d:	cc                   	int3
14054043e:	cc                   	int3
14054043f:	cc                   	int3
140540440:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140540445:	53                   	push   %rbx
140540446:	56                   	push   %rsi
140540447:	57                   	push   %rdi
140540448:	41 54                	push   %r12
14054044a:	41 55                	push   %r13
14054044c:	41 56                	push   %r14