410558:	8b ca                	mov    %edx,%ecx
41055a:	89 54 24 40          	mov    %edx,0x40(%esp)
41055e:	8b 10                	mov    (%eax),%edx
410560:	8b 44 24 40          	mov    0x40(%esp),%eax
410564:	89 4c 24 48          	mov    %ecx,0x48(%esp)
410568:	8b 4c 24 30          	mov    0x30(%esp),%ecx
41056c:	8b 09                	mov    (%ecx),%ecx
41056e:	85 c0                	test   %eax,%eax
410570:	74 18                	je     0x41058a
410572:	66 8b 02             	mov    (%edx),%ax
410575:	66 3b 01             	cmp    (%ecx),%ax
410578:	75 18                	jne    0x410592
41057a:	83 c2 02             	add    $0x2,%edx
41057d:	83 c1 02             	add    $0x2,%ecx
410580:	ff 4c 24 48          	decl   0x48(%esp)
410584:	75 ec                	jne    0x410572
410586:	8b 44 24 40          	mov    0x40(%esp),%eax
41058a:	3b 44 24 44          	cmp    0x44(%esp),%eax
41058e:	72 04                	jb     0x410594
410590:	eb 25                	jmp    0x4105b7
410592:	73 23                	jae    0x4105b7
410594:	8b 4c 24 38          	mov    0x38(%esp),%ecx
410598:	8b 31                	mov    (%ecx),%esi
41059a:	8b 46 18             	mov    0x18(%esi),%eax
41059d:	89 01                	mov    %eax,(%ecx)
41059f:	a1 e0 20 4c 00       	mov    0x4c20e0,%eax
4105a4:	89 46 18             	mov    %eax,0x18(%esi)
4105a7:	89 35 e0 20 4c 00    	mov    %esi,0x4c20e0
4105ad:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
4105b1:	0f 84 fa fe ff ff    	je     0x4104b1
4105b7:	8b 4c 24 68          	mov    0x68(%esp),%ecx
4105bb:	89 71 1c             	mov    %esi,0x1c(%ecx)
4105be:	a1 e0 20 4c 00       	mov    0x4c20e0,%eax
4105c3:	89 44 24 68          	mov    %eax,0x68(%esp)
4105c7:	8b 70 1c             	mov    0x1c(%eax),%esi
4105ca:	8b 44 24 30          	mov    0x30(%esp),%eax
4105ce:	89 35 e0 20 4c 00    	mov    %esi,0x4c20e0
4105d4:	e9 6c fe ff ff       	jmp    0x410445
4105d9:	8d 44 24 20          	lea    0x20(%esp),%eax
4105dd:	50                   	push   %eax
4105de:	8d 44 24 58          	lea    0x58(%esp),%eax
4105e2:	50                   	push   %eax
4105e3:	e8 28 17 00 00       	call   0x411d10
4105e8:	85 c0                	test   %eax,%eax
4105ea:	0f 88 b1 0f 00 00    	js     0x4115a1
4105f0:	8b 5c 24 58          	mov    0x58(%esp),%ebx
4105f4:	89 5c 24 34          	mov    %ebx,0x34(%esp)
4105f8:	e9 a3 f9 ff ff       	jmp    0x40ffa0
4105fd:	8b 06                	mov    (%esi),%eax
4105ff:	8b 5c 24 30          	mov    0x30(%esp),%ebx
410603:	89 44 24 38          	mov    %eax,0x38(%esp)
410607:	8b 03                	mov    (%ebx),%eax
410609:	8b 5c 24 34          	mov    0x34(%esp),%ebx
41060d:	89 44 24 40          	mov    %eax,0x40(%esp)
410611:	85 c9                	test   %ecx,%ecx
410613:	0f 84 09 02 00 00    	je     0x410822
410619:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
410620:	8b 5c 24 38          	mov    0x38(%esp),%ebx
410624:	66 8b 00             	mov    (%eax),%ax
410627:	66 3b 03             	cmp    (%ebx),%ax
41062a:	8b 5c 24 34          	mov    0x34(%esp),%ebx
41062e:	8b 44 24 40          	mov    0x40(%esp),%eax
410632:	0f 84 d7 01 00 00    	je     0x41080f
410638:	0f b7 00             	movzwl (%eax),%eax
41063b:	8b 4c 24 38          	mov    0x38(%esp),%ecx
41063f:	66 3b 01             	cmp    (%ecx),%ax
410642:	1b c0                	sbb    %eax,%eax
410644:	83 e0 fe             	and    $0xfffffffe,%eax
410647:	40                   	inc    %eax
410648:	e9 51 fe ff ff       	jmp    0x41049e
41064d:	0f b7 02             	movzwl (%edx),%eax
410650:	66 3b 01             	cmp    (%ecx),%ax
410653:	1b c0                	sbb    %eax,%eax
410655:	83 e0 fe             	and    $0xfffffffe,%eax
410658:	40                   	inc    %eax
410659:	e9 3c fe ff ff       	jmp    0x41049a
41065e:	8b 4e 18             	mov    0x18(%esi),%ecx
410661:	8d 46 18             	lea    0x18(%esi),%eax
410664:	89 44 24 44          	mov    %eax,0x44(%esp)
410668:	85 c9                	test   %ecx,%ecx
41066a:	0f 84 41 fe ff ff    	je     0x4104b1
410670:	8b 41 04             	mov    0x4(%ecx),%eax
410673:	3b d0                	cmp    %eax,%edx
410675:	0f 87 08 0b 00 00    	ja     0x411183
41067b:	8b 01                	mov    (%ecx),%eax
41067d:	8b 5c 24 30          	mov    0x30(%esp),%ebx
410681:	89 44 24 38          	mov    %eax,0x38(%esp)
410685:	8b 03                	mov    (%ebx),%eax
410687:	8b 5c 24 34          	mov    0x34(%esp),%ebx
41068b:	89 54 24 48          	mov    %edx,0x48(%esp)
41068f:	89 44 24 40          	mov    %eax,0x40(%esp)
410693:	85 d2                	test   %edx,%edx
410695:	74 2f                	je     0x4106c6
410697:	eb 07                	jmp    0x4106a0
410699:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4106a0:	8b 5c 24 38          	mov    0x38(%esp),%ebx
4106a4:	66 8b 00             	mov    (%eax),%ax
4106a7:	66 3b 03             	cmp    (%ebx),%ax
4106aa:	8b 5c 24 34          	mov    0x34(%esp),%ebx
4106ae:	8b 44 24 40          	mov    0x40(%esp),%eax
4106b2:	75 19                	jne    0x4106cd
4106b4:	83 44 24 38 02       	addl   $0x2,0x38(%esp)
4106b9:	83 c0 02             	add    $0x2,%eax
4106bc:	ff 4c 24 48          	decl   0x48(%esp)
4106c0:	89 44 24 40          	mov    %eax,0x40(%esp)
4106c4:	75 da                	jne    0x4106a0
4106c6:	3b 51 04             	cmp    0x4(%ecx),%edx
4106c9:	72 0e                	jb     0x4106d9
4106cb:	eb 2f                	jmp    0x4106fc
4106cd:	8b 54 24 38          	mov    0x38(%esp),%edx
4106d1:	66 8b 00             	mov    (%eax),%ax
4106d4:	66 3b 02             	cmp    (%edx),%ax
4106d7:	73 23                	jae    0x4106fc
4106d9:	8b f1                	mov    %ecx,%esi
4106db:	8b 4c 24 44          	mov    0x44(%esp),%ecx
4106df:	8b 46 1c             	mov    0x1c(%esi),%eax
4106e2:	89 01                	mov    %eax,(%ecx)
4106e4:	a1 e0 20 4c 00       	mov    0x4c20e0,%eax
4106e9:	89 46 1c             	mov    %eax,0x1c(%esi)
4106ec:	89 35 e0 20 4c 00    	mov    %esi,0x4c20e0
4106f2:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
4106f6:	0f 84 b5 fd ff ff    	je     0x4104b1
4106fc:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
410700:	89 71 18             	mov    %esi,0x18(%ecx)
410703:	a1 e0 20 4c 00       	mov    0x4c20e0,%eax
410708:	89 44 24 3c          	mov    %eax,0x3c(%esp)
41070c:	8b 70 18             	mov    0x18(%eax),%esi
41070f:	8b 44 24 30          	mov    0x30(%esp),%eax
410713:	89 35 e0 20 4c 00    	mov    %esi,0x4c20e0
410719:	e9 27 fd ff ff       	jmp    0x410445
41071e:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
410723:	0f 85 7b 06 00 00    	jne    0x410da4
410729:	6a 18                	push   $0x18
41072b:	e8 ba ed 00 00       	call   0x41f4ea
410730:	8b f0                	mov    %eax,%esi
410732:	83 c4 04             	add    $0x4,%esp
410735:	85 f6                	test   %esi,%esi
410737:	0f 84 2d 0e 00 00    	je     0x41156a
41073d:	68 20 22 4c 00       	push   $0x4c2220
410742:	8b ce                	mov    %esi,%ecx
410744:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
41074b:	e8 d0 0f 00 00       	call   0x411720
410750:	8b 44 24 10          	mov    0x10(%esp),%eax
410754:	89 46 10             	mov    %eax,0x10(%esi)
410757:	8b c6                	mov    %esi,%eax
410759:	8b 74 24 24          	mov    0x24(%esp),%esi
41075d:	89 44 24 10          	mov    %eax,0x10(%esp)
410761:	89 44 24 28          	mov    %eax,0x28(%esp)
410765:	e9 f6 f8 ff ff       	jmp    0x410060
41076a:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
41076f:	0f 85 fc 0d 00 00    	jne    0x411571
410775:	89 44 24 6c          	mov    %eax,0x6c(%esp)
410779:	e9 f4 f8 ff ff       	jmp    0x410072
41077e:	8b 5c 24 10          	mov    0x10(%esp),%ebx
410782:	8b 4b 08             	mov    0x8(%ebx),%ecx
410785:	8b 73 10             	mov    0x10(%ebx),%esi
410788:	89 4c 24 48          	mov    %ecx,0x48(%esp)
41078c:	85 c9                	test   %ecx,%ecx
41078e:	0f 85 16 0a 00 00    	jne    0x4111aa
410794:	8b 43 0c             	mov    0xc(%ebx),%eax
410797:	83 f8 05             	cmp    $0x5,%eax
41079a:	0f 8d 81 0b 00 00    	jge    0x411321
4107a0:	53                   	push   %ebx
4107a1:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
4107a8:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
4107ae:	e8 ab ed 00 00       	call   0x41f55e
4107b3:	83 c4 04             	add    $0x4,%esp
4107b6:	8b de                	mov    %esi,%ebx
4107b8:	85 f6                	test   %esi,%esi
4107ba:	75 c6                	jne    0x410782
4107bc:	8b 5c 24 34          	mov    0x34(%esp),%ebx
4107c0:	e9 1c f8 ff ff       	jmp    0x40ffe1
4107c5:	8b d0                	mov    %eax,%edx
4107c7:	e9 b4 f9 ff ff       	jmp    0x410180
4107cc:	83 3d 2c 22 4c 00 04 	cmpl   $0x4,0x4c222c
4107d3:	0f 85 98 fb ff ff    	jne    0x410371
4107d9:	e9 7f 99 06 00       	jmp    0x47a15d
4107de:	8b 46 0c             	mov    0xc(%esi),%eax
4107e1:	ff 08                	decl   (%eax)
4107e3:	8b 46 0c             	mov    0xc(%esi),%eax
4107e6:	83 38 00             	cmpl   $0x0,(%eax)
4107e9:	0f 84 81 99 06 00    	je     0x47a170
4107ef:	56                   	push   %esi
4107f0:	e8 69 ed 00 00       	call   0x41f55e
4107f5:	83 c4 04             	add    $0x4,%esp
4107f8:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4107ff:	e9 78 fb ff ff       	jmp    0x41037c
410804:	8b c2                	mov    %edx,%eax
410806:	89 54 24 60          	mov    %edx,0x60(%esp)
41080a:	e9 ea f9 ff ff       	jmp    0x4101f9
41080f:	83 44 24 38 02       	addl   $0x2,0x38(%esp)
410814:	83 c0 02             	add    $0x2,%eax
410817:	89 44 24 40          	mov    %eax,0x40(%esp)
41081b:	49                   	dec    %ecx
41081c:	0f 85 fe fd ff ff    	jne    0x410620
410822:	33 c0                	xor    %eax,%eax
410824:	e9 75 fc ff ff       	jmp    0x41049e
410829:	8d 41 01             	lea    0x1(%ecx),%eax
41082c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41082f:	be 0d 00 00 00       	mov    $0xd,%esi
410834:	89 01                	mov    %eax,(%ecx)
410836:	e9 5d f7 ff ff       	jmp    0x40ff98
41083b:	89 33                	mov    %esi,(%ebx)
41083d:	c6 44 24 5d 00       	movb   $0x0,0x5d(%esp)
410842:	e9 a2 fa ff ff       	jmp    0x4102e9
410847:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
41084c:	0f 85 e5 06 00 00    	jne    0x410f37
410852:	6a 18                	push   $0x18
410854:	e8 91 ec 00 00       	call   0x41f4ea
410859:	8b f0                	mov    %eax,%esi
41085b:	83 c4 04             	add    $0x4,%esp
41085e:	85 f6                	test   %esi,%esi
410860:	0f 84 f5 0c 00 00    	je     0x41155b
410866:	68 20 22 4c 00       	push   $0x4c2220
41086b:	8b ce                	mov    %esi,%ecx
41086d:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
410874:	e8 a7 0e 00 00       	call   0x411720
410879:	8b 44 24 10          	mov    0x10(%esp),%eax
41087d:	8b d6                	mov    %esi,%edx
41087f:	89 46 10             	mov    %eax,0x10(%esi)
410882:	8b 74 24 24          	mov    0x24(%esp),%esi
410886:	89 54 24 10          	mov    %edx,0x10(%esp)
41088a:	89 54 24 28          	mov    %edx,0x28(%esp)
41088e:	e9 16 fb ff ff       	jmp    0x4103a9
410893:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
410898:	0f 85 c4 0c 00 00    	jne    0x411562
41089e:	8b f2                	mov    %edx,%esi
4108a0:	e9 22 fb ff ff       	jmp    0x4103c7
4108a5:	84 c9                	test   %cl,%cl
4108a7:	0f 84 48 05 00 00    	je     0x410df5
4108ad:	8b 43 04             	mov    0x4(%ebx),%eax
4108b0:	83 38 12             	cmpl   $0x12,(%eax)
4108b3:	0f 84 7c 00 00 00    	je     0x410935
4108b9:	84 c9                	test   %cl,%cl
4108bb:	0f 85 6e 06 00 00    	jne    0x410f2f
4108c1:	8b c3                	mov    %ebx,%eax
4108c3:	83 38 14             	cmpl   $0x14,(%eax)
4108c6:	0f 84 de 0c 00 00    	je     0x4115aa
4108cc:	8d 44 24 20          	lea    0x20(%esp),%eax
4108d0:	50                   	push   %eax
4108d1:	8d 44 24 58          	lea    0x58(%esp),%eax
4108d5:	50                   	push   %eax
4108d6:	e8 35 14 00 00       	call   0x411d10
4108db:	85 c0                	test   %eax,%eax
4108dd:	0f 88 be 0c 00 00    	js     0x4115a1
4108e3:	8b 5c 24 58          	mov    0x58(%esp),%ebx
4108e7:	8a 4c 24 5d          	mov    0x5d(%esp),%cl
4108eb:	89 5c 24 34          	mov    %ebx,0x34(%esp)
4108ef:	eb b4                	jmp    0x4108a5
4108f1:	85 c9                	test   %ecx,%ecx
4108f3:	74 1c                	je     0x410911
4108f5:	8b 44 8e fc          	mov    -0x4(%esi,%ecx,4),%eax
4108f9:	0f b7 40 08          	movzwl 0x8(%eax),%eax
4108fd:	66 83 f8 48          	cmp    $0x48,%ax
410901:	0f 84 6c 94 06 00    	je     0x479d73
410907:	66 83 f8 4f          	cmp    $0x4f,%ax
41090b:	0f 84 62 94 06 00    	je     0x479d73
410911:	8d 41 01             	lea    0x1(%ecx),%eax
410914:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410917:	be 12 00 00 00       	mov    $0x12,%esi
41091c:	89 01                	mov    %eax,(%ecx)
41091e:	e9 75 f6 ff ff       	jmp    0x40ff98
410923:	8d 41 01             	lea    0x1(%ecx),%eax
410926:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410929:	be 13 00 00 00       	mov    $0x13,%esi
41092e:	89 01                	mov    %eax,(%ecx)
410930:	e9 63 f6 ff ff       	jmp    0x40ff98
410935:	84 c9                	test   %cl,%cl
410937:	74 1a                	je     0x410953
410939:	8b 73 04             	mov    0x4(%ebx),%esi
41093c:	53                   	push   %ebx
41093d:	e8 1c ec 00 00       	call   0x41f55e
410942:	8b de                	mov    %esi,%ebx
410944:	8b 74 24 1c          	mov    0x1c(%esp),%esi
410948:	83 c4 04             	add    $0x4,%esp
41094b:	89 5c 24 34          	mov    %ebx,0x34(%esp)
41094f:	89 5c 24 58          	mov    %ebx,0x58(%esp)
410953:	80 7c 24 5c 00       	cmpb   $0x0,0x5c(%esp)
410958:	0f 84 f6 9c 06 00    	je     0x47a654
41095e:	c6 44 24 5d 01       	movb   $0x1,0x5d(%esp)
410963:	ff 4c 24 54          	decl   0x54(%esp)
410967:	e9 81 f9 ff ff       	jmp    0x4102ed
41096c:	8d 41 01             	lea    0x1(%ecx),%eax
41096f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410972:	be 01 00 00 00       	mov    $0x1,%esi
410977:	89 01                	mov    %eax,(%ecx)
410979:	e9 1a f6 ff ff       	jmp    0x40ff98
41097e:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
410983:	c7 44 24 18 16 00 00 	movl   $0x16,0x18(%esp)
41098a:	00
41098b:	0f 84 87 08 00 00    	je     0x411218
410991:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
410996:	0f 85 03 09 00 00    	jne    0x41129f
41099c:	6a 18                	push   $0x18
41099e:	e8 47 eb 00 00       	call   0x41f4ea
4109a3:	8b f0                	mov    %eax,%esi
4109a5:	83 c4 04             	add    $0x4,%esp
4109a8:	85 f6                	test   %esi,%esi
4109aa:	0f 84 7d 0b 00 00    	je     0x41152d
4109b0:	68 20 22 4c 00       	push   $0x4c2220
4109b5:	8b ce                	mov    %esi,%ecx
4109b7:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4109be:	e8 5d 0d 00 00       	call   0x411720
4109c3:	8b 44 24 10          	mov    0x10(%esp),%eax
4109c7:	89 46 10             	mov    %eax,0x10(%esi)
4109ca:	8b c6                	mov    %esi,%eax
4109cc:	89 44 24 10          	mov    %eax,0x10(%esp)
4109d0:	89 44 24 28          	mov    %eax,0x28(%esp)
4109d4:	8b 45 08             	mov    0x8(%ebp),%eax
4109d7:	8b 75 0c             	mov    0xc(%ebp),%esi
4109da:	8b 50 04             	mov    0x4(%eax),%edx
4109dd:	8b 0e                	mov    (%esi),%ecx
4109df:	ff 44 24 24          	incl   0x24(%esp)
4109e3:	8b 44 8a 04          	mov    0x4(%edx,%ecx,4),%eax
4109e7:	66 83 78 08 47       	cmpw   $0x47,0x8(%eax)
4109ec:	0f 85 ae 8f 06 00    	jne    0x4799a0
4109f2:	83 7c 24 24 01       	cmpl   $0x1,0x24(%esp)
4109f7:	0f 84 2c 08 00 00    	je     0x411229
4109fd:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
410a02:	8b 44 24 10          	mov    0x10(%esp),%eax
410a06:	0f 85 28 0b 00 00    	jne    0x411534
410a0c:	89 44 24 30          	mov    %eax,0x30(%esp)
410a10:	c7 44 24 70 50 dc 49 	movl   $0x49dc50,0x70(%esp)
410a17:	00
410a18:	c7 44 24 74 00 00 00 	movl   $0x0,0x74(%esp)
410a1f:	00
410a20:	c7 44 24 78 00 00 00 	movl   $0x0,0x78(%esp)
410a27:	00
410a28:	c7 44 24 7c 00 00 00 	movl   $0x0,0x7c(%esp)
410a2f:	00
410a30:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
410a33:	8b 08                	mov    (%eax),%ecx
410a35:	0f bf 40 0a          	movswl 0xa(%eax),%eax
410a39:	89 44 24 40          	mov    %eax,0x40(%esp)
410a3d:	a1 14 22 4c 00       	mov    0x4c2214,%eax
410a42:	89 4c 24 60          	mov    %ecx,0x60(%esp)
410a46:	a8 01                	test   $0x1,%al
410a48:	0f 84 6e 8f 06 00    	je     0x4799bc
410a4e:	3b 0d 18 22 4c 00    	cmp    0x4c2218,%ecx
410a54:	0f 84 a2 8f 06 00    	je     0x4799fc
410a5a:	8b 45 08             	mov    0x8(%ebp),%eax
410a5d:	ff 06                	incl   (%esi)
410a5f:	8b 0e                	mov    (%esi),%ecx
410a61:	8b 50 04             	mov    0x4(%eax),%edx
410a64:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
410a67:	66 83 78 08 47       	cmpw   $0x47,0x8(%eax)
410a6c:	0f 85 ef 9c 06 00    	jne    0x47a761
410a72:	8d 41 01             	lea    0x1(%ecx),%eax
410a75:	89 06                	mov    %eax,(%esi)
410a77:	89 44 24 48          	mov    %eax,0x48(%esp)