610272:	85 c2                	test   %eax,%edx
610274:	74 06                	je     0x61027c
610276:	81 c9 00 00 04 00    	or     $0x40000,%ecx
61027c:	8b 7d 0c             	mov    0xc(%ebp),%edi
61027f:	8b f7                	mov    %edi,%esi
610281:	8b 45 08             	mov    0x8(%ebp),%eax
610284:	f7 d6                	not    %esi
610286:	23 f1                	and    %ecx,%esi
610288:	23 c7                	and    %edi,%eax
61028a:	0b f0                	or     %eax,%esi
61028c:	3b f1                	cmp    %ecx,%esi
61028e:	0f 84 a8 00 00 00    	je     0x61033c
610294:	56                   	push   %esi
610295:	e8 3c 02 00 00       	call   0x6104d6
61029a:	59                   	pop    %ecx
61029b:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
61029f:	d9 6d fc             	fldcw  -0x4(%ebp)
6102a2:	9b d9 7d fc          	fstcw  -0x4(%ebp)
6102a6:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
6102aa:	0f b7 f0             	movzwl %ax,%esi
6102ad:	83 e6 01             	and    $0x1,%esi
6102b0:	c1 e6 04             	shl    $0x4,%esi
6102b3:	a8 04                	test   $0x4,%al
6102b5:	74 03                	je     0x6102ba
6102b7:	83 ce 08             	or     $0x8,%esi
6102ba:	a8 08                	test   $0x8,%al
6102bc:	74 03                	je     0x6102c1
6102be:	83 ce 04             	or     $0x4,%esi
6102c1:	a8 10                	test   $0x10,%al
6102c3:	74 03                	je     0x6102c8
6102c5:	83 ce 02             	or     $0x2,%esi
6102c8:	a8 20                	test   $0x20,%al
6102ca:	74 03                	je     0x6102cf
6102cc:	83 ce 01             	or     $0x1,%esi
6102cf:	a8 02                	test   $0x2,%al
6102d1:	74 06                	je     0x6102d9
6102d3:	81 ce 00 00 08 00    	or     $0x80000,%esi
6102d9:	0f b7 d0             	movzwl %ax,%edx
6102dc:	8b ca                	mov    %edx,%ecx
6102de:	23 cb                	and    %ebx,%ecx
6102e0:	74 2a                	je     0x61030c
6102e2:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
6102e8:	74 1c                	je     0x610306
6102ea:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
6102f0:	74 0c                	je     0x6102fe
6102f2:	3b cb                	cmp    %ebx,%ecx
6102f4:	75 16                	jne    0x61030c
6102f6:	81 ce 00 03 00 00    	or     $0x300,%esi
6102fc:	eb 0e                	jmp    0x61030c
6102fe:	81 ce 00 02 00 00    	or     $0x200,%esi
610304:	eb 06                	jmp    0x61030c
610306:	81 ce 00 01 00 00    	or     $0x100,%esi
61030c:	81 e2 00 03 00 00    	and    $0x300,%edx
610312:	74 10                	je     0x610324
610314:	81 fa 00 02 00 00    	cmp    $0x200,%edx
61031a:	75 0e                	jne    0x61032a
61031c:	81 ce 00 00 01 00    	or     $0x10000,%esi
610322:	eb 06                	jmp    0x61032a
610324:	81 ce 00 00 02 00    	or     $0x20000,%esi
61032a:	0f b7 c0             	movzwl %ax,%eax
61032d:	ba 00 10 00 00       	mov    $0x1000,%edx
610332:	85 c2                	test   %eax,%edx
610334:	74 06                	je     0x61033c
610336:	81 ce 00 00 04 00    	or     $0x40000,%esi
61033c:	83 3d c0 0b 73 00 01 	cmpl   $0x1,0x730bc0
610343:	0f 8c 86 01 00 00    	jl     0x6104cf
610349:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
61034f:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
610353:	8b 4d f0             	mov    -0x10(%ebp),%ecx
610356:	8b c1                	mov    %ecx,%eax
610358:	c1 e8 03             	shr    $0x3,%eax
61035b:	83 e0 10             	and    $0x10,%eax
61035e:	f7 c1 00 02 00 00    	test   $0x200,%ecx
610364:	74 03                	je     0x610369
610366:	83 c8 08             	or     $0x8,%eax
610369:	f7 c1 00 04 00 00    	test   $0x400,%ecx
61036f:	74 03                	je     0x610374
610371:	83 c8 04             	or     $0x4,%eax
610374:	f7 c1 00 08 00 00    	test   $0x800,%ecx
61037a:	74 03                	je     0x61037f
61037c:	83 c8 02             	or     $0x2,%eax
61037f:	85 ca                	test   %ecx,%edx
610381:	74 03                	je     0x610386
610383:	83 c8 01             	or     $0x1,%eax
610386:	f7 c1 00 01 00 00    	test   $0x100,%ecx
61038c:	74 05                	je     0x610393
61038e:	0d 00 00 08 00       	or     $0x80000,%eax
610393:	8b d1                	mov    %ecx,%edx
610395:	bb 00 60 00 00       	mov    $0x6000,%ebx
61039a:	23 d3                	and    %ebx,%edx
61039c:	74 27                	je     0x6103c5
61039e:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
6103a4:	74 1a                	je     0x6103c0
6103a6:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
6103ac:	74 0b                	je     0x6103b9
6103ae:	3b d3                	cmp    %ebx,%edx
6103b0:	75 13                	jne    0x6103c5
6103b2:	0d 00 03 00 00       	or     $0x300,%eax
6103b7:	eb 0c                	jmp    0x6103c5
6103b9:	0d 00 02 00 00       	or     $0x200,%eax
6103be:	eb 05                	jmp    0x6103c5
6103c0:	0d 00 01 00 00       	or     $0x100,%eax
6103c5:	6a 40                	push   $0x40
6103c7:	81 e1 40 80 00 00    	and    $0x8040,%ecx
6103cd:	5b                   	pop    %ebx
6103ce:	2b cb                	sub    %ebx,%ecx
6103d0:	74 1a                	je     0x6103ec
6103d2:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
6103d8:	74 0b                	je     0x6103e5
6103da:	2b cb                	sub    %ebx,%ecx
6103dc:	75 13                	jne    0x6103f1
6103de:	0d 00 00 00 01       	or     $0x1000000,%eax
6103e3:	eb 0c                	jmp    0x6103f1
6103e5:	0d 00 00 00 03       	or     $0x3000000,%eax
6103ea:	eb 05                	jmp    0x6103f1
6103ec:	0d 00 00 00 02       	or     $0x2000000,%eax
6103f1:	8b cf                	mov    %edi,%ecx
6103f3:	23 7d 08             	and    0x8(%ebp),%edi
6103f6:	f7 d1                	not    %ecx
6103f8:	23 c8                	and    %eax,%ecx
6103fa:	0b cf                	or     %edi,%ecx
6103fc:	3b c8                	cmp    %eax,%ecx
6103fe:	0f 84 b4 00 00 00    	je     0x6104b8
610404:	51                   	push   %ecx
610405:	e8 46 fc ff ff       	call   0x610050
61040a:	50                   	push   %eax
61040b:	89 45 f4             	mov    %eax,-0xc(%ebp)
61040e:	e8 f6 68 ff ff       	call   0x606d09
610413:	59                   	pop    %ecx
610414:	59                   	pop    %ecx
610415:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
610419:	8b 4d f4             	mov    -0xc(%ebp),%ecx
61041c:	8b c1                	mov    %ecx,%eax
61041e:	c1 e8 03             	shr    $0x3,%eax
610421:	83 e0 10             	and    $0x10,%eax
610424:	f7 c1 00 02 00 00    	test   $0x200,%ecx
61042a:	74 03                	je     0x61042f
61042c:	83 c8 08             	or     $0x8,%eax
61042f:	f7 c1 00 04 00 00    	test   $0x400,%ecx
610435:	74 03                	je     0x61043a
610437:	83 c8 04             	or     $0x4,%eax
61043a:	f7 c1 00 08 00 00    	test   $0x800,%ecx
610440:	74 03                	je     0x610445
610442:	83 c8 02             	or     $0x2,%eax
610445:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
61044b:	74 03                	je     0x610450
61044d:	83 c8 01             	or     $0x1,%eax
610450:	f7 c1 00 01 00 00    	test   $0x100,%ecx
610456:	74 05                	je     0x61045d
610458:	0d 00 00 08 00       	or     $0x80000,%eax
61045d:	8b d1                	mov    %ecx,%edx
61045f:	bf 00 60 00 00       	mov    $0x6000,%edi
610464:	23 d7                	and    %edi,%edx
610466:	74 27                	je     0x61048f
610468:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
61046e:	74 1a                	je     0x61048a
610470:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
610476:	74 0b                	je     0x610483
610478:	3b d7                	cmp    %edi,%edx
61047a:	75 13                	jne    0x61048f
61047c:	0d 00 03 00 00       	or     $0x300,%eax
610481:	eb 0c                	jmp    0x61048f
610483:	0d 00 02 00 00       	or     $0x200,%eax
610488:	eb 05                	jmp    0x61048f
61048a:	0d 00 01 00 00       	or     $0x100,%eax
61048f:	81 e1 40 80 00 00    	and    $0x8040,%ecx
610495:	2b cb                	sub    %ebx,%ecx
610497:	74 1a                	je     0x6104b3
610499:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
61049f:	74 0b                	je     0x6104ac
6104a1:	2b cb                	sub    %ebx,%ecx
6104a3:	75 13                	jne    0x6104b8
6104a5:	0d 00 00 00 01       	or     $0x1000000,%eax
6104aa:	eb 0c                	jmp    0x6104b8
6104ac:	0d 00 00 00 03       	or     $0x3000000,%eax
6104b1:	eb 05                	jmp    0x6104b8
6104b3:	0d 00 00 00 02       	or     $0x2000000,%eax
6104b8:	8b c8                	mov    %eax,%ecx
6104ba:	33 c6                	xor    %esi,%eax
6104bc:	0b ce                	or     %esi,%ecx
6104be:	a9 1f 03 08 00       	test   $0x8031f,%eax
6104c3:	74 06                	je     0x6104cb
6104c5:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
6104cb:	8b c1                	mov    %ecx,%eax
6104cd:	eb 02                	jmp    0x6104d1
6104cf:	8b c6                	mov    %esi,%eax
6104d1:	5f                   	pop    %edi
6104d2:	5e                   	pop    %esi
6104d3:	5b                   	pop    %ebx
6104d4:	c9                   	leave
6104d5:	c3                   	ret
6104d6:	8b ff                	mov    %edi,%edi
6104d8:	55                   	push   %ebp
6104d9:	8b ec                	mov    %esp,%ebp
6104db:	8b 4d 08             	mov    0x8(%ebp),%ecx
6104de:	8b d1                	mov    %ecx,%edx
6104e0:	c1 ea 04             	shr    $0x4,%edx
6104e3:	83 e2 01             	and    $0x1,%edx
6104e6:	8b c2                	mov    %edx,%eax
6104e8:	f6 c1 08             	test   $0x8,%cl
6104eb:	74 06                	je     0x6104f3
6104ed:	83 ca 04             	or     $0x4,%edx
6104f0:	0f b7 c2             	movzwl %dx,%eax
6104f3:	f6 c1 04             	test   $0x4,%cl
6104f6:	74 03                	je     0x6104fb
6104f8:	83 c8 08             	or     $0x8,%eax
6104fb:	f6 c1 02             	test   $0x2,%cl
6104fe:	74 03                	je     0x610503
610500:	83 c8 10             	or     $0x10,%eax
610503:	f6 c1 01             	test   $0x1,%cl
610506:	74 03                	je     0x61050b
610508:	83 c8 20             	or     $0x20,%eax
61050b:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
610511:	74 03                	je     0x610516
610513:	83 c8 02             	or     $0x2,%eax
610516:	56                   	push   %esi
610517:	8b d1                	mov    %ecx,%edx
610519:	be 00 03 00 00       	mov    $0x300,%esi
61051e:	57                   	push   %edi
61051f:	bf 00 02 00 00       	mov    $0x200,%edi
610524:	23 d6                	and    %esi,%edx
610526:	74 23                	je     0x61054b
610528:	81 fa 00 01 00 00    	cmp    $0x100,%edx
61052e:	74 16                	je     0x610546
610530:	3b d7                	cmp    %edi,%edx
610532:	74 0b                	je     0x61053f
610534:	3b d6                	cmp    %esi,%edx
610536:	75 13                	jne    0x61054b
610538:	0d 00 0c 00 00       	or     $0xc00,%eax
61053d:	eb 0c                	jmp    0x61054b
61053f:	0d 00 08 00 00       	or     $0x800,%eax
610544:	eb 05                	jmp    0x61054b
610546:	0d 00 04 00 00       	or     $0x400,%eax
61054b:	8b d1                	mov    %ecx,%edx
61054d:	81 e2 00 00 03 00    	and    $0x30000,%edx
610553:	74 0c                	je     0x610561
610555:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
61055b:	75 06                	jne    0x610563
61055d:	0b c7                	or     %edi,%eax
61055f:	eb 02                	jmp    0x610563
610561:	0b c6                	or     %esi,%eax
610563:	5f                   	pop    %edi
610564:	5e                   	pop    %esi
610565:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
61056b:	74 05                	je     0x610572
61056d:	0d 00 10 00 00       	or     $0x1000,%eax
610572:	5d                   	pop    %ebp
610573:	c3                   	ret
610574:	8b ff                	mov    %edi,%edi
610576:	55                   	push   %ebp
610577:	8b ec                	mov    %esp,%ebp
610579:	ff 75 14             	push   0x14(%ebp)
61057c:	ff 75 10             	push   0x10(%ebp)
61057f:	ff 75 0c             	push   0xc(%ebp)
610582:	ff 75 08             	push   0x8(%ebp)
610585:	ff 15 a4 22 68 00    	call   *0x6822a4
61058b:	5d                   	pop    %ebp
61058c:	c3                   	ret
61058d:	8b ff                	mov    %edi,%edi
61058f:	55                   	push   %ebp
610590:	8b ec                	mov    %esp,%ebp
610592:	8b 4d 08             	mov    0x8(%ebp),%ecx
610595:	83 f9 fe             	cmp    $0xfffffffe,%ecx
610598:	75 0d                	jne    0x6105a7
61059a:	e8 5a ca fd ff       	call   0x5ecff9
61059f:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6105a5:	eb 38                	jmp    0x6105df
6105a7:	85 c9                	test   %ecx,%ecx
6105a9:	78 24                	js     0x6105cf
6105ab:	3b 0d b8 12 73 00    	cmp    0x7312b8,%ecx
6105b1:	73 1c                	jae    0x6105cf
6105b3:	8b c1                	mov    %ecx,%eax
6105b5:	83 e1 3f             	and    $0x3f,%ecx
6105b8:	c1 f8 06             	sar    $0x6,%eax
6105bb:	6b c9 38             	imul   $0x38,%ecx,%ecx
6105be:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
6105c5:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
6105ca:	83 e0 40             	and    $0x40,%eax
6105cd:	5d                   	pop    %ebp
6105ce:	c3                   	ret
6105cf:	e8 25 ca fd ff       	call   0x5ecff9
6105d4:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6105da:	e8 40 c9 fd ff       	call   0x5ecf1f
6105df:	33 c0                	xor    %eax,%eax
6105e1:	5d                   	pop    %ebp
6105e2:	c3                   	ret
6105e3:	8b ff                	mov    %edi,%edi
6105e5:	55                   	push   %ebp
6105e6:	8b ec                	mov    %esp,%ebp
6105e8:	51                   	push   %ecx
6105e9:	51                   	push   %ecx
6105ea:	dd 45 08             	fldl   0x8(%ebp)
6105ed:	d9 fc                	frndint
6105ef:	dd 5d f8             	fstpl  -0x8(%ebp)
6105f2:	dd 45 f8             	fldl   -0x8(%ebp)
6105f5:	c9                   	leave
6105f6:	c3                   	ret
6105f7:	8b ff                	mov    %edi,%edi
6105f9:	55                   	push   %ebp
6105fa:	8b ec                	mov    %esp,%ebp
6105fc:	8b 55 08             	mov    0x8(%ebp),%edx
6105ff:	85 d2                	test   %edx,%edx
610601:	75 0f                	jne    0x610612
610603:	33 c9                	xor    %ecx,%ecx
610605:	8b 45 10             	mov    0x10(%ebp),%eax
610608:	89 08                	mov    %ecx,(%eax)
61060a:	89 48 04             	mov    %ecx,0x4(%eax)
61060d:	33 c0                	xor    %eax,%eax
61060f:	40                   	inc    %eax
610610:	5d                   	pop    %ebp
610611:	c3                   	ret
610612:	8b 4d 0c             	mov    0xc(%ebp),%ecx
610615:	85 c9                	test   %ecx,%ecx
610617:	75 04                	jne    0x61061d
610619:	88 0a                	mov    %cl,(%edx)
61061b:	eb e8                	jmp    0x610605
61061d:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
610623:	75 04                	jne    0x610629
610625:	88 0a                	mov    %cl,(%edx)
610627:	eb e4                	jmp    0x61060d
610629:	53                   	push   %ebx
61062a:	56                   	push   %esi
61062b:	f7 c1 00 f8 ff ff    	test   $0xfffff800,%ecx
610631:	75 07                	jne    0x61063a
610633:	33 f6                	xor    %esi,%esi
610635:	b3 c0                	mov    $0xc0,%bl
610637:	46                   	inc    %esi
610638:	eb 33                	jmp    0x61066d
61063a:	f7 c1 00 00 ff ff    	test   $0xffff0000,%ecx
610640:	75 16                	jne    0x610658
610642:	81 f9 00 d8 00 00    	cmp    $0xd800,%ecx
610648:	72 08                	jb     0x610652
61064a:	81 f9 ff df 00 00    	cmp    $0xdfff,%ecx
610650:	76 43                	jbe    0x610695
610652:	6a 02                	push   $0x2
610654:	b3 e0                	mov    $0xe0,%bl
610656:	eb 14                	jmp    0x61066c
610658:	f7 c1 00 00 e0 ff    	test   $0xffe00000,%ecx
61065e:	75 35                	jne    0x610695
610660:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
610666:	77 2d                	ja     0x610695
610668:	6a 03                	push   $0x3
61066a:	b3 f0                	mov    $0xf0,%bl
61066c:	5e                   	pop    %esi
61066d:	57                   	push   %edi
61066e:	8b fe                	mov    %esi,%edi
610670:	8a c1                	mov    %cl,%al
610672:	c1 e9 06             	shr    $0x6,%ecx
610675:	24 3f                	and    $0x3f,%al
610677:	0c 80                	or     $0x80,%al