40ded2:	c7 45 8c 4a 10 00 00 	movl   $0x104a,-0x74(%ebp)
40ded9:	c7 45 88 e0 17 00 00 	movl   $0x17e0,-0x78(%ebp)
40dee0:	c7 45 84 ea 17 00 00 	movl   $0x17ea,-0x7c(%ebp)
40dee7:	c7 45 80 10 18 00 00 	movl   $0x1810,-0x80(%ebp)
40deee:	c7 85 7c ff ff ff 1a 	movl   $0x181a,-0x84(%ebp)
40def5:	18 00 00
40def8:	c7 85 78 ff ff ff 1a 	movl   $0xff1a,-0x88(%ebp)
40deff:	ff 00 00
40df02:	6a 30                	push   $0x30
40df04:	59                   	pop    %ecx
40df05:	85 ff                	test   %edi,%edi
40df07:	74 09                	je     0x40df12
40df09:	83 ff 10             	cmp    $0x10,%edi
40df0c:	0f 85 ed 01 00 00    	jne    0x40e0ff
40df12:	66 3b f1             	cmp    %cx,%si
40df15:	0f 82 6f 01 00 00    	jb     0x40e08a
40df1b:	66 3b b5 74 ff ff ff 	cmp    -0x8c(%ebp),%si
40df22:	73 0a                	jae    0x40df2e
40df24:	0f b7 c6             	movzwl %si,%eax
40df27:	2b c1                	sub    %ecx,%eax
40df29:	e9 57 01 00 00       	jmp    0x40e085
40df2e:	66 3b f0             	cmp    %ax,%si
40df31:	0f 83 38 01 00 00    	jae    0x40e06f
40df37:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40df3a:	66 3b f1             	cmp    %cx,%si
40df3d:	0f 82 47 01 00 00    	jb     0x40e08a
40df43:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
40df47:	72 db                	jb     0x40df24
40df49:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40df4c:	66 3b f1             	cmp    %cx,%si
40df4f:	0f 82 35 01 00 00    	jb     0x40e08a
40df55:	66 3b 75 ec          	cmp    -0x14(%ebp),%si
40df59:	72 c9                	jb     0x40df24
40df5b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40df5e:	66 3b f1             	cmp    %cx,%si
40df61:	0f 82 23 01 00 00    	jb     0x40e08a
40df67:	66 3b 75 e4          	cmp    -0x1c(%ebp),%si
40df6b:	72 b7                	jb     0x40df24
40df6d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40df70:	66 3b f1             	cmp    %cx,%si
40df73:	0f 82 11 01 00 00    	jb     0x40e08a
40df79:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
40df7d:	72 a5                	jb     0x40df24
40df7f:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40df82:	66 3b f1             	cmp    %cx,%si
40df85:	0f 82 ff 00 00 00    	jb     0x40e08a
40df8b:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
40df8f:	72 93                	jb     0x40df24
40df91:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40df94:	66 3b f1             	cmp    %cx,%si
40df97:	0f 82 ed 00 00 00    	jb     0x40e08a
40df9d:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
40dfa1:	72 81                	jb     0x40df24
40dfa3:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40dfa6:	66 3b f1             	cmp    %cx,%si
40dfa9:	0f 82 db 00 00 00    	jb     0x40e08a
40dfaf:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
40dfb3:	0f 82 6b ff ff ff    	jb     0x40df24
40dfb9:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40dfbc:	66 3b f1             	cmp    %cx,%si
40dfbf:	0f 82 c5 00 00 00    	jb     0x40e08a
40dfc5:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
40dfc9:	0f 82 55 ff ff ff    	jb     0x40df24
40dfcf:	8b 4d b8             	mov    -0x48(%ebp),%ecx
40dfd2:	66 3b f1             	cmp    %cx,%si
40dfd5:	0f 82 af 00 00 00    	jb     0x40e08a
40dfdb:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
40dfdf:	0f 82 3f ff ff ff    	jb     0x40df24
40dfe5:	8b 4d b0             	mov    -0x50(%ebp),%ecx
40dfe8:	66 3b f1             	cmp    %cx,%si
40dfeb:	0f 82 99 00 00 00    	jb     0x40e08a
40dff1:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
40dff5:	0f 82 29 ff ff ff    	jb     0x40df24
40dffb:	8b 4d a8             	mov    -0x58(%ebp),%ecx
40dffe:	66 3b f1             	cmp    %cx,%si
40e001:	0f 82 83 00 00 00    	jb     0x40e08a
40e007:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
40e00b:	0f 82 13 ff ff ff    	jb     0x40df24
40e011:	8b 4d a0             	mov    -0x60(%ebp),%ecx
40e014:	66 3b f1             	cmp    %cx,%si
40e017:	72 71                	jb     0x40e08a
40e019:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
40e01d:	0f 82 01 ff ff ff    	jb     0x40df24
40e023:	8b 4d 98             	mov    -0x68(%ebp),%ecx
40e026:	66 3b f1             	cmp    %cx,%si
40e029:	72 5f                	jb     0x40e08a
40e02b:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
40e02f:	0f 82 ef fe ff ff    	jb     0x40df24
40e035:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40e038:	66 3b f1             	cmp    %cx,%si
40e03b:	72 4d                	jb     0x40e08a
40e03d:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
40e041:	0f 82 dd fe ff ff    	jb     0x40df24
40e047:	8b 4d 88             	mov    -0x78(%ebp),%ecx
40e04a:	66 3b f1             	cmp    %cx,%si
40e04d:	72 3b                	jb     0x40e08a
40e04f:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
40e053:	0f 82 cb fe ff ff    	jb     0x40df24
40e059:	8b 4d 80             	mov    -0x80(%ebp),%ecx
40e05c:	66 3b f1             	cmp    %cx,%si
40e05f:	72 29                	jb     0x40e08a
40e061:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
40e068:	73 20                	jae    0x40e08a
40e06a:	e9 b5 fe ff ff       	jmp    0x40df24
40e06f:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
40e076:	73 0a                	jae    0x40e082
40e078:	0f b7 c6             	movzwl %si,%eax
40e07b:	2d 10 ff 00 00       	sub    $0xff10,%eax
40e080:	eb 03                	jmp    0x40e085
40e082:	83 c8 ff             	or     $0xffffffff,%eax
40e085:	83 f8 ff             	cmp    $0xffffffff,%eax
40e088:	75 2a                	jne    0x40e0b4
40e08a:	0f b7 c6             	movzwl %si,%eax
40e08d:	83 f8 41             	cmp    $0x41,%eax
40e090:	72 0a                	jb     0x40e09c
40e092:	83 f8 5a             	cmp    $0x5a,%eax
40e095:	77 05                	ja     0x40e09c
40e097:	8d 48 9f             	lea    -0x61(%eax),%ecx
40e09a:	eb 08                	jmp    0x40e0a4
40e09c:	8d 48 9f             	lea    -0x61(%eax),%ecx
40e09f:	83 f9 19             	cmp    $0x19,%ecx
40e0a2:	77 0d                	ja     0x40e0b1
40e0a4:	83 f9 19             	cmp    $0x19,%ecx
40e0a7:	77 03                	ja     0x40e0ac
40e0a9:	83 c0 e0             	add    $0xffffffe0,%eax
40e0ac:	83 c0 c9             	add    $0xffffffc9,%eax
40e0af:	eb 03                	jmp    0x40e0b4
40e0b1:	83 c8 ff             	or     $0xffffffff,%eax
40e0b4:	85 c0                	test   %eax,%eax
40e0b6:	74 0c                	je     0x40e0c4
40e0b8:	85 ff                	test   %edi,%edi
40e0ba:	75 43                	jne    0x40e0ff
40e0bc:	6a 0a                	push   $0xa
40e0be:	5f                   	pop    %edi
40e0bf:	89 7d 14             	mov    %edi,0x14(%ebp)
40e0c2:	eb 3b                	jmp    0x40e0ff
40e0c4:	0f b7 02             	movzwl (%edx),%eax
40e0c7:	8d 4a 02             	lea    0x2(%edx),%ecx
40e0ca:	89 4d 0c             	mov    %ecx,0xc(%ebp)
40e0cd:	83 f8 78             	cmp    $0x78,%eax
40e0d0:	74 1a                	je     0x40e0ec
40e0d2:	83 f8 58             	cmp    $0x58,%eax
40e0d5:	74 15                	je     0x40e0ec
40e0d7:	85 ff                	test   %edi,%edi
40e0d9:	75 06                	jne    0x40e0e1
40e0db:	6a 08                	push   $0x8
40e0dd:	5f                   	pop    %edi
40e0de:	89 7d 14             	mov    %edi,0x14(%ebp)
40e0e1:	50                   	push   %eax
40e0e2:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40e0e5:	e8 a0 02 00 00       	call   0x40e38a
40e0ea:	eb 13                	jmp    0x40e0ff
40e0ec:	85 ff                	test   %edi,%edi
40e0ee:	75 06                	jne    0x40e0f6
40e0f0:	6a 10                	push   $0x10
40e0f2:	5f                   	pop    %edi
40e0f3:	89 7d 14             	mov    %edi,0x14(%ebp)
40e0f6:	0f b7 31             	movzwl (%ecx),%esi
40e0f9:	8d 51 02             	lea    0x2(%ecx),%edx
40e0fc:	89 55 0c             	mov    %edx,0xc(%ebp)
40e0ff:	83 c8 ff             	or     $0xffffffff,%eax
40e102:	33 d2                	xor    %edx,%edx
40e104:	f7 f7                	div    %edi
40e106:	8b f8                	mov    %eax,%edi
40e108:	6a 30                	push   $0x30
40e10a:	59                   	pop    %ecx
40e10b:	66 3b f1             	cmp    %cx,%si
40e10e:	0f 82 6d 01 00 00    	jb     0x40e281
40e114:	6a 3a                	push   $0x3a
40e116:	58                   	pop    %eax
40e117:	66 3b f0             	cmp    %ax,%si
40e11a:	73 0a                	jae    0x40e126
40e11c:	0f b7 c6             	movzwl %si,%eax
40e11f:	2b c1                	sub    %ecx,%eax
40e121:	e9 56 01 00 00       	jmp    0x40e27c
40e126:	b9 10 ff 00 00       	mov    $0xff10,%ecx
40e12b:	66 3b f1             	cmp    %cx,%si
40e12e:	0f 83 38 01 00 00    	jae    0x40e26c
40e134:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40e137:	66 3b f1             	cmp    %cx,%si
40e13a:	0f 82 41 01 00 00    	jb     0x40e281
40e140:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
40e144:	72 d6                	jb     0x40e11c
40e146:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e149:	66 3b f1             	cmp    %cx,%si
40e14c:	0f 82 2f 01 00 00    	jb     0x40e281
40e152:	66 3b 75 ec          	cmp    -0x14(%ebp),%si
40e156:	72 c4                	jb     0x40e11c
40e158:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40e15b:	66 3b f1             	cmp    %cx,%si
40e15e:	0f 82 1d 01 00 00    	jb     0x40e281
40e164:	66 3b 75 e4          	cmp    -0x1c(%ebp),%si
40e168:	72 b2                	jb     0x40e11c
40e16a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40e16d:	66 3b f1             	cmp    %cx,%si
40e170:	0f 82 0b 01 00 00    	jb     0x40e281
40e176:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
40e17a:	72 a0                	jb     0x40e11c
40e17c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40e17f:	66 3b f1             	cmp    %cx,%si
40e182:	0f 82 f9 00 00 00    	jb     0x40e281
40e188:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
40e18c:	72 8e                	jb     0x40e11c
40e18e:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40e191:	66 3b f1             	cmp    %cx,%si
40e194:	0f 82 e7 00 00 00    	jb     0x40e281
40e19a:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
40e19e:	0f 82 78 ff ff ff    	jb     0x40e11c
40e1a4:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40e1a7:	66 3b f1             	cmp    %cx,%si
40e1aa:	0f 82 d1 00 00 00    	jb     0x40e281
40e1b0:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
40e1b4:	0f 82 62 ff ff ff    	jb     0x40e11c
40e1ba:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40e1bd:	66 3b f1             	cmp    %cx,%si
40e1c0:	0f 82 bb 00 00 00    	jb     0x40e281
40e1c6:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
40e1ca:	0f 82 4c ff ff ff    	jb     0x40e11c
40e1d0:	8b 4d b8             	mov    -0x48(%ebp),%ecx
40e1d3:	66 3b f1             	cmp    %cx,%si
40e1d6:	0f 82 a5 00 00 00    	jb     0x40e281
40e1dc:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
40e1e0:	0f 82 36 ff ff ff    	jb     0x40e11c
40e1e6:	8b 4d b0             	mov    -0x50(%ebp),%ecx
40e1e9:	66 3b f1             	cmp    %cx,%si
40e1ec:	0f 82 8f 00 00 00    	jb     0x40e281
40e1f2:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
40e1f6:	0f 82 20 ff ff ff    	jb     0x40e11c
40e1fc:	8b 4d a8             	mov    -0x58(%ebp),%ecx
40e1ff:	66 3b f1             	cmp    %cx,%si
40e202:	72 7d                	jb     0x40e281
40e204:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
40e208:	0f 82 0e ff ff ff    	jb     0x40e11c
40e20e:	8b 4d a0             	mov    -0x60(%ebp),%ecx
40e211:	66 3b f1             	cmp    %cx,%si
40e214:	72 6b                	jb     0x40e281
40e216:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
40e21a:	0f 82 fc fe ff ff    	jb     0x40e11c
40e220:	8b 4d 98             	mov    -0x68(%ebp),%ecx
40e223:	66 3b f1             	cmp    %cx,%si
40e226:	72 59                	jb     0x40e281
40e228:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
40e22c:	0f 82 ea fe ff ff    	jb     0x40e11c
40e232:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40e235:	66 3b f1             	cmp    %cx,%si
40e238:	72 47                	jb     0x40e281
40e23a:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
40e23e:	0f 82 d8 fe ff ff    	jb     0x40e11c
40e244:	8b 4d 88             	mov    -0x78(%ebp),%ecx
40e247:	66 3b f1             	cmp    %cx,%si
40e24a:	72 35                	jb     0x40e281
40e24c:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
40e250:	0f 82 c6 fe ff ff    	jb     0x40e11c
40e256:	8b 4d 80             	mov    -0x80(%ebp),%ecx
40e259:	66 3b f1             	cmp    %cx,%si
40e25c:	72 23                	jb     0x40e281
40e25e:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
40e265:	73 1a                	jae    0x40e281
40e267:	e9 b0 fe ff ff       	jmp    0x40e11c
40e26c:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
40e273:	0f 82 a3 fe ff ff    	jb     0x40e11c
40e279:	83 c8 ff             	or     $0xffffffff,%eax
40e27c:	83 f8 ff             	cmp    $0xffffffff,%eax
40e27f:	75 2a                	jne    0x40e2ab
40e281:	0f b7 c6             	movzwl %si,%eax
40e284:	83 f8 41             	cmp    $0x41,%eax
40e287:	72 0a                	jb     0x40e293
40e289:	83 f8 5a             	cmp    $0x5a,%eax
40e28c:	77 05                	ja     0x40e293
40e28e:	8d 48 9f             	lea    -0x61(%eax),%ecx
40e291:	eb 08                	jmp    0x40e29b
40e293:	8d 48 9f             	lea    -0x61(%eax),%ecx
40e296:	83 f9 19             	cmp    $0x19,%ecx
40e299:	77 0d                	ja     0x40e2a8
40e29b:	83 f9 19             	cmp    $0x19,%ecx
40e29e:	77 03                	ja     0x40e2a3
40e2a0:	83 c0 e0             	add    $0xffffffe0,%eax
40e2a3:	83 c0 c9             	add    $0xffffffc9,%eax
40e2a6:	eb 03                	jmp    0x40e2ab
40e2a8:	83 c8 ff             	or     $0xffffffff,%eax
40e2ab:	83 f8 ff             	cmp    $0xffffffff,%eax
40e2ae:	74 35                	je     0x40e2e5
40e2b0:	3b 45 14             	cmp    0x14(%ebp),%eax
40e2b3:	73 30                	jae    0x40e2e5
40e2b5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e2b8:	3b cf                	cmp    %edi,%ecx
40e2ba:	72 0a                	jb     0x40e2c6
40e2bc:	75 04                	jne    0x40e2c2
40e2be:	3b c2                	cmp    %edx,%eax
40e2c0:	76 04                	jbe    0x40e2c6
40e2c2:	6a 0c                	push   $0xc
40e2c4:	eb 0b                	jmp    0x40e2d1
40e2c6:	0f af 4d 14          	imul   0x14(%ebp),%ecx
40e2ca:	6a 08                	push   $0x8
40e2cc:	03 c8                	add    %eax,%ecx
40e2ce:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e2d1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e2d4:	58                   	pop    %eax
40e2d5:	0f b7 31             	movzwl (%ecx),%esi
40e2d8:	83 c1 02             	add    $0x2,%ecx
40e2db:	89 4d 0c             	mov    %ecx,0xc(%ebp)
40e2de:	0b d8                	or     %eax,%ebx
40e2e0:	e9 23 fe ff ff       	jmp    0x40e108
40e2e5:	56                   	push   %esi
40e2e6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40e2e9:	e8 9c 00 00 00       	call   0x40e38a
40e2ee:	f6 c3 08             	test   $0x8,%bl
40e2f1:	75 0d                	jne    0x40e300
40e2f3:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
40e2f9:	33 db                	xor    %ebx,%ebx
40e2fb:	89 45 0c             	mov    %eax,0xc(%ebp)
40e2fe:	eb 41                	jmp    0x40e341
40e300:	8b 75 fc             	mov    -0x4(%ebp),%esi
40e303:	56                   	push   %esi
40e304:	53                   	push   %ebx
40e305:	e8 fb f7 ff ff       	call   0x40db05
40e30a:	59                   	pop    %ecx
40e30b:	59                   	pop    %ecx
40e30c:	84 c0                	test   %al,%al
40e30e:	74 28                	je     0x40e338
40e310:	e8 be 09 00 00       	call   0x40ecd3
40e315:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
40e31b:	f6 c3 01             	test   $0x1,%bl
40e31e:	75 05                	jne    0x40e325
40e320:	83 ce ff             	or     $0xffffffff,%esi
40e323:	eb 1a                	jmp    0x40e33f
40e325:	f6 c3 02             	test   $0x2,%bl
40e328:	74 07                	je     0x40e331
40e32a:	bb 00 00 00 80       	mov    $0x80000000,%ebx
40e32f:	eb 10                	jmp    0x40e341
40e331:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
40e336:	eb 09                	jmp    0x40e341
40e338:	f6 c3 02             	test   $0x2,%bl
40e33b:	74 02                	je     0x40e33f
40e33d:	f7 de                	neg    %esi
40e33f:	8b de                	mov    %esi,%ebx
40e341:	80 bd 6c ff ff ff 00 	cmpb   $0x0,-0x94(%ebp)
40e348:	5e                   	pop    %esi
40e349:	0f 84 46 fa ff ff    	je     0x40dd95
40e34f:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
40e355:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
40e35c:	e9 34 fa ff ff       	jmp    0x40dd95
40e361:	8b ff                	mov    %edi,%edi
40e363:	55                   	push   %ebp
40e364:	8b ec                	mov    %esp,%ebp
40e366:	8b 01                	mov    (%ecx),%eax
40e368:	48                   	dec    %eax
40e369:	89 01                	mov    %eax,(%ecx)
40e36b:	8a 4d 08             	mov    0x8(%ebp),%cl
40e36e:	84 c9                	test   %cl,%cl