40be0d:	cc                   	int3
40be0e:	cc                   	int3
40be0f:	cc                   	int3
40be10:	8b ff                	mov    %edi,%edi
40be12:	55                   	push   %ebp
40be13:	8b ec                	mov    %esp,%ebp
40be15:	8b 45 0c             	mov    0xc(%ebp),%eax
40be18:	53                   	push   %ebx
40be19:	56                   	push   %esi
40be1a:	57                   	push   %edi
40be1b:	8b 30                	mov    (%eax),%esi
40be1d:	8b 45 08             	mov    0x8(%ebp),%eax
40be20:	8b be 94 00 00 00    	mov    0x94(%esi),%edi
40be26:	8a 18                	mov    (%eax),%bl
40be28:	0f b6 cb             	movzbl %bl,%ecx
40be2b:	80 3c 39 65          	cmpb   $0x65,(%ecx,%edi,1)
40be2f:	74 0f                	je     0x40be40
40be31:	8b 16                	mov    (%esi),%edx
40be33:	8a 58 01             	mov    0x1(%eax),%bl
40be36:	40                   	inc    %eax
40be37:	0f b6 cb             	movzbl %bl,%ecx
40be3a:	f6 04 4a 04          	testb  $0x4,(%edx,%ecx,2)
40be3e:	75 f3                	jne    0x40be33
40be40:	0f b6 cb             	movzbl %bl,%ecx
40be43:	80 3c 39 78          	cmpb   $0x78,(%ecx,%edi,1)
40be47:	75 06                	jne    0x40be4f
40be49:	8a 58 02             	mov    0x2(%eax),%bl
40be4c:	83 c0 02             	add    $0x2,%eax
40be4f:	8b 8e 88 00 00 00    	mov    0x88(%esi),%ecx
40be55:	8b 09                	mov    (%ecx),%ecx
40be57:	8a 09                	mov    (%ecx),%cl
40be59:	88 08                	mov    %cl,(%eax)
40be5b:	40                   	inc    %eax
40be5c:	8d 64 24 00          	lea    0x0(%esp),%esp
40be60:	8a 08                	mov    (%eax),%cl
40be62:	8d 40 01             	lea    0x1(%eax),%eax
40be65:	8a d3                	mov    %bl,%dl
40be67:	88 58 ff             	mov    %bl,-0x1(%eax)
40be6a:	8a d9                	mov    %cl,%bl
40be6c:	84 d2                	test   %dl,%dl
40be6e:	75 f0                	jne    0x40be60
40be70:	5f                   	pop    %edi
40be71:	5e                   	pop    %esi
40be72:	5b                   	pop    %ebx
40be73:	5d                   	pop    %ebp
40be74:	c3                   	ret
40be75:	8b ff                	mov    %edi,%edi
40be77:	55                   	push   %ebp
40be78:	8b ec                	mov    %esp,%ebp
40be7a:	51                   	push   %ecx
40be7b:	53                   	push   %ebx
40be7c:	56                   	push   %esi
40be7d:	57                   	push   %edi
40be7e:	8b f9                	mov    %ecx,%edi
40be80:	8b 77 0c             	mov    0xc(%edi),%esi
40be83:	85 f6                	test   %esi,%esi
40be85:	75 0a                	jne    0x40be91
40be87:	e8 6f 2f 00 00       	call   0x40edfb
40be8c:	8b f0                	mov    %eax,%esi
40be8e:	89 77 0c             	mov    %esi,0xc(%edi)
40be91:	8b 1e                	mov    (%esi),%ebx
40be93:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40be96:	83 26 00             	andl   $0x0,(%esi)
40be99:	8b 47 10             	mov    0x10(%edi),%eax
40be9c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bea0:	48                   	dec    %eax
40bea1:	6a 0a                	push   $0xa
40bea3:	51                   	push   %ecx
40bea4:	50                   	push   %eax
40bea5:	e8 0a 7d 00 00       	call   0x413bb4
40beaa:	8b 4d 08             	mov    0x8(%ebp),%ecx
40bead:	83 c4 0c             	add    $0xc,%esp
40beb0:	89 01                	mov    %eax,(%ecx)
40beb2:	8b 47 0c             	mov    0xc(%edi),%eax
40beb5:	85 c0                	test   %eax,%eax
40beb7:	75 08                	jne    0x40bec1
40beb9:	e8 3d 2f 00 00       	call   0x40edfb
40bebe:	89 47 0c             	mov    %eax,0xc(%edi)
40bec1:	83 38 22             	cmpl   $0x22,(%eax)
40bec4:	74 0f                	je     0x40bed5
40bec6:	8b 45 fc             	mov    -0x4(%ebp),%eax
40bec9:	3b 47 10             	cmp    0x10(%edi),%eax
40becc:	72 07                	jb     0x40bed5
40bece:	89 47 10             	mov    %eax,0x10(%edi)
40bed1:	b0 01                	mov    $0x1,%al
40bed3:	eb 02                	jmp    0x40bed7
40bed5:	32 c0                	xor    %al,%al
40bed7:	83 3e 00             	cmpl   $0x0,(%esi)
40beda:	75 06                	jne    0x40bee2
40bedc:	85 db                	test   %ebx,%ebx
40bede:	74 02                	je     0x40bee2
40bee0:	89 1e                	mov    %ebx,(%esi)
40bee2:	5f                   	pop    %edi
40bee3:	5e                   	pop    %esi
40bee4:	5b                   	pop    %ebx
40bee5:	c9                   	leave
40bee6:	c2 04 00             	ret    $0x4
40bee9:	cc                   	int3
40beea:	cc                   	int3
40beeb:	cc                   	int3
40beec:	8b ff                	mov    %edi,%edi
40beee:	53                   	push   %ebx
40beef:	56                   	push   %esi
40bef0:	8b f1                	mov    %ecx,%esi
40bef2:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40bef8:	e8 da 0a 00 00       	call   0x40c9d7
40befd:	84 c0                	test   %al,%al
40beff:	74 1b                	je     0x40bf1c
40bf01:	33 db                	xor    %ebx,%ebx
40bf03:	39 5e 10             	cmp    %ebx,0x10(%esi)
40bf06:	0f 85 c8 00 00 00    	jne    0x40bfd4
40bf0c:	e8 ea 2e 00 00       	call   0x40edfb
40bf11:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40bf17:	e8 65 11 00 00       	call   0x40d081
40bf1c:	83 c8 ff             	or     $0xffffffff,%eax
40bf1f:	5e                   	pop    %esi
40bf20:	5b                   	pop    %ebx
40bf21:	c3                   	ret
40bf22:	89 5e 38             	mov    %ebx,0x38(%esi)
40bf25:	89 5e 1c             	mov    %ebx,0x1c(%esi)
40bf28:	e9 85 00 00 00       	jmp    0x40bfb2
40bf2d:	ff 46 10             	incl   0x10(%esi)
40bf30:	39 5e 18             	cmp    %ebx,0x18(%esi)
40bf33:	0f 8c 8c 00 00 00    	jl     0x40bfc5
40bf39:	ff 76 1c             	push   0x1c(%esi)
40bf3c:	0f b6 46 31          	movzbl 0x31(%esi),%eax
40bf40:	8b ce                	mov    %esi,%ecx
40bf42:	50                   	push   %eax
40bf43:	e8 89 fe ff ff       	call   0x40bdd1
40bf48:	89 46 1c             	mov    %eax,0x1c(%esi)
40bf4b:	83 f8 08             	cmp    $0x8,%eax
40bf4e:	74 bc                	je     0x40bf0c
40bf50:	83 f8 07             	cmp    $0x7,%eax
40bf53:	77 c7                	ja     0x40bf1c
40bf55:	ff 24 85 f0 bf 40 00 	jmp    *0x40bff0(,%eax,4)
40bf5c:	8b ce                	mov    %esi,%ecx
40bf5e:	e8 ea 00 00 00       	call   0x40c04d
40bf63:	eb 45                	jmp    0x40bfaa
40bf65:	83 4e 28 ff          	orl    $0xffffffff,0x28(%esi)
40bf69:	89 5e 24             	mov    %ebx,0x24(%esi)
40bf6c:	88 5e 30             	mov    %bl,0x30(%esi)
40bf6f:	89 5e 20             	mov    %ebx,0x20(%esi)
40bf72:	89 5e 2c             	mov    %ebx,0x2c(%esi)
40bf75:	88 5e 3c             	mov    %bl,0x3c(%esi)
40bf78:	eb 38                	jmp    0x40bfb2
40bf7a:	8b ce                	mov    %esi,%ecx
40bf7c:	e8 8f 00 00 00       	call   0x40c010
40bf81:	eb 27                	jmp    0x40bfaa
40bf83:	8b ce                	mov    %esi,%ecx
40bf85:	e8 16 05 00 00       	call   0x40c4a0
40bf8a:	eb 1e                	jmp    0x40bfaa
40bf8c:	89 5e 28             	mov    %ebx,0x28(%esi)
40bf8f:	eb 21                	jmp    0x40bfb2
40bf91:	8b ce                	mov    %esi,%ecx
40bf93:	e8 62 01 00 00       	call   0x40c0fa
40bf98:	eb 10                	jmp    0x40bfaa
40bf9a:	8b ce                	mov    %esi,%ecx
40bf9c:	e8 7f 01 00 00       	call   0x40c120
40bfa1:	eb 07                	jmp    0x40bfaa
40bfa3:	8b ce                	mov    %esi,%ecx
40bfa5:	e8 c4 02 00 00       	call   0x40c26e
40bfaa:	84 c0                	test   %al,%al
40bfac:	0f 84 6a ff ff ff    	je     0x40bf1c
40bfb2:	8b 46 10             	mov    0x10(%esi),%eax
40bfb5:	8a 00                	mov    (%eax),%al
40bfb7:	88 46 31             	mov    %al,0x31(%esi)
40bfba:	84 c0                	test   %al,%al
40bfbc:	0f 85 6b ff ff ff    	jne    0x40bf2d
40bfc2:	ff 46 10             	incl   0x10(%esi)
40bfc5:	8b ce                	mov    %esi,%ecx
40bfc7:	e8 26 0a 00 00       	call   0x40c9f2
40bfcc:	84 c0                	test   %al,%al
40bfce:	0f 84 48 ff ff ff    	je     0x40bf1c
40bfd4:	ff 86 50 04 00 00    	incl   0x450(%esi)
40bfda:	83 be 50 04 00 00 02 	cmpl   $0x2,0x450(%esi)
40bfe1:	0f 85 3b ff ff ff    	jne    0x40bf22
40bfe7:	8b 46 18             	mov    0x18(%esi),%eax
40bfea:	e9 30 ff ff ff       	jmp    0x40bf1f
40bfef:	90                   	nop
40bff0:	5c                   	pop    %esp
40bff1:	bf 40 00 65 bf       	mov    $0xbf650040,%edi
40bff6:	40                   	inc    %eax
40bff7:	00 7a bf             	add    %bh,-0x41(%edx)
40bffa:	40                   	inc    %eax
40bffb:	00 83 bf 40 00 8c    	add    %al,-0x73ffbf41(%ebx)
40c001:	bf 40 00 91 bf       	mov    $0xbf910040,%edi
40c006:	40                   	inc    %eax
40c007:	00 9a bf 40 00 a3    	add    %bl,-0x5cffbf41(%edx)
40c00d:	bf 40 00 0f be       	mov    $0xbe0f0040,%edi
40c012:	41                   	inc    %ecx
40c013:	31 83 e8 20 74 2d    	xor    %eax,0x2d7420e8(%ebx)
40c019:	83 e8 03             	sub    $0x3,%eax
40c01c:	74 22                	je     0x40c040
40c01e:	83 e8 08             	sub    $0x8,%eax
40c021:	74 17                	je     0x40c03a
40c023:	48                   	dec    %eax
40c024:	83 e8 01             	sub    $0x1,%eax
40c027:	74 0b                	je     0x40c034
40c029:	83 e8 03             	sub    $0x3,%eax
40c02c:	75 1c                	jne    0x40c04a
40c02e:	83 49 20 08          	orl    $0x8,0x20(%ecx)
40c032:	eb 16                	jmp    0x40c04a
40c034:	83 49 20 04          	orl    $0x4,0x20(%ecx)
40c038:	eb 10                	jmp    0x40c04a
40c03a:	83 49 20 01          	orl    $0x1,0x20(%ecx)
40c03e:	eb 0a                	jmp    0x40c04a
40c040:	83 49 20 20          	orl    $0x20,0x20(%ecx)
40c044:	eb 04                	jmp    0x40c04a
40c046:	83 49 20 02          	orl    $0x2,0x20(%ecx)
40c04a:	b0 01                	mov    $0x1,%al
40c04c:	c3                   	ret
40c04d:	e8 1a 00 00 00       	call   0x40c06c
40c052:	84 c0                	test   %al,%al
40c054:	75 13                	jne    0x40c069
40c056:	e8 a0 2d 00 00       	call   0x40edfb
40c05b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40c061:	e8 1b 10 00 00       	call   0x40d081
40c066:	32 c0                	xor    %al,%al
40c068:	c3                   	ret
40c069:	b0 01                	mov    $0x1,%al
40c06b:	c3                   	ret
40c06c:	8b ff                	mov    %edi,%edi
40c06e:	56                   	push   %esi
40c06f:	6a 00                	push   $0x0
40c071:	8b f1                	mov    %ecx,%esi
40c073:	e8 1e 00 00 00       	call   0x40c096
40c078:	84 c0                	test   %al,%al
40c07a:	75 02                	jne    0x40c07e
40c07c:	5e                   	pop    %esi
40c07d:	c3                   	ret
40c07e:	8d 46 18             	lea    0x18(%esi),%eax
40c081:	50                   	push   %eax
40c082:	0f b6 46 31          	movzbl 0x31(%esi),%eax
40c086:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40c08c:	50                   	push   %eax
40c08d:	e8 82 09 00 00       	call   0x40ca14
40c092:	b0 01                	mov    $0x1,%al
40c094:	5e                   	pop    %esi
40c095:	c3                   	ret
40c096:	8b ff                	mov    %edi,%edi
40c098:	53                   	push   %ebx
40c099:	56                   	push   %esi
40c09a:	8b f1                	mov    %ecx,%esi
40c09c:	68 00 80 00 00       	push   $0x8000
40c0a1:	8a 5e 31             	mov    0x31(%esi),%bl
40c0a4:	0f be c3             	movsbl %bl,%eax
40c0a7:	50                   	push   %eax
40c0a8:	8b 46 08             	mov    0x8(%esi),%eax
40c0ab:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
40c0af:	8b 00                	mov    (%eax),%eax
40c0b1:	ff 30                	push   (%eax)
40c0b3:	e8 aa 0a 00 00       	call   0x40cb62
40c0b8:	83 c4 0c             	add    $0xc,%esp
40c0bb:	85 c0                	test   %eax,%eax
40c0bd:	74 34                	je     0x40c0f3
40c0bf:	8d 46 18             	lea    0x18(%esi),%eax
40c0c2:	50                   	push   %eax
40c0c3:	53                   	push   %ebx
40c0c4:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40c0ca:	e8 45 09 00 00       	call   0x40ca14
40c0cf:	8b 46 10             	mov    0x10(%esi),%eax
40c0d2:	8a 08                	mov    (%eax),%cl
40c0d4:	40                   	inc    %eax
40c0d5:	88 4e 31             	mov    %cl,0x31(%esi)
40c0d8:	89 46 10             	mov    %eax,0x10(%esi)
40c0db:	84 c9                	test   %cl,%cl
40c0dd:	75 14                	jne    0x40c0f3
40c0df:	e8 17 2d 00 00       	call   0x40edfb
40c0e4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40c0ea:	e8 92 0f 00 00       	call   0x40d081
40c0ef:	32 c0                	xor    %al,%al
40c0f1:	eb 02                	jmp    0x40c0f5
40c0f3:	b0 01                	mov    $0x1,%al
40c0f5:	5e                   	pop    %esi
40c0f6:	5b                   	pop    %ebx
40c0f7:	c2 04 00             	ret    $0x4
40c0fa:	80 79 31 2a          	cmpb   $0x2a,0x31(%ecx)
40c0fe:	8d 51 28             	lea    0x28(%ecx),%edx
40c101:	74 07                	je     0x40c10a
40c103:	52                   	push   %edx
40c104:	e8 6c fd ff ff       	call   0x40be75
40c109:	c3                   	ret
40c10a:	83 41 14 04          	addl   $0x4,0x14(%ecx)
40c10e:	8b 41 14             	mov    0x14(%ecx),%eax
40c111:	8b 40 fc             	mov    -0x4(%eax),%eax
40c114:	89 02                	mov    %eax,(%edx)
40c116:	85 c0                	test   %eax,%eax
40c118:	79 03                	jns    0x40c11d
40c11a:	83 0a ff             	orl    $0xffffffff,(%edx)
40c11d:	b0 01                	mov    $0x1,%al
40c11f:	c3                   	ret
40c120:	8a 41 31             	mov    0x31(%ecx),%al
40c123:	3c 46                	cmp    $0x46,%al
40c125:	75 1a                	jne    0x40c141
40c127:	8b 01                	mov    (%ecx),%eax
40c129:	83 e0 08             	and    $0x8,%eax
40c12c:	83 c8 00             	or     $0x0,%eax
40c12f:	0f 85 36 01 00 00    	jne    0x40c26b
40c135:	c7 41 1c 07 00 00 00 	movl   $0x7,0x1c(%ecx)
40c13c:	e9 2d 01 00 00       	jmp    0x40c26e
40c141:	3c 4e                	cmp    $0x4e,%al
40c143:	75 26                	jne    0x40c16b
40c145:	8b 01                	mov    (%ecx),%eax
40c147:	6a 08                	push   $0x8
40c149:	5a                   	pop    %edx
40c14a:	23 c2                	and    %edx,%eax
40c14c:	83 c8 00             	or     $0x0,%eax
40c14f:	0f 85 16 01 00 00    	jne    0x40c26b
40c155:	89 51 1c             	mov    %edx,0x1c(%ecx)
40c158:	e8 9e 2c 00 00       	call   0x40edfb
40c15d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40c163:	e8 19 0f 00 00       	call   0x40d081
40c168:	32 c0                	xor    %al,%al
40c16a:	c3                   	ret
40c16b:	83 79 2c 00          	cmpl   $0x0,0x2c(%ecx)
40c16f:	75 e7                	jne    0x40c158
40c171:	3c 6a                	cmp    $0x6a,%al
40c173:	0f 8f b1 00 00 00    	jg     0x40c22a
40c179:	0f 84 a2 00 00 00    	je     0x40c221
40c17f:	3c 49                	cmp    $0x49,%al
40c181:	74 43                	je     0x40c1c6
40c183:	3c 4c                	cmp    $0x4c,%al
40c185:	74 33                	je     0x40c1ba
40c187:	3c 54                	cmp    $0x54,%al
40c189:	74 23                	je     0x40c1ae
40c18b:	3c 68                	cmp    $0x68,%al
40c18d:	0f 85 d8 00 00 00    	jne    0x40c26b
40c193:	8b 41 10             	mov    0x10(%ecx),%eax
40c196:	80 38 68             	cmpb   $0x68,(%eax)
40c199:	75 0c                	jne    0x40c1a7
40c19b:	40                   	inc    %eax
40c19c:	89 41 10             	mov    %eax,0x10(%ecx)
40c19f:	33 c0                	xor    %eax,%eax
40c1a1:	40                   	inc    %eax
40c1a2:	e9 c1 00 00 00       	jmp    0x40c268
40c1a7:	6a 02                	push   $0x2
40c1a9:	e9 b9 00 00 00       	jmp    0x40c267
40c1ae:	c7 41 2c 0d 00 00 00 	movl   $0xd,0x2c(%ecx)
40c1b5:	e9 b1 00 00 00       	jmp    0x40c26b
40c1ba:	c7 41 2c 08 00 00 00 	movl   $0x8,0x2c(%ecx)
40c1c1:	e9 a5 00 00 00       	jmp    0x40c26b
40c1c6:	8b 51 10             	mov    0x10(%ecx),%edx
40c1c9:	8a 02                	mov    (%edx),%al
40c1cb:	3c 33                	cmp    $0x33,%al
40c1cd:	75 18                	jne    0x40c1e7
40c1cf:	80 7a 01 32          	cmpb   $0x32,0x1(%edx)
40c1d3:	75 12                	jne    0x40c1e7
40c1d5:	8d 42 02             	lea    0x2(%edx),%eax
40c1d8:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
40c1df:	89 41 10             	mov    %eax,0x10(%ecx)