408064:	52                   	push   %edx
408065:	6a 02                	push   $0x2
408067:	66 8b f0             	mov    %ax,%si
40806a:	ff 15 28 10 40 00    	call   *0x401028
408070:	83 c4 0c             	add    $0xc,%esp
408073:	66 3b f3             	cmp    %bx,%si
408076:	74 5a                	je     0x4080d2
408078:	39 1d 38 b3 40 00    	cmp    %ebx,0x40b338
40807e:	75 10                	jne    0x408090
408080:	68 38 b3 40 00       	push   $0x40b338
408085:	68 c4 60 40 00       	push   $0x4060c4
40808a:	ff 15 4c 11 40 00    	call   *0x40114c
408090:	8b 35 38 b3 40 00    	mov    0x40b338,%esi
408096:	8b 16                	mov    (%esi),%edx
408098:	57                   	push   %edi
408099:	8d 45 c8             	lea    -0x38(%ebp),%eax
40809c:	50                   	push   %eax
40809d:	89 95 64 ff ff ff    	mov    %edx,-0x9c(%ebp)
4080a3:	ff 15 90 10 40 00    	call   *0x401090
4080a9:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
4080af:	50                   	push   %eax
4080b0:	56                   	push   %esi
4080b1:	ff 51 10             	call   *0x10(%ecx)
4080b4:	db e2                	fnclex
4080b6:	3b c3                	cmp    %ebx,%eax
4080b8:	7d 0f                	jge    0x4080c9
4080ba:	6a 10                	push   $0x10
4080bc:	68 b4 60 40 00       	push   $0x4060b4
4080c1:	56                   	push   %esi
4080c2:	50                   	push   %eax
4080c3:	ff 15 58 10 40 00    	call   *0x401058
4080c9:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4080cc:	ff 15 d0 11 40 00    	call   *0x4011d0
4080d2:	8b 3d 4c 10 40 00    	mov    0x40104c,%edi
4080d8:	6a 02                	push   $0x2
4080da:	68 6c 60 40 00       	push   $0x40606c
4080df:	68 78 60 40 00       	push   $0x406078
4080e4:	ff d7                	call   *%edi
4080e6:	8b 1d b0 11 40 00    	mov    0x4011b0,%ebx
4080ec:	8b d0                	mov    %eax,%edx
4080ee:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4080f1:	ff d3                	call   *%ebx
4080f3:	50                   	push   %eax
4080f4:	68 78 60 40 00       	push   $0x406078
4080f9:	6a 00                	push   $0x0
4080fb:	ff 15 50 11 40 00    	call   *0x401150
408101:	33 d2                	xor    %edx,%edx
408103:	83 f8 03             	cmp    $0x3,%eax
408106:	0f 95 c2             	setne  %dl
408109:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40810c:	f7 da                	neg    %edx
40810e:	66 8b f2             	mov    %dx,%si
408111:	ff 15 cc 11 40 00    	call   *0x4011cc
408117:	66 85 f6             	test   %si,%si
40811a:	74 21                	je     0x40813d
40811c:	68 9e 00 00 00       	push   $0x9e
408121:	ff 15 04 11 40 00    	call   *0x401104
408127:	8d 55 88             	lea    -0x78(%ebp),%edx
40812a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40812d:	89 45 90             	mov    %eax,-0x70(%ebp)
408130:	c7 45 88 03 00 00 00 	movl   $0x3,-0x78(%ebp)
408137:	ff 15 10 10 40 00    	call   *0x401010
40813d:	b8 0a 00 00 00       	mov    $0xa,%eax
408142:	b9 04 00 02 80       	mov    $0x80020004,%ecx
408147:	89 45 a8             	mov    %eax,-0x58(%ebp)
40814a:	89 45 b8             	mov    %eax,-0x48(%ebp)
40814d:	8d 45 a8             	lea    -0x58(%ebp),%eax
408150:	50                   	push   %eax
408151:	89 4d b0             	mov    %ecx,-0x50(%ebp)
408154:	89 4d c0             	mov    %ecx,-0x40(%ebp)
408157:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40815a:	51                   	push   %ecx
40815b:	68 00 00 f0 3f       	push   $0x3ff00000
408160:	6a 00                	push   $0x0
408162:	68 00 00 f0 3f       	push   $0x3ff00000
408167:	6a 00                	push   $0x0
408169:	68 00 00 f0 3f       	push   $0x3ff00000
40816e:	6a 00                	push   $0x0
408170:	68 00 00 f0 3f       	push   $0x3ff00000
408175:	6a 00                	push   $0x0
408177:	ff 15 00 11 40 00    	call   *0x401100
40817d:	ff 15 a8 10 40 00    	call   *0x4010a8
408183:	dc 1d 28 12 40 00    	fcompl 0x401228
408189:	df e0                	fnstsw %ax
40818b:	f6 c4 40             	test   $0x40,%ah
40818e:	75 07                	jne    0x408197
408190:	be 01 00 00 00       	mov    $0x1,%esi
408195:	eb 02                	jmp    0x408199
408197:	33 f6                	xor    %esi,%esi
408199:	8d 55 a8             	lea    -0x58(%ebp),%edx
40819c:	52                   	push   %edx
40819d:	8d 45 b8             	lea    -0x48(%ebp),%eax
4081a0:	50                   	push   %eax
4081a1:	6a 02                	push   $0x2
4081a3:	ff 15 28 10 40 00    	call   *0x401028
4081a9:	f7 de                	neg    %esi
4081ab:	83 c4 0c             	add    $0xc,%esp
4081ae:	66 85 f6             	test   %si,%si
4081b1:	74 3b                	je     0x4081ee
4081b3:	8d 55 88             	lea    -0x78(%ebp),%edx
4081b6:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4081b9:	c7 45 90 ac 63 40 00 	movl   $0x4063ac,-0x70(%ebp)
4081c0:	c7 45 88 08 00 00 00 	movl   $0x8,-0x78(%ebp)
4081c7:	ff 15 98 11 40 00    	call   *0x401198
4081cd:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4081d0:	51                   	push   %ecx
4081d1:	8d 55 a8             	lea    -0x58(%ebp),%edx
4081d4:	52                   	push   %edx
4081d5:	ff 15 68 10 40 00    	call   *0x401068
4081db:	8d 45 a8             	lea    -0x58(%ebp),%eax
4081de:	50                   	push   %eax
4081df:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4081e2:	51                   	push   %ecx
4081e3:	6a 02                	push   $0x2
4081e5:	ff 15 28 10 40 00    	call   *0x401028
4081eb:	83 c4 0c             	add    $0xc,%esp
4081ee:	6a 00                	push   $0x0
4081f0:	6a 00                	push   $0x0
4081f2:	6a 01                	push   $0x1
4081f4:	ff 15 a4 10 40 00    	call   *0x4010a4
4081fa:	8b d0                	mov    %eax,%edx
4081fc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4081ff:	ff d3                	call   *%ebx
408201:	68 4c 60 40 00       	push   $0x40604c
408206:	68 4c 60 40 00       	push   $0x40604c
40820b:	ff d7                	call   *%edi
40820d:	6a 02                	push   $0x2
40820f:	8d 55 b8             	lea    -0x48(%ebp),%edx
408212:	89 45 c0             	mov    %eax,-0x40(%ebp)
408215:	52                   	push   %edx
408216:	8d 45 a8             	lea    -0x58(%ebp),%eax
408219:	50                   	push   %eax
40821a:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
408221:	ff 15 38 10 40 00    	call   *0x401038
408227:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40822a:	51                   	push   %ecx
40822b:	8d 55 88             	lea    -0x78(%ebp),%edx
40822e:	52                   	push   %edx
40822f:	c7 45 90 4c 60 40 00 	movl   $0x40604c,-0x70(%ebp)
408236:	c7 45 88 08 80 00 00 	movl   $0x8008,-0x78(%ebp)
40823d:	ff 15 88 11 40 00    	call   *0x401188
408243:	66 8b f0             	mov    %ax,%si
408246:	8d 45 a8             	lea    -0x58(%ebp),%eax
408249:	50                   	push   %eax
40824a:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40824d:	51                   	push   %ecx
40824e:	6a 02                	push   $0x2
408250:	ff 15 28 10 40 00    	call   *0x401028
408256:	83 c4 0c             	add    $0xc,%esp
408259:	66 85 f6             	test   %si,%si
40825c:	74 44                	je     0x4082a2
40825e:	dd 05 20 12 40 00    	fldl   0x401220
408264:	8b 75 08             	mov    0x8(%ebp),%esi
408267:	8b 16                	mov    (%esi),%edx
408269:	df e0                	fnstsw %ax
40826b:	a8 0d                	test   $0xd,%al
40826d:	0f 85 9d 00 00 00    	jne    0x408310
408273:	d9 9d 60 ff ff ff    	fstps  -0xa0(%ebp)
408279:	d9 85 60 ff ff ff    	flds   -0xa0(%ebp)
40827f:	51                   	push   %ecx
408280:	d9 1c 24             	fstps  (%esp)
408283:	56                   	push   %esi
408284:	ff 92 84 00 00 00    	call   *0x84(%edx)
40828a:	db e2                	fnclex
40828c:	85 c0                	test   %eax,%eax
40828e:	7d 12                	jge    0x4082a2
408290:	68 84 00 00 00       	push   $0x84
408295:	68 ec 5e 40 00       	push   $0x405eec
40829a:	56                   	push   %esi
40829b:	50                   	push   %eax
40829c:	ff 15 58 10 40 00    	call   *0x401058
4082a2:	9b                   	fwait
4082a3:	68 f3 82 40 00       	push   $0x4082f3
4082a8:	eb 2a                	jmp    0x4082d4
4082aa:	8d 4d cc             	lea    -0x34(%ebp),%ecx
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