41059f:	46                   	inc    %esi
4105a0:	0f a3 04 24          	bt     %eax,(%esp)
4105a4:	73 f2                	jae    0x410598
4105a6:	8b c1                	mov    %ecx,%eax
4105a8:	83 c4 20             	add    $0x20,%esp
4105ab:	5e                   	pop    %esi
4105ac:	c9                   	leave
4105ad:	c3                   	ret
4105ae:	cc                   	int3
4105af:	cc                   	int3
4105b0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4105b4:	57                   	push   %edi
4105b5:	53                   	push   %ebx
4105b6:	56                   	push   %esi
4105b7:	8a 11                	mov    (%ecx),%dl
4105b9:	8b 7c 24 10          	mov    0x10(%esp),%edi
4105bd:	84 d2                	test   %dl,%dl
4105bf:	74 69                	je     0x41062a
4105c1:	8a 71 01             	mov    0x1(%ecx),%dh
4105c4:	84 f6                	test   %dh,%dh
4105c6:	74 4f                	je     0x410617
4105c8:	8b f7                	mov    %edi,%esi
4105ca:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4105ce:	8a 07                	mov    (%edi),%al
4105d0:	46                   	inc    %esi
4105d1:	38 d0                	cmp    %dl,%al
4105d3:	74 15                	je     0x4105ea
4105d5:	84 c0                	test   %al,%al
4105d7:	74 0b                	je     0x4105e4
4105d9:	8a 06                	mov    (%esi),%al
4105db:	46                   	inc    %esi
4105dc:	38 d0                	cmp    %dl,%al
4105de:	74 0a                	je     0x4105ea
4105e0:	84 c0                	test   %al,%al
4105e2:	75 f5                	jne    0x4105d9
4105e4:	5e                   	pop    %esi
4105e5:	5b                   	pop    %ebx
4105e6:	5f                   	pop    %edi
4105e7:	33 c0                	xor    %eax,%eax
4105e9:	c3                   	ret
4105ea:	8a 06                	mov    (%esi),%al
4105ec:	46                   	inc    %esi
4105ed:	38 f0                	cmp    %dh,%al
4105ef:	75 eb                	jne    0x4105dc
4105f1:	8d 7e ff             	lea    -0x1(%esi),%edi
4105f4:	8a 61 02             	mov    0x2(%ecx),%ah
4105f7:	84 e4                	test   %ah,%ah
4105f9:	74 28                	je     0x410623
4105fb:	8a 06                	mov    (%esi),%al
4105fd:	83 c6 02             	add    $0x2,%esi
410600:	38 e0                	cmp    %ah,%al
410602:	75 c4                	jne    0x4105c8
410604:	8a 41 03             	mov    0x3(%ecx),%al
410607:	84 c0                	test   %al,%al
410609:	74 18                	je     0x410623
41060b:	8a 66 ff             	mov    -0x1(%esi),%ah
41060e:	83 c1 02             	add    $0x2,%ecx
410611:	38 e0                	cmp    %ah,%al
410613:	74 df                	je     0x4105f4
410615:	eb b1                	jmp    0x4105c8
410617:	33 c0                	xor    %eax,%eax
410619:	5e                   	pop    %esi
41061a:	5b                   	pop    %ebx
41061b:	5f                   	pop    %edi
41061c:	8a c2                	mov    %dl,%al
41061e:	e9 53 f8 ff ff       	jmp    0x40fe76
410623:	8d 47 ff             	lea    -0x1(%edi),%eax
410626:	5e                   	pop    %esi
410627:	5b                   	pop    %ebx
410628:	5f                   	pop    %edi
410629:	c3                   	ret
41062a:	8b c7                	mov    %edi,%eax
41062c:	5e                   	pop    %esi
41062d:	5b                   	pop    %ebx
41062e:	5f                   	pop    %edi
41062f:	c3                   	ret
410630:	53                   	push   %ebx
410631:	55                   	push   %ebp
410632:	56                   	push   %esi
410633:	8b 74 24 14          	mov    0x14(%esp),%esi
410637:	57                   	push   %edi
410638:	8b 46 0c             	mov    0xc(%esi),%eax
41063b:	8b 6e 10             	mov    0x10(%esi),%ebp
41063e:	a8 82                	test   $0x82,%al
410640:	0f 84 0d 01 00 00    	je     0x410753
410646:	a8 40                	test   $0x40,%al
410648:	0f 85 05 01 00 00    	jne    0x410753
41064e:	33 db                	xor    %ebx,%ebx
410650:	a8 01                	test   $0x1,%al
410652:	74 15                	je     0x410669
410654:	a8 10                	test   $0x10,%al
410656:	89 5e 04             	mov    %ebx,0x4(%esi)
410659:	0f 84 f4 00 00 00    	je     0x410753
41065f:	8b 4e 08             	mov    0x8(%esi),%ecx
410662:	24 fe                	and    $0xfe,%al
410664:	89 0e                	mov    %ecx,(%esi)
410666:	89 46 0c             	mov    %eax,0xc(%esi)
410669:	8b 46 0c             	mov    0xc(%esi),%eax
41066c:	89 5e 04             	mov    %ebx,0x4(%esi)
41066f:	24 ef                	and    $0xef,%al
410671:	0c 02                	or     $0x2,%al
410673:	a9 0c 01 00 00       	test   $0x10c,%eax
410678:	89 46 0c             	mov    %eax,0xc(%esi)
41067b:	75 26                	jne    0x4106a3
41067d:	81 fe 50 42 43 00    	cmp    $0x434250,%esi
410683:	74 08                	je     0x41068d
410685:	81 fe 70 42 43 00    	cmp    $0x434270,%esi
41068b:	75 0d                	jne    0x41069a
41068d:	55                   	push   %ebp
41068e:	e8 dd 1a 00 00       	call   0x412170
410693:	83 c4 04             	add    $0x4,%esp
410696:	85 c0                	test   %eax,%eax
410698:	75 09                	jne    0x4106a3
41069a:	56                   	push   %esi
41069b:	e8 70 1a 00 00       	call   0x412110
4106a0:	83 c4 04             	add    $0x4,%esp
4106a3:	f7 46 0c 08 01 00 00 	testl  $0x108,0xc(%esi)
4106aa:	74 6f                	je     0x41071b
4106ac:	8b 46 08             	mov    0x8(%esi),%eax
4106af:	8b 3e                	mov    (%esi),%edi
4106b1:	8b 4e 18             	mov    0x18(%esi),%ecx
4106b4:	2b f8                	sub    %eax,%edi
4106b6:	8d 50 01             	lea    0x1(%eax),%edx
4106b9:	49                   	dec    %ecx
4106ba:	3b fb                	cmp    %ebx,%edi
4106bc:	89 16                	mov    %edx,(%esi)
4106be:	89 4e 04             	mov    %ecx,0x4(%esi)
4106c1:	7e 18                	jle    0x4106db
4106c3:	57                   	push   %edi
4106c4:	50                   	push   %eax
4106c5:	55                   	push   %ebp
4106c6:	e8 b5 17 00 00       	call   0x411e80
4106cb:	8b 56 08             	mov    0x8(%esi),%edx
4106ce:	8b d8                	mov    %eax,%ebx
4106d0:	8a 44 24 20          	mov    0x20(%esp),%al
4106d4:	83 c4 0c             	add    $0xc,%esp
4106d7:	88 02                	mov    %al,(%edx)
4106d9:	eb 56                	jmp    0x410731
4106db:	83 fd ff             	cmp    $0xffffffff,%ebp
4106de:	74 19                	je     0x4106f9
4106e0:	8b d5                	mov    %ebp,%edx
4106e2:	8b c5                	mov    %ebp,%eax
4106e4:	c1 fa 05             	sar    $0x5,%edx
4106e7:	83 e0 1f             	and    $0x1f,%eax
4106ea:	8b 0c 95 a0 89 43 00 	mov    0x4389a0(,%edx,4),%ecx
4106f1:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4106f4:	8d 04 81             	lea    (%ecx,%eax,4),%eax
4106f7:	eb 05                	jmp    0x4106fe
4106f9:	b8 e8 1d 43 00       	mov    $0x431de8,%eax
4106fe:	f6 40 04 20          	testb  $0x20,0x4(%eax)
410702:	74 0c                	je     0x410710
410704:	6a 02                	push   $0x2
410706:	53                   	push   %ebx
410707:	55                   	push   %ebp
410708:	e8 73 16 00 00       	call   0x411d80
41070d:	83 c4 0c             	add    $0xc,%esp
410710:	8b 56 08             	mov    0x8(%esi),%edx
410713:	8a 44 24 14          	mov    0x14(%esp),%al
410717:	88 02                	mov    %al,(%edx)
410719:	eb 16                	jmp    0x410731
41071b:	bf 01 00 00 00       	mov    $0x1,%edi
410720:	8d 4c 24 14          	lea    0x14(%esp),%ecx
410724:	57                   	push   %edi
410725:	51                   	push   %ecx
410726:	55                   	push   %ebp
410727:	e8 54 17 00 00       	call   0x411e80
41072c:	83 c4 0c             	add    $0xc,%esp
41072f:	8b d8                	mov    %eax,%ebx
410731:	3b df                	cmp    %edi,%ebx
410733:	74 10                	je     0x410745
410735:	8b 46 0c             	mov    0xc(%esi),%eax
410738:	0c 20                	or     $0x20,%al
41073a:	89 46 0c             	mov    %eax,0xc(%esi)
41073d:	83 c8 ff             	or     $0xffffffff,%eax
410740:	5f                   	pop    %edi
410741:	5e                   	pop    %esi
410742:	5d                   	pop    %ebp
410743:	5b                   	pop    %ebx
410744:	c3                   	ret
410745:	8b 44 24 14          	mov    0x14(%esp),%eax
410749:	25 ff 00 00 00       	and    $0xff,%eax
41074e:	5f                   	pop    %edi
41074f:	5e                   	pop    %esi
410750:	5d                   	pop    %ebp
410751:	5b                   	pop    %ebx
410752:	c3                   	ret
410753:	0c 20                	or     $0x20,%al
410755:	5f                   	pop    %edi
410756:	89 46 0c             	mov    %eax,0xc(%esi)
410759:	5e                   	pop    %esi
41075a:	5d                   	pop    %ebp
41075b:	83 c8 ff             	or     $0xffffffff,%eax
41075e:	5b                   	pop    %ebx
41075f:	c3                   	ret
410760:	51                   	push   %ecx
410761:	a1 50 74 43 00       	mov    0x437450,%eax
410766:	53                   	push   %ebx
410767:	33 db                	xor    %ebx,%ebx
410769:	55                   	push   %ebp
41076a:	56                   	push   %esi
41076b:	8b 35 34 96 43 00    	mov    0x439634,%esi
410771:	3b c3                	cmp    %ebx,%eax
410773:	57                   	push   %edi
410774:	75 42                	jne    0x4107b8
410776:	8d 44 24 10          	lea    0x10(%esp),%eax
41077a:	50                   	push   %eax
41077b:	6a 01                	push   $0x1
41077d:	68 8c c3 42 00       	push   $0x42c38c
410782:	6a 01                	push   $0x1
410784:	ff d6                	call   *%esi
410786:	85 c0                	test   %eax,%eax
410788:	74 07                	je     0x410791
41078a:	b8 01 00 00 00       	mov    $0x1,%eax
41078f:	eb 22                	jmp    0x4107b3
410791:	8d 4c 24 10          	lea    0x10(%esp),%ecx
410795:	51                   	push   %ecx
410796:	6a 01                	push   $0x1
410798:	68 88 c3 42 00       	push   $0x42c388
41079d:	6a 01                	push   $0x1
41079f:	53                   	push   %ebx
4107a0:	ff 15 30 96 43 00    	call   *0x439630
4107a6:	85 c0                	test   %eax,%eax
4107a8:	0f 84 86 00 00 00    	je     0x410834
4107ae:	b8 02 00 00 00       	mov    $0x2,%eax
4107b3:	a3 50 74 43 00       	mov    %eax,0x437450
4107b8:	83 f8 01             	cmp    $0x1,%eax
4107bb:	75 1c                	jne    0x4107d9
4107bd:	8b 54 24 24          	mov    0x24(%esp),%edx
4107c1:	8b 44 24 20          	mov    0x20(%esp),%eax
4107c5:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4107c9:	52                   	push   %edx
4107ca:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4107ce:	50                   	push   %eax
4107cf:	51                   	push   %ecx
4107d0:	52                   	push   %edx
4107d1:	ff d6                	call   *%esi
4107d3:	5f                   	pop    %edi
4107d4:	5e                   	pop    %esi
4107d5:	5d                   	pop    %ebp
4107d6:	5b                   	pop    %ebx
4107d7:	59                   	pop    %ecx
4107d8:	c3                   	ret
4107d9:	83 f8 02             	cmp    $0x2,%eax
4107dc:	0f 85 fc 00 00 00    	jne    0x4108de
4107e2:	8b 44 24 28          	mov    0x28(%esp),%eax
4107e6:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4107ea:	3b c3                	cmp    %ebx,%eax
4107ec:	75 09                	jne    0x4107f7
4107ee:	a1 80 73 43 00       	mov    0x437380,%eax
4107f3:	89 44 24 28          	mov    %eax,0x28(%esp)
4107f7:	8b 7c 24 20          	mov    0x20(%esp),%edi
4107fb:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4107ff:	8b 54 24 28          	mov    0x28(%esp),%edx
410803:	53                   	push   %ebx
410804:	53                   	push   %ebx
410805:	53                   	push   %ebx
410806:	53                   	push   %ebx
410807:	57                   	push   %edi
410808:	51                   	push   %ecx
410809:	68 20 02 00 00       	push   $0x220
41080e:	52                   	push   %edx
41080f:	ff 15 f8 96 43 00    	call   *0x4396f8
410815:	8b f0                	mov    %eax,%esi
410817:	3b f3                	cmp    %ebx,%esi
410819:	75 08                	jne    0x410823
41081b:	33 c0                	xor    %eax,%eax
41081d:	5f                   	pop    %edi
41081e:	5e                   	pop    %esi
41081f:	5d                   	pop    %ebp
410820:	5b                   	pop    %ebx
410821:	59                   	pop    %ecx
410822:	c3                   	ret
410823:	56                   	push   %esi
410824:	6a 01                	push   $0x1
410826:	e8 05 f7 ff ff       	call   0x40ff30
41082b:	8b e8                	mov    %eax,%ebp
41082d:	83 c4 08             	add    $0x8,%esp
410830:	85 ed                	test   %ebp,%ebp
410832:	75 08                	jne    0x41083c
410834:	33 c0                	xor    %eax,%eax
410836:	5f                   	pop    %edi
410837:	5e                   	pop    %esi
410838:	5d                   	pop    %ebp
410839:	5b                   	pop    %ebx
41083a:	59                   	pop    %ecx
41083b:	c3                   	ret
41083c:	8b 44 24 1c          	mov    0x1c(%esp),%eax
410840:	8b 4c 24 28          	mov    0x28(%esp),%ecx
410844:	6a 00                	push   $0x0
410846:	6a 00                	push   $0x0
410848:	56                   	push   %esi
410849:	55                   	push   %ebp
41084a:	57                   	push   %edi
41084b:	50                   	push   %eax
41084c:	68 20 02 00 00       	push   $0x220
410851:	51                   	push   %ecx
410852:	ff 15 f8 96 43 00    	call   *0x4396f8
410858:	85 c0                	test   %eax,%eax
41085a:	74 6c                	je     0x4108c8
41085c:	8d 54 36 02          	lea    0x2(%esi,%esi,1),%edx
410860:	52                   	push   %edx
410861:	e8 5a bc ff ff       	call   0x40c4c0
410866:	8b d8                	mov    %eax,%ebx
410868:	83 c4 04             	add    $0x4,%esp
41086b:	85 db                	test   %ebx,%ebx
41086d:	74 59                	je     0x4108c8
41086f:	8b 44 24 2c          	mov    0x2c(%esp),%eax
410873:	85 c0                	test   %eax,%eax
410875:	75 05                	jne    0x41087c
410877:	a1 70 73 43 00       	mov    0x437370,%eax
41087c:	8b 4c 24 18          	mov    0x18(%esp),%ecx
410880:	53                   	push   %ebx
410881:	03 ff                	add    %edi,%edi
410883:	56                   	push   %esi
410884:	55                   	push   %ebp
410885:	51                   	push   %ecx
410886:	66 c7 04 3b ff ff    	movw   $0xffff,(%ebx,%edi,1)
41088c:	50                   	push   %eax
41088d:	66 c7 44 3b fe ff ff 	movw   $0xffff,-0x2(%ebx,%edi,1)
410894:	ff 15 30 96 43 00    	call   *0x439630
41089a:	66 81 7c 3b fe ff ff 	cmpw   $0xffff,-0x2(%ebx,%edi,1)
4108a1:	89 44 24 10          	mov    %eax,0x10(%esp)
4108a5:	74 19                	je     0x4108c0
4108a7:	66 81 3c 3b ff ff    	cmpw   $0xffff,(%ebx,%edi,1)
4108ad:	75 11                	jne    0x4108c0
4108af:	8b 54 24 24          	mov    0x24(%esp),%edx
4108b3:	57                   	push   %edi
4108b4:	53                   	push   %ebx
4108b5:	52                   	push   %edx
4108b6:	e8 e5 c6 ff ff       	call   0x40cfa0
4108bb:	83 c4 0c             	add    $0xc,%esp
4108be:	eb 08                	jmp    0x4108c8
4108c0:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
4108c7:	00
4108c8:	55                   	push   %ebp
4108c9:	e8 c2 bc ff ff       	call   0x40c590
4108ce:	83 c4 04             	add    $0x4,%esp
4108d1:	53                   	push   %ebx
4108d2:	e8 b9 bc ff ff       	call   0x40c590
4108d7:	8b 44 24 14          	mov    0x14(%esp),%eax
4108db:	83 c4 04             	add    $0x4,%esp
4108de:	5f                   	pop    %edi
4108df:	5e                   	pop    %esi
4108e0:	5d                   	pop    %ebp
4108e1:	5b                   	pop    %ebx
4108e2:	59                   	pop    %ecx
4108e3:	c3                   	ret
4108e4:	90                   	nop
4108e5:	90                   	nop
4108e6:	90                   	nop