43967e:	89 54 24 04          	mov    %edx,0x4(%esp)
439682:	89 14 24             	mov    %edx,(%esp)
439685:	e8 e7 f3 ff ff       	call   0x438a71
43968a:	83 c4 10             	add    $0x10,%esp
43968d:	dd 44 24 04          	fldl   0x4(%esp)
439691:	c3                   	ret
439692:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
439698:	66 0f f3 ca          	psllq  %xmm2,%xmm1
43969c:	66 0f 28 d8          	movapd %xmm0,%xmm3
4396a0:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
4396a5:	3d ff 03 00 00       	cmp    $0x3ff,%eax
4396aa:	7c 25                	jl     0x4396d1
4396ac:	3d 32 04 00 00       	cmp    $0x432,%eax
4396b1:	7f b0                	jg     0x439663
4396b3:	66 0f 54 05 d0 91 44 	andpd  0x4491d0,%xmm0
4396ba:	00
4396bb:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
4396bf:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
4396c5:	dd 44 24 04          	fldl   0x4(%esp)
4396c9:	c3                   	ret
4396ca:	dd 05 10 92 44 00    	fldl   0x449210
4396d0:	c3                   	ret
4396d1:	66 0f c2 1d f0 91 44 	cmpnlepd 0x4491f0,%xmm3
4396d8:	00 06
4396da:	66 0f 54 1d d0 91 44 	andpd  0x4491d0,%xmm3
4396e1:	00
4396e2:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
4396e8:	dd 44 24 04          	fldl   0x4(%esp)
4396ec:	c3                   	ret
4396ed:	8b ff                	mov    %edi,%edi
4396ef:	55                   	push   %ebp
4396f0:	8b ec                	mov    %esp,%ebp
4396f2:	8b 45 0c             	mov    0xc(%ebp),%eax
4396f5:	83 20 00             	andl   $0x0,(%eax)
4396f8:	83 60 04 00          	andl   $0x0,0x4(%eax)
4396fc:	8b 45 08             	mov    0x8(%ebp),%eax
4396ff:	5d                   	pop    %ebp
439700:	c3                   	ret
439701:	8b ff                	mov    %edi,%edi
439703:	55                   	push   %ebp
439704:	8b ec                	mov    %esp,%ebp
439706:	8b 45 08             	mov    0x8(%ebp),%eax
439709:	83 20 00             	andl   $0x0,(%eax)
43970c:	83 60 04 00          	andl   $0x0,0x4(%eax)
439710:	8b 45 0c             	mov    0xc(%ebp),%eax
439713:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
439717:	c7 40 18 2a 00 00 00 	movl   $0x2a,0x18(%eax)
43971e:	83 c8 ff             	or     $0xffffffff,%eax
439721:	5d                   	pop    %ebp
439722:	c3                   	ret
439723:	8b ff                	mov    %edi,%edi
439725:	55                   	push   %ebp
439726:	8b ec                	mov    %esp,%ebp
439728:	83 ec 24             	sub    $0x24,%esp
43972b:	a1 14 50 45 00       	mov    0x455014,%eax
439730:	33 c5                	xor    %ebp,%eax
439732:	89 45 fc             	mov    %eax,-0x4(%ebp)
439735:	8b 4d 08             	mov    0x8(%ebp),%ecx
439738:	8b 45 0c             	mov    0xc(%ebp),%eax
43973b:	53                   	push   %ebx
43973c:	56                   	push   %esi
43973d:	8b 75 14             	mov    0x14(%ebp),%esi
439740:	89 4d e8             	mov    %ecx,-0x18(%ebp)
439743:	8b 4d 18             	mov    0x18(%ebp),%ecx
439746:	89 45 e0             	mov    %eax,-0x20(%ebp)
439749:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
43974c:	57                   	push   %edi
43974d:	85 f6                	test   %esi,%esi
43974f:	75 05                	jne    0x439756
439751:	be b0 71 45 00       	mov    $0x4571b0,%esi
439756:	33 d2                	xor    %edx,%edx
439758:	33 db                	xor    %ebx,%ebx
43975a:	42                   	inc    %edx
43975b:	85 c0                	test   %eax,%eax
43975d:	75 11                	jne    0x439770
43975f:	8b c2                	mov    %edx,%eax
439761:	bf 67 ed 44 00       	mov    $0x44ed67,%edi
439766:	89 45 10             	mov    %eax,0x10(%ebp)
439769:	8b c3                	mov    %ebx,%eax
43976b:	89 45 e8             	mov    %eax,-0x18(%ebp)
43976e:	eb 12                	jmp    0x439782
439770:	8b f8                	mov    %eax,%edi
439772:	39 5d 10             	cmp    %ebx,0x10(%ebp)
439775:	75 08                	jne    0x43977f
439777:	6a fe                	push   $0xfffffffe
439779:	58                   	pop    %eax
43977a:	e9 46 01 00 00       	jmp    0x4398c5
43977f:	8b 45 e8             	mov    -0x18(%ebp),%eax
439782:	66 39 5e 06          	cmp    %bx,0x6(%esi)
439786:	75 5c                	jne    0x4397e4
439788:	8a 1f                	mov    (%edi),%bl
43978a:	47                   	inc    %edi
43978b:	84 db                	test   %bl,%bl
43978d:	78 18                	js     0x4397a7
43978f:	85 c0                	test   %eax,%eax
439791:	74 08                	je     0x43979b
439793:	8b 4d e8             	mov    -0x18(%ebp),%ecx
439796:	0f b6 c3             	movzbl %bl,%eax
439799:	89 01                	mov    %eax,(%ecx)
43979b:	33 c0                	xor    %eax,%eax
43979d:	84 db                	test   %bl,%bl
43979f:	0f 95 c0             	setne  %al
4397a2:	e9 1e 01 00 00       	jmp    0x4398c5
4397a7:	8a c3                	mov    %bl,%al
4397a9:	24 e0                	and    $0xe0,%al
4397ab:	3c c0                	cmp    $0xc0,%al
4397ad:	75 04                	jne    0x4397b3
4397af:	b7 02                	mov    $0x2,%bh
4397b1:	eb 1a                	jmp    0x4397cd
4397b3:	8a c3                	mov    %bl,%al
4397b5:	24 f0                	and    $0xf0,%al
4397b7:	3c e0                	cmp    $0xe0,%al
4397b9:	75 04                	jne    0x4397bf
4397bb:	b7 03                	mov    $0x3,%bh
4397bd:	eb 0e                	jmp    0x4397cd
4397bf:	8a c3                	mov    %bl,%al
4397c1:	24 f8                	and    $0xf8,%al
4397c3:	3c f0                	cmp    $0xf0,%al
4397c5:	0f 85 f1 00 00 00    	jne    0x4398bc
4397cb:	b7 04                	mov    $0x4,%bh
4397cd:	6a 07                	push   $0x7
4397cf:	0f b6 c7             	movzbl %bh,%eax
4397d2:	59                   	pop    %ecx
4397d3:	2b c8                	sub    %eax,%ecx
4397d5:	88 7d ef             	mov    %bh,-0x11(%ebp)
4397d8:	d3 e2                	shl    %cl,%edx
4397da:	0f b6 c3             	movzbl %bl,%eax
4397dd:	4a                   	dec    %edx
4397de:	23 d0                	and    %eax,%edx
4397e0:	8a df                	mov    %bh,%bl
4397e2:	eb 28                	jmp    0x43980c
4397e4:	8a 7e 04             	mov    0x4(%esi),%bh
4397e7:	8a 5e 06             	mov    0x6(%esi),%bl
4397ea:	8a c7                	mov    %bh,%al
4397ec:	8b 16                	mov    (%esi),%edx
4397ee:	2c 02                	sub    $0x2,%al
4397f0:	88 5d ef             	mov    %bl,-0x11(%ebp)
4397f3:	3c 02                	cmp    $0x2,%al
4397f5:	0f 87 c1 00 00 00    	ja     0x4398bc
4397fb:	80 fb 01             	cmp    $0x1,%bl
4397fe:	0f 82 b8 00 00 00    	jb     0x4398bc
439804:	3a df                	cmp    %bh,%bl
439806:	0f 83 b0 00 00 00    	jae    0x4398bc
43980c:	8b 4d 10             	mov    0x10(%ebp),%ecx
43980f:	0f b6 c3             	movzbl %bl,%eax
439812:	89 45 dc             	mov    %eax,-0x24(%ebp)
439815:	3b c1                	cmp    %ecx,%eax
439817:	73 02                	jae    0x43981b
439819:	8b c8                	mov    %eax,%ecx
43981b:	8b c7                	mov    %edi,%eax
43981d:	2b 45 e0             	sub    -0x20(%ebp),%eax
439820:	eb 25                	jmp    0x439847
439822:	8a 1f                	mov    (%edi),%bl
439824:	47                   	inc    %edi
439825:	40                   	inc    %eax
439826:	88 5d ee             	mov    %bl,-0x12(%ebp)
439829:	89 45 e0             	mov    %eax,-0x20(%ebp)
43982c:	8a e3                	mov    %bl,%ah
43982e:	8a 5d ef             	mov    -0x11(%ebp),%bl
439831:	8a c4                	mov    %ah,%al
439833:	24 c0                	and    $0xc0,%al
439835:	3c 80                	cmp    $0x80,%al
439837:	75 30                	jne    0x439869
439839:	0f b6 c4             	movzbl %ah,%eax
43983c:	83 e0 3f             	and    $0x3f,%eax
43983f:	c1 e2 06             	shl    $0x6,%edx
439842:	0b d0                	or     %eax,%edx
439844:	8b 45 e0             	mov    -0x20(%ebp),%eax
439847:	3b c1                	cmp    %ecx,%eax
439849:	72 d7                	jb     0x439822
43984b:	8b 7d dc             	mov    -0x24(%ebp),%edi
43984e:	3b cf                	cmp    %edi,%ecx
439850:	73 1c                	jae    0x43986e
439852:	0f b6 c7             	movzbl %bh,%eax
439855:	2a d9                	sub    %cl,%bl
439857:	66 89 46 04          	mov    %ax,0x4(%esi)
43985b:	0f b6 c3             	movzbl %bl,%eax
43985e:	89 16                	mov    %edx,(%esi)
439860:	66 89 46 06          	mov    %ax,0x6(%esi)
439864:	e9 0e ff ff ff       	jmp    0x439777
439869:	ff 75 e4             	push   -0x1c(%ebp)
43986c:	eb 4f                	jmp    0x4398bd
43986e:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
439874:	72 08                	jb     0x43987e
439876:	81 fa ff df 00 00    	cmp    $0xdfff,%edx
43987c:	76 eb                	jbe    0x439869
43987e:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
439884:	77 e3                	ja     0x439869
439886:	0f b6 c7             	movzbl %bh,%eax
439889:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
439890:	c7 45 f4 00 08 00 00 	movl   $0x800,-0xc(%ebp)
439897:	c7 45 f8 00 00 01 00 	movl   $0x10000,-0x8(%ebp)
43989e:	3b 54 85 e8          	cmp    -0x18(%ebp,%eax,4),%edx
4398a2:	72 c5                	jb     0x439869
4398a4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4398a7:	85 c9                	test   %ecx,%ecx
4398a9:	74 02                	je     0x4398ad
4398ab:	89 11                	mov    %edx,(%ecx)
4398ad:	f7 da                	neg    %edx
4398af:	56                   	push   %esi
4398b0:	1b d2                	sbb    %edx,%edx
4398b2:	23 d7                	and    %edi,%edx
4398b4:	52                   	push   %edx
4398b5:	e8 33 fe ff ff       	call   0x4396ed
4398ba:	eb 07                	jmp    0x4398c3
4398bc:	51                   	push   %ecx
4398bd:	56                   	push   %esi
4398be:	e8 3e fe ff ff       	call   0x439701
4398c3:	59                   	pop    %ecx
4398c4:	59                   	pop    %ecx
4398c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4398c8:	5f                   	pop    %edi
4398c9:	5e                   	pop    %esi
4398ca:	33 cd                	xor    %ebp,%ecx
4398cc:	5b                   	pop    %ebx
4398cd:	e8 d8 02 fe ff       	call   0x419baa
4398d2:	c9                   	leave
4398d3:	c3                   	ret
4398d4:	cc                   	int3
4398d5:	cc                   	int3
4398d6:	cc                   	int3
4398d7:	cc                   	int3
4398d8:	cc                   	int3
4398d9:	cc                   	int3
4398da:	cc                   	int3
4398db:	cc                   	int3
4398dc:	cc                   	int3
4398dd:	cc                   	int3
4398de:	cc                   	int3
4398df:	cc                   	int3
4398e0:	55                   	push   %ebp
4398e1:	8b ec                	mov    %esp,%ebp
4398e3:	57                   	push   %edi
4398e4:	56                   	push   %esi
4398e5:	53                   	push   %ebx
4398e6:	8b 4d 10             	mov    0x10(%ebp),%ecx
4398e9:	0b c9                	or     %ecx,%ecx
4398eb:	74 4d                	je     0x43993a
4398ed:	8b 75 08             	mov    0x8(%ebp),%esi
4398f0:	8b 7d 0c             	mov    0xc(%ebp),%edi
4398f3:	b7 41                	mov    $0x41,%bh
4398f5:	b3 5a                	mov    $0x5a,%bl
4398f7:	b6 20                	mov    $0x20,%dh
4398f9:	8d 49 00             	lea    0x0(%ecx),%ecx
4398fc:	8a 26                	mov    (%esi),%ah
4398fe:	0a e4                	or     %ah,%ah
439900:	8a 07                	mov    (%edi),%al
439902:	74 27                	je     0x43992b
439904:	0a c0                	or     %al,%al
439906:	74 23                	je     0x43992b
439908:	83 c6 01             	add    $0x1,%esi
43990b:	83 c7 01             	add    $0x1,%edi
43990e:	3a e7                	cmp    %bh,%ah
439910:	72 06                	jb     0x439918
439912:	3a e3                	cmp    %bl,%ah
439914:	77 02                	ja     0x439918
439916:	02 e6                	add    %dh,%ah
439918:	3a c7                	cmp    %bh,%al
43991a:	72 06                	jb     0x439922
43991c:	3a c3                	cmp    %bl,%al
43991e:	77 02                	ja     0x439922
439920:	02 c6                	add    %dh,%al
439922:	3a e0                	cmp    %al,%ah
439924:	75 0b                	jne    0x439931
439926:	83 e9 01             	sub    $0x1,%ecx
439929:	75 d1                	jne    0x4398fc
43992b:	33 c9                	xor    %ecx,%ecx
43992d:	3a e0                	cmp    %al,%ah
43992f:	74 09                	je     0x43993a
439931:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
439936:	72 02                	jb     0x43993a
439938:	f7 d9                	neg    %ecx
43993a:	8b c1                	mov    %ecx,%eax
43993c:	5b                   	pop    %ebx
43993d:	5e                   	pop    %esi
43993e:	5f                   	pop    %edi
43993f:	c9                   	leave
439940:	c3                   	ret
439941:	8b ff                	mov    %edi,%edi
439943:	55                   	push   %ebp
439944:	8b ec                	mov    %esp,%ebp
439946:	53                   	push   %ebx
439947:	56                   	push   %esi
439948:	8b 75 08             	mov    0x8(%ebp),%esi
43994b:	33 db                	xor    %ebx,%ebx
43994d:	57                   	push   %edi
43994e:	6a 01                	push   $0x1
439950:	53                   	push   %ebx
439951:	53                   	push   %ebx
439952:	56                   	push   %esi
439953:	8b f9                	mov    %ecx,%edi
439955:	e8 b6 4b ff ff       	call   0x42e510
43995a:	6a 02                	push   $0x2
43995c:	53                   	push   %ebx
43995d:	53                   	push   %ebx
43995e:	56                   	push   %esi
43995f:	89 07                	mov    %eax,(%edi)
439961:	89 57 04             	mov    %edx,0x4(%edi)
439964:	e8 a7 4b ff ff       	call   0x42e510
439969:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43996c:	83 c4 20             	add    $0x20,%esp
43996f:	89 47 08             	mov    %eax,0x8(%edi)
439972:	2b c8                	sub    %eax,%ecx
439974:	8b 45 10             	mov    0x10(%ebp),%eax
439977:	1b c2                	sbb    %edx,%eax
439979:	89 77 18             	mov    %esi,0x18(%edi)
43997c:	89 47 14             	mov    %eax,0x14(%edi)
43997f:	8b c7                	mov    %edi,%eax
439981:	89 57 0c             	mov    %edx,0xc(%edi)
439984:	89 4f 10             	mov    %ecx,0x10(%edi)
439987:	5f                   	pop    %edi
439988:	5e                   	pop    %esi
439989:	5b                   	pop    %ebx
43998a:	5d                   	pop    %ebp
43998b:	c2 0c 00             	ret    $0xc
43998e:	8b ff                	mov    %edi,%edi
439990:	55                   	push   %ebp
439991:	8b ec                	mov    %esp,%ebp
439993:	83 ec 28             	sub    $0x28,%esp
439996:	8d 4d d8             	lea    -0x28(%ebp),%ecx
439999:	56                   	push   %esi
43999a:	6a 00                	push   $0x0
43999c:	e8 2f 5b fe ff       	call   0x41f4d0
4399a1:	8d 45 d8             	lea    -0x28(%ebp),%eax
4399a4:	50                   	push   %eax
4399a5:	ff 75 10             	push   0x10(%ebp)
4399a8:	ff 75 0c             	push   0xc(%ebp)
4399ab:	ff 75 08             	push   0x8(%ebp)
4399ae:	e8 12 00 00 00       	call   0x4399c5
4399b3:	83 c4 10             	add    $0x10,%esp
4399b6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4399b9:	8b f0                	mov    %eax,%esi
4399bb:	e8 70 5b fe ff       	call   0x41f530
4399c0:	8b c6                	mov    %esi,%eax
4399c2:	5e                   	pop    %esi
4399c3:	c9                   	leave
4399c4:	c3                   	ret
4399c5:	8b ff                	mov    %edi,%edi
4399c7:	55                   	push   %ebp
4399c8:	8b ec                	mov    %esp,%ebp
4399ca:	83 ec 2c             	sub    $0x2c,%esp
4399cd:	53                   	push   %ebx
4399ce:	8b 5d 08             	mov    0x8(%ebp),%ebx
4399d1:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4399d4:	56                   	push   %esi
4399d5:	57                   	push   %edi
4399d6:	ff 75 10             	push   0x10(%ebp)
4399d9:	8b 7d 14             	mov    0x14(%ebp),%edi
4399dc:	ff 75 0c             	push   0xc(%ebp)
4399df:	53                   	push   %ebx