40e44f:	33 c0                	xor    %eax,%eax
40e451:	89 87 a2 01 00 00    	mov    %eax,0x1a2(%edi)
40e457:	89 87 a6 01 00 00    	mov    %eax,0x1a6(%edi)
40e45d:	89 87 aa 01 00 00    	mov    %eax,0x1aa(%edi)
40e463:	89 87 ae 01 00 00    	mov    %eax,0x1ae(%edi)
40e469:	89 87 b2 01 00 00    	mov    %eax,0x1b2(%edi)
40e46f:	89 87 b8 01 00 00    	mov    %eax,0x1b8(%edi)
40e475:	e8 76 c9 00 00       	call   0x41adf0
40e47a:	c2 08 00             	ret    $0x8
40e47d:	8b ff                	mov    %edi,%edi
40e47f:	55                   	push   %ebp
40e480:	8b ec                	mov    %esp,%ebp
40e482:	6a ff                	push   $0xffffffff
40e484:	68 6e e2 41 00       	push   $0x41e26e
40e489:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40e48f:	50                   	push   %eax
40e490:	56                   	push   %esi
40e491:	a1 08 85 43 00       	mov    0x438508,%eax
40e496:	33 c5                	xor    %ebp,%eax
40e498:	50                   	push   %eax
40e499:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e49c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40e4a2:	8b f1                	mov    %ecx,%esi
40e4a4:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
40e4a8:	c7 06 fc 11 40 00    	movl   $0x4011fc,(%esi)
40e4ae:	0f 85 d8 24 01 00    	jne    0x42098c
40e4b4:	c7 06 18 12 40 00    	movl   $0x401218,(%esi)
40e4ba:	8b 4e 10             	mov    0x10(%esi),%ecx
40e4bd:	c7 46 0c e0 11 40 00 	movl   $0x4011e0,0xc(%esi)
40e4c4:	85 c9                	test   %ecx,%ecx
40e4c6:	74 0b                	je     0x40e4d3
40e4c8:	8d 46 1c             	lea    0x1c(%esi),%eax
40e4cb:	3b c8                	cmp    %eax,%ecx
40e4cd:	0f 85 d0 24 01 00    	jne    0x4209a3
40e4d3:	c7 46 0c 80 11 40 00 	movl   $0x401180,0xc(%esi)
40e4da:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40e4dd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e4e4:	59                   	pop    %ecx
40e4e5:	5e                   	pop    %esi
40e4e6:	c9                   	leave
40e4e7:	c3                   	ret
40e4e8:	8b ff                	mov    %edi,%edi
40e4ea:	56                   	push   %esi
40e4eb:	8b f1                	mov    %ecx,%esi
40e4ed:	8b 4e 04             	mov    0x4(%esi),%ecx
40e4f0:	c7 06 64 11 40 00    	movl   $0x401164,(%esi)
40e4f6:	85 c9                	test   %ecx,%ecx
40e4f8:	74 0b                	je     0x40e505
40e4fa:	8d 46 10             	lea    0x10(%esi),%eax
40e4fd:	3b c8                	cmp    %eax,%ecx
40e4ff:	0f 85 ab 24 01 00    	jne    0x4209b0
40e505:	c7 06 80 11 40 00    	movl   $0x401180,(%esi)
40e50b:	5e                   	pop    %esi
40e50c:	c3                   	ret
40e50d:	6a 08                	push   $0x8
40e50f:	b8 3d e5 41 00       	mov    $0x41e53d,%eax
40e514:	e8 f5 c8 00 00       	call   0x41ae0e
40e519:	8b f1                	mov    %ecx,%esi
40e51b:	89 75 ec             	mov    %esi,-0x14(%ebp)
40e51e:	8d 5e 04             	lea    0x4(%esi),%ebx
40e521:	c7 06 9c 11 40 00    	movl   $0x40119c,(%esi)
40e527:	8b cb                	mov    %ebx,%ecx
40e529:	e8 ed 4f 00 00       	call   0x41351b
40e52e:	8b 7d 0c             	mov    0xc(%ebp),%edi
40e531:	33 c9                	xor    %ecx,%ecx
40e533:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e536:	c7 06 3c 11 40 00    	movl   $0x40113c,(%esi)
40e53c:	c7 86 98 00 00 00 01 	movl   $0x1,0x98(%esi)
40e543:	00 00 00
40e546:	8b 03                	mov    (%ebx),%eax
40e548:	6a ff                	push   $0xffffffff
40e54a:	51                   	push   %ecx
40e54b:	57                   	push   %edi
40e54c:	8b 40 10             	mov    0x10(%eax),%eax
40e54f:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e552:	3d a0 36 41 00       	cmp    $0x4136a0,%eax
40e557:	75 09                	jne    0x40e562
40e559:	8b cb                	mov    %ebx,%ecx
40e55b:	e8 40 51 00 00       	call   0x4136a0
40e560:	eb 0d                	jmp    0x40e56f
40e562:	8b c8                	mov    %eax,%ecx
40e564:	ff 15 20 a5 43 00    	call   *0x43a520
40e56a:	8b cb                	mov    %ebx,%ecx
40e56c:	ff 55 f0             	call   *-0x10(%ebp)
40e56f:	6a 00                	push   $0x0
40e571:	ff 15 ac a0 43 00    	call   *0x43a0ac
40e577:	8b 55 08             	mov    0x8(%ebp),%edx
40e57a:	8d 9e 9c 00 00 00    	lea    0x9c(%esi),%ebx
40e580:	53                   	push   %ebx
40e581:	68 19 00 02 00       	push   $0x20019
40e586:	51                   	push   %ecx
40e587:	57                   	push   %edi
40e588:	e8 2d ed 00 00       	call   0x41d2ba
40e58d:	85 c0                	test   %eax,%eax
40e58f:	74 0a                	je     0x40e59b
40e591:	83 23 00             	andl   $0x0,(%ebx)
40e594:	50                   	push   %eax
40e595:	ff 15 ac a0 43 00    	call   *0x43a0ac
40e59b:	8b c6                	mov    %esi,%eax
40e59d:	e8 3a c8 00 00       	call   0x41addc
40e5a2:	c2 10 00             	ret    $0x10
40e5a5:	8b ff                	mov    %edi,%edi
40e5a7:	55                   	push   %ebp
40e5a8:	8b ec                	mov    %esp,%ebp
40e5aa:	56                   	push   %esi
40e5ab:	8b 75 08             	mov    0x8(%ebp),%esi
40e5ae:	8b d6                	mov    %esi,%edx
40e5b0:	57                   	push   %edi
40e5b1:	c7 01 80 11 40 00    	movl   $0x401180,(%ecx)
40e5b7:	8d 7a 02             	lea    0x2(%edx),%edi
40e5ba:	66 8b 02             	mov    (%edx),%ax
40e5bd:	83 c2 02             	add    $0x2,%edx
40e5c0:	66 85 c0             	test   %ax,%ax
40e5c3:	75 f5                	jne    0x40e5ba
40e5c5:	2b d7                	sub    %edi,%edx
40e5c7:	89 71 04             	mov    %esi,0x4(%ecx)
40e5ca:	d1 fa                	sar    $1,%edx
40e5cc:	8b c1                	mov    %ecx,%eax
40e5ce:	5f                   	pop    %edi
40e5cf:	89 51 0c             	mov    %edx,0xc(%ecx)
40e5d2:	89 51 08             	mov    %edx,0x8(%ecx)
40e5d5:	c7 01 20 11 40 00    	movl   $0x401120,(%ecx)
40e5db:	5e                   	pop    %esi
40e5dc:	5d                   	pop    %ebp
40e5dd:	c2 04 00             	ret    $0x4
40e5e0:	8b ff                	mov    %edi,%edi
40e5e2:	55                   	push   %ebp
40e5e3:	8b ec                	mov    %esp,%ebp
40e5e5:	56                   	push   %esi
40e5e6:	57                   	push   %edi
40e5e7:	ff 75 0c             	push   0xc(%ebp)
40e5ea:	8b f9                	mov    %ecx,%edi
40e5ec:	33 f6                	xor    %esi,%esi
40e5ee:	51                   	push   %ecx
40e5ef:	52                   	push   %edx
40e5f0:	e8 0b 37 00 00       	call   0x411d00
40e5f5:	85 c0                	test   %eax,%eax
40e5f7:	75 0d                	jne    0x40e606
40e5f9:	39 77 14             	cmp    %esi,0x14(%edi)
40e5fc:	75 0f                	jne    0x40e60d
40e5fe:	5f                   	pop    %edi
40e5ff:	8b c6                	mov    %esi,%eax
40e601:	5e                   	pop    %esi
40e602:	5d                   	pop    %ebp
40e603:	c2 08 00             	ret    $0x8
40e606:	be 20 00 07 80       	mov    $0x80070020,%esi
40e60b:	eb f1                	jmp    0x40e5fe
40e60d:	be 23 0d 04 80       	mov    $0x80040d23,%esi
40e612:	eb ea                	jmp    0x40e5fe
40e614:	8b ff                	mov    %edi,%edi
40e616:	55                   	push   %ebp
40e617:	8b ec                	mov    %esp,%ebp
40e619:	8b 45 08             	mov    0x8(%ebp),%eax
40e61c:	ff 30                	push   (%eax)
40e61e:	e8 4e 56 00 00       	call   0x413c71
40e623:	5d                   	pop    %ebp
40e624:	c2 04 00             	ret    $0x4
40e627:	8b ff                	mov    %edi,%edi
40e629:	55                   	push   %ebp
40e62a:	8b ec                	mov    %esp,%ebp
40e62c:	56                   	push   %esi
40e62d:	6a 07                	push   $0x7
40e62f:	6a 00                	push   $0x0
40e631:	6a 18                	push   $0x18
40e633:	8b f1                	mov    %ecx,%esi
40e635:	e8 e8 0a 00 00       	call   0x40f122
40e63a:	85 c0                	test   %eax,%eax
40e63c:	78 0e                	js     0x40e64c
40e63e:	ff 75 08             	push   0x8(%ebp)
40e641:	8d 8e b8 09 00 00    	lea    0x9b8(%esi),%ecx
40e647:	e8 a4 11 00 00       	call   0x40f7f0
40e64c:	5e                   	pop    %esi
40e64d:	5d                   	pop    %ebp
40e64e:	c2 04 00             	ret    $0x4
40e651:	8b ff                	mov    %edi,%edi
40e653:	55                   	push   %ebp
40e654:	8b ec                	mov    %esp,%ebp
40e656:	51                   	push   %ecx
40e657:	8b 45 08             	mov    0x8(%ebp),%eax
40e65a:	53                   	push   %ebx
40e65b:	8b d9                	mov    %ecx,%ebx
40e65d:	56                   	push   %esi
40e65e:	8b 50 04             	mov    0x4(%eax),%edx
40e661:	57                   	push   %edi
40e662:	6a ff                	push   $0xffffffff
40e664:	8d 43 10             	lea    0x10(%ebx),%eax
40e667:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40e66a:	52                   	push   %edx
40e66b:	c7 03 80 11 40 00    	movl   $0x401180,(%ebx)
40e671:	89 43 04             	mov    %eax,0x4(%ebx)
40e674:	c7 43 08 21 00 00 00 	movl   $0x21,0x8(%ebx)
40e67b:	e8 50 56 00 00       	call   0x413cd0
40e680:	8b 75 0c             	mov    0xc(%ebp),%esi
40e683:	8d 7b 54             	lea    0x54(%ebx),%edi
40e686:	c7 03 64 11 40 00    	movl   $0x401164,(%ebx)
40e68c:	33 c0                	xor    %eax,%eax
40e68e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e68f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e690:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e691:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e692:	89 43 64             	mov    %eax,0x64(%ebx)
40e695:	89 43 68             	mov    %eax,0x68(%ebx)
40e698:	89 43 6c             	mov    %eax,0x6c(%ebx)
40e69b:	89 43 70             	mov    %eax,0x70(%ebx)
40e69e:	89 43 74             	mov    %eax,0x74(%ebx)
40e6a1:	89 43 78             	mov    %eax,0x78(%ebx)
40e6a4:	5f                   	pop    %edi
40e6a5:	89 43 7c             	mov    %eax,0x7c(%ebx)
40e6a8:	89 83 80 00 00 00    	mov    %eax,0x80(%ebx)
40e6ae:	8b c3                	mov    %ebx,%eax
40e6b0:	5e                   	pop    %esi
40e6b1:	5b                   	pop    %ebx
40e6b2:	c9                   	leave
40e6b3:	c2 08 00             	ret    $0x8
40e6b6:	8b ff                	mov    %edi,%edi
40e6b8:	56                   	push   %esi
40e6b9:	8b f1                	mov    %ecx,%esi
40e6bb:	8b 4e 04             	mov    0x4(%esi),%ecx
40e6be:	c7 06 e0 11 40 00    	movl   $0x4011e0,(%esi)
40e6c4:	85 c9                	test   %ecx,%ecx
40e6c6:	74 0f                	je     0x40e6d7
40e6c8:	8d 46 10             	lea    0x10(%esi),%eax
40e6cb:	3b c8                	cmp    %eax,%ecx
40e6cd:	74 08                	je     0x40e6d7
40e6cf:	51                   	push   %ecx
40e6d0:	ff 15 14 a4 43 00    	call   *0x43a414
40e6d6:	59                   	pop    %ecx
40e6d7:	c7 06 80 11 40 00    	movl   $0x401180,(%esi)
40e6dd:	5e                   	pop    %esi
40e6de:	c3                   	ret
40e6df:	6a 14                	push   $0x14
40e6e1:	b8 68 e5 41 00       	mov    $0x41e568,%eax
40e6e6:	e8 23 c7 00 00       	call   0x41ae0e
40e6eb:	8b d9                	mov    %ecx,%ebx
40e6ed:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40e6f0:	33 c9                	xor    %ecx,%ecx
40e6f2:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40e6f5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e6f8:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40e6fb:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e6fe:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40e702:	50                   	push   %eax
40e703:	51                   	push   %ecx
40e704:	8b f9                	mov    %ecx,%edi
40e706:	ff 15 14 a0 43 00    	call   *0x43a014
40e70c:	85 c0                	test   %eax,%eax
40e70e:	0f 84 a9 22 01 00    	je     0x4209bd
40e714:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40e718:	8d 8b b8 09 00 00    	lea    0x9b8(%ebx),%ecx
40e71e:	e8 1b fc ff ff       	call   0x40e33e
40e723:	8b 75 e0             	mov    -0x20(%ebp),%esi
40e726:	33 db                	xor    %ebx,%ebx
40e728:	c7 45 e4 02 00 00 00 	movl   $0x2,-0x1c(%ebp)
40e72f:	85 db                	test   %ebx,%ebx
40e731:	78 28                	js     0x40e75b
40e733:	6a 05                	push   $0x5
40e735:	ff 75 08             	push   0x8(%ebp)
40e738:	8b ce                	mov    %esi,%ecx
40e73a:	ff 75 e8             	push   -0x18(%ebp)
40e73d:	e8 e0 09 00 00       	call   0x40f122
40e742:	8b d8                	mov    %eax,%ebx
40e744:	85 db                	test   %ebx,%ebx
40e746:	78 13                	js     0x40e75b
40e748:	8b ce                	mov    %esi,%ecx
40e74a:	85 ff                	test   %edi,%edi
40e74c:	75 58                	jne    0x40e7a6
40e74e:	57                   	push   %edi
40e74f:	68 cc 3f 40 00       	push   $0x403fcc
40e754:	e8 a9 53 00 00       	call   0x413b02
40e759:	8b d8                	mov    %eax,%ebx
40e75b:	8d 86 b8 09 00 00    	lea    0x9b8(%esi),%eax
40e761:	8b 08                	mov    (%eax),%ecx
40e763:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40e766:	8b c8                	mov    %eax,%ecx
40e768:	e8 7b 53 00 00       	call   0x413ae8
40e76d:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
40e771:	75 bc                	jne    0x40e72f
40e773:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40e778:	39 45 08             	cmp    %eax,0x8(%ebp)
40e77b:	0f 84 7a 22 01 00    	je     0x4209fb
40e781:	ff 75 f0             	push   -0x10(%ebp)
40e784:	ff 15 00 a0 43 00    	call   *0x43a000
40e78a:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40e791:	8b 45 ec             	mov    -0x14(%ebp),%eax
40e794:	85 c0                	test   %eax,%eax
40e796:	0f 85 72 22 01 00    	jne    0x420a0e
40e79c:	8b c3                	mov    %ebx,%eax
40e79e:	e8 39 c6 00 00       	call   0x41addc
40e7a3:	c2 04 00             	ret    $0x4
40e7a6:	57                   	push   %edi
40e7a7:	ff 75 f0             	push   -0x10(%ebp)
40e7aa:	eb a8                	jmp    0x40e754
40e7ac:	8b ff                	mov    %edi,%edi
40e7ae:	56                   	push   %esi
40e7af:	8b f1                	mov    %ecx,%esi
40e7b1:	8b 4e 0c             	mov    0xc(%esi),%ecx
40e7b4:	85 c9                	test   %ecx,%ecx
40e7b6:	74 12                	je     0x40e7ca
40e7b8:	8b 46 04             	mov    0x4(%esi),%eax
40e7bb:	0f b7 44 48 fe       	movzwl -0x2(%eax,%ecx,2),%eax
40e7c0:	83 f8 2f             	cmp    $0x2f,%eax
40e7c3:	74 27                	je     0x40e7ec
40e7c5:	83 f8 5c             	cmp    $0x5c,%eax
40e7c8:	74 22                	je     0x40e7ec
40e7ca:	8b 06                	mov    (%esi),%eax
40e7cc:	57                   	push   %edi
40e7cd:	6a ff                	push   $0xffffffff
40e7cf:	51                   	push   %ecx
40e7d0:	8b 78 10             	mov    0x10(%eax),%edi
40e7d3:	68 b8 3f 40 00       	push   $0x403fb8
40e7d8:	81 ff a0 36 41 00    	cmp    $0x4136a0,%edi
40e7de:	0f 85 3f 22 01 00    	jne    0x420a23
40e7e4:	8b ce                	mov    %esi,%ecx
40e7e6:	e8 b5 4e 00 00       	call   0x4136a0
40e7eb:	5f                   	pop    %edi
40e7ec:	5e                   	pop    %esi
40e7ed:	c3                   	ret
40e7ee:	8b ff                	mov    %edi,%edi
40e7f0:	56                   	push   %esi
40e7f1:	8b f1                	mov    %ecx,%esi
40e7f3:	e8 d7 0f 00 00       	call   0x40f7cf
40e7f8:	8d 4e 54             	lea    0x54(%esi),%ecx
40e7fb:	e8 cf 0f 00 00       	call   0x40f7cf
40e800:	8d 8e a8 00 00 00    	lea    0xa8(%esi),%ecx
40e806:	e8 47 54 00 00       	call   0x413c52
40e80b:	83 a6 3c 02 00 00 00 	andl   $0x0,0x23c(%esi)
40e812:	8d 8e 44 02 00 00    	lea    0x244(%esi),%ecx
40e818:	83 61 0c 00          	andl   $0x0,0xc(%ecx)
40e81c:	8d 41 04             	lea    0x4(%ecx),%eax
40e81f:	89 00                	mov    %eax,(%eax)
40e821:	89 01                	mov    %eax,(%ecx)
40e823:	8b c6                	mov    %esi,%eax
40e825:	89 49 08             	mov    %ecx,0x8(%ecx)
40e828:	c7 86 40 02 00 00 1c 	movl   $0x40111c,0x240(%esi)
40e82f:	11 40 00
40e832:	5e                   	pop    %esi
40e833:	c3                   	ret
40e834:	cc                   	int3
40e835:	cc                   	int3
40e836:	cc                   	int3
40e837:	cc                   	int3
40e838:	cc                   	int3
40e839:	cc                   	int3
40e83a:	cc                   	int3
40e83b:	cc                   	int3
40e83c:	cc                   	int3
40e83d:	cc                   	int3
40e83e:	cc                   	int3
40e83f:	cc                   	int3
40e840:	68 5c 03 00 00       	push   $0x35c