40c351:	c3                   	ret
40c352:	8b 65 e8             	mov    -0x18(%ebp),%esp
40c355:	8b 55 98             	mov    -0x68(%ebp),%edx
40c358:	52                   	push   %edx
40c359:	e8 32 07 00 00       	call   0x40ca90
40c35e:	83 c4 04             	add    $0x4,%esp
40c361:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40c368:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c36b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c372:	5f                   	pop    %edi
40c373:	5e                   	pop    %esi
40c374:	5b                   	pop    %ebx
40c375:	8b e5                	mov    %ebp,%esp
40c377:	5d                   	pop    %ebp
40c378:	c3                   	ret
40c379:	80 3e 20             	cmpb   $0x20,(%esi)
40c37c:	0f 86 68 ff ff ff    	jbe    0x40c2ea
40c382:	46                   	inc    %esi
40c383:	89 75 9c             	mov    %esi,-0x64(%ebp)
40c386:	eb f1                	jmp    0x40c379
40c388:	90                   	nop
40c389:	90                   	nop
40c38a:	90                   	nop
40c38b:	90                   	nop
40c38c:	90                   	nop
40c38d:	90                   	nop
40c38e:	90                   	nop
40c38f:	90                   	nop
40c390:	83 3d 2c 70 43 00 01 	cmpl   $0x1,0x43702c
40c397:	75 05                	jne    0x40c39e
40c399:	e8 52 2e 00 00       	call   0x40f1f0
40c39e:	8b 44 24 04          	mov    0x4(%esp),%eax
40c3a2:	50                   	push   %eax
40c3a3:	e8 88 2e 00 00       	call   0x40f230
40c3a8:	83 c4 04             	add    $0x4,%esp
40c3ab:	68 ff 00 00 00       	push   $0xff
40c3b0:	ff 15 f0 17 43 00    	call   *0x4317f0
40c3b6:	83 c4 04             	add    $0x4,%esp
40c3b9:	c3                   	ret
40c3ba:	90                   	nop
40c3bb:	90                   	nop
40c3bc:	90                   	nop
40c3bd:	90                   	nop
40c3be:	90                   	nop
40c3bf:	90                   	nop
40c3c0:	56                   	push   %esi
40c3c1:	8b f1                	mov    %ecx,%esi
40c3c3:	6a 1b                	push   $0x1b
40c3c5:	c7 06 cc be 42 00    	movl   $0x42becc,(%esi)
40c3cb:	e8 70 30 00 00       	call   0x40f440
40c3d0:	8b 76 04             	mov    0x4(%esi),%esi
40c3d3:	83 c4 04             	add    $0x4,%esp
40c3d6:	85 f6                	test   %esi,%esi
40c3d8:	74 09                	je     0x40c3e3
40c3da:	56                   	push   %esi
40c3db:	e8 b0 01 00 00       	call   0x40c590
40c3e0:	83 c4 04             	add    $0x4,%esp
40c3e3:	6a 1b                	push   $0x1b
40c3e5:	e8 d6 30 00 00       	call   0x40f4c0
40c3ea:	83 c4 04             	add    $0x4,%esp
40c3ed:	5e                   	pop    %esi
40c3ee:	c3                   	ret
40c3ef:	90                   	nop
40c3f0:	56                   	push   %esi
40c3f1:	8b f1                	mov    %ecx,%esi
40c3f3:	e8 c8 ff ff ff       	call   0x40c3c0
40c3f8:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
40c3fd:	74 09                	je     0x40c408
40c3ff:	56                   	push   %esi
40c400:	e8 38 09 01 00       	call   0x41cd3d
40c405:	83 c4 04             	add    $0x4,%esp
40c408:	8b c6                	mov    %esi,%eax
40c40a:	5e                   	pop    %esi
40c40b:	c2 04 00             	ret    $0x4
40c40e:	90                   	nop
40c40f:	90                   	nop
40c410:	8b 54 24 0c          	mov    0xc(%esp),%edx
40c414:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40c418:	85 d2                	test   %edx,%edx
40c41a:	74 47                	je     0x40c463
40c41c:	33 c0                	xor    %eax,%eax
40c41e:	8a 44 24 08          	mov    0x8(%esp),%al
40c422:	57                   	push   %edi
40c423:	8b f9                	mov    %ecx,%edi
40c425:	83 fa 04             	cmp    $0x4,%edx
40c428:	72 2d                	jb     0x40c457
40c42a:	f7 d9                	neg    %ecx
40c42c:	83 e1 03             	and    $0x3,%ecx
40c42f:	74 08                	je     0x40c439
40c431:	2b d1                	sub    %ecx,%edx
40c433:	88 07                	mov    %al,(%edi)
40c435:	47                   	inc    %edi
40c436:	49                   	dec    %ecx
40c437:	75 fa                	jne    0x40c433
40c439:	8b c8                	mov    %eax,%ecx
40c43b:	c1 e0 08             	shl    $0x8,%eax
40c43e:	03 c1                	add    %ecx,%eax
40c440:	8b c8                	mov    %eax,%ecx
40c442:	c1 e0 10             	shl    $0x10,%eax
40c445:	03 c1                	add    %ecx,%eax
40c447:	8b ca                	mov    %edx,%ecx
40c449:	83 e2 03             	and    $0x3,%edx
40c44c:	c1 e9 02             	shr    $0x2,%ecx
40c44f:	74 06                	je     0x40c457
40c451:	f3 ab                	rep stos %eax,%es:(%edi)
40c453:	85 d2                	test   %edx,%edx
40c455:	74 06                	je     0x40c45d
40c457:	88 07                	mov    %al,(%edi)
40c459:	47                   	inc    %edi
40c45a:	4a                   	dec    %edx
40c45b:	75 fa                	jne    0x40c457
40c45d:	8b 44 24 08          	mov    0x8(%esp),%eax
40c461:	5f                   	pop    %edi
40c462:	c3                   	ret
40c463:	8b 44 24 04          	mov    0x4(%esp),%eax
40c467:	c3                   	ret
40c468:	cc                   	int3
40c469:	cc                   	int3
40c46a:	cc                   	int3
40c46b:	cc                   	int3
40c46c:	cc                   	int3
40c46d:	cc                   	int3
40c46e:	cc                   	int3
40c46f:	cc                   	int3
40c470:	83 ec 20             	sub    $0x20,%esp
40c473:	8b 44 24 24          	mov    0x24(%esp),%eax
40c477:	56                   	push   %esi
40c478:	57                   	push   %edi
40c479:	b9 08 00 00 00       	mov    $0x8,%ecx
40c47e:	be d0 be 42 00       	mov    $0x42bed0,%esi
40c483:	8d 7c 24 08          	lea    0x8(%esp),%edi
40c487:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40c489:	8b 4c 24 30          	mov    0x30(%esp),%ecx
40c48d:	89 44 24 20          	mov    %eax,0x20(%esp)
40c491:	8b 44 24 18          	mov    0x18(%esp),%eax
40c495:	8d 54 24 1c          	lea    0x1c(%esp),%edx
40c499:	89 4c 24 24          	mov    %ecx,0x24(%esp)
40c49d:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40c4a1:	52                   	push   %edx
40c4a2:	8b 54 24 0c          	mov    0xc(%esp),%edx
40c4a6:	50                   	push   %eax
40c4a7:	51                   	push   %ecx
40c4a8:	52                   	push   %edx
40c4a9:	ff 15 5c 96 43 00    	call   *0x43965c
40c4af:	5f                   	pop    %edi
40c4b0:	5e                   	pop    %esi
40c4b1:	83 c4 20             	add    $0x20,%esp
40c4b4:	c2 08 00             	ret    $0x8
40c4b7:	90                   	nop
40c4b8:	90                   	nop
40c4b9:	90                   	nop
40c4ba:	90                   	nop
40c4bb:	90                   	nop
40c4bc:	90                   	nop
40c4bd:	90                   	nop
40c4be:	90                   	nop
40c4bf:	90                   	nop
40c4c0:	a1 54 73 43 00       	mov    0x437354,%eax
40c4c5:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40c4c9:	50                   	push   %eax
40c4ca:	51                   	push   %ecx
40c4cb:	e8 10 00 00 00       	call   0x40c4e0
40c4d0:	83 c4 08             	add    $0x8,%esp
40c4d3:	c3                   	ret
40c4d4:	90                   	nop
40c4d5:	90                   	nop
40c4d6:	90                   	nop
40c4d7:	90                   	nop
40c4d8:	90                   	nop
40c4d9:	90                   	nop
40c4da:	90                   	nop
40c4db:	90                   	nop
40c4dc:	90                   	nop
40c4dd:	90                   	nop
40c4de:	90                   	nop
40c4df:	90                   	nop
40c4e0:	56                   	push   %esi
40c4e1:	8b 74 24 08          	mov    0x8(%esp),%esi
40c4e5:	83 fe e0             	cmp    $0xffffffe0,%esi
40c4e8:	57                   	push   %edi
40c4e9:	77 34                	ja     0x40c51f
40c4eb:	85 f6                	test   %esi,%esi
40c4ed:	75 05                	jne    0x40c4f4
40c4ef:	be 01 00 00 00       	mov    $0x1,%esi
40c4f4:	8b 7c 24 10          	mov    0x10(%esp),%edi
40c4f8:	83 fe e0             	cmp    $0xffffffe0,%esi
40c4fb:	77 0b                	ja     0x40c508
40c4fd:	56                   	push   %esi
40c4fe:	e8 2d 00 00 00       	call   0x40c530
40c503:	83 c4 04             	add    $0x4,%esp
40c506:	eb 02                	jmp    0x40c50a
40c508:	33 c0                	xor    %eax,%eax
40c50a:	85 c0                	test   %eax,%eax
40c50c:	75 13                	jne    0x40c521
40c50e:	85 ff                	test   %edi,%edi
40c510:	74 0f                	je     0x40c521
40c512:	56                   	push   %esi
40c513:	e8 38 31 00 00       	call   0x40f650
40c518:	83 c4 04             	add    $0x4,%esp
40c51b:	85 c0                	test   %eax,%eax
40c51d:	75 d9                	jne    0x40c4f8
40c51f:	33 c0                	xor    %eax,%eax
40c521:	5f                   	pop    %edi
40c522:	5e                   	pop    %esi
40c523:	c3                   	ret
40c524:	90                   	nop
40c525:	90                   	nop
40c526:	90                   	nop
40c527:	90                   	nop
40c528:	90                   	nop
40c529:	90                   	nop
40c52a:	90                   	nop
40c52b:	90                   	nop
40c52c:	90                   	nop
40c52d:	90                   	nop
40c52e:	90                   	nop
40c52f:	90                   	nop
40c530:	8b 44 24 04          	mov    0x4(%esp),%eax
40c534:	56                   	push   %esi
40c535:	57                   	push   %edi
40c536:	8d 70 0f             	lea    0xf(%eax),%esi
40c539:	a1 84 3f 43 00       	mov    0x433f84,%eax
40c53e:	83 e6 f0             	and    $0xfffffff0,%esi
40c541:	3b f0                	cmp    %eax,%esi
40c543:	77 2d                	ja     0x40c572
40c545:	6a 09                	push   $0x9
40c547:	e8 f4 2e 00 00       	call   0x40f440
40c54c:	8b ce                	mov    %esi,%ecx
40c54e:	83 c4 04             	add    $0x4,%esp
40c551:	c1 e9 04             	shr    $0x4,%ecx
40c554:	51                   	push   %ecx
40c555:	e8 76 34 00 00       	call   0x40f9d0
40c55a:	83 c4 04             	add    $0x4,%esp
40c55d:	8b f8                	mov    %eax,%edi
40c55f:	6a 09                	push   $0x9
40c561:	e8 5a 2f 00 00       	call   0x40f4c0
40c566:	83 c4 04             	add    $0x4,%esp
40c569:	85 ff                	test   %edi,%edi
40c56b:	74 05                	je     0x40c572
40c56d:	8b c7                	mov    %edi,%eax
40c56f:	5f                   	pop    %edi
40c570:	5e                   	pop    %esi
40c571:	c3                   	ret
40c572:	8b 15 8c 89 43 00    	mov    0x43898c,%edx
40c578:	56                   	push   %esi
40c579:	6a 00                	push   $0x0
40c57b:	52                   	push   %edx
40c57c:	ff 15 58 96 43 00    	call   *0x439658
40c582:	5f                   	pop    %edi
40c583:	5e                   	pop    %esi
40c584:	c3                   	ret
40c585:	90                   	nop
40c586:	90                   	nop
40c587:	90                   	nop
40c588:	90                   	nop
40c589:	90                   	nop
40c58a:	90                   	nop
40c58b:	90                   	nop
40c58c:	90                   	nop
40c58d:	90                   	nop
40c58e:	90                   	nop
40c58f:	90                   	nop
40c590:	51                   	push   %ecx
40c591:	56                   	push   %esi
40c592:	8b 74 24 0c          	mov    0xc(%esp),%esi
40c596:	85 f6                	test   %esi,%esi
40c598:	74 5b                	je     0x40c5f5
40c59a:	6a 09                	push   $0x9
40c59c:	e8 9f 2e 00 00       	call   0x40f440
40c5a1:	83 c4 04             	add    $0x4,%esp
40c5a4:	8d 44 24 0c          	lea    0xc(%esp),%eax
40c5a8:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40c5ac:	50                   	push   %eax
40c5ad:	51                   	push   %ecx
40c5ae:	56                   	push   %esi
40c5af:	e8 5c 33 00 00       	call   0x40f910
40c5b4:	83 c4 0c             	add    $0xc,%esp
40c5b7:	85 c0                	test   %eax,%eax
40c5b9:	74 20                	je     0x40c5db
40c5bb:	8b 54 24 0c          	mov    0xc(%esp),%edx
40c5bf:	50                   	push   %eax
40c5c0:	8b 44 24 08          	mov    0x8(%esp),%eax
40c5c4:	52                   	push   %edx
40c5c5:	50                   	push   %eax
40c5c6:	e8 a5 33 00 00       	call   0x40f970
40c5cb:	83 c4 0c             	add    $0xc,%esp
40c5ce:	6a 09                	push   $0x9
40c5d0:	e8 eb 2e 00 00       	call   0x40f4c0
40c5d5:	83 c4 04             	add    $0x4,%esp
40c5d8:	5e                   	pop    %esi
40c5d9:	59                   	pop    %ecx
40c5da:	c3                   	ret
40c5db:	6a 09                	push   $0x9
40c5dd:	e8 de 2e 00 00       	call   0x40f4c0
40c5e2:	8b 0d 8c 89 43 00    	mov    0x43898c,%ecx
40c5e8:	83 c4 04             	add    $0x4,%esp
40c5eb:	56                   	push   %esi
40c5ec:	6a 00                	push   $0x0
40c5ee:	51                   	push   %ecx
40c5ef:	ff 15 54 96 43 00    	call   *0x439654
40c5f5:	5e                   	pop    %esi
40c5f6:	59                   	pop    %ecx
40c5f7:	c3                   	ret
40c5f8:	90                   	nop
40c5f9:	90                   	nop
40c5fa:	90                   	nop
40c5fb:	90                   	nop
40c5fc:	90                   	nop
40c5fd:	90                   	nop
40c5fe:	90                   	nop
40c5ff:	90                   	nop
40c600:	a1 7c 71 43 00       	mov    0x43717c,%eax
40c605:	53                   	push   %ebx
40c606:	56                   	push   %esi
40c607:	57                   	push   %edi
40c608:	85 c0                	test   %eax,%eax
40c60a:	75 16                	jne    0x40c622
40c60c:	8b 44 24 14          	mov    0x14(%esp),%eax
40c610:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40c614:	50                   	push   %eax
40c615:	51                   	push   %ecx
40c616:	e8 55 38 00 00       	call   0x40fe70
40c61b:	83 c4 08             	add    $0x8,%esp
40c61e:	5f                   	pop    %edi
40c61f:	5e                   	pop    %esi
40c620:	5b                   	pop    %ebx
40c621:	c3                   	ret
40c622:	6a 19                	push   $0x19
40c624:	e8 17 2e 00 00       	call   0x40f440
40c629:	8b 7c 24 14          	mov    0x14(%esp),%edi
40c62d:	8b 5c 24 18          	mov    0x18(%esp),%ebx
40c631:	83 c4 04             	add    $0x4,%esp
40c634:	66 0f b6 37          	movzbw (%edi),%si
40c638:	66 85 f6             	test   %si,%si
40c63b:	74 46                	je     0x40c683
40c63d:	b1 04                	mov    $0x4,%cl
40c63f:	8b d6                	mov    %esi,%edx
40c641:	81 e2 ff 00 00 00    	and    $0xff,%edx
40c647:	84 8a 79 70 43 00    	test   %cl,0x437079(%edx)
40c64d:	74 1e                	je     0x40c66d
40c64f:	8a 47 01             	mov    0x1(%edi),%al
40c652:	47                   	inc    %edi
40c653:	84 c0                	test   %al,%al
40c655:	74 4a                	je     0x40c6a1
40c657:	81 e6 ff ff 00 00    	and    $0xffff,%esi
40c65d:	25 ff 00 00 00       	and    $0xff,%eax
40c662:	c1 e6 08             	shl    $0x8,%esi
40c665:	0b f0                	or     %eax,%esi
40c667:	3b de                	cmp    %esi,%ebx
40c669:	74 46                	je     0x40c6b1