43944d:	3b 45 f8             	cmp    -0x8(%ebp),%eax
439450:	75 0d                	jne    0x43945f
439452:	8b 4e 04             	mov    0x4(%esi),%ecx
439455:	33 c0                	xor    %eax,%eax
439457:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
43945a:	0f 95 c0             	setne  %al
43945d:	eb 03                	jmp    0x439462
43945f:	33 c0                	xor    %eax,%eax
439461:	40                   	inc    %eax
439462:	5e                   	pop    %esi
439463:	c9                   	leave
439464:	c3                   	ret
439465:	8b ff                	mov    %edi,%edi
439467:	55                   	push   %ebp
439468:	8b ec                	mov    %esp,%ebp
43946a:	51                   	push   %ecx
43946b:	51                   	push   %ecx
43946c:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
439470:	8d 45 f8             	lea    -0x8(%ebp),%eax
439473:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
439477:	50                   	push   %eax
439478:	e8 7f ff ff ff       	call   0x4393fc
43947d:	59                   	pop    %ecx
43947e:	85 c0                	test   %eax,%eax
439480:	75 2b                	jne    0x4394ad
439482:	8b 45 08             	mov    0x8(%ebp),%eax
439485:	8b 55 f8             	mov    -0x8(%ebp),%edx
439488:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43948b:	89 10                	mov    %edx,(%eax)
43948d:	83 ca 1f             	or     $0x1f,%edx
439490:	89 48 04             	mov    %ecx,0x4(%eax)
439493:	8d 45 f8             	lea    -0x8(%ebp),%eax
439496:	50                   	push   %eax
439497:	89 55 f8             	mov    %edx,-0x8(%ebp)
43949a:	e8 7a ff ff ff       	call   0x439419
43949f:	59                   	pop    %ecx
4394a0:	85 c0                	test   %eax,%eax
4394a2:	75 09                	jne    0x4394ad
4394a4:	e8 71 c3 ff ff       	call   0x43581a
4394a9:	33 c0                	xor    %eax,%eax
4394ab:	c9                   	leave
4394ac:	c3                   	ret
4394ad:	33 c0                	xor    %eax,%eax
4394af:	40                   	inc    %eax
4394b0:	c9                   	leave
4394b1:	c3                   	ret
4394b2:	cc                   	int3
4394b3:	cc                   	int3
4394b4:	cc                   	int3
4394b5:	cc                   	int3
4394b6:	cc                   	int3
4394b7:	cc                   	int3
4394b8:	cc                   	int3
4394b9:	cc                   	int3
4394ba:	cc                   	int3
4394bb:	cc                   	int3
4394bc:	cc                   	int3
4394bd:	cc                   	int3
4394be:	cc                   	int3
4394bf:	cc                   	int3
4394c0:	83 3d d0 7b 45 00 00 	cmpl   $0x0,0x457bd0
4394c7:	74 32                	je     0x4394fb
4394c9:	83 ec 08             	sub    $0x8,%esp
4394cc:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
4394d1:	8b 44 24 04          	mov    0x4(%esp),%eax
4394d5:	25 80 7f 00 00       	and    $0x7f80,%eax
4394da:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
4394df:	75 0f                	jne    0x4394f0
4394e1:	d9 3c 24             	fnstcw (%esp)
4394e4:	66 8b 04 24          	mov    (%esp),%ax
4394e8:	66 83 e0 7f          	and    $0x7f,%ax
4394ec:	66 83 f8 7f          	cmp    $0x7f,%ax
4394f0:	8d 64 24 08          	lea    0x8(%esp),%esp
4394f4:	75 05                	jne    0x4394fb
4394f6:	e9 25 08 00 00       	jmp    0x439d20
4394fb:	83 ec 0c             	sub    $0xc,%esp
4394fe:	dd 14 24             	fstl   (%esp)
439501:	e8 d2 81 ff ff       	call   0x4316d8
439506:	e8 0d 00 00 00       	call   0x439518
43950b:	83 c4 0c             	add    $0xc,%esp
43950e:	c3                   	ret
43950f:	8d 54 24 04          	lea    0x4(%esp),%edx
439513:	e8 7d 81 ff ff       	call   0x431695
439518:	52                   	push   %edx
439519:	9b d9 3c 24          	fstcw  (%esp)
43951d:	74 4c                	je     0x43956b
43951f:	8b 44 24 0c          	mov    0xc(%esp),%eax
439523:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
439529:	74 06                	je     0x439531
43952b:	d9 2d 58 2a 44 00    	fldcw  0x442a58
439531:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
439536:	74 5e                	je     0x439596
439538:	a9 00 00 00 80       	test   $0x80000000,%eax
43953d:	75 41                	jne    0x439580
43953f:	d9 ec                	fldlg2
439541:	d9 c9                	fxch   %st(1)
439543:	d9 f1                	fyl2x
439545:	83 3d 7c 71 45 00 00 	cmpl   $0x0,0x45717c
43954c:	0f 85 9c 81 ff ff    	jne    0x4316ee
439552:	8d 0d c0 91 44 00    	lea    0x4491c0,%ecx
439558:	ba 1b 00 00 00       	mov    $0x1b,%edx
43955d:	e9 99 81 ff ff       	jmp    0x4316fb
439562:	a9 00 00 00 80       	test   $0x80000000,%eax
439567:	75 17                	jne    0x439580
439569:	eb d4                	jmp    0x43953f
43956b:	a9 ff ff 0f 00       	test   $0xfffff,%eax
439570:	75 1d                	jne    0x43958f
439572:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
439577:	75 16                	jne    0x43958f
439579:	25 00 00 00 80       	and    $0x80000000,%eax
43957e:	74 c5                	je     0x439545
439580:	dd d8                	fstp   %st(0)
439582:	db 2d 10 2a 44 00    	fldt   0x442a10
439588:	b8 01 00 00 00       	mov    $0x1,%eax
43958d:	eb 22                	jmp    0x4395b1
43958f:	e8 e8 80 ff ff       	call   0x43167c
439594:	eb 1b                	jmp    0x4395b1
439596:	a9 ff ff 0f 00       	test   $0xfffff,%eax
43959b:	75 c5                	jne    0x439562
43959d:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
4395a2:	75 be                	jne    0x439562
4395a4:	dd d8                	fstp   %st(0)
4395a6:	db 2d ba 29 44 00    	fldt   0x4429ba
4395ac:	b8 02 00 00 00       	mov    $0x2,%eax
4395b1:	83 3d 7c 71 45 00 00 	cmpl   $0x0,0x45717c
4395b8:	0f 85 30 81 ff ff    	jne    0x4316ee
4395be:	8d 0d c0 91 44 00    	lea    0x4491c0,%ecx
4395c4:	ba 1b 00 00 00       	mov    $0x1b,%edx
4395c9:	e8 39 80 ff ff       	call   0x431607
4395ce:	5a                   	pop    %edx
4395cf:	c3                   	ret
4395d0:	83 3d d0 7b 45 00 00 	cmpl   $0x0,0x457bd0
4395d7:	0f 84 d3 09 00 00    	je     0x439fb0
4395dd:	83 ec 08             	sub    $0x8,%esp
4395e0:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
4395e5:	8b 44 24 04          	mov    0x4(%esp),%eax
4395e9:	25 80 7f 00 00       	and    $0x7f80,%eax
4395ee:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
4395f3:	75 0f                	jne    0x439604
4395f5:	d9 3c 24             	fnstcw (%esp)
4395f8:	66 8b 04 24          	mov    (%esp),%ax
4395fc:	66 83 e0 7f          	and    $0x7f,%ax
439600:	66 83 f8 7f          	cmp    $0x7f,%ax
439604:	8d 64 24 08          	lea    0x8(%esp),%esp
439608:	0f 85 a2 09 00 00    	jne    0x439fb0
43960e:	eb 00                	jmp    0x439610
439610:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
439616:	66 0f 28 15 e0 91 44 	movapd 0x4491e0,%xmm2
43961d:	00
43961e:	66 0f 28 c8          	movapd %xmm0,%xmm1
439622:	66 0f 28 f8          	movapd %xmm0,%xmm7
439626:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
43962b:	66 0f 7e c0          	movd   %xmm0,%eax
43962f:	66 0f 54 05 00 92 44 	andpd  0x449200,%xmm0
439636:	00
439637:	66 0f fa d0          	psubd  %xmm0,%xmm2
43963b:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
43963f:	a9 00 08 00 00       	test   $0x800,%eax
439644:	74 4c                	je     0x439692
439646:	3d ff 0b 00 00       	cmp    $0xbff,%eax
43964b:	7c 7d                	jl     0x4396ca
43964d:	66 0f f3 ca          	psllq  %xmm2,%xmm1
439651:	3d 32 0c 00 00       	cmp    $0xc32,%eax
439656:	7f 0b                	jg     0x439663
439658:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
43965e:	dd 44 24 04          	fldl   0x4(%esp)
439662:	c3                   	ret
439663:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
439667:	7b 24                	jnp    0x43968d
439669:	ba ec 03 00 00       	mov    $0x3ec,%edx
43966e:	83 ec 10             	sub    $0x10,%esp
439671:	89 54 24 0c          	mov    %edx,0xc(%esp)
439675:	8b d4                	mov    %esp,%edx
439677:	83 c2 14             	add    $0x14,%edx
43967a:	89 54 24 08          	mov    %edx,0x8(%esp)
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