42c307:	8b ce                	mov    %esi,%ecx
42c309:	ff 15 54 43 49 00    	call   *0x494354
42c30f:	8b cb                	mov    %ebx,%ecx
42c311:	ff d6                	call   *%esi
42c313:	8b 45 0c             	mov    0xc(%ebp),%eax
42c316:	8b 58 04             	mov    0x4(%eax),%ebx
42c319:	53                   	push   %ebx
42c31a:	e8 d8 a7 ff ff       	call   0x426af7
42c31f:	8b 03                	mov    (%ebx),%eax
42c321:	59                   	pop    %ecx
42c322:	8b 70 04             	mov    0x4(%eax),%esi
42c325:	8b ce                	mov    %esi,%ecx
42c327:	ff 15 54 43 49 00    	call   *0x494354
42c32d:	8b cb                	mov    %ebx,%ecx
42c32f:	ff d6                	call   *%esi
42c331:	8b 73 10             	mov    0x10(%ebx),%esi
42c334:	83 e6 3f             	and    $0x3f,%esi
42c337:	83 fe 3f             	cmp    $0x3f,%esi
42c33a:	75 15                	jne    0x42c351
42c33c:	8b 43 18             	mov    0x18(%ebx),%eax
42c33f:	85 c0                	test   %eax,%eax
42c341:	75 03                	jne    0x42c346
42c343:	8d 43 1c             	lea    0x1c(%ebx),%eax
42c346:	50                   	push   %eax
42c347:	57                   	push   %edi
42c348:	e8 d0 c4 03 00       	call   0x46881d
42c34d:	59                   	pop    %ecx
42c34e:	59                   	pop    %ecx
42c34f:	eb 26                	jmp    0x42c377
42c351:	33 c0                	xor    %eax,%eax
42c353:	8b cf                	mov    %edi,%ecx
42c355:	40                   	inc    %eax
42c356:	d3 e0                	shl    %cl,%eax
42c358:	d1 f8                	sar    $1,%eax
42c35a:	85 c6                	test   %eax,%esi
42c35c:	74 13                	je     0x42c371
42c35e:	8b 43 18             	mov    0x18(%ebx),%eax
42c361:	85 c0                	test   %eax,%eax
42c363:	75 03                	jne    0x42c368
42c365:	8d 43 1c             	lea    0x1c(%ebx),%eax
42c368:	50                   	push   %eax
42c369:	57                   	push   %edi
42c36a:	e8 ae c4 03 00       	call   0x46881d
42c36f:	59                   	pop    %ecx
42c370:	59                   	pop    %ecx
42c371:	47                   	inc    %edi
42c372:	83 ff 05             	cmp    $0x5,%edi
42c375:	7e da                	jle    0x42c351
42c377:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42c37a:	e8 38 93 ff ff       	call   0x4256b7
42c37f:	8b 45 08             	mov    0x8(%ebp),%eax
42c382:	e8 8c 36 01 00       	call   0x43fa13
42c387:	c3                   	ret
42c388:	8b 41 1c             	mov    0x1c(%ecx),%eax
42c38b:	8b 00                	mov    (%eax),%eax
42c38d:	c3                   	ret
42c38e:	55                   	push   %ebp
42c38f:	8b ec                	mov    %esp,%ebp
42c391:	56                   	push   %esi
42c392:	57                   	push   %edi
42c393:	ff 75 08             	push   0x8(%ebp)
42c396:	8b f9                	mov    %ecx,%edi
42c398:	8b 17                	mov    (%edi),%edx
42c39a:	8b 72 14             	mov    0x14(%edx),%esi
42c39d:	8b ce                	mov    %esi,%ecx
42c39f:	ff 15 54 43 49 00    	call   *0x494354
42c3a5:	8b cf                	mov    %edi,%ecx
42c3a7:	ff d6                	call   *%esi
42c3a9:	8b 45 08             	mov    0x8(%ebp),%eax
42c3ac:	5f                   	pop    %edi
42c3ad:	5e                   	pop    %esi
42c3ae:	5d                   	pop    %ebp
42c3af:	c2 04 00             	ret    $0x4
42c3b2:	55                   	push   %ebp
42c3b3:	8b ec                	mov    %esp,%ebp
42c3b5:	51                   	push   %ecx
42c3b6:	8b 55 08             	mov    0x8(%ebp),%edx
42c3b9:	53                   	push   %ebx
42c3ba:	57                   	push   %edi
42c3bb:	8b f9                	mov    %ecx,%edi
42c3bd:	8b 4f 10             	mov    0x10(%edi),%ecx
42c3c0:	3b ca                	cmp    %edx,%ecx
42c3c2:	72 5c                	jb     0x42c420
42c3c4:	8b 47 14             	mov    0x14(%edi),%eax
42c3c7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42c3ca:	2b c1                	sub    %ecx,%eax
42c3cc:	3b d8                	cmp    %eax,%ebx
42c3ce:	77 36                	ja     0x42c406
42c3d0:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
42c3d4:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
42c3d7:	89 47 10             	mov    %eax,0x10(%edi)
42c3da:	8b c7                	mov    %edi,%eax
42c3dc:	72 02                	jb     0x42c3e0
42c3de:	8b 07                	mov    (%edi),%eax
42c3e0:	56                   	push   %esi
42c3e1:	2b ca                	sub    %edx,%ecx
42c3e3:	8d 34 10             	lea    (%eax,%edx,1),%esi
42c3e6:	41                   	inc    %ecx
42c3e7:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
42c3ea:	51                   	push   %ecx
42c3eb:	56                   	push   %esi
42c3ec:	50                   	push   %eax
42c3ed:	e8 ee 74 01 00       	call   0x4438e0
42c3f2:	0f be 45 10          	movsbl 0x10(%ebp),%eax
42c3f6:	53                   	push   %ebx
42c3f7:	50                   	push   %eax
42c3f8:	56                   	push   %esi
42c3f9:	e8 62 7a 01 00       	call   0x443e60
42c3fe:	83 c4 18             	add    $0x18,%esp
42c401:	8b c7                	mov    %edi,%eax
42c403:	5e                   	pop    %esi
42c404:	eb 14                	jmp    0x42c41a
42c406:	ff 75 10             	push   0x10(%ebp)
42c409:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
42c40d:	8b cf                	mov    %edi,%ecx
42c40f:	53                   	push   %ebx
42c410:	52                   	push   %edx
42c411:	ff 75 fc             	push   -0x4(%ebp)
42c414:	53                   	push   %ebx
42c415:	e8 bc c4 ff ff       	call   0x4288d6
42c41a:	5f                   	pop    %edi
42c41b:	5b                   	pop    %ebx
42c41c:	c9                   	leave
42c41d:	c2 0c 00             	ret    $0xc
42c420:	e8 a2 13 ff ff       	call   0x41d7c7
42c425:	cc                   	int3
42c426:	8b 41 18             	mov    0x18(%ecx),%eax
42c429:	8b 51 1c             	mov    0x1c(%ecx),%edx
42c42c:	c3                   	ret
42c42d:	8b 01                	mov    (%ecx),%eax
42c42f:	83 21 00             	andl   $0x0,(%ecx)
42c432:	c3                   	ret
42c433:	57                   	push   %edi
42c434:	8b f9                	mov    %ecx,%edi
42c436:	33 c9                	xor    %ecx,%ecx
42c438:	8b 47 1c             	mov    0x1c(%edi),%eax
42c43b:	39 08                	cmp    %ecx,(%eax)
42c43d:	74 05                	je     0x42c444
42c43f:	8b 47 2c             	mov    0x2c(%edi),%eax
42c442:	8b 08                	mov    (%eax),%ecx
42c444:	85 c9                	test   %ecx,%ecx
42c446:	7e 14                	jle    0x42c45c
42c448:	8b 47 2c             	mov    0x2c(%edi),%eax
42c44b:	ff 08                	decl   (%eax)
42c44d:	8b 4f 1c             	mov    0x1c(%edi),%ecx
42c450:	5f                   	pop    %edi
42c451:	8b 11                	mov    (%ecx),%edx
42c453:	8d 42 01             	lea    0x1(%edx),%eax
42c456:	89 01                	mov    %eax,(%ecx)
42c458:	0f b6 02             	movzbl (%edx),%eax
42c45b:	c3                   	ret
42c45c:	8b 07                	mov    (%edi),%eax
42c45e:	56                   	push   %esi
42c45f:	8b 70 1c             	mov    0x1c(%eax),%esi
42c462:	8b ce                	mov    %esi,%ecx
42c464:	ff 15 54 43 49 00    	call   *0x494354
42c46a:	8b cf                	mov    %edi,%ecx
42c46c:	ff d6                	call   *%esi
42c46e:	5e                   	pop    %esi
42c46f:	5f                   	pop    %edi
42c470:	c3                   	ret
42c471:	57                   	push   %edi
42c472:	8b f9                	mov    %ecx,%edi
42c474:	8b 47 1c             	mov    0x1c(%edi),%eax
42c477:	8b 08                	mov    (%eax),%ecx
42c479:	85 c9                	test   %ecx,%ecx
42c47b:	74 07                	je     0x42c484
42c47d:	8b 47 2c             	mov    0x2c(%edi),%eax
42c480:	8b 00                	mov    (%eax),%eax
42c482:	eb 02                	jmp    0x42c486
42c484:	33 c0                	xor    %eax,%eax
42c486:	85 c0                	test   %eax,%eax
42c488:	7e 05                	jle    0x42c48f
42c48a:	0f b6 01             	movzbl (%ecx),%eax
42c48d:	5f                   	pop    %edi
42c48e:	c3                   	ret
42c48f:	8b 07                	mov    (%edi),%eax
42c491:	56                   	push   %esi
42c492:	8b 70 18             	mov    0x18(%eax),%esi
42c495:	8b ce                	mov    %esi,%ecx
42c497:	ff 15 54 43 49 00    	call   *0x494354
42c49d:	8b cf                	mov    %edi,%ecx
42c49f:	ff d6                	call   *%esi
42c4a1:	5e                   	pop    %esi
42c4a2:	5f                   	pop    %edi
42c4a3:	c3                   	ret
42c4a4:	55                   	push   %ebp
42c4a5:	8b ec                	mov    %esp,%ebp
42c4a7:	53                   	push   %ebx
42c4a8:	57                   	push   %edi
42c4a9:	8b f9                	mov    %ecx,%edi
42c4ab:	33 c9                	xor    %ecx,%ecx
42c4ad:	8b 47 20             	mov    0x20(%edi),%eax
42c4b0:	39 08                	cmp    %ecx,(%eax)
42c4b2:	74 05                	je     0x42c4b9
42c4b4:	8b 47 30             	mov    0x30(%edi),%eax
42c4b7:	8b 08                	mov    (%eax),%ecx
42c4b9:	0f b6 5d 08          	movzbl 0x8(%ebp),%ebx
42c4bd:	85 c9                	test   %ecx,%ecx
42c4bf:	7e 16                	jle    0x42c4d7
42c4c1:	8b 47 30             	mov    0x30(%edi),%eax
42c4c4:	ff 08                	decl   (%eax)
42c4c6:	8b 4f 20             	mov    0x20(%edi),%ecx
42c4c9:	8b 11                	mov    (%ecx),%edx
42c4cb:	8d 42 01             	lea    0x1(%edx),%eax
42c4ce:	89 01                	mov    %eax,(%ecx)
42c4d0:	8a 45 08             	mov    0x8(%ebp),%al
42c4d3:	88 02                	mov    %al,(%edx)
42c4d5:	eb 16                	jmp    0x42c4ed
42c4d7:	8b 07                	mov    (%edi),%eax
42c4d9:	56                   	push   %esi
42c4da:	53                   	push   %ebx
42c4db:	8b 70 0c             	mov    0xc(%eax),%esi
42c4de:	8b ce                	mov    %esi,%ecx
42c4e0:	ff 15 54 43 49 00    	call   *0x494354
42c4e6:	8b cf                	mov    %edi,%ecx
42c4e8:	ff d6                	call   *%esi
42c4ea:	8b d8                	mov    %eax,%ebx
42c4ec:	5e                   	pop    %esi
42c4ed:	5f                   	pop    %edi
42c4ee:	8b c3                	mov    %ebx,%eax
42c4f0:	5b                   	pop    %ebx
42c4f1:	5d                   	pop    %ebp
42c4f2:	c2 04 00             	ret    $0x4
42c4f5:	56                   	push   %esi
42c4f6:	57                   	push   %edi
42c4f7:	8b f9                	mov    %ecx,%edi
42c4f9:	8b 07                	mov    (%edi),%eax
42c4fb:	8b 70 10             	mov    0x10(%eax),%esi
42c4fe:	8b ce                	mov    %esi,%ecx
42c500:	ff 15 54 43 49 00    	call   *0x494354
42c506:	8b cf                	mov    %edi,%ecx
42c508:	ff d6                	call   *%esi
42c50a:	5f                   	pop    %edi
42c50b:	5e                   	pop    %esi
42c50c:	c3                   	ret
42c50d:	55                   	push   %ebp
42c50e:	8b ec                	mov    %esp,%ebp
42c510:	8b 45 08             	mov    0x8(%ebp),%eax
42c513:	8a 00                	mov    (%eax),%al
42c515:	5d                   	pop    %ebp
42c516:	c3                   	ret
42c517:	55                   	push   %ebp
42c518:	8b ec                	mov    %esp,%ebp
42c51a:	8b 45 08             	mov    0x8(%ebp),%eax
42c51d:	0f b6 00             	movzbl (%eax),%eax
42c520:	5d                   	pop    %ebp
42c521:	c3                   	ret
42c522:	55                   	push   %ebp
42c523:	8b ec                	mov    %esp,%ebp
42c525:	56                   	push   %esi
42c526:	57                   	push   %edi
42c527:	ff 75 08             	push   0x8(%ebp)
42c52a:	8b f9                	mov    %ecx,%edi
42c52c:	8b 17                	mov    (%edi),%edx
42c52e:	8b 72 1c             	mov    0x1c(%edx),%esi
42c531:	8b ce                	mov    %esi,%ecx
42c533:	ff 15 54 43 49 00    	call   *0x494354
42c539:	8b cf                	mov    %edi,%ecx
42c53b:	ff d6                	call   *%esi
42c53d:	8b 45 08             	mov    0x8(%ebp),%eax
42c540:	5f                   	pop    %edi
42c541:	5e                   	pop    %esi
42c542:	5d                   	pop    %ebp
42c543:	c2 04 00             	ret    $0x4
42c546:	55                   	push   %ebp
42c547:	8b ec                	mov    %esp,%ebp
42c549:	56                   	push   %esi
42c54a:	57                   	push   %edi
42c54b:	ff 75 10             	push   0x10(%ebp)
42c54e:	8b f9                	mov    %ecx,%edi
42c550:	ff 75 0c             	push   0xc(%ebp)
42c553:	ff 75 08             	push   0x8(%ebp)
42c556:	8b 07                	mov    (%edi),%eax
42c558:	8b 70 1c             	mov    0x1c(%eax),%esi
42c55b:	8b ce                	mov    %esi,%ecx
42c55d:	ff 15 54 43 49 00    	call   *0x494354
42c563:	8b cf                	mov    %edi,%ecx
42c565:	ff d6                	call   *%esi
42c567:	5f                   	pop    %edi
42c568:	5e                   	pop    %esi
42c569:	5d                   	pop    %ebp
42c56a:	c2 0c 00             	ret    $0xc
42c56d:	55                   	push   %ebp
42c56e:	8b ec                	mov    %esp,%ebp
42c570:	8b 41 20             	mov    0x20(%ecx),%eax
42c573:	8b 51 24             	mov    0x24(%ecx),%edx
42c576:	56                   	push   %esi
42c577:	8b 75 08             	mov    0x8(%ebp),%esi
42c57a:	89 71 20             	mov    %esi,0x20(%ecx)
42c57d:	8b 75 0c             	mov    0xc(%ebp),%esi
42c580:	89 71 24             	mov    %esi,0x24(%ecx)
42c583:	5e                   	pop    %esi
42c584:	5d                   	pop    %ebp
42c585:	c2 08 00             	ret    $0x8
42c588:	8b 41 20             	mov    0x20(%ecx),%eax
42c58b:	8b 51 24             	mov    0x24(%ecx),%edx
42c58e:	c3                   	ret
42c58f:	55                   	push   %ebp
42c590:	8b ec                	mov    %esp,%ebp
42c592:	ff 75 18             	push   0x18(%ebp)
42c595:	ff 75 14             	push   0x14(%ebp)
42c598:	ff 75 10             	push   0x10(%ebp)
42c59b:	ff 75 0c             	push   0xc(%ebp)
42c59e:	ff 75 08             	push   0x8(%ebp)
42c5a1:	e8 5d 75 ff ff       	call   0x423b03
42c5a6:	ff 70 04             	push   0x4(%eax)
42c5a9:	ff 30                	push   (%eax)
42c5ab:	e8 04 97 03 00       	call   0x465cb4
42c5b0:	83 c4 1c             	add    $0x1c,%esp
42c5b3:	85 c0                	test   %eax,%eax
42c5b5:	79 03                	jns    0x42c5ba
42c5b7:	83 c8 ff             	or     $0xffffffff,%eax
42c5ba:	5d                   	pop    %ebp
42c5bb:	c3                   	ret
42c5bc:	55                   	push   %ebp
42c5bd:	8b ec                	mov    %esp,%ebp
42c5bf:	dd 45 08             	fldl   0x8(%ebp)
42c5c2:	d9 e1                	fabs
42c5c4:	5d                   	pop    %ebp
42c5c5:	c3                   	ret
42c5c6:	55                   	push   %ebp
42c5c7:	8b ec                	mov    %esp,%ebp
42c5c9:	ff 75 10             	push   0x10(%ebp)
42c5cc:	dd 45 08             	fldl   0x8(%ebp)
42c5cf:	51                   	push   %ecx
42c5d0:	51                   	push   %ecx
42c5d1:	dd 1c 24             	fstpl  (%esp)
42c5d4:	e8 dd d2 03 00       	call   0x4698b6
42c5d9:	83 c4 0c             	add    $0xc,%esp
42c5dc:	5d                   	pop    %ebp
42c5dd:	c3                   	ret
42c5de:	55                   	push   %ebp
42c5df:	8b ec                	mov    %esp,%ebp
42c5e1:	51                   	push   %ecx
42c5e2:	ff 75 0c             	push   0xc(%ebp)
42c5e5:	d9 45 08             	flds   0x8(%ebp)
42c5e8:	51                   	push   %ecx
42c5e9:	51                   	push   %ecx
42c5ea:	dd 1c 24             	fstpl  (%esp)
42c5ed:	e8 07 78 02 00       	call   0x453df9
42c5f2:	d9 5d fc             	fstps  -0x4(%ebp)
42c5f5:	d9 45 fc             	flds   -0x4(%ebp)
42c5f8:	83 c4 0c             	add    $0xc,%esp
42c5fb:	c9                   	leave
42c5fc:	c3                   	ret
42c5fd:	55                   	push   %ebp
42c5fe:	8b ec                	mov    %esp,%ebp
42c600:	51                   	push   %ecx
42c601:	d9 45 08             	flds   0x8(%ebp)