41f507:	8d 4d 08             	lea    0x8(%ebp),%ecx
41f50a:	e8 91 f5 ff ff       	call   0x41eaa0
41f50f:	33 c0                	xor    %eax,%eax
41f511:	eb 4e                	jmp    0x41f561
41f513:	f6 45 f0 02          	testb  $0x2,-0x10(%ebp)
41f517:	75 07                	jne    0x41f520
41f519:	57                   	push   %edi
41f51a:	ff 15 f8 97 43 00    	call   *0x4397f8
41f520:	f6 45 f0 04          	testb  $0x4,-0x10(%ebp)
41f524:	75 2c                	jne    0x41f552
41f526:	8d 85 a8 fe ff ff    	lea    -0x158(%ebp),%eax
41f52c:	50                   	push   %eax
41f52d:	ff 75 0c             	push   0xc(%ebp)
41f530:	ff 15 88 96 43 00    	call   *0x439688
41f536:	83 f8 ff             	cmp    $0xffffffff,%eax
41f539:	74 17                	je     0x41f552
41f53b:	50                   	push   %eax
41f53c:	ff 15 8c 96 43 00    	call   *0x43968c
41f542:	8d 85 d4 fe ff ff    	lea    -0x12c(%ebp),%eax
41f548:	50                   	push   %eax
41f549:	ff 75 ec             	push   -0x14(%ebp)
41f54c:	ff 15 3c 97 43 00    	call   *0x43973c
41f552:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41f556:	8d 4d 08             	lea    0x8(%ebp),%ecx
41f559:	e8 42 f5 ff ff       	call   0x41eaa0
41f55e:	6a 01                	push   $0x1
41f560:	58                   	pop    %eax
41f561:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41f564:	5f                   	pop    %edi
41f565:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41f56c:	5e                   	pop    %esi
41f56d:	c9                   	leave
41f56e:	c2 08 00             	ret    $0x8
41f571:	8b 4c 24 08          	mov    0x8(%esp),%ecx
41f575:	53                   	push   %ebx
41f576:	56                   	push   %esi
41f577:	be 04 01 00 00       	mov    $0x104,%esi
41f57c:	57                   	push   %edi
41f57d:	56                   	push   %esi
41f57e:	e8 9a f5 ff ff       	call   0x41eb1d
41f583:	33 db                	xor    %ebx,%ebx
41f585:	8b f8                	mov    %eax,%edi
41f587:	56                   	push   %esi
41f588:	53                   	push   %ebx
41f589:	57                   	push   %edi
41f58a:	e8 81 ce fe ff       	call   0x40c410
41f58f:	83 c4 0c             	add    $0xc,%esp
41f592:	56                   	push   %esi
41f593:	ff 74 24 14          	push   0x14(%esp)
41f597:	57                   	push   %edi
41f598:	ff 15 2c 97 43 00    	call   *0x43972c
41f59e:	8a 0f                	mov    (%edi),%cl
41f5a0:	8b c7                	mov    %edi,%eax
41f5a2:	3a cb                	cmp    %bl,%cl
41f5a4:	74 22                	je     0x41f5c8
41f5a6:	80 f9 5c             	cmp    $0x5c,%cl
41f5a9:	74 05                	je     0x41f5b0
41f5ab:	80 f9 2f             	cmp    $0x2f,%cl
41f5ae:	75 0d                	jne    0x41f5bd
41f5b0:	8a 48 01             	mov    0x1(%eax),%cl
41f5b3:	80 f9 5c             	cmp    $0x5c,%cl
41f5b6:	74 10                	je     0x41f5c8
41f5b8:	80 f9 2f             	cmp    $0x2f,%cl
41f5bb:	74 0b                	je     0x41f5c8
41f5bd:	50                   	push   %eax
41f5be:	e8 1d dd fe ff       	call   0x40d2e0
41f5c3:	59                   	pop    %ecx
41f5c4:	8a 08                	mov    (%eax),%cl
41f5c6:	eb da                	jmp    0x41f5a2
41f5c8:	38 18                	cmp    %bl,(%eax)
41f5ca:	74 4e                	je     0x41f61a
41f5cc:	40                   	inc    %eax
41f5cd:	40                   	inc    %eax
41f5ce:	8a 08                	mov    (%eax),%cl
41f5d0:	3a cb                	cmp    %bl,%cl
41f5d2:	74 13                	je     0x41f5e7
41f5d4:	80 f9 5c             	cmp    $0x5c,%cl
41f5d7:	74 0e                	je     0x41f5e7
41f5d9:	80 f9 2f             	cmp    $0x2f,%cl
41f5dc:	74 09                	je     0x41f5e7
41f5de:	50                   	push   %eax
41f5df:	e8 fc dc fe ff       	call   0x40d2e0
41f5e4:	59                   	pop    %ecx
41f5e5:	eb e7                	jmp    0x41f5ce
41f5e7:	38 18                	cmp    %bl,(%eax)
41f5e9:	74 07                	je     0x41f5f2
41f5eb:	50                   	push   %eax
41f5ec:	e8 ef dc fe ff       	call   0x40d2e0
41f5f1:	59                   	pop    %ecx
41f5f2:	8a 08                	mov    (%eax),%cl
41f5f4:	3a cb                	cmp    %bl,%cl
41f5f6:	74 0a                	je     0x41f602
41f5f8:	80 f9 5c             	cmp    $0x5c,%cl
41f5fb:	74 05                	je     0x41f602
41f5fd:	80 f9 2f             	cmp    $0x2f,%cl
41f600:	75 e9                	jne    0x41f5eb
41f602:	38 18                	cmp    %bl,(%eax)
41f604:	74 03                	je     0x41f609
41f606:	88 58 01             	mov    %bl,0x1(%eax)
41f609:	8b 4c 24 14          	mov    0x14(%esp),%ecx
41f60d:	6a ff                	push   $0xffffffff
41f60f:	e8 58 f5 ff ff       	call   0x41eb6c
41f614:	5f                   	pop    %edi
41f615:	5e                   	pop    %esi
41f616:	5b                   	pop    %ebx
41f617:	c2 08 00             	ret    $0x8
41f61a:	8a 0f                	mov    (%edi),%cl
41f61c:	8b c7                	mov    %edi,%eax
41f61e:	3a cb                	cmp    %bl,%cl
41f620:	74 e0                	je     0x41f602
41f622:	80 f9 5c             	cmp    $0x5c,%cl
41f625:	74 db                	je     0x41f602
41f627:	80 f9 2f             	cmp    $0x2f,%cl
41f62a:	74 d6                	je     0x41f602
41f62c:	50                   	push   %eax
41f62d:	e8 ae dc fe ff       	call   0x40d2e0
41f632:	59                   	pop    %ecx
41f633:	8a 08                	mov    (%eax),%cl
41f635:	eb e7                	jmp    0x41f61e
41f637:	53                   	push   %ebx
41f638:	56                   	push   %esi
41f639:	57                   	push   %edi
41f63a:	83 cb ff             	or     $0xffffffff,%ebx
41f63d:	e8 05 51 00 00       	call   0x424747
41f642:	ff 74 24 1c          	push   0x1c(%esp)
41f646:	8b 78 04             	mov    0x4(%eax),%edi
41f649:	ff 74 24 1c          	push   0x1c(%esp)
41f64d:	ff 74 24 1c          	push   0x1c(%esp)
41f651:	ff 74 24 1c          	push   0x1c(%esp)
41f655:	e8 87 5f 00 00       	call   0x4255e1
41f65a:	85 c0                	test   %eax,%eax
41f65c:	74 31                	je     0x41f68f
41f65e:	8b 37                	mov    (%edi),%esi
41f660:	8b cf                	mov    %edi,%ecx
41f662:	ff 96 8c 00 00 00    	call   *0x8c(%esi)
41f668:	85 c0                	test   %eax,%eax
41f66a:	74 23                	je     0x41f68f
41f66c:	8b cf                	mov    %edi,%ecx
41f66e:	ff 56 58             	call   *0x58(%esi)
41f671:	85 c0                	test   %eax,%eax
41f673:	75 13                	jne    0x41f688
41f675:	8b 4f 1c             	mov    0x1c(%edi),%ecx
41f678:	85 c9                	test   %ecx,%ecx
41f67a:	74 05                	je     0x41f681
41f67c:	8b 01                	mov    (%ecx),%eax
41f67e:	ff 50 60             	call   *0x60(%eax)
41f681:	8b cf                	mov    %edi,%ecx
41f683:	ff 56 70             	call   *0x70(%esi)
41f686:	eb 05                	jmp    0x41f68d
41f688:	8b cf                	mov    %edi,%ecx
41f68a:	ff 56 5c             	call   *0x5c(%esi)
41f68d:	8b d8                	mov    %eax,%ebx
41f68f:	e8 d6 61 00 00       	call   0x42586a
41f694:	5f                   	pop    %edi
41f695:	8b c3                	mov    %ebx,%eax
41f697:	5e                   	pop    %esi
41f698:	5b                   	pop    %ebx
41f699:	c2 10 00             	ret    $0x10
41f69c:	8b c1                	mov    %ecx,%eax
41f69e:	33 c9                	xor    %ecx,%ecx
41f6a0:	c7 00 7c af 42 00    	movl   $0x42af7c,(%eax)
41f6a6:	89 48 04             	mov    %ecx,0x4(%eax)
41f6a9:	89 48 08             	mov    %ecx,0x8(%eax)
41f6ac:	89 48 0c             	mov    %ecx,0xc(%eax)
41f6af:	c3                   	ret
41f6b0:	56                   	push   %esi
41f6b1:	8b f1                	mov    %ecx,%esi
41f6b3:	e8 2c 01 00 00       	call   0x41f7e4
41f6b8:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
41f6bd:	74 07                	je     0x41f6c6
41f6bf:	56                   	push   %esi
41f6c0:	e8 78 d6 ff ff       	call   0x41cd3d
41f6c5:	59                   	pop    %ecx
41f6c6:	8b c6                	mov    %esi,%eax
41f6c8:	5e                   	pop    %esi
41f6c9:	c2 04 00             	ret    $0x4
41f6cc:	6a 00                	push   $0x0
41f6ce:	e8 0d 00 00 00       	call   0x41f6e0
41f6d3:	85 c0                	test   %eax,%eax
41f6d5:	59                   	pop    %ecx
41f6d6:	74 07                	je     0x41f6df
41f6d8:	8b c8                	mov    %eax,%ecx
41f6da:	e9 f5 f8 ff ff       	jmp    0x41efd4
41f6df:	c3                   	ret
41f6e0:	b8 3a 7b 42 00       	mov    $0x427b3a,%eax
41f6e5:	e8 46 c5 fe ff       	call   0x40bc30
41f6ea:	56                   	push   %esi
41f6eb:	e8 7d 50 00 00       	call   0x42476d
41f6f0:	8b f0                	mov    %eax,%esi
41f6f2:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
41f6f6:	75 48                	jne    0x41f740
41f6f8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41f6fc:	74 42                	je     0x41f740
41f6fe:	53                   	push   %ebx
41f6ff:	68 92 01 42 00       	push   $0x420192
41f704:	e8 e4 d5 ff ff       	call   0x41cced
41f709:	6a 44                	push   $0x44
41f70b:	8b d8                	mov    %eax,%ebx
41f70d:	e8 ef d5 ff ff       	call   0x41cd01
41f712:	59                   	pop    %ecx
41f713:	8b c8                	mov    %eax,%ecx
41f715:	89 4d 08             	mov    %ecx,0x8(%ebp)
41f718:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41f71c:	85 c9                	test   %ecx,%ecx
41f71e:	74 10                	je     0x41f730
41f720:	6a 02                	push   $0x2
41f722:	6a 04                	push   $0x4
41f724:	68 e0 ad 42 00       	push   $0x42ade0
41f729:	e8 6f f7 ff ff       	call   0x41ee9d
41f72e:	eb 02                	jmp    0x41f732
41f730:	33 c0                	xor    %eax,%eax
41f732:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41f736:	53                   	push   %ebx
41f737:	89 46 1c             	mov    %eax,0x1c(%esi)
41f73a:	e8 ae d5 ff ff       	call   0x41cced
41f73f:	5b                   	pop    %ebx
41f740:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41f743:	8b 46 1c             	mov    0x1c(%esi),%eax
41f746:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41f74d:	5e                   	pop    %esi
41f74e:	c9                   	leave
41f74f:	c3                   	ret
41f750:	6a 01                	push   $0x1
41f752:	e8 89 ff ff ff       	call   0x41f6e0
41f757:	59                   	pop    %ecx
41f758:	ff 74 24 04          	push   0x4(%esp)
41f75c:	8b c8                	mov    %eax,%ecx
41f75e:	e8 96 f7 ff ff       	call   0x41eef9
41f763:	c2 04 00             	ret    $0x4
41f766:	56                   	push   %esi
41f767:	57                   	push   %edi
41f768:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41f76c:	8b f1                	mov    %ecx,%esi
41f76e:	85 ff                	test   %edi,%edi
41f770:	75 04                	jne    0x41f776
41f772:	33 c0                	xor    %eax,%eax
41f774:	eb 22                	jmp    0x41f798
41f776:	6a 01                	push   $0x1
41f778:	e8 63 ff ff ff       	call   0x41f6e0
41f77d:	59                   	pop    %ecx
41f77e:	89 7e 04             	mov    %edi,0x4(%esi)
41f781:	57                   	push   %edi
41f782:	8b c8                	mov    %eax,%ecx
41f784:	e8 16 a4 ff ff       	call   0x419b9f
41f789:	89 30                	mov    %esi,(%eax)
41f78b:	8b 06                	mov    (%esi),%eax
41f78d:	ff 76 04             	push   0x4(%esi)
41f790:	8b ce                	mov    %esi,%ecx
41f792:	ff 50 14             	call   *0x14(%eax)
41f795:	6a 01                	push   $0x1
41f797:	58                   	pop    %eax
41f798:	5f                   	pop    %edi
41f799:	5e                   	pop    %esi
41f79a:	c2 04 00             	ret    $0x4
41f79d:	56                   	push   %esi
41f79e:	8b f1                	mov    %ecx,%esi
41f7a0:	57                   	push   %edi
41f7a1:	8b 7e 04             	mov    0x4(%esi),%edi
41f7a4:	85 ff                	test   %edi,%edi
41f7a6:	74 16                	je     0x41f7be
41f7a8:	6a 00                	push   $0x0
41f7aa:	e8 31 ff ff ff       	call   0x41f6e0
41f7af:	85 c0                	test   %eax,%eax
41f7b1:	59                   	pop    %ecx
41f7b2:	74 0a                	je     0x41f7be
41f7b4:	ff 76 04             	push   0x4(%esi)
41f7b7:	8b c8                	mov    %eax,%ecx
41f7b9:	e8 31 a4 ff ff       	call   0x419bef
41f7be:	8b 06                	mov    (%esi),%eax
41f7c0:	8b ce                	mov    %esi,%ecx
41f7c2:	ff 50 1c             	call   *0x1c(%eax)
41f7c5:	83 66 04 00          	andl   $0x0,0x4(%esi)
41f7c9:	8b c7                	mov    %edi,%eax
41f7cb:	5f                   	pop    %edi
41f7cc:	5e                   	pop    %esi
41f7cd:	c3                   	ret
41f7ce:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
41f7d2:	75 03                	jne    0x41f7d7
41f7d4:	33 c0                	xor    %eax,%eax
41f7d6:	c3                   	ret
41f7d7:	e8 c1 ff ff ff       	call   0x41f79d
41f7dc:	50                   	push   %eax
41f7dd:	ff 15 a8 95 43 00    	call   *0x4395a8
41f7e3:	c3                   	ret
41f7e4:	b8 4c 7b 42 00       	mov    $0x427b4c,%eax
41f7e9:	e8 42 c4 fe ff       	call   0x40bc30
41f7ee:	51                   	push   %ecx
41f7ef:	56                   	push   %esi
41f7f0:	8b f1                	mov    %ecx,%esi
41f7f2:	89 75 f0             	mov    %esi,-0x10(%ebp)
41f7f5:	c7 06 7c af 42 00    	movl   $0x42af7c,(%esi)
41f7fb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41f7ff:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
41f803:	74 0c                	je     0x41f811
41f805:	e8 93 ff ff ff       	call   0x41f79d
41f80a:	50                   	push   %eax
41f80b:	ff 15 a8 95 43 00    	call   *0x4395a8
41f811:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41f814:	c7 06 84 a3 42 00    	movl   $0x42a384,(%esi)
41f81a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41f821:	5e                   	pop    %esi
41f822:	c9                   	leave
41f823:	c3                   	ret
41f824:	8b 44 24 04          	mov    0x4(%esp),%eax
41f828:	89 41 08             	mov    %eax,0x8(%ecx)
41f82b:	c2 04 00             	ret    $0x4
41f82e:	8b 44 24 04          	mov    0x4(%esp),%eax
41f832:	89 41 04             	mov    %eax,0x4(%ecx)
41f835:	c2 04 00             	ret    $0x4
41f838:	83 61 08 00          	andl   $0x0,0x8(%ecx)
41f83c:	c3                   	ret
41f83d:	83 61 04 00          	andl   $0x0,0x4(%ecx)
41f841:	c3                   	ret
41f842:	51                   	push   %ecx
41f843:	53                   	push   %ebx
41f844:	56                   	push   %esi
41f845:	8b f1                	mov    %ecx,%esi
41f847:	57                   	push   %edi
41f848:	8b 3d a4 95 43 00    	mov    0x4395a4,%edi
41f84e:	8b 46 08             	mov    0x8(%esi),%eax
41f851:	85 c0                	test   %eax,%eax
41f853:	74 07                	je     0x41f85c
41f855:	50                   	push   %eax
41f856:	ff d7                	call   *%edi
41f858:	8b d8                	mov    %eax,%ebx
41f85a:	eb 04                	jmp    0x41f860
41f85c:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
41f860:	8b 46 04             	mov    0x4(%esi),%eax
41f863:	3b 46 08             	cmp    0x8(%esi),%eax
41f866:	74 0a                	je     0x41f872
41f868:	50                   	push   %eax
41f869:	ff d7                	call   *%edi
41f86b:	85 c0                	test   %eax,%eax
41f86d:	74 03                	je     0x41f872
41f86f:	83 cb ff             	or     $0xffffffff,%ebx
41f872:	5f                   	pop    %edi
41f873:	8b c3                	mov    %ebx,%eax
41f875:	5e                   	pop    %esi
41f876:	5b                   	pop    %ebx
41f877:	59                   	pop    %ecx
41f878:	c3                   	ret
41f879:	56                   	push   %esi
41f87a:	8b f1                	mov    %ecx,%esi
41f87c:	57                   	push   %edi
41f87d:	8b 3d a0 95 43 00    	mov    0x4395a0,%edi
41f883:	8b 4e 04             	mov    0x4(%esi),%ecx
41f886:	6a 01                	push   $0x1
41f888:	3b 4e 08             	cmp    0x8(%esi),%ecx
41f88b:	58                   	pop    %eax
41f88c:	74 07                	je     0x41f895