444496:	8b 54 24 04          	mov    0x4(%esp),%edx
44449a:	3b c2                	cmp    %edx,%eax
44449c:	7c 06                	jl     0x4444a4
44449e:	3b 44 24 0c          	cmp    0xc(%esp),%eax
4444a2:	7e 12                	jle    0x4444b6
4444a4:	2b d0                	sub    %eax,%edx
4444a6:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4444aa:	2b c8                	sub    %eax,%ecx
4444ac:	8b c1                	mov    %ecx,%eax
4444ae:	92                   	xchg   %eax,%edx
4444af:	e8 84 ff ff ff       	call   0x444438
4444b4:	eb 02                	jmp    0x4444b8
4444b6:	33 c0                	xor    %eax,%eax
4444b8:	85 f6                	test   %esi,%esi
4444ba:	75 04                	jne    0x4444c0
4444bc:	85 c0                	test   %eax,%eax
4444be:	74 0f                	je     0x4444cf
4444c0:	f7 d8                	neg    %eax
4444c2:	50                   	push   %eax
4444c3:	f7 de                	neg    %esi
4444c5:	56                   	push   %esi
4444c6:	8d 43 44             	lea    0x44(%ebx),%eax
4444c9:	50                   	push   %eax
4444ca:	e8 75 25 fc ff       	call   0x406a44
4444cf:	83 c4 10             	add    $0x10,%esp
4444d2:	5f                   	pop    %edi
4444d3:	5e                   	pop    %esi
4444d4:	5b                   	pop    %ebx
4444d5:	c3                   	ret
4444d6:	8b c0                	mov    %eax,%eax
4444d8:	56                   	push   %esi
4444d9:	8b f0                	mov    %eax,%esi
4444db:	8b d6                	mov    %esi,%edx
4444dd:	8b 46 38             	mov    0x38(%esi),%eax
4444e0:	66 be db ff          	mov    $0xffdb,%si
4444e4:	e8 d3 ef fb ff       	call   0x4034bc
4444e9:	5e                   	pop    %esi
4444ea:	c3                   	ret
4444eb:	90                   	nop
4444ec:	56                   	push   %esi
4444ed:	8b f0                	mov    %eax,%esi
4444ef:	8b d6                	mov    %esi,%edx
4444f1:	8b 46 38             	mov    0x38(%esi),%eax
4444f4:	66 be da ff          	mov    $0xffda,%si
4444f8:	e8 bf ef fb ff       	call   0x4034bc
4444fd:	5e                   	pop    %esi
4444fe:	c3                   	ret
4444ff:	90                   	nop
444500:	55                   	push   %ebp
444501:	8b ec                	mov    %esp,%ebp
444503:	33 c0                	xor    %eax,%eax
444505:	5d                   	pop    %ebp
444506:	c2 04 00             	ret    $0x4
444509:	8d 40 00             	lea    0x0(%eax),%eax
44450c:	b8 04 00 00 00       	mov    $0x4,%eax
444511:	c3                   	ret
444512:	8b c0                	mov    %eax,%eax
444514:	c3                   	ret
444515:	8d 40 00             	lea    0x0(%eax),%eax
444518:	55                   	push   %ebp
444519:	8b ec                	mov    %esp,%ebp
44451b:	83 c4 f0             	add    $0xfffffff0,%esp
44451e:	53                   	push   %ebx
44451f:	56                   	push   %esi
444520:	57                   	push   %edi
444521:	8b 5d 0c             	mov    0xc(%ebp),%ebx
444524:	8b 75 08             	mov    0x8(%ebp),%esi
444527:	8b fb                	mov    %ebx,%edi
444529:	3b 77 04             	cmp    0x4(%edi),%esi
44452c:	75 04                	jne    0x444532
44452e:	33 c0                	xor    %eax,%eax
444530:	eb 46                	jmp    0x444578
444532:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
444536:	75 20                	jne    0x444558
444538:	8d 45 f0             	lea    -0x10(%ebp),%eax
44453b:	50                   	push   %eax
44453c:	56                   	push   %esi
44453d:	e8 2a 24 fc ff       	call   0x40696c
444542:	ff 77 10             	push   0x10(%edi)
444545:	ff 77 0c             	push   0xc(%edi)
444548:	8d 45 f0             	lea    -0x10(%ebp),%eax
44454b:	50                   	push   %eax
44454c:	e8 13 25 fc ff       	call   0x406a64
444551:	85 c0                	test   %eax,%eax
444553:	74 03                	je     0x444558
444555:	89 77 08             	mov    %esi,0x8(%edi)
444558:	8b d3                	mov    %ebx,%edx
44455a:	3b 72 08             	cmp    0x8(%edx),%esi
44455d:	75 08                	jne    0x444567
44455f:	33 c0                	xor    %eax,%eax
444561:	c6 42 14 01          	movb   $0x1,0x14(%edx)
444565:	eb 11                	jmp    0x444578
444567:	3b 32                	cmp    (%edx),%esi
444569:	75 0a                	jne    0x444575
44456b:	83 c8 ff             	or     $0xffffffff,%eax
44456e:	33 c9                	xor    %ecx,%ecx
444570:	89 4a 08             	mov    %ecx,0x8(%edx)
444573:	eb 03                	jmp    0x444578
444575:	83 c8 ff             	or     $0xffffffff,%eax
444578:	5f                   	pop    %edi
444579:	5e                   	pop    %esi
44457a:	5b                   	pop    %ebx
44457b:	8b e5                	mov    %ebp,%esp
44457d:	5d                   	pop    %ebp
44457e:	c2 08 00             	ret    $0x8
444581:	8d 40 00             	lea    0x0(%eax),%eax
444584:	55                   	push   %ebp
444585:	8b ec                	mov    %esp,%ebp
444587:	83 c4 c4             	add    $0xffffffc4,%esp
44458a:	53                   	push   %ebx
44458b:	56                   	push   %esi
44458c:	57                   	push   %edi
44458d:	8b d8                	mov    %eax,%ebx
44458f:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
444593:	8b 45 08             	mov    0x8(%ebp),%eax
444596:	83 c0 f7             	add    $0xfffffff7,%eax
444599:	e8 36 04 00 00       	call   0x4449d4
44459e:	8b f0                	mov    %eax,%esi
4445a0:	89 75 ec             	mov    %esi,-0x14(%ebp)
4445a3:	6a 04                	push   $0x4
4445a5:	56                   	push   %esi
4445a6:	e8 a1 23 fc ff       	call   0x40694c
4445ab:	8b 15 74 47 47 00    	mov    0x474774,%edx
4445b1:	8b 12                	mov    (%edx),%edx
4445b3:	3b 42 30             	cmp    0x30(%edx),%eax
4445b6:	74 27                	je     0x4445df
4445b8:	8b 45 ec             	mov    -0x14(%ebp),%eax
4445bb:	e8 dc f4 ff ff       	call   0x443a9c
4445c0:	8b f0                	mov    %eax,%esi
4445c2:	85 f6                	test   %esi,%esi
4445c4:	0f 84 48 01 00 00    	je     0x444712
4445ca:	eb 02                	jmp    0x4445ce
4445cc:	8b f0                	mov    %eax,%esi
4445ce:	8b 46 30             	mov    0x30(%esi),%eax
4445d1:	85 c0                	test   %eax,%eax
4445d3:	75 f7                	jne    0x4445cc
4445d5:	8b c6                	mov    %esi,%eax
4445d7:	e8 00 8e 00 00       	call   0x44d3dc
4445dc:	89 45 ec             	mov    %eax,-0x14(%ebp)
4445df:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4445e3:	0f 84 29 01 00 00    	je     0x444712
4445e9:	8b f3                	mov    %ebx,%esi
4445eb:	eb 02                	jmp    0x4445ef
4445ed:	8b f0                	mov    %eax,%esi
4445ef:	8b 46 30             	mov    0x30(%esi),%eax
4445f2:	85 c0                	test   %eax,%eax
4445f4:	75 f7                	jne    0x4445ed
4445f6:	8b c6                	mov    %esi,%eax
4445f8:	e8 df 8d 00 00       	call   0x44d3dc
4445fd:	8b f8                	mov    %eax,%edi
4445ff:	89 7d e8             	mov    %edi,-0x18(%ebp)
444602:	3b 7d ec             	cmp    -0x14(%ebp),%edi
444605:	0f 84 07 01 00 00    	je     0x444712
44460b:	8b 45 08             	mov    0x8(%ebp),%eax
44460e:	8b 40 f0             	mov    -0x10(%eax),%eax
444611:	8b 40 30             	mov    0x30(%eax),%eax
444614:	85 c0                	test   %eax,%eax
444616:	74 1c                	je     0x444634
444618:	8b 55 08             	mov    0x8(%ebp),%edx
44461b:	8b f0                	mov    %eax,%esi
44461d:	eb 02                	jmp    0x444621
44461f:	8b f0                	mov    %eax,%esi
444621:	8b 46 30             	mov    0x30(%esi),%eax
444624:	85 c0                	test   %eax,%eax
444626:	75 f7                	jne    0x44461f
444628:	8b c6                	mov    %esi,%eax
44462a:	e8 ad 8d 00 00       	call   0x44d3dc
44462f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
444632:	eb 2a                	jmp    0x44465e
444634:	8b 45 08             	mov    0x8(%ebp),%eax
444637:	8b 40 f0             	mov    -0x10(%eax),%eax
44463a:	8b 15 b8 2c 44 00    	mov    0x442cb8,%edx
444640:	e8 07 ee fb ff       	call   0x40344c
444645:	84 c0                	test   %al,%al
444647:	74 10                	je     0x444659
444649:	8b 45 08             	mov    0x8(%ebp),%eax
44464c:	8b 40 f0             	mov    -0x10(%eax),%eax
44464f:	e8 88 8d 00 00       	call   0x44d3dc
444654:	89 45 e4             	mov    %eax,-0x1c(%ebp)
444657:	eb 05                	jmp    0x44465e
444659:	33 c0                	xor    %eax,%eax
44465b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44465e:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
444662:	8b 45 08             	mov    0x8(%ebp),%eax
444665:	8b 50 f7             	mov    -0x9(%eax),%edx
444668:	89 55 f0             	mov    %edx,-0x10(%ebp)
44466b:	8b 50 fb             	mov    -0x5(%eax),%edx
44466e:	89 55 f4             	mov    %edx,-0xc(%ebp)
444671:	8d 45 e4             	lea    -0x1c(%ebp),%eax
444674:	50                   	push   %eax
444675:	68 18 45 44 00       	push   $0x444518
44467a:	e8 9d 1c fc ff       	call   0x40631c
44467f:	50                   	push   %eax
444680:	e8 57 21 fc ff       	call   0x4067dc
444685:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
444689:	0f 84 83 00 00 00    	je     0x444712
44468f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
444692:	50                   	push   %eax
444693:	8b 45 ec             	mov    -0x14(%ebp),%eax
444696:	50                   	push   %eax
444697:	e8 d0 22 fc ff       	call   0x40696c
44469c:	8b 45 08             	mov    0x8(%ebp),%eax
44469f:	83 c0 f7             	add    $0xfffffff7,%eax
4446a2:	50                   	push   %eax
4446a3:	8b 45 08             	mov    0x8(%ebp),%eax
4446a6:	48                   	dec    %eax
4446a7:	50                   	push   %eax
4446a8:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4446ab:	8b 45 08             	mov    0x8(%ebp),%eax
4446ae:	8b 50 f0             	mov    -0x10(%eax),%edx
4446b1:	8b c3                	mov    %ebx,%eax
4446b3:	66 be bd ff          	mov    $0xffbd,%si
4446b7:	e8 00 ee fb ff       	call   0x4034bc
4446bc:	a1 38 5b 47 00       	mov    0x475b38,%eax
4446c1:	8b 15 8c 18 44 00    	mov    0x44188c,%edx
4446c7:	e8 80 ed fb ff       	call   0x40344c
4446cc:	84 c0                	test   %al,%al
4446ce:	74 29                	je     0x4446f9
4446d0:	a1 38 5b 47 00       	mov    0x475b38,%eax
4446d5:	8b 40 38             	mov    0x38(%eax),%eax
4446d8:	83 b8 a0 00 00 00 00 	cmpl   $0x0,0xa0(%eax)
4446df:	74 18                	je     0x4446f9
4446e1:	a1 38 5b 47 00       	mov    0x475b38,%eax
4446e6:	8b 40 38             	mov    0x38(%eax),%eax
4446e9:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
4446ef:	e8 e8 8c 00 00       	call   0x44d3dc
4446f4:	3b 45 ec             	cmp    -0x14(%ebp),%eax
4446f7:	74 19                	je     0x444712
4446f9:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4446fc:	50                   	push   %eax
4446fd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
444700:	50                   	push   %eax
444701:	8d 45 d4             	lea    -0x2c(%ebp),%eax
444704:	50                   	push   %eax
444705:	e8 9a 22 fc ff       	call   0x4069a4
44470a:	85 c0                	test   %eax,%eax
44470c:	74 04                	je     0x444712
44470e:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
444712:	8a 45 ff             	mov    -0x1(%ebp),%al
444715:	5f                   	pop    %edi
444716:	5e                   	pop    %esi
444717:	5b                   	pop    %ebx
444718:	8b e5                	mov    %ebp,%esp
44471a:	5d                   	pop    %ebp
44471b:	c3                   	ret
44471c:	55                   	push   %ebp
44471d:	8b ec                	mov    %esp,%ebp
44471f:	8b 45 08             	mov    0x8(%ebp),%eax
444722:	8b 40 f0             	mov    -0x10(%eax),%eax
444725:	8b 15 b8 2c 44 00    	mov    0x442cb8,%edx
44472b:	e8 1c ed fb ff       	call   0x40344c
444730:	84 c0                	test   %al,%al
444732:	74 25                	je     0x444759
444734:	8b 45 08             	mov    0x8(%ebp),%eax
444737:	8b 40 ec             	mov    -0x14(%eax),%eax
44473a:	e8 9d 8c 00 00       	call   0x44d3dc
44473f:	50                   	push   %eax
444740:	8b 45 08             	mov    0x8(%ebp),%eax
444743:	8b 40 f0             	mov    -0x10(%eax),%eax
444746:	e8 91 8c 00 00       	call   0x44d3dc
44474b:	50                   	push   %eax
44474c:	e8 63 22 fc ff       	call   0x4069b4
444751:	83 f8 01             	cmp    $0x1,%eax
444754:	1b c0                	sbb    %eax,%eax
444756:	40                   	inc    %eax
444757:	5d                   	pop    %ebp
444758:	c3                   	ret
444759:	33 c0                	xor    %eax,%eax
44475b:	5d                   	pop    %ebp
44475c:	c3                   	ret
44475d:	8d 40 00             	lea    0x0(%eax),%eax
444760:	55                   	push   %ebp
444761:	8b ec                	mov    %esp,%ebp
444763:	83 c4 d8             	add    $0xffffffd8,%esp
444766:	53                   	push   %ebx
444767:	56                   	push   %esi
444768:	57                   	push   %edi
444769:	8b f0                	mov    %eax,%esi
44476b:	8d 7d f7             	lea    -0x9(%ebp),%edi
44476e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44476f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
444770:	89 55 f0             	mov    %edx,-0x10(%ebp)
444773:	33 c0                	xor    %eax,%eax
444775:	89 45 e8             	mov    %eax,-0x18(%ebp)
444778:	83 3d 5c 5b 47 00 00 	cmpl   $0x0,0x475b5c
44477f:	0f 84 2a 01 00 00    	je     0x4448af
444785:	6a 11                	push   $0x11
444787:	e8 00 21 fc ff       	call   0x40688c
44478c:	66 a9 00 80          	test   $0x8000,%ax
444790:	0f 95 c0             	setne  %al
444793:	8b 15 74 47 47 00    	mov    0x474774,%edx
444799:	8b 12                	mov    (%edx),%edx
44479b:	32 82 b4 00 00 00    	xor    0xb4(%edx),%al
4447a1:	0f 84 08 01 00 00    	je     0x4448af
4447a7:	a1 60 5b 47 00       	mov    0x475b60,%eax
4447ac:	8b 10                	mov    (%eax),%edx
4447ae:	ff 52 08             	call   *0x8(%edx)
4447b1:	a1 5c 5b 47 00       	mov    0x475b5c,%eax
4447b6:	8b 58 08             	mov    0x8(%eax),%ebx
4447b9:	4b                   	dec    %ebx
4447ba:	85 db                	test   %ebx,%ebx
4447bc:	0f 8c bc 00 00 00    	jl     0x44487e
4447c2:	43                   	inc    %ebx
4447c3:	33 ff                	xor    %edi,%edi
4447c5:	8b d7                	mov    %edi,%edx
4447c7:	a1 5c 5b 47 00       	mov    0x475b5c,%eax
4447cc:	e8 b3 3f fd ff       	call   0x418784
4447d1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4447d4:	8b 45 ec             	mov    -0x14(%ebp),%eax
4447d7:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4447da:	0f 84 96 00 00 00    	je     0x444876
4447e0:	8b 45 ec             	mov    -0x14(%ebp),%eax
4447e3:	80 b8 a6 01 00 00 00 	cmpb   $0x0,0x1a6(%eax)
4447ea:	0f 84 86 00 00 00    	je     0x444876
4447f0:	8b 45 ec             	mov    -0x14(%ebp),%eax
4447f3:	8b 10                	mov    (%eax),%edx
4447f5:	ff 52 50             	call   *0x50(%edx)
4447f8:	84 c0                	test   %al,%al
4447fa:	74 7a                	je     0x444876
4447fc:	8b 45 ec             	mov    -0x14(%ebp),%eax
4447ff:	e8 d8 8b 00 00       	call   0x44d3dc
444804:	50                   	push   %eax
444805:	e8 da 21 fc ff       	call   0x4069e4
44480a:	85 c0                	test   %eax,%eax
44480c:	74 68                	je     0x444876
44480e:	55                   	push   %ebp
44480f:	e8 08 ff ff ff       	call   0x44471c
444814:	59                   	pop    %ecx
444815:	84 c0                	test   %al,%al
444817:	75 5d                	jne    0x444876
444819:	8b 45 f0             	mov    -0x10(%ebp),%eax
44481c:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
444822:	3b 45 ec             	cmp    -0x14(%ebp),%eax
444825:	75 0b                	jne    0x444832
444827:	8b 45 ec             	mov    -0x14(%ebp),%eax
44482a:	e8 dd 76 00 00       	call   0x44bf0c
44482f:	48                   	dec    %eax
444830:	7e 44                	jle    0x444876
444832:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
444836:	8d 45 f7             	lea    -0x9(%ebp),%eax
444839:	50                   	push   %eax
44483a:	8d 45 ff             	lea    -0x1(%ebp),%eax
44483d:	50                   	push   %eax
44483e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
444841:	8b 55 f0             	mov    -0x10(%ebp),%edx
444844:	8b 45 ec             	mov    -0x14(%ebp),%eax
444847:	66 be bd ff          	mov    $0xffbd,%si
44484b:	e8 6c ec fb ff       	call   0x4034bc
444850:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
444854:	74 20                	je     0x444876