40b247:	56                   	push   %esi
40b248:	68 84 01 00 00       	push   $0x184
40b24d:	68 d4 ed 44 00       	push   $0x44edd4
40b252:	8b fe                	mov    %esi,%edi
40b254:	e8 7a 85 ff ff       	call   0x4037d3
40b259:	ff 73 04             	push   0x4(%ebx)
40b25c:	68 b4 f0 44 00       	push   $0x44f0b4
40b261:	56                   	push   %esi
40b262:	e8 c8 4e 03 00       	call   0x44012f
40b267:	83 c4 0c             	add    $0xc,%esp
40b26a:	eb 3a                	jmp    0x40b2a6
40b26c:	8b 55 08             	mov    0x8(%ebp),%edx
40b26f:	8b cf                	mov    %edi,%ecx
40b271:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
40b274:	3b 44 8b 08          	cmp    0x8(%ebx,%ecx,4),%eax
40b278:	75 08                	jne    0x40b282
40b27a:	41                   	inc    %ecx
40b27b:	83 f9 04             	cmp    $0x4,%ecx
40b27e:	75 f1                	jne    0x40b271
40b280:	eb 24                	jmp    0x40b2a6
40b282:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b287:	56                   	push   %esi
40b288:	68 8a 01 00 00       	push   $0x18a
40b28d:	68 d4 ed 44 00       	push   $0x44edd4
40b292:	8b fe                	mov    %esi,%edi
40b294:	e8 3a 85 ff ff       	call   0x4037d3
40b299:	68 f4 f1 44 00       	push   $0x44f1f4
40b29e:	56                   	push   %esi
40b29f:	e8 8b 4e 03 00       	call   0x44012f
40b2a4:	59                   	pop    %ecx
40b2a5:	59                   	pop    %ecx
40b2a6:	5b                   	pop    %ebx
40b2a7:	8b c7                	mov    %edi,%eax
40b2a9:	5f                   	pop    %edi
40b2aa:	5e                   	pop    %esi
40b2ab:	5d                   	pop    %ebp
40b2ac:	c2 04 00             	ret    $0x4
40b2af:	55                   	push   %ebp
40b2b0:	8b ec                	mov    %esp,%ebp
40b2b2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b2b5:	53                   	push   %ebx
40b2b6:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b2b9:	56                   	push   %esi
40b2ba:	57                   	push   %edi
40b2bb:	33 ff                	xor    %edi,%edi
40b2bd:	3b 4b 34             	cmp    0x34(%ebx),%ecx
40b2c0:	72 2d                	jb     0x40b2ef
40b2c2:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b2c7:	56                   	push   %esi
40b2c8:	68 14 01 00 00       	push   $0x114
40b2cd:	68 d4 ed 44 00       	push   $0x44edd4
40b2d2:	8b fe                	mov    %esi,%edi
40b2d4:	e8 fa 84 ff ff       	call   0x4037d3
40b2d9:	ff 73 34             	push   0x34(%ebx)
40b2dc:	68 78 f1 44 00       	push   $0x44f178
40b2e1:	56                   	push   %esi
40b2e2:	e8 48 4e 03 00       	call   0x44012f
40b2e7:	83 c4 0c             	add    $0xc,%esp
40b2ea:	e9 91 00 00 00       	jmp    0x40b380
40b2ef:	8b 45 10             	mov    0x10(%ebp),%eax
40b2f2:	3b 43 30             	cmp    0x30(%ebx),%eax
40b2f5:	74 26                	je     0x40b31d
40b2f7:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b2fc:	56                   	push   %esi
40b2fd:	68 19 01 00 00       	push   $0x119
40b302:	68 d4 ed 44 00       	push   $0x44edd4
40b307:	8b fe                	mov    %esi,%edi
40b309:	e8 c5 84 ff ff       	call   0x4037d3
40b30e:	68 ac f1 44 00       	push   $0x44f1ac
40b313:	56                   	push   %esi
40b314:	e8 16 4e 03 00       	call   0x44012f
40b319:	59                   	pop    %ecx
40b31a:	59                   	pop    %ecx
40b31b:	eb 63                	jmp    0x40b380
40b31d:	8b 55 14             	mov    0x14(%ebp),%edx
40b320:	33 f6                	xor    %esi,%esi
40b322:	46                   	inc    %esi
40b323:	85 c9                	test   %ecx,%ecx
40b325:	75 0a                	jne    0x40b331
40b327:	8b 43 08             	mov    0x8(%ebx),%eax
40b32a:	89 02                	mov    %eax,(%edx)
40b32c:	89 7a 04             	mov    %edi,0x4(%edx)
40b32f:	eb 1f                	jmp    0x40b350
40b331:	8b 43 0c             	mov    0xc(%ebx),%eax
40b334:	89 02                	mov    %eax,(%edx)
40b336:	89 7a 04             	mov    %edi,0x4(%edx)
40b339:	3b ce                	cmp    %esi,%ecx
40b33b:	76 13                	jbe    0x40b350
40b33d:	8b 43 38             	mov    0x38(%ebx),%eax
40b340:	8b 04 b0             	mov    (%eax,%esi,4),%eax
40b343:	01 02                	add    %eax,(%edx)
40b345:	11 7a 04             	adc    %edi,0x4(%edx)
40b348:	46                   	inc    %esi
40b349:	3b f1                	cmp    %ecx,%esi
40b34b:	72 f0                	jb     0x40b33d
40b34d:	33 f6                	xor    %esi,%esi
40b34f:	46                   	inc    %esi
40b350:	8b 43 38             	mov    0x38(%ebx),%eax
40b353:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40b356:	8b 4d 18             	mov    0x18(%ebp),%ecx
40b359:	89 01                	mov    %eax,(%ecx)
40b35b:	89 79 04             	mov    %edi,0x4(%ecx)
40b35e:	8b 02                	mov    (%edx),%eax
40b360:	03 01                	add    (%ecx),%eax
40b362:	89 45 14             	mov    %eax,0x14(%ebp)
40b365:	8b 42 04             	mov    0x4(%edx),%eax
40b368:	13 c7                	adc    %edi,%eax
40b36a:	3b 43 14             	cmp    0x14(%ebx),%eax
40b36d:	77 0a                	ja     0x40b379
40b36f:	72 0a                	jb     0x40b37b
40b371:	8b 45 14             	mov    0x14(%ebp),%eax
40b374:	3b 43 10             	cmp    0x10(%ebx),%eax
40b377:	76 02                	jbe    0x40b37b
40b379:	8b f7                	mov    %edi,%esi
40b37b:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
40b37e:	89 31                	mov    %esi,(%ecx)
40b380:	8b c7                	mov    %edi,%eax
40b382:	5f                   	pop    %edi
40b383:	5e                   	pop    %esi
40b384:	5b                   	pop    %ebx
40b385:	5d                   	pop    %ebp
40b386:	c2 18 00             	ret    $0x18
40b389:	55                   	push   %ebp
40b38a:	8b ec                	mov    %esp,%ebp
40b38c:	81 ec 8c 01 00 00    	sub    $0x18c,%esp
40b392:	a1 08 a0 46 00       	mov    0x46a008,%eax
40b397:	33 c5                	xor    %ebp,%eax
40b399:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b39c:	53                   	push   %ebx
40b39d:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b3a0:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b3a3:	56                   	push   %esi
40b3a4:	57                   	push   %edi
40b3a5:	33 f6                	xor    %esi,%esi
40b3a7:	0f 57 c0             	xorps  %xmm0,%xmm0
40b3aa:	6a 40                	push   $0x40
40b3ac:	56                   	push   %esi
40b3ad:	50                   	push   %eax
40b3ae:	89 b5 98 fe ff ff    	mov    %esi,-0x168(%ebp)
40b3b4:	66 0f 13 85 74 fe ff 	movlpd %xmm0,-0x18c(%ebp)
40b3bb:	ff
40b3bc:	e8 af 42 02 00       	call   0x42f670
40b3c1:	68 f8 00 00 00       	push   $0xf8
40b3c6:	8d 85 c4 fe ff ff    	lea    -0x13c(%ebp),%eax
40b3cc:	56                   	push   %esi
40b3cd:	50                   	push   %eax
40b3ce:	e8 9d 42 02 00       	call   0x42f670
40b3d3:	83 c4 18             	add    $0x18,%esp
40b3d6:	89 b5 8c fe ff ff    	mov    %esi,-0x174(%ebp)
40b3dc:	33 c0                	xor    %eax,%eax
40b3de:	89 b5 88 fe ff ff    	mov    %esi,-0x178(%ebp)
40b3e4:	8d bd 9c fe ff ff    	lea    -0x164(%ebp),%edi
40b3ea:	89 b5 94 fe ff ff    	mov    %esi,-0x16c(%ebp)
40b3f0:	6a 0a                	push   $0xa
40b3f2:	59                   	pop    %ecx
40b3f3:	f3 ab                	rep stos %eax,%es:(%edi)
40b3f5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b3f8:	89 0b                	mov    %ecx,(%ebx)
40b3fa:	83 f9 ff             	cmp    $0xffffffff,%ecx
40b3fd:	75 36                	jne    0x40b435
40b3ff:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b405:	0f b7 f0             	movzwl %ax,%esi
40b408:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b40e:	85 c0                	test   %eax,%eax
40b410:	0f 4e f0             	cmovle %eax,%esi
40b413:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b418:	85 f6                	test   %esi,%esi
40b41a:	0f 49 f0             	cmovns %eax,%esi
40b41d:	56                   	push   %esi
40b41e:	6a 3a                	push   $0x3a
40b420:	68 d4 ed 44 00       	push   $0x44edd4
40b425:	e8 a9 83 ff ff       	call   0x4037d3
40b42a:	68 e0 ed 44 00       	push   $0x44ede0
40b42f:	56                   	push   %esi
40b430:	e9 b8 06 00 00       	jmp    0x40baed
40b435:	8b 45 10             	mov    0x10(%ebp),%eax
40b438:	83 f8 ff             	cmp    $0xffffffff,%eax
40b43b:	8b 3d f0 b1 44 00    	mov    0x44b1f0,%edi
40b441:	56                   	push   %esi
40b442:	56                   	push   %esi
40b443:	56                   	push   %esi
40b444:	56                   	push   %esi
40b445:	0f 44 c1             	cmove  %ecx,%eax
40b448:	51                   	push   %ecx
40b449:	89 43 04             	mov    %eax,0x4(%ebx)
40b44c:	ff d7                	call   *%edi
40b44e:	85 c0                	test   %eax,%eax
40b450:	75 32                	jne    0x40b484
40b452:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b458:	0f b7 f0             	movzwl %ax,%esi
40b45b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b461:	85 c0                	test   %eax,%eax
40b463:	0f 4e f0             	cmovle %eax,%esi
40b466:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b46b:	85 f6                	test   %esi,%esi
40b46d:	0f 49 f0             	cmovns %eax,%esi
40b470:	56                   	push   %esi
40b471:	6a 43                	push   $0x43
40b473:	68 d4 ed 44 00       	push   $0x44edd4
40b478:	e8 56 83 ff ff       	call   0x4037d3
40b47d:	68 10 ee 44 00       	push   $0x44ee10
40b482:	eb ab                	jmp    0x40b42f
40b484:	56                   	push   %esi
40b485:	8b 35 ec b1 44 00    	mov    0x44b1ec,%esi
40b48b:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b491:	50                   	push   %eax
40b492:	6a 40                	push   $0x40
40b494:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b497:	50                   	push   %eax
40b498:	ff 33                	push   (%ebx)
40b49a:	ff d6                	call   *%esi
40b49c:	85 c0                	test   %eax,%eax
40b49e:	75 35                	jne    0x40b4d5
40b4a0:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b4a6:	0f b7 f0             	movzwl %ax,%esi
40b4a9:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b4af:	85 c0                	test   %eax,%eax
40b4b1:	0f 4e f0             	cmovle %eax,%esi
40b4b4:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b4b9:	85 f6                	test   %esi,%esi
40b4bb:	0f 49 f0             	cmovns %eax,%esi
40b4be:	56                   	push   %esi
40b4bf:	6a 49                	push   $0x49
40b4c1:	68 d4 ed 44 00       	push   $0x44edd4
40b4c6:	e8 08 83 ff ff       	call   0x4037d3
40b4cb:	68 34 ee 44 00       	push   $0x44ee34
40b4d0:	e9 5a ff ff ff       	jmp    0x40b42f
40b4d5:	83 bd 98 fe ff ff 40 	cmpl   $0x40,-0x168(%ebp)
40b4dc:	0f 82 f1 05 00 00    	jb     0x40bad3
40b4e2:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40b4e7:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
40b4eb:	0f 85 e2 05 00 00    	jne    0x40bad3
40b4f1:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b4f4:	6a 00                	push   $0x0
40b4f6:	6a 00                	push   $0x0
40b4f8:	99                   	cltd
40b4f9:	52                   	push   %edx
40b4fa:	50                   	push   %eax
40b4fb:	ff 33                	push   (%ebx)
40b4fd:	ff d7                	call   *%edi
40b4ff:	85 c0                	test   %eax,%eax
40b501:	75 35                	jne    0x40b538
40b503:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b509:	0f b7 f0             	movzwl %ax,%esi
40b50c:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b512:	85 c0                	test   %eax,%eax
40b514:	0f 4e f0             	cmovle %eax,%esi
40b517:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b51c:	85 f6                	test   %esi,%esi
40b51e:	0f 49 f0             	cmovns %eax,%esi
40b521:	56                   	push   %esi
40b522:	6a 59                	push   $0x59
40b524:	68 d4 ed 44 00       	push   $0x44edd4
40b529:	e8 a5 82 ff ff       	call   0x4037d3
40b52e:	68 84 ee 44 00       	push   $0x44ee84
40b533:	e9 f7 fe ff ff       	jmp    0x40b42f
40b538:	6a 00                	push   $0x0
40b53a:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b540:	50                   	push   %eax
40b541:	6a 18                	push   $0x18
40b543:	8d 85 c4 fe ff ff    	lea    -0x13c(%ebp),%eax
40b549:	50                   	push   %eax
40b54a:	ff 33                	push   (%ebx)
40b54c:	ff d6                	call   *%esi
40b54e:	85 c0                	test   %eax,%eax
40b550:	75 35                	jne    0x40b587
40b552:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b558:	0f b7 f0             	movzwl %ax,%esi
40b55b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b561:	85 c0                	test   %eax,%eax
40b563:	0f 4e f0             	cmovle %eax,%esi
40b566:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b56b:	85 f6                	test   %esi,%esi
40b56d:	0f 49 f0             	cmovns %eax,%esi
40b570:	56                   	push   %esi
40b571:	6a 5f                	push   $0x5f
40b573:	68 d4 ed 44 00       	push   $0x44edd4
40b578:	e8 56 82 ff ff       	call   0x4037d3
40b57d:	68 a4 ee 44 00       	push   $0x44eea4
40b582:	e9 a8 fe ff ff       	jmp    0x40b42f
40b587:	83 bd 98 fe ff ff 18 	cmpl   $0x18,-0x168(%ebp)
40b58e:	0f 82 24 05 00 00    	jb     0x40bab8
40b594:	81 bd c4 fe ff ff 50 	cmpl   $0x4550,-0x13c(%ebp)
40b59b:	45 00 00
40b59e:	0f 85 14 05 00 00    	jne    0x40bab8
40b5a4:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b5a7:	8d 48 58             	lea    0x58(%eax),%ecx
40b5aa:	05 98 00 00 00       	add    $0x98,%eax
40b5af:	89 8d 80 fe ff ff    	mov    %ecx,-0x180(%ebp)
40b5b5:	33 c9                	xor    %ecx,%ecx
40b5b7:	51                   	push   %ecx
40b5b8:	51                   	push   %ecx
40b5b9:	51                   	push   %ecx
40b5ba:	50                   	push   %eax
40b5bb:	ff 33                	push   (%ebx)
40b5bd:	89 85 7c fe ff ff    	mov    %eax,-0x184(%ebp)
40b5c3:	ff d7                	call   *%edi
40b5c5:	85 c0                	test   %eax,%eax
40b5c7:	75 35                	jne    0x40b5fe
40b5c9:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b5cf:	0f b7 f0             	movzwl %ax,%esi
40b5d2:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b5d8:	85 c0                	test   %eax,%eax
40b5da:	0f 4e f0             	cmovle %eax,%esi
40b5dd:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b5e2:	85 f6                	test   %esi,%esi
40b5e4:	0f 49 f0             	cmovns %eax,%esi
40b5e7:	56                   	push   %esi
40b5e8:	6a 6f                	push   $0x6f
40b5ea:	68 d4 ed 44 00       	push   $0x44edd4
40b5ef:	e8 df 81 ff ff       	call   0x4037d3
40b5f4:	68 f0 ee 44 00       	push   $0x44eef0
40b5f9:	e9 31 fe ff ff       	jmp    0x40b42f
40b5fe:	6a 00                	push   $0x0
40b600:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b606:	50                   	push   %eax
40b607:	6a 04                	push   $0x4
40b609:	8d 85 8c fe ff ff    	lea    -0x174(%ebp),%eax
40b60f:	50                   	push   %eax
40b610:	ff 33                	push   (%ebx)
40b612:	ff d6                	call   *%esi
40b614:	85 c0                	test   %eax,%eax
40b616:	75 35                	jne    0x40b64d
40b618:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b61e:	0f b7 f0             	movzwl %ax,%esi
40b621:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b627:	85 c0                	test   %eax,%eax
40b629:	0f 4e f0             	cmovle %eax,%esi
40b62c:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b631:	85 f6                	test   %esi,%esi
40b633:	0f 49 f0             	cmovns %eax,%esi
40b636:	56                   	push   %esi
40b637:	6a 74                	push   $0x74
40b639:	68 d4 ed 44 00       	push   $0x44edd4
40b63e:	e8 90 81 ff ff       	call   0x4037d3
40b643:	68 10 ef 44 00       	push   $0x44ef10
40b648:	e9 e2 fd ff ff       	jmp    0x40b42f
40b64d:	6a 00                	push   $0x0
40b64f:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b655:	50                   	push   %eax
40b656:	6a 04                	push   $0x4
40b658:	8d 85 88 fe ff ff    	lea    -0x178(%ebp),%eax
40b65e:	50                   	push   %eax
40b65f:	ff 33                	push   (%ebx)
40b661:	ff d6                	call   *%esi
40b663:	85 c0                	test   %eax,%eax
40b665:	75 35                	jne    0x40b69c
40b667:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b66d:	0f b7 f0             	movzwl %ax,%esi
40b670:	81 ce 00 00 07 80    	or     $0x80070000,%esi