1400040a0:	41 54                	push   %r12
1400040a2:	41 55                	push   %r13
1400040a4:	41 56                	push   %r14
1400040a6:	41 57                	push   %r15
1400040a8:	48 8b ec             	mov    %rsp,%rbp
1400040ab:	48 83 ec 50          	sub    $0x50,%rsp
1400040af:	45 33 ed             	xor    %r13d,%r13d
1400040b2:	4c 8d 4d 38          	lea    0x38(%rbp),%r9
1400040b6:	8b f1                	mov    %ecx,%esi
1400040b8:	45 8a fd             	mov    %r13b,%r15b
1400040bb:	48 8d 0d da 7d 01 00 	lea    0x17dda(%rip),%rcx        # 0x14001be9c
1400040c2:	41 8d 7d 01          	lea    0x1(%r13),%edi
1400040c6:	8b d7                	mov    %edi,%edx
1400040c8:	45 8d 45 02          	lea    0x2(%r13),%r8d
1400040cc:	48 ff 15 3d 72 01 00 	rex.W call *0x1723d(%rip)        # 0x14001b310
1400040d3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400040d8:	8b d8                	mov    %eax,%ebx
1400040da:	85 c0                	test   %eax,%eax
1400040dc:	0f 88 54 08 01 00    	js     0x140014936
1400040e2:	85 f6                	test   %esi,%esi
1400040e4:	0f 84 85 01 00 00    	je     0x14000426f
1400040ea:	48 8b 0d b7 62 02 00 	mov    0x262b7(%rip),%rcx        # 0x14002a3a8
1400040f1:	41 8b fd             	mov    %r13d,%edi
1400040f4:	4c 8b 61 38          	mov    0x38(%rcx),%r12
1400040f8:	4c 8d 71 40          	lea    0x40(%rcx),%r14
1400040fc:	4c 03 e1             	add    %rcx,%r12
1400040ff:	45 39 2e             	cmp    %r13d,(%r14)
140004102:	76 46                	jbe    0x14000414a
140004104:	41 b8 10 00 00 00    	mov    $0x10,%r8d
14000410a:	8b d7                	mov    %edi,%edx
14000410c:	48 03 d2             	add    %rdx,%rdx
14000410f:	49 03 0c d4          	add    (%r12,%rdx,8),%rcx
140004113:	48 89 4d e8          	mov    %rcx,-0x18(%rbp)
140004117:	41 8d 48 16          	lea    0x16(%r8),%ecx
14000411b:	41 0f b7 44 d4 08    	movzwl 0x8(%r12,%rdx,8),%eax
140004121:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140004125:	66 89 45 e2          	mov    %ax,-0x1e(%rbp)
140004129:	66 89 45 e0          	mov    %ax,-0x20(%rbp)
14000412d:	48 ff 15 dc 6c 01 00 	rex.W call *0x16cdc(%rip)        # 0x14001ae10
140004134:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140004139:	8b d8                	mov    %eax,%ebx
14000413b:	85 c0                	test   %eax,%eax
14000413d:	78 0b                	js     0x14000414a
14000413f:	ff c7                	inc    %edi
140004141:	41 3b 3e             	cmp    (%r14),%edi
140004144:	0f 82 66 08 01 00    	jb     0x1400149b0
14000414a:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
14000414e:	48 ff 15 c3 71 01 00 	rex.W call *0x171c3(%rip)        # 0x14001b318
140004155:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14000415a:	85 db                	test   %ebx,%ebx
14000415c:	0f 88 5a 08 01 00    	js     0x1400149bc
140004162:	4c 8b 05 3f 62 02 00 	mov    0x2623f(%rip),%r8        # 0x14002a3a8
140004169:	33 ff                	xor    %edi,%edi
14000416b:	4d 8b 68 48          	mov    0x48(%r8),%r13
14000416f:	4d 8d 60 50          	lea    0x50(%r8),%r12
140004173:	4d 03 e8             	add    %r8,%r13
140004176:	41 39 3c 24          	cmp    %edi,(%r12)
14000417a:	0f 86 b8 00 00 00    	jbe    0x140004238
140004180:	85 f6                	test   %esi,%esi
140004182:	b8 08 10 00 00       	mov    $0x1008,%eax
140004187:	41 be 08 30 00 00    	mov    $0x3008,%r14d
14000418d:	44 0f 45 f0          	cmovne %eax,%r14d
140004191:	8b d7                	mov    %edi,%edx
140004193:	41 8b de             	mov    %r14d,%ebx
140004196:	48 03 d2             	add    %rdx,%rdx
140004199:	49 8b 4c d5 00       	mov    0x0(%r13,%rdx,8),%rcx
14000419e:	49 03 c8             	add    %r8,%rcx
1400041a1:	48 89 4d f8          	mov    %rcx,-0x8(%rbp)
1400041a5:	41 0f b7 44 d5 08    	movzwl 0x8(%r13,%rdx,8),%eax
1400041ab:	66 89 45 f2          	mov    %ax,-0xe(%rbp)
1400041af:	66 89 45 f0          	mov    %ax,-0x10(%rbp)
1400041b3:	49 8b 4c d5 10       	mov    0x10(%r13,%rdx,8),%rcx
1400041b8:	49 03 c8             	add    %r8,%rcx
1400041bb:	41 b0 01             	mov    $0x1,%r8b
1400041be:	48 89 4d e8          	mov    %rcx,-0x18(%rbp)
1400041c2:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
1400041c6:	41 0f b7 44 d5 18    	movzwl 0x18(%r13,%rdx,8),%eax
1400041cc:	48 8d 15 3d 5e 01 00 	lea    0x15e3d(%rip),%rdx        # 0x14001a010
1400041d3:	66 89 45 e2          	mov    %ax,-0x1e(%rbp)
1400041d7:	66 89 45 e0          	mov    %ax,-0x20(%rbp)
1400041db:	48 ff 15 ee 6d 01 00 	rex.W call *0x16dee(%rip)        # 0x14001afd0
1400041e2:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400041e7:	84 c0                	test   %al,%al
1400041e9:	0f 85 30 08 01 00    	jne    0x140014a1f
1400041ef:	45 84 ff             	test   %r15b,%r15b
1400041f2:	75 12                	jne    0x140004206
1400041f4:	83 fe 01             	cmp    $0x1,%esi
1400041f7:	75 0d                	jne    0x140004206
1400041f9:	83 3d 8c 4c 02 00 02 	cmpl   $0x2,0x24c8c(%rip)        # 0x140028e8c
140004200:	0f 84 21 08 01 00    	je     0x140014a27
140004206:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14000420c:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140004210:	44 8b cb             	mov    %ebx,%r9d
140004213:	8b d6                	mov    %esi,%edx
140004215:	e8 4e 03 00 00       	call   0x140004568
14000421a:	8b d8                	mov    %eax,%ebx
14000421c:	85 c0                	test   %eax,%eax
14000421e:	0f 88 ba 07 01 00    	js     0x1400149de
140004224:	4c 8b 05 7d 61 02 00 	mov    0x2617d(%rip),%r8        # 0x14002a3a8
14000422b:	83 c7 02             	add    $0x2,%edi
14000422e:	41 3b 3c 24          	cmp    (%r12),%edi
140004232:	0f 82 59 ff ff ff    	jb     0x140004191
140004238:	4d 8b 78 58          	mov    0x58(%r8),%r15
14000423c:	4d 8d 70 60          	lea    0x60(%r8),%r14
140004240:	4d 03 f8             	add    %r8,%r15
140004243:	33 ff                	xor    %edi,%edi
140004245:	41 39 3e             	cmp    %edi,(%r14)
140004248:	0f 87 2b 08 01 00    	ja     0x140014a79
14000424e:	8b c3                	mov    %ebx,%eax
140004250:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
140004255:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140004259:	49 8b 73 40          	mov    0x40(%r11),%rsi
14000425d:	49 8b 7b 48          	mov    0x48(%r11),%rdi
140004261:	49 8b e3             	mov    %r11,%rsp
140004264:	41 5f                	pop    %r15
140004266:	41 5e                	pop    %r14
140004268:	41 5d                	pop    %r13
14000426a:	41 5c                	pop    %r12
14000426c:	5d                   	pop    %rbp
14000426d:	c3                   	ret
14000426e:	cc                   	int3
14000426f:	39 3d 17 4c 02 00    	cmp    %edi,0x24c17(%rip)        # 0x140028e8c
140004275:	0f 85 6f fe ff ff    	jne    0x1400040ea
14000427b:	e8 f8 53 00 00       	call   0x140009678
140004280:	8b d8                	mov    %eax,%ebx
140004282:	85 c0                	test   %eax,%eax
140004284:	0f 88 e9 06 01 00    	js     0x140014973
14000428a:	44 8a ff             	mov    %dil,%r15b
14000428d:	e9 58 fe ff ff       	jmp    0x1400040ea
140004292:	cc                   	int3
140004293:	cc                   	int3
140004294:	cc                   	int3
140004295:	cc                   	int3
140004296:	cc                   	int3
140004297:	cc                   	int3
140004298:	cc                   	int3
140004299:	cc                   	int3
14000429a:	cc                   	int3
14000429b:	cc                   	int3
14000429c:	cc                   	int3
14000429d:	cc                   	int3
14000429e:	cc                   	int3
14000429f:	cc                   	int3
1400042a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400042a5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400042aa:	57                   	push   %rdi
1400042ab:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
1400042b2:	48 8b da             	mov    %rdx,%rbx
1400042b5:	49 8b f8             	mov    %r8,%rdi
1400042b8:	33 d2                	xor    %edx,%edx
1400042ba:	8b f1                	mov    %ecx,%esi
1400042bc:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1400042c1:	44 8d 42 68          	lea    0x68(%rdx),%r8d
1400042c5:	e8 a5 e8 00 00       	call   0x140012b6f
1400042ca:	8b 03                	mov    (%rbx),%eax
1400042cc:	41 b9 20 08 00 00    	mov    $0x820,%r9d
1400042d2:	a8 08                	test   $0x8,%al
1400042d4:	75 55                	jne    0x14000432b
1400042d6:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
1400042db:	8b d6                	mov    %esi,%edx
1400042dd:	48 8b cf             	mov    %rdi,%rcx
1400042e0:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400042e5:	e8 7e 02 00 00       	call   0x140004568
1400042ea:	8b d0                	mov    %eax,%edx
1400042ec:	85 c0                	test   %eax,%eax
1400042ee:	0f 88 cc 07 01 00    	js     0x140014ac0
1400042f4:	48 8b 05 45 52 02 00 	mov    0x25245(%rip),%rax        # 0x140029540
1400042fb:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140004300:	c7 00 02 00 00 00    	movl   $0x2,(%rax)
140004306:	e8 3d 00 00 00       	call   0x140004348
14000430b:	8b d8                	mov    %eax,%ebx
14000430d:	85 c0                	test   %eax,%eax
14000430f:	0f 88 ee 07 01 00    	js     0x140014b03
140004315:	4c 8d 9c 24 a0 00 00 	lea    0xa0(%rsp),%r11
14000431c:	00
14000431d:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140004321:	49 8b 73 18          	mov    0x18(%r11),%rsi
140004325:	49 8b e3             	mov    %r11,%rsp
140004328:	5f                   	pop    %rdi
140004329:	c3                   	ret
14000432a:	cc                   	int3
14000432b:	24 06                	and    $0x6,%al
14000432d:	41 b9 20 28 00 00    	mov    $0x2820,%r9d
140004333:	3c 02                	cmp    $0x2,%al
140004335:	b9 20 38 00 00       	mov    $0x3820,%ecx
14000433a:	44 0f 44 c9          	cmove  %ecx,%r9d
14000433e:	eb 96                	jmp    0x1400042d6
140004340:	cc                   	int3
140004341:	cc                   	int3
140004342:	cc                   	int3
140004343:	cc                   	int3
140004344:	cc                   	int3
140004345:	cc                   	int3
140004346:	cc                   	int3
140004347:	cc                   	int3
140004348:	40 53                	rex push %rbx
14000434a:	48 81 ec 80 01 00 00 	sub    $0x180,%rsp
140004351:	48 8b 05 18 4b 02 00 	mov    0x24b18(%rip),%rax        # 0x140028e70
140004358:	48 33 c4             	xor    %rsp,%rax
14000435b:	48 89 84 24 70 01 00 	mov    %rax,0x170(%rsp)
140004362:	00
140004363:	48 8b da             	mov    %rdx,%rbx
140004366:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14000436b:	33 d2                	xor    %edx,%edx
14000436d:	41 b8 48 01 00 00    	mov    $0x148,%r8d
140004373:	e8 f7 e7 00 00       	call   0x140012b6f
140004378:	0f 28 03             	movaps (%rbx),%xmm0
14000437b:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140004380:	0f 28 4b 10          	movaps 0x10(%rbx),%xmm1
140004384:	48 8b 0d b5 52 02 00 	mov    0x252b5(%rip),%rcx        # 0x140029640
14000438b:	0f 29 44 24 50       	movaps %xmm0,0x50(%rsp)
140004390:	0f 28 43 20          	movaps 0x20(%rbx),%xmm0
140004394:	0f 29 44 24 70       	movaps %xmm0,0x70(%rsp)
140004399:	0f 28 43 40          	movaps 0x40(%rbx),%xmm0
14000439d:	0f 29 4c 24 60       	movaps %xmm1,0x60(%rsp)
1400043a2:	0f 28 4b 30          	movaps 0x30(%rbx),%xmm1
1400043a6:	0f 29 84 24 90 00 00 	movaps %xmm0,0x90(%rsp)
1400043ad:	00
1400043ae:	f2 0f 10 43 60       	movsd  0x60(%rbx),%xmm0
1400043b3:	0f 29 8c 24 80 00 00 	movaps %xmm1,0x80(%rsp)
1400043ba:	00
1400043bb:	0f 28 4b 50          	movaps 0x50(%rbx),%xmm1
1400043bf:	f2 0f 11 84 24 b0 00 	movsd  %xmm0,0xb0(%rsp)
1400043c6:	00 00
1400043c8:	0f 29 8c 24 a0 00 00 	movaps %xmm1,0xa0(%rsp)
1400043cf:	00
1400043d0:	c6 84 24 b8 00 00 00 	movb   $0x0,0xb8(%rsp)
1400043d7:	00
1400043d8:	c7 44 24 48 03 00 00 	movl   $0x3,0x48(%rsp)
1400043df:	00
1400043e0:	48 ff 15 79 6f 01 00 	rex.W call *0x16f79(%rip)        # 0x14001b360
1400043e7:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400043ec:	48 8b 8c 24 70 01 00 	mov    0x170(%rsp),%rcx
1400043f3:	00
1400043f4:	48 33 cc             	xor    %rsp,%rcx
1400043f7:	e8 84 a5 00 00       	call   0x14000e980
1400043fc:	48 81 c4 80 01 00 00 	add    $0x180,%rsp
140004403:	5b                   	pop    %rbx
140004404:	c3                   	ret
140004405:	cc                   	int3
140004406:	cc                   	int3
140004407:	cc                   	int3
140004408:	cc                   	int3
140004409:	cc                   	int3
14000440a:	cc                   	int3
14000440b:	cc                   	int3
14000440c:	48 8b c4             	mov    %rsp,%rax
14000440f:	48 89 58 08          	mov    %rbx,0x8(%rax)
140004413:	48 89 70 10          	mov    %rsi,0x10(%rax)
140004417:	48 89 78 18          	mov    %rdi,0x18(%rax)
14000441b:	4c 89 70 20          	mov    %r14,0x20(%rax)
14000441f:	55                   	push   %rbp
140004420:	48 8d 68 a9          	lea    -0x57(%rax),%rbp
140004424:	48 81 ec d0 00 00 00 	sub    $0xd0,%rsp
14000442b:	4c 8b f2             	mov    %rdx,%r14
14000442e:	49 8b f0             	mov    %r8,%rsi
140004431:	33 d2                	xor    %edx,%edx
140004433:	48 8b f9             	mov    %rcx,%rdi
140004436:	48 8d 4d df          	lea    -0x21(%rbp),%rcx
14000443a:	41 8b d9             	mov    %r9d,%ebx
14000443d:	44 8d 42 68          	lea    0x68(%rdx),%r8d
140004441:	e8 29 e7 00 00       	call   0x140012b6f
140004446:	4c 8b c7             	mov    %rdi,%r8
140004449:	48 8d 0d 60 7a 01 00 	lea    0x17a60(%rip),%rcx        # 0x14001beb0
140004450:	8b d3                	mov    %ebx,%edx
140004452:	e8 3d 0c 00 00       	call   0x140005094
140004457:	8b 45 7f             	mov    0x7f(%rbp),%eax
14000445a:	a8 10                	test   $0x10,%al
14000445c:	0f 85 f8 06 01 00    	jne    0x140014b5a
140004462:	48 8d 4d df          	lea    -0x21(%rbp),%rcx
140004466:	83 c8 20             	or     $0x20,%eax
140004469:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
14000446e:	4c 8b c6             	mov    %rsi,%r8
140004471:	89 44 24 28          	mov    %eax,0x28(%rsp)
140004475:	48 8b cf             	mov    %rdi,%rcx
140004478:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14000447e:	49 8b d6             	mov    %r14,%rdx
140004481:	e8 d6 08 00 00       	call   0x140004d5c
140004486:	8b d8                	mov    %eax,%ebx
140004488:	85 c0                	test   %eax,%eax
14000448a:	0f 88 a4 00 00 00    	js     0x140004534
140004490:	48 8b 05 a9 50 02 00 	mov    0x250a9(%rip),%rax        # 0x140029540
140004497:	48 8b 4d f7          	mov    -0x9(%rbp),%rcx
14000449b:	48 89 48 08          	mov    %rcx,0x8(%rax)
14000449f:	83 7d 27 01          	cmpl   $0x1,0x27(%rbp)
1400044a3:	0f 85 bb 06 01 00    	jne    0x140014b64
1400044a9:	48 8b 4d ef          	mov    -0x11(%rbp),%rcx
1400044ad:	33 d2                	xor    %edx,%edx
1400044af:	48 ff 15 42 6b 01 00 	rex.W call *0x16b42(%rip)        # 0x14001aff8
1400044b6:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400044bb:	8b d8                	mov    %eax,%ebx
1400044bd:	85 c0                	test   %eax,%eax
1400044bf:	0f 88 e7 06 01 00    	js     0x140014bac
1400044c5:	48 8b 05 7c 50 02 00 	mov    0x2507c(%rip),%rax        # 0x140029548
1400044cc:	48 8d 55 c7          	lea    -0x39(%rbp),%rdx
1400044d0:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400044d6:	45 33 c9             	xor    %r9d,%r9d
1400044d9:	48 89 45 c7          	mov    %rax,-0x39(%rbp)
1400044dd:	48 8b 45 e7          	mov    -0x19(%rbp),%rax
1400044e1:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
1400044e5:	45 8d 41 01          	lea    0x1(%r9),%r8d
1400044e9:	41 8d 49 02          	lea    0x2(%r9),%ecx
1400044ed:	48 ff 15 dc 6d 01 00 	rex.W call *0x16ddc(%rip)        # 0x14001b2d0
1400044f4:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400044f9:	8b d8                	mov    %eax,%ebx
1400044fb:	85 c0                	test   %eax,%eax
1400044fd:	0f 88 a9 06 01 00    	js     0x140014bac
140004503:	83 f8 01             	cmp    $0x1,%eax
140004506:	0f 84 67 06 01 00    	je     0x140014b73
14000450c:	48 8b 05 2d 50 02 00 	mov    0x2502d(%rip),%rax        # 0x140029540
140004513:	33 c9                	xor    %ecx,%ecx
140004515:	45 33 c9             	xor    %r9d,%r9d
140004518:	45 33 c0             	xor    %r8d,%r8d
14000451b:	48 89 48 08          	mov    %rcx,0x8(%rax)
14000451f:	8d 51 44             	lea    0x44(%rcx),%edx
140004522:	48 8b 4d e7          	mov    -0x19(%rbp),%rcx
140004526:	48 ff 15 53 6a 01 00 	rex.W call *0x16a53(%rip)        # 0x14001af80
14000452d:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140004532:	33 db                	xor    %ebx,%ebx
140004534:	8b d3                	mov    %ebx,%edx
140004536:	48 8d 0d 63 79 01 00 	lea    0x17963(%rip),%rcx        # 0x14001bea0
14000453d:	e8 fa 0a 00 00       	call   0x14000503c
140004542:	4c 8d 9c 24 d0 00 00 	lea    0xd0(%rsp),%r11
140004549:	00
14000454a:	8b c3                	mov    %ebx,%eax
14000454c:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140004550:	49 8b 73 18          	mov    0x18(%r11),%rsi
140004554:	49 8b 7b 20          	mov    0x20(%r11),%rdi
140004558:	4d 8b 73 28          	mov    0x28(%r11),%r14
14000455c:	49 8b e3             	mov    %r11,%rsp
14000455f:	5d                   	pop    %rbp
140004560:	c3                   	ret
140004561:	cc                   	int3
140004562:	cc                   	int3
140004563:	cc                   	int3
140004564:	cc                   	int3
140004565:	cc                   	int3
140004566:	cc                   	int3
140004567:	cc                   	int3
140004568:	48 8b c4             	mov    %rsp,%rax
14000456b:	48 89 58 08          	mov    %rbx,0x8(%rax)
14000456f:	48 89 70 10          	mov    %rsi,0x10(%rax)
140004573:	48 89 78 18          	mov    %rdi,0x18(%rax)
140004577:	44 89 48 20          	mov    %r9d,0x20(%rax)
14000457b:	55                   	push   %rbp
14000457c:	41 56                	push   %r14
14000457e:	41 57                	push   %r15
140004580:	48 8b ec             	mov    %rsp,%rbp
140004583:	48 83 ec 70          	sub    $0x70,%rsp
140004587:	44 8b f2             	mov    %edx,%r14d