57e588:	ff 77 0c             	push   0xc(%edi)
57e58b:	8b 40 14             	mov    0x14(%eax),%eax
57e58e:	51                   	push   %ecx
57e58f:	ff 77 14             	push   0x14(%edi)
57e592:	53                   	push   %ebx
57e593:	85 c0                	test   %eax,%eax
57e595:	74 08                	je     0x57e59f
57e597:	57                   	push   %edi
57e598:	ff d0                	call   *%eax
57e59a:	83 c4 1c             	add    $0x1c,%esp
57e59d:	eb 08                	jmp    0x57e5a7
57e59f:	e8 6c 08 ff ff       	call   0x56ee10
57e5a4:	83 c4 18             	add    $0x18,%esp
57e5a7:	85 c0                	test   %eax,%eax
57e5a9:	0f 84 aa fe ff ff    	je     0x57e459
57e5af:	55                   	push   %ebp
57e5b0:	ff 77 10             	push   0x10(%edi)
57e5b3:	53                   	push   %ebx
57e5b4:	53                   	push   %ebx
57e5b5:	6a 00                	push   $0x0
57e5b7:	e8 e4 1d ff ff       	call   0x5703a0
57e5bc:	83 c4 14             	add    $0x14,%esp
57e5bf:	85 c0                	test   %eax,%eax
57e5c1:	0f 84 92 fe ff ff    	je     0x57e459
57e5c7:	55                   	push   %ebp
57e5c8:	ff 77 10             	push   0x10(%edi)
57e5cb:	8d 44 24 2c          	lea    0x2c(%esp),%eax
57e5cf:	50                   	push   %eax
57e5d0:	6a 00                	push   $0x0
57e5d2:	e8 b9 ac f5 ff       	call   0x4d9290
57e5d7:	8b f8                	mov    %eax,%edi
57e5d9:	83 c4 10             	add    $0x10,%esp
57e5dc:	85 ff                	test   %edi,%edi
57e5de:	0f 84 75 fe ff ff    	je     0x57e459
57e5e4:	8b 74 24 44          	mov    0x44(%esp),%esi
57e5e8:	8b 0e                	mov    (%esi),%ecx
57e5ea:	85 c9                	test   %ecx,%ecx
57e5ec:	74 09                	je     0x57e5f7
57e5ee:	51                   	push   %ecx
57e5ef:	e8 7c 47 f3 ff       	call   0x4b2d70
57e5f4:	83 c4 04             	add    $0x4,%esp
57e5f7:	89 3e                	mov    %edi,(%esi)
57e5f9:	8b 74 24 48          	mov    0x48(%esp),%esi
57e5fd:	8b 06                	mov    (%esi),%eax
57e5ff:	85 c0                	test   %eax,%eax
57e601:	74 09                	je     0x57e60c
57e603:	50                   	push   %eax
57e604:	e8 67 47 f3 ff       	call   0x4b2d70
57e609:	83 c4 04             	add    $0x4,%esp
57e60c:	89 1e                	mov    %ebx,(%esi)
57e60e:	bb 01 00 00 00       	mov    $0x1,%ebx
57e613:	e9 68 fe ff ff       	jmp    0x57e480
57e618:	68 e6 00 00 00       	push   $0xe6
57e61d:	68 6c 2e 6c 00       	push   $0x6c2e6c
57e622:	6a 65                	push   $0x65
57e624:	6a 6b                	push   $0x6b
57e626:	6a 0a                	push   $0xa
57e628:	e8 73 2e f2 ff       	call   0x4a14a0
57e62d:	83 c4 14             	add    $0x14,%esp
57e630:	33 c0                	xor    %eax,%eax
57e632:	5f                   	pop    %edi
57e633:	5b                   	pop    %ebx
57e634:	83 c4 28             	add    $0x28,%esp
57e637:	c3                   	ret
57e638:	cc                   	int3
57e639:	cc                   	int3
57e63a:	cc                   	int3
57e63b:	cc                   	int3
57e63c:	cc                   	int3
57e63d:	cc                   	int3
57e63e:	cc                   	int3
57e63f:	cc                   	int3
57e640:	b8 3c 00 00 00       	mov    $0x3c,%eax
57e645:	e8 a6 2e 06 00       	call   0x5e14f0
57e64a:	56                   	push   %esi
57e64b:	8b 74 24 50          	mov    0x50(%esp),%esi
57e64f:	57                   	push   %edi
57e650:	83 cf ff             	or     $0xffffffff,%edi
57e653:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
57e657:	0f 84 74 02 00 00    	je     0x57e8d1
57e65d:	8b 46 10             	mov    0x10(%esi),%eax
57e660:	85 c0                	test   %eax,%eax
57e662:	0f 84 69 02 00 00    	je     0x57e8d1
57e668:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
57e66c:	0f 84 5f 02 00 00    	je     0x57e8d1
57e672:	55                   	push   %ebp
57e673:	50                   	push   %eax
57e674:	e8 f7 4c f3 ff       	call   0x4b3370
57e679:	8b e8                	mov    %eax,%ebp
57e67b:	83 c4 04             	add    $0x4,%esp
57e67e:	81 fd a0 00 00 00    	cmp    $0xa0,%ebp
57e684:	74 32                	je     0x57e6b8
57e686:	81 fd e0 00 00 00    	cmp    $0xe0,%ebp
57e68c:	74 2a                	je     0x57e6b8
57e68e:	81 fd 00 01 00 00    	cmp    $0x100,%ebp
57e694:	74 22                	je     0x57e6b8
57e696:	68 4f 01 00 00       	push   $0x14f
57e69b:	68 6c 2e 6c 00       	push   $0x6c2e6c
57e6a0:	6a 66                	push   $0x66
57e6a2:	6a 71                	push   $0x71
57e6a4:	6a 0a                	push   $0xa
57e6a6:	e8 f5 2d f2 ff       	call   0x4a14a0
57e6ab:	83 c4 14             	add    $0x14,%esp
57e6ae:	83 c8 ff             	or     $0xffffffff,%eax
57e6b1:	5d                   	pop    %ebp
57e6b2:	5f                   	pop    %edi
57e6b3:	5e                   	pop    %esi
57e6b4:	83 c4 3c             	add    $0x3c,%esp
57e6b7:	c3                   	ret
57e6b8:	ff 76 0c             	push   0xc(%esi)
57e6bb:	e8 b0 4c f3 ff       	call   0x4b3370
57e6c0:	83 c4 04             	add    $0x4,%esp
57e6c3:	3d 10 27 00 00       	cmp    $0x2710,%eax
57e6c8:	7e 0e                	jle    0x57e6d8
57e6ca:	68 54 01 00 00       	push   $0x154
57e6cf:	68 6c 2e 6c 00       	push   $0x6c2e6c
57e6d4:	6a 67                	push   $0x67
57e6d6:	eb ca                	jmp    0x57e6a2
57e6d8:	8d 44 24 0c          	lea    0xc(%esp),%eax
57e6dc:	53                   	push   %ebx
57e6dd:	50                   	push   %eax
57e6de:	e8 3d 4b f3 ff       	call   0x4b3220
57e6e3:	8d 44 24 28          	lea    0x28(%esp),%eax
57e6e7:	50                   	push   %eax
57e6e8:	e8 33 4b f3 ff       	call   0x4b3220
57e6ed:	8d 44 24 40          	lea    0x40(%esp),%eax
57e6f1:	50                   	push   %eax
57e6f2:	e8 29 4b f3 ff       	call   0x4b3220
57e6f7:	83 c4 0c             	add    $0xc,%esp
57e6fa:	e8 21 97 f5 ff       	call   0x4d7e20
57e6ff:	8b d8                	mov    %eax,%ebx
57e701:	85 db                	test   %ebx,%ebx
57e703:	0f 84 ef 00 00 00    	je     0x57e7f8
57e709:	8b 44 24 58          	mov    0x58(%esp),%eax
57e70d:	8b 00                	mov    (%eax),%eax
57e70f:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
57e713:	0f 84 b1 01 00 00    	je     0x57e8ca
57e719:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
57e71d:	0f 85 a7 01 00 00    	jne    0x57e8ca
57e723:	ff 76 10             	push   0x10(%esi)
57e726:	50                   	push   %eax
57e727:	e8 24 4e f3 ff       	call   0x4b3550
57e72c:	83 c4 08             	add    $0x8,%esp
57e72f:	85 c0                	test   %eax,%eax
57e731:	0f 89 93 01 00 00    	jns    0x57e8ca
57e737:	8b 44 24 58          	mov    0x58(%esp),%eax
57e73b:	8b 40 04             	mov    0x4(%eax),%eax
57e73e:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
57e742:	0f 84 82 01 00 00    	je     0x57e8ca
57e748:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
57e74c:	0f 85 78 01 00 00    	jne    0x57e8ca
57e752:	ff 76 10             	push   0x10(%esi)
57e755:	50                   	push   %eax
57e756:	e8 f5 4d f3 ff       	call   0x4b3550
57e75b:	83 c4 08             	add    $0x8,%esp
57e75e:	85 c0                	test   %eax,%eax
57e760:	0f 89 64 01 00 00    	jns    0x57e8ca
57e766:	8b 44 24 58          	mov    0x58(%esp),%eax
57e76a:	53                   	push   %ebx
57e76b:	ff 76 10             	push   0x10(%esi)
57e76e:	ff 70 04             	push   0x4(%eax)
57e771:	8d 44 24 30          	lea    0x30(%esp),%eax
57e775:	50                   	push   %eax
57e776:	e8 15 ab f5 ff       	call   0x4d9290
57e77b:	83 c4 10             	add    $0x10,%esp
57e77e:	85 c0                	test   %eax,%eax
57e780:	74 76                	je     0x57e7f8
57e782:	8b 44 24 54          	mov    0x54(%esp),%eax
57e786:	8d 4c 24 10          	lea    0x10(%esp),%ecx
57e78a:	c1 fd 03             	sar    $0x3,%ebp
57e78d:	3b c5                	cmp    %ebp,%eax
57e78f:	51                   	push   %ecx
57e790:	0f 4f c5             	cmovg  %ebp,%eax
57e793:	50                   	push   %eax
57e794:	ff 74 24 58          	push   0x58(%esp)
57e798:	e8 73 44 f3 ff       	call   0x4b2c10
57e79d:	83 c4 0c             	add    $0xc,%esp
57e7a0:	85 c0                	test   %eax,%eax
57e7a2:	74 54                	je     0x57e7f8
57e7a4:	53                   	push   %ebx
57e7a5:	ff 76 10             	push   0x10(%esi)
57e7a8:	8d 44 24 2c          	lea    0x2c(%esp),%eax
57e7ac:	50                   	push   %eax
57e7ad:	8d 44 24 1c          	lea    0x1c(%esp),%eax
57e7b1:	50                   	push   %eax
57e7b2:	50                   	push   %eax
57e7b3:	e8 28 04 ff ff       	call   0x56ebe0
57e7b8:	83 c4 14             	add    $0x14,%esp
57e7bb:	85 c0                	test   %eax,%eax
57e7bd:	74 39                	je     0x57e7f8
57e7bf:	8b 6c 24 58          	mov    0x58(%esp),%ebp
57e7c3:	8d 44 24 24          	lea    0x24(%esp),%eax
57e7c7:	53                   	push   %ebx
57e7c8:	ff 76 10             	push   0x10(%esi)
57e7cb:	50                   	push   %eax
57e7cc:	ff 75 00             	push   0x0(%ebp)
57e7cf:	50                   	push   %eax
57e7d0:	e8 0b 04 ff ff       	call   0x56ebe0
57e7d5:	83 c4 14             	add    $0x14,%esp
57e7d8:	85 c0                	test   %eax,%eax
57e7da:	74 1c                	je     0x57e7f8
57e7dc:	f6 46 28 01          	testb  $0x1,0x28(%esi)
57e7e0:	74 66                	je     0x57e848
57e7e2:	53                   	push   %ebx
57e7e3:	ff 76 0c             	push   0xc(%esi)
57e7e6:	8d 46 2c             	lea    0x2c(%esi),%eax
57e7e9:	6a 08                	push   $0x8
57e7eb:	50                   	push   %eax
57e7ec:	e8 7f 23 ff ff       	call   0x570b70
57e7f1:	83 c4 10             	add    $0x10,%esp
57e7f4:	85 c0                	test   %eax,%eax
57e7f6:	75 52                	jne    0x57e84a
57e7f8:	68 97 01 00 00       	push   $0x197
57e7fd:	68 6c 2e 6c 00       	push   $0x6c2e6c
57e802:	6a 03                	push   $0x3
57e804:	6a 71                	push   $0x71
57e806:	6a 0a                	push   $0xa
57e808:	e8 93 2c f2 ff       	call   0x4a14a0
57e80d:	83 c4 14             	add    $0x14,%esp
57e810:	85 db                	test   %ebx,%ebx
57e812:	74 09                	je     0x57e81d
57e814:	53                   	push   %ebx
57e815:	e8 76 95 f5 ff       	call   0x4d7d90
57e81a:	83 c4 04             	add    $0x4,%esp
57e81d:	8d 44 24 10          	lea    0x10(%esp),%eax
57e821:	50                   	push   %eax
57e822:	e8 b9 49 f3 ff       	call   0x4b31e0
57e827:	8d 44 24 28          	lea    0x28(%esp),%eax
57e82b:	50                   	push   %eax
57e82c:	e8 af 49 f3 ff       	call   0x4b31e0
57e831:	8d 44 24 40          	lea    0x40(%esp),%eax
57e835:	50                   	push   %eax
57e836:	e8 a5 49 f3 ff       	call   0x4b31e0
57e83b:	83 c4 0c             	add    $0xc,%esp
57e83e:	8b c7                	mov    %edi,%eax
57e840:	5b                   	pop    %ebx
57e841:	5d                   	pop    %ebp
57e842:	5f                   	pop    %edi
57e843:	5e                   	pop    %esi
57e844:	83 c4 3c             	add    $0x3c,%esp
57e847:	c3                   	ret
57e848:	33 c0                	xor    %eax,%eax
57e84a:	8b 4e 3c             	mov    0x3c(%esi),%ecx
57e84d:	50                   	push   %eax
57e84e:	53                   	push   %ebx
57e84f:	ff 76 0c             	push   0xc(%esi)
57e852:	8b 49 10             	mov    0x10(%ecx),%ecx
57e855:	8d 44 24 30          	lea    0x30(%esp),%eax
57e859:	50                   	push   %eax
57e85a:	8d 44 24 20          	lea    0x20(%esp),%eax
57e85e:	ff 76 18             	push   0x18(%esi)
57e861:	50                   	push   %eax
57e862:	8d 44 24 50          	lea    0x50(%esp),%eax
57e866:	ff 76 14             	push   0x14(%esi)
57e869:	50                   	push   %eax
57e86a:	85 c9                	test   %ecx,%ecx
57e86c:	74 08                	je     0x57e876
57e86e:	56                   	push   %esi
57e86f:	ff d1                	call   *%ecx
57e871:	83 c4 24             	add    $0x24,%esp
57e874:	eb 08                	jmp    0x57e87e
57e876:	e8 b5 2b 01 00       	call   0x591430
57e87b:	83 c4 20             	add    $0x20,%esp
57e87e:	85 c0                	test   %eax,%eax
57e880:	0f 84 72 ff ff ff    	je     0x57e7f8
57e886:	53                   	push   %ebx
57e887:	ff 76 10             	push   0x10(%esi)
57e88a:	8d 44 24 40          	lea    0x40(%esp),%eax
57e88e:	50                   	push   %eax
57e88f:	8d 44 24 1c          	lea    0x1c(%esp),%eax
57e893:	50                   	push   %eax
57e894:	6a 00                	push   $0x0
57e896:	e8 05 1b ff ff       	call   0x5703a0
57e89b:	83 c4 14             	add    $0x14,%esp
57e89e:	85 c0                	test   %eax,%eax
57e8a0:	0f 84 52 ff ff ff    	je     0x57e7f8
57e8a6:	ff 75 00             	push   0x0(%ebp)
57e8a9:	8d 44 24 14          	lea    0x14(%esp),%eax
57e8ad:	50                   	push   %eax
57e8ae:	e8 9d 4c f3 ff       	call   0x4b3550
57e8b3:	83 c4 08             	add    $0x8,%esp
57e8b6:	8b f8                	mov    %eax,%edi
57e8b8:	f7 df                	neg    %edi
57e8ba:	1b ff                	sbb    %edi,%edi
57e8bc:	83 c7 01             	add    $0x1,%edi
57e8bf:	0f 89 4b ff ff ff    	jns    0x57e810
57e8c5:	e9 2e ff ff ff       	jmp    0x57e7f8
57e8ca:	33 ff                	xor    %edi,%edi
57e8cc:	e9 3f ff ff ff       	jmp    0x57e810
57e8d1:	68 48 01 00 00       	push   $0x148
57e8d6:	68 6c 2e 6c 00       	push   $0x6c2e6c
57e8db:	6a 65                	push   $0x65
57e8dd:	6a 71                	push   $0x71
57e8df:	6a 0a                	push   $0xa
57e8e1:	e8 ba 2b f2 ff       	call   0x4a14a0
57e8e6:	83 c4 14             	add    $0x14,%esp
57e8e9:	83 c8 ff             	or     $0xffffffff,%eax
57e8ec:	5f                   	pop    %edi
57e8ed:	5e                   	pop    %esi
57e8ee:	83 c4 3c             	add    $0x3c,%esp
57e8f1:	c3                   	ret
57e8f2:	cc                   	int3
57e8f3:	cc                   	int3
57e8f4:	cc                   	int3
57e8f5:	cc                   	int3
57e8f6:	cc                   	int3
57e8f7:	cc                   	int3
57e8f8:	cc                   	int3
57e8f9:	cc                   	int3
57e8fa:	cc                   	int3
57e8fb:	cc                   	int3
57e8fc:	cc                   	int3
57e8fd:	cc                   	int3
57e8fe:	cc                   	int3
57e8ff:	cc                   	int3
57e900:	8b 44 24 04          	mov    0x4(%esp),%eax
57e904:	83 48 28 01          	orl    $0x1,0x28(%eax)
57e908:	b8 01 00 00 00       	mov    $0x1,%eax
57e90d:	c3                   	ret
57e90e:	cc                   	int3
57e90f:	cc                   	int3
57e910:	8b 44 24 04          	mov    0x4(%esp),%eax
57e914:	8b 40 2c             	mov    0x2c(%eax),%eax
57e917:	85 c0                	test   %eax,%eax
57e919:	74 09                	je     0x57e924
57e91b:	50                   	push   %eax
57e91c:	e8 1f 20 ff ff       	call   0x570940
57e921:	83 c4 04             	add    $0x4,%esp
57e924:	b8 01 00 00 00       	mov    $0x1,%eax
57e929:	c3                   	ret
57e92a:	cc                   	int3
57e92b:	cc                   	int3
57e92c:	cc                   	int3
57e92d:	cc                   	int3
57e92e:	cc                   	int3
57e92f:	cc                   	int3
57e930:	b8 3c 35 72 00       	mov    $0x72353c,%eax
57e935:	c3                   	ret
57e936:	cc                   	int3
57e937:	cc                   	int3
57e938:	cc                   	int3
57e939:	cc                   	int3
57e93a:	cc                   	int3
57e93b:	cc                   	int3
57e93c:	cc                   	int3
57e93d:	cc                   	int3
57e93e:	cc                   	int3
57e93f:	cc                   	int3
57e940:	6a 01                	push   $0x1
57e942:	68 8c 03 73 00       	push   $0x73038c