5ac5e1:	8b d8                	mov    %eax,%ebx
5ac5e3:	83 c4 0c             	add    $0xc,%esp
5ac5e6:	85 db                	test   %ebx,%ebx
5ac5e8:	7e 57                	jle    0x5ac641
5ac5ea:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5ac5f0:	29 1e                	sub    %ebx,(%esi)
5ac5f2:	8b 06                	mov    (%esi),%eax
5ac5f4:	85 c0                	test   %eax,%eax
5ac5f6:	7e 25                	jle    0x5ac61d
5ac5f8:	01 5f 38             	add    %ebx,0x38(%edi)
5ac5fb:	50                   	push   %eax
5ac5fc:	8b 45 00             	mov    0x0(%ebp),%eax
5ac5ff:	03 47 38             	add    0x38(%edi),%eax
5ac602:	50                   	push   %eax
5ac603:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5ac607:	ff 70 24             	push   0x24(%eax)
5ac60a:	e8 41 65 f0 ff       	call   0x4b2b50
5ac60f:	8b d8                	mov    %eax,%ebx
5ac611:	83 c4 0c             	add    $0xc,%esp
5ac614:	85 db                	test   %ebx,%ebx
5ac616:	7f d8                	jg     0x5ac5f0
5ac618:	5d                   	pop    %ebp
5ac619:	5b                   	pop    %ebx
5ac61a:	5f                   	pop    %edi
5ac61b:	5e                   	pop    %esi
5ac61c:	c3                   	ret
5ac61d:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5ac621:	85 c9                	test   %ecx,%ecx
5ac623:	74 0f                	je     0x5ac634
5ac625:	8d 47 3c             	lea    0x3c(%edi),%eax
5ac628:	50                   	push   %eax
5ac629:	56                   	push   %esi
5ac62a:	55                   	push   %ebp
5ac62b:	ff 74 24 20          	push   0x20(%esp)
5ac62f:	ff d1                	call   *%ecx
5ac631:	83 c4 10             	add    $0x10,%esp
5ac634:	8b 44 24 20          	mov    0x20(%esp),%eax
5ac638:	89 07                	mov    %eax,(%edi)
5ac63a:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)
5ac641:	5d                   	pop    %ebp
5ac642:	8b c3                	mov    %ebx,%eax
5ac644:	5b                   	pop    %ebx
5ac645:	5f                   	pop    %edi
5ac646:	5e                   	pop    %esi
5ac647:	c3                   	ret
5ac648:	cc                   	int3
5ac649:	cc                   	int3
5ac64a:	cc                   	int3
5ac64b:	cc                   	int3
5ac64c:	cc                   	int3
5ac64d:	cc                   	int3
5ac64e:	cc                   	int3
5ac64f:	cc                   	int3
5ac650:	56                   	push   %esi
5ac651:	8b 74 24 0c          	mov    0xc(%esp),%esi
5ac655:	68 a4 00 00 00       	push   $0xa4
5ac65a:	68 58 d5 6c 00       	push   $0x6cd558
5ac65f:	56                   	push   %esi
5ac660:	e8 4b 3b ef ff       	call   0x4a01b0
5ac665:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5ac669:	83 c4 0c             	add    $0xc,%esp
5ac66c:	89 41 04             	mov    %eax,0x4(%ecx)
5ac66f:	85 c0                	test   %eax,%eax
5ac671:	75 02                	jne    0x5ac675
5ac673:	5e                   	pop    %esi
5ac674:	c3                   	ret
5ac675:	89 71 08             	mov    %esi,0x8(%ecx)
5ac678:	b8 01 00 00 00       	mov    $0x1,%eax
5ac67d:	c7 41 0c 00 00 00 00 	movl   $0x0,0xc(%ecx)
5ac684:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
5ac68b:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
5ac692:	c7 41 18 00 00 00 00 	movl   $0x0,0x18(%ecx)
5ac699:	c7 41 1c 04 00 00 00 	movl   $0x4,0x1c(%ecx)
5ac6a0:	c7 41 30 00 00 00 00 	movl   $0x0,0x30(%ecx)
5ac6a7:	c7 41 34 00 00 00 00 	movl   $0x0,0x34(%ecx)
5ac6ae:	c7 41 38 00 00 00 00 	movl   $0x0,0x38(%ecx)
5ac6b5:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
5ac6bb:	c7 41 2c 00 00 00 00 	movl   $0x0,0x2c(%ecx)
5ac6c2:	c7 41 28 00 00 00 00 	movl   $0x0,0x28(%ecx)
5ac6c9:	c7 41 24 00 00 00 00 	movl   $0x0,0x24(%ecx)
5ac6d0:	c7 41 20 00 00 00 00 	movl   $0x0,0x20(%ecx)
5ac6d7:	c7 41 3c 00 00 00 00 	movl   $0x0,0x3c(%ecx)
5ac6de:	5e                   	pop    %esi
5ac6df:	c3                   	ret
5ac6e0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5ac6e4:	56                   	push   %esi
5ac6e5:	8b 74 24 0c          	mov    0xc(%esp),%esi
5ac6e9:	85 c9                	test   %ecx,%ecx
5ac6eb:	74 2b                	je     0x5ac718
5ac6ed:	8d 46 3c             	lea    0x3c(%esi),%eax
5ac6f0:	50                   	push   %eax
5ac6f1:	8d 46 34             	lea    0x34(%esi),%eax
5ac6f4:	50                   	push   %eax
5ac6f5:	8d 46 30             	lea    0x30(%esi),%eax
5ac6f8:	50                   	push   %eax
5ac6f9:	ff 74 24 14          	push   0x14(%esp)
5ac6fd:	ff d1                	call   *%ecx
5ac6ff:	83 c4 10             	add    $0x10,%esp
5ac702:	85 c0                	test   %eax,%eax
5ac704:	75 12                	jne    0x5ac718
5ac706:	6a 0f                	push   $0xf
5ac708:	ff 74 24 0c          	push   0xc(%esp)
5ac70c:	e8 7f 5d f0 ff       	call   0x4b2490
5ac711:	83 c4 08             	add    $0x8,%esp
5ac714:	33 c0                	xor    %eax,%eax
5ac716:	5e                   	pop    %esi
5ac717:	c3                   	ret
5ac718:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
5ac71c:	8b 44 24 18          	mov    0x18(%esp),%eax
5ac720:	0f 4f 44 24 14       	cmovg  0x14(%esp),%eax
5ac725:	89 06                	mov    %eax,(%esi)
5ac727:	b8 01 00 00 00       	mov    $0x1,%eax
5ac72c:	5e                   	pop    %esi
5ac72d:	c3                   	ret
5ac72e:	cc                   	int3
5ac72f:	cc                   	int3
5ac730:	b8 04 00 00 00       	mov    $0x4,%eax
5ac735:	e8 b6 4d 03 00       	call   0x5e14f0
5ac73a:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
5ac73f:	53                   	push   %ebx
5ac740:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5ac747:	00
5ac748:	0f 84 62 01 00 00    	je     0x5ac8b0
5ac74e:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5ac752:	85 db                	test   %ebx,%ebx
5ac754:	0f 8e 56 01 00 00    	jle    0x5ac8b0
5ac75a:	55                   	push   %ebp
5ac75b:	8b 6c 24 10          	mov    0x10(%esp),%ebp
5ac75f:	56                   	push   %esi
5ac760:	8b 75 20             	mov    0x20(%ebp),%esi
5ac763:	85 f6                	test   %esi,%esi
5ac765:	0f 84 3e 01 00 00    	je     0x5ac8a9
5ac76b:	83 7d 24 00          	cmpl   $0x0,0x24(%ebp)
5ac76f:	0f 84 34 01 00 00    	je     0x5ac8a9
5ac775:	57                   	push   %edi
5ac776:	6a 0f                	push   $0xf
5ac778:	55                   	push   %ebp
5ac779:	e8 12 5d f0 ff       	call   0x4b2490
5ac77e:	8b 7e 04             	mov    0x4(%esi),%edi
5ac781:	83 c4 08             	add    $0x8,%esp
5ac784:	2b 7e 1c             	sub    0x1c(%esi),%edi
5ac787:	2b 7e 18             	sub    0x18(%esi),%edi
5ac78a:	3b fb                	cmp    %ebx,%edi
5ac78c:	0f 8d ce 00 00 00    	jge    0x5ac860
5ac792:	8b 4e 18             	mov    0x18(%esi),%ecx
5ac795:	85 c9                	test   %ecx,%ecx
5ac797:	74 61                	je     0x5ac7fa
5ac799:	85 ff                	test   %edi,%edi
5ac79b:	7e 23                	jle    0x5ac7c0
5ac79d:	8b 46 14             	mov    0x14(%esi),%eax
5ac7a0:	03 46 1c             	add    0x1c(%esi),%eax
5ac7a3:	57                   	push   %edi
5ac7a4:	ff 74 24 20          	push   0x20(%esp)
5ac7a8:	03 c1                	add    %ecx,%eax
5ac7aa:	50                   	push   %eax
5ac7ab:	e8 50 67 03 00       	call   0x5e2f00
5ac7b0:	01 7c 24 28          	add    %edi,0x28(%esp)
5ac7b4:	83 c4 0c             	add    $0xc,%esp
5ac7b7:	01 7c 24 10          	add    %edi,0x10(%esp)
5ac7bb:	2b df                	sub    %edi,%ebx
5ac7bd:	01 7e 18             	add    %edi,0x18(%esi)
5ac7c0:	ff 76 18             	push   0x18(%esi)
5ac7c3:	8b 46 1c             	mov    0x1c(%esi),%eax
5ac7c6:	03 46 14             	add    0x14(%esi),%eax
5ac7c9:	50                   	push   %eax
5ac7ca:	ff 75 24             	push   0x24(%ebp)
5ac7cd:	e8 7e 63 f0 ff       	call   0x4b2b50
5ac7d2:	8b f8                	mov    %eax,%edi
5ac7d4:	83 c4 0c             	add    $0xc,%esp
5ac7d7:	85 ff                	test   %edi,%edi
5ac7d9:	7f 17                	jg     0x5ac7f2
5ac7db:	55                   	push   %ebp
5ac7dc:	e8 bf 5c f0 ff       	call   0x4b24a0
5ac7e1:	83 c4 04             	add    $0x4,%esp
5ac7e4:	85 ff                	test   %edi,%edi
5ac7e6:	0f 88 a4 00 00 00    	js     0x5ac890
5ac7ec:	0f 84 94 00 00 00    	je     0x5ac886
5ac7f2:	01 7e 1c             	add    %edi,0x1c(%esi)
5ac7f5:	29 7e 18             	sub    %edi,0x18(%esi)
5ac7f8:	75 c6                	jne    0x5ac7c0
5ac7fa:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
5ac801:	3b 5e 04             	cmp    0x4(%esi),%ebx
5ac804:	7c 49                	jl     0x5ac84f
5ac806:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5ac80a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5ac810:	53                   	push   %ebx
5ac811:	50                   	push   %eax
5ac812:	ff 75 24             	push   0x24(%ebp)
5ac815:	e8 36 63 f0 ff       	call   0x4b2b50
5ac81a:	8b f8                	mov    %eax,%edi
5ac81c:	83 c4 0c             	add    $0xc,%esp
5ac81f:	85 ff                	test   %edi,%edi
5ac821:	7f 0f                	jg     0x5ac832
5ac823:	55                   	push   %ebp
5ac824:	e8 77 5c f0 ff       	call   0x4b24a0
5ac829:	83 c4 04             	add    $0x4,%esp
5ac82c:	85 ff                	test   %edi,%edi
5ac82e:	78 60                	js     0x5ac890
5ac830:	74 54                	je     0x5ac886
5ac832:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5ac836:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5ac83a:	03 cf                	add    %edi,%ecx
5ac83c:	03 c7                	add    %edi,%eax
5ac83e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5ac842:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5ac846:	2b df                	sub    %edi,%ebx
5ac848:	74 57                	je     0x5ac8a1
5ac84a:	3b 5e 04             	cmp    0x4(%esi),%ebx
5ac84d:	7d c1                	jge    0x5ac810
5ac84f:	8b 7e 04             	mov    0x4(%esi),%edi
5ac852:	2b 7e 1c             	sub    0x1c(%esi),%edi
5ac855:	2b 7e 18             	sub    0x18(%esi),%edi
5ac858:	3b fb                	cmp    %ebx,%edi
5ac85a:	0f 8c 32 ff ff ff    	jl     0x5ac792
5ac860:	8b 46 14             	mov    0x14(%esi),%eax
5ac863:	03 46 1c             	add    0x1c(%esi),%eax
5ac866:	03 46 18             	add    0x18(%esi),%eax
5ac869:	53                   	push   %ebx
5ac86a:	ff 74 24 20          	push   0x20(%esp)
5ac86e:	50                   	push   %eax
5ac86f:	e8 8c 66 03 00       	call   0x5e2f00
5ac874:	01 5e 18             	add    %ebx,0x18(%esi)
5ac877:	83 c4 0c             	add    $0xc,%esp
5ac87a:	8b 44 24 10          	mov    0x10(%esp),%eax
5ac87e:	03 c3                	add    %ebx,%eax
5ac880:	5f                   	pop    %edi
5ac881:	5e                   	pop    %esi
5ac882:	5d                   	pop    %ebp
5ac883:	5b                   	pop    %ebx
5ac884:	59                   	pop    %ecx
5ac885:	c3                   	ret
5ac886:	8b 44 24 10          	mov    0x10(%esp),%eax
5ac88a:	5f                   	pop    %edi
5ac88b:	5e                   	pop    %esi
5ac88c:	5d                   	pop    %ebp
5ac88d:	5b                   	pop    %ebx
5ac88e:	59                   	pop    %ecx
5ac88f:	c3                   	ret
5ac890:	8b 44 24 10          	mov    0x10(%esp),%eax
5ac894:	85 c0                	test   %eax,%eax
5ac896:	0f 4f f8             	cmovg  %eax,%edi
5ac899:	8b c7                	mov    %edi,%eax
5ac89b:	5f                   	pop    %edi
5ac89c:	5e                   	pop    %esi
5ac89d:	5d                   	pop    %ebp
5ac89e:	5b                   	pop    %ebx
5ac89f:	59                   	pop    %ecx
5ac8a0:	c3                   	ret
5ac8a1:	5f                   	pop    %edi
5ac8a2:	5e                   	pop    %esi
5ac8a3:	5d                   	pop    %ebp
5ac8a4:	8b c1                	mov    %ecx,%eax
5ac8a6:	5b                   	pop    %ebx
5ac8a7:	59                   	pop    %ecx
5ac8a8:	c3                   	ret
5ac8a9:	5e                   	pop    %esi
5ac8aa:	5d                   	pop    %ebp
5ac8ab:	33 c0                	xor    %eax,%eax
5ac8ad:	5b                   	pop    %ebx
5ac8ae:	59                   	pop    %ecx
5ac8af:	c3                   	ret
5ac8b0:	33 c0                	xor    %eax,%eax
5ac8b2:	5b                   	pop    %ebx
5ac8b3:	59                   	pop    %ecx
5ac8b4:	c3                   	ret
5ac8b5:	cc                   	int3
5ac8b6:	cc                   	int3
5ac8b7:	cc                   	int3
5ac8b8:	cc                   	int3
5ac8b9:	cc                   	int3
5ac8ba:	cc                   	int3
5ac8bb:	cc                   	int3
5ac8bc:	cc                   	int3
5ac8bd:	cc                   	int3
5ac8be:	cc                   	int3
5ac8bf:	cc                   	int3
5ac8c0:	55                   	push   %ebp
5ac8c1:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
5ac8c5:	85 ed                	test   %ebp,%ebp
5ac8c7:	75 04                	jne    0x5ac8cd
5ac8c9:	33 c0                	xor    %eax,%eax
5ac8cb:	5d                   	pop    %ebp
5ac8cc:	c3                   	ret
5ac8cd:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5ac8d1:	56                   	push   %esi
5ac8d2:	8b 71 20             	mov    0x20(%ecx),%esi
5ac8d5:	85 f6                	test   %esi,%esi
5ac8d7:	0f 84 f4 00 00 00    	je     0x5ac9d1
5ac8dd:	83 79 24 00          	cmpl   $0x0,0x24(%ecx)
5ac8e1:	0f 84 ea 00 00 00    	je     0x5ac9d1
5ac8e7:	57                   	push   %edi
5ac8e8:	33 c0                	xor    %eax,%eax
5ac8ea:	6a 0f                	push   $0xf
5ac8ec:	51                   	push   %ecx
5ac8ed:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5ac8f1:	e8 9a 5b f0 ff       	call   0x4b2490
5ac8f6:	8b 7c 24 20          	mov    0x20(%esp),%edi
5ac8fa:	83 c4 08             	add    $0x8,%esp
5ac8fd:	53                   	push   %ebx
5ac8fe:	66 90                	xchg   %ax,%ax
5ac900:	8b 5e 0c             	mov    0xc(%esi),%ebx
5ac903:	85 db                	test   %ebx,%ebx
5ac905:	74 2e                	je     0x5ac935
5ac907:	8b 46 08             	mov    0x8(%esi),%eax
5ac90a:	3b df                	cmp    %edi,%ebx
5ac90c:	0f 4f df             	cmovg  %edi,%ebx
5ac90f:	03 46 10             	add    0x10(%esi),%eax
5ac912:	53                   	push   %ebx
5ac913:	50                   	push   %eax
5ac914:	55                   	push   %ebp
5ac915:	e8 e6 65 03 00       	call   0x5e2f00
5ac91a:	8b 44 24 24          	mov    0x24(%esp),%eax
5ac91e:	83 c4 0c             	add    $0xc,%esp
5ac921:	01 5e 10             	add    %ebx,0x10(%esi)
5ac924:	03 c3                	add    %ebx,%eax
5ac926:	29 5e 0c             	sub    %ebx,0xc(%esi)
5ac929:	89 44 24 18          	mov    %eax,0x18(%esp)
5ac92d:	3b fb                	cmp    %ebx,%edi
5ac92f:	74 45                	je     0x5ac976
5ac931:	2b fb                	sub    %ebx,%edi
5ac933:	03 eb                	add    %ebx,%ebp
5ac935:	8b 06                	mov    (%esi),%eax
5ac937:	3b f8                	cmp    %eax,%edi
5ac939:	7f 50                	jg     0x5ac98b
5ac93b:	50                   	push   %eax
5ac93c:	8b 44 24 18          	mov    0x18(%esp),%eax
5ac940:	ff 76 08             	push   0x8(%esi)
5ac943:	ff 70 24             	push   0x24(%eax)
5ac946:	e8 75 60 f0 ff       	call   0x4b29c0
5ac94b:	8b d8                	mov    %eax,%ebx
5ac94d:	83 c4 0c             	add    $0xc,%esp
5ac950:	85 db                	test   %ebx,%ebx
5ac952:	7f 12                	jg     0x5ac966
5ac954:	ff 74 24 14          	push   0x14(%esp)
5ac958:	e8 43 5b f0 ff       	call   0x4b24a0
5ac95d:	83 c4 04             	add    $0x4,%esp
5ac960:	85 db                	test   %ebx,%ebx
5ac962:	78 17                	js     0x5ac97b
5ac964:	74 0c                	je     0x5ac972
5ac966:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5ac96d:	89 5e 0c             	mov    %ebx,0xc(%esi)
5ac970:	eb 8e                	jmp    0x5ac900
5ac972:	8b 44 24 18          	mov    0x18(%esp),%eax
5ac976:	5b                   	pop    %ebx
5ac977:	5f                   	pop    %edi
5ac978:	5e                   	pop    %esi
5ac979:	5d                   	pop    %ebp
5ac97a:	c3                   	ret
5ac97b:	8b 44 24 18          	mov    0x18(%esp),%eax
5ac97f:	85 c0                	test   %eax,%eax