4ca304:	8b 74 24 24          	mov    0x24(%esp),%esi
4ca308:	33 ef                	xor    %edi,%ebp
4ca30a:	8b 7c 24 10          	mov    0x10(%esp),%edi
4ca30e:	0f ac c2 07          	shrd   $0x7,%eax,%edx
4ca312:	89 71 20             	mov    %esi,0x20(%ecx)
4ca315:	33 da                	xor    %edx,%ebx
4ca317:	c1 e8 07             	shr    $0x7,%eax
4ca31a:	8b 54 24 18          	mov    0x18(%esp),%edx
4ca31e:	33 e8                	xor    %eax,%ebp
4ca320:	8b 44 24 14          	mov    0x14(%esp),%eax
4ca324:	03 c3                	add    %ebx,%eax
4ca326:	89 79 24             	mov    %edi,0x24(%ecx)
4ca329:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4ca32d:	13 d5                	adc    %ebp,%edx
4ca32f:	89 19                	mov    %ebx,(%ecx)
4ca331:	03 81 c0 00 00 00    	add    0xc0(%ecx),%eax
4ca337:	8b ef                	mov    %edi,%ebp
4ca339:	8b 5c 24 20          	mov    0x20(%esp),%ebx
4ca33d:	13 91 c4 00 00 00    	adc    0xc4(%ecx),%edx
4ca343:	03 41 78             	add    0x78(%ecx),%eax
4ca346:	89 44 24 14          	mov    %eax,0x14(%esp)
4ca34a:	13 51 7c             	adc    0x7c(%ecx),%edx
4ca34d:	89 54 24 18          	mov    %edx,0x18(%esp)
4ca351:	89 59 04             	mov    %ebx,0x4(%ecx)
4ca354:	89 41 40             	mov    %eax,0x40(%ecx)
4ca357:	89 51 44             	mov    %edx,0x44(%ecx)
4ca35a:	c1 ed 09             	shr    $0x9,%ebp
4ca35d:	8b d7                	mov    %edi,%edx
4ca35f:	8b c6                	mov    %esi,%eax
4ca361:	0f a4 c2 17          	shld   $0x17,%eax,%edx
4ca365:	33 db                	xor    %ebx,%ebx
4ca367:	8b fe                	mov    %esi,%edi
4ca369:	0b da                	or     %edx,%ebx
4ca36b:	c1 e0 17             	shl    $0x17,%eax
4ca36e:	8b 54 24 10          	mov    0x10(%esp),%edx
4ca372:	0b e8                	or     %eax,%ebp
4ca374:	8b 44 24 24          	mov    0x24(%esp),%eax
4ca378:	33 f6                	xor    %esi,%esi
4ca37a:	0f ac d0 12          	shrd   $0x12,%edx,%eax
4ca37e:	c1 e7 0e             	shl    $0xe,%edi
4ca381:	0b f0                	or     %eax,%esi
4ca383:	c1 ea 12             	shr    $0x12,%edx
4ca386:	8b 44 24 24          	mov    0x24(%esp),%eax
4ca38a:	0b fa                	or     %edx,%edi
4ca38c:	8b 54 24 10          	mov    0x10(%esp),%edx
4ca390:	33 df                	xor    %edi,%ebx
4ca392:	8b f8                	mov    %eax,%edi
4ca394:	33 ee                	xor    %esi,%ebp
4ca396:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
4ca39a:	c1 e7 12             	shl    $0x12,%edi
4ca39d:	33 f6                	xor    %esi,%esi
4ca39f:	0b f0                	or     %eax,%esi
4ca3a1:	c1 ea 0e             	shr    $0xe,%edx
4ca3a4:	8b 41 2c             	mov    0x2c(%ecx),%eax
4ca3a7:	0b fa                	or     %edx,%edi
4ca3a9:	23 44 24 10          	and    0x10(%esp),%eax
4ca3ad:	33 df                	xor    %edi,%ebx
4ca3af:	8b 7c 24 24          	mov    0x24(%esp),%edi
4ca3b3:	33 ee                	xor    %esi,%ebp
4ca3b5:	8b 74 24 10          	mov    0x10(%esp),%esi
4ca3b9:	f7 d7                	not    %edi
4ca3bb:	23 79 30             	and    0x30(%ecx),%edi
4ca3be:	f7 d6                	not    %esi
4ca3c0:	23 71 34             	and    0x34(%ecx),%esi
4ca3c3:	8b 51 28             	mov    0x28(%ecx),%edx
4ca3c6:	33 f0                	xor    %eax,%esi
4ca3c8:	23 54 24 24          	and    0x24(%esp),%edx
4ca3cc:	8b 44 24 34          	mov    0x34(%esp),%eax
4ca3d0:	33 fa                	xor    %edx,%edi
4ca3d2:	8b 54 24 18          	mov    0x18(%esp),%edx
4ca3d6:	03 ef                	add    %edi,%ebp
4ca3d8:	13 de                	adc    %esi,%ebx
4ca3da:	03 69 38             	add    0x38(%ecx),%ebp
4ca3dd:	13 59 3c             	adc    0x3c(%ecx),%ebx
4ca3e0:	03 28                	add    (%eax),%ebp
4ca3e2:	13 58 04             	adc    0x4(%eax),%ebx
4ca3e5:	8b 44 24 14          	mov    0x14(%esp),%eax
4ca3e9:	03 c5                	add    %ebp,%eax
4ca3eb:	8b 69 08             	mov    0x8(%ecx),%ebp
4ca3ee:	89 44 24 14          	mov    %eax,0x14(%esp)
4ca3f2:	13 d3                	adc    %ebx,%edx
4ca3f4:	8b 59 18             	mov    0x18(%ecx),%ebx
4ca3f7:	03 d8                	add    %eax,%ebx
4ca3f9:	89 54 24 18          	mov    %edx,0x18(%esp)
4ca3fd:	8b 41 1c             	mov    0x1c(%ecx),%eax
4ca400:	13 c2                	adc    %edx,%eax
4ca402:	89 5c 24 24          	mov    %ebx,0x24(%esp)
4ca406:	8b 54 24 20          	mov    0x20(%esp),%edx
4ca40a:	33 f6                	xor    %esi,%esi
4ca40c:	8b 59 0c             	mov    0xc(%ecx),%ebx
4ca40f:	89 44 24 10          	mov    %eax,0x10(%esp)
4ca413:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4ca417:	8b f8                	mov    %eax,%edi
4ca419:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
4ca41d:	c1 e7 04             	shl    $0x4,%edi
4ca420:	c1 ea 1c             	shr    $0x1c,%edx
4ca423:	0b f0                	or     %eax,%esi
4ca425:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4ca429:	0b fa                	or     %edx,%edi
4ca42b:	8b 54 24 20          	mov    0x20(%esp),%edx
4ca42f:	89 7c 24 30          	mov    %edi,0x30(%esp)
4ca433:	8b fa                	mov    %edx,%edi
4ca435:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
4ca439:	89 74 24 2c          	mov    %esi,0x2c(%esp)
4ca43d:	33 f6                	xor    %esi,%esi
4ca43f:	c1 ef 02             	shr    $0x2,%edi
4ca442:	c1 e0 1e             	shl    $0x1e,%eax
4ca445:	0b f8                	or     %eax,%edi
4ca447:	31 7c 24 2c          	xor    %edi,0x2c(%esp)
4ca44b:	0b f2                	or     %edx,%esi
4ca44d:	8b 54 24 20          	mov    0x20(%esp),%edx
4ca451:	8b fa                	mov    %edx,%edi
4ca453:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4ca457:	31 74 24 30          	xor    %esi,0x30(%esp)
4ca45b:	33 f6                	xor    %esi,%esi
4ca45d:	0f a4 c2 19          	shld   $0x19,%eax,%edx
4ca461:	c1 ef 07             	shr    $0x7,%edi
4ca464:	0b f2                	or     %edx,%esi
4ca466:	c1 e0 19             	shl    $0x19,%eax
4ca469:	31 74 24 30          	xor    %esi,0x30(%esp)
4ca46d:	0b f8                	or     %eax,%edi
4ca46f:	31 7c 24 2c          	xor    %edi,0x2c(%esp)
4ca473:	8b c3                	mov    %ebx,%eax
4ca475:	33 41 14             	xor    0x14(%ecx),%eax
4ca478:	8b d5                	mov    %ebp,%edx
4ca47a:	33 51 10             	xor    0x10(%ecx),%edx
4ca47d:	23 54 24 1c          	and    0x1c(%esp),%edx
4ca481:	23 44 24 20          	and    0x20(%esp),%eax
4ca485:	23 59 14             	and    0x14(%ecx),%ebx
4ca488:	23 69 10             	and    0x10(%ecx),%ebp
4ca48b:	33 c3                	xor    %ebx,%eax
4ca48d:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
4ca491:	33 d5                	xor    %ebp,%edx
4ca493:	03 da                	add    %edx,%ebx
4ca495:	8b 54 24 30          	mov    0x30(%esp),%edx
4ca499:	13 d0                	adc    %eax,%edx
4ca49b:	03 5c 24 14          	add    0x14(%esp),%ebx
4ca49f:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4ca4a3:	13 54 24 18          	adc    0x18(%esp),%edx
4ca4a7:	83 e9 08             	sub    $0x8,%ecx
4ca4aa:	8b c2                	mov    %edx,%eax
4ca4ac:	89 54 24 20          	mov    %edx,0x20(%esp)
4ca4b0:	8b 54 24 34          	mov    0x34(%esp),%edx
4ca4b4:	83 c2 08             	add    $0x8,%edx
4ca4b7:	89 54 24 34          	mov    %edx,0x34(%esp)
4ca4bb:	81 fa 88 d3 6a 00    	cmp    $0x6ad388,%edx
4ca4c1:	0f 8c 99 fd ff ff    	jl     0x4ca260
4ca4c7:	8b 6c 24 28          	mov    0x28(%esp),%ebp
4ca4cb:	8b 54 24 38          	mov    0x38(%esp),%edx
4ca4cf:	8b 74 24 3c          	mov    0x3c(%esp),%esi
4ca4d3:	03 d3                	add    %ebx,%edx
4ca4d5:	8b 5c 24 40          	mov    0x40(%esp),%ebx
4ca4d9:	13 f0                	adc    %eax,%esi
4ca4db:	8b 41 0c             	mov    0xc(%ecx),%eax
4ca4de:	89 13                	mov    %edx,(%ebx)
4ca4e0:	8b 51 08             	mov    0x8(%ecx),%edx
4ca4e3:	01 53 08             	add    %edx,0x8(%ebx)
4ca4e6:	8b 51 10             	mov    0x10(%ecx),%edx
4ca4e9:	13 43 0c             	adc    0xc(%ebx),%eax
4ca4ec:	01 53 10             	add    %edx,0x10(%ebx)
4ca4ef:	8b 51 18             	mov    0x18(%ecx),%edx
4ca4f2:	89 43 0c             	mov    %eax,0xc(%ebx)
4ca4f5:	8b 41 14             	mov    0x14(%ecx),%eax
4ca4f8:	13 43 14             	adc    0x14(%ebx),%eax
4ca4fb:	01 53 18             	add    %edx,0x18(%ebx)
4ca4fe:	8b 54 24 48          	mov    0x48(%esp),%edx
4ca502:	89 43 14             	mov    %eax,0x14(%ebx)
4ca505:	8b 41 1c             	mov    0x1c(%ecx),%eax
4ca508:	13 43 1c             	adc    0x1c(%ebx),%eax
4ca50b:	89 43 1c             	mov    %eax,0x1c(%ebx)
4ca50e:	8b 44 24 44          	mov    0x44(%esp),%eax
4ca512:	03 44 24 24          	add    0x24(%esp),%eax
4ca516:	89 43 20             	mov    %eax,0x20(%ebx)
4ca519:	13 54 24 10          	adc    0x10(%esp),%edx
4ca51d:	8b 41 2c             	mov    0x2c(%ecx),%eax
4ca520:	89 53 24             	mov    %edx,0x24(%ebx)
4ca523:	8b 51 28             	mov    0x28(%ecx),%edx
4ca526:	01 53 28             	add    %edx,0x28(%ebx)
4ca529:	8b 51 30             	mov    0x30(%ecx),%edx
4ca52c:	13 43 2c             	adc    0x2c(%ebx),%eax
4ca52f:	01 53 30             	add    %edx,0x30(%ebx)
4ca532:	8b 51 38             	mov    0x38(%ecx),%edx
4ca535:	89 43 2c             	mov    %eax,0x2c(%ebx)
4ca538:	8b 41 34             	mov    0x34(%ecx),%eax
4ca53b:	13 43 34             	adc    0x34(%ebx),%eax
4ca53e:	01 53 38             	add    %edx,0x38(%ebx)
4ca541:	89 43 34             	mov    %eax,0x34(%ebx)
4ca544:	8b 41 3c             	mov    0x3c(%ecx),%eax
4ca547:	13 43 3c             	adc    0x3c(%ebx),%eax
4ca54a:	8b 8c 24 24 03 00 00 	mov    0x324(%esp),%ecx
4ca551:	89 73 04             	mov    %esi,0x4(%ebx)
4ca554:	89 43 3c             	mov    %eax,0x3c(%ebx)
4ca557:	85 c9                	test   %ecx,%ecx
4ca559:	0f 85 f1 f9 ff ff    	jne    0x4c9f50
4ca55f:	5f                   	pop    %edi
4ca560:	5e                   	pop    %esi
4ca561:	5d                   	pop    %ebp
4ca562:	8b 8c 24 08 03 00 00 	mov    0x308(%esp),%ecx
4ca569:	5b                   	pop    %ebx
4ca56a:	33 cc                	xor    %esp,%ecx
4ca56c:	e8 69 6f 11 00       	call   0x5e14da
4ca571:	81 c4 08 03 00 00    	add    $0x308,%esp
4ca577:	c3                   	ret
4ca578:	cc                   	int3
4ca579:	cc                   	int3
4ca57a:	cc                   	int3
4ca57b:	cc                   	int3
4ca57c:	cc                   	int3
4ca57d:	cc                   	int3
4ca57e:	cc                   	int3
4ca57f:	cc                   	int3
4ca580:	56                   	push   %esi
4ca581:	8b 74 24 0c          	mov    0xc(%esp),%esi
4ca585:	f7 06 00 03 00 00    	testl  $0x300,(%esi)
4ca58b:	75 04                	jne    0x4ca591
4ca58d:	8b c6                	mov    %esi,%eax
4ca58f:	5e                   	pop    %esi
4ca590:	c3                   	ret
4ca591:	8b 46 10             	mov    0x10(%esi),%eax
4ca594:	57                   	push   %edi
4ca595:	ff d0                	call   *%eax
4ca597:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4ca59b:	8b f8                	mov    %eax,%edi
4ca59d:	8b 57 04             	mov    0x4(%edi),%edx
4ca5a0:	03 11                	add    (%ecx),%edx
4ca5a2:	8b 02                	mov    (%edx),%eax
4ca5a4:	85 c0                	test   %eax,%eax
4ca5a6:	75 0a                	jne    0x4ca5b2
4ca5a8:	8b 47 18             	mov    0x18(%edi),%eax
4ca5ab:	85 c0                	test   %eax,%eax
4ca5ad:	74 3c                	je     0x4ca5eb
4ca5af:	5f                   	pop    %edi
4ca5b0:	5e                   	pop    %esi
4ca5b1:	c3                   	ret
4ca5b2:	f7 06 00 01 00 00    	testl  $0x100,(%esi)
4ca5b8:	50                   	push   %eax
4ca5b9:	74 07                	je     0x4ca5c2
4ca5bb:	e8 20 d4 fd ff       	call   0x4a79e0
4ca5c0:	eb 05                	jmp    0x4ca5c7
4ca5c2:	e8 b9 98 fe ff       	call   0x4b3e80
4ca5c7:	8b 77 10             	mov    0x10(%edi),%esi
4ca5ca:	83 c4 04             	add    $0x4,%esp
4ca5cd:	33 c9                	xor    %ecx,%ecx
4ca5cf:	8b d0                	mov    %eax,%edx
4ca5d1:	8b 47 0c             	mov    0xc(%edi),%eax
4ca5d4:	85 f6                	test   %esi,%esi
4ca5d6:	7e 0c                	jle    0x4ca5e4
4ca5d8:	39 10                	cmp    %edx,(%eax)
4ca5da:	74 36                	je     0x4ca612
4ca5dc:	41                   	inc    %ecx
4ca5dd:	83 c0 18             	add    $0x18,%eax
4ca5e0:	3b ce                	cmp    %esi,%ecx
4ca5e2:	7c f4                	jl     0x4ca5d8
4ca5e4:	8b 47 14             	mov    0x14(%edi),%eax
4ca5e7:	85 c0                	test   %eax,%eax
4ca5e9:	75 24                	jne    0x4ca60f
4ca5eb:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
4ca5f0:	74 1b                	je     0x4ca60d
4ca5f2:	68 11 01 00 00       	push   $0x111
4ca5f7:	68 88 d3 6a 00       	push   $0x6ad388
4ca5fc:	68 a4 00 00 00       	push   $0xa4
4ca601:	6a 6e                	push   $0x6e
4ca603:	6a 0d                	push   $0xd
4ca605:	e8 96 6e fd ff       	call   0x4a14a0
4ca60a:	83 c4 14             	add    $0x14,%esp
4ca60d:	33 c0                	xor    %eax,%eax
4ca60f:	5f                   	pop    %edi
4ca610:	5e                   	pop    %esi
4ca611:	c3                   	ret
4ca612:	5f                   	pop    %edi
4ca613:	83 c0 04             	add    $0x4,%eax
4ca616:	5e                   	pop    %esi
4ca617:	c3                   	ret
4ca618:	cc                   	int3
4ca619:	cc                   	int3
4ca61a:	cc                   	int3
4ca61b:	cc                   	int3
4ca61c:	cc                   	int3
4ca61d:	cc                   	int3
4ca61e:	cc                   	int3
4ca61f:	cc                   	int3
4ca620:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4ca624:	8a 01                	mov    (%ecx),%al
4ca626:	3c 01                	cmp    $0x1,%al
4ca628:	74 04                	je     0x4ca62e
4ca62a:	3c 06                	cmp    $0x6,%al
4ca62c:	75 3f                	jne    0x4ca66d
4ca62e:	8b 49 10             	mov    0x10(%ecx),%ecx
4ca631:	85 c9                	test   %ecx,%ecx
4ca633:	74 38                	je     0x4ca66d
4ca635:	f6 41 04 01          	testb  $0x1,0x4(%ecx)
4ca639:	74 32                	je     0x4ca66d
4ca63b:	8b 44 24 04          	mov    0x4(%esp),%eax
4ca63f:	8b 51 08             	mov    0x8(%ecx),%edx
4ca642:	03 10                	add    (%eax),%edx
4ca644:	8b 44 24 08          	mov    0x8(%esp),%eax
4ca648:	85 c0                	test   %eax,%eax
4ca64a:	75 0c                	jne    0x4ca658
4ca64c:	c7 02 01 00 00 00    	movl   $0x1,(%edx)
4ca652:	b8 01 00 00 00       	mov    $0x1,%eax
4ca657:	c3                   	ret
4ca658:	6a 76                	push   $0x76
4ca65a:	68 88 d3 6a 00       	push   $0x6ad388
4ca65f:	ff 71 0c             	push   0xc(%ecx)
4ca662:	50                   	push   %eax
4ca663:	52                   	push   %edx
4ca664:	e8 b7 5d fd ff       	call   0x4a0420
4ca669:	83 c4 14             	add    $0x14,%esp
4ca66c:	c3                   	ret
4ca66d:	33 c0                	xor    %eax,%eax
4ca66f:	c3                   	ret
4ca670:	8b 44 24 04          	mov    0x4(%esp),%eax
4ca674:	85 c0                	test   %eax,%eax
4ca676:	74 43                	je     0x4ca6bb
4ca678:	8b 08                	mov    (%eax),%ecx
4ca67a:	85 c9                	test   %ecx,%ecx
4ca67c:	74 3d                	je     0x4ca6bb
4ca67e:	8b 44 24 08          	mov    0x8(%esp),%eax
4ca682:	56                   	push   %esi
4ca683:	8b 70 10             	mov    0x10(%eax),%esi
4ca686:	85 f6                	test   %esi,%esi
4ca688:	74 30                	je     0x4ca6ba
4ca68a:	f6 46 04 02          	testb  $0x2,0x4(%esi)
4ca68e:	74 2a                	je     0x4ca6ba
4ca690:	8b 76 14             	mov    0x14(%esi),%esi
4ca693:	03 f1                	add    %ecx,%esi
4ca695:	74 23                	je     0x4ca6ba
4ca697:	8b 06                	mov    (%esi),%eax
4ca699:	85 c0                	test   %eax,%eax
4ca69b:	74 09                	je     0x4ca6a6
4ca69d:	50                   	push   %eax
4ca69e:	e8 8d 5a fd ff       	call   0x4a0130
4ca6a3:	83 c4 04             	add    $0x4,%esp
4ca6a6:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4ca6ac:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4ca6b3:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
4ca6ba:	5e                   	pop    %esi
4ca6bb:	c3                   	ret
4ca6bc:	cc                   	int3
4ca6bd:	cc                   	int3
4ca6be:	cc                   	int3
4ca6bf:	cc                   	int3
4ca6c0:	8b 44 24 04          	mov    0x4(%esp),%eax
4ca6c4:	85 c0                	test   %eax,%eax
4ca6c6:	74 32                	je     0x4ca6fa
4ca6c8:	8b 08                	mov    (%eax),%ecx
4ca6ca:	85 c9                	test   %ecx,%ecx
4ca6cc:	74 2c                	je     0x4ca6fa
4ca6ce:	8b 44 24 08          	mov    0x8(%esp),%eax
4ca6d2:	8b 40 10             	mov    0x10(%eax),%eax