510781:	85 c0                	test   %eax,%eax
510783:	0f 84 94 00 00 00    	je     0x51081d
510789:	2b fd                	sub    %ebp,%edi
51078b:	c7 43 58 00 00 00 00 	movl   $0x0,0x58(%ebx)
510792:	03 f5                	add    %ebp,%esi
510794:	83 ff 10             	cmp    $0x10,%edi
510797:	72 52                	jb     0x5107eb
510799:	8d 6b 5c             	lea    0x5c(%ebx),%ebp
51079c:	ba 20 00 00 00       	mov    $0x20,%edx
5107a1:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
5107a5:	0f 10 06             	movups (%esi),%xmm0
5107a8:	0f 11 44 24 10       	movups %xmm0,0x10(%esp)
5107ad:	0f 10 06             	movups (%esi),%xmm0
5107b0:	0f 11 44 24 20       	movups %xmm0,0x20(%esp)
5107b5:	74 08                	je     0x5107bf
5107b7:	0f 10 06             	movups (%esi),%xmm0
5107ba:	0f 11 44 24 30       	movups %xmm0,0x30(%esp)
5107bf:	b8 30 00 00 00       	mov    $0x30,%eax
5107c4:	0f 44 c2             	cmove  %edx,%eax
5107c7:	50                   	push   %eax
5107c8:	8d 44 24 14          	lea    0x14(%esp),%eax
5107cc:	50                   	push   %eax
5107cd:	55                   	push   %ebp
5107ce:	53                   	push   %ebx
5107cf:	e8 cc fd ff ff       	call   0x5105a0
5107d4:	83 c4 10             	add    $0x10,%esp
5107d7:	85 c0                	test   %eax,%eax
5107d9:	74 42                	je     0x51081d
5107db:	83 ef 10             	sub    $0x10,%edi
5107de:	83 c6 10             	add    $0x10,%esi
5107e1:	ba 20 00 00 00       	mov    $0x20,%edx
5107e6:	83 ff 10             	cmp    $0x10,%edi
5107e9:	73 b6                	jae    0x5107a1
5107eb:	85 ff                	test   %edi,%edi
5107ed:	74 16                	je     0x510805
5107ef:	8b 43 58             	mov    0x58(%ebx),%eax
5107f2:	57                   	push   %edi
5107f3:	83 c0 48             	add    $0x48,%eax
5107f6:	03 c3                	add    %ebx,%eax
5107f8:	56                   	push   %esi
5107f9:	50                   	push   %eax
5107fa:	e8 d1 25 0c 00       	call   0x5d2dd0
5107ff:	83 c4 0c             	add    $0xc,%esp
510802:	01 7b 58             	add    %edi,0x58(%ebx)
510805:	5f                   	pop    %edi
510806:	5e                   	pop    %esi
510807:	5d                   	pop    %ebp
510808:	b8 01 00 00 00       	mov    $0x1,%eax
51080d:	5b                   	pop    %ebx
51080e:	8b 4c 24 30          	mov    0x30(%esp),%ecx
510812:	33 cc                	xor    %esp,%ecx
510814:	e8 0d 12 0c 00       	call   0x5d1a26
510819:	83 c4 34             	add    $0x34,%esp
51081c:	c3                   	ret
51081d:	8b 4c 24 40          	mov    0x40(%esp),%ecx
510821:	33 c0                	xor    %eax,%eax
510823:	5f                   	pop    %edi
510824:	5e                   	pop    %esi
510825:	5d                   	pop    %ebp
510826:	5b                   	pop    %ebx
510827:	33 cc                	xor    %esp,%ecx
510829:	e8 f8 11 0c 00       	call   0x5d1a26
51082e:	83 c4 34             	add    $0x34,%esp
510831:	c3                   	ret
510832:	cc                   	int3
510833:	cc                   	int3
510834:	cc                   	int3
510835:	cc                   	int3
510836:	cc                   	int3
510837:	cc                   	int3
510838:	cc                   	int3
510839:	cc                   	int3
51083a:	cc                   	int3
51083b:	cc                   	int3
51083c:	cc                   	int3
51083d:	cc                   	int3
51083e:	cc                   	int3
51083f:	cc                   	int3
510840:	55                   	push   %ebp
510841:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
510845:	85 ed                	test   %ebp,%ebp
510847:	74 6a                	je     0x5108b3
510849:	8b 54 24 10          	mov    0x10(%esp),%edx
51084d:	85 d2                	test   %edx,%edx
51084f:	74 62                	je     0x5108b3
510851:	53                   	push   %ebx
510852:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
510856:	57                   	push   %edi
510857:	8b 43 14             	mov    0x14(%ebx),%eax
51085a:	3b d0                	cmp    %eax,%edx
51085c:	8b f8                	mov    %eax,%edi
51085e:	0f 42 fa             	cmovb  %edx,%edi
510861:	85 ff                	test   %edi,%edi
510863:	74 1e                	je     0x510883
510865:	56                   	push   %esi
510866:	8b f5                	mov    %ebp,%esi
510868:	8d 4b 18             	lea    0x18(%ebx),%ecx
51086b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
510870:	8a 06                	mov    (%esi),%al
510872:	8d 76 01             	lea    0x1(%esi),%esi
510875:	30 01                	xor    %al,(%ecx)
510877:	8d 49 01             	lea    0x1(%ecx),%ecx
51087a:	83 ef 01             	sub    $0x1,%edi
51087d:	75 f1                	jne    0x510870
51087f:	8b 43 14             	mov    0x14(%ebx),%eax
510882:	5e                   	pop    %esi
510883:	3b d0                	cmp    %eax,%edx
510885:	76 2a                	jbe    0x5108b1
510887:	2b d0                	sub    %eax,%edx
510889:	83 fa 10             	cmp    $0x10,%edx
51088c:	76 07                	jbe    0x510895
51088e:	ba 10 00 00 00       	mov    $0x10,%edx
510893:	eb 04                	jmp    0x510899
510895:	85 d2                	test   %edx,%edx
510897:	74 18                	je     0x5108b1
510899:	33 c9                	xor    %ecx,%ecx
51089b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5108a0:	8b 43 14             	mov    0x14(%ebx),%eax
5108a3:	03 c1                	add    %ecx,%eax
5108a5:	8a 04 28             	mov    (%eax,%ebp,1),%al
5108a8:	30 44 0b 38          	xor    %al,0x38(%ebx,%ecx,1)
5108ac:	41                   	inc    %ecx
5108ad:	3b ca                	cmp    %edx,%ecx
5108af:	72 ef                	jb     0x5108a0
5108b1:	5f                   	pop    %edi
5108b2:	5b                   	pop    %ebx
5108b3:	5d                   	pop    %ebp
5108b4:	c3                   	ret
5108b5:	cc                   	int3
5108b6:	cc                   	int3
5108b7:	cc                   	int3
5108b8:	cc                   	int3
5108b9:	cc                   	int3
5108ba:	cc                   	int3
5108bb:	cc                   	int3
5108bc:	cc                   	int3
5108bd:	cc                   	int3
5108be:	cc                   	int3
5108bf:	cc                   	int3
5108c0:	b8 4c 00 00 00       	mov    $0x4c,%eax
5108c5:	e8 e6 0e 0c 00       	call   0x5d17b0
5108ca:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5108cf:	33 c4                	xor    %esp,%eax
5108d1:	89 44 24 48          	mov    %eax,0x48(%esp)
5108d5:	8b 44 24 54          	mov    0x54(%esp),%eax
5108d9:	53                   	push   %ebx
5108da:	55                   	push   %ebp
5108db:	56                   	push   %esi
5108dc:	8b 74 24 5c          	mov    0x5c(%esp),%esi
5108e0:	89 44 24 10          	mov    %eax,0x10(%esp)
5108e4:	8b 44 24 68          	mov    0x68(%esp),%eax
5108e8:	57                   	push   %edi
5108e9:	89 44 24 18          	mov    %eax,0x18(%esp)
5108ed:	8b 44 24 74          	mov    0x74(%esp),%eax
5108f1:	6a 30                	push   $0x30
5108f3:	89 44 24 20          	mov    %eax,0x20(%esp)
5108f7:	8d 44 24 2c          	lea    0x2c(%esp),%eax
5108fb:	6a 00                	push   $0x0
5108fd:	50                   	push   %eax
5108fe:	c7 44 24 1c 10 00 00 	movl   $0x10,0x1c(%esp)
510905:	00
510906:	e8 65 23 0c 00       	call   0x5d2c70
51090b:	6a 30                	push   $0x30
51090d:	8d 7e 5c             	lea    0x5c(%esi),%edi
510910:	6a 00                	push   $0x0
510912:	57                   	push   %edi
510913:	e8 58 23 0c 00       	call   0x5d2c70
510918:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
51091c:	bd 30 00 00 00       	mov    $0x30,%ebp
510921:	b9 20 00 00 00       	mov    $0x20,%ecx
510926:	c6 44 24 53 01       	movb   $0x1,0x53(%esp)
51092b:	8b c5                	mov    %ebp,%eax
51092d:	c6 44 24 63 02       	movb   $0x2,0x63(%esp)
510932:	0f 44 c1             	cmove  %ecx,%eax
510935:	50                   	push   %eax
510936:	8d 44 24 44          	lea    0x44(%esp),%eax
51093a:	50                   	push   %eax
51093b:	57                   	push   %edi
51093c:	56                   	push   %esi
51093d:	e8 5e fc ff ff       	call   0x5105a0
510942:	83 c4 28             	add    $0x28,%esp
510945:	85 c0                	test   %eax,%eax
510947:	0f 84 c5 01 00 00    	je     0x510b12
51094d:	33 d2                	xor    %edx,%edx
51094f:	39 54 24 14          	cmp    %edx,0x14(%esp)
510953:	0f 45 54 24 68       	cmovne 0x68(%esp),%edx
510958:	33 c9                	xor    %ecx,%ecx
51095a:	39 4c 24 18          	cmp    %ecx,0x18(%esp)
51095e:	52                   	push   %edx
51095f:	0f 45 4c 24 74       	cmovne 0x74(%esp),%ecx
510964:	33 c0                	xor    %eax,%eax
510966:	39 44 24 20          	cmp    %eax,0x20(%esp)
51096a:	ff 74 24 18          	push   0x18(%esp)
51096e:	0f 45 84 24 80 00 00 	cmovne 0x80(%esp),%eax
510975:	00
510976:	89 44 24 2c          	mov    %eax,0x2c(%esp)
51097a:	89 4c 24 28          	mov    %ecx,0x28(%esp)
51097e:	03 c8                	add    %eax,%ecx
510980:	03 ca                	add    %edx,%ecx
510982:	8b c1                	mov    %ecx,%eax
510984:	c1 e8 18             	shr    $0x18,%eax
510987:	88 46 48             	mov    %al,0x48(%esi)
51098a:	8b c1                	mov    %ecx,%eax
51098c:	c1 e8 10             	shr    $0x10,%eax
51098f:	88 46 49             	mov    %al,0x49(%esi)
510992:	8b c1                	mov    %ecx,%eax
510994:	c1 e8 08             	shr    $0x8,%eax
510997:	88 46 4a             	mov    %al,0x4a(%esi)
51099a:	88 4e 4b             	mov    %cl,0x4b(%esi)
51099d:	66 c7 46 4c 00 00    	movw   $0x0,0x4c(%esi)
5109a3:	c6 46 4e 00          	movb   $0x0,0x4e(%esi)
5109a7:	8a 46 14             	mov    0x14(%esi),%al
5109aa:	04 10                	add    $0x10,%al
5109ac:	88 46 4f             	mov    %al,0x4f(%esi)
5109af:	56                   	push   %esi
5109b0:	c7 46 58 08 00 00 00 	movl   $0x8,0x58(%esi)
5109b7:	e8 64 fd ff ff       	call   0x510720
5109bc:	83 c4 0c             	add    $0xc,%esp
5109bf:	85 c0                	test   %eax,%eax
5109c1:	0f 84 4b 01 00 00    	je     0x510b12
5109c7:	ff 74 24 20          	push   0x20(%esp)
5109cb:	ff 74 24 1c          	push   0x1c(%esp)
5109cf:	56                   	push   %esi
5109d0:	e8 4b fd ff ff       	call   0x510720
5109d5:	83 c4 0c             	add    $0xc,%esp
5109d8:	85 c0                	test   %eax,%eax
5109da:	0f 84 32 01 00 00    	je     0x510b12
5109e0:	ff 74 24 24          	push   0x24(%esp)
5109e4:	ff 74 24 20          	push   0x20(%esp)
5109e8:	56                   	push   %esi
5109e9:	e8 32 fd ff ff       	call   0x510720
5109ee:	83 c4 0c             	add    $0xc,%esp
5109f1:	85 c0                	test   %eax,%eax
5109f3:	0f 84 19 01 00 00    	je     0x510b12
5109f9:	6a 01                	push   $0x1
5109fb:	68 88 e1 68 00       	push   $0x68e188
510a00:	56                   	push   %esi
510a01:	e8 1a fd ff ff       	call   0x510720
510a06:	83 c4 0c             	add    $0xc,%esp
510a09:	85 c0                	test   %eax,%eax
510a0b:	0f 84 01 01 00 00    	je     0x510b12
510a11:	8b 4e 58             	mov    0x58(%esi),%ecx
510a14:	85 c9                	test   %ecx,%ecx
510a16:	74 59                	je     0x510a71
510a18:	b8 10 00 00 00       	mov    $0x10,%eax
510a1d:	2b c1                	sub    %ecx,%eax
510a1f:	50                   	push   %eax
510a20:	8d 46 48             	lea    0x48(%esi),%eax
510a23:	03 c1                	add    %ecx,%eax
510a25:	6a 00                	push   $0x0
510a27:	50                   	push   %eax
510a28:	e8 43 22 0c 00       	call   0x5d2c70
510a2d:	0f 10 46 48          	movups 0x48(%esi),%xmm0
510a31:	83 c4 0c             	add    $0xc,%esp
510a34:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
510a38:	0f 11 44 24 28       	movups %xmm0,0x28(%esp)
510a3d:	0f 10 46 48          	movups 0x48(%esi),%xmm0
510a41:	0f 11 44 24 38       	movups %xmm0,0x38(%esp)
510a46:	74 09                	je     0x510a51
510a48:	0f 10 46 48          	movups 0x48(%esi),%xmm0
510a4c:	0f 11 44 24 48       	movups %xmm0,0x48(%esp)
510a51:	b8 20 00 00 00       	mov    $0x20,%eax
510a56:	0f 44 e8             	cmove  %eax,%ebp
510a59:	8d 44 24 28          	lea    0x28(%esp),%eax
510a5d:	55                   	push   %ebp
510a5e:	50                   	push   %eax
510a5f:	57                   	push   %edi
510a60:	56                   	push   %esi
510a61:	e8 3a fb ff ff       	call   0x5105a0
510a66:	83 c4 10             	add    $0x10,%esp
510a69:	85 c0                	test   %eax,%eax
510a6b:	0f 84 a1 00 00 00    	je     0x510b12
510a71:	6a ff                	push   $0xffffffff
510a73:	6a 00                	push   $0x0
510a75:	57                   	push   %edi
510a76:	6a 00                	push   $0x0
510a78:	6a 00                	push   $0x0
510a7a:	ff 36                	push   (%esi)
510a7c:	e8 6f bb fc ff       	call   0x4dc5f0
510a81:	83 c4 18             	add    $0x18,%esp
510a84:	85 c0                	test   %eax,%eax
510a86:	0f 84 86 00 00 00    	je     0x510b12
510a8c:	8b 46 14             	mov    0x14(%esi),%eax
510a8f:	83 c0 5c             	add    $0x5c,%eax
510a92:	6a 10                	push   $0x10
510a94:	03 c6                	add    %esi,%eax
510a96:	50                   	push   %eax
510a97:	8d 44 24 18          	lea    0x18(%esp),%eax
510a9b:	50                   	push   %eax
510a9c:	57                   	push   %edi
510a9d:	ff 36                	push   (%esi)
510a9f:	e8 cc be fc ff       	call   0x4dc970
510aa4:	83 c4 14             	add    $0x14,%esp
510aa7:	85 c0                	test   %eax,%eax
510aa9:	74 67                	je     0x510b12
510aab:	83 7c 24 10 10       	cmpl   $0x10,0x10(%esp)
510ab0:	75 60                	jne    0x510b12
510ab2:	6a 10                	push   $0x10
510ab4:	57                   	push   %edi
510ab5:	8d 44 24 18          	lea    0x18(%esp),%eax
510ab9:	50                   	push   %eax
510aba:	8d 5e 6c             	lea    0x6c(%esi),%ebx
510abd:	53                   	push   %ebx
510abe:	ff 36                	push   (%esi)
510ac0:	e8 ab be fc ff       	call   0x4dc970
510ac5:	83 c4 14             	add    $0x14,%esp
510ac8:	85 c0                	test   %eax,%eax
510aca:	74 46                	je     0x510b12
510acc:	83 7c 24 10 10       	cmpl   $0x10,0x10(%esp)
510ad1:	75 3f                	jne    0x510b12
510ad3:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
510ad7:	74 21                	je     0x510afa
510ad9:	6a 10                	push   $0x10
510adb:	53                   	push   %ebx
510adc:	8d 44 24 18          	lea    0x18(%esp),%eax
510ae0:	50                   	push   %eax
510ae1:	8d 46 7c             	lea    0x7c(%esi),%eax
510ae4:	50                   	push   %eax
510ae5:	ff 36                	push   (%esi)
510ae7:	e8 84 be fc ff       	call   0x4dc970
510aec:	83 c4 14             	add    $0x14,%esp
510aef:	85 c0                	test   %eax,%eax
510af1:	74 1f                	je     0x510b12
510af3:	83 7c 24 10 10       	cmpl   $0x10,0x10(%esp)
510af8:	75 18                	jne    0x510b12
510afa:	5f                   	pop    %edi
510afb:	5e                   	pop    %esi
510afc:	5d                   	pop    %ebp
510afd:	b8 01 00 00 00       	mov    $0x1,%eax
510b02:	5b                   	pop    %ebx
510b03:	8b 4c 24 48          	mov    0x48(%esp),%ecx
510b07:	33 cc                	xor    %esp,%ecx
510b09:	e8 18 0f 0c 00       	call   0x5d1a26
510b0e:	83 c4 4c             	add    $0x4c,%esp
510b11:	c3                   	ret
510b12:	8b 4c 24 58          	mov    0x58(%esp),%ecx
510b16:	33 c0                	xor    %eax,%eax
510b18:	5f                   	pop    %edi
510b19:	5e                   	pop    %esi
510b1a:	5d                   	pop    %ebp
510b1b:	5b                   	pop    %ebx
510b1c:	33 cc                	xor    %esp,%ecx
510b1e:	e8 03 0f 0c 00       	call   0x5d1a26
510b23:	83 c4 4c             	add    $0x4c,%esp
510b26:	c3                   	ret
510b27:	cc                   	int3
510b28:	cc                   	int3
510b29:	cc                   	int3
510b2a:	cc                   	int3
510b2b:	cc                   	int3