140e4a287:	38 45 c8             	cmp    %al,-0x38(%rbp)
140e4a28a:	74 0b                	je     0x140e4a297
140e4a28c:	48 8b 45 b0          	mov    -0x50(%rbp),%rax
140e4a290:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
140e4a297:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e4a29d:	eb 14                	jmp    0x140e4a2b3
140e4a29f:	80 7d c8 00          	cmpb   $0x0,-0x38(%rbp)
140e4a2a3:	74 0b                	je     0x140e4a2b0
140e4a2a5:	48 8b 45 b0          	mov    -0x50(%rbp),%rax
140e4a2a9:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
140e4a2b0:	45 33 c9             	xor    %r9d,%r9d
140e4a2b3:	4c 8d 45 10          	lea    0x10(%rbp),%r8
140e4a2b7:	48 8b cb             	mov    %rbx,%rcx
140e4a2ba:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
140e4a2be:	e8 49 77 fe ff       	call   0x140e31a0c
140e4a2c3:	85 c0                	test   %eax,%eax
140e4a2c5:	74 05                	je     0x140e4a2cc
140e4a2c7:	83 cb ff             	or     $0xffffffff,%ebx
140e4a2ca:	eb 0b                	jmp    0x140e4a2d7
140e4a2cc:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
140e4a2d0:	e8 17 0c 01 00       	call   0x140e5aeec
140e4a2d5:	8b d8                	mov    %eax,%ebx
140e4a2d7:	80 7d f8 00          	cmpb   $0x0,-0x8(%rbp)
140e4a2db:	74 09                	je     0x140e4a2e6
140e4a2dd:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
140e4a2e1:	e8 8e 99 00 00       	call   0x140e53c74
140e4a2e6:	8b c3                	mov    %ebx,%eax
140e4a2e8:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140e4a2ef:	00
140e4a2f0:	48 83 c4 70          	add    $0x70,%rsp
140e4a2f4:	5d                   	pop    %rbp
140e4a2f5:	c3                   	ret
140e4a2f6:	cc                   	int3
140e4a2f7:	cc                   	int3
140e4a2f8:	cc                   	int3
140e4a2f9:	cc                   	int3
140e4a2fa:	cc                   	int3
140e4a2fb:	cc                   	int3
140e4a2fc:	cc                   	int3
140e4a2fd:	cc                   	int3
140e4a2fe:	cc                   	int3
140e4a2ff:	cc                   	int3
140e4a300:	41 54                	push   %r12
140e4a302:	41 55                	push   %r13
140e4a304:	41 56                	push   %r14
140e4a306:	48 81 ec 50 04 00 00 	sub    $0x450,%rsp
140e4a30d:	48 8b 05 ec eb 56 00 	mov    0x56ebec(%rip),%rax        # 0x1413b8f00
140e4a314:	48 33 c4             	xor    %rsp,%rax
140e4a317:	48 89 84 24 10 04 00 	mov    %rax,0x410(%rsp)
140e4a31e:	00
140e4a31f:	4d 8b e1             	mov    %r9,%r12
140e4a322:	4d 8b f0             	mov    %r8,%r14
140e4a325:	4c 8b e9             	mov    %rcx,%r13
140e4a328:	48 85 c9             	test   %rcx,%rcx
140e4a32b:	75 1a                	jne    0x140e4a347
140e4a32d:	48 85 d2             	test   %rdx,%rdx
140e4a330:	74 15                	je     0x140e4a347
140e4a332:	e8 b9 ff fd ff       	call   0x140e2a2f0
140e4a337:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140e4a33d:	e8 42 fe fd ff       	call   0x140e2a184
140e4a342:	e9 a9 03 00 00       	jmp    0x140e4a6f0
140e4a347:	4d 85 f6             	test   %r14,%r14
140e4a34a:	74 e6                	je     0x140e4a332
140e4a34c:	4d 85 e4             	test   %r12,%r12
140e4a34f:	74 e1                	je     0x140e4a332
140e4a351:	48 83 fa 02          	cmp    $0x2,%rdx
140e4a355:	0f 82 95 03 00 00    	jb     0x140e4a6f0
140e4a35b:	48 89 9c 24 48 04 00 	mov    %rbx,0x448(%rsp)
140e4a362:	00
140e4a363:	48 89 ac 24 40 04 00 	mov    %rbp,0x440(%rsp)
140e4a36a:	00
140e4a36b:	48 89 b4 24 38 04 00 	mov    %rsi,0x438(%rsp)
140e4a372:	00
140e4a373:	48 89 bc 24 30 04 00 	mov    %rdi,0x430(%rsp)
140e4a37a:	00
140e4a37b:	4c 89 bc 24 28 04 00 	mov    %r15,0x428(%rsp)
140e4a382:	00
140e4a383:	4c 8d 7a ff          	lea    -0x1(%rdx),%r15
140e4a387:	4d 0f af fe          	imul   %r14,%r15
140e4a38b:	4c 03 f9             	add    %rcx,%r15
140e4a38e:	33 c9                	xor    %ecx,%ecx
140e4a390:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140e4a395:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140e4a39c:	00 00 00 00
140e4a3a0:	33 d2                	xor    %edx,%edx
140e4a3a2:	49 8b c7             	mov    %r15,%rax
140e4a3a5:	49 2b c5             	sub    %r13,%rax
140e4a3a8:	49 f7 f6             	div    %r14
140e4a3ab:	48 8d 58 01          	lea    0x1(%rax),%rbx
140e4a3af:	48 83 fb 08          	cmp    $0x8,%rbx
140e4a3b3:	0f 87 9b 00 00 00    	ja     0x140e4a454
140e4a3b9:	4d 3b fd             	cmp    %r13,%r15
140e4a3bc:	76 75                	jbe    0x140e4a433
140e4a3be:	4b 8d 34 2e          	lea    (%r14,%r13,1),%rsi
140e4a3c2:	49 8b dd             	mov    %r13,%rbx
140e4a3c5:	48 8b fe             	mov    %rsi,%rdi
140e4a3c8:	49 3b f7             	cmp    %r15,%rsi
140e4a3cb:	77 2a                	ja     0x140e4a3f7
140e4a3cd:	0f 1f 00             	nopl   (%rax)
140e4a3d0:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140e4a3d7:	b7 75 93
140e4a3da:	48 8b d3             	mov    %rbx,%rdx
140e4a3dd:	48 8b cf             	mov    %rdi,%rcx
140e4a3e0:	49 8b c4             	mov    %r12,%rax
140e4a3e3:	ff 15 3f 96 13 00    	call   *0x13963f(%rip)        # 0x140f83a28
140e4a3e9:	85 c0                	test   %eax,%eax
140e4a3eb:	48 0f 4f df          	cmovg  %rdi,%rbx
140e4a3ef:	49 03 fe             	add    %r14,%rdi
140e4a3f2:	49 3b ff             	cmp    %r15,%rdi
140e4a3f5:	76 d9                	jbe    0x140e4a3d0
140e4a3f7:	4d 8b c6             	mov    %r14,%r8
140e4a3fa:	49 8b d7             	mov    %r15,%rdx
140e4a3fd:	49 3b df             	cmp    %r15,%rbx
140e4a400:	74 24                	je     0x140e4a426
140e4a402:	49 2b df             	sub    %r15,%rbx
140e4a405:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140e4a40c:	00 00 00 00
140e4a410:	0f b6 02             	movzbl (%rdx),%eax
140e4a413:	0f b6 0c 13          	movzbl (%rbx,%rdx,1),%ecx
140e4a417:	88 04 13             	mov    %al,(%rbx,%rdx,1)
140e4a41a:	88 0a                	mov    %cl,(%rdx)
140e4a41c:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140e4a420:	49 83 e8 01          	sub    $0x1,%r8
140e4a424:	75 ea                	jne    0x140e4a410
140e4a426:	4d 2b fe             	sub    %r14,%r15
140e4a429:	4d 3b fd             	cmp    %r13,%r15
140e4a42c:	77 94                	ja     0x140e4a3c2
140e4a42e:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140e4a433:	48 83 e9 01          	sub    $0x1,%rcx
140e4a437:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140e4a43c:	0f 88 86 02 00 00    	js     0x140e4a6c8
140e4a442:	4c 8b 6c cc 30       	mov    0x30(%rsp,%rcx,8),%r13
140e4a447:	4c 8b bc cc 20 02 00 	mov    0x220(%rsp,%rcx,8),%r15
140e4a44e:	00
140e4a44f:	e9 4c ff ff ff       	jmp    0x140e4a3a0
140e4a454:	48 d1 eb             	shr    $1,%rbx
140e4a457:	49 0f af de          	imul   %r14,%rbx
140e4a45b:	4a 8d 34 2b          	lea    (%rbx,%r13,1),%rsi
140e4a45f:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140e4a466:	b7 75 93
140e4a469:	48 8b d6             	mov    %rsi,%rdx
140e4a46c:	49 8b cd             	mov    %r13,%rcx
140e4a46f:	49 8b c4             	mov    %r12,%rax
140e4a472:	ff 15 b0 95 13 00    	call   *0x1395b0(%rip)        # 0x140f83a28
140e4a478:	85 c0                	test   %eax,%eax
140e4a47a:	7e 2f                	jle    0x140e4a4ab
140e4a47c:	4d 8b ce             	mov    %r14,%r9
140e4a47f:	4c 8b c6             	mov    %rsi,%r8
140e4a482:	4c 3b ee             	cmp    %rsi,%r13
140e4a485:	74 24                	je     0x140e4a4ab
140e4a487:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140e4a48e:	00 00
140e4a490:	41 0f b6 00          	movzbl (%r8),%eax
140e4a494:	49 8b d0             	mov    %r8,%rdx
140e4a497:	48 2b d3             	sub    %rbx,%rdx
140e4a49a:	0f b6 0a             	movzbl (%rdx),%ecx
140e4a49d:	88 02                	mov    %al,(%rdx)
140e4a49f:	41 88 08             	mov    %cl,(%r8)
140e4a4a2:	49 ff c0             	inc    %r8
140e4a4a5:	49 83 e9 01          	sub    $0x1,%r9
140e4a4a9:	75 e5                	jne    0x140e4a490
140e4a4ab:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140e4a4b2:	b7 75 93
140e4a4b5:	49 8b d7             	mov    %r15,%rdx
140e4a4b8:	49 8b cd             	mov    %r13,%rcx
140e4a4bb:	49 8b c4             	mov    %r12,%rax
140e4a4be:	ff 15 64 95 13 00    	call   *0x139564(%rip)        # 0x140f83a28
140e4a4c4:	85 c0                	test   %eax,%eax
140e4a4c6:	7e 30                	jle    0x140e4a4f8
140e4a4c8:	4d 8b c6             	mov    %r14,%r8
140e4a4cb:	49 8b d7             	mov    %r15,%rdx
140e4a4ce:	4d 3b ef             	cmp    %r15,%r13
140e4a4d1:	74 25                	je     0x140e4a4f8
140e4a4d3:	4d 8b cd             	mov    %r13,%r9
140e4a4d6:	4d 2b cf             	sub    %r15,%r9
140e4a4d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140e4a4e0:	0f b6 02             	movzbl (%rdx),%eax
140e4a4e3:	41 0f b6 0c 11       	movzbl (%r9,%rdx,1),%ecx
140e4a4e8:	41 88 04 11          	mov    %al,(%r9,%rdx,1)
140e4a4ec:	88 0a                	mov    %cl,(%rdx)
140e4a4ee:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140e4a4f2:	49 83 e8 01          	sub    $0x1,%r8
140e4a4f6:	75 e8                	jne    0x140e4a4e0
140e4a4f8:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140e4a4ff:	b7 75 93
140e4a502:	49 8b d7             	mov    %r15,%rdx
140e4a505:	48 8b ce             	mov    %rsi,%rcx
140e4a508:	49 8b c4             	mov    %r12,%rax
140e4a50b:	ff 15 17 95 13 00    	call   *0x139517(%rip)        # 0x140f83a28
140e4a511:	85 c0                	test   %eax,%eax
140e4a513:	7e 33                	jle    0x140e4a548
140e4a515:	4d 8b c6             	mov    %r14,%r8
140e4a518:	49 8b d7             	mov    %r15,%rdx
140e4a51b:	49 3b f7             	cmp    %r15,%rsi
140e4a51e:	74 28                	je     0x140e4a548
140e4a520:	4c 8b ce             	mov    %rsi,%r9
140e4a523:	4d 2b cf             	sub    %r15,%r9
140e4a526:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140e4a52d:	00 00 00
140e4a530:	0f b6 02             	movzbl (%rdx),%eax
140e4a533:	41 0f b6 0c 11       	movzbl (%r9,%rdx,1),%ecx
140e4a538:	41 88 04 11          	mov    %al,(%r9,%rdx,1)
140e4a53c:	88 0a                	mov    %cl,(%rdx)
140e4a53e:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140e4a542:	49 83 e8 01          	sub    $0x1,%r8
140e4a546:	75 e8                	jne    0x140e4a530
140e4a548:	49 8b dd             	mov    %r13,%rbx
140e4a54b:	49 8b ff             	mov    %r15,%rdi
140e4a54e:	66 90                	xchg   %ax,%ax
140e4a550:	48 3b f3             	cmp    %rbx,%rsi
140e4a553:	76 2b                	jbe    0x140e4a580
140e4a555:	49 03 de             	add    %r14,%rbx
140e4a558:	48 3b de             	cmp    %rsi,%rbx
140e4a55b:	73 23                	jae    0x140e4a580
140e4a55d:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140e4a564:	b7 75 93
140e4a567:	48 8b d6             	mov    %rsi,%rdx
140e4a56a:	48 8b cb             	mov    %rbx,%rcx
140e4a56d:	49 8b c4             	mov    %r12,%rax
140e4a570:	ff 15 b2 94 13 00    	call   *0x1394b2(%rip)        # 0x140f83a28
140e4a576:	85 c0                	test   %eax,%eax
140e4a578:	7e db                	jle    0x140e4a555
140e4a57a:	eb 29                	jmp    0x140e4a5a5
140e4a57c:	0f 1f 40 00          	nopl   0x0(%rax)
140e4a580:	49 03 de             	add    %r14,%rbx
140e4a583:	49 3b df             	cmp    %r15,%rbx
140e4a586:	77 1d                	ja     0x140e4a5a5
140e4a588:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140e4a58f:	b7 75 93
140e4a592:	48 8b d6             	mov    %rsi,%rdx
140e4a595:	48 8b cb             	mov    %rbx,%rcx
140e4a598:	49 8b c4             	mov    %r12,%rax
140e4a59b:	ff 15 87 94 13 00    	call   *0x139487(%rip)        # 0x140f83a28
140e4a5a1:	85 c0                	test   %eax,%eax
140e4a5a3:	7e db                	jle    0x140e4a580
140e4a5a5:	48 8b ef             	mov    %rdi,%rbp
140e4a5a8:	49 2b fe             	sub    %r14,%rdi
140e4a5ab:	48 3b fe             	cmp    %rsi,%rdi
140e4a5ae:	76 1d                	jbe    0x140e4a5cd
140e4a5b0:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140e4a5b7:	b7 75 93
140e4a5ba:	48 8b d6             	mov    %rsi,%rdx
140e4a5bd:	48 8b cf             	mov    %rdi,%rcx
140e4a5c0:	49 8b c4             	mov    %r12,%rax
140e4a5c3:	ff 15 5f 94 13 00    	call   *0x13945f(%rip)        # 0x140f83a28
140e4a5c9:	85 c0                	test   %eax,%eax
140e4a5cb:	7f d8                	jg     0x140e4a5a5
140e4a5cd:	48 3b fb             	cmp    %rbx,%rdi
140e4a5d0:	72 38                	jb     0x140e4a60a
140e4a5d2:	4d 8b c6             	mov    %r14,%r8
140e4a5d5:	48 8b d7             	mov    %rdi,%rdx
140e4a5d8:	74 1e                	je     0x140e4a5f8
140e4a5da:	4c 8b cb             	mov    %rbx,%r9
140e4a5dd:	4c 2b cf             	sub    %rdi,%r9
140e4a5e0:	0f b6 02             	movzbl (%rdx),%eax
140e4a5e3:	41 0f b6 0c 11       	movzbl (%r9,%rdx,1),%ecx
140e4a5e8:	41 88 04 11          	mov    %al,(%r9,%rdx,1)
140e4a5ec:	88 0a                	mov    %cl,(%rdx)
140e4a5ee:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140e4a5f2:	49 83 e8 01          	sub    $0x1,%r8
140e4a5f6:	75 e8                	jne    0x140e4a5e0
140e4a5f8:	48 3b f7             	cmp    %rdi,%rsi
140e4a5fb:	48 8b c3             	mov    %rbx,%rax
140e4a5fe:	48 0f 45 c6          	cmovne %rsi,%rax
140e4a602:	48 8b f0             	mov    %rax,%rsi
140e4a605:	e9 46 ff ff ff       	jmp    0x140e4a550
140e4a60a:	48 3b f5             	cmp    %rbp,%rsi
140e4a60d:	73 28                	jae    0x140e4a637
140e4a60f:	90                   	nop
140e4a610:	49 2b ee             	sub    %r14,%rbp
140e4a613:	48 3b ee             	cmp    %rsi,%rbp
140e4a616:	76 1f                	jbe    0x140e4a637
140e4a618:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140e4a61f:	b7 75 93
140e4a622:	48 8b d6             	mov    %rsi,%rdx
140e4a625:	48 8b cd             	mov    %rbp,%rcx
140e4a628:	49 8b c4             	mov    %r12,%rax
140e4a62b:	ff 15 f7 93 13 00    	call   *0x1393f7(%rip)        # 0x140f83a28
140e4a631:	85 c0                	test   %eax,%eax
140e4a633:	74 db                	je     0x140e4a610
140e4a635:	eb 25                	jmp    0x140e4a65c
140e4a637:	49 2b ee             	sub    %r14,%rbp
140e4a63a:	49 3b ed             	cmp    %r13,%rbp
140e4a63d:	76 1d                	jbe    0x140e4a65c
140e4a63f:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140e4a646:	b7 75 93
140e4a649:	48 8b d6             	mov    %rsi,%rdx
140e4a64c:	48 8b cd             	mov    %rbp,%rcx
140e4a64f:	49 8b c4             	mov    %r12,%rax
140e4a652:	ff 15 d0 93 13 00    	call   *0x1393d0(%rip)        # 0x140f83a28
140e4a658:	85 c0                	test   %eax,%eax
140e4a65a:	74 db                	je     0x140e4a637
140e4a65c:	49 8b cf             	mov    %r15,%rcx
140e4a65f:	48 8b c5             	mov    %rbp,%rax
140e4a662:	48 2b cb             	sub    %rbx,%rcx
140e4a665:	49 2b c5             	sub    %r13,%rax
140e4a668:	48 3b c1             	cmp    %rcx,%rax
140e4a66b:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140e4a670:	7c 2b                	jl     0x140e4a69d
140e4a672:	4c 3b ed             	cmp    %rbp,%r13
140e4a675:	73 15                	jae    0x140e4a68c
140e4a677:	4c 89 6c cc 30       	mov    %r13,0x30(%rsp,%rcx,8)
140e4a67c:	48 89 ac cc 20 02 00 	mov    %rbp,0x220(%rsp,%rcx,8)
140e4a683:	00
140e4a684:	48 ff c1             	inc    %rcx
140e4a687:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140e4a68c:	49 3b df             	cmp    %r15,%rbx
140e4a68f:	0f 83 9e fd ff ff    	jae    0x140e4a433
140e4a695:	4c 8b eb             	mov    %rbx,%r13
140e4a698:	e9 03 fd ff ff       	jmp    0x140e4a3a0
140e4a69d:	49 3b df             	cmp    %r15,%rbx
140e4a6a0:	73 15                	jae    0x140e4a6b7
140e4a6a2:	48 89 5c cc 30       	mov    %rbx,0x30(%rsp,%rcx,8)
140e4a6a7:	4c 89 bc cc 20 02 00 	mov    %r15,0x220(%rsp,%rcx,8)
140e4a6ae:	00
140e4a6af:	48 ff c1             	inc    %rcx
140e4a6b2:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140e4a6b7:	4c 3b ed             	cmp    %rbp,%r13
140e4a6ba:	0f 83 73 fd ff ff    	jae    0x140e4a433
140e4a6c0:	4c 8b fd             	mov    %rbp,%r15
140e4a6c3:	e9 d8 fc ff ff       	jmp    0x140e4a3a0
140e4a6c8:	48 8b bc 24 30 04 00 	mov    0x430(%rsp),%rdi
140e4a6cf:	00
140e4a6d0:	48 8b b4 24 38 04 00 	mov    0x438(%rsp),%rsi
140e4a6d7:	00
140e4a6d8:	48 8b ac 24 40 04 00 	mov    0x440(%rsp),%rbp
140e4a6df:	00
140e4a6e0:	48 8b 9c 24 48 04 00 	mov    0x448(%rsp),%rbx
140e4a6e7:	00
140e4a6e8:	4c 8b bc 24 28 04 00 	mov    0x428(%rsp),%r15
140e4a6ef:	00
140e4a6f0:	48 8b 8c 24 10 04 00 	mov    0x410(%rsp),%rcx
140e4a6f7:	00
140e4a6f8:	48 33 cc             	xor    %rsp,%rcx
140e4a6fb:	e8 00 0e fd ff       	call   0x140e1b500
140e4a700:	48 81 c4 50 04 00 00 	add    $0x450,%rsp
140e4a707:	41 5e                	pop    %r14
140e4a709:	41 5d                	pop    %r13
140e4a70b:	41 5c                	pop    %r12
140e4a70d:	c3                   	ret
140e4a70e:	cc                   	int3
140e4a70f:	cc                   	int3
140e4a710:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e4a715:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140e4a71a:	57                   	push   %rdi
140e4a71b:	48 83 ec 20          	sub    $0x20,%rsp
140e4a71f:	49 8b d9             	mov    %r9,%rbx
140e4a722:	49 8b f8             	mov    %r8,%rdi
140e4a725:	8b 0a                	mov    (%rdx),%ecx
140e4a727:	e8 6c 38 00 00       	call   0x140e4df98