40fee6:	c3                   	ret
40fee7:	8b 45 0c             	mov    0xc(%ebp),%eax
40feea:	33 c9                	xor    %ecx,%ecx
40feec:	6a 03                	push   $0x3
40feee:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fef4:	0f 95 c1             	setne  %cl
40fef7:	c1 e1 1f             	shl    $0x1f,%ecx
40fefa:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
40ff00:	eb dd                	jmp    0x40fedf
40ff02:	8d 49 00             	lea    0x0(%ecx),%ecx
40ff05:	35 fe 40 00 44       	xor    $0x440040fe,%eax
40ff0a:	fe 40 00             	incb   0x0(%eax)
40ff0d:	51                   	push   %ecx
40ff0e:	fe 40 00             	incb   0x0(%eax)
40ff11:	6b fe 40             	imul   $0x40,%esi,%edi
40ff14:	00 84 fe 40 00 9d fe 	add    %al,-0x162ffc0(%esi,%edi,8)
40ff1b:	40                   	inc    %eax
40ff1c:	00 b6 fe 40 00 c1    	add    %dh,-0x3effbf02(%esi)
40ff22:	fe 40 00             	incb   0x0(%eax)
40ff25:	cc                   	int3
40ff26:	fe 40 00             	incb   0x0(%eax)
40ff29:	e7 fe                	out    %eax,$0xfe
40ff2b:	40                   	inc    %eax
40ff2c:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
40ff32:	8b 45 08             	mov    0x8(%ebp),%eax
40ff35:	83 f8 09             	cmp    $0x9,%eax
40ff38:	0f 87 91 00 00 00    	ja     0x40ffcf
40ff3e:	ff 24 85 09 00 41 00 	jmp    *0x410009(,%eax,4)
40ff45:	ff 75 10             	push   0x10(%ebp)
40ff48:	ff 75 0c             	push   0xc(%ebp)
40ff4b:	e8 5f f6 ff ff       	call   0x40f5af
40ff50:	59                   	pop    %ecx
40ff51:	59                   	pop    %ecx
40ff52:	5d                   	pop    %ebp
40ff53:	c3                   	ret
40ff54:	ff 75 10             	push   0x10(%ebp)
40ff57:	ff 75 0c             	push   0xc(%ebp)
40ff5a:	e8 96 f6 ff ff       	call   0x40f5f5
40ff5f:	eb ef                	jmp    0x40ff50
40ff61:	8b 45 0c             	mov    0xc(%ebp),%eax
40ff64:	ff 75 10             	push   0x10(%ebp)
40ff67:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
40ff6e:	50                   	push   %eax
40ff6f:	e8 1a f5 ff ff       	call   0x40f48e
40ff74:	59                   	pop    %ecx
40ff75:	59                   	pop    %ecx
40ff76:	33 c0                	xor    %eax,%eax
40ff78:	5d                   	pop    %ebp
40ff79:	c3                   	ret
40ff7a:	8b 45 0c             	mov    0xc(%ebp),%eax
40ff7d:	ff 75 10             	push   0x10(%ebp)
40ff80:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
40ff87:	50                   	push   %eax
40ff88:	e8 b0 f3 ff ff       	call   0x40f33d
40ff8d:	eb e5                	jmp    0x40ff74
40ff8f:	8b 45 0c             	mov    0xc(%ebp),%eax
40ff92:	ff 75 10             	push   0x10(%ebp)
40ff95:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
40ff9c:	50                   	push   %eax
40ff9d:	e8 da f3 ff ff       	call   0x40f37c
40ffa2:	eb d0                	jmp    0x40ff74
40ffa4:	8b 45 0c             	mov    0xc(%ebp),%eax
40ffa7:	ff 75 10             	push   0x10(%ebp)
40ffaa:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
40ffb1:	50                   	push   %eax
40ffb2:	e8 04 f4 ff ff       	call   0x40f3bb
40ffb7:	eb bb                	jmp    0x40ff74
40ffb9:	ff 75 10             	push   0x10(%ebp)
40ffbc:	e8 4d f3 ff ff       	call   0x40f30e
40ffc1:	eb b2                	jmp    0x40ff75
40ffc3:	ff 75 10             	push   0x10(%ebp)
40ffc6:	6a 00                	push   $0x0
40ffc8:	e8 c1 f4 ff ff       	call   0x40f48e
40ffcd:	59                   	pop    %ecx
40ffce:	59                   	pop    %ecx
40ffcf:	33 c0                	xor    %eax,%eax
40ffd1:	40                   	inc    %eax
40ffd2:	5d                   	pop    %ebp
40ffd3:	c3                   	ret
40ffd4:	8b 45 0c             	mov    0xc(%ebp),%eax
40ffd7:	ff 75 10             	push   0x10(%ebp)
40ffda:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
40ffe1:	50                   	push   %eax
40ffe2:	e8 a7 f4 ff ff       	call   0x40f48e
40ffe7:	59                   	pop    %ecx
40ffe8:	59                   	pop    %ecx
40ffe9:	6a 02                	push   $0x2
40ffeb:	58                   	pop    %eax
40ffec:	5d                   	pop    %ebp
40ffed:	c3                   	ret
40ffee:	8b 45 0c             	mov    0xc(%ebp),%eax
40fff1:	ff 75 10             	push   0x10(%ebp)
40fff4:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
40fffb:	50                   	push   %eax
40fffc:	e8 3c f3 ff ff       	call   0x40f33d
410001:	59                   	pop    %ecx
410002:	59                   	pop    %ecx
410003:	6a 03                	push   $0x3
410005:	eb e4                	jmp    0x40ffeb
410007:	8b ff                	mov    %edi,%edi
410009:	45                   	inc    %ebp
41000a:	ff 40 00             	incl   0x0(%eax)
41000d:	54                   	push   %esp
41000e:	ff 40 00             	incl   0x0(%eax)
410011:	61                   	popa
410012:	ff 40 00             	incl   0x0(%eax)
410015:	7a ff                	jp     0x410016
410017:	40                   	inc    %eax
410018:	00 8f ff 40 00 a4    	add    %cl,-0x5bffbf01(%edi)
41001e:	ff 40 00             	incl   0x0(%eax)
410021:	b9 ff 40 00 c3       	mov    $0xc30040ff,%ecx
410026:	ff 40 00             	incl   0x0(%eax)
410029:	d4 ff                	aam    $0xff
41002b:	40                   	inc    %eax
41002c:	00 ee                	add    %ch,%dh
41002e:	ff 40 00             	incl   0x0(%eax)
410031:	8b ff                	mov    %edi,%edi
410033:	55                   	push   %ebp
410034:	8b ec                	mov    %esp,%ebp
410036:	83 ec 40             	sub    $0x40,%esp
410039:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41003c:	56                   	push   %esi
41003d:	57                   	push   %edi
41003e:	e8 23 3c 00 00       	call   0x413c66
410043:	84 c0                	test   %al,%al
410045:	74 21                	je     0x410068
410047:	8b 7d 2c             	mov    0x2c(%ebp),%edi
41004a:	85 ff                	test   %edi,%edi
41004c:	74 25                	je     0x410073
41004e:	83 ff 02             	cmp    $0x2,%edi
410051:	7c 05                	jl     0x410058
410053:	83 ff 24             	cmp    $0x24,%edi
410056:	7e 1b                	jle    0x410073
410058:	e8 0e 4a 00 00       	call   0x414a6b
41005d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
410063:	e8 7a bc ff ff       	call   0x40bce2
410068:	33 c0                	xor    %eax,%eax
41006a:	8b d0                	mov    %eax,%edx
41006c:	8b f0                	mov    %eax,%esi
41006e:	e9 54 02 00 00       	jmp    0x4102c7
410073:	53                   	push   %ebx
410074:	ff 75 08             	push   0x8(%ebp)
410077:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41007a:	e8 49 c7 ff ff       	call   0x40c7c8
41007f:	33 c0                	xor    %eax,%eax
410081:	8d 4d 0c             	lea    0xc(%ebp),%ecx
410084:	89 45 f8             	mov    %eax,-0x8(%ebp)
410087:	8b f0                	mov    %eax,%esi
410089:	8b 45 1c             	mov    0x1c(%ebp),%eax
41008c:	89 45 d0             	mov    %eax,-0x30(%ebp)
41008f:	8b 45 20             	mov    0x20(%ebp),%eax
410092:	89 45 d4             	mov    %eax,-0x2c(%ebp)
410095:	e8 b4 31 00 00       	call   0x41324e
41009a:	8a d8                	mov    %al,%bl
41009c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41009f:	50                   	push   %eax
4100a0:	6a 08                	push   $0x8
4100a2:	0f b6 cb             	movzbl %bl,%ecx
4100a5:	51                   	push   %ecx
4100a6:	eb 14                	jmp    0x4100bc
4100a8:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4100ab:	e8 9e 31 00 00       	call   0x41324e
4100b0:	8a d8                	mov    %al,%bl
4100b2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4100b5:	50                   	push   %eax
4100b6:	6a 08                	push   $0x8
4100b8:	0f b6 c3             	movzbl %bl,%eax
4100bb:	50                   	push   %eax
4100bc:	88 5d fc             	mov    %bl,-0x4(%ebp)
4100bf:	e8 1b 3d 00 00       	call   0x413ddf
4100c4:	83 c4 0c             	add    $0xc,%esp
4100c7:	85 c0                	test   %eax,%eax
4100c9:	75 dd                	jne    0x4100a8
4100cb:	38 45 30             	cmp    %al,0x30(%ebp)
4100ce:	0f 95 c0             	setne  %al
4100d1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4100d4:	80 fb 2d             	cmp    $0x2d,%bl
4100d7:	75 08                	jne    0x4100e1
4100d9:	83 c8 02             	or     $0x2,%eax
4100dc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4100df:	eb 05                	jmp    0x4100e6
4100e1:	80 fb 2b             	cmp    $0x2b,%bl
4100e4:	75 0d                	jne    0x4100f3
4100e6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4100e9:	e8 60 31 00 00       	call   0x41324e
4100ee:	8a d8                	mov    %al,%bl
4100f0:	88 5d fc             	mov    %bl,-0x4(%ebp)
4100f3:	83 c9 ff             	or     $0xffffffff,%ecx
4100f6:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4100f9:	85 ff                	test   %edi,%edi
4100fb:	74 05                	je     0x410102
4100fd:	83 ff 10             	cmp    $0x10,%edi
410100:	75 7b                	jne    0x41017d
410102:	8a c3                	mov    %bl,%al
410104:	2c 30                	sub    $0x30,%al
410106:	3c 09                	cmp    $0x9,%al
410108:	77 08                	ja     0x410112
41010a:	0f be c3             	movsbl %bl,%eax
41010d:	83 c0 d0             	add    $0xffffffd0,%eax
410110:	eb 22                	jmp    0x410134
410112:	8a c3                	mov    %bl,%al
410114:	2c 61                	sub    $0x61,%al
410116:	3c 19                	cmp    $0x19,%al
410118:	77 08                	ja     0x410122
41011a:	0f be c3             	movsbl %bl,%eax
41011d:	83 c0 a9             	add    $0xffffffa9,%eax
410120:	eb 12                	jmp    0x410134
410122:	8a c3                	mov    %bl,%al
410124:	2c 41                	sub    $0x41,%al
410126:	3c 19                	cmp    $0x19,%al
410128:	77 08                	ja     0x410132
41012a:	0f be c3             	movsbl %bl,%eax
41012d:	83 c0 c9             	add    $0xffffffc9,%eax
410130:	eb 02                	jmp    0x410134
410132:	8b c1                	mov    %ecx,%eax
410134:	85 c0                	test   %eax,%eax
410136:	74 09                	je     0x410141
410138:	85 ff                	test   %edi,%edi
41013a:	75 41                	jne    0x41017d
41013c:	6a 0a                	push   $0xa
41013e:	5f                   	pop    %edi
41013f:	eb 3c                	jmp    0x41017d
410141:	8d 4d 0c             	lea    0xc(%ebp),%ecx
410144:	e8 05 31 00 00       	call   0x41324e
410149:	88 45 e8             	mov    %al,-0x18(%ebp)
41014c:	3c 78                	cmp    $0x78,%al
41014e:	74 18                	je     0x410168
410150:	3c 58                	cmp    $0x58,%al
410152:	74 14                	je     0x410168
410154:	85 ff                	test   %edi,%edi
410156:	75 03                	jne    0x41015b
410158:	6a 08                	push   $0x8
41015a:	5f                   	pop    %edi
41015b:	ff 75 e8             	push   -0x18(%ebp)
41015e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
410161:	e8 84 3a 00 00       	call   0x413bea
410166:	eb 12                	jmp    0x41017a
410168:	85 ff                	test   %edi,%edi
41016a:	75 03                	jne    0x41016f
41016c:	6a 10                	push   $0x10
41016e:	5f                   	pop    %edi
41016f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
410172:	e8 d7 30 00 00       	call   0x41324e
410177:	88 45 fc             	mov    %al,-0x4(%ebp)
41017a:	83 c9 ff             	or     $0xffffffff,%ecx
41017d:	8b c7                	mov    %edi,%eax
41017f:	99                   	cltd
410180:	52                   	push   %edx
410181:	50                   	push   %eax
410182:	51                   	push   %ecx
410183:	51                   	push   %ecx
410184:	89 45 d8             	mov    %eax,-0x28(%ebp)
410187:	89 55 dc             	mov    %edx,-0x24(%ebp)
41018a:	e8 a1 61 01 00       	call   0x426330
41018f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
410192:	8a 4d fc             	mov    -0x4(%ebp),%cl
410195:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
410198:	8b 5d f4             	mov    -0xc(%ebp),%ebx
41019b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41019e:	89 55 e8             	mov    %edx,-0x18(%ebp)
4101a1:	8a c1                	mov    %cl,%al
4101a3:	2c 30                	sub    $0x30,%al
4101a5:	3c 09                	cmp    $0x9,%al
4101a7:	77 08                	ja     0x4101b1
4101a9:	0f be d1             	movsbl %cl,%edx
4101ac:	83 c2 d0             	add    $0xffffffd0,%edx
4101af:	eb 23                	jmp    0x4101d4
4101b1:	8a c1                	mov    %cl,%al
4101b3:	2c 61                	sub    $0x61,%al
4101b5:	3c 19                	cmp    $0x19,%al
4101b7:	77 08                	ja     0x4101c1
4101b9:	0f be d1             	movsbl %cl,%edx
4101bc:	83 c2 a9             	add    $0xffffffa9,%edx
4101bf:	eb 13                	jmp    0x4101d4
4101c1:	8a c1                	mov    %cl,%al
4101c3:	2c 41                	sub    $0x41,%al
4101c5:	3c 19                	cmp    $0x19,%al
4101c7:	77 08                	ja     0x4101d1
4101c9:	0f be d1             	movsbl %cl,%edx
4101cc:	83 c2 c9             	add    $0xffffffc9,%edx
4101cf:	eb 03                	jmp    0x4101d4
4101d1:	83 ca ff             	or     $0xffffffff,%edx
4101d4:	89 55 f4             	mov    %edx,-0xc(%ebp)
4101d7:	83 fa ff             	cmp    $0xffffffff,%edx
4101da:	74 5e                	je     0x41023a
4101dc:	3b d7                	cmp    %edi,%edx
4101de:	73 5a                	jae    0x41023a
4101e0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4101e3:	83 cb 08             	or     $0x8,%ebx
4101e6:	3b 75 e8             	cmp    -0x18(%ebp),%esi
4101e9:	72 25                	jb     0x410210
4101eb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4101ee:	77 04                	ja     0x4101f4
4101f0:	3b c8                	cmp    %eax,%ecx
4101f2:	72 1c                	jb     0x410210
4101f4:	3b c8                	cmp    %eax,%ecx
4101f6:	75 13                	jne    0x41020b
4101f8:	3b 75 e8             	cmp    -0x18(%ebp),%esi
4101fb:	75 0e                	jne    0x41020b
4101fd:	33 c0                	xor    %eax,%eax
4101ff:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
410202:	72 0c                	jb     0x410210
410204:	77 05                	ja     0x41020b
410206:	3b 55 e0             	cmp    -0x20(%ebp),%edx
410209:	76 05                	jbe    0x410210
41020b:	83 cb 04             	or     $0x4,%ebx
41020e:	eb 18                	jmp    0x410228
410210:	56                   	push   %esi
410211:	51                   	push   %ecx
410212:	ff 75 dc             	push   -0x24(%ebp)
410215:	ff 75 d8             	push   -0x28(%ebp)
410218:	e8 13 6f ff ff       	call   0x407130
41021d:	03 45 f4             	add    -0xc(%ebp),%eax
410220:	8b f2                	mov    %edx,%esi
410222:	89 45 f8             	mov    %eax,-0x8(%ebp)
410225:	83 d6 00             	adc    $0x0,%esi
410228:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41022b:	e8 1e 30 00 00       	call   0x41324e
410230:	8a c8                	mov    %al,%cl
410232:	88 4d fc             	mov    %cl,-0x4(%ebp)
410235:	e9 67 ff ff ff       	jmp    0x4101a1
41023a:	ff 75 fc             	push   -0x4(%ebp)
41023d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
410240:	e8 a5 39 00 00       	call   0x413bea
410245:	f6 c3 08             	test   $0x8,%bl
410248:	75 17                	jne    0x410261
41024a:	ff 75 d4             	push   -0x2c(%ebp)
41024d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
410250:	ff 75 d0             	push   -0x30(%ebp)
410253:	e8 d2 33 00 00       	call   0x41362a
410258:	33 c0                	xor    %eax,%eax
41025a:	89 45 f0             	mov    %eax,-0x10(%ebp)
41025d:	8b f0                	mov    %eax,%esi
41025f:	eb 40                	jmp    0x4102a1
410261:	8b 7d f8             	mov    -0x8(%ebp),%edi
410264:	56                   	push   %esi
410265:	57                   	push   %edi
410266:	53                   	push   %ebx
410267:	e8 ac f3 ff ff       	call   0x40f618
41026c:	83 c4 0c             	add    $0xc,%esp
41026f:	84 c0                	test   %al,%al
410271:	74 33                	je     0x4102a6
410273:	e8 f3 47 00 00       	call   0x414a6b
410278:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
41027e:	f6 c3 01             	test   $0x1,%bl
410281:	75 09                	jne    0x41028c
410283:	83 c8 ff             	or     $0xffffffff,%eax
410286:	8b f8                	mov    %eax,%edi
410288:	8b f0                	mov    %eax,%esi
41028a:	eb 26                	jmp    0x4102b2