53676a:	8d 7a ff             	lea    -0x1(%edx),%edi
53676d:	8b 06                	mov    (%esi),%eax
53676f:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
536773:	74 07                	je     0x53677c
536775:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
53677a:	eb 09                	jmp    0x536785
53677c:	8b 46 68             	mov    0x68(%esi),%eax
53677f:	8d 0c bf             	lea    (%edi,%edi,4),%ecx
536782:	8d 04 88             	lea    (%eax,%ecx,4),%eax
536785:	8b 4d bc             	mov    -0x44(%ebp),%ecx
536788:	89 50 08             	mov    %edx,0x8(%eax)
53678b:	8b 45 b4             	mov    -0x4c(%ebp),%eax
53678e:	8b 40 14             	mov    0x14(%eax),%eax
536791:	43                   	inc    %ebx
536792:	89 45 b4             	mov    %eax,-0x4c(%ebp)
536795:	85 c0                	test   %eax,%eax
536797:	0f 85 93 fe ff ff    	jne    0x536630
53679d:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5367a0:	8b 1b                	mov    (%ebx),%ebx
5367a2:	89 5d d0             	mov    %ebx,-0x30(%ebp)
5367a5:	85 db                	test   %ebx,%ebx
5367a7:	0f 85 13 f7 ff ff    	jne    0x535ec0
5367ad:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
5367b0:	8b 4d c8             	mov    -0x38(%ebp),%ecx
5367b3:	8b 7d c4             	mov    -0x3c(%ebp),%edi
5367b6:	8b 45 d8             	mov    -0x28(%ebp),%eax
5367b9:	41                   	inc    %ecx
5367ba:	89 4d c8             	mov    %ecx,-0x38(%ebp)
5367bd:	3b 48 14             	cmp    0x14(%eax),%ecx
5367c0:	0f 8c 7a f5 ff ff    	jl     0x535d40
5367c6:	6a 00                	push   $0x0
5367c8:	68 ac 27 6b 00       	push   $0x6b27ac
5367cd:	6a 07                	push   $0x7
5367cf:	56                   	push   %esi
5367d0:	e8 cb b4 00 00       	call   0x541ca0
5367d5:	8b d0                	mov    %eax,%edx
5367d7:	83 c4 10             	add    $0x10,%esp
5367da:	85 d2                	test   %edx,%edx
5367dc:	74 2c                	je     0x53680a
5367de:	a1 24 68 6b 00       	mov    0x6b6824,%eax
5367e3:	b9 01 00 00 00       	mov    $0x1,%ecx
5367e8:	2b 4d e8             	sub    -0x18(%ebp),%ecx
5367eb:	85 c0                	test   %eax,%eax
5367ed:	89 4a 08             	mov    %ecx,0x8(%edx)
5367f0:	b9 dc c2 6b 00       	mov    $0x6bc2dc,%ecx
5367f5:	0f 45 c8             	cmovne %eax,%ecx
5367f8:	c6 42 29 ff          	movb   $0xff,0x29(%edx)
5367fc:	c7 42 38 9c ac 6b 00 	movl   $0x6bac9c,0x38(%edx)
536803:	c6 42 65 ff          	movb   $0xff,0x65(%edx)
536807:	89 4a 74             	mov    %ecx,0x74(%edx)
53680a:	8b 06                	mov    (%esi),%eax
53680c:	b9 ec 02 73 00       	mov    $0x7302ec,%ecx
536811:	8b 56 6c             	mov    0x6c(%esi),%edx
536814:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
536818:	75 03                	jne    0x53681d
53681a:	8b 4e 68             	mov    0x68(%esi),%ecx
53681d:	8d 42 fe             	lea    -0x2(%edx),%eax
536820:	89 41 0c             	mov    %eax,0xc(%ecx)
536823:	e9 05 05 00 00       	jmp    0x536d2d
536828:	85 c9                	test   %ecx,%ecx
53682a:	75 2f                	jne    0x53685b
53682c:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
53682f:	53                   	push   %ebx
536830:	e8 5b 0c 00 00       	call   0x537490
536835:	83 c4 04             	add    $0x4,%esp
536838:	85 c0                	test   %eax,%eax
53683a:	0f 85 ed 04 00 00    	jne    0x536d2d
536840:	8b 03                	mov    (%ebx),%eax
536842:	0f b6 40 4e          	movzbl 0x4e(%eax),%eax
536846:	ff 34 c5 00 28 6b 00 	push   0x6b2800(,%eax,8)
53684d:	56                   	push   %esi
53684e:	e8 4d e4 fd ff       	call   0x514ca0
536853:	83 c4 08             	add    $0x8,%esp
536856:	e9 d2 04 00 00       	jmp    0x536d2d
53685b:	8b 45 d8             	mov    -0x28(%ebp),%eax
53685e:	ba 01 00 00 00       	mov    $0x1,%edx
536863:	8b 70 14             	mov    0x14(%eax),%esi
536866:	85 f6                	test   %esi,%esi
536868:	7e 2d                	jle    0x536897
53686a:	8b 48 10             	mov    0x10(%eax),%ecx
53686d:	83 c1 0c             	add    $0xc,%ecx
536870:	83 79 f8 00          	cmpl   $0x0,-0x8(%ecx)
536874:	74 0e                	je     0x536884
536876:	8b 01                	mov    (%ecx),%eax
536878:	33 ff                	xor    %edi,%edi
53687a:	8a 40 4e             	mov    0x4e(%eax),%al
53687d:	24 05                	and    $0x5,%al
53687f:	3c 01                	cmp    $0x1,%al
536881:	0f 44 d7             	cmove  %edi,%edx
536884:	83 c1 10             	add    $0x10,%ecx
536887:	83 ee 01             	sub    $0x1,%esi
53688a:	75 e4                	jne    0x536870
53688c:	85 d2                	test   %edx,%edx
53688e:	0f 84 99 04 00 00    	je     0x536d2d
536894:	8b 4d b8             	mov    -0x48(%ebp),%ecx
536897:	a1 00 28 6b 00       	mov    0x6b2800,%eax
53689c:	be 00 28 6b 00       	mov    $0x6b2800,%esi
5368a1:	85 c0                	test   %eax,%eax
5368a3:	74 3b                	je     0x5368e0
5368a5:	50                   	push   %eax
5368a6:	51                   	push   %ecx
5368a7:	e8 84 73 00 00       	call   0x53dc30
5368ac:	83 c4 08             	add    $0x8,%esp
5368af:	85 c0                	test   %eax,%eax
5368b1:	74 0f                	je     0x5368c2
5368b3:	8b 46 08             	mov    0x8(%esi),%eax
5368b6:	83 c6 08             	add    $0x8,%esi
5368b9:	8b 4d b8             	mov    -0x48(%ebp),%ecx
5368bc:	85 c0                	test   %eax,%eax
5368be:	75 e5                	jne    0x5368a5
5368c0:	eb 27                	jmp    0x5368e9
5368c2:	8a 46 04             	mov    0x4(%esi),%al
5368c5:	0f b6 c8             	movzbl %al,%ecx
5368c8:	84 c0                	test   %al,%al
5368ca:	75 05                	jne    0x5368d1
5368cc:	b9 02 00 00 00       	mov    $0x2,%ecx
5368d1:	8b 45 d8             	mov    -0x28(%ebp),%eax
5368d4:	88 48 4e             	mov    %cl,0x4e(%eax)
5368d7:	8b 40 10             	mov    0x10(%eax),%eax
5368da:	8b 40 0c             	mov    0xc(%eax),%eax
5368dd:	88 48 4d             	mov    %cl,0x4d(%eax)
5368e0:	83 3e 00             	cmpl   $0x0,(%esi)
5368e3:	0f 85 44 04 00 00    	jne    0x536d2d
5368e9:	ff 75 b8             	push   -0x48(%ebp)
5368ec:	68 a0 ac 6b 00       	push   $0x6baca0
5368f1:	ff 75 d4             	push   -0x2c(%ebp)
5368f4:	e8 67 c9 fe ff       	call   0x523260
5368f9:	e9 2c 04 00 00       	jmp    0x536d2a
5368fe:	ff 75 c4             	push   -0x3c(%ebp)
536901:	8b 7b 08             	mov    0x8(%ebx),%edi
536904:	56                   	push   %esi
536905:	e8 e6 71 01 00       	call   0x54daf0
53690a:	83 c4 08             	add    $0x8,%esp
53690d:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
536911:	74 36                	je     0x536949
536913:	f6 43 05 08          	testb  $0x8,0x5(%ebx)
536917:	75 30                	jne    0x536949
536919:	6a 00                	push   $0x0
53691b:	68 48 28 6b 00       	push   $0x6b2848
536920:	6a 02                	push   $0x2
536922:	56                   	push   %esi
536923:	e8 78 b3 00 00       	call   0x541ca0
536928:	ff 75 b8             	push   -0x48(%ebp)
53692b:	8b f0                	mov    %eax,%esi
53692d:	8b 45 c4             	mov    -0x3c(%ebp),%eax
536930:	89 46 04             	mov    %eax,0x4(%esi)
536933:	89 46 18             	mov    %eax,0x18(%esi)
536936:	89 7e 1c             	mov    %edi,0x1c(%esi)
536939:	e8 d2 2b fe ff       	call   0x519510
53693e:	83 c4 14             	add    $0x14,%esp
536941:	89 46 20             	mov    %eax,0x20(%esi)
536944:	e9 e4 03 00 00       	jmp    0x536d2d
536949:	6a 00                	push   $0x0
53694b:	68 50 28 6b 00       	push   $0x6b2850
536950:	6a 03                	push   $0x3
536952:	56                   	push   %esi
536953:	e8 48 b3 00 00       	call   0x541ca0
536958:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
53695b:	83 c4 10             	add    $0x10,%esp
53695e:	89 48 04             	mov    %ecx,0x4(%eax)
536961:	89 48 18             	mov    %ecx,0x18(%eax)
536964:	89 78 20             	mov    %edi,0x20(%eax)
536967:	83 a6 98 00 00 00 bf 	andl   $0xffffffbf,0x98(%esi)
53696e:	e9 ba 03 00 00       	jmp    0x536d2d
536973:	8b 45 d4             	mov    -0x2c(%ebp),%eax
536976:	33 ff                	xor    %edi,%edi
536978:	57                   	push   %edi
536979:	c7 40 2c 01 00 00 00 	movl   $0x1,0x2c(%eax)
536980:	e8 eb e5 fa ff       	call   0x4e4f70
536985:	83 c4 04             	add    $0x4,%esp
536988:	85 c0                	test   %eax,%eax
53698a:	74 27                	je     0x5369b3
53698c:	0f 1f 40 00          	nopl   0x0(%eax)
536990:	50                   	push   %eax
536991:	6a 01                	push   $0x1
536993:	56                   	push   %esi
536994:	47                   	inc    %edi
536995:	e8 16 43 01 00       	call   0x54acb0
53699a:	6a 01                	push   $0x1
53699c:	6a 01                	push   $0x1
53699e:	6a 50                	push   $0x50
5369a0:	56                   	push   %esi
5369a1:	e8 3a b1 00 00       	call   0x541ae0
5369a6:	57                   	push   %edi
5369a7:	e8 c4 e5 fa ff       	call   0x4e4f70
5369ac:	83 c4 20             	add    $0x20,%esp
5369af:	85 c0                	test   %eax,%eax
5369b1:	75 dd                	jne    0x536990
5369b3:	83 a6 98 00 00 00 bf 	andl   $0xffffffbf,0x98(%esi)
5369ba:	e9 6e 03 00 00       	jmp    0x536d2d
5369bf:	8b 45 c0             	mov    -0x40(%ebp),%eax
5369c2:	bb 0a 00 00 00       	mov    $0xa,%ebx
5369c7:	83 38 00             	cmpl   $0x0,(%eax)
5369ca:	0f 45 5d c4          	cmovne -0x3c(%ebp),%ebx
5369ce:	33 ff                	xor    %edi,%edi
5369d0:	85 c9                	test   %ecx,%ecx
5369d2:	74 4a                	je     0x536a1e
5369d4:	68 70 aa 6b 00       	push   $0x6baa70
5369d9:	51                   	push   %ecx
5369da:	e8 51 72 00 00       	call   0x53dc30
5369df:	83 c4 08             	add    $0x8,%esp
5369e2:	85 c0                	test   %eax,%eax
5369e4:	75 05                	jne    0x5369eb
5369e6:	8d 78 01             	lea    0x1(%eax),%edi
5369e9:	eb 33                	jmp    0x536a1e
5369eb:	68 bc ac 6b 00       	push   $0x6bacbc
5369f0:	ff 75 b8             	push   -0x48(%ebp)
5369f3:	e8 38 72 00 00       	call   0x53dc30
5369f8:	83 c4 08             	add    $0x8,%esp
5369fb:	85 c0                	test   %eax,%eax
5369fd:	75 05                	jne    0x536a04
5369ff:	8d 78 02             	lea    0x2(%eax),%edi
536a02:	eb 1a                	jmp    0x536a1e
536a04:	68 10 ab 6b 00       	push   $0x6bab10
536a09:	ff 75 b8             	push   -0x48(%ebp)
536a0c:	e8 1f 72 00 00       	call   0x53dc30
536a11:	83 c4 08             	add    $0x8,%esp
536a14:	b9 03 00 00 00       	mov    $0x3,%ecx
536a19:	85 c0                	test   %eax,%eax
536a1b:	0f 44 f9             	cmove  %ecx,%edi
536a1e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
536a21:	6a 01                	push   $0x1
536a23:	57                   	push   %edi
536a24:	53                   	push   %ebx
536a25:	6a 06                	push   $0x6
536a27:	56                   	push   %esi
536a28:	c7 40 2c 03 00 00 00 	movl   $0x3,0x2c(%eax)
536a2f:	e8 0c b1 00 00       	call   0x541b40
536a34:	6a 03                	push   $0x3
536a36:	6a 01                	push   $0x1
536a38:	6a 50                	push   $0x50
536a3a:	56                   	push   %esi
536a3b:	e8 a0 b0 00 00       	call   0x541ae0
536a40:	83 c4 24             	add    $0x24,%esp
536a43:	e9 e5 02 00 00       	jmp    0x536d2d
536a48:	85 c9                	test   %ecx,%ecx
536a4a:	74 12                	je     0x536a5e
536a4c:	51                   	push   %ecx
536a4d:	e8 be 2a fe ff       	call   0x519510
536a52:	50                   	push   %eax
536a53:	ff 75 d8             	push   -0x28(%ebp)
536a56:	e8 35 9b fa ff       	call   0x4e0590
536a5b:	83 c4 0c             	add    $0xc,%esp
536a5e:	8b 45 d8             	mov    -0x28(%ebp),%eax
536a61:	81 b8 f8 00 00 00 70 	cmpl   $0x54f370,0xf8(%eax)
536a68:	f3 54 00
536a6b:	0f 85 6c e5 ff ff    	jne    0x534fdd
536a71:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
536a77:	e9 a5 02 00 00       	jmp    0x536d21
536a7c:	ff 75 d8             	push   -0x28(%ebp)
536a7f:	e8 8c 03 fb ff       	call   0x4e6e10
536a84:	83 c4 04             	add    $0x4,%esp
536a87:	e9 a1 02 00 00       	jmp    0x536d2d
536a8c:	85 c9                	test   %ecx,%ecx
536a8e:	74 19                	je     0x536aa9
536a90:	51                   	push   %ecx
536a91:	e8 7a 2a fe ff       	call   0x519510
536a96:	8b c8                	mov    %eax,%ecx
536a98:	83 c4 04             	add    $0x4,%esp
536a9b:	89 4d d0             	mov    %ecx,-0x30(%ebp)
536a9e:	f6 c1 02             	test   $0x2,%cl
536aa1:	0f 84 86 02 00 00    	je     0x536d2d
536aa7:	eb 07                	jmp    0x536ab0
536aa9:	c7 45 d0 fe ff 00 00 	movl   $0xfffe,-0x30(%ebp)
536ab0:	8b 55 d4             	mov    -0x2c(%ebp),%edx
536ab3:	8b 7d c4             	mov    -0x3c(%ebp),%edi
536ab6:	8b 42 28             	mov    0x28(%edx),%eax
536ab9:	89 45 e8             	mov    %eax,-0x18(%ebp)
536abc:	40                   	inc    %eax
536abd:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
536ac1:	89 42 28             	mov    %eax,0x28(%edx)
536ac4:	74 05                	je     0x536acb
536ac6:	89 7d cc             	mov    %edi,-0x34(%ebp)
536ac9:	eb 12                	jmp    0x536add
536acb:	8b 45 d8             	mov    -0x28(%ebp),%eax
536ace:	8b 40 14             	mov    0x14(%eax),%eax
536ad1:	48                   	dec    %eax
536ad2:	89 45 cc             	mov    %eax,-0x34(%ebp)
536ad5:	3b f8                	cmp    %eax,%edi
536ad7:	0f 8f 2d 01 00 00    	jg     0x536c0a
536add:	8b 45 bc             	mov    -0x44(%ebp),%eax
536ae0:	8b 4d cc             	mov    -0x34(%ebp),%ecx
536ae3:	83 ff 01             	cmp    $0x1,%edi
536ae6:	0f 84 0c 01 00 00    	je     0x536bf8
536aec:	57                   	push   %edi
536aed:	52                   	push   %edx
536aee:	e8 ed 87 fe ff       	call   0x51f2e0
536af3:	8b 55 d8             	mov    -0x28(%ebp),%edx
536af6:	83 c4 08             	add    $0x8,%esp
536af9:	8b 4d bc             	mov    -0x44(%ebp),%ecx
536afc:	8b 42 10             	mov    0x10(%edx),%eax
536aff:	8b 44 01 0c          	mov    0xc(%ecx,%eax,1),%eax
536b03:	8b 58 10             	mov    0x10(%eax),%ebx
536b06:	85 db                	test   %ebx,%ebx
536b08:	0f 84 e1 00 00 00    	je     0x536bef
536b0e:	66 90                	xchg   %ax,%ax
536b10:	8b 7b 08             	mov    0x8(%ebx),%edi
536b13:	f7 47 24 00 01 00 00 	testl  $0x100,0x24(%edi)
536b1a:	0f 84 c2 00 00 00    	je     0x536be2
536b20:	66 8b 47 2e          	mov    0x2e(%edi),%ax
536b24:	66 83 c0 2e          	add    $0x2e,%ax
536b28:	0f b7 c8             	movzwl %ax,%ecx
536b2b:	8b 47 08             	mov    0x8(%edi),%eax
536b2e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
536b31:	85 c0                	test   %eax,%eax
536b33:	74 0d                	je     0x536b42
536b35:	f6 40 38 80          	testb  $0x80,0x38(%eax)
536b39:	74 42                	je     0x536b7d
536b3b:	8b 40 14             	mov    0x14(%eax),%eax
536b3e:	85 c0                	test   %eax,%eax
536b40:	75 f3                	jne    0x536b35
536b42:	66 85 c9             	test   %cx,%cx
536b45:	74 36                	je     0x536b7d
536b47:	6a 60                	push   $0x60
536b49:	57                   	push   %edi
536b4a:	ff 75 c4             	push   -0x3c(%ebp)
536b4d:	ff 75 e8             	push   -0x18(%ebp)
536b50:	ff 75 d4             	push   -0x2c(%ebp)
536b53:	e8 f8 ad ff ff       	call   0x531950
536b58:	8b 45 e4             	mov    -0x1c(%ebp),%eax
536b5b:	8b 4d d0             	mov    -0x30(%ebp),%ecx
536b5e:	98                   	cwtl
536b5f:	83 e1 01             	and    $0x1,%ecx
536b62:	50                   	push   %eax
536b63:	8b 46 6c             	mov    0x6c(%esi),%eax
536b66:	83 c1 02             	add    $0x2,%ecx
536b69:	03 c1                	add    %ecx,%eax
536b6b:	50                   	push   %eax
536b6c:	ff 75 e8             	push   -0x18(%ebp)
536b6f:	6a 22                	push   $0x22
536b71:	56                   	push   %esi
536b72:	e8 c9 af 00 00       	call   0x541b40
536b77:	8b 55 d8             	mov    -0x28(%ebp),%edx
536b7a:	83 c4 28             	add    $0x28,%esp
536b7d:	ff 37                	push   (%edi)
536b7f:	8b 42 10             	mov    0x10(%edx),%eax
536b82:	8b 4d bc             	mov    -0x44(%ebp),%ecx
536b85:	ff 34 01             	push   (%ecx,%eax,1)
536b88:	68 c4 ac 6b 00       	push   $0x6bacc4
536b8d:	52                   	push   %edx
536b8e:	e8 ad a3 ff ff       	call   0x530f40
536b93:	83 c4 10             	add    $0x10,%esp
536b96:	8b d0                	mov    %eax,%edx
536b98:	f6 45 d0 01          	testb  $0x1,-0x30(%ebp)
536b9c:	74 2a                	je     0x536bc8
536b9e:	ff 75 d4             	push   -0x2c(%ebp)
536ba1:	e8 da 63 ff ff       	call   0x52cf80
536ba6:	6a f9                	push   $0xfffffff9
536ba8:	52                   	push   %edx
536ba9:	6a 00                	push   $0x0