140449796:	4a 8d 0c 3e          	lea    (%rsi,%r15,1),%rcx
14044979a:	48 3b cd             	cmp    %rbp,%rcx
14044979d:	0f 87 e5 00 00 00    	ja     0x140449888
1404497a3:	48 3b ce             	cmp    %rsi,%rcx
1404497a6:	0f 82 dc 00 00 00    	jb     0x140449888
1404497ac:	45 8b c7             	mov    %r15d,%r8d
1404497af:	49 8d 4e 10          	lea    0x10(%r14),%rcx
1404497b3:	48 8b d6             	mov    %rsi,%rdx
1404497b6:	e8 a5 4b d6 ff       	call   0x1401ae360
1404497bb:	49 8b 56 20          	mov    0x20(%r14),%rdx
1404497bf:	4d 8b c6             	mov    %r14,%r8
1404497c2:	49 8b 0c 24          	mov    (%r12),%rcx
1404497c6:	e8 f5 bd 00 00       	call   0x1404555c0
1404497cb:	41 88 46 28          	mov    %al,0x28(%r14)
1404497cf:	49 8d 56 10          	lea    0x10(%r14),%rdx
1404497d3:	49 8b 0c 24          	mov    (%r12),%rcx
1404497d7:	41 b0 01             	mov    $0x1,%r8b
1404497da:	e8 01 64 00 00       	call   0x14044fbe0
1404497df:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1404497e4:	2b f7                	sub    %edi,%esi
1404497e6:	41 88 46 29          	mov    %al,0x29(%r14)
1404497ea:	41 8d 04 37          	lea    (%r15,%rsi,1),%eax
1404497ee:	4c 8b 7c 24 50       	mov    0x50(%rsp),%r15
1404497f3:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
1404497f8:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
1404497fd:	48 33 cc             	xor    %rsp,%rcx
140449800:	e8 fb 1c 9d 00       	call   0x140e1b500
140449805:	48 83 c4 68          	add    $0x68,%rsp
140449809:	41 5e                	pop    %r14
14044980b:	41 5c                	pop    %r12
14044980d:	5f                   	pop    %rdi
14044980e:	5d                   	pop    %rbp
14044980f:	c3                   	ret
140449810:	2b ef                	sub    %edi,%ebp
140449812:	48 8d 15 a7 d0 ba 00 	lea    0xbad0a7(%rip),%rdx        # 0x140ff68c0
140449819:	44 8b cd             	mov    %ebp,%r9d
14044981c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140449821:	41 b8 10 00 00 00    	mov    $0x10,%r8d
140449827:	e8 c4 f8 d5 ff       	call   0x1401a90f0
14044982c:	48 8d 15 9d 71 f5 00 	lea    0xf5719d(%rip),%rdx        # 0x1413a09d0
140449833:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140449838:	e8 db 2f 9d 00       	call   0x140e1c818
14044983d:	cc                   	int3
14044983e:	49 8b ce             	mov    %r14,%rcx
140449841:	2b ee                	sub    %esi,%ebp
140449843:	e8 08 44 df ff       	call   0x14023dc50
140449848:	48 8b c8             	mov    %rax,%rcx
14044984b:	e8 c0 64 00 00       	call   0x14044fd10
140449850:	49 8b ce             	mov    %r14,%rcx
140449853:	0f b7 d8             	movzwl %ax,%ebx
140449856:	e8 55 80 fc ff       	call   0x1404118b0
14044985b:	44 0f b7 c0          	movzwl %ax,%r8d
14044985f:	48 8d 15 8a d0 ba 00 	lea    0xbad08a(%rip),%rdx        # 0x140ff68f0
140449866:	44 2b c3             	sub    %ebx,%r8d
140449869:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14044986e:	44 8b cd             	mov    %ebp,%r9d
140449871:	e8 7a f8 d5 ff       	call   0x1401a90f0
140449876:	48 8d 15 53 71 f5 00 	lea    0xf57153(%rip),%rdx        # 0x1413a09d0
14044987d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140449882:	e8 91 2f 9d 00       	call   0x140e1c818
140449887:	cc                   	int3
140449888:	2b f7                	sub    %edi,%esi
14044988a:	48 8d 15 7f d0 ba 00 	lea    0xbad07f(%rip),%rdx        # 0x140ff6910
140449891:	2b ef                	sub    %edi,%ebp
140449893:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140449898:	44 8b cd             	mov    %ebp,%r9d
14044989b:	45 8d 04 37          	lea    (%r15,%rsi,1),%r8d
14044989f:	e8 4c f8 d5 ff       	call   0x1401a90f0
1404498a4:	48 8d 15 25 71 f5 00 	lea    0xf57125(%rip),%rdx        # 0x1413a09d0
1404498ab:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1404498b0:	e8 63 2f 9d 00       	call   0x140e1c818
1404498b5:	cc                   	int3
1404498b6:	cc                   	int3
1404498b7:	cc                   	int3
1404498b8:	cc                   	int3
1404498b9:	cc                   	int3
1404498ba:	cc                   	int3
1404498bb:	cc                   	int3
1404498bc:	cc                   	int3
1404498bd:	cc                   	int3
1404498be:	cc                   	int3
1404498bf:	cc                   	int3
1404498c0:	40 56                	rex push %rsi
1404498c2:	41 54                	push   %r12
1404498c4:	41 56                	push   %r14
1404498c6:	41 57                	push   %r15
1404498c8:	48 83 ec 68          	sub    $0x68,%rsp
1404498cc:	48 8b 05 2d f6 f6 00 	mov    0xf6f62d(%rip),%rax        # 0x1413b8f00
1404498d3:	48 33 c4             	xor    %rsp,%rax
1404498d6:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1404498db:	4c 8d 52 08          	lea    0x8(%rdx),%r10
1404498df:	4d 8b e1             	mov    %r9,%r12
1404498e2:	49 8b f0             	mov    %r8,%rsi
1404498e5:	4c 8b f2             	mov    %rdx,%r14
1404498e8:	4c 8b f9             	mov    %rcx,%r15
1404498eb:	4d 3b d0             	cmp    %r8,%r10
1404498ee:	0f 87 3a 01 00 00    	ja     0x140449a2e
1404498f4:	4c 8d 42 06          	lea    0x6(%rdx),%r8
1404498f8:	4d 3b d0             	cmp    %r8,%r10
1404498fb:	0f 82 2d 01 00 00    	jb     0x140449a2e
140449901:	83 bc 24 b0 00 00 00 	cmpl   $0x1,0xb0(%rsp)
140449908:	01
140449909:	0f b7 02             	movzwl (%rdx),%eax
14044990c:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
140449911:	75 19                	jne    0x14044992c
140449913:	66 89 01             	mov    %ax,(%rcx)
140449916:	0f b7 42 02          	movzwl 0x2(%rdx),%eax
14044991a:	66 89 41 02          	mov    %ax,0x2(%rcx)
14044991e:	0f b7 52 04          	movzwl 0x4(%rdx),%edx
140449922:	66 89 51 04          	mov    %dx,0x4(%rcx)
140449926:	45 0f b7 00          	movzwl (%r8),%r8d
14044992a:	eb 28                	jmp    0x140449954
14044992c:	66 c1 c8 08          	ror    $0x8,%ax
140449930:	66 89 01             	mov    %ax,(%rcx)
140449933:	0f b7 42 02          	movzwl 0x2(%rdx),%eax
140449937:	66 c1 c8 08          	ror    $0x8,%ax
14044993b:	66 89 41 02          	mov    %ax,0x2(%rcx)
14044993f:	0f b7 52 04          	movzwl 0x4(%rdx),%edx
140449943:	66 c1 ca 08          	ror    $0x8,%dx
140449947:	66 89 51 04          	mov    %dx,0x4(%rcx)
14044994b:	45 0f b7 00          	movzwl (%r8),%r8d
14044994f:	66 41 c1 c8 08       	ror    $0x8,%r8w
140449954:	48 8b 41 18          	mov    0x18(%rcx),%rax
140449958:	66 44 89 41 06       	mov    %r8w,0x6(%rcx)
14044995d:	0f b7 fa             	movzwl %dx,%edi
140449960:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
140449965:	0f b7 08             	movzwl (%rax),%ecx
140449968:	48 2b f9             	sub    %rcx,%rdi
14044996b:	49 03 fe             	add    %r14,%rdi
14044996e:	49 3b fa             	cmp    %r10,%rdi
140449971:	49 0f 42 fa          	cmovb  %r10,%rdi
140449975:	48 3b fe             	cmp    %rsi,%rdi
140449978:	0f 87 df 00 00 00    	ja     0x140449a5d
14044997e:	48 89 6c 24 58       	mov    %rbp,0x58(%rsp)
140449983:	41 0f b7 e8          	movzwl %r8w,%ebp
140449987:	48 8d 0c 2f          	lea    (%rdi,%rbp,1),%rcx
14044998b:	48 3b ce             	cmp    %rsi,%rcx
14044998e:	0f 87 13 01 00 00    	ja     0x140449aa7
140449994:	48 3b cf             	cmp    %rdi,%rcx
140449997:	0f 82 0a 01 00 00    	jb     0x140449aa7
14044999d:	44 8b c5             	mov    %ebp,%r8d
1404499a0:	49 8d 4f 08          	lea    0x8(%r15),%rcx
1404499a4:	48 8b d7             	mov    %rdi,%rdx
1404499a7:	e8 b4 49 d6 ff       	call   0x1401ae360
1404499ac:	45 0f b7 47 02       	movzwl 0x2(%r15),%r8d
1404499b1:	b9 00 00 00 00       	mov    $0x0,%ecx
1404499b6:	49 8b 57 18          	mov    0x18(%r15),%rdx
1404499ba:	41 8b c0             	mov    %r8d,%eax
1404499bd:	83 e0 01             	and    $0x1,%eax
1404499c0:	41 89 47 20          	mov    %eax,0x20(%r15)
1404499c4:	41 f6 c0 02          	test   $0x2,%r8b
1404499c8:	8b c1                	mov    %ecx,%eax
1404499ca:	0f 97 c0             	seta   %al
1404499cd:	41 f6 c0 04          	test   $0x4,%r8b
1404499d1:	41 89 47 24          	mov    %eax,0x24(%r15)
1404499d5:	4d 8b c7             	mov    %r15,%r8
1404499d8:	0f 97 c1             	seta   %cl
1404499db:	41 89 4f 28          	mov    %ecx,0x28(%r15)
1404499df:	49 8b 0c 24          	mov    (%r12),%rcx
1404499e3:	e8 58 bd 00 00       	call   0x140455740
1404499e8:	41 88 47 2c          	mov    %al,0x2c(%r15)
1404499ec:	49 8d 57 08          	lea    0x8(%r15),%rdx
1404499f0:	49 8b 0c 24          	mov    (%r12),%rcx
1404499f4:	45 33 c0             	xor    %r8d,%r8d
1404499f7:	e8 e4 61 00 00       	call   0x14044fbe0
1404499fc:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140449a01:	41 2b fe             	sub    %r14d,%edi
140449a04:	41 88 47 2d          	mov    %al,0x2d(%r15)
140449a08:	8d 04 2f             	lea    (%rdi,%rbp,1),%eax
140449a0b:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140449a10:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
140449a15:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140449a1a:	48 33 cc             	xor    %rsp,%rcx
140449a1d:	e8 de 1a 9d 00       	call   0x140e1b500
140449a22:	48 83 c4 68          	add    $0x68,%rsp
140449a26:	41 5f                	pop    %r15
140449a28:	41 5e                	pop    %r14
140449a2a:	41 5c                	pop    %r12
140449a2c:	5e                   	pop    %rsi
140449a2d:	c3                   	ret
140449a2e:	41 2b f6             	sub    %r14d,%esi
140449a31:	48 8d 15 08 cf ba 00 	lea    0xbacf08(%rip),%rdx        # 0x140ff6940
140449a38:	44 8b ce             	mov    %esi,%r9d
140449a3b:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140449a40:	41 b8 08 00 00 00    	mov    $0x8,%r8d
140449a46:	e8 a5 f6 d5 ff       	call   0x1401a90f0
140449a4b:	48 8d 15 7e 6f f5 00 	lea    0xf56f7e(%rip),%rdx        # 0x1413a09d0
140449a52:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140449a57:	e8 bc 2d 9d 00       	call   0x140e1c818
140449a5c:	cc                   	int3
140449a5d:	49 8b cf             	mov    %r15,%rcx
140449a60:	2b f7                	sub    %edi,%esi
140449a62:	e8 b9 62 00 00       	call   0x14044fd20
140449a67:	48 8b c8             	mov    %rax,%rcx
140449a6a:	e8 a1 62 00 00       	call   0x14044fd10
140449a6f:	49 8b cf             	mov    %r15,%rcx
140449a72:	0f b7 d8             	movzwl %ax,%ebx
140449a75:	e8 46 7f fc ff       	call   0x1404119c0
140449a7a:	44 0f b7 c0          	movzwl %ax,%r8d
140449a7e:	48 8d 15 eb ce ba 00 	lea    0xbaceeb(%rip),%rdx        # 0x140ff6970
140449a85:	44 2b c3             	sub    %ebx,%r8d
140449a88:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140449a8d:	44 8b ce             	mov    %esi,%r9d
140449a90:	e8 5b f6 d5 ff       	call   0x1401a90f0
140449a95:	48 8d 15 34 6f f5 00 	lea    0xf56f34(%rip),%rdx        # 0x1413a09d0
140449a9c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140449aa1:	e8 72 2d 9d 00       	call   0x140e1c818
140449aa6:	cc                   	int3
140449aa7:	41 2b fe             	sub    %r14d,%edi
140449aaa:	48 8d 15 e7 ce ba 00 	lea    0xbacee7(%rip),%rdx        # 0x140ff6998
140449ab1:	41 2b f6             	sub    %r14d,%esi
140449ab4:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140449ab9:	44 8b ce             	mov    %esi,%r9d
140449abc:	44 8d 04 2f          	lea    (%rdi,%rbp,1),%r8d
140449ac0:	e8 2b f6 d5 ff       	call   0x1401a90f0
140449ac5:	48 8d 15 04 6f f5 00 	lea    0xf56f04(%rip),%rdx        # 0x1413a09d0
140449acc:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140449ad1:	e8 42 2d 9d 00       	call   0x140e1c818
140449ad6:	cc                   	int3
140449ad7:	cc                   	int3
140449ad8:	cc                   	int3
140449ad9:	cc                   	int3
140449ada:	cc                   	int3
140449adb:	cc                   	int3
140449adc:	cc                   	int3
140449add:	cc                   	int3
140449ade:	cc                   	int3
140449adf:	cc                   	int3
140449ae0:	40 53                	rex push %rbx
140449ae2:	55                   	push   %rbp
140449ae3:	56                   	push   %rsi
140449ae4:	57                   	push   %rdi
140449ae5:	41 54                	push   %r12
140449ae7:	41 56                	push   %r14
140449ae9:	48 83 ec 78          	sub    $0x78,%rsp
140449aed:	48 8b 05 0c f4 f6 00 	mov    0xf6f40c(%rip),%rax        # 0x1413b8f00
140449af4:	48 33 c4             	xor    %rsp,%rax
140449af7:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140449afc:	48 8b 41 68          	mov    0x68(%rcx),%rax
140449b00:	4c 8b f2             	mov    %rdx,%r14
140449b03:	4d 8b e1             	mov    %r9,%r12
140449b06:	49 8b e8             	mov    %r8,%rbp
140449b09:	48 8b f9             	mov    %rcx,%rdi
140449b0c:	0f b6 50 03          	movzbl 0x3(%rax),%edx
140449b10:	88 11                	mov    %dl,(%rcx)
140449b12:	8d 42 fc             	lea    -0x4(%rdx),%eax
140449b15:	83 f8 24             	cmp    $0x24,%eax
140449b18:	0f 87 8b 05 00 00    	ja     0x14044a0a9
140449b1e:	48 8d 15 db 64 bb ff 	lea    -0x449b25(%rip),%rdx        # 0x140000000
140449b25:	48 98                	cltq
140449b27:	0f b6 84 02 2c a1 44 	movzbl 0x44a12c(%rdx,%rax,1),%eax
140449b2e:	00
140449b2f:	8b 8c 82 f8 a0 44 00 	mov    0x44a0f8(%rdx,%rax,4),%ecx
140449b36:	48 03 ca             	add    %rdx,%rcx
140449b39:	ff e1                	jmp    *%rcx
140449b3b:	b9 38 00 00 00       	mov    $0x38,%ecx
140449b40:	e8 c3 15 9d 00       	call   0x140e1b108
140449b45:	33 db                	xor    %ebx,%ebx
140449b47:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140449b4c:	48 8b f0             	mov    %rax,%rsi
140449b4f:	48 85 c0             	test   %rax,%rax
140449b52:	74 20                	je     0x140449b74
140449b54:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
140449b58:	48 89 48 28          	mov    %rcx,0x28(%rax)
140449b5c:	48 89 18             	mov    %rbx,(%rax)
140449b5f:	48 89 58 08          	mov    %rbx,0x8(%rax)
140449b63:	48 89 58 10          	mov    %rbx,0x10(%rax)
140449b67:	48 89 58 18          	mov    %rbx,0x18(%rax)
140449b6b:	48 89 58 20          	mov    %rbx,0x20(%rax)
140449b6f:	88 58 30             	mov    %bl,0x30(%rax)
140449b72:	eb 03                	jmp    0x140449b77
140449b74:	48 8b f3             	mov    %rbx,%rsi
140449b77:	49 8d 46 24          	lea    0x24(%r14),%rax
140449b7b:	48 89 77 08          	mov    %rsi,0x8(%rdi)
140449b7f:	48 3b c5             	cmp    %rbp,%rax
140449b82:	0f 87 41 05 00 00    	ja     0x14044a0c9
140449b88:	49 3b c6             	cmp    %r14,%rax
140449b8b:	0f 82 38 05 00 00    	jb     0x14044a0c9
140449b91:	8b bc 24 d0 00 00 00 	mov    0xd0(%rsp),%edi
140449b98:	49 8b 06             	mov    (%r14),%rax
140449b9b:	83 ff 01             	cmp    $0x1,%edi
140449b9e:	75 19                	jne    0x140449bb9
140449ba0:	48 89 06             	mov    %rax,(%rsi)
140449ba3:	49 8b 46 08          	mov    0x8(%r14),%rax
140449ba7:	48 89 46 08          	mov    %rax,0x8(%rsi)
140449bab:	49 8b 46 10          	mov    0x10(%r14),%rax
140449baf:	48 89 46 10          	mov    %rax,0x10(%rsi)
140449bb3:	49 8b 46 18          	mov    0x18(%r14),%rax
140449bb7:	eb 23                	jmp    0x140449bdc
140449bb9:	48 0f c8             	bswap  %rax
140449bbc:	48 89 06             	mov    %rax,(%rsi)
140449bbf:	49 8b 46 08          	mov    0x8(%r14),%rax
140449bc3:	48 0f c8             	bswap  %rax
140449bc6:	48 89 46 08          	mov    %rax,0x8(%rsi)
140449bca:	49 8b 46 10          	mov    0x10(%r14),%rax
140449bce:	48 0f c8             	bswap  %rax
140449bd1:	48 89 46 10          	mov    %rax,0x10(%rsi)
140449bd5:	49 8b 46 18          	mov    0x18(%r14),%rax
140449bd9:	48 0f c8             	bswap  %rax
140449bdc:	b9 14 00 00 00       	mov    $0x14,%ecx
140449be1:	48 89 46 18          	mov    %rax,0x18(%rsi)
140449be5:	e8 1e 15 9d 00       	call   0x140e1b108
140449bea:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140449bef:	48 85 c0             	test   %rax,%rax
140449bf2:	74 1b                	je     0x140449c0f
140449bf4:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140449bfb:	48 c7 40 08 00 00 00 	movq   $0x0,0x8(%rax)
140449c02:	00
140449c03:	66 c7 40 10 00 00    	movw   $0x0,0x10(%rax)
140449c09:	c6 40 12 00          	movb   $0x0,0x12(%rax)
140449c0d:	eb 03                	jmp    0x140449c12
140449c0f:	48 8b c3             	mov    %rbx,%rax
140449c12:	49 8d 56 20          	lea    0x20(%r14),%rdx
140449c16:	48 89 46 20          	mov    %rax,0x20(%rsi)
140449c1a:	44 8b cf             	mov    %edi,%r9d
140449c1d:	4c 8b c5             	mov    %rbp,%r8
140449c20:	48 8b c8             	mov    %rax,%rcx
140449c23:	e8 08 c6 ff ff       	call   0x140446230
140449c28:	49 8b 0c 24          	mov    (%r12),%rcx
140449c2c:	48 8b d6             	mov    %rsi,%rdx
140449c2f:	e8 6c bd 00 00       	call   0x1404559a0
140449c34:	88 46 30             	mov    %al,0x30(%rsi)
140449c37:	bf 24 00 00 00       	mov    $0x24,%edi
140449c3c:	e9 6c 04 00 00       	jmp    0x14044a0ad
140449c41:	b9 40 00 00 00       	mov    $0x40,%ecx
140449c46:	e8 bd 14 9d 00       	call   0x140e1b108
140449c4b:	33 db                	xor    %ebx,%ebx
140449c4d:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140449c52:	48 8b c8             	mov    %rax,%rcx
140449c55:	48 85 c0             	test   %rax,%rax
140449c58:	74 21                	je     0x140449c7b
140449c5a:	48 8b 47 68          	mov    0x68(%rdi),%rax
140449c5e:	48 89 41 30          	mov    %rax,0x30(%rcx)
140449c62:	88 19                	mov    %bl,(%rcx)
140449c64:	48 89 59 08          	mov    %rbx,0x8(%rcx)
140449c68:	88 59 10             	mov    %bl,0x10(%rcx)
140449c6b:	48 89 59 18          	mov    %rbx,0x18(%rcx)
140449c6f:	89 59 20             	mov    %ebx,0x20(%rcx)
140449c72:	48 89 59 28          	mov    %rbx,0x28(%rcx)
140449c76:	88 59 38             	mov    %bl,0x38(%rcx)
140449c79:	eb 03                	jmp    0x140449c7e
140449c7b:	48 8b cb             	mov    %rbx,%rcx
140449c7e:	8b 84 24 d0 00 00 00 	mov    0xd0(%rsp),%eax
140449c85:	4d 8b cc             	mov    %r12,%r9
140449c88:	4c 8b c5             	mov    %rbp,%r8
140449c8b:	89 44 24 20          	mov    %eax,0x20(%rsp)
140449c8f:	49 8b d6             	mov    %r14,%rdx
140449c92:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140449c96:	e8 75 d3 ff ff       	call   0x140447010
140449c9b:	8b f8                	mov    %eax,%edi