14057989a:	89 43 10             	mov    %eax,0x10(%rbx)
14057989d:	85 c0                	test   %eax,%eax
14057989f:	7f 17                	jg     0x1405798b8
1405798a1:	78 7d                	js     0x140579920
1405798a3:	48 8b 03             	mov    (%rbx),%rax
1405798a6:	ba 01 00 00 00       	mov    $0x1,%edx
1405798ab:	48 8b cb             	mov    %rbx,%rcx
1405798ae:	48 8b 00             	mov    (%rax),%rax
1405798b1:	ff 15 69 a1 a0 00    	call   *0xa0a169(%rip)        # 0x140f83a20
1405798b7:	90                   	nop
1405798b8:	48 8b 0e             	mov    (%rsi),%rcx
1405798bb:	48 85 c9             	test   %rcx,%rcx
1405798be:	74 20                	je     0x1405798e0
1405798c0:	8b 41 10             	mov    0x10(%rcx),%eax
1405798c3:	ff c8                	dec    %eax
1405798c5:	89 41 10             	mov    %eax,0x10(%rcx)
1405798c8:	85 c0                	test   %eax,%eax
1405798ca:	7f 14                	jg     0x1405798e0
1405798cc:	78 20                	js     0x1405798ee
1405798ce:	48 8b 01             	mov    (%rcx),%rax
1405798d1:	ba 01 00 00 00       	mov    $0x1,%edx
1405798d6:	48 8b 00             	mov    (%rax),%rax
1405798d9:	ff 15 41 a1 a0 00    	call   *0xa0a141(%rip)        # 0x140f83a20
1405798df:	90                   	nop
1405798e0:	48 8b c7             	mov    %rdi,%rax
1405798e3:	48 83 c4 30          	add    $0x30,%rsp
1405798e7:	41 5e                	pop    %r14
1405798e9:	5f                   	pop    %rdi
1405798ea:	5e                   	pop    %rsi
1405798eb:	5d                   	pop    %rbp
1405798ec:	5b                   	pop    %rbx
1405798ed:	c3                   	ret
1405798ee:	b9 02 00 00 00       	mov    $0x2,%ecx
1405798f3:	e8 08 0e 21 00       	call   0x14078a700
1405798f8:	90                   	nop
1405798f9:	33 c9                	xor    %ecx,%ecx
1405798fb:	e8 00 0e 21 00       	call   0x14078a700
140579900:	cc                   	int3
140579901:	b9 01 00 00 00       	mov    $0x1,%ecx
140579906:	e8 f5 0d 21 00       	call   0x14078a700
14057990b:	90                   	nop
14057990c:	48 8d 15 45 6a a9 00 	lea    0xa96a45(%rip),%rdx        # 0x141010358
140579913:	48 8b 0d de 7b eb 00 	mov    0xeb7bde(%rip),%rcx        # 0x1414314f8
14057991a:	e8 f1 a2 21 00       	call   0x140793c10
14057991f:	90                   	nop
140579920:	b9 02 00 00 00       	mov    $0x2,%ecx
140579925:	e8 d6 0d 21 00       	call   0x14078a700
14057992a:	cc                   	int3
14057992b:	cc                   	int3
14057992c:	cc                   	int3
14057992d:	cc                   	int3
14057992e:	cc                   	int3
14057992f:	cc                   	int3
140579930:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140579935:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14057993a:	56                   	push   %rsi
14057993b:	57                   	push   %rdi
14057993c:	41 54                	push   %r12
14057993e:	41 56                	push   %r14
140579940:	41 57                	push   %r15
140579942:	48 83 ec 70          	sub    $0x70,%rsp
140579946:	4d 8b f1             	mov    %r9,%r14
140579949:	49 8b d8             	mov    %r8,%rbx
14057994c:	48 8b f2             	mov    %rdx,%rsi
14057994f:	48 8b f9             	mov    %rcx,%rdi
140579952:	45 33 e4             	xor    %r12d,%r12d
140579955:	4c 39 61 40          	cmp    %r12,0x40(%rcx)
140579959:	75 49                	jne    0x1405799a4
14057995b:	48 63 49 04          	movslq 0x4(%rcx),%rcx
14057995f:	48 c1 e1 05          	shl    $0x5,%rcx
140579963:	e8 c4 8d 8b 00       	call   0x140e3272c
140579968:	48 89 47 40          	mov    %rax,0x40(%rdi)
14057996c:	48 85 c0             	test   %rax,%rax
14057996f:	74 05                	je     0x140579976
140579971:	8b 47 04             	mov    0x4(%rdi),%eax
140579974:	eb 03                	jmp    0x140579979
140579976:	41 8b c4             	mov    %r12d,%eax
140579979:	83 e8 01             	sub    $0x1,%eax
14057997c:	48 63 c8             	movslq %eax,%rcx
14057997f:	78 23                	js     0x1405799a4
140579981:	48 8b d1             	mov    %rcx,%rdx
140579984:	48 c1 e2 05          	shl    $0x5,%rdx
140579988:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14057998f:	00
140579990:	48 8b 47 40          	mov    0x40(%rdi),%rax
140579994:	66 c7 04 02 ff ff    	movw   $0xffff,(%rdx,%rax,1)
14057999a:	48 8d 52 e0          	lea    -0x20(%rdx),%rdx
14057999e:	48 83 e9 01          	sub    $0x1,%rcx
1405799a2:	79 ec                	jns    0x140579990
1405799a4:	bd ff ff ff ff       	mov    $0xffffffff,%ebp
1405799a9:	48 3b dd             	cmp    %rbp,%rbx
1405799ac:	0f 87 fb 02 00 00    	ja     0x140579cad
1405799b2:	c7 84 24 b0 00 00 00 	movl   $0xffffffff,0xb0(%rsp)
1405799b9:	ff ff ff ff
1405799bd:	c7 84 24 a0 00 00 00 	movl   $0xffffffff,0xa0(%rsp)
1405799c4:	ff ff ff ff
1405799c8:	48 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%rax
1405799cf:	00
1405799d0:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1405799d5:	48 8d 84 24 b0 00 00 	lea    0xb0(%rsp),%rax
1405799dc:	00
1405799dd:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1405799e2:	4d 8b ce             	mov    %r14,%r9
1405799e5:	44 8b c3             	mov    %ebx,%r8d
1405799e8:	48 8b d6             	mov    %rsi,%rdx
1405799eb:	48 8b cf             	mov    %rdi,%rcx
1405799ee:	e8 3d 0a 00 00       	call   0x14057a430
1405799f3:	85 c0                	test   %eax,%eax
1405799f5:	0f 88 ce 00 00 00    	js     0x140579ac9
1405799fb:	4c 63 f0             	movslq %eax,%r14
1405799fe:	49 c1 e6 05          	shl    $0x5,%r14
140579a02:	48 8b 47 40          	mov    0x40(%rdi),%rax
140579a06:	4d 8b 64 06 10       	mov    0x10(%r14,%rax,1),%r12
140579a0b:	48 8b ac 24 c0 00 00 	mov    0xc0(%rsp),%rbp
140579a12:	00
140579a13:	49 89 6c 06 10       	mov    %rbp,0x10(%r14,%rax,1)
140579a18:	80 bc 24 c8 00 00 00 	cmpb   $0x0,0xc8(%rsp)
140579a1f:	00
140579a20:	75 08                	jne    0x140579a2a
140579a22:	48 8b ce             	mov    %rsi,%rcx
140579a25:	e8 1a 17 8a 00       	call   0x140e1b144
140579a2a:	48 8b 47 48          	mov    0x48(%rdi),%rax
140579a2e:	48 85 c0             	test   %rax,%rax
140579a31:	0f 84 4c 02 00 00    	je     0x140579c83
140579a37:	48 8b 30             	mov    (%rax),%rsi
140579a3a:	4c 8b 78 08          	mov    0x8(%rax),%r15
140579a3e:	49 3b f7             	cmp    %r15,%rsi
140579a41:	0f 84 3c 02 00 00    	je     0x140579c83
140579a47:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140579a4e:	00 00
140579a50:	48 8b 1e             	mov    (%rsi),%rbx
140579a53:	48 8b 47 40          	mov    0x40(%rdi),%rax
140579a57:	45 8b 44 06 08       	mov    0x8(%r14,%rax,1),%r8d
140579a5c:	41 8b 4c 06 04       	mov    0x4(%r14,%rax,1),%ecx
140579a61:	48 8d 50 18          	lea    0x18(%rax),%rdx
140579a65:	49 03 d6             	add    %r14,%rdx
140579a68:	83 f9 08             	cmp    $0x8,%ecx
140579a6b:	76 03                	jbe    0x140579a70
140579a6d:	48 8b 12             	mov    (%rdx),%rdx
140579a70:	44 39 43 18          	cmp    %r8d,0x18(%rbx)
140579a74:	75 23                	jne    0x140579a99
140579a76:	8b 43 14             	mov    0x14(%rbx),%eax
140579a79:	3b c1                	cmp    %ecx,%eax
140579a7b:	75 1c                	jne    0x140579a99
140579a7d:	48 8d 4b 28          	lea    0x28(%rbx),%rcx
140579a81:	83 f8 08             	cmp    $0x8,%eax
140579a84:	76 03                	jbe    0x140579a89
140579a86:	48 8b 09             	mov    (%rcx),%rcx
140579a89:	4c 8b c0             	mov    %rax,%r8
140579a8c:	e8 bf 5f 96 00       	call   0x140edfa50
140579a91:	85 c0                	test   %eax,%eax
140579a93:	75 04                	jne    0x140579a99
140579a95:	48 89 6b 20          	mov    %rbp,0x20(%rbx)
140579a99:	48 8b 0b             	mov    (%rbx),%rcx
140579a9c:	48 8b 59 08          	mov    0x8(%rcx),%rbx
140579aa0:	4c 8b 47 40          	mov    0x40(%rdi),%r8
140579aa4:	4d 03 c6             	add    %r14,%r8
140579aa7:	48 8b d3             	mov    %rbx,%rdx
140579aaa:	48 8b 09             	mov    (%rcx),%rcx
140579aad:	e8 be eb ff ff       	call   0x140578670
140579ab2:	48 3b c3             	cmp    %rbx,%rax
140579ab5:	74 04                	je     0x140579abb
140579ab7:	48 89 68 10          	mov    %rbp,0x10(%rax)
140579abb:	48 83 c6 08          	add    $0x8,%rsi
140579abf:	49 3b f7             	cmp    %r15,%rsi
140579ac2:	75 8c                	jne    0x140579a50
140579ac4:	e9 ba 01 00 00       	jmp    0x140579c83
140579ac9:	0f b7 57 0c          	movzwl 0xc(%rdi),%edx
140579acd:	66 85 d2             	test   %dx,%dx
140579ad0:	74 43                	je     0x140579b15
140579ad2:	48 8b 47 48          	mov    0x48(%rdi),%rax
140579ad6:	48 85 c0             	test   %rax,%rax
140579ad9:	74 0d                	je     0x140579ae8
140579adb:	48 8b 48 08          	mov    0x8(%rax),%rcx
140579adf:	48 2b 08             	sub    (%rax),%rcx
140579ae2:	48 c1 f9 03          	sar    $0x3,%rcx
140579ae6:	eb 03                	jmp    0x140579aeb
140579ae8:	49 8b cc             	mov    %r12,%rcx
140579aeb:	48 3b ca             	cmp    %rdx,%rcx
140579aee:	74 25                	je     0x140579b15
140579af0:	48 8b 84 24 d0 00 00 	mov    0xd0(%rsp),%rax
140579af7:	00
140579af8:	48 85 c0             	test   %rax,%rax
140579afb:	74 05                	je     0x140579b02
140579afd:	c6 00 01             	movb   $0x1,(%rax)
140579b00:	eb 13                	jmp    0x140579b15
140579b02:	48 8d 15 3f 69 a9 00 	lea    0xa9693f(%rip),%rdx        # 0x141010448
140579b09:	48 8b 0d e8 79 eb 00 	mov    0xeb79e8(%rip),%rcx        # 0x1414314f8
140579b10:	e8 8b a1 21 00       	call   0x140793ca0
140579b15:	48 8b 6f 50          	mov    0x50(%rdi),%rbp
140579b19:	48 85 ed             	test   %rbp,%rbp
140579b1c:	74 46                	je     0x140579b64
140579b1e:	4d 8b ce             	mov    %r14,%r9
140579b21:	4c 8b c3             	mov    %rbx,%r8
140579b24:	48 8b d6             	mov    %rsi,%rdx
140579b27:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140579b2c:	e8 7f 7f 22 00       	call   0x1407a1ab0
140579b31:	90                   	nop
140579b32:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
140579b36:	48 3b 4d 10          	cmp    0x10(%rbp),%rcx
140579b3a:	74 0f                	je     0x140579b4b
140579b3c:	48 8b d0             	mov    %rax,%rdx
140579b3f:	e8 9c 7e 22 00       	call   0x1407a19e0
140579b44:	48 83 45 08 38       	addq   $0x38,0x8(%rbp)
140579b49:	eb 0f                	jmp    0x140579b5a
140579b4b:	4c 8b c0             	mov    %rax,%r8
140579b4e:	48 8b d1             	mov    %rcx,%rdx
140579b51:	48 8b cd             	mov    %rbp,%rcx
140579b54:	e8 87 e8 ff ff       	call   0x1405783e0
140579b59:	90                   	nop
140579b5a:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140579b5f:	e8 2c 80 22 00       	call   0x1407a1b90
140579b64:	0f b7 84 24 a0 00 00 	movzwl 0xa0(%rsp),%eax
140579b6b:	00
140579b6c:	66 89 44 24 30       	mov    %ax,0x30(%rsp)
140579b71:	89 5c 24 34          	mov    %ebx,0x34(%rsp)
140579b75:	44 89 74 24 38       	mov    %r14d,0x38(%rsp)
140579b7a:	48 8b 84 24 c0 00 00 	mov    0xc0(%rsp),%rax
140579b81:	00
140579b82:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140579b87:	48 85 f6             	test   %rsi,%rsi
140579b8a:	74 56                	je     0x140579be2
140579b8c:	83 fb 08             	cmp    $0x8,%ebx
140579b8f:	77 24                	ja     0x140579bb5
140579b91:	44 8b c3             	mov    %ebx,%r8d
140579b94:	48 8b d6             	mov    %rsi,%rdx
140579b97:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140579b9c:	e8 6f 54 96 00       	call   0x140edf010
140579ba1:	80 bc 24 c8 00 00 00 	cmpb   $0x0,0xc8(%rsp)
140579ba8:	00
140579ba9:	75 37                	jne    0x140579be2
140579bab:	48 8b ce             	mov    %rsi,%rcx
140579bae:	e8 91 15 8a 00       	call   0x140e1b144
140579bb3:	eb 2d                	jmp    0x140579be2
140579bb5:	80 bc 24 c8 00 00 00 	cmpb   $0x0,0xc8(%rsp)
140579bbc:	00
140579bbd:	74 1e                	je     0x140579bdd
140579bbf:	8b db                	mov    %ebx,%ebx
140579bc1:	8b cb                	mov    %ebx,%ecx
140579bc3:	e8 54 1a 8a 00       	call   0x140e1b61c
140579bc8:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140579bcd:	44 8b c3             	mov    %ebx,%r8d
140579bd0:	48 8b d6             	mov    %rsi,%rdx
140579bd3:	48 8b c8             	mov    %rax,%rcx
140579bd6:	e8 35 54 96 00       	call   0x140edf010
140579bdb:	eb 05                	jmp    0x140579be2
140579bdd:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
140579be2:	44 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%r8d
140579be9:	00
140579bea:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140579bef:	48 8b cf             	mov    %rdi,%rcx
140579bf2:	e8 99 01 00 00       	call   0x140579d90
140579bf7:	44 8b 47 14          	mov    0x14(%rdi),%r8d
140579bfb:	41 ff c0             	inc    %r8d
140579bfe:	44 89 47 14          	mov    %r8d,0x14(%rdi)
140579c02:	48 ff 47 20          	incq   0x20(%rdi)
140579c06:	44 39 47 18          	cmp    %r8d,0x18(%rdi)
140579c0a:	73 04                	jae    0x140579c10
140579c0c:	44 89 47 18          	mov    %r8d,0x18(%rdi)
140579c10:	4c 8b 4f 40          	mov    0x40(%rdi),%r9
140579c14:	4d 85 c9             	test   %r9,%r9
140579c17:	74 05                	je     0x140579c1e
140579c19:	8b 57 04             	mov    0x4(%rdi),%edx
140579c1c:	eb 03                	jmp    0x140579c21
140579c1e:	41 8b d4             	mov    %r12d,%edx
140579c21:	66 83 7f 02 03       	cmpw   $0x3,0x2(%rdi)
140579c26:	76 14                	jbe    0x140579c3c
140579c28:	6b ca 4b             	imul   $0x4b,%edx,%ecx
140579c2b:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
140579c30:	f7 e9                	imul   %ecx
140579c32:	c1 fa 05             	sar    $0x5,%edx
140579c35:	8b c2                	mov    %edx,%eax
140579c37:	c1 e8 1f             	shr    $0x1f,%eax
140579c3a:	03 d0                	add    %eax,%edx
140579c3c:	44 3b c2             	cmp    %edx,%r8d
140579c3f:	77 3a                	ja     0x140579c7b
140579c41:	8b 47 28             	mov    0x28(%rdi),%eax
140579c44:	3d 80 00 00 00       	cmp    $0x80,%eax
140579c49:	76 38                	jbe    0x140579c83
140579c4b:	48 c1 e0 05          	shl    $0x5,%rax
140579c4f:	48 39 47 30          	cmp    %rax,0x30(%rdi)
140579c53:	76 2e                	jbe    0x140579c83
140579c55:	4d 85 c9             	test   %r9,%r9
140579c58:	74 05                	je     0x140579c5f
140579c5a:	8b 47 04             	mov    0x4(%rdi),%eax
140579c5d:	eb 03                	jmp    0x140579c62
140579c5f:	41 8b c4             	mov    %r12d,%eax
140579c62:	6b c8 19             	imul   $0x19,%eax,%ecx
140579c65:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
140579c6a:	f7 e9                	imul   %ecx
140579c6c:	c1 fa 05             	sar    $0x5,%edx
140579c6f:	8b c2                	mov    %edx,%eax
140579c71:	c1 e8 1f             	shr    $0x1f,%eax
140579c74:	03 d0                	add    %eax,%edx
140579c76:	44 3b c2             	cmp    %edx,%r8d
140579c79:	7e 08                	jle    0x140579c83
140579c7b:	48 8b cf             	mov    %rdi,%rcx
140579c7e:	e8 ed 14 00 00       	call   0x14057b170
140579c83:	83 7f 10 00          	cmpl   $0x0,0x10(%rdi)
140579c87:	7c 08                	jl     0x140579c91
140579c89:	48 8b cf             	mov    %rdi,%rcx
140579c8c:	e8 6f 0d 00 00       	call   0x14057aa00
140579c91:	49 8b c4             	mov    %r12,%rax
140579c94:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140579c99:	49 8b 5b 38          	mov    0x38(%r11),%rbx
140579c9d:	49 8b 6b 48          	mov    0x48(%r11),%rbp
140579ca1:	49 8b e3             	mov    %r11,%rsp
140579ca4:	41 5f                	pop    %r15
140579ca6:	41 5e                	pop    %r14
140579ca8:	41 5c                	pop    %r12
140579caa:	5f                   	pop    %rdi
140579cab:	5e                   	pop    %rsi
140579cac:	c3                   	ret
140579cad:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140579cb2:	e8 59 8e 3c 00       	call   0x140942b10
140579cb7:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
140579cbb:	4c 8b cb             	mov    %rbx,%r9
140579cbe:	4c 8d 05 2b 67 a9 00 	lea    0xa9672b(%rip),%r8        # 0x1410103f0
140579cc5:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140579cca:	48 8b 0d 27 78 eb 00 	mov    0xeb7827(%rip),%rcx        # 0x1414314f8
140579cd1:	e8 1a a9 21 00       	call   0x1407945f0
140579cd6:	cc                   	int3
140579cd7:	cc                   	int3
140579cd8:	cc                   	int3
140579cd9:	cc                   	int3
140579cda:	cc                   	int3
140579cdb:	cc                   	int3
140579cdc:	cc                   	int3
140579cdd:	cc                   	int3
140579cde:	cc                   	int3
140579cdf:	cc                   	int3
140579ce0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140579ce5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140579cea:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140579cef:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140579cf4:	57                   	push   %rdi
140579cf5:	41 56                	push   %r14
140579cf7:	41 57                	push   %r15
140579cf9:	48 83 ec 40          	sub    $0x40,%rsp
140579cfd:	4d 8b f8             	mov    %r8,%r15
140579d00:	4c 8b f2             	mov    %rdx,%r14
140579d03:	48 8d 69 10          	lea    0x10(%rcx),%rbp
140579d07:	49 8b 18             	mov    (%r8),%rbx
140579d0a:	48 8b cb             	mov    %rbx,%rcx
140579d0d:	e8 4e 87 22 00       	call   0x1407a2460
140579d12:	48 8b f8             	mov    %rax,%rdi
140579d15:	48 8b 73 18          	mov    0x18(%rbx),%rsi
140579d19:	48 8b cb             	mov    %rbx,%rcx
140579d1c:	e8 6f 8b 22 00       	call   0x1407a2890
140579d21:	48 c7 44 24 30 00 00 	movq   $0x0,0x30(%rsp)