40fd31:	59                   	pop    %ecx
40fd32:	59                   	pop    %ecx
40fd33:	84 c0                	test   %al,%al
40fd35:	74 04                	je     0x40fd3b
40fd37:	6a 05                	push   $0x5
40fd39:	eb 0f                	jmp    0x40fd4a
40fd3b:	57                   	push   %edi
40fd3c:	56                   	push   %esi
40fd3d:	e8 67 00 00 00       	call   0x40fda9
40fd42:	59                   	pop    %ecx
40fd43:	59                   	pop    %ecx
40fd44:	84 c0                	test   %al,%al
40fd46:	74 12                	je     0x40fd5a
40fd48:	6a 06                	push   $0x6
40fd4a:	0f b6 16             	movzbl (%esi),%edx
40fd4d:	8b cf                	mov    %edi,%ecx
40fd4f:	5b                   	pop    %ebx
40fd50:	52                   	push   %edx
40fd51:	e8 94 3e 00 00       	call   0x413bea
40fd56:	8b c3                	mov    %ebx,%eax
40fd58:	eb 48                	jmp    0x40fda2
40fd5a:	80 3e 29             	cmpb   $0x29,(%esi)
40fd5d:	74 40                	je     0x40fd9f
40fd5f:	8a 06                	mov    (%esi),%al
40fd61:	84 c0                	test   %al,%al
40fd63:	74 31                	je     0x40fd96
40fd65:	0f be c8             	movsbl %al,%ecx
40fd68:	8d 41 d0             	lea    -0x30(%ecx),%eax
40fd6b:	83 f8 09             	cmp    $0x9,%eax
40fd6e:	76 19                	jbe    0x40fd89
40fd70:	8d 41 9f             	lea    -0x61(%ecx),%eax
40fd73:	83 f8 19             	cmp    $0x19,%eax
40fd76:	76 11                	jbe    0x40fd89
40fd78:	8d 41 bf             	lea    -0x41(%ecx),%eax
40fd7b:	83 f8 19             	cmp    $0x19,%eax
40fd7e:	76 09                	jbe    0x40fd89
40fd80:	83 f9 5f             	cmp    $0x5f,%ecx
40fd83:	0f 85 6f ff ff ff    	jne    0x40fcf8
40fd89:	8b cf                	mov    %edi,%ecx
40fd8b:	e8 be 34 00 00       	call   0x41324e
40fd90:	88 06                	mov    %al,(%esi)
40fd92:	3c 29                	cmp    $0x29,%al
40fd94:	75 c9                	jne    0x40fd5f
40fd96:	80 3e 29             	cmpb   $0x29,(%esi)
40fd99:	0f 85 59 ff ff ff    	jne    0x40fcf8
40fd9f:	6a 04                	push   $0x4
40fda1:	58                   	pop    %eax
40fda2:	5f                   	pop    %edi
40fda3:	5e                   	pop    %esi
40fda4:	5b                   	pop    %ebx
40fda5:	8b e5                	mov    %ebp,%esp
40fda7:	5d                   	pop    %ebp
40fda8:	c3                   	ret
40fda9:	8b ff                	mov    %edi,%edi
40fdab:	55                   	push   %ebp
40fdac:	8b ec                	mov    %esp,%ebp
40fdae:	53                   	push   %ebx
40fdaf:	56                   	push   %esi
40fdb0:	33 db                	xor    %ebx,%ebx
40fdb2:	57                   	push   %edi
40fdb3:	8b 7d 08             	mov    0x8(%ebp),%edi
40fdb6:	8b f3                	mov    %ebx,%esi
40fdb8:	8a 07                	mov    (%edi),%al
40fdba:	3a 86 f8 ba 42 00    	cmp    0x42baf8(%esi),%al
40fdc0:	74 08                	je     0x40fdca
40fdc2:	3a 86 fc ba 42 00    	cmp    0x42bafc(%esi),%al
40fdc8:	75 12                	jne    0x40fddc
40fdca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40fdcd:	e8 7c 34 00 00       	call   0x41324e
40fdd2:	46                   	inc    %esi
40fdd3:	88 07                	mov    %al,(%edi)
40fdd5:	83 fe 04             	cmp    $0x4,%esi
40fdd8:	75 de                	jne    0x40fdb8
40fdda:	b3 01                	mov    $0x1,%bl
40fddc:	5f                   	pop    %edi
40fddd:	5e                   	pop    %esi
40fdde:	8a c3                	mov    %bl,%al
40fde0:	5b                   	pop    %ebx
40fde1:	5d                   	pop    %ebp
40fde2:	c3                   	ret
40fde3:	8b ff                	mov    %edi,%edi
40fde5:	55                   	push   %ebp
40fde6:	8b ec                	mov    %esp,%ebp
40fde8:	53                   	push   %ebx
40fde9:	56                   	push   %esi
40fdea:	33 db                	xor    %ebx,%ebx
40fdec:	57                   	push   %edi
40fded:	8b 7d 08             	mov    0x8(%ebp),%edi
40fdf0:	8b f3                	mov    %ebx,%esi
40fdf2:	8a 07                	mov    (%edi),%al
40fdf4:	3a 86 e8 ba 42 00    	cmp    0x42bae8(%esi),%al
40fdfa:	74 08                	je     0x40fe04
40fdfc:	3a 86 f0 ba 42 00    	cmp    0x42baf0(%esi),%al
40fe02:	75 12                	jne    0x40fe16
40fe04:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40fe07:	e8 42 34 00 00       	call   0x41324e
40fe0c:	46                   	inc    %esi
40fe0d:	88 07                	mov    %al,(%edi)
40fe0f:	83 fe 05             	cmp    $0x5,%esi
40fe12:	75 de                	jne    0x40fdf2
40fe14:	b3 01                	mov    $0x1,%bl
40fe16:	5f                   	pop    %edi
40fe17:	5e                   	pop    %esi
40fe18:	8a c3                	mov    %bl,%al
40fe1a:	5b                   	pop    %ebx
40fe1b:	5d                   	pop    %ebp
40fe1c:	c3                   	ret
40fe1d:	8b ff                	mov    %edi,%edi
40fe1f:	55                   	push   %ebp
40fe20:	8b ec                	mov    %esp,%ebp
40fe22:	8b 45 08             	mov    0x8(%ebp),%eax
40fe25:	83 f8 09             	cmp    $0x9,%eax
40fe28:	0f 87 99 00 00 00    	ja     0x40fec7
40fe2e:	ff 24 85 05 ff 40 00 	jmp    *0x40ff05(,%eax,4)
40fe35:	ff 75 10             	push   0x10(%ebp)
40fe38:	ff 75 0c             	push   0xc(%ebp)
40fe3b:	e8 4c f7 ff ff       	call   0x40f58c
40fe40:	59                   	pop    %ecx
40fe41:	59                   	pop    %ecx
40fe42:	5d                   	pop    %ebp
40fe43:	c3                   	ret
40fe44:	ff 75 10             	push   0x10(%ebp)
40fe47:	ff 75 0c             	push   0xc(%ebp)
40fe4a:	e8 83 f7 ff ff       	call   0x40f5d2
40fe4f:	eb ef                	jmp    0x40fe40
40fe51:	8b 45 0c             	mov    0xc(%ebp),%eax
40fe54:	33 c9                	xor    %ecx,%ecx
40fe56:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fe5c:	0f 95 c1             	setne  %cl
40fe5f:	c1 e1 1f             	shl    $0x1f,%ecx
40fe62:	8b 45 10             	mov    0x10(%ebp),%eax
40fe65:	89 08                	mov    %ecx,(%eax)
40fe67:	33 c0                	xor    %eax,%eax
40fe69:	5d                   	pop    %ebp
40fe6a:	c3                   	ret
40fe6b:	8b 45 0c             	mov    0xc(%ebp),%eax
40fe6e:	33 c9                	xor    %ecx,%ecx
40fe70:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fe76:	0f 95 c1             	setne  %cl
40fe79:	c1 e1 1f             	shl    $0x1f,%ecx
40fe7c:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
40fe82:	eb de                	jmp    0x40fe62
40fe84:	8b 45 0c             	mov    0xc(%ebp),%eax
40fe87:	33 c9                	xor    %ecx,%ecx
40fe89:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fe8f:	0f 95 c1             	setne  %cl
40fe92:	c1 e1 1f             	shl    $0x1f,%ecx
40fe95:	81 c9 ff ff ff 7f    	or     $0x7fffffff,%ecx
40fe9b:	eb c5                	jmp    0x40fe62
40fe9d:	8b 45 0c             	mov    0xc(%ebp),%eax
40fea0:	33 c9                	xor    %ecx,%ecx
40fea2:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fea8:	0f 95 c1             	setne  %cl
40feab:	c1 e1 1f             	shl    $0x1f,%ecx
40feae:	81 c9 01 00 80 7f    	or     $0x7f800001,%ecx
40feb4:	eb ac                	jmp    0x40fe62
40feb6:	8b 45 10             	mov    0x10(%ebp),%eax
40feb9:	c7 00 00 00 c0 ff    	movl   $0xffc00000,(%eax)
40febf:	eb a6                	jmp    0x40fe67
40fec1:	8b 45 10             	mov    0x10(%ebp),%eax
40fec4:	83 20 00             	andl   $0x0,(%eax)
40fec7:	33 c0                	xor    %eax,%eax
40fec9:	40                   	inc    %eax
40feca:	5d                   	pop    %ebp
40fecb:	c3                   	ret
40fecc:	8b 45 0c             	mov    0xc(%ebp),%eax
40fecf:	33 c9                	xor    %ecx,%ecx
40fed1:	6a 02                	push   $0x2
40fed3:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fed9:	0f 95 c1             	setne  %cl
40fedc:	c1 e1 1f             	shl    $0x1f,%ecx
40fedf:	8b 45 10             	mov    0x10(%ebp),%eax
40fee2:	89 08                	mov    %ecx,(%eax)
40fee4:	58                   	pop    %eax
40fee5:	5d                   	pop    %ebp
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