14087e643:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14087e647:	48 85 db             	test   %rbx,%rbx
14087e64a:	0f 84 df 00 00 00    	je     0x14087e72f
14087e650:	48 8b 0f             	mov    (%rdi),%rcx
14087e653:	48 85 c9             	test   %rcx,%rcx
14087e656:	74 29                	je     0x14087e681
14087e658:	0f b7 51 14          	movzwl 0x14(%rcx),%edx
14087e65c:	41 b8 02 02 00 00    	mov    $0x202,%r8d
14087e662:	0f b7 c2             	movzwl %dx,%eax
14087e665:	66 41 23 c0          	and    %r8w,%ax
14087e669:	66 41 3b c0          	cmp    %r8w,%ax
14087e66d:	75 06                	jne    0x14087e675
14087e66f:	80 79 16 01          	cmpb   $0x1,0x16(%rcx)
14087e673:	74 0c                	je     0x14087e681
14087e675:	f6 c2 01             	test   $0x1,%dl
14087e678:	75 07                	jne    0x14087e681
14087e67a:	b2 01                	mov    $0x1,%dl
14087e67c:	e8 cf 96 0a 00       	call   0x140927d50
14087e681:	48 8b 0f             	mov    (%rdi),%rcx
14087e684:	0f b7 41 14          	movzwl 0x14(%rcx),%eax
14087e688:	a8 02                	test   $0x2,%al
14087e68a:	74 0b                	je     0x14087e697
14087e68c:	80 79 16 01          	cmpb   $0x1,0x16(%rcx)
14087e690:	75 05                	jne    0x14087e697
14087e692:	8b 79 10             	mov    0x10(%rcx),%edi
14087e695:	eb 23                	jmp    0x14087e6ba
14087e697:	a8 10                	test   $0x10,%al
14087e699:	74 0e                	je     0x14087e6a9
14087e69b:	66 0f ba e0 0a       	bt     $0xa,%ax
14087e6a0:	8b 79 10             	mov    0x10(%rcx),%edi
14087e6a3:	73 15                	jae    0x14087e6ba
14087e6a5:	03 39                	add    (%rcx),%edi
14087e6a7:	eb 11                	jmp    0x14087e6ba
14087e6a9:	a8 01                	test   $0x1,%al
14087e6ab:	74 04                	je     0x14087e6b1
14087e6ad:	33 ff                	xor    %edi,%edi
14087e6af:	eb 09                	jmp    0x14087e6ba
14087e6b1:	b2 01                	mov    $0x1,%dl
14087e6b3:	e8 18 8d 0a 00       	call   0x1409273d0
14087e6b8:	8b f8                	mov    %eax,%edi
14087e6ba:	8b 53 20             	mov    0x20(%rbx),%edx
14087e6bd:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
14087e6c1:	ff ca                	dec    %edx
14087e6c3:	89 53 20             	mov    %edx,0x20(%rbx)
14087e6c6:	48 85 c9             	test   %rcx,%rcx
14087e6c9:	74 1b                	je     0x14087e6e6
14087e6cb:	85 d2                	test   %edx,%edx
14087e6cd:	7e 1a                	jle    0x14087e6e9
14087e6cf:	03 39                	add    (%rcx),%edi
14087e6d1:	8d 42 ff             	lea    -0x1(%rdx),%eax
14087e6d4:	4c 63 c0             	movslq %eax,%r8
14087e6d7:	48 8d 51 04          	lea    0x4(%rcx),%rdx
14087e6db:	49 c1 e0 02          	shl    $0x2,%r8
14087e6df:	e8 2c 09 66 00       	call   0x140edf010
14087e6e4:	eb 03                	jmp    0x14087e6e9
14087e6e6:	03 7b 24             	add    0x24(%rbx),%edi
14087e6e9:	8b 43 18             	mov    0x18(%rbx),%eax
14087e6ec:	3b f8                	cmp    %eax,%edi
14087e6ee:	7c 09                	jl     0x14087e6f9
14087e6f0:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%rbx)
14087e6f7:	eb 18                	jmp    0x14087e711
14087e6f9:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14087e6fd:	2b c7                	sub    %edi,%eax
14087e6ff:	44 8b c0             	mov    %eax,%r8d
14087e702:	48 63 d7             	movslq %edi,%rdx
14087e705:	48 03 d1             	add    %rcx,%rdx
14087e708:	44 89 43 18          	mov    %r8d,0x18(%rbx)
14087e70c:	e8 ff 08 66 00       	call   0x140edf010
14087e711:	83 7b 18 00          	cmpl   $0x0,0x18(%rbx)
14087e715:	75 18                	jne    0x14087e72f
14087e717:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
14087e71b:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%rbx)
14087e722:	e8 29 d4 00 00       	call   0x14088bb50
14087e727:	48 c7 43 28 00 00 00 	movq   $0x0,0x28(%rbx)
14087e72e:	00
14087e72f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14087e734:	48 83 c4 20          	add    $0x20,%rsp
14087e738:	5f                   	pop    %rdi
14087e739:	c3                   	ret
14087e73a:	cc                   	int3
14087e73b:	cc                   	int3
14087e73c:	cc                   	int3
14087e73d:	cc                   	int3
14087e73e:	cc                   	int3
14087e73f:	cc                   	int3
14087e740:	40 53                	rex push %rbx
14087e742:	48 83 ec 20          	sub    $0x20,%rsp
14087e746:	8d 8a e7 03 00 00    	lea    0x3e7(%rdx),%ecx
14087e74c:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
14087e751:	f7 e9                	imul   %ecx
14087e753:	8b da                	mov    %edx,%ebx
14087e755:	c1 fb 06             	sar    $0x6,%ebx
14087e758:	8b c3                	mov    %ebx,%eax
14087e75a:	c1 e8 1f             	shr    $0x1f,%eax
14087e75d:	03 d8                	add    %eax,%ebx
14087e75f:	48 8b 05 0a fb b2 00 	mov    0xb2fb0a(%rip),%rax        # 0x1413ae270
14087e766:	8b cb                	mov    %ebx,%ecx
14087e768:	ff 15 b2 52 70 00    	call   *0x7052b2(%rip)        # 0x140f83a20
14087e76e:	69 c3 e8 03 00 00    	imul   $0x3e8,%ebx,%eax
14087e774:	48 83 c4 20          	add    $0x20,%rsp
14087e778:	5b                   	pop    %rbx
14087e779:	c3                   	ret
14087e77a:	cc                   	int3
14087e77b:	cc                   	int3
14087e77c:	cc                   	int3
14087e77d:	cc                   	int3
14087e77e:	cc                   	int3
14087e77f:	cc                   	int3
14087e780:	40 53                	rex push %rbx
14087e782:	48 83 ec 20          	sub    $0x20,%rsp
14087e786:	48 8b 05 8b f8 b2 00 	mov    0xb2f88b(%rip),%rax        # 0x1413ae018
14087e78d:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
14087e792:	48 8b da             	mov    %rdx,%rbx
14087e795:	ff 15 85 52 70 00    	call   *0x705285(%rip)        # 0x140f83a20
14087e79b:	8b 44 24 38          	mov    0x38(%rsp),%eax
14087e79f:	8b 4c 24 3c          	mov    0x3c(%rsp),%ecx
14087e7a3:	48 c1 e1 20          	shl    $0x20,%rcx
14087e7a7:	48 03 c8             	add    %rax,%rcx
14087e7aa:	48 b8 4b 59 86 38 d6 	movabs $0x346dc5d63886594b,%rax
14087e7b1:	c5 6d 34
14087e7b4:	48 f7 e9             	imul   %rcx
14087e7b7:	48 b8 00 ba 9c 0d 31 	movabs $0xb5310d9cba00,%rax
14087e7be:	b5 00 00
14087e7c1:	48 c1 fa 0b          	sar    $0xb,%rdx
14087e7c5:	48 03 c2             	add    %rdx,%rax
14087e7c8:	48 8b ca             	mov    %rdx,%rcx
14087e7cb:	48 c1 e9 3f          	shr    $0x3f,%rcx
14087e7cf:	48 03 c8             	add    %rax,%rcx
14087e7d2:	48 89 0b             	mov    %rcx,(%rbx)
14087e7d5:	33 c0                	xor    %eax,%eax
14087e7d7:	48 83 c4 20          	add    $0x20,%rsp
14087e7db:	5b                   	pop    %rbx
14087e7dc:	c3                   	ret
14087e7dd:	cc                   	int3
14087e7de:	cc                   	int3
14087e7df:	cc                   	int3
14087e7e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14087e7e5:	57                   	push   %rdi
14087e7e6:	48 83 ec 20          	sub    $0x20,%rsp
14087e7ea:	48 8b 59 10          	mov    0x10(%rcx),%rbx
14087e7ee:	48 8b f9             	mov    %rcx,%rdi
14087e7f1:	66 83 7b 14 00       	cmpw   $0x0,0x14(%rbx)
14087e7f6:	7c 0c                	jl     0x14087e804
14087e7f8:	33 d2                	xor    %edx,%edx
14087e7fa:	e8 d1 f2 01 00       	call   0x14089dad0
14087e7ff:	48 8b d8             	mov    %rax,%rbx
14087e802:	eb 04                	jmp    0x14087e808
14087e804:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14087e808:	48 85 db             	test   %rbx,%rbx
14087e80b:	74 14                	je     0x14087e821
14087e80d:	48 8b d3             	mov    %rbx,%rdx
14087e810:	48 8b cf             	mov    %rdi,%rcx
14087e813:	e8 f8 af 07 00       	call   0x1408f9810
14087e818:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
14087e81c:	e8 2f d3 00 00       	call   0x14088bb50
14087e821:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14087e826:	48 83 c4 20          	add    $0x20,%rsp
14087e82a:	5f                   	pop    %rdi
14087e82b:	c3                   	ret
14087e82c:	cc                   	int3
14087e82d:	cc                   	int3
14087e82e:	cc                   	int3
14087e82f:	cc                   	int3
14087e830:	40 53                	rex push %rbx
14087e832:	48 83 ec 30          	sub    $0x30,%rsp
14087e836:	4c 8b 41 10          	mov    0x10(%rcx),%r8
14087e83a:	48 8b d9             	mov    %rcx,%rbx
14087e83d:	66 41 83 78 14 00    	cmpw   $0x0,0x14(%r8)
14087e843:	7c 0c                	jl     0x14087e851
14087e845:	33 d2                	xor    %edx,%edx
14087e847:	e8 84 f2 01 00       	call   0x14089dad0
14087e84c:	4c 8b c0             	mov    %rax,%r8
14087e84f:	eb 04                	jmp    0x14087e855
14087e851:	4d 8b 40 08          	mov    0x8(%r8),%r8
14087e855:	4d 85 c0             	test   %r8,%r8
14087e858:	74 79                	je     0x14087e8d3
14087e85a:	41 0f b6 40 1c       	movzbl 0x1c(%r8),%eax
14087e85f:	3c 12                	cmp    $0x12,%al
14087e861:	75 2d                	jne    0x14087e890
14087e863:	48 8b 0b             	mov    (%rbx),%rcx
14087e866:	33 d2                	xor    %edx,%edx
14087e868:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14087e86d:	41 b1 01             	mov    $0x1,%r9b
14087e870:	48 8d 15 f1 f1 7c 00 	lea    0x7cf1f1(%rip),%rdx        # 0x14104da68
14087e877:	c7 43 24 12 00 00 00 	movl   $0x12,0x24(%rbx)
14087e87e:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
14087e885:	e8 96 4d 09 00       	call   0x140913620
14087e88a:	48 83 c4 30          	add    $0x30,%rsp
14087e88e:	5b                   	pop    %rbx
14087e88f:	c3                   	ret
14087e890:	3c 07                	cmp    $0x7,%al
14087e892:	75 0d                	jne    0x14087e8a1
14087e894:	48 8b cb             	mov    %rbx,%rcx
14087e897:	48 83 c4 30          	add    $0x30,%rsp
14087e89b:	5b                   	pop    %rbx
14087e89c:	e9 8f 10 ff ff       	jmp    0x14086f930
14087e8a1:	41 8b 40 18          	mov    0x18(%r8),%eax
14087e8a5:	85 c0                	test   %eax,%eax
14087e8a7:	74 10                	je     0x14087e8b9
14087e8a9:	8b c8                	mov    %eax,%ecx
14087e8ab:	49 8b 40 08          	mov    0x8(%r8),%rax
14087e8af:	c6 04 01 00          	movb   $0x0,(%rcx,%rax,1)
14087e8b3:	49 8b 50 08          	mov    0x8(%r8),%rdx
14087e8b7:	eb 02                	jmp    0x14087e8bb
14087e8b9:	33 d2                	xor    %edx,%edx
14087e8bb:	45 8b 40 18          	mov    0x18(%r8),%r8d
14087e8bf:	41 b1 01             	mov    $0x1,%r9b
14087e8c2:	48 8b cb             	mov    %rbx,%rcx
14087e8c5:	48 c7 44 24 20 ff ff 	movq   $0xffffffffffffffff,0x20(%rsp)
14087e8cc:	ff ff
14087e8ce:	e8 6d 84 04 00       	call   0x1408c6d40
14087e8d3:	48 83 c4 30          	add    $0x30,%rsp
14087e8d7:	5b                   	pop    %rbx
14087e8d8:	c3                   	ret
14087e8d9:	cc                   	int3
14087e8da:	cc                   	int3
14087e8db:	cc                   	int3
14087e8dc:	cc                   	int3
14087e8dd:	cc                   	int3
14087e8de:	cc                   	int3
14087e8df:	cc                   	int3
14087e8e0:	40 53                	rex push %rbx
14087e8e2:	48 83 ec 20          	sub    $0x20,%rsp
14087e8e6:	48 8b 05 2b f7 b2 00 	mov    0xb2f72b(%rip),%rax        # 0x1413ae018
14087e8ed:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14087e8f2:	48 8b da             	mov    %rdx,%rbx
14087e8f5:	ff 15 25 51 70 00    	call   *0x705125(%rip)        # 0x140f83a20
14087e8fb:	8b 44 24 40          	mov    0x40(%rsp),%eax
14087e8ff:	0f 57 c0             	xorps  %xmm0,%xmm0
14087e902:	8b 4c 24 44          	mov    0x44(%rsp),%ecx
14087e906:	48 c1 e1 20          	shl    $0x20,%rcx
14087e90a:	48 03 c8             	add    %rax,%rcx
14087e90d:	48 b8 4b 59 86 38 d6 	movabs $0x346dc5d63886594b,%rax
14087e914:	c5 6d 34
14087e917:	48 f7 e9             	imul   %rcx
14087e91a:	48 b8 00 ba 9c 0d 31 	movabs $0xb5310d9cba00,%rax
14087e921:	b5 00 00
14087e924:	48 c1 fa 0b          	sar    $0xb,%rdx
14087e928:	48 03 c2             	add    %rdx,%rax
14087e92b:	48 8b ca             	mov    %rdx,%rcx
14087e92e:	48 c1 e9 3f          	shr    $0x3f,%rcx
14087e932:	48 03 c8             	add    %rax,%rcx
14087e935:	33 c0                	xor    %eax,%eax
14087e937:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
14087e93c:	f2 0f 5e 05 ac 51 7d 	divsd  0x7d51ac(%rip),%xmm0        # 0x141053af0
14087e943:	00
14087e944:	f2 0f 11 03          	movsd  %xmm0,(%rbx)
14087e948:	48 83 c4 20          	add    $0x20,%rsp
14087e94c:	5b                   	pop    %rbx
14087e94d:	c3                   	ret
14087e94e:	cc                   	int3
14087e94f:	cc                   	int3
14087e950:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14087e955:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14087e95a:	57                   	push   %rdi
14087e95b:	48 83 ec 20          	sub    $0x20,%rsp
14087e95f:	48 8b 05 52 f6 b2 00 	mov    0xb2f652(%rip),%rax        # 0x1413adfb8
14087e966:	49 8b f0             	mov    %r8,%rsi
14087e969:	8b fa                	mov    %edx,%edi
14087e96b:	ff 15 af 50 70 00    	call   *0x7050af(%rip)        # 0x140f83a20
14087e971:	8b d8                	mov    %eax,%ebx
14087e973:	85 ff                	test   %edi,%edi
14087e975:	7e 0e                	jle    0x14087e985
14087e977:	4c 8b c6             	mov    %rsi,%r8
14087e97a:	8b d7                	mov    %edi,%edx
14087e97c:	8b c8                	mov    %eax,%ecx
14087e97e:	e8 6d 6d 0b 00       	call   0x1409356f0
14087e983:	8b c3                	mov    %ebx,%eax
14087e985:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14087e98a:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14087e98f:	48 83 c4 20          	add    $0x20,%rsp
14087e993:	5f                   	pop    %rdi
14087e994:	c3                   	ret
14087e995:	cc                   	int3
14087e996:	cc                   	int3
14087e997:	cc                   	int3
14087e998:	cc                   	int3
14087e999:	cc                   	int3
14087e99a:	cc                   	int3
14087e99b:	cc                   	int3
14087e99c:	cc                   	int3
14087e99d:	cc                   	int3
14087e99e:	cc                   	int3
14087e99f:	cc                   	int3
14087e9a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14087e9a5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14087e9aa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14087e9af:	57                   	push   %rdi
14087e9b0:	48 83 ec 20          	sub    $0x20,%rsp
14087e9b4:	49 8b 18             	mov    (%r8),%rbx
14087e9b7:	48 8d 2d c2 96 7c 00 	lea    0x7c96c2(%rip),%rbp        # 0x141048080
14087e9be:	49 8b f8             	mov    %r8,%rdi
14087e9c1:	48 8b f1             	mov    %rcx,%rsi
14087e9c4:	0f b7 43 14          	movzwl 0x14(%rbx),%eax
14087e9c8:	83 e0 3f             	and    $0x3f,%eax
14087e9cb:	0f b6 04 28          	movzbl (%rax,%rbp,1),%eax
14087e9cf:	83 f8 03             	cmp    $0x3,%eax
14087e9d2:	75 15                	jne    0x14087e9e9
14087e9d4:	33 d2                	xor    %edx,%edx
14087e9d6:	48 8b cb             	mov    %rbx,%rcx
14087e9d9:	e8 82 2b 01 00       	call   0x140891560
14087e9de:	0f b7 43 14          	movzwl 0x14(%rbx),%eax
14087e9e2:	83 e0 3f             	and    $0x3f,%eax
14087e9e5:	0f b6 04 28          	movzbl (%rax,%rbp,1),%eax
14087e9e9:	ff c8                	dec    %eax
14087e9eb:	83 f8 01             	cmp    $0x1,%eax
14087e9ee:	77 69                	ja     0x14087ea59
14087e9f0:	48 8b 0f             	mov    (%rdi),%rcx
14087e9f3:	0f 57 d2             	xorps  %xmm2,%xmm2
14087e9f6:	0f b7 41 14          	movzwl 0x14(%rcx),%eax
14087e9fa:	a8 08                	test   $0x8,%al
14087e9fc:	74 06                	je     0x14087ea04
14087e9fe:	f2 0f 10 01          	movsd  (%rcx),%xmm0
14087ea02:	eb 1c                	jmp    0x14087ea20
14087ea04:	a8 24                	test   $0x24,%al
14087ea06:	74 0a                	je     0x14087ea12
14087ea08:	0f 57 c0             	xorps  %xmm0,%xmm0
14087ea0b:	f2 48 0f 2a 01       	cvtsi2sdq (%rcx),%xmm0
14087ea10:	eb 0e                	jmp    0x14087ea20
14087ea12:	a8 12                	test   $0x12,%al
14087ea14:	74 07                	je     0x14087ea1d
14087ea16:	e8 c5 4f 03 00       	call   0x1408b39e0
14087ea1b:	eb 03                	jmp    0x14087ea20
14087ea1d:	0f 57 c0             	xorps  %xmm0,%xmm0
14087ea20:	66 0f 2f d0          	comisd %xmm0,%xmm2
14087ea24:	76 09                	jbe    0x14087ea2f
14087ea26:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14087ea2d:	eb 09                	jmp    0x14087ea38
14087ea2f:	33 c0                	xor    %eax,%eax
14087ea31:	66 0f 2f c2          	comisd %xmm2,%xmm0
14087ea35:	0f 97 c0             	seta   %al
14087ea38:	48 8b 0e             	mov    (%rsi),%rcx
14087ea3b:	ba 00 90 00 00       	mov    $0x9000,%edx
14087ea40:	66 85 51 14          	test   %dx,0x14(%rcx)
14087ea44:	74 0a                	je     0x14087ea50
14087ea46:	48 8b d0             	mov    %rax,%rdx
14087ea49:	e8 32 b9 0a 00       	call   0x14092a380
14087ea4e:	eb 09                	jmp    0x14087ea59
14087ea50:	48 89 01             	mov    %rax,(%rcx)
14087ea53:	66 c7 41 14 04 00    	movw   $0x4,0x14(%rcx)
14087ea59:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14087ea5e:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14087ea63:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14087ea68:	48 83 c4 20          	add    $0x20,%rsp
14087ea6c:	5f                   	pop    %rdi
14087ea6d:	c3                   	ret
14087ea6e:	cc                   	int3
14087ea6f:	cc                   	int3
14087ea70:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14087ea75:	57                   	push   %rdi