4ec562:	5e                   	pop    %esi
4ec563:	5b                   	pop    %ebx
4ec564:	59                   	pop    %ecx
4ec565:	59                   	pop    %ecx
4ec566:	5d                   	pop    %ebp
4ec567:	c2 04 00             	ret    $0x4
4ec56a:	90                   	nop
4ec56b:	90                   	nop
4ec56c:	53                   	push   %ebx
4ec56d:	8b d8                	mov    %eax,%ebx
4ec56f:	56                   	push   %esi
4ec570:	57                   	push   %edi
4ec571:	8b c3                	mov    %ebx,%eax
4ec573:	55                   	push   %ebp
4ec574:	51                   	push   %ecx
4ec575:	8b f2                	mov    %edx,%esi
4ec577:	8b 78 04             	mov    0x4(%eax),%edi
4ec57a:	ba 01 00 00 00       	mov    $0x1,%edx
4ec57f:	b9 40 00 00 00       	mov    $0x40,%ecx
4ec584:	ff 17                	call   *(%edi)
4ec586:	89 83 50 01 00 00    	mov    %eax,0x150(%ebx)
4ec58c:	c7 00 8c c4 4e 00    	movl   $0x4ec48c,(%eax)
4ec592:	8b 93 b0 00 00 00    	mov    0xb0(%ebx),%edx
4ec598:	85 d2                	test   %edx,%edx
4ec59a:	75 51                	jne    0x4ec5ed
4ec59c:	85 f6                	test   %esi,%esi
4ec59e:	74 11                	je     0x4ec5b1
4ec5a0:	8b 03                	mov    (%ebx),%eax
4ec5a2:	c7 40 14 04 00 00 00 	movl   $0x4,0x14(%eax)
4ec5a9:	8b c3                	mov    %ebx,%eax
4ec5ab:	8b 10                	mov    (%eax),%edx
4ec5ad:	ff 12                	call   *(%edx)
4ec5af:	eb 3c                	jmp    0x4ec5ed
4ec5b1:	33 c9                	xor    %ecx,%ecx
4ec5b3:	8d 78 18             	lea    0x18(%eax),%edi
4ec5b6:	89 0c 24             	mov    %ecx,(%esp)
4ec5b9:	8b 73 44             	mov    0x44(%ebx),%esi
4ec5bc:	eb 25                	jmp    0x4ec5e3
4ec5be:	8b 46 0c             	mov    0xc(%esi),%eax
4ec5c1:	ba 01 00 00 00       	mov    $0x1,%edx
4ec5c6:	c1 e0 03             	shl    $0x3,%eax
4ec5c9:	50                   	push   %eax
4ec5ca:	8b c3                	mov    %ebx,%eax
4ec5cc:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4ec5cf:	c1 e1 03             	shl    $0x3,%ecx
4ec5d2:	8b 68 04             	mov    0x4(%eax),%ebp
4ec5d5:	ff 55 08             	call   *0x8(%ebp)
4ec5d8:	89 07                	mov    %eax,(%edi)
4ec5da:	83 c7 04             	add    $0x4,%edi
4ec5dd:	ff 04 24             	incl   (%esp)
4ec5e0:	83 c6 54             	add    $0x54,%esi
4ec5e3:	8b 04 24             	mov    (%esp),%eax
4ec5e6:	8b 53 3c             	mov    0x3c(%ebx),%edx
4ec5e9:	3b c2                	cmp    %edx,%eax
4ec5eb:	7c d1                	jl     0x4ec5be
4ec5ed:	5a                   	pop    %edx
4ec5ee:	5d                   	pop    %ebp
4ec5ef:	5f                   	pop    %edi
4ec5f0:	5e                   	pop    %esi
4ec5f1:	5b                   	pop    %ebx
4ec5f2:	c3                   	ret
4ec5f3:	90                   	nop
4ec5f4:	53                   	push   %ebx
4ec5f5:	56                   	push   %esi
4ec5f6:	8b f0                	mov    %eax,%esi
4ec5f8:	85 d2                	test   %edx,%edx
4ec5fa:	8b 9e 54 01 00 00    	mov    0x154(%esi),%ebx
4ec600:	74 0f                	je     0x4ec611
4ec602:	8b 06                	mov    (%esi),%eax
4ec604:	c7 40 14 04 00 00 00 	movl   $0x4,0x14(%eax)
4ec60b:	8b c6                	mov    %esi,%eax
4ec60d:	8b 10                	mov    (%eax),%edx
4ec60f:	ff 12                	call   *(%edx)
4ec611:	8b 4e 20             	mov    0x20(%esi),%ecx
4ec614:	33 c0                	xor    %eax,%eax
4ec616:	89 4b 30             	mov    %ecx,0x30(%ebx)
4ec619:	33 d2                	xor    %edx,%edx
4ec61b:	89 43 34             	mov    %eax,0x34(%ebx)
4ec61e:	89 53 38             	mov    %edx,0x38(%ebx)
4ec621:	8b 8e ec 00 00 00    	mov    0xec(%esi),%ecx
4ec627:	03 c9                	add    %ecx,%ecx
4ec629:	89 4b 3c             	mov    %ecx,0x3c(%ebx)
4ec62c:	5e                   	pop    %esi
4ec62d:	5b                   	pop    %ebx
4ec62e:	c3                   	ret
4ec62f:	90                   	nop
4ec630:	55                   	push   %ebp
4ec631:	8b ec                	mov    %esp,%ebp
4ec633:	51                   	push   %ecx
4ec634:	53                   	push   %ebx
4ec635:	56                   	push   %esi
4ec636:	57                   	push   %edi
4ec637:	8b f9                	mov    %ecx,%edi
4ec639:	89 55 fc             	mov    %edx,-0x4(%ebp)
4ec63c:	8b f0                	mov    %eax,%esi
4ec63e:	8b df                	mov    %edi,%ebx
4ec640:	8b 45 08             	mov    0x8(%ebp),%eax
4ec643:	3b d8                	cmp    %eax,%ebx
4ec645:	7d 1b                	jge    0x4ec662
4ec647:	53                   	push   %ebx
4ec648:	6a 01                	push   $0x1
4ec64a:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ec64d:	8b ce                	mov    %esi,%ecx
4ec64f:	52                   	push   %edx
4ec650:	8d 57 ff             	lea    -0x1(%edi),%edx
4ec653:	8b c6                	mov    %esi,%eax
4ec655:	e8 52 d9 ff ff       	call   0x4e9fac
4ec65a:	43                   	inc    %ebx
4ec65b:	8b 45 08             	mov    0x8(%ebp),%eax
4ec65e:	3b d8                	cmp    %eax,%ebx
4ec660:	7c e5                	jl     0x4ec647
4ec662:	5f                   	pop    %edi
4ec663:	5e                   	pop    %esi
4ec664:	5b                   	pop    %ebx
4ec665:	59                   	pop    %ecx
4ec666:	5d                   	pop    %ebp
4ec667:	c2 04 00             	ret    $0x4
4ec66a:	90                   	nop
4ec66b:	90                   	nop
4ec66c:	55                   	push   %ebp
4ec66d:	8b ec                	mov    %esp,%ebp
4ec66f:	83 c4 ec             	add    $0xffffffec,%esp
4ec672:	53                   	push   %ebx
4ec673:	56                   	push   %esi
4ec674:	57                   	push   %edi
4ec675:	8b d8                	mov    %eax,%ebx
4ec677:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4ec67a:	89 55 fc             	mov    %edx,-0x4(%ebp)
4ec67d:	8b b3 54 01 00 00    	mov    0x154(%ebx),%esi
4ec683:	e9 32 01 00 00       	jmp    0x4ec7ba
4ec688:	8b 55 14             	mov    0x14(%ebp),%edx
4ec68b:	8b 8b ec 00 00 00    	mov    0xec(%ebx),%ecx
4ec691:	2b d0                	sub    %eax,%edx
4ec693:	8b c2                	mov    %edx,%eax
4ec695:	8b 56 34             	mov    0x34(%esi),%edx
4ec698:	2b ca                	sub    %edx,%ecx
4ec69a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4ec69d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4ec6a0:	3b c1                	cmp    %ecx,%eax
4ec6a2:	76 05                	jbe    0x4ec6a9
4ec6a4:	8b 55 f4             	mov    -0xc(%ebp),%edx
4ec6a7:	eb 02                	jmp    0x4ec6ab
4ec6a9:	8b d0                	mov    %eax,%edx
4ec6ab:	89 55 f4             	mov    %edx,-0xc(%ebp)
4ec6ae:	8b 46 34             	mov    0x34(%esi),%eax
4ec6b1:	50                   	push   %eax
4ec6b2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4ec6b5:	51                   	push   %ecx
4ec6b6:	8d 4e 08             	lea    0x8(%esi),%ecx
4ec6b9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ec6bc:	8b 10                	mov    (%eax),%edx
4ec6be:	c1 e2 02             	shl    $0x2,%edx
4ec6c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec6c4:	03 d0                	add    %eax,%edx
4ec6c6:	8b c3                	mov    %ebx,%eax
4ec6c8:	8b b8 60 01 00 00    	mov    0x160(%eax),%edi
4ec6ce:	ff 57 04             	call   *0x4(%edi)
4ec6d1:	8b 55 f8             	mov    -0x8(%ebp),%edx
4ec6d4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4ec6d7:	01 02                	add    %eax,(%edx)
4ec6d9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4ec6dc:	01 4e 34             	add    %ecx,0x34(%esi)
4ec6df:	29 46 30             	sub    %eax,0x30(%esi)
4ec6e2:	8b 46 30             	mov    0x30(%esi),%eax
4ec6e5:	85 c0                	test   %eax,%eax
4ec6e7:	75 43                	jne    0x4ec72c
4ec6e9:	8b 56 34             	mov    0x34(%esi),%edx
4ec6ec:	8b 8b ec 00 00 00    	mov    0xec(%ebx),%ecx
4ec6f2:	3b d1                	cmp    %ecx,%edx
4ec6f4:	7d 36                	jge    0x4ec72c
4ec6f6:	33 ff                	xor    %edi,%edi
4ec6f8:	8d 46 08             	lea    0x8(%esi),%eax
4ec6fb:	89 45 f0             	mov    %eax,-0x10(%ebp)
4ec6fe:	eb 1c                	jmp    0x4ec71c
4ec700:	8b 93 ec 00 00 00    	mov    0xec(%ebx),%edx
4ec706:	52                   	push   %edx
4ec707:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4ec70a:	8b 01                	mov    (%ecx),%eax
4ec70c:	8b 4e 34             	mov    0x34(%esi),%ecx
4ec70f:	8b 53 1c             	mov    0x1c(%ebx),%edx
4ec712:	e8 19 ff ff ff       	call   0x4ec630
4ec717:	47                   	inc    %edi
4ec718:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
4ec71c:	8b 43 3c             	mov    0x3c(%ebx),%eax
4ec71f:	3b f8                	cmp    %eax,%edi
4ec721:	7c dd                	jl     0x4ec700
4ec723:	8b 93 ec 00 00 00    	mov    0xec(%ebx),%edx
4ec729:	89 56 34             	mov    %edx,0x34(%esi)
4ec72c:	8b 4e 34             	mov    0x34(%esi),%ecx
4ec72f:	8b 83 ec 00 00 00    	mov    0xec(%ebx),%eax
4ec735:	3b c8                	cmp    %eax,%ecx
4ec737:	75 24                	jne    0x4ec75d
4ec739:	8b 55 10             	mov    0x10(%ebp),%edx
4ec73c:	52                   	push   %edx
4ec73d:	8d 56 08             	lea    0x8(%esi),%edx
4ec740:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4ec743:	8b 01                	mov    (%ecx),%eax
4ec745:	33 c9                	xor    %ecx,%ecx
4ec747:	50                   	push   %eax
4ec748:	8b c3                	mov    %ebx,%eax
4ec74a:	8b b8 64 01 00 00    	mov    0x164(%eax),%edi
4ec750:	ff 57 04             	call   *0x4(%edi)
4ec753:	33 c0                	xor    %eax,%eax
4ec755:	89 46 34             	mov    %eax,0x34(%esi)
4ec758:	8b 55 0c             	mov    0xc(%ebp),%edx
4ec75b:	ff 02                	incl   (%edx)
4ec75d:	8b 4e 30             	mov    0x30(%esi),%ecx
4ec760:	85 c9                	test   %ecx,%ecx
4ec762:	75 56                	jne    0x4ec7ba
4ec764:	8b 45 0c             	mov    0xc(%ebp),%eax
4ec767:	8b 10                	mov    (%eax),%edx
4ec769:	8b 4d 08             	mov    0x8(%ebp),%ecx
4ec76c:	3b d1                	cmp    %ecx,%edx
4ec76e:	73 4a                	jae    0x4ec7ba
4ec770:	8b 45 10             	mov    0x10(%ebp),%eax
4ec773:	8b 73 44             	mov    0x44(%ebx),%esi
4ec776:	8b d0                	mov    %eax,%edx
4ec778:	33 ff                	xor    %edi,%edi
4ec77a:	89 55 ec             	mov    %edx,-0x14(%ebp)
4ec77d:	eb 2a                	jmp    0x4ec7a9
4ec77f:	8b 46 0c             	mov    0xc(%esi),%eax
4ec782:	8b d0                	mov    %eax,%edx
4ec784:	0f af 55 08          	imul   0x8(%ebp),%edx
4ec788:	52                   	push   %edx
4ec789:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4ec78c:	8b 09                	mov    (%ecx),%ecx
4ec78e:	0f af c8             	imul   %eax,%ecx
4ec791:	8b 56 1c             	mov    0x1c(%esi),%edx
4ec794:	c1 e2 03             	shl    $0x3,%edx
4ec797:	8b 45 ec             	mov    -0x14(%ebp),%eax
4ec79a:	8b 00                	mov    (%eax),%eax
4ec79c:	e8 8f fe ff ff       	call   0x4ec630
4ec7a1:	83 45 ec 04          	addl   $0x4,-0x14(%ebp)
4ec7a5:	47                   	inc    %edi
4ec7a6:	83 c6 54             	add    $0x54,%esi
4ec7a9:	8b 53 3c             	mov    0x3c(%ebx),%edx
4ec7ac:	3b fa                	cmp    %edx,%edi
4ec7ae:	7c cf                	jl     0x4ec77f
4ec7b0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4ec7b3:	8b 45 08             	mov    0x8(%ebp),%eax
4ec7b6:	89 01                	mov    %eax,(%ecx)
4ec7b8:	eb 1c                	jmp    0x4ec7d6
4ec7ba:	8b 55 f8             	mov    -0x8(%ebp),%edx
4ec7bd:	8b 02                	mov    (%edx),%eax
4ec7bf:	8b 55 14             	mov    0x14(%ebp),%edx
4ec7c2:	3b c2                	cmp    %edx,%eax
4ec7c4:	73 10                	jae    0x4ec7d6
4ec7c6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4ec7c9:	8b 11                	mov    (%ecx),%edx
4ec7cb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4ec7ce:	3b d1                	cmp    %ecx,%edx
4ec7d0:	0f 82 b2 fe ff ff    	jb     0x4ec688
4ec7d6:	5f                   	pop    %edi
4ec7d7:	5e                   	pop    %esi
4ec7d8:	5b                   	pop    %ebx
4ec7d9:	8b e5                	mov    %ebp,%esp
4ec7db:	5d                   	pop    %ebp
4ec7dc:	c2 10 00             	ret    $0x10
4ec7df:	90                   	nop
4ec7e0:	55                   	push   %ebp
4ec7e1:	8b ec                	mov    %esp,%ebp
4ec7e3:	83 c4 e4             	add    $0xffffffe4,%esp
4ec7e6:	53                   	push   %ebx
4ec7e7:	56                   	push   %esi
4ec7e8:	57                   	push   %edi
4ec7e9:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4ec7ec:	89 55 f8             	mov    %edx,-0x8(%ebp)
4ec7ef:	89 45 fc             	mov    %eax,-0x4(%ebp)
4ec7f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec7f5:	8b 98 54 01 00 00    	mov    0x154(%eax),%ebx
4ec7fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec7fe:	8b 90 ec 00 00 00    	mov    0xec(%eax),%edx
4ec804:	8d 14 52             	lea    (%edx,%edx,2),%edx
4ec807:	89 55 e8             	mov    %edx,-0x18(%ebp)
4ec80a:	e9 7d 01 00 00       	jmp    0x4ec98c
4ec80f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4ec812:	8b 01                	mov    (%ecx),%eax
4ec814:	8b 55 14             	mov    0x14(%ebp),%edx
4ec817:	3b c2                	cmp    %edx,%eax
4ec819:	0f 83 bb 00 00 00    	jae    0x4ec8da
4ec81f:	8b 4d 14             	mov    0x14(%ebp),%ecx
4ec822:	8b 53 3c             	mov    0x3c(%ebx),%edx
4ec825:	2b c8                	sub    %eax,%ecx
4ec827:	8b c1                	mov    %ecx,%eax
4ec829:	8b 4b 34             	mov    0x34(%ebx),%ecx
4ec82c:	2b d1                	sub    %ecx,%edx
4ec82e:	89 55 f0             	mov    %edx,-0x10(%ebp)
4ec831:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ec834:	3b c2                	cmp    %edx,%eax
4ec836:	76 05                	jbe    0x4ec83d
4ec838:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4ec83b:	eb 02                	jmp    0x4ec83f
4ec83d:	8b c8                	mov    %eax,%ecx
4ec83f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4ec842:	8b 43 34             	mov    0x34(%ebx),%eax
4ec845:	50                   	push   %eax
4ec846:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ec849:	52                   	push   %edx
4ec84a:	8d 4b 08             	lea    0x8(%ebx),%ecx
4ec84d:	8b 45 f4             	mov    -0xc(%ebp),%eax
4ec850:	8b 10                	mov    (%eax),%edx
4ec852:	c1 e2 02             	shl    $0x2,%edx
4ec855:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ec858:	03 d0                	add    %eax,%edx
4ec85a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec85d:	8b b0 60 01 00 00    	mov    0x160(%eax),%esi
4ec863:	ff 56 04             	call   *0x4(%esi)
4ec866:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec869:	8b 50 20             	mov    0x20(%eax),%edx
4ec86c:	8b 4b 30             	mov    0x30(%ebx),%ecx
4ec86f:	3b d1                	cmp    %ecx,%edx
4ec871:	75 54                	jne    0x4ec8c7
4ec873:	33 c0                	xor    %eax,%eax
4ec875:	89 45 ec             	mov    %eax,-0x14(%ebp)
4ec878:	8d 53 08             	lea    0x8(%ebx),%edx
4ec87b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4ec87e:	eb 3a                	jmp    0x4ec8ba
4ec880:	bf 01 00 00 00       	mov    $0x1,%edi
4ec885:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4ec888:	8b f0                	mov    %eax,%esi
4ec88a:	eb 1a                	jmp    0x4ec8a6
4ec88c:	8b d7                	mov    %edi,%edx
4ec88e:	f7 da                	neg    %edx
4ec890:	52                   	push   %edx
4ec891:	6a 01                	push   $0x1
4ec893:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4ec896:	8b 51 1c             	mov    0x1c(%ecx),%edx
4ec899:	52                   	push   %edx
4ec89a:	33 d2                	xor    %edx,%edx
4ec89c:	8b 06                	mov    (%esi),%eax
4ec89e:	8b c8                	mov    %eax,%ecx
4ec8a0:	e8 07 d7 ff ff       	call   0x4e9fac
4ec8a5:	47                   	inc    %edi
4ec8a6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4ec8a9:	8b 81 ec 00 00 00    	mov    0xec(%ecx),%eax
4ec8af:	3b f8                	cmp    %eax,%edi
4ec8b1:	7e d9                	jle    0x4ec88c
4ec8b3:	ff 45 ec             	incl   -0x14(%ebp)
4ec8b6:	83 45 e4 04          	addl   $0x4,-0x1c(%ebp)
4ec8ba:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ec8bd:	8b 4a 3c             	mov    0x3c(%edx),%ecx
4ec8c0:	8b 45 ec             	mov    -0x14(%ebp),%eax
4ec8c3:	3b c8                	cmp    %eax,%ecx
4ec8c5:	7f b9                	jg     0x4ec880
4ec8c7:	8b 55 f4             	mov    -0xc(%ebp),%edx
4ec8ca:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ec8cd:	01 02                	add    %eax,(%edx)
4ec8cf:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ec8d2:	01 53 34             	add    %edx,0x34(%ebx)
4ec8d5:	29 43 30             	sub    %eax,0x30(%ebx)