4111bf:	e8 b9 6f ff ff       	call   0x40817d
4111c4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4111ca:	e8 26 a4 ff ff       	call   0x40b5f5
4111cf:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
4111d4:	e9 8b 00 00 00       	jmp    0x411264
4111d9:	8b 45 f0             	mov    -0x10(%ebp),%eax
4111dc:	57                   	push   %edi
4111dd:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
4111e4:	75 42                	jne    0x411228
4111e6:	6a 41                	push   $0x41
4111e8:	59                   	pop    %ecx
4111e9:	6a 5a                	push   $0x5a
4111eb:	2b de                	sub    %esi,%ebx
4111ed:	5a                   	pop    %edx
4111ee:	0f b7 04 33          	movzwl (%ebx,%esi,1),%eax
4111f2:	66 3b c1             	cmp    %cx,%ax
4111f5:	72 0d                	jb     0x411204
4111f7:	66 3b c2             	cmp    %dx,%ax
4111fa:	77 08                	ja     0x411204
4111fc:	83 c0 20             	add    $0x20,%eax
4111ff:	0f b7 f8             	movzwl %ax,%edi
411202:	eb 02                	jmp    0x411206
411204:	8b f8                	mov    %eax,%edi
411206:	0f b7 06             	movzwl (%esi),%eax
411209:	66 3b c1             	cmp    %cx,%ax
41120c:	72 0b                	jb     0x411219
41120e:	66 3b c2             	cmp    %dx,%ax
411211:	77 06                	ja     0x411219
411213:	83 c0 20             	add    $0x20,%eax
411216:	0f b7 c0             	movzwl %ax,%eax
411219:	83 c6 02             	add    $0x2,%esi
41121c:	66 85 ff             	test   %di,%di
41121f:	74 3a                	je     0x41125b
411221:	66 3b f8             	cmp    %ax,%di
411224:	74 c8                	je     0x4111ee
411226:	eb 33                	jmp    0x41125b
411228:	0f b7 03             	movzwl (%ebx),%eax
41122b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41122e:	51                   	push   %ecx
41122f:	50                   	push   %eax
411230:	e8 00 3b 00 00       	call   0x414d35
411235:	0f b7 f8             	movzwl %ax,%edi
411238:	0f b7 06             	movzwl (%esi),%eax
41123b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41123e:	51                   	push   %ecx
41123f:	50                   	push   %eax
411240:	8d 5b 02             	lea    0x2(%ebx),%ebx
411243:	e8 ed 3a 00 00       	call   0x414d35
411248:	83 c4 10             	add    $0x10,%esp
41124b:	0f b7 c0             	movzwl %ax,%eax
41124e:	8d 76 02             	lea    0x2(%esi),%esi
411251:	66 85 ff             	test   %di,%di
411254:	74 05                	je     0x41125b
411256:	66 3b f8             	cmp    %ax,%di
411259:	74 cd                	je     0x411228
41125b:	0f b7 d7             	movzwl %di,%edx
41125e:	0f b7 c0             	movzwl %ax,%eax
411261:	2b d0                	sub    %eax,%edx
411263:	5f                   	pop    %edi
411264:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
411268:	5e                   	pop    %esi
411269:	5b                   	pop    %ebx
41126a:	74 07                	je     0x411273
41126c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41126f:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
411273:	8b c2                	mov    %edx,%eax
411275:	c9                   	leave
411276:	c3                   	ret
411277:	55                   	push   %ebp
411278:	8b ec                	mov    %esp,%ebp
41127a:	83 ec 10             	sub    $0x10,%esp
41127d:	ff 75 0c             	push   0xc(%ebp)
411280:	8d 4d f0             	lea    -0x10(%ebp),%ecx
411283:	e8 75 3f ff ff       	call   0x4051fd
411288:	8b 45 f0             	mov    -0x10(%ebp),%eax
41128b:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
41128f:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
411295:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
411299:	25 00 80 00 00       	and    $0x8000,%eax
41129e:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4112a2:	74 07                	je     0x4112ab
4112a4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4112a7:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4112ab:	c9                   	leave
4112ac:	c3                   	ret
4112ad:	55                   	push   %ebp
4112ae:	8b ec                	mov    %esp,%ebp
4112b0:	6a 00                	push   $0x0
4112b2:	ff 75 08             	push   0x8(%ebp)
4112b5:	e8 bd ff ff ff       	call   0x411277
4112ba:	59                   	pop    %ecx
4112bb:	59                   	pop    %ecx
4112bc:	5d                   	pop    %ebp
4112bd:	c3                   	ret
4112be:	55                   	push   %ebp
4112bf:	8b ec                	mov    %esp,%ebp
4112c1:	33 d2                	xor    %edx,%edx
4112c3:	8b c2                	mov    %edx,%eax
4112c5:	39 45 0c             	cmp    %eax,0xc(%ebp)
4112c8:	76 11                	jbe    0x4112db
4112ca:	8b 4d 08             	mov    0x8(%ebp),%ecx
4112cd:	66 39 11             	cmp    %dx,(%ecx)
4112d0:	74 09                	je     0x4112db
4112d2:	40                   	inc    %eax
4112d3:	83 c1 02             	add    $0x2,%ecx
4112d6:	3b 45 0c             	cmp    0xc(%ebp),%eax
4112d9:	72 f2                	jb     0x4112cd
4112db:	5d                   	pop    %ebp
4112dc:	c3                   	ret
4112dd:	cc                   	int3
4112de:	cc                   	int3
4112df:	cc                   	int3
4112e0:	80 7a 0e 05          	cmpb   $0x5,0xe(%edx)
4112e4:	75 11                	jne    0x4112f7
4112e6:	66 8b 9d 5c ff ff ff 	mov    -0xa4(%ebp),%bx
4112ed:	80 cf 02             	or     $0x2,%bh
4112f0:	80 e7 fe             	and    $0xfe,%bh
4112f3:	b3 3f                	mov    $0x3f,%bl
4112f5:	eb 04                	jmp    0x4112fb
4112f7:	66 bb 3f 13          	mov    $0x133f,%bx
4112fb:	66 89 9d 5e ff ff ff 	mov    %bx,-0xa2(%ebp)
411302:	d9 ad 5e ff ff ff    	fldcw  -0xa2(%ebp)
411308:	bb 6c bd 41 00       	mov    $0x41bd6c,%ebx
41130d:	d9 e5                	fxam
41130f:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
411315:	9b dd bd 60 ff ff ff 	fstsw  -0xa0(%ebp)
41131c:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
411323:	9b                   	fwait
411324:	8a 8d 61 ff ff ff    	mov    -0x9f(%ebp),%cl
41132a:	d0 e1                	shl    $1,%cl
41132c:	d0 f9                	sar    $1,%cl
41132e:	d0 c1                	rol    $1,%cl
411330:	8a c1                	mov    %cl,%al
411332:	24 0f                	and    $0xf,%al
411334:	d7                   	xlat   %ds:(%ebx)
411335:	0f be c0             	movsbl %al,%eax
411338:	81 e1 04 04 00 00    	and    $0x404,%ecx
41133e:	8b da                	mov    %edx,%ebx
411340:	03 d8                	add    %eax,%ebx
411342:	83 c3 10             	add    $0x10,%ebx
411345:	ff 23                	jmp    *(%ebx)
411347:	80 7a 0e 05          	cmpb   $0x5,0xe(%edx)
41134b:	75 11                	jne    0x41135e
41134d:	66 8b 9d 5c ff ff ff 	mov    -0xa4(%ebp),%bx
411354:	80 cf 02             	or     $0x2,%bh
411357:	80 e7 fe             	and    $0xfe,%bh
41135a:	b3 3f                	mov    $0x3f,%bl
41135c:	eb 04                	jmp    0x411362
41135e:	66 bb 3f 13          	mov    $0x133f,%bx
411362:	66 89 9d 5e ff ff ff 	mov    %bx,-0xa2(%ebp)
411369:	d9 ad 5e ff ff ff    	fldcw  -0xa2(%ebp)
41136f:	bb 6c bd 41 00       	mov    $0x41bd6c,%ebx
411374:	d9 e5                	fxam
411376:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
41137c:	9b dd bd 60 ff ff ff 	fstsw  -0xa0(%ebp)
411383:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
41138a:	d9 c9                	fxch   %st(1)
41138c:	8a 8d 61 ff ff ff    	mov    -0x9f(%ebp),%cl
411392:	d9 e5                	fxam
411394:	9b dd bd 60 ff ff ff 	fstsw  -0xa0(%ebp)
41139b:	d9 c9                	fxch   %st(1)
41139d:	8a ad 61 ff ff ff    	mov    -0x9f(%ebp),%ch
4113a3:	d0 e5                	shl    $1,%ch
4113a5:	d0 fd                	sar    $1,%ch
4113a7:	d0 c5                	rol    $1,%ch
4113a9:	8a c5                	mov    %ch,%al
4113ab:	24 0f                	and    $0xf,%al
4113ad:	d7                   	xlat   %ds:(%ebx)
4113ae:	8a e0                	mov    %al,%ah
4113b0:	d0 e1                	shl    $1,%cl
4113b2:	d0 f9                	sar    $1,%cl
4113b4:	d0 c1                	rol    $1,%cl
4113b6:	8a c1                	mov    %cl,%al
4113b8:	24 0f                	and    $0xf,%al
4113ba:	d7                   	xlat   %ds:(%ebx)
4113bb:	d0 e4                	shl    $1,%ah
4113bd:	d0 e4                	shl    $1,%ah
4113bf:	0a c4                	or     %ah,%al
4113c1:	0f be c0             	movsbl %al,%eax
4113c4:	81 e1 04 04 00 00    	and    $0x404,%ecx
4113ca:	8b da                	mov    %edx,%ebx
4113cc:	03 d8                	add    %eax,%ebx
4113ce:	83 c3 10             	add    $0x10,%ebx
4113d1:	ff 23                	jmp    *(%ebx)
4113d3:	e8 c1 00 00 00       	call   0x411499
4113d8:	d9 c9                	fxch   %st(1)
4113da:	dd d8                	fstp   %st(0)
4113dc:	c3                   	ret
4113dd:	e8 b7 00 00 00       	call   0x411499
4113e2:	eb f6                	jmp    0x4113da
4113e4:	dd d8                	fstp   %st(0)
4113e6:	dd d8                	fstp   %st(0)
4113e8:	d9 ee                	fldz
4113ea:	c3                   	ret
4113eb:	dd d8                	fstp   %st(0)
4113ed:	dd d8                	fstp   %st(0)
4113ef:	d9 e8                	fld1
4113f1:	c3                   	ret
4113f2:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
4113f8:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
4113fe:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
411405:	74 08                	je     0x41140f
411407:	c6 85 70 ff ff ff 07 	movb   $0x7,-0x90(%ebp)
41140e:	c3                   	ret
41140f:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
411416:	dc 05 64 bd 41 00    	faddl  0x41bd64
41141c:	c3                   	ret
41141d:	d9 c9                	fxch   %st(1)
41141f:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
411425:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
41142b:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
411432:	74 09                	je     0x41143d
411434:	c6 85 70 ff ff ff 07 	movb   $0x7,-0x90(%ebp)
41143b:	eb 07                	jmp    0x411444
41143d:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
411444:	de c1                	faddp  %st,%st(1)
411446:	c3                   	ret
411447:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
41144d:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
411453:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
41145a:	74 20                	je     0x41147c
41145c:	d9 c9                	fxch   %st(1)
41145e:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
411464:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
41146a:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
411471:	74 09                	je     0x41147c
411473:	c6 85 70 ff ff ff 07 	movb   $0x7,-0x90(%ebp)
41147a:	eb 07                	jmp    0x411483
41147c:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
411483:	de c1                	faddp  %st,%st(1)
411485:	c3                   	ret
411486:	dd d8                	fstp   %st(0)
411488:	dd d8                	fstp   %st(0)
41148a:	db 2d 50 bd 41 00    	fldt   0x41bd50
411490:	80 bd 70 ff ff ff 00 	cmpb   $0x0,-0x90(%ebp)
411497:	7f 07                	jg     0x4114a0
411499:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
4114a0:	0a c9                	or     %cl,%cl
4114a2:	c3                   	ret
4114a3:	0a c9                	or     %cl,%cl
4114a5:	74 02                	je     0x4114a9
4114a7:	d9 e0                	fchs
4114a9:	c3                   	ret
4114aa:	cc                   	int3
4114ab:	cc                   	int3
4114ac:	cc                   	int3
4114ad:	cc                   	int3
4114ae:	cc                   	int3
4114af:	cc                   	int3
4114b0:	55                   	push   %ebp
4114b1:	8b ec                	mov    %esp,%ebp
4114b3:	83 c4 e0             	add    $0xffffffe0,%esp
4114b6:	89 45 e0             	mov    %eax,-0x20(%ebp)
4114b9:	8b 45 18             	mov    0x18(%ebp),%eax
4114bc:	89 45 f0             	mov    %eax,-0x10(%ebp)
4114bf:	8b 45 1c             	mov    0x1c(%ebp),%eax
4114c2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4114c5:	eb 09                	jmp    0x4114d0
4114c7:	55                   	push   %ebp
4114c8:	8b ec                	mov    %esp,%ebp
4114ca:	83 c4 e0             	add    $0xffffffe0,%esp
4114cd:	89 45 e0             	mov    %eax,-0x20(%ebp)
4114d0:	dd 5d f8             	fstpl  -0x8(%ebp)
4114d3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4114d6:	8b 45 10             	mov    0x10(%ebp),%eax
4114d9:	8b 4d 14             	mov    0x14(%ebp),%ecx
4114dc:	89 45 e8             	mov    %eax,-0x18(%ebp)
4114df:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4114e2:	8d 45 08             	lea    0x8(%ebp),%eax
4114e5:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4114e8:	50                   	push   %eax
4114e9:	51                   	push   %ecx
4114ea:	52                   	push   %edx
4114eb:	e8 49 39 00 00       	call   0x414e39
4114f0:	83 c4 0c             	add    $0xc,%esp
4114f3:	dd 45 f8             	fldl   -0x8(%ebp)
4114f6:	66 81 7d 08 7f 02    	cmpw   $0x27f,0x8(%ebp)
4114fc:	74 03                	je     0x411501
4114fe:	d9 6d 08             	fldcw  0x8(%ebp)
411501:	c9                   	leave
411502:	c3                   	ret
411503:	cc                   	int3
411504:	cc                   	int3
411505:	cc                   	int3
411506:	cc                   	int3
411507:	cc                   	int3
411508:	cc                   	int3
411509:	cc                   	int3
41150a:	cc                   	int3
41150b:	cc                   	int3
41150c:	cc                   	int3
41150d:	cc                   	int3
41150e:	cc                   	int3
41150f:	cc                   	int3
411510:	d9 c0                	fld    %st(0)
411512:	d9 fc                	frndint
411514:	dc e1                	fsub   %st,%st(1)
411516:	d9 c9                	fxch   %st(1)
411518:	d9 e0                	fchs
41151a:	d9 f0                	f2xm1
41151c:	d9 e8                	fld1
41151e:	de c1                	faddp  %st,%st(1)
411520:	d9 fd                	fscale
411522:	dd d9                	fstp   %st(1)
411524:	c3                   	ret
411525:	8b 54 24 04          	mov    0x4(%esp),%edx
411529:	81 e2 00 03 00 00    	and    $0x300,%edx
41152f:	83 ca 7f             	or     $0x7f,%edx
411532:	66 89 54 24 06       	mov    %dx,0x6(%esp)
411537:	d9 6c 24 06          	fldcw  0x6(%esp)
41153b:	c3                   	ret
41153c:	a9 00 00 08 00       	test   $0x80000,%eax
411541:	74 06                	je     0x411549
411543:	b8 07 00 00 00       	mov    $0x7,%eax
411548:	c3                   	ret
411549:	dc 05 80 bd 41 00    	faddl  0x41bd80
41154f:	b8 01 00 00 00       	mov    $0x1,%eax
411554:	c3                   	ret
411555:	8b 42 04             	mov    0x4(%edx),%eax
411558:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
41155d:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
411562:	74 03                	je     0x411567
411564:	dd 02                	fldl   (%edx)
411566:	c3                   	ret
411567:	8b 42 04             	mov    0x4(%edx),%eax
41156a:	83 ec 0a             	sub    $0xa,%esp
41156d:	0d 00 00 ff 7f       	or     $0x7fff0000,%eax
411572:	89 44 24 06          	mov    %eax,0x6(%esp)
411576:	8b 42 04             	mov    0x4(%edx),%eax
411579:	8b 0a                	mov    (%edx),%ecx
41157b:	0f a4 c8 0b          	shld   $0xb,%ecx,%eax
41157f:	c1 e1 0b             	shl    $0xb,%ecx
411582:	89 44 24 04          	mov    %eax,0x4(%esp)
411586:	89 0c 24             	mov    %ecx,(%esp)
411589:	db 2c 24             	fldt   (%esp)
41158c:	83 c4 0a             	add    $0xa,%esp
41158f:	a9 00 00 00 00       	test   $0x0,%eax
411594:	8b 42 04             	mov    0x4(%edx),%eax
411597:	c3                   	ret
411598:	8b 44 24 08          	mov    0x8(%esp),%eax
41159c:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
4115a1:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
4115a6:	74 01                	je     0x4115a9
4115a8:	c3                   	ret
4115a9:	8b 44 24 08          	mov    0x8(%esp),%eax
4115ad:	c3                   	ret
4115ae:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
4115b4:	74 03                	je     0x4115b9
4115b6:	d9 2c 24             	fldcw  (%esp)
4115b9:	5a                   	pop    %edx