40c506:	6a 0f                	push   $0xf
40c508:	89 5e 38             	mov    %ebx,0x38(%esi)
40c50b:	58                   	pop    %eax
40c50c:	89 5e 4c             	mov    %ebx,0x4c(%esi)
40c50f:	89 46 50             	mov    %eax,0x50(%esi)
40c512:	88 5e 3c             	mov    %bl,0x3c(%esi)
40c515:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40c519:	89 5e 64             	mov    %ebx,0x64(%esi)
40c51c:	89 46 68             	mov    %eax,0x68(%esi)
40c51f:	88 5e 54             	mov    %bl,0x54(%esi)
40c522:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40c526:	8d 4e 08             	lea    0x8(%esi),%ecx
40c529:	6a 18                	push   $0x18
40c52b:	66 89 5e 6c          	mov    %bx,0x6c(%esi)
40c52f:	68 28 50 49 00       	push   $0x495028
40c534:	89 5e 70             	mov    %ebx,0x70(%esi)
40c537:	e8 6e 32 01 00       	call   0x41f7aa
40c53c:	e8 2c 8f 01 00       	call   0x42546d
40c541:	66 89 46 04          	mov    %ax,0x4(%esi)
40c545:	0f b7 c0             	movzwl %ax,%eax
40c548:	88 5e 20             	mov    %bl,0x20(%esi)
40c54b:	89 5e 24             	mov    %ebx,0x24(%esi)
40c54e:	89 46 30             	mov    %eax,0x30(%esi)
40c551:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c555:	8b c6                	mov    %esi,%eax
40c557:	e8 b7 34 03 00       	call   0x43fa13
40c55c:	c3                   	ret
40c55d:	6a 04                	push   $0x4
40c55f:	b8 ae be 48 00       	mov    $0x48beae,%eax
40c564:	e8 e1 34 03 00       	call   0x43fa4a
40c569:	8b f1                	mov    %ecx,%esi
40c56b:	89 75 f0             	mov    %esi,-0x10(%ebp)
40c56e:	e8 2b 0a 00 00       	call   0x40cf9e
40c573:	33 db                	xor    %ebx,%ebx
40c575:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40c578:	c7 06 94 4e 49 00    	movl   $0x494e94,(%esi)
40c57e:	89 5e 30             	mov    %ebx,0x30(%esi)
40c581:	89 5e 44             	mov    %ebx,0x44(%esi)
40c584:	c7 46 48 0f 00 00 00 	movl   $0xf,0x48(%esi)
40c58b:	88 5e 34             	mov    %bl,0x34(%esi)
40c58e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40c592:	8d 4e 08             	lea    0x8(%esi),%ecx
40c595:	89 5e 4c             	mov    %ebx,0x4c(%esi)
40c598:	89 5e 50             	mov    %ebx,0x50(%esi)
40c59b:	6a 13                	push   $0x13
40c59d:	89 5e 54             	mov    %ebx,0x54(%esi)
40c5a0:	68 e0 4e 49 00       	push   $0x494ee0
40c5a5:	89 5e 58             	mov    %ebx,0x58(%esi)
40c5a8:	e8 fd 31 01 00       	call   0x41f7aa
40c5ad:	e8 bb 8e 01 00       	call   0x42546d
40c5b2:	66 89 46 04          	mov    %ax,0x4(%esi)
40c5b6:	0f b7 c0             	movzwl %ax,%eax
40c5b9:	88 5e 20             	mov    %bl,0x20(%esi)
40c5bc:	89 5e 24             	mov    %ebx,0x24(%esi)
40c5bf:	89 46 30             	mov    %eax,0x30(%esi)
40c5c2:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c5c6:	8b c6                	mov    %esi,%eax
40c5c8:	e8 46 34 03 00       	call   0x43fa13
40c5cd:	c3                   	ret
40c5ce:	6a 04                	push   $0x4
40c5d0:	b8 d1 be 48 00       	mov    $0x48bed1,%eax
40c5d5:	e8 70 34 03 00       	call   0x43fa4a
40c5da:	8b f1                	mov    %ecx,%esi
40c5dc:	89 75 f0             	mov    %esi,-0x10(%ebp)
40c5df:	e8 ba 09 00 00       	call   0x40cf9e
40c5e4:	33 db                	xor    %ebx,%ebx
40c5e6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40c5e9:	8d 4e 08             	lea    0x8(%esi),%ecx
40c5ec:	6a 15                	push   $0x15
40c5ee:	c7 06 2c 4f 49 00    	movl   $0x494f2c,(%esi)
40c5f4:	68 50 4f 49 00       	push   $0x494f50
40c5f9:	89 5e 30             	mov    %ebx,0x30(%esi)
40c5fc:	e8 a9 31 01 00       	call   0x41f7aa
40c601:	e8 67 8e 01 00       	call   0x42546d
40c606:	66 89 46 04          	mov    %ax,0x4(%esi)
40c60a:	0f b7 c0             	movzwl %ax,%eax
40c60d:	88 5e 20             	mov    %bl,0x20(%esi)
40c610:	89 5e 24             	mov    %ebx,0x24(%esi)
40c613:	89 46 30             	mov    %eax,0x30(%esi)
40c616:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c61a:	8b c6                	mov    %esi,%eax
40c61c:	e8 f2 33 03 00       	call   0x43fa13
40c621:	c3                   	ret
40c622:	6a 04                	push   $0x4
40c624:	b8 15 bf 48 00       	mov    $0x48bf15,%eax
40c629:	e8 1c 34 03 00       	call   0x43fa4a
40c62e:	8b f1                	mov    %ecx,%esi
40c630:	89 75 f0             	mov    %esi,-0x10(%ebp)
40c633:	e8 66 09 00 00       	call   0x40cf9e
40c638:	33 db                	xor    %ebx,%ebx
40c63a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40c63d:	c7 06 d8 50 49 00    	movl   $0x4950d8,(%esi)
40c643:	6a 0f                	push   $0xf
40c645:	89 5e 30             	mov    %ebx,0x30(%esi)
40c648:	58                   	pop    %eax
40c649:	89 5e 44             	mov    %ebx,0x44(%esi)
40c64c:	89 46 48             	mov    %eax,0x48(%esi)
40c64f:	88 5e 34             	mov    %bl,0x34(%esi)
40c652:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40c656:	89 5e 5c             	mov    %ebx,0x5c(%esi)
40c659:	89 46 60             	mov    %eax,0x60(%esi)
40c65c:	88 5e 4c             	mov    %bl,0x4c(%esi)
40c65f:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40c663:	89 5e 64             	mov    %ebx,0x64(%esi)
40c666:	89 5e 78             	mov    %ebx,0x78(%esi)
40c669:	89 46 7c             	mov    %eax,0x7c(%esi)
40c66c:	88 5e 68             	mov    %bl,0x68(%esi)
40c66f:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40c673:	8d 4e 08             	lea    0x8(%esi),%ecx
40c676:	6a 0e                	push   $0xe
40c678:	68 1c 51 49 00       	push   $0x49511c
40c67d:	e8 28 31 01 00       	call   0x41f7aa
40c682:	e8 e6 8d 01 00       	call   0x42546d
40c687:	66 89 46 04          	mov    %ax,0x4(%esi)
40c68b:	0f b7 c0             	movzwl %ax,%eax
40c68e:	88 5e 20             	mov    %bl,0x20(%esi)
40c691:	89 5e 24             	mov    %ebx,0x24(%esi)
40c694:	89 46 30             	mov    %eax,0x30(%esi)
40c697:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c69b:	8b c6                	mov    %esi,%eax
40c69d:	e8 71 33 03 00       	call   0x43fa13
40c6a2:	c3                   	ret
40c6a3:	6a 3c                	push   $0x3c
40c6a5:	b8 69 bf 48 00       	mov    $0x48bf69,%eax
40c6aa:	e8 cf 33 03 00       	call   0x43fa7e
40c6af:	8b f1                	mov    %ecx,%esi
40c6b1:	89 75 bc             	mov    %esi,-0x44(%ebp)
40c6b4:	6a 07                	push   $0x7
40c6b6:	89 75 b8             	mov    %esi,-0x48(%ebp)
40c6b9:	33 d2                	xor    %edx,%edx
40c6bb:	5f                   	pop    %edi
40c6bc:	33 c0                	xor    %eax,%eax
40c6be:	89 56 10             	mov    %edx,0x10(%esi)
40c6c1:	89 7e 14             	mov    %edi,0x14(%esi)
40c6c4:	66 89 06             	mov    %ax,(%esi)
40c6c7:	89 55 fc             	mov    %edx,-0x4(%ebp)
40c6ca:	33 c9                	xor    %ecx,%ecx
40c6cc:	89 56 28             	mov    %edx,0x28(%esi)
40c6cf:	89 7e 2c             	mov    %edi,0x2c(%esi)
40c6d2:	66 89 4e 18          	mov    %cx,0x18(%esi)
40c6d6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40c6da:	89 56 40             	mov    %edx,0x40(%esi)
40c6dd:	89 7e 44             	mov    %edi,0x44(%esi)
40c6e0:	66 89 46 30          	mov    %ax,0x30(%esi)
40c6e4:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40c6e8:	89 56 58             	mov    %edx,0x58(%esi)
40c6eb:	89 7e 5c             	mov    %edi,0x5c(%esi)
40c6ee:	66 89 4e 48          	mov    %cx,0x48(%esi)
40c6f2:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40c6f6:	89 55 d0             	mov    %edx,-0x30(%ebp)
40c6f9:	89 55 d4             	mov    %edx,-0x2c(%ebp)
40c6fc:	89 55 d0             	mov    %edx,-0x30(%ebp)
40c6ff:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40c702:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
40c706:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40c70a:	bf 00 04 00 00       	mov    $0x400,%edi
40c70f:	8b c7                	mov    %edi,%eax
40c711:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40c714:	2b 45 d0             	sub    -0x30(%ebp),%eax
40c717:	52                   	push   %edx
40c718:	50                   	push   %eax
40c719:	e8 03 2f 01 00       	call   0x41f621
40c71e:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
40c722:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c725:	ff 75 d0             	push   -0x30(%ebp)
40c728:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
40c72c:	50                   	push   %eax
40c72d:	6a 00                	push   $0x0
40c72f:	ff 15 50 41 49 00    	call   *0x494150
40c735:	48                   	dec    %eax
40c736:	3d fe 03 00 00       	cmp    $0x3fe,%eax
40c73b:	77 44                	ja     0x40c781
40c73d:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
40c741:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c744:	8b ce                	mov    %esi,%ecx
40c746:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
40c74a:	50                   	push   %eax
40c74b:	e8 2c 31 01 00       	call   0x41f87c
40c750:	6a ff                	push   $0xffffffff
40c752:	68 08 4d 49 00       	push   $0x494d08
40c757:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40c75a:	e8 09 48 01 00       	call   0x420f68
40c75f:	83 f8 ff             	cmp    $0xffffffff,%eax
40c762:	74 09                	je     0x40c76d
40c764:	50                   	push   %eax
40c765:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40c768:	e8 3b 45 01 00       	call   0x420ca8
40c76d:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
40c771:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c774:	8d 4e 30             	lea    0x30(%esi),%ecx
40c777:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
40c77b:	50                   	push   %eax
40c77c:	e8 fb 30 01 00       	call   0x41f87c
40c781:	8d 45 bc             	lea    -0x44(%ebp),%eax
40c784:	33 db                	xor    %ebx,%ebx
40c786:	50                   	push   %eax
40c787:	68 50 2d 41 00       	push   $0x412d50
40c78c:	6a 06                	push   $0x6
40c78e:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40c791:	ff 15 5c 41 49 00    	call   *0x49415c
40c797:	85 c0                	test   %eax,%eax
40c799:	0f 84 98 00 00 00    	je     0x40c837
40c79f:	33 c0                	xor    %eax,%eax
40c7a1:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40c7a4:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40c7a7:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40c7aa:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
40c7b1:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
40c7b5:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40c7b9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c7bc:	2b 7d e8             	sub    -0x18(%ebp),%edi
40c7bf:	53                   	push   %ebx
40c7c0:	57                   	push   %edi
40c7c1:	e8 5b 2e 01 00       	call   0x41f621
40c7c6:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40c7ca:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c7cd:	ff 75 e8             	push   -0x18(%ebp)
40c7d0:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
40c7d4:	50                   	push   %eax
40c7d5:	ff 75 bc             	push   -0x44(%ebp)
40c7d8:	ff 15 50 41 49 00    	call   *0x494150
40c7de:	48                   	dec    %eax
40c7df:	3d fe 03 00 00       	cmp    $0x3fe,%eax
40c7e4:	77 45                	ja     0x40c82b
40c7e6:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40c7ea:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c7ed:	8d 4e 18             	lea    0x18(%esi),%ecx
40c7f0:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
40c7f4:	50                   	push   %eax
40c7f5:	e8 82 30 01 00       	call   0x41f87c
40c7fa:	6a ff                	push   $0xffffffff
40c7fc:	68 08 4d 49 00       	push   $0x494d08
40c801:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c804:	e8 5f 47 01 00       	call   0x420f68
40c809:	83 f8 ff             	cmp    $0xffffffff,%eax
40c80c:	74 09                	je     0x40c817
40c80e:	50                   	push   %eax
40c80f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c812:	e8 91 44 01 00       	call   0x420ca8
40c817:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40c81b:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c81e:	8d 4e 48             	lea    0x48(%esi),%ecx
40c821:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
40c825:	50                   	push   %eax
40c826:	e8 51 30 01 00       	call   0x41f87c
40c82b:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40c82f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c832:	e8 c3 0a 01 00       	call   0x41d2fa
40c837:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40c83b:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40c83e:	e8 b7 0a 01 00       	call   0x41d2fa
40c843:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c847:	8b c6                	mov    %esi,%eax
40c849:	e8 da 31 03 00       	call   0x43fa28
40c84e:	c3                   	ret
40c84f:	6a 10                	push   $0x10
40c851:	b8 d8 bf 48 00       	mov    $0x48bfd8,%eax
40c856:	e8 ef 31 03 00       	call   0x43fa4a
40c85b:	8b f1                	mov    %ecx,%esi
40c85d:	89 75 f0             	mov    %esi,-0x10(%ebp)
40c860:	33 db                	xor    %ebx,%ebx
40c862:	53                   	push   %ebx
40c863:	e8 e8 8d 01 00       	call   0x425650
40c868:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40c86b:	89 5e 04             	mov    %ebx,0x4(%esi)
40c86e:	88 5e 08             	mov    %bl,0x8(%esi)
40c871:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40c875:	89 5e 0c             	mov    %ebx,0xc(%esi)
40c878:	88 5e 10             	mov    %bl,0x10(%esi)
40c87b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40c87f:	33 c0                	xor    %eax,%eax
40c881:	89 5e 14             	mov    %ebx,0x14(%esi)
40c884:	66 89 46 18          	mov    %ax,0x18(%esi)
40c888:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40c88c:	89 5e 1c             	mov    %ebx,0x1c(%esi)
40c88f:	66 89 46 20          	mov    %ax,0x20(%esi)
40c893:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40c897:	89 5e 24             	mov    %ebx,0x24(%esi)
40c89a:	88 5e 28             	mov    %bl,0x28(%esi)
40c89d:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40c8a1:	89 5e 2c             	mov    %ebx,0x2c(%esi)
40c8a4:	88 5e 30             	mov    %bl,0x30(%esi)
40c8a7:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40c8ab:	39 45 08             	cmp    %eax,0x8(%ebp)
40c8ae:	74 19                	je     0x40c8c9
40c8b0:	ff 75 08             	push   0x8(%ebp)
40c8b3:	56                   	push   %esi
40c8b4:	e8 86 a1 01 00       	call   0x426a3f
40c8b9:	59                   	pop    %ecx
40c8ba:	59                   	pop    %ecx
40c8bb:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c8bf:	8b c6                	mov    %esi,%eax
40c8c1:	e8 4d 31 03 00       	call   0x43fa13
40c8c6:	c2 04 00             	ret    $0x4
40c8c9:	68 70 45 49 00       	push   $0x494570
40c8ce:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c8d1:	e8 aa 07 00 00       	call   0x40d080
40c8d6:	68 54 15 4b 00       	push   $0x4b1554
40c8db:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40c8de:	50                   	push   %eax
40c8df:	e8 de 78 03 00       	call   0x4441c2
40c8e4:	cc                   	int3
40c8e5:	6a 04                	push   $0x4
40c8e7:	b8 fb bf 48 00       	mov    $0x48bffb,%eax
40c8ec:	e8 59 31 03 00       	call   0x43fa4a
40c8f1:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40c8f4:	8b 45 08             	mov    0x8(%ebp),%eax
40c8f7:	89 41 04             	mov    %eax,0x4(%ecx)
40c8fa:	8b 45 0c             	mov    0xc(%ebp),%eax
40c8fd:	89 41 08             	mov    %eax,0x8(%ecx)
40c900:	33 c0                	xor    %eax,%eax
40c902:	c7 01 7c 4b 49 00    	movl   $0x494b7c,(%ecx)
40c908:	89 41 0c             	mov    %eax,0xc(%ecx)
40c90b:	89 41 10             	mov    %eax,0x10(%ecx)
40c90e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c911:	c7 01 94 4b 49 00    	movl   $0x494b94,(%ecx)
40c917:	89 41 14             	mov    %eax,0x14(%ecx)
40c91a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c91e:	8b c1                	mov    %ecx,%eax
40c920:	e8 ee 30 03 00       	call   0x43fa13
40c925:	c2 08 00             	ret    $0x8
40c928:	6a 04                	push   $0x4
40c92a:	b8 1e c0 48 00       	mov    $0x48c01e,%eax
40c92f:	e8 16 31 03 00       	call   0x43fa4a
40c934:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40c937:	33 c0                	xor    %eax,%eax
40c939:	c7 01 7c 4b 49 00    	movl   $0x494b7c,(%ecx)
40c93f:	c7 41 04 0f 00 00 00 	movl   $0xf,0x4(%ecx)
40c946:	89 41 08             	mov    %eax,0x8(%ecx)
40c949:	89 41 0c             	mov    %eax,0xc(%ecx)
40c94c:	89 41 10             	mov    %eax,0x10(%ecx)
40c94f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c952:	8b 45 08             	mov    0x8(%ebp),%eax
40c955:	c7 01 a4 4b 49 00    	movl   $0x494ba4,(%ecx)
40c95b:	89 41 14             	mov    %eax,0x14(%ecx)
40c95e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c962:	8b c1                	mov    %ecx,%eax
40c964:	e8 aa 30 03 00       	call   0x43fa13
40c969:	c2 04 00             	ret    $0x4
40c96c:	6a 04                	push   $0x4
40c96e:	b8 41 c0 48 00       	mov    $0x48c041,%eax
40c973:	e8 d2 30 03 00       	call   0x43fa4a
40c978:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40c97b:	33 c0                	xor    %eax,%eax
40c97d:	c7 01 7c 4b 49 00    	movl   $0x494b7c,(%ecx)
40c983:	c7 41 04 0d 00 00 00 	movl   $0xd,0x4(%ecx)
40c98a:	89 41 08             	mov    %eax,0x8(%ecx)
40c98d:	89 41 0c             	mov    %eax,0xc(%ecx)
40c990:	89 41 10             	mov    %eax,0x10(%ecx)
40c993:	89 45 fc             	mov    %eax,-0x4(%ebp)