56b72f:	50                   	push   %eax
56b730:	e8 9b 76 06 00       	call   0x5d2dd0
56b735:	83 c4 0c             	add    $0xc,%esp
56b738:	8b 44 24 1c          	mov    0x1c(%esp),%eax
56b73c:	5e                   	pop    %esi
56b73d:	89 2f                	mov    %ebp,(%edi)
56b73f:	5f                   	pop    %edi
56b740:	89 18                	mov    %ebx,(%eax)
56b742:	b8 01 00 00 00       	mov    $0x1,%eax
56b747:	5d                   	pop    %ebp
56b748:	5b                   	pop    %ebx
56b749:	c3                   	ret
56b74a:	cc                   	int3
56b74b:	cc                   	int3
56b74c:	cc                   	int3
56b74d:	cc                   	int3
56b74e:	cc                   	int3
56b74f:	cc                   	int3
56b750:	b8 10 00 00 00       	mov    $0x10,%eax
56b755:	e8 56 60 06 00       	call   0x5d17b0
56b75a:	8b 44 24 14          	mov    0x14(%esp),%eax
56b75e:	53                   	push   %ebx
56b75f:	55                   	push   %ebp
56b760:	33 db                	xor    %ebx,%ebx
56b762:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
56b766:	56                   	push   %esi
56b767:	57                   	push   %edi
56b768:	85 c0                	test   %eax,%eax
56b76a:	74 0b                	je     0x56b777
56b76c:	f6 40 5c 02          	testb  $0x2,0x5c(%eax)
56b770:	bf 08 88 65 00       	mov    $0x658808,%edi
56b775:	75 05                	jne    0x56b77c
56b777:	bf 88 87 65 00       	mov    $0x658788,%edi
56b77c:	8b 74 24 30          	mov    0x30(%esp),%esi
56b780:	8b 44 24 2c          	mov    0x2c(%esp),%eax
56b784:	85 f6                	test   %esi,%esi
56b786:	7e 17                	jle    0x56b79f
56b788:	8a 08                	mov    (%eax),%cl
56b78a:	84 c9                	test   %cl,%cl
56b78c:	78 11                	js     0x56b79f
56b78e:	0f b6 c9             	movzbl %cl,%ecx
56b791:	8a 0c 39             	mov    (%ecx,%edi,1),%cl
56b794:	80 f9 e0             	cmp    $0xe0,%cl
56b797:	75 06                	jne    0x56b79f
56b799:	4e                   	dec    %esi
56b79a:	40                   	inc    %eax
56b79b:	85 f6                	test   %esi,%esi
56b79d:	7f e9                	jg     0x56b788
56b79f:	83 fe 03             	cmp    $0x3,%esi
56b7a2:	7e 1c                	jle    0x56b7c0
56b7a4:	8a 4c 30 ff          	mov    -0x1(%eax,%esi,1),%cl
56b7a8:	84 c9                	test   %cl,%cl
56b7aa:	78 14                	js     0x56b7c0
56b7ac:	0f b6 c9             	movzbl %cl,%ecx
56b7af:	8a 0c 39             	mov    (%ecx,%edi,1),%cl
56b7b2:	80 c9 13             	or     $0x13,%cl
56b7b5:	80 f9 f3             	cmp    $0xf3,%cl
56b7b8:	75 06                	jne    0x56b7c0
56b7ba:	4e                   	dec    %esi
56b7bb:	83 fe 03             	cmp    $0x3,%esi
56b7be:	7f e4                	jg     0x56b7a4
56b7c0:	8b ce                	mov    %esi,%ecx
56b7c2:	81 e1 03 00 00 80    	and    $0x80000003,%ecx
56b7c8:	79 07                	jns    0x56b7d1
56b7ca:	49                   	dec    %ecx
56b7cb:	83 c9 fc             	or     $0xfffffffc,%ecx
56b7ce:	83 c1 01             	add    $0x1,%ecx
56b7d1:	0f 85 e3 00 00 00    	jne    0x56b8ba
56b7d7:	89 5c 24 18          	mov    %ebx,0x18(%esp)
56b7db:	85 f6                	test   %esi,%esi
56b7dd:	0f 8e cd 00 00 00    	jle    0x56b8b0
56b7e3:	8b 6c 24 28          	mov    0x28(%esp),%ebp
56b7e7:	8a 08                	mov    (%eax),%cl
56b7e9:	84 c9                	test   %cl,%cl
56b7eb:	79 05                	jns    0x56b7f2
56b7ed:	80 c9 ff             	or     $0xff,%cl
56b7f0:	eb 06                	jmp    0x56b7f8
56b7f2:	0f b6 c9             	movzbl %cl,%ecx
56b7f5:	8a 0c 39             	mov    (%ecx,%edi,1),%cl
56b7f8:	88 4c 24 24          	mov    %cl,0x24(%esp)
56b7fc:	0f b6 d9             	movzbl %cl,%ebx
56b7ff:	8a 48 01             	mov    0x1(%eax),%cl
56b802:	84 c9                	test   %cl,%cl
56b804:	79 05                	jns    0x56b80b
56b806:	80 ca ff             	or     $0xff,%dl
56b809:	eb 06                	jmp    0x56b811
56b80b:	0f b6 c9             	movzbl %cl,%ecx
56b80e:	8a 14 39             	mov    (%ecx,%edi,1),%dl
56b811:	0f b6 ca             	movzbl %dl,%ecx
56b814:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
56b818:	8a 48 02             	mov    0x2(%eax),%cl
56b81b:	84 c9                	test   %cl,%cl
56b81d:	79 05                	jns    0x56b824
56b81f:	80 c9 ff             	or     $0xff,%cl
56b822:	eb 06                	jmp    0x56b82a
56b824:	0f b6 c9             	movzbl %cl,%ecx
56b827:	8a 0c 39             	mov    (%ecx,%edi,1),%cl
56b82a:	0f b6 c9             	movzbl %cl,%ecx
56b82d:	89 4c 24 10          	mov    %ecx,0x10(%esp)
56b831:	8a 48 03             	mov    0x3(%eax),%cl
56b834:	84 c9                	test   %cl,%cl
56b836:	79 07                	jns    0x56b83f
56b838:	c6 44 24 30 ff       	movb   $0xff,0x30(%esp)
56b83d:	eb 0a                	jmp    0x56b849
56b83f:	0f b6 c9             	movzbl %cl,%ecx
56b842:	8a 0c 39             	mov    (%ecx,%edi,1),%cl
56b845:	88 4c 24 30          	mov    %cl,0x30(%esp)
56b849:	0f b6 4c 24 24       	movzbl 0x24(%esp),%ecx
56b84e:	83 c0 04             	add    $0x4,%eax
56b851:	0f b6 d2             	movzbl %dl,%edx
56b854:	0b d1                	or     %ecx,%edx
56b856:	84 d2                	test   %dl,%dl
56b858:	78 60                	js     0x56b8ba
56b85a:	0f b6 54 24 30       	movzbl 0x30(%esp),%edx
56b85f:	8b ca                	mov    %edx,%ecx
56b861:	0b 4c 24 10          	or     0x10(%esp),%ecx
56b865:	84 c9                	test   %cl,%cl
56b867:	78 51                	js     0x56b8ba
56b869:	c1 e3 06             	shl    $0x6,%ebx
56b86c:	0b 5c 24 1c          	or     0x1c(%esp),%ebx
56b870:	c1 e3 06             	shl    $0x6,%ebx
56b873:	0b 5c 24 10          	or     0x10(%esp),%ebx
56b877:	c1 e3 06             	shl    $0x6,%ebx
56b87a:	0b da                	or     %edx,%ebx
56b87c:	8b 54 24 18          	mov    0x18(%esp),%edx
56b880:	8b cb                	mov    %ebx,%ecx
56b882:	83 c2 04             	add    $0x4,%edx
56b885:	c1 e9 10             	shr    $0x10,%ecx
56b888:	88 4d 00             	mov    %cl,0x0(%ebp)
56b88b:	8b cb                	mov    %ebx,%ecx
56b88d:	88 5d 02             	mov    %bl,0x2(%ebp)
56b890:	8b 5c 24 14          	mov    0x14(%esp),%ebx
56b894:	c1 e9 08             	shr    $0x8,%ecx
56b897:	83 c3 03             	add    $0x3,%ebx
56b89a:	88 4d 01             	mov    %cl,0x1(%ebp)
56b89d:	83 c5 03             	add    $0x3,%ebp
56b8a0:	89 5c 24 14          	mov    %ebx,0x14(%esp)
56b8a4:	89 54 24 18          	mov    %edx,0x18(%esp)
56b8a8:	3b d6                	cmp    %esi,%edx
56b8aa:	0f 8c 37 ff ff ff    	jl     0x56b7e7
56b8b0:	5f                   	pop    %edi
56b8b1:	5e                   	pop    %esi
56b8b2:	5d                   	pop    %ebp
56b8b3:	8b c3                	mov    %ebx,%eax
56b8b5:	5b                   	pop    %ebx
56b8b6:	83 c4 10             	add    $0x10,%esp
56b8b9:	c3                   	ret
56b8ba:	5f                   	pop    %edi
56b8bb:	5e                   	pop    %esi
56b8bc:	5d                   	pop    %ebp
56b8bd:	83 c8 ff             	or     $0xffffffff,%eax
56b8c0:	5b                   	pop    %ebx
56b8c1:	83 c4 10             	add    $0x10,%esp
56b8c4:	c3                   	ret
56b8c5:	cc                   	int3
56b8c6:	cc                   	int3
56b8c7:	cc                   	int3
56b8c8:	cc                   	int3
56b8c9:	cc                   	int3
56b8ca:	cc                   	int3
56b8cb:	cc                   	int3
56b8cc:	cc                   	int3
56b8cd:	cc                   	int3
56b8ce:	cc                   	int3
56b8cf:	cc                   	int3
56b8d0:	8b 44 24 04          	mov    0x4(%esp),%eax
56b8d4:	53                   	push   %ebx
56b8d5:	55                   	push   %ebp
56b8d6:	33 ed                	xor    %ebp,%ebp
56b8d8:	56                   	push   %esi
56b8d9:	85 c0                	test   %eax,%eax
56b8db:	74 0b                	je     0x56b8e8
56b8dd:	f6 40 5c 02          	testb  $0x2,0x5c(%eax)
56b8e1:	bb 40 87 65 00       	mov    $0x658740,%ebx
56b8e6:	75 05                	jne    0x56b8ed
56b8e8:	bb f8 86 65 00       	mov    $0x6586f8,%ebx
56b8ed:	8b 74 24 1c          	mov    0x1c(%esp),%esi
56b8f1:	85 f6                	test   %esi,%esi
56b8f3:	0f 8e bd 00 00 00    	jle    0x56b9b6
56b8f9:	8b 54 24 14          	mov    0x14(%esp),%edx
56b8fd:	57                   	push   %edi
56b8fe:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
56b902:	47                   	inc    %edi
56b903:	0f b6 47 ff          	movzbl -0x1(%edi),%eax
56b907:	83 fe 03             	cmp    $0x3,%esi
56b90a:	72 44                	jb     0x56b950
56b90c:	0f b6 0f             	movzbl (%edi),%ecx
56b90f:	c1 e0 08             	shl    $0x8,%eax
56b912:	0b c1                	or     %ecx,%eax
56b914:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
56b918:	c1 e0 08             	shl    $0x8,%eax
56b91b:	0b c1                	or     %ecx,%eax
56b91d:	8b c8                	mov    %eax,%ecx
56b91f:	c1 e9 12             	shr    $0x12,%ecx
56b922:	0f b6 0c 19          	movzbl (%ecx,%ebx,1),%ecx
56b926:	88 0a                	mov    %cl,(%edx)
56b928:	8b c8                	mov    %eax,%ecx
56b92a:	c1 e9 0c             	shr    $0xc,%ecx
56b92d:	83 e1 3f             	and    $0x3f,%ecx
56b930:	0f b6 0c 19          	movzbl (%ecx,%ebx,1),%ecx
56b934:	88 4a 01             	mov    %cl,0x1(%edx)
56b937:	8b c8                	mov    %eax,%ecx
56b939:	c1 e9 06             	shr    $0x6,%ecx
56b93c:	83 c2 02             	add    $0x2,%edx
56b93f:	83 e1 3f             	and    $0x3f,%ecx
56b942:	83 e0 3f             	and    $0x3f,%eax
56b945:	0f b6 0c 19          	movzbl (%ecx,%ebx,1),%ecx
56b949:	88 0a                	mov    %cl,(%edx)
56b94b:	8a 0c 18             	mov    (%eax,%ebx,1),%cl
56b94e:	eb 43                	jmp    0x56b993
56b950:	c1 e0 10             	shl    $0x10,%eax
56b953:	83 fe 02             	cmp    $0x2,%esi
56b956:	75 08                	jne    0x56b960
56b958:	0f b6 0f             	movzbl (%edi),%ecx
56b95b:	c1 e1 08             	shl    $0x8,%ecx
56b95e:	0b c1                	or     %ecx,%eax
56b960:	8b c8                	mov    %eax,%ecx
56b962:	c1 e9 12             	shr    $0x12,%ecx
56b965:	0f b6 0c 19          	movzbl (%ecx,%ebx,1),%ecx
56b969:	88 0a                	mov    %cl,(%edx)
56b96b:	8b c8                	mov    %eax,%ecx
56b96d:	c1 e9 0c             	shr    $0xc,%ecx
56b970:	83 e1 3f             	and    $0x3f,%ecx
56b973:	0f b6 0c 19          	movzbl (%ecx,%ebx,1),%ecx
56b977:	88 4a 01             	mov    %cl,0x1(%edx)
56b97a:	83 c2 02             	add    $0x2,%edx
56b97d:	83 fe 01             	cmp    $0x1,%esi
56b980:	75 04                	jne    0x56b986
56b982:	b0 3d                	mov    $0x3d,%al
56b984:	eb 09                	jmp    0x56b98f
56b986:	c1 e8 06             	shr    $0x6,%eax
56b989:	83 e0 3f             	and    $0x3f,%eax
56b98c:	8a 04 18             	mov    (%eax,%ebx,1),%al
56b98f:	88 02                	mov    %al,(%edx)
56b991:	b1 3d                	mov    $0x3d,%cl
56b993:	8d 42 01             	lea    0x1(%edx),%eax
56b996:	83 ee 03             	sub    $0x3,%esi
56b999:	8d 50 01             	lea    0x1(%eax),%edx
56b99c:	88 08                	mov    %cl,(%eax)
56b99e:	83 c5 04             	add    $0x4,%ebp
56b9a1:	83 c7 03             	add    $0x3,%edi
56b9a4:	85 f6                	test   %esi,%esi
56b9a6:	0f 8f 57 ff ff ff    	jg     0x56b903
56b9ac:	5f                   	pop    %edi
56b9ad:	5e                   	pop    %esi
56b9ae:	8b c5                	mov    %ebp,%eax
56b9b0:	c6 02 00             	movb   $0x0,(%edx)
56b9b3:	5d                   	pop    %ebp
56b9b4:	5b                   	pop    %ebx
56b9b5:	c3                   	ret
56b9b6:	8b 44 24 14          	mov    0x14(%esp),%eax
56b9ba:	5e                   	pop    %esi
56b9bb:	c6 00 00             	movb   $0x0,(%eax)
56b9be:	8b c5                	mov    %ebp,%eax
56b9c0:	5d                   	pop    %ebp
56b9c1:	5b                   	pop    %ebx
56b9c2:	c3                   	ret
56b9c3:	cc                   	int3
56b9c4:	cc                   	int3
56b9c5:	cc                   	int3
56b9c6:	cc                   	int3
56b9c7:	cc                   	int3
56b9c8:	cc                   	int3
56b9c9:	cc                   	int3
56b9ca:	cc                   	int3
56b9cb:	cc                   	int3
56b9cc:	cc                   	int3
56b9cd:	cc                   	int3
56b9ce:	cc                   	int3
56b9cf:	cc                   	int3
56b9d0:	b8 0c 00 00 00       	mov    $0xc,%eax
56b9d5:	e8 d6 5d 06 00       	call   0x5d17b0
56b9da:	ff 74 24 24          	push   0x24(%esp)
56b9de:	8d 44 24 08          	lea    0x8(%esp),%eax
56b9e2:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
56b9e9:	00
56b9ea:	ff 74 24 24          	push   0x24(%esp)
56b9ee:	ff 74 24 20          	push   0x20(%esp)
56b9f2:	ff 74 24 20          	push   0x20(%esp)
56b9f6:	6a 00                	push   $0x0
56b9f8:	50                   	push   %eax
56b9f9:	8d 44 24 18          	lea    0x18(%esp),%eax
56b9fd:	50                   	push   %eax
56b9fe:	e8 5d 93 fe ff       	call   0x554d60
56ba03:	83 c4 1c             	add    $0x1c,%esp
56ba06:	85 c0                	test   %eax,%eax
56ba08:	75 04                	jne    0x56ba0e
56ba0a:	83 c4 0c             	add    $0xc,%esp
56ba0d:	c3                   	ret
56ba0e:	8b 04 24             	mov    (%esp),%eax
56ba11:	56                   	push   %esi
56ba12:	ff 74 24 08          	push   0x8(%esp)
56ba16:	89 44 24 10          	mov    %eax,0x10(%esp)
56ba1a:	8d 44 24 10          	lea    0x10(%esp),%eax
56ba1e:	50                   	push   %eax
56ba1f:	ff 74 24 28          	push   0x28(%esp)
56ba23:	ff 54 24 20          	call   *0x20(%esp)
56ba27:	8b f0                	mov    %eax,%esi
56ba29:	83 c4 0c             	add    $0xc,%esp
56ba2c:	85 f6                	test   %esi,%esi
56ba2e:	75 15                	jne    0x56ba45
56ba30:	6a 21                	push   $0x21
56ba32:	68 d8 88 65 00       	push   $0x6588d8
56ba37:	6a 0d                	push   $0xd
56ba39:	6a 67                	push   $0x67
56ba3b:	6a 09                	push   $0x9
56ba3d:	e8 3e d5 f6 ff       	call   0x4d8f80
56ba42:	83 c4 14             	add    $0x14,%esp
56ba45:	6a 22                	push   $0x22
56ba47:	68 d8 88 65 00       	push   $0x6588d8
56ba4c:	ff 74 24 0c          	push   0xc(%esp)
56ba50:	e8 2b 4d f7 ff       	call   0x4e0780
56ba55:	83 c4 0c             	add    $0xc,%esp
56ba58:	8b c6                	mov    %esi,%eax
56ba5a:	5e                   	pop    %esi
56ba5b:	83 c4 0c             	add    $0xc,%esp
56ba5e:	c3                   	ret
56ba5f:	cc                   	int3
56ba60:	e8 ab aa fa ff       	call   0x516510
56ba65:	8b 4c 24 08          	mov    0x8(%esp),%ecx
56ba69:	8b 54 24 04          	mov    0x4(%esp),%edx
56ba6d:	3b c8                	cmp    %eax,%ecx
56ba6f:	75 34                	jne    0x56baa5
56ba71:	8b 42 48             	mov    0x48(%edx),%eax
56ba74:	25 80 01 00 00       	and    $0x180,%eax
56ba79:	3d 00 01 00 00       	cmp    $0x100,%eax
56ba7e:	75 25                	jne    0x56baa5
56ba80:	8b 44 24 10          	mov    0x10(%esp),%eax
56ba84:	85 c0                	test   %eax,%eax
56ba86:	74 06                	je     0x56ba8e
56ba88:	c7 00 14 00 00 00    	movl   $0x14,(%eax)
56ba8e:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
56ba92:	0f 10 42 68          	movups 0x68(%edx),%xmm0
56ba96:	0f 11 01             	movups %xmm0,(%ecx)
56ba99:	8b 42 78             	mov    0x78(%edx),%eax
56ba9c:	89 41 10             	mov    %eax,0x10(%ecx)
56ba9f:	b8 01 00 00 00       	mov    $0x1,%eax
56baa4:	c3                   	ret
56baa5:	ff 74 24 10          	push   0x10(%esp)
56baa9:	ff 74 24 10          	push   0x10(%esp)
56baad:	52                   	push   %edx
56baae:	51                   	push   %ecx
56baaf:	e8 0c be fe ff       	call   0x5578c0
56bab4:	50                   	push   %eax
56bab5:	e8 86 e1 00 00       	call   0x579c40
56baba:	83 c4 14             	add    $0x14,%esp
56babd:	c3                   	ret
56babe:	cc                   	int3
56babf:	cc                   	int3
56bac0:	e8 4b aa fa ff       	call   0x516510