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
140045d6b:	90                   	nop
140045d6c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140045d71:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140045d76:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140045d7b:	57                   	push   %rdi
140045d7c:	48 83 ec 30          	sub    $0x30,%rsp
140045d80:	48 8b f9             	mov    %rcx,%rdi
140045d83:	4c 8b 81 88 00 00 00 	mov    0x88(%rcx),%r8
140045d8a:	bd ff ff ff ff       	mov    $0xffffffff,%ebp
140045d8f:	4c 3b c5             	cmp    %rbp,%r8
140045d92:	0f 87 36 01 00 00    	ja     0x140045ece
140045d98:	45 85 c0             	test   %r8d,%r8d
140045d9b:	74 7a                	je     0x140045e17
140045d9d:	48 8b 8a 00 01 00 00 	mov    0x100(%rdx),%rcx
140045da4:	48 8b 01             	mov    (%rcx),%rax
140045da7:	41 8b d0             	mov    %r8d,%edx
140045daa:	48 8b 40 78          	mov    0x78(%rax),%rax
140045dae:	ff 15 d4 98 02 00    	call   *0x298d4(%rip)        # 0x14006f688
140045db4:	8b d8                	mov    %eax,%ebx
140045db6:	85 c0                	test   %eax,%eax
140045db8:	79 55                	jns    0x140045e0f
140045dba:	48 8d 15 3f 22 07 00 	lea    0x7223f(%rip),%rdx        # 0x1400b8000
140045dc1:	48 8b 0d 38 22 07 00 	mov    0x72238(%rip),%rcx        # 0x1400b8000
140045dc8:	48 3b ca             	cmp    %rdx,%rcx
140045dcb:	74 2b                	je     0x140045df8
140045dcd:	f7 41 5c 00 01 00 00 	testl  $0x100,0x5c(%rcx)
140045dd4:	74 22                	je     0x140045df8
140045dd6:	80 79 59 02          	cmpb   $0x2,0x59(%rcx)
140045dda:	72 1c                	jb     0x140045df8
140045ddc:	ba 93 00 00 00       	mov    $0x93,%edx
140045de1:	89 44 24 20          	mov    %eax,0x20(%rsp)
140045de5:	4c 8b cf             	mov    %rdi,%r9
140045de8:	4c 8d 05 61 39 03 00 	lea    0x33961(%rip),%r8        # 0x140079750
140045def:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140045df3:	e8 e8 ca fd ff       	call   0x1400228e0
140045df8:	8b c3                	mov    %ebx,%eax
140045dfa:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140045dff:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140045e04:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140045e09:	48 83 c4 30          	add    $0x30,%rsp
140045e0d:	5f                   	pop    %rdi
140045e0e:	c3                   	ret
140045e0f:	48 83 a7 88 00 00 00 	andq   $0x0,0x88(%rdi)
140045e16:	00
140045e17:	48 8b b7 90 00 00 00 	mov    0x90(%rdi),%rsi
140045e1e:	48 3b f5             	cmp    %rbp,%rsi
140045e21:	0f 87 a7 00 00 00    	ja     0x140045ece
140045e27:	48 8b 5f 78          	mov    0x78(%rdi),%rbx
140045e2b:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140045e30:	48 85 db             	test   %rbx,%rbx
140045e33:	74 11                	je     0x140045e46
140045e35:	48 8b 03             	mov    (%rbx),%rax
140045e38:	48 8b cb             	mov    %rbx,%rcx
140045e3b:	48 8b 40 08          	mov    0x8(%rax),%rax
140045e3f:	ff 15 43 98 02 00    	call   *0x29843(%rip)        # 0x14006f688
140045e45:	90                   	nop
140045e46:	85 f6                	test   %esi,%esi
140045e48:	74 65                	je     0x140045eaf
140045e4a:	48 85 db             	test   %rbx,%rbx
140045e4d:	74 60                	je     0x140045eaf
140045e4f:	48 8b 03             	mov    (%rbx),%rax
140045e52:	8b d6                	mov    %esi,%edx
140045e54:	48 8b cb             	mov    %rbx,%rcx
140045e57:	48 8b 40 28          	mov    0x28(%rax),%rax
140045e5b:	ff 15 27 98 02 00    	call   *0x29827(%rip)        # 0x14006f688
140045e61:	8b f0                	mov    %eax,%esi
140045e63:	85 c0                	test   %eax,%eax
140045e65:	79 40                	jns    0x140045ea7
140045e67:	48 8d 15 92 21 07 00 	lea    0x72192(%rip),%rdx        # 0x1400b8000
140045e6e:	48 8b 0d 8b 21 07 00 	mov    0x7218b(%rip),%rcx        # 0x1400b8000
140045e75:	48 3b ca             	cmp    %rdx,%rcx
140045e78:	74 37                	je     0x140045eb1
140045e7a:	f7 41 5c 00 01 00 00 	testl  $0x100,0x5c(%rcx)
140045e81:	74 2e                	je     0x140045eb1
140045e83:	80 79 59 02          	cmpb   $0x2,0x59(%rcx)
140045e87:	72 28                	jb     0x140045eb1
140045e89:	ba 94 00 00 00       	mov    $0x94,%edx
140045e8e:	89 44 24 20          	mov    %eax,0x20(%rsp)
140045e92:	4c 8b cf             	mov    %rdi,%r9
140045e95:	4c 8d 05 b4 38 03 00 	lea    0x338b4(%rip),%r8        # 0x140079750
140045e9c:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140045ea0:	e8 3b ca fd ff       	call   0x1400228e0
140045ea5:	eb 0a                	jmp    0x140045eb1
140045ea7:	48 83 a7 90 00 00 00 	andq   $0x0,0x90(%rdi)
140045eae:	00
140045eaf:	33 f6                	xor    %esi,%esi
140045eb1:	48 85 db             	test   %rbx,%rbx
140045eb4:	74 11                	je     0x140045ec7
140045eb6:	48 8b 13             	mov    (%rbx),%rdx
140045eb9:	48 8b cb             	mov    %rbx,%rcx
140045ebc:	48 8b 42 10          	mov    0x10(%rdx),%rax
140045ec0:	ff 15 c2 97 02 00    	call   *0x297c2(%rip)        # 0x14006f688
140045ec6:	90                   	nop
140045ec7:	8b c6                	mov    %esi,%eax
140045ec9:	e9 2c ff ff ff       	jmp    0x140045dfa
140045ece:	e8 e1 0f fd ff       	call   0x140016eb4
140045ed3:	cc                   	int3
140045ed4:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140045ed9:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140045ede:	55                   	push   %rbp
140045edf:	56                   	push   %rsi
140045ee0:	57                   	push   %rdi
140045ee1:	41 55                	push   %r13
140045ee3:	41 56                	push   %r14
140045ee5:	48 8b ec             	mov    %rsp,%rbp
140045ee8:	48 83 ec 60          	sub    $0x60,%rsp
140045eec:	4d 8b f1             	mov    %r9,%r14
140045eef:	45 8b d0             	mov    %r8d,%r10d
140045ef2:	48 8b da             	mov    %rdx,%rbx
140045ef5:	48 8b f1             	mov    %rcx,%rsi
140045ef8:	48 83 65 e8 00       	andq   $0x0,-0x18(%rbp)
140045efd:	48 8b 0a             	mov    (%rdx),%rcx
140045f00:	48 8b 01             	mov    (%rcx),%rax
140045f03:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
140045f07:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
140045f0c:	c7 44 24 20 03 00 00 	movl   $0x3,0x20(%rsp)
140045f13:	00
140045f14:	41 b9 02 00 00 00    	mov    $0x2,%r9d
140045f1a:	4c 8d 05 17 56 03 00 	lea    0x35617(%rip),%r8        # 0x14007b538
140045f21:	41 8b d2             	mov    %r10d,%edx
140045f24:	48 8b 40 38          	mov    0x38(%rax),%rax
140045f28:	ff 15 5a 97 02 00    	call   *0x2975a(%rip)        # 0x14006f688
140045f2e:	8b f8                	mov    %eax,%edi
140045f30:	85 c0                	test   %eax,%eax
140045f32:	0f 89 84 00 00 00    	jns    0x140045fbc
140045f38:	48 8d 0d c1 20 07 00 	lea    0x720c1(%rip),%rcx        # 0x1400b8000
140045f3f:	4c 8b 15 ba 20 07 00 	mov    0x720ba(%rip),%r10        # 0x1400b8000
140045f46:	4c 3b d1             	cmp    %rcx,%r10
140045f49:	74 2e                	je     0x140045f79
140045f4b:	41 f7 42 5c 00 01 00 	testl  $0x100,0x5c(%r10)
140045f52:	00
140045f53:	74 24                	je     0x140045f79
140045f55:	41 80 7a 59 02       	cmpb   $0x2,0x59(%r10)
140045f5a:	72 1d                	jb     0x140045f79
140045f5c:	ba 51 00 00 00       	mov    $0x51,%edx
140045f61:	89 44 24 20          	mov    %eax,0x20(%rsp)
140045f65:	4c 8b ce             	mov    %rsi,%r9
140045f68:	4c 8d 05 e1 37 03 00 	lea    0x337e1(%rip),%r8        # 0x140079750
140045f6f:	49 8b 4a 50          	mov    0x50(%r10),%rcx
140045f73:	e8 68 c9 fd ff       	call   0x1400228e0
140045f78:	90                   	nop
140045f79:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140045f7d:	48 85 c9             	test   %rcx,%rcx
140045f80:	74 0e                	je     0x140045f90
140045f82:	48 8b 01             	mov    (%rcx),%rax
140045f85:	48 8b 40 10          	mov    0x10(%rax),%rax
140045f89:	ff 15 f9 96 02 00    	call   *0x296f9(%rip)        # 0x14006f688
140045f8f:	90                   	nop
140045f90:	48 8b 0b             	mov    (%rbx),%rcx
140045f93:	48 85 c9             	test   %rcx,%rcx
140045f96:	74 0e                	je     0x140045fa6
140045f98:	48 8b 01             	mov    (%rcx),%rax
140045f9b:	48 8b 40 10          	mov    0x10(%rax),%rax
140045f9f:	ff 15 e3 96 02 00    	call   *0x296e3(%rip)        # 0x14006f688
140045fa5:	90                   	nop
140045fa6:	8b c7                	mov    %edi,%eax
140045fa8:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
140045faf:	00
140045fb0:	48 83 c4 60          	add    $0x60,%rsp
140045fb4:	41 5e                	pop    %r14
140045fb6:	41 5d                	pop    %r13
140045fb8:	5f                   	pop    %rdi
140045fb9:	5e                   	pop    %rsi
140045fba:	5d                   	pop    %rbp
140045fbb:	c3                   	ret
140045fbc:	48 83 65 e0 00       	andq   $0x0,-0x20(%rbp)
140045fc1:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
140045fc5:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140045fc9:	49 8b ce             	mov    %r14,%rcx
140045fcc:	e8 07 60 01 00       	call   0x14005bfd8
140045fd1:	8b f8                	mov    %eax,%edi
140045fd3:	85 c0                	test   %eax,%eax
140045fd5:	0f 89 81 00 00 00    	jns    0x14004605c
140045fdb:	48 8d 0d 1e 20 07 00 	lea    0x7201e(%rip),%rcx        # 0x1400b8000
140045fe2:	4c 8b 15 17 20 07 00 	mov    0x72017(%rip),%r10        # 0x1400b8000