41c35e:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c361:	53                   	push   %ebx
41c362:	56                   	push   %esi
41c363:	57                   	push   %edi
41c364:	50                   	push   %eax
41c365:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c368:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c36e:	8b 45 0c             	mov    0xc(%ebp),%eax
41c371:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
41c377:	8b 45 14             	mov    0x14(%ebp),%eax
41c37a:	8b 75 10             	mov    0x10(%ebp),%esi
41c37d:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41c383:	8b 45 1c             	mov    0x1c(%ebp),%eax
41c386:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
41c38c:	8b 45 18             	mov    0x18(%ebp),%eax
41c38f:	8b 40 30             	mov    0x30(%eax),%eax
41c392:	8b 58 04             	mov    0x4(%eax),%ebx
41c395:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
41c39b:	8b 03                	mov    (%ebx),%eax
41c39d:	8b 78 04             	mov    0x4(%eax),%edi
41c3a0:	8b cf                	mov    %edi,%ecx
41c3a2:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c3a8:	8b cb                	mov    %ebx,%ecx
41c3aa:	ff d7                	call   *%edi
41c3ac:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
41c3b2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41c3b9:	50                   	push   %eax
41c3ba:	e8 71 cb ff ff       	call   0x418f30
41c3bf:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41c3c6:	83 c4 04             	add    $0x4,%esp
41c3c9:	8b 9d 60 ff ff ff    	mov    -0xa0(%ebp),%ebx
41c3cf:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
41c3d5:	85 db                	test   %ebx,%ebx
41c3d7:	74 29                	je     0x41c402
41c3d9:	8b 13                	mov    (%ebx),%edx
41c3db:	8b 7a 08             	mov    0x8(%edx),%edi
41c3de:	8b cf                	mov    %edi,%ecx
41c3e0:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c3e6:	8b cb                	mov    %ebx,%ecx
41c3e8:	ff d7                	call   *%edi
41c3ea:	8b d8                	mov    %eax,%ebx
41c3ec:	85 db                	test   %ebx,%ebx
41c3ee:	74 12                	je     0x41c402
41c3f0:	8b 0b                	mov    (%ebx),%ecx
41c3f2:	6a 01                	push   $0x1
41c3f4:	8b 39                	mov    (%ecx),%edi
41c3f6:	8b cf                	mov    %edi,%ecx
41c3f8:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c3fe:	8b cb                	mov    %ebx,%ecx
41c400:	ff d7                	call   *%edi
41c402:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
41c408:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
41c40b:	51                   	push   %ecx
41c40c:	8b 03                	mov    (%ebx),%eax
41c40e:	8b 78 14             	mov    0x14(%eax),%edi
41c411:	8b cf                	mov    %edi,%ecx
41c413:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c419:	8b cb                	mov    %ebx,%ecx
41c41b:	ff d7                	call   *%edi
41c41d:	8b 45 18             	mov    0x18(%ebp),%eax
41c420:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41c427:	8b 40 30             	mov    0x30(%eax),%eax
41c42a:	8b 58 04             	mov    0x4(%eax),%ebx
41c42d:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
41c433:	8b 03                	mov    (%ebx),%eax
41c435:	8b 78 04             	mov    0x4(%eax),%edi
41c438:	8b cf                	mov    %edi,%ecx
41c43a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c440:	8b cb                	mov    %ebx,%ecx
41c442:	ff d7                	call   *%edi
41c444:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
41c44a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41c44e:	50                   	push   %eax
41c44f:	e8 dc 80 ff ff       	call   0x414530
41c454:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41c458:	83 c4 04             	add    $0x4,%esp
41c45b:	8b 9d 60 ff ff ff    	mov    -0xa0(%ebp),%ebx
41c461:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
41c467:	85 db                	test   %ebx,%ebx
41c469:	74 29                	je     0x41c494
41c46b:	8b 13                	mov    (%ebx),%edx
41c46d:	8b 7a 08             	mov    0x8(%edx),%edi
41c470:	8b cf                	mov    %edi,%ecx
41c472:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c478:	8b cb                	mov    %ebx,%ecx
41c47a:	ff d7                	call   *%edi
41c47c:	8b d8                	mov    %eax,%ebx
41c47e:	85 db                	test   %ebx,%ebx
41c480:	74 12                	je     0x41c494
41c482:	8b 0b                	mov    (%ebx),%ecx
41c484:	6a 01                	push   $0x1
41c486:	8b 39                	mov    (%ecx),%edi
41c488:	8b cf                	mov    %edi,%ecx
41c48a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c490:	8b cb                	mov    %ebx,%ecx
41c492:	ff d7                	call   *%edi
41c494:	8b 9d 58 ff ff ff    	mov    -0xa8(%ebp),%ebx
41c49a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41c49d:	51                   	push   %ecx
41c49e:	68 d9 32 4b 00       	push   $0x4b32d9
41c4a3:	68 bc 32 4b 00       	push   $0x4b32bc
41c4a8:	8b 03                	mov    (%ebx),%eax
41c4aa:	8b 78 2c             	mov    0x2c(%eax),%edi
41c4ad:	8b cf                	mov    %edi,%ecx
41c4af:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c4b5:	8b cb                	mov    %ebx,%ecx
41c4b7:	ff d7                	call   *%edi
41c4b9:	8a 4e 04             	mov    0x4(%esi),%cl
41c4bc:	8b 9d 50 ff ff ff    	mov    -0xb0(%ebp),%ebx
41c4c2:	c6 85 73 ff ff ff 00 	movb   $0x0,-0x8d(%ebp)
41c4c9:	84 c9                	test   %cl,%cl
41c4cb:	75 0a                	jne    0x41c4d7
41c4cd:	8b ce                	mov    %esi,%ecx
41c4cf:	e8 cc 0e 00 00       	call   0x41d3a0
41c4d4:	8a 4e 04             	mov    0x4(%esi),%cl
41c4d7:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41c4dd:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41c4e1:	75 0a                	jne    0x41c4ed
41c4e3:	8b cf                	mov    %edi,%ecx
41c4e5:	e8 b6 0e 00 00       	call   0x41d3a0
41c4ea:	8a 4e 04             	mov    0x4(%esi),%cl
41c4ed:	83 3e 00             	cmpl   $0x0,(%esi)
41c4f0:	8b 07                	mov    (%edi),%eax
41c4f2:	75 0a                	jne    0x41c4fe
41c4f4:	85 c0                	test   %eax,%eax
41c4f6:	0f 84 1d 01 00 00    	je     0x41c619
41c4fc:	eb 08                	jmp    0x41c506
41c4fe:	85 c0                	test   %eax,%eax
41c500:	0f 85 13 01 00 00    	jne    0x41c619
41c506:	84 c9                	test   %cl,%cl
41c508:	75 0a                	jne    0x41c514
41c50a:	8b ce                	mov    %esi,%ecx
41c50c:	e8 8f 0e 00 00       	call   0x41d3a0
41c511:	8a 4e 04             	mov    0x4(%esi),%cl
41c514:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c518:	66 3b 45 e2          	cmp    -0x1e(%ebp),%ax
41c51c:	75 75                	jne    0x41c593
41c51e:	8b c3                	mov    %ebx,%eax
41c520:	c6 00 2b             	movb   $0x2b,(%eax)
41c523:	8d 48 01             	lea    0x1(%eax),%ecx
41c526:	8b 1e                	mov    (%esi),%ebx
41c528:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
41c52e:	85 db                	test   %ebx,%ebx
41c530:	74 51                	je     0x41c583
41c532:	8b 43 1c             	mov    0x1c(%ebx),%eax
41c535:	83 38 00             	cmpl   $0x0,(%eax)
41c538:	74 1b                	je     0x41c555
41c53a:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41c53d:	8b 01                	mov    (%ecx),%eax
41c53f:	85 c0                	test   %eax,%eax
41c541:	7e 12                	jle    0x41c555
41c543:	48                   	dec    %eax
41c544:	89 01                	mov    %eax,(%ecx)
41c546:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41c549:	8b 11                	mov    (%ecx),%edx
41c54b:	8d 42 02             	lea    0x2(%edx),%eax
41c54e:	89 01                	mov    %eax,(%ecx)
41c550:	0f b7 02             	movzwl (%edx),%eax
41c553:	eb 1a                	jmp    0x41c56f
41c555:	8b 03                	mov    (%ebx),%eax
41c557:	8b 78 1c             	mov    0x1c(%eax),%edi
41c55a:	8b cf                	mov    %edi,%ecx
41c55c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c562:	8b cb                	mov    %ebx,%ecx
41c564:	ff d7                	call   *%edi
41c566:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41c56c:	0f b7 c0             	movzwl %ax,%eax
41c56f:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41c574:	66 3b c8             	cmp    %ax,%cx
41c577:	74 0a                	je     0x41c583
41c579:	32 c0                	xor    %al,%al
41c57b:	88 46 04             	mov    %al,0x4(%esi)
41c57e:	e9 90 00 00 00       	jmp    0x41c613
41c583:	b0 01                	mov    $0x1,%al
41c585:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41c58b:	88 46 04             	mov    %al,0x4(%esi)
41c58e:	e9 80 00 00 00       	jmp    0x41c613
41c593:	84 c9                	test   %cl,%cl
41c595:	75 07                	jne    0x41c59e
41c597:	8b ce                	mov    %esi,%ecx
41c599:	e8 02 0e 00 00       	call   0x41d3a0
41c59e:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c5a2:	66 3b 45 e0          	cmp    -0x20(%ebp),%ax
41c5a6:	75 71                	jne    0x41c619
41c5a8:	8b c3                	mov    %ebx,%eax
41c5aa:	c6 00 2d             	movb   $0x2d,(%eax)
41c5ad:	8d 48 01             	lea    0x1(%eax),%ecx
41c5b0:	8b 1e                	mov    (%esi),%ebx
41c5b2:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
41c5b8:	85 db                	test   %ebx,%ebx
41c5ba:	74 4d                	je     0x41c609
41c5bc:	8b 43 1c             	mov    0x1c(%ebx),%eax
41c5bf:	83 38 00             	cmpl   $0x0,(%eax)
41c5c2:	74 1b                	je     0x41c5df
41c5c4:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41c5c7:	8b 01                	mov    (%ecx),%eax
41c5c9:	85 c0                	test   %eax,%eax
41c5cb:	7e 12                	jle    0x41c5df
41c5cd:	48                   	dec    %eax
41c5ce:	89 01                	mov    %eax,(%ecx)
41c5d0:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41c5d3:	8b 11                	mov    (%ecx),%edx
41c5d5:	8d 42 02             	lea    0x2(%edx),%eax
41c5d8:	89 01                	mov    %eax,(%ecx)
41c5da:	0f b7 02             	movzwl (%edx),%eax
41c5dd:	eb 1a                	jmp    0x41c5f9
41c5df:	8b 03                	mov    (%ebx),%eax
41c5e1:	8b 78 1c             	mov    0x1c(%eax),%edi
41c5e4:	8b cf                	mov    %edi,%ecx
41c5e6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c5ec:	8b cb                	mov    %ebx,%ecx
41c5ee:	ff d7                	call   *%edi
41c5f0:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41c5f6:	0f b7 c0             	movzwl %ax,%eax
41c5f9:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41c5fe:	66 3b c8             	cmp    %ax,%cx
41c601:	74 06                	je     0x41c609
41c603:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41c607:	eb 0a                	jmp    0x41c613
41c609:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41c60f:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41c613:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
41c619:	32 c0                	xor    %al,%al
41c61b:	66 c7 03 30 78       	movw   $0x7830,(%ebx)
41c620:	88 45 83             	mov    %al,-0x7d(%ebp)
41c623:	83 c3 02             	add    $0x2,%ebx
41c626:	33 c0                	xor    %eax,%eax
41c628:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
41c62e:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
41c635:	00 00 00
41c638:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
41c63e:	38 46 04             	cmp    %al,0x4(%esi)
41c641:	75 07                	jne    0x41c64a
41c643:	8b ce                	mov    %esi,%ecx
41c645:	e8 56 0d 00 00       	call   0x41d3a0
41c64a:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41c64e:	75 07                	jne    0x41c657
41c650:	8b cf                	mov    %edi,%ecx
41c652:	e8 49 0d 00 00       	call   0x41d3a0
41c657:	83 3e 00             	cmpl   $0x0,(%esi)
41c65a:	8b 07                	mov    (%edi),%eax
41c65c:	75 0a                	jne    0x41c668
41c65e:	85 c0                	test   %eax,%eax
41c660:	0f 84 ab 00 00 00    	je     0x41c711
41c666:	eb 08                	jmp    0x41c670
41c668:	85 c0                	test   %eax,%eax
41c66a:	0f 85 a1 00 00 00    	jne    0x41c711
41c670:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41c674:	75 07                	jne    0x41c67d
41c676:	8b ce                	mov    %esi,%ecx
41c678:	e8 23 0d 00 00       	call   0x41d3a0
41c67d:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c681:	66 3b 45 b4          	cmp    -0x4c(%ebp),%ax
41c685:	0f 85 86 00 00 00    	jne    0x41c711
41c68b:	8b 1e                	mov    (%esi),%ebx
41c68d:	85 db                	test   %ebx,%ebx
41c68f:	74 54                	je     0x41c6e5
41c691:	8b 43 1c             	mov    0x1c(%ebx),%eax
41c694:	83 38 00             	cmpl   $0x0,(%eax)
41c697:	74 1b                	je     0x41c6b4
41c699:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41c69c:	8b 01                	mov    (%ecx),%eax
41c69e:	85 c0                	test   %eax,%eax
41c6a0:	7e 12                	jle    0x41c6b4
41c6a2:	48                   	dec    %eax
41c6a3:	89 01                	mov    %eax,(%ecx)
41c6a5:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41c6a8:	8b 11                	mov    (%ecx),%edx
41c6aa:	8d 42 02             	lea    0x2(%edx),%eax
41c6ad:	89 01                	mov    %eax,(%ecx)
41c6af:	0f b7 02             	movzwl (%edx),%eax
41c6b2:	eb 1a                	jmp    0x41c6ce
41c6b4:	8b 03                	mov    (%ebx),%eax
41c6b6:	8b 78 1c             	mov    0x1c(%eax),%edi
41c6b9:	8b cf                	mov    %edi,%ecx
41c6bb:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c6c1:	8b cb                	mov    %ebx,%ecx
41c6c3:	ff d7                	call   *%edi
41c6c5:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41c6cb:	0f b7 c0             	movzwl %ax,%eax
41c6ce:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41c6d3:	66 3b c8             	cmp    %ax,%cx
41c6d6:	74 0d                	je     0x41c6e5
41c6d8:	8b ce                	mov    %esi,%ecx
41c6da:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41c6de:	e8 bd 0c 00 00       	call   0x41d3a0
41c6e3:	eb 0a                	jmp    0x41c6ef
41c6e5:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41c6eb:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41c6ef:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41c6f3:	75 07                	jne    0x41c6fc
41c6f5:	8b cf                	mov    %edi,%ecx
41c6f7:	e8 a4 0c 00 00       	call   0x41d3a0
41c6fc:	83 3e 00             	cmpl   $0x0,(%esi)
41c6ff:	8b 07                	mov    (%edi),%eax
41c701:	75 69                	jne    0x41c76c
41c703:	85 c0                	test   %eax,%eax
41c705:	75 69                	jne    0x41c770
41c707:	c6 45 83 01          	movb   $0x1,-0x7d(%ebp)
41c70b:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
41c711:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
41c717:	b8 24 00 00 00       	mov    $0x24,%eax
41c71c:	ba 00 03 00 00       	mov    $0x300,%edx
41c721:	81 39 00 ca 9a 3b    	cmpl   $0x3b9aca00,(%ecx)
41c727:	0f 44 c2             	cmove  %edx,%eax
41c72a:	83 7d 98 10          	cmpl   $0x10,-0x68(%ebp)
41c72e:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
41c734:	8d 45 84             	lea    -0x7c(%ebp),%eax
41c737:	0f 43 45 84          	cmovae -0x7c(%ebp),%eax
41c73b:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
41c741:	8a 00                	mov    (%eax),%al
41c743:	3c 7f                	cmp    $0x7f,%al
41c745:	0f 84 ed 03 00 00    	je     0x41cb38
41c74b:	84 c0                	test   %al,%al
41c74d:	0f 8e e5 03 00 00    	jle    0x41cb38
41c753:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
41c757:	0f 85 ac 00 00 00    	jne    0x41c809
41c75d:	c7 85 4c ff ff ff 00 	movl   $0x0,-0xb4(%ebp)
41c764:	00 00 00
41c767:	e9 bd 00 00 00       	jmp    0x41c829
41c76c:	85 c0                	test   %eax,%eax
41c76e:	75 97                	jne    0x41c707
41c770:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41c774:	75 07                	jne    0x41c77d
41c776:	8b ce                	mov    %esi,%ecx
41c778:	e8 23 0c 00 00       	call   0x41d3a0
41c77d:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c781:	66 3b 45 e6          	cmp    -0x1a(%ebp),%ax
41c785:	74 1b                	je     0x41c7a2
41c787:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41c78b:	75 07                	jne    0x41c794
41c78d:	8b ce                	mov    %esi,%ecx
41c78f:	e8 0c 0c 00 00       	call   0x41d3a0
41c794:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c798:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
41c79c:	0f 85 65 ff ff ff    	jne    0x41c707
41c7a2:	8b 1e                	mov    (%esi),%ebx
41c7a4:	85 db                	test   %ebx,%ebx
41c7a6:	74 51                	je     0x41c7f9
41c7a8:	8b 43 1c             	mov    0x1c(%ebx),%eax
41c7ab:	83 38 00             	cmpl   $0x0,(%eax)
41c7ae:	74 1b                	je     0x41c7cb
41c7b0:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41c7b3:	8b 01                	mov    (%ecx),%eax
41c7b5:	85 c0                	test   %eax,%eax
41c7b7:	7e 12                	jle    0x41c7cb
41c7b9:	48                   	dec    %eax
41c7ba:	89 01                	mov    %eax,(%ecx)
41c7bc:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41c7bf:	8b 11                	mov    (%ecx),%edx