40a497:	68 02 01 00 00       	push   $0x102
40a49c:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40a49f:	ff 15 74 33 42 00    	call   *0x423374
40a4a5:	8b 45 e8             	mov    -0x18(%ebp),%eax
40a4a8:	33 db                	xor    %ebx,%ebx
40a4aa:	2b 45 e0             	sub    -0x20(%ebp),%eax
40a4ad:	43                   	inc    %ebx
40a4ae:	89 45 d8             	mov    %eax,-0x28(%ebp)
40a4b1:	db 45 d8             	fildl  -0x28(%ebp)
40a4b4:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40a4b7:	dd 5d d4             	fstpl  -0x2c(%ebp)
40a4ba:	dd 45 d4             	fldl   -0x2c(%ebp)
40a4bd:	dc 0d b0 62 40 00    	fmull  0x4062b0
40a4c3:	e8 47 21 01 00       	call   0x41c60f
40a4c8:	89 45 b0             	mov    %eax,-0x50(%ebp)
40a4cb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40a4ce:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a4d1:	8b 40 f8             	mov    -0x8(%eax),%eax
40a4d4:	40                   	inc    %eax
40a4d5:	50                   	push   %eax
40a4d6:	ff 15 78 33 42 00    	call   *0x423378
40a4dc:	8b 8f 84 01 00 00    	mov    0x184(%edi),%ecx
40a4e2:	85 c0                	test   %eax,%eax
40a4e4:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40a4e7:	8d 45 a8             	lea    -0x58(%ebp),%eax
40a4ea:	50                   	push   %eax
40a4eb:	53                   	push   %ebx
40a4ec:	56                   	push   %esi
40a4ed:	51                   	push   %ecx
40a4ee:	74 13                	je     0x40a503
40a4f0:	ff 15 40 34 42 00    	call   *0x423440
40a4f6:	6a ff                	push   $0xffffffff
40a4f8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40a4fb:	ff 15 7c 33 42 00    	call   *0x42337c
40a501:	eb 0d                	jmp    0x40a510
40a503:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
40a50a:	ff 15 40 34 42 00    	call   *0x423440
40a510:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40a514:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40a517:	ff 15 44 32 42 00    	call   *0x423244
40a51d:	e8 f8 1e 01 00       	call   0x41c41a
40a522:	c3                   	ret
40a523:	8b ff                	mov    %edi,%edi
40a525:	56                   	push   %esi
40a526:	57                   	push   %edi
40a527:	8b f9                	mov    %ecx,%edi
40a529:	68 bc 02 00 00       	push   $0x2bc
40a52e:	ff b7 98 00 00 00    	push   0x98(%edi)
40a534:	6a 00                	push   $0x0
40a536:	e8 3b 04 00 00       	call   0x40a976
40a53b:	68 bd 02 00 00       	push   $0x2bd
40a540:	ff b7 9c 00 00 00    	push   0x9c(%edi)
40a546:	8b cf                	mov    %edi,%ecx
40a548:	6a 01                	push   $0x1
40a54a:	e8 27 04 00 00       	call   0x40a976
40a54f:	68 be 02 00 00       	push   $0x2be
40a554:	ff b7 a0 00 00 00    	push   0xa0(%edi)
40a55a:	8b cf                	mov    %edi,%ecx
40a55c:	6a 02                	push   $0x2
40a55e:	e8 13 04 00 00       	call   0x40a976
40a563:	68 bf 02 00 00       	push   $0x2bf
40a568:	ff b7 a4 00 00 00    	push   0xa4(%edi)
40a56e:	8b cf                	mov    %edi,%ecx
40a570:	6a 03                	push   $0x3
40a572:	e8 ff 03 00 00       	call   0x40a976
40a577:	68 c0 02 00 00       	push   $0x2c0
40a57c:	ff b7 a8 00 00 00    	push   0xa8(%edi)
40a582:	8b cf                	mov    %edi,%ecx
40a584:	6a 04                	push   $0x4
40a586:	e8 eb 03 00 00       	call   0x40a976
40a58b:	68 c1 02 00 00       	push   $0x2c1
40a590:	ff b7 ac 00 00 00    	push   0xac(%edi)
40a596:	8b cf                	mov    %edi,%ecx
40a598:	6a 05                	push   $0x5
40a59a:	e8 d7 03 00 00       	call   0x40a976
40a59f:	68 c3 02 00 00       	push   $0x2c3
40a5a4:	ff b7 b0 00 00 00    	push   0xb0(%edi)
40a5aa:	8b cf                	mov    %edi,%ecx
40a5ac:	6a 06                	push   $0x6
40a5ae:	e8 c3 03 00 00       	call   0x40a976
40a5b3:	68 c4 02 00 00       	push   $0x2c4
40a5b8:	ff b7 b4 00 00 00    	push   0xb4(%edi)
40a5be:	8b cf                	mov    %edi,%ecx
40a5c0:	6a 07                	push   $0x7
40a5c2:	e8 af 03 00 00       	call   0x40a976
40a5c7:	68 c5 02 00 00       	push   $0x2c5
40a5cc:	ff b7 b8 00 00 00    	push   0xb8(%edi)
40a5d2:	8b cf                	mov    %edi,%ecx
40a5d4:	6a 08                	push   $0x8
40a5d6:	e8 9b 03 00 00       	call   0x40a976
40a5db:	68 c6 02 00 00       	push   $0x2c6
40a5e0:	ff b7 bc 00 00 00    	push   0xbc(%edi)
40a5e6:	8b cf                	mov    %edi,%ecx
40a5e8:	6a 09                	push   $0x9
40a5ea:	e8 87 03 00 00       	call   0x40a976
40a5ef:	68 c7 02 00 00       	push   $0x2c7
40a5f4:	ff b7 c0 00 00 00    	push   0xc0(%edi)
40a5fa:	8b cf                	mov    %edi,%ecx
40a5fc:	6a 0a                	push   $0xa
40a5fe:	e8 73 03 00 00       	call   0x40a976
40a603:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
40a60a:	6a 0b                	push   $0xb
40a60c:	5e                   	pop    %esi
40a60d:	74 16                	je     0x40a625
40a60f:	68 c8 02 00 00       	push   $0x2c8
40a614:	ff b7 c4 00 00 00    	push   0xc4(%edi)
40a61a:	8b cf                	mov    %edi,%ecx
40a61c:	56                   	push   %esi
40a61d:	e8 54 03 00 00       	call   0x40a976
40a622:	6a 0c                	push   $0xc
40a624:	5e                   	pop    %esi
40a625:	68 c9 02 00 00       	push   $0x2c9
40a62a:	ff b7 c8 00 00 00    	push   0xc8(%edi)
40a630:	8b cf                	mov    %edi,%ecx
40a632:	56                   	push   %esi
40a633:	e8 3e 03 00 00       	call   0x40a976
40a638:	68 ca 02 00 00       	push   $0x2ca
40a63d:	ff b7 cc 00 00 00    	push   0xcc(%edi)
40a643:	46                   	inc    %esi
40a644:	8b cf                	mov    %edi,%ecx
40a646:	56                   	push   %esi
40a647:	e8 2a 03 00 00       	call   0x40a976
40a64c:	68 cb 02 00 00       	push   $0x2cb
40a651:	ff b7 d0 00 00 00    	push   0xd0(%edi)
40a657:	46                   	inc    %esi
40a658:	8b cf                	mov    %edi,%ecx
40a65a:	56                   	push   %esi
40a65b:	e8 16 03 00 00       	call   0x40a976
40a660:	68 cc 02 00 00       	push   $0x2cc
40a665:	ff b7 d4 00 00 00    	push   0xd4(%edi)
40a66b:	46                   	inc    %esi
40a66c:	8b cf                	mov    %edi,%ecx
40a66e:	56                   	push   %esi
40a66f:	e8 02 03 00 00       	call   0x40a976
40a674:	68 cd 02 00 00       	push   $0x2cd
40a679:	ff b7 d8 00 00 00    	push   0xd8(%edi)
40a67f:	46                   	inc    %esi
40a680:	8b cf                	mov    %edi,%ecx
40a682:	56                   	push   %esi
40a683:	e8 ee 02 00 00       	call   0x40a976
40a688:	68 ce 02 00 00       	push   $0x2ce
40a68d:	ff b7 dc 00 00 00    	push   0xdc(%edi)
40a693:	46                   	inc    %esi
40a694:	8b cf                	mov    %edi,%ecx
40a696:	56                   	push   %esi
40a697:	e8 da 02 00 00       	call   0x40a976
40a69c:	68 cf 02 00 00       	push   $0x2cf
40a6a1:	ff b7 e0 00 00 00    	push   0xe0(%edi)
40a6a7:	46                   	inc    %esi
40a6a8:	8b cf                	mov    %edi,%ecx
40a6aa:	56                   	push   %esi
40a6ab:	e8 c6 02 00 00       	call   0x40a976
40a6b0:	46                   	inc    %esi
40a6b1:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
40a6b8:	74 14                	je     0x40a6ce
40a6ba:	68 d0 02 00 00       	push   $0x2d0
40a6bf:	ff b7 e4 00 00 00    	push   0xe4(%edi)
40a6c5:	8b cf                	mov    %edi,%ecx
40a6c7:	56                   	push   %esi
40a6c8:	e8 a9 02 00 00       	call   0x40a976
40a6cd:	46                   	inc    %esi
40a6ce:	68 d1 02 00 00       	push   $0x2d1
40a6d3:	ff b7 e8 00 00 00    	push   0xe8(%edi)
40a6d9:	8b cf                	mov    %edi,%ecx
40a6db:	56                   	push   %esi
40a6dc:	e8 95 02 00 00       	call   0x40a976
40a6e1:	46                   	inc    %esi
40a6e2:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
40a6e9:	74 14                	je     0x40a6ff
40a6eb:	68 d2 02 00 00       	push   $0x2d2
40a6f0:	ff b7 ec 00 00 00    	push   0xec(%edi)
40a6f6:	8b cf                	mov    %edi,%ecx
40a6f8:	56                   	push   %esi
40a6f9:	e8 78 02 00 00       	call   0x40a976
40a6fe:	46                   	inc    %esi
40a6ff:	68 d3 02 00 00       	push   $0x2d3
40a704:	ff b7 f0 00 00 00    	push   0xf0(%edi)
40a70a:	8b cf                	mov    %edi,%ecx
40a70c:	56                   	push   %esi
40a70d:	e8 64 02 00 00       	call   0x40a976
40a712:	68 d4 02 00 00       	push   $0x2d4
40a717:	ff b7 f4 00 00 00    	push   0xf4(%edi)
40a71d:	46                   	inc    %esi
40a71e:	8b cf                	mov    %edi,%ecx
40a720:	56                   	push   %esi
40a721:	e8 50 02 00 00       	call   0x40a976
40a726:	68 d5 02 00 00       	push   $0x2d5
40a72b:	ff b7 f8 00 00 00    	push   0xf8(%edi)
40a731:	8d 46 01             	lea    0x1(%esi),%eax
40a734:	8b cf                	mov    %edi,%ecx
40a736:	50                   	push   %eax
40a737:	e8 3a 02 00 00       	call   0x40a976
40a73c:	5f                   	pop    %edi
40a73d:	5e                   	pop    %esi
40a73e:	c3                   	ret
40a73f:	8b ff                	mov    %edi,%edi
40a741:	53                   	push   %ebx
40a742:	56                   	push   %esi
40a743:	57                   	push   %edi
40a744:	33 f6                	xor    %esi,%esi
40a746:	8b f9                	mov    %ecx,%edi
40a748:	56                   	push   %esi
40a749:	56                   	push   %esi
40a74a:	68 04 10 00 00       	push   $0x1004
40a74f:	ff b7 84 01 00 00    	push   0x184(%edi)
40a755:	ff 15 40 34 42 00    	call   *0x423440
40a75b:	8b d8                	mov    %eax,%ebx
40a75d:	85 db                	test   %ebx,%ebx
40a75f:	7e 2b                	jle    0x40a78c
40a761:	8d 87 64 01 00 00    	lea    0x164(%edi),%eax
40a767:	56                   	push   %esi
40a768:	8b c8                	mov    %eax,%ecx
40a76a:	ff 15 2c 34 42 00    	call   *0x42342c
40a770:	50                   	push   %eax
40a771:	8b cf                	mov    %edi,%ecx
40a773:	e8 a5 00 00 00       	call   0x40a81d
40a778:	50                   	push   %eax
40a779:	56                   	push   %esi
40a77a:	8b cf                	mov    %edi,%ecx
40a77c:	e8 14 03 00 00       	call   0x40aa95
40a781:	46                   	inc    %esi
40a782:	8d 87 64 01 00 00    	lea    0x164(%edi),%eax
40a788:	3b f3                	cmp    %ebx,%esi
40a78a:	7c db                	jl     0x40a767
40a78c:	5f                   	pop    %edi
40a78d:	5e                   	pop    %esi
40a78e:	5b                   	pop    %ebx
40a78f:	c3                   	ret
40a790:	8b ff                	mov    %edi,%edi
40a792:	55                   	push   %ebp
40a793:	8b ec                	mov    %esp,%ebp
40a795:	83 ec 54             	sub    $0x54,%esp
40a798:	53                   	push   %ebx
40a799:	56                   	push   %esi
40a79a:	57                   	push   %edi
40a79b:	6a 06                	push   $0x6
40a79d:	8b d9                	mov    %ecx,%ebx
40a79f:	8d 7d e8             	lea    -0x18(%ebp),%edi
40a7a2:	59                   	pop    %ecx
40a7a3:	33 c0                	xor    %eax,%eax
40a7a5:	33 f6                	xor    %esi,%esi
40a7a7:	f3 ab                	rep stos %eax,%es:(%edi)
40a7a9:	8b 45 08             	mov    0x8(%ebp),%eax
40a7ac:	89 45 f0             	mov    %eax,-0x10(%ebp)
40a7af:	8d 45 e8             	lea    -0x18(%ebp),%eax
40a7b2:	50                   	push   %eax
40a7b3:	6a ff                	push   $0xffffffff
40a7b5:	68 53 10 00 00       	push   $0x1053
40a7ba:	ff b3 84 01 00 00    	push   0x184(%ebx)
40a7c0:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40a7c7:	ff 15 40 34 42 00    	call   *0x423440
40a7cd:	8b f8                	mov    %eax,%edi
40a7cf:	83 ff 07             	cmp    $0x7,%edi
40a7d2:	77 40                	ja     0x40a814
40a7d4:	6a 3c                	push   $0x3c
40a7d6:	8d 45 ac             	lea    -0x54(%ebp),%eax
40a7d9:	56                   	push   %esi
40a7da:	50                   	push   %eax
40a7db:	e8 41 1e 01 00       	call   0x41c621
40a7e0:	33 c0                	xor    %eax,%eax
40a7e2:	89 7d b0             	mov    %edi,-0x50(%ebp)
40a7e5:	40                   	inc    %eax
40a7e6:	c7 45 c4 04 01 00 00 	movl   $0x104,-0x3c(%ebp)
40a7ed:	83 c4 0c             	add    $0xc,%esp
40a7f0:	89 45 ac             	mov    %eax,-0x54(%ebp)
40a7f3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40a7f6:	8b 45 0c             	mov    0xc(%ebp),%eax
40a7f9:	89 45 c0             	mov    %eax,-0x40(%ebp)
40a7fc:	8d 45 ac             	lea    -0x54(%ebp),%eax
40a7ff:	50                   	push   %eax
40a800:	56                   	push   %esi
40a801:	68 4b 10 00 00       	push   $0x104b
40a806:	ff b3 84 01 00 00    	push   0x184(%ebx)
40a80c:	ff 15 40 34 42 00    	call   *0x423440
40a812:	8b f0                	mov    %eax,%esi
40a814:	5f                   	pop    %edi
40a815:	8b c6                	mov    %esi,%eax
40a817:	5e                   	pop    %esi
40a818:	5b                   	pop    %ebx
40a819:	c9                   	leave
40a81a:	c2 0c 00             	ret    $0xc
40a81d:	8b ff                	mov    %edi,%edi
40a81f:	55                   	push   %ebp
40a820:	8b ec                	mov    %esp,%ebp
40a822:	56                   	push   %esi
40a823:	57                   	push   %edi
40a824:	8b 7d 08             	mov    0x8(%ebp),%edi
40a827:	33 d2                	xor    %edx,%edx
40a829:	8b f1                	mov    %ecx,%esi
40a82b:	85 ff                	test   %edi,%edi
40a82d:	75 06                	jne    0x40a835
40a82f:	8b 96 98 00 00 00    	mov    0x98(%esi),%edx
40a835:	83 ff 01             	cmp    $0x1,%edi
40a838:	75 06                	jne    0x40a840
40a83a:	8b 96 9c 00 00 00    	mov    0x9c(%esi),%edx
40a840:	83 ff 02             	cmp    $0x2,%edi
40a843:	75 06                	jne    0x40a84b
40a845:	8b 96 a0 00 00 00    	mov    0xa0(%esi),%edx
40a84b:	83 ff 03             	cmp    $0x3,%edi
40a84e:	75 06                	jne    0x40a856
40a850:	8b 96 a4 00 00 00    	mov    0xa4(%esi),%edx
40a856:	83 ff 04             	cmp    $0x4,%edi
40a859:	75 06                	jne    0x40a861
40a85b:	8b 96 a8 00 00 00    	mov    0xa8(%esi),%edx
40a861:	83 ff 05             	cmp    $0x5,%edi
40a864:	75 06                	jne    0x40a86c
40a866:	8b 96 ac 00 00 00    	mov    0xac(%esi),%edx
40a86c:	83 ff 06             	cmp    $0x6,%edi
40a86f:	75 06                	jne    0x40a877
40a871:	8b 96 b0 00 00 00    	mov    0xb0(%esi),%edx
40a877:	83 ff 07             	cmp    $0x7,%edi
40a87a:	75 06                	jne    0x40a882
40a87c:	8b 96 b4 00 00 00    	mov    0xb4(%esi),%edx
40a882:	83 ff 08             	cmp    $0x8,%edi
40a885:	75 06                	jne    0x40a88d
40a887:	8b 96 b8 00 00 00    	mov    0xb8(%esi),%edx
40a88d:	83 ff 09             	cmp    $0x9,%edi
40a890:	75 06                	jne    0x40a898
40a892:	8b 96 bc 00 00 00    	mov    0xbc(%esi),%edx
40a898:	6a 0b                	push   $0xb
40a89a:	59                   	pop    %ecx
40a89b:	83 ff 0a             	cmp    $0xa,%edi
40a89e:	75 06                	jne    0x40a8a6
40a8a0:	8b 96 c0 00 00 00    	mov    0xc0(%esi),%edx
40a8a6:	53                   	push   %ebx
40a8a7:	8b 1d 38 1f 42 00    	mov    0x421f38,%ebx
40a8ad:	85 db                	test   %ebx,%ebx
40a8af:	74 0e                	je     0x40a8bf
40a8b1:	6a 0c                	push   $0xc
40a8b3:	59                   	pop    %ecx
40a8b4:	83 ff 0b             	cmp    $0xb,%edi
40a8b7:	75 06                	jne    0x40a8bf
40a8b9:	8b 96 c4 00 00 00    	mov    0xc4(%esi),%edx
40a8bf:	8b c1                	mov    %ecx,%eax
40a8c1:	41                   	inc    %ecx
40a8c2:	3b f8                	cmp    %eax,%edi
40a8c4:	75 06                	jne    0x40a8cc
40a8c6:	8b 96 c8 00 00 00    	mov    0xc8(%esi),%edx
40a8cc:	3b f9                	cmp    %ecx,%edi
40a8ce:	75 06                	jne    0x40a8d6
40a8d0:	8b 96 cc 00 00 00    	mov    0xcc(%esi),%edx
40a8d6:	8d 41 01             	lea    0x1(%ecx),%eax
40a8d9:	83 c1 02             	add    $0x2,%ecx
40a8dc:	3b f8                	cmp    %eax,%edi
40a8de:	75 06                	jne    0x40a8e6
40a8e0:	8b 96 d0 00 00 00    	mov    0xd0(%esi),%edx
40a8e6:	3b f9                	cmp    %ecx,%edi
40a8e8:	75 06                	jne    0x40a8f0
40a8ea:	8b 96 d4 00 00 00    	mov    0xd4(%esi),%edx
40a8f0:	8d 41 01             	lea    0x1(%ecx),%eax