53b707:	e9 1e 06 00 00       	jmp    0x53bd2a
53b70c:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
53b710:	8b 4d dc             	mov    -0x24(%ebp),%ecx
53b713:	0f 85 f1 03 00 00    	jne    0x53bb0a
53b719:	8b 46 1c             	mov    0x1c(%esi),%eax
53b71c:	83 38 01             	cmpl   $0x1,(%eax)
53b71f:	0f 85 e5 03 00 00    	jne    0x53bb0a
53b725:	8b 46 20             	mov    0x20(%esi),%eax
53b728:	83 38 01             	cmpl   $0x1,(%eax)
53b72b:	0f 85 d9 03 00 00    	jne    0x53bb0a
53b731:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
53b735:	0f 85 cf 03 00 00    	jne    0x53bb0a
53b73b:	8b 40 18             	mov    0x18(%eax),%eax
53b73e:	8b 9d 10 ff ff ff    	mov    -0xf0(%ebp),%ebx
53b744:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
53b74a:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
53b74e:	0f 85 b6 03 00 00    	jne    0x53bb0a
53b754:	8b 5e 1c             	mov    0x1c(%esi),%ebx
53b757:	8b 43 04             	mov    0x4(%ebx),%eax
53b75a:	8b 9d 10 ff ff ff    	mov    -0xf0(%ebp),%ebx
53b760:	80 38 a5             	cmpb   $0xa5,(%eax)
53b763:	0f 85 a1 03 00 00    	jne    0x53bb0a
53b769:	85 d2                	test   %edx,%edx
53b76b:	0f 84 99 03 00 00    	je     0x53bb0a
53b771:	8b 41 04             	mov    0x4(%ecx),%eax
53b774:	f7 40 04 00 01 00 00 	testl  $0x100,0x4(%eax)
53b77b:	0f 84 89 03 00 00    	je     0x53bb0a
53b781:	8b 5e 1c             	mov    0x1c(%esi),%ebx
53b784:	8b 43 04             	mov    0x4(%ebx),%eax
53b787:	8b 9d 10 ff ff ff    	mov    -0xf0(%ebp),%ebx
53b78d:	f7 40 04 02 00 00 01 	testl  $0x1000002,0x4(%eax)
53b794:	0f 85 70 03 00 00    	jne    0x53bb0a
53b79a:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
53b7a0:	ba c0 bd f0 ff       	mov    $0xfff0bdc0,%edx
53b7a5:	89 95 24 ff ff ff    	mov    %edx,-0xdc(%ebp)
53b7ab:	8b 48 48             	mov    0x48(%eax),%ecx
53b7ae:	85 c9                	test   %ecx,%ecx
53b7b0:	74 22                	je     0x53b7d4
53b7b2:	8b 07                	mov    (%edi),%eax
53b7b4:	33 d2                	xor    %edx,%edx
53b7b6:	89 95 24 ff ff ff    	mov    %edx,-0xdc(%ebp)
53b7bc:	8b 40 10             	mov    0x10(%eax),%eax
53b7bf:	83 c0 0c             	add    $0xc,%eax
53b7c2:	39 08                	cmp    %ecx,(%eax)
53b7c4:	74 0e                	je     0x53b7d4
53b7c6:	8d 40 10             	lea    0x10(%eax),%eax
53b7c9:	42                   	inc    %edx
53b7ca:	39 08                	cmp    %ecx,(%eax)
53b7cc:	75 f8                	jne    0x53b7c6
53b7ce:	89 95 24 ff ff ff    	mov    %edx,-0xdc(%ebp)
53b7d4:	8b 47 28             	mov    0x28(%edi),%eax
53b7d7:	33 c9                	xor    %ecx,%ecx
53b7d9:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
53b7df:	40                   	inc    %eax
53b7e0:	89 47 28             	mov    %eax,0x28(%edi)
53b7e3:	33 c0                	xor    %eax,%eax
53b7e5:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
53b7eb:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
53b7f1:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
53b7f7:	8b cf                	mov    %edi,%ecx
53b7f9:	8b 40 1c             	mov    0x1c(%eax),%eax
53b7fc:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
53b802:	8b 47 74             	mov    0x74(%edi),%eax
53b805:	85 c0                	test   %eax,%eax
53b807:	0f 45 c8             	cmovne %eax,%ecx
53b80a:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
53b810:	8b 41 54             	mov    0x54(%ecx),%eax
53b813:	8b ca                	mov    %edx,%ecx
53b815:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
53b81b:	b8 01 00 00 00       	mov    $0x1,%eax
53b820:	d3 e0                	shl    %cl,%eax
53b822:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
53b828:	85 c1                	test   %eax,%ecx
53b82a:	75 20                	jne    0x53b84c
53b82c:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
53b832:	0f ab d1             	bts    %edx,%ecx
53b835:	89 48 54             	mov    %ecx,0x54(%eax)
53b838:	83 fa 01             	cmp    $0x1,%edx
53b83b:	75 0f                	jne    0x53b84c
53b83d:	50                   	push   %eax
53b83e:	e8 4d 64 ff ff       	call   0x531c90
53b843:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
53b849:	83 c4 04             	add    $0x4,%esp
53b84c:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
53b852:	ff 30                	push   (%eax)
53b854:	6a 00                	push   $0x0
53b856:	ff 70 1c             	push   0x1c(%eax)
53b859:	52                   	push   %edx
53b85a:	57                   	push   %edi
53b85b:	e8 70 26 00 00       	call   0x53ded0
53b860:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
53b866:	83 c4 14             	add    $0x14,%esp
53b869:	f6 40 24 80          	testb  $0x80,0x24(%eax)
53b86d:	74 2f                	je     0x53b89e
53b86f:	8b 48 08             	mov    0x8(%eax),%ecx
53b872:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
53b878:	85 c9                	test   %ecx,%ecx
53b87a:	74 24                	je     0x53b8a0
53b87c:	0f 1f 40 00          	nopl   0x0(%eax)
53b880:	8b 41 38             	mov    0x38(%ecx),%eax
53b883:	24 03                	and    $0x3,%al
53b885:	3c 02                	cmp    $0x2,%al
53b887:	74 07                	je     0x53b890
53b889:	8b 49 14             	mov    0x14(%ecx),%ecx
53b88c:	85 c9                	test   %ecx,%ecx
53b88e:	75 f0                	jne    0x53b880
53b890:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
53b896:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
53b89c:	eb 02                	jmp    0x53b8a0
53b89e:	33 c9                	xor    %ecx,%ecx
53b8a0:	8b 40 08             	mov    0x8(%eax),%eax
53b8a3:	85 c0                	test   %eax,%eax
53b8a5:	74 3e                	je     0x53b8e5
53b8a7:	8b b5 4c ff ff ff    	mov    -0xb4(%ebp),%esi
53b8ad:	0f 1f 00             	nopl   (%eax)
53b8b0:	f6 40 38 04          	testb  $0x4,0x38(%eax)
53b8b4:	75 1c                	jne    0x53b8d2
53b8b6:	0f b7 50 30          	movzwl 0x30(%eax),%edx
53b8ba:	66 3b 56 30          	cmp    0x30(%esi),%dx
53b8be:	7d 12                	jge    0x53b8d2
53b8c0:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
53b8c4:	75 0c                	jne    0x53b8d2
53b8c6:	85 c9                	test   %ecx,%ecx
53b8c8:	74 06                	je     0x53b8d0
53b8ca:	66 3b 51 30          	cmp    0x30(%ecx),%dx
53b8ce:	7d 02                	jge    0x53b8d2
53b8d0:	8b c8                	mov    %eax,%ecx
53b8d2:	8b 40 14             	mov    0x14(%eax),%eax
53b8d5:	85 c0                	test   %eax,%eax
53b8d7:	75 d7                	jne    0x53b8b0
53b8d9:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53b8df:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
53b8e5:	85 c9                	test   %ecx,%ecx
53b8e7:	74 19                	je     0x53b902
53b8e9:	8b 41 2c             	mov    0x2c(%ecx),%eax
53b8ec:	51                   	push   %ecx
53b8ed:	57                   	push   %edi
53b8ee:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
53b8f4:	e8 07 44 ff ff       	call   0x52fd00
53b8f9:	83 c4 08             	add    $0x8,%esp
53b8fc:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
53b902:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53b905:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%ebp)
53b90b:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53b90e:	7f 24                	jg     0x53b934
53b910:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
53b916:	52                   	push   %edx
53b917:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
53b91d:	52                   	push   %edx
53b91e:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
53b924:	52                   	push   %edx
53b925:	6a 60                	push   $0x60
53b927:	53                   	push   %ebx
53b928:	e8 d3 ab fc ff       	call   0x506500
53b92d:	83 c4 14             	add    $0x14,%esp
53b930:	8b c8                	mov    %eax,%ecx
53b932:	eb 3f                	jmp    0x53b973
53b934:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
53b93a:	8d 41 01             	lea    0x1(%ecx),%eax
53b93d:	89 43 6c             	mov    %eax,0x6c(%ebx)
53b940:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53b943:	8b 43 68             	mov    0x68(%ebx),%eax
53b946:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
53b94a:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
53b950:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
53b954:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
53b95a:	c7 04 88 60 00 00 00 	movl   $0x60,(%eax,%ecx,4)
53b961:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
53b965:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53b96c:	00
53b96d:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
53b973:	8b 03                	mov    (%ebx),%eax
53b975:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
53b979:	75 13                	jne    0x53b98e
53b97b:	8b 43 68             	mov    0x68(%ebx),%eax
53b97e:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53b981:	c6 44 88 01 fd       	movb   $0xfd,0x1(%eax,%ecx,4)
53b986:	c7 44 88 10 01 00 00 	movl   $0x1,0x10(%eax,%ecx,4)
53b98d:	00
53b98e:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
53b994:	85 d2                	test   %edx,%edx
53b996:	74 40                	je     0x53b9d8
53b998:	8b 03                	mov    (%ebx),%eax
53b99a:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
53b99e:	74 0e                	je     0x53b9ae
53b9a0:	52                   	push   %edx
53b9a1:	6a f7                	push   $0xfffffff7
53b9a3:	50                   	push   %eax
53b9a4:	e8 07 83 fc ff       	call   0x503cb0
53b9a9:	83 c4 0c             	add    $0xc,%esp
53b9ac:	eb 2a                	jmp    0x53b9d8
53b9ae:	8b 43 6c             	mov    0x6c(%ebx),%eax
53b9b1:	48                   	dec    %eax
53b9b2:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
53b9b5:	8b 43 68             	mov    0x68(%ebx),%eax
53b9b8:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
53b9bd:	8d 04 88             	lea    (%eax,%ecx,4),%eax
53b9c0:	74 0f                	je     0x53b9d1
53b9c2:	6a f7                	push   $0xfffffff7
53b9c4:	52                   	push   %edx
53b9c5:	50                   	push   %eax
53b9c6:	53                   	push   %ebx
53b9c7:	e8 74 e2 01 00       	call   0x559c40
53b9cc:	83 c4 10             	add    $0x10,%esp
53b9cf:	eb 07                	jmp    0x53b9d8
53b9d1:	89 50 10             	mov    %edx,0x10(%eax)
53b9d4:	c6 40 01 f7          	movb   $0xf7,0x1(%eax)
53b9d8:	8b 45 dc             	mov    -0x24(%ebp),%eax
53b9db:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53b9de:	8b 40 08             	mov    0x8(%eax),%eax
53b9e1:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
53b9e7:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53b9ea:	7f 1c                	jg     0x53ba08
53b9ec:	6a 00                	push   $0x0
53b9ee:	50                   	push   %eax
53b9ef:	ff b5 00 ff ff ff    	push   -0x100(%ebp)
53b9f5:	6a 5c                	push   $0x5c
53b9f7:	53                   	push   %ebx
53b9f8:	e8 03 ab fc ff       	call   0x506500
53b9fd:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
53ba03:	83 c4 14             	add    $0x14,%esp
53ba06:	eb 3d                	jmp    0x53ba45
53ba08:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
53ba0e:	8d 41 01             	lea    0x1(%ecx),%eax
53ba11:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
53ba17:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53ba1a:	89 43 6c             	mov    %eax,0x6c(%ebx)
53ba1d:	8b 43 68             	mov    0x68(%ebx),%eax
53ba20:	89 74 88 08          	mov    %esi,0x8(%eax,%ecx,4)
53ba24:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53ba2a:	c7 04 88 5c 00 00 00 	movl   $0x5c,(%eax,%ecx,4)
53ba31:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
53ba35:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53ba3c:	00
53ba3d:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53ba44:	00
53ba45:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53ba48:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53ba4b:	7f 12                	jg     0x53ba5f
53ba4d:	6a 00                	push   $0x0
53ba4f:	6a 00                	push   $0x0
53ba51:	52                   	push   %edx
53ba52:	6a 74                	push   $0x74
53ba54:	53                   	push   %ebx
53ba55:	e8 a6 aa fc ff       	call   0x506500
53ba5a:	83 c4 14             	add    $0x14,%esp
53ba5d:	eb 35                	jmp    0x53ba94
53ba5f:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
53ba65:	8d 41 01             	lea    0x1(%ecx),%eax
53ba68:	89 43 6c             	mov    %eax,0x6c(%ebx)
53ba6b:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53ba6e:	8b 43 68             	mov    0x68(%ebx),%eax
53ba71:	c7 04 88 74 00 00 00 	movl   $0x74,(%eax,%ecx,4)
53ba78:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
53ba7c:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
53ba83:	00
53ba84:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53ba8b:	00
53ba8c:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53ba93:	00
53ba94:	80 bf c7 00 00 00 02 	cmpb   $0x2,0xc7(%edi)
53ba9b:	0f 85 4d 02 00 00    	jne    0x53bcee
53baa1:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
53baa7:	8b 95 4c ff ff ff    	mov    -0xb4(%ebp),%edx
53baad:	85 c9                	test   %ecx,%ecx
53baaf:	74 1d                	je     0x53bace
53bab1:	f6 42 24 80          	testb  $0x80,0x24(%edx)
53bab5:	74 09                	je     0x53bac0
53bab7:	8b 41 38             	mov    0x38(%ecx),%eax
53baba:	24 03                	and    $0x3,%al
53babc:	3c 02                	cmp    $0x2,%al
53babe:	74 0e                	je     0x53bace
53bac0:	8b 01                	mov    (%ecx),%eax
53bac2:	c7 85 44 ff ff ff 01 	movl   $0x1,-0xbc(%ebp)
53bac9:	00 00 00
53bacc:	eb 0f                	jmp    0x53badd
53bace:	c7 85 44 ff ff ff 00 	movl   $0x0,-0xbc(%ebp)
53bad5:	00 00 00
53bad8:	b8 ad 57 6e 00       	mov    $0x6e57ad,%eax
53badd:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
53bae4:	b9 ad 57 6e 00       	mov    $0x6e57ad,%ecx
53bae9:	50                   	push   %eax
53baea:	b8 d4 b2 6b 00       	mov    $0x6bb2d4,%eax
53baef:	0f 44 c1             	cmove  %ecx,%eax
53baf2:	50                   	push   %eax
53baf3:	ff 32                	push   (%edx)
53baf5:	68 ec b2 6b 00       	push   $0x6bb2ec
53bafa:	6a 00                	push   $0x0
53bafc:	57                   	push   %edi
53bafd:	e8 de e0 00 00       	call   0x549be0
53bb02:	83 c4 18             	add    $0x18,%esp
53bb05:	e9 e4 01 00 00       	jmp    0x53bcee
53bb0a:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
53bb0e:	c7 85 40 ff ff ff 00 	movl   $0x0,-0xc0(%ebp)
53bb15:	00 00 00
53bb18:	0f 84 a0 00 00 00    	je     0x53bbbe
53bb1e:	33 c0                	xor    %eax,%eax
53bb20:	85 d2                	test   %edx,%edx
53bb22:	7e 3a                	jle    0x53bb5e
53bb24:	33 f6                	xor    %esi,%esi
53bb26:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
53bb2d:	00 00 00
53bb30:	8b 01                	mov    (%ecx),%eax
53bb32:	f7 40 04 00 00 00 01 	testl  $0x1000000,0x4(%eax)
53bb39:	75 09                	jne    0x53bb44
53bb3b:	8b 41 04             	mov    0x4(%ecx),%eax
53bb3e:	f6 40 04 20          	testb  $0x20,0x4(%eax)
53bb42:	75 08                	jne    0x53bb4c
53bb44:	46                   	inc    %esi
53bb45:	83 c1 10             	add    $0x10,%ecx
53bb48:	3b f2                	cmp    %edx,%esi
53bb4a:	7c e4                	jl     0x53bb30
53bb4c:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
53bb52:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53bb58:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
53bb5e:	3b c2                	cmp    %edx,%eax
53bb60:	75 5c                	jne    0x53bbbe
53bb62:	8b 57 2c             	mov    0x2c(%edi),%edx
53bb65:	42                   	inc    %edx
53bb66:	89 57 2c             	mov    %edx,0x2c(%edi)
53bb69:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53bb6c:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
53bb72:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53bb75:	7f 12                	jg     0x53bb89
53bb77:	6a 00                	push   $0x0
53bb79:	52                   	push   %edx
53bb7a:	6a 00                	push   $0x0
53bb7c:	6a 45                	push   $0x45
53bb7e:	53                   	push   %ebx
53bb7f:	e8 7c a9 fc ff       	call   0x506500
53bb84:	83 c4 14             	add    $0x14,%esp
53bb87:	eb 35                	jmp    0x53bbbe
53bb89:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53bb8f:	8d 41 01             	lea    0x1(%ecx),%eax
53bb92:	89 43 6c             	mov    %eax,0x6c(%ebx)
53bb95:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53bb98:	8b 43 68             	mov    0x68(%ebx),%eax
53bb9b:	c7 04 88 45 00 00 00 	movl   $0x45,(%eax,%ecx,4)
53bba2:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
53bba9:	00
53bbaa:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
53bbae:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53bbb5:	00
53bbb6:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53bbbd:	00
53bbbe:	8d 45 b4             	lea    -0x4c(%ebp),%eax
53bbc1:	50                   	push   %eax
53bbc2:	57                   	push   %edi
53bbc3:	e8 48 7a fd ff       	call   0x513610
53bbc8:	8a 85 ff fe ff ff    	mov    -0x101(%ebp),%al