57f431:	e8 4a 9b f5 ff       	call   0x4d8f80
57f436:	83 c4 14             	add    $0x14,%esp
57f439:	5f                   	pop    %edi
57f43a:	33 c0                	xor    %eax,%eax
57f43c:	5e                   	pop    %esi
57f43d:	59                   	pop    %ecx
57f43e:	c3                   	ret
57f43f:	33 c0                	xor    %eax,%eax
57f441:	39 44 24 18          	cmp    %eax,0x18(%esp)
57f445:	0f 95 c0             	setne  %al
57f448:	40                   	inc    %eax
57f449:	89 07                	mov    %eax,(%edi)
57f44b:	89 77 04             	mov    %esi,0x4(%edi)
57f44e:	83 e8 01             	sub    $0x1,%eax
57f451:	74 0d                	je     0x57f460
57f453:	83 e8 01             	sub    $0x1,%eax
57f456:	75 30                	jne    0x57f488
57f458:	56                   	push   %esi
57f459:	e8 f2 25 ff ff       	call   0x571a50
57f45e:	eb 06                	jmp    0x57f466
57f460:	56                   	push   %esi
57f461:	e8 4a 1a fa ff       	call   0x520eb0
57f466:	83 c4 04             	add    $0x4,%esp
57f469:	85 c0                	test   %eax,%eax
57f46b:	75 1b                	jne    0x57f488
57f46d:	68 d7 01 00 00       	push   $0x1d7
57f472:	68 08 b5 65 00       	push   $0x65b508
57f477:	57                   	push   %edi
57f478:	89 07                	mov    %eax,(%edi)
57f47a:	e8 01 13 f6 ff       	call   0x4e0780
57f47f:	83 c4 0c             	add    $0xc,%esp
57f482:	33 c0                	xor    %eax,%eax
57f484:	5f                   	pop    %edi
57f485:	5e                   	pop    %esi
57f486:	59                   	pop    %ecx
57f487:	c3                   	ret
57f488:	53                   	push   %ebx
57f489:	55                   	push   %ebp
57f48a:	8b 6c 24 18          	mov    0x18(%esp),%ebp
57f48e:	ff 75 48             	push   0x48(%ebp)
57f491:	e8 2a 2b f6 ff       	call   0x4e1fc0
57f496:	8b 75 04             	mov    0x4(%ebp),%esi
57f499:	57                   	push   %edi
57f49a:	56                   	push   %esi
57f49b:	89 74 24 28          	mov    %esi,0x28(%esp)
57f49f:	e8 ec 59 f6 ff       	call   0x4e4e90
57f4a4:	8b d8                	mov    %eax,%ebx
57f4a6:	83 c4 0c             	add    $0xc,%esp
57f4a9:	85 db                	test   %ebx,%ebx
57f4ab:	0f 88 c1 00 00 00    	js     0x57f572
57f4b1:	8b 07                	mov    (%edi),%eax
57f4b3:	83 f8 01             	cmp    $0x1,%eax
57f4b6:	74 16                	je     0x57f4ce
57f4b8:	83 f8 02             	cmp    $0x2,%eax
57f4bb:	74 11                	je     0x57f4ce
57f4bd:	53                   	push   %ebx
57f4be:	56                   	push   %esi
57f4bf:	e8 bc 5d f6 ff       	call   0x4e5280
57f4c4:	83 c4 08             	add    $0x8,%esp
57f4c7:	8b f0                	mov    %eax,%esi
57f4c9:	e9 8e 00 00 00       	jmp    0x57f55c
57f4ce:	56                   	push   %esi
57f4cf:	e8 ec 5b f6 ff       	call   0x4e50c0
57f4d4:	8b e8                	mov    %eax,%ebp
57f4d6:	83 c4 04             	add    $0x4,%esp
57f4d9:	3b dd                	cmp    %ebp,%ebx
57f4db:	0f 8d 91 00 00 00    	jge    0x57f572
57f4e1:	53                   	push   %ebx
57f4e2:	56                   	push   %esi
57f4e3:	e8 98 5d f6 ff       	call   0x4e5280
57f4e8:	8b f0                	mov    %eax,%esi
57f4ea:	83 c4 08             	add    $0x8,%esp
57f4ed:	8b 0e                	mov    (%esi),%ecx
57f4ef:	8b c1                	mov    %ecx,%eax
57f4f1:	2b 07                	sub    (%edi),%eax
57f4f3:	75 7d                	jne    0x57f572
57f4f5:	2b c8                	sub    %eax,%ecx
57f4f7:	74 29                	je     0x57f522
57f4f9:	83 e9 01             	sub    $0x1,%ecx
57f4fc:	74 12                	je     0x57f510
57f4fe:	83 e9 01             	sub    $0x1,%ecx
57f501:	75 1f                	jne    0x57f522
57f503:	ff 77 04             	push   0x4(%edi)
57f506:	ff 76 04             	push   0x4(%esi)
57f509:	e8 d2 85 fd ff       	call   0x557ae0
57f50e:	eb 0b                	jmp    0x57f51b
57f510:	ff 77 04             	push   0x4(%edi)
57f513:	ff 76 04             	push   0x4(%esi)
57f516:	e8 45 8c fd ff       	call   0x558160
57f51b:	83 c4 08             	add    $0x8,%esp
57f51e:	85 c0                	test   %eax,%eax
57f520:	75 50                	jne    0x57f572
57f522:	8b 07                	mov    (%edi),%eax
57f524:	83 f8 01             	cmp    $0x1,%eax
57f527:	75 0d                	jne    0x57f536
57f529:	ff 77 04             	push   0x4(%edi)
57f52c:	ff 76 04             	push   0x4(%esi)
57f52f:	e8 dc 8a fd ff       	call   0x558010
57f534:	eb 10                	jmp    0x57f546
57f536:	83 f8 02             	cmp    $0x2,%eax
57f539:	75 1d                	jne    0x57f558
57f53b:	ff 77 04             	push   0x4(%edi)
57f53e:	ff 76 04             	push   0x4(%esi)
57f541:	e8 ba 85 fd ff       	call   0x557b00
57f546:	83 c4 08             	add    $0x8,%esp
57f549:	85 c0                	test   %eax,%eax
57f54b:	74 0b                	je     0x57f558
57f54d:	43                   	inc    %ebx
57f54e:	3b dd                	cmp    %ebp,%ebx
57f550:	7d 20                	jge    0x57f572
57f552:	8b 74 24 1c          	mov    0x1c(%esp),%esi
57f556:	eb 89                	jmp    0x57f4e1
57f558:	8b 6c 24 18          	mov    0x18(%esp),%ebp
57f55c:	85 f6                	test   %esi,%esi
57f55e:	74 12                	je     0x57f572
57f560:	ff 75 48             	push   0x48(%ebp)
57f563:	bb 01 00 00 00       	mov    $0x1,%ebx
57f568:	e8 d3 2a f6 ff       	call   0x4e2040
57f56d:	83 c4 04             	add    $0x4,%esp
57f570:	eb 25                	jmp    0x57f597
57f572:	8b 5c 24 18          	mov    0x18(%esp),%ebx
57f576:	57                   	push   %edi
57f577:	ff 73 04             	push   0x4(%ebx)
57f57a:	e8 d1 5b f6 ff       	call   0x4e5150
57f57f:	ff 73 48             	push   0x48(%ebx)
57f582:	8b f0                	mov    %eax,%esi
57f584:	e8 b7 2a f6 ff       	call   0x4e2040
57f589:	33 db                	xor    %ebx,%ebx
57f58b:	83 c4 0c             	add    $0xc,%esp
57f58e:	85 f6                	test   %esi,%esi
57f590:	0f 95 c3             	setne  %bl
57f593:	85 f6                	test   %esi,%esi
57f595:	75 34                	jne    0x57f5cb
57f597:	8b 07                	mov    (%edi),%eax
57f599:	83 e8 01             	sub    $0x1,%eax
57f59c:	74 0f                	je     0x57f5ad
57f59e:	83 e8 01             	sub    $0x1,%eax
57f5a1:	75 15                	jne    0x57f5b8
57f5a3:	ff 77 04             	push   0x4(%edi)
57f5a6:	e8 b5 82 fd ff       	call   0x557860
57f5ab:	eb 08                	jmp    0x57f5b5
57f5ad:	ff 77 04             	push   0x4(%edi)
57f5b0:	e8 2b 7c fd ff       	call   0x5571e0
57f5b5:	83 c4 04             	add    $0x4,%esp
57f5b8:	68 d7 01 00 00       	push   $0x1d7
57f5bd:	68 08 b5 65 00       	push   $0x65b508
57f5c2:	57                   	push   %edi
57f5c3:	e8 b8 11 f6 ff       	call   0x4e0780
57f5c8:	83 c4 0c             	add    $0xc,%esp
57f5cb:	5d                   	pop    %ebp
57f5cc:	8b c3                	mov    %ebx,%eax
57f5ce:	5b                   	pop    %ebx
57f5cf:	5f                   	pop    %edi
57f5d0:	5e                   	pop    %esi
57f5d1:	59                   	pop    %ecx
57f5d2:	c3                   	ret
57f5d3:	cc                   	int3
57f5d4:	cc                   	int3
57f5d5:	cc                   	int3
57f5d6:	cc                   	int3
57f5d7:	cc                   	int3
57f5d8:	cc                   	int3
57f5d9:	cc                   	int3
57f5da:	cc                   	int3
57f5db:	cc                   	int3
57f5dc:	cc                   	int3
57f5dd:	cc                   	int3
57f5de:	cc                   	int3
57f5df:	cc                   	int3
57f5e0:	56                   	push   %esi
57f5e1:	8b 74 24 08          	mov    0x8(%esp),%esi
57f5e5:	85 f6                	test   %esi,%esi
57f5e7:	74 57                	je     0x57f640
57f5e9:	68 10 a8 50 00       	push   $0x50a810
57f5ee:	ff 76 28             	push   0x28(%esi)
57f5f1:	e8 fa 5a f6 ff       	call   0x4e50f0
57f5f6:	68 40 fb 57 00       	push   $0x57fb40
57f5fb:	ff 76 2c             	push   0x2c(%esi)
57f5fe:	e8 ed 5a f6 ff       	call   0x4e50f0
57f603:	6a 68                	push   $0x68
57f605:	68 ac b6 65 00       	push   $0x65b6ac
57f60a:	ff 76 34             	push   0x34(%esi)
57f60d:	e8 6e 11 f6 ff       	call   0x4e0780
57f612:	6a 69                	push   $0x69
57f614:	68 ac b6 65 00       	push   $0x65b6ac
57f619:	ff 76 38             	push   0x38(%esi)
57f61c:	e8 5f 11 f6 ff       	call   0x4e0780
57f621:	6a 6a                	push   $0x6a
57f623:	68 ac b6 65 00       	push   $0x65b6ac
57f628:	ff 76 40             	push   0x40(%esi)
57f62b:	e8 50 11 f6 ff       	call   0x4e0780
57f630:	6a 6b                	push   $0x6b
57f632:	68 ac b6 65 00       	push   $0x65b6ac
57f637:	56                   	push   %esi
57f638:	e8 43 11 f6 ff       	call   0x4e0780
57f63d:	83 c4 40             	add    $0x40,%esp
57f640:	5e                   	pop    %esi
57f641:	c3                   	ret
57f642:	cc                   	int3
57f643:	cc                   	int3
57f644:	cc                   	int3
57f645:	cc                   	int3
57f646:	cc                   	int3
57f647:	cc                   	int3
57f648:	cc                   	int3
57f649:	cc                   	int3
57f64a:	cc                   	int3
57f64b:	cc                   	int3
57f64c:	cc                   	int3
57f64d:	cc                   	int3
57f64e:	cc                   	int3
57f64f:	cc                   	int3
57f650:	b8 08 00 00 00       	mov    $0x8,%eax
57f655:	e8 56 21 05 00       	call   0x5d17b0
57f65a:	53                   	push   %ebx
57f65b:	55                   	push   %ebp
57f65c:	56                   	push   %esi
57f65d:	8b 74 24 18          	mov    0x18(%esp),%esi
57f661:	57                   	push   %edi
57f662:	8b 7c 24 20          	mov    0x20(%esp),%edi
57f666:	85 ff                	test   %edi,%edi
57f668:	0f 84 a8 02 00 00    	je     0x57f916
57f66e:	8b 57 10             	mov    0x10(%edi),%edx
57f671:	0b 56 10             	or     0x10(%esi),%edx
57f674:	f6 c2 10             	test   $0x10,%dl
57f677:	74 07                	je     0x57f680
57f679:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
57f680:	f6 c2 08             	test   $0x8,%dl
57f683:	0f 85 8d 02 00 00    	jne    0x57f916
57f689:	8b 47 18             	mov    0x18(%edi),%eax
57f68c:	8b ea                	mov    %edx,%ebp
57f68e:	83 e5 01             	and    $0x1,%ebp
57f691:	89 6c 24 14          	mov    %ebp,0x14(%esp)
57f695:	f6 c2 02             	test   $0x2,%dl
57f698:	74 1f                	je     0x57f6b9
57f69a:	8b 4e 14             	mov    0x14(%esi),%ecx
57f69d:	bb 01 00 00 00       	mov    $0x1,%ebx
57f6a2:	89 46 18             	mov    %eax,0x18(%esi)
57f6a5:	8b 47 1c             	mov    0x1c(%edi),%eax
57f6a8:	89 46 1c             	mov    %eax,0x1c(%esi)
57f6ab:	8b 47 20             	mov    0x20(%edi),%eax
57f6ae:	89 46 20             	mov    %eax,0x20(%esi)
57f6b1:	8b 47 24             	mov    0x24(%edi),%eax
57f6b4:	89 46 24             	mov    %eax,0x24(%esi)
57f6b7:	eb 5f                	jmp    0x57f718
57f6b9:	85 c0                	test   %eax,%eax
57f6bb:	74 0c                	je     0x57f6c9
57f6bd:	85 ed                	test   %ebp,%ebp
57f6bf:	75 05                	jne    0x57f6c6
57f6c1:	39 6e 18             	cmp    %ebp,0x18(%esi)
57f6c4:	75 03                	jne    0x57f6c9
57f6c6:	89 46 18             	mov    %eax,0x18(%esi)
57f6c9:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
57f6cd:	74 0f                	je     0x57f6de
57f6cf:	85 ed                	test   %ebp,%ebp
57f6d1:	75 05                	jne    0x57f6d8
57f6d3:	39 6e 1c             	cmp    %ebp,0x1c(%esi)
57f6d6:	75 06                	jne    0x57f6de
57f6d8:	8b 47 1c             	mov    0x1c(%edi),%eax
57f6db:	89 46 1c             	mov    %eax,0x1c(%esi)
57f6de:	83 7f 20 ff          	cmpl   $0xffffffff,0x20(%edi)
57f6e2:	74 10                	je     0x57f6f4
57f6e4:	85 ed                	test   %ebp,%ebp
57f6e6:	75 06                	jne    0x57f6ee
57f6e8:	83 7e 20 ff          	cmpl   $0xffffffff,0x20(%esi)
57f6ec:	75 06                	jne    0x57f6f4
57f6ee:	8b 47 20             	mov    0x20(%edi),%eax
57f6f1:	89 46 20             	mov    %eax,0x20(%esi)
57f6f4:	83 7f 24 ff          	cmpl   $0xffffffff,0x24(%edi)
57f6f8:	74 10                	je     0x57f70a
57f6fa:	85 ed                	test   %ebp,%ebp
57f6fc:	75 06                	jne    0x57f704
57f6fe:	83 7e 24 ff          	cmpl   $0xffffffff,0x24(%esi)
57f702:	75 06                	jne    0x57f70a
57f704:	8b 47 24             	mov    0x24(%edi),%eax
57f707:	89 46 24             	mov    %eax,0x24(%esi)
57f70a:	8b 4e 14             	mov    0x14(%esi),%ecx
57f70d:	33 db                	xor    %ebx,%ebx
57f70f:	89 5c 24 20          	mov    %ebx,0x20(%esp)
57f713:	f6 c1 02             	test   $0x2,%cl
57f716:	75 16                	jne    0x57f72e
57f718:	8b 47 08             	mov    0x8(%edi),%eax
57f71b:	83 e1 fd             	and    $0xfffffffd,%ecx
57f71e:	89 46 08             	mov    %eax,0x8(%esi)
57f721:	8b 47 0c             	mov    0xc(%edi),%eax
57f724:	89 5c 24 20          	mov    %ebx,0x20(%esp)
57f728:	89 46 0c             	mov    %eax,0xc(%esi)
57f72b:	89 4e 14             	mov    %ecx,0x14(%esi)
57f72e:	f6 c2 04             	test   $0x4,%dl
57f731:	74 09                	je     0x57f73c
57f733:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
57f73a:	33 c9                	xor    %ecx,%ecx
57f73c:	8b 47 14             	mov    0x14(%edi),%eax
57f73f:	0b c1                	or     %ecx,%eax
57f741:	89 46 14             	mov    %eax,0x14(%esi)
57f744:	85 db                	test   %ebx,%ebx
57f746:	75 16                	jne    0x57f75e
57f748:	39 5f 28             	cmp    %ebx,0x28(%edi)
57f74b:	0f 84 a4 00 00 00    	je     0x57f7f5
57f751:	85 ed                	test   %ebp,%ebp
57f753:	75 09                	jne    0x57f75e
57f755:	39 6e 28             	cmp    %ebp,0x28(%esi)
57f758:	0f 85 97 00 00 00    	jne    0x57f7f5
57f75e:	8b 5f 28             	mov    0x28(%edi),%ebx
57f761:	68 10 a8 50 00       	push   $0x50a810
57f766:	ff 76 28             	push   0x28(%esi)
57f769:	89 5c 24 18          	mov    %ebx,0x18(%esp)
57f76d:	e8 7e 59 f6 ff       	call   0x4e50f0
57f772:	83 c4 08             	add    $0x8,%esp
57f775:	85 db                	test   %ebx,%ebx
57f777:	75 05                	jne    0x57f77e
57f779:	89 5e 28             	mov    %ebx,0x28(%esi)
57f77c:	eb 6f                	jmp    0x57f7ed
57f77e:	e8 9d 58 f6 ff       	call   0x4e5020
57f783:	89 46 28             	mov    %eax,0x28(%esi)
57f786:	85 c0                	test   %eax,%eax
57f788:	0f 84 7e 01 00 00    	je     0x57f90c
57f78e:	ff 74 24 10          	push   0x10(%esp)
57f792:	33 db                	xor    %ebx,%ebx
57f794:	e8 27 59 f6 ff       	call   0x4e50c0
57f799:	83 c4 04             	add    $0x4,%esp
57f79c:	85 c0                	test   %eax,%eax
57f79e:	7e 46                	jle    0x57f7e6
57f7a0:	53                   	push   %ebx
57f7a1:	ff 74 24 14          	push   0x14(%esp)
57f7a5:	e8 d6 5a f6 ff       	call   0x4e5280
57f7aa:	50                   	push   %eax
57f7ab:	e8 80 b9 f8 ff       	call   0x50b130
57f7b0:	8b e8                	mov    %eax,%ebp
57f7b2:	83 c4 0c             	add    $0xc,%esp
57f7b5:	85 ed                	test   %ebp,%ebp
57f7b7:	0f 84 4f 01 00 00    	je     0x57f90c
57f7bd:	55                   	push   %ebp
57f7be:	ff 76 28             	push   0x28(%esi)
57f7c1:	e8 8a 59 f6 ff       	call   0x4e5150
57f7c6:	83 c4 08             	add    $0x8,%esp
57f7c9:	85 c0                	test   %eax,%eax
57f7cb:	0f 84 d0 00 00 00    	je     0x57f8a1
57f7d1:	ff 74 24 10          	push   0x10(%esp)
57f7d5:	43                   	inc    %ebx
57f7d6:	e8 e5 58 f6 ff       	call   0x4e50c0
57f7db:	83 c4 04             	add    $0x4,%esp
57f7de:	3b d8                	cmp    %eax,%ebx
57f7e0:	7c be                	jl     0x57f7a0
57f7e2:	8b 6c 24 14          	mov    0x14(%esp),%ebp
57f7e6:	81 4e 14 80 00 00 00 	orl    $0x80,0x14(%esi)
57f7ed:	8b 5c 24 20          	mov    0x20(%esp),%ebx
57f7f1:	85 db                	test   %ebx,%ebx
57f7f3:	75 0f                	jne    0x57f804
57f7f5:	83 7f 2c 00          	cmpl   $0x0,0x2c(%edi)