14030612e:	8b 68 0c             	mov    0xc(%rax),%ebp
140306131:	44 8b 68 10          	mov    0x10(%rax),%r13d
140306135:	41 0f af df          	imul   %r15d,%ebx
140306139:	41 0f af d8          	imul   %r8d,%ebx
14030613d:	48 83 fa 08          	cmp    $0x8,%rdx
140306141:	0f 87 84 00 00 00    	ja     0x1403061cb
140306147:	33 f6                	xor    %esi,%esi
140306149:	48 85 ed             	test   %rbp,%rbp
14030614c:	74 59                	je     0x1403061a7
14030614e:	49 8b 09             	mov    (%r9),%rcx
140306151:	45 33 c0             	xor    %r8d,%r8d
140306154:	83 64 24 30 00       	andl   $0x0,0x30(%rsp)
140306159:	45 33 c9             	xor    %r9d,%r9d
14030615c:	8b d7                	mov    %edi,%edx
14030615e:	48 8b 01             	mov    (%rcx),%rax
140306161:	48 8b 40 10          	mov    0x10(%rax),%rax
140306165:	ff 15 cd 6a 80 00    	call   *0x806acd(%rip)        # 0x140b0cc38
14030616b:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140306170:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
140306175:	44 8b c3             	mov    %ebx,%r8d
140306178:	49 8b d6             	mov    %r14,%rdx
14030617b:	48 8b 08             	mov    (%rax),%rcx
14030617e:	48 8b 01             	mov    (%rcx),%rax
140306181:	48 8b 40 38          	mov    0x38(%rax),%rax
140306185:	ff 15 ad 6a 80 00    	call   *0x806aad(%rip)        # 0x140b0cc38
14030618b:	39 5c 24 30          	cmp    %ebx,0x30(%rsp)
14030618f:	0f 85 ca 00 00 00    	jne    0x14030625f
140306195:	4c 8b 4c 24 38       	mov    0x38(%rsp),%r9
14030619a:	03 fb                	add    %ebx,%edi
14030619c:	48 ff c6             	inc    %rsi
14030619f:	4d 03 f5             	add    %r13,%r14
1403061a2:	48 3b f5             	cmp    %rbp,%rsi
1403061a5:	72 a7                	jb     0x14030614e
1403061a7:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
1403061ae:	00
1403061af:	48 33 cc             	xor    %rsp,%rcx
1403061b2:	e8 29 94 7e 00       	call   0x140aef5e0
1403061b7:	48 81 c4 a8 00 00 00 	add    $0xa8,%rsp
1403061be:	41 5f                	pop    %r15
1403061c0:	41 5e                	pop    %r14
1403061c2:	41 5d                	pop    %r13
1403061c4:	41 5c                	pop    %r12
1403061c6:	5f                   	pop    %rdi
1403061c7:	5e                   	pop    %rsi
1403061c8:	5d                   	pop    %rbp
1403061c9:	5b                   	pop    %rbx
1403061ca:	c3                   	ret
1403061cb:	45 0f af f8          	imul   %r8d,%r15d
1403061cf:	45 33 f6             	xor    %r14d,%r14d
1403061d2:	48 85 ed             	test   %rbp,%rbp
1403061d5:	74 d0                	je     0x1403061a7
1403061d7:	45 33 e4             	xor    %r12d,%r12d
1403061da:	49 8b 02             	mov    (%r10),%rax
1403061dd:	45 33 c0             	xor    %r8d,%r8d
1403061e0:	49 8b 09             	mov    (%r9),%rcx
1403061e3:	8b d7                	mov    %edi,%edx
1403061e5:	45 33 c9             	xor    %r9d,%r9d
1403061e8:	48 8b 70 18          	mov    0x18(%rax),%rsi
1403061ec:	83 64 24 30 00       	andl   $0x0,0x30(%rsp)
1403061f1:	49 03 f4             	add    %r12,%rsi
1403061f4:	48 8b 01             	mov    (%rcx),%rax
1403061f7:	48 8b 40 10          	mov    0x10(%rax),%rax
1403061fb:	ff 15 37 6a 80 00    	call   *0x806a37(%rip)        # 0x140b0cc38
140306201:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140306206:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
14030620b:	44 8b c3             	mov    %ebx,%r8d
14030620e:	48 8b d6             	mov    %rsi,%rdx
140306211:	48 8b 08             	mov    (%rax),%rcx
140306214:	48 8b 01             	mov    (%rcx),%rax
140306217:	48 8b 40 38          	mov    0x38(%rax),%rax
14030621b:	ff 15 17 6a 80 00    	call   *0x806a17(%rip)        # 0x140b0cc38
140306221:	39 5c 24 30          	cmp    %ebx,0x30(%rsp)
140306225:	75 59                	jne    0x140306280
140306227:	41 8b cf             	mov    %r15d,%ecx
14030622a:	45 85 ff             	test   %r15d,%r15d
14030622d:	74 14                	je     0x140306243
14030622f:	0f b7 06             	movzwl (%rsi),%eax
140306232:	66 c1 c8 08          	ror    $0x8,%ax
140306236:	66 89 06             	mov    %ax,(%rsi)
140306239:	48 8d 76 02          	lea    0x2(%rsi),%rsi
14030623d:	48 83 e9 01          	sub    $0x1,%rcx
140306241:	75 ec                	jne    0x14030622f
140306243:	4c 8b 4c 24 38       	mov    0x38(%rsp),%r9
140306248:	03 fb                	add    %ebx,%edi
14030624a:	4c 8b 54 24 40       	mov    0x40(%rsp),%r10
14030624f:	49 ff c6             	inc    %r14
140306252:	4d 03 e5             	add    %r13,%r12
140306255:	4c 3b f5             	cmp    %rbp,%r14
140306258:	72 80                	jb     0x1403061da
14030625a:	e9 48 ff ff ff       	jmp    0x1403061a7
14030625f:	ba 00 84 04 80       	mov    $0x80048400,%edx
140306264:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140306269:	e8 2a fe fe ff       	call   0x1402f6098
14030626e:	48 8d 15 93 02 93 00 	lea    0x930293(%rip),%rdx        # 0x140c36508
140306275:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14030627a:	e8 ff a1 7e 00       	call   0x140af047e
14030627f:	cc                   	int3
140306280:	ba 00 84 04 80       	mov    $0x80048400,%edx
140306285:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14030628a:	e8 09 fe fe ff       	call   0x1402f6098
14030628f:	48 8d 15 72 02 93 00 	lea    0x930272(%rip),%rdx        # 0x140c36508
140306296:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14030629b:	e8 de a1 7e 00       	call   0x140af047e
1403062a0:	cc                   	int3
1403062a1:	90                   	nop
1403062a2:	90                   	nop
1403062a3:	90                   	nop
1403062a4:	90                   	nop
1403062a5:	90                   	nop
1403062a6:	90                   	nop
1403062a7:	90                   	nop
1403062a8:	90                   	nop
1403062a9:	90                   	nop
1403062aa:	90                   	nop
1403062ab:	90                   	nop
1403062ac:	90                   	nop
1403062ad:	90                   	nop
1403062ae:	90                   	nop
1403062af:	90                   	nop
1403062b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1403062b5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1403062ba:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1403062bf:	55                   	push   %rbp
1403062c0:	41 54                	push   %r12
1403062c2:	41 55                	push   %r13
1403062c4:	41 56                	push   %r14
1403062c6:	41 57                	push   %r15
1403062c8:	48 8b ec             	mov    %rsp,%rbp
1403062cb:	48 83 ec 50          	sub    $0x50,%rsp
1403062cf:	49 8b f9             	mov    %r9,%rdi
1403062d2:	45 8b f8             	mov    %r8d,%r15d
1403062d5:	4c 8b e2             	mov    %rdx,%r12
1403062d8:	4c 8b e9             	mov    %rcx,%r13
1403062db:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1403062df:	49 83 f9 04          	cmp    $0x4,%r9
1403062e3:	0f 85 1a 01 00 00    	jne    0x140306403
1403062e9:	0f 57 c0             	xorps  %xmm0,%xmm0
1403062ec:	f3 0f 7f 45 e0       	movdqu %xmm0,-0x20(%rbp)
1403062f1:	33 db                	xor    %ebx,%ebx
1403062f3:	48 89 5d f0          	mov    %rbx,-0x10(%rbp)
1403062f7:	be 00 01 00 00       	mov    $0x100,%esi
1403062fc:	8b d6                	mov    %esi,%edx
1403062fe:	e8 b9 91 e1 ff       	call   0x14011f4bc
140306303:	33 d2                	xor    %edx,%edx
140306305:	41 b8 00 02 00 00    	mov    $0x200,%r8d
14030630b:	48 8b 7d e0          	mov    -0x20(%rbp),%rdi
14030630f:	48 8b cf             	mov    %rdi,%rcx
140306312:	e8 55 a1 7e 00       	call   0x140af046c
140306317:	4c 8d 9f 00 02 00 00 	lea    0x200(%rdi),%r11
14030631e:	4c 89 5d e8          	mov    %r11,-0x18(%rbp)
140306322:	0f b7 d3             	movzwl %bx,%edx
140306325:	4c 2b df             	sub    %rdi,%r11
140306328:	49 d1 fb             	sar    $1,%r11
14030632b:	44 8d 73 01          	lea    0x1(%rbx),%r14d
14030632f:	0f b7 ca             	movzwl %dx,%ecx
140306332:	66 83 e1 0f          	and    $0xf,%cx
140306336:	44 0f b7 d2          	movzwl %dx,%r10d
14030633a:	66 41 c1 ea 04       	shr    $0x4,%r10w
14030633f:	44 0f b7 ca          	movzwl %dx,%r9d
140306343:	4d 3b cb             	cmp    %r11,%r9
140306346:	0f 83 b0 00 00 00    	jae    0x1403063fc
14030634c:	b8 00 11 00 00       	mov    $0x1100,%eax
140306351:	44 0f b7 c1          	movzwl %cx,%r8d
140306355:	44 0f af c0          	imul   %eax,%r8d
140306359:	41 0f b7 c2          	movzwl %r10w,%eax
14030635d:	6b c8 11             	imul   $0x11,%eax,%ecx
140306360:	66 44 0b c1          	or     %cx,%r8w
140306364:	66 46 89 04 4f       	mov    %r8w,(%rdi,%r9,2)
140306369:	8b 45 50             	mov    0x50(%rbp),%eax
14030636c:	83 f8 02             	cmp    $0x2,%eax
14030636f:	75 09                	jne    0x14030637a
140306371:	66 41 f7 d0          	not    %r8w
140306375:	66 46 89 04 4f       	mov    %r8w,(%rdi,%r9,2)
14030637a:	66 41 03 d6          	add    %r14w,%dx
14030637e:	66 3b d6             	cmp    %si,%dx
140306381:	72 ac                	jb     0x14030632f
140306383:	89 44 24 28          	mov    %eax,0x28(%rsp)
140306387:	48 c7 44 24 20 04 00 	movq   $0x4,0x20(%rsp)
14030638e:	00 00
140306390:	45 8b cf             	mov    %r15d,%r9d
140306393:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
140306397:	49 8b d4             	mov    %r12,%rdx
14030639a:	49 8b cd             	mov    %r13,%rcx
14030639d:	e8 82 3e 00 00       	call   0x14030a224
1403063a2:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
1403063a6:	48 85 c9             	test   %rcx,%rcx
1403063a9:	74 33                	je     0x1403063de
1403063ab:	48 8b d1             	mov    %rcx,%rdx
1403063ae:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
1403063b2:	48 2b c1             	sub    %rcx,%rax
1403063b5:	48 d1 f8             	sar    $1,%rax
1403063b8:	48 03 c0             	add    %rax,%rax
1403063bb:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1403063c1:	72 15                	jb     0x1403063d8
1403063c3:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1403063c7:	48 2b d1             	sub    %rcx,%rdx
1403063ca:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
1403063ce:	48 83 f8 1f          	cmp    $0x1f,%rax
1403063d2:	0f 87 09 01 00 00    	ja     0x1403064e1
1403063d8:	ff 15 e2 64 80 00    	call   *0x8064e2(%rip)        # 0x140b0c8c0
1403063de:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
1403063e3:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1403063e7:	49 8b 73 38          	mov    0x38(%r11),%rsi
1403063eb:	49 8b 7b 40          	mov    0x40(%r11),%rdi
1403063ef:	49 8b e3             	mov    %r11,%rsp
1403063f2:	41 5f                	pop    %r15
1403063f4:	41 5e                	pop    %r14
1403063f6:	41 5d                	pop    %r13
1403063f8:	41 5c                	pop    %r12
1403063fa:	5d                   	pop    %rbp
1403063fb:	c3                   	ret
1403063fc:	ff 15 96 65 80 00    	call   *0x806596(%rip)        # 0x140b0c998
140306402:	90                   	nop
140306403:	ba 00 01 00 00       	mov    $0x100,%edx
140306408:	e8 0b 2b e7 ff       	call   0x140178f18
14030640d:	33 db                	xor    %ebx,%ebx
14030640f:	8b cb                	mov    %ebx,%ecx
140306411:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
140306415:	4c 8b 4d e0          	mov    -0x20(%rbp),%r9
140306419:	4d 2b c1             	sub    %r9,%r8
14030641c:	49 c1 f8 02          	sar    $0x2,%r8
140306420:	44 8d 73 01          	lea    0x1(%rbx),%r14d
140306424:	0f b6 c1             	movzbl %cl,%eax
140306427:	44 8b d8             	mov    %eax,%r11d
14030642a:	41 c1 eb 06          	shr    $0x6,%r11d
14030642e:	c0 e0 02             	shl    $0x2,%al
140306431:	0f b6 f0             	movzbl %al,%esi
140306434:	c1 ee 06             	shr    $0x6,%esi
140306437:	c0 e0 02             	shl    $0x2,%al
14030643a:	0f b6 d0             	movzbl %al,%edx
14030643d:	c1 ea 06             	shr    $0x6,%edx
140306440:	89 55 48             	mov    %edx,0x48(%rbp)
140306443:	c0 e0 02             	shl    $0x2,%al
140306446:	0f b6 d0             	movzbl %al,%edx
140306449:	c1 ea 06             	shr    $0x6,%edx
14030644c:	4c 63 d1             	movslq %ecx,%r10
14030644f:	4d 3b d0             	cmp    %r8,%r10
140306452:	0f 83 98 00 00 00    	jae    0x1403064f0
140306458:	69 d2 00 00 00 55    	imul   $0x55000000,%edx,%edx
14030645e:	69 c6 00 55 00 00    	imul   $0x5500,%esi,%eax
140306464:	0b d0                	or     %eax,%edx
140306466:	69 45 48 00 00 55 00 	imul   $0x550000,0x48(%rbp),%eax
14030646d:	0b d0                	or     %eax,%edx
14030646f:	41 6b c3 55          	imul   $0x55,%r11d,%eax
140306473:	0b d0                	or     %eax,%edx
140306475:	43 89 14 91          	mov    %edx,(%r9,%r10,4)
140306479:	8b 45 50             	mov    0x50(%rbp),%eax
14030647c:	83 f8 02             	cmp    $0x2,%eax
14030647f:	75 06                	jne    0x140306487
140306481:	f7 d2                	not    %edx
140306483:	43 89 14 91          	mov    %edx,(%r9,%r10,4)
140306487:	41 03 ce             	add    %r14d,%ecx
14030648a:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
140306490:	7e 92                	jle    0x140306424
140306492:	89 44 24 28          	mov    %eax,0x28(%rsp)
140306496:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14030649b:	45 8b cf             	mov    %r15d,%r9d
14030649e:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
1403064a2:	49 8b d4             	mov    %r12,%rdx
1403064a5:	49 8b cd             	mov    %r13,%rcx
1403064a8:	e8 a3 3f 00 00       	call   0x14030a450
1403064ad:	48 8b 55 e0          	mov    -0x20(%rbp),%rdx
1403064b1:	48 85 d2             	test   %rdx,%rdx
1403064b4:	0f 84 24 ff ff ff    	je     0x1403063de
1403064ba:	48 8b ca             	mov    %rdx,%rcx
1403064bd:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
1403064c1:	48 2b c2             	sub    %rdx,%rax
1403064c4:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1403064c8:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1403064ce:	72 18                	jb     0x1403064e8
1403064d0:	48 8b 52 f8          	mov    -0x8(%rdx),%rdx
1403064d4:	48 2b ca             	sub    %rdx,%rcx
1403064d7:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1403064db:	48 83 f8 1f          	cmp    $0x1f,%rax
1403064df:	76 07                	jbe    0x1403064e8
1403064e1:	ff 15 b1 64 80 00    	call   *0x8064b1(%rip)        # 0x140b0c998
1403064e7:	cc                   	int3
1403064e8:	48 8b ca             	mov    %rdx,%rcx
1403064eb:	e9 e8 fe ff ff       	jmp    0x1403063d8
1403064f0:	ff 15 a2 64 80 00    	call   *0x8064a2(%rip)        # 0x140b0c998
1403064f6:	cc                   	int3
1403064f7:	90                   	nop
1403064f8:	48 8b c4             	mov    %rsp,%rax
1403064fb:	53                   	push   %rbx
1403064fc:	56                   	push   %rsi
1403064fd:	57                   	push   %rdi
1403064fe:	41 54                	push   %r12
140306500:	41 55                	push   %r13
140306502:	41 56                	push   %r14
140306504:	41 57                	push   %r15
140306506:	48 81 ec a0 01 00 00 	sub    $0x1a0,%rsp
14030650d:	0f 29 70 b8          	movaps %xmm6,-0x48(%rax)
140306511:	48 8b 05 28 8b 9b 00 	mov    0x9b8b28(%rip),%rax        # 0x140cbf040
140306518:	48 33 c4             	xor    %rsp,%rax
14030651b:	48 89 84 24 80 01 00 	mov    %rax,0x180(%rsp)
140306522:	00
140306523:	4d 8b e9             	mov    %r9,%r13
140306526:	4d 8b f8             	mov    %r8,%r15
140306529:	48 8b da             	mov    %rdx,%rbx
14030652c:	48 8b f1             	mov    %rcx,%rsi
14030652f:	4c 8b a4 24 00 02 00 	mov    0x200(%rsp),%r12
140306536:	00
140306537:	49 8b 01             	mov    (%r9),%rax
14030653a:	8b 78 08             	mov    0x8(%rax),%edi
14030653d:	8b 40 0c             	mov    0xc(%rax),%eax
140306540:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140306545:	41 be 01 00 00 00    	mov    $0x1,%r14d
14030654b:	80 bc 24 08 02 00 00 	cmpb   $0x0,0x208(%rsp)
140306552:	00
140306553:	75 13                	jne    0x140306568
140306555:	48 8b 0a             	mov    (%rdx),%rcx
140306558:	48 8b 01             	mov    (%rcx),%rax
14030655b:	48 8b 40 20          	mov    0x20(%rax),%rax
14030655f:	ff 15 d3 66 80 00    	call   *0x8066d3(%rip)        # 0x140b0cc38
140306565:	44 8b f0             	mov    %eax,%r14d
140306568:	49 8b 17             	mov    (%r15),%rdx
14030656b:	48 8b 0a             	mov    (%rdx),%rcx
14030656e:	48 8b 41 28          	mov    0x28(%rcx),%rax
140306572:	48 8b ca             	mov    %rdx,%rcx
140306575:	ff 15 bd 66 80 00    	call   *0x8066bd(%rip)        # 0x140b0cc38
14030657b:	44 8b c0             	mov    %eax,%r8d
14030657e:	41 8b ce             	mov    %r14d,%ecx
140306581:	45 33 c9             	xor    %r9d,%r9d
140306584:	4c 89 4c 24 48       	mov    %r9,0x48(%rsp)
140306589:	48 8b c7             	mov    %rdi,%rax
14030658c:	48 f7 e1             	mul    %rcx
14030658f:	48 8b c8             	mov    %rax,%rcx
140306592:	48 85 d2             	test   %rdx,%rdx
140306595:	0f 85 c8 04 00 00    	jne    0x140306a63
14030659b:	4c 89 4c 24 48       	mov    %r9,0x48(%rsp)
1403065a0:	48 8b c6             	mov    %rsi,%rax
1403065a3:	48 f7 e1             	mul    %rcx
1403065a6:	48 85 d2             	test   %rdx,%rdx
1403065a9:	0f 85 b4 04 00 00    	jne    0x140306a63
1403065af:	48 8d 48 07          	lea    0x7(%rax),%rcx
1403065b3:	48 3b c8             	cmp    %rax,%rcx
1403065b6:	0f 82 a7 04 00 00    	jb     0x140306a63
1403065bc:	48 8b d1             	mov    %rcx,%rdx
1403065bf:	48 c1 ea 03          	shr    $0x3,%rdx
1403065c3:	48 f7 d9             	neg    %rcx
1403065c6:	48 1b c9             	sbb    %rcx,%rcx
1403065c9:	48 23 ca             	and    %rdx,%rcx
1403065cc:	4c 89 4c 24 48       	mov    %r9,0x48(%rsp)
1403065d1:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1403065d6:	48 f7 e1             	mul    %rcx
1403065d9:	48 85 d2             	test   %rdx,%rdx
1403065dc:	0f 85 81 04 00 00    	jne    0x140306a63
1403065e2:	49 3b c0             	cmp    %r8,%rax
1403065e5:	0f 87 82 04 00 00    	ja     0x140306a6d
1403065eb:	44 88 4c 24 40       	mov    %r9b,0x40(%rsp)