4316c5:	8b f0                	mov    %eax,%esi
4316c7:	59                   	pop    %ecx
4316c8:	59                   	pop    %ecx
4316c9:	85 f6                	test   %esi,%esi
4316cb:	74 2a                	je     0x4316f7
4316cd:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
4316d3:	56                   	push   %esi
4316d4:	ff 75 14             	push   0x14(%ebp)
4316d7:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
4316dd:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
4316e3:	e8 1f fe ff ff       	call   0x431507
4316e8:	83 c4 14             	add    $0x14,%esp
4316eb:	85 c0                	test   %eax,%eax
4316ed:	74 08                	je     0x4316f7
4316ef:	8b c6                	mov    %esi,%eax
4316f1:	8b f7                	mov    %edi,%esi
4316f3:	89 03                	mov    %eax,(%ebx)
4316f5:	eb 03                	jmp    0x4316fa
4316f7:	83 cf ff             	or     $0xffffffff,%edi
4316fa:	56                   	push   %esi
4316fb:	e8 77 ad ff ff       	call   0x42c477
431700:	59                   	pop    %ecx
431701:	8b c7                	mov    %edi,%eax
431703:	eb 77                	jmp    0x43177c
431705:	83 f8 02             	cmp    $0x2,%eax
431708:	75 3c                	jne    0x431746
43170a:	57                   	push   %edi
43170b:	57                   	push   %edi
43170c:	ff 75 14             	push   0x14(%ebp)
43170f:	56                   	push   %esi
431710:	e8 5b d9 ff ff       	call   0x42f070
431715:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
43171b:	85 c0                	test   %eax,%eax
43171d:	74 5a                	je     0x431779
43171f:	6a 02                	push   $0x2
431721:	50                   	push   %eax
431722:	e8 f3 ac ff ff       	call   0x42c41a
431727:	8b f0                	mov    %eax,%esi
431729:	59                   	pop    %ecx
43172a:	59                   	pop    %ecx
43172b:	85 f6                	test   %esi,%esi
43172d:	74 c8                	je     0x4316f7
43172f:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
431735:	56                   	push   %esi
431736:	ff 75 14             	push   0x14(%ebp)
431739:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
43173f:	e8 2c d9 ff ff       	call   0x42f070
431744:	eb a5                	jmp    0x4316eb
431746:	85 c0                	test   %eax,%eax
431748:	75 2f                	jne    0x431779
43174a:	6a 02                	push   $0x2
43174c:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
431752:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
431758:	50                   	push   %eax
431759:	8b 45 14             	mov    0x14(%ebp),%eax
43175c:	0d 00 00 00 20       	or     $0x20000000,%eax
431761:	50                   	push   %eax
431762:	56                   	push   %esi
431763:	e8 08 d9 ff ff       	call   0x42f070
431768:	85 c0                	test   %eax,%eax
43176a:	74 0d                	je     0x431779
43176c:	8a 85 78 ff ff ff    	mov    -0x88(%ebp),%al
431772:	88 03                	mov    %al,(%ebx)
431774:	e9 0c ff ff ff       	jmp    0x431685
431779:	83 c8 ff             	or     $0xffffffff,%eax
43177c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43177f:	5f                   	pop    %edi
431780:	5e                   	pop    %esi
431781:	33 cd                	xor    %ebp,%ecx
431783:	5b                   	pop    %ebx
431784:	e8 47 a1 fe ff       	call   0x41b8d0
431789:	c9                   	leave
43178a:	c3                   	ret
43178b:	57                   	push   %edi
43178c:	57                   	push   %edi
43178d:	57                   	push   %edi
43178e:	57                   	push   %edi
43178f:	57                   	push   %edi
431790:	e8 07 f3 fe ff       	call   0x420a9c
431795:	cc                   	int3
431796:	8b ff                	mov    %edi,%edi
431798:	55                   	push   %ebp
431799:	8b ec                	mov    %esp,%ebp
43179b:	83 ec 1c             	sub    $0x1c,%esp
43179e:	a1 14 40 45 00       	mov    0x454014,%eax
4317a3:	33 c5                	xor    %ebp,%eax
4317a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4317a8:	53                   	push   %ebx
4317a9:	56                   	push   %esi
4317aa:	57                   	push   %edi
4317ab:	ff 75 08             	push   0x8(%ebp)
4317ae:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4317b1:	e8 3b 36 ff ff       	call   0x424df1
4317b6:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
4317b9:	85 db                	test   %ebx,%ebx
4317bb:	75 06                	jne    0x4317c3
4317bd:	8b 45 e8             	mov    -0x18(%ebp),%eax
4317c0:	8b 58 08             	mov    0x8(%eax),%ebx
4317c3:	33 c0                	xor    %eax,%eax
4317c5:	33 ff                	xor    %edi,%edi
4317c7:	39 45 20             	cmp    %eax,0x20(%ebp)
4317ca:	57                   	push   %edi
4317cb:	57                   	push   %edi
4317cc:	ff 75 14             	push   0x14(%ebp)
4317cf:	0f 95 c0             	setne  %al
4317d2:	ff 75 10             	push   0x10(%ebp)
4317d5:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
4317dc:	50                   	push   %eax
4317dd:	53                   	push   %ebx
4317de:	e8 dd 17 00 00       	call   0x432fc0
4317e3:	83 c4 18             	add    $0x18,%esp
4317e6:	89 45 f4             	mov    %eax,-0xc(%ebp)
4317e9:	85 c0                	test   %eax,%eax
4317eb:	0f 84 82 00 00 00    	je     0x431873
4317f1:	03 c0                	add    %eax,%eax
4317f3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4317f6:	8d 48 08             	lea    0x8(%eax),%ecx
4317f9:	3b c1                	cmp    %ecx,%eax
4317fb:	1b c0                	sbb    %eax,%eax
4317fd:	23 c1                	and    %ecx,%eax
4317ff:	74 69                	je     0x43186a
431801:	3d 00 04 00 00       	cmp    $0x400,%eax
431806:	77 13                	ja     0x43181b
431808:	e8 23 ad fe ff       	call   0x41c530
43180d:	8b f4                	mov    %esp,%esi
43180f:	85 f6                	test   %esi,%esi
431811:	74 59                	je     0x43186c
431813:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
431819:	eb 13                	jmp    0x43182e
43181b:	50                   	push   %eax
43181c:	e8 90 ac ff ff       	call   0x42c4b1
431821:	8b f0                	mov    %eax,%esi
431823:	59                   	pop    %ecx
431824:	85 f6                	test   %esi,%esi
431826:	74 44                	je     0x43186c
431828:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
43182e:	83 c6 08             	add    $0x8,%esi
431831:	85 f6                	test   %esi,%esi
431833:	74 37                	je     0x43186c
431835:	ff 75 f8             	push   -0x8(%ebp)
431838:	57                   	push   %edi
431839:	56                   	push   %esi
43183a:	e8 a1 c1 fe ff       	call   0x41d9e0
43183f:	ff 75 f4             	push   -0xc(%ebp)
431842:	56                   	push   %esi
431843:	ff 75 14             	push   0x14(%ebp)
431846:	ff 75 10             	push   0x10(%ebp)
431849:	6a 01                	push   $0x1
43184b:	53                   	push   %ebx
43184c:	e8 6f 17 00 00       	call   0x432fc0
431851:	83 c4 24             	add    $0x24,%esp
431854:	85 c0                	test   %eax,%eax
431856:	74 14                	je     0x43186c
431858:	ff 75 18             	push   0x18(%ebp)
43185b:	50                   	push   %eax
43185c:	56                   	push   %esi
43185d:	ff 75 0c             	push   0xc(%ebp)
431860:	ff 15 28 f1 43 00    	call   *0x43f128
431866:	8b f8                	mov    %eax,%edi
431868:	eb 02                	jmp    0x43186c
43186a:	8b f7                	mov    %edi,%esi
43186c:	56                   	push   %esi
43186d:	e8 40 a0 fe ff       	call   0x41b8b2
431872:	59                   	pop    %ecx
431873:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
431877:	74 0a                	je     0x431883
431879:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43187c:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
431883:	8b c7                	mov    %edi,%eax
431885:	8d 65 d8             	lea    -0x28(%ebp),%esp
431888:	5f                   	pop    %edi
431889:	5e                   	pop    %esi
43188a:	5b                   	pop    %ebx
43188b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43188e:	33 cd                	xor    %ebp,%ecx
431890:	e8 3b a0 fe ff       	call   0x41b8d0
431895:	c9                   	leave
431896:	c3                   	ret
431897:	8b ff                	mov    %edi,%edi
431899:	55                   	push   %ebp
43189a:	8b ec                	mov    %esp,%ebp
43189c:	57                   	push   %edi
43189d:	8b 7d 08             	mov    0x8(%ebp),%edi
4318a0:	85 ff                	test   %edi,%edi
4318a2:	75 0b                	jne    0x4318af
4318a4:	ff 75 0c             	push   0xc(%ebp)
4318a7:	e8 05 ac ff ff       	call   0x42c4b1
4318ac:	59                   	pop    %ecx
4318ad:	eb 24                	jmp    0x4318d3
4318af:	56                   	push   %esi
4318b0:	8b 75 0c             	mov    0xc(%ebp),%esi
4318b3:	85 f6                	test   %esi,%esi
4318b5:	75 09                	jne    0x4318c0
4318b7:	57                   	push   %edi
4318b8:	e8 ba ab ff ff       	call   0x42c477
4318bd:	59                   	pop    %ecx
4318be:	eb 10                	jmp    0x4318d0
4318c0:	83 fe e0             	cmp    $0xffffffe0,%esi
4318c3:	76 25                	jbe    0x4318ea
4318c5:	e8 76 4d ff ff       	call   0x426640
4318ca:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4318d0:	33 c0                	xor    %eax,%eax
4318d2:	5e                   	pop    %esi
4318d3:	5f                   	pop    %edi
4318d4:	5d                   	pop    %ebp
4318d5:	c3                   	ret
4318d6:	e8 a6 9e ff ff       	call   0x42b781
4318db:	85 c0                	test   %eax,%eax
4318dd:	74 e6                	je     0x4318c5
4318df:	56                   	push   %esi
4318e0:	e8 f0 79 ff ff       	call   0x4292d5
4318e5:	59                   	pop    %ecx
4318e6:	85 c0                	test   %eax,%eax
4318e8:	74 db                	je     0x4318c5
4318ea:	56                   	push   %esi
4318eb:	57                   	push   %edi
4318ec:	6a 00                	push   $0x0
4318ee:	ff 35 3c 61 45 00    	push   0x45613c
4318f4:	ff 15 14 f1 43 00    	call   *0x43f114
4318fa:	85 c0                	test   %eax,%eax
4318fc:	74 d8                	je     0x4318d6
4318fe:	eb d2                	jmp    0x4318d2
431900:	6a 0a                	push   $0xa
431902:	ff 15 48 f1 43 00    	call   *0x43f148
431908:	a3 6c 62 45 00       	mov    %eax,0x45626c
43190d:	33 c0                	xor    %eax,%eax
43190f:	c3                   	ret
431910:	55                   	push   %ebp
431911:	8b ec                	mov    %esp,%ebp
431913:	83 ec 10             	sub    $0x10,%esp
431916:	83 e4 f0             	and    $0xfffffff0,%esp
431919:	d9 c9                	fxch   %st(1)
43191b:	dd 1c 24             	fstpl  (%esp)
43191e:	dd 5c 24 08          	fstpl  0x8(%esp)
431922:	e8 02 00 00 00       	call   0x431929
431927:	c9                   	leave
431928:	c3                   	ret
431929:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
43192f:	66 0f 12 3d 60 38 44 	movlpd 0x443860,%xmm7
431936:	00
431937:	66 0f 12 15 70 38 44 	movlpd 0x443870,%xmm2
43193e:	00
43193f:	66 0f 54 f8          	andpd  %xmm0,%xmm7
431943:	f2 0f 10 e0          	movsd  %xmm0,%xmm4
431947:	66 0f 73 d0 2c       	psrlq  $0x2c,%xmm0
43194c:	66 0f c5 c0 00       	pextrw $0x0,%xmm0,%eax
431951:	66 0f 56 fa          	orpd   %xmm2,%xmm7
431955:	66 0f c5 cc 03       	pextrw $0x3,%xmm4,%ecx
43195a:	25 ff 00 00 00       	and    $0xff,%eax
43195f:	83 c0 01             	add    $0x1,%eax
431962:	25 fe 01 00 00       	and    $0x1fe,%eax
431967:	f2 0f 59 3c 85 a8 68 	mulsd  0x4468a8(,%eax,4),%xmm7
43196e:	44 00
431970:	66 0f 12 2c 85 a8 68 	movlpd 0x4468a8(,%eax,4),%xmm5
431977:	44 00
431979:	03 c0                	add    %eax,%eax
43197b:	66 0f 28 34 85 c0 6c 	movapd 0x446cc0(,%eax,4),%xmm6
431982:	44 00
431984:	ba ef 7f 00 00       	mov    $0x7fef,%edx
431989:	2b d1                	sub    %ecx,%edx
43198b:	83 e9 10             	sub    $0x10,%ecx
43198e:	0b ca                	or     %edx,%ecx
431990:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
431996:	0f 83 db 02 00 00    	jae    0x431c77
43199c:	b9 00 00 00 00       	mov    $0x0,%ecx
4319a1:	ba 7f fe 03 00       	mov    $0x3fe7f,%edx
4319a6:	66 0f 6e ca          	movd   %edx,%xmm1
4319aa:	66 0f fb c1          	psubq  %xmm1,%xmm0
4319ae:	66 0f 73 d0 08       	psrlq  $0x8,%xmm0
4319b3:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4319b7:	66 0f 12 0d b8 38 44 	movlpd 0x4438b8,%xmm1
4319be:	00
4319bf:	f2 0f 10 df          	movsd  %xmm7,%xmm3
4319c3:	66 0f 73 d7 26       	psrlq  $0x26,%xmm7
4319c8:	66 0f c5 c7 00       	pextrw $0x0,%xmm7,%eax
4319cd:	66 0f 54 25 60 38 44 	andpd  0x443860,%xmm4
4319d4:	00
4319d5:	25 ff 00 00 00       	and    $0xff,%eax
4319da:	83 c0 01             	add    $0x1,%eax
4319dd:	25 fe 01 00 00       	and    $0x1fe,%eax
4319e2:	f2 0f 59 1c 85 d0 74 	mulsd  0x4474d0(,%eax,4),%xmm3
4319e9:	44 00
4319eb:	f2 0f 59 2c 85 d0 74 	mulsd  0x4474d0(,%eax,4),%xmm5
4319f2:	44 00
4319f4:	03 c0                	add    %eax,%eax
4319f6:	66 0f 58 34 85 e0 78 	addpd  0x4478e0(,%eax,4),%xmm6
4319fd:	44 00
4319ff:	66 0f 56 25 70 38 44 	orpd   0x443870,%xmm4
431a06:	00
431a07:	f2 0f 58 f0          	addsd  %xmm0,%xmm6
431a0b:	66 0f 54 cc          	andpd  %xmm4,%xmm1
431a0f:	f2 0f 10 d3          	movsd  %xmm3,%xmm2
431a13:	66 0f 73 d3 1f       	psrlq  $0x1f,%xmm3
431a18:	66 0f c5 c3 00       	pextrw $0x0,%xmm3,%eax
431a1d:	66 0f 12 05 b8 38 44 	movlpd 0x4438b8,%xmm0
431a24:	00
431a25:	f2 0f 5c e1          	subsd  %xmm1,%xmm4
431a29:	66 0f 12 3d c0 38 44 	movlpd 0x4438c0,%xmm7
431a30:	00
431a31:	25 ff 01 00 00       	and    $0x1ff,%eax
431a36:	83 c0 01             	add    $0x1,%eax
431a39:	25 fe 03 00 00       	and    $0x3fe,%eax
431a3e:	f2 0f 59 2c 85 f0 80 	mulsd  0x4480f0(,%eax,4),%xmm5
431a45:	44 00
431a47:	f2 0f 59 14 85 f0 80 	mulsd  0x4480f0(,%eax,4),%xmm2
431a4e:	44 00
431a50:	66 0f 58 34 c5 00 89 	addpd  0x448900(,%eax,8),%xmm6
431a57:	44 00
431a59:	66 0f 54 c5          	andpd  %xmm5,%xmm0
431a5d:	f2 0f 5c e8          	subsd  %xmm0,%xmm5
431a61:	f2 0f 58 fa          	addsd  %xmm2,%xmm7
431a65:	f2 0f 10 d8          	movsd  %xmm0,%xmm3
431a69:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
431a6d:	f2 0f 59 cd          	mulsd  %xmm5,%xmm1
431a71:	f2 0f 59 dc          	mulsd  %xmm4,%xmm3
431a75:	f2 0f 5c d0          	subsd  %xmm0,%xmm2
431a79:	f2 0f 59 e5          	mulsd  %xmm5,%xmm4
431a7d:	f2 0f 10 c6          	movsd  %xmm6,%xmm0
431a81:	f2 0f 5c d1          	subsd  %xmm1,%xmm2
431a85:	f2 0f 58 f7          	addsd  %xmm7,%xmm6
431a89:	66 0f 12 4c 24 0c    	movlpd 0xc(%esp),%xmm1
431a8f:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
431a94:	f2 0f 5c d3          	subsd  %xmm3,%xmm2
431a98:	f2 0f 5c c6          	subsd  %xmm6,%xmm0
431a9c:	66 0f 12 1d b8 38 44 	movlpd 0x4438b8,%xmm3
431aa3:	00
431aa4:	66 0f c5 d6 03       	pextrw $0x3,%xmm6,%edx
431aa9:	f2 0f 5c d4          	subsd  %xmm4,%xmm2
431aad:	f2 0f 10 e6          	movsd  %xmm6,%xmm4
431ab1:	f2 0f 58 c7          	addsd  %xmm7,%xmm0
431ab5:	f2 0f 5c fa          	subsd  %xmm2,%xmm7
431ab9:	f2 0f 5c f2          	subsd  %xmm2,%xmm6
431abd:	66 0f 14 ff          	unpcklpd %xmm7,%xmm7
431ac1:	25 f0 7f 00 00       	and    $0x7ff0,%eax
431ac6:	3d f0 7f 00 00       	cmp    $0x7ff0,%eax
431acb:	0f 83 17 05 00 00    	jae    0x431fe8
431ad1:	81 e2 f0 7f 00 00    	and    $0x7ff0,%edx
431ad7:	2d f0 3f 00 00       	sub    $0x3ff0,%eax
431adc:	03 c2                	add    %edx,%eax
431ade:	ba a0 40 00 00       	mov    $0x40a0,%edx
431ae3:	2b d0                	sub    %eax,%edx
431ae5:	2d 70 3c 00 00       	sub    $0x3c70,%eax
431aea:	0b d0                	or     %eax,%edx
431aec:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
431af2:	0f 83 b2 08 00 00    	jae    0x4323aa
431af8:	f2 0f 5c e6          	subsd  %xmm6,%xmm4
431afc:	f2 0f 5c d4          	subsd  %xmm4,%xmm2
431b00:	66 0f 12 25 b8 38 44 	movlpd 0x4438b8,%xmm4
431b07:	00
431b08:	66 0f 54 d9          	andpd  %xmm1,%xmm3