41f431:	a8 08                	test   $0x8,%al
41f433:	75 15                	jne    0x41f44a
41f435:	8b 45 10             	mov    0x10(%ebp),%eax
41f438:	85 c0                	test   %eax,%eax
41f43a:	74 08                	je     0x41f444
41f43c:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
41f442:	89 08                	mov    %ecx,(%eax)
41f444:	33 c0                	xor    %eax,%eax
41f446:	33 d2                	xor    %edx,%edx
41f448:	eb 78                	jmp    0x41f4c2
41f44a:	8b 7d f8             	mov    -0x8(%ebp),%edi
41f44d:	53                   	push   %ebx
41f44e:	57                   	push   %edi
41f44f:	50                   	push   %eax
41f450:	e8 82 f3 ff ff       	call   0x41e7d7
41f455:	83 c4 0c             	add    $0xc,%esp
41f458:	84 c0                	test   %al,%al
41f45a:	74 49                	je     0x41f4a5
41f45c:	8b 45 08             	mov    0x8(%ebp),%eax
41f45f:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41f463:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
41f46a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f46d:	a8 01                	test   $0x1,%al
41f46f:	75 08                	jne    0x41f479
41f471:	83 cf ff             	or     $0xffffffff,%edi
41f474:	83 cb ff             	or     $0xffffffff,%ebx
41f477:	eb 39                	jmp    0x41f4b2
41f479:	8b 4d 10             	mov    0x10(%ebp),%ecx
41f47c:	a8 02                	test   $0x2,%al
41f47e:	74 12                	je     0x41f492
41f480:	85 c9                	test   %ecx,%ecx
41f482:	74 05                	je     0x41f489
41f484:	8b 45 0c             	mov    0xc(%ebp),%eax
41f487:	89 01                	mov    %eax,(%ecx)
41f489:	33 c0                	xor    %eax,%eax
41f48b:	ba 00 00 00 80       	mov    $0x80000000,%edx
41f490:	eb 30                	jmp    0x41f4c2
41f492:	85 c9                	test   %ecx,%ecx
41f494:	74 05                	je     0x41f49b
41f496:	8b 45 0c             	mov    0xc(%ebp),%eax
41f499:	89 01                	mov    %eax,(%ecx)
41f49b:	83 c8 ff             	or     $0xffffffff,%eax
41f49e:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
41f4a3:	eb 1d                	jmp    0x41f4c2
41f4a5:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)
41f4a9:	74 07                	je     0x41f4b2
41f4ab:	f7 df                	neg    %edi
41f4ad:	83 d3 00             	adc    $0x0,%ebx
41f4b0:	f7 db                	neg    %ebx
41f4b2:	8b 75 10             	mov    0x10(%ebp),%esi
41f4b5:	85 f6                	test   %esi,%esi
41f4b7:	74 05                	je     0x41f4be
41f4b9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41f4bc:	89 0e                	mov    %ecx,(%esi)
41f4be:	8b c7                	mov    %edi,%eax
41f4c0:	8b d3                	mov    %ebx,%edx
41f4c2:	5f                   	pop    %edi
41f4c3:	5e                   	pop    %esi
41f4c4:	5b                   	pop    %ebx
41f4c5:	c9                   	leave
41f4c6:	c3                   	ret
41f4c7:	cc                   	int3
41f4c8:	cc                   	int3
41f4c9:	cc                   	int3
41f4ca:	cc                   	int3
41f4cb:	cc                   	int3
41f4cc:	cc                   	int3
41f4cd:	cc                   	int3
41f4ce:	cc                   	int3
41f4cf:	cc                   	int3
41f4d0:	8b ff                	mov    %edi,%edi
41f4d2:	55                   	push   %ebp
41f4d3:	8b ec                	mov    %esp,%ebp
41f4d5:	8b d1                	mov    %ecx,%edx
41f4d7:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f4da:	c6 42 14 00          	movb   $0x0,0x14(%edx)
41f4de:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
41f4e4:	c6 42 08 00          	movb   $0x0,0x8(%edx)
41f4e8:	c6 42 1c 00          	movb   $0x0,0x1c(%edx)
41f4ec:	c6 42 24 00          	movb   $0x0,0x24(%edx)
41f4f0:	85 c9                	test   %ecx,%ecx
41f4f2:	74 15                	je     0x41f509
41f4f4:	8b 01                	mov    (%ecx),%eax
41f4f6:	8b 49 04             	mov    0x4(%ecx),%ecx
41f4f9:	89 42 0c             	mov    %eax,0xc(%edx)
41f4fc:	8b c2                	mov    %edx,%eax
41f4fe:	c6 42 14 01          	movb   $0x1,0x14(%edx)
41f502:	89 4a 10             	mov    %ecx,0x10(%edx)
41f505:	5d                   	pop    %ebp
41f506:	c2 04 00             	ret    $0x4
41f509:	83 3d 80 6d 45 00 00 	cmpl   $0x0,0x456d80
41f510:	75 15                	jne    0x41f527
41f512:	a1 68 52 45 00       	mov    0x455268,%eax
41f517:	8b 0d 6c 52 45 00    	mov    0x45526c,%ecx
41f51d:	c6 42 14 01          	movb   $0x1,0x14(%edx)
41f521:	89 4a 10             	mov    %ecx,0x10(%edx)
41f524:	89 42 0c             	mov    %eax,0xc(%edx)
41f527:	8b c2                	mov    %edx,%eax
41f529:	5d                   	pop    %ebp
41f52a:	c2 04 00             	ret    $0x4
41f52d:	cc                   	int3
41f52e:	cc                   	int3
41f52f:	cc                   	int3
41f530:	8b ff                	mov    %edi,%edi
41f532:	56                   	push   %esi
41f533:	57                   	push   %edi
41f534:	8b f9                	mov    %ecx,%edi
41f536:	80 7f 14 02          	cmpb   $0x2,0x14(%edi)
41f53a:	75 09                	jne    0x41f545
41f53c:	8b 07                	mov    (%edi),%eax
41f53e:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
41f545:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
41f549:	74 0b                	je     0x41f556
41f54b:	8b 77 18             	mov    0x18(%edi),%esi
41f54e:	e8 6d 00 00 00       	call   0x41f5c0
41f553:	89 70 10             	mov    %esi,0x10(%eax)
41f556:	80 7f 24 00          	cmpb   $0x0,0x24(%edi)
41f55a:	74 0d                	je     0x41f569
41f55c:	8b 77 20             	mov    0x20(%edi),%esi
41f55f:	8b cf                	mov    %edi,%ecx
41f561:	e8 5a 00 00 00       	call   0x41f5c0
41f566:	89 70 14             	mov    %esi,0x14(%eax)
41f569:	5f                   	pop    %edi
41f56a:	5e                   	pop    %esi
41f56b:	c3                   	ret
41f56c:	cc                   	int3
41f56d:	cc                   	int3
41f56e:	cc                   	int3
41f56f:	cc                   	int3
41f570:	8b ff                	mov    %edi,%edi
41f572:	55                   	push   %ebp
41f573:	8b ec                	mov    %esp,%ebp
41f575:	51                   	push   %ecx
41f576:	56                   	push   %esi
41f577:	57                   	push   %edi
41f578:	8b f9                	mov    %ecx,%edi
41f57a:	ff 15 6c e0 43 00    	call   *0x43e06c
41f580:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
41f584:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f587:	75 0f                	jne    0x41f598
41f589:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
41f590:	33 c0                	xor    %eax,%eax
41f592:	c6 47 08 01          	movb   $0x1,0x8(%edi)
41f596:	eb 03                	jmp    0x41f59b
41f598:	8b 47 04             	mov    0x4(%edi),%eax
41f59b:	50                   	push   %eax
41f59c:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f59f:	50                   	push   %eax
41f5a0:	e8 26 b2 00 00       	call   0x42a7cb
41f5a5:	83 c4 08             	add    $0x8,%esp
41f5a8:	8b f0                	mov    %eax,%esi
41f5aa:	89 37                	mov    %esi,(%edi)
41f5ac:	ff 75 fc             	push   -0x4(%ebp)
41f5af:	ff 15 38 e1 43 00    	call   *0x43e138
41f5b5:	5f                   	pop    %edi
41f5b6:	8b c6                	mov    %esi,%eax
41f5b8:	5e                   	pop    %esi
41f5b9:	8b e5                	mov    %ebp,%esp
41f5bb:	5d                   	pop    %ebp
41f5bc:	c3                   	ret
41f5bd:	cc                   	int3
41f5be:	cc                   	int3
41f5bf:	cc                   	int3
41f5c0:	8b ff                	mov    %edi,%edi
41f5c2:	55                   	push   %ebp
41f5c3:	8b ec                	mov    %esp,%ebp
41f5c5:	51                   	push   %ecx
41f5c6:	57                   	push   %edi
41f5c7:	8b f9                	mov    %ecx,%edi
41f5c9:	83 3f 00             	cmpl   $0x0,(%edi)
41f5cc:	75 41                	jne    0x41f60f
41f5ce:	ff 15 6c e0 43 00    	call   *0x43e06c
41f5d4:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
41f5d8:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f5db:	75 0f                	jne    0x41f5ec
41f5dd:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
41f5e4:	33 c0                	xor    %eax,%eax
41f5e6:	c6 47 08 01          	movb   $0x1,0x8(%edi)
41f5ea:	eb 03                	jmp    0x41f5ef
41f5ec:	8b 47 04             	mov    0x4(%edi),%eax
41f5ef:	56                   	push   %esi
41f5f0:	50                   	push   %eax
41f5f1:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f5f4:	50                   	push   %eax
41f5f5:	e8 d1 b1 00 00       	call   0x42a7cb
41f5fa:	83 c4 08             	add    $0x8,%esp
41f5fd:	8b f0                	mov    %eax,%esi
41f5ff:	89 37                	mov    %esi,(%edi)
41f601:	ff 75 fc             	push   -0x4(%ebp)
41f604:	ff 15 38 e1 43 00    	call   *0x43e138
41f60a:	85 f6                	test   %esi,%esi
41f60c:	5e                   	pop    %esi
41f60d:	74 07                	je     0x41f616
41f60f:	8b 07                	mov    (%edi),%eax
41f611:	5f                   	pop    %edi
41f612:	8b e5                	mov    %ebp,%esp
41f614:	5d                   	pop    %ebp
41f615:	c3                   	ret
41f616:	e8 3e 7d 00 00       	call   0x427359
41f61b:	cc                   	int3
41f61c:	8b ff                	mov    %edi,%edi
41f61e:	55                   	push   %ebp
41f61f:	8b ec                	mov    %esp,%ebp
41f621:	8b 01                	mov    (%ecx),%eax
41f623:	48                   	dec    %eax
41f624:	89 01                	mov    %eax,(%ecx)
41f626:	8a 4d 08             	mov    0x8(%ebp),%cl
41f629:	84 c9                	test   %cl,%cl
41f62b:	74 14                	je     0x41f641
41f62d:	38 08                	cmp    %cl,(%eax)
41f62f:	74 10                	je     0x41f641
41f631:	e8 fa 43 00 00       	call   0x423a30
41f636:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41f63c:	e8 42 03 00 00       	call   0x41f983
41f641:	5d                   	pop    %ebp
41f642:	c2 04 00             	ret    $0x4
41f645:	8b ff                	mov    %edi,%edi
41f647:	55                   	push   %ebp
41f648:	8b ec                	mov    %esp,%ebp
41f64a:	8b 01                	mov    (%ecx),%eax
41f64c:	83 c0 fe             	add    $0xfffffffe,%eax
41f64f:	89 01                	mov    %eax,(%ecx)
41f651:	66 8b 4d 08          	mov    0x8(%ebp),%cx
41f655:	66 85 c9             	test   %cx,%cx
41f658:	74 15                	je     0x41f66f
41f65a:	66 39 08             	cmp    %cx,(%eax)
41f65d:	74 10                	je     0x41f66f
41f65f:	e8 cc 43 00 00       	call   0x423a30
41f664:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41f66a:	e8 14 03 00 00       	call   0x41f983
41f66f:	5d                   	pop    %ebp
41f670:	c2 04 00             	ret    $0x4
41f673:	cc                   	int3
41f674:	cc                   	int3
41f675:	cc                   	int3
41f676:	cc                   	int3
41f677:	cc                   	int3
41f678:	cc                   	int3
41f679:	cc                   	int3
41f67a:	cc                   	int3
41f67b:	cc                   	int3
41f67c:	cc                   	int3
41f67d:	cc                   	int3
41f67e:	cc                   	int3
41f67f:	cc                   	int3
41f680:	8b ff                	mov    %edi,%edi
41f682:	55                   	push   %ebp
41f683:	8b ec                	mov    %esp,%ebp
41f685:	51                   	push   %ecx
41f686:	53                   	push   %ebx
41f687:	56                   	push   %esi
41f688:	57                   	push   %edi
41f689:	8b d9                	mov    %ecx,%ebx
41f68b:	e8 30 ff ff ff       	call   0x41f5c0
41f690:	ff 73 04             	push   0x4(%ebx)
41f693:	8d 73 0c             	lea    0xc(%ebx),%esi
41f696:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f699:	56                   	push   %esi
41f69a:	8b 50 4c             	mov    0x4c(%eax),%edx
41f69d:	8d 7b 10             	lea    0x10(%ebx),%edi
41f6a0:	89 16                	mov    %edx,(%esi)
41f6a2:	8b 50 48             	mov    0x48(%eax),%edx
41f6a5:	50                   	push   %eax
41f6a6:	89 17                	mov    %edx,(%edi)
41f6a8:	e8 41 ab 00 00       	call   0x42a1ee
41f6ad:	ff 73 04             	push   0x4(%ebx)
41f6b0:	8b 75 fc             	mov    -0x4(%ebp),%esi
41f6b3:	57                   	push   %edi
41f6b4:	56                   	push   %esi
41f6b5:	e8 92 ab 00 00       	call   0x42a24c
41f6ba:	8b 86 50 03 00 00    	mov    0x350(%esi),%eax
41f6c0:	83 c4 18             	add    $0x18,%esp
41f6c3:	a8 02                	test   $0x2,%al
41f6c5:	75 0d                	jne    0x41f6d4
41f6c7:	83 c8 02             	or     $0x2,%eax
41f6ca:	89 86 50 03 00 00    	mov    %eax,0x350(%esi)
41f6d0:	c6 43 14 02          	movb   $0x2,0x14(%ebx)
41f6d4:	5f                   	pop    %edi
41f6d5:	5e                   	pop    %esi
41f6d6:	5b                   	pop    %ebx
41f6d7:	8b e5                	mov    %ebp,%esp
41f6d9:	5d                   	pop    %ebp
41f6da:	c3                   	ret
41f6db:	83 39 00             	cmpl   $0x0,(%ecx)
41f6de:	75 13                	jne    0x41f6f3
41f6e0:	e8 4b 43 00 00       	call   0x423a30
41f6e5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41f6eb:	e8 93 02 00 00       	call   0x41f983
41f6f0:	32 c0                	xor    %al,%al
41f6f2:	c3                   	ret
41f6f3:	b0 01                	mov    $0x1,%al
41f6f5:	c3                   	ret
41f6f6:	8b ff                	mov    %edi,%edi
41f6f8:	55                   	push   %ebp
41f6f9:	8b ec                	mov    %esp,%ebp
41f6fb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41f6fe:	8d 41 01             	lea    0x1(%ecx),%eax
41f701:	3d 00 01 00 00       	cmp    $0x100,%eax
41f706:	77 0c                	ja     0x41f714
41f708:	8b 45 08             	mov    0x8(%ebp),%eax
41f70b:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
41f70f:	23 45 10             	and    0x10(%ebp),%eax
41f712:	5d                   	pop    %ebp
41f713:	c3                   	ret
41f714:	33 c0                	xor    %eax,%eax
41f716:	5d                   	pop    %ebp
41f717:	c3                   	ret
41f718:	8b ff                	mov    %edi,%edi
41f71a:	55                   	push   %ebp
41f71b:	8b ec                	mov    %esp,%ebp
41f71d:	83 ec 2c             	sub    $0x2c,%esp
41f720:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41f723:	56                   	push   %esi
41f724:	6a 00                	push   $0x0
41f726:	e8 a5 fd ff ff       	call   0x41f4d0
41f72b:	6a 01                	push   $0x1
41f72d:	ff 75 10             	push   0x10(%ebp)
41f730:	51                   	push   %ecx
41f731:	51                   	push   %ecx
41f732:	8b c4                	mov    %esp,%eax
41f734:	ff 75 0c             	push   0xc(%ebp)
41f737:	ff 75 08             	push   0x8(%ebp)
41f73a:	50                   	push   %eax
41f73b:	e8 d8 f0 ff ff       	call   0x41e818
41f740:	83 c4 0c             	add    $0xc,%esp
41f743:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41f746:	50                   	push   %eax
41f747:	e8 e7 f0 ff ff       	call   0x41e833
41f74c:	83 c4 14             	add    $0x14,%esp
41f74f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41f752:	8b f0                	mov    %eax,%esi
41f754:	e8 d7 fd ff ff       	call   0x41f530
41f759:	8b c6                	mov    %esi,%eax
41f75b:	5e                   	pop    %esi
41f75c:	c9                   	leave
41f75d:	c3                   	ret
41f75e:	8b ff                	mov    %edi,%edi
41f760:	56                   	push   %esi
41f761:	8b f1                	mov    %ecx,%esi
41f763:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
41f767:	75 19                	jne    0x41f782
41f769:	ff 15 6c e0 43 00    	call   *0x43e06c
41f76f:	83 66 04 00          	andl   $0x0,0x4(%esi)
41f773:	50                   	push   %eax
41f774:	c6 46 08 01          	movb   $0x1,0x8(%esi)
41f778:	ff 15 38 e1 43 00    	call   *0x43e138
41f77e:	33 c0                	xor    %eax,%eax
41f780:	5e                   	pop    %esi
41f781:	c3                   	ret
41f782:	8b 46 04             	mov    0x4(%esi),%eax