4082ad:	ff 15 cc 11 40 00    	call   *0x4011cc
4082b3:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4082b6:	ff 15 d0 11 40 00    	call   *0x4011d0
4082bc:	8d 45 98             	lea    -0x68(%ebp),%eax
4082bf:	50                   	push   %eax
4082c0:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4082c3:	51                   	push   %ecx
4082c4:	8d 55 b8             	lea    -0x48(%ebp),%edx
4082c7:	52                   	push   %edx
4082c8:	6a 03                	push   $0x3
4082ca:	ff 15 28 10 40 00    	call   *0x401028
4082d0:	83 c4 10             	add    $0x10,%esp
4082d3:	c3                   	ret
4082d4:	8b 35 cc 11 40 00    	mov    0x4011cc,%esi
4082da:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4082dd:	ff d6                	call   *%esi
4082df:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4082e2:	ff d6                	call   *%esi
4082e4:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4082e7:	ff 15 1c 10 40 00    	call   *0x40101c
4082ed:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4082f0:	ff d6                	call   *%esi
4082f2:	c3                   	ret
4082f3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4082f6:	8b 4d 24             	mov    0x24(%ebp),%ecx
4082f9:	89 01                	mov    %eax,(%ecx)
4082fb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4082fe:	5f                   	pop    %edi
4082ff:	5e                   	pop    %esi
408300:	33 c0                	xor    %eax,%eax
408302:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408309:	5b                   	pop    %ebx
40830a:	8b e5                	mov    %ebp,%esp
40830c:	5d                   	pop    %ebp
40830d:	c2 20 00             	ret    $0x20
408310:	e9 17 90 ff ff       	jmp    0x40132c
408315:	90                   	nop
408316:	90                   	nop
408317:	90                   	nop
408318:	90                   	nop
408319:	90                   	nop
40831a:	90                   	nop
40831b:	90                   	nop
40831c:	90                   	nop
40831d:	90                   	nop
40831e:	90                   	nop
40831f:	90                   	nop
408320:	55                   	push   %ebp
408321:	8b ec                	mov    %esp,%ebp
408323:	83 ec 08             	sub    $0x8,%esp
408326:	68 26 13 40 00       	push   $0x401326
40832b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408331:	50                   	push   %eax
408332:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
408339:	81 ec a4 00 00 00    	sub    $0xa4,%esp
40833f:	53                   	push   %ebx
408340:	56                   	push   %esi
408341:	57                   	push   %edi
408342:	89 65 f8             	mov    %esp,-0x8(%ebp)
408345:	c7 45 fc 68 12 40 00 	movl   $0x401268,-0x4(%ebp)
40834c:	8b 55 10             	mov    0x10(%ebp),%edx
40834f:	33 db                	xor    %ebx,%ebx
408351:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
408354:	89 5d ec             	mov    %ebx,-0x14(%ebp)
408357:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40835a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40835d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
408360:	89 5d dc             	mov    %ebx,-0x24(%ebp)
408363:	89 5d d8             	mov    %ebx,-0x28(%ebp)
408366:	89 5d c8             	mov    %ebx,-0x38(%ebp)
408369:	89 5d b8             	mov    %ebx,-0x48(%ebp)
40836c:	89 5d a8             	mov    %ebx,-0x58(%ebp)
40836f:	89 5d 98             	mov    %ebx,-0x68(%ebp)
408372:	89 5d 88             	mov    %ebx,-0x78(%ebp)
408375:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
40837b:	ff 15 6c 11 40 00    	call   *0x40116c
408381:	8b 35 4c 10 40 00    	mov    0x40104c,%esi
408387:	68 c4 63 40 00       	push   $0x4063c4
40838c:	68 e8 60 40 00       	push   $0x4060e8
408391:	ff d6                	call   *%esi
408393:	8b 3d b0 11 40 00    	mov    0x4011b0,%edi
408399:	8b d0                	mov    %eax,%edx
40839b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40839e:	ff d7                	call   *%edi
4083a0:	8d 4d 88             	lea    -0x78(%ebp),%ecx
4083a3:	51                   	push   %ecx
4083a4:	8d 55 c8             	lea    -0x38(%ebp),%edx
4083a7:	8d 45 e8             	lea    -0x18(%ebp),%eax
4083aa:	52                   	push   %edx
4083ab:	89 45 90             	mov    %eax,-0x70(%ebp)
4083ae:	c7 45 88 08 40 00 00 	movl   $0x4008,-0x78(%ebp)
4083b5:	ff 15 b8 10 40 00    	call   *0x4010b8
4083bb:	8d 45 c8             	lea    -0x38(%ebp),%eax
4083be:	50                   	push   %eax
4083bf:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
4083c5:	51                   	push   %ecx
4083c6:	c7 45 80 c4 63 40 00 	movl   $0x4063c4,-0x80(%ebp)
4083cd:	c7 85 78 ff ff ff 08 	movl   $0x8008,-0x88(%ebp)
4083d4:	80 00 00
4083d7:	ff 15 88 11 40 00    	call   *0x401188
4083dd:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4083e0:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
4083e6:	ff 15 1c 10 40 00    	call   *0x40101c
4083ec:	66 39 9d 54 ff ff ff 	cmp    %bx,-0xac(%ebp)
4083f3:	74 68                	je     0x40845d
4083f5:	b9 04 00 02 80       	mov    $0x80020004,%ecx
4083fa:	b8 0a 00 00 00       	mov    $0xa,%eax
4083ff:	89 4d a0             	mov    %ecx,-0x60(%ebp)
408402:	89 4d b0             	mov    %ecx,-0x50(%ebp)
408405:	89 4d c0             	mov    %ecx,-0x40(%ebp)
408408:	8d 55 88             	lea    -0x78(%ebp),%edx
40840b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40840e:	89 45 98             	mov    %eax,-0x68(%ebp)
408411:	89 45 a8             	mov    %eax,-0x58(%ebp)
408414:	89 45 b8             	mov    %eax,-0x48(%ebp)
408417:	c7 45 90 cc 63 40 00 	movl   $0x4063cc,-0x70(%ebp)
40841e:	c7 45 88 08 00 00 00 	movl   $0x8,-0x78(%ebp)
408425:	ff 15 98 11 40 00    	call   *0x401198
40842b:	8d 55 98             	lea    -0x68(%ebp),%edx
40842e:	52                   	push   %edx
40842f:	8d 45 a8             	lea    -0x58(%ebp),%eax
408432:	50                   	push   %eax
408433:	8d 4d b8             	lea    -0x48(%ebp),%ecx
408436:	51                   	push   %ecx
408437:	53                   	push   %ebx
408438:	8d 55 c8             	lea    -0x38(%ebp),%edx
40843b:	52                   	push   %edx
40843c:	ff 15 80 10 40 00    	call   *0x401080
408442:	8d 45 98             	lea    -0x68(%ebp),%eax
408445:	50                   	push   %eax
408446:	8d 4d a8             	lea    -0x58(%ebp),%ecx
408449:	51                   	push   %ecx
40844a:	8d 55 b8             	lea    -0x48(%ebp),%edx
40844d:	52                   	push   %edx
40844e:	8d 45 c8             	lea    -0x38(%ebp),%eax
408451:	50                   	push   %eax
408452:	6a 04                	push   $0x4
408454:	ff 15 28 10 40 00    	call   *0x401028
40845a:	83 c4 14             	add    $0x14,%esp
40845d:	68 e0 63 40 00       	push   $0x4063e0
408462:	68 e8 63 40 00       	push   $0x4063e8
408467:	ff d6                	call   *%esi
408469:	8b d0                	mov    %eax,%edx
40846b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40846e:	ff d7                	call   *%edi
408470:	50                   	push   %eax
408471:	ff 15 30 11 40 00    	call   *0x401130
408477:	8b d0                	mov    %eax,%edx
408479:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40847c:	ff d7                	call   *%edi
40847e:	50                   	push   %eax
40847f:	68 e8 63 40 00       	push   $0x4063e8
408484:	68 e0 63 40 00       	push   $0x4063e0
408489:	ff d6                	call   *%esi
40848b:	8b d0                	mov    %eax,%edx
40848d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
408490:	ff d7                	call   *%edi
408492:	50                   	push   %eax
408493:	ff 15 d4 10 40 00    	call   *0x4010d4
408499:	8b f0                	mov    %eax,%esi
40849b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40849e:	51                   	push   %ecx
40849f:	f7 de                	neg    %esi
4084a1:	8d 55 dc             	lea    -0x24(%ebp),%edx
4084a4:	52                   	push   %edx
4084a5:	1b f6                	sbb    %esi,%esi
4084a7:	8d 45 e0             	lea    -0x20(%ebp),%eax
4084aa:	50                   	push   %eax
4084ab:	f7 de                	neg    %esi
4084ad:	6a 03                	push   $0x3
4084af:	f7 de                	neg    %esi
4084b1:	ff 15 78 11 40 00    	call   *0x401178
4084b7:	83 c4 10             	add    $0x10,%esp
4084ba:	66 3b f3             	cmp    %bx,%si
4084bd:	74 4c                	je     0x40850b
4084bf:	8b 4d 08             	mov    0x8(%ebp),%ecx
4084c2:	dd 05 60 12 40 00    	fldl   0x401260
4084c8:	8b 31                	mov    (%ecx),%esi
4084ca:	ff 15 a0 11 40 00    	call   *0x4011a0
4084d0:	50                   	push   %eax
4084d1:	68 e8 32 86 4a       	push   $0x4a8632e8
4084d6:	68 90 02 ea 49       	push   $0x49ea0290
4084db:	68 ad 7b 00 4b       	push   $0x4b007bad
4084e0:	68 40 d0 28 48       	push   $0x4828d040
4084e5:	8b d6                	mov    %esi,%edx
4084e7:	8b 75 08             	mov    0x8(%ebp),%esi
4084ea:	6a 06                	push   $0x6
4084ec:	56                   	push   %esi
4084ed:	ff 92 c8 02 00 00    	call   *0x2c8(%edx)
4084f3:	db e2                	fnclex
4084f5:	3b c3                	cmp    %ebx,%eax
4084f7:	7d 12                	jge    0x40850b
4084f9:	68 c8 02 00 00       	push   $0x2c8
4084fe:	68 ec 5e 40 00       	push   $0x405eec
408503:	56                   	push   %esi
408504:	50                   	push   %eax
408505:	ff 15 58 10 40 00    	call   *0x401058
40850b:	8d 45 c8             	lea    -0x38(%ebp),%eax
40850e:	50                   	push   %eax
40850f:	c7 45 d0 00 00 d0 a5 	movl   $0xa5d00000,-0x30(%ebp)
408516:	c7 45 d4 5c a2 02 42 	movl   $0x4202a25c,-0x2c(%ebp)
40851d:	c7 45 c8 05 00 00 00 	movl   $0x5,-0x38(%ebp)
408524:	ff 15 78 10 40 00    	call   *0x401078
40852a:	8b d0                	mov    %eax,%edx
40852c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40852f:	ff d7                	call   *%edi
408531:	50                   	push   %eax
408532:	68 f0 63 40 00       	push   $0x4063f0
408537:	68 fc 63 40 00       	push   $0x4063fc
40853c:	ff 15 4c 10 40 00    	call   *0x40104c
408542:	8b d0                	mov    %eax,%edx
408544:	8d 4d dc             	lea    -0x24(%ebp),%ecx
408547:	ff d7                	call   *%edi
408549:	50                   	push   %eax
40854a:	ff 15 d4 10 40 00    	call   *0x4010d4
408550:	8b f0                	mov    %eax,%esi
408552:	f7 de                	neg    %esi
408554:	8d 4d dc             	lea    -0x24(%ebp),%ecx
408557:	51                   	push   %ecx
408558:	1b f6                	sbb    %esi,%esi
40855a:	8d 55 e0             	lea    -0x20(%ebp),%edx
40855d:	52                   	push   %edx
40855e:	f7 de                	neg    %esi
408560:	6a 02                	push   $0x2
408562:	f7 de                	neg    %esi
408564:	ff 15 78 11 40 00    	call   *0x401178
40856a:	83 c4 0c             	add    $0xc,%esp
40856d:	8d 4d c8             	lea    -0x38(%ebp),%ecx
408570:	ff 15 1c 10 40 00    	call   *0x40101c
408576:	66 3b f3             	cmp    %bx,%si
408579:	74 6a                	je     0x4085e5
40857b:	b8 04 00 02 80       	mov    $0x80020004,%eax
408580:	be 0a 00 00 00       	mov    $0xa,%esi
408585:	8d 55 88             	lea    -0x78(%ebp),%edx
408588:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40858b:	89 45 a0             	mov    %eax,-0x60(%ebp)
40858e:	89 75 98             	mov    %esi,-0x68(%ebp)
408591:	89 45 b0             	mov    %eax,-0x50(%ebp)
408594:	89 75 a8             	mov    %esi,-0x58(%ebp)
408597:	89 45 c0             	mov    %eax,-0x40(%ebp)
40859a:	89 75 b8             	mov    %esi,-0x48(%ebp)
40859d:	c7 45 90 0c 64 40 00 	movl   $0x40640c,-0x70(%ebp)
4085a4:	c7 45 88 08 00 00 00 	movl   $0x8,-0x78(%ebp)
4085ab:	ff 15 98 11 40 00    	call   *0x401198
4085b1:	8d 45 98             	lea    -0x68(%ebp),%eax
4085b4:	50                   	push   %eax
4085b5:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4085b8:	51                   	push   %ecx
4085b9:	8d 55 b8             	lea    -0x48(%ebp),%edx
4085bc:	52                   	push   %edx
4085bd:	53                   	push   %ebx
4085be:	8d 45 c8             	lea    -0x38(%ebp),%eax
4085c1:	50                   	push   %eax
4085c2:	ff 15 80 10 40 00    	call   *0x401080
4085c8:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4085cb:	51                   	push   %ecx
4085cc:	8d 55 a8             	lea    -0x58(%ebp),%edx
4085cf:	52                   	push   %edx
4085d0:	8d 45 b8             	lea    -0x48(%ebp),%eax
4085d3:	50                   	push   %eax
4085d4:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4085d7:	51                   	push   %ecx
4085d8:	6a 04                	push   $0x4
4085da:	ff 15 28 10 40 00    	call   *0x401028
4085e0:	83 c4 14             	add    $0x14,%esp
4085e3:	eb 05                	jmp    0x4085ea
4085e5:	be 0a 00 00 00       	mov    $0xa,%esi
4085ea:	68 28 64 40 00       	push   $0x406428
4085ef:	68 3c 64 40 00       	push   $0x40643c
4085f4:	ff 15 4c 10 40 00    	call   *0x40104c
4085fa:	8d 55 c8             	lea    -0x38(%ebp),%edx
4085fd:	52                   	push   %edx
4085fe:	89 45 d0             	mov    %eax,-0x30(%ebp)
408601:	c7 45 c8 08 00 00 00 	movl   $0x8,-0x38(%ebp)
408608:	ff 15 5c 10 40 00    	call   *0x40105c
40860e:	33 c9                	xor    %ecx,%ecx
408610:	66 3d ff ff          	cmp    $0xffff,%ax
408614:	0f 95 c1             	setne  %cl
408617:	f7 d9                	neg    %ecx
408619:	89 8d 54 ff ff ff    	mov    %ecx,-0xac(%ebp)
40861f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
408622:	ff 15 1c 10 40 00    	call   *0x40101c
408628:	66 39 9d 54 ff ff ff 	cmp    %bx,-0xac(%ebp)
40862f:	74 2c                	je     0x40865d
408631:	8b 45 08             	mov    0x8(%ebp),%eax
408634:	8b 10                	mov    (%eax),%edx
408636:	68 b4 32 00 00       	push   $0x32b4
40863b:	50                   	push   %eax
40863c:	ff 92 54 02 00 00    	call   *0x254(%edx)
408642:	db e2                	fnclex
408644:	3b c3                	cmp    %ebx,%eax
408646:	7d 15                	jge    0x40865d
408648:	8b 4d 08             	mov    0x8(%ebp),%ecx
40864b:	68 54 02 00 00       	push   $0x254
408650:	68 ec 5e 40 00       	push   $0x405eec
408655:	51                   	push   %ecx
408656:	50                   	push   %eax
408657:	ff 15 58 10 40 00    	call   *0x401058
40865d:	6a fe                	push   $0xfffffffe
40865f:	6a fe                	push   $0xfffffffe
408661:	6a fe                	push   $0xfffffffe
408663:	6a ff                	push   $0xffffffff
408665:	8d 55 c8             	lea    -0x38(%ebp),%edx
408668:	52                   	push   %edx
408669:	89 5d d0             	mov    %ebx,-0x30(%ebp)
40866c:	c7 45 c8 02 00 00 00 	movl   $0x2,-0x38(%ebp)
408673:	ff 15 98 10 40 00    	call   *0x401098
408679:	8b d0                	mov    %eax,%edx
40867b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40867e:	ff d7                	call   *%edi
408680:	8d 4d c8             	lea    -0x38(%ebp),%ecx
408683:	ff 15 1c 10 40 00    	call   *0x40101c
408689:	b8 04 00 02 80       	mov    $0x80020004,%eax
40868e:	89 45 c0             	mov    %eax,-0x40(%ebp)
408691:	89 45 d0             	mov    %eax,-0x30(%ebp)
408694:	8d 45 b8             	lea    -0x48(%ebp),%eax
408697:	50                   	push   %eax
408698:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40869b:	51                   	push   %ecx
40869c:	68 00 00 f0 3f       	push   $0x3ff00000
4086a1:	53                   	push   %ebx
4086a2:	68 00 00 f0 3f       	push   $0x3ff00000
4086a7:	53                   	push   %ebx
4086a8:	68 00 00 f0 3f       	push   $0x3ff00000
4086ad:	53                   	push   %ebx
4086ae:	68 00 00 f0 3f       	push   $0x3ff00000
4086b3:	53                   	push   %ebx
4086b4:	89 75 b8             	mov    %esi,-0x48(%ebp)
4086b7:	89 75 c8             	mov    %esi,-0x38(%ebp)
4086ba:	ff 15 08 11 40 00    	call   *0x401108
4086c0:	ff 15 a8 10 40 00    	call   *0x4010a8
4086c6:	dc 1d 28 12 40 00    	fcompl 0x401228
4086cc:	df e0                	fnstsw %ax
4086ce:	f6 c4 40             	test   $0x40,%ah
4086d1:	75 07                	jne    0x4086da
4086d3:	b8 01 00 00 00       	mov    $0x1,%eax
4086d8:	eb 02                	jmp    0x4086dc
4086da:	33 c0                	xor    %eax,%eax
4086dc:	8b 3d 28 10 40 00    	mov    0x401028,%edi
4086e2:	f7 d8                	neg    %eax
4086e4:	8d 55 b8             	lea    -0x48(%ebp),%edx
4086e7:	8b f0                	mov    %eax,%esi
4086e9:	52                   	push   %edx
4086ea:	8d 45 c8             	lea    -0x38(%ebp),%eax
4086ed:	50                   	push   %eax
4086ee:	6a 02                	push   $0x2
4086f0:	ff d7                	call   *%edi
4086f2:	83 c4 0c             	add    $0xc,%esp
4086f5:	66 3b f3             	cmp    %bx,%si
4086f8:	74 37                	je     0x408731