140042b25:	8b cb                	mov    %ebx,%ecx
140042b27:	e8 3c 01 00 00       	call   0x140042c68
140042b2c:	85 c0                	test   %eax,%eax
140042b2e:	74 09                	je     0x140042b39
140042b30:	83 0f 04             	orl    $0x4,(%rdi)
140042b33:	89 5f 04             	mov    %ebx,0x4(%rdi)
140042b36:	89 5f 08             	mov    %ebx,0x8(%rdi)
140042b39:	8b 07                	mov    (%rdi),%eax
140042b3b:	c1 e8 02             	shr    $0x2,%eax
140042b3e:	f7 d0                	not    %eax
140042b40:	83 e0 01             	and    $0x1,%eax
140042b43:	48 8b 8c 24 10 01 00 	mov    0x110(%rsp),%rcx
140042b4a:	00
140042b4b:	48 33 cc             	xor    %rsp,%rcx
140042b4e:	e8 ad 1f fe ff       	call   0x140024b00
140042b53:	4c 8d 9c 24 20 01 00 	lea    0x120(%rsp),%r11
140042b5a:	00
140042b5b:	49 8b 5b 18          	mov    0x18(%r11),%rbx
140042b5f:	49 8b 73 20          	mov    0x20(%r11),%rsi
140042b63:	49 8b e3             	mov    %r11,%rsp
140042b66:	5f                   	pop    %rdi
140042b67:	c3                   	ret
140042b68:	0f b7 11             	movzwl (%rcx),%edx
140042b6b:	4c 8d 41 02          	lea    0x2(%rcx),%r8
140042b6f:	45 33 d2             	xor    %r10d,%r10d
140042b72:	45 8b ca             	mov    %r10d,%r9d
140042b75:	eb 37                	jmp    0x140042bae
140042b77:	8d 42 9f             	lea    -0x61(%rdx),%eax
140042b7a:	66 83 f8 05          	cmp    $0x5,%ax
140042b7e:	77 07                	ja     0x140042b87
140042b80:	b8 d9 ff 00 00       	mov    $0xffd9,%eax
140042b85:	eb 0e                	jmp    0x140042b95
140042b87:	8d 42 bf             	lea    -0x41(%rdx),%eax
140042b8a:	66 83 f8 05          	cmp    $0x5,%ax
140042b8e:	77 08                	ja     0x140042b98
140042b90:	b8 f9 ff 00 00       	mov    $0xfff9,%eax
140042b95:	66 03 d0             	add    %ax,%dx
140042b98:	41 c1 e1 04          	shl    $0x4,%r9d
140042b9c:	41 83 c1 d0          	add    $0xffffffd0,%r9d
140042ba0:	0f b7 ca             	movzwl %dx,%ecx
140042ba3:	41 0f b7 10          	movzwl (%r8),%edx
140042ba7:	44 03 c9             	add    %ecx,%r9d
140042baa:	49 83 c0 02          	add    $0x2,%r8
140042bae:	66 85 d2             	test   %dx,%dx
140042bb1:	75 c4                	jne    0x140042b77
140042bb3:	41 8b c1             	mov    %r9d,%eax
140042bb6:	c3                   	ret
140042bb7:	cc                   	int3
140042bb8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140042bbd:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140042bc2:	57                   	push   %rdi
140042bc3:	48 83 ec 20          	sub    $0x20,%rsp
140042bc7:	33 f6                	xor    %esi,%esi
140042bc9:	48 8b fa             	mov    %rdx,%rdi
140042bcc:	48 8b d9             	mov    %rcx,%rbx
140042bcf:	48 85 c9             	test   %rcx,%rcx
140042bd2:	74 53                	je     0x140042c27
140042bd4:	66 39 31             	cmp    %si,(%rcx)
140042bd7:	74 4e                	je     0x140042c27
140042bd9:	48 8d 15 c8 3b 01 00 	lea    0x13bc8(%rip),%rdx        # 0x1400567a8
140042be0:	e8 5b 43 00 00       	call   0x140046f40
140042be5:	85 c0                	test   %eax,%eax
140042be7:	74 3e                	je     0x140042c27
140042be9:	48 8d 15 d0 3b 01 00 	lea    0x13bd0(%rip),%rdx        # 0x1400567c0
140042bf0:	48 8b cb             	mov    %rbx,%rcx
140042bf3:	e8 48 43 00 00       	call   0x140046f40
140042bf8:	85 c0                	test   %eax,%eax
140042bfa:	75 21                	jne    0x140042c1d
140042bfc:	8b 4f 08             	mov    0x8(%rdi),%ecx
140042bff:	44 8d 4e 02          	lea    0x2(%rsi),%r9d
140042c03:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
140042c08:	ba 0b 00 00 20       	mov    $0x2000000b,%edx
140042c0d:	ff 15 ad 97 00 00    	call   *0x97ad(%rip)        # 0x14004c3c0
140042c13:	85 c0                	test   %eax,%eax
140042c15:	74 2d                	je     0x140042c44
140042c17:	8b 44 24 30          	mov    0x30(%rsp),%eax
140042c1b:	eb 39                	jmp    0x140042c56
140042c1d:	48 8b cb             	mov    %rbx,%rcx
140042c20:	e8 3f 58 ff ff       	call   0x140038464
140042c25:	eb 2f                	jmp    0x140042c56
140042c27:	8b 4f 08             	mov    0x8(%rdi),%ecx
140042c2a:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
140042c2f:	41 b9 02 00 00 00    	mov    $0x2,%r9d
140042c35:	ba 04 10 00 20       	mov    $0x20001004,%edx
140042c3a:	ff 15 80 97 00 00    	call   *0x9780(%rip)        # 0x14004c3c0
140042c40:	85 c0                	test   %eax,%eax
140042c42:	75 04                	jne    0x140042c48
140042c44:	33 c0                	xor    %eax,%eax
140042c46:	eb 0e                	jmp    0x140042c56
140042c48:	8b 44 24 30          	mov    0x30(%rsp),%eax
140042c4c:	85 c0                	test   %eax,%eax
140042c4e:	75 06                	jne    0x140042c56
140042c50:	ff 15 a2 97 00 00    	call   *0x97a2(%rip)        # 0x14004c3f8
140042c56:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140042c5b:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140042c60:	48 83 c4 20          	add    $0x20,%rsp
140042c64:	5f                   	pop    %rdi
140042c65:	c3                   	ret
140042c66:	cc                   	int3
140042c67:	cc                   	int3
140042c68:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140042c6d:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140042c72:	57                   	push   %rdi
140042c73:	48 83 ec 20          	sub    $0x20,%rsp
140042c77:	8b f2                	mov    %edx,%esi
140042c79:	8b d9                	mov    %ecx,%ebx
140042c7b:	e8 b0 5c ff ff       	call   0x140038930
140042c80:	8b cb                	mov    %ebx,%ecx
140042c82:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
140042c87:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
140042c8d:	41 b9 02 00 00 00    	mov    $0x2,%r9d
140042c93:	0f ba e9 0a          	bts    $0xa,%ecx
140042c97:	ba 01 00 00 20       	mov    $0x20000001,%edx
140042c9c:	48 8b f8             	mov    %rax,%rdi
140042c9f:	ff 15 1b 97 00 00    	call   *0x971b(%rip)        # 0x14004c3c0
140042ca5:	33 d2                	xor    %edx,%edx
140042ca7:	85 c0                	test   %eax,%eax
140042ca9:	74 5e                	je     0x140042d09
140042cab:	3b 5c 24 30          	cmp    0x30(%rsp),%ebx
140042caf:	74 51                	je     0x140042d02
140042cb1:	85 f6                	test   %esi,%esi
140042cb3:	74 4d                	je     0x140042d02
140042cb5:	4c 8b 97 98 00 00 00 	mov    0x98(%rdi),%r10
140042cbc:	44 8b ca             	mov    %edx,%r9d
140042cbf:	45 0f b7 02          	movzwl (%r10),%r8d
140042cc3:	49 8d 4a 02          	lea    0x2(%r10),%rcx
140042cc7:	41 8d 40 bf          	lea    -0x41(%r8),%eax
140042ccb:	66 83 f8 19          	cmp    $0x19,%ax
140042ccf:	76 0c                	jbe    0x140042cdd
140042cd1:	66 41 83 e8 61       	sub    $0x61,%r8w
140042cd6:	66 41 83 f8 19       	cmp    $0x19,%r8w
140042cdb:	77 0d                	ja     0x140042cea
140042cdd:	44 0f b7 01          	movzwl (%rcx),%r8d
140042ce1:	41 ff c1             	inc    %r9d
140042ce4:	48 83 c1 02          	add    $0x2,%rcx
140042ce8:	eb dd                	jmp    0x140042cc7
140042cea:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140042cee:	48 ff c0             	inc    %rax
140042cf1:	66 41 39 14 42       	cmp    %dx,(%r10,%rax,2)
140042cf6:	75 f6                	jne    0x140042cee
140042cf8:	44 3b c8             	cmp    %eax,%r9d
140042cfb:	0f 95 c2             	setne  %dl
140042cfe:	8b c2                	mov    %edx,%eax
140042d00:	eb 09                	jmp    0x140042d0b
140042d02:	b8 01 00 00 00       	mov    $0x1,%eax
140042d07:	eb 02                	jmp    0x140042d0b
140042d09:	33 c0                	xor    %eax,%eax
140042d0b:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140042d10:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140042d15:	48 83 c4 20          	add    $0x20,%rsp
140042d19:	5f                   	pop    %rdi
140042d1a:	c3                   	ret
140042d1b:	cc                   	int3
140042d1c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140042d21:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140042d26:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140042d2b:	57                   	push   %rdi
140042d2c:	41 56                	push   %r14
140042d2e:	41 57                	push   %r15
140042d30:	48 83 ec 20          	sub    $0x20,%rsp
140042d34:	33 ff                	xor    %edi,%edi
140042d36:	4d 8b f8             	mov    %r8,%r15
140042d39:	8b da                	mov    %edx,%ebx
140042d3b:	48 8b e9             	mov    %rcx,%rbp
140042d3e:	85 d2                	test   %edx,%edx
140042d40:	78 30                	js     0x140042d72
140042d42:	49 8b 0f             	mov    (%r15),%rcx
140042d45:	8d 04 1f             	lea    (%rdi,%rbx,1),%eax
140042d48:	99                   	cltd
140042d49:	2b c2                	sub    %edx,%eax
140042d4b:	d1 f8                	sar    $1,%eax
140042d4d:	48 63 f0             	movslq %eax,%rsi
140042d50:	4c 8b f6             	mov    %rsi,%r14
140042d53:	49 c1 e6 04          	shl    $0x4,%r14
140042d57:	49 8b 14 2e          	mov    (%r14,%rbp,1),%rdx
140042d5b:	e8 20 64 ff ff       	call   0x140039180
140042d60:	85 c0                	test   %eax,%eax
140042d62:	74 29                	je     0x140042d8d
140042d64:	79 05                	jns    0x140042d6b
140042d66:	8d 5e ff             	lea    -0x1(%rsi),%ebx
140042d69:	eb 03                	jmp    0x140042d6e
140042d6b:	8d 7e 01             	lea    0x1(%rsi),%edi
140042d6e:	3b fb                	cmp    %ebx,%edi
140042d70:	7e d0                	jle    0x140042d42
140042d72:	32 c0                	xor    %al,%al
140042d74:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140042d79:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140042d7e:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140042d83:	48 83 c4 20          	add    $0x20,%rsp
140042d87:	41 5f                	pop    %r15
140042d89:	41 5e                	pop    %r14
140042d8b:	5f                   	pop    %rdi
140042d8c:	c3                   	ret
140042d8d:	48 8d 45 08          	lea    0x8(%rbp),%rax
140042d91:	49 03 c6             	add    %r14,%rax
140042d94:	49 89 07             	mov    %rax,(%r15)
140042d97:	b0 01                	mov    $0x1,%al
140042d99:	eb d9                	jmp    0x140042d74
140042d9b:	cc                   	int3
140042d9c:	40 55                	rex push %rbp
140042d9e:	53                   	push   %rbx
140042d9f:	56                   	push   %rsi
140042da0:	57                   	push   %rdi
140042da1:	41 54                	push   %r12
140042da3:	41 56                	push   %r14
140042da5:	41 57                	push   %r15
140042da7:	48 8b ec             	mov    %rsp,%rbp
140042daa:	48 83 ec 40          	sub    $0x40,%rsp
140042dae:	48 8b 05 63 f2 02 00 	mov    0x2f263(%rip),%rax        # 0x140072018
140042db5:	48 33 c4             	xor    %rsp,%rax
140042db8:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140042dbc:	49 8b f8             	mov    %r8,%rdi
140042dbf:	4c 8b fa             	mov    %rdx,%r15
140042dc2:	4c 8b f1             	mov    %rcx,%r14
140042dc5:	e8 66 5b ff ff       	call   0x140038930
140042dca:	48 8b f0             	mov    %rax,%rsi
140042dcd:	33 c0                	xor    %eax,%eax
140042dcf:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140042dd3:	89 45 e8             	mov    %eax,-0x18(%rbp)
140042dd6:	e8 55 5b ff ff       	call   0x140038930
140042ddb:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140042ddf:	45 33 e4             	xor    %r12d,%r12d
140042de2:	48 8d 9e a0 00 00 00 	lea    0xa0(%rsi),%rbx
140042de9:	48 89 88 a0 03 00 00 	mov    %rcx,0x3a0(%rax)
140042df0:	49 8d 86 80 00 00 00 	lea    0x80(%r14),%rax
140042df7:	4c 89 b6 98 00 00 00 	mov    %r14,0x98(%rsi)
140042dfe:	48 89 03             	mov    %rax,(%rbx)
140042e01:	48 85 c0             	test   %rax,%rax
140042e04:	74 1d                	je     0x140042e23
140042e06:	66 44 39 20          	cmp    %r12w,(%rax)
140042e0a:	74 17                	je     0x140042e23
140042e0c:	8b 15 6e 2f 01 00    	mov    0x12f6e(%rip),%edx        # 0x140055d80
140042e12:	48 8d 0d f7 2d 01 00 	lea    0x12df7(%rip),%rcx        # 0x140055c10
140042e19:	ff ca                	dec    %edx
140042e1b:	4c 8b c3             	mov    %rbx,%r8
140042e1e:	e8 f9 fe ff ff       	call   0x140042d1c
140042e23:	44 89 65 e0          	mov    %r12d,-0x20(%rbp)
140042e27:	48 8b 86 98 00 00 00 	mov    0x98(%rsi),%rax
140042e2e:	48 85 c0             	test   %rax,%rax
140042e31:	74 79                	je     0x140042eac
140042e33:	66 44 39 20          	cmp    %r12w,(%rax)
140042e37:	74 73                	je     0x140042eac
140042e39:	48 8b 03             	mov    (%rbx),%rax
140042e3c:	48 85 c0             	test   %rax,%rax
140042e3f:	74 11                	je     0x140042e52
140042e41:	66 44 39 20          	cmp    %r12w,(%rax)
140042e45:	74 0b                	je     0x140042e52
140042e47:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140042e4b:	e8 58 f8 ff ff       	call   0x1400426a8
140042e50:	eb 09                	jmp    0x140042e5b
140042e52:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140042e56:	e8 1d f9 ff ff       	call   0x140042778
140042e5b:	44 39 65 e0          	cmp    %r12d,-0x20(%rbp)
140042e5f:	0f 85 bd 00 00 00    	jne    0x140042f22
140042e65:	8b 15 95 2d 01 00    	mov    0x12d95(%rip),%edx        # 0x140055c00
140042e6b:	4c 8d 86 98 00 00 00 	lea    0x98(%rsi),%r8
140042e72:	ff ca                	dec    %edx
140042e74:	48 8d 0d 75 29 01 00 	lea    0x12975(%rip),%rcx        # 0x1400557f0
140042e7b:	e8 9c fe ff ff       	call   0x140042d1c
140042e80:	84 c0                	test   %al,%al
140042e82:	0f 84 90 00 00 00    	je     0x140042f18
140042e88:	48 8b 03             	mov    (%rbx),%rax
140042e8b:	48 85 c0             	test   %rax,%rax
140042e8e:	74 11                	je     0x140042ea1
140042e90:	66 44 39 20          	cmp    %r12w,(%rax)
140042e94:	74 0b                	je     0x140042ea1
140042e96:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140042e9a:	e8 09 f8 ff ff       	call   0x1400426a8
140042e9f:	eb 77                	jmp    0x140042f18
140042ea1:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140042ea5:	e8 ce f8 ff ff       	call   0x140042778
140042eaa:	eb 6c                	jmp    0x140042f18
140042eac:	48 8b 03             	mov    (%rbx),%rax
140042eaf:	48 85 c0             	test   %rax,%rax
140042eb2:	74 51                	je     0x140042f05
140042eb4:	66 44 39 20          	cmp    %r12w,(%rax)
140042eb8:	74 4b                	je     0x140042f05
140042eba:	e8 71 5a ff ff       	call   0x140038930
140042ebf:	48 8b d0             	mov    %rax,%rdx
140042ec2:	48 83 c9 ff          	or     $0xffffffffffffffff,%rcx
140042ec6:	48 8b 80 a0 00 00 00 	mov    0xa0(%rax),%rax
140042ecd:	48 ff c1             	inc    %rcx
140042ed0:	66 44 39 24 48       	cmp    %r12w,(%rax,%rcx,2)
140042ed5:	75 f6                	jne    0x140042ecd
140042ed7:	48 83 f9 03          	cmp    $0x3,%rcx
140042edb:	41 8b c4             	mov    %r12d,%eax
140042ede:	48 8d 0d db f6 ff ff 	lea    -0x925(%rip),%rcx        # 0x1400425c0
140042ee5:	0f 94 c0             	sete   %al
140042ee8:	89 82 b4 00 00 00    	mov    %eax,0xb4(%rdx)
140042eee:	ba 01 00 00 00       	mov    $0x1,%edx
140042ef3:	ff 15 df 94 00 00    	call   *0x94df(%rip)        # 0x14004c3d8
140042ef9:	f6 45 e0 04          	testb  $0x4,-0x20(%rbp)
140042efd:	75 19                	jne    0x140042f18
140042eff:	44 89 65 e0          	mov    %r12d,-0x20(%rbp)
140042f03:	eb 13                	jmp    0x140042f18
140042f05:	c7 45 e0 04 01 00 00 	movl   $0x104,-0x20(%rbp)
140042f0c:	ff 15 be 94 00 00    	call   *0x94be(%rip)        # 0x14004c3d0
140042f12:	89 45 e8             	mov    %eax,-0x18(%rbp)
140042f15:	89 45 e4             	mov    %eax,-0x1c(%rbp)
140042f18:	44 39 65 e0          	cmp    %r12d,-0x20(%rbp)
140042f1c:	0f 84 db 00 00 00    	je     0x140042ffd
140042f22:	49 8d 86 00 01 00 00 	lea    0x100(%r14),%rax
140042f29:	49 f7 de             	neg    %r14
140042f2c:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140042f30:	48 1b c9             	sbb    %rcx,%rcx
140042f33:	48 23 c8             	and    %rax,%rcx
140042f36:	e8 7d fc ff ff       	call   0x140042bb8
140042f3b:	8b d8                	mov    %eax,%ebx
140042f3d:	85 c0                	test   %eax,%eax
140042f3f:	0f 84 b8 00 00 00    	je     0x140042ffd
140042f45:	0f b7 cb             	movzwl %bx,%ecx
140042f48:	ff 15 a2 94 00 00    	call   *0x94a2(%rip)        # 0x14004c3f0
140042f4e:	85 c0                	test   %eax,%eax
140042f50:	0f 84 a7 00 00 00    	je     0x140042ffd
140042f56:	8b 4d e4             	mov    -0x1c(%rbp),%ecx
140042f59:	ba 01 00 00 00       	mov    $0x1,%edx
140042f5e:	ff 15 64 94 00 00    	call   *0x9464(%rip)        # 0x14004c3c8
140042f64:	85 c0                	test   %eax,%eax
140042f66:	0f 84 91 00 00 00    	je     0x140042ffd
140042f6c:	4d 85 ff             	test   %r15,%r15
140042f6f:	74 03                	je     0x140042f74
140042f71:	41 89 1f             	mov    %ebx,(%r15)
140042f74:	8b 4d e4             	mov    -0x1c(%rbp),%ecx
140042f77:	48 8d 96 f0 02 00 00 	lea    0x2f0(%rsi),%rdx
140042f7e:	45 33 c9             	xor    %r9d,%r9d
140042f81:	41 8d 71 55          	lea    0x55(%r9),%esi
140042f85:	44 8b c6             	mov    %esi,%r8d
140042f88:	e8 8b 6a ff ff       	call   0x140039a18
140042f8d:	48 85 ff             	test   %rdi,%rdi
140042f90:	74 64                	je     0x140042ff6
140042f92:	8b 4d e4             	mov    -0x1c(%rbp),%ecx
140042f95:	48 8d 97 20 01 00 00 	lea    0x120(%rdi),%rdx
140042f9c:	45 33 c9             	xor    %r9d,%r9d
140042f9f:	44 8b c6             	mov    %esi,%r8d
140042fa2:	e8 71 6a ff ff       	call   0x140039a18
140042fa7:	8b 4d e4             	mov    -0x1c(%rbp),%ecx
140042faa:	be 40 00 00 00       	mov    $0x40,%esi
140042faf:	44 8b ce             	mov    %esi,%r9d
140042fb2:	4c 8b c7             	mov    %rdi,%r8
140042fb5:	ba 01 10 00 00       	mov    $0x1001,%edx
140042fba:	ff 15 00 94 00 00    	call   *0x9400(%rip)        # 0x14004c3c0
140042fc0:	85 c0                	test   %eax,%eax
140042fc2:	74 39                	je     0x140042ffd
140042fc4:	8b 4d e8             	mov    -0x18(%rbp),%ecx
140042fc7:	4c 8d 87 80 00 00 00 	lea    0x80(%rdi),%r8
140042fce:	44 8b ce             	mov    %esi,%r9d
140042fd1:	ba 02 10 00 00       	mov    $0x1002,%edx
140042fd6:	ff 15 e4 93 00 00    	call   *0x93e4(%rip)        # 0x14004c3c0
140042fdc:	85 c0                	test   %eax,%eax
140042fde:	74 1d                	je     0x140042ffd