45637a:	68 f8 f5 40 00       	push   $0x40f5f8
45637f:	8b 48 04             	mov    0x4(%eax),%ecx
456382:	51                   	push   %ecx
456383:	56                   	push   %esi
456384:	e8 2c b6 ff ff       	call   0x4519b5
456389:	ff 15 58 75 4a 00    	call   *0x4a7558
45638f:	68 54 f8 40 00       	push   $0x40f854
456394:	8b 48 04             	mov    0x4(%eax),%ecx
456397:	51                   	push   %ecx
456398:	56                   	push   %esi
456399:	e8 17 b6 ff ff       	call   0x4519b5
45639e:	ff 15 58 75 4a 00    	call   *0x4a7558
4563a4:	57                   	push   %edi
4563a5:	8b 48 04             	mov    0x4(%eax),%ecx
4563a8:	51                   	push   %ecx
4563a9:	56                   	push   %esi
4563aa:	e8 06 b6 ff ff       	call   0x4519b5
4563af:	eb 28                	jmp    0x4563d9
4563b1:	8b 87 f0 00 00 00    	mov    0xf0(%edi),%eax
4563b7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4563ba:	85 c0                	test   %eax,%eax
4563bc:	74 1b                	je     0x4563d9
4563be:	8b 00                	mov    (%eax),%eax
4563c0:	6a 01                	push   $0x1
4563c2:	8b 70 04             	mov    0x4(%eax),%esi
4563c5:	8b ce                	mov    %esi,%ecx
4563c7:	ff 15 2c 81 4a 00    	call   *0x4a812c
4563cd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4563d0:	ff d6                	call   *%esi
4563d2:	83 a7 f0 00 00 00 00 	andl   $0x0,0xf0(%edi)
4563d9:	5f                   	pop    %edi
4563da:	5e                   	pop    %esi
4563db:	c9                   	leave
4563dc:	c3                   	ret
4563dd:	cc                   	int3
4563de:	cc                   	int3
4563df:	cc                   	int3
4563e0:	8b ff                	mov    %edi,%edi
4563e2:	55                   	push   %ebp
4563e3:	8b ec                	mov    %esp,%ebp
4563e5:	5d                   	pop    %ebp
4563e6:	ff 25 e8 77 4a 00    	jmp    *0x4a77e8
4563ec:	cc                   	int3
4563ed:	cc                   	int3
4563ee:	cc                   	int3
4563ef:	cc                   	int3
4563f0:	8b ff                	mov    %edi,%edi
4563f2:	55                   	push   %ebp
4563f3:	8b ec                	mov    %esp,%ebp
4563f5:	51                   	push   %ecx
4563f6:	53                   	push   %ebx
4563f7:	57                   	push   %edi
4563f8:	8b 7d 0c             	mov    0xc(%ebp),%edi
4563fb:	8b c1                	mov    %ecx,%eax
4563fd:	89 45 fc             	mov    %eax,-0x4(%ebp)
456400:	85 ff                	test   %edi,%edi
456402:	74 05                	je     0x456409
456404:	83 ff ff             	cmp    $0xffffffff,%edi
456407:	75 30                	jne    0x456439
456409:	8b 58 48             	mov    0x48(%eax),%ebx
45640c:	85 db                	test   %ebx,%ebx
45640e:	74 29                	je     0x456439
456410:	8b 03                	mov    (%ebx),%eax
456412:	56                   	push   %esi
456413:	ff 75 14             	push   0x14(%ebp)
456416:	ff 75 10             	push   0x10(%ebp)
456419:	8b 70 14             	mov    0x14(%eax),%esi
45641c:	8b ce                	mov    %esi,%ecx
45641e:	57                   	push   %edi
45641f:	ff 75 08             	push   0x8(%ebp)
456422:	ff 15 2c 81 4a 00    	call   *0x4a812c
456428:	8b cb                	mov    %ebx,%ecx
45642a:	ff d6                	call   *%esi
45642c:	5e                   	pop    %esi
45642d:	85 c0                	test   %eax,%eax
45642f:	74 05                	je     0x456436
456431:	33 c0                	xor    %eax,%eax
456433:	40                   	inc    %eax
456434:	eb 15                	jmp    0x45644b
456436:	8b 45 fc             	mov    -0x4(%ebp),%eax
456439:	ff 75 14             	push   0x14(%ebp)
45643c:	8b c8                	mov    %eax,%ecx
45643e:	ff 75 10             	push   0x10(%ebp)
456441:	57                   	push   %edi
456442:	ff 75 08             	push   0x8(%ebp)
456445:	ff 15 f8 77 4a 00    	call   *0x4a77f8
45644b:	5f                   	pop    %edi
45644c:	5b                   	pop    %ebx
45644d:	c9                   	leave
45644e:	c2 10 00             	ret    $0x10
456451:	cc                   	int3
456452:	cc                   	int3
456453:	cc                   	int3
456454:	cc                   	int3
456455:	cc                   	int3
456456:	cc                   	int3
456457:	cc                   	int3
456458:	cc                   	int3
456459:	cc                   	int3
45645a:	cc                   	int3
45645b:	cc                   	int3
45645c:	cc                   	int3
45645d:	cc                   	int3
45645e:	cc                   	int3
45645f:	cc                   	int3
456460:	e8 03 00 00 00       	call   0x456468
456465:	c2 0c 00             	ret    $0xc
456468:	8b ff                	mov    %edi,%edi
45646a:	55                   	push   %ebp
45646b:	8b ec                	mov    %esp,%ebp
45646d:	83 e4 f8             	and    $0xfffffff8,%esp
456470:	83 ec 38             	sub    $0x38,%esp
456473:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
456478:	33 c4                	xor    %esp,%eax
45647a:	89 44 24 34          	mov    %eax,0x34(%esp)
45647e:	56                   	push   %esi
45647f:	57                   	push   %edi
456480:	8b f1                	mov    %ecx,%esi
456482:	8d 44 24 0c          	lea    0xc(%esp),%eax
456486:	50                   	push   %eax
456487:	ff 76 20             	push   0x20(%esi)
45648a:	ff 15 ec 7d 4a 00    	call   *0x4a7dec
456490:	33 ff                	xor    %edi,%edi
456492:	39 7e 48             	cmp    %edi,0x48(%esi)
456495:	0f 84 26 01 00 00    	je     0x4565c1
45649b:	8b 4e 58             	mov    0x58(%esi),%ecx
45649e:	39 3d 58 58 4a 00    	cmp    %edi,0x4a5858
4564a4:	0f 84 d1 00 00 00    	je     0x45657b
4564aa:	85 c9                	test   %ecx,%ecx
4564ac:	74 39                	je     0x4564e7
4564ae:	6a 05                	push   $0x5
4564b0:	ff 15 58 74 4a 00    	call   *0x4a7458
4564b6:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4564ba:	50                   	push   %eax
4564bb:	8b 46 58             	mov    0x58(%esi),%eax
4564be:	ff 70 20             	push   0x20(%eax)
4564c1:	ff 15 e8 7d 4a 00    	call   *0x4a7de8
4564c7:	8b 44 24 28          	mov    0x28(%esp),%eax
4564cb:	2b 44 24 20          	sub    0x20(%esp),%eax
4564cf:	8b 4e 58             	mov    0x58(%esi),%ecx
4564d2:	6a 01                	push   $0x1
4564d4:	50                   	push   %eax
4564d5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4564d9:	2b 44 24 14          	sub    0x14(%esp),%eax
4564dd:	50                   	push   %eax
4564de:	57                   	push   %edi
4564df:	6a 13                	push   $0x13
4564e1:	ff 15 50 74 4a 00    	call   *0x4a7450
4564e7:	8b 4e 5c             	mov    0x5c(%esi),%ecx
4564ea:	85 c9                	test   %ecx,%ecx
4564ec:	74 39                	je     0x456527
4564ee:	6a 05                	push   $0x5
4564f0:	ff 15 58 74 4a 00    	call   *0x4a7458
4564f6:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4564fa:	50                   	push   %eax
4564fb:	8b 46 5c             	mov    0x5c(%esi),%eax
4564fe:	ff 70 20             	push   0x20(%eax)
456501:	ff 15 e8 7d 4a 00    	call   *0x4a7de8
456507:	8b 44 24 18          	mov    0x18(%esp),%eax
45650b:	2b 44 24 10          	sub    0x10(%esp),%eax
45650f:	8b 4e 5c             	mov    0x5c(%esi),%ecx
456512:	6a 01                	push   $0x1
456514:	50                   	push   %eax
456515:	8b 44 24 3c          	mov    0x3c(%esp),%eax
456519:	2b 44 24 34          	sub    0x34(%esp),%eax
45651d:	50                   	push   %eax
45651e:	6a 13                	push   $0x13
456520:	57                   	push   %edi
456521:	ff 15 50 74 4a 00    	call   *0x4a7450
456527:	8b 4e 60             	mov    0x60(%esi),%ecx
45652a:	85 c9                	test   %ecx,%ecx
45652c:	74 19                	je     0x456547
45652e:	6a 05                	push   $0x5
456530:	ff 15 58 74 4a 00    	call   *0x4a7458
456536:	8b 4e 60             	mov    0x60(%esi),%ecx
456539:	6a 01                	push   $0x1
45653b:	6a 13                	push   $0x13
45653d:	6a 13                	push   $0x13
45653f:	57                   	push   %edi
456540:	57                   	push   %edi
456541:	ff 15 50 74 4a 00    	call   *0x4a7450
456547:	8b 44 24 18          	mov    0x18(%esp),%eax
45654b:	2b 44 24 10          	sub    0x10(%esp),%eax
45654f:	8b 54 24 28          	mov    0x28(%esp),%edx
456553:	2b c2                	sub    %edx,%eax
456555:	03 44 24 20          	add    0x20(%esp),%eax
456559:	8b 4c 24 34          	mov    0x34(%esp),%ecx
45655d:	2b 54 24 20          	sub    0x20(%esp),%edx
456561:	6a 01                	push   $0x1
456563:	50                   	push   %eax
456564:	8b 44 24 1c          	mov    0x1c(%esp),%eax
456568:	2b c1                	sub    %ecx,%eax
45656a:	2b 44 24 14          	sub    0x14(%esp),%eax
45656e:	03 44 24 34          	add    0x34(%esp),%eax
456572:	2b 4c 24 34          	sub    0x34(%esp),%ecx
456576:	50                   	push   %eax
456577:	52                   	push   %edx
456578:	51                   	push   %ecx
456579:	eb 3d                	jmp    0x4565b8
45657b:	85 c9                	test   %ecx,%ecx
45657d:	74 07                	je     0x456586
45657f:	57                   	push   %edi
456580:	ff 15 58 74 4a 00    	call   *0x4a7458
456586:	8b 4e 5c             	mov    0x5c(%esi),%ecx
456589:	85 c9                	test   %ecx,%ecx
45658b:	74 07                	je     0x456594
45658d:	57                   	push   %edi
45658e:	ff 15 58 74 4a 00    	call   *0x4a7458
456594:	8b 4e 60             	mov    0x60(%esi),%ecx
456597:	85 c9                	test   %ecx,%ecx
456599:	74 07                	je     0x4565a2
45659b:	57                   	push   %edi
45659c:	ff 15 58 74 4a 00    	call   *0x4a7458
4565a2:	8b 44 24 18          	mov    0x18(%esp),%eax
4565a6:	2b 44 24 10          	sub    0x10(%esp),%eax
4565aa:	6a 01                	push   $0x1
4565ac:	50                   	push   %eax
4565ad:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4565b1:	2b 44 24 14          	sub    0x14(%esp),%eax
4565b5:	50                   	push   %eax
4565b6:	57                   	push   %edi
4565b7:	57                   	push   %edi
4565b8:	8b 4e 48             	mov    0x48(%esi),%ecx
4565bb:	ff 15 50 74 4a 00    	call   *0x4a7450
4565c1:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4565c5:	5f                   	pop    %edi
4565c6:	5e                   	pop    %esi
4565c7:	33 cc                	xor    %esp,%ecx
4565c9:	e8 32 99 03 00       	call   0x48ff00
4565ce:	8b e5                	mov    %ebp,%esp
4565d0:	5d                   	pop    %ebp
4565d1:	c3                   	ret
4565d2:	68 28 02 00 00       	push   $0x228
4565d7:	b8 ad 40 49 00       	mov    $0x4940ad,%eax
4565dc:	e8 25 9f 03 00       	call   0x490506
4565e1:	8b c1                	mov    %ecx,%eax
4565e3:	89 85 dc fd ff ff    	mov    %eax,-0x224(%ebp)
4565e9:	8b 78 40             	mov    0x40(%eax),%edi
4565ec:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
4565f2:	85 ff                	test   %edi,%edi
4565f4:	0f 84 a1 03 00 00    	je     0x45699b
4565fa:	8b b7 f0 00 00 00    	mov    0xf0(%edi),%esi
456600:	89 b5 e0 fd ff ff    	mov    %esi,-0x220(%ebp)
456606:	85 f6                	test   %esi,%esi
456608:	0f 84 8d 03 00 00    	je     0x45699b
45660e:	33 c0                	xor    %eax,%eax
456610:	39 87 fc 00 00 00    	cmp    %eax,0xfc(%edi)
456616:	0f 85 a9 01 00 00    	jne    0x4567c5
45661c:	39 46 28             	cmp    %eax,0x28(%esi)
45661f:	0f 85 a0 01 00 00    	jne    0x4567c5
456625:	39 46 30             	cmp    %eax,0x30(%esi)
456628:	0f 84 97 01 00 00    	je     0x4567c5
45662e:	39 46 38             	cmp    %eax,0x38(%esi)
456631:	0f 84 8e 01 00 00    	je     0x4567c5
456637:	8b 06                	mov    (%esi),%eax
456639:	6a 01                	push   $0x1
45663b:	8b 70 04             	mov    0x4(%eax),%esi
45663e:	8b ce                	mov    %esi,%ecx
456640:	ff 15 2c 81 4a 00    	call   *0x4a812c
456646:	8b 8d e0 fd ff ff    	mov    -0x220(%ebp),%ecx
45664c:	ff d6                	call   *%esi
45664e:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
456654:	ff 15 20 74 4a 00    	call   *0x4a7420
45665a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45665e:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
456664:	ff 15 20 74 4a 00    	call   *0x4a7420
45666a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45666e:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
456674:	8b 7f 28             	mov    0x28(%edi),%edi
456677:	6a 01                	push   $0x1
456679:	51                   	push   %ecx
45667a:	8b 07                	mov    (%edi),%eax
45667c:	8b 70 6c             	mov    0x6c(%eax),%esi
45667f:	8b ce                	mov    %esi,%ecx
456681:	ff 15 2c 81 4a 00    	call   *0x4a812c
456687:	8b cf                	mov    %edi,%ecx
456689:	ff d6                	call   *%esi
45668b:	85 c0                	test   %eax,%eax
45668d:	74 0c                	je     0x45669b
45668f:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
456695:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
456699:	75 11                	jne    0x4566ac
45669b:	68 03 f0 00 00       	push   $0xf003
4566a0:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
4566a6:	ff 15 40 74 4a 00    	call   *0x4a7440
4566ac:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
4566b2:	6a 04                	push   $0x4
4566b4:	8b 79 28             	mov    0x28(%ecx),%edi
4566b7:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
4566bd:	51                   	push   %ecx
4566be:	8b 07                	mov    (%edi),%eax
4566c0:	8b 70 6c             	mov    0x6c(%eax),%esi
4566c3:	8b ce                	mov    %esi,%ecx
4566c5:	ff 15 2c 81 4a 00    	call   *0x4a812c
4566cb:	8b cf                	mov    %edi,%ecx
4566cd:	ff d6                	call   *%esi
4566cf:	85 c0                	test   %eax,%eax
4566d1:	74 5a                	je     0x45672d
4566d3:	8b 85 d4 fd ff ff    	mov    -0x22c(%ebp),%eax
4566d9:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
4566dd:	74 4e                	je     0x45672d
4566df:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
4566e5:	50                   	push   %eax
4566e6:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
4566ec:	50                   	push   %eax
4566ed:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
4566f3:	50                   	push   %eax
4566f4:	ff 15 2c 7b 4a 00    	call   *0x4a7b2c
4566fa:	8b bd d0 fd ff ff    	mov    -0x230(%ebp),%edi
456700:	6a 02                	push   $0x2
456702:	59                   	pop    %ecx
456703:	88 4d fc             	mov    %cl,-0x4(%ebp)
456706:	8b 0f                	mov    (%edi),%ecx
456708:	6a 01                	push   $0x1
45670a:	ff 30                	push   (%eax)
45670c:	8b 71 5c             	mov    0x5c(%ecx),%esi
45670f:	8b ce                	mov    %esi,%ecx
456711:	ff 15 2c 81 4a 00    	call   *0x4a812c
456717:	8b cf                	mov    %edi,%ecx
456719:	ff d6                	call   *%esi
45671b:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
456721:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
456725:	ff 15 1c 74 4a 00    	call   *0x4a741c
45672b:	eb 1f                	jmp    0x45674c
45672d:	8b bd d0 fd ff ff    	mov    -0x230(%ebp),%edi
456733:	6a 01                	push   $0x1
456735:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
45673b:	8b 07                	mov    (%edi),%eax
45673d:	8b 70 5c             	mov    0x5c(%eax),%esi
456740:	8b ce                	mov    %esi,%ecx
456742:	ff 15 2c 81 4a 00    	call   *0x4a812c
456748:	8b cf                	mov    %edi,%ecx
45674a:	ff d6                	call   *%esi
45674c:	8b 07                	mov    (%edi),%eax
45674e:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
456754:	8b 70 58             	mov    0x58(%eax),%esi
456757:	8b ce                	mov    %esi,%ecx
456759:	ff 15 2c 81 4a 00    	call   *0x4a812c
45675f:	8b cf                	mov    %edi,%ecx
456761:	ff d6                	call   *%esi
456763:	8d 8f f4 00 00 00    	lea    0xf4(%edi),%ecx
456769:	ff 15 44 74 4a 00    	call   *0x4a7444
45676f:	8b cf                	mov    %edi,%ecx
456771:	c7 87 f8 00 00 00 01 	movl   $0x1,0xf8(%edi)
456778:	00 00 00
45677b:	e8 cc 9a fe ff       	call   0x44024c
456780:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
456786:	85 c0                	test   %eax,%eax
456788:	75 17                	jne    0x4567a1
45678a:	ff 15 1c 74 4a 00    	call   *0x4a741c