40edda:	74 10                	je     0x40edec
40eddc:	b9 68 ed 40 00       	mov    $0x40ed68,%ecx
40ede1:	8b d6                	mov    %esi,%edx
40ede3:	8b c3                	mov    %ebx,%eax
40ede5:	e8 b2 fd ff ff       	call   0x40eb9c
40edea:	eb 2a                	jmp    0x40ee16
40edec:	8b d4                	mov    %esp,%edx
40edee:	8b c7                	mov    %edi,%eax
40edf0:	e8 eb 16 00 00       	call   0x4104e0
40edf5:	84 c0                	test   %al,%al
40edf7:	74 11                	je     0x40ee0a
40edf9:	6a 00                	push   $0x0
40edfb:	8b ce                	mov    %esi,%ecx
40edfd:	8b d3                	mov    %ebx,%edx
40edff:	8b 44 24 04          	mov    0x4(%esp),%eax
40ee03:	8b 18                	mov    (%eax),%ebx
40ee05:	ff 53 28             	call   *0x28(%ebx)
40ee08:	eb 0c                	jmp    0x40ee16
40ee0a:	56                   	push   %esi
40ee0b:	53                   	push   %ebx
40ee0c:	e8 6b e7 ff ff       	call   0x40d57c
40ee11:	e8 b2 f9 ff ff       	call   0x40e7c8
40ee16:	5a                   	pop    %edx
40ee17:	5f                   	pop    %edi
40ee18:	5e                   	pop    %esi
40ee19:	5b                   	pop    %ebx
40ee1a:	c3                   	ret
40ee1b:	90                   	nop
40ee1c:	53                   	push   %ebx
40ee1d:	56                   	push   %esi
40ee1e:	8b da                	mov    %edx,%ebx
40ee20:	8b f0                	mov    %eax,%esi
40ee22:	3b f3                	cmp    %ebx,%esi
40ee24:	74 36                	je     0x40ee5c
40ee26:	66 f7 03 e8 bf       	testw  $0xbfe8,(%ebx)
40ee2b:	75 26                	jne    0x40ee53
40ee2d:	66 f7 06 e8 bf       	testw  $0xbfe8,(%esi)
40ee32:	74 07                	je     0x40ee3b
40ee34:	8b c6                	mov    %esi,%eax
40ee36:	e8 3d fc ff ff       	call   0x40ea78
40ee3b:	8b 03                	mov    (%ebx),%eax
40ee3d:	89 06                	mov    %eax,(%esi)
40ee3f:	8b 43 04             	mov    0x4(%ebx),%eax
40ee42:	89 46 04             	mov    %eax,0x4(%esi)
40ee45:	8b 43 08             	mov    0x8(%ebx),%eax
40ee48:	89 46 08             	mov    %eax,0x8(%esi)
40ee4b:	8b 43 0c             	mov    0xc(%ebx),%eax
40ee4e:	89 46 0c             	mov    %eax,0xc(%esi)
40ee51:	eb 09                	jmp    0x40ee5c
40ee53:	8b d3                	mov    %ebx,%edx
40ee55:	8b c6                	mov    %esi,%eax
40ee57:	e8 14 ff ff ff       	call   0x40ed70
40ee5c:	5e                   	pop    %esi
40ee5d:	5b                   	pop    %ebx
40ee5e:	c3                   	ret
40ee5f:	90                   	nop
40ee60:	55                   	push   %ebp
40ee61:	8b ec                	mov    %esp,%ebp
40ee63:	53                   	push   %ebx
40ee64:	8b d8                	mov    %eax,%ebx
40ee66:	8b c3                	mov    %ebx,%eax
40ee68:	e8 0b 58 ff ff       	call   0x404678
40ee6d:	50                   	push   %eax
40ee6e:	6a 00                	push   $0x0
40ee70:	68 00 04 00 00       	push   $0x400
40ee75:	ff 75 0c             	push   0xc(%ebp)
40ee78:	ff 75 08             	push   0x8(%ebp)
40ee7b:	a1 7c da 46 00       	mov    0x46da7c,%eax
40ee80:	8b 00                	mov    (%eax),%eax
40ee82:	ff d0                	call   *%eax
40ee84:	66 b9 08 00          	mov    $0x8,%cx
40ee88:	66 ba 06 00          	mov    $0x6,%dx
40ee8c:	e8 43 f9 ff ff       	call   0x40e7d4
40ee91:	5b                   	pop    %ebx
40ee92:	5d                   	pop    %ebp
40ee93:	c2 08 00             	ret    $0x8
40ee96:	8b c0                	mov    %eax,%eax
40ee98:	55                   	push   %ebp
40ee99:	8b ec                	mov    %esp,%ebp
40ee9b:	53                   	push   %ebx
40ee9c:	8b d8                	mov    %eax,%ebx
40ee9e:	8b c3                	mov    %ebx,%eax
40eea0:	e8 d3 57 ff ff       	call   0x404678
40eea5:	50                   	push   %eax
40eea6:	6a 00                	push   $0x0
40eea8:	68 00 04 00 00       	push   $0x400
40eead:	ff 75 0c             	push   0xc(%ebp)
40eeb0:	ff 75 08             	push   0x8(%ebp)
40eeb3:	a1 14 dc 46 00       	mov    0x46dc14,%eax
40eeb8:	8b 00                	mov    (%eax),%eax
40eeba:	ff d0                	call   *%eax
40eebc:	66 b9 08 00          	mov    $0x8,%cx
40eec0:	66 ba 07 00          	mov    $0x7,%dx
40eec4:	e8 0b f9 ff ff       	call   0x40e7d4
40eec9:	5b                   	pop    %ebx
40eeca:	5d                   	pop    %ebp
40eecb:	c2 08 00             	ret    $0x8
40eece:	8b c0                	mov    %eax,%eax
40eed0:	55                   	push   %ebp
40eed1:	8b ec                	mov    %esp,%ebp
40eed3:	33 c9                	xor    %ecx,%ecx
40eed5:	51                   	push   %ecx
40eed6:	51                   	push   %ecx
40eed7:	51                   	push   %ecx
40eed8:	51                   	push   %ecx
40eed9:	53                   	push   %ebx
40eeda:	56                   	push   %esi
40eedb:	8b da                	mov    %edx,%ebx
40eedd:	8b f0                	mov    %eax,%esi
40eedf:	33 c0                	xor    %eax,%eax
40eee1:	55                   	push   %ebp
40eee2:	68 86 ef 40 00       	push   $0x40ef86
40eee7:	64 ff 30             	push   %fs:(%eax)
40eeea:	64 89 20             	mov    %esp,%fs:(%eax)
40eeed:	8b c3                	mov    %ebx,%eax
40eeef:	e8 84 57 ff ff       	call   0x404678
40eef4:	50                   	push   %eax
40eef5:	6a 00                	push   $0x0
40eef7:	68 00 04 00 00       	push   $0x400
40eefc:	56                   	push   %esi
40eefd:	a1 0c dd 46 00       	mov    0x46dd0c,%eax
40ef02:	8b 00                	mov    (%eax),%eax
40ef04:	ff d0                	call   *%eax
40ef06:	66 b9 08 00          	mov    $0x8,%cx
40ef0a:	66 ba 0b 00          	mov    $0xb,%dx
40ef0e:	e8 c1 f8 ff ff       	call   0x40e7d4
40ef13:	a0 24 33 46 00       	mov    0x463324,%al
40ef18:	2c 01                	sub    $0x1,%al
40ef1a:	72 4f                	jb     0x40ef6b
40ef1c:	74 06                	je     0x40ef24
40ef1e:	fe c8                	dec    %al
40ef20:	74 23                	je     0x40ef45
40ef22:	eb 42                	jmp    0x40ef66
40ef24:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ef27:	8b 13                	mov    (%ebx),%edx
40ef29:	e8 f2 52 ff ff       	call   0x404220
40ef2e:	8b 45 f8             	mov    -0x8(%ebp),%eax
40ef31:	8d 55 fc             	lea    -0x4(%ebp),%edx
40ef34:	e8 67 8c ff ff       	call   0x407ba0
40ef39:	8b 55 fc             	mov    -0x4(%ebp),%edx
40ef3c:	8b c3                	mov    %ebx,%eax
40ef3e:	e8 81 58 ff ff       	call   0x4047c4
40ef43:	eb 26                	jmp    0x40ef6b
40ef45:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ef48:	8b 13                	mov    (%ebx),%edx
40ef4a:	e8 d1 52 ff ff       	call   0x404220
40ef4f:	8b 45 f0             	mov    -0x10(%ebp),%eax
40ef52:	8d 55 f4             	lea    -0xc(%ebp),%edx
40ef55:	e8 0a 8c ff ff       	call   0x407b64
40ef5a:	8b 55 f4             	mov    -0xc(%ebp),%edx
40ef5d:	8b c3                	mov    %ebx,%eax
40ef5f:	e8 60 58 ff ff       	call   0x4047c4
40ef64:	eb 05                	jmp    0x40ef6b
40ef66:	e8 c5 f4 ff ff       	call   0x40e430
40ef6b:	33 c0                	xor    %eax,%eax
40ef6d:	5a                   	pop    %edx
40ef6e:	59                   	pop    %ecx
40ef6f:	59                   	pop    %ecx
40ef70:	64 89 10             	mov    %edx,%fs:(%eax)
40ef73:	68 8d ef 40 00       	push   $0x40ef8d
40ef78:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ef7b:	ba 04 00 00 00       	mov    $0x4,%edx
40ef80:	e8 37 50 ff ff       	call   0x403fbc
40ef85:	c3                   	ret
40ef86:	e9 11 4a ff ff       	jmp    0x40399c
40ef8b:	eb eb                	jmp    0x40ef78
40ef8d:	5e                   	pop    %esi
40ef8e:	5b                   	pop    %ebx
40ef8f:	8b e5                	mov    %ebp,%esp
40ef91:	5d                   	pop    %ebp
40ef92:	c3                   	ret
40ef93:	90                   	nop
40ef94:	55                   	push   %ebp
40ef95:	8b ec                	mov    %esp,%ebp
40ef97:	83 c4 e8             	add    $0xffffffe8,%esp
40ef9a:	53                   	push   %ebx
40ef9b:	56                   	push   %esi
40ef9c:	33 c9                	xor    %ecx,%ecx
40ef9e:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40efa1:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40efa4:	8b f2                	mov    %edx,%esi
40efa6:	8b d8                	mov    %eax,%ebx
40efa8:	33 c0                	xor    %eax,%eax
40efaa:	55                   	push   %ebp
40efab:	68 53 f0 40 00       	push   $0x40f053
40efb0:	64 ff 30             	push   %fs:(%eax)
40efb3:	64 89 20             	mov    %esp,%fs:(%eax)
40efb6:	8d 45 f0             	lea    -0x10(%ebp),%eax
40efb9:	50                   	push   %eax
40efba:	e8 ad e5 ff ff       	call   0x40d56c
40efbf:	33 c0                	xor    %eax,%eax
40efc1:	55                   	push   %ebp
40efc2:	68 31 f0 40 00       	push   $0x40f031
40efc7:	64 ff 30             	push   %fs:(%eax)
40efca:	64 89 20             	mov    %esp,%fs:(%eax)
40efcd:	6a 08                	push   $0x8
40efcf:	6a 00                	push   $0x0
40efd1:	68 00 04 00 00       	push   $0x400
40efd6:	53                   	push   %ebx
40efd7:	8d 45 f0             	lea    -0x10(%ebp),%eax
40efda:	50                   	push   %eax
40efdb:	a1 24 dd 46 00       	mov    0x46dd24,%eax
40efe0:	8b 00                	mov    (%eax),%eax
40efe2:	ff d0                	call   *%eax
40efe4:	66 8b 13             	mov    (%ebx),%dx
40efe7:	66 b9 00 01          	mov    $0x100,%cx
40efeb:	e8 e4 f7 ff ff       	call   0x40e7d4
40eff0:	8d 45 ec             	lea    -0x14(%ebp),%eax
40eff3:	50                   	push   %eax
40eff4:	8d 45 e8             	lea    -0x18(%ebp),%eax
40eff7:	8b 55 f8             	mov    -0x8(%ebp),%edx
40effa:	e8 89 57 ff ff       	call   0x404788
40efff:	8b 45 e8             	mov    -0x18(%ebp),%eax
40f002:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
40f007:	ba 01 00 00 00       	mov    $0x1,%edx
40f00c:	e8 63 58 ff ff       	call   0x404874
40f011:	8b 55 ec             	mov    -0x14(%ebp),%edx
40f014:	8b c6                	mov    %esi,%eax
40f016:	e8 05 52 ff ff       	call   0x404220
40f01b:	33 c0                	xor    %eax,%eax
40f01d:	5a                   	pop    %edx
40f01e:	59                   	pop    %ecx
40f01f:	59                   	pop    %ecx
40f020:	64 89 10             	mov    %edx,%fs:(%eax)
40f023:	68 38 f0 40 00       	push   $0x40f038
40f028:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f02b:	e8 c4 fa ff ff       	call   0x40eaf4
40f030:	c3                   	ret
40f031:	e9 66 49 ff ff       	jmp    0x40399c
40f036:	eb f0                	jmp    0x40f028
40f038:	33 c0                	xor    %eax,%eax
40f03a:	5a                   	pop    %edx
40f03b:	59                   	pop    %ecx
40f03c:	59                   	pop    %ecx
40f03d:	64 89 10             	mov    %edx,%fs:(%eax)
40f040:	68 5a f0 40 00       	push   $0x40f05a
40f045:	8d 45 e8             	lea    -0x18(%ebp),%eax
40f048:	ba 02 00 00 00       	mov    $0x2,%edx
40f04d:	e8 3e 56 ff ff       	call   0x404690
40f052:	c3                   	ret
40f053:	e9 44 49 ff ff       	jmp    0x40399c
40f058:	eb eb                	jmp    0x40f045
40f05a:	5e                   	pop    %esi
40f05b:	5b                   	pop    %ebx
40f05c:	8b e5                	mov    %ebp,%esp
40f05e:	5d                   	pop    %ebp
40f05f:	c3                   	ret
40f060:	55                   	push   %ebp
40f061:	8b ec                	mov    %esp,%ebp
40f063:	83 c4 f0             	add    $0xfffffff0,%esp
40f066:	53                   	push   %ebx
40f067:	56                   	push   %esi
40f068:	8b f2                	mov    %edx,%esi
40f06a:	8b d8                	mov    %eax,%ebx
40f06c:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f06f:	50                   	push   %eax
40f070:	e8 f7 e4 ff ff       	call   0x40d56c
40f075:	33 c0                	xor    %eax,%eax
40f077:	55                   	push   %ebp
40f078:	68 b6 f0 40 00       	push   $0x40f0b6
40f07d:	64 ff 30             	push   %fs:(%eax)
40f080:	64 89 20             	mov    %esp,%fs:(%eax)
40f083:	8b d3                	mov    %ebx,%edx
40f085:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f088:	e8 8f fd ff ff       	call   0x40ee1c
40f08d:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f090:	ff 15 14 e8 46 00    	call   *0x46e814
40f096:	8d 55 f0             	lea    -0x10(%ebp),%edx
40f099:	8b c6                	mov    %esi,%eax
40f09b:	e8 a8 00 00 00       	call   0x40f148
40f0a0:	33 c0                	xor    %eax,%eax
40f0a2:	5a                   	pop    %edx
40f0a3:	59                   	pop    %ecx
40f0a4:	59                   	pop    %ecx
40f0a5:	64 89 10             	mov    %edx,%fs:(%eax)
40f0a8:	68 bd f0 40 00       	push   $0x40f0bd
40f0ad:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f0b0:	e8 3f fa ff ff       	call   0x40eaf4
40f0b5:	c3                   	ret
40f0b6:	e9 e1 48 ff ff       	jmp    0x40399c
40f0bb:	eb f0                	jmp    0x40f0ad
40f0bd:	5e                   	pop    %esi
40f0be:	5b                   	pop    %ebx
40f0bf:	8b e5                	mov    %ebp,%esp
40f0c1:	5d                   	pop    %ebp
40f0c2:	c3                   	ret
40f0c3:	90                   	nop
40f0c4:	55                   	push   %ebp
40f0c5:	8b ec                	mov    %esp,%ebp
40f0c7:	83 c4 e4             	add    $0xffffffe4,%esp
40f0ca:	53                   	push   %ebx
40f0cb:	89 55 fc             	mov    %edx,-0x4(%ebp)
40f0ce:	8b d8                	mov    %eax,%ebx
40f0d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f0d3:	85 c0                	test   %eax,%eax
40f0d5:	74 04                	je     0x40f0db
40f0d7:	33 d2                	xor    %edx,%edx
40f0d9:	89 10                	mov    %edx,(%eax)
40f0db:	8d 55 f4             	lea    -0xc(%ebp),%edx
40f0de:	66 8b 03             	mov    (%ebx),%ax
40f0e1:	e8 fa 13 00 00       	call   0x4104e0
40f0e6:	88 45 fb             	mov    %al,-0x5(%ebp)
40f0e9:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
40f0ed:	74 51                	je     0x40f140
40f0ef:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40f0f2:	50                   	push   %eax
40f0f3:	e8 74 e4 ff ff       	call   0x40d56c
40f0f8:	33 c0                	xor    %eax,%eax
40f0fa:	55                   	push   %ebp
40f0fb:	68 39 f1 40 00       	push   $0x40f139
40f100:	64 ff 30             	push   %fs:(%eax)
40f103:	64 89 20             	mov    %esp,%fs:(%eax)
40f106:	68 00 01 00 00       	push   $0x100
40f10b:	8b cb                	mov    %ebx,%ecx
40f10d:	8d 55 e4             	lea    -0x1c(%ebp),%edx
40f110:	8b 45 f4             	mov    -0xc(%ebp),%eax
40f113:	8b 18                	mov    (%eax),%ebx
40f115:	ff 53 1c             	call   *0x1c(%ebx)
40f118:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f11b:	8b 55 ec             	mov    -0x14(%ebp),%edx
40f11e:	e8 c9 4e ff ff       	call   0x403fec
40f123:	33 c0                	xor    %eax,%eax
40f125:	5a                   	pop    %edx
40f126:	59                   	pop    %ecx
40f127:	59                   	pop    %ecx
40f128:	64 89 10             	mov    %edx,%fs:(%eax)
40f12b:	68 40 f1 40 00       	push   $0x40f140
40f130:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40f133:	e8 bc f9 ff ff       	call   0x40eaf4
40f138:	c3                   	ret
40f139:	e9 5e 48 ff ff       	jmp    0x40399c
40f13e:	eb f0                	jmp    0x40f130
40f140:	8a 45 fb             	mov    -0x5(%ebp),%al
40f143:	5b                   	pop    %ebx
40f144:	8b e5                	mov    %ebp,%esp
40f146:	5d                   	pop    %ebp
40f147:	c3                   	ret
40f148:	55                   	push   %ebp
40f149:	8b ec                	mov    %esp,%ebp
40f14b:	b9 0f 00 00 00       	mov    $0xf,%ecx
40f150:	6a 00                	push   $0x0
40f152:	6a 00                	push   $0x0
40f154:	49                   	dec    %ecx
40f155:	75 f9                	jne    0x40f150
40f157:	53                   	push   %ebx
40f158:	56                   	push   %esi
40f159:	8b da                	mov    %edx,%ebx
40f15b:	8b f0                	mov    %eax,%esi
40f15d:	33 c0                	xor    %eax,%eax
40f15f:	55                   	push   %ebp