40e527:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e52a:	50                   	push   %eax
40e52b:	57                   	push   %edi
40e52c:	e8 bf 87 00 00       	call   0x416cf0
40e531:	83 c4 08             	add    $0x8,%esp
40e534:	5f                   	pop    %edi
40e535:	5e                   	pop    %esi
40e536:	b8 01 00 00 00       	mov    $0x1,%eax
40e53b:	5b                   	pop    %ebx
40e53c:	8b e5                	mov    %ebp,%esp
40e53e:	5d                   	pop    %ebp
40e53f:	c3                   	ret
40e540:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
40e544:	74 31                	je     0x40e577
40e546:	6a 00                	push   $0x0
40e548:	57                   	push   %edi
40e549:	e8 72 ec ff ff       	call   0x40d1c0
40e54e:	83 c4 08             	add    $0x8,%esp
40e551:	85 c0                	test   %eax,%eax
40e553:	74 22                	je     0x40e577
40e555:	8b bf d8 07 00 00    	mov    0x7d8(%edi),%edi
40e55b:	85 ff                	test   %edi,%edi
40e55d:	74 18                	je     0x40e577
40e55f:	83 3b 32             	cmpl   $0x32,(%ebx)
40e562:	75 13                	jne    0x40e577
40e564:	c7 87 40 20 00 00 01 	movl   $0x1,0x2040(%edi)
40e56b:	00 00 00
40e56e:	8b 4b 04             	mov    0x4(%ebx),%ecx
40e571:	89 8f 44 20 00 00    	mov    %ecx,0x2044(%edi)
40e577:	5f                   	pop    %edi
40e578:	5e                   	pop    %esi
40e579:	b8 01 00 00 00       	mov    $0x1,%eax
40e57e:	5b                   	pop    %ebx
40e57f:	8b e5                	mov    %ebp,%esp
40e581:	5d                   	pop    %ebp
40e582:	c3                   	ret
40e583:	f6 a2 52 55 81 10    	mulb   0x10815552(%edx)
40e589:	1c 00                	sbb    $0x0,%al
40e58b:	a9 5c 2c 36 1b       	test   $0x1b362c5c,%eax
40e590:	55                   	push   %ebp
40e591:	8b ec                	mov    %esp,%ebp
40e593:	83 ec 70             	sub    $0x70,%esp
40e596:	56                   	push   %esi
40e597:	57                   	push   %edi
40e598:	33 c9                	xor    %ecx,%ecx
40e59a:	6a 36                	push   $0x36
40e59c:	51                   	push   %ecx
40e59d:	8d 55 9a             	lea    -0x66(%ebp),%edx
40e5a0:	52                   	push   %edx
40e5a1:	c7 45 90 50 00 41 00 	movl   $0x410050,-0x70(%ebp)
40e5a8:	c7 45 94 54 00 48 00 	movl   $0x480054,-0x6c(%ebp)
40e5af:	66 89 4d 98          	mov    %cx,-0x68(%ebp)
40e5b3:	e8 28 9e 00 00       	call   0x4183e0
40e5b8:	8b 7d 08             	mov    0x8(%ebp),%edi
40e5bb:	33 d2                	xor    %edx,%edx
40e5bd:	33 c0                	xor    %eax,%eax
40e5bf:	68 74 73 00 00       	push   $0x7374
40e5c4:	57                   	push   %edi
40e5c5:	c7 45 ec 46 00 69 00 	movl   $0x690046,-0x14(%ebp)
40e5cc:	c7 45 f0 72 00 65 00 	movl   $0x650072,-0x10(%ebp)
40e5d3:	c7 45 f4 66 00 6f 00 	movl   $0x6f0066,-0xc(%ebp)
40e5da:	c7 45 f8 78 00 5c 00 	movl   $0x5c0078,-0x8(%ebp)
40e5e1:	66 89 55 fc          	mov    %dx,-0x4(%ebp)
40e5e5:	c7 45 d0 54 00 68 00 	movl   $0x680054,-0x30(%ebp)
40e5ec:	c7 45 d4 75 00 6e 00 	movl   $0x6e0075,-0x2c(%ebp)
40e5f3:	c7 45 d8 64 00 65 00 	movl   $0x650064,-0x28(%ebp)
40e5fa:	c7 45 dc 72 00 62 00 	movl   $0x620072,-0x24(%ebp)
40e601:	c7 45 e0 69 00 72 00 	movl   $0x720069,-0x20(%ebp)
40e608:	c7 45 e4 64 00 5c 00 	movl   $0x5c0064,-0x1c(%ebp)
40e60f:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
40e613:	e8 f8 9e 00 00       	call   0x418510
40e618:	8b f0                	mov    %eax,%esi
40e61a:	83 c4 14             	add    $0x14,%esp
40e61d:	85 f6                	test   %esi,%esi
40e61f:	75 06                	jne    0x40e627
40e621:	5f                   	pop    %edi
40e622:	5e                   	pop    %esi
40e623:	8b e5                	mov    %ebp,%esp
40e625:	5d                   	pop    %ebp
40e626:	c3                   	ret
40e627:	53                   	push   %ebx
40e628:	6a 08                	push   $0x8
40e62a:	8d 4d 90             	lea    -0x70(%ebp),%ecx
40e62d:	51                   	push   %ecx
40e62e:	8d 5e 48             	lea    0x48(%esi),%ebx
40e631:	53                   	push   %ebx
40e632:	c7 06 32 00 00 00    	movl   $0x32,(%esi)
40e638:	e8 23 9d 00 00       	call   0x418360
40e63d:	56                   	push   %esi
40e63e:	8d 55 ec             	lea    -0x14(%ebp),%edx
40e641:	52                   	push   %edx
40e642:	57                   	push   %edi
40e643:	e8 08 fc ff ff       	call   0x40e250
40e648:	83 c4 18             	add    $0x18,%esp
40e64b:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
40e64f:	74 18                	je     0x40e669
40e651:	6a 16                	push   $0x16
40e653:	56                   	push   %esi
40e654:	57                   	push   %edi
40e655:	e8 d6 09 00 00       	call   0x40f030
40e65a:	68 24 10 00 00       	push   $0x1024
40e65f:	56                   	push   %esi
40e660:	57                   	push   %edi
40e661:	e8 ca 09 00 00       	call   0x40f030
40e666:	83 c4 18             	add    $0x18,%esp
40e669:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
40e66d:	74 14                	je     0x40e683
40e66f:	8d 86 68 28 00 00    	lea    0x2868(%esi),%eax
40e675:	50                   	push   %eax
40e676:	8d 4d 90             	lea    -0x70(%ebp),%ecx
40e679:	51                   	push   %ecx
40e67a:	57                   	push   %edi
40e67b:	e8 f0 9e ff ff       	call   0x408570
40e680:	83 c4 0c             	add    $0xc,%esp
40e683:	68 74 73 00 00       	push   $0x7374
40e688:	56                   	push   %esi
40e689:	e8 02 9d 00 00       	call   0x418390
40e68e:	6a 08                	push   $0x8
40e690:	8d 55 90             	lea    -0x70(%ebp),%edx
40e693:	52                   	push   %edx
40e694:	53                   	push   %ebx
40e695:	c7 06 64 00 00 00    	movl   $0x64,(%esi)
40e69b:	e8 c0 9c 00 00       	call   0x418360
40e6a0:	56                   	push   %esi
40e6a1:	8d 45 d0             	lea    -0x30(%ebp),%eax
40e6a4:	50                   	push   %eax
40e6a5:	57                   	push   %edi
40e6a6:	e8 a5 fb ff ff       	call   0x40e250
40e6ab:	83 c4 20             	add    $0x20,%esp
40e6ae:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
40e6b2:	5b                   	pop    %ebx
40e6b3:	74 18                	je     0x40e6cd
40e6b5:	6a 16                	push   $0x16
40e6b7:	56                   	push   %esi
40e6b8:	57                   	push   %edi
40e6b9:	e8 72 09 00 00       	call   0x40f030
40e6be:	68 24 10 00 00       	push   $0x1024
40e6c3:	56                   	push   %esi
40e6c4:	57                   	push   %edi
40e6c5:	e8 66 09 00 00       	call   0x40f030
40e6ca:	83 c4 18             	add    $0x18,%esp
40e6cd:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
40e6d1:	74 14                	je     0x40e6e7
40e6d3:	8d 8e 68 28 00 00    	lea    0x2868(%esi),%ecx
40e6d9:	51                   	push   %ecx
40e6da:	8d 55 90             	lea    -0x70(%ebp),%edx
40e6dd:	52                   	push   %edx
40e6de:	57                   	push   %edi
40e6df:	e8 8c 9e ff ff       	call   0x408570
40e6e4:	83 c4 0c             	add    $0xc,%esp
40e6e7:	56                   	push   %esi
40e6e8:	57                   	push   %edi
40e6e9:	e8 52 9c 00 00       	call   0x418340
40e6ee:	83 c4 08             	add    $0x8,%esp
40e6f1:	5f                   	pop    %edi
40e6f2:	b8 01 00 00 00       	mov    $0x1,%eax
40e6f7:	5e                   	pop    %esi
40e6f8:	8b e5                	mov    %ebp,%esp
40e6fa:	5d                   	pop    %ebp
40e6fb:	c3                   	ret
40e6fc:	10 36                	adc    %dh,(%esi)
40e6fe:	ea cb b8 01 00 00 00 	ljmp   $0x0,$0x1b8cb
40e705:	c3                   	ret
40e706:	de 6f 8c             	fisubrs -0x74(%edi)
40e709:	38 da                	cmp    %bl,%dl
40e70b:	f2 de f1             	repnz fdivp %st,%st(1)
40e70e:	e7 63                	out    %eax,$0x63
40e710:	55                   	push   %ebp
40e711:	8b ec                	mov    %esp,%ebp
40e713:	81 ec 14 04 00 00    	sub    $0x414,%esp
40e719:	56                   	push   %esi
40e71a:	57                   	push   %edi
40e71b:	33 c0                	xor    %eax,%eax
40e71d:	68 fe 03 00 00       	push   $0x3fe
40e722:	50                   	push   %eax
40e723:	8d 8d ee fb ff ff    	lea    -0x412(%ebp),%ecx
40e729:	51                   	push   %ecx
40e72a:	66 89 85 ec fb ff ff 	mov    %ax,-0x414(%ebp)
40e731:	e8 aa 9c 00 00       	call   0x4183e0
40e736:	8b 75 08             	mov    0x8(%ebp),%esi
40e739:	6a 01                	push   $0x1
40e73b:	6a 08                	push   $0x8
40e73d:	8d 95 ec fb ff ff    	lea    -0x414(%ebp),%edx
40e743:	52                   	push   %edx
40e744:	33 c9                	xor    %ecx,%ecx
40e746:	56                   	push   %esi
40e747:	c7 45 f8 22 00 20 00 	movl   $0x200022,-0x8(%ebp)
40e74e:	c7 45 fc 22 00 00 00 	movl   $0x22,-0x4(%ebp)
40e755:	c7 45 ec 22 00 20 00 	movl   $0x200022,-0x14(%ebp)
40e75c:	c7 45 f0 2f 00 56 00 	movl   $0x56002f,-0x10(%ebp)
40e763:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
40e767:	e8 04 a0 ff ff       	call   0x408770
40e76c:	8b 7d 0c             	mov    0xc(%ebp),%edi
40e76f:	57                   	push   %edi
40e770:	e8 db 9e 00 00       	call   0x418650
40e775:	83 c4 20             	add    $0x20,%esp
40e778:	03 c0                	add    %eax,%eax
40e77a:	50                   	push   %eax
40e77b:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
40e781:	57                   	push   %edi
40e782:	50                   	push   %eax
40e783:	e8 c8 9e 00 00       	call   0x418650
40e788:	8d 8c 45 ec fb ff ff 	lea    -0x414(%ebp,%eax,2),%ecx
40e78f:	83 c4 04             	add    $0x4,%esp
40e792:	51                   	push   %ecx
40e793:	e8 c8 9b 00 00       	call   0x418360
40e798:	8d 55 f8             	lea    -0x8(%ebp),%edx
40e79b:	52                   	push   %edx
40e79c:	e8 af 9e 00 00       	call   0x418650
40e7a1:	83 c4 10             	add    $0x10,%esp
40e7a4:	03 c0                	add    %eax,%eax
40e7a6:	50                   	push   %eax
40e7a7:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e7aa:	50                   	push   %eax
40e7ab:	8d 8d ec fb ff ff    	lea    -0x414(%ebp),%ecx
40e7b1:	51                   	push   %ecx
40e7b2:	e8 99 9e 00 00       	call   0x418650
40e7b7:	8d 94 45 ec fb ff ff 	lea    -0x414(%ebp,%eax,2),%edx
40e7be:	83 c4 04             	add    $0x4,%esp
40e7c1:	52                   	push   %edx
40e7c2:	e8 99 9b 00 00       	call   0x418360
40e7c7:	8b 7d 10             	mov    0x10(%ebp),%edi
40e7ca:	57                   	push   %edi
40e7cb:	e8 80 9e 00 00       	call   0x418650
40e7d0:	83 c4 10             	add    $0x10,%esp
40e7d3:	03 c0                	add    %eax,%eax
40e7d5:	50                   	push   %eax
40e7d6:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
40e7dc:	57                   	push   %edi
40e7dd:	50                   	push   %eax
40e7de:	e8 6d 9e 00 00       	call   0x418650
40e7e3:	8d 8c 45 ec fb ff ff 	lea    -0x414(%ebp,%eax,2),%ecx
40e7ea:	83 c4 04             	add    $0x4,%esp
40e7ed:	51                   	push   %ecx
40e7ee:	e8 6d 9b 00 00       	call   0x418360
40e7f3:	8d 55 ec             	lea    -0x14(%ebp),%edx
40e7f6:	52                   	push   %edx
40e7f7:	e8 54 9e 00 00       	call   0x418650
40e7fc:	83 c4 10             	add    $0x10,%esp
40e7ff:	03 c0                	add    %eax,%eax
40e801:	50                   	push   %eax
40e802:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e805:	50                   	push   %eax
40e806:	8d 8d ec fb ff ff    	lea    -0x414(%ebp),%ecx
40e80c:	51                   	push   %ecx
40e80d:	e8 3e 9e 00 00       	call   0x418650
40e812:	83 c4 04             	add    $0x4,%esp
40e815:	8d 94 45 ec fb ff ff 	lea    -0x414(%ebp,%eax,2),%edx
40e81c:	52                   	push   %edx
40e81d:	e8 3e 9b 00 00       	call   0x418360
40e822:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
40e828:	50                   	push   %eax
40e829:	56                   	push   %esi
40e82a:	e8 11 c2 ff ff       	call   0x40aa40
40e82f:	83 c4 14             	add    $0x14,%esp
40e832:	5f                   	pop    %edi
40e833:	5e                   	pop    %esi
40e834:	8b e5                	mov    %ebp,%esp
40e836:	5d                   	pop    %ebp
40e837:	c3                   	ret
40e838:	03 58 6f             	add    0x6f(%eax),%ebx
40e83b:	d3 d8                	rcr    %cl,%eax
40e83d:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
40e83e:	58                   	pop    %eax
40e83f:	e4 55                	in     $0x55,%al
40e841:	8b ec                	mov    %esp,%ebp
40e843:	56                   	push   %esi
40e844:	8b 75 0c             	mov    0xc(%ebp),%esi
40e847:	57                   	push   %edi
40e848:	8b 7d 08             	mov    0x8(%ebp),%edi
40e84b:	6a 00                	push   $0x0
40e84d:	6a 01                	push   $0x1
40e84f:	56                   	push   %esi
40e850:	57                   	push   %edi
40e851:	e8 1a 9f ff ff       	call   0x408770
40e856:	83 c4 10             	add    $0x10,%esp
40e859:	66 83 3e 00          	cmpw   $0x0,(%esi)
40e85d:	75 0e                	jne    0x40e86d
40e85f:	6a 00                	push   $0x0
40e861:	6a 03                	push   $0x3
40e863:	56                   	push   %esi
40e864:	57                   	push   %edi
40e865:	e8 06 9f ff ff       	call   0x408770
40e86a:	83 c4 10             	add    $0x10,%esp
40e86d:	6a 01                	push   $0x1
40e86f:	6a 1e                	push   $0x1e
40e871:	56                   	push   %esi
40e872:	e8 d9 9d 00 00       	call   0x418650
40e877:	83 c4 04             	add    $0x4,%esp
40e87a:	8d 04 46             	lea    (%esi,%eax,2),%eax
40e87d:	50                   	push   %eax
40e87e:	57                   	push   %edi
40e87f:	e8 ec 9e ff ff       	call   0x408770
40e884:	83 c4 10             	add    $0x10,%esp
40e887:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40e88b:	75 16                	jne    0x40e8a3
40e88d:	6a 00                	push   $0x0
40e88f:	6a 15                	push   $0x15
40e891:	56                   	push   %esi
40e892:	57                   	push   %edi
40e893:	e8 38 36 00 00       	call   0x411ed0
40e898:	83 c4 10             	add    $0x10,%esp
40e89b:	85 c0                	test   %eax,%eax
40e89d:	75 04                	jne    0x40e8a3
40e89f:	5f                   	pop    %edi
40e8a0:	5e                   	pop    %esi
40e8a1:	5d                   	pop    %ebp
40e8a2:	c3                   	ret
40e8a3:	5f                   	pop    %edi
40e8a4:	b8 01 00 00 00       	mov    $0x1,%eax
40e8a9:	5e                   	pop    %esi
40e8aa:	5d                   	pop    %ebp
40e8ab:	c3                   	ret
40e8ac:	88 2f                	mov    %ch,(%edi)
40e8ae:	33 2e                	xor    (%esi),%ebp
40e8b0:	55                   	push   %ebp
40e8b1:	8b ec                	mov    %esp,%ebp
40e8b3:	81 ec 98 00 00 00    	sub    $0x98,%esp
40e8b9:	56                   	push   %esi
40e8ba:	57                   	push   %edi
40e8bb:	b8 5c 00 00 00       	mov    $0x5c,%eax
40e8c0:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
40e8c4:	b8 44 00 00 00       	mov    $0x44,%eax
40e8c9:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
40e8cd:	b8 42 00 00 00       	mov    $0x42,%eax
40e8d2:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
40e8d6:	b8 31 00 00 00       	mov    $0x31,%eax
40e8db:	66 89 45 ee          	mov    %ax,-0x12(%ebp)
40e8df:	33 c0                	xor    %eax,%eax
40e8e1:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
40e8e5:	b8 4f 00 00 00       	mov    $0x4f,%eax
40e8ea:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
40e8ee:	b8 70 00 00 00       	mov    $0x70,%eax
40e8f3:	66 89 45 aa          	mov    %ax,-0x56(%ebp)
40e8f7:	b8 65 00 00 00       	mov    $0x65,%eax
40e8fc:	66 89 45 ac          	mov    %ax,-0x54(%ebp)
40e900:	b8 72 00 00 00       	mov    $0x72,%eax
40e905:	66 89 45 ae          	mov    %ax,-0x52(%ebp)
40e909:	b8 61 00 00 00       	mov    $0x61,%eax
40e90e:	66 89 45 b0          	mov    %ax,-0x50(%ebp)
40e912:	33 c0                	xor    %eax,%eax
40e914:	66 89 45 b2          	mov    %ax,-0x4e(%ebp)
40e918:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40e91b:	89 45 b8             	mov    %eax,-0x48(%ebp)
40e91e:	89 45 bc             	mov    %eax,-0x44(%ebp)
40e921:	89 45 c0             	mov    %eax,-0x40(%ebp)
40e924:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40e927:	b8 43 00 00 00       	mov    $0x43,%eax
40e92c:	66 89 45 c8          	mov    %ax,-0x38(%ebp)
40e930:	b8 68 00 00 00       	mov    $0x68,%eax