453636:	8b fa                	mov    %edx,%edi
453638:	8b f0                	mov    %eax,%esi
45363a:	8b 5d 08             	mov    0x8(%ebp),%ebx
45363d:	6a 00                	push   $0x0
45363f:	53                   	push   %ebx
453640:	8b cf                	mov    %edi,%ecx
453642:	33 d2                	xor    %edx,%edx
453644:	33 c0                	xor    %eax,%eax
453646:	e8 35 37 fc ff       	call   0x416d80
45364b:	8b c6                	mov    %esi,%eax
45364d:	e8 a6 91 ff ff       	call   0x44c7f8
453652:	0d 10 0c 00 00       	or     $0xc10,%eax
453657:	50                   	push   %eax
453658:	53                   	push   %ebx
453659:	6a ff                	push   $0xffffffff
45365b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45365e:	e8 a9 15 fb ff       	call   0x404c0c
453663:	50                   	push   %eax
453664:	8b 86 50 02 00 00    	mov    0x250(%esi),%eax
45366a:	e8 9d 1a fd ff       	call   0x42510c
45366f:	50                   	push   %eax
453670:	e8 5b 38 fb ff       	call   0x406ed0
453675:	83 43 08 06          	addl   $0x6,0x8(%ebx)
453679:	83 43 0c 02          	addl   $0x2,0xc(%ebx)
45367d:	5f                   	pop    %edi
45367e:	5e                   	pop    %esi
45367f:	5b                   	pop    %ebx
453680:	59                   	pop    %ecx
453681:	5d                   	pop    %ebp
453682:	c2 08 00             	ret    $0x8
453685:	8d 40 00             	lea    0x0(%eax),%eax
453688:	53                   	push   %ebx
453689:	56                   	push   %esi
45368a:	83 c4 e4             	add    $0xffffffe4,%esp
45368d:	8b f2                	mov    %edx,%esi
45368f:	8b d8                	mov    %eax,%ebx
453691:	8b 43 4c             	mov    0x4c(%ebx),%eax
453694:	50                   	push   %eax
453695:	8d 44 24 04          	lea    0x4(%esp),%eax
453699:	50                   	push   %eax
45369a:	8b 4b 48             	mov    0x48(%ebx),%ecx
45369d:	33 d2                	xor    %edx,%edx
45369f:	33 c0                	xor    %eax,%eax
4536a1:	e8 da 36 fc ff       	call   0x416d80
4536a6:	e8 e5 91 fe ff       	call   0x43c890
4536ab:	e8 e8 92 fe ff       	call   0x43c998
4536b0:	84 c0                	test   %al,%al
4536b2:	75 11                	jne    0x4536c5
4536b4:	6a 0f                	push   $0xf
4536b6:	6a 01                	push   $0x1
4536b8:	8d 44 24 08          	lea    0x8(%esp),%eax
4536bc:	50                   	push   %eax
4536bd:	56                   	push   %esi
4536be:	e8 dd 37 fb ff       	call   0x406ea0
4536c3:	eb 27                	jmp    0x4536ec
4536c5:	e8 c6 91 fe ff       	call   0x43c890
4536ca:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4536ce:	b2 01                	mov    $0x1,%dl
4536d0:	e8 03 95 fe ff       	call   0x43cbd8
4536d5:	54                   	push   %esp
4536d6:	6a 01                	push   $0x1
4536d8:	6a 0f                	push   $0xf
4536da:	6a 00                	push   $0x0
4536dc:	e8 af 91 fe ff       	call   0x43c890
4536e1:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4536e5:	8b d6                	mov    %esi,%edx
4536e7:	e8 1c 93 fe ff       	call   0x43ca08
4536ec:	83 c4 1c             	add    $0x1c,%esp
4536ef:	5e                   	pop    %esi
4536f0:	5b                   	pop    %ebx
4536f1:	c3                   	ret
4536f2:	8b c0                	mov    %eax,%eax
4536f4:	53                   	push   %ebx
4536f5:	56                   	push   %esi
4536f6:	8b f2                	mov    %edx,%esi
4536f8:	8b d8                	mov    %eax,%ebx
4536fa:	6a 00                	push   $0x0
4536fc:	8b 56 04             	mov    0x4(%esi),%edx
4536ff:	33 c9                	xor    %ecx,%ecx
453701:	8b c3                	mov    %ebx,%eax
453703:	e8 84 c0 ff ff       	call   0x44f78c
453708:	8b 56 04             	mov    0x4(%esi),%edx
45370b:	8b c3                	mov    %ebx,%eax
45370d:	8b 08                	mov    (%eax),%ecx
45370f:	ff 91 dc 00 00 00    	call   *0xdc(%ecx)
453715:	5e                   	pop    %esi
453716:	5b                   	pop    %ebx
453717:	c3                   	ret
453718:	b0 01                	mov    $0x1,%al
45371a:	c3                   	ret
45371b:	90                   	nop
45371c:	55                   	push   %ebp
45371d:	8b ec                	mov    %esp,%ebp
45371f:	83 c4 e8             	add    $0xffffffe8,%esp
453722:	53                   	push   %ebx
453723:	56                   	push   %esi
453724:	8b d8                	mov    %eax,%ebx
453726:	8b 75 08             	mov    0x8(%ebp),%esi
453729:	89 55 f8             	mov    %edx,-0x8(%ebp)
45372c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45372f:	8d 45 f8             	lea    -0x8(%ebp),%eax
453732:	50                   	push   %eax
453733:	53                   	push   %ebx
453734:	e8 ef 36 fb ff       	call   0x406e28
453739:	8d 45 e8             	lea    -0x18(%ebp),%eax
45373c:	50                   	push   %eax
45373d:	53                   	push   %ebx
45373e:	e8 75 39 fb ff       	call   0x4070b8
453743:	8b 45 f8             	mov    -0x8(%ebp),%eax
453746:	2b 45 e8             	sub    -0x18(%ebp),%eax
453749:	89 06                	mov    %eax,(%esi)
45374b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45374e:	2b 45 ec             	sub    -0x14(%ebp),%eax
453751:	89 46 04             	mov    %eax,0x4(%esi)
453754:	5e                   	pop    %esi
453755:	5b                   	pop    %ebx
453756:	8b e5                	mov    %ebp,%esp
453758:	5d                   	pop    %ebp
453759:	c2 04 00             	ret    $0x4
45375c:	55                   	push   %ebp
45375d:	8b ec                	mov    %esp,%ebp
45375f:	53                   	push   %ebx
453760:	56                   	push   %esi
453761:	57                   	push   %edi
453762:	8b f9                	mov    %ecx,%edi
453764:	8b f2                	mov    %edx,%esi
453766:	8b d8                	mov    %eax,%ebx
453768:	8b c3                	mov    %ebx,%eax
45376a:	e8 d9 42 00 00       	call   0x457a48
45376f:	84 c0                	test   %al,%al
453771:	74 26                	je     0x453799
453773:	89 73 78             	mov    %esi,0x78(%ebx)
453776:	89 7b 70             	mov    %edi,0x70(%ebx)
453779:	8b 45 08             	mov    0x8(%ebp),%eax
45377c:	89 43 74             	mov    %eax,0x74(%ebx)
45377f:	8b 45 08             	mov    0x8(%ebp),%eax
453782:	50                   	push   %eax
453783:	57                   	push   %edi
453784:	56                   	push   %esi
453785:	8b c3                	mov    %ebx,%eax
453787:	e8 f8 43 00 00       	call   0x457b84
45378c:	50                   	push   %eax
45378d:	e8 82 df fc ff       	call   0x421714
453792:	b0 01                	mov    $0x1,%al
453794:	88 43 6a             	mov    %al,0x6a(%ebx)
453797:	eb 02                	jmp    0x45379b
453799:	33 c0                	xor    %eax,%eax
45379b:	5f                   	pop    %edi
45379c:	5e                   	pop    %esi
45379d:	5b                   	pop    %ebx
45379e:	5d                   	pop    %ebp
45379f:	c2 04 00             	ret    $0x4
4537a2:	8b c0                	mov    %eax,%eax
4537a4:	66 3b 50 68          	cmp    0x68(%eax),%dx
4537a8:	74 1c                	je     0x4537c6
4537aa:	8b ca                	mov    %edx,%ecx
4537ac:	66 89 48 68          	mov    %cx,0x68(%eax)
4537b0:	80 78 6a 00          	cmpb   $0x0,0x6a(%eax)
4537b4:	74 10                	je     0x4537c6
4537b6:	8b 15 24 78 4a 00    	mov    0x4a7824,%edx
4537bc:	8b 12                	mov    (%edx),%edx
4537be:	8b c1                	mov    %ecx,%eax
4537c0:	92                   	xchg   %eax,%edx
4537c1:	e8 76 0c 01 00       	call   0x46443c
4537c6:	c3                   	ret
4537c7:	90                   	nop
4537c8:	55                   	push   %ebp
4537c9:	8b ec                	mov    %esp,%ebp
4537cb:	51                   	push   %ecx
4537cc:	53                   	push   %ebx
4537cd:	56                   	push   %esi
4537ce:	57                   	push   %edi
4537cf:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4537d2:	8b fa                	mov    %edx,%edi
4537d4:	8b f0                	mov    %eax,%esi
4537d6:	33 db                	xor    %ebx,%ebx
4537d8:	8b c6                	mov    %esi,%eax
4537da:	e8 69 42 00 00       	call   0x457a48
4537df:	84 c0                	test   %al,%al
4537e1:	74 4c                	je     0x45382f
4537e3:	80 7e 6a 00          	cmpb   $0x0,0x6a(%esi)
4537e7:	75 11                	jne    0x4537fa
4537e9:	8b 46 74             	mov    0x74(%esi),%eax
4537ec:	50                   	push   %eax
4537ed:	8b 4e 70             	mov    0x70(%esi),%ecx
4537f0:	8b 56 78             	mov    0x78(%esi),%edx
4537f3:	8b c6                	mov    %esi,%eax
4537f5:	e8 62 ff ff ff       	call   0x45375c
4537fa:	8b 45 08             	mov    0x8(%ebp),%eax
4537fd:	50                   	push   %eax
4537fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
453801:	8b d7                	mov    %edi,%edx
453803:	8b c6                	mov    %esi,%eax
453805:	e8 32 00 00 00       	call   0x45383c
45380a:	8b d8                	mov    %eax,%ebx
45380c:	84 db                	test   %bl,%bl
45380e:	74 1f                	je     0x45382f
453810:	a1 24 78 4a 00       	mov    0x4a7824,%eax
453815:	8b 00                	mov    (%eax),%eax
453817:	0f b7 40 44          	movzwl 0x44(%eax),%eax
45381b:	66 89 46 7c          	mov    %ax,0x7c(%esi)
45381f:	a1 24 78 4a 00       	mov    0x4a7824,%eax
453824:	8b 00                	mov    (%eax),%eax
453826:	0f b7 56 68          	movzwl 0x68(%esi),%edx
45382a:	e8 0d 0c 01 00       	call   0x46443c
45382f:	8b c3                	mov    %ebx,%eax
453831:	5f                   	pop    %edi
453832:	5e                   	pop    %esi
453833:	5b                   	pop    %ebx
453834:	59                   	pop    %ecx
453835:	5d                   	pop    %ebp
453836:	c2 04 00             	ret    $0x4
453839:	8d 40 00             	lea    0x0(%eax),%eax
45383c:	55                   	push   %ebp
45383d:	8b ec                	mov    %esp,%ebp
45383f:	83 c4 f4             	add    $0xfffffff4,%esp
453842:	53                   	push   %ebx
453843:	56                   	push   %esi
453844:	57                   	push   %edi
453845:	89 4d fc             	mov    %ecx,-0x4(%ebp)
453848:	8b f2                	mov    %edx,%esi
45384a:	8b f8                	mov    %eax,%edi
45384c:	33 db                	xor    %ebx,%ebx
45384e:	8b c7                	mov    %edi,%eax
453850:	e8 f3 41 00 00       	call   0x457a48
453855:	84 c0                	test   %al,%al
453857:	74 39                	je     0x453892
453859:	3b 77 6c             	cmp    0x6c(%edi),%esi
45385c:	74 34                	je     0x453892
45385e:	8b c7                	mov    %edi,%eax
453860:	e8 3b 00 00 00       	call   0x4538a0
453865:	8b de                	mov    %esi,%ebx
453867:	89 5f 6c             	mov    %ebx,0x6c(%edi)
45386a:	8d 45 f4             	lea    -0xc(%ebp),%eax
45386d:	50                   	push   %eax
45386e:	8b 4d 08             	mov    0x8(%ebp),%ecx
453871:	8b 55 fc             	mov    -0x4(%ebp),%edx
453874:	8b c3                	mov    %ebx,%eax
453876:	e8 a1 fe ff ff       	call   0x45371c
45387b:	8b 45 f8             	mov    -0x8(%ebp),%eax
45387e:	50                   	push   %eax
45387f:	8b 45 f4             	mov    -0xc(%ebp),%eax
453882:	50                   	push   %eax
453883:	8b 47 6c             	mov    0x6c(%edi),%eax
453886:	50                   	push   %eax
453887:	e8 98 de fc ff       	call   0x421724
45388c:	83 f8 01             	cmp    $0x1,%eax
45388f:	1b db                	sbb    %ebx,%ebx
453891:	43                   	inc    %ebx
453892:	8b c3                	mov    %ebx,%eax
453894:	5f                   	pop    %edi
453895:	5e                   	pop    %esi
453896:	5b                   	pop    %ebx
453897:	8b e5                	mov    %ebp,%esp
453899:	5d                   	pop    %ebp
45389a:	c2 04 00             	ret    $0x4
45389d:	8d 40 00             	lea    0x0(%eax),%eax
4538a0:	53                   	push   %ebx
4538a1:	8b d8                	mov    %eax,%ebx
4538a3:	8b c3                	mov    %ebx,%eax
4538a5:	e8 9e 41 00 00       	call   0x457a48
4538aa:	84 c0                	test   %al,%al
4538ac:	74 14                	je     0x4538c2
4538ae:	83 7b 6c 00          	cmpl   $0x0,0x6c(%ebx)
4538b2:	74 0e                	je     0x4538c2
4538b4:	8b 43 6c             	mov    0x6c(%ebx),%eax
4538b7:	50                   	push   %eax
4538b8:	e8 6f de fc ff       	call   0x42172c
4538bd:	33 c0                	xor    %eax,%eax
4538bf:	89 43 6c             	mov    %eax,0x6c(%ebx)
4538c2:	5b                   	pop    %ebx
4538c3:	c3                   	ret
4538c4:	53                   	push   %ebx
4538c5:	56                   	push   %esi
4538c6:	57                   	push   %edi
4538c7:	83 c4 f8             	add    $0xfffffff8,%esp
4538ca:	8b f9                	mov    %ecx,%edi
4538cc:	8b f2                	mov    %edx,%esi
4538ce:	8b d8                	mov    %eax,%ebx
4538d0:	8b c3                	mov    %ebx,%eax
4538d2:	e8 71 41 00 00       	call   0x457a48
4538d7:	84 c0                	test   %al,%al
4538d9:	74 24                	je     0x4538ff
4538db:	54                   	push   %esp
4538dc:	8b cf                	mov    %edi,%ecx
4538de:	8b d6                	mov    %esi,%edx
4538e0:	8b 43 6c             	mov    0x6c(%ebx),%eax
4538e3:	e8 34 fe ff ff       	call   0x45371c
4538e8:	8b 44 24 04          	mov    0x4(%esp),%eax
4538ec:	50                   	push   %eax
4538ed:	8b 44 24 04          	mov    0x4(%esp),%eax
4538f1:	50                   	push   %eax
4538f2:	e8 3d de fc ff       	call   0x421734
4538f7:	83 f8 01             	cmp    $0x1,%eax
4538fa:	1b c0                	sbb    %eax,%eax
4538fc:	40                   	inc    %eax
4538fd:	eb 02                	jmp    0x453901
4538ff:	33 c0                	xor    %eax,%eax
453901:	59                   	pop    %ecx
453902:	5a                   	pop    %edx
453903:	5f                   	pop    %edi
453904:	5e                   	pop    %esi
453905:	5b                   	pop    %ebx
453906:	c3                   	ret
453907:	90                   	nop
453908:	53                   	push   %ebx
453909:	8b d8                	mov    %eax,%ebx
45390b:	8b c3                	mov    %ebx,%eax
45390d:	e8 36 41 00 00       	call   0x457a48
453912:	84 c0                	test   %al,%al
453914:	74 07                	je     0x45391d
453916:	6a ff                	push   $0xffffffff
453918:	e8 1f de fc ff       	call   0x42173c
45391d:	5b                   	pop    %ebx
45391e:	c3                   	ret
45391f:	90                   	nop
453920:	53                   	push   %ebx
453921:	8b d8                	mov    %eax,%ebx
453923:	8b c3                	mov    %ebx,%eax
453925:	e8 1e 41 00 00       	call   0x457a48
45392a:	84 c0                	test   %al,%al
45392c:	74 07                	je     0x453935
45392e:	6a 00                	push   $0x0
453930:	e8 07 de fc ff       	call   0x42173c
453935:	5b                   	pop    %ebx
453936:	c3                   	ret
453937:	90                   	nop
453938:	53                   	push   %ebx
453939:	56                   	push   %esi
45393a:	8b f0                	mov    %eax,%esi
45393c:	8b c6                	mov    %esi,%eax
45393e:	e8 05 41 00 00       	call   0x457a48
453943:	84 c0                	test   %al,%al
453945:	74 38                	je     0x45397f
453947:	80 7e 6a 00          	cmpb   $0x0,0x6a(%esi)
45394b:	74 32                	je     0x45397f
45394d:	8b c6                	mov    %esi,%eax
45394f:	e8 4c ff ff ff       	call   0x4538a0
453954:	e8 c3 dd fc ff       	call   0x42171c
453959:	83 f8 01             	cmp    $0x1,%eax
45395c:	1b db                	sbb    %ebx,%ebx
45395e:	43                   	inc    %ebx
45395f:	c6 46 6a 00          	movb   $0x0,0x6a(%esi)
453963:	83 ca ff             	or     $0xffffffff,%edx
453966:	8b c6                	mov    %esi,%eax
453968:	e8 37 fe ff ff       	call   0x4537a4
45396d:	a1 24 78 4a 00       	mov    0x4a7824,%eax
453972:	8b 00                	mov    (%eax),%eax
453974:	0f b7 56 7c          	movzwl 0x7c(%esi),%edx
453978:	e8 bf 0a 01 00       	call   0x46443c