1400458f1:	41 5c                	pop    %r12
1400458f3:	5f                   	pop    %rdi
1400458f4:	5e                   	pop    %rsi
1400458f5:	5b                   	pop    %rbx
1400458f6:	5d                   	pop    %rbp
1400458f7:	c3                   	ret
1400458f8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400458fd:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140045902:	57                   	push   %rdi
140045903:	48 83 ec 20          	sub    $0x20,%rsp
140045907:	48 8b fa             	mov    %rdx,%rdi
14004590a:	48 8b d9             	mov    %rcx,%rbx
14004590d:	41 83 f8 ff          	cmp    $0xffffffff,%r8d
140045911:	74 04                	je     0x140045917
140045913:	44 89 41 18          	mov    %r8d,0x18(%rcx)
140045917:	33 f6                	xor    %esi,%esi
140045919:	48 85 ff             	test   %rdi,%rdi
14004591c:	75 23                	jne    0x140045941
14004591e:	48 39 31             	cmp    %rsi,(%rcx)
140045921:	74 18                	je     0x14004593b
140045923:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140045927:	48 8b 09             	mov    (%rcx),%rcx
14004592a:	e8 c1 4d fe ff       	call   0x14002a6f0
14004592f:	48 8b 0b             	mov    (%rbx),%rcx
140045932:	ff 15 70 9c 02 00    	call   *0x29c70(%rip)        # 0x14006f5a8
140045938:	48 89 33             	mov    %rsi,(%rbx)
14004593b:	48 89 73 10          	mov    %rsi,0x10(%rbx)
14004593f:	eb 53                	jmp    0x140045994
140045941:	48 3b 79 10          	cmp    0x10(%rcx),%rdi
140045945:	77 2b                	ja     0x140045972
140045947:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14004594b:	49 3b f8             	cmp    %r8,%rdi
14004594e:	76 0c                	jbe    0x14004595c
140045950:	48 8b 01             	mov    (%rcx),%rax
140045953:	49 2b d0             	sub    %r8,%rdx
140045956:	4a 8d 0c c0          	lea    (%rax,%r8,8),%rcx
14004595a:	eb 30                	jmp    0x14004598c
14004595c:	73 33                	jae    0x140045991
14004595e:	48 8b 01             	mov    (%rcx),%rax
140045961:	4c 2b c7             	sub    %rdi,%r8
140045964:	48 8d 0c d0          	lea    (%rax,%rdx,8),%rcx
140045968:	49 8b d0             	mov    %r8,%rdx
14004596b:	e8 80 4d fe ff       	call   0x14002a6f0
140045970:	eb 1f                	jmp    0x140045991
140045972:	e8 a1 a0 fe ff       	call   0x14002fa18
140045977:	84 c0                	test   %al,%al
140045979:	74 1f                	je     0x14004599a
14004597b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14004597f:	48 8b d7             	mov    %rdi,%rdx
140045982:	48 8b 03             	mov    (%rbx),%rax
140045985:	48 2b d1             	sub    %rcx,%rdx
140045988:	48 8d 0c c8          	lea    (%rax,%rcx,8),%rcx
14004598c:	e8 1b 09 ff ff       	call   0x1400362ac
140045991:	48 8b f7             	mov    %rdi,%rsi
140045994:	48 89 73 08          	mov    %rsi,0x8(%rbx)
140045998:	b0 01                	mov    $0x1,%al
14004599a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14004599f:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1400459a4:	48 83 c4 20          	add    $0x20,%rsp
1400459a8:	5f                   	pop    %rdi
1400459a9:	c3                   	ret
1400459aa:	90                   	nop
1400459ab:	90                   	nop
1400459ac:	90                   	nop
1400459ad:	90                   	nop
1400459ae:	90                   	nop
1400459af:	90                   	nop
1400459b0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400459b5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1400459ba:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400459bf:	57                   	push   %rdi
1400459c0:	48 83 ec 30          	sub    $0x30,%rsp
1400459c4:	41 8b f0             	mov    %r8d,%esi
1400459c7:	8b da                	mov    %edx,%ebx
1400459c9:	48 8b e9             	mov    %rcx,%rbp
1400459cc:	e8 ef 35 01 00       	call   0x140058fc0
1400459d1:	48 8b f8             	mov    %rax,%rdi
1400459d4:	41 b8 4b 00 00 00    	mov    $0x4b,%r8d
1400459da:	48 8d 15 8f 3f 03 00 	lea    0x33f8f(%rip),%rdx        # 0x140079970
1400459e1:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1400459e6:	e8 29 39 01 00       	call   0x140059314
1400459eb:	90                   	nop
1400459ec:	8b d3                	mov    %ebx,%edx
1400459ee:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
1400459f3:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400459f8:	44 8b ce             	mov    %esi,%r9d
1400459fb:	4c 8b c5             	mov    %rbp,%r8
1400459fe:	48 8b cf             	mov    %rdi,%rcx
140045a01:	e8 be 39 01 00       	call   0x1400593c4
140045a06:	8b d8                	mov    %eax,%ebx
140045a08:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140045a0d:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
140045a11:	83 c9 ff             	or     $0xffffffff,%ecx
140045a14:	f0 0f c1 4a 10       	lock xadd %ecx,0x10(%rdx)
140045a19:	83 e9 01             	sub    $0x1,%ecx
140045a1c:	7f 10                	jg     0x140045a2e
140045a1e:	48 8b 0a             	mov    (%rdx),%rcx
140045a21:	4c 8b 01             	mov    (%rcx),%r8
140045a24:	49 8b 40 08          	mov    0x8(%r8),%rax
140045a28:	ff 15 5a 9c 02 00    	call   *0x29c5a(%rip)        # 0x14006f688
140045a2e:	85 db                	test   %ebx,%ebx
140045a30:	79 42                	jns    0x140045a74
140045a32:	48 8d 05 c7 25 07 00 	lea    0x725c7(%rip),%rax        # 0x1400b8000
140045a39:	48 8b 0d c0 25 07 00 	mov    0x725c0(%rip),%rcx        # 0x1400b8000
140045a40:	48 3b c8             	cmp    %rax,%rcx
140045a43:	74 2b                	je     0x140045a70
140045a45:	f7 41 5c 00 01 00 00 	testl  $0x100,0x5c(%rcx)
140045a4c:	74 22                	je     0x140045a70
140045a4e:	80 79 59 02          	cmpb   $0x2,0x59(%rcx)
140045a52:	72 1c                	jb     0x140045a70
140045a54:	ba 0a 00 00 00       	mov    $0xa,%edx
140045a59:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
140045a5d:	4c 8b cd             	mov    %rbp,%r9
140045a60:	4c 8d 05 e9 3c 03 00 	lea    0x33ce9(%rip),%r8        # 0x140079750
140045a67:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140045a6b:	e8 70 ce fd ff       	call   0x1400228e0
140045a70:	8b c3                	mov    %ebx,%eax
140045a72:	eb 02                	jmp    0x140045a76
140045a74:	33 c0                	xor    %eax,%eax
140045a76:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140045a7b:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140045a80:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140045a85:	48 83 c4 30          	add    $0x30,%rsp
140045a89:	5f                   	pop    %rdi
140045a8a:	c3                   	ret
140045a8b:	90                   	nop
140045a8c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140045a91:	57                   	push   %rdi
140045a92:	48 83 ec 30          	sub    $0x30,%rsp
140045a96:	48 8b f9             	mov    %rcx,%rdi
140045a99:	ba 01 00 00 00       	mov    $0x1,%edx
140045a9e:	48 8b 89 f0 00 00 00 	mov    0xf0(%rcx),%rcx
140045aa5:	41 b8 f4 01 00 00    	mov    $0x1f4,%r8d
140045aab:	e8 00 ff ff ff       	call   0x1400459b0
140045ab0:	8b d8                	mov    %eax,%ebx
140045ab2:	85 c0                	test   %eax,%eax
140045ab4:	79 42                	jns    0x140045af8
140045ab6:	48 8b 0d 43 25 07 00 	mov    0x72543(%rip),%rcx        # 0x1400b8000
140045abd:	48 8d 05 3c 25 07 00 	lea    0x7253c(%rip),%rax        # 0x1400b8000
140045ac4:	48 3b c8             	cmp    %rax,%rcx
140045ac7:	74 2b                	je     0x140045af4
140045ac9:	f7 41 5c 00 01 00 00 	testl  $0x100,0x5c(%rcx)
140045ad0:	74 22                	je     0x140045af4
140045ad2:	80 79 59 02          	cmpb   $0x2,0x59(%rcx)
140045ad6:	72 1c                	jb     0x140045af4
140045ad8:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140045adc:	4c 8d 05 6d 3c 03 00 	lea    0x33c6d(%rip),%r8        # 0x140079750
140045ae3:	ba 9d 00 00 00       	mov    $0x9d,%edx
140045ae8:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
140045aec:	4c 8b cf             	mov    %rdi,%r9
140045aef:	e8 ec cd fd ff       	call   0x1400228e0
140045af4:	8b c3                	mov    %ebx,%eax
140045af6:	eb 02                	jmp    0x140045afa
140045af8:	33 c0                	xor    %eax,%eax
140045afa:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140045aff:	48 83 c4 30          	add    $0x30,%rsp
140045b03:	5f                   	pop    %rdi
140045b04:	c3                   	ret
140045b05:	90                   	nop
140045b06:	90                   	nop
140045b07:	90                   	nop
140045b08:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140045b0d:	57                   	push   %rdi
140045b0e:	48 83 ec 30          	sub    $0x30,%rsp
140045b12:	48 8b f9             	mov    %rcx,%rdi
140045b15:	33 d2                	xor    %edx,%edx
140045b17:	48 8b 89 f0 00 00 00 	mov    0xf0(%rcx),%rcx
140045b1e:	41 b8 f4 01 00 00    	mov    $0x1f4,%r8d
140045b24:	e8 87 fe ff ff       	call   0x1400459b0
140045b29:	8b d8                	mov    %eax,%ebx
140045b2b:	85 c0                	test   %eax,%eax
140045b2d:	79 42                	jns    0x140045b71
140045b2f:	48 8b 0d ca 24 07 00 	mov    0x724ca(%rip),%rcx        # 0x1400b8000
140045b36:	48 8d 05 c3 24 07 00 	lea    0x724c3(%rip),%rax        # 0x1400b8000
140045b3d:	48 3b c8             	cmp    %rax,%rcx
140045b40:	74 2b                	je     0x140045b6d
140045b42:	f7 41 5c 00 01 00 00 	testl  $0x100,0x5c(%rcx)
140045b49:	74 22                	je     0x140045b6d
140045b4b:	80 79 59 02          	cmpb   $0x2,0x59(%rcx)
140045b4f:	72 1c                	jb     0x140045b6d
140045b51:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140045b55:	4c 8d 05 f4 3b 03 00 	lea    0x33bf4(%rip),%r8        # 0x140079750
140045b5c:	ba 9e 00 00 00       	mov    $0x9e,%edx
140045b61:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
140045b65:	4c 8b cf             	mov    %rdi,%r9
140045b68:	e8 73 cd fd ff       	call   0x1400228e0
140045b6d:	8b c3                	mov    %ebx,%eax
140045b6f:	eb 02                	jmp    0x140045b73
140045b71:	33 c0                	xor    %eax,%eax
140045b73:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140045b78:	48 83 c4 30          	add    $0x30,%rsp
140045b7c:	5f                   	pop    %rdi
140045b7d:	c3                   	ret
140045b7e:	90                   	nop
140045b7f:	90                   	nop
140045b80:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140045b85:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140045b8a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140045b8f:	57                   	push   %rdi
140045b90:	48 83 ec 20          	sub    $0x20,%rsp
140045b94:	48 8b 19             	mov    (%rcx),%rbx
140045b97:	48 8b f9             	mov    %rcx,%rdi
140045b9a:	0f b7 0b             	movzwl (%rbx),%ecx
140045b9d:	ff 15 85 99 02 00    	call   *0x29985(%rip)        # 0x14006f528
140045ba3:	33 ed                	xor    %ebp,%ebp
140045ba5:	eb 0d                	jmp    0x140045bb4
140045ba7:	48 83 c3 02          	add    $0x2,%rbx
140045bab:	0f b7 0b             	movzwl (%rbx),%ecx
140045bae:	ff 15 74 99 02 00    	call   *0x29974(%rip)        # 0x14006f528
140045bb4:	85 c0                	test   %eax,%eax
140045bb6:	75 ef                	jne    0x140045ba7
140045bb8:	48 8b 07             	mov    (%rdi),%rax
140045bbb:	48 3b d8             	cmp    %rax,%rbx
140045bbe:	0f 84 c1 00 00 00    	je     0x140045c85
140045bc4:	8b 50 f0             	mov    -0x10(%rax),%edx
140045bc7:	48 2b d8             	sub    %rax,%rbx
140045bca:	48 d1 fb             	sar    $1,%rbx
140045bcd:	85 d2                	test   %edx,%edx
140045bcf:	0f 88 d3 00 00 00    	js     0x140045ca8
140045bd5:	b9 01 00 00 00       	mov    $0x1,%ecx
140045bda:	2b 48 f8             	sub    -0x8(%rax),%ecx
140045bdd:	8b 40 f4             	mov    -0xc(%rax),%eax
140045be0:	2b c2                	sub    %edx,%eax
140045be2:	0b c8                	or     %eax,%ecx
140045be4:	7d 08                	jge    0x140045bee
140045be6:	48 8b cf             	mov    %rdi,%rcx
140045be9:	e8 e2 bd fd ff       	call   0x1400219d0
140045bee:	4c 8b 0f             	mov    (%rdi),%r9
140045bf1:	48 63 c3             	movslq %ebx,%rax
140045bf4:	41 8b 49 f0          	mov    -0x10(%r9),%ecx
140045bf8:	8b f1                	mov    %ecx,%esi
140045bfa:	2b f3                	sub    %ebx,%esi
140045bfc:	49 8d 14 41          	lea    (%r9,%rax,2),%rdx
140045c00:	bb 16 00 00 00       	mov    $0x16,%ebx
140045c05:	8d 46 01             	lea    0x1(%rsi),%eax
140045c08:	4c 63 c0             	movslq %eax,%r8
140045c0b:	4d 03 c0             	add    %r8,%r8
140045c0e:	74 4b                	je     0x140045c5b
140045c10:	4d 85 c9             	test   %r9,%r9
140045c13:	75 12                	jne    0x140045c27
140045c15:	ff 15 1d 98 02 00    	call   *0x2981d(%rip)        # 0x14006f438
140045c1b:	89 18                	mov    %ebx,(%rax)
140045c1d:	ff 15 b5 98 02 00    	call   *0x298b5(%rip)        # 0x14006f4d8
140045c23:	8b c3                	mov    %ebx,%eax
140045c25:	eb 36                	jmp    0x140045c5d
140045c27:	48 85 d2             	test   %rdx,%rdx
140045c2a:	74 e9                	je     0x140045c15
140045c2c:	8d 41 01             	lea    0x1(%rcx),%eax
140045c2f:	48 63 c8             	movslq %eax,%rcx
140045c32:	48 03 c9             	add    %rcx,%rcx
140045c35:	49 3b c8             	cmp    %r8,%rcx
140045c38:	73 19                	jae    0x140045c53
140045c3a:	ff 15 f8 97 02 00    	call   *0x297f8(%rip)        # 0x14006f438
140045c40:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140045c46:	ff 15 8c 98 02 00    	call   *0x2988c(%rip)        # 0x14006f4d8
140045c4c:	b8 22 00 00 00       	mov    $0x22,%eax
140045c51:	eb 0a                	jmp    0x140045c5d
140045c53:	49 8b c9             	mov    %r9,%rcx
140045c56:	e8 c1 46 02 00       	call   0x14006a31c
140045c5b:	8b c5                	mov    %ebp,%eax
140045c5d:	85 c0                	test   %eax,%eax
140045c5f:	74 0b                	je     0x140045c6c
140045c61:	3b c3                	cmp    %ebx,%eax
140045c63:	74 43                	je     0x140045ca8
140045c65:	83 f8 22             	cmp    $0x22,%eax
140045c68:	74 3e                	je     0x140045ca8
140045c6a:	eb 31                	jmp    0x140045c9d
140045c6c:	85 f6                	test   %esi,%esi
140045c6e:	78 38                	js     0x140045ca8
140045c70:	48 8b 07             	mov    (%rdi),%rax
140045c73:	3b 70 f4             	cmp    -0xc(%rax),%esi
140045c76:	7f 30                	jg     0x140045ca8
140045c78:	89 70 f0             	mov    %esi,-0x10(%rax)
140045c7b:	48 8b 07             	mov    (%rdi),%rax
140045c7e:	48 63 ce             	movslq %esi,%rcx
140045c81:	66 89 2c 48          	mov    %bp,(%rax,%rcx,2)
140045c85:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140045c8a:	48 8b c7             	mov    %rdi,%rax
140045c8d:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140045c92:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140045c97:	48 83 c4 20          	add    $0x20,%rsp
140045c9b:	5f                   	pop    %rdi
140045c9c:	c3                   	ret
140045c9d:	b9 05 40 00 80       	mov    $0x80004005,%ecx
140045ca2:	e8 29 89 fd ff       	call   0x14001e5d0
140045ca7:	cc                   	int3
140045ca8:	b9 57 00 07 80       	mov    $0x80070057,%ecx
140045cad:	e8 1e 89 fd ff       	call   0x14001e5d0
140045cb2:	cc                   	int3
140045cb3:	90                   	nop
140045cb4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140045cb9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140045cbe:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140045cc3:	57                   	push   %rdi
140045cc4:	48 83 ec 20          	sub    $0x20,%rsp
140045cc8:	48 8b 31             	mov    (%rcx),%rsi
140045ccb:	33 ed                	xor    %ebp,%ebp
140045ccd:	48 8b f9             	mov    %rcx,%rdi
140045cd0:	8b dd                	mov    %ebp,%ebx
140045cd2:	0f b7 06             	movzwl (%rsi),%eax
140045cd5:	66 85 c0             	test   %ax,%ax
140045cd8:	74 6d                	je     0x140045d47
140045cda:	0f b7 c8             	movzwl %ax,%ecx
140045cdd:	ff 15 45 98 02 00    	call   *0x29845(%rip)        # 0x14006f528
140045ce3:	85 c0                	test   %eax,%eax
140045ce5:	74 0f                	je     0x140045cf6
140045ce7:	48 85 db             	test   %rbx,%rbx
140045cea:	48 8b c6             	mov    %rsi,%rax
140045ced:	48 0f 45 c3          	cmovne %rbx,%rax
140045cf1:	48 8b d8             	mov    %rax,%rbx
140045cf4:	eb 03                	jmp    0x140045cf9
140045cf6:	48 8b dd             	mov    %rbp,%rbx
140045cf9:	48 83 c6 02          	add    $0x2,%rsi
140045cfd:	0f b7 06             	movzwl (%rsi),%eax
140045d00:	66 85 c0             	test   %ax,%ax
140045d03:	75 d5                	jne    0x140045cda
140045d05:	48 85 db             	test   %rbx,%rbx
140045d08:	74 3d                	je     0x140045d47
140045d0a:	48 8b 07             	mov    (%rdi),%rax
140045d0d:	48 2b d8             	sub    %rax,%rbx
140045d10:	48 d1 fb             	sar    $1,%rbx
140045d13:	85 db                	test   %ebx,%ebx
140045d15:	78 48                	js     0x140045d5f
140045d17:	b9 01 00 00 00       	mov    $0x1,%ecx
140045d1c:	2b 48 f8             	sub    -0x8(%rax),%ecx
140045d1f:	8b 40 f4             	mov    -0xc(%rax),%eax
140045d22:	2b c3                	sub    %ebx,%eax
140045d24:	0b c8                	or     %eax,%ecx
140045d26:	7d 0a                	jge    0x140045d32
140045d28:	8b d3                	mov    %ebx,%edx
140045d2a:	48 8b cf             	mov    %rdi,%rcx
140045d2d:	e8 9e bc fd ff       	call   0x1400219d0
140045d32:	48 8b 07             	mov    (%rdi),%rax
140045d35:	3b 58 f4             	cmp    -0xc(%rax),%ebx
140045d38:	7f 25                	jg     0x140045d5f
140045d3a:	89 58 f0             	mov    %ebx,-0x10(%rax)
140045d3d:	48 8b 07             	mov    (%rdi),%rax
140045d40:	48 63 cb             	movslq %ebx,%rcx
140045d43:	66 89 2c 48          	mov    %bp,(%rax,%rcx,2)
140045d47:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140045d4c:	48 8b c7             	mov    %rdi,%rax
140045d4f:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140045d54:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140045d59:	48 83 c4 20          	add    $0x20,%rsp
140045d5d:	5f                   	pop    %rdi
140045d5e:	c3                   	ret
140045d5f:	b9 57 00 07 80       	mov    $0x80070057,%ecx
140045d64:	e8 67 88 fd ff       	call   0x14001e5d0
140045d69:	cc                   	int3
140045d6a:	90                   	nop