54080f:	ff 75 9c             	push   -0x64(%ebp)
540812:	e8 39 c3 fe ff       	call   0x52cb50
540817:	83 c4 18             	add    $0x18,%esp
54081a:	83 bd 18 ff ff ff 00 	cmpl   $0x0,-0xe8(%ebp)
540821:	74 1d                	je     0x540840
540823:	8b 4e 6c             	mov    0x6c(%esi),%ecx
540826:	39 4e 70             	cmp    %ecx,0x70(%esi)
540829:	7f 40                	jg     0x54086b
54082b:	6a 00                	push   $0x0
54082d:	6a 00                	push   $0x0
54082f:	ff 75 8c             	push   -0x74(%ebp)
540832:	68 87 00 00 00       	push   $0x87
540837:	56                   	push   %esi
540838:	e8 c3 5c fc ff       	call   0x506500
54083d:	83 c4 14             	add    $0x14,%esp
540840:	8b 55 8c             	mov    -0x74(%ebp),%edx
540843:	83 ff 01             	cmp    $0x1,%edi
540846:	7f 09                	jg     0x540851
540848:	80 bd 38 ff ff ff 00 	cmpb   $0x0,-0xc8(%ebp)
54084f:	74 7d                	je     0x5408ce
540851:	8b 4e 6c             	mov    0x6c(%esi),%ecx
540854:	39 4e 70             	cmp    %ecx,0x70(%esi)
540857:	7f 46                	jg     0x54089f
540859:	6a 00                	push   $0x0
54085b:	6a 00                	push   $0x0
54085d:	52                   	push   %edx
54085e:	6a 7a                	push   $0x7a
540860:	56                   	push   %esi
540861:	e8 9a 5c fc ff       	call   0x506500
540866:	83 c4 14             	add    $0x14,%esp
540869:	eb 63                	jmp    0x5408ce
54086b:	8b 55 8c             	mov    -0x74(%ebp),%edx
54086e:	8d 41 01             	lea    0x1(%ecx),%eax
540871:	89 46 6c             	mov    %eax,0x6c(%esi)
540874:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
540877:	8b 46 68             	mov    0x68(%esi),%eax
54087a:	c7 04 88 87 00 00 00 	movl   $0x87,(%eax,%ecx,4)
540881:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
540885:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
54088c:	00
54088d:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
540894:	00
540895:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
54089c:	00
54089d:	eb a4                	jmp    0x540843
54089f:	8d 41 01             	lea    0x1(%ecx),%eax
5408a2:	89 46 6c             	mov    %eax,0x6c(%esi)
5408a5:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5408a8:	8b 46 68             	mov    0x68(%esi),%eax
5408ab:	c7 04 88 7a 00 00 00 	movl   $0x7a,(%eax,%ecx,4)
5408b2:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5408b6:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
5408bd:	00
5408be:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5408c5:	00
5408c6:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5408cd:	00
5408ce:	8b 75 90             	mov    -0x70(%ebp),%esi
5408d1:	85 ff                	test   %edi,%edi
5408d3:	74 1d                	je     0x5408f2
5408d5:	ff b5 f4 fe ff ff    	push   -0x10c(%ebp)
5408db:	ff 75 84             	push   -0x7c(%ebp)
5408de:	ff b5 5c ff ff ff    	push   -0xa4(%ebp)
5408e4:	6a 00                	push   $0x0
5408e6:	56                   	push   %esi
5408e7:	ff 75 9c             	push   -0x64(%ebp)
5408ea:	e8 f1 8b fe ff       	call   0x5294e0
5408ef:	83 c4 18             	add    $0x18,%esp
5408f2:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
5408f8:	33 c0                	xor    %eax,%eax
5408fa:	6a 00                	push   $0x0
5408fc:	83 ff 02             	cmp    $0x2,%edi
5408ff:	6a 00                	push   $0x0
540901:	0f 94 c0             	sete   %al
540904:	8d 04 45 04 00 00 00 	lea    0x4(,%eax,2),%eax
54090b:	50                   	push   %eax
54090c:	ff b5 30 ff ff ff    	push   -0xd0(%ebp)
540912:	ff b5 5c ff ff ff    	push   -0xa4(%ebp)
540918:	ff b5 20 ff ff ff    	push   -0xe0(%ebp)
54091e:	ff 75 8c             	push   -0x74(%ebp)
540921:	56                   	push   %esi
540922:	ff 75 9c             	push   -0x64(%ebp)
540925:	e8 76 f0 fd ff       	call   0x51f9a0
54092a:	83 c4 24             	add    $0x24,%esp
54092d:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
540934:	74 23                	je     0x540959
540936:	ff b5 f4 fe ff ff    	push   -0x10c(%ebp)
54093c:	ff 75 84             	push   -0x7c(%ebp)
54093f:	ff 75 80             	push   -0x80(%ebp)
540942:	ff 75 88             	push   -0x78(%ebp)
540945:	56                   	push   %esi
540946:	ff 75 9c             	push   -0x64(%ebp)
540949:	e8 02 8b fe ff       	call   0x529450
54094e:	83 c4 18             	add    $0x18,%esp
540951:	eb 06                	jmp    0x540959
540953:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
540959:	8b 95 e4 fe ff ff    	mov    -0x11c(%ebp),%edx
54095f:	8b 75 98             	mov    -0x68(%ebp),%esi
540962:	85 d2                	test   %edx,%edx
540964:	74 4f                	je     0x5409b5
540966:	8b 4e 6c             	mov    0x6c(%esi),%ecx
540969:	39 4e 70             	cmp    %ecx,0x70(%esi)
54096c:	7f 12                	jg     0x540980
54096e:	6a 00                	push   $0x0
540970:	6a 01                	push   $0x1
540972:	52                   	push   %edx
540973:	6a 52                	push   $0x52
540975:	56                   	push   %esi
540976:	e8 85 5b fc ff       	call   0x506500
54097b:	83 c4 14             	add    $0x14,%esp
54097e:	eb 35                	jmp    0x5409b5
540980:	8b 9d 54 ff ff ff    	mov    -0xac(%ebp),%ebx
540986:	8d 41 01             	lea    0x1(%ecx),%eax
540989:	89 46 6c             	mov    %eax,0x6c(%esi)
54098c:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
54098f:	8b 46 68             	mov    0x68(%esi),%eax
540992:	c7 04 88 52 00 00 00 	movl   $0x52,(%eax,%ecx,4)
540999:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
54099d:	c7 44 88 08 01 00 00 	movl   $0x1,0x8(%eax,%ecx,4)
5409a4:	00
5409a5:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5409ac:	00
5409ad:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5409b4:	00
5409b5:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5409bb:	85 c0                	test   %eax,%eax
5409bd:	74 57                	je     0x540a16
5409bf:	8b 7d 90             	mov    -0x70(%ebp),%edi
5409c2:	8b 75 9c             	mov    -0x64(%ebp),%esi
5409c5:	80 78 08 7f          	cmpb   $0x7f,0x8(%eax)
5409c9:	75 35                	jne    0x540a00
5409cb:	80 78 09 02          	cmpb   $0x2,0x9(%eax)
5409cf:	75 2f                	jne    0x540a00
5409d1:	ff 75 88             	push   -0x78(%ebp)
5409d4:	ff 70 10             	push   0x10(%eax)
5409d7:	e8 e4 75 fb ff       	call   0x4f7fc0
5409dc:	83 c4 08             	add    $0x8,%esp
5409df:	85 c0                	test   %eax,%eax
5409e1:	74 17                	je     0x5409fa
5409e3:	53                   	push   %ebx
5409e4:	ff 75 18             	push   0x18(%ebp)
5409e7:	ff 75 80             	push   -0x80(%ebp)
5409ea:	57                   	push   %edi
5409eb:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
5409f1:	56                   	push   %esi
5409f2:	e8 59 e4 fd ff       	call   0x51ee50
5409f7:	83 c4 18             	add    $0x18,%esp
5409fa:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
540a00:	8b 40 20             	mov    0x20(%eax),%eax
540a03:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
540a09:	85 c0                	test   %eax,%eax
540a0b:	75 b8                	jne    0x5409c5
540a0d:	8b 75 98             	mov    -0x68(%ebp),%esi
540a10:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
540a16:	83 ff 01             	cmp    $0x1,%edi
540a19:	0f 84 0e 01 00 00    	je     0x540b2d
540a1f:	83 ff 02             	cmp    $0x2,%edi
540a22:	75 47                	jne    0x540a6b
540a24:	8b 4e 0c             	mov    0xc(%esi),%ecx
540a27:	f7 d3                	not    %ebx
540a29:	8b 41 3c             	mov    0x3c(%ecx),%eax
540a2c:	03 41 38             	add    0x38(%ecx),%eax
540a2f:	79 1e                	jns    0x540a4f
540a31:	53                   	push   %ebx
540a32:	56                   	push   %esi
540a33:	51                   	push   %ecx
540a34:	e8 67 2d fd ff       	call   0x5137a0
540a39:	83 c4 0c             	add    $0xc,%esp
540a3c:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
540a42:	e8 c9 23 01 00       	call   0x552e10
540a47:	83 c4 04             	add    $0x4,%esp
540a4a:	e9 de 00 00 00       	jmp    0x540b2d
540a4f:	8b 49 40             	mov    0x40(%ecx),%ecx
540a52:	8b 46 6c             	mov    0x6c(%esi),%eax
540a55:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
540a5b:	89 04 99             	mov    %eax,(%ecx,%ebx,4)
540a5e:	e8 ad 23 01 00       	call   0x552e10
540a63:	83 c4 04             	add    $0x4,%esp
540a66:	e9 c2 00 00 00       	jmp    0x540b2d
540a6b:	83 bd 68 ff ff ff 00 	cmpl   $0x0,-0x98(%ebp)
540a72:	74 70                	je     0x540ae4
540a74:	8b 4e 0c             	mov    0xc(%esi),%ecx
540a77:	f7 d3                	not    %ebx
540a79:	8b 41 3c             	mov    0x3c(%ecx),%eax
540a7c:	03 41 38             	add    0x38(%ecx),%eax
540a7f:	79 0d                	jns    0x540a8e
540a81:	53                   	push   %ebx
540a82:	56                   	push   %esi
540a83:	51                   	push   %ecx
540a84:	e8 17 2d fd ff       	call   0x5137a0
540a89:	83 c4 0c             	add    $0xc,%esp
540a8c:	eb 09                	jmp    0x540a97
540a8e:	8b 49 40             	mov    0x40(%ecx),%ecx
540a91:	8b 46 6c             	mov    0x6c(%esi),%eax
540a94:	89 04 99             	mov    %eax,(%ecx,%ebx,4)
540a97:	8b 4e 6c             	mov    0x6c(%esi),%ecx
540a9a:	39 4e 70             	cmp    %ecx,0x70(%esi)
540a9d:	7f 1c                	jg     0x540abb
540a9f:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
540aa5:	6a 00                	push   $0x0
540aa7:	52                   	push   %edx
540aa8:	ff b5 50 ff ff ff    	push   -0xb0(%ebp)
540aae:	6a 05                	push   $0x5
540ab0:	56                   	push   %esi
540ab1:	e8 4a 5a fc ff       	call   0x506500
540ab6:	83 c4 14             	add    $0x14,%esp
540ab9:	eb 72                	jmp    0x540b2d
540abb:	8b 95 50 ff ff ff    	mov    -0xb0(%ebp),%edx
540ac1:	8d 41 01             	lea    0x1(%ecx),%eax
540ac4:	89 46 6c             	mov    %eax,0x6c(%esi)
540ac7:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
540aca:	8b 46 68             	mov    0x68(%esi),%eax
540acd:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
540ad1:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
540ad7:	c7 04 88 05 00 00 00 	movl   $0x5,(%eax,%ecx,4)
540ade:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
540ae2:	eb 39                	jmp    0x540b1d
540ae4:	8b 4e 6c             	mov    0x6c(%esi),%ecx
540ae7:	39 4e 70             	cmp    %ecx,0x70(%esi)
540aea:	7f 12                	jg     0x540afe
540aec:	6a 00                	push   $0x0
540aee:	53                   	push   %ebx
540aef:	6a 00                	push   $0x0
540af1:	6a 0b                	push   $0xb
540af3:	56                   	push   %esi
540af4:	e8 07 5a fc ff       	call   0x506500
540af9:	83 c4 14             	add    $0x14,%esp
540afc:	eb 2f                	jmp    0x540b2d
540afe:	8d 41 01             	lea    0x1(%ecx),%eax
540b01:	89 46 6c             	mov    %eax,0x6c(%esi)
540b04:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
540b07:	8b 46 68             	mov    0x68(%esi),%eax
540b0a:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
540b11:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
540b18:	00
540b19:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
540b1d:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
540b24:	00
540b25:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
540b2c:	00
540b2d:	8b 4e 0c             	mov    0xc(%esi),%ecx
540b30:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
540b36:	f7 d2                	not    %edx
540b38:	8b 41 3c             	mov    0x3c(%ecx),%eax
540b3b:	03 41 38             	add    0x38(%ecx),%eax
540b3e:	79 0d                	jns    0x540b4d
540b40:	52                   	push   %edx
540b41:	56                   	push   %esi
540b42:	51                   	push   %ecx
540b43:	e8 58 2c fd ff       	call   0x5137a0
540b48:	83 c4 0c             	add    $0xc,%esp
540b4b:	eb 09                	jmp    0x540b56
540b4d:	8b 49 40             	mov    0x40(%ecx),%ecx
540b50:	8b 46 6c             	mov    0x6c(%esi),%eax
540b53:	89 04 91             	mov    %eax,(%ecx,%edx,4)
540b56:	8b 45 9c             	mov    -0x64(%ebp),%eax
540b59:	80 78 12 00          	cmpb   $0x0,0x12(%eax)
540b5d:	75 1e                	jne    0x540b7d
540b5f:	83 78 78 00          	cmpl   $0x0,0x78(%eax)
540b63:	75 18                	jne    0x540b7d
540b65:	8b 8d 2c ff ff ff    	mov    -0xd4(%ebp),%ecx
540b6b:	85 c9                	test   %ecx,%ecx
540b6d:	75 0e                	jne    0x540b7d
540b6f:	39 48 70             	cmp    %ecx,0x70(%eax)
540b72:	74 09                	je     0x540b7d
540b74:	50                   	push   %eax
540b75:	e8 96 31 fb ff       	call   0x4f3d10
540b7a:	83 c4 04             	add    $0x4,%esp
540b7d:	8b 95 e4 fe ff ff    	mov    -0x11c(%ebp),%edx
540b83:	85 d2                	test   %edx,%edx
540b85:	0f 84 9b 00 00 00    	je     0x540c26
540b8b:	8b 4e 6c             	mov    0x6c(%esi),%ecx
540b8e:	39 4e 70             	cmp    %ecx,0x70(%esi)
540b91:	7f 12                	jg     0x540ba5
540b93:	6a 00                	push   $0x0
540b95:	6a 01                	push   $0x1
540b97:	52                   	push   %edx
540b98:	6a 50                	push   $0x50
540b9a:	56                   	push   %esi
540b9b:	e8 60 59 fc ff       	call   0x506500
540ba0:	83 c4 14             	add    $0x14,%esp
540ba3:	eb 2f                	jmp    0x540bd4
540ba5:	8d 41 01             	lea    0x1(%ecx),%eax
540ba8:	89 46 6c             	mov    %eax,0x6c(%esi)
540bab:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
540bae:	8b 46 68             	mov    0x68(%esi),%eax
540bb1:	c7 04 88 50 00 00 00 	movl   $0x50,(%eax,%ecx,4)
540bb8:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
540bbc:	c7 44 88 08 01 00 00 	movl   $0x1,0x8(%eax,%ecx,4)
540bc3:	00
540bc4:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
540bcb:	00
540bcc:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
540bd3:	00
540bd4:	6a 01                	push   $0x1
540bd6:	56                   	push   %esi
540bd7:	e8 e4 c3 00 00       	call   0x54cfc0
540bdc:	8b 06                	mov    (%esi),%eax
540bde:	83 c4 08             	add    $0x8,%esp
540be1:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
540be5:	75 3f                	jne    0x540c26
540be7:	8b 76 74             	mov    0x74(%esi),%esi
540bea:	b8 00 24 00 00       	mov    $0x2400,%eax
540bef:	66 85 46 08          	test   %ax,0x8(%esi)
540bf3:	75 06                	jne    0x540bfb
540bf5:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
540bf9:	74 09                	je     0x540c04
540bfb:	56                   	push   %esi
540bfc:	e8 0f a2 01 00       	call   0x55ae10
540c01:	83 c4 04             	add    $0x4,%esp
540c04:	b8 02 0a 00 00       	mov    $0xa02,%eax
540c09:	c7 46 10 c0 b5 6b 00 	movl   $0x6bb5c0,0x10(%esi)
540c10:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
540c17:	c7 46 0c 0c 00 00 00 	movl   $0xc,0xc(%esi)
540c1e:	66 89 46 08          	mov    %ax,0x8(%esi)
540c22:	c6 46 0a 01          	movb   $0x1,0xa(%esi)
540c26:	8b 7d 84             	mov    -0x7c(%ebp),%edi
540c29:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
540c2f:	8b 75 88             	mov    -0x78(%ebp),%esi
540c32:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
540c38:	85 c9                	test   %ecx,%ecx
540c3a:	74 0c                	je     0x540c48
540c3c:	8b 85 dc fe ff ff    	mov    -0x124(%ebp),%eax
540c42:	89 81 f0 00 00 00    	mov    %eax,0xf0(%ecx)
540c48:	85 ff                	test   %edi,%edi
540c4a:	0f 84 a9 00 00 00    	je     0x540cf9
540c50:	85 db                	test   %ebx,%ebx
540c52:	74 50                	je     0x540ca4
540c54:	83 bb f8 01 00 00 00 	cmpl   $0x0,0x1f8(%ebx)
540c5b:	74 0f                	je     0x540c6c
540c5d:	57                   	push   %edi
540c5e:	53                   	push   %ebx
540c5f:	e8 0c 88 fc ff       	call   0x509470
540c64:	83 c4 08             	add    $0x8,%esp
540c67:	e9 8d 00 00 00       	jmp    0x540cf9
540c6c:	3b bb 4c 01 00 00    	cmp    0x14c(%ebx),%edi
540c72:	73 30                	jae    0x540ca4
540c74:	3b bb 44 01 00 00    	cmp    0x144(%ebx),%edi
540c7a:	72 10                	jb     0x540c8c
540c7c:	8b 83 40 01 00 00    	mov    0x140(%ebx),%eax
540c82:	89 07                	mov    %eax,(%edi)
540c84:	89 bb 40 01 00 00    	mov    %edi,0x140(%ebx)
540c8a:	eb 6d                	jmp    0x540cf9
540c8c:	3b bb 48 01 00 00    	cmp    0x148(%ebx),%edi
540c92:	72 10                	jb     0x540ca4
540c94:	8b 83 38 01 00 00    	mov    0x138(%ebx),%eax
540c9a:	89 07                	mov    %eax,(%edi)
540c9c:	89 bb 38 01 00 00    	mov    %edi,0x138(%ebx)
540ca2:	eb 55                	jmp    0x540cf9
540ca4:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810