40a2c6:	0f 9f c1             	setg   %cl
40a2c9:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a2d0:	85 c9                	test   %ecx,%ecx
40a2d2:	0f 85 04 f5 ff ff    	jne    0x4097dc
40a2d8:	0f b6 7e f2          	movzbl -0xe(%esi),%edi
40a2dc:	0f b6 42 f2          	movzbl -0xe(%edx),%eax
40a2e0:	2b f8                	sub    %eax,%edi
40a2e2:	74 16                	je     0x40a2fa
40a2e4:	33 c9                	xor    %ecx,%ecx
40a2e6:	85 ff                	test   %edi,%edi
40a2e8:	0f 9f c1             	setg   %cl
40a2eb:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a2f2:	85 c9                	test   %ecx,%ecx
40a2f4:	0f 85 e2 f4 ff ff    	jne    0x4097dc
40a2fa:	0f b6 7e f3          	movzbl -0xd(%esi),%edi
40a2fe:	0f b6 42 f3          	movzbl -0xd(%edx),%eax
40a302:	2b f8                	sub    %eax,%edi
40a304:	74 16                	je     0x40a31c
40a306:	33 c9                	xor    %ecx,%ecx
40a308:	85 ff                	test   %edi,%edi
40a30a:	0f 9f c1             	setg   %cl
40a30d:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a314:	85 c9                	test   %ecx,%ecx
40a316:	0f 85 c0 f4 ff ff    	jne    0x4097dc
40a31c:	0f b6 4e f4          	movzbl -0xc(%esi),%ecx
40a320:	0f b6 42 f4          	movzbl -0xc(%edx),%eax
40a324:	2b c8                	sub    %eax,%ecx
40a326:	74 12                	je     0x40a33a
40a328:	33 c0                	xor    %eax,%eax
40a32a:	85 c9                	test   %ecx,%ecx
40a32c:	0f 9f c0             	setg   %al
40a32f:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
40a336:	eb 02                	jmp    0x40a33a
40a338:	33 c9                	xor    %ecx,%ecx
40a33a:	85 c9                	test   %ecx,%ecx
40a33c:	0f 85 9a f4 ff ff    	jne    0x4097dc
40a342:	8b 46 f5             	mov    -0xb(%esi),%eax
40a345:	3b 42 f5             	cmp    -0xb(%edx),%eax
40a348:	0f 84 81 00 00 00    	je     0x40a3cf
40a34e:	0f b6 f8             	movzbl %al,%edi
40a351:	0f b6 42 f5          	movzbl -0xb(%edx),%eax
40a355:	2b f8                	sub    %eax,%edi
40a357:	74 16                	je     0x40a36f
40a359:	33 c9                	xor    %ecx,%ecx
40a35b:	85 ff                	test   %edi,%edi
40a35d:	0f 9f c1             	setg   %cl
40a360:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a367:	85 c9                	test   %ecx,%ecx
40a369:	0f 85 6d f4 ff ff    	jne    0x4097dc
40a36f:	0f b6 7e f6          	movzbl -0xa(%esi),%edi
40a373:	0f b6 42 f6          	movzbl -0xa(%edx),%eax
40a377:	2b f8                	sub    %eax,%edi
40a379:	74 16                	je     0x40a391
40a37b:	33 c9                	xor    %ecx,%ecx
40a37d:	85 ff                	test   %edi,%edi
40a37f:	0f 9f c1             	setg   %cl
40a382:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a389:	85 c9                	test   %ecx,%ecx
40a38b:	0f 85 4b f4 ff ff    	jne    0x4097dc
40a391:	0f b6 7e f7          	movzbl -0x9(%esi),%edi
40a395:	0f b6 42 f7          	movzbl -0x9(%edx),%eax
40a399:	2b f8                	sub    %eax,%edi
40a39b:	74 16                	je     0x40a3b3
40a39d:	33 c9                	xor    %ecx,%ecx
40a39f:	85 ff                	test   %edi,%edi
40a3a1:	0f 9f c1             	setg   %cl
40a3a4:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a3ab:	85 c9                	test   %ecx,%ecx
40a3ad:	0f 85 29 f4 ff ff    	jne    0x4097dc
40a3b3:	0f b6 4e f8          	movzbl -0x8(%esi),%ecx
40a3b7:	0f b6 42 f8          	movzbl -0x8(%edx),%eax
40a3bb:	2b c8                	sub    %eax,%ecx
40a3bd:	74 12                	je     0x40a3d1
40a3bf:	33 c0                	xor    %eax,%eax
40a3c1:	85 c9                	test   %ecx,%ecx
40a3c3:	0f 9f c0             	setg   %al
40a3c6:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
40a3cd:	eb 02                	jmp    0x40a3d1
40a3cf:	33 c9                	xor    %ecx,%ecx
40a3d1:	85 c9                	test   %ecx,%ecx
40a3d3:	0f 85 03 f4 ff ff    	jne    0x4097dc
40a3d9:	8b 46 f9             	mov    -0x7(%esi),%eax
40a3dc:	3b 42 f9             	cmp    -0x7(%edx),%eax
40a3df:	0f 84 81 00 00 00    	je     0x40a466
40a3e5:	0f b6 f8             	movzbl %al,%edi
40a3e8:	0f b6 42 f9          	movzbl -0x7(%edx),%eax
40a3ec:	2b f8                	sub    %eax,%edi
40a3ee:	74 16                	je     0x40a406
40a3f0:	33 c9                	xor    %ecx,%ecx
40a3f2:	85 ff                	test   %edi,%edi
40a3f4:	0f 9f c1             	setg   %cl
40a3f7:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a3fe:	85 c9                	test   %ecx,%ecx
40a400:	0f 85 d6 f3 ff ff    	jne    0x4097dc
40a406:	0f b6 7e fa          	movzbl -0x6(%esi),%edi
40a40a:	0f b6 42 fa          	movzbl -0x6(%edx),%eax
40a40e:	2b f8                	sub    %eax,%edi
40a410:	74 16                	je     0x40a428
40a412:	33 c9                	xor    %ecx,%ecx
40a414:	85 ff                	test   %edi,%edi
40a416:	0f 9f c1             	setg   %cl
40a419:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a420:	85 c9                	test   %ecx,%ecx
40a422:	0f 85 b4 f3 ff ff    	jne    0x4097dc
40a428:	0f b6 7e fb          	movzbl -0x5(%esi),%edi
40a42c:	0f b6 42 fb          	movzbl -0x5(%edx),%eax
40a430:	2b f8                	sub    %eax,%edi
40a432:	74 16                	je     0x40a44a
40a434:	33 c9                	xor    %ecx,%ecx
40a436:	85 ff                	test   %edi,%edi
40a438:	0f 9f c1             	setg   %cl
40a43b:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a442:	85 c9                	test   %ecx,%ecx
40a444:	0f 85 92 f3 ff ff    	jne    0x4097dc
40a44a:	0f b6 4e fc          	movzbl -0x4(%esi),%ecx
40a44e:	0f b6 42 fc          	movzbl -0x4(%edx),%eax
40a452:	2b c8                	sub    %eax,%ecx
40a454:	74 12                	je     0x40a468
40a456:	33 c0                	xor    %eax,%eax
40a458:	85 c9                	test   %ecx,%ecx
40a45a:	0f 9f c0             	setg   %al
40a45d:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
40a464:	eb 02                	jmp    0x40a468
40a466:	33 c9                	xor    %ecx,%ecx
40a468:	85 c9                	test   %ecx,%ecx
40a46a:	0f 85 6c f3 ff ff    	jne    0x4097dc
40a470:	0f b6 7e fd          	movzbl -0x3(%esi),%edi
40a474:	0f b6 42 fd          	movzbl -0x3(%edx),%eax
40a478:	2b f8                	sub    %eax,%edi
40a47a:	74 16                	je     0x40a492
40a47c:	33 c9                	xor    %ecx,%ecx
40a47e:	85 ff                	test   %edi,%edi
40a480:	0f 9f c1             	setg   %cl
40a483:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a48a:	85 c9                	test   %ecx,%ecx
40a48c:	0f 85 4a f3 ff ff    	jne    0x4097dc
40a492:	0f b6 42 fe          	movzbl -0x2(%edx),%eax
40a496:	0f b6 7e fe          	movzbl -0x2(%esi),%edi
40a49a:	2b f8                	sub    %eax,%edi
40a49c:	0f 84 54 f7 ff ff    	je     0x409bf6
40a4a2:	33 c9                	xor    %ecx,%ecx
40a4a4:	85 ff                	test   %edi,%edi
40a4a6:	0f 9f c1             	setg   %cl
40a4a9:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40a4b0:	e9 39 f7 ff ff       	jmp    0x409bee
40a4b5:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a4b8:	0f b6 02             	movzbl (%edx),%eax
40a4bb:	0f b6 31             	movzbl (%ecx),%esi
40a4be:	2b f0                	sub    %eax,%esi
40a4c0:	74 16                	je     0x40a4d8
40a4c2:	33 c0                	xor    %eax,%eax
40a4c4:	85 f6                	test   %esi,%esi
40a4c6:	0f 9f c0             	setg   %al
40a4c9:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40a4d0:	85 c0                	test   %eax,%eax
40a4d2:	0f 85 f1 00 00 00    	jne    0x40a5c9
40a4d8:	0f b6 71 01          	movzbl 0x1(%ecx),%esi
40a4dc:	0f b6 42 01          	movzbl 0x1(%edx),%eax
40a4e0:	2b f0                	sub    %eax,%esi
40a4e2:	74 16                	je     0x40a4fa
40a4e4:	33 c0                	xor    %eax,%eax
40a4e6:	85 f6                	test   %esi,%esi
40a4e8:	0f 9f c0             	setg   %al
40a4eb:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40a4f2:	85 c0                	test   %eax,%eax
40a4f4:	0f 85 cf 00 00 00    	jne    0x40a5c9
40a4fa:	0f b6 71 02          	movzbl 0x2(%ecx),%esi
40a4fe:	0f b6 42 02          	movzbl 0x2(%edx),%eax
40a502:	2b f0                	sub    %eax,%esi
40a504:	74 16                	je     0x40a51c
40a506:	33 c0                	xor    %eax,%eax
40a508:	85 f6                	test   %esi,%esi
40a50a:	0f 9f c0             	setg   %al
40a50d:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40a514:	85 c0                	test   %eax,%eax
40a516:	0f 85 ad 00 00 00    	jne    0x40a5c9
40a51c:	0f b6 49 03          	movzbl 0x3(%ecx),%ecx
40a520:	0f b6 42 03          	movzbl 0x3(%edx),%eax
40a524:	2b c8                	sub    %eax,%ecx
40a526:	74 0e                	je     0x40a536
40a528:	33 c0                	xor    %eax,%eax
40a52a:	85 c9                	test   %ecx,%ecx
40a52c:	0f 9f c0             	setg   %al
40a52f:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
40a536:	8b c1                	mov    %ecx,%eax
40a538:	e9 8c 00 00 00       	jmp    0x40a5c9
40a53d:	8b 55 08             	mov    0x8(%ebp),%edx
40a540:	8b 75 0c             	mov    0xc(%ebp),%esi
40a543:	0f b6 0a             	movzbl (%edx),%ecx
40a546:	0f b6 06             	movzbl (%esi),%eax
40a549:	2b c8                	sub    %eax,%ecx
40a54b:	74 12                	je     0x40a55f
40a54d:	33 c0                	xor    %eax,%eax
40a54f:	85 c9                	test   %ecx,%ecx
40a551:	0f 9f c0             	setg   %al
40a554:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40a55b:	85 c0                	test   %eax,%eax
40a55d:	75 6a                	jne    0x40a5c9
40a55f:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
40a563:	0f b6 46 01          	movzbl 0x1(%esi),%eax
40a567:	2b c8                	sub    %eax,%ecx
40a569:	74 12                	je     0x40a57d
40a56b:	33 c0                	xor    %eax,%eax
40a56d:	85 c9                	test   %ecx,%ecx
40a56f:	0f 9f c0             	setg   %al
40a572:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40a579:	85 c0                	test   %eax,%eax
40a57b:	75 4c                	jne    0x40a5c9
40a57d:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
40a581:	0f b6 46 02          	movzbl 0x2(%esi),%eax
40a585:	eb 9d                	jmp    0x40a524
40a587:	8b 55 08             	mov    0x8(%ebp),%edx
40a58a:	8b 75 0c             	mov    0xc(%ebp),%esi
40a58d:	0f b6 0a             	movzbl (%edx),%ecx
40a590:	0f b6 06             	movzbl (%esi),%eax
40a593:	2b c8                	sub    %eax,%ecx
40a595:	74 12                	je     0x40a5a9
40a597:	33 c0                	xor    %eax,%eax
40a599:	85 c9                	test   %ecx,%ecx
40a59b:	0f 9f c0             	setg   %al
40a59e:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40a5a5:	85 c0                	test   %eax,%eax
40a5a7:	75 20                	jne    0x40a5c9
40a5a9:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
40a5ad:	0f b6 46 01          	movzbl 0x1(%esi),%eax
40a5b1:	e9 6e ff ff ff       	jmp    0x40a524
40a5b6:	8b 45 08             	mov    0x8(%ebp),%eax
40a5b9:	0f b6 08             	movzbl (%eax),%ecx
40a5bc:	8b 45 0c             	mov    0xc(%ebp),%eax
40a5bf:	0f b6 00             	movzbl (%eax),%eax
40a5c2:	e9 5d ff ff ff       	jmp    0x40a524
40a5c7:	33 c0                	xor    %eax,%eax
40a5c9:	5e                   	pop    %esi
40a5ca:	5b                   	pop    %ebx
40a5cb:	5d                   	pop    %ebp
40a5cc:	c3                   	ret
40a5cd:	8d 49 00             	lea    0x0(%ecx),%ecx
40a5d0:	da 97 40 00 f6 9b    	ficoml -0x6409ffc0(%edi)
40a5d6:	40                   	inc    %eax
40a5d7:	00 3b                	add    %bh,(%ebx)
40a5d9:	a0 40 00 70 a4       	mov    0xa4700040,%al
40a5de:	40                   	inc    %eax
40a5df:	00 57 97             	add    %dl,-0x69(%edi)
40a5e2:	40                   	inc    %eax
40a5e3:	00 5f 9b             	add    %bl,-0x65(%edi)
40a5e6:	40                   	inc    %eax
40a5e7:	00 a4 9f 40 00 d9 a3 	add    %ah,-0x5c26ffc0(%edi,%ebx,4)
40a5ee:	40                   	inc    %eax
40a5ef:	00 c0                	add    %al,%al
40a5f1:	96                   	xchg   %eax,%esi
40a5f2:	40                   	inc    %eax
40a5f3:	00 c7                	add    %al,%bh
40a5f5:	9a 40 00 0c 9f 40 00 	lcall  $0x40,$0x9f0c0040
40a5fc:	42                   	inc    %edx
40a5fd:	a3 40 00 28 96       	mov    %eax,0x96280040
40a602:	40                   	inc    %eax
40a603:	00 30                	add    %dh,(%eax)
40a605:	9a 40 00 75 9e 40 00 	lcall  $0x40,$0x9e750040
40a60c:	aa                   	stos   %al,%es:(%edi)
40a60d:	a2 40 00 91 95       	mov    %al,0x95910040
40a612:	40                   	inc    %eax
40a613:	00 99 99 40 00 de    	add    %bl,-0x21ffbf67(%ecx)
40a619:	9d                   	popf
40a61a:	40                   	inc    %eax
40a61b:	00 13                	add    %dl,(%ebx)
40a61d:	a2 40 00 fa 94       	mov    %al,0x94fa0040
40a622:	40                   	inc    %eax
40a623:	00 02                	add    %al,(%edx)
40a625:	99                   	cltd
40a626:	40                   	inc    %eax
40a627:	00 47 9d             	add    %al,-0x63(%edi)
40a62a:	40                   	inc    %eax
40a62b:	00 7c a1 40          	add    %bh,0x40(%ecx,%eiz,4)
40a62f:	00 63 94             	add    %ah,-0x6c(%ebx)
40a632:	40                   	inc    %eax
40a633:	00 6b 98             	add    %ch,-0x68(%ebx)
40a636:	40                   	inc    %eax
40a637:	00 b0 9c 40 00 e5    	add    %dh,-0x1affbf64(%eax)
40a63d:	a0 40 00 cc 93       	mov    0x93cc0040,%al
40a642:	40                   	inc    %eax
40a643:	00 e4                	add    %ah,%ah
40a645:	97                   	xchg   %eax,%edi
40a646:	40                   	inc    %eax
40a647:	00 19                	add    %bl,(%ecx)
40a649:	9c                   	pushf
40a64a:	40                   	inc    %eax
40a64b:	00 4e a0             	add    %cl,-0x60(%esi)
40a64e:	40                   	inc    %eax
40a64f:	00 55 8b             	add    %dl,-0x75(%ebp)
40a652:	ec                   	in     (%dx),%al
40a653:	8b 45 14             	mov    0x14(%ebp),%eax
40a656:	85 c0                	test   %eax,%eax
40a658:	7e 0b                	jle    0x40a665
40a65a:	50                   	push   %eax
40a65b:	ff 75 10             	push   0x10(%ebp)
40a65e:	e8 5b 6c 00 00       	call   0x4112be
40a663:	59                   	pop    %ecx
40a664:	59                   	pop    %ecx
40a665:	ff 75 1c             	push   0x1c(%ebp)
40a668:	ff 75 18             	push   0x18(%ebp)
40a66b:	50                   	push   %eax
40a66c:	ff 75 10             	push   0x10(%ebp)
40a66f:	ff 75 0c             	push   0xc(%ebp)
40a672:	ff 75 08             	push   0x8(%ebp)
40a675:	e8 06 55 00 00       	call   0x40fb80
40a67a:	83 c4 18             	add    $0x18,%esp
40a67d:	5d                   	pop    %ebp
40a67e:	c3                   	ret
40a67f:	cc                   	int3
40a680:	83 ec 0c             	sub    $0xc,%esp
40a683:	dd 14 24             	fstl   (%esp)
40a686:	e8 0d 6f 00 00       	call   0x411598
40a68b:	e8 0d 00 00 00       	call   0x40a69d
40a690:	83 c4 0c             	add    $0xc,%esp
40a693:	c3                   	ret
40a694:	8d 54 24 04          	lea    0x4(%esp),%edx
40a698:	e8 b8 6e 00 00       	call   0x411555
40a69d:	52                   	push   %edx
40a69e:	9b d9 3c 24          	fstcw  (%esp)
40a6a2:	8b 44 24 0c          	mov    0xc(%esp),%eax
40a6a6:	74 51                	je     0x40a6f9
40a6a8:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
40a6ae:	74 05                	je     0x40a6b5
40a6b0:	e8 70 6e 00 00       	call   0x411525
40a6b5:	a9 00 00 00 80       	test   $0x80000000,%eax
40a6ba:	75 1f                	jne    0x40a6db
40a6bc:	d9 fa                	fsqrt
40a6be:	83 3d ac 1d 42 00 00 	cmpl   $0x0,0x421dac
40a6c5:	0f 85 e3 6e 00 00    	jne    0x4115ae
40a6cb:	ba 05 00 00 00       	mov    $0x5,%edx
40a6d0:	8d 0d a0 08 42 00    	lea    0x4208a0,%ecx
40a6d6:	e9 e0 6e 00 00       	jmp    0x4115bb
40a6db:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
40a6e0:	75 2c                	jne    0x40a70e
40a6e2:	a9 ff ff 0f 00       	test   $0xfffff,%eax
40a6e7:	75 25                	jne    0x40a70e
40a6e9:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
40a6ee:	75 1e                	jne    0x40a70e
40a6f0:	eb cc                	jmp    0x40a6be
40a6f2:	e8 45 6e 00 00       	call   0x41153c
40a6f7:	eb 22                	jmp    0x40a71b
40a6f9:	a9 ff ff 0f 00       	test   $0xfffff,%eax
40a6fe:	75 f2                	jne    0x40a6f2
40a700:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
40a705:	75 eb                	jne    0x40a6f2
40a707:	25 00 00 00 80       	and    $0x80000000,%eax
40a70c:	74 b0                	je     0x40a6be
40a70e:	dd d8                	fstp   %st(0)
40a710:	db 2d 50 bd 41 00    	fldt   0x41bd50
40a716:	b8 01 00 00 00       	mov    $0x1,%eax