41c5d9:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c5dc:	8b 45 08             	mov    0x8(%ebp),%eax
41c5df:	85 c0                	test   %eax,%eax
41c5e1:	75 04                	jne    0x41c5e7
41c5e3:	33 ff                	xor    %edi,%edi
41c5e5:	eb 03                	jmp    0x41c5ea
41c5e7:	8b 78 1c             	mov    0x1c(%eax),%edi
41c5ea:	8b 1d a8 98 43 00    	mov    0x4398a8,%ebx
41c5f0:	85 c0                	test   %eax,%eax
41c5f2:	75 34                	jne    0x41c628
41c5f4:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
41c5f8:	74 07                	je     0x41c601
41c5fa:	ff 76 1c             	push   0x1c(%esi)
41c5fd:	ff d3                	call   *%ebx
41c5ff:	eb 0b                	jmp    0x41c60c
41c601:	6a 04                	push   $0x4
41c603:	ff 76 1c             	push   0x1c(%esi)
41c606:	ff 15 34 99 43 00    	call   *0x439934
41c60c:	8b f8                	mov    %eax,%edi
41c60e:	85 ff                	test   %edi,%edi
41c610:	74 16                	je     0x41c628
41c612:	6a 00                	push   $0x0
41c614:	6a 00                	push   $0x0
41c616:	68 6b 03 00 00       	push   $0x36b
41c61b:	57                   	push   %edi
41c61c:	ff 15 88 99 43 00    	call   *0x439988
41c622:	85 c0                	test   %eax,%eax
41c624:	74 02                	je     0x41c628
41c626:	8b f8                	mov    %eax,%edi
41c628:	8d 45 c8             	lea    -0x38(%ebp),%eax
41c62b:	50                   	push   %eax
41c62c:	ff 76 1c             	push   0x1c(%esi)
41c62f:	ff 15 1c 99 43 00    	call   *0x43991c
41c635:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
41c639:	75 4a                	jne    0x41c685
41c63b:	85 ff                	test   %edi,%edi
41c63d:	74 19                	je     0x41c658
41c63f:	6a f0                	push   $0xfffffff0
41c641:	57                   	push   %edi
41c642:	ff 15 20 99 43 00    	call   *0x439920
41c648:	a9 00 00 00 10       	test   $0x10000000,%eax
41c64d:	74 07                	je     0x41c656
41c64f:	a9 00 00 00 20       	test   $0x20000000,%eax
41c654:	74 02                	je     0x41c658
41c656:	33 ff                	xor    %edi,%edi
41c658:	8d 45 e8             	lea    -0x18(%ebp),%eax
41c65b:	6a 00                	push   $0x0
41c65d:	50                   	push   %eax
41c65e:	6a 00                	push   $0x0
41c660:	6a 30                	push   $0x30
41c662:	ff 15 48 98 43 00    	call   *0x439848
41c668:	85 ff                	test   %edi,%edi
41c66a:	75 0c                	jne    0x41c678
41c66c:	8d 75 e8             	lea    -0x18(%ebp),%esi
41c66f:	8d 7d d8             	lea    -0x28(%ebp),%edi
41c672:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41c673:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41c674:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41c675:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41c676:	eb 36                	jmp    0x41c6ae
41c678:	8d 45 d8             	lea    -0x28(%ebp),%eax
41c67b:	50                   	push   %eax
41c67c:	57                   	push   %edi
41c67d:	ff 15 1c 99 43 00    	call   *0x43991c
41c683:	eb 29                	jmp    0x41c6ae
41c685:	ff 76 1c             	push   0x1c(%esi)
41c688:	ff d3                	call   *%ebx
41c68a:	8b 35 4c 99 43 00    	mov    0x43994c,%esi
41c690:	8b d8                	mov    %eax,%ebx
41c692:	8d 45 e8             	lea    -0x18(%ebp),%eax
41c695:	50                   	push   %eax
41c696:	53                   	push   %ebx
41c697:	ff d6                	call   *%esi
41c699:	8d 45 d8             	lea    -0x28(%ebp),%eax
41c69c:	50                   	push   %eax
41c69d:	57                   	push   %edi
41c69e:	ff d6                	call   *%esi
41c6a0:	8d 45 d8             	lea    -0x28(%ebp),%eax
41c6a3:	6a 02                	push   $0x2
41c6a5:	50                   	push   %eax
41c6a6:	53                   	push   %ebx
41c6a7:	57                   	push   %edi
41c6a8:	ff 15 4c 98 43 00    	call   *0x43984c
41c6ae:	8b 45 d8             	mov    -0x28(%ebp),%eax
41c6b1:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41c6b4:	8b 7d d0             	mov    -0x30(%ebp),%edi
41c6b7:	8b 5d c8             	mov    -0x38(%ebp),%ebx
41c6ba:	03 c1                	add    %ecx,%eax
41c6bc:	2b fb                	sub    %ebx,%edi
41c6be:	99                   	cltd
41c6bf:	2b c2                	sub    %edx,%eax
41c6c1:	8b c8                	mov    %eax,%ecx
41c6c3:	8b c7                	mov    %edi,%eax
41c6c5:	99                   	cltd
41c6c6:	2b c2                	sub    %edx,%eax
41c6c8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41c6cb:	d1 f9                	sar    $1,%ecx
41c6cd:	d1 f8                	sar    $1,%eax
41c6cf:	2b c8                	sub    %eax,%ecx
41c6d1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41c6d4:	2b 45 cc             	sub    -0x34(%ebp),%eax
41c6d7:	89 45 08             	mov    %eax,0x8(%ebp)
41c6da:	8b 45 dc             	mov    -0x24(%ebp),%eax
41c6dd:	03 c2                	add    %edx,%eax
41c6df:	99                   	cltd
41c6e0:	2b c2                	sub    %edx,%eax
41c6e2:	8b f0                	mov    %eax,%esi
41c6e4:	8b 45 08             	mov    0x8(%ebp),%eax
41c6e7:	99                   	cltd
41c6e8:	2b c2                	sub    %edx,%eax
41c6ea:	d1 fe                	sar    $1,%esi
41c6ec:	d1 f8                	sar    $1,%eax
41c6ee:	2b f0                	sub    %eax,%esi
41c6f0:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
41c6f3:	7d 05                	jge    0x41c6fa
41c6f5:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41c6f8:	eb 10                	jmp    0x41c70a
41c6fa:	8d 04 39             	lea    (%ecx,%edi,1),%eax
41c6fd:	3b 45 f0             	cmp    -0x10(%ebp),%eax
41c700:	7e 08                	jle    0x41c70a
41c702:	2b 5d d0             	sub    -0x30(%ebp),%ebx
41c705:	03 5d f0             	add    -0x10(%ebp),%ebx
41c708:	8b cb                	mov    %ebx,%ecx
41c70a:	3b 75 ec             	cmp    -0x14(%ebp),%esi
41c70d:	7d 05                	jge    0x41c714
41c70f:	8b 75 ec             	mov    -0x14(%ebp),%esi
41c712:	eb 13                	jmp    0x41c727
41c714:	8b 45 08             	mov    0x8(%ebp),%eax
41c717:	03 c6                	add    %esi,%eax
41c719:	3b 45 f4             	cmp    -0xc(%ebp),%eax
41c71c:	7e 09                	jle    0x41c727
41c71e:	8b 75 cc             	mov    -0x34(%ebp),%esi
41c721:	2b 75 d4             	sub    -0x2c(%ebp),%esi
41c724:	03 75 f4             	add    -0xc(%ebp),%esi
41c727:	6a 15                	push   $0x15
41c729:	6a ff                	push   $0xffffffff
41c72b:	6a ff                	push   $0xffffffff
41c72d:	56                   	push   %esi
41c72e:	51                   	push   %ecx
41c72f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41c732:	6a 00                	push   $0x0
41c734:	e8 62 10 00 00       	call   0x41d79b
41c739:	5f                   	pop    %edi
41c73a:	5e                   	pop    %esi
41c73b:	5b                   	pop    %ebx
41c73c:	c9                   	leave
41c73d:	c2 04 00             	ret    $0x4
41c740:	6a 01                	push   $0x1
41c742:	58                   	pop    %eax
41c743:	c3                   	ret
41c744:	53                   	push   %ebx
41c745:	56                   	push   %esi
41c746:	57                   	push   %edi
41c747:	33 ff                	xor    %edi,%edi
41c749:	39 7c 24 10          	cmp    %edi,0x10(%esp)
41c74d:	8b d9                	mov    %ecx,%ebx
41c74f:	74 35                	je     0x41c786
41c751:	e8 f1 7f 00 00       	call   0x424747
41c756:	8b 70 0c             	mov    0xc(%eax),%esi
41c759:	68 f0 00 00 00       	push   $0xf0
41c75e:	ff 74 24 14          	push   0x14(%esp)
41c762:	56                   	push   %esi
41c763:	ff 15 64 97 43 00    	call   *0x439764
41c769:	3b c7                	cmp    %edi,%eax
41c76b:	74 19                	je     0x41c786
41c76d:	50                   	push   %eax
41c76e:	56                   	push   %esi
41c76f:	ff 15 68 97 43 00    	call   *0x439768
41c775:	3b c7                	cmp    %edi,%eax
41c777:	75 04                	jne    0x41c77d
41c779:	33 c0                	xor    %eax,%eax
41c77b:	eb 11                	jmp    0x41c78e
41c77d:	50                   	push   %eax
41c77e:	ff 15 44 97 43 00    	call   *0x439744
41c784:	8b f8                	mov    %eax,%edi
41c786:	57                   	push   %edi
41c787:	8b cb                	mov    %ebx,%ecx
41c789:	e8 06 00 00 00       	call   0x41c794
41c78e:	5f                   	pop    %edi
41c78f:	5e                   	pop    %esi
41c790:	5b                   	pop    %ebx
41c791:	c2 04 00             	ret    $0x4
41c794:	53                   	push   %ebx
41c795:	55                   	push   %ebp
41c796:	56                   	push   %esi
41c797:	8b 74 24 10          	mov    0x10(%esp),%esi
41c79b:	57                   	push   %edi
41c79c:	6a 01                	push   $0x1
41c79e:	85 f6                	test   %esi,%esi
41c7a0:	8b f9                	mov    %ecx,%edi
41c7a2:	5d                   	pop    %ebp
41c7a3:	74 59                	je     0x41c7fe
41c7a5:	66 8b 0e             	mov    (%esi),%cx
41c7a8:	66 85 c9             	test   %cx,%cx
41c7ab:	74 51                	je     0x41c7fe
41c7ad:	46                   	inc    %esi
41c7ae:	46                   	inc    %esi
41c7af:	66 8b 06             	mov    (%esi),%ax
41c7b2:	46                   	inc    %esi
41c7b3:	46                   	inc    %esi
41c7b4:	8b 1e                	mov    (%esi),%ebx
41c7b6:	83 c6 04             	add    $0x4,%esi
41c7b9:	66 3d 01 04          	cmp    $0x401,%ax
41c7bd:	75 07                	jne    0x41c7c6
41c7bf:	b8 80 01 00 00       	mov    $0x180,%eax
41c7c4:	eb 0b                	jmp    0x41c7d1
41c7c6:	66 3d 03 04          	cmp    $0x403,%ax
41c7ca:	75 05                	jne    0x41c7d1
41c7cc:	b8 43 01 00 00       	mov    $0x143,%eax
41c7d1:	66 3d 80 01          	cmp    $0x180,%ax
41c7d5:	74 06                	je     0x41c7dd
41c7d7:	66 3d 43 01          	cmp    $0x143,%ax
41c7db:	75 1b                	jne    0x41c7f8
41c7dd:	0f b7 c0             	movzwl %ax,%eax
41c7e0:	56                   	push   %esi
41c7e1:	6a 00                	push   $0x0
41c7e3:	50                   	push   %eax
41c7e4:	0f b7 c1             	movzwl %cx,%eax
41c7e7:	50                   	push   %eax
41c7e8:	ff 77 1c             	push   0x1c(%edi)
41c7eb:	ff 15 44 98 43 00    	call   *0x439844
41c7f1:	83 f8 ff             	cmp    $0xffffffff,%eax
41c7f4:	75 02                	jne    0x41c7f8
41c7f6:	33 ed                	xor    %ebp,%ebp
41c7f8:	03 f3                	add    %ebx,%esi
41c7fa:	85 ed                	test   %ebp,%ebp
41c7fc:	75 a7                	jne    0x41c7a5
41c7fe:	33 c0                	xor    %eax,%eax
41c800:	3b e8                	cmp    %eax,%ebp
41c802:	74 11                	je     0x41c815
41c804:	50                   	push   %eax
41c805:	50                   	push   %eax
41c806:	50                   	push   %eax
41c807:	50                   	push   %eax
41c808:	68 64 03 00 00       	push   $0x364
41c80d:	ff 77 1c             	push   0x1c(%edi)
41c810:	e8 4b f2 ff ff       	call   0x41ba60
41c815:	5f                   	pop    %edi
41c816:	8b c5                	mov    %ebp,%eax
41c818:	5e                   	pop    %esi
41c819:	5d                   	pop    %ebp
41c81a:	5b                   	pop    %ebx
41c81b:	c2 04 00             	ret    $0x4
41c81e:	8b 54 24 04          	mov    0x4(%esp),%edx
41c822:	8b 42 04             	mov    0x4(%edx),%eax
41c825:	3d 00 01 00 00       	cmp    $0x100,%eax
41c82a:	72 07                	jb     0x41c833
41c82c:	3d 08 01 00 00       	cmp    $0x108,%eax
41c831:	76 0e                	jbe    0x41c841
41c833:	3d 00 02 00 00       	cmp    $0x200,%eax
41c838:	72 0f                	jb     0x41c849
41c83a:	3d 09 02 00 00       	cmp    $0x209,%eax
41c83f:	77 08                	ja     0x41c849
41c841:	52                   	push   %edx
41c842:	e8 5e 0e 00 00       	call   0x41d6a5
41c847:	eb 02                	jmp    0x41c84b
41c849:	33 c0                	xor    %eax,%eax
41c84b:	c2 04 00             	ret    $0x4
41c84e:	83 ec 10             	sub    $0x10,%esp
41c851:	53                   	push   %ebx
41c852:	55                   	push   %ebp
41c853:	56                   	push   %esi
41c854:	57                   	push   %edi
41c855:	6a 01                	push   $0x1
41c857:	33 ff                	xor    %edi,%edi
41c859:	f6 44 24 28 04       	testb  $0x4,0x28(%esp)
41c85e:	5b                   	pop    %ebx
41c85f:	8b f1                	mov    %ecx,%esi
41c861:	89 5c 24 18          	mov    %ebx,0x18(%esp)
41c865:	89 7c 24 14          	mov    %edi,0x14(%esp)
41c869:	74 10                	je     0x41c87b
41c86b:	e8 68 0e 00 00       	call   0x41d6d8
41c870:	a9 00 00 00 10       	test   $0x10000000,%eax
41c875:	89 5c 24 10          	mov    %ebx,0x10(%esp)
41c879:	74 04                	je     0x41c87f
41c87b:	89 7c 24 10          	mov    %edi,0x10(%esp)
41c87f:	ff 76 1c             	push   0x1c(%esi)
41c882:	ff 15 a8 98 43 00    	call   *0x4398a8
41c888:	83 4e 24 18          	orl    $0x18,0x24(%esi)
41c88c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
41c890:	e8 27 17 00 00       	call   0x41dfbc
41c895:	8b 1d 88 99 43 00    	mov    0x439988,%ebx
41c89b:	8b e8                	mov    %eax,%ebp
41c89d:	83 c5 30             	add    $0x30,%ebp
41c8a0:	39 7c 24 18          	cmp    %edi,0x18(%esp)
41c8a4:	74 72                	je     0x41c918
41c8a6:	57                   	push   %edi
41c8a7:	57                   	push   %edi
41c8a8:	57                   	push   %edi
41c8a9:	57                   	push   %edi
41c8aa:	55                   	push   %ebp
41c8ab:	ff 15 50 98 43 00    	call   *0x439850
41c8b1:	85 c0                	test   %eax,%eax
41c8b3:	75 63                	jne    0x41c918
41c8b5:	39 7c 24 10          	cmp    %edi,0x10(%esp)
41c8b9:	74 16                	je     0x41c8d1
41c8bb:	6a 01                	push   $0x1
41c8bd:	8b ce                	mov    %esi,%ecx
41c8bf:	e8 26 0f 00 00       	call   0x41d7ea
41c8c4:	ff 76 1c             	push   0x1c(%esi)
41c8c7:	ff 15 3c 99 43 00    	call   *0x43993c
41c8cd:	89 7c 24 10          	mov    %edi,0x10(%esp)
41c8d1:	f6 44 24 24 01       	testb  $0x1,0x24(%esp)
41c8d6:	75 1b                	jne    0x41c8f3
41c8d8:	39 7c 24 1c          	cmp    %edi,0x1c(%esp)
41c8dc:	74 15                	je     0x41c8f3
41c8de:	39 7c 24 14          	cmp    %edi,0x14(%esp)
41c8e2:	75 0f                	jne    0x41c8f3
41c8e4:	ff 76 1c             	push   0x1c(%esi)
41c8e7:	57                   	push   %edi
41c8e8:	68 21 01 00 00       	push   $0x121
41c8ed:	ff 74 24 28          	push   0x28(%esp)
41c8f1:	ff d3                	call   *%ebx
41c8f3:	f6 44 24 24 02       	testb  $0x2,0x24(%esp)
41c8f8:	75 18                	jne    0x41c912
41c8fa:	8b 44 24 14          	mov    0x14(%esp),%eax
41c8fe:	ff 44 24 14          	incl   0x14(%esp)
41c902:	50                   	push   %eax
41c903:	57                   	push   %edi
41c904:	68 6a 03 00 00       	push   $0x36a
41c909:	ff 76 1c             	push   0x1c(%esi)
41c90c:	ff d3                	call   *%ebx
41c90e:	3b c7                	cmp    %edi,%eax
41c910:	75 8e                	jne    0x41c8a0
41c912:	89 7c 24 18          	mov    %edi,0x18(%esp)
41c916:	eb 88                	jmp    0x41c8a0
41c918:	e8 9f 16 00 00       	call   0x41dfbc
41c91d:	8b 10                	mov    (%eax),%edx
41c91f:	8b c8                	mov    %eax,%ecx
41c921:	ff 52 64             	call   *0x64(%edx)
41c924:	85 c0                	test   %eax,%eax
41c926:	74 69                	je     0x41c991
41c928:	39 7c 24 10          	cmp    %edi,0x10(%esp)
41c92c:	74 27                	je     0x41c955
41c92e:	8b 45 04             	mov    0x4(%ebp),%eax
41c931:	3d 18 01 00 00       	cmp    $0x118,%eax
41c936:	74 07                	je     0x41c93f
41c938:	3d 04 01 00 00       	cmp    $0x104,%eax
41c93d:	75 16                	jne    0x41c955
41c93f:	6a 01                	push   $0x1
41c941:	8b ce                	mov    %esi,%ecx
41c943:	e8 a2 0e 00 00       	call   0x41d7ea
41c948:	ff 76 1c             	push   0x1c(%esi)
41c94b:	ff 15 3c 99 43 00    	call   *0x43993c
41c951:	89 7c 24 10          	mov    %edi,0x10(%esp)
41c955:	8b 06                	mov    (%esi),%eax
41c957:	8b ce                	mov    %esi,%ecx
41c959:	ff 50 78             	call   *0x78(%eax)
41c95c:	85 c0                	test   %eax,%eax
41c95e:	74 3c                	je     0x41c99c