43a3bc:	50                   	push   %eax
43a3bd:	ff 75 18             	push   0x18(%ebp)
43a3c0:	56                   	push   %esi
43a3c1:	ff 75 10             	push   0x10(%ebp)
43a3c4:	ff 75 0c             	push   0xc(%ebp)
43a3c7:	53                   	push   %ebx
43a3c8:	57                   	push   %edi
43a3c9:	e8 67 ad ff ff       	call   0x435135
43a3ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a3d1:	83 c4 30             	add    $0x30,%esp
43a3d4:	8b c3                	mov    %ebx,%eax
43a3d6:	33 cd                	xor    %ebp,%ecx
43a3d8:	5f                   	pop    %edi
43a3d9:	5e                   	pop    %esi
43a3da:	5b                   	pop    %ebx
43a3db:	e8 22 56 00 00       	call   0x43fa02
43a3e0:	c9                   	leave
43a3e1:	c2 18 00             	ret    $0x18
43a3e4:	6a 34                	push   $0x34
43a3e6:	b8 c3 27 49 00       	mov    $0x4927c3,%eax
43a3eb:	e8 8e 56 00 00       	call   0x43fa7e
43a3f0:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
43a3f3:	8b 45 08             	mov    0x8(%ebp),%eax
43a3f6:	8b 75 14             	mov    0x14(%ebp),%esi
43a3f9:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
43a3fd:	89 45 c0             	mov    %eax,-0x40(%ebp)
43a400:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
43a407:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
43a40b:	8b 46 14             	mov    0x14(%esi),%eax
43a40e:	ba 00 20 00 00       	mov    $0x2000,%edx
43a413:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43a417:	25 00 30 00 00       	and    $0x3000,%eax
43a41c:	8b 4e 1c             	mov    0x1c(%esi),%ecx
43a41f:	8b 7e 18             	mov    0x18(%esi),%edi
43a422:	85 c9                	test   %ecx,%ecx
43a424:	7f 0f                	jg     0x43a435
43a426:	7c 04                	jl     0x43a42c
43a428:	85 ff                	test   %edi,%edi
43a42a:	75 09                	jne    0x43a435
43a42c:	3b c2                	cmp    %edx,%eax
43a42e:	74 05                	je     0x43a435
43a430:	6a 06                	push   $0x6
43a432:	5f                   	pop    %edi
43a433:	33 c9                	xor    %ecx,%ecx
43a435:	dd 45 1c             	fldl   0x1c(%ebp)
43a438:	8b df                	mov    %edi,%ebx
43a43a:	89 4d cc             	mov    %ecx,-0x34(%ebp)
43a43d:	3b c2                	cmp    %edx,%eax
43a43f:	75 3a                	jne    0x43a47b
43a441:	d9 c0                	fld    %st(0)
43a443:	d9 e1                	fabs
43a445:	dc 1d e0 7e 49 00    	fcompl 0x497ee0
43a44b:	df e0                	fnstsw %ax
43a44d:	f6 c4 41             	test   $0x41,%ah
43a450:	75 29                	jne    0x43a47b
43a452:	8d 45 cc             	lea    -0x34(%ebp),%eax
43a455:	50                   	push   %eax
43a456:	51                   	push   %ecx
43a457:	51                   	push   %ecx
43a458:	dd 1c 24             	fstpl  (%esp)
43a45b:	e8 56 f4 02 00       	call   0x4698b6
43a460:	8b 45 cc             	mov    -0x34(%ebp),%eax
43a463:	b9 a0 86 01 00       	mov    $0x186a0,%ecx
43a468:	99                   	cltd
43a469:	83 c4 0c             	add    $0xc,%esp
43a46c:	33 c2                	xor    %edx,%eax
43a46e:	2b c2                	sub    %edx,%eax
43a470:	69 c0 97 75 00 00    	imul   $0x7597,%eax,%eax
43a476:	99                   	cltd
43a477:	f7 f9                	idiv   %ecx
43a479:	03 d8                	add    %eax,%ebx
43a47b:	6a 00                	push   $0x0
43a47d:	8d 43 32             	lea    0x32(%ebx),%eax
43a480:	dd d8                	fstp   %st(0)
43a482:	50                   	push   %eax
43a483:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a486:	e8 f8 83 fe ff       	call   0x422883
43a48b:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
43a48f:	8d 5d d0             	lea    -0x30(%ebp),%ebx
43a492:	8b 45 e0             	mov    -0x20(%ebp),%eax
43a495:	89 45 cc             	mov    %eax,-0x34(%ebp)
43a498:	72 03                	jb     0x43a49d
43a49a:	8b 5d d0             	mov    -0x30(%ebp),%ebx
43a49d:	dd 45 1c             	fldl   0x1c(%ebp)
43a4a0:	8d 45 e8             	lea    -0x18(%ebp),%eax
43a4a3:	51                   	push   %ecx
43a4a4:	51                   	push   %ecx
43a4a5:	dd 1c 24             	fstpl  (%esp)
43a4a8:	57                   	push   %edi
43a4a9:	ff 76 14             	push   0x14(%esi)
43a4ac:	8b 7d c4             	mov    -0x3c(%ebp),%edi
43a4af:	6a 00                	push   $0x0
43a4b1:	50                   	push   %eax
43a4b2:	57                   	push   %edi
43a4b3:	e8 ac 66 ff ff       	call   0x430b64
43a4b8:	83 c4 10             	add    $0x10,%esp
43a4bb:	50                   	push   %eax
43a4bc:	ff 75 cc             	push   -0x34(%ebp)
43a4bf:	53                   	push   %ebx
43a4c0:	e8 4f 21 ff ff       	call   0x42c614
43a4c5:	83 c4 18             	add    $0x18,%esp
43a4c8:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a4cb:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
43a4cf:	72 03                	jb     0x43a4d4
43a4d1:	8b 4d d0             	mov    -0x30(%ebp),%ecx
43a4d4:	50                   	push   %eax
43a4d5:	51                   	push   %ecx
43a4d6:	ff 75 18             	push   0x18(%ebp)
43a4d9:	56                   	push   %esi
43a4da:	ff 75 10             	push   0x10(%ebp)
43a4dd:	8b 75 c0             	mov    -0x40(%ebp),%esi
43a4e0:	ff 75 0c             	push   0xc(%ebp)
43a4e3:	56                   	push   %esi
43a4e4:	57                   	push   %edi
43a4e5:	e8 1d 6a ff ff       	call   0x430f07
43a4ea:	83 c4 20             	add    $0x20,%esp
43a4ed:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a4f0:	e8 df 2d fe ff       	call   0x41d2d4
43a4f5:	8b c6                	mov    %esi,%eax
43a4f7:	e8 2c 55 00 00       	call   0x43fa28
43a4fc:	c2 1c 00             	ret    $0x1c
43a4ff:	6a 34                	push   $0x34
43a501:	b8 f0 27 49 00       	mov    $0x4927f0,%eax
43a506:	e8 73 55 00 00       	call   0x43fa7e
43a50b:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
43a50e:	8b 45 08             	mov    0x8(%ebp),%eax
43a511:	8b 75 14             	mov    0x14(%ebp),%esi
43a514:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
43a518:	89 45 c0             	mov    %eax,-0x40(%ebp)
43a51b:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
43a522:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
43a526:	8b 46 14             	mov    0x14(%esi),%eax
43a529:	ba 00 20 00 00       	mov    $0x2000,%edx
43a52e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43a532:	25 00 30 00 00       	and    $0x3000,%eax
43a537:	8b 4e 1c             	mov    0x1c(%esi),%ecx
43a53a:	8b 7e 18             	mov    0x18(%esi),%edi
43a53d:	85 c9                	test   %ecx,%ecx
43a53f:	7f 0f                	jg     0x43a550
43a541:	7c 04                	jl     0x43a547
43a543:	85 ff                	test   %edi,%edi
43a545:	75 09                	jne    0x43a550
43a547:	3b c2                	cmp    %edx,%eax
43a549:	74 05                	je     0x43a550
43a54b:	6a 06                	push   $0x6
43a54d:	5f                   	pop    %edi
43a54e:	33 c9                	xor    %ecx,%ecx
43a550:	dd 45 1c             	fldl   0x1c(%ebp)
43a553:	8b df                	mov    %edi,%ebx
43a555:	89 4d cc             	mov    %ecx,-0x34(%ebp)
43a558:	3b c2                	cmp    %edx,%eax
43a55a:	75 3a                	jne    0x43a596
43a55c:	d9 c0                	fld    %st(0)
43a55e:	d9 e1                	fabs
43a560:	dc 1d e0 7e 49 00    	fcompl 0x497ee0
43a566:	df e0                	fnstsw %ax
43a568:	f6 c4 41             	test   $0x41,%ah
43a56b:	75 29                	jne    0x43a596
43a56d:	8d 45 cc             	lea    -0x34(%ebp),%eax
43a570:	50                   	push   %eax
43a571:	51                   	push   %ecx
43a572:	51                   	push   %ecx
43a573:	dd 1c 24             	fstpl  (%esp)
43a576:	e8 3b f3 02 00       	call   0x4698b6
43a57b:	8b 45 cc             	mov    -0x34(%ebp),%eax
43a57e:	b9 a0 86 01 00       	mov    $0x186a0,%ecx
43a583:	99                   	cltd
43a584:	83 c4 0c             	add    $0xc,%esp
43a587:	33 c2                	xor    %edx,%eax
43a589:	2b c2                	sub    %edx,%eax
43a58b:	69 c0 97 75 00 00    	imul   $0x7597,%eax,%eax
43a591:	99                   	cltd
43a592:	f7 f9                	idiv   %ecx
43a594:	03 d8                	add    %eax,%ebx
43a596:	6a 00                	push   $0x0
43a598:	8d 43 32             	lea    0x32(%ebx),%eax
43a59b:	dd d8                	fstp   %st(0)
43a59d:	50                   	push   %eax
43a59e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a5a1:	e8 dd 82 fe ff       	call   0x422883
43a5a6:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
43a5aa:	8d 5d d0             	lea    -0x30(%ebp),%ebx
43a5ad:	8b 45 e0             	mov    -0x20(%ebp),%eax
43a5b0:	89 45 cc             	mov    %eax,-0x34(%ebp)
43a5b3:	72 03                	jb     0x43a5b8
43a5b5:	8b 5d d0             	mov    -0x30(%ebp),%ebx
43a5b8:	dd 45 1c             	fldl   0x1c(%ebp)
43a5bb:	8d 45 e8             	lea    -0x18(%ebp),%eax
43a5be:	51                   	push   %ecx
43a5bf:	51                   	push   %ecx
43a5c0:	dd 1c 24             	fstpl  (%esp)
43a5c3:	57                   	push   %edi
43a5c4:	ff 76 14             	push   0x14(%esi)
43a5c7:	8b 7d c4             	mov    -0x3c(%ebp),%edi
43a5ca:	6a 4c                	push   $0x4c
43a5cc:	50                   	push   %eax
43a5cd:	57                   	push   %edi
43a5ce:	e8 91 65 ff ff       	call   0x430b64
43a5d3:	83 c4 10             	add    $0x10,%esp
43a5d6:	50                   	push   %eax
43a5d7:	ff 75 cc             	push   -0x34(%ebp)
43a5da:	53                   	push   %ebx
43a5db:	e8 34 20 ff ff       	call   0x42c614
43a5e0:	83 c4 18             	add    $0x18,%esp
43a5e3:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a5e6:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
43a5ea:	72 03                	jb     0x43a5ef
43a5ec:	8b 4d d0             	mov    -0x30(%ebp),%ecx
43a5ef:	50                   	push   %eax
43a5f0:	51                   	push   %ecx
43a5f1:	ff 75 18             	push   0x18(%ebp)
43a5f4:	56                   	push   %esi
43a5f5:	ff 75 10             	push   0x10(%ebp)
43a5f8:	8b 75 c0             	mov    -0x40(%ebp),%esi
43a5fb:	ff 75 0c             	push   0xc(%ebp)
43a5fe:	56                   	push   %esi
43a5ff:	57                   	push   %edi
43a600:	e8 02 69 ff ff       	call   0x430f07
43a605:	83 c4 20             	add    $0x20,%esp
43a608:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a60b:	e8 c4 2c fe ff       	call   0x41d2d4
43a610:	8b c6                	mov    %esi,%eax
43a612:	e8 11 54 00 00       	call   0x43fa28
43a617:	c2 1c 00             	ret    $0x1c
43a61a:	55                   	push   %ebp
43a61b:	8b ec                	mov    %esp,%ebp
43a61d:	83 ec 44             	sub    $0x44,%esp
43a620:	a1 94 80 4b 00       	mov    0x4b8094,%eax
43a625:	33 c5                	xor    %ebp,%eax
43a627:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a62a:	8b 45 1c             	mov    0x1c(%ebp),%eax
43a62d:	53                   	push   %ebx
43a62e:	8b 5d 08             	mov    0x8(%ebp),%ebx
43a631:	56                   	push   %esi
43a632:	8b 75 14             	mov    0x14(%ebp),%esi
43a635:	57                   	push   %edi
43a636:	50                   	push   %eax
43a637:	68 68 7e 49 00       	push   $0x497e68
43a63c:	8d 45 bc             	lea    -0x44(%ebp),%eax
43a63f:	8b f9                	mov    %ecx,%edi
43a641:	6a 40                	push   $0x40
43a643:	50                   	push   %eax
43a644:	e8 cb 1f ff ff       	call   0x42c614
43a649:	50                   	push   %eax
43a64a:	8d 45 bc             	lea    -0x44(%ebp),%eax
43a64d:	50                   	push   %eax
43a64e:	ff 75 18             	push   0x18(%ebp)
43a651:	56                   	push   %esi
43a652:	ff 75 10             	push   0x10(%ebp)
43a655:	ff 75 0c             	push   0xc(%ebp)
43a658:	53                   	push   %ebx
43a659:	57                   	push   %edi
43a65a:	e8 d6 aa ff ff       	call   0x435135
43a65f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a662:	83 c4 30             	add    $0x30,%esp
43a665:	8b c3                	mov    %ebx,%eax
43a667:	33 cd                	xor    %ebp,%ecx
43a669:	5f                   	pop    %edi
43a66a:	5e                   	pop    %esi
43a66b:	5b                   	pop    %ebx
43a66c:	e8 91 53 00 00       	call   0x43fa02
43a671:	c9                   	leave
43a672:	c2 18 00             	ret    $0x18
43a675:	55                   	push   %ebp
43a676:	8b ec                	mov    %esp,%ebp
43a678:	83 ec 4c             	sub    $0x4c,%esp
43a67b:	a1 94 80 4b 00       	mov    0x4b8094,%eax
43a680:	33 c5                	xor    %ebp,%eax
43a682:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a685:	53                   	push   %ebx
43a686:	8b 5d 08             	mov    0x8(%ebp),%ebx
43a689:	8d 45 f4             	lea    -0xc(%ebp),%eax
43a68c:	56                   	push   %esi
43a68d:	8b 75 14             	mov    0x14(%ebp),%esi
43a690:	57                   	push   %edi
43a691:	ff 75 20             	push   0x20(%ebp)
43a694:	8b f9                	mov    %ecx,%edi
43a696:	ff 75 1c             	push   0x1c(%ebp)
43a699:	ff 76 14             	push   0x14(%esi)
43a69c:	68 70 7e 49 00       	push   $0x497e70
43a6a1:	50                   	push   %eax
43a6a2:	57                   	push   %edi
43a6a3:	e8 24 a3 ff ff       	call   0x4349cc
43a6a8:	83 c4 10             	add    $0x10,%esp
43a6ab:	50                   	push   %eax
43a6ac:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a6af:	6a 40                	push   $0x40
43a6b1:	50                   	push   %eax
43a6b2:	e8 5d 1f ff ff       	call   0x42c614
43a6b7:	50                   	push   %eax
43a6b8:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a6bb:	50                   	push   %eax
43a6bc:	ff 75 18             	push   0x18(%ebp)
43a6bf:	56                   	push   %esi
43a6c0:	ff 75 10             	push   0x10(%ebp)
43a6c3:	ff 75 0c             	push   0xc(%ebp)
43a6c6:	53                   	push   %ebx
43a6c7:	57                   	push   %edi
43a6c8:	e8 68 aa ff ff       	call   0x435135
43a6cd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a6d0:	83 c4 34             	add    $0x34,%esp
43a6d3:	8b c3                	mov    %ebx,%eax
43a6d5:	33 cd                	xor    %ebp,%ecx
43a6d7:	5f                   	pop    %edi
43a6d8:	5e                   	pop    %esi
43a6d9:	5b                   	pop    %ebx
43a6da:	e8 23 53 00 00       	call   0x43fa02
43a6df:	c9                   	leave
43a6e0:	c2 1c 00             	ret    $0x1c
43a6e3:	55                   	push   %ebp
43a6e4:	8b ec                	mov    %esp,%ebp
43a6e6:	83 ec 4c             	sub    $0x4c,%esp
43a6e9:	a1 94 80 4b 00       	mov    0x4b8094,%eax
43a6ee:	33 c5                	xor    %ebp,%eax
43a6f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a6f3:	53                   	push   %ebx
43a6f4:	8b 5d 08             	mov    0x8(%ebp),%ebx
43a6f7:	8d 45 f4             	lea    -0xc(%ebp),%eax
43a6fa:	56                   	push   %esi
43a6fb:	8b 75 14             	mov    0x14(%ebp),%esi
43a6fe:	57                   	push   %edi
43a6ff:	ff 75 20             	push   0x20(%ebp)
43a702:	8b f9                	mov    %ecx,%edi
43a704:	ff 75 1c             	push   0x1c(%ebp)
43a707:	ff 76 14             	push   0x14(%esi)
43a70a:	68 6c 7e 49 00       	push   $0x497e6c
43a70f:	50                   	push   %eax
43a710:	57                   	push   %edi
43a711:	e8 b6 a2 ff ff       	call   0x4349cc
43a716:	83 c4 10             	add    $0x10,%esp
43a719:	50                   	push   %eax
43a71a:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a71d:	6a 40                	push   $0x40
43a71f:	50                   	push   %eax
43a720:	e8 ef 1e ff ff       	call   0x42c614
43a725:	50                   	push   %eax
43a726:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a729:	50                   	push   %eax
43a72a:	ff 75 18             	push   0x18(%ebp)
43a72d:	56                   	push   %esi
43a72e:	ff 75 10             	push   0x10(%ebp)
43a731:	ff 75 0c             	push   0xc(%ebp)
43a734:	53                   	push   %ebx
43a735:	57                   	push   %edi
43a736:	e8 fa a9 ff ff       	call   0x435135
43a73b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a73e:	83 c4 34             	add    $0x34,%esp
43a741:	8b c3                	mov    %ebx,%eax
43a743:	33 cd                	xor    %ebp,%ecx
43a745:	5f                   	pop    %edi