4374fe:	8b 45 c8             	mov    -0x38(%ebp),%eax
437501:	33 c9                	xor    %ecx,%ecx
437503:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
437509:	66 89 08             	mov    %cx,(%eax)
43750c:	eb 55                	jmp    0x437563
43750e:	3c 2d                	cmp    $0x2d,%al
437510:	8d 75 d0             	lea    -0x30(%ebp),%esi
437513:	0f 94 45 cf          	sete   -0x31(%ebp)
437517:	75 03                	jne    0x43751c
437519:	8d 75 d1             	lea    -0x2f(%ebp),%esi
43751c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
43751f:	50                   	push   %eax
437520:	57                   	push   %edi
437521:	8d 45 bc             	lea    -0x44(%ebp),%eax
437524:	50                   	push   %eax
437525:	56                   	push   %esi
437526:	e8 72 03 ff ff       	call   0x42789d
43752b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
43752e:	8b d0                	mov    %eax,%edx
437530:	83 c4 10             	add    $0x10,%esp
437533:	0f b7 c2             	movzwl %dx,%eax
437536:	bf ff ff 00 00       	mov    $0xffff,%edi
43753b:	66 89 01             	mov    %ax,(%ecx)
43753e:	39 75 bc             	cmp    %esi,-0x44(%ebp)
437541:	74 17                	je     0x43755a
437543:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
437547:	75 11                	jne    0x43755a
437549:	3b d7                	cmp    %edi,%edx
43754b:	77 0d                	ja     0x43755a
43754d:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
437551:	74 10                	je     0x437563
437553:	f7 d8                	neg    %eax
437555:	66 89 01             	mov    %ax,(%ecx)
437558:	eb 09                	jmp    0x437563
43755a:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
437560:	66 89 39             	mov    %di,(%ecx)
437563:	8d 45 14             	lea    0x14(%ebp),%eax
437566:	50                   	push   %eax
437567:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43756a:	e8 d1 38 00 00       	call   0x43ae40
43756f:	84 c0                	test   %al,%al
437571:	74 03                	je     0x437576
437573:	83 0b 01             	orl    $0x1,(%ebx)
437576:	8b 45 b8             	mov    -0x48(%ebp),%eax
437579:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43757c:	89 08                	mov    %ecx,(%eax)
43757e:	8b 4d 10             	mov    0x10(%ebp),%ecx
437581:	89 48 04             	mov    %ecx,0x4(%eax)
437584:	e8 9f 84 00 00       	call   0x43fa28
437589:	c2 20 00             	ret    $0x20
43758c:	55                   	push   %ebp
43758d:	8b ec                	mov    %esp,%ebp
43758f:	83 ec 0c             	sub    $0xc,%esp
437592:	56                   	push   %esi
437593:	8d 45 fc             	lea    -0x4(%ebp),%eax
437596:	50                   	push   %eax
437597:	ff 75 20             	push   0x20(%ebp)
43759a:	8d 45 f4             	lea    -0xc(%ebp),%eax
43759d:	ff 75 1c             	push   0x1c(%ebp)
4375a0:	ff 75 18             	push   0x18(%ebp)
4375a3:	ff 75 14             	push   0x14(%ebp)
4375a6:	ff 75 10             	push   0x10(%ebp)
4375a9:	ff 75 0c             	push   0xc(%ebp)
4375ac:	50                   	push   %eax
4375ad:	e8 e1 00 00 00       	call   0x437693
4375b2:	8b 4d 24             	mov    0x24(%ebp),%ecx
4375b5:	8b 30                	mov    (%eax),%esi
4375b7:	89 75 0c             	mov    %esi,0xc(%ebp)
4375ba:	8b 50 04             	mov    0x4(%eax),%edx
4375bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4375c0:	89 01                	mov    %eax,(%ecx)
4375c2:	8b 45 08             	mov    0x8(%ebp),%eax
4375c5:	89 30                	mov    %esi,(%eax)
4375c7:	89 50 04             	mov    %edx,0x4(%eax)
4375ca:	5e                   	pop    %esi
4375cb:	c9                   	leave
4375cc:	c2 20 00             	ret    $0x20
4375cf:	6a 38                	push   $0x38
4375d1:	b8 1a 24 49 00       	mov    $0x49241a,%eax
4375d6:	e8 a3 84 00 00       	call   0x43fa7e
4375db:	8b f9                	mov    %ecx,%edi
4375dd:	8b 75 1c             	mov    0x1c(%ebp),%esi
4375e0:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4375e3:	8b 45 08             	mov    0x8(%ebp),%eax
4375e6:	8b 5d 20             	mov    0x20(%ebp),%ebx
4375e9:	89 45 bc             	mov    %eax,-0x44(%ebp)
4375ec:	8b 45 24             	mov    0x24(%ebp),%eax
4375ef:	ff 76 30             	push   0x30(%esi)
4375f2:	89 45 cc             	mov    %eax,-0x34(%ebp)
4375f5:	e8 42 18 ff ff       	call   0x428e3c
4375fa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4375fe:	8d 45 c4             	lea    -0x3c(%ebp),%eax
437601:	50                   	push   %eax
437602:	ff 76 14             	push   0x14(%esi)
437605:	8d 45 14             	lea    0x14(%ebp),%eax
437608:	50                   	push   %eax
437609:	8d 45 0c             	lea    0xc(%ebp),%eax
43760c:	50                   	push   %eax
43760d:	8d 45 d0             	lea    -0x30(%ebp),%eax
437610:	50                   	push   %eax
437611:	57                   	push   %edi
437612:	e8 fd b6 ff ff       	call   0x432d14
437617:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43761b:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
43761e:	83 c4 18             	add    $0x18,%esp
437621:	8b f0                	mov    %eax,%esi
437623:	e8 bf 7d fd ff       	call   0x40f3e7
437628:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
43762c:	75 0e                	jne    0x43763c
43762e:	8b 4d cc             	mov    -0x34(%ebp),%ecx
437631:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
437637:	83 21 00             	andl   $0x0,(%ecx)
43763a:	eb 2e                	jmp    0x43766a
43763c:	8d 45 c8             	lea    -0x38(%ebp),%eax
43763f:	50                   	push   %eax
437640:	56                   	push   %esi
437641:	8d 45 c0             	lea    -0x40(%ebp),%eax
437644:	50                   	push   %eax
437645:	8d 45 d0             	lea    -0x30(%ebp),%eax
437648:	50                   	push   %eax
437649:	e8 92 01 ff ff       	call   0x4277e0
43764e:	8b 4d cc             	mov    -0x34(%ebp),%ecx
437651:	83 c4 10             	add    $0x10,%esp
437654:	89 01                	mov    %eax,(%ecx)
437656:	8d 45 d0             	lea    -0x30(%ebp),%eax
437659:	39 45 c0             	cmp    %eax,-0x40(%ebp)
43765c:	74 06                	je     0x437664
43765e:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
437662:	74 06                	je     0x43766a
437664:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
43766a:	8d 45 14             	lea    0x14(%ebp),%eax
43766d:	50                   	push   %eax
43766e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
437671:	e8 ca 37 00 00       	call   0x43ae40
437676:	84 c0                	test   %al,%al
437678:	74 03                	je     0x43767d
43767a:	83 0b 01             	orl    $0x1,(%ebx)
43767d:	8b 45 bc             	mov    -0x44(%ebp),%eax
437680:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437683:	89 08                	mov    %ecx,(%eax)
437685:	8b 4d 10             	mov    0x10(%ebp),%ecx
437688:	89 48 04             	mov    %ecx,0x4(%eax)
43768b:	e8 98 83 00 00       	call   0x43fa28
437690:	c2 20 00             	ret    $0x20
437693:	6a 38                	push   $0x38
437695:	b8 47 24 49 00       	mov    $0x492447,%eax
43769a:	e8 df 83 00 00       	call   0x43fa7e
43769f:	8b f9                	mov    %ecx,%edi
4376a1:	8b 75 1c             	mov    0x1c(%ebp),%esi
4376a4:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4376a7:	8b 45 08             	mov    0x8(%ebp),%eax
4376aa:	8b 5d 20             	mov    0x20(%ebp),%ebx
4376ad:	89 45 bc             	mov    %eax,-0x44(%ebp)
4376b0:	8b 45 24             	mov    0x24(%ebp),%eax
4376b3:	ff 76 30             	push   0x30(%esi)
4376b6:	89 45 cc             	mov    %eax,-0x34(%ebp)
4376b9:	e8 7e 17 ff ff       	call   0x428e3c
4376be:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4376c2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4376c5:	50                   	push   %eax
4376c6:	ff 76 14             	push   0x14(%esi)
4376c9:	8d 45 14             	lea    0x14(%ebp),%eax
4376cc:	50                   	push   %eax
4376cd:	8d 45 0c             	lea    0xc(%ebp),%eax
4376d0:	50                   	push   %eax
4376d1:	8d 45 d0             	lea    -0x30(%ebp),%eax
4376d4:	50                   	push   %eax
4376d5:	57                   	push   %edi
4376d6:	e8 39 b6 ff ff       	call   0x432d14
4376db:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4376df:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4376e2:	83 c4 18             	add    $0x18,%esp
4376e5:	8b f0                	mov    %eax,%esi
4376e7:	e8 fb 7c fd ff       	call   0x40f3e7
4376ec:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
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)