43b509:	25 80 7f 00 00       	and    $0x7f80,%eax
43b50e:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
43b513:	75 0f                	jne    0x43b524
43b515:	d9 3c 24             	fnstcw (%esp)
43b518:	66 8b 04 24          	mov    (%esp),%ax
43b51c:	66 83 e0 7f          	and    $0x7f,%ax
43b520:	66 83 f8 7f          	cmp    $0x7f,%ax
43b524:	8d 64 24 08          	lea    0x8(%esp),%esp
43b528:	0f 85 22 09 00 00    	jne    0x43be50
43b52e:	eb 00                	jmp    0x43b530
43b530:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
43b536:	66 0f 28 15 50 a1 44 	movapd 0x44a150,%xmm2
43b53d:	00
43b53e:	66 0f 28 c8          	movapd %xmm0,%xmm1
43b542:	66 0f 28 f8          	movapd %xmm0,%xmm7
43b546:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
43b54b:	66 0f 7e c0          	movd   %xmm0,%eax
43b54f:	66 0f 54 05 70 a1 44 	andpd  0x44a170,%xmm0
43b556:	00
43b557:	66 0f fa d0          	psubd  %xmm0,%xmm2
43b55b:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
43b55f:	a9 00 08 00 00       	test   $0x800,%eax
43b564:	74 4c                	je     0x43b5b2
43b566:	3d ff 0b 00 00       	cmp    $0xbff,%eax
43b56b:	7c 7d                	jl     0x43b5ea
43b56d:	66 0f f3 ca          	psllq  %xmm2,%xmm1
43b571:	3d 32 0c 00 00       	cmp    $0xc32,%eax
43b576:	7f 0b                	jg     0x43b583
43b578:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
43b57e:	dd 44 24 04          	fldl   0x4(%esp)
43b582:	c3                   	ret
43b583:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
43b587:	7b 24                	jnp    0x43b5ad
43b589:	ba ec 03 00 00       	mov    $0x3ec,%edx
43b58e:	83 ec 10             	sub    $0x10,%esp
43b591:	89 54 24 0c          	mov    %edx,0xc(%esp)
43b595:	8b d4                	mov    %esp,%edx
43b597:	83 c2 14             	add    $0x14,%edx
43b59a:	89 54 24 08          	mov    %edx,0x8(%esp)
43b59e:	89 54 24 04          	mov    %edx,0x4(%esp)
43b5a2:	89 14 24             	mov    %edx,(%esp)
43b5a5:	e8 e6 f3 ff ff       	call   0x43a990
43b5aa:	83 c4 10             	add    $0x10,%esp
43b5ad:	dd 44 24 04          	fldl   0x4(%esp)
43b5b1:	c3                   	ret
43b5b2:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
43b5b8:	66 0f f3 ca          	psllq  %xmm2,%xmm1
43b5bc:	66 0f 28 d8          	movapd %xmm0,%xmm3
43b5c0:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
43b5c5:	3d ff 03 00 00       	cmp    $0x3ff,%eax
43b5ca:	7c 25                	jl     0x43b5f1
43b5cc:	3d 32 04 00 00       	cmp    $0x432,%eax
43b5d1:	7f b0                	jg     0x43b583
43b5d3:	66 0f 54 05 40 a1 44 	andpd  0x44a140,%xmm0
43b5da:	00
43b5db:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
43b5df:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
43b5e5:	dd 44 24 04          	fldl   0x4(%esp)
43b5e9:	c3                   	ret
43b5ea:	dd 05 80 a1 44 00    	fldl   0x44a180
43b5f0:	c3                   	ret
43b5f1:	66 0f c2 1d 60 a1 44 	cmpnlepd 0x44a160,%xmm3
43b5f8:	00 06
43b5fa:	66 0f 54 1d 40 a1 44 	andpd  0x44a140,%xmm3
43b601:	00
43b602:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
43b608:	dd 44 24 04          	fldl   0x4(%esp)
43b60c:	c3                   	ret
43b60d:	8b ff                	mov    %edi,%edi
43b60f:	55                   	push   %ebp
43b610:	8b ec                	mov    %esp,%ebp
43b612:	8b 45 0c             	mov    0xc(%ebp),%eax
43b615:	83 20 00             	andl   $0x0,(%eax)
43b618:	83 60 04 00          	andl   $0x0,0x4(%eax)
43b61c:	8b 45 08             	mov    0x8(%ebp),%eax
43b61f:	5d                   	pop    %ebp
43b620:	c3                   	ret
43b621:	8b ff                	mov    %edi,%edi
43b623:	55                   	push   %ebp
43b624:	8b ec                	mov    %esp,%ebp
43b626:	8b 45 08             	mov    0x8(%ebp),%eax
43b629:	83 20 00             	andl   $0x0,(%eax)
43b62c:	83 60 04 00          	andl   $0x0,0x4(%eax)
43b630:	8b 45 0c             	mov    0xc(%ebp),%eax
43b633:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
43b637:	c7 40 18 2a 00 00 00 	movl   $0x2a,0x18(%eax)
43b63e:	83 c8 ff             	or     $0xffffffff,%eax
43b641:	5d                   	pop    %ebp
43b642:	c3                   	ret
43b643:	8b ff                	mov    %edi,%edi
43b645:	55                   	push   %ebp
43b646:	8b ec                	mov    %esp,%ebp
43b648:	83 ec 24             	sub    $0x24,%esp
43b64b:	a1 14 40 45 00       	mov    0x454014,%eax
43b650:	33 c5                	xor    %ebp,%eax
43b652:	89 45 fc             	mov    %eax,-0x4(%ebp)
43b655:	8b 4d 08             	mov    0x8(%ebp),%ecx
43b658:	8b 45 0c             	mov    0xc(%ebp),%eax
43b65b:	53                   	push   %ebx
43b65c:	56                   	push   %esi
43b65d:	8b 75 14             	mov    0x14(%ebp),%esi
43b660:	89 4d e8             	mov    %ecx,-0x18(%ebp)
43b663:	8b 4d 18             	mov    0x18(%ebp),%ecx
43b666:	89 45 e0             	mov    %eax,-0x20(%ebp)
43b669:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
43b66c:	57                   	push   %edi
43b66d:	85 f6                	test   %esi,%esi
43b66f:	75 05                	jne    0x43b676
43b671:	be 44 61 45 00       	mov    $0x456144,%esi
43b676:	33 d2                	xor    %edx,%edx
43b678:	33 db                	xor    %ebx,%ebx
43b67a:	42                   	inc    %edx
43b67b:	85 c0                	test   %eax,%eax
43b67d:	75 11                	jne    0x43b690
43b67f:	8b c2                	mov    %edx,%eax
43b681:	bf d7 da 44 00       	mov    $0x44dad7,%edi
43b686:	89 45 10             	mov    %eax,0x10(%ebp)
43b689:	8b c3                	mov    %ebx,%eax
43b68b:	89 45 e8             	mov    %eax,-0x18(%ebp)
43b68e:	eb 12                	jmp    0x43b6a2
43b690:	8b f8                	mov    %eax,%edi
43b692:	39 5d 10             	cmp    %ebx,0x10(%ebp)
43b695:	75 08                	jne    0x43b69f
43b697:	6a fe                	push   $0xfffffffe
43b699:	58                   	pop    %eax
43b69a:	e9 46 01 00 00       	jmp    0x43b7e5
43b69f:	8b 45 e8             	mov    -0x18(%ebp),%eax
43b6a2:	66 39 5e 06          	cmp    %bx,0x6(%esi)
43b6a6:	75 5c                	jne    0x43b704
43b6a8:	8a 1f                	mov    (%edi),%bl
43b6aa:	47                   	inc    %edi
43b6ab:	84 db                	test   %bl,%bl
43b6ad:	78 18                	js     0x43b6c7
43b6af:	85 c0                	test   %eax,%eax
43b6b1:	74 08                	je     0x43b6bb
43b6b3:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43b6b6:	0f b6 c3             	movzbl %bl,%eax
43b6b9:	89 01                	mov    %eax,(%ecx)
43b6bb:	33 c0                	xor    %eax,%eax
43b6bd:	84 db                	test   %bl,%bl
43b6bf:	0f 95 c0             	setne  %al
43b6c2:	e9 1e 01 00 00       	jmp    0x43b7e5
43b6c7:	8a c3                	mov    %bl,%al
43b6c9:	24 e0                	and    $0xe0,%al
43b6cb:	3c c0                	cmp    $0xc0,%al
43b6cd:	75 04                	jne    0x43b6d3
43b6cf:	b7 02                	mov    $0x2,%bh
43b6d1:	eb 1a                	jmp    0x43b6ed
43b6d3:	8a c3                	mov    %bl,%al
43b6d5:	24 f0                	and    $0xf0,%al
43b6d7:	3c e0                	cmp    $0xe0,%al
43b6d9:	75 04                	jne    0x43b6df
43b6db:	b7 03                	mov    $0x3,%bh
43b6dd:	eb 0e                	jmp    0x43b6ed
43b6df:	8a c3                	mov    %bl,%al
43b6e1:	24 f8                	and    $0xf8,%al
43b6e3:	3c f0                	cmp    $0xf0,%al
43b6e5:	0f 85 f1 00 00 00    	jne    0x43b7dc
43b6eb:	b7 04                	mov    $0x4,%bh
43b6ed:	6a 07                	push   $0x7
43b6ef:	0f b6 c7             	movzbl %bh,%eax
43b6f2:	59                   	pop    %ecx
43b6f3:	2b c8                	sub    %eax,%ecx
43b6f5:	88 7d ef             	mov    %bh,-0x11(%ebp)
43b6f8:	d3 e2                	shl    %cl,%edx
43b6fa:	0f b6 c3             	movzbl %bl,%eax
43b6fd:	4a                   	dec    %edx
43b6fe:	23 d0                	and    %eax,%edx
43b700:	8a df                	mov    %bh,%bl
43b702:	eb 28                	jmp    0x43b72c
43b704:	8a 7e 04             	mov    0x4(%esi),%bh
43b707:	8a 5e 06             	mov    0x6(%esi),%bl
43b70a:	8a c7                	mov    %bh,%al
43b70c:	8b 16                	mov    (%esi),%edx
43b70e:	2c 02                	sub    $0x2,%al
43b710:	88 5d ef             	mov    %bl,-0x11(%ebp)
43b713:	3c 02                	cmp    $0x2,%al
43b715:	0f 87 c1 00 00 00    	ja     0x43b7dc
43b71b:	80 fb 01             	cmp    $0x1,%bl
43b71e:	0f 82 b8 00 00 00    	jb     0x43b7dc
43b724:	3a df                	cmp    %bh,%bl
43b726:	0f 83 b0 00 00 00    	jae    0x43b7dc
43b72c:	8b 4d 10             	mov    0x10(%ebp),%ecx
43b72f:	0f b6 c3             	movzbl %bl,%eax
43b732:	89 45 dc             	mov    %eax,-0x24(%ebp)
43b735:	3b c1                	cmp    %ecx,%eax
43b737:	73 02                	jae    0x43b73b
43b739:	8b c8                	mov    %eax,%ecx
43b73b:	8b c7                	mov    %edi,%eax
43b73d:	2b 45 e0             	sub    -0x20(%ebp),%eax
43b740:	eb 25                	jmp    0x43b767
43b742:	8a 1f                	mov    (%edi),%bl
43b744:	47                   	inc    %edi
43b745:	40                   	inc    %eax
43b746:	88 5d ee             	mov    %bl,-0x12(%ebp)
43b749:	89 45 e0             	mov    %eax,-0x20(%ebp)
43b74c:	8a e3                	mov    %bl,%ah
43b74e:	8a 5d ef             	mov    -0x11(%ebp),%bl
43b751:	8a c4                	mov    %ah,%al
43b753:	24 c0                	and    $0xc0,%al
43b755:	3c 80                	cmp    $0x80,%al
43b757:	75 30                	jne    0x43b789
43b759:	0f b6 c4             	movzbl %ah,%eax
43b75c:	83 e0 3f             	and    $0x3f,%eax
43b75f:	c1 e2 06             	shl    $0x6,%edx
43b762:	0b d0                	or     %eax,%edx
43b764:	8b 45 e0             	mov    -0x20(%ebp),%eax
43b767:	3b c1                	cmp    %ecx,%eax
43b769:	72 d7                	jb     0x43b742
43b76b:	8b 7d dc             	mov    -0x24(%ebp),%edi
43b76e:	3b cf                	cmp    %edi,%ecx
43b770:	73 1c                	jae    0x43b78e
43b772:	0f b6 c7             	movzbl %bh,%eax
43b775:	2a d9                	sub    %cl,%bl
43b777:	66 89 46 04          	mov    %ax,0x4(%esi)
43b77b:	0f b6 c3             	movzbl %bl,%eax
43b77e:	89 16                	mov    %edx,(%esi)
43b780:	66 89 46 06          	mov    %ax,0x6(%esi)
43b784:	e9 0e ff ff ff       	jmp    0x43b697
43b789:	ff 75 e4             	push   -0x1c(%ebp)
43b78c:	eb 4f                	jmp    0x43b7dd
43b78e:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
43b794:	72 08                	jb     0x43b79e
43b796:	81 fa ff df 00 00    	cmp    $0xdfff,%edx
43b79c:	76 eb                	jbe    0x43b789
43b79e:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
43b7a4:	77 e3                	ja     0x43b789
43b7a6:	0f b6 c7             	movzbl %bh,%eax
43b7a9:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
43b7b0:	c7 45 f4 00 08 00 00 	movl   $0x800,-0xc(%ebp)
43b7b7:	c7 45 f8 00 00 01 00 	movl   $0x10000,-0x8(%ebp)
43b7be:	3b 54 85 e8          	cmp    -0x18(%ebp,%eax,4),%edx
43b7c2:	72 c5                	jb     0x43b789
43b7c4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43b7c7:	85 c9                	test   %ecx,%ecx
43b7c9:	74 02                	je     0x43b7cd
43b7cb:	89 11                	mov    %edx,(%ecx)
43b7cd:	f7 da                	neg    %edx
43b7cf:	56                   	push   %esi
43b7d0:	1b d2                	sbb    %edx,%edx
43b7d2:	23 d7                	and    %edi,%edx
43b7d4:	52                   	push   %edx
43b7d5:	e8 33 fe ff ff       	call   0x43b60d
43b7da:	eb 07                	jmp    0x43b7e3
43b7dc:	51                   	push   %ecx
43b7dd:	56                   	push   %esi
43b7de:	e8 3e fe ff ff       	call   0x43b621
43b7e3:	59                   	pop    %ecx
43b7e4:	59                   	pop    %ecx
43b7e5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43b7e8:	5f                   	pop    %edi
43b7e9:	5e                   	pop    %esi
43b7ea:	33 cd                	xor    %ebp,%ecx
43b7ec:	5b                   	pop    %ebx
43b7ed:	e8 de 00 fe ff       	call   0x41b8d0
43b7f2:	c9                   	leave
43b7f3:	c3                   	ret
43b7f4:	cc                   	int3
43b7f5:	cc                   	int3
43b7f6:	cc                   	int3
43b7f7:	cc                   	int3
43b7f8:	cc                   	int3
43b7f9:	cc                   	int3
43b7fa:	cc                   	int3
43b7fb:	cc                   	int3
43b7fc:	cc                   	int3
43b7fd:	cc                   	int3
43b7fe:	cc                   	int3
43b7ff:	cc                   	int3
43b800:	55                   	push   %ebp
43b801:	8b ec                	mov    %esp,%ebp
43b803:	57                   	push   %edi
43b804:	56                   	push   %esi
43b805:	53                   	push   %ebx
43b806:	8b 4d 10             	mov    0x10(%ebp),%ecx
43b809:	0b c9                	or     %ecx,%ecx
43b80b:	74 4d                	je     0x43b85a
43b80d:	8b 75 08             	mov    0x8(%ebp),%esi
43b810:	8b 7d 0c             	mov    0xc(%ebp),%edi
43b813:	b7 41                	mov    $0x41,%bh
43b815:	b3 5a                	mov    $0x5a,%bl
43b817:	b6 20                	mov    $0x20,%dh
43b819:	8d 49 00             	lea    0x0(%ecx),%ecx
43b81c:	8a 26                	mov    (%esi),%ah
43b81e:	0a e4                	or     %ah,%ah
43b820:	8a 07                	mov    (%edi),%al
43b822:	74 27                	je     0x43b84b
43b824:	0a c0                	or     %al,%al
43b826:	74 23                	je     0x43b84b
43b828:	83 c6 01             	add    $0x1,%esi
43b82b:	83 c7 01             	add    $0x1,%edi
43b82e:	3a e7                	cmp    %bh,%ah
43b830:	72 06                	jb     0x43b838
43b832:	3a e3                	cmp    %bl,%ah
43b834:	77 02                	ja     0x43b838
43b836:	02 e6                	add    %dh,%ah
43b838:	3a c7                	cmp    %bh,%al
43b83a:	72 06                	jb     0x43b842
43b83c:	3a c3                	cmp    %bl,%al
43b83e:	77 02                	ja     0x43b842
43b840:	02 c6                	add    %dh,%al
43b842:	3a e0                	cmp    %al,%ah
43b844:	75 0b                	jne    0x43b851
43b846:	83 e9 01             	sub    $0x1,%ecx
43b849:	75 d1                	jne    0x43b81c
43b84b:	33 c9                	xor    %ecx,%ecx
43b84d:	3a e0                	cmp    %al,%ah
43b84f:	74 09                	je     0x43b85a
43b851:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
43b856:	72 02                	jb     0x43b85a
43b858:	f7 d9                	neg    %ecx
43b85a:	8b c1                	mov    %ecx,%eax
43b85c:	5b                   	pop    %ebx
43b85d:	5e                   	pop    %esi
43b85e:	5f                   	pop    %edi
43b85f:	c9                   	leave
43b860:	c3                   	ret
43b861:	8b ff                	mov    %edi,%edi
43b863:	55                   	push   %ebp
43b864:	8b ec                	mov    %esp,%ebp
43b866:	53                   	push   %ebx
43b867:	56                   	push   %esi
43b868:	8b 75 08             	mov    0x8(%ebp),%esi
43b86b:	33 db                	xor    %ebx,%ebx
43b86d:	57                   	push   %edi
43b86e:	6a 01                	push   $0x1
43b870:	53                   	push   %ebx
43b871:	53                   	push   %ebx
43b872:	56                   	push   %esi
43b873:	8b f9                	mov    %ecx,%edi
43b875:	e8 86 50 ff ff       	call   0x430900
43b87a:	6a 02                	push   $0x2
43b87c:	53                   	push   %ebx
43b87d:	53                   	push   %ebx
43b87e:	56                   	push   %esi
43b87f:	89 07                	mov    %eax,(%edi)
43b881:	89 57 04             	mov    %edx,0x4(%edi)
43b884:	e8 77 50 ff ff       	call   0x430900
43b889:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43b88c:	83 c4 20             	add    $0x20,%esp
43b88f:	89 47 08             	mov    %eax,0x8(%edi)
43b892:	2b c8                	sub    %eax,%ecx
43b894:	8b 45 10             	mov    0x10(%ebp),%eax
43b897:	1b c2                	sbb    %edx,%eax
43b899:	89 77 18             	mov    %esi,0x18(%edi)
43b89c:	89 47 14             	mov    %eax,0x14(%edi)
43b89f:	8b c7                	mov    %edi,%eax
43b8a1:	89 57 0c             	mov    %edx,0xc(%edi)
43b8a4:	89 4f 10             	mov    %ecx,0x10(%edi)
43b8a7:	5f                   	pop    %edi