40cd7d:	8b e5                	mov    %ebp,%esp
40cd7f:	5d                   	pop    %ebp
40cd80:	c3                   	ret
40cd81:	5f                   	pop    %edi
40cd82:	5e                   	pop    %esi
40cd83:	b8 01 00 00 00       	mov    $0x1,%eax
40cd88:	5b                   	pop    %ebx
40cd89:	8b e5                	mov    %ebp,%esp
40cd8b:	5d                   	pop    %ebp
40cd8c:	c3                   	ret
40cd8d:	19 b1 03 55 8b ec    	sbb    %esi,-0x1374aafd(%ecx)
40cd93:	83 ec 08             	sub    $0x8,%esp
40cd96:	8b 45 0c             	mov    0xc(%ebp),%eax
40cd99:	33 c9                	xor    %ecx,%ecx
40cd9b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40cd9e:	83 f8 ff             	cmp    $0xffffffff,%eax
40cda1:	75 0c                	jne    0x40cdaf
40cda3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40cda6:	c7 45 fc 00 00 00 80 	movl   $0x80000000,-0x4(%ebp)
40cdad:	eb 11                	jmp    0x40cdc0
40cdaf:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40cdb6:	89 45 f8             	mov    %eax,-0x8(%ebp)
40cdb9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40cdc0:	8d 45 f8             	lea    -0x8(%ebp),%eax
40cdc3:	50                   	push   %eax
40cdc4:	51                   	push   %ecx
40cdc5:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cdc8:	51                   	push   %ecx
40cdc9:	e8 22 99 00 00       	call   0x4166f0
40cdce:	33 d2                	xor    %edx,%edx
40cdd0:	83 c4 0c             	add    $0xc,%esp
40cdd3:	3d c0 00 00 00       	cmp    $0xc0,%eax
40cdd8:	0f 95 c2             	setne  %dl
40cddb:	8d 42 ff             	lea    -0x1(%edx),%eax
40cdde:	25 c0 00 00 00       	and    $0xc0,%eax
40cde3:	8b e5                	mov    %ebp,%esp
40cde5:	5d                   	pop    %ebp
40cde6:	c3                   	ret
40cde7:	ec                   	in     (%dx),%al
40cde8:	0b cf                	or     %edi,%ecx
40cdea:	0f db 3f             	pand   (%edi),%mm7
40cded:	6c                   	insb   (%dx),%es:(%edi)
40cdee:	cb                   	lret
40cdef:	28 55 8b             	sub    %dl,-0x75(%ebp)
40cdf2:	ec                   	in     (%dx),%al
40cdf3:	8b 45 08             	mov    0x8(%ebp),%eax
40cdf6:	8b 88 98 0b 00 00    	mov    0xb98(%eax),%ecx
40cdfc:	68 26 4d 34 a6       	push   $0xa6344d26
40ce01:	6a 00                	push   $0x0
40ce03:	6a 00                	push   $0x0
40ce05:	51                   	push   %ecx
40ce06:	83 c0 1c             	add    $0x1c,%eax
40ce09:	50                   	push   %eax
40ce0a:	e8 c1 54 00 00       	call   0x4122d0
40ce0f:	83 c4 14             	add    $0x14,%esp
40ce12:	85 c0                	test   %eax,%eax
40ce14:	74 07                	je     0x40ce1d
40ce16:	68 03 80 00 00       	push   $0x8003
40ce1b:	ff d0                	call   *%eax
40ce1d:	33 c0                	xor    %eax,%eax
40ce1f:	5d                   	pop    %ebp
40ce20:	c3                   	ret
40ce21:	14 f9                	adc    $0xf9,%al
40ce23:	39 de                	cmp    %ebx,%esi
40ce25:	37                   	aaa
40ce26:	05 fe 19 21 ae       	add    $0xae2119fe,%eax
40ce2b:	0b 1b                	or     (%ebx),%ebx
40ce2d:	e1 5b                	loope  0x40ce8a
40ce2f:	7c 55                	jl     0x40ce86
40ce31:	8b ec                	mov    %esp,%ebp
40ce33:	81 ec 10 02 00 00    	sub    $0x210,%esp
40ce39:	57                   	push   %edi
40ce3a:	33 c0                	xor    %eax,%eax
40ce3c:	68 06 02 00 00       	push   $0x206
40ce41:	50                   	push   %eax
40ce42:	8d 8d f2 fd ff ff    	lea    -0x20e(%ebp),%ecx
40ce48:	51                   	push   %ecx
40ce49:	66 89 85 f0 fd ff ff 	mov    %ax,-0x210(%ebp)
40ce50:	e8 8b b5 00 00       	call   0x4183e0
40ce55:	8b 7d 08             	mov    0x8(%ebp),%edi
40ce58:	6a 71                	push   $0x71
40ce5a:	57                   	push   %edi
40ce5b:	e8 40 a8 ff ff       	call   0x4076a0
40ce60:	50                   	push   %eax
40ce61:	6a 00                	push   $0x0
40ce63:	e8 28 ab 00 00       	call   0x417990
40ce68:	8b 40 28             	mov    0x28(%eax),%eax
40ce6b:	8d 95 f0 fd ff ff    	lea    -0x210(%ebp),%edx
40ce71:	52                   	push   %edx
40ce72:	50                   	push   %eax
40ce73:	57                   	push   %edi
40ce74:	e8 67 8c ff ff       	call   0x405ae0
40ce79:	83 c4 28             	add    $0x28,%esp
40ce7c:	66 83 bd f0 fd ff ff 	cmpw   $0x0,-0x210(%ebp)
40ce83:	00
40ce84:	75 07                	jne    0x40ce8d
40ce86:	33 c0                	xor    %eax,%eax
40ce88:	5f                   	pop    %edi
40ce89:	8b e5                	mov    %ebp,%esp
40ce8b:	5d                   	pop    %ebp
40ce8c:	c3                   	ret
40ce8d:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40ce93:	53                   	push   %ebx
40ce94:	51                   	push   %ecx
40ce95:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40ce9c:	e8 af b7 00 00       	call   0x418650
40cea1:	8b 5d 10             	mov    0x10(%ebp),%ebx
40cea4:	83 c4 04             	add    $0x4,%esp
40cea7:	8d 94 45 f0 fd ff ff 	lea    -0x210(%ebp,%eax,2),%edx
40ceae:	89 55 f8             	mov    %edx,-0x8(%ebp)
40ceb1:	56                   	push   %esi
40ceb2:	ff 45 fc             	incl   -0x4(%ebp)
40ceb5:	8a c3                	mov    %bl,%al
40ceb7:	80 fb 03             	cmp    $0x3,%bl
40ceba:	72 05                	jb     0x40cec1
40cebc:	80 fb 29             	cmp    $0x29,%bl
40cebf:	76 0c                	jbe    0x40cecd
40cec1:	6a 29                	push   $0x29
40cec3:	6a 03                	push   $0x3
40cec5:	e8 46 b0 ff ff       	call   0x407f10
40ceca:	83 c4 08             	add    $0x8,%esp
40cecd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40ced0:	0f b6 d0             	movzbl %al,%edx
40ced3:	51                   	push   %ecx
40ced4:	52                   	push   %edx
40ced5:	57                   	push   %edi
40ced6:	e8 c5 bf 00 00       	call   0x418ea0
40cedb:	8b 75 0c             	mov    0xc(%ebp),%esi
40cede:	83 c4 0c             	add    $0xc,%esp
40cee1:	85 f6                	test   %esi,%esi
40cee3:	74 21                	je     0x40cf06
40cee5:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
40ceeb:	50                   	push   %eax
40ceec:	e8 5f b7 00 00       	call   0x418650
40cef1:	8d 4c 00 02          	lea    0x2(%eax,%eax,1),%ecx
40cef5:	51                   	push   %ecx
40cef6:	8d 95 f0 fd ff ff    	lea    -0x210(%ebp),%edx
40cefc:	52                   	push   %edx
40cefd:	56                   	push   %esi
40cefe:	e8 5d b4 00 00       	call   0x418360
40cf03:	83 c4 10             	add    $0x10,%esp
40cf06:	85 db                	test   %ebx,%ebx
40cf08:	75 6d                	jne    0x40cf77
40cf0a:	39 5d 14             	cmp    %ebx,0x14(%ebp)
40cf0d:	74 74                	je     0x40cf83
40cf0f:	53                   	push   %ebx
40cf10:	6a 02                	push   $0x2
40cf12:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
40cf18:	50                   	push   %eax
40cf19:	57                   	push   %edi
40cf1a:	e8 b1 4f 00 00       	call   0x411ed0
40cf1f:	8b f0                	mov    %eax,%esi
40cf21:	83 c4 10             	add    $0x10,%esp
40cf24:	85 f6                	test   %esi,%esi
40cf26:	74 39                	je     0x40cf61
40cf28:	8b 45 14             	mov    0x14(%ebp),%eax
40cf2b:	8d 48 14             	lea    0x14(%eax),%ecx
40cf2e:	51                   	push   %ecx
40cf2f:	8d 90 8c 02 00 00    	lea    0x28c(%eax),%edx
40cf35:	52                   	push   %edx
40cf36:	8d 88 20 02 00 00    	lea    0x220(%eax),%ecx
40cf3c:	51                   	push   %ecx
40cf3d:	8d 90 48 02 00 00    	lea    0x248(%eax),%edx
40cf43:	52                   	push   %edx
40cf44:	83 c0 20             	add    $0x20,%eax
40cf47:	50                   	push   %eax
40cf48:	57                   	push   %edi
40cf49:	e8 22 fd ff ff       	call   0x40cc70
40cf4e:	83 c4 18             	add    $0x18,%esp
40cf51:	85 c0                	test   %eax,%eax
40cf53:	75 19                	jne    0x40cf6e
40cf55:	56                   	push   %esi
40cf56:	57                   	push   %edi
40cf57:	e8 e4 b3 00 00       	call   0x418340
40cf5c:	83 c4 08             	add    $0x8,%esp
40cf5f:	33 f6                	xor    %esi,%esi
40cf61:	81 7d fc 00 04 00 00 	cmpl   $0x400,-0x4(%ebp)
40cf68:	0f 82 44 ff ff ff    	jb     0x40ceb2
40cf6e:	8b c6                	mov    %esi,%eax
40cf70:	5e                   	pop    %esi
40cf71:	5b                   	pop    %ebx
40cf72:	5f                   	pop    %edi
40cf73:	8b e5                	mov    %ebp,%esp
40cf75:	5d                   	pop    %ebp
40cf76:	c3                   	ret
40cf77:	5e                   	pop    %esi
40cf78:	5b                   	pop    %ebx
40cf79:	b8 01 00 00 00       	mov    $0x1,%eax
40cf7e:	5f                   	pop    %edi
40cf7f:	8b e5                	mov    %ebp,%esp
40cf81:	5d                   	pop    %ebp
40cf82:	c3                   	ret
40cf83:	5e                   	pop    %esi
40cf84:	5b                   	pop    %ebx
40cf85:	33 c0                	xor    %eax,%eax
40cf87:	5f                   	pop    %edi
40cf88:	8b e5                	mov    %ebp,%esp
40cf8a:	5d                   	pop    %ebp
40cf8b:	c3                   	ret
40cf8c:	9d                   	popf
40cf8d:	1c ad                	sbb    $0xad,%al
40cf8f:	c0 55 8b ec          	rclb   $0xec,-0x75(%ebp)
40cf93:	81 ec d4 00 00 00    	sub    $0xd4,%esp
40cf99:	56                   	push   %esi
40cf9a:	57                   	push   %edi
40cf9b:	68 08 ab ed ad       	push   $0xadedab08
40cfa0:	e8 4b ac 00 00       	call   0x417bf0
40cfa5:	8b 7d 08             	mov    0x8(%ebp),%edi
40cfa8:	33 c9                	xor    %ecx,%ecx
40cfaa:	6a 36                	push   $0x36
40cfac:	51                   	push   %ecx
40cfad:	8d 55 b6             	lea    -0x4a(%ebp),%edx
40cfb0:	8b f0                	mov    %eax,%esi
40cfb2:	52                   	push   %edx
40cfb3:	89 b7 14 0a 00 00    	mov    %esi,0xa14(%edi)
40cfb9:	c7 45 ac 50 00 41 00 	movl   $0x410050,-0x54(%ebp)
40cfc0:	c7 45 b0 54 00 48 00 	movl   $0x480054,-0x50(%ebp)
40cfc7:	66 89 4d b4          	mov    %cx,-0x4c(%ebp)
40cfcb:	e8 10 b4 00 00       	call   0x4183e0
40cfd0:	33 d2                	xor    %edx,%edx
40cfd2:	83 c4 10             	add    $0x10,%esp
40cfd5:	c7 45 ec 46 00 69 00 	movl   $0x690046,-0x14(%ebp)
40cfdc:	c7 45 f0 72 00 65 00 	movl   $0x650072,-0x10(%ebp)
40cfe3:	c7 45 f4 66 00 6f 00 	movl   $0x6f0066,-0xc(%ebp)
40cfea:	c7 45 f8 78 00 5c 00 	movl   $0x5c0078,-0x8(%ebp)
40cff1:	66 89 55 fc          	mov    %dx,-0x4(%ebp)
40cff5:	85 f6                	test   %esi,%esi
40cff7:	75 08                	jne    0x40d001
40cff9:	5f                   	pop    %edi
40cffa:	33 c0                	xor    %eax,%eax
40cffc:	5e                   	pop    %esi
40cffd:	8b e5                	mov    %ebp,%esp
40cfff:	5d                   	pop    %ebp
40d000:	c3                   	ret
40d001:	8b 47 04             	mov    0x4(%edi),%eax
40d004:	33 c6                	xor    %esi,%eax
40d006:	68 00 10 00 00       	push   $0x1000
40d00b:	57                   	push   %edi
40d00c:	89 87 14 0a 00 00    	mov    %eax,0xa14(%edi)
40d012:	e8 f9 b4 00 00       	call   0x418510
40d017:	68 74 73 00 00       	push   $0x7374
40d01c:	57                   	push   %edi
40d01d:	89 87 04 0a 00 00    	mov    %eax,0xa04(%edi)
40d023:	e8 e8 b4 00 00       	call   0x418510
40d028:	8b f0                	mov    %eax,%esi
40d02a:	83 c4 10             	add    $0x10,%esp
40d02d:	85 f6                	test   %esi,%esi
40d02f:	74 c8                	je     0x40cff9
40d031:	83 bf 04 0a 00 00 00 	cmpl   $0x0,0xa04(%edi)
40d038:	74 bf                	je     0x40cff9
40d03a:	53                   	push   %ebx
40d03b:	6a 3f                	push   $0x3f
40d03d:	8d 8d 6d ff ff ff    	lea    -0x93(%ebp),%ecx
40d043:	6a 00                	push   $0x0
40d045:	51                   	push   %ecx
40d046:	c6 85 6c ff ff ff 00 	movb   $0x0,-0x94(%ebp)
40d04d:	e8 8e b3 00 00       	call   0x4183e0
40d052:	8d 95 6c ff ff ff    	lea    -0x94(%ebp),%edx
40d058:	6a 00                	push   $0x0
40d05a:	52                   	push   %edx
40d05b:	e8 20 bf 00 00       	call   0x418f80
40d060:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
40d066:	8d 47 1c             	lea    0x1c(%edi),%eax
40d069:	51                   	push   %ecx
40d06a:	50                   	push   %eax
40d06b:	8d 5e 0c             	lea    0xc(%esi),%ebx
40d06e:	e8 ad b3 ff ff       	call   0x408420
40d073:	8b 16                	mov    (%esi),%edx
40d075:	52                   	push   %edx
40d076:	53                   	push   %ebx
40d077:	57                   	push   %edi
40d078:	89 03                	mov    %eax,(%ebx)
40d07a:	e8 81 86 00 00       	call   0x415700
40d07f:	83 c4 28             	add    $0x28,%esp
40d082:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
40d086:	0f 84 26 01 00 00    	je     0x40d1b2
40d08c:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
40d090:	0f 84 1c 01 00 00    	je     0x40d1b2
40d096:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
40d09a:	0f 84 12 01 00 00    	je     0x40d1b2
40d0a0:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
40d0a4:	0f 84 08 01 00 00    	je     0x40d1b2
40d0aa:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
40d0ae:	0f 84 fe 00 00 00    	je     0x40d1b2
40d0b4:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
40d0b8:	0f 84 f4 00 00 00    	je     0x40d1b2
40d0be:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
40d0c2:	0f 84 ea 00 00 00    	je     0x40d1b2
40d0c8:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
40d0cc:	0f 84 e0 00 00 00    	je     0x40d1b2
40d0d2:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
40d0d6:	0f 84 d6 00 00 00    	je     0x40d1b2
40d0dc:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
40d0e0:	0f 84 cc 00 00 00    	je     0x40d1b2
40d0e6:	6a 3f                	push   $0x3f
40d0e8:	8d 85 2d ff ff ff    	lea    -0xd3(%ebp),%eax
40d0ee:	6a 00                	push   $0x0
40d0f0:	50                   	push   %eax
40d0f1:	c6 85 2c ff ff ff 00 	movb   $0x0,-0xd4(%ebp)
40d0f8:	e8 e3 b2 00 00       	call   0x4183e0
40d0fd:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
40d103:	6a 06                	push   $0x6
40d105:	51                   	push   %ecx
40d106:	e8 75 be 00 00       	call   0x418f80
40d10b:	8d 95 2c ff ff ff    	lea    -0xd4(%ebp),%edx
40d111:	52                   	push   %edx
40d112:	8d 5f 1c             	lea    0x1c(%edi),%ebx
40d115:	53                   	push   %ebx
40d116:	e8 05 b3 ff ff       	call   0x408420
40d11b:	83 c4 1c             	add    $0x1c,%esp
40d11e:	85 c0                	test   %eax,%eax
40d120:	0f 84 8c 00 00 00    	je     0x40d1b2
40d126:	68 2b 51 30 24       	push   $0x2430512b
40d12b:	6a 00                	push   $0x0
40d12d:	6a 00                	push   $0x0
40d12f:	50                   	push   %eax
40d130:	53                   	push   %ebx
40d131:	e8 9a 51 00 00       	call   0x4122d0
40d136:	83 c4 14             	add    $0x14,%esp
40d139:	89 46 44             	mov    %eax,0x44(%esi)
40d13c:	85 c0                	test   %eax,%eax
40d13e:	74 72                	je     0x40d1b2
40d140:	8b 45 0c             	mov    0xc(%ebp),%eax
40d143:	85 c0                	test   %eax,%eax
40d145:	74 05                	je     0x40d14c
40d147:	89 46 04             	mov    %eax,0x4(%esi)
40d14a:	eb 07                	jmp    0x40d153
40d14c:	c7 46 04 20 00 00 00 	movl   $0x20,0x4(%esi)
40d153:	6a 08                	push   $0x8
40d155:	8d 45 ac             	lea    -0x54(%ebp),%eax
40d158:	50                   	push   %eax
40d159:	8d 4e 48             	lea    0x48(%esi),%ecx
40d15c:	51                   	push   %ecx
40d15d:	c7 06 32 00 00 00    	movl   $0x32,(%esi)
40d163:	e8 f8 b1 00 00       	call   0x418360
40d168:	8d 9f 30 14 01 00    	lea    0x11430(%edi),%ebx
40d16e:	53                   	push   %ebx
40d16f:	e8 dc b4 00 00       	call   0x418650
40d174:	03 c0                	add    %eax,%eax
40d176:	50                   	push   %eax
40d177:	8d 97 f0 08 00 00    	lea    0x8f0(%edi),%edx
40d17d:	53                   	push   %ebx
40d17e:	52                   	push   %edx
40d17f:	e8 dc b1 00 00       	call   0x418360
40d184:	56                   	push   %esi
40d185:	8d 45 ec             	lea    -0x14(%ebp),%eax
40d188:	50                   	push   %eax
40d189:	57                   	push   %edi
40d18a:	e8 21 0e 00 00       	call   0x40dfb0
40d18f:	56                   	push   %esi