4238a8:	d1 fa                	sar    $1,%edx
4238aa:	2b c2                	sub    %edx,%eax
4238ac:	d1 e8                	shr    $1,%eax
4238ae:	51                   	push   %ecx
4238af:	03 c2                	add    %edx,%eax
4238b1:	50                   	push   %eax
4238b2:	68 04 05 41 00       	push   $0x410504
4238b7:	ff 15 74 23 45 00    	call   *0x452374
4238bd:	68 30 05 41 00       	push   $0x410530
4238c2:	ff 15 74 23 45 00    	call   *0x452374
4238c8:	68 b8 05 41 00       	push   $0x4105b8
4238cd:	ff 15 74 23 45 00    	call   *0x452374
4238d3:	68 e8 c4 40 00       	push   $0x40c4e8
4238d8:	ff 15 74 23 45 00    	call   *0x452374
4238de:	83 c4 18             	add    $0x18,%esp
4238e1:	c7 05 c4 19 45 00 00 	movl   $0x0,0x4519c4
4238e8:	00 00 00
4238eb:	5e                   	pop    %esi
4238ec:	c3                   	ret
4238ed:	cc                   	int3
4238ee:	cc                   	int3
4238ef:	cc                   	int3
4238f0:	8b ff                	mov    %edi,%edi
4238f2:	56                   	push   %esi
4238f3:	be 64 00 00 00       	mov    $0x64,%esi
4238f8:	2b 35 c4 19 45 00    	sub    0x4519c4,%esi
4238fe:	83 fe 02             	cmp    $0x2,%esi
423901:	7c 1c                	jl     0x42391f
423903:	d1 ee                	shr    $1,%esi
423905:	68 bc 3c 40 00       	push   $0x403cbc
42390a:	ff 15 74 23 45 00    	call   *0x452374
423910:	83 05 c4 19 45 00 02 	addl   $0x2,0x4519c4
423917:	83 c4 04             	add    $0x4,%esp
42391a:	83 ee 01             	sub    $0x1,%esi
42391d:	75 e6                	jne    0x423905
42391f:	68 38 06 41 00       	push   $0x410638
423924:	ff 15 74 23 45 00    	call   *0x452374
42392a:	83 c4 04             	add    $0x4,%esp
42392d:	5e                   	pop    %esi
42392e:	c3                   	ret
42392f:	cc                   	int3
423930:	8b ff                	mov    %edi,%edi
423932:	55                   	push   %ebp
423933:	8b ec                	mov    %esp,%ebp
423935:	80 3d cd 14 45 00 00 	cmpb   $0x0,0x4514cd
42393c:	56                   	push   %esi
42393d:	74 17                	je     0x423956
42393f:	80 3d ce 14 45 00 00 	cmpb   $0x0,0x4514ce
423946:	74 07                	je     0x42394f
423948:	be 10 3a 42 00       	mov    $0x423a10,%esi
42394d:	eb 0c                	jmp    0x42395b
42394f:	be c0 39 42 00       	mov    $0x4239c0,%esi
423954:	eb 05                	jmp    0x42395b
423956:	be 80 39 42 00       	mov    $0x423980,%esi
42395b:	ff 75 0c             	push   0xc(%ebp)
42395e:	8b ce                	mov    %esi,%ecx
423960:	89 35 00 f0 44 00    	mov    %esi,0x44f000
423966:	ff 75 08             	push   0x8(%ebp)
423969:	ff 15 84 23 45 00    	call   *0x452384
42396f:	ff d6                	call   *%esi
423971:	5e                   	pop    %esi
423972:	5d                   	pop    %ebp
423973:	c2 08 00             	ret    $0x8
423976:	cc                   	int3
423977:	cc                   	int3
423978:	cc                   	int3
423979:	cc                   	int3
42397a:	cc                   	int3
42397b:	cc                   	int3
42397c:	cc                   	int3
42397d:	cc                   	int3
42397e:	cc                   	int3
42397f:	cc                   	int3
423980:	8b ff                	mov    %edi,%edi
423982:	55                   	push   %ebp
423983:	8b ec                	mov    %esp,%ebp
423985:	8b 4d 08             	mov    0x8(%ebp),%ecx
423988:	56                   	push   %esi
423989:	8b 75 0c             	mov    0xc(%ebp),%esi
42398c:	8b 01                	mov    (%ecx),%eax
42398e:	35 ef cd ab 89       	xor    $0x89abcdef,%eax
423993:	83 c1 18             	add    $0x18,%ecx
423996:	8b 51 e8             	mov    -0x18(%ecx),%edx
423999:	8d 49 20             	lea    0x20(%ecx),%ecx
42399c:	33 51 cc             	xor    -0x34(%ecx),%edx
42399f:	33 51 d0             	xor    -0x30(%ecx),%edx
4239a2:	33 51 d4             	xor    -0x2c(%ecx),%edx
4239a5:	33 51 d8             	xor    -0x28(%ecx),%edx
4239a8:	33 51 dc             	xor    -0x24(%ecx),%edx
4239ab:	33 51 e4             	xor    -0x1c(%ecx),%edx
4239ae:	33 51 e0             	xor    -0x20(%ecx),%edx
4239b1:	33 c2                	xor    %edx,%eax
4239b3:	83 ee 20             	sub    $0x20,%esi
4239b6:	75 de                	jne    0x423996
4239b8:	5e                   	pop    %esi
4239b9:	5d                   	pop    %ebp
4239ba:	c2 08 00             	ret    $0x8
4239bd:	cc                   	int3
4239be:	cc                   	int3
4239bf:	cc                   	int3
4239c0:	8b ff                	mov    %edi,%edi
4239c2:	55                   	push   %ebp
4239c3:	8b ec                	mov    %esp,%ebp
4239c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4239c8:	56                   	push   %esi
4239c9:	8b 75 0c             	mov    0xc(%ebp),%esi
4239cc:	8b 01                	mov    (%ecx),%eax
4239ce:	35 ef cd ab 89       	xor    $0x89abcdef,%eax
4239d3:	83 c1 1c             	add    $0x1c,%ecx
4239d6:	8b 51 e4             	mov    -0x1c(%ecx),%edx
4239d9:	8d 49 20             	lea    0x20(%ecx),%ecx
4239dc:	33 51 c8             	xor    -0x38(%ecx),%edx
4239df:	33 51 cc             	xor    -0x34(%ecx),%edx
4239e2:	33 51 d0             	xor    -0x30(%ecx),%edx
4239e5:	33 51 d4             	xor    -0x2c(%ecx),%edx
4239e8:	33 51 d8             	xor    -0x28(%ecx),%edx
4239eb:	33 51 dc             	xor    -0x24(%ecx),%edx
4239ee:	33 51 e0             	xor    -0x20(%ecx),%edx
4239f1:	0f 18 41 04          	prefetchnta 0x4(%ecx)
4239f5:	33 c2                	xor    %edx,%eax
4239f7:	83 ee 20             	sub    $0x20,%esi
4239fa:	75 da                	jne    0x4239d6
4239fc:	5e                   	pop    %esi
4239fd:	5d                   	pop    %ebp
4239fe:	c2 08 00             	ret    $0x8
423a01:	cc                   	int3
423a02:	cc                   	int3
423a03:	cc                   	int3
423a04:	cc                   	int3
423a05:	cc                   	int3
423a06:	cc                   	int3
423a07:	cc                   	int3
423a08:	cc                   	int3
423a09:	cc                   	int3
423a0a:	cc                   	int3
423a0b:	cc                   	int3
423a0c:	cc                   	int3
423a0d:	cc                   	int3
423a0e:	cc                   	int3
423a0f:	cc                   	int3
423a10:	8b ff                	mov    %edi,%edi
423a12:	55                   	push   %ebp
423a13:	8b ec                	mov    %esp,%ebp
423a15:	83 e4 f0             	and    $0xfffffff0,%esp
423a18:	8b 4d 08             	mov    0x8(%ebp),%ecx
423a1b:	83 ec 1c             	sub    $0x1c,%esp
423a1e:	0f 57 c9             	xorps  %xmm1,%xmm1
423a21:	8b 11                	mov    (%ecx),%edx
423a23:	56                   	push   %esi
423a24:	8b 75 0c             	mov    0xc(%ebp),%esi
423a27:	03 f1                	add    %ecx,%esi
423a29:	83 c1 30             	add    $0x30,%ecx
423a2c:	8d 64 24 00          	lea    0x0(%esp),%esp
423a30:	0f 10 51 d0          	movups -0x30(%ecx),%xmm2
423a34:	8d 89 80 00 00 00    	lea    0x80(%ecx),%ecx
423a3a:	0f 10 81 70 ff ff ff 	movups -0x90(%ecx),%xmm0
423a41:	8d 41 d0             	lea    -0x30(%ecx),%eax
423a44:	66 0f ef 41 80       	pxor   -0x80(%ecx),%xmm0
423a49:	66 0f ef 91 60 ff ff 	pxor   -0xa0(%ecx),%xmm2
423a50:	ff
423a51:	0f 18 41 50          	prefetchnta 0x50(%ecx)
423a55:	66 0f ef d0          	pxor   %xmm0,%xmm2
423a59:	0f 10 41 a0          	movups -0x60(%ecx),%xmm0
423a5d:	66 0f ef d1          	pxor   %xmm1,%xmm2
423a61:	0f 10 49 c0          	movups -0x40(%ecx),%xmm1
423a65:	66 0f ef 49 b0       	pxor   -0x50(%ecx),%xmm1
423a6a:	66 0f ef 41 90       	pxor   -0x70(%ecx),%xmm0
423a6f:	66 0f ef c8          	pxor   %xmm0,%xmm1
423a73:	66 0f ef ca          	pxor   %xmm2,%xmm1
423a77:	0f 29 4c 24 10       	movaps %xmm1,0x10(%esp)
423a7c:	3b c6                	cmp    %esi,%eax
423a7e:	72 b0                	jb     0x423a30
423a80:	33 54 24 10          	xor    0x10(%esp),%edx
423a84:	33 54 24 14          	xor    0x14(%esp),%edx
423a88:	33 54 24 18          	xor    0x18(%esp),%edx
423a8c:	33 54 24 1c          	xor    0x1c(%esp),%edx
423a90:	81 f2 ef cd ab 89    	xor    $0x89abcdef,%edx
423a96:	8b c2                	mov    %edx,%eax
423a98:	5e                   	pop    %esi
423a99:	8b e5                	mov    %ebp,%esp
423a9b:	5d                   	pop    %ebp
423a9c:	c2 08 00             	ret    $0x8
423a9f:	cc                   	int3
423aa0:	8b ff                	mov    %edi,%edi
423aa2:	55                   	push   %ebp
423aa3:	8b ec                	mov    %esp,%ebp
423aa5:	80 3d cd 14 45 00 00 	cmpb   $0x0,0x4514cd
423aac:	56                   	push   %esi
423aad:	74 17                	je     0x423ac6
423aaf:	80 3d ce 14 45 00 00 	cmpb   $0x0,0x4514ce
423ab6:	74 07                	je     0x423abf
423ab8:	be 50 3f 42 00       	mov    $0x423f50,%esi
423abd:	eb 0c                	jmp    0x423acb
423abf:	be 20 3d 42 00       	mov    $0x423d20,%esi
423ac4:	eb 05                	jmp    0x423acb
423ac6:	be f0 3a 42 00       	mov    $0x423af0,%esi
423acb:	ff 75 14             	push   0x14(%ebp)
423ace:	8b ce                	mov    %esi,%ecx
423ad0:	89 35 04 f0 44 00    	mov    %esi,0x44f004
423ad6:	ff 75 10             	push   0x10(%ebp)
423ad9:	ff 75 0c             	push   0xc(%ebp)
423adc:	ff 75 08             	push   0x8(%ebp)
423adf:	ff 15 84 23 45 00    	call   *0x452384
423ae5:	ff d6                	call   *%esi
423ae7:	5e                   	pop    %esi
423ae8:	5d                   	pop    %ebp
423ae9:	c2 10 00             	ret    $0x10
423aec:	cc                   	int3
423aed:	cc                   	int3
423aee:	cc                   	int3
423aef:	cc                   	int3
423af0:	8b ff                	mov    %edi,%edi
423af2:	55                   	push   %ebp
423af3:	8b ec                	mov    %esp,%ebp
423af5:	83 e4 f8             	and    $0xfffffff8,%esp
423af8:	83 ec 2c             	sub    $0x2c,%esp
423afb:	8b 45 0c             	mov    0xc(%ebp),%eax
423afe:	33 d2                	xor    %edx,%edx
423b00:	53                   	push   %ebx
423b01:	c1 e8 02             	shr    $0x2,%eax
423b04:	33 c9                	xor    %ecx,%ecx
423b06:	56                   	push   %esi
423b07:	89 44 24 30          	mov    %eax,0x30(%esp)
423b0b:	33 f6                	xor    %esi,%esi
423b0d:	33 c0                	xor    %eax,%eax
423b0f:	89 54 24 1c          	mov    %edx,0x1c(%esp)
423b13:	57                   	push   %edi
423b14:	33 ff                	xor    %edi,%edi
423b16:	89 54 24 18          	mov    %edx,0x18(%esp)
423b1a:	89 7c 24 0c          	mov    %edi,0xc(%esp)
423b1e:	89 44 24 10          	mov    %eax,0x10(%esp)
423b22:	89 44 24 2c          	mov    %eax,0x2c(%esp)
423b26:	c7 44 24 14 00 00 80 	movl   $0xff800000,0x14(%esp)
423b2d:	ff
423b2e:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
423b32:	89 4c 24 24          	mov    %ecx,0x24(%esp)
423b36:	89 74 24 28          	mov    %esi,0x28(%esp)
423b3a:	38 45 14             	cmp    %al,0x14(%ebp)
423b3d:	75 14                	jne    0x423b53
423b3f:	8b 55 08             	mov    0x8(%ebp),%edx
423b42:	8b 0c ba             	mov    (%edx,%edi,4),%ecx
423b45:	8b 74 ba 04          	mov    0x4(%edx,%edi,4),%esi
423b49:	89 4c 24 24          	mov    %ecx,0x24(%esp)
423b4d:	89 74 24 28          	mov    %esi,0x28(%esp)
423b51:	eb 03                	jmp    0x423b56
423b53:	8b 55 08             	mov    0x8(%ebp),%edx
423b56:	8b 5c ba 08          	mov    0x8(%edx,%edi,4),%ebx
423b5a:	8b 44 ba 0c          	mov    0xc(%edx,%edi,4),%eax
423b5e:	33 c3                	xor    %ebx,%eax
423b60:	33 c6                	xor    %esi,%eax
423b62:	8b 74 ba 10          	mov    0x10(%edx,%edi,4),%esi
423b66:	33 c1                	xor    %ecx,%eax
423b68:	8b 54 ba 14          	mov    0x14(%edx,%edi,4),%edx
423b6c:	8b c8                	mov    %eax,%ecx
423b6e:	89 74 24 30          	mov    %esi,0x30(%esp)
423b72:	c1 e9 10             	shr    $0x10,%ecx
423b75:	33 c8                	xor    %eax,%ecx
423b77:	33 74 24 24          	xor    0x24(%esp),%esi
423b7b:	8b c1                	mov    %ecx,%eax
423b7d:	31 74 24 20          	xor    %esi,0x20(%esp)
423b81:	c1 e8 08             	shr    $0x8,%eax
423b84:	33 c1                	xor    %ecx,%eax
423b86:	8b 75 08             	mov    0x8(%ebp),%esi
423b89:	8b 4c 24 14          	mov    0x14(%esp),%ecx
423b8d:	0f b6 c0             	movzbl %al,%eax
423b90:	0f be 80 80 06 41 00 	movsbl 0x410680(%eax),%eax
423b97:	23 c1                	and    %ecx,%eax
423b99:	81 e9 80 ff 7f 00    	sub    $0x7fff80,%ecx
423b9f:	31 44 24 0c          	xor    %eax,0xc(%esp)
423ba3:	8b 45 08             	mov    0x8(%ebp),%eax
423ba6:	89 4c 24 14          	mov    %ecx,0x14(%esp)
423baa:	8b 4c b8 18          	mov    0x18(%eax,%edi,4),%ecx
423bae:	8b 7c b8 1c          	mov    0x1c(%eax,%edi,4),%edi
423bb2:	8b c2                	mov    %edx,%eax
423bb4:	33 44 24 28          	xor    0x28(%esp),%eax
423bb8:	31 44 24 18          	xor    %eax,0x18(%esp)
423bbc:	8b c1                	mov    %ecx,%eax
423bbe:	33 c3                	xor    %ebx,%eax
423bc0:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
423bc4:	31 44 24 10          	xor    %eax,0x10(%esp)
423bc8:	8b c7                	mov    %edi,%eax
423bca:	33 f9                	xor    %ecx,%edi
423bcc:	33 fa                	xor    %edx,%edi
423bce:	33 44 9e 0c          	xor    0xc(%esi,%ebx,4),%eax
423bd2:	33 7c 24 30          	xor    0x30(%esp),%edi
423bd6:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
423bda:	8b cf                	mov    %edi,%ecx
423bdc:	33 d8                	xor    %eax,%ebx
423bde:	c1 e9 10             	shr    $0x10,%ecx
423be1:	33 cf                	xor    %edi,%ecx
423be3:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
423be7:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
423beb:	8b c1                	mov    %ecx,%eax
423bed:	c1 e8 08             	shr    $0x8,%eax
423bf0:	83 c7 08             	add    $0x8,%edi
423bf3:	33 c1                	xor    %ecx,%eax
423bf5:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
423bf9:	8b 4c 24 14          	mov    0x14(%esp),%ecx
423bfd:	0f b6 c0             	movzbl %al,%eax
423c00:	0f be 80 80 06 41 00 	movsbl 0x410680(%eax),%eax
423c07:	23 c1                	and    %ecx,%eax
423c09:	81 e9 80 ff 7f 00    	sub    $0x7fff80,%ecx
423c0f:	31 44 24 0c          	xor    %eax,0xc(%esp)
423c13:	89 4c 24 14          	mov    %ecx,0x14(%esp)
423c17:	3b 7c 24 34          	cmp    0x34(%esp),%edi
423c1b:	0f 82 1e ff ff ff    	jb     0x423b3f
423c21:	8b 44 24 18          	mov    0x18(%esp),%eax
423c25:	33 44 24 20          	xor    0x20(%esp),%eax
423c29:	8b 4c 24 10          	mov    0x10(%esp),%ecx
423c2d:	8b f8                	mov    %eax,%edi
423c2f:	c1 ef 10             	shr    $0x10,%edi
423c32:	33 f8                	xor    %eax,%edi
423c34:	8b c3                	mov    %ebx,%eax
423c36:	33 c1                	xor    %ecx,%eax
423c38:	33 5c 24 18          	xor    0x18(%esp),%ebx
423c3c:	33 4c 24 20          	xor    0x20(%esp),%ecx
423c40:	8b f0                	mov    %eax,%esi
423c42:	8b d1                	mov    %ecx,%edx
423c44:	89 4c 24 10          	mov    %ecx,0x10(%esp)
423c48:	c1 ea 10             	shr    $0x10,%edx
423c4b:	33 d1                	xor    %ecx,%edx
423c4d:	c1 ee 10             	shr    $0x10,%esi
423c50:	33 f0                	xor    %eax,%esi
423c52:	8b cb                	mov    %ebx,%ecx
423c54:	c1 e9 10             	shr    $0x10,%ecx
423c57:	33 cb                	xor    %ebx,%ecx
423c59:	33 5c 24 10          	xor    0x10(%esp),%ebx
423c5d:	8b c1                	mov    %ecx,%eax
423c5f:	c1 e8 08             	shr    $0x8,%eax
423c62:	33 c1                	xor    %ecx,%eax
423c64:	0f b6 c0             	movzbl %al,%eax
423c67:	0f be 88 80 06 41 00 	movsbl 0x410680(%eax),%ecx
423c6e:	8b c6                	mov    %esi,%eax
423c70:	c1 e8 08             	shr    $0x8,%eax
423c73:	83 e1 20             	and    $0x20,%ecx
423c76:	33 c6                	xor    %esi,%eax
423c78:	0f b6 c0             	movzbl %al,%eax
423c7b:	0f be 80 80 06 41 00 	movsbl 0x410680(%eax),%eax
423c82:	83 e0 40             	and    $0x40,%eax
423c85:	0b c8                	or     %eax,%ecx
423c87:	8b c2                	mov    %edx,%eax
423c89:	c1 e8 08             	shr    $0x8,%eax
423c8c:	33 c2                	xor    %edx,%eax
423c8e:	ba 00 00 ff ff       	mov    $0xffff0000,%edx
423c93:	0f b6 c0             	movzbl %al,%eax
423c96:	0f be 80 80 06 41 00 	movsbl 0x410680(%eax),%eax
423c9d:	25 00 00 20 00       	and    $0x200000,%eax
423ca2:	0b c8                	or     %eax,%ecx
423ca4:	8b c7                	mov    %edi,%eax
423ca6:	c1 e8 08             	shr    $0x8,%eax