40ac09:	e8 ea fa ff ff       	call   0x40a6f8
40ac0e:	59                   	pop    %ecx
40ac0f:	e9 bd 05 00 00       	jmp    0x40b1d1
40ac14:	8b 45 08             	mov    0x8(%ebp),%eax
40ac17:	50                   	push   %eax
40ac18:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax
40ac1c:	ba 04 00 00 00       	mov    $0x4,%edx
40ac21:	e8 d2 fa ff ff       	call   0x40a6f8
40ac26:	59                   	pop    %ecx
40ac27:	e9 a5 05 00 00       	jmp    0x40b1d1
40ac2c:	55                   	push   %ebp
40ac2d:	e8 12 fb ff ff       	call   0x40a744
40ac32:	59                   	pop    %ecx
40ac33:	55                   	push   %ebp
40ac34:	e8 37 fb ff ff       	call   0x40a770
40ac39:	59                   	pop    %ecx
40ac3a:	8b 45 08             	mov    0x8(%ebp),%eax
40ac3d:	50                   	push   %eax
40ac3e:	55                   	push   %ebp
40ac3f:	8d 55 d8             	lea    -0x28(%ebp),%edx
40ac42:	8b 45 f4             	mov    -0xc(%ebp),%eax
40ac45:	e8 9e fb ff ff       	call   0x40a7e8
40ac4a:	59                   	pop    %ecx
40ac4b:	8b 45 d8             	mov    -0x28(%ebp),%eax
40ac4e:	e8 89 fa ff ff       	call   0x40a6dc
40ac53:	59                   	pop    %ecx
40ac54:	e9 78 05 00 00       	jmp    0x40b1d1
40ac59:	55                   	push   %ebp
40ac5a:	e8 e5 fa ff ff       	call   0x40a744
40ac5f:	59                   	pop    %ecx
40ac60:	55                   	push   %ebp
40ac61:	e8 0a fb ff ff       	call   0x40a770
40ac66:	59                   	pop    %ecx
40ac67:	8b 45 08             	mov    0x8(%ebp),%eax
40ac6a:	50                   	push   %eax
40ac6b:	55                   	push   %ebp
40ac6c:	8d 55 d4             	lea    -0x2c(%ebp),%edx
40ac6f:	8b 45 f4             	mov    -0xc(%ebp),%eax
40ac72:	e8 ed fc ff ff       	call   0x40a964
40ac77:	59                   	pop    %ecx
40ac78:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40ac7b:	e8 5c fa ff ff       	call   0x40a6dc
40ac80:	59                   	pop    %ecx
40ac81:	e9 4b 05 00 00       	jmp    0x40b1d1
40ac86:	55                   	push   %ebp
40ac87:	e8 b8 fa ff ff       	call   0x40a744
40ac8c:	59                   	pop    %ecx
40ac8d:	55                   	push   %ebp
40ac8e:	e8 dd fa ff ff       	call   0x40a770
40ac93:	59                   	pop    %ecx
40ac94:	8b 45 f4             	mov    -0xc(%ebp),%eax
40ac97:	48                   	dec    %eax
40ac98:	83 e8 02             	sub    $0x2,%eax
40ac9b:	72 04                	jb     0x40aca1
40ac9d:	74 18                	je     0x40acb7
40ac9f:	eb 30                	jmp    0x40acd1
40aca1:	8b 45 08             	mov    0x8(%ebp),%eax
40aca4:	50                   	push   %eax
40aca5:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
40aca9:	8b 55 f4             	mov    -0xc(%ebp),%edx
40acac:	e8 47 fa ff ff       	call   0x40a6f8
40acb1:	59                   	pop    %ecx
40acb2:	e9 1a 05 00 00       	jmp    0x40b1d1
40acb7:	8b 45 08             	mov    0x8(%ebp),%eax
40acba:	50                   	push   %eax
40acbb:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
40acbf:	8b 04 85 2c a8 4a 00 	mov    0x4aa82c(,%eax,4),%eax
40acc6:	e8 11 fa ff ff       	call   0x40a6dc
40accb:	59                   	pop    %ecx
40accc:	e9 00 05 00 00       	jmp    0x40b1d1
40acd1:	8b 45 08             	mov    0x8(%ebp),%eax
40acd4:	50                   	push   %eax
40acd5:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
40acd9:	8b 04 85 5c a8 4a 00 	mov    0x4aa85c(,%eax,4),%eax
40ace0:	e8 f7 f9 ff ff       	call   0x40a6dc
40ace5:	59                   	pop    %ecx
40ace6:	e9 e6 04 00 00       	jmp    0x40b1d1
40aceb:	55                   	push   %ebp
40acec:	e8 53 fa ff ff       	call   0x40a744
40acf1:	59                   	pop    %ecx
40acf2:	8b 45 f4             	mov    -0xc(%ebp),%eax
40acf5:	48                   	dec    %eax
40acf6:	83 e8 02             	sub    $0x2,%eax
40acf9:	72 0a                	jb     0x40ad05
40acfb:	74 25                	je     0x40ad22
40acfd:	48                   	dec    %eax
40acfe:	74 49                	je     0x40ad49
40ad00:	48                   	dec    %eax
40ad01:	74 6d                	je     0x40ad70
40ad03:	eb 7f                	jmp    0x40ad84
40ad05:	55                   	push   %ebp
40ad06:	e8 65 fa ff ff       	call   0x40a770
40ad0b:	59                   	pop    %ecx
40ad0c:	8b 45 08             	mov    0x8(%ebp),%eax
40ad0f:	50                   	push   %eax
40ad10:	0f b7 45 ee          	movzwl -0x12(%ebp),%eax
40ad14:	8b 55 f4             	mov    -0xc(%ebp),%edx
40ad17:	e8 dc f9 ff ff       	call   0x40a6f8
40ad1c:	59                   	pop    %ecx
40ad1d:	e9 af 04 00 00       	jmp    0x40b1d1
40ad22:	8b 45 08             	mov    0x8(%ebp),%eax
40ad25:	50                   	push   %eax
40ad26:	8b 45 08             	mov    0x8(%ebp),%eax
40ad29:	ff 70 0c             	push   0xc(%eax)
40ad2c:	ff 70 08             	push   0x8(%eax)
40ad2f:	e8 28 f9 ff ff       	call   0x40a65c
40ad34:	0f b7 c0             	movzwl %ax,%eax
40ad37:	8b 04 85 8c a8 4a 00 	mov    0x4aa88c(,%eax,4),%eax
40ad3e:	e8 99 f9 ff ff       	call   0x40a6dc
40ad43:	59                   	pop    %ecx
40ad44:	e9 88 04 00 00       	jmp    0x40b1d1
40ad49:	8b 45 08             	mov    0x8(%ebp),%eax
40ad4c:	50                   	push   %eax
40ad4d:	8b 45 08             	mov    0x8(%ebp),%eax
40ad50:	ff 70 0c             	push   0xc(%eax)
40ad53:	ff 70 08             	push   0x8(%eax)
40ad56:	e8 01 f9 ff ff       	call   0x40a65c
40ad5b:	0f b7 c0             	movzwl %ax,%eax
40ad5e:	8b 04 85 a8 a8 4a 00 	mov    0x4aa8a8(,%eax,4),%eax
40ad65:	e8 72 f9 ff ff       	call   0x40a6dc
40ad6a:	59                   	pop    %ecx
40ad6b:	e9 61 04 00 00       	jmp    0x40b1d1
40ad70:	8b 45 08             	mov    0x8(%ebp),%eax
40ad73:	50                   	push   %eax
40ad74:	a1 14 a8 4a 00       	mov    0x4aa814,%eax
40ad79:	e8 fe fc ff ff       	call   0x40aa7c
40ad7e:	59                   	pop    %ecx
40ad7f:	e9 4d 04 00 00       	jmp    0x40b1d1
40ad84:	8b 45 08             	mov    0x8(%ebp),%eax
40ad87:	50                   	push   %eax
40ad88:	a1 18 a8 4a 00       	mov    0x4aa818,%eax
40ad8d:	e8 ea fc ff ff       	call   0x40aa7c
40ad92:	59                   	pop    %ecx
40ad93:	e9 39 04 00 00       	jmp    0x40b1d1
40ad98:	55                   	push   %ebp
40ad99:	e8 a6 f9 ff ff       	call   0x40a744
40ad9e:	59                   	pop    %ecx
40ad9f:	55                   	push   %ebp
40ada0:	e8 03 fa ff ff       	call   0x40a7a8
40ada5:	59                   	pop    %ecx
40ada6:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
40adaa:	8b 37                	mov    (%edi),%esi
40adac:	e9 96 00 00 00       	jmp    0x40ae47
40adb1:	0f b6 06             	movzbl (%esi),%eax
40adb4:	0f b6 c0             	movzbl %al,%eax
40adb7:	0f a3 05 08 b8 49 00 	bt     %eax,0x49b808
40adbe:	73 0b                	jae    0x40adcb
40adc0:	8b c6                	mov    %esi,%eax
40adc2:	e8 ad 22 00 00       	call   0x40d074
40adc7:	8b f0                	mov    %eax,%esi
40adc9:	eb 7c                	jmp    0x40ae47
40adcb:	0f b6 06             	movzbl (%esi),%eax
40adce:	83 f8 48             	cmp    $0x48,%eax
40add1:	7f 13                	jg     0x40ade6
40add3:	74 7b                	je     0x40ae50
40add5:	83 e8 22             	sub    $0x22,%eax
40add8:	74 63                	je     0x40ae3d
40adda:	83 e8 05             	sub    $0x5,%eax
40addd:	74 5e                	je     0x40ae3d
40addf:	83 e8 1a             	sub    $0x1a,%eax
40ade2:	74 0e                	je     0x40adf2
40ade4:	eb 60                	jmp    0x40ae46
40ade6:	83 e8 61             	sub    $0x61,%eax
40ade9:	74 07                	je     0x40adf2
40adeb:	83 e8 07             	sub    $0x7,%eax
40adee:	74 60                	je     0x40ae50
40adf0:	eb 54                	jmp    0x40ae46
40adf2:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
40adf6:	75 4e                	jne    0x40ae46
40adf8:	ba 10 b2 40 00       	mov    $0x40b210,%edx
40adfd:	b9 05 00 00 00       	mov    $0x5,%ecx
40ae02:	8b c6                	mov    %esi,%eax
40ae04:	e8 bf e6 ff ff       	call   0x4094c8
40ae09:	85 c0                	test   %eax,%eax
40ae0b:	74 2a                	je     0x40ae37
40ae0d:	ba 18 b2 40 00       	mov    $0x40b218,%edx
40ae12:	b9 03 00 00 00       	mov    $0x3,%ecx
40ae17:	8b c6                	mov    %esi,%eax
40ae19:	e8 aa e6 ff ff       	call   0x4094c8
40ae1e:	85 c0                	test   %eax,%eax
40ae20:	74 15                	je     0x40ae37
40ae22:	ba 1c b2 40 00       	mov    $0x40b21c,%edx
40ae27:	b9 04 00 00 00       	mov    $0x4,%ecx
40ae2c:	8b c6                	mov    %esi,%eax
40ae2e:	e8 95 e6 ff ff       	call   0x4094c8
40ae33:	85 c0                	test   %eax,%eax
40ae35:	75 19                	jne    0x40ae50
40ae37:	c6 45 e1 01          	movb   $0x1,-0x1f(%ebp)
40ae3b:	eb 13                	jmp    0x40ae50
40ae3d:	0f b6 45 e0          	movzbl -0x20(%ebp),%eax
40ae41:	34 01                	xor    $0x1,%al
40ae43:	88 45 e0             	mov    %al,-0x20(%ebp)
40ae46:	46                   	inc    %esi
40ae47:	80 3e 00             	cmpb   $0x0,(%esi)
40ae4a:	0f 85 61 ff ff ff    	jne    0x40adb1
40ae50:	0f b7 45 ea          	movzwl -0x16(%ebp),%eax
40ae54:	66 89 45 de          	mov    %ax,-0x22(%ebp)
40ae58:	80 7d e1 00          	cmpb   $0x0,-0x1f(%ebp)
40ae5c:	74 1b                	je     0x40ae79
40ae5e:	66 83 7d de 00       	cmpw   $0x0,-0x22(%ebp)
40ae63:	75 08                	jne    0x40ae6d
40ae65:	66 c7 45 de 0c 00    	movw   $0xc,-0x22(%ebp)
40ae6b:	eb 0c                	jmp    0x40ae79
40ae6d:	66 83 7d de 0c       	cmpw   $0xc,-0x22(%ebp)
40ae72:	76 05                	jbe    0x40ae79
40ae74:	66 83 6d de 0c       	subw   $0xc,-0x22(%ebp)
40ae79:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40ae7d:	7e 07                	jle    0x40ae86
40ae7f:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40ae86:	8b 45 08             	mov    0x8(%ebp),%eax
40ae89:	50                   	push   %eax
40ae8a:	0f b7 45 de          	movzwl -0x22(%ebp),%eax
40ae8e:	8b 55 f4             	mov    -0xc(%ebp),%edx
40ae91:	e8 62 f8 ff ff       	call   0x40a6f8
40ae96:	59                   	pop    %ecx
40ae97:	e9 35 03 00 00       	jmp    0x40b1d1
40ae9c:	55                   	push   %ebp
40ae9d:	e8 a2 f8 ff ff       	call   0x40a744
40aea2:	59                   	pop    %ecx
40aea3:	55                   	push   %ebp
40aea4:	e8 ff f8 ff ff       	call   0x40a7a8
40aea9:	59                   	pop    %ecx
40aeaa:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40aeae:	7e 07                	jle    0x40aeb7
40aeb0:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40aeb7:	8b 45 08             	mov    0x8(%ebp),%eax
40aeba:	50                   	push   %eax
40aebb:	0f b7 45 e8          	movzwl -0x18(%ebp),%eax
40aebf:	8b 55 f4             	mov    -0xc(%ebp),%edx
40aec2:	e8 31 f8 ff ff       	call   0x40a6f8
40aec7:	59                   	pop    %ecx
40aec8:	e9 04 03 00 00       	jmp    0x40b1d1
40aecd:	55                   	push   %ebp
40aece:	e8 71 f8 ff ff       	call   0x40a744
40aed3:	59                   	pop    %ecx
40aed4:	55                   	push   %ebp
40aed5:	e8 ce f8 ff ff       	call   0x40a7a8
40aeda:	59                   	pop    %ecx
40aedb:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40aedf:	7e 07                	jle    0x40aee8
40aee1:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40aee8:	8b 45 08             	mov    0x8(%ebp),%eax
40aeeb:	50                   	push   %eax
40aeec:	0f b7 45 e6          	movzwl -0x1a(%ebp),%eax
40aef0:	8b 55 f4             	mov    -0xc(%ebp),%edx
40aef3:	e8 00 f8 ff ff       	call   0x40a6f8
40aef8:	59                   	pop    %ecx
40aef9:	e9 d3 02 00 00       	jmp    0x40b1d1
40aefe:	55                   	push   %ebp
40aeff:	e8 40 f8 ff ff       	call   0x40a744
40af04:	59                   	pop    %ecx
40af05:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
40af09:	75 14                	jne    0x40af1f
40af0b:	8b 45 08             	mov    0x8(%ebp),%eax
40af0e:	50                   	push   %eax
40af0f:	a1 28 a8 4a 00       	mov    0x4aa828,%eax
40af14:	e8 63 fb ff ff       	call   0x40aa7c
40af19:	59                   	pop    %ecx
40af1a:	e9 b2 02 00 00       	jmp    0x40b1d1
40af1f:	8b 45 08             	mov    0x8(%ebp),%eax
40af22:	50                   	push   %eax
40af23:	a1 2c a8 4a 00       	mov    0x4aa82c,%eax
40af28:	e8 4f fb ff ff       	call   0x40aa7c
40af2d:	59                   	pop    %ecx
40af2e:	e9 9e 02 00 00       	jmp    0x40b1d1
40af33:	55                   	push   %ebp
40af34:	e8 0b f8 ff ff       	call   0x40a744
40af39:	59                   	pop    %ecx
40af3a:	55                   	push   %ebp
40af3b:	e8 68 f8 ff ff       	call   0x40a7a8
40af40:	59                   	pop    %ecx
40af41:	83 7d f4 03          	cmpl   $0x3,-0xc(%ebp)
40af45:	7e 07                	jle    0x40af4e
40af47:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)
40af4e:	8b 45 08             	mov    0x8(%ebp),%eax
40af51:	50                   	push   %eax
40af52:	0f b7 45 e4          	movzwl -0x1c(%ebp),%eax
40af56:	8b 55 f4             	mov    -0xc(%ebp),%edx
40af59:	e8 9a f7 ff ff       	call   0x40a6f8
40af5e:	59                   	pop    %ecx
40af5f:	e9 6d 02 00 00       	jmp    0x40b1d1
40af64:	55                   	push   %ebp
40af65:	e8 3e f8 ff ff       	call   0x40a7a8
40af6a:	59                   	pop    %ecx
40af6b:	8b 37                	mov    (%edi),%esi
40af6d:	4e                   	dec    %esi
40af6e:	ba 10 b2 40 00       	mov    $0x40b210,%edx
40af73:	b9 05 00 00 00       	mov    $0x5,%ecx
40af78:	8b c6                	mov    %esi,%eax
40af7a:	e8 49 e5 ff ff       	call   0x4094c8
40af7f:	85 c0                	test   %eax,%eax
40af81:	75 27                	jne    0x40afaa
40af83:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40af88:	72 03                	jb     0x40af8d
40af8a:	83 c6 03             	add    $0x3,%esi
40af8d:	8b 45 08             	mov    0x8(%ebp),%eax
40af90:	50                   	push   %eax
40af91:	ba 02 00 00 00       	mov    $0x2,%edx
40af96:	8b c6                	mov    %esi,%eax
40af98:	e8 fb f6 ff ff       	call   0x40a698
40af9d:	59                   	pop    %ecx
40af9e:	83 07 04             	addl   $0x4,(%edi)
40afa1:	c6 45 e1 01          	movb   $0x1,-0x1f(%ebp)
40afa5:	e9 27 02 00 00       	jmp    0x40b1d1
40afaa:	ba 18 b2 40 00       	mov    $0x40b218,%edx
40afaf:	b9 03 00 00 00       	mov    $0x3,%ecx
40afb4:	8b c6                	mov    %esi,%eax
40afb6:	e8 0d e5 ff ff       	call   0x4094c8
40afbb:	85 c0                	test   %eax,%eax
40afbd:	75 27                	jne    0x40afe6
40afbf:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40afc4:	72 03                	jb     0x40afc9
40afc6:	83 c6 02             	add    $0x2,%esi
40afc9:	8b 45 08             	mov    0x8(%ebp),%eax
40afcc:	50                   	push   %eax
40afcd:	ba 01 00 00 00       	mov    $0x1,%edx
40afd2:	8b c6                	mov    %esi,%eax
40afd4:	e8 bf f6 ff ff       	call   0x40a698
40afd9:	59                   	pop    %ecx
40afda:	83 07 02             	addl   $0x2,(%edi)
40afdd:	c6 45 e1 01          	movb   $0x1,-0x1f(%ebp)
40afe1:	e9 eb 01 00 00       	jmp    0x40b1d1
40afe6:	ba 1c b2 40 00       	mov    $0x40b21c,%edx
40afeb:	b9 04 00 00 00       	mov    $0x4,%ecx
40aff0:	8b c6                	mov    %esi,%eax
40aff2:	e8 d1 e4 ff ff       	call   0x4094c8
40aff7:	85 c0                	test   %eax,%eax
40aff9:	75 33                	jne    0x40b02e
40affb:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40b000:	73 11                	jae    0x40b013
40b002:	8b 45 08             	mov    0x8(%ebp),%eax
40b005:	50                   	push   %eax
40b006:	a1 20 a8 4a 00       	mov    0x4aa820,%eax
40b00b:	e8 cc f6 ff ff       	call   0x40a6dc
40b010:	59                   	pop    %ecx
40b011:	eb 0f                	jmp    0x40b022
40b013:	8b 45 08             	mov    0x8(%ebp),%eax
40b016:	50                   	push   %eax
40b017:	a1 24 a8 4a 00       	mov    0x4aa824,%eax
40b01c:	e8 bb f6 ff ff       	call   0x40a6dc
40b021:	59                   	pop    %ecx
40b022:	83 07 03             	addl   $0x3,(%edi)
40b025:	c6 45 e1 01          	movb   $0x1,-0x1f(%ebp)
40b029:	e9 a3 01 00 00       	jmp    0x40b1d1
40b02e:	ba 24 b2 40 00       	mov    $0x40b224,%edx
40b033:	b9 04 00 00 00       	mov    $0x4,%ecx
40b038:	8b c6                	mov    %esi,%eax
40b03a:	e8 89 e4 ff ff       	call   0x4094c8
40b03f:	85 c0                	test   %eax,%eax
40b041:	75 31                	jne    0x40b074