1400358c0:	85 c0                	test   %eax,%eax
1400358c2:	74 39                	je     0x1400358fd
1400358c4:	33 d2                	xor    %edx,%edx
1400358c6:	45 8d 47 0a          	lea    0xa(%r15),%r8d
1400358ca:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
1400358ce:	e8 85 7f fe ff       	call   0x14001d858
1400358d3:	4d 85 f6             	test   %r14,%r14
1400358d6:	74 03                	je     0x1400358db
1400358d8:	41 89 06             	mov    %eax,(%r14)
1400358db:	3d c8 00 00 00       	cmp    $0xc8,%eax
1400358e0:	41 0f 94 c6          	sete   %r14b
1400358e4:	45 84 f6             	test   %r14b,%r14b
1400358e7:	74 17                	je     0x140035900
1400358e9:	49 8b d5             	mov    %r13,%rdx
1400358ec:	48 8b cb             	mov    %rbx,%rcx
1400358ef:	e8 4c f8 ff ff       	call   0x140035140
1400358f4:	44 0f b6 f0          	movzbl %al,%r14d
1400358f8:	eb 06                	jmp    0x140035900
1400358fa:	45 33 ff             	xor    %r15d,%r15d
1400358fd:	45 32 f6             	xor    %r14b,%r14b
140035900:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
140035904:	49 83 f8 10          	cmp    $0x10,%r8
140035908:	72 10                	jb     0x14003591a
14003590a:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
14003590e:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
140035912:	49 ff c0             	inc    %r8
140035915:	e8 46 16 00 00       	call   0x140036f60
14003591a:	4c 8b 45 08          	mov    0x8(%rbp),%r8
14003591e:	48 c7 45 e8 0f 00 00 	movq   $0xf,-0x18(%rbp)
140035925:	00
140035926:	4c 89 7d e0          	mov    %r15,-0x20(%rbp)
14003592a:	c6 45 d0 00          	movb   $0x0,-0x30(%rbp)
14003592e:	49 83 f8 08          	cmp    $0x8,%r8
140035932:	72 10                	jb     0x140035944
140035934:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
140035938:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
14003593c:	49 ff c0             	inc    %r8
14003593f:	e8 2c fc fc ff       	call   0x140005570
140035944:	4c 8b 45 28          	mov    0x28(%rbp),%r8
140035948:	48 c7 45 08 07 00 00 	movq   $0x7,0x8(%rbp)
14003594f:	00
140035950:	4c 89 7d 00          	mov    %r15,0x0(%rbp)
140035954:	66 44 89 7d f0       	mov    %r15w,-0x10(%rbp)
140035959:	49 83 f8 08          	cmp    $0x8,%r8
14003595d:	72 10                	jb     0x14003596f
14003595f:	48 8b 55 10          	mov    0x10(%rbp),%rdx
140035963:	48 8d 4d 10          	lea    0x10(%rbp),%rcx
140035967:	49 ff c0             	inc    %r8
14003596a:	e8 01 fc fc ff       	call   0x140005570
14003596f:	48 8b cb             	mov    %rbx,%rcx
140035972:	48 c7 45 28 07 00 00 	movq   $0x7,0x28(%rbp)
140035979:	00
14003597a:	4c 89 7d 20          	mov    %r15,0x20(%rbp)
14003597e:	66 44 89 7d 10       	mov    %r15w,0x10(%rbp)
140035983:	ff 15 4f 6a 00 00    	call   *0x6a4f(%rip)        # 0x14003c3d8
140035989:	48 8b ce             	mov    %rsi,%rcx
14003598c:	ff 15 46 6a 00 00    	call   *0x6a46(%rip)        # 0x14003c3d8
140035992:	48 8b cf             	mov    %rdi,%rcx
140035995:	ff 15 3d 6a 00 00    	call   *0x6a3d(%rip)        # 0x14003c3d8
14003599b:	48 8b bc 24 78 05 00 	mov    0x578(%rsp),%rdi
1400359a2:	00
1400359a3:	41 0f b6 c6          	movzbl %r14b,%eax
1400359a7:	eb 02                	jmp    0x1400359ab
1400359a9:	32 c0                	xor    %al,%al
1400359ab:	48 8b 8d 60 04 00 00 	mov    0x460(%rbp),%rcx
1400359b2:	48 33 cc             	xor    %rsp,%rcx
1400359b5:	e8 e6 39 fd ff       	call   0x1400093a0
1400359ba:	48 81 c4 80 05 00 00 	add    $0x580,%rsp
1400359c1:	41 5f                	pop    %r15
1400359c3:	41 5e                	pop    %r14
1400359c5:	41 5d                	pop    %r13
1400359c7:	41 5c                	pop    %r12
1400359c9:	5e                   	pop    %rsi
1400359ca:	5b                   	pop    %rbx
1400359cb:	5d                   	pop    %rbp
1400359cc:	c3                   	ret
1400359cd:	cc                   	int3
1400359ce:	cc                   	int3
1400359cf:	cc                   	int3
1400359d0:	40 53                	rex push %rbx
1400359d2:	56                   	push   %rsi
1400359d3:	41 56                	push   %r14
1400359d5:	48 83 ec 70          	sub    $0x70,%rsp
1400359d9:	48 8b 05 e0 87 01 00 	mov    0x187e0(%rip),%rax        # 0x14004e1c0
1400359e0:	48 33 c4             	xor    %rsp,%rax
1400359e3:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1400359e8:	48 83 7a 10 00       	cmpq   $0x0,0x10(%rdx)
1400359ed:	4c 8b f2             	mov    %rdx,%r14
1400359f0:	48 8b d9             	mov    %rcx,%rbx
1400359f3:	75 19                	jne    0x140035a0e
1400359f5:	33 f6                	xor    %esi,%esi
1400359f7:	48 c7 41 18 07 00 00 	movq   $0x7,0x18(%rcx)
1400359fe:	00
1400359ff:	48 89 71 10          	mov    %rsi,0x10(%rcx)
140035a03:	48 8b c1             	mov    %rcx,%rax
140035a06:	66 89 31             	mov    %si,(%rcx)
140035a09:	e9 3f 01 00 00       	jmp    0x140035b4d
140035a0e:	48 83 7a 18 10       	cmpq   $0x10,0x18(%rdx)
140035a13:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
140035a18:	4c 89 7c 24 60       	mov    %r15,0x60(%rsp)
140035a1d:	72 05                	jb     0x140035a24
140035a1f:	4c 8b 02             	mov    (%rdx),%r8
140035a22:	eb 03                	jmp    0x140035a27
140035a24:	4c 8b c2             	mov    %rdx,%r8
140035a27:	33 f6                	xor    %esi,%esi
140035a29:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
140035a2d:	89 74 24 28          	mov    %esi,0x28(%rsp)
140035a31:	44 8b cf             	mov    %edi,%r9d
140035a34:	33 d2                	xor    %edx,%edx
140035a36:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140035a3b:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
140035a40:	ff 15 c2 66 00 00    	call   *0x66c2(%rip)        # 0x14003c108
140035a46:	4c 63 f8             	movslq %eax,%r15
140035a49:	85 c0                	test   %eax,%eax
140035a4b:	75 14                	jne    0x140035a61
140035a4d:	48 c7 43 18 07 00 00 	movq   $0x7,0x18(%rbx)
140035a54:	00
140035a55:	48 89 73 10          	mov    %rsi,0x10(%rbx)
140035a59:	66 89 33             	mov    %si,(%rbx)
140035a5c:	e9 df 00 00 00       	jmp    0x140035b40
140035a61:	b8 02 00 00 00       	mov    $0x2,%eax
140035a66:	48 89 ac 24 a0 00 00 	mov    %rbp,0xa0(%rsp)
140035a6d:	00
140035a6e:	49 f7 e7             	mul    %r15
140035a71:	48 0f 40 c7          	cmovo  %rdi,%rax
140035a75:	48 8b c8             	mov    %rax,%rcx
140035a78:	e8 e3 b7 fc ff       	call   0x140001260
140035a7d:	49 83 7e 18 10       	cmpq   $0x10,0x18(%r14)
140035a82:	48 8b e8             	mov    %rax,%rbp
140035a85:	72 03                	jb     0x140035a8a
140035a87:	4d 8b 36             	mov    (%r14),%r14
140035a8a:	44 89 7c 24 28       	mov    %r15d,0x28(%rsp)
140035a8f:	44 8b cf             	mov    %edi,%r9d
140035a92:	4d 8b c6             	mov    %r14,%r8
140035a95:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140035a9a:	33 d2                	xor    %edx,%edx
140035a9c:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
140035aa1:	ff 15 61 66 00 00    	call   *0x6661(%rip)        # 0x14003c108
140035aa7:	48 c7 44 24 48 07 00 	movq   $0x7,0x48(%rsp)
140035aae:	00 00
140035ab0:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140035ab5:	66 89 74 24 30       	mov    %si,0x30(%rsp)
140035aba:	66 39 75 00          	cmp    %si,0x0(%rbp)
140035abe:	75 05                	jne    0x140035ac5
140035ac0:	48 8b fe             	mov    %rsi,%rdi
140035ac3:	eb 0a                	jmp    0x140035acf
140035ac5:	48 ff c7             	inc    %rdi
140035ac8:	66 39 74 7d 00       	cmp    %si,0x0(%rbp,%rdi,2)
140035acd:	75 f6                	jne    0x140035ac5
140035acf:	4c 8b c7             	mov    %rdi,%r8
140035ad2:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140035ad7:	48 8b d5             	mov    %rbp,%rdx
140035ada:	e8 41 f9 fc ff       	call   0x140005420
140035adf:	48 8b cd             	mov    %rbp,%rcx
140035ae2:	e8 c9 b7 fc ff       	call   0x1400012b0
140035ae7:	48 8b ac 24 a0 00 00 	mov    0xa0(%rsp),%rbp
140035aee:	00
140035aef:	48 c7 43 18 07 00 00 	movq   $0x7,0x18(%rbx)
140035af6:	00
140035af7:	48 89 73 10          	mov    %rsi,0x10(%rbx)
140035afb:	66 89 33             	mov    %si,(%rbx)
140035afe:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140035b03:	48 83 f9 08          	cmp    $0x8,%rcx
140035b07:	73 22                	jae    0x140035b2b
140035b09:	4c 8b 44 24 40       	mov    0x40(%rsp),%r8
140035b0e:	49 83 c0 01          	add    $0x1,%r8
140035b12:	74 1f                	je     0x140035b33
140035b14:	4d 03 c0             	add    %r8,%r8
140035b17:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140035b1c:	48 8b cb             	mov    %rbx,%rcx
140035b1f:	e8 ec 4c 00 00       	call   0x14003a810
140035b24:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140035b29:	eb 08                	jmp    0x140035b33
140035b2b:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140035b30:	48 89 03             	mov    %rax,(%rbx)
140035b33:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140035b38:	48 89 43 10          	mov    %rax,0x10(%rbx)
140035b3c:	48 89 4b 18          	mov    %rcx,0x18(%rbx)
140035b40:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140035b45:	48 8b c3             	mov    %rbx,%rax
140035b48:	4c 8b 7c 24 60       	mov    0x60(%rsp),%r15
140035b4d:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140035b52:	48 33 cc             	xor    %rsp,%rcx
140035b55:	e8 46 38 fd ff       	call   0x1400093a0
140035b5a:	48 83 c4 70          	add    $0x70,%rsp
140035b5e:	41 5e                	pop    %r14
140035b60:	5e                   	pop    %rsi
140035b61:	5b                   	pop    %rbx
140035b62:	c3                   	ret
140035b63:	cc                   	int3
140035b64:	cc                   	int3
140035b65:	cc                   	int3
140035b66:	cc                   	int3
140035b67:	cc                   	int3
140035b68:	cc                   	int3
140035b69:	cc                   	int3
140035b6a:	cc                   	int3
140035b6b:	cc                   	int3
140035b6c:	cc                   	int3
140035b6d:	cc                   	int3
140035b6e:	cc                   	int3
140035b6f:	cc                   	int3
140035b70:	40 53                	rex push %rbx
140035b72:	56                   	push   %rsi
140035b73:	41 54                	push   %r12
140035b75:	41 56                	push   %r14
140035b77:	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
140035b7e:	48 8b 05 3b 86 01 00 	mov    0x1863b(%rip),%rax        # 0x14004e1c0
140035b85:	48 33 c4             	xor    %rsp,%rax
140035b88:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140035b8d:	48 83 7a 10 00       	cmpq   $0x0,0x10(%rdx)
140035b92:	45 8b e0             	mov    %r8d,%r12d
140035b95:	4c 8b f2             	mov    %rdx,%r14
140035b98:	48 8b d9             	mov    %rcx,%rbx
140035b9b:	75 19                	jne    0x140035bb6
140035b9d:	33 f6                	xor    %esi,%esi
140035b9f:	48 c7 41 18 0f 00 00 	movq   $0xf,0x18(%rcx)
140035ba6:	00
140035ba7:	48 89 71 10          	mov    %rsi,0x10(%rcx)
140035bab:	48 8b c1             	mov    %rcx,%rax
140035bae:	40 88 31             	mov    %sil,(%rcx)
140035bb1:	e9 3f 01 00 00       	jmp    0x140035cf5
140035bb6:	48 83 7a 18 08       	cmpq   $0x8,0x18(%rdx)
140035bbb:	48 89 7c 24 78       	mov    %rdi,0x78(%rsp)
140035bc0:	4c 89 7c 24 70       	mov    %r15,0x70(%rsp)
140035bc5:	72 05                	jb     0x140035bcc
140035bc7:	4c 8b 02             	mov    (%rdx),%r8
140035bca:	eb 03                	jmp    0x140035bcf
140035bcc:	4c 8b c2             	mov    %rdx,%r8
140035bcf:	33 f6                	xor    %esi,%esi
140035bd1:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
140035bd5:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140035bda:	44 8b cf             	mov    %edi,%r9d
140035bdd:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140035be2:	33 d2                	xor    %edx,%edx
140035be4:	89 74 24 28          	mov    %esi,0x28(%rsp)
140035be8:	41 8b cc             	mov    %r12d,%ecx
140035beb:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140035bf0:	ff 15 ba 64 00 00    	call   *0x64ba(%rip)        # 0x14003c0b0
140035bf6:	4c 63 f8             	movslq %eax,%r15
140035bf9:	85 c0                	test   %eax,%eax
140035bfb:	75 14                	jne    0x140035c11
140035bfd:	48 c7 43 18 0f 00 00 	movq   $0xf,0x18(%rbx)
140035c04:	00
140035c05:	48 89 73 10          	mov    %rsi,0x10(%rbx)
140035c09:	40 88 33             	mov    %sil,(%rbx)
140035c0c:	e9 d7 00 00 00       	jmp    0x140035ce8
140035c11:	49 8b cf             	mov    %r15,%rcx
140035c14:	48 89 ac 24 80 00 00 	mov    %rbp,0x80(%rsp)
140035c1b:	00
140035c1c:	e8 3f b6 fc ff       	call   0x140001260
140035c21:	49 83 7e 18 08       	cmpq   $0x8,0x18(%r14)
140035c26:	48 8b e8             	mov    %rax,%rbp
140035c29:	72 03                	jb     0x140035c2e
140035c2b:	4d 8b 36             	mov    (%r14),%r14
140035c2e:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140035c33:	44 8b cf             	mov    %edi,%r9d
140035c36:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140035c3b:	4d 8b c6             	mov    %r14,%r8
140035c3e:	44 89 7c 24 28       	mov    %r15d,0x28(%rsp)
140035c43:	33 d2                	xor    %edx,%edx
140035c45:	41 8b cc             	mov    %r12d,%ecx
140035c48:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140035c4d:	ff 15 5d 64 00 00    	call   *0x645d(%rip)        # 0x14003c0b0
140035c53:	48 c7 44 24 58 0f 00 	movq   $0xf,0x58(%rsp)
140035c5a:	00 00
140035c5c:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
140035c61:	40 88 74 24 40       	mov    %sil,0x40(%rsp)
140035c66:	40 38 75 00          	cmp    %sil,0x0(%rbp)
140035c6a:	75 05                	jne    0x140035c71
140035c6c:	48 8b fe             	mov    %rsi,%rdi
140035c6f:	eb 09                	jmp    0x140035c7a
140035c71:	48 ff c7             	inc    %rdi
140035c74:	40 38 34 2f          	cmp    %sil,(%rdi,%rbp,1)
140035c78:	75 f7                	jne    0x140035c71
140035c7a:	4c 8b c7             	mov    %rdi,%r8
140035c7d:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140035c82:	48 8b d5             	mov    %rbp,%rdx
140035c85:	e8 36 0e 00 00       	call   0x140036ac0
140035c8a:	48 8b cd             	mov    %rbp,%rcx
140035c8d:	e8 1e b6 fc ff       	call   0x1400012b0
140035c92:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
140035c99:	00
140035c9a:	48 c7 43 18 0f 00 00 	movq   $0xf,0x18(%rbx)
140035ca1:	00
140035ca2:	48 89 73 10          	mov    %rsi,0x10(%rbx)
140035ca6:	40 88 33             	mov    %sil,(%rbx)
140035ca9:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140035cae:	48 83 f9 10          	cmp    $0x10,%rcx
140035cb2:	73 1f                	jae    0x140035cd3
140035cb4:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
140035cb9:	49 83 c0 01          	add    $0x1,%r8
140035cbd:	74 1c                	je     0x140035cdb
140035cbf:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140035cc4:	48 8b cb             	mov    %rbx,%rcx
140035cc7:	e8 44 4b 00 00       	call   0x14003a810
140035ccc:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140035cd1:	eb 08                	jmp    0x140035cdb
140035cd3:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140035cd8:	48 89 03             	mov    %rax,(%rbx)
140035cdb:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140035ce0:	48 89 43 10          	mov    %rax,0x10(%rbx)
140035ce4:	48 89 4b 18          	mov    %rcx,0x18(%rbx)
140035ce8:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
140035ced:	48 8b c3             	mov    %rbx,%rax
140035cf0:	4c 8b 7c 24 70       	mov    0x70(%rsp),%r15
140035cf5:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140035cfa:	48 33 cc             	xor    %rsp,%rcx
140035cfd:	e8 9e 36 fd ff       	call   0x1400093a0
140035d02:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
140035d09:	41 5e                	pop    %r14
140035d0b:	41 5c                	pop    %r12
140035d0d:	5e                   	pop    %rsi
140035d0e:	5b                   	pop    %rbx
140035d0f:	c3                   	ret
140035d10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140035d15:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140035d1a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140035d1f:	57                   	push   %rdi
140035d20:	48 83 ec 20          	sub    $0x20,%rsp
140035d24:	48 8b fa             	mov    %rdx,%rdi
140035d27:	49 8b f0             	mov    %r8,%rsi
140035d2a:	48 83 cf 0f          	or     $0xf,%rdi
140035d2e:	48 8b d9             	mov    %rcx,%rbx
140035d31:	48 83 ff fe          	cmp    $0xfffffffffffffffe,%rdi
140035d35:	76 05                	jbe    0x140035d3c
140035d37:	48 8b fa             	mov    %rdx,%rdi
140035d3a:	eb 35                	jmp    0x140035d71
140035d3c:	4c 8b 41 18          	mov    0x18(%rcx),%r8
140035d40:	48 b8 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rax
140035d47:	aa aa aa
140035d4a:	48 f7 e7             	mul    %rdi
140035d4d:	49 8b c8             	mov    %r8,%rcx
140035d50:	48 d1 ea             	shr    $1,%rdx
140035d53:	48 d1 e9             	shr    $1,%rcx
140035d56:	48 3b ca             	cmp    %rdx,%rcx
140035d59:	76 16                	jbe    0x140035d71
140035d5b:	48 c7 c7 fe ff ff ff 	mov    $0xfffffffffffffffe,%rdi
140035d62:	48 8b c7             	mov    %rdi,%rax
140035d65:	48 2b c1             	sub    %rcx,%rax
140035d68:	4c 3b c0             	cmp    %rax,%r8
140035d6b:	77 04                	ja     0x140035d71
140035d6d:	4a 8d 3c 01          	lea    (%rcx,%r8,1),%rdi
140035d71:	48 8d 57 01          	lea    0x1(%rdi),%rdx
140035d75:	48 8b cb             	mov    %rbx,%rcx
140035d78:	e8 73 14 fd ff       	call   0x1400071f0
140035d7d:	48 8b e8             	mov    %rax,%rbp
140035d80:	48 85 f6             	test   %rsi,%rsi
140035d83:	74 1f                	je     0x140035da4
140035d85:	48 83 7b 18 10       	cmpq   $0x10,0x18(%rbx)