4ec361:	56                   	push   %esi
4ec362:	8b f0                	mov    %eax,%esi
4ec364:	8b 9e 4c 01 00 00    	mov    0x14c(%esi),%ebx
4ec36a:	8b c6                	mov    %esi,%eax
4ec36c:	8b 90 6c 01 00 00    	mov    0x16c(%eax),%edx
4ec372:	ff 52 08             	call   *0x8(%edx)
4ec375:	8b 4b 14             	mov    0x14(%ebx),%ecx
4ec378:	83 e9 01             	sub    $0x1,%ecx
4ec37b:	72 07                	jb     0x4ec384
4ec37d:	74 1b                	je     0x4ec39a
4ec37f:	49                   	dec    %ecx
4ec380:	74 21                	je     0x4ec3a3
4ec382:	eb 33                	jmp    0x4ec3b7
4ec384:	c7 43 14 02 00 00 00 	movl   $0x2,0x14(%ebx)
4ec38b:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
4ec391:	85 c0                	test   %eax,%eax
4ec393:	75 22                	jne    0x4ec3b7
4ec395:	ff 43 20             	incl   0x20(%ebx)
4ec398:	eb 1d                	jmp    0x4ec3b7
4ec39a:	c7 43 14 02 00 00 00 	movl   $0x2,0x14(%ebx)
4ec3a1:	eb 14                	jmp    0x4ec3b7
4ec3a3:	8b 96 b8 00 00 00    	mov    0xb8(%esi),%edx
4ec3a9:	85 d2                	test   %edx,%edx
4ec3ab:	74 07                	je     0x4ec3b4
4ec3ad:	c7 43 14 01 00 00 00 	movl   $0x1,0x14(%ebx)
4ec3b4:	ff 43 20             	incl   0x20(%ebx)
4ec3b7:	ff 43 18             	incl   0x18(%ebx)
4ec3ba:	5e                   	pop    %esi
4ec3bb:	5b                   	pop    %ebx
4ec3bc:	c3                   	ret
4ec3bd:	90                   	nop
4ec3be:	90                   	nop
4ec3bf:	90                   	nop
4ec3c0:	53                   	push   %ebx
4ec3c1:	56                   	push   %esi
4ec3c2:	8b f0                	mov    %eax,%esi
4ec3c4:	57                   	push   %edi
4ec3c5:	8b c6                	mov    %esi,%eax
4ec3c7:	8b fa                	mov    %edx,%edi
4ec3c9:	ba 01 00 00 00       	mov    $0x1,%edx
4ec3ce:	b9 24 00 00 00       	mov    $0x24,%ecx
4ec3d3:	8b 58 04             	mov    0x4(%eax),%ebx
4ec3d6:	ff 13                	call   *(%ebx)
4ec3d8:	8b d8                	mov    %eax,%ebx
4ec3da:	33 c0                	xor    %eax,%eax
4ec3dc:	89 9e 4c 01 00 00    	mov    %ebx,0x14c(%esi)
4ec3e2:	c7 03 94 c1 4e 00    	movl   $0x4ec194,(%ebx)
4ec3e8:	c7 43 04 38 c3 4e 00 	movl   $0x4ec338,0x4(%ebx)
4ec3ef:	c7 43 08 60 c3 4e 00 	movl   $0x4ec360,0x8(%ebx)
4ec3f6:	89 43 10             	mov    %eax,0x10(%ebx)
4ec3f9:	8b c6                	mov    %esi,%eax
4ec3fb:	e8 dc f4 ff ff       	call   0x4eb8dc
4ec400:	8b 96 ac 00 00 00    	mov    0xac(%esi),%edx
4ec406:	85 d2                	test   %edx,%edx
4ec408:	74 09                	je     0x4ec413
4ec40a:	8b c6                	mov    %esi,%eax
4ec40c:	e8 a7 f6 ff ff       	call   0x4ebab8
4ec411:	eb 12                	jmp    0x4ec425
4ec413:	33 d2                	xor    %edx,%edx
4ec415:	89 96 e4 00 00 00    	mov    %edx,0xe4(%esi)
4ec41b:	c7 86 a8 00 00 00 01 	movl   $0x1,0xa8(%esi)
4ec422:	00 00 00
4ec425:	8b 8e e4 00 00 00    	mov    0xe4(%esi),%ecx
4ec42b:	85 c9                	test   %ecx,%ecx
4ec42d:	74 0a                	je     0x4ec439
4ec42f:	c7 86 b8 00 00 00 01 	movl   $0x1,0xb8(%esi)
4ec436:	00 00 00
4ec439:	85 ff                	test   %edi,%edi
4ec43b:	74 1c                	je     0x4ec459
4ec43d:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
4ec443:	85 c0                	test   %eax,%eax
4ec445:	74 09                	je     0x4ec450
4ec447:	c7 43 14 01 00 00 00 	movl   $0x1,0x14(%ebx)
4ec44e:	eb 0e                	jmp    0x4ec45e
4ec450:	c7 43 14 02 00 00 00 	movl   $0x2,0x14(%ebx)
4ec457:	eb 05                	jmp    0x4ec45e
4ec459:	33 d2                	xor    %edx,%edx
4ec45b:	89 53 14             	mov    %edx,0x14(%ebx)
4ec45e:	33 c9                	xor    %ecx,%ecx
4ec460:	33 c0                	xor    %eax,%eax
4ec462:	89 4b 20             	mov    %ecx,0x20(%ebx)
4ec465:	89 43 18             	mov    %eax,0x18(%ebx)
4ec468:	8b 96 b8 00 00 00    	mov    0xb8(%esi),%edx
4ec46e:	85 d2                	test   %edx,%edx
4ec470:	74 0d                	je     0x4ec47f
4ec472:	8b 8e a8 00 00 00    	mov    0xa8(%esi),%ecx
4ec478:	03 c9                	add    %ecx,%ecx
4ec47a:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
4ec47d:	eb 09                	jmp    0x4ec488
4ec47f:	8b 86 a8 00 00 00    	mov    0xa8(%esi),%eax
4ec485:	89 43 1c             	mov    %eax,0x1c(%ebx)
4ec488:	5f                   	pop    %edi
4ec489:	5e                   	pop    %esi
4ec48a:	5b                   	pop    %ebx
4ec48b:	c3                   	ret
4ec48c:	53                   	push   %ebx
4ec48d:	83 b8 b0 00 00 00 00 	cmpl   $0x0,0xb0(%eax)
4ec494:	8b 88 50 01 00 00    	mov    0x150(%eax),%ecx
4ec49a:	75 2d                	jne    0x4ec4c9
4ec49c:	33 db                	xor    %ebx,%ebx
4ec49e:	89 59 08             	mov    %ebx,0x8(%ecx)
4ec4a1:	33 db                	xor    %ebx,%ebx
4ec4a3:	89 59 0c             	mov    %ebx,0xc(%ecx)
4ec4a6:	33 db                	xor    %ebx,%ebx
4ec4a8:	89 59 10             	mov    %ebx,0x10(%ecx)
4ec4ab:	89 51 14             	mov    %edx,0x14(%ecx)
4ec4ae:	83 ea 01             	sub    $0x1,%edx
4ec4b1:	73 09                	jae    0x4ec4bc
4ec4b3:	c7 41 04 cc c4 4e 00 	movl   $0x4ec4cc,0x4(%ecx)
4ec4ba:	5b                   	pop    %ebx
4ec4bb:	c3                   	ret
4ec4bc:	8b 10                	mov    (%eax),%edx
4ec4be:	c7 42 14 04 00 00 00 	movl   $0x4,0x14(%edx)
4ec4c5:	8b 08                	mov    (%eax),%ecx
4ec4c7:	ff 11                	call   *(%ecx)
4ec4c9:	5b                   	pop    %ebx
4ec4ca:	c3                   	ret
4ec4cb:	90                   	nop
4ec4cc:	55                   	push   %ebp
4ec4cd:	8b ec                	mov    %esp,%ebp
4ec4cf:	83 c4 f8             	add    $0xfffffff8,%esp
4ec4d2:	53                   	push   %ebx
4ec4d3:	56                   	push   %esi
4ec4d4:	57                   	push   %edi
4ec4d5:	8b f0                	mov    %eax,%esi
4ec4d7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4ec4da:	89 55 fc             	mov    %edx,-0x4(%ebp)
4ec4dd:	8b 9e 50 01 00 00    	mov    0x150(%esi),%ebx
4ec4e3:	eb 6f                	jmp    0x4ec554
4ec4e5:	8b 43 0c             	mov    0xc(%ebx),%eax
4ec4e8:	83 f8 08             	cmp    $0x8,%eax
4ec4eb:	73 1f                	jae    0x4ec50c
4ec4ed:	8b 55 08             	mov    0x8(%ebp),%edx
4ec4f0:	8d 4b 18             	lea    0x18(%ebx),%ecx
4ec4f3:	52                   	push   %edx
4ec4f4:	51                   	push   %ecx
4ec4f5:	8d 43 0c             	lea    0xc(%ebx),%eax
4ec4f8:	50                   	push   %eax
4ec4f9:	8b c6                	mov    %esi,%eax
4ec4fb:	6a 08                	push   $0x8
4ec4fd:	8b b8 54 01 00 00    	mov    0x154(%eax),%edi
4ec503:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4ec506:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ec509:	ff 57 04             	call   *0x4(%edi)
4ec50c:	8b 43 0c             	mov    0xc(%ebx),%eax
4ec50f:	83 f8 08             	cmp    $0x8,%eax
4ec512:	75 4d                	jne    0x4ec561
4ec514:	8d 53 18             	lea    0x18(%ebx),%edx
4ec517:	8b c6                	mov    %esi,%eax
4ec519:	8b 88 58 01 00 00    	mov    0x158(%eax),%ecx
4ec51f:	ff 51 04             	call   *0x4(%ecx)
4ec522:	85 c0                	test   %eax,%eax
4ec524:	75 15                	jne    0x4ec53b
4ec526:	8b 53 10             	mov    0x10(%ebx),%edx
4ec529:	85 d2                	test   %edx,%edx
4ec52b:	75 34                	jne    0x4ec561
4ec52d:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ec530:	ff 08                	decl   (%eax)
4ec532:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%ebx)
4ec539:	eb 26                	jmp    0x4ec561
4ec53b:	8b 53 10             	mov    0x10(%ebx),%edx
4ec53e:	85 d2                	test   %edx,%edx
4ec540:	74 0a                	je     0x4ec54c
4ec542:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4ec545:	ff 01                	incl   (%ecx)
4ec547:	33 c0                	xor    %eax,%eax
4ec549:	89 43 10             	mov    %eax,0x10(%ebx)
4ec54c:	33 d2                	xor    %edx,%edx
4ec54e:	89 53 0c             	mov    %edx,0xc(%ebx)
4ec551:	ff 43 08             	incl   0x8(%ebx)
4ec554:	8b 4b 08             	mov    0x8(%ebx),%ecx
4ec557:	8b 86 f0 00 00 00    	mov    0xf0(%esi),%eax
4ec55d:	3b c8                	cmp    %eax,%ecx
4ec55f:	72 84                	jb     0x4ec4e5
4ec561:	5f                   	pop    %edi
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