43057e:	74 37                	je     0x4305b7
430580:	ff 75 f8             	push   -0x8(%ebp)
430583:	57                   	push   %edi
430584:	56                   	push   %esi
430585:	e8 86 b6 fe ff       	call   0x41bc10
43058a:	ff 75 f4             	push   -0xc(%ebp)
43058d:	56                   	push   %esi
43058e:	ff 75 14             	push   0x14(%ebp)
430591:	ff 75 10             	push   0x10(%ebp)
430594:	6a 01                	push   $0x1
430596:	53                   	push   %ebx
430597:	e8 74 17 00 00       	call   0x431d10
43059c:	83 c4 24             	add    $0x24,%esp
43059f:	85 c0                	test   %eax,%eax
4305a1:	74 14                	je     0x4305b7
4305a3:	ff 75 18             	push   0x18(%ebp)
4305a6:	50                   	push   %eax
4305a7:	56                   	push   %esi
4305a8:	ff 75 0c             	push   0xc(%ebp)
4305ab:	ff 15 58 e1 43 00    	call   *0x43e158
4305b1:	8b f8                	mov    %eax,%edi
4305b3:	eb 02                	jmp    0x4305b7
4305b5:	8b f7                	mov    %edi,%esi
4305b7:	56                   	push   %esi
4305b8:	e8 21 93 fe ff       	call   0x4198de
4305bd:	59                   	pop    %ecx
4305be:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
4305c2:	74 0a                	je     0x4305ce
4305c4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4305c7:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
4305ce:	8b c7                	mov    %edi,%eax
4305d0:	8d 65 d8             	lea    -0x28(%ebp),%esp
4305d3:	5f                   	pop    %edi
4305d4:	5e                   	pop    %esi
4305d5:	5b                   	pop    %ebx
4305d6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4305d9:	33 cd                	xor    %ebp,%ecx
4305db:	e8 ca 95 fe ff       	call   0x419baa
4305e0:	c9                   	leave
4305e1:	c3                   	ret
4305e2:	8b ff                	mov    %edi,%edi
4305e4:	55                   	push   %ebp
4305e5:	8b ec                	mov    %esp,%ebp
4305e7:	57                   	push   %edi
4305e8:	8b 7d 08             	mov    0x8(%ebp),%edi
4305eb:	85 ff                	test   %edi,%edi
4305ed:	75 0b                	jne    0x4305fa
4305ef:	ff 75 0c             	push   0xc(%ebp)
4305f2:	e8 fd a2 ff ff       	call   0x42a8f4
4305f7:	59                   	pop    %ecx
4305f8:	eb 24                	jmp    0x43061e
4305fa:	56                   	push   %esi
4305fb:	8b 75 0c             	mov    0xc(%ebp),%esi
4305fe:	85 f6                	test   %esi,%esi
430600:	75 09                	jne    0x43060b
430602:	57                   	push   %edi
430603:	e8 b2 a2 ff ff       	call   0x42a8ba
430608:	59                   	pop    %ecx
430609:	eb 10                	jmp    0x43061b
43060b:	83 fe e0             	cmp    $0xffffffe0,%esi
43060e:	76 25                	jbe    0x430635
430610:	e8 1b 34 ff ff       	call   0x423a30
430615:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
43061b:	33 c0                	xor    %eax,%eax
43061d:	5e                   	pop    %esi
43061e:	5f                   	pop    %edi
43061f:	5d                   	pop    %ebp
430620:	c3                   	ret
430621:	e8 ab 94 ff ff       	call   0x429ad1
430626:	85 c0                	test   %eax,%eax
430628:	74 e6                	je     0x430610
43062a:	56                   	push   %esi
43062b:	e8 ec 94 ff ff       	call   0x429b1c
430630:	59                   	pop    %ecx
430631:	85 c0                	test   %eax,%eax
430633:	74 db                	je     0x430610
430635:	56                   	push   %esi
430636:	57                   	push   %edi
430637:	6a 00                	push   $0x0
430639:	ff 35 a8 71 45 00    	push   0x4571a8
43063f:	ff 15 48 e1 43 00    	call   *0x43e148
430645:	85 c0                	test   %eax,%eax
430647:	74 d8                	je     0x430621
430649:	eb d2                	jmp    0x43061d
43064b:	cc                   	int3
43064c:	cc                   	int3
43064d:	cc                   	int3
43064e:	cc                   	int3
43064f:	cc                   	int3
430650:	6a 0a                	push   $0xa
430652:	ff 15 7c e1 43 00    	call   *0x43e17c
430658:	a3 d0 7b 45 00       	mov    %eax,0x457bd0
43065d:	33 c0                	xor    %eax,%eax
43065f:	c3                   	ret
430660:	55                   	push   %ebp
430661:	8b ec                	mov    %esp,%ebp
430663:	83 ec 10             	sub    $0x10,%esp
430666:	83 e4 f0             	and    $0xfffffff0,%esp
430669:	d9 c9                	fxch   %st(1)
43066b:	dd 1c 24             	fstpl  (%esp)
43066e:	dd 5c 24 08          	fstpl  0x8(%esp)
430672:	e8 02 00 00 00       	call   0x430679
430677:	c9                   	leave
430678:	c3                   	ret
430679:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
43067f:	66 0f 12 3d 00 29 44 	movlpd 0x442900,%xmm7
430686:	00
430687:	66 0f 12 15 10 29 44 	movlpd 0x442910,%xmm2
43068e:	00
43068f:	66 0f 54 f8          	andpd  %xmm0,%xmm7
430693:	f2 0f 10 e0          	movsd  %xmm0,%xmm4
430697:	66 0f 73 d0 2c       	psrlq  $0x2c,%xmm0
43069c:	66 0f c5 c0 00       	pextrw $0x0,%xmm0,%eax
4306a1:	66 0f 56 fa          	orpd   %xmm2,%xmm7
4306a5:	66 0f c5 cc 03       	pextrw $0x3,%xmm4,%ecx
4306aa:	25 ff 00 00 00       	and    $0xff,%eax
4306af:	83 c0 01             	add    $0x1,%eax
4306b2:	25 fe 01 00 00       	and    $0x1fe,%eax
4306b7:	f2 0f 59 3c 85 40 59 	mulsd  0x445940(,%eax,4),%xmm7
4306be:	44 00
4306c0:	66 0f 12 2c 85 40 59 	movlpd 0x445940(,%eax,4),%xmm5
4306c7:	44 00
4306c9:	03 c0                	add    %eax,%eax
4306cb:	66 0f 28 34 85 50 5d 	movapd 0x445d50(,%eax,4),%xmm6
4306d2:	44 00
4306d4:	ba ef 7f 00 00       	mov    $0x7fef,%edx
4306d9:	2b d1                	sub    %ecx,%edx
4306db:	83 e9 10             	sub    $0x10,%ecx
4306de:	0b ca                	or     %edx,%ecx
4306e0:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
4306e6:	0f 83 db 02 00 00    	jae    0x4309c7
4306ec:	b9 00 00 00 00       	mov    $0x0,%ecx
4306f1:	ba 7f fe 03 00       	mov    $0x3fe7f,%edx
4306f6:	66 0f 6e ca          	movd   %edx,%xmm1
4306fa:	66 0f fb c1          	psubq  %xmm1,%xmm0
4306fe:	66 0f 73 d0 08       	psrlq  $0x8,%xmm0
430703:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
430707:	66 0f 12 0d 58 29 44 	movlpd 0x442958,%xmm1
43070e:	00
43070f:	f2 0f 10 df          	movsd  %xmm7,%xmm3
430713:	66 0f 73 d7 26       	psrlq  $0x26,%xmm7
430718:	66 0f c5 c7 00       	pextrw $0x0,%xmm7,%eax
43071d:	66 0f 54 25 00 29 44 	andpd  0x442900,%xmm4
430724:	00
430725:	25 ff 00 00 00       	and    $0xff,%eax
43072a:	83 c0 01             	add    $0x1,%eax
43072d:	25 fe 01 00 00       	and    $0x1fe,%eax
430732:	f2 0f 59 1c 85 60 65 	mulsd  0x446560(,%eax,4),%xmm3
430739:	44 00
43073b:	f2 0f 59 2c 85 60 65 	mulsd  0x446560(,%eax,4),%xmm5
430742:	44 00
430744:	03 c0                	add    %eax,%eax
430746:	66 0f 58 34 85 70 69 	addpd  0x446970(,%eax,4),%xmm6
43074d:	44 00
43074f:	66 0f 56 25 10 29 44 	orpd   0x442910,%xmm4
430756:	00
430757:	f2 0f 58 f0          	addsd  %xmm0,%xmm6
43075b:	66 0f 54 cc          	andpd  %xmm4,%xmm1
43075f:	f2 0f 10 d3          	movsd  %xmm3,%xmm2
430763:	66 0f 73 d3 1f       	psrlq  $0x1f,%xmm3
430768:	66 0f c5 c3 00       	pextrw $0x0,%xmm3,%eax
43076d:	66 0f 12 05 58 29 44 	movlpd 0x442958,%xmm0
430774:	00
430775:	f2 0f 5c e1          	subsd  %xmm1,%xmm4
430779:	66 0f 12 3d 60 29 44 	movlpd 0x442960,%xmm7
430780:	00
430781:	25 ff 01 00 00       	and    $0x1ff,%eax
430786:	83 c0 01             	add    $0x1,%eax
430789:	25 fe 03 00 00       	and    $0x3fe,%eax
43078e:	f2 0f 59 2c 85 80 71 	mulsd  0x447180(,%eax,4),%xmm5
430795:	44 00
430797:	f2 0f 59 14 85 80 71 	mulsd  0x447180(,%eax,4),%xmm2
43079e:	44 00
4307a0:	66 0f 58 34 c5 90 79 	addpd  0x447990(,%eax,8),%xmm6
4307a7:	44 00
4307a9:	66 0f 54 c5          	andpd  %xmm5,%xmm0
4307ad:	f2 0f 5c e8          	subsd  %xmm0,%xmm5
4307b1:	f2 0f 58 fa          	addsd  %xmm2,%xmm7
4307b5:	f2 0f 10 d8          	movsd  %xmm0,%xmm3
4307b9:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
4307bd:	f2 0f 59 cd          	mulsd  %xmm5,%xmm1
4307c1:	f2 0f 59 dc          	mulsd  %xmm4,%xmm3
4307c5:	f2 0f 5c d0          	subsd  %xmm0,%xmm2
4307c9:	f2 0f 59 e5          	mulsd  %xmm5,%xmm4
4307cd:	f2 0f 10 c6          	movsd  %xmm6,%xmm0
4307d1:	f2 0f 5c d1          	subsd  %xmm1,%xmm2
4307d5:	f2 0f 58 f7          	addsd  %xmm7,%xmm6
4307d9:	66 0f 12 4c 24 0c    	movlpd 0xc(%esp),%xmm1
4307df:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
4307e4:	f2 0f 5c d3          	subsd  %xmm3,%xmm2
4307e8:	f2 0f 5c c6          	subsd  %xmm6,%xmm0
4307ec:	66 0f 12 1d 58 29 44 	movlpd 0x442958,%xmm3
4307f3:	00
4307f4:	66 0f c5 d6 03       	pextrw $0x3,%xmm6,%edx
4307f9:	f2 0f 5c d4          	subsd  %xmm4,%xmm2
4307fd:	f2 0f 10 e6          	movsd  %xmm6,%xmm4
430801:	f2 0f 58 c7          	addsd  %xmm7,%xmm0
430805:	f2 0f 5c fa          	subsd  %xmm2,%xmm7
430809:	f2 0f 5c f2          	subsd  %xmm2,%xmm6
43080d:	66 0f 14 ff          	unpcklpd %xmm7,%xmm7
430811:	25 f0 7f 00 00       	and    $0x7ff0,%eax
430816:	3d f0 7f 00 00       	cmp    $0x7ff0,%eax
43081b:	0f 83 17 05 00 00    	jae    0x430d38
430821:	81 e2 f0 7f 00 00    	and    $0x7ff0,%edx
430827:	2d f0 3f 00 00       	sub    $0x3ff0,%eax
43082c:	03 c2                	add    %edx,%eax
43082e:	ba a0 40 00 00       	mov    $0x40a0,%edx
430833:	2b d0                	sub    %eax,%edx
430835:	2d 70 3c 00 00       	sub    $0x3c70,%eax
43083a:	0b d0                	or     %eax,%edx
43083c:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
430842:	0f 83 b2 08 00 00    	jae    0x4310fa
430848:	f2 0f 5c e6          	subsd  %xmm6,%xmm4
43084c:	f2 0f 5c d4          	subsd  %xmm4,%xmm2
430850:	66 0f 12 25 58 29 44 	movlpd 0x442958,%xmm4
430857:	00
430858:	66 0f 54 d9          	andpd  %xmm1,%xmm3
43085c:	66 0f 54 e6          	andpd  %xmm6,%xmm4
430860:	f2 0f 5c c2          	subsd  %xmm2,%xmm0
430864:	66 0f 57 d2          	xorpd  %xmm2,%xmm2
430868:	ba 60 40 00 00       	mov    $0x4060,%edx
43086d:	66 0f c4 d2 03       	pinsrw $0x3,%edx,%xmm2
430872:	f2 0f 10 eb          	movsd  %xmm3,%xmm5
430876:	f2 0f 59 dc          	mulsd  %xmm4,%xmm3
43087a:	f2 0f 5c f4          	subsd  %xmm4,%xmm6
43087e:	f2 0f 5c cd          	subsd  %xmm5,%xmm1
430882:	f2 0f 59 da          	mulsd  %xmm2,%xmm3
430886:	f2 0f 59 ee          	mulsd  %xmm6,%xmm5
43088a:	66 0f 28 15 a0 89 44 	movapd 0x4489a0,%xmm2
430891:	00
430892:	f2 0f 59 e1          	mulsd  %xmm1,%xmm4
430896:	f2 0f 2d c3          	cvtsd2si %xmm3,%eax
43089a:	f2 0f 59 f1          	mulsd  %xmm1,%xmm6
43089e:	66 0f 28 0d b0 89 44 	movapd 0x4489b0,%xmm1
4308a5:	00
4308a6:	f2 0f 58 ec          	addsd  %xmm4,%xmm5
4308aa:	66 0f 70 e6 ee       	pshufd $0xee,%xmm6,%xmm4
4308af:	f2 0f 58 ee          	addsd  %xmm6,%xmm5
4308b3:	ba 7f ff 01 00       	mov    $0x1ff7f,%edx
4308b8:	2b d0                	sub    %eax,%edx
4308ba:	05 ff e1 01 00       	add    $0x1e1ff,%eax
4308bf:	0b d0                	or     %eax,%edx
4308c1:	2d ff e1 01 00       	sub    $0x1e1ff,%eax
4308c6:	83 fa 00             	cmp    $0x0,%edx
4308c9:	0f 8e af 05 00 00    	jle    0x430e7e
4308cf:	03 c8                	add    %eax,%ecx
4308d1:	83 e0 7f             	and    $0x7f,%eax
4308d4:	83 e1 80             	and    $0xffffff80,%ecx
4308d7:	81 c1 80 ff 01 00    	add    $0x1ff80,%ecx
4308dd:	f2 0f 58 e0          	addsd  %xmm0,%xmm4
4308e1:	f2 0f 10 c3          	movsd  %xmm3,%xmm0
4308e5:	f2 0f 58 1d f0 28 44 	addsd  0x4428f0,%xmm3
4308ec:	00
4308ed:	66 0f 59 d7          	mulpd  %xmm7,%xmm2
4308f1:	f2 0f 5c 1d f0 28 44 	subsd  0x4428f0,%xmm3
4308f8:	00
4308f9:	66 0f 59 ff          	mulpd  %xmm7,%xmm7
4308fd:	f2 0f 5c c3          	subsd  %xmm3,%xmm0
430901:	03 c0                	add    %eax,%eax
430903:	03 c0                	add    %eax,%eax
430905:	03 c0                	add    %eax,%eax
430907:	03 c0                	add    %eax,%eax
430909:	66 0f 28 98 c0 89 44 	movapd 0x4489c0(%eax),%xmm3
430910:	00
430911:	66 0f 28 35 30 29 44 	movapd 0x442930,%xmm6
430918:	00
430919:	66 0f 59 cf          	mulpd  %xmm7,%xmm1
43091d:	66 0f 58 d1          	addpd  %xmm1,%xmm2
430921:	66 0f 70 ca ee       	pshufd $0xee,%xmm2,%xmm1
430926:	f2 0f 59 d7          	mulsd  %xmm7,%xmm2
43092a:	66 0f 57 ff          	xorpd  %xmm7,%xmm7
43092e:	ba 80 3f 00 00       	mov    $0x3f80,%edx
430933:	f2 0f 58 d1          	addsd  %xmm1,%xmm2
430937:	66 0f c4 fa 03       	pinsrw $0x3,%edx,%xmm7
43093c:	f2 0f 58 d4          	addsd  %xmm4,%xmm2
430940:	66 0f 12 25 50 29 44 	movlpd 0x442950,%xmm4
430947:	00
430948:	66 0f 6e c9          	movd   %ecx,%xmm1
43094c:	f2 0f 59 54 24 0c    	mulsd  0xc(%esp),%xmm2
430952:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
430956:	66 0f 73 f1 2d       	psllq  $0x2d,%xmm1
43095b:	66 0f 70 c9 44       	pshufd $0x44,%xmm1,%xmm1
430960:	66 0f 28 3d 40 29 44 	movapd 0x442940,%xmm7
430967:	00
430968:	f2 0f 58 ea          	addsd  %xmm2,%xmm5
43096c:	66 0f 59 d9          	mulpd  %xmm1,%xmm3
430970:	f2 0f 58 c5          	addsd  %xmm5,%xmm0
430974:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
430978:	66 0f 59 f0          	mulpd  %xmm0,%xmm6
43097c:	f2 0f 59 e0          	mulsd  %xmm0,%xmm4
430980:	66 0f 59 c0          	mulpd  %xmm0,%xmm0
430984:	66 0f 58 fe          	addpd  %xmm6,%xmm7
430988:	66 0f 59 f8          	mulpd  %xmm0,%xmm7
43098c:	f2 0f 59 c3          	mulsd  %xmm3,%xmm0
430990:	66 0f 70 f7 ee       	pshufd $0xee,%xmm7,%xmm6
430995:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
430999:	66 0f 70 eb ee       	pshufd $0xee,%xmm3,%xmm5
43099e:	f2 0f 59 f3          	mulsd  %xmm3,%xmm6
4309a2:	f2 0f 59 e3          	mulsd  %xmm3,%xmm4
4309a6:	f2 0f 58 c5          	addsd  %xmm5,%xmm0
4309aa:	83 ec 10             	sub    $0x10,%esp
4309ad:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
4309b1:	f2 0f 58 c4          	addsd  %xmm4,%xmm0
4309b5:	f2 0f 58 c3          	addsd  %xmm3,%xmm0
4309b9:	66 0f 13 44 24 04    	movlpd %xmm0,0x4(%esp)
4309bf:	dd 44 24 04          	fldl   0x4(%esp)
4309c3:	83 c4 10             	add    $0x10,%esp
4309c6:	c3                   	ret
4309c7:	66 0f 12 4c 24 0c    	movlpd 0xc(%esp),%xmm1
4309cd:	66 0f 12 1d 20 29 44 	movlpd 0x442920,%xmm3
4309d4:	00
4309d5:	66 0f 7e c8          	movd   %xmm1,%eax
4309d9:	f2 0f 10 d1          	movsd  %xmm1,%xmm2
4309dd:	66 0f 54 cb          	andpd  %xmm3,%xmm1
4309e1:	66 0f 73 d1 20       	psrlq  $0x20,%xmm1
4309e6:	66 0f 7e c9          	movd   %xmm1,%ecx
4309ea:	81 f9 00 00 f0 7f    	cmp    $0x7ff00000,%ecx
4309f0:	0f 83 da 00 00 00    	jae    0x430ad0
4309f6:	0b c1                	or     %ecx,%eax
4309f8:	83 f8 00             	cmp    $0x0,%eax
4309fb:	0f 84 f4 03 00 00    	je     0x430df5
430a01:	83 fa 00             	cmp    $0x0,%edx
430a04:	0f 8d 05 01 00 00    	jge    0x430b0f
430a0a:	f7 da                	neg    %edx
430a0c:	81 c2 ef 7f 00 00    	add    $0x7fef,%edx
430a12:	66 0f 73 f3 34       	psllq  $0x34,%xmm3
430a17:	66 0f 56 d3          	orpd   %xmm3,%xmm2
430a1b:	b9 f3 03 00 00       	mov    $0x3f3,%ecx
430a20:	66 0f 6e d9          	movd   %ecx,%xmm3
430a24:	66 0f 73 d1 14       	psrlq  $0x14,%xmm1
430a29:	66 0f fa cb          	psubd  %xmm3,%xmm1
430a2d:	66 0f ef db          	pxor   %xmm3,%xmm3
430a31:	66 0f ee cb          	pmaxsw %xmm3,%xmm1
430a35:	66 0f f3 d1          	psllq  %xmm1,%xmm2
430a39:	66 0f 76 d3          	pcmpeqd %xmm3,%xmm2
430a3d:	66 0f d7 c2          	pmovmskb %xmm2,%eax
430a41:	8b ca                	mov    %edx,%ecx
430a43:	81 e2 ff 7f 00 00    	and    $0x7fff,%edx
430a49:	81 fa f0 7f 00 00    	cmp    $0x7ff0,%edx
430a4f:	0f 83 a3 01 00 00    	jae    0x430bf8
430a55:	25 ff 00 00 00       	and    $0xff,%eax
430a5a:	3d ff 00 00 00       	cmp    $0xff,%eax
430a5f:	0f 85 8c 02 00 00    	jne    0x430cf1
430a65:	66 0f 12 4c 24 0c    	movlpd 0xc(%esp),%xmm1
430a6b:	66 0f 12 54 24 0c    	movlpd 0xc(%esp),%xmm2
430a71:	b9 f4 03 00 00       	mov    $0x3f4,%ecx
430a76:	66 0f 6e d9          	movd   %ecx,%xmm3
430a7a:	66 0f 54 0d 20 29 44 	andpd  0x442920,%xmm1
430a81:	00
430a82:	66 0f 73 d1 34       	psrlq  $0x34,%xmm1