43a1e5:	8b cb                	mov    %ebx,%ecx
43a1e7:	ff 56 24             	call   *0x24(%esi)
43a1ea:	8b 45 b4             	mov    -0x4c(%ebp),%eax
43a1ed:	e9 14 01 00 00       	jmp    0x43a306
43a1f2:	ff 77 30             	push   0x30(%edi)
43a1f5:	8d 4d ac             	lea    -0x54(%ebp),%ecx
43a1f8:	e8 3f ec fe ff       	call   0x428e3c
43a1fd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43a201:	8d 45 ac             	lea    -0x54(%ebp),%eax
43a204:	50                   	push   %eax
43a205:	e8 07 52 ff ff       	call   0x42f411
43a20a:	59                   	pop    %ecx
43a20b:	8d 4d ac             	lea    -0x54(%ebp),%ecx
43a20e:	8b d8                	mov    %eax,%ebx
43a210:	e8 d2 51 fd ff       	call   0x40f3e7
43a215:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
43a219:	33 c0                	xor    %eax,%eax
43a21b:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
43a222:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
43a226:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
43a22a:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43a22d:	8b 03                	mov    (%ebx),%eax
43a22f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
43a236:	51                   	push   %ecx
43a237:	74 05                	je     0x43a23e
43a239:	8b 70 1c             	mov    0x1c(%eax),%esi
43a23c:	eb 03                	jmp    0x43a241
43a23e:	8b 70 18             	mov    0x18(%eax),%esi
43a241:	8b ce                	mov    %esi,%ecx
43a243:	ff 15 54 43 49 00    	call   *0x494354
43a249:	8b cb                	mov    %ebx,%ecx
43a24b:	ff d6                	call   *%esi
43a24d:	8d 45 c0             	lea    -0x40(%ebp),%eax
43a250:	50                   	push   %eax
43a251:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43a254:	e8 72 5c ff ff       	call   0x42fecb
43a259:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43a25c:	e8 2a ca ff ff       	call   0x436c8b
43a261:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
43a265:	7c 15                	jl     0x43a27c
43a267:	7f 06                	jg     0x43a26f
43a269:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
43a26d:	76 0d                	jbe    0x43a27c
43a26f:	8b 77 20             	mov    0x20(%edi),%esi
43a272:	3b 75 e8             	cmp    -0x18(%ebp),%esi
43a275:	76 05                	jbe    0x43a27c
43a277:	2b 75 e8             	sub    -0x18(%ebp),%esi
43a27a:	eb 02                	jmp    0x43a27e
43a27c:	33 f6                	xor    %esi,%esi
43a27e:	8b 47 14             	mov    0x14(%edi),%eax
43a281:	8b 5d bc             	mov    -0x44(%ebp),%ebx
43a284:	25 c0 01 00 00       	and    $0x1c0,%eax
43a289:	83 f8 40             	cmp    $0x40,%eax
43a28c:	74 26                	je     0x43a2b4
43a28e:	56                   	push   %esi
43a28f:	ff 75 b8             	push   -0x48(%ebp)
43a292:	8d 45 ac             	lea    -0x54(%ebp),%eax
43a295:	ff 75 10             	push   0x10(%ebp)
43a298:	ff 75 0c             	push   0xc(%ebp)
43a29b:	50                   	push   %eax
43a29c:	53                   	push   %ebx
43a29d:	e8 e1 c8 ff ff       	call   0x436b83
43a2a2:	83 c4 18             	add    $0x18,%esp
43a2a5:	33 f6                	xor    %esi,%esi
43a2a7:	8b 08                	mov    (%eax),%ecx
43a2a9:	89 4d 0c             	mov    %ecx,0xc(%ebp)
43a2ac:	8b 40 04             	mov    0x4(%eax),%eax
43a2af:	89 45 10             	mov    %eax,0x10(%ebp)
43a2b2:	eb 06                	jmp    0x43a2ba
43a2b4:	8b 45 10             	mov    0x10(%ebp),%eax
43a2b7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43a2ba:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43a2be:	8d 55 d8             	lea    -0x28(%ebp),%edx
43a2c1:	72 03                	jb     0x43a2c6
43a2c3:	8b 55 d8             	mov    -0x28(%ebp),%edx
43a2c6:	ff 75 e8             	push   -0x18(%ebp)
43a2c9:	52                   	push   %edx
43a2ca:	50                   	push   %eax
43a2cb:	51                   	push   %ecx
43a2cc:	8d 45 ac             	lea    -0x54(%ebp),%eax
43a2cf:	50                   	push   %eax
43a2d0:	53                   	push   %ebx
43a2d1:	e8 25 bd ff ff       	call   0x435ffb
43a2d6:	56                   	push   %esi
43a2d7:	ff 75 b8             	push   -0x48(%ebp)
43a2da:	8b 75 b4             	mov    -0x4c(%ebp),%esi
43a2dd:	8b 08                	mov    (%eax),%ecx
43a2df:	89 4d 0c             	mov    %ecx,0xc(%ebp)
43a2e2:	8b 40 04             	mov    0x4(%eax),%eax
43a2e5:	83 67 20 00          	andl   $0x0,0x20(%edi)
43a2e9:	83 67 24 00          	andl   $0x0,0x24(%edi)
43a2ed:	50                   	push   %eax
43a2ee:	51                   	push   %ecx
43a2ef:	56                   	push   %esi
43a2f0:	53                   	push   %ebx
43a2f1:	89 45 10             	mov    %eax,0x10(%ebp)
43a2f4:	e8 8a c8 ff ff       	call   0x436b83
43a2f9:	83 c4 30             	add    $0x30,%esp
43a2fc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43a2ff:	e8 87 c9 ff ff       	call   0x436c8b
43a304:	8b c6                	mov    %esi,%eax
43a306:	e8 1d 57 00 00       	call   0x43fa28
43a30b:	c2 18 00             	ret    $0x18
43a30e:	55                   	push   %ebp
43a30f:	8b ec                	mov    %esp,%ebp
43a311:	83 ec 4c             	sub    $0x4c,%esp
43a314:	a1 94 80 4b 00       	mov    0x4b8094,%eax
43a319:	33 c5                	xor    %ebp,%eax
43a31b:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a31e:	53                   	push   %ebx
43a31f:	8b 5d 08             	mov    0x8(%ebp),%ebx
43a322:	8d 45 f4             	lea    -0xc(%ebp),%eax
43a325:	56                   	push   %esi
43a326:	8b 75 14             	mov    0x14(%ebp),%esi
43a329:	57                   	push   %edi
43a32a:	ff 75 1c             	push   0x1c(%ebp)
43a32d:	8b f9                	mov    %ecx,%edi
43a32f:	ff 76 14             	push   0x14(%esi)
43a332:	68 78 7e 49 00       	push   $0x497e78
43a337:	50                   	push   %eax
43a338:	57                   	push   %edi
43a339:	e8 8e a6 ff ff       	call   0x4349cc
43a33e:	83 c4 10             	add    $0x10,%esp
43a341:	50                   	push   %eax
43a342:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a345:	6a 40                	push   $0x40
43a347:	50                   	push   %eax
43a348:	e8 c7 22 ff ff       	call   0x42c614
43a34d:	50                   	push   %eax
43a34e:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a351:	50                   	push   %eax
43a352:	ff 75 18             	push   0x18(%ebp)
43a355:	56                   	push   %esi
43a356:	ff 75 10             	push   0x10(%ebp)
43a359:	ff 75 0c             	push   0xc(%ebp)
43a35c:	53                   	push   %ebx
43a35d:	57                   	push   %edi
43a35e:	e8 d2 ad ff ff       	call   0x435135
43a363:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a366:	83 c4 30             	add    $0x30,%esp
43a369:	8b c3                	mov    %ebx,%eax
43a36b:	33 cd                	xor    %ebp,%ecx
43a36d:	5f                   	pop    %edi
43a36e:	5e                   	pop    %esi
43a36f:	5b                   	pop    %ebx
43a370:	e8 8d 56 00 00       	call   0x43fa02
43a375:	c9                   	leave
43a376:	c2 18 00             	ret    $0x18
43a379:	55                   	push   %ebp
43a37a:	8b ec                	mov    %esp,%ebp
43a37c:	83 ec 4c             	sub    $0x4c,%esp
43a37f:	a1 94 80 4b 00       	mov    0x4b8094,%eax
43a384:	33 c5                	xor    %ebp,%eax
43a386:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a389:	53                   	push   %ebx
43a38a:	8b 5d 08             	mov    0x8(%ebp),%ebx
43a38d:	8d 45 f4             	lea    -0xc(%ebp),%eax
43a390:	56                   	push   %esi
43a391:	8b 75 14             	mov    0x14(%ebp),%esi
43a394:	57                   	push   %edi
43a395:	ff 75 1c             	push   0x1c(%ebp)
43a398:	8b f9                	mov    %ecx,%edi
43a39a:	ff 76 14             	push   0x14(%esi)
43a39d:	68 74 7e 49 00       	push   $0x497e74
43a3a2:	50                   	push   %eax
43a3a3:	57                   	push   %edi
43a3a4:	e8 23 a6 ff ff       	call   0x4349cc
43a3a9:	83 c4 10             	add    $0x10,%esp
43a3ac:	50                   	push   %eax
43a3ad:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a3b0:	6a 40                	push   $0x40
43a3b2:	50                   	push   %eax
43a3b3:	e8 5c 22 ff ff       	call   0x42c614
43a3b8:	50                   	push   %eax
43a3b9:	8d 45 b4             	lea    -0x4c(%ebp),%eax
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