431ad7:	8b c6                	mov    %esi,%eax
431ad9:	5e                   	pop    %esi
431ada:	5b                   	pop    %ebx
431adb:	8b e5                	mov    %ebp,%esp
431add:	5d                   	pop    %ebp
431ade:	c3                   	ret
431adf:	8b c6                	mov    %esi,%eax
431ae1:	85 d2                	test   %edx,%edx
431ae3:	74 16                	je     0x431afb
431ae5:	2b c2                	sub    %edx,%eax
431ae7:	8d 3c 1b             	lea    (%ebx,%ebx,1),%edi
431aea:	50                   	push   %eax
431aeb:	52                   	push   %edx
431aec:	2b d7                	sub    %edi,%edx
431aee:	52                   	push   %edx
431aef:	e8 2c 9b 03 00       	call   0x46b620
431af4:	8b c6                	mov    %esi,%eax
431af6:	83 c4 0c             	add    $0xc,%esp
431af9:	2b c7                	sub    %edi,%eax
431afb:	33 c9                	xor    %ecx,%ecx
431afd:	5f                   	pop    %edi
431afe:	66 89 08             	mov    %cx,(%eax)
431b01:	8d 46 02             	lea    0x2(%esi),%eax
431b04:	5e                   	pop    %esi
431b05:	5b                   	pop    %ebx
431b06:	8b e5                	mov    %ebp,%esp
431b08:	5d                   	pop    %ebp
431b09:	c3                   	ret
431b0a:	cc                   	int3
431b0b:	cc                   	int3
431b0c:	cc                   	int3
431b0d:	cc                   	int3
431b0e:	cc                   	int3
431b0f:	cc                   	int3
431b10:	55                   	push   %ebp
431b11:	8b ec                	mov    %esp,%ebp
431b13:	51                   	push   %ecx
431b14:	53                   	push   %ebx
431b15:	56                   	push   %esi
431b16:	8b 75 08             	mov    0x8(%ebp),%esi
431b19:	8b c1                	mov    %ecx,%eax
431b1b:	89 45 fc             	mov    %eax,-0x4(%ebp)
431b1e:	8b da                	mov    %edx,%ebx
431b20:	57                   	push   %edi
431b21:	8b f8                	mov    %eax,%edi
431b23:	85 f6                	test   %esi,%esi
431b25:	0f 84 8e 00 00 00    	je     0x431bb9
431b2b:	ba 00 d8 00 00       	mov    $0xd800,%edx
431b30:	0f b7 0b             	movzwl (%ebx),%ecx
431b33:	8b c1                	mov    %ecx,%eax
431b35:	66 3b ca             	cmp    %dx,%cx
431b38:	72 67                	jb     0x431ba1
431b3a:	8d 88 00 20 ff ff    	lea    -0xe000(%eax),%ecx
431b40:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
431b46:	72 59                	jb     0x431ba1
431b48:	8d 88 00 28 ff ff    	lea    -0xd800(%eax),%ecx
431b4e:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
431b54:	73 50                	jae    0x431ba6
431b56:	83 fe 02             	cmp    $0x2,%esi
431b59:	72 4b                	jb     0x431ba6
431b5b:	0f b7 53 02          	movzwl 0x2(%ebx),%edx
431b5f:	8d 8a 00 24 ff ff    	lea    -0xdc00(%edx),%ecx
431b65:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
431b6b:	73 27                	jae    0x431b94
431b6d:	25 ff 03 00 00       	and    $0x3ff,%eax
431b72:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
431b78:	83 c0 40             	add    $0x40,%eax
431b7b:	c1 e0 0a             	shl    $0xa,%eax
431b7e:	03 c2                	add    %edx,%eax
431b80:	ba 00 d8 00 00       	mov    $0xd800,%edx
431b85:	89 07                	mov    %eax,(%edi)
431b87:	83 c7 04             	add    $0x4,%edi
431b8a:	83 ee 02             	sub    $0x2,%esi
431b8d:	b8 04 00 00 00       	mov    $0x4,%eax
431b92:	eb 18                	jmp    0x431bac
431b94:	4e                   	dec    %esi
431b95:	b8 02 00 00 00       	mov    $0x2,%eax
431b9a:	ba 00 d8 00 00       	mov    $0xd800,%edx
431b9f:	eb 0b                	jmp    0x431bac
431ba1:	89 07                	mov    %eax,(%edi)
431ba3:	83 c7 04             	add    $0x4,%edi
431ba6:	4e                   	dec    %esi
431ba7:	b8 02 00 00 00       	mov    $0x2,%eax
431bac:	03 d8                	add    %eax,%ebx
431bae:	85 f6                	test   %esi,%esi
431bb0:	0f 85 7a ff ff ff    	jne    0x431b30
431bb6:	8b 45 fc             	mov    -0x4(%ebp),%eax
431bb9:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
431bbd:	8b 75 fc             	mov    -0x4(%ebp),%esi
431bc0:	0f 84 cc 00 00 00    	je     0x431c92
431bc6:	8b c8                	mov    %eax,%ecx
431bc8:	33 db                	xor    %ebx,%ebx
431bca:	8b c7                	mov    %edi,%eax
431bcc:	33 d2                	xor    %edx,%edx
431bce:	2b c6                	sub    %esi,%eax
431bd0:	83 c0 03             	add    $0x3,%eax
431bd3:	c1 e8 02             	shr    $0x2,%eax
431bd6:	3b f7                	cmp    %edi,%esi
431bd8:	0f 47 c3             	cmova  %ebx,%eax
431bdb:	85 c0                	test   %eax,%eax
431bdd:	0f 84 9e 00 00 00    	je     0x431c81
431be3:	83 f8 08             	cmp    $0x8,%eax
431be6:	0f 82 95 00 00 00    	jb     0x431c81
431bec:	0f 28 2d 00 74 4b 00 	movaps 0x4b7400,%xmm5
431bf3:	bb 10 00 00 00       	mov    $0x10,%ebx
431bf8:	0f 28 35 e0 73 4b 00 	movaps 0x4b73e0,%xmm6
431bff:	83 e0 f8             	and    $0xfffffff8,%eax
431c02:	66 0f 6e db          	movd   %ebx,%xmm3
431c06:	bb 08 00 00 00       	mov    $0x8,%ebx
431c0b:	66 0f 6e e3          	movd   %ebx,%xmm4
431c0f:	90                   	nop
431c10:	0f 10 09             	movups (%ecx),%xmm1
431c13:	03 d3                	add    %ebx,%edx
431c15:	0f 28 d6             	movaps %xmm6,%xmm2
431c18:	66 0f db d1          	pand   %xmm1,%xmm2
431c1c:	0f 28 c1             	movaps %xmm1,%xmm0
431c1f:	66 0f f2 c3          	pslld  %xmm3,%xmm0
431c23:	66 0f eb d0          	por    %xmm0,%xmm2
431c27:	0f 28 c5             	movaps %xmm5,%xmm0
431c2a:	66 0f db c1          	pand   %xmm1,%xmm0
431c2e:	66 0f d2 cb          	psrld  %xmm3,%xmm1
431c32:	66 0f f2 d4          	pslld  %xmm4,%xmm2
431c36:	66 0f eb c1          	por    %xmm1,%xmm0
431c3a:	66 0f d2 c4          	psrld  %xmm4,%xmm0
431c3e:	66 0f eb d0          	por    %xmm0,%xmm2
431c42:	0f 11 11             	movups %xmm2,(%ecx)
431c45:	0f 10 49 10          	movups 0x10(%ecx),%xmm1
431c49:	0f 28 d6             	movaps %xmm6,%xmm2
431c4c:	0f 28 c1             	movaps %xmm1,%xmm0
431c4f:	66 0f db d1          	pand   %xmm1,%xmm2
431c53:	66 0f f2 c3          	pslld  %xmm3,%xmm0
431c57:	66 0f eb d0          	por    %xmm0,%xmm2
431c5b:	0f 28 c5             	movaps %xmm5,%xmm0
431c5e:	66 0f db c1          	pand   %xmm1,%xmm0
431c62:	66 0f d2 cb          	psrld  %xmm3,%xmm1
431c66:	66 0f f2 d4          	pslld  %xmm4,%xmm2
431c6a:	66 0f eb c1          	por    %xmm1,%xmm0
431c6e:	66 0f d2 c4          	psrld  %xmm4,%xmm0
431c72:	66 0f eb d0          	por    %xmm0,%xmm2
431c76:	0f 11 51 10          	movups %xmm2,0x10(%ecx)
431c7a:	83 c1 20             	add    $0x20,%ecx
431c7d:	3b d0                	cmp    %eax,%edx
431c7f:	75 8f                	jne    0x431c10
431c81:	3b cf                	cmp    %edi,%ecx
431c83:	74 0d                	je     0x431c92
431c85:	8b 01                	mov    (%ecx),%eax
431c87:	0f c8                	bswap  %eax
431c89:	89 01                	mov    %eax,(%ecx)
431c8b:	83 c1 04             	add    $0x4,%ecx
431c8e:	3b cf                	cmp    %edi,%ecx
431c90:	75 f3                	jne    0x431c85
431c92:	2b fe                	sub    %esi,%edi
431c94:	83 e7 fc             	and    $0xfffffffc,%edi
431c97:	8b c7                	mov    %edi,%eax
431c99:	5f                   	pop    %edi
431c9a:	5e                   	pop    %esi
431c9b:	5b                   	pop    %ebx
431c9c:	8b e5                	mov    %ebp,%esp
431c9e:	5d                   	pop    %ebp
431c9f:	c3                   	ret
431ca0:	55                   	push   %ebp
431ca1:	8b ec                	mov    %esp,%ebp
431ca3:	83 ec 0c             	sub    $0xc,%esp
431ca6:	53                   	push   %ebx
431ca7:	56                   	push   %esi
431ca8:	8b f2                	mov    %edx,%esi
431caa:	8b d9                	mov    %ecx,%ebx
431cac:	8b 55 10             	mov    0x10(%ebp),%edx
431caf:	89 5d f8             	mov    %ebx,-0x8(%ebp)
431cb2:	57                   	push   %edi
431cb3:	85 d2                	test   %edx,%edx
431cb5:	75 2c                	jne    0x431ce3
431cb7:	8b 06                	mov    (%esi),%eax
431cb9:	8b 7d 08             	mov    0x8(%ebp),%edi
431cbc:	85 c7                	test   %eax,%edi
431cbe:	74 10                	je     0x431cd0
431cc0:	ff 33                	push   (%ebx)
431cc2:	c1 e8 08             	shr    $0x8,%eax
431cc5:	8b ce                	mov    %esi,%ecx
431cc7:	2b c8                	sub    %eax,%ecx
431cc9:	8b 09                	mov    (%ecx),%ecx
431ccb:	e8 d0 60 ff ff       	call   0x427da0
431cd0:	f7 d7                	not    %edi
431cd2:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
431cd8:	21 3e                	and    %edi,(%esi)
431cda:	b0 01                	mov    $0x1,%al
431cdc:	5f                   	pop    %edi
431cdd:	5e                   	pop    %esi
431cde:	5b                   	pop    %ebx
431cdf:	8b e5                	mov    %ebp,%esp
431ce1:	5d                   	pop    %ebp
431ce2:	c3                   	ret
431ce3:	8b 3b                	mov    (%ebx),%edi
431ce5:	85 ff                	test   %edi,%edi
431ce7:	74 37                	je     0x431d20
431ce9:	f6 06 40             	testb  $0x40,(%esi)
431cec:	75 32                	jne    0x431d20
431cee:	8b cf                	mov    %edi,%ecx
431cf0:	8d 41 02             	lea    0x2(%ecx),%eax
431cf3:	89 45 fc             	mov    %eax,-0x4(%ebp)
431cf6:	66 8b 01             	mov    (%ecx),%ax
431cf9:	83 c1 02             	add    $0x2,%ecx
431cfc:	66 85 c0             	test   %ax,%ax
431cff:	75 f5                	jne    0x431cf6
431d01:	2b 4d fc             	sub    -0x4(%ebp),%ecx
431d04:	8b 45 08             	mov    0x8(%ebp),%eax
431d07:	d1 f9                	sar    $1,%ecx
431d09:	85 06                	test   %eax,(%esi)
431d0b:	74 4e                	je     0x431d5b
431d0d:	3b ca                	cmp    %edx,%ecx
431d0f:	72 0f                	jb     0x431d20
431d11:	83 f9 20             	cmp    $0x20,%ecx
431d14:	72 49                	jb     0x431d5f
431d16:	8b c1                	mov    %ecx,%eax
431d18:	d1 e9                	shr    $1,%ecx
431d1a:	2b c2                	sub    %edx,%eax
431d1c:	3b c1                	cmp    %ecx,%eax
431d1e:	72 3f                	jb     0x431d5f
431d20:	8b 0e                	mov    (%esi),%ecx
431d22:	8b c6                	mov    %esi,%eax
431d24:	c1 e9 08             	shr    $0x8,%ecx
431d27:	2b c1                	sub    %ecx,%eax
431d29:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
431d2c:	8d 79 09             	lea    0x9(%ecx),%edi
431d2f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
431d32:	83 e7 fc             	and    $0xfffffffc,%edi
431d35:	8b 00                	mov    (%eax),%eax
431d37:	89 45 f4             	mov    %eax,-0xc(%ebp)
431d3a:	8b 50 04             	mov    0x4(%eax),%edx
431d3d:	8d 0c 3a             	lea    (%edx,%edi,1),%ecx
431d40:	81 f9 ec 7f 00 00    	cmp    $0x7fec,%ecx
431d46:	76 38                	jbe    0x431d80
431d48:	8d 4d f8             	lea    -0x8(%ebp),%ecx
431d4b:	51                   	push   %ecx
431d4c:	57                   	push   %edi
431d4d:	8b c8                	mov    %eax,%ecx
431d4f:	e8 cc 60 ff ff       	call   0x427e20
431d54:	8b 4d f8             	mov    -0x8(%ebp),%ecx
431d57:	8b d0                	mov    %eax,%edx
431d59:	eb 35                	jmp    0x431d90
431d5b:	3b ca                	cmp    %edx,%ecx
431d5d:	72 c1                	jb     0x431d20
431d5f:	8d 34 12             	lea    (%edx,%edx,1),%esi
431d62:	56                   	push   %esi
431d63:	ff 75 0c             	push   0xc(%ebp)
431d66:	57                   	push   %edi
431d67:	e8 b4 98 03 00       	call   0x46b620
431d6c:	8b 03                	mov    (%ebx),%eax
431d6e:	83 c4 0c             	add    $0xc,%esp
431d71:	33 c9                	xor    %ecx,%ecx
431d73:	5f                   	pop    %edi
431d74:	66 89 0c 06          	mov    %cx,(%esi,%eax,1)
431d78:	b0 01                	mov    $0x1,%al
431d7a:	5e                   	pop    %esi
431d7b:	5b                   	pop    %ebx
431d7c:	8b e5                	mov    %ebp,%esp
431d7e:	5d                   	pop    %ebp
431d7f:	c3                   	ret
431d80:	8b 08                	mov    (%eax),%ecx
431d82:	8d 1c 3a             	lea    (%edx,%edi,1),%ebx
431d85:	83 c2 14             	add    $0x14,%edx
431d88:	89 58 04             	mov    %ebx,0x4(%eax)
431d8b:	8b 5d f8             	mov    -0x8(%ebp),%ebx
431d8e:	03 d1                	add    %ecx,%edx
431d90:	85 d2                	test   %edx,%edx
431d92:	74 60                	je     0x431df4
431d94:	8b c2                	mov    %edx,%eax
431d96:	2b c1                	sub    %ecx,%eax
431d98:	8b cf                	mov    %edi,%ecx
431d9a:	83 e8 14             	sub    $0x14,%eax
431d9d:	c1 e9 02             	shr    $0x2,%ecx
431da0:	c1 e8 02             	shr    $0x2,%eax
431da3:	81 ff 00 00 04 00    	cmp    $0x40000,%edi
431da9:	66 89 02             	mov    %ax,(%edx)
431dac:	8d 7a 04             	lea    0x4(%edx),%edi
431daf:	1b c0                	sbb    %eax,%eax
431db1:	23 c1                	and    %ecx,%eax
431db3:	66 89 42 02          	mov    %ax,0x2(%edx)
431db7:	85 ff                	test   %edi,%edi
431db9:	74 39                	je     0x431df4
431dbb:	ff 75 fc             	push   -0x4(%ebp)
431dbe:	ff 75 0c             	push   0xc(%ebp)
431dc1:	57                   	push   %edi
431dc2:	e8 59 98 03 00       	call   0x46b620
431dc7:	8b 45 fc             	mov    -0x4(%ebp),%eax
431dca:	33 c9                	xor    %ecx,%ecx
431dcc:	83 c4 0c             	add    $0xc,%esp
431dcf:	66 89 0c 38          	mov    %cx,(%eax,%edi,1)
431dd3:	8b 45 08             	mov    0x8(%ebp),%eax
431dd6:	85 06                	test   %eax,(%esi)
431dd8:	74 0d                	je     0x431de7
431dda:	ff 33                	push   (%ebx)
431ddc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
431ddf:	e8 bc 5f ff ff       	call   0x427da0
431de4:	8b 45 08             	mov    0x8(%ebp),%eax
431de7:	89 3b                	mov    %edi,(%ebx)
431de9:	09 06                	or     %eax,(%esi)
431deb:	b0 01                	mov    $0x1,%al
431ded:	5f                   	pop    %edi
431dee:	5e                   	pop    %esi
431def:	5b                   	pop    %ebx
431df0:	8b e5                	mov    %ebp,%esp
431df2:	5d                   	pop    %ebp
431df3:	c3                   	ret
431df4:	5f                   	pop    %edi
431df5:	5e                   	pop    %esi
431df6:	32 c0                	xor    %al,%al
431df8:	5b                   	pop    %ebx
431df9:	8b e5                	mov    %ebp,%esp
431dfb:	5d                   	pop    %ebp
431dfc:	c3                   	ret
431dfd:	cc                   	int3
431dfe:	cc                   	int3
431dff:	cc                   	int3
431e00:	55                   	push   %ebp
431e01:	8b ec                	mov    %esp,%ebp
431e03:	83 ec 0c             	sub    $0xc,%esp
431e06:	a1 14 40 4c 00       	mov    0x4c4014,%eax
431e0b:	33 c5                	xor    %ebp,%eax
431e0d:	89 45 fc             	mov    %eax,-0x4(%ebp)
431e10:	8b 45 08             	mov    0x8(%ebp),%eax
431e13:	53                   	push   %ebx
431e14:	89 45 f8             	mov    %eax,-0x8(%ebp)
431e17:	8b 01                	mov    (%ecx),%eax
431e19:	56                   	push   %esi
431e1a:	57                   	push   %edi
431e1b:	85 c0                	test   %eax,%eax
431e1d:	0f 84 93 00 00 00    	je     0x431eb6
431e23:	8b 40 1c             	mov    0x1c(%eax),%eax
431e26:	85 c0                	test   %eax,%eax
431e28:	0f 84 88 00 00 00    	je     0x431eb6
431e2e:	66 90                	xchg   %ax,%ax
431e30:	8b 58 04             	mov    0x4(%eax),%ebx
431e33:	85 db                	test   %ebx,%ebx
431e35:	75 05                	jne    0x431e3c
431e37:	bb 60 ea 4a 00       	mov    $0x4aea60,%ebx
431e3c:	ba 7c 49 4b 00       	mov    $0x4b497c,%edx
431e41:	8b fb                	mov    %ebx,%edi
431e43:	be 78 00 00 00       	mov    $0x78,%esi
431e48:	2b fa                	sub    %edx,%edi
431e4a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
431e50:	66 39 34 17          	cmp    %si,(%edi,%edx,1)
431e54:	75 51                	jne    0x431ea7
431e56:	0f b7 4a 02          	movzwl 0x2(%edx),%ecx
431e5a:	83 c2 02             	add    $0x2,%edx
431e5d:	8b f1                	mov    %ecx,%esi
431e5f:	66 85 c9             	test   %cx,%cx
431e62:	75 ec                	jne    0x431e50
431e64:	8b 7d 0c             	mov    0xc(%ebp),%edi
431e67:	0f b7 4b 0a          	movzwl 0xa(%ebx),%ecx