4376f0:	75 0e                	jne    0x437700
4376f2:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4376f5:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
4376fb:	83 21 00             	andl   $0x0,(%ecx)
4376fe:	eb 2e                	jmp    0x43772e
437700:	8d 45 c8             	lea    -0x38(%ebp),%eax
437703:	50                   	push   %eax
437704:	56                   	push   %esi
437705:	8d 45 c0             	lea    -0x40(%ebp),%eax
437708:	50                   	push   %eax
437709:	8d 45 d0             	lea    -0x30(%ebp),%eax
43770c:	50                   	push   %eax
43770d:	e8 8b 01 ff ff       	call   0x42789d
437712:	8b 4d cc             	mov    -0x34(%ebp),%ecx
437715:	83 c4 10             	add    $0x10,%esp
437718:	89 01                	mov    %eax,(%ecx)
43771a:	8d 45 d0             	lea    -0x30(%ebp),%eax
43771d:	39 45 c0             	cmp    %eax,-0x40(%ebp)
437720:	74 06                	je     0x437728
437722:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
437726:	74 06                	je     0x43772e
437728:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
43772e:	8d 45 14             	lea    0x14(%ebp),%eax
437731:	50                   	push   %eax
437732:	8d 4d 0c             	lea    0xc(%ebp),%ecx
437735:	e8 06 37 00 00       	call   0x43ae40
43773a:	84 c0                	test   %al,%al
43773c:	74 03                	je     0x437741
43773e:	83 0b 01             	orl    $0x1,(%ebx)
437741:	8b 45 bc             	mov    -0x44(%ebp),%eax
437744:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437747:	89 08                	mov    %ecx,(%eax)
437749:	8b 4d 10             	mov    0x10(%ebp),%ecx
43774c:	89 48 04             	mov    %ecx,0x4(%eax)
43774f:	e8 d4 82 00 00       	call   0x43fa28
437754:	c2 20 00             	ret    $0x20
437757:	55                   	push   %ebp
437758:	8b ec                	mov    %esp,%ebp
43775a:	81 ec 2c 03 00 00    	sub    $0x32c,%esp
437760:	a1 94 80 4b 00       	mov    0x4b8094,%eax
437765:	33 c5                	xor    %ebp,%eax
437767:	89 45 fc             	mov    %eax,-0x4(%ebp)
43776a:	8b 45 1c             	mov    0x1c(%ebp),%eax
43776d:	8d 95 e0 fc ff ff    	lea    -0x320(%ebp),%edx
437773:	53                   	push   %ebx
437774:	8b 5d 24             	mov    0x24(%ebp),%ebx
437777:	56                   	push   %esi
437778:	8b 75 20             	mov    0x20(%ebp),%esi
43777b:	57                   	push   %edi
43777c:	8b 7d 08             	mov    0x8(%ebp),%edi
43777f:	52                   	push   %edx
437780:	50                   	push   %eax
437781:	8d 45 14             	lea    0x14(%ebp),%eax
437784:	c7 85 e0 fc ff ff 00 	movl   $0x3b9aca00,-0x320(%ebp)
43778b:	ca 9a 3b
43778e:	50                   	push   %eax
43778f:	8d 45 0c             	lea    0xc(%ebp),%eax
437792:	50                   	push   %eax
437793:	8d 85 e4 fc ff ff    	lea    -0x31c(%ebp),%eax
437799:	50                   	push   %eax
43779a:	51                   	push   %ecx
43779b:	e8 8d a4 ff ff       	call   0x431c2d
4377a0:	83 c4 18             	add    $0x18,%esp
4377a3:	80 bd e4 fc ff ff 00 	cmpb   $0x0,-0x31c(%ebp)
4377aa:	74 69                	je     0x437815
4377ac:	8d 8d d4 fc ff ff    	lea    -0x32c(%ebp),%ecx
4377b2:	51                   	push   %ecx
4377b3:	50                   	push   %eax
4377b4:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
4377ba:	50                   	push   %eax
4377bb:	8d 85 e4 fc ff ff    	lea    -0x31c(%ebp),%eax
4377c1:	50                   	push   %eax
4377c2:	e8 1b 56 fe ff       	call   0x41cde2
4377c7:	d9 9d dc fc ff ff    	fstps  -0x324(%ebp)
4377cd:	d9 85 dc fc ff ff    	flds   -0x324(%ebp)
4377d3:	8d 85 e4 fc ff ff    	lea    -0x31c(%ebp),%eax
4377d9:	83 c4 10             	add    $0x10,%esp
4377dc:	d9 13                	fsts   (%ebx)
4377de:	39 85 d8 fc ff ff    	cmp    %eax,-0x328(%ebp)
4377e4:	74 2d                	je     0x437813
4377e6:	83 bd d4 fc ff ff 00 	cmpl   $0x0,-0x32c(%ebp)
4377ed:	75 24                	jne    0x437813
4377ef:	8b 85 e0 fc ff ff    	mov    -0x320(%ebp),%eax
4377f5:	3d 00 ca 9a 3b       	cmp    $0x3b9aca00,%eax
4377fa:	74 23                	je     0x43781f
4377fc:	85 c0                	test   %eax,%eax
4377fe:	74 1f                	je     0x43781f
437800:	c1 e0 02             	shl    $0x2,%eax
437803:	50                   	push   %eax
437804:	51                   	push   %ecx
437805:	d9 1c 24             	fstps  (%esp)
437808:	e8 d1 4d ff ff       	call   0x42c5de
43780d:	59                   	pop    %ecx
43780e:	59                   	pop    %ecx
43780f:	d9 1b                	fstps  (%ebx)
437811:	eb 0e                	jmp    0x437821
437813:	dd d8                	fstp   %st(0)
437815:	d9 ee                	fldz
437817:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
43781d:	eb f0                	jmp    0x43780f
43781f:	dd d8                	fstp   %st(0)
437821:	8d 45 14             	lea    0x14(%ebp),%eax
437824:	50                   	push   %eax
437825:	8d 4d 0c             	lea    0xc(%ebp),%ecx
437828:	e8 13 36 00 00       	call   0x43ae40
43782d:	84 c0                	test   %al,%al
43782f:	74 03                	je     0x437834
437831:	83 0e 01             	orl    $0x1,(%esi)
437834:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437837:	8b c7                	mov    %edi,%eax
437839:	89 0f                	mov    %ecx,(%edi)
43783b:	8b 4d 10             	mov    0x10(%ebp),%ecx
43783e:	89 4f 04             	mov    %ecx,0x4(%edi)
437841:	8b 4d fc             	mov    -0x4(%ebp),%ecx
437844:	5f                   	pop    %edi
437845:	5e                   	pop    %esi
437846:	33 cd                	xor    %ebp,%ecx
437848:	5b                   	pop    %ebx
437849:	e8 b4 81 00 00       	call   0x43fa02
43784e:	c9                   	leave
43784f:	c2 20 00             	ret    $0x20
437852:	55                   	push   %ebp
437853:	8b ec                	mov    %esp,%ebp
437855:	81 ec 28 03 00 00    	sub    $0x328,%esp
43785b:	a1 94 80 4b 00       	mov    0x4b8094,%eax
437860:	33 c5                	xor    %ebp,%eax
437862:	89 45 fc             	mov    %eax,-0x4(%ebp)
437865:	8b 45 1c             	mov    0x1c(%ebp),%eax
437868:	8d 95 e0 fc ff ff    	lea    -0x320(%ebp),%edx
43786e:	53                   	push   %ebx
43786f:	8b 5d 24             	mov    0x24(%ebp),%ebx
437872:	56                   	push   %esi
437873:	8b 75 20             	mov    0x20(%ebp),%esi
437876:	57                   	push   %edi
437877:	8b 7d 08             	mov    0x8(%ebp),%edi
43787a:	52                   	push   %edx
43787b:	50                   	push   %eax
43787c:	8d 45 14             	lea    0x14(%ebp),%eax
43787f:	c7 85 e0 fc ff ff 00 	movl   $0x3b9aca00,-0x320(%ebp)
437886:	ca 9a 3b
437889:	50                   	push   %eax
43788a:	8d 45 0c             	lea    0xc(%ebp),%eax
43788d:	50                   	push   %eax
43788e:	8d 85 e4 fc ff ff    	lea    -0x31c(%ebp),%eax
437894:	50                   	push   %eax
437895:	51                   	push   %ecx
437896:	e8 92 a3 ff ff       	call   0x431c2d
43789b:	83 c4 18             	add    $0x18,%esp
43789e:	80 bd e4 fc ff ff 00 	cmpb   $0x0,-0x31c(%ebp)
4378a5:	74 5f                	je     0x437906
4378a7:	8d 8d d8 fc ff ff    	lea    -0x328(%ebp),%ecx
4378ad:	51                   	push   %ecx
4378ae:	50                   	push   %eax
4378af:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
4378b5:	50                   	push   %eax
4378b6:	8d 85 e4 fc ff ff    	lea    -0x31c(%ebp),%eax
4378bc:	50                   	push   %eax
4378bd:	e8 bd 54 fe ff       	call   0x41cd7f
4378c2:	8d 85 e4 fc ff ff    	lea    -0x31c(%ebp),%eax
4378c8:	83 c4 10             	add    $0x10,%esp
4378cb:	dd 13                	fstl   (%ebx)
4378cd:	39 85 dc fc ff ff    	cmp    %eax,-0x324(%ebp)
4378d3:	74 2f                	je     0x437904
4378d5:	83 bd d8 fc ff ff 00 	cmpl   $0x0,-0x328(%ebp)
4378dc:	75 26                	jne    0x437904
4378de:	8b 85 e0 fc ff ff    	mov    -0x320(%ebp),%eax
4378e4:	3d 00 ca 9a 3b       	cmp    $0x3b9aca00,%eax
4378e9:	74 25                	je     0x437910
4378eb:	85 c0                	test   %eax,%eax
4378ed:	74 21                	je     0x437910
4378ef:	c1 e0 02             	shl    $0x2,%eax
4378f2:	50                   	push   %eax
4378f3:	51                   	push   %ecx
4378f4:	51                   	push   %ecx
4378f5:	dd 1c 24             	fstpl  (%esp)
4378f8:	e8 fc c4 01 00       	call   0x453df9
4378fd:	83 c4 0c             	add    $0xc,%esp
437900:	dd 1b                	fstpl  (%ebx)
437902:	eb 0e                	jmp    0x437912
437904:	dd d8                	fstp   %st(0)
437906:	d9 ee                	fldz
437908:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
43790e:	eb f0                	jmp    0x437900
437910:	dd d8                	fstp   %st(0)
437912:	8d 45 14             	lea    0x14(%ebp),%eax
437915:	50                   	push   %eax
437916:	8d 4d 0c             	lea    0xc(%ebp),%ecx
437919:	e8 22 35 00 00       	call   0x43ae40
43791e:	84 c0                	test   %al,%al
437920:	74 03                	je     0x437925
437922:	83 0e 01             	orl    $0x1,(%esi)
437925:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437928:	8b c7                	mov    %edi,%eax
43792a:	89 0f                	mov    %ecx,(%edi)
43792c:	8b 4d 10             	mov    0x10(%ebp),%ecx
43792f:	89 4f 04             	mov    %ecx,0x4(%edi)
437932:	8b 4d fc             	mov    -0x4(%ebp),%ecx
437935:	5f                   	pop    %edi
437936:	5e                   	pop    %esi
437937:	33 cd                	xor    %ebp,%ecx
437939:	5b                   	pop    %ebx
43793a:	e8 c3 80 00 00       	call   0x43fa02
43793f:	c9                   	leave
437940:	c2 20 00             	ret    $0x20
437943:	55                   	push   %ebp
437944:	8b ec                	mov    %esp,%ebp
437946:	83 ec 10             	sub    $0x10,%esp
437949:	8d 45 f8             	lea    -0x8(%ebp),%eax
43794c:	50                   	push   %eax
43794d:	ff 75 20             	push   0x20(%ebp)
437950:	8d 45 f0             	lea    -0x10(%ebp),%eax
437953:	ff 75 1c             	push   0x1c(%ebp)
437956:	ff 75 18             	push   0x18(%ebp)
437959:	ff 75 14             	push   0x14(%ebp)
43795c:	ff 75 10             	push   0x10(%ebp)
43795f:	ff 75 0c             	push   0xc(%ebp)
437962:	50                   	push   %eax
437963:	e8 ea fe ff ff       	call   0x437852
437968:	dd 45 f8             	fldl   -0x8(%ebp)
43796b:	8b 10                	mov    (%eax),%edx
43796d:	89 55 0c             	mov    %edx,0xc(%ebp)
437970:	8b 48 04             	mov    0x4(%eax),%ecx
437973:	8b 45 24             	mov    0x24(%ebp),%eax
437976:	dd 18                	fstpl  (%eax)
437978:	8b 45 08             	mov    0x8(%ebp),%eax
43797b:	89 10                	mov    %edx,(%eax)
43797d:	89 48 04             	mov    %ecx,0x4(%eax)
437980:	c9                   	leave
437981:	c2 20 00             	ret    $0x20
437984:	6a 34                	push   $0x34
437986:	b8 74 24 49 00       	mov    $0x492474,%eax
43798b:	e8 ee 80 00 00       	call   0x43fa7e
437990:	8b f1                	mov    %ecx,%esi
437992:	8b 45 1c             	mov    0x1c(%ebp),%eax
437995:	8b 4d 24             	mov    0x24(%ebp),%ecx
437998:	8b 5d 08             	mov    0x8(%ebp),%ebx
43799b:	8b 7d 20             	mov    0x20(%ebp),%edi
43799e:	ff 70 30             	push   0x30(%eax)
4379a1:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4379a4:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4379a7:	e8 90 14 ff ff       	call   0x428e3c
4379ac:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4379b0:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4379b3:	50                   	push   %eax
4379b4:	68 00 08 00 00       	push   $0x800
4379b9:	8d 45 14             	lea    0x14(%ebp),%eax
4379bc:	50                   	push   %eax
4379bd:	8d 45 0c             	lea    0xc(%ebp),%eax
4379c0:	50                   	push   %eax
4379c1:	8d 45 d0             	lea    -0x30(%ebp),%eax
4379c4:	50                   	push   %eax
4379c5:	56                   	push   %esi
4379c6:	e8 49 b3 ff ff       	call   0x432d14
4379cb:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4379cf:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4379d2:	83 c4 18             	add    $0x18,%esp
4379d5:	8b f0                	mov    %eax,%esi
4379d7:	e8 0b 7a fd ff       	call   0x40f3e7
4379dc:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
4379e0:	75 0e                	jne    0x4379f0
4379e2:	8b 45 cc             	mov    -0x34(%ebp),%eax
4379e5:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
4379eb:	83 20 00             	andl   $0x0,(%eax)
4379ee:	eb 31                	jmp    0x437a21
4379f0:	8d 45 c8             	lea    -0x38(%ebp),%eax
4379f3:	50                   	push   %eax
4379f4:	56                   	push   %esi
4379f5:	8d 45 c0             	lea    -0x40(%ebp),%eax
4379f8:	50                   	push   %eax
4379f9:	8d 45 d0             	lea    -0x30(%ebp),%eax
4379fc:	50                   	push   %eax
4379fd:	e8 9b fe fe ff       	call   0x42789d
437a02:	8b 4d cc             	mov    -0x34(%ebp),%ecx
437a05:	83 c4 10             	add    $0x10,%esp
437a08:	89 01                	mov    %eax,(%ecx)
437a0a:	8d 45 d0             	lea    -0x30(%ebp),%eax
437a0d:	39 45 c0             	cmp    %eax,-0x40(%ebp)
437a10:	74 06                	je     0x437a18
437a12:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
437a16:	74 09                	je     0x437a21
437a18:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
437a1e:	83 21 00             	andl   $0x0,(%ecx)
437a21:	8d 45 14             	lea    0x14(%ebp),%eax
437a24:	50                   	push   %eax
437a25:	8d 4d 0c             	lea    0xc(%ebp),%ecx
437a28:	e8 13 34 00 00       	call   0x43ae40
437a2d:	84 c0                	test   %al,%al
437a2f:	74 03                	je     0x437a34
437a31:	83 0f 01             	orl    $0x1,(%edi)
437a34:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437a37:	8b c3                	mov    %ebx,%eax
437a39:	89 0b                	mov    %ecx,(%ebx)
437a3b:	8b 4d 10             	mov    0x10(%ebp),%ecx
437a3e:	89 4b 04             	mov    %ecx,0x4(%ebx)
437a41:	e8 e2 7f 00 00       	call   0x43fa28
437a46:	c2 20 00             	ret    $0x20
437a49:	6a 38                	push   $0x38
437a4b:	b8 a1 24 49 00       	mov    $0x4924a1,%eax
437a50:	e8 29 80 00 00       	call   0x43fa7e
437a55:	8b f9                	mov    %ecx,%edi
437a57:	8b 75 1c             	mov    0x1c(%ebp),%esi
437a5a:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
437a5d:	8b 45 08             	mov    0x8(%ebp),%eax
437a60:	8b 5d 20             	mov    0x20(%ebp),%ebx
437a63:	89 45 bc             	mov    %eax,-0x44(%ebp)
437a66:	8b 45 24             	mov    0x24(%ebp),%eax
437a69:	ff 76 30             	push   0x30(%esi)
437a6c:	89 45 cc             	mov    %eax,-0x34(%ebp)
437a6f:	e8 c8 13 ff ff       	call   0x428e3c
437a74:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437a78:	8d 45 c4             	lea    -0x3c(%ebp),%eax
437a7b:	50                   	push   %eax
437a7c:	ff 76 14             	push   0x14(%esi)
437a7f:	8d 45 14             	lea    0x14(%ebp),%eax
437a82:	50                   	push   %eax
437a83:	8d 45 0c             	lea    0xc(%ebp),%eax
437a86:	50                   	push   %eax
437a87:	8d 45 d0             	lea    -0x30(%ebp),%eax
437a8a:	50                   	push   %eax
437a8b:	57                   	push   %edi
437a8c:	e8 83 b2 ff ff       	call   0x432d14
437a91:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
437a95:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
437a98:	83 c4 18             	add    $0x18,%esp
437a9b:	8b f0                	mov    %eax,%esi
437a9d:	e8 45 79 fd ff       	call   0x40f3e7
437aa2:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
437aa6:	75 12                	jne    0x437aba
437aa8:	8b 45 cc             	mov    -0x34(%ebp),%eax
437aab:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
437ab1:	83 20 00             	andl   $0x0,(%eax)
437ab4:	83 60 04 00          	andl   $0x0,0x4(%eax)
437ab8:	eb 31                	jmp    0x437aeb
437aba:	8d 45 c8             	lea    -0x38(%ebp),%eax
437abd:	50                   	push   %eax
437abe:	56                   	push   %esi
437abf:	8d 45 c0             	lea    -0x40(%ebp),%eax
437ac2:	50                   	push   %eax
437ac3:	8d 45 d0             	lea    -0x30(%ebp),%eax
437ac6:	50                   	push   %eax
437ac7:	e8 5c ff fe ff       	call   0x427a28
437acc:	8b 4d cc             	mov    -0x34(%ebp),%ecx
437acf:	83 c4 10             	add    $0x10,%esp
437ad2:	89 01                	mov    %eax,(%ecx)
437ad4:	8d 45 d0             	lea    -0x30(%ebp),%eax
437ad7:	89 51 04             	mov    %edx,0x4(%ecx)
437ada:	39 45 c0             	cmp    %eax,-0x40(%ebp)
437add:	74 06                	je     0x437ae5
437adf:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
437ae3:	74 06                	je     0x437aeb