45d46d:	c1 e0 02             	shl    $0x2,%eax
45d470:	50                   	push   %eax
45d471:	8d 47 04             	lea    0x4(%edi),%eax
45d474:	50                   	push   %eax
45d475:	8b 46 0c             	mov    0xc(%esi),%eax
45d478:	83 c0 04             	add    $0x4,%eax
45d47b:	50                   	push   %eax
45d47c:	e8 4f 59 17 00       	call   0x5d2dd0
45d481:	8b 4e 0c             	mov    0xc(%esi),%ecx
45d484:	83 c4 0c             	add    $0xc,%esp
45d487:	8b 07                	mov    (%edi),%eax
45d489:	89 01                	mov    %eax,(%ecx)
45d48b:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
45d491:	eb 09                	jmp    0x45d49c
45d493:	8b 46 0c             	mov    0xc(%esi),%eax
45d496:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
45d49c:	85 db                	test   %ebx,%ebx
45d49e:	75 11                	jne    0x45d4b1
45d4a0:	8d 04 8d 04 00 00 00 	lea    0x4(,%ecx,4),%eax
45d4a7:	50                   	push   %eax
45d4a8:	57                   	push   %edi
45d4a9:	e8 a7 3d 17 00       	call   0x5d1255
45d4ae:	83 c4 08             	add    $0x8,%esp
45d4b1:	8b 4e 04             	mov    0x4(%esi),%ecx
45d4b4:	8b 46 0c             	mov    0xc(%esi),%eax
45d4b7:	8d 04 88             	lea    (%eax,%ecx,4),%eax
45d4ba:	83 c0 04             	add    $0x4,%eax
45d4bd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45d4c0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45d4c7:	59                   	pop    %ecx
45d4c8:	5f                   	pop    %edi
45d4c9:	5e                   	pop    %esi
45d4ca:	5b                   	pop    %ebx
45d4cb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d4ce:	33 cd                	xor    %ebp,%ecx
45d4d0:	e8 51 45 17 00       	call   0x5d1a26
45d4d5:	8b e5                	mov    %ebp,%esp
45d4d7:	5d                   	pop    %ebp
45d4d8:	c2 04 00             	ret    $0x4
45d4db:	cc                   	int3
45d4dc:	cc                   	int3
45d4dd:	cc                   	int3
45d4de:	cc                   	int3
45d4df:	cc                   	int3
45d4e0:	55                   	push   %ebp
45d4e1:	8b ec                	mov    %esp,%ebp
45d4e3:	53                   	push   %ebx
45d4e4:	57                   	push   %edi
45d4e5:	8b 7d 08             	mov    0x8(%ebp),%edi
45d4e8:	8b d9                	mov    %ecx,%ebx
45d4ea:	8b 07                	mov    (%edi),%eax
45d4ec:	85 c0                	test   %eax,%eax
45d4ee:	74 28                	je     0x45d518
45d4f0:	56                   	push   %esi
45d4f1:	8b 33                	mov    (%ebx),%esi
45d4f3:	03 c6                	add    %esi,%eax
45d4f5:	50                   	push   %eax
45d4f6:	e8 25 01 00 00       	call   0x45d620
45d4fb:	8b 07                	mov    (%edi),%eax
45d4fd:	01 03                	add    %eax,(%ebx)
45d4ff:	8b 07                	mov    (%edi),%eax
45d501:	c1 e0 02             	shl    $0x2,%eax
45d504:	50                   	push   %eax
45d505:	8b 43 08             	mov    0x8(%ebx),%eax
45d508:	ff 77 08             	push   0x8(%edi)
45d50b:	8d 04 b0             	lea    (%eax,%esi,4),%eax
45d50e:	50                   	push   %eax
45d50f:	e8 bc 58 17 00       	call   0x5d2dd0
45d514:	83 c4 0c             	add    $0xc,%esp
45d517:	5e                   	pop    %esi
45d518:	5f                   	pop    %edi
45d519:	5b                   	pop    %ebx
45d51a:	5d                   	pop    %ebp
45d51b:	c2 04 00             	ret    $0x4
45d51e:	cc                   	int3
45d51f:	cc                   	int3
45d520:	55                   	push   %ebp
45d521:	8b ec                	mov    %esp,%ebp
45d523:	53                   	push   %ebx
45d524:	57                   	push   %edi
45d525:	8b 7d 08             	mov    0x8(%ebp),%edi
45d528:	8b d9                	mov    %ecx,%ebx
45d52a:	8b 07                	mov    (%edi),%eax
45d52c:	85 c0                	test   %eax,%eax
45d52e:	74 28                	je     0x45d558
45d530:	56                   	push   %esi
45d531:	8b 33                	mov    (%ebx),%esi
45d533:	03 c6                	add    %esi,%eax
45d535:	50                   	push   %eax
45d536:	e8 b5 01 00 00       	call   0x45d6f0
45d53b:	8b 07                	mov    (%edi),%eax
45d53d:	01 03                	add    %eax,(%ebx)
45d53f:	8b 07                	mov    (%edi),%eax
45d541:	c1 e0 03             	shl    $0x3,%eax
45d544:	50                   	push   %eax
45d545:	8b 43 08             	mov    0x8(%ebx),%eax
45d548:	ff 77 08             	push   0x8(%edi)
45d54b:	8d 04 f0             	lea    (%eax,%esi,8),%eax
45d54e:	50                   	push   %eax
45d54f:	e8 7c 58 17 00       	call   0x5d2dd0
45d554:	83 c4 0c             	add    $0xc,%esp
45d557:	5e                   	pop    %esi
45d558:	5f                   	pop    %edi
45d559:	5b                   	pop    %ebx
45d55a:	5d                   	pop    %ebp
45d55b:	c2 04 00             	ret    $0x4
45d55e:	cc                   	int3
45d55f:	cc                   	int3
45d560:	55                   	push   %ebp
45d561:	8b ec                	mov    %esp,%ebp
45d563:	53                   	push   %ebx
45d564:	57                   	push   %edi
45d565:	8b 7d 08             	mov    0x8(%ebp),%edi
45d568:	8b d9                	mov    %ecx,%ebx
45d56a:	8b 07                	mov    (%edi),%eax
45d56c:	85 c0                	test   %eax,%eax
45d56e:	74 23                	je     0x45d593
45d570:	56                   	push   %esi
45d571:	8b 33                	mov    (%ebx),%esi
45d573:	03 c6                	add    %esi,%eax
45d575:	50                   	push   %eax
45d576:	e8 45 02 00 00       	call   0x45d7c0
45d57b:	8b 07                	mov    (%edi),%eax
45d57d:	01 03                	add    %eax,(%ebx)
45d57f:	ff 37                	push   (%edi)
45d581:	8b 43 08             	mov    0x8(%ebx),%eax
45d584:	ff 77 08             	push   0x8(%edi)
45d587:	03 c6                	add    %esi,%eax
45d589:	50                   	push   %eax
45d58a:	e8 41 58 17 00       	call   0x5d2dd0
45d58f:	83 c4 0c             	add    $0xc,%esp
45d592:	5e                   	pop    %esi
45d593:	5f                   	pop    %edi
45d594:	5b                   	pop    %ebx
45d595:	5d                   	pop    %ebp
45d596:	c2 04 00             	ret    $0x4
45d599:	cc                   	int3
45d59a:	cc                   	int3
45d59b:	cc                   	int3
45d59c:	cc                   	int3
45d59d:	cc                   	int3
45d59e:	cc                   	int3
45d59f:	cc                   	int3
45d5a0:	55                   	push   %ebp
45d5a1:	8b ec                	mov    %esp,%ebp
45d5a3:	53                   	push   %ebx
45d5a4:	56                   	push   %esi
45d5a5:	8b 75 08             	mov    0x8(%ebp),%esi
45d5a8:	57                   	push   %edi
45d5a9:	8b f9                	mov    %ecx,%edi
45d5ab:	8b 5e 04             	mov    0x4(%esi),%ebx
45d5ae:	85 db                	test   %ebx,%ebx
45d5b0:	74 2e                	je     0x45d5e0
45d5b2:	8b 76 0c             	mov    0xc(%esi),%esi
45d5b5:	53                   	push   %ebx
45d5b6:	83 c6 04             	add    $0x4,%esi
45d5b9:	e8 42 fd ff ff       	call   0x45d300
45d5be:	8b 4f 0c             	mov    0xc(%edi),%ecx
45d5c1:	8b 09                	mov    (%ecx),%ecx
45d5c3:	2b 4f 04             	sub    0x4(%edi),%ecx
45d5c6:	51                   	push   %ecx
45d5c7:	53                   	push   %ebx
45d5c8:	56                   	push   %esi
45d5c9:	50                   	push   %eax
45d5ca:	8b cf                	mov    %edi,%ecx
45d5cc:	e8 6f f3 ff ff       	call   0x45c940
45d5d1:	8b 4f 0c             	mov    0xc(%edi),%ecx
45d5d4:	01 5f 04             	add    %ebx,0x4(%edi)
45d5d7:	8b 47 04             	mov    0x4(%edi),%eax
45d5da:	39 01                	cmp    %eax,(%ecx)
45d5dc:	7d 02                	jge    0x45d5e0
45d5de:	89 01                	mov    %eax,(%ecx)
45d5e0:	5f                   	pop    %edi
45d5e1:	5e                   	pop    %esi
45d5e2:	5b                   	pop    %ebx
45d5e3:	5d                   	pop    %ebp
45d5e4:	c2 04 00             	ret    $0x4
45d5e7:	cc                   	int3
45d5e8:	cc                   	int3
45d5e9:	cc                   	int3
45d5ea:	cc                   	int3
45d5eb:	cc                   	int3
45d5ec:	cc                   	int3
45d5ed:	cc                   	int3
45d5ee:	cc                   	int3
45d5ef:	cc                   	int3
45d5f0:	ff 09                	decl   (%ecx)
45d5f2:	c3                   	ret
45d5f3:	cc                   	int3
45d5f4:	cc                   	int3
45d5f5:	cc                   	int3
45d5f6:	cc                   	int3
45d5f7:	cc                   	int3
45d5f8:	cc                   	int3
45d5f9:	cc                   	int3
45d5fa:	cc                   	int3
45d5fb:	cc                   	int3
45d5fc:	cc                   	int3
45d5fd:	cc                   	int3
45d5fe:	cc                   	int3
45d5ff:	cc                   	int3
45d600:	ff 49 04             	decl   0x4(%ecx)
45d603:	8b 51 04             	mov    0x4(%ecx),%edx
45d606:	8b 41 0c             	mov    0xc(%ecx),%eax
45d609:	8b 44 90 04          	mov    0x4(%eax,%edx,4),%eax
45d60d:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
45d614:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
45d618:	72 02                	jb     0x45d61c
45d61a:	8b 00                	mov    (%eax),%eax
45d61c:	c6 00 00             	movb   $0x0,(%eax)
45d61f:	c3                   	ret
45d620:	55                   	push   %ebp
45d621:	8b ec                	mov    %esp,%ebp
45d623:	51                   	push   %ecx
45d624:	8b 55 08             	mov    0x8(%ebp),%edx
45d627:	53                   	push   %ebx
45d628:	57                   	push   %edi
45d629:	8b f9                	mov    %ecx,%edi
45d62b:	8b 5f 04             	mov    0x4(%edi),%ebx
45d62e:	3b da                	cmp    %edx,%ebx
45d630:	0f 8d af 00 00 00    	jge    0x45d6e5
45d636:	8b 4f 08             	mov    0x8(%edi),%ecx
45d639:	56                   	push   %esi
45d63a:	85 db                	test   %ebx,%ebx
45d63c:	7e 17                	jle    0x45d655
45d63e:	8b f1                	mov    %ecx,%esi
45d640:	83 ee 04             	sub    $0x4,%esi
45d643:	8b 49 fc             	mov    -0x4(%ecx),%ecx
45d646:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45d649:	83 fa 04             	cmp    $0x4,%edx
45d64c:	7d 12                	jge    0x45d660
45d64e:	bb 04 00 00 00       	mov    $0x4,%ebx
45d653:	eb 21                	jmp    0x45d676
45d655:	33 f6                	xor    %esi,%esi
45d657:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45d65a:	85 db                	test   %ebx,%ebx
45d65c:	75 e5                	jne    0x45d643
45d65e:	eb e9                	jmp    0x45d649
45d660:	81 fb 00 00 00 40    	cmp    $0x40000000,%ebx
45d666:	7d 09                	jge    0x45d671
45d668:	03 db                	add    %ebx,%ebx
45d66a:	3b da                	cmp    %edx,%ebx
45d66c:	0f 4c da             	cmovl  %edx,%ebx
45d66f:	eb 05                	jmp    0x45d676
45d671:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
45d676:	8d 04 9d 04 00 00 00 	lea    0x4(,%ebx,4),%eax
45d67d:	85 c9                	test   %ecx,%ecx
45d67f:	75 0b                	jne    0x45d68c
45d681:	50                   	push   %eax
45d682:	e8 9e 3b 17 00       	call   0x5d1225
45d687:	83 c4 04             	add    $0x4,%esp
45d68a:	eb 0e                	jmp    0x45d69a
45d68c:	83 c0 07             	add    $0x7,%eax
45d68f:	6a 00                	push   $0x0
45d691:	83 e0 f8             	and    $0xfffffff8,%eax
45d694:	50                   	push   %eax
45d695:	e8 a6 de ff ff       	call   0x45b540
45d69a:	8b c8                	mov    %eax,%ecx
45d69c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45d69f:	89 01                	mov    %eax,(%ecx)
45d6a1:	83 c1 04             	add    $0x4,%ecx
45d6a4:	8b 57 04             	mov    0x4(%edi),%edx
45d6a7:	8b 07                	mov    (%edi),%eax
45d6a9:	89 55 fc             	mov    %edx,-0x4(%ebp)
45d6ac:	89 5f 04             	mov    %ebx,0x4(%edi)
45d6af:	89 4f 08             	mov    %ecx,0x8(%edi)
45d6b2:	85 c0                	test   %eax,%eax
45d6b4:	7e 14                	jle    0x45d6ca
45d6b6:	c1 e0 02             	shl    $0x2,%eax
45d6b9:	50                   	push   %eax
45d6ba:	8d 46 04             	lea    0x4(%esi),%eax
45d6bd:	50                   	push   %eax
45d6be:	51                   	push   %ecx
45d6bf:	e8 0c 57 17 00       	call   0x5d2dd0
45d6c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
45d6c7:	83 c4 0c             	add    $0xc,%esp
45d6ca:	85 f6                	test   %esi,%esi
45d6cc:	74 16                	je     0x45d6e4
45d6ce:	83 3e 00             	cmpl   $0x0,(%esi)
45d6d1:	75 11                	jne    0x45d6e4
45d6d3:	8d 04 95 04 00 00 00 	lea    0x4(,%edx,4),%eax
45d6da:	50                   	push   %eax
45d6db:	56                   	push   %esi
45d6dc:	e8 74 3b 17 00       	call   0x5d1255
45d6e1:	83 c4 08             	add    $0x8,%esp
45d6e4:	5e                   	pop    %esi
45d6e5:	5f                   	pop    %edi
45d6e6:	5b                   	pop    %ebx
45d6e7:	8b e5                	mov    %ebp,%esp
45d6e9:	5d                   	pop    %ebp
45d6ea:	c2 04 00             	ret    $0x4
45d6ed:	cc                   	int3
45d6ee:	cc                   	int3
45d6ef:	cc                   	int3
45d6f0:	55                   	push   %ebp
45d6f1:	8b ec                	mov    %esp,%ebp
45d6f3:	51                   	push   %ecx
45d6f4:	53                   	push   %ebx
45d6f5:	57                   	push   %edi
45d6f6:	8b f9                	mov    %ecx,%edi
45d6f8:	8b 4d 08             	mov    0x8(%ebp),%ecx
45d6fb:	8b 5f 04             	mov    0x4(%edi),%ebx
45d6fe:	3b d9                	cmp    %ecx,%ebx
45d700:	0f 8d ab 00 00 00    	jge    0x45d7b1
45d706:	8b 47 08             	mov    0x8(%edi),%eax
45d709:	56                   	push   %esi
45d70a:	85 db                	test   %ebx,%ebx
45d70c:	7e 17                	jle    0x45d725
45d70e:	8b f0                	mov    %eax,%esi
45d710:	83 ee 08             	sub    $0x8,%esi
45d713:	8b 40 f8             	mov    -0x8(%eax),%eax
45d716:	89 45 fc             	mov    %eax,-0x4(%ebp)
45d719:	83 f9 04             	cmp    $0x4,%ecx
45d71c:	7d 12                	jge    0x45d730
45d71e:	bb 04 00 00 00       	mov    $0x4,%ebx
45d723:	eb 21                	jmp    0x45d746
45d725:	33 f6                	xor    %esi,%esi
45d727:	89 45 fc             	mov    %eax,-0x4(%ebp)
45d72a:	85 db                	test   %ebx,%ebx
45d72c:	75 e5                	jne    0x45d713
45d72e:	eb e9                	jmp    0x45d719
45d730:	81 fb 00 00 00 40    	cmp    $0x40000000,%ebx
45d736:	7d 09                	jge    0x45d741
45d738:	03 db                	add    %ebx,%ebx
45d73a:	3b d9                	cmp    %ecx,%ebx
45d73c:	0f 4c d9             	cmovl  %ecx,%ebx
45d73f:	eb 05                	jmp    0x45d746
45d741:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
45d746:	8d 0c dd 08 00 00 00 	lea    0x8(,%ebx,8),%ecx
45d74d:	85 c0                	test   %eax,%eax
45d74f:	75 0b                	jne    0x45d75c
45d751:	51                   	push   %ecx
45d752:	e8 ce 3a 17 00       	call   0x5d1225
45d757:	83 c4 04             	add    $0x4,%esp
45d75a:	eb 0a                	jmp    0x45d766
45d75c:	6a 00                	push   $0x0
45d75e:	51                   	push   %ecx
45d75f:	8b c8                	mov    %eax,%ecx
45d761:	e8 da dd ff ff       	call   0x45b540
45d766:	8b c8                	mov    %eax,%ecx
45d768:	8b 45 fc             	mov    -0x4(%ebp),%eax
45d76b:	89 01                	mov    %eax,(%ecx)
45d76d:	83 c1 08             	add    $0x8,%ecx
45d770:	8b 57 04             	mov    0x4(%edi),%edx
45d773:	8b 07                	mov    (%edi),%eax
45d775:	89 55 fc             	mov    %edx,-0x4(%ebp)
45d778:	89 5f 04             	mov    %ebx,0x4(%edi)
45d77b:	89 4f 08             	mov    %ecx,0x8(%edi)
45d77e:	85 c0                	test   %eax,%eax
45d780:	7e 14                	jle    0x45d796