53175f:	57                   	push   %edi
531760:	e8 0b fc fe ff       	call   0x521370
531765:	83 c4 08             	add    $0x8,%esp
531768:	ff 75 f4             	push   -0xc(%ebp)
53176b:	57                   	push   %edi
53176c:	e8 ff fb fe ff       	call   0x521370
531771:	0f 10 45 dc          	movups -0x24(%ebp),%xmm0
531775:	83 c4 08             	add    $0x8,%esp
531778:	fe 4e 12             	decb   0x12(%esi)
53177b:	0f 11 03             	movups %xmm0,(%ebx)
53177e:	0f 10 45 cc          	movups -0x34(%ebp),%xmm0
531782:	0f 11 43 10          	movups %xmm0,0x10(%ebx)
531786:	0f 10 45 bc          	movups -0x44(%ebp),%xmm0
53178a:	0f 11 43 20          	movups %xmm0,0x20(%ebx)
53178e:	0f 10 45 ac          	movups -0x54(%ebp),%xmm0
531792:	0f 11 43 30          	movups %xmm0,0x30(%ebx)
531796:	0f 10 45 9c          	movups -0x64(%ebp),%xmm0
53179a:	0f 11 43 40          	movups %xmm0,0x40(%ebx)
53179e:	f3 0f 7e 45 ec       	movq   -0x14(%ebp),%xmm0
5317a3:	66 0f d6 43 50       	movq   %xmm0,0x50(%ebx)
5317a8:	5b                   	pop    %ebx
5317a9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5317ac:	5f                   	pop    %edi
5317ad:	33 cd                	xor    %ebp,%ecx
5317af:	5e                   	pop    %esi
5317b0:	e8 25 fd 0a 00       	call   0x5e14da
5317b5:	8b e5                	mov    %ebp,%esp
5317b7:	5d                   	pop    %ebp
5317b8:	c3                   	ret
5317b9:	cc                   	int3
5317ba:	cc                   	int3
5317bb:	cc                   	int3
5317bc:	cc                   	int3
5317bd:	cc                   	int3
5317be:	cc                   	int3
5317bf:	cc                   	int3
5317c0:	55                   	push   %ebp
5317c1:	8b ec                	mov    %esp,%ebp
5317c3:	57                   	push   %edi
5317c4:	8b 7d 08             	mov    0x8(%ebp),%edi
5317c7:	8b 47 10             	mov    0x10(%edi),%eax
5317ca:	8b 57 0c             	mov    0xc(%edi),%edx
5317cd:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5317d0:	8b 42 68             	mov    0x68(%edx),%eax
5317d3:	80 3c 88 3f          	cmpb   $0x3f,(%eax,%ecx,4)
5317d7:	75 57                	jne    0x531830
5317d9:	0f b7 44 88 02       	movzwl 0x2(%eax,%ecx,4),%eax
5317de:	a8 04                	test   $0x4,%al
5317e0:	74 07                	je     0x5317e9
5317e2:	b8 50 87 6b 00       	mov    $0x6b8750,%eax
5317e7:	eb 0f                	jmp    0x5317f8
5317e9:	a8 08                	test   $0x8,%al
5317eb:	b9 78 87 6b 00       	mov    $0x6b8778,%ecx
5317f0:	b8 64 87 6b 00       	mov    $0x6b8764,%eax
5317f5:	0f 44 c1             	cmove  %ecx,%eax
5317f8:	56                   	push   %esi
5317f9:	50                   	push   %eax
5317fa:	8b 47 04             	mov    0x4(%edi),%eax
5317fd:	ff 70 20             	push   0x20(%eax)
531800:	68 84 87 6b 00       	push   $0x6b8784
531805:	e8 46 8d fb ff       	call   0x4ea550
53180a:	6a ff                	push   $0xffffffff
53180c:	6a 01                	push   $0x1
53180e:	8b f0                	mov    %eax,%esi
531810:	c7 47 14 01 00 00 00 	movl   $0x1,0x14(%edi)
531817:	6a ff                	push   $0xffffffff
531819:	56                   	push   %esi
53181a:	ff 37                	push   (%edi)
53181c:	e8 bf a2 01 00       	call   0x54bae0
531821:	56                   	push   %esi
531822:	e8 69 95 fb ff       	call   0x4ead90
531827:	83 c4 24             	add    $0x24,%esp
53182a:	33 c0                	xor    %eax,%eax
53182c:	5e                   	pop    %esi
53182d:	5f                   	pop    %edi
53182e:	5d                   	pop    %ebp
53182f:	c3                   	ret
531830:	b8 01 00 00 00       	mov    $0x1,%eax
531835:	5f                   	pop    %edi
531836:	5d                   	pop    %ebp
531837:	c3                   	ret
531838:	cc                   	int3
531839:	cc                   	int3
53183a:	cc                   	int3
53183b:	cc                   	int3
53183c:	cc                   	int3
53183d:	cc                   	int3
53183e:	cc                   	int3
53183f:	cc                   	int3
531840:	55                   	push   %ebp
531841:	8b ec                	mov    %esp,%ebp
531843:	8b 45 08             	mov    0x8(%ebp),%eax
531846:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
53184a:	74 39                	je     0x531885
53184c:	83 b8 bc 00 00 00 00 	cmpl   $0x0,0xbc(%eax)
531853:	75 30                	jne    0x531885
531855:	83 80 18 01 00 00 ff 	addl   $0xffffffff,0x118(%eax)
53185c:	c6 40 51 00          	movb   $0x0,0x51(%eax)
531860:	c7 80 10 01 00 00 00 	movl   $0x0,0x110(%eax)
531867:	00 00 00
53186a:	74 0b                	je     0x531877
53186c:	33 c9                	xor    %ecx,%ecx
53186e:	66 89 88 1c 01 00 00 	mov    %cx,0x11c(%eax)
531875:	5d                   	pop    %ebp
531876:	c3                   	ret
531877:	0f b7 88 1e 01 00 00 	movzwl 0x11e(%eax),%ecx
53187e:	66 89 88 1c 01 00 00 	mov    %cx,0x11c(%eax)
531885:	5d                   	pop    %ebp
531886:	c3                   	ret
531887:	cc                   	int3
531888:	cc                   	int3
531889:	cc                   	int3
53188a:	cc                   	int3
53188b:	cc                   	int3
53188c:	cc                   	int3
53188d:	cc                   	int3
53188e:	cc                   	int3
53188f:	cc                   	int3
531890:	55                   	push   %ebp
531891:	8b ec                	mov    %esp,%ebp
531893:	8b 45 08             	mov    0x8(%ebp),%eax
531896:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
53189a:	75 3d                	jne    0x5318d9
53189c:	80 78 52 00          	cmpb   $0x0,0x52(%eax)
5318a0:	75 37                	jne    0x5318d9
5318a2:	83 b8 bc 00 00 00 00 	cmpl   $0x0,0xbc(%eax)
5318a9:	c6 40 51 01          	movb   $0x1,0x51(%eax)
5318ad:	7e 0a                	jle    0x5318b9
5318af:	c7 80 10 01 00 00 01 	movl   $0x1,0x110(%eax)
5318b6:	00 00 00
5318b9:	ff 80 18 01 00 00    	incl   0x118(%eax)
5318bf:	33 c9                	xor    %ecx,%ecx
5318c1:	66 89 88 1c 01 00 00 	mov    %cx,0x11c(%eax)
5318c8:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
5318ce:	85 c0                	test   %eax,%eax
5318d0:	74 07                	je     0x5318d9
5318d2:	c7 40 0c 07 00 00 00 	movl   $0x7,0xc(%eax)
5318d9:	5d                   	pop    %ebp
5318da:	c3                   	ret
5318db:	cc                   	int3
5318dc:	cc                   	int3
5318dd:	cc                   	int3
5318de:	cc                   	int3
5318df:	cc                   	int3
5318e0:	55                   	push   %ebp
5318e1:	8b ec                	mov    %esp,%ebp
5318e3:	53                   	push   %ebx
5318e4:	57                   	push   %edi
5318e5:	8b 7d 08             	mov    0x8(%ebp),%edi
5318e8:	8b 5f 08             	mov    0x8(%edi),%ebx
5318eb:	85 db                	test   %ebx,%ebx
5318ed:	75 1c                	jne    0x53190b
5318ef:	39 5f 74             	cmp    %ebx,0x74(%edi)
5318f2:	75 0c                	jne    0x531900
5318f4:	8b 07                	mov    (%edi),%eax
5318f6:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
5318fa:	75 04                	jne    0x531900
5318fc:	c6 47 17 01          	movb   $0x1,0x17(%edi)
531900:	57                   	push   %edi
531901:	e8 0a 0b 01 00       	call   0x542410
531906:	83 c4 04             	add    $0x4,%esp
531909:	8b d8                	mov    %eax,%ebx
53190b:	68 24 8a 6b 00       	push   $0x6b8a24
531910:	6a 01                	push   $0x1
531912:	6a 01                	push   $0x1
531914:	ff 75 0c             	push   0xc(%ebp)
531917:	57                   	push   %edi
531918:	e8 b3 c5 00 00       	call   0x53ded0
53191d:	6a 05                	push   $0x5
53191f:	ff 75 0c             	push   0xc(%ebp)
531922:	6a 01                	push   $0x1
531924:	6a 00                	push   $0x0
531926:	6a 61                	push   $0x61
531928:	53                   	push   %ebx
531929:	e8 e2 02 01 00       	call   0x541c10
53192e:	83 c4 2c             	add    $0x2c,%esp
531931:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
531935:	75 07                	jne    0x53193e
531937:	c7 47 28 01 00 00 00 	movl   $0x1,0x28(%edi)
53193e:	5f                   	pop    %edi
53193f:	5b                   	pop    %ebx
531940:	5d                   	pop    %ebp
531941:	c3                   	ret
531942:	cc                   	int3
531943:	cc                   	int3
531944:	cc                   	int3
531945:	cc                   	int3
531946:	cc                   	int3
531947:	cc                   	int3
531948:	cc                   	int3
531949:	cc                   	int3
53194a:	cc                   	int3
53194b:	cc                   	int3
53194c:	cc                   	int3
53194d:	cc                   	int3
53194e:	cc                   	int3
53194f:	cc                   	int3
531950:	55                   	push   %ebp
531951:	8b ec                	mov    %esp,%ebp
531953:	53                   	push   %ebx
531954:	56                   	push   %esi
531955:	57                   	push   %edi
531956:	8b 7d 08             	mov    0x8(%ebp),%edi
531959:	8b 5f 08             	mov    0x8(%edi),%ebx
53195c:	85 db                	test   %ebx,%ebx
53195e:	75 1c                	jne    0x53197c
531960:	39 5f 74             	cmp    %ebx,0x74(%edi)
531963:	75 0c                	jne    0x531971
531965:	8b 07                	mov    (%edi),%eax
531967:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
53196b:	75 04                	jne    0x531971
53196d:	c6 47 17 01          	movb   $0x1,0x17(%edi)
531971:	57                   	push   %edi
531972:	e8 99 0a 01 00       	call   0x542410
531977:	83 c4 04             	add    $0x4,%esp
53197a:	8b d8                	mov    %eax,%ebx
53197c:	8b 75 14             	mov    0x14(%ebp),%esi
53197f:	83 7d 18 61          	cmpl   $0x61,0x18(%ebp)
531983:	0f 94 c1             	sete   %cl
531986:	ff 36                	push   (%esi)
531988:	0f b6 c1             	movzbl %cl,%eax
53198b:	50                   	push   %eax
53198c:	ff 76 1c             	push   0x1c(%esi)
53198f:	ff 75 10             	push   0x10(%ebp)
531992:	57                   	push   %edi
531993:	e8 38 c5 00 00       	call   0x53ded0
531998:	83 c4 14             	add    $0x14,%esp
53199b:	f6 46 24 80          	testb  $0x80,0x24(%esi)
53199f:	75 1f                	jne    0x5319c0
5319a1:	0f bf 46 2c          	movswl 0x2c(%esi),%eax
5319a5:	50                   	push   %eax
5319a6:	ff 75 10             	push   0x10(%ebp)
5319a9:	ff 76 1c             	push   0x1c(%esi)
5319ac:	ff 75 0c             	push   0xc(%ebp)
5319af:	ff 75 18             	push   0x18(%ebp)
5319b2:	53                   	push   %ebx
5319b3:	e8 58 02 01 00       	call   0x541c10
5319b8:	83 c4 18             	add    $0x18,%esp
5319bb:	5f                   	pop    %edi
5319bc:	5e                   	pop    %esi
5319bd:	5b                   	pop    %ebx
5319be:	5d                   	pop    %ebp
5319bf:	c3                   	ret
5319c0:	8b 76 08             	mov    0x8(%esi),%esi
5319c3:	85 f6                	test   %esi,%esi
5319c5:	74 10                	je     0x5319d7
5319c7:	8b 46 38             	mov    0x38(%esi),%eax
5319ca:	24 03                	and    $0x3,%al
5319cc:	3c 02                	cmp    $0x2,%al
5319ce:	74 07                	je     0x5319d7
5319d0:	8b 76 14             	mov    0x14(%esi),%esi
5319d3:	85 f6                	test   %esi,%esi
5319d5:	75 f0                	jne    0x5319c7
5319d7:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
5319da:	8b 56 2c             	mov    0x2c(%esi),%edx
5319dd:	39 4b 70             	cmp    %ecx,0x70(%ebx)
5319e0:	7f 15                	jg     0x5319f7
5319e2:	ff 75 10             	push   0x10(%ebp)
5319e5:	52                   	push   %edx
5319e6:	ff 75 0c             	push   0xc(%ebp)
5319e9:	ff 75 18             	push   0x18(%ebp)
5319ec:	53                   	push   %ebx
5319ed:	e8 0e 4b fd ff       	call   0x506500
5319f2:	83 c4 14             	add    $0x14,%esp
5319f5:	eb 37                	jmp    0x531a2e
5319f7:	8d 41 01             	lea    0x1(%ecx),%eax
5319fa:	89 43 6c             	mov    %eax,0x6c(%ebx)
5319fd:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
531a00:	8b 43 68             	mov    0x68(%ebx),%eax
531a03:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
531a07:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
531a0e:	00
531a0f:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
531a14:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
531a17:	8b 45 18             	mov    0x18(%ebp),%eax
531a1a:	88 01                	mov    %al,(%ecx)
531a1c:	33 c0                	xor    %eax,%eax
531a1e:	66 89 41 02          	mov    %ax,0x2(%ecx)
531a22:	8b 45 0c             	mov    0xc(%ebp),%eax
531a25:	89 41 04             	mov    %eax,0x4(%ecx)
531a28:	8b 45 10             	mov    0x10(%ebp),%eax
531a2b:	89 41 0c             	mov    %eax,0xc(%ecx)
531a2e:	8b 5f 08             	mov    0x8(%edi),%ebx
531a31:	56                   	push   %esi
531a32:	57                   	push   %edi
531a33:	e8 c8 e2 ff ff       	call   0x52fd00
531a38:	8b d0                	mov    %eax,%edx
531a3a:	83 c4 08             	add    $0x8,%esp
531a3d:	85 d2                	test   %edx,%edx
531a3f:	74 2b                	je     0x531a6c
531a41:	8b 03                	mov    (%ebx),%eax
531a43:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
531a47:	74 11                	je     0x531a5a
531a49:	52                   	push   %edx
531a4a:	6a f7                	push   $0xfffffff7
531a4c:	50                   	push   %eax
531a4d:	e8 5e 22 fd ff       	call   0x503cb0
531a52:	83 c4 0c             	add    $0xc,%esp
531a55:	5f                   	pop    %edi
531a56:	5e                   	pop    %esi
531a57:	5b                   	pop    %ebx
531a58:	5d                   	pop    %ebp
531a59:	c3                   	ret
531a5a:	8b 43 6c             	mov    0x6c(%ebx),%eax
531a5d:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
531a60:	8b 43 68             	mov    0x68(%ebx),%eax
531a63:	c6 44 88 ed f7       	movb   $0xf7,-0x13(%eax,%ecx,4)
531a68:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
531a6c:	5f                   	pop    %edi
531a6d:	5e                   	pop    %esi
531a6e:	5b                   	pop    %ebx
531a6f:	5d                   	pop    %ebp
531a70:	c3                   	ret
531a71:	cc                   	int3
531a72:	cc                   	int3
531a73:	cc                   	int3
531a74:	cc                   	int3
531a75:	cc                   	int3
531a76:	cc                   	int3
531a77:	cc                   	int3
531a78:	cc                   	int3
531a79:	cc                   	int3
531a7a:	cc                   	int3
531a7b:	cc                   	int3
531a7c:	cc                   	int3
531a7d:	cc                   	int3
531a7e:	cc                   	int3
531a7f:	cc                   	int3
531a80:	55                   	push   %ebp
531a81:	8b ec                	mov    %esp,%ebp
531a83:	8b 55 0c             	mov    0xc(%ebp),%edx
531a86:	83 ec 10             	sub    $0x10,%esp
531a89:	83 7a 38 00          	cmpl   $0x0,0x38(%edx)
531a8d:	74 06                	je     0x531a95
531a8f:	33 c0                	xor    %eax,%eax
531a91:	8b e5                	mov    %ebp,%esp
531a93:	5d                   	pop    %ebp
531a94:	c3                   	ret
531a95:	8b 52 48             	mov    0x48(%edx),%edx
531a98:	8b 4d 08             	mov    0x8(%ebp),%ecx
531a9b:	53                   	push   %ebx
531a9c:	56                   	push   %esi
531a9d:	be c0 bd f0 ff       	mov    $0xfff0bdc0,%esi
531aa2:	89 75 fc             	mov    %esi,-0x4(%ebp)
531aa5:	57                   	push   %edi
531aa6:	85 d2                	test   %edx,%edx
531aa8:	74 21                	je     0x531acb
531aaa:	8b 01                	mov    (%ecx),%eax
531aac:	33 f6                	xor    %esi,%esi
531aae:	89 75 fc             	mov    %esi,-0x4(%ebp)