46f340:	83 c7 04             	add    $0x4,%edi
46f343:	59                   	pop    %ecx
46f344:	50                   	push   %eax
46f345:	51                   	push   %ecx
46f346:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
46f34c:	83 c7 04             	add    $0x4,%edi
46f34f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46f352:	8b 1b                	mov    (%ebx),%ebx
46f354:	e8 9a 43 f9 ff       	call   0x4036f3
46f359:	5a                   	pop    %edx
46f35a:	85 d2                	test   %edx,%edx
46f35c:	0f 84 06 00 00 00    	je     0x46f368
46f362:	8b ca                	mov    %edx,%ecx
46f364:	33 c0                	xor    %eax,%eax
46f366:	f3 ab                	rep stos %eax,%es:(%edi)
46f368:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46f36b:	ff 33                	push   (%ebx)
46f36d:	e8 32 12 03 00       	call   0x4a05a4
46f372:	83 c4 04             	add    $0x4,%esp
46f375:	58                   	pop    %eax
46f376:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46f379:	89 03                	mov    %eax,(%ebx)
46f37b:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f37e:	8b 1b                	mov    (%ebx),%ebx
46f380:	81 c3 40 01 00 00    	add    $0x140,%ebx
46f386:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46f389:	8b 5d fc             	mov    -0x4(%ebp),%ebx
46f38c:	8b 03                	mov    (%ebx),%eax
46f38e:	50                   	push   %eax
46f38f:	50                   	push   %eax
46f390:	8b d8                	mov    %eax,%ebx
46f392:	e8 5c 43 f9 ff       	call   0x4036f3
46f397:	58                   	pop    %eax
46f398:	2b d8                	sub    %eax,%ebx
46f39a:	c1 e1 02             	shl    $0x2,%ecx
46f39d:	03 cb                	add    %ebx,%ecx
46f39f:	51                   	push   %ecx
46f3a0:	e8 f9 11 03 00       	call   0x4a059e
46f3a5:	59                   	pop    %ecx
46f3a6:	5e                   	pop    %esi
46f3a7:	8b f8                	mov    %eax,%edi
46f3a9:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
46f3ab:	50                   	push   %eax
46f3ac:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46f3af:	8b 1b                	mov    (%ebx),%ebx
46f3b1:	53                   	push   %ebx
46f3b2:	e8 ed 11 03 00       	call   0x4a05a4
46f3b7:	83 c4 04             	add    $0x4,%esp
46f3ba:	58                   	pop    %eax
46f3bb:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46f3be:	89 03                	mov    %eax,(%ebx)
46f3c0:	8b e5                	mov    %ebp,%esp
46f3c2:	5d                   	pop    %ebp
46f3c3:	c2 08 00             	ret    $0x8
46f3c6:	55                   	push   %ebp
46f3c7:	8b ec                	mov    %esp,%ebp
46f3c9:	81 ec 18 00 00 00    	sub    $0x18,%esp
46f3cf:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46f3d6:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
46f3dd:	6a 00                	push   $0x0
46f3df:	ff 75 f8             	push   -0x8(%ebp)
46f3e2:	6a 01                	push   $0x1
46f3e4:	ff 75 0c             	push   0xc(%ebp)
46f3e7:	ff 75 08             	push   0x8(%ebp)
46f3ea:	8b 04 24             	mov    (%esp),%eax
46f3ed:	8b 00                	mov    (%eax),%eax
46f3ef:	8b 00                	mov    (%eax),%eax
46f3f1:	ff 90 90 01 00 00    	call   *0x190(%eax)
46f3f7:	85 c0                	test   %eax,%eax
46f3f9:	0f 84 27 01 00 00    	je     0x46f526
46f3ff:	6a 01                	push   $0x1
46f401:	8d 45 fc             	lea    -0x4(%ebp),%eax
46f404:	50                   	push   %eax
46f405:	ff 75 0c             	push   0xc(%ebp)
46f408:	ff 75 08             	push   0x8(%ebp)
46f40b:	8b 04 24             	mov    (%esp),%eax
46f40e:	8b 00                	mov    (%eax),%eax
46f410:	8b 00                	mov    (%eax),%eax
46f412:	ff 90 94 01 00 00    	call   *0x194(%eax)
46f418:	85 c0                	test   %eax,%eax
46f41a:	0f 84 fc 00 00 00    	je     0x46f51c
46f420:	6a 01                	push   $0x1
46f422:	68 00 00 00 00       	push   $0x0
46f427:	ff 75 0c             	push   0xc(%ebp)
46f42a:	ff 75 08             	push   0x8(%ebp)
46f42d:	8b 04 24             	mov    (%esp),%eax
46f430:	8b 00                	mov    (%eax),%eax
46f432:	8b 00                	mov    (%eax),%eax
46f434:	ff 90 b4 01 00 00    	call   *0x1b4(%eax)
46f43a:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f43d:	8b 1b                	mov    (%ebx),%ebx
46f43f:	81 c3 40 01 00 00    	add    $0x140,%ebx
46f445:	89 5d f8             	mov    %ebx,-0x8(%ebp)
46f448:	ff 75 f8             	push   -0x8(%ebp)
46f44b:	6a 04                	push   $0x4
46f44d:	b8 02 00 00 00       	mov    $0x2,%eax
46f452:	e8 19 1a 03 00       	call   0x4a0e70
46f457:	83 c4 08             	add    $0x8,%esp
46f45a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f45d:	48                   	dec    %eax
46f45e:	0f 8c 90 00 00 00    	jl     0x46f4f4
46f464:	89 45 f4             	mov    %eax,-0xc(%ebp)
46f467:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46f46a:	8b 1b                	mov    (%ebx),%ebx
46f46c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46f46f:	e8 7f 42 f9 ff       	call   0x4036f3
46f474:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46f477:	2b 4d f4             	sub    -0xc(%ebp),%ecx
46f47a:	0f 8e 74 00 00 00    	jle    0x46f4f4
46f480:	83 f9 01             	cmp    $0x1,%ecx
46f483:	7e 05                	jle    0x46f48a
46f485:	b9 01 00 00 00       	mov    $0x1,%ecx
46f48a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46f48d:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
46f491:	0f 8e 5d 00 00 00    	jle    0x46f4f4
46f497:	8b 7d ec             	mov    -0x14(%ebp),%edi
46f49a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46f49d:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
46f4a3:	83 c7 04             	add    $0x4,%edi
46f4a6:	8b c1                	mov    %ecx,%eax
46f4a8:	2b 45 f0             	sub    -0x10(%ebp),%eax
46f4ab:	89 07                	mov    %eax,(%edi)
46f4ad:	83 c7 04             	add    $0x4,%edi
46f4b0:	3b fb                	cmp    %ebx,%edi
46f4b2:	74 04                	je     0x46f4b8
46f4b4:	8b f3                	mov    %ebx,%esi
46f4b6:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46f4b8:	8b 7d ec             	mov    -0x14(%ebp),%edi
46f4bb:	83 c7 08             	add    $0x8,%edi
46f4be:	8b 45 f4             	mov    -0xc(%ebp),%eax
46f4c1:	c1 e0 02             	shl    $0x2,%eax
46f4c4:	03 f8                	add    %eax,%edi
46f4c6:	8b 45 f0             	mov    -0x10(%ebp),%eax
46f4c9:	c1 e0 02             	shl    $0x2,%eax
46f4cc:	8b f7                	mov    %edi,%esi
46f4ce:	03 f0                	add    %eax,%esi
46f4d0:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46f4d3:	2b 4d f4             	sub    -0xc(%ebp),%ecx
46f4d6:	2b 4d f0             	sub    -0x10(%ebp),%ecx
46f4d9:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46f4db:	2b 7d ec             	sub    -0x14(%ebp),%edi
46f4de:	57                   	push   %edi
46f4df:	ff 75 ec             	push   -0x14(%ebp)
46f4e2:	e8 c9 10 03 00       	call   0x4a05b0
46f4e7:	83 c4 08             	add    $0x8,%esp
46f4ea:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46f4ed:	89 03                	mov    %eax,(%ebx)
46f4ef:	8b 45 f0             	mov    -0x10(%ebp),%eax
46f4f2:	eb 02                	jmp    0x46f4f6
46f4f4:	33 c0                	xor    %eax,%eax
46f4f6:	ff 75 08             	push   0x8(%ebp)
46f4f9:	e8 10 71 fc ff       	call   0x43660e
46f4fe:	89 45 f8             	mov    %eax,-0x8(%ebp)
46f501:	68 01 00 00 00       	push   $0x1
46f506:	ff 75 0c             	push   0xc(%ebp)
46f509:	ff 75 f8             	push   -0x8(%ebp)
46f50c:	ff 75 08             	push   0x8(%ebp)
46f50f:	8b 04 24             	mov    (%esp),%eax
46f512:	8b 00                	mov    (%eax),%eax
46f514:	8b 00                	mov    (%eax),%eax
46f516:	ff 90 84 01 00 00    	call   *0x184(%eax)
46f51c:	b8 01 00 00 00       	mov    $0x1,%eax
46f521:	e9 0a 00 00 00       	jmp    0x46f530
46f526:	b8 00 00 00 00       	mov    $0x0,%eax
46f52b:	e9 00 00 00 00       	jmp    0x46f530
46f530:	8b e5                	mov    %ebp,%esp
46f532:	5d                   	pop    %ebp
46f533:	c2 08 00             	ret    $0x8
46f536:	55                   	push   %ebp
46f537:	8b ec                	mov    %esp,%ebp
46f539:	81 ec 08 00 00 00    	sub    $0x8,%esp
46f53f:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f542:	8b 1b                	mov    (%ebx),%ebx
46f544:	81 c3 40 01 00 00    	add    $0x140,%ebx
46f54a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46f54d:	8b 5d fc             	mov    -0x4(%ebp),%ebx
46f550:	8b 1b                	mov    (%ebx),%ebx
46f552:	e8 f3 ee f9 ff       	call   0x40e44a
46f557:	e9 00 00 00 00       	jmp    0x46f55c
46f55c:	8b e5                	mov    %ebp,%esp
46f55e:	5d                   	pop    %ebp
46f55f:	c2 04 00             	ret    $0x4
46f562:	55                   	push   %ebp
46f563:	8b ec                	mov    %esp,%ebp
46f565:	81 ec 10 00 00 00    	sub    $0x10,%esp
46f56b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46f572:	6a 00                	push   $0x0
46f574:	ff 75 fc             	push   -0x4(%ebp)
46f577:	6a 01                	push   $0x1
46f579:	ff 75 0c             	push   0xc(%ebp)
46f57c:	ff 75 08             	push   0x8(%ebp)
46f57f:	8b 04 24             	mov    (%esp),%eax
46f582:	8b 00                	mov    (%eax),%eax
46f584:	8b 00                	mov    (%eax),%eax
46f586:	ff 90 90 01 00 00    	call   *0x190(%eax)
46f58c:	85 c0                	test   %eax,%eax
46f58e:	0f 84 33 00 00 00    	je     0x46f5c7
46f594:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46f59b:	6a 00                	push   $0x0
46f59d:	ff 75 fc             	push   -0x4(%ebp)
46f5a0:	ff 75 0c             	push   0xc(%ebp)
46f5a3:	ff 75 08             	push   0x8(%ebp)
46f5a6:	8b 04 24             	mov    (%esp),%eax
46f5a9:	8b 00                	mov    (%eax),%eax
46f5ab:	8b 00                	mov    (%eax),%eax
46f5ad:	ff 90 b4 01 00 00    	call   *0x1b4(%eax)
46f5b3:	89 45 f4             	mov    %eax,-0xc(%ebp)
46f5b6:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
46f5ba:	b8 00 00 00 00       	mov    $0x0,%eax
46f5bf:	0f 94 c0             	sete   %al
46f5c2:	e9 0a 00 00 00       	jmp    0x46f5d1
46f5c7:	b8 00 00 00 00       	mov    $0x0,%eax
46f5cc:	e9 00 00 00 00       	jmp    0x46f5d1
46f5d1:	8b e5                	mov    %ebp,%esp
46f5d3:	5d                   	pop    %ebp
46f5d4:	c2 08 00             	ret    $0x8
46f5d7:	55                   	push   %ebp
46f5d8:	8b ec                	mov    %esp,%ebp
46f5da:	81 ec 28 00 00 00    	sub    $0x28,%esp
46f5e0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46f5e7:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f5ea:	8b 1b                	mov    (%ebx),%ebx
46f5ec:	81 c3 84 01 00 00    	add    $0x184,%ebx
46f5f2:	89 5d f8             	mov    %ebx,-0x8(%ebp)
46f5f5:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46f5f8:	8b 03                	mov    (%ebx),%eax
46f5fa:	83 e0 01             	and    $0x1,%eax
46f5fd:	83 f0 01             	xor    $0x1,%eax
46f600:	85 c0                	test   %eax,%eax
46f602:	0f 84 be 02 00 00    	je     0x46f8c6
46f608:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46f60c:	0f 84 a1 00 00 00    	je     0x46f6b3
46f612:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f615:	8b 1b                	mov    (%ebx),%ebx
46f617:	81 c3 40 01 00 00    	add    $0x140,%ebx
46f61d:	89 5d f8             	mov    %ebx,-0x8(%ebp)
46f620:	ff 75 08             	push   0x8(%ebp)
46f623:	8b 04 24             	mov    (%esp),%eax
46f626:	8b 00                	mov    (%eax),%eax
46f628:	8b 00                	mov    (%eax),%eax
46f62a:	ff 90 f8 01 00 00    	call   *0x1f8(%eax)
46f630:	89 45 f4             	mov    %eax,-0xc(%ebp)
46f633:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
46f63a:	8b 45 f4             	mov    -0xc(%ebp),%eax
46f63d:	83 f8 00             	cmp    $0x0,%eax
46f640:	7d 17                	jge    0x46f659
46f642:	68 63 00 00 00       	push   $0x63
46f647:	68 de d1 03 04       	push   $0x403d1de
46f64c:	68 0a 00 00 00       	push   $0xa
46f651:	e8 54 0f 03 00       	call   0x4a05aa
46f656:	83 c4 0c             	add    $0xc,%esp
46f659:	89 45 f0             	mov    %eax,-0x10(%ebp)
46f65c:	8d 5d ec             	lea    -0x14(%ebp),%ebx
46f65f:	e8 8f 40 f9 ff       	call   0x4036f3
46f664:	51                   	push   %ecx
46f665:	c1 e1 02             	shl    $0x2,%ecx
46f668:	83 c1 08             	add    $0x8,%ecx
46f66b:	51                   	push   %ecx
46f66c:	e8 2d 0f 03 00       	call   0x4a059e
46f671:	83 c4 04             	add    $0x4,%esp
46f674:	8b f8                	mov    %eax,%edi
46f676:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
46f67c:	83 c7 04             	add    $0x4,%edi
46f67f:	59                   	pop    %ecx
46f680:	50                   	push   %eax
46f681:	51                   	push   %ecx
46f682:	8d 75 f0             	lea    -0x10(%ebp),%esi
46f685:	ad                   	lods   %ds:(%esi),%eax
46f686:	ab                   	stos   %eax,%es:(%edi)
46f687:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46f68a:	8b 1b                	mov    (%ebx),%ebx
46f68c:	e8 62 40 f9 ff       	call   0x4036f3
46f691:	5a                   	pop    %edx
46f692:	85 d2                	test   %edx,%edx
46f694:	0f 84 06 00 00 00    	je     0x46f6a0
46f69a:	8b ca                	mov    %edx,%ecx
46f69c:	33 c0                	xor    %eax,%eax
46f69e:	f3 ab                	rep stos %eax,%es:(%edi)
46f6a0:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46f6a3:	ff 33                	push   (%ebx)
46f6a5:	e8 fa 0e 03 00       	call   0x4a05a4
46f6aa:	83 c4 04             	add    $0x4,%esp
46f6ad:	58                   	pop    %eax
46f6ae:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46f6b1:	89 03                	mov    %eax,(%ebx)
46f6b3:	ff 75 08             	push   0x8(%ebp)
46f6b6:	8b 04 24             	mov    (%esp),%eax
46f6b9:	8b 00                	mov    (%eax),%eax
46f6bb:	8b 00                	mov    (%eax),%eax
46f6bd:	ff 90 f8 01 00 00    	call   *0x1f8(%eax)
46f6c3:	33 c9                	xor    %ecx,%ecx
46f6c5:	50                   	push   %eax
46f6c6:	8d 45 fc             	lea    -0x4(%ebp),%eax
46f6c9:	8b d8                	mov    %eax,%ebx
46f6cb:	58                   	pop    %eax
46f6cc:	41                   	inc    %ecx
46f6cd:	51                   	push   %ecx
46f6ce:	53                   	push   %ebx
46f6cf:	89 0b                	mov    %ecx,(%ebx)
46f6d1:	50                   	push   %eax
46f6d2:	3b c8                	cmp    %eax,%ecx
46f6d4:	0f 8f 3c 01 00 00    	jg     0x46f816
46f6da:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46f6de:	0f 84 be 00 00 00    	je     0x46f7a2
46f6e4:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f6e7:	8b 1b                	mov    (%ebx),%ebx
46f6e9:	8b 9b 40 01 00 00    	mov    0x140(%ebx),%ebx
46f6ef:	e8 ff 3f f9 ff       	call   0x4036f3
46f6f4:	53                   	push   %ebx
46f6f5:	51                   	push   %ecx
46f6f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f6f9:	48                   	dec    %eax
46f6fa:	79 17                	jns    0x46f713
46f6fc:	68 d3 00 00 00       	push   $0xd3
46f701:	68 de d1 03 04       	push   $0x403d1de
46f706:	68 04 00 00 00       	push   $0x4
46f70b:	e8 9a 0e 03 00       	call   0x4a05aa
46f710:	83 c4 0c             	add    $0xc,%esp
46f713:	59                   	pop    %ecx
46f714:	5b                   	pop    %ebx
46f715:	3b c1                	cmp    %ecx,%eax
46f717:	7c 17                	jl     0x46f730
46f719:	68 d3 00 00 00       	push   $0xd3
46f71e:	68 de d1 03 04       	push   $0x403d1de
46f723:	68 01 00 00 00       	push   $0x1
46f728:	e8 7d 0e 03 00       	call   0x4a05aa
46f72d:	83 c4 0c             	add    $0xc,%esp
46f730:	c1 e0 02             	shl    $0x2,%eax
46f733:	03 d8                	add    %eax,%ebx
46f735:	89 5d f8             	mov    %ebx,-0x8(%ebp)
46f738:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f73b:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46f73e:	89 03                	mov    %eax,(%ebx)
46f740:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f743:	8b 1b                	mov    (%ebx),%ebx
46f745:	8b 9b 1c 01 00 00    	mov    0x11c(%ebx),%ebx
46f74b:	e8 a3 3f f9 ff       	call   0x4036f3
46f750:	53                   	push   %ebx
46f751:	51                   	push   %ecx
46f752:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f755:	48                   	dec    %eax
46f756:	79 17                	jns    0x46f76f
46f758:	68 fb 00 00 00       	push   $0xfb
46f75d:	68 de d1 03 04       	push   $0x403d1de
46f762:	68 04 00 00 00       	push   $0x4
46f767:	e8 3e 0e 03 00       	call   0x4a05aa
46f76c:	83 c4 0c             	add    $0xc,%esp
46f76f:	59                   	pop    %ecx
46f770:	5b                   	pop    %ebx
46f771:	3b c1                	cmp    %ecx,%eax