56a618:	ff 73 d4             	push   -0x2c(%ebx)
56a61b:	57                   	push   %edi
56a61c:	e8 2f 46 fd ff       	call   0x53ec50
56a621:	83 c4 38             	add    $0x38,%esp
56a624:	e9 94 0f 00 00       	jmp    0x56b5bd
56a629:	ff 73 04             	push   0x4(%ebx)
56a62c:	ff 73 d4             	push   -0x2c(%ebx)
56a62f:	57                   	push   %edi
56a630:	e8 4b cf fb ff       	call   0x527580
56a635:	6a 01                	push   $0x1
56a637:	8d 4b ec             	lea    -0x14(%ebx),%ecx
56a63a:	89 43 d4             	mov    %eax,-0x2c(%ebx)
56a63d:	51                   	push   %ecx
56a63e:	50                   	push   %eax
56a63f:	57                   	push   %edi
56a640:	e8 1b d4 fb ff       	call   0x527a60
56a645:	83 c4 1c             	add    $0x1c,%esp
56a648:	e9 70 0f 00 00       	jmp    0x56b5bd
56a64d:	ff 73 04             	push   0x4(%ebx)
56a650:	ff 73 e0             	push   -0x20(%ebx)
56a653:	ff 73 bc             	push   -0x44(%ebx)
56a656:	57                   	push   %edi
56a657:	e8 e4 cf fb ff       	call   0x527640
56a65c:	83 c4 10             	add    $0x10,%esp
56a65f:	89 43 bc             	mov    %eax,-0x44(%ebx)
56a662:	e9 56 0f 00 00       	jmp    0x56b5bd
56a667:	ff 73 04             	push   0x4(%ebx)
56a66a:	6a 00                	push   $0x0
56a66c:	57                   	push   %edi
56a66d:	e8 0e cf fb ff       	call   0x527580
56a672:	6a 01                	push   $0x1
56a674:	8d 73 ec             	lea    -0x14(%ebx),%esi
56a677:	8b f8                	mov    %eax,%edi
56a679:	56                   	push   %esi
56a67a:	57                   	push   %edi
56a67b:	ff 75 f0             	push   -0x10(%ebp)
56a67e:	e8 dd d3 fb ff       	call   0x527a60
56a683:	83 c4 1c             	add    $0x1c,%esp
56a686:	89 3e                	mov    %edi,(%esi)
56a688:	e9 30 0f 00 00       	jmp    0x56b5bd
56a68d:	ff 73 04             	push   0x4(%ebx)
56a690:	ff 73 e0             	push   -0x20(%ebx)
56a693:	6a 00                	push   $0x0
56a695:	57                   	push   %edi
56a696:	e8 a5 cf fb ff       	call   0x527640
56a69b:	83 c4 10             	add    $0x10,%esp
56a69e:	e9 17 0f 00 00       	jmp    0x56b5ba
56a6a3:	ff 73 04             	push   0x4(%ebx)
56a6a6:	ff 73 c8             	push   -0x38(%ebx)
56a6a9:	ff 73 ec             	push   -0x14(%ebx)
56a6ac:	ff 73 f8             	push   -0x8(%ebx)
56a6af:	ff 73 e0             	push   -0x20(%ebx)
56a6b2:	57                   	push   %edi
56a6b3:	e8 28 41 fc ff       	call   0x52e7e0
56a6b8:	83 c4 18             	add    $0x18,%esp
56a6bb:	e9 fd 0e 00 00       	jmp    0x56b5bd
56a6c0:	6a 00                	push   $0x0
56a6c2:	ff 73 c8             	push   -0x38(%ebx)
56a6c5:	ff 73 ec             	push   -0x14(%ebx)
56a6c8:	6a 00                	push   $0x0
56a6ca:	ff 73 e0             	push   -0x20(%ebx)
56a6cd:	57                   	push   %edi
56a6ce:	e8 0d 41 fc ff       	call   0x52e7e0
56a6d3:	83 c4 18             	add    $0x18,%esp
56a6d6:	e9 e2 0e 00 00       	jmp    0x56b5bd
56a6db:	ff 73 04             	push   0x4(%ebx)
56a6de:	ff 73 f8             	push   -0x8(%ebx)
56a6e1:	ff 73 c8             	push   -0x38(%ebx)
56a6e4:	ff 73 b0             	push   -0x50(%ebx)
56a6e7:	ff 37                	push   (%edi)
56a6e9:	e8 42 6c fd ff       	call   0x541330
56a6ee:	83 c4 14             	add    $0x14,%esp
56a6f1:	89 43 8c             	mov    %eax,-0x74(%ebx)
56a6f4:	e9 c4 0e 00 00       	jmp    0x56b5bd
56a6f9:	6a 00                	push   $0x0
56a6fb:	6a 00                	push   $0x0
56a6fd:	ff 73 ec             	push   -0x14(%ebx)
56a700:	ff 73 d4             	push   -0x2c(%ebx)
56a703:	ff 37                	push   (%edi)
56a705:	e8 26 6c fd ff       	call   0x541330
56a70a:	83 c4 14             	add    $0x14,%esp
56a70d:	89 43 b0             	mov    %eax,-0x50(%ebx)
56a710:	e9 a8 0e 00 00       	jmp    0x56b5bd
56a715:	8b 07                	mov    (%edi),%eax
56a717:	85 c0                	test   %eax,%eax
56a719:	74 0f                	je     0x56a72a
56a71b:	6a 00                	push   $0x0
56a71d:	6a 24                	push   $0x24
56a71f:	50                   	push   %eax
56a720:	e8 bb 6c fb ff       	call   0x5213e0
56a725:	83 c4 0c             	add    $0xc,%esp
56a728:	eb 4f                	jmp    0x56a779
56a72a:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
56a731:	74 3b                	je     0x56a76e
56a733:	a1 90 ff 72 00       	mov    0x72ff90,%eax
56a738:	85 c0                	test   %eax,%eax
56a73a:	74 0a                	je     0x56a746
56a73c:	50                   	push   %eax
56a73d:	ff 15 60 18 72 00    	call   *0x721860
56a743:	83 c4 04             	add    $0x4,%esp
56a746:	8d 45 f0             	lea    -0x10(%ebp),%eax
56a749:	50                   	push   %eax
56a74a:	6a 24                	push   $0x24
56a74c:	e8 af eb f9 ff       	call   0x509300
56a751:	a1 90 ff 72 00       	mov    0x72ff90,%eax
56a756:	83 c4 08             	add    $0x8,%esp
56a759:	85 c0                	test   %eax,%eax
56a75b:	74 0c                	je     0x56a769
56a75d:	50                   	push   %eax
56a75e:	ff 15 68 18 72 00    	call   *0x721868
56a764:	8b 45 f0             	mov    -0x10(%ebp),%eax
56a767:	eb 0d                	jmp    0x56a776
56a769:	8b 45 f0             	mov    -0x10(%ebp),%eax
56a76c:	eb 0b                	jmp    0x56a779
56a76e:	6a 24                	push   $0x24
56a770:	ff 15 30 18 72 00    	call   *0x721830
56a776:	83 c4 04             	add    $0x4,%esp
56a779:	85 c0                	test   %eax,%eax
56a77b:	75 08                	jne    0x56a785
56a77d:	89 43 e0             	mov    %eax,-0x20(%ebx)
56a780:	e9 38 0e 00 00       	jmp    0x56b5bd
56a785:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
56a78b:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
56a792:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
56a799:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
56a7a0:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
56a7a7:	89 43 e0             	mov    %eax,-0x20(%ebx)
56a7aa:	e9 0e 0e 00 00       	jmp    0x56b5bd
56a7af:	8b 43 f8             	mov    -0x8(%ebx),%eax
56a7b2:	89 43 ec             	mov    %eax,-0x14(%ebx)
56a7b5:	e9 03 0e 00 00       	jmp    0x56b5bd
56a7ba:	8d 43 04             	lea    0x4(%ebx),%eax
56a7bd:	50                   	push   %eax
56a7be:	ff 73 ec             	push   -0x14(%ebx)
56a7c1:	57                   	push   %edi
56a7c2:	e8 a9 34 fc ff       	call   0x52dc70
56a7c7:	83 c4 0c             	add    $0xc,%esp
56a7ca:	89 43 ec             	mov    %eax,-0x14(%ebx)
56a7cd:	e9 eb 0d 00 00       	jmp    0x56b5bd
56a7d2:	8d 73 04             	lea    0x4(%ebx),%esi
56a7d5:	56                   	push   %esi
56a7d6:	6a 00                	push   $0x0
56a7d8:	57                   	push   %edi
56a7d9:	e8 92 34 fc ff       	call   0x52dc70
56a7de:	83 c4 0c             	add    $0xc,%esp
56a7e1:	89 06                	mov    %eax,(%esi)
56a7e3:	e9 d5 0d 00 00       	jmp    0x56b5bd
56a7e8:	ff 73 08             	push   0x8(%ebx)
56a7eb:	ff 73 04             	push   0x4(%ebx)
56a7ee:	6a 3b                	push   $0x3b
56a7f0:	57                   	push   %edi
56a7f1:	e8 1a df fe ff       	call   0x558710
56a7f6:	83 c4 10             	add    $0x10,%esp
56a7f9:	89 43 04             	mov    %eax,0x4(%ebx)
56a7fc:	e9 bc 0d 00 00       	jmp    0x56b5bd
56a801:	6a 01                	push   $0x1
56a803:	8d 73 ec             	lea    -0x14(%ebx),%esi
56a806:	56                   	push   %esi
56a807:	6a 3b                	push   $0x3b
56a809:	ff 37                	push   (%edi)
56a80b:	e8 60 8e fb ff       	call   0x523670
56a810:	89 45 f0             	mov    %eax,-0x10(%ebp)
56a813:	8d 43 04             	lea    0x4(%ebx),%eax
56a816:	6a 01                	push   $0x1
56a818:	50                   	push   %eax
56a819:	6a 3b                	push   $0x3b
56a81b:	ff 37                	push   (%edi)
56a81d:	e8 4e 8e fb ff       	call   0x523670
56a822:	83 c4 20             	add    $0x20,%esp
56a825:	89 45 ec             	mov    %eax,-0x14(%ebp)
56a828:	80 bf c8 00 00 00 02 	cmpb   $0x2,0xc8(%edi)
56a82f:	72 1b                	jb     0x56a84c
56a831:	8d 4b 04             	lea    0x4(%ebx),%ecx
56a834:	51                   	push   %ecx
56a835:	50                   	push   %eax
56a836:	57                   	push   %edi
56a837:	e8 14 d6 fc ff       	call   0x537e50
56a83c:	56                   	push   %esi
56a83d:	ff 75 f0             	push   -0x10(%ebp)
56a840:	57                   	push   %edi
56a841:	e8 0a d6 fc ff       	call   0x537e50
56a846:	8b 45 ec             	mov    -0x14(%ebp),%eax
56a849:	83 c4 18             	add    $0x18,%esp
56a84c:	50                   	push   %eax
56a84d:	ff 75 f0             	push   -0x10(%ebp)
56a850:	68 8b 00 00 00       	push   $0x8b
56a855:	57                   	push   %edi
56a856:	e8 b5 77 fc ff       	call   0x532010
56a85b:	83 c4 10             	add    $0x10,%esp
56a85e:	89 06                	mov    %eax,(%esi)
56a860:	e9 58 0d 00 00       	jmp    0x56b5bd
56a865:	6a 01                	push   $0x1
56a867:	8d 73 d4             	lea    -0x2c(%ebx),%esi
56a86a:	56                   	push   %esi
56a86b:	6a 3b                	push   $0x3b
56a86d:	ff 37                	push   (%edi)
56a86f:	e8 fc 8d fb ff       	call   0x523670
56a874:	89 45 f8             	mov    %eax,-0x8(%ebp)
56a877:	8d 43 ec             	lea    -0x14(%ebx),%eax
56a87a:	6a 01                	push   $0x1
56a87c:	50                   	push   %eax
56a87d:	6a 3b                	push   $0x3b
56a87f:	ff 37                	push   (%edi)
56a881:	e8 ea 8d fb ff       	call   0x523670
56a886:	89 45 f0             	mov    %eax,-0x10(%ebp)
56a889:	8d 43 04             	lea    0x4(%ebx),%eax
56a88c:	6a 01                	push   $0x1
56a88e:	50                   	push   %eax
56a88f:	6a 3b                	push   $0x3b
56a891:	ff 37                	push   (%edi)
56a893:	e8 d8 8d fb ff       	call   0x523670
56a898:	50                   	push   %eax
56a899:	ff 75 f0             	push   -0x10(%ebp)
56a89c:	89 45 ec             	mov    %eax,-0x14(%ebp)
56a89f:	68 8b 00 00 00       	push   $0x8b
56a8a4:	57                   	push   %edi
56a8a5:	e8 66 77 fc ff       	call   0x532010
56a8aa:	83 c4 40             	add    $0x40,%esp
56a8ad:	89 45 e8             	mov    %eax,-0x18(%ebp)
56a8b0:	80 bf c8 00 00 00 02 	cmpb   $0x2,0xc8(%edi)
56a8b7:	72 20                	jb     0x56a8d9
56a8b9:	8d 4b 04             	lea    0x4(%ebx),%ecx
56a8bc:	51                   	push   %ecx
56a8bd:	ff 75 ec             	push   -0x14(%ebp)
56a8c0:	57                   	push   %edi
56a8c1:	e8 8a d5 fc ff       	call   0x537e50
56a8c6:	8d 4b ec             	lea    -0x14(%ebx),%ecx
56a8c9:	51                   	push   %ecx
56a8ca:	ff 75 f0             	push   -0x10(%ebp)
56a8cd:	57                   	push   %edi
56a8ce:	e8 7d d5 fc ff       	call   0x537e50
56a8d3:	8b 45 e8             	mov    -0x18(%ebp),%eax
56a8d6:	83 c4 18             	add    $0x18,%esp
56a8d9:	50                   	push   %eax
56a8da:	ff 75 f8             	push   -0x8(%ebp)
56a8dd:	e9 6e ff ff ff       	jmp    0x56a850
56a8e2:	ff 73 08             	push   0x8(%ebx)
56a8e5:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
56a8e9:	ff 73 04             	push   0x4(%ebx)
56a8ec:	50                   	push   %eax
56a8ed:	57                   	push   %edi
56a8ee:	e8 1d de fe ff       	call   0x558710
56a8f3:	83 c4 10             	add    $0x10,%esp
56a8f6:	89 43 04             	mov    %eax,0x4(%ebx)
56a8f9:	e9 bf 0c 00 00       	jmp    0x56b5bd
56a8fe:	6a 01                	push   $0x1
56a900:	8d 73 04             	lea    0x4(%ebx),%esi
56a903:	56                   	push   %esi
56a904:	68 98 00 00 00       	push   $0x98
56a909:	ff 37                	push   (%edi)
56a90b:	e8 60 8d fb ff       	call   0x523670
56a910:	83 c4 10             	add    $0x10,%esp
56a913:	89 06                	mov    %eax,(%esi)
56a915:	e9 a3 0c 00 00       	jmp    0x56b5bd
56a91a:	8b 43 04             	mov    0x4(%ebx),%eax
56a91d:	80 38 23             	cmpb   $0x23,(%eax)
56a920:	75 70                	jne    0x56a992
56a922:	0f b6 40 01          	movzbl 0x1(%eax),%eax
56a926:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
56a92d:	74 63                	je     0x56a992
56a92f:	80 7f 12 00          	cmpb   $0x0,0x12(%edi)
56a933:	8b 43 04             	mov    0x4(%ebx),%eax
56a936:	89 45 f4             	mov    %eax,-0xc(%ebp)
56a939:	8b 43 08             	mov    0x8(%ebx),%eax
56a93c:	89 45 f8             	mov    %eax,-0x8(%ebp)
56a93f:	75 1e                	jne    0x56a95f
56a941:	8d 45 f4             	lea    -0xc(%ebp),%eax
56a944:	50                   	push   %eax
56a945:	68 fc be 6b 00       	push   $0x6bbefc
56a94a:	57                   	push   %edi
56a94b:	e8 10 89 fb ff       	call   0x523260
56a950:	83 c4 0c             	add    $0xc,%esp
56a953:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
56a95a:	e9 5e 0c 00 00       	jmp    0x56b5bd
56a95f:	6a 00                	push   $0x0
56a961:	6a 00                	push   $0x0
56a963:	68 ad 00 00 00       	push   $0xad
56a968:	57                   	push   %edi
56a969:	e8 a2 76 fc ff       	call   0x532010
56a96e:	83 c4 10             	add    $0x10,%esp
56a971:	89 43 04             	mov    %eax,0x4(%ebx)
56a974:	85 c0                	test   %eax,%eax
56a976:	0f 84 41 0c 00 00    	je     0x56b5bd
56a97c:	83 c0 1c             	add    $0x1c,%eax
56a97f:	50                   	push   %eax
56a980:	8b 45 f4             	mov    -0xc(%ebp),%eax
56a983:	40                   	inc    %eax
56a984:	50                   	push   %eax
56a985:	e8 16 24 fc ff       	call   0x52cda0
56a98a:	83 c4 08             	add    $0x8,%esp
56a98d:	e9 2b 0c 00 00       	jmp    0x56b5bd
56a992:	8b 73 08             	mov    0x8(%ebx),%esi
56a995:	56                   	push   %esi
56a996:	ff 73 04             	push   0x4(%ebx)
56a999:	68 99 00 00 00       	push   $0x99
56a99e:	57                   	push   %edi
56a99f:	e8 6c dd fe ff       	call   0x558710
56a9a4:	56                   	push   %esi
56a9a5:	50                   	push   %eax
56a9a6:	57                   	push   %edi
56a9a7:	89 43 04             	mov    %eax,0x4(%ebx)
56a9aa:	e8 e1 8e fb ff       	call   0x523890
56a9af:	83 c4 1c             	add    $0x1c,%esp
56a9b2:	e9 06 0c 00 00       	jmp    0x56b5bd
56a9b7:	6a 01                	push   $0x1
56a9b9:	8d 43 04             	lea    0x4(%ebx),%eax
56a9bc:	50                   	push   %eax
56a9bd:	ff 73 ec             	push   -0x14(%ebx)
56a9c0:	57                   	push   %edi
56a9c1:	e8 aa 8b fb ff       	call   0x523570
56a9c6:	83 c4 10             	add    $0x10,%esp
56a9c9:	89 43 ec             	mov    %eax,-0x14(%ebx)
56a9cc:	e9 ec 0b 00 00       	jmp    0x56b5bd
56a9d1:	6a 01                	push   $0x1
56a9d3:	8d 43 f8             	lea    -0x8(%ebx),%eax
56a9d6:	50                   	push   %eax
56a9d7:	6a 24                	push   $0x24
56a9d9:	ff 37                	push   (%edi)
56a9db:	e8 90 8c fb ff       	call   0x523670
56a9e0:	8b c8                	mov    %eax,%ecx
56a9e2:	83 c4 10             	add    $0x10,%esp
56a9e5:	8b 43 e0             	mov    -0x20(%ebx),%eax
56a9e8:	89 4b c8             	mov    %ecx,-0x38(%ebx)
56a9eb:	85 c9                	test   %ecx,%ecx
56a9ed:	0f 84 e2 05 00 00    	je     0x56afd5
56a9f3:	85 c0                	test   %eax,%eax
56a9f5:	74 0e                	je     0x56aa05
56a9f7:	89 41 0c             	mov    %eax,0xc(%ecx)
56a9fa:	8b 40 04             	mov    0x4(%eax),%eax
56a9fd:	25 04 01 20 00       	and    $0x200104,%eax
56aa02:	09 41 04             	or     %eax,0x4(%ecx)
56aa05:	51                   	push   %ecx
56aa06:	e8 b5 6c f9 ff       	call   0x5016c0
56aa0b:	83 c4 04             	add    $0x4,%esp
56aa0e:	e9 aa 0b 00 00       	jmp    0x56b5bd
56aa13:	ff 73 ec             	push   -0x14(%ebx)
56aa16:	8d 73 d4             	lea    -0x2c(%ebx),%esi
56aa19:	56                   	push   %esi
56aa1a:	ff 73 f8             	push   -0x8(%ebx)
56aa1d:	57                   	push   %edi
56aa1e:	e8 3d bf fb ff       	call   0x526960
56aa23:	83 c4 10             	add    $0x10,%esp
56aa26:	89 06                	mov    %eax,(%esi)
56aa28:	e9 90 0b 00 00       	jmp    0x56b5bd
56aa2d:	6a 01                	push   $0x1
56aa2f:	8d 43 e0             	lea    -0x20(%ebx),%eax
56aa32:	50                   	push   %eax
56aa33:	68 a9 00 00 00       	push   $0xa9
56aa38:	ff 37                	push   (%edi)
56aa3a:	e8 31 8c fb ff       	call   0x523670