40caad:	8b 81 50 03 00 00    	mov    0x350(%ecx),%eax
40cab3:	5e                   	pop    %esi
40cab4:	a8 02                	test   $0x2,%al
40cab6:	75 0d                	jne    0x40cac5
40cab8:	83 c8 02             	or     $0x2,%eax
40cabb:	89 81 50 03 00 00    	mov    %eax,0x350(%ecx)
40cac1:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
40cac5:	8b c7                	mov    %edi,%eax
40cac7:	5f                   	pop    %edi
40cac8:	5b                   	pop    %ebx
40cac9:	5d                   	pop    %ebp
40caca:	c2 04 00             	ret    $0x4
40cacd:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
40cad1:	74 09                	je     0x40cadc
40cad3:	8b 01                	mov    (%ecx),%eax
40cad5:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
40cadc:	c3                   	ret
40cadd:	8b ff                	mov    %edi,%edi
40cadf:	56                   	push   %esi
40cae0:	8b f1                	mov    %ecx,%esi
40cae2:	ff b6 04 04 00 00    	push   0x404(%esi)
40cae8:	e8 56 22 00 00       	call   0x40ed43
40caed:	83 a6 04 04 00 00 00 	andl   $0x0,0x404(%esi)
40caf4:	59                   	pop    %ecx
40caf5:	5e                   	pop    %esi
40caf6:	c3                   	ret
40caf7:	8b ff                	mov    %edi,%edi
40caf9:	55                   	push   %ebp
40cafa:	8b ec                	mov    %esp,%ebp
40cafc:	56                   	push   %esi
40cafd:	8b f1                	mov    %ecx,%esi
40caff:	ff 36                	push   (%esi)
40cb01:	e8 3d 22 00 00       	call   0x40ed43
40cb06:	8b 55 08             	mov    0x8(%ebp),%edx
40cb09:	83 26 00             	andl   $0x0,(%esi)
40cb0c:	59                   	pop    %ecx
40cb0d:	8b 02                	mov    (%edx),%eax
40cb0f:	89 06                	mov    %eax,(%esi)
40cb11:	8b c6                	mov    %esi,%eax
40cb13:	83 22 00             	andl   $0x0,(%edx)
40cb16:	5e                   	pop    %esi
40cb17:	5d                   	pop    %ebp
40cb18:	c2 04 00             	ret    $0x4
40cb1b:	cc                   	int3
40cb1c:	cc                   	int3
40cb1d:	cc                   	int3
40cb1e:	cc                   	int3
40cb1f:	cc                   	int3
40cb20:	8b ff                	mov    %edi,%edi
40cb22:	55                   	push   %ebp
40cb23:	8b ec                	mov    %esp,%ebp
40cb25:	8b 45 0c             	mov    0xc(%ebp),%eax
40cb28:	53                   	push   %ebx
40cb29:	8b 00                	mov    (%eax),%eax
40cb2b:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
40cb31:	8b 00                	mov    (%eax),%eax
40cb33:	8a 18                	mov    (%eax),%bl
40cb35:	8b 45 08             	mov    0x8(%ebp),%eax
40cb38:	8a 08                	mov    (%eax),%cl
40cb3a:	84 c9                	test   %cl,%cl
40cb3c:	74 12                	je     0x40cb50
40cb3e:	8a d1                	mov    %cl,%dl
40cb40:	8a ca                	mov    %dl,%cl
40cb42:	3a d3                	cmp    %bl,%dl
40cb44:	74 0a                	je     0x40cb50
40cb46:	8a 48 01             	mov    0x1(%eax),%cl
40cb49:	40                   	inc    %eax
40cb4a:	8a d1                	mov    %cl,%dl
40cb4c:	84 c9                	test   %cl,%cl
40cb4e:	75 f0                	jne    0x40cb40
40cb50:	40                   	inc    %eax
40cb51:	84 c9                	test   %cl,%cl
40cb53:	74 49                	je     0x40cb9e
40cb55:	8a 08                	mov    (%eax),%cl
40cb57:	84 c9                	test   %cl,%cl
40cb59:	74 17                	je     0x40cb72
40cb5b:	eb 03                	jmp    0x40cb60
40cb5d:	8d 49 00             	lea    0x0(%ecx),%ecx
40cb60:	80 f9 65             	cmp    $0x65,%cl
40cb63:	74 0d                	je     0x40cb72
40cb65:	80 f9 45             	cmp    $0x45,%cl
40cb68:	74 08                	je     0x40cb72
40cb6a:	8a 48 01             	mov    0x1(%eax),%cl
40cb6d:	40                   	inc    %eax
40cb6e:	84 c9                	test   %cl,%cl
40cb70:	75 ee                	jne    0x40cb60
40cb72:	8a 48 ff             	mov    -0x1(%eax),%cl
40cb75:	8b d0                	mov    %eax,%edx
40cb77:	48                   	dec    %eax
40cb78:	80 f9 30             	cmp    $0x30,%cl
40cb7b:	75 0c                	jne    0x40cb89
40cb7d:	8d 49 00             	lea    0x0(%ecx),%ecx
40cb80:	8a 48 ff             	mov    -0x1(%eax),%cl
40cb83:	48                   	dec    %eax
40cb84:	80 f9 30             	cmp    $0x30,%cl
40cb87:	74 f7                	je     0x40cb80
40cb89:	3a cb                	cmp    %bl,%cl
40cb8b:	75 03                	jne    0x40cb90
40cb8d:	48                   	dec    %eax
40cb8e:	8b ff                	mov    %edi,%edi
40cb90:	8a 0a                	mov    (%edx),%cl
40cb92:	8d 40 01             	lea    0x1(%eax),%eax
40cb95:	88 08                	mov    %cl,(%eax)
40cb97:	8d 52 01             	lea    0x1(%edx),%edx
40cb9a:	84 c9                	test   %cl,%cl
40cb9c:	75 f2                	jne    0x40cb90
40cb9e:	5b                   	pop    %ebx
40cb9f:	5d                   	pop    %ebp
40cba0:	c3                   	ret
40cba1:	8b ff                	mov    %edi,%edi
40cba3:	55                   	push   %ebp
40cba4:	8b ec                	mov    %esp,%ebp
40cba6:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cba9:	8d 41 e0             	lea    -0x20(%ecx),%eax
40cbac:	66 83 f8 5a          	cmp    $0x5a,%ax
40cbb0:	77 0f                	ja     0x40cbc1
40cbb2:	8d 41 e0             	lea    -0x20(%ecx),%eax
40cbb5:	83 e0 7f             	and    $0x7f,%eax
40cbb8:	8b 04 c5 34 d5 41 00 	mov    0x41d534(,%eax,8),%eax
40cbbf:	eb 02                	jmp    0x40cbc3
40cbc1:	33 c0                	xor    %eax,%eax
40cbc3:	6b c0 09             	imul   $0x9,%eax,%eax
40cbc6:	03 45 0c             	add    0xc(%ebp),%eax
40cbc9:	83 e0 7f             	and    $0x7f,%eax
40cbcc:	8b 04 c5 30 d5 41 00 	mov    0x41d530(,%eax,8),%eax
40cbd3:	5d                   	pop    %ebp
40cbd4:	c2 08 00             	ret    $0x8
40cbd7:	8b ff                	mov    %edi,%edi
40cbd9:	55                   	push   %ebp
40cbda:	8b ec                	mov    %esp,%ebp
40cbdc:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cbdf:	8d 41 e0             	lea    -0x20(%ecx),%eax
40cbe2:	66 83 f8 5a          	cmp    $0x5a,%ax
40cbe6:	77 0f                	ja     0x40cbf7
40cbe8:	8d 41 e0             	lea    -0x20(%ecx),%eax
40cbeb:	83 e0 7f             	and    $0x7f,%eax
40cbee:	8b 0c c5 34 d1 41 00 	mov    0x41d134(,%eax,8),%ecx
40cbf5:	eb 02                	jmp    0x40cbf9
40cbf7:	33 c9                	xor    %ecx,%ecx
40cbf9:	8b 45 0c             	mov    0xc(%ebp),%eax
40cbfc:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
40cbff:	83 e0 7f             	and    $0x7f,%eax
40cc02:	8b 04 c5 30 d1 41 00 	mov    0x41d130(,%eax,8),%eax
40cc09:	5d                   	pop    %ebp
40cc0a:	c2 08 00             	ret    $0x8
40cc0d:	cc                   	int3
40cc0e:	cc                   	int3
40cc0f:	cc                   	int3
40cc10:	8b ff                	mov    %edi,%edi
40cc12:	55                   	push   %ebp
40cc13:	8b ec                	mov    %esp,%ebp
40cc15:	8b 45 0c             	mov    0xc(%ebp),%eax
40cc18:	53                   	push   %ebx
40cc19:	56                   	push   %esi
40cc1a:	57                   	push   %edi
40cc1b:	8b 30                	mov    (%eax),%esi
40cc1d:	8b 45 08             	mov    0x8(%ebp),%eax
40cc20:	8b be 94 00 00 00    	mov    0x94(%esi),%edi
40cc26:	8a 18                	mov    (%eax),%bl
40cc28:	0f b6 cb             	movzbl %bl,%ecx
40cc2b:	80 3c 39 65          	cmpb   $0x65,(%ecx,%edi,1)
40cc2f:	74 0f                	je     0x40cc40
40cc31:	8b 16                	mov    (%esi),%edx
40cc33:	8a 58 01             	mov    0x1(%eax),%bl
40cc36:	40                   	inc    %eax
40cc37:	0f b6 cb             	movzbl %bl,%ecx
40cc3a:	f6 04 4a 04          	testb  $0x4,(%edx,%ecx,2)
40cc3e:	75 f3                	jne    0x40cc33
40cc40:	0f b6 cb             	movzbl %bl,%ecx
40cc43:	80 3c 39 78          	cmpb   $0x78,(%ecx,%edi,1)
40cc47:	75 06                	jne    0x40cc4f
40cc49:	8a 58 02             	mov    0x2(%eax),%bl
40cc4c:	83 c0 02             	add    $0x2,%eax
40cc4f:	8b 8e 88 00 00 00    	mov    0x88(%esi),%ecx
40cc55:	8b 09                	mov    (%ecx),%ecx
40cc57:	8a 09                	mov    (%ecx),%cl
40cc59:	88 08                	mov    %cl,(%eax)
40cc5b:	40                   	inc    %eax
40cc5c:	8d 64 24 00          	lea    0x0(%esp),%esp
40cc60:	8a 08                	mov    (%eax),%cl
40cc62:	8d 40 01             	lea    0x1(%eax),%eax
40cc65:	8a d3                	mov    %bl,%dl
40cc67:	88 58 ff             	mov    %bl,-0x1(%eax)
40cc6a:	8a d9                	mov    %cl,%bl
40cc6c:	84 d2                	test   %dl,%dl
40cc6e:	75 f0                	jne    0x40cc60
40cc70:	5f                   	pop    %edi
40cc71:	5e                   	pop    %esi
40cc72:	5b                   	pop    %ebx
40cc73:	5d                   	pop    %ebp
40cc74:	c3                   	ret
40cc75:	8b ff                	mov    %edi,%edi
40cc77:	55                   	push   %ebp
40cc78:	8b ec                	mov    %esp,%ebp
40cc7a:	51                   	push   %ecx
40cc7b:	53                   	push   %ebx
40cc7c:	56                   	push   %esi
40cc7d:	57                   	push   %edi
40cc7e:	8b f9                	mov    %ecx,%edi
40cc80:	8b 77 0c             	mov    0xc(%edi),%esi
40cc83:	85 f6                	test   %esi,%esi
40cc85:	75 0a                	jne    0x40cc91
40cc87:	e8 47 20 00 00       	call   0x40ecd3
40cc8c:	8b f0                	mov    %eax,%esi
40cc8e:	89 77 0c             	mov    %esi,0xc(%edi)
40cc91:	8b 1e                	mov    (%esi),%ebx
40cc93:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40cc96:	83 26 00             	andl   $0x0,(%esi)
40cc99:	8b 47 10             	mov    0x10(%edi),%eax
40cc9c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cca0:	83 e8 02             	sub    $0x2,%eax
40cca3:	6a 0a                	push   $0xa
40cca5:	51                   	push   %ecx
40cca6:	50                   	push   %eax
40cca7:	e8 81 57 00 00       	call   0x41242d
40ccac:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ccaf:	83 c4 0c             	add    $0xc,%esp
40ccb2:	89 01                	mov    %eax,(%ecx)
40ccb4:	8b 47 0c             	mov    0xc(%edi),%eax
40ccb7:	85 c0                	test   %eax,%eax
40ccb9:	75 08                	jne    0x40ccc3
40ccbb:	e8 13 20 00 00       	call   0x40ecd3
40ccc0:	89 47 0c             	mov    %eax,0xc(%edi)
40ccc3:	83 38 22             	cmpl   $0x22,(%eax)
40ccc6:	74 0f                	je     0x40ccd7
40ccc8:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cccb:	3b 47 10             	cmp    0x10(%edi),%eax
40ccce:	72 07                	jb     0x40ccd7
40ccd0:	89 47 10             	mov    %eax,0x10(%edi)
40ccd3:	b0 01                	mov    $0x1,%al
40ccd5:	eb 02                	jmp    0x40ccd9
40ccd7:	32 c0                	xor    %al,%al
40ccd9:	83 3e 00             	cmpl   $0x0,(%esi)
40ccdc:	75 06                	jne    0x40cce4
40ccde:	85 db                	test   %ebx,%ebx
40cce0:	74 02                	je     0x40cce4
40cce2:	89 1e                	mov    %ebx,(%esi)
40cce4:	5f                   	pop    %edi
40cce5:	5e                   	pop    %esi
40cce6:	5b                   	pop    %ebx
40cce7:	c9                   	leave
40cce8:	c2 04 00             	ret    $0x4
40cceb:	8b ff                	mov    %edi,%edi
40cced:	53                   	push   %ebx
40ccee:	56                   	push   %esi
40ccef:	8b f1                	mov    %ecx,%esi
40ccf1:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40ccf7:	e8 41 0c 00 00       	call   0x40d93d
40ccfc:	84 c0                	test   %al,%al
40ccfe:	74 1b                	je     0x40cd1b
40cd00:	33 db                	xor    %ebx,%ebx
40cd02:	39 5e 10             	cmp    %ebx,0x10(%esi)
40cd05:	0f 85 cd 00 00 00    	jne    0x40cdd8
40cd0b:	e8 c3 1f 00 00       	call   0x40ecd3
40cd10:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40cd16:	e8 fb 1e 00 00       	call   0x40ec16
40cd1b:	83 c8 ff             	or     $0xffffffff,%eax
40cd1e:	5e                   	pop    %esi
40cd1f:	5b                   	pop    %ebx
40cd20:	c3                   	ret
40cd21:	89 5e 38             	mov    %ebx,0x38(%esi)
40cd24:	89 5e 1c             	mov    %ebx,0x1c(%esi)
40cd27:	e9 86 00 00 00       	jmp    0x40cdb2
40cd2c:	83 46 10 02          	addl   $0x2,0x10(%esi)
40cd30:	39 5e 18             	cmp    %ebx,0x18(%esi)
40cd33:	0f 8c 90 00 00 00    	jl     0x40cdc9
40cd39:	ff 76 1c             	push   0x1c(%esi)
40cd3c:	0f b7 46 32          	movzwl 0x32(%esi),%eax
40cd40:	8b ce                	mov    %esi,%ecx
40cd42:	50                   	push   %eax
40cd43:	e8 59 fe ff ff       	call   0x40cba1
40cd48:	89 46 1c             	mov    %eax,0x1c(%esi)
40cd4b:	83 f8 08             	cmp    $0x8,%eax
40cd4e:	74 bb                	je     0x40cd0b
40cd50:	83 f8 07             	cmp    $0x7,%eax
40cd53:	77 c6                	ja     0x40cd1b
40cd55:	ff 24 85 f3 cd 40 00 	jmp    *0x40cdf3(,%eax,4)
40cd5c:	8b ce                	mov    %esi,%ecx
40cd5e:	e8 09 02 00 00       	call   0x40cf6c
40cd63:	eb 45                	jmp    0x40cdaa
40cd65:	83 4e 28 ff          	orl    $0xffffffff,0x28(%esi)
40cd69:	89 5e 24             	mov    %ebx,0x24(%esi)
40cd6c:	88 5e 30             	mov    %bl,0x30(%esi)
40cd6f:	89 5e 20             	mov    %ebx,0x20(%esi)
40cd72:	89 5e 2c             	mov    %ebx,0x2c(%esi)
40cd75:	88 5e 3c             	mov    %bl,0x3c(%esi)
40cd78:	eb 38                	jmp    0x40cdb2
40cd7a:	8b ce                	mov    %esi,%ecx
40cd7c:	e8 ae 01 00 00       	call   0x40cf2f
40cd81:	eb 27                	jmp    0x40cdaa
40cd83:	8b ce                	mov    %esi,%ecx
40cd85:	e8 18 06 00 00       	call   0x40d3a2
40cd8a:	eb 1e                	jmp    0x40cdaa
40cd8c:	89 5e 28             	mov    %ebx,0x28(%esi)
40cd8f:	eb 21                	jmp    0x40cdb2
40cd91:	8b ce                	mov    %esi,%ecx
40cd93:	e8 0e 02 00 00       	call   0x40cfa6
40cd98:	eb 10                	jmp    0x40cdaa
40cd9a:	8b ce                	mov    %esi,%ecx
40cd9c:	e8 2c 02 00 00       	call   0x40cfcd
40cda1:	eb 07                	jmp    0x40cdaa
40cda3:	8b ce                	mov    %esi,%ecx
40cda5:	e8 9b 03 00 00       	call   0x40d145
40cdaa:	84 c0                	test   %al,%al
40cdac:	0f 84 69 ff ff ff    	je     0x40cd1b
40cdb2:	8b 46 10             	mov    0x10(%esi),%eax
40cdb5:	0f b7 00             	movzwl (%eax),%eax
40cdb8:	66 89 46 32          	mov    %ax,0x32(%esi)
40cdbc:	66 85 c0             	test   %ax,%ax
40cdbf:	0f 85 67 ff ff ff    	jne    0x40cd2c
40cdc5:	83 46 10 02          	addl   $0x2,0x10(%esi)
40cdc9:	8b ce                	mov    %esi,%ecx
40cdcb:	e8 88 0b 00 00       	call   0x40d958
40cdd0:	84 c0                	test   %al,%al
40cdd2:	0f 84 43 ff ff ff    	je     0x40cd1b
40cdd8:	ff 86 50 04 00 00    	incl   0x450(%esi)
40cdde:	83 be 50 04 00 00 02 	cmpl   $0x2,0x450(%esi)
40cde5:	0f 85 36 ff ff ff    	jne    0x40cd21
40cdeb:	8b 46 18             	mov    0x18(%esi),%eax
40cdee:	e9 2b ff ff ff       	jmp    0x40cd1e
40cdf3:	5c                   	pop    %esp
40cdf4:	cd 40                	int    $0x40
40cdf6:	00 65 cd             	add    %ah,-0x33(%ebp)
40cdf9:	40                   	inc    %eax
40cdfa:	00 7a cd             	add    %bh,-0x33(%edx)
40cdfd:	40                   	inc    %eax
40cdfe:	00 83 cd 40 00 8c    	add    %al,-0x73ffbf33(%ebx)
40ce04:	cd 40                	int    $0x40
40ce06:	00 91 cd 40 00 9a    	add    %dl,-0x65ffbf33(%ecx)
40ce0c:	cd 40                	int    $0x40
40ce0e:	00 a3 cd 40 00 8b    	add    %ah,-0x74ffbf33(%ebx)
40ce14:	ff 53 56             	call   *0x56(%ebx)
40ce17:	8b f1                	mov    %ecx,%esi
40ce19:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40ce1f:	e8 19 0b 00 00       	call   0x40d93d
40ce24:	84 c0                	test   %al,%al
40ce26:	74 1b                	je     0x40ce43
40ce28:	33 db                	xor    %ebx,%ebx
40ce2a:	39 5e 10             	cmp    %ebx,0x10(%esi)
40ce2d:	0f 85 be 00 00 00    	jne    0x40cef1
40ce33:	e8 9b 1e 00 00       	call   0x40ecd3
40ce38:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40ce3e:	e8 d3 1d 00 00       	call   0x40ec16
40ce43:	83 c8 ff             	or     $0xffffffff,%eax
40ce46:	5e                   	pop    %esi
40ce47:	5b                   	pop    %ebx
40ce48:	c3                   	ret
40ce49:	89 5e 38             	mov    %ebx,0x38(%esi)
40ce4c:	89 5e 1c             	mov    %ebx,0x1c(%esi)
40ce4f:	e9 86 00 00 00       	jmp    0x40ceda