40bc6b:	8b 45 14             	mov    0x14(%ebp),%eax
40bc6e:	89 46 10             	mov    %eax,0x10(%esi)
40bc71:	8b 45 1c             	mov    0x1c(%ebp),%eax
40bc74:	89 46 14             	mov    %eax,0x14(%esi)
40bc77:	8b c6                	mov    %esi,%eax
40bc79:	5e                   	pop    %esi
40bc7a:	5d                   	pop    %ebp
40bc7b:	c2 18 00             	ret    $0x18
40bc7e:	8b ff                	mov    %edi,%edi
40bc80:	55                   	push   %ebp
40bc81:	8b ec                	mov    %esp,%ebp
40bc83:	53                   	push   %ebx
40bc84:	57                   	push   %edi
40bc85:	8b f9                	mov    %ecx,%edi
40bc87:	8b 4d 08             	mov    0x8(%ebp),%ecx
40bc8a:	c6 47 0c 00          	movb   $0x0,0xc(%edi)
40bc8e:	8d 5f 04             	lea    0x4(%edi),%ebx
40bc91:	85 c9                	test   %ecx,%ecx
40bc93:	74 09                	je     0x40bc9e
40bc95:	8b 01                	mov    (%ecx),%eax
40bc97:	89 03                	mov    %eax,(%ebx)
40bc99:	8b 41 04             	mov    0x4(%ecx),%eax
40bc9c:	eb 15                	jmp    0x40bcb3
40bc9e:	83 3d bc 49 43 00 00 	cmpl   $0x0,0x4349bc
40bca5:	75 11                	jne    0x40bcb8
40bca7:	a1 88 32 43 00       	mov    0x433288,%eax
40bcac:	89 03                	mov    %eax,(%ebx)
40bcae:	a1 8c 32 43 00       	mov    0x43328c,%eax
40bcb3:	89 43 04             	mov    %eax,0x4(%ebx)
40bcb6:	eb 41                	jmp    0x40bcf9
40bcb8:	56                   	push   %esi
40bcb9:	e8 15 85 00 00       	call   0x4141d3
40bcbe:	89 07                	mov    %eax,(%edi)
40bcc0:	8d 77 08             	lea    0x8(%edi),%esi
40bcc3:	53                   	push   %ebx
40bcc4:	50                   	push   %eax
40bcc5:	8b 48 4c             	mov    0x4c(%eax),%ecx
40bcc8:	89 0b                	mov    %ecx,(%ebx)
40bcca:	8b 48 48             	mov    0x48(%eax),%ecx
40bccd:	89 0e                	mov    %ecx,(%esi)
40bccf:	e8 51 87 00 00       	call   0x414425
40bcd4:	56                   	push   %esi
40bcd5:	ff 37                	push   (%edi)
40bcd7:	e8 76 87 00 00       	call   0x414452
40bcdc:	8b 0f                	mov    (%edi),%ecx
40bcde:	83 c4 10             	add    $0x10,%esp
40bce1:	8b 81 50 03 00 00    	mov    0x350(%ecx),%eax
40bce7:	5e                   	pop    %esi
40bce8:	a8 02                	test   $0x2,%al
40bcea:	75 0d                	jne    0x40bcf9
40bcec:	83 c8 02             	or     $0x2,%eax
40bcef:	89 81 50 03 00 00    	mov    %eax,0x350(%ecx)
40bcf5:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
40bcf9:	8b c7                	mov    %edi,%eax
40bcfb:	5f                   	pop    %edi
40bcfc:	5b                   	pop    %ebx
40bcfd:	5d                   	pop    %ebp
40bcfe:	c2 04 00             	ret    $0x4
40bd01:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
40bd05:	74 09                	je     0x40bd10
40bd07:	8b 01                	mov    (%ecx),%eax
40bd09:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
40bd10:	c3                   	ret
40bd11:	8b ff                	mov    %edi,%edi
40bd13:	56                   	push   %esi
40bd14:	8b f1                	mov    %ecx,%esi
40bd16:	ff b6 04 04 00 00    	push   0x404(%esi)
40bd1c:	e8 ea 73 00 00       	call   0x41310b
40bd21:	83 a6 04 04 00 00 00 	andl   $0x0,0x404(%esi)
40bd28:	59                   	pop    %ecx
40bd29:	5e                   	pop    %esi
40bd2a:	c3                   	ret
40bd2b:	8b ff                	mov    %edi,%edi
40bd2d:	55                   	push   %ebp
40bd2e:	8b ec                	mov    %esp,%ebp
40bd30:	56                   	push   %esi
40bd31:	8b f1                	mov    %ecx,%esi
40bd33:	ff 36                	push   (%esi)
40bd35:	e8 d1 73 00 00       	call   0x41310b
40bd3a:	8b 55 08             	mov    0x8(%ebp),%edx
40bd3d:	83 26 00             	andl   $0x0,(%esi)
40bd40:	59                   	pop    %ecx
40bd41:	8b 02                	mov    (%edx),%eax
40bd43:	89 06                	mov    %eax,(%esi)
40bd45:	8b c6                	mov    %esi,%eax
40bd47:	83 22 00             	andl   $0x0,(%edx)
40bd4a:	5e                   	pop    %esi
40bd4b:	5d                   	pop    %ebp
40bd4c:	c2 04 00             	ret    $0x4
40bd4f:	cc                   	int3
40bd50:	8b ff                	mov    %edi,%edi
40bd52:	55                   	push   %ebp
40bd53:	8b ec                	mov    %esp,%ebp
40bd55:	8b 45 0c             	mov    0xc(%ebp),%eax
40bd58:	53                   	push   %ebx
40bd59:	8b 00                	mov    (%eax),%eax
40bd5b:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
40bd61:	8b 00                	mov    (%eax),%eax
40bd63:	8a 18                	mov    (%eax),%bl
40bd65:	8b 45 08             	mov    0x8(%ebp),%eax
40bd68:	8a 08                	mov    (%eax),%cl
40bd6a:	84 c9                	test   %cl,%cl
40bd6c:	74 12                	je     0x40bd80
40bd6e:	8a d1                	mov    %cl,%dl
40bd70:	8a ca                	mov    %dl,%cl
40bd72:	3a d3                	cmp    %bl,%dl
40bd74:	74 0a                	je     0x40bd80
40bd76:	8a 48 01             	mov    0x1(%eax),%cl
40bd79:	40                   	inc    %eax
40bd7a:	8a d1                	mov    %cl,%dl
40bd7c:	84 c9                	test   %cl,%cl
40bd7e:	75 f0                	jne    0x40bd70
40bd80:	40                   	inc    %eax
40bd81:	84 c9                	test   %cl,%cl
40bd83:	74 49                	je     0x40bdce
40bd85:	8a 08                	mov    (%eax),%cl
40bd87:	84 c9                	test   %cl,%cl
40bd89:	74 17                	je     0x40bda2
40bd8b:	eb 03                	jmp    0x40bd90
40bd8d:	8d 49 00             	lea    0x0(%ecx),%ecx
40bd90:	80 f9 65             	cmp    $0x65,%cl
40bd93:	74 0d                	je     0x40bda2
40bd95:	80 f9 45             	cmp    $0x45,%cl
40bd98:	74 08                	je     0x40bda2
40bd9a:	8a 48 01             	mov    0x1(%eax),%cl
40bd9d:	40                   	inc    %eax
40bd9e:	84 c9                	test   %cl,%cl
40bda0:	75 ee                	jne    0x40bd90
40bda2:	8a 48 ff             	mov    -0x1(%eax),%cl
40bda5:	8b d0                	mov    %eax,%edx
40bda7:	48                   	dec    %eax
40bda8:	80 f9 30             	cmp    $0x30,%cl
40bdab:	75 0c                	jne    0x40bdb9
40bdad:	8d 49 00             	lea    0x0(%ecx),%ecx
40bdb0:	8a 48 ff             	mov    -0x1(%eax),%cl
40bdb3:	48                   	dec    %eax
40bdb4:	80 f9 30             	cmp    $0x30,%cl
40bdb7:	74 f7                	je     0x40bdb0
40bdb9:	3a cb                	cmp    %bl,%cl
40bdbb:	75 03                	jne    0x40bdc0
40bdbd:	48                   	dec    %eax
40bdbe:	8b ff                	mov    %edi,%edi
40bdc0:	8a 0a                	mov    (%edx),%cl
40bdc2:	8d 40 01             	lea    0x1(%eax),%eax
40bdc5:	88 08                	mov    %cl,(%eax)
40bdc7:	8d 52 01             	lea    0x1(%edx),%edx
40bdca:	84 c9                	test   %cl,%cl
40bdcc:	75 f2                	jne    0x40bdc0
40bdce:	5b                   	pop    %ebx
40bdcf:	5d                   	pop    %ebp
40bdd0:	c3                   	ret
40bdd1:	8b ff                	mov    %edi,%edi
40bdd3:	55                   	push   %ebp
40bdd4:	8b ec                	mov    %esp,%ebp
40bdd6:	8a 4d 08             	mov    0x8(%ebp),%cl
40bdd9:	8d 41 e0             	lea    -0x20(%ecx),%eax
40bddc:	3c 5a                	cmp    $0x5a,%al
40bdde:	77 12                	ja     0x40bdf2
40bde0:	0f be c1             	movsbl %cl,%eax
40bde3:	83 e8 20             	sub    $0x20,%eax
40bde6:	83 e0 7f             	and    $0x7f,%eax
40bde9:	8b 04 c5 bc 5c 42 00 	mov    0x425cbc(,%eax,8),%eax
40bdf0:	eb 02                	jmp    0x40bdf4
40bdf2:	33 c0                	xor    %eax,%eax
40bdf4:	6b c0 09             	imul   $0x9,%eax,%eax
40bdf7:	03 45 0c             	add    0xc(%ebp),%eax
40bdfa:	83 e0 7f             	and    $0x7f,%eax
40bdfd:	8b 04 c5 b8 5c 42 00 	mov    0x425cb8(,%eax,8),%eax
40be04:	5d                   	pop    %ebp
40be05:	c2 08 00             	ret    $0x8
40be08:	cc                   	int3
40be09:	cc                   	int3
40be0a:	cc                   	int3
40be0b:	cc                   	int3
40be0c:	cc                   	int3
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)