45355f:	8b 70 3c             	mov    0x3c(%eax),%esi
453562:	8b ce                	mov    %esi,%ecx
453564:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45356a:	8b cb                	mov    %ebx,%ecx
45356c:	ff d6                	call   *%esi
45356e:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
453572:	50                   	push   %eax
453573:	e8 b8 b0 ff ff       	call   0x44e630
453578:	5e                   	pop    %esi
453579:	5b                   	pop    %ebx
45357a:	c2 08 00             	ret    $0x8
45357d:	cc                   	int3
45357e:	cc                   	int3
45357f:	cc                   	int3
453580:	56                   	push   %esi
453581:	57                   	push   %edi
453582:	8b 79 04             	mov    0x4(%ecx),%edi
453585:	ff 74 24 10          	push   0x10(%esp)
453589:	ff 74 24 10          	push   0x10(%esp)
45358d:	8b 07                	mov    (%edi),%eax
45358f:	8b 70 3c             	mov    0x3c(%eax),%esi
453592:	8b ce                	mov    %esi,%ecx
453594:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45359a:	8b cf                	mov    %edi,%ecx
45359c:	ff d6                	call   *%esi
45359e:	5f                   	pop    %edi
45359f:	5e                   	pop    %esi
4535a0:	c2 08 00             	ret    $0x8
4535a3:	cc                   	int3
4535a4:	cc                   	int3
4535a5:	cc                   	int3
4535a6:	cc                   	int3
4535a7:	cc                   	int3
4535a8:	cc                   	int3
4535a9:	cc                   	int3
4535aa:	cc                   	int3
4535ab:	cc                   	int3
4535ac:	cc                   	int3
4535ad:	cc                   	int3
4535ae:	cc                   	int3
4535af:	cc                   	int3
4535b0:	56                   	push   %esi
4535b1:	57                   	push   %edi
4535b2:	8b 79 04             	mov    0x4(%ecx),%edi
4535b5:	8b 07                	mov    (%edi),%eax
4535b7:	8b 70 38             	mov    0x38(%eax),%esi
4535ba:	8b ce                	mov    %esi,%ecx
4535bc:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4535c2:	8b cf                	mov    %edi,%ecx
4535c4:	ff d6                	call   *%esi
4535c6:	5f                   	pop    %edi
4535c7:	5e                   	pop    %esi
4535c8:	c3                   	ret
4535c9:	cc                   	int3
4535ca:	cc                   	int3
4535cb:	cc                   	int3
4535cc:	cc                   	int3
4535cd:	cc                   	int3
4535ce:	cc                   	int3
4535cf:	cc                   	int3
4535d0:	56                   	push   %esi
4535d1:	57                   	push   %edi
4535d2:	8b 79 04             	mov    0x4(%ecx),%edi
4535d5:	ff 74 24 10          	push   0x10(%esp)
4535d9:	ff 74 24 10          	push   0x10(%esp)
4535dd:	8b 07                	mov    (%edi),%eax
4535df:	8b 70 04             	mov    0x4(%eax),%esi
4535e2:	8b ce                	mov    %esi,%ecx
4535e4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4535ea:	8b cf                	mov    %edi,%ecx
4535ec:	ff d6                	call   *%esi
4535ee:	5f                   	pop    %edi
4535ef:	5e                   	pop    %esi
4535f0:	c2 08 00             	ret    $0x8
4535f3:	cc                   	int3
4535f4:	cc                   	int3
4535f5:	cc                   	int3
4535f6:	cc                   	int3
4535f7:	cc                   	int3
4535f8:	cc                   	int3
4535f9:	cc                   	int3
4535fa:	cc                   	int3
4535fb:	cc                   	int3
4535fc:	cc                   	int3
4535fd:	cc                   	int3
4535fe:	cc                   	int3
4535ff:	cc                   	int3
453600:	8d 41 04             	lea    0x4(%ecx),%eax
453603:	c3                   	ret
453604:	cc                   	int3
453605:	cc                   	int3
453606:	cc                   	int3
453607:	cc                   	int3
453608:	cc                   	int3
453609:	cc                   	int3
45360a:	cc                   	int3
45360b:	cc                   	int3
45360c:	cc                   	int3
45360d:	cc                   	int3
45360e:	cc                   	int3
45360f:	cc                   	int3
453610:	56                   	push   %esi
453611:	8b f1                	mov    %ecx,%esi
453613:	e8 88 b0 fb ff       	call   0x40e6a0
453618:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
45361d:	74 0b                	je     0x45362a
45361f:	6a 34                	push   $0x34
453621:	56                   	push   %esi
453622:	e8 e1 63 01 00       	call   0x469a08
453627:	83 c4 08             	add    $0x8,%esp
45362a:	8b c6                	mov    %esi,%eax
45362c:	5e                   	pop    %esi
45362d:	c2 04 00             	ret    $0x4
453630:	f6 44 24 04 01       	testb  $0x1,0x4(%esp)
453635:	56                   	push   %esi
453636:	8b f1                	mov    %ecx,%esi
453638:	74 0b                	je     0x453645
45363a:	6a 08                	push   $0x8
45363c:	56                   	push   %esi
45363d:	e8 c6 63 01 00       	call   0x469a08
453642:	83 c4 08             	add    $0x8,%esp
453645:	8b c6                	mov    %esi,%eax
453647:	5e                   	pop    %esi
453648:	c2 04 00             	ret    $0x4
45364b:	cc                   	int3
45364c:	cc                   	int3
45364d:	cc                   	int3
45364e:	cc                   	int3
45364f:	cc                   	int3
453650:	51                   	push   %ecx
453651:	53                   	push   %ebx
453652:	8b 5c 24 10          	mov    0x10(%esp),%ebx
453656:	55                   	push   %ebp
453657:	56                   	push   %esi
453658:	8b 74 24 1c          	mov    0x1c(%esp),%esi
45365c:	57                   	push   %edi
45365d:	3b de                	cmp    %esi,%ebx
45365f:	75 0c                	jne    0x45366d
453661:	8b 44 24 18          	mov    0x18(%esp),%eax
453665:	5f                   	pop    %edi
453666:	5e                   	pop    %esi
453667:	5d                   	pop    %ebp
453668:	5b                   	pop    %ebx
453669:	59                   	pop    %ecx
45366a:	c2 10 00             	ret    $0x10
45366d:	80 7c 24 24 00       	cmpb   $0x0,0x24(%esp)
453672:	0f 84 b8 00 00 00    	je     0x453730
453678:	51                   	push   %ecx
453679:	56                   	push   %esi
45367a:	e8 01 01 00 00       	call   0x453780
45367f:	3b f3                	cmp    %ebx,%esi
453681:	8b fb                	mov    %ebx,%edi
453683:	8b e8                	mov    %eax,%ebp
453685:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
45368c:	0f 42 fe             	cmovb  %esi,%edi
45368f:	89 44 24 10          	mov    %eax,0x10(%esp)
453693:	8b 74 24 18          	mov    0x18(%esp),%esi
453697:	c1 e7 02             	shl    $0x2,%edi
45369a:	85 ff                	test   %edi,%edi
45369c:	74 59                	je     0x4536f7
45369e:	85 ed                	test   %ebp,%ebp
4536a0:	75 0d                	jne    0x4536af
4536a2:	e8 8e 68 02 00       	call   0x479f35
4536a7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4536ad:	eb 43                	jmp    0x4536f2
4536af:	85 f6                	test   %esi,%esi
4536b1:	74 11                	je     0x4536c4
4536b3:	3b c7                	cmp    %edi,%eax
4536b5:	72 0d                	jb     0x4536c4
4536b7:	57                   	push   %edi
4536b8:	56                   	push   %esi
4536b9:	55                   	push   %ebp
4536ba:	e8 61 7f 01 00       	call   0x46b620
4536bf:	83 c4 0c             	add    $0xc,%esp
4536c2:	eb 33                	jmp    0x4536f7
4536c4:	50                   	push   %eax
4536c5:	6a 00                	push   $0x0
4536c7:	55                   	push   %ebp
4536c8:	e8 e3 84 01 00       	call   0x46bbb0
4536cd:	83 c4 0c             	add    $0xc,%esp
4536d0:	85 f6                	test   %esi,%esi
4536d2:	75 0d                	jne    0x4536e1
4536d4:	e8 5c 68 02 00       	call   0x479f35
4536d9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4536df:	eb 11                	jmp    0x4536f2
4536e1:	39 7c 24 10          	cmp    %edi,0x10(%esp)
4536e5:	73 10                	jae    0x4536f7
4536e7:	e8 49 68 02 00       	call   0x479f35
4536ec:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4536f2:	e8 2a 5f 02 00       	call   0x479621
4536f7:	33 c0                	xor    %eax,%eax
4536f9:	8b fe                	mov    %esi,%edi
4536fb:	8b cb                	mov    %ebx,%ecx
4536fd:	f3 ab                	rep stos %eax,%es:(%edi)
4536ff:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
453706:	56                   	push   %esi
453707:	83 f8 10             	cmp    $0x10,%eax
45370a:	72 12                	jb     0x45371e
45370c:	e8 4f 28 04 00       	call   0x495f60
453711:	83 c4 04             	add    $0x4,%esp
453714:	8b c5                	mov    %ebp,%eax
453716:	5f                   	pop    %edi
453717:	5e                   	pop    %esi
453718:	5d                   	pop    %ebp
453719:	5b                   	pop    %ebx
45371a:	59                   	pop    %ecx
45371b:	c2 10 00             	ret    $0x10
45371e:	e8 5f 5f 02 00       	call   0x479682
453723:	83 c4 04             	add    $0x4,%esp
453726:	8b c5                	mov    %ebp,%eax
453728:	5f                   	pop    %edi
453729:	5e                   	pop    %esi
45372a:	5d                   	pop    %ebp
45372b:	5b                   	pop    %ebx
45372c:	59                   	pop    %ecx
45372d:	c2 10 00             	ret    $0x10
453730:	8b 54 24 18          	mov    0x18(%esp),%edx
453734:	33 c0                	xor    %eax,%eax
453736:	8b fa                	mov    %edx,%edi
453738:	8b cb                	mov    %ebx,%ecx
45373a:	f3 ab                	rep stos %eax,%es:(%edi)
45373c:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
453743:	52                   	push   %edx
453744:	83 f8 10             	cmp    $0x10,%eax
453747:	72 17                	jb     0x453760
453749:	e8 12 28 04 00       	call   0x495f60
45374e:	83 c4 04             	add    $0x4,%esp
453751:	51                   	push   %ecx
453752:	56                   	push   %esi
453753:	e8 28 00 00 00       	call   0x453780
453758:	5f                   	pop    %edi
453759:	5e                   	pop    %esi
45375a:	5d                   	pop    %ebp
45375b:	5b                   	pop    %ebx
45375c:	59                   	pop    %ecx
45375d:	c2 10 00             	ret    $0x10
453760:	e8 1d 5f 02 00       	call   0x479682
453765:	83 c4 04             	add    $0x4,%esp
453768:	51                   	push   %ecx
453769:	56                   	push   %esi
45376a:	e8 11 00 00 00       	call   0x453780
45376f:	5f                   	pop    %edi
453770:	5e                   	pop    %esi
453771:	5d                   	pop    %ebp
453772:	5b                   	pop    %ebx
453773:	59                   	pop    %ecx
453774:	c2 10 00             	ret    $0x10
453777:	cc                   	int3
453778:	cc                   	int3
453779:	cc                   	int3
45377a:	cc                   	int3
45377b:	cc                   	int3
45377c:	cc                   	int3
45377d:	cc                   	int3
45377e:	cc                   	int3
45377f:	cc                   	int3
453780:	55                   	push   %ebp
453781:	8b ec                	mov    %esp,%ebp
453783:	6a ff                	push   $0xffffffff
453785:	68 8d a5 49 00       	push   $0x49a58d
45378a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453790:	50                   	push   %eax
453791:	83 ec 48             	sub    $0x48,%esp
453794:	a1 14 40 4c 00       	mov    0x4c4014,%eax
453799:	33 c5                	xor    %ebp,%eax
45379b:	89 45 f0             	mov    %eax,-0x10(%ebp)
45379e:	50                   	push   %eax
45379f:	8d 45 f4             	lea    -0xc(%ebp),%eax
4537a2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4537a8:	8b 45 08             	mov    0x8(%ebp),%eax
4537ab:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
4537b0:	77 37                	ja     0x4537e9
4537b2:	85 c0                	test   %eax,%eax
4537b4:	74 18                	je     0x4537ce
4537b6:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
4537bd:	83 f9 10             	cmp    $0x10,%ecx
4537c0:	72 07                	jb     0x4537c9
4537c2:	e8 29 88 00 00       	call   0x45bff0
4537c7:	eb 05                	jmp    0x4537ce
4537c9:	e8 92 88 00 00       	call   0x45c060
4537ce:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4537d1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4537d8:	59                   	pop    %ecx
4537d9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4537dc:	33 cd                	xor    %ebp,%ecx
4537de:	e8 e7 61 01 00       	call   0x4699ca
4537e3:	8b e5                	mov    %ebp,%esp
4537e5:	5d                   	pop    %ebp
4537e6:	c2 08 00             	ret    $0x8
4537e9:	68 74 19 4b 00       	push   $0x4b1974
4537ee:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4537f1:	e8 4a 78 fb ff       	call   0x40b040
4537f6:	8d 45 d8             	lea    -0x28(%ebp),%eax
4537f9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
453800:	50                   	push   %eax
453801:	8d 4d b0             	lea    -0x50(%ebp),%ecx
453804:	e8 87 86 fb ff       	call   0x40be90
453809:	68 b8 1d 4c 00       	push   $0x4c1db8
45380e:	8d 45 b0             	lea    -0x50(%ebp),%eax
453811:	50                   	push   %eax
453812:	e8 97 7d 01 00       	call   0x46b5ae
453817:	cc                   	int3
453818:	cc                   	int3
453819:	cc                   	int3
45381a:	cc                   	int3
45381b:	cc                   	int3
45381c:	cc                   	int3
45381d:	cc                   	int3
45381e:	cc                   	int3
45381f:	cc                   	int3
453820:	55                   	push   %ebp
453821:	8b ec                	mov    %esp,%ebp
453823:	6a ff                	push   $0xffffffff
453825:	68 8d a7 49 00       	push   $0x49a78d
45382a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453830:	50                   	push   %eax
453831:	83 ec 44             	sub    $0x44,%esp
453834:	a1 14 40 4c 00       	mov    0x4c4014,%eax
453839:	33 c5                	xor    %ebp,%eax
45383b:	89 45 f0             	mov    %eax,-0x10(%ebp)
45383e:	50                   	push   %eax
45383f:	8d 45 f4             	lea    -0xc(%ebp),%eax
453842:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
453848:	8b 4d 08             	mov    0x8(%ebp),%ecx
45384b:	81 f9 ff ff ff 3f    	cmp    $0x3fffffff,%ecx
453851:	77 2b                	ja     0x45387e
453853:	85 c9                	test   %ecx,%ecx
453855:	75 04                	jne    0x45385b
453857:	33 c0                	xor    %eax,%eax
453859:	eb 08                	jmp    0x453863
45385b:	c1 e1 02             	shl    $0x2,%ecx
45385e:	e8 fd 87 00 00       	call   0x45c060
453863:	8b 4d f4             	mov    -0xc(%ebp),%ecx
453866:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45386d:	59                   	pop    %ecx
45386e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
453871:	33 cd                	xor    %ebp,%ecx
453873:	e8 52 61 01 00       	call   0x4699ca
453878:	8b e5                	mov    %ebp,%esp
45387a:	5d                   	pop    %ebp
45387b:	c2 08 00             	ret    $0x8
45387e:	68 74 19 4b 00       	push   $0x4b1974
453883:	8d 4d d8             	lea    -0x28(%ebp),%ecx
453886:	e8 b5 77 fb ff       	call   0x40b040
45388b:	8d 45 d8             	lea    -0x28(%ebp),%eax
45388e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
453895:	50                   	push   %eax
453896:	8d 4d b0             	lea    -0x50(%ebp),%ecx
453899:	e8 f2 85 fb ff       	call   0x40be90
45389e:	68 b8 1d 4c 00       	push   $0x4c1db8