40adf1:	c3                   	ret
40adf2:	6a 04                	push   $0x4
40adf4:	b8 00 b4 48 00       	mov    $0x48b400,%eax
40adf9:	e8 4c 4c 03 00       	call   0x43fa4a
40adfe:	8b f1                	mov    %ecx,%esi
40ae00:	89 75 f0             	mov    %esi,-0x10(%ebp)
40ae03:	6a 01                	push   $0x1
40ae05:	e8 2e bb 01 00       	call   0x426938
40ae0a:	59                   	pop    %ecx
40ae0b:	89 46 0c             	mov    %eax,0xc(%esi)
40ae0e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ae12:	8b ce                	mov    %esi,%ecx
40ae14:	e8 3f be 00 00       	call   0x416c58
40ae19:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ae1d:	8b c6                	mov    %esi,%eax
40ae1f:	e8 ef 4b 03 00       	call   0x43fa13
40ae24:	c3                   	ret
40ae25:	6a 04                	push   $0x4
40ae27:	b8 2e b4 48 00       	mov    $0x48b42e,%eax
40ae2c:	e8 19 4c 03 00       	call   0x43fa4a
40ae31:	8b f9                	mov    %ecx,%edi
40ae33:	89 7d f0             	mov    %edi,-0x10(%ebp)
40ae36:	8b 75 08             	mov    0x8(%ebp),%esi
40ae39:	56                   	push   %esi
40ae3a:	e8 4f f9 ff ff       	call   0x40a78e
40ae3f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ae43:	8d 46 14             	lea    0x14(%esi),%eax
40ae46:	8d 4f 14             	lea    0x14(%edi),%ecx
40ae49:	50                   	push   %eax
40ae4a:	e8 89 0c 00 00       	call   0x40bad8
40ae4f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ae53:	8b c7                	mov    %edi,%eax
40ae55:	e8 b9 4b 03 00       	call   0x43fa13
40ae5a:	c2 04 00             	ret    $0x4
40ae5d:	55                   	push   %ebp
40ae5e:	8b ec                	mov    %esp,%ebp
40ae60:	6a ff                	push   $0xffffffff
40ae62:	68 77 b4 48 00       	push   $0x48b477
40ae67:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ae6d:	50                   	push   %eax
40ae6e:	51                   	push   %ecx
40ae6f:	51                   	push   %ecx
40ae70:	a1 94 80 4b 00       	mov    0x4b8094,%eax
40ae75:	33 c5                	xor    %ebp,%eax
40ae77:	50                   	push   %eax
40ae78:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ae7b:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ae81:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40ae84:	8d 41 04             	lea    0x4(%ecx),%eax
40ae87:	33 d2                	xor    %edx,%edx
40ae89:	89 45 ec             	mov    %eax,-0x14(%ebp)
40ae8c:	89 10                	mov    %edx,(%eax)
40ae8e:	89 50 04             	mov    %edx,0x4(%eax)
40ae91:	89 50 08             	mov    %edx,0x8(%eax)
40ae94:	89 55 fc             	mov    %edx,-0x4(%ebp)
40ae97:	89 50 0c             	mov    %edx,0xc(%eax)
40ae9a:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40aea1:	89 51 14             	mov    %edx,0x14(%ecx)
40aea4:	89 51 18             	mov    %edx,0x18(%ecx)
40aea7:	89 51 1c             	mov    %edx,0x1c(%ecx)
40aeaa:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40aeae:	8b c1                	mov    %ecx,%eax
40aeb0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40aeb3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40aeba:	59                   	pop    %ecx
40aebb:	c9                   	leave
40aebc:	c3                   	ret
40aebd:	6a 04                	push   $0x4
40aebf:	b8 a5 b4 48 00       	mov    $0x48b4a5,%eax
40aec4:	e8 81 4b 03 00       	call   0x43fa4a
40aec9:	8b f9                	mov    %ecx,%edi
40aecb:	89 7d f0             	mov    %edi,-0x10(%ebp)
40aece:	8b 75 08             	mov    0x8(%ebp),%esi
40aed1:	56                   	push   %esi
40aed2:	e8 e9 f8 ff ff       	call   0x40a7c0
40aed7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40aedb:	8d 46 14             	lea    0x14(%esi),%eax
40aede:	8d 4f 14             	lea    0x14(%edi),%ecx
40aee1:	50                   	push   %eax
40aee2:	e8 57 0c 00 00       	call   0x40bb3e
40aee7:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40aeeb:	8b c7                	mov    %edi,%eax
40aeed:	e8 21 4b 03 00       	call   0x43fa13
40aef2:	c2 04 00             	ret    $0x4
40aef5:	6a 04                	push   $0x4
40aef7:	b8 d3 b4 48 00       	mov    $0x48b4d3,%eax
40aefc:	e8 49 4b 03 00       	call   0x43fa4a
40af01:	8b f1                	mov    %ecx,%esi
40af03:	89 75 f0             	mov    %esi,-0x10(%ebp)
40af06:	e8 e7 f8 ff ff       	call   0x40a7f2
40af0b:	33 c0                	xor    %eax,%eax
40af0d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40af10:	89 46 14             	mov    %eax,0x14(%esi)
40af13:	89 46 18             	mov    %eax,0x18(%esi)
40af16:	89 46 1c             	mov    %eax,0x1c(%esi)
40af19:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40af1d:	8b c6                	mov    %esi,%eax
40af1f:	e8 ef 4a 03 00       	call   0x43fa13
40af24:	c3                   	ret
40af25:	6a 04                	push   $0x4
40af27:	b8 01 b5 48 00       	mov    $0x48b501,%eax
40af2c:	e8 19 4b 03 00       	call   0x43fa4a
40af31:	8b f9                	mov    %ecx,%edi
40af33:	89 7d f0             	mov    %edi,-0x10(%ebp)
40af36:	8b 75 08             	mov    0x8(%ebp),%esi
40af39:	56                   	push   %esi
40af3a:	e8 e6 f8 ff ff       	call   0x40a825
40af3f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40af43:	8d 46 14             	lea    0x14(%esi),%eax
40af46:	8d 4f 14             	lea    0x14(%edi),%ecx
40af49:	50                   	push   %eax
40af4a:	e8 53 0c 00 00       	call   0x40bba2
40af4f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40af53:	8b c7                	mov    %edi,%eax
40af55:	e8 b9 4a 03 00       	call   0x43fa13
40af5a:	c2 04 00             	ret    $0x4
40af5d:	6a 04                	push   $0x4
40af5f:	b8 2f b5 48 00       	mov    $0x48b52f,%eax
40af64:	e8 e1 4a 03 00       	call   0x43fa4a
40af69:	8b f1                	mov    %ecx,%esi
40af6b:	89 75 f0             	mov    %esi,-0x10(%ebp)
40af6e:	e8 e4 f8 ff ff       	call   0x40a857
40af73:	33 c0                	xor    %eax,%eax
40af75:	89 45 fc             	mov    %eax,-0x4(%ebp)
40af78:	89 46 14             	mov    %eax,0x14(%esi)
40af7b:	89 46 18             	mov    %eax,0x18(%esi)
40af7e:	89 46 1c             	mov    %eax,0x1c(%esi)
40af81:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40af85:	8b c6                	mov    %esi,%eax
40af87:	e8 87 4a 03 00       	call   0x43fa13
40af8c:	c3                   	ret
40af8d:	6a 04                	push   $0x4
40af8f:	b8 52 b5 48 00       	mov    $0x48b552,%eax
40af94:	e8 b1 4a 03 00       	call   0x43fa4a
40af99:	8b f9                	mov    %ecx,%edi
40af9b:	89 7d f0             	mov    %edi,-0x10(%ebp)
40af9e:	8b 75 08             	mov    0x8(%ebp),%esi
40afa1:	56                   	push   %esi
40afa2:	e8 6d 0a 00 00       	call   0x40ba14
40afa7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40afab:	8b 46 0c             	mov    0xc(%esi),%eax
40afae:	89 47 0c             	mov    %eax,0xc(%edi)
40afb1:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40afb5:	8b c7                	mov    %edi,%eax
40afb7:	e8 57 4a 03 00       	call   0x43fa13
40afbc:	c2 04 00             	ret    $0x4
40afbf:	6a 08                	push   $0x8
40afc1:	b8 75 b5 48 00       	mov    $0x48b575,%eax
40afc6:	e8 7f 4a 03 00       	call   0x43fa4a
40afcb:	8b f1                	mov    %ecx,%esi
40afcd:	89 75 ec             	mov    %esi,-0x14(%ebp)
40afd0:	8b 45 0c             	mov    0xc(%ebp),%eax
40afd3:	8d 4d 0f             	lea    0xf(%ebp),%ecx
40afd6:	33 d2                	xor    %edx,%edx
40afd8:	51                   	push   %ecx
40afd9:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40afdc:	38 10                	cmp    %dl,(%eax)
40afde:	8b 45 08             	mov    0x8(%ebp),%eax
40afe1:	0f 94 c2             	sete   %dl
40afe4:	83 c0 1f             	add    $0x1f,%eax
40afe7:	51                   	push   %ecx
40afe8:	c1 e8 05             	shr    $0x5,%eax
40afeb:	4a                   	dec    %edx
40afec:	50                   	push   %eax
40afed:	8b ce                	mov    %esi,%ecx
40afef:	89 55 f0             	mov    %edx,-0x10(%ebp)
40aff2:	e8 83 0a 00 00       	call   0x40ba7a
40aff7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40affb:	83 66 0c 00          	andl   $0x0,0xc(%esi)
40afff:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b003:	8b c6                	mov    %esi,%eax
40b005:	e8 09 4a 03 00       	call   0x43fa13
40b00a:	c2 0c 00             	ret    $0xc
40b00d:	6a 08                	push   $0x8
40b00f:	b8 ca b5 48 00       	mov    $0x48b5ca,%eax
40b014:	e8 31 4a 03 00       	call   0x43fa4a
40b019:	8b f1                	mov    %ecx,%esi
40b01b:	89 75 ec             	mov    %esi,-0x14(%ebp)
40b01e:	33 c9                	xor    %ecx,%ecx
40b020:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40b023:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
40b026:	74 2b                	je     0x40b053
40b028:	8d 46 20             	lea    0x20(%esi),%eax
40b02b:	c7 06 cc 59 49 00    	movl   $0x4959cc,(%esi)
40b031:	c7 46 10 d4 59 49 00 	movl   $0x4959d4,0x10(%esi)
40b038:	89 45 0c             	mov    %eax,0xc(%ebp)
40b03b:	c7 00 e0 46 49 00    	movl   $0x4946e0,(%eax)
40b041:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40b044:	c7 00 44 4a 49 00    	movl   $0x494a44,(%eax)
40b04a:	33 c0                	xor    %eax,%eax
40b04c:	40                   	inc    %eax
40b04d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b050:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b053:	51                   	push   %ecx
40b054:	51                   	push   %ecx
40b055:	ff 75 08             	push   0x8(%ebp)
40b058:	8b ce                	mov    %esi,%ecx
40b05a:	e8 52 00 00 00       	call   0x40b0b1
40b05f:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40b066:	8d 56 10             	lea    0x10(%esi),%edx
40b069:	8b 02                	mov    (%edx),%eax
40b06b:	89 55 0c             	mov    %edx,0xc(%ebp)
40b06e:	8b 40 04             	mov    0x4(%eax),%eax
40b071:	c7 04 02 4c 4a 49 00 	movl   $0x494a4c,(%edx,%eax,1)
40b078:	8b 02                	mov    (%edx),%eax
40b07a:	8b 48 04             	mov    0x4(%eax),%ecx
40b07d:	8d 41 f8             	lea    -0x8(%ecx),%eax
40b080:	89 44 11 fc          	mov    %eax,-0x4(%ecx,%edx,1)
40b084:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
40b08b:	8b 06                	mov    (%esi),%eax
40b08d:	8b 40 04             	mov    0x4(%eax),%eax
40b090:	c7 04 06 c8 59 49 00 	movl   $0x4959c8,(%esi,%eax,1)
40b097:	8b 06                	mov    (%esi),%eax
40b099:	8b 48 04             	mov    0x4(%eax),%ecx
40b09c:	8d 41 e0             	lea    -0x20(%ecx),%eax
40b09f:	89 44 31 fc          	mov    %eax,-0x4(%ecx,%esi,1)
40b0a3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b0a7:	8b c6                	mov    %esi,%eax
40b0a9:	e8 65 49 03 00       	call   0x43fa13
40b0ae:	c2 08 00             	ret    $0x8
40b0b1:	6a 08                	push   $0x8
40b0b3:	b8 09 b6 48 00       	mov    $0x48b609,%eax
40b0b8:	e8 8d 49 03 00       	call   0x43fa4a
40b0bd:	8b f1                	mov    %ecx,%esi
40b0bf:	89 75 ec             	mov    %esi,-0x14(%ebp)
40b0c2:	33 d2                	xor    %edx,%edx
40b0c4:	89 55 f0             	mov    %edx,-0x10(%ebp)
40b0c7:	39 55 10             	cmp    %edx,0x10(%ebp)
40b0ca:	74 24                	je     0x40b0f0
40b0cc:	8d 46 18             	lea    0x18(%esi),%eax
40b0cf:	c7 06 bc 59 49 00    	movl   $0x4959bc,(%esi)
40b0d5:	89 45 10             	mov    %eax,0x10(%ebp)
40b0d8:	c7 00 e0 46 49 00    	movl   $0x4946e0,(%eax)
40b0de:	89 55 fc             	mov    %edx,-0x4(%ebp)
40b0e1:	c7 00 44 4a 49 00    	movl   $0x494a44,(%eax)
40b0e7:	33 c0                	xor    %eax,%eax
40b0e9:	40                   	inc    %eax
40b0ea:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b0ed:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b0f0:	8b 06                	mov    (%esi),%eax
40b0f2:	ff 75 0c             	push   0xc(%ebp)
40b0f5:	ff 75 08             	push   0x8(%ebp)
40b0f8:	8b 40 04             	mov    0x4(%eax),%eax
40b0fb:	c7 04 06 b8 59 49 00 	movl   $0x4959b8,(%esi,%eax,1)
40b102:	8b 06                	mov    (%esi),%eax
40b104:	8b 48 04             	mov    0x4(%eax),%ecx
40b107:	8d 41 e8             	lea    -0x18(%ecx),%eax
40b10a:	89 44 31 fc          	mov    %eax,-0x4(%ecx,%esi,1)
40b10e:	8b 06                	mov    (%esi),%eax
40b110:	89 56 08             	mov    %edx,0x8(%esi)
40b113:	89 56 0c             	mov    %edx,0xc(%esi)
40b116:	8b 48 04             	mov    0x4(%eax),%ecx
40b119:	03 ce                	add    %esi,%ecx
40b11b:	e8 49 6e 01 00       	call   0x421f69
40b120:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b124:	8b c6                	mov    %esi,%eax
40b126:	e8 e8 48 03 00       	call   0x43fa13
40b12b:	c2 0c 00             	ret    $0xc
40b12e:	6a 08                	push   $0x8
40b130:	b8 5e b6 48 00       	mov    $0x48b65e,%eax
40b135:	e8 10 49 03 00       	call   0x43fa4a
40b13a:	8b f9                	mov    %ecx,%edi
40b13c:	89 7d ec             	mov    %edi,-0x14(%ebp)
40b13f:	33 c9                	xor    %ecx,%ecx
40b141:	33 db                	xor    %ebx,%ebx
40b143:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40b146:	43                   	inc    %ebx
40b147:	39 4d 10             	cmp    %ecx,0x10(%ebp)
40b14a:	74 21                	je     0x40b16d
40b14c:	8d 47 60             	lea    0x60(%edi),%eax
40b14f:	c7 07 48 62 49 00    	movl   $0x496248,(%edi)
40b155:	89 45 10             	mov    %eax,0x10(%ebp)
40b158:	c7 00 e0 46 49 00    	movl   $0x4946e0,(%eax)
40b15e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40b161:	c7 00 44 4a 49 00    	movl   $0x494a44,(%eax)
40b167:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b16a:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40b16d:	51                   	push   %ecx
40b16e:	51                   	push   %ecx
40b16f:	8d 77 10             	lea    0x10(%edi),%esi
40b172:	8b cf                	mov    %edi,%ecx
40b174:	56                   	push   %esi
40b175:	e8 37 ff ff ff       	call   0x40b0b1
40b17a:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40b181:	8b ce                	mov    %esi,%ecx
40b183:	8b 07                	mov    (%edi),%eax
40b185:	8b 40 04             	mov    0x4(%eax),%eax
40b188:	c7 04 07 44 62 49 00 	movl   $0x496244,(%edi,%eax,1)
40b18f:	8b 07                	mov    (%edi),%eax
40b191:	8b 50 04             	mov    0x4(%eax),%edx
40b194:	8d 42 a0             	lea    -0x60(%edx),%eax
40b197:	89 44 3a fc          	mov    %eax,-0x4(%edx,%edi,1)
40b19b:	8b 45 0c             	mov    0xc(%ebp),%eax
40b19e:	0b c3                	or     %ebx,%eax
40b1a0:	50                   	push   %eax
40b1a1:	ff 75 08             	push   0x8(%ebp)
40b1a4:	e8 02 02 00 00       	call   0x40b3ab
40b1a9:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b1ad:	8b c7                	mov    %edi,%eax
40b1af:	e8 5f 48 03 00       	call   0x43fa13
40b1b4:	c2 0c 00             	ret    $0xc
40b1b7:	6a 08                	push   $0x8
40b1b9:	b8 8c b6 48 00       	mov    $0x48b68c,%eax
40b1be:	e8 87 48 03 00       	call   0x43fa4a
40b1c3:	8b f1                	mov    %ecx,%esi
40b1c5:	89 75 f0             	mov    %esi,-0x10(%ebp)
40b1c8:	83 26 00             	andl   $0x0,(%esi)
40b1cb:	8d 4e 04             	lea    0x4(%esi),%ecx
40b1ce:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40b1d1:	e8 e9 fb ff ff       	call   0x40adbf
40b1d6:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40b1dd:	8b 55 08             	mov    0x8(%ebp),%edx
40b1e0:	8b ca                	mov    %edx,%ecx
40b1e2:	8d 79 01             	lea    0x1(%ecx),%edi
40b1e5:	8a 01                	mov    (%ecx),%al
40b1e7:	41                   	inc    %ecx
40b1e8:	84 c0                	test   %al,%al
40b1ea:	75 f9                	jne    0x40b1e5
40b1ec:	ff 75 08             	push   0x8(%ebp)
40b1ef:	2b cf                	sub    %edi,%ecx
40b1f1:	ff 75 0c             	push   0xc(%ebp)
40b1f4:	8d 04 11             	lea    (%ecx,%edx,1),%eax
40b1f7:	8b ce                	mov    %esi,%ecx
40b1f9:	50                   	push   %eax
40b1fa:	52                   	push   %edx
40b1fb:	e8 47 a6 ff ff       	call   0x405847
40b200:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b204:	8b c6                	mov    %esi,%eax
40b206:	e8 08 48 03 00       	call   0x43fa13
40b20b:	c2 08 00             	ret    $0x8
40b20e:	6a 08                	push   $0x8
40b210:	b8 ba b6 48 00       	mov    $0x48b6ba,%eax
40b215:	e8 30 48 03 00       	call   0x43fa4a
40b21a:	8b f1                	mov    %ecx,%esi
40b21c:	89 75 f0             	mov    %esi,-0x10(%ebp)
40b21f:	33 db                	xor    %ebx,%ebx
40b221:	8d 4e 04             	lea    0x4(%esi),%ecx
40b224:	89 1e                	mov    %ebx,(%esi)
40b226:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40b229:	e8 c4 fb ff ff       	call   0x40adf2
40b22e:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40b235:	8b 55 08             	mov    0x8(%ebp),%edx
40b238:	8b ca                	mov    %edx,%ecx
40b23a:	8d 79 02             	lea    0x2(%ecx),%edi
40b23d:	66 8b 01             	mov    (%ecx),%ax
40b240:	83 c1 02             	add    $0x2,%ecx
40b243:	66 3b c3             	cmp    %bx,%ax
40b246:	75 f5                	jne    0x40b23d
40b248:	ff 75 08             	push   0x8(%ebp)
40b24b:	2b cf                	sub    %edi,%ecx