40ab69:	59                   	pop    %ecx
40ab6a:	e8 b2 f8 ff ff       	call   0x40a421
40ab6f:	c2 04 00             	ret    $0x4
40ab72:	8b 75 08             	mov    0x8(%ebp),%esi
40ab75:	6a 0d                	push   $0xd
40ab77:	e8 8e ec ff ff       	call   0x40980a
40ab7c:	59                   	pop    %ecx
40ab7d:	c3                   	ret
40ab7e:	8b 75 08             	mov    0x8(%ebp),%esi
40ab81:	6a 0c                	push   $0xc
40ab83:	e8 82 ec ff ff       	call   0x40980a
40ab88:	59                   	pop    %ecx
40ab89:	c3                   	ret
40ab8a:	8b ff                	mov    %edi,%edi
40ab8c:	56                   	push   %esi
40ab8d:	57                   	push   %edi
40ab8e:	be 7c ac 41 00       	mov    $0x41ac7c,%esi
40ab93:	56                   	push   %esi
40ab94:	ff 15 14 a0 41 00    	call   *0x41a014
40ab9a:	85 c0                	test   %eax,%eax
40ab9c:	75 07                	jne    0x40aba5
40ab9e:	56                   	push   %esi
40ab9f:	e8 c8 1a 00 00       	call   0x40c66c
40aba4:	59                   	pop    %ecx
40aba5:	8b f8                	mov    %eax,%edi
40aba7:	85 ff                	test   %edi,%edi
40aba9:	0f 84 5e 01 00 00    	je     0x40ad0d
40abaf:	8b 35 e8 a0 41 00    	mov    0x41a0e8,%esi
40abb5:	68 c8 ac 41 00       	push   $0x41acc8
40abba:	57                   	push   %edi
40abbb:	ff d6                	call   *%esi
40abbd:	68 bc ac 41 00       	push   $0x41acbc
40abc2:	57                   	push   %edi
40abc3:	a3 64 09 43 00       	mov    %eax,0x430964
40abc8:	ff d6                	call   *%esi
40abca:	68 b0 ac 41 00       	push   $0x41acb0
40abcf:	57                   	push   %edi
40abd0:	a3 68 09 43 00       	mov    %eax,0x430968
40abd5:	ff d6                	call   *%esi
40abd7:	68 a8 ac 41 00       	push   $0x41aca8
40abdc:	57                   	push   %edi
40abdd:	a3 6c 09 43 00       	mov    %eax,0x43096c
40abe2:	ff d6                	call   *%esi
40abe4:	83 3d 64 09 43 00 00 	cmpl   $0x0,0x430964
40abeb:	8b 35 f4 a0 41 00    	mov    0x41a0f4,%esi
40abf1:	a3 70 09 43 00       	mov    %eax,0x430970
40abf6:	74 16                	je     0x40ac0e
40abf8:	83 3d 68 09 43 00 00 	cmpl   $0x0,0x430968
40abff:	74 0d                	je     0x40ac0e
40ac01:	83 3d 6c 09 43 00 00 	cmpl   $0x0,0x43096c
40ac08:	74 04                	je     0x40ac0e
40ac0a:	85 c0                	test   %eax,%eax
40ac0c:	75 24                	jne    0x40ac32
40ac0e:	a1 ec a0 41 00       	mov    0x41a0ec,%eax
40ac13:	a3 68 09 43 00       	mov    %eax,0x430968
40ac18:	a1 f8 a0 41 00       	mov    0x41a0f8,%eax
40ac1d:	c7 05 64 09 43 00 67 	movl   $0x40a867,0x430964
40ac24:	a8 40 00
40ac27:	89 35 6c 09 43 00    	mov    %esi,0x43096c
40ac2d:	a3 70 09 43 00       	mov    %eax,0x430970
40ac32:	ff 15 f0 a0 41 00    	call   *0x41a0f0
40ac38:	a3 b4 b3 42 00       	mov    %eax,0x42b3b4
40ac3d:	83 f8 ff             	cmp    $0xffffffff,%eax
40ac40:	0f 84 cc 00 00 00    	je     0x40ad12
40ac46:	ff 35 68 09 43 00    	push   0x430968
40ac4c:	50                   	push   %eax
40ac4d:	ff d6                	call   *%esi
40ac4f:	85 c0                	test   %eax,%eax
40ac51:	0f 84 bb 00 00 00    	je     0x40ad12
40ac57:	e8 fa 1c 00 00       	call   0x40c956
40ac5c:	ff 35 64 09 43 00    	push   0x430964
40ac62:	e8 13 fb ff ff       	call   0x40a77a
40ac67:	ff 35 68 09 43 00    	push   0x430968
40ac6d:	a3 64 09 43 00       	mov    %eax,0x430964
40ac72:	e8 03 fb ff ff       	call   0x40a77a
40ac77:	ff 35 6c 09 43 00    	push   0x43096c
40ac7d:	a3 68 09 43 00       	mov    %eax,0x430968
40ac82:	e8 f3 fa ff ff       	call   0x40a77a
40ac87:	ff 35 70 09 43 00    	push   0x430970
40ac8d:	a3 6c 09 43 00       	mov    %eax,0x43096c
40ac92:	e8 e3 fa ff ff       	call   0x40a77a
40ac97:	83 c4 10             	add    $0x10,%esp
40ac9a:	a3 70 09 43 00       	mov    %eax,0x430970
40ac9f:	e8 c4 ea ff ff       	call   0x409768
40aca4:	85 c0                	test   %eax,%eax
40aca6:	74 65                	je     0x40ad0d
40aca8:	68 5b aa 40 00       	push   $0x40aa5b
40acad:	ff 35 64 09 43 00    	push   0x430964
40acb3:	e8 3d fb ff ff       	call   0x40a7f5
40acb8:	59                   	pop    %ecx
40acb9:	ff d0                	call   *%eax
40acbb:	a3 b0 b3 42 00       	mov    %eax,0x42b3b0
40acc0:	83 f8 ff             	cmp    $0xffffffff,%eax
40acc3:	74 48                	je     0x40ad0d
40acc5:	68 14 02 00 00       	push   $0x214
40acca:	6a 01                	push   $0x1
40accc:	e8 d4 ce ff ff       	call   0x407ba5
40acd1:	8b f0                	mov    %eax,%esi
40acd3:	59                   	pop    %ecx
40acd4:	59                   	pop    %ecx
40acd5:	85 f6                	test   %esi,%esi
40acd7:	74 34                	je     0x40ad0d
40acd9:	56                   	push   %esi
40acda:	ff 35 b0 b3 42 00    	push   0x42b3b0
40ace0:	ff 35 6c 09 43 00    	push   0x43096c
40ace6:	e8 0a fb ff ff       	call   0x40a7f5
40aceb:	59                   	pop    %ecx
40acec:	ff d0                	call   *%eax
40acee:	85 c0                	test   %eax,%eax
40acf0:	74 1b                	je     0x40ad0d
40acf2:	6a 00                	push   $0x0
40acf4:	56                   	push   %esi
40acf5:	e8 e7 fb ff ff       	call   0x40a8e1
40acfa:	59                   	pop    %ecx
40acfb:	59                   	pop    %ecx
40acfc:	ff 15 00 a1 41 00    	call   *0x41a100
40ad02:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
40ad06:	89 06                	mov    %eax,(%esi)
40ad08:	33 c0                	xor    %eax,%eax
40ad0a:	40                   	inc    %eax
40ad0b:	eb 07                	jmp    0x40ad14
40ad0d:	e8 92 fb ff ff       	call   0x40a8a4
40ad12:	33 c0                	xor    %eax,%eax
40ad14:	5f                   	pop    %edi
40ad15:	5e                   	pop    %esi
40ad16:	c3                   	ret
40ad17:	b8 b8 b3 42 00       	mov    $0x42b3b8,%eax
40ad1c:	c3                   	ret
40ad1d:	a1 80 23 c7 00       	mov    0xc72380,%eax
40ad22:	56                   	push   %esi
40ad23:	6a 14                	push   $0x14
40ad25:	5e                   	pop    %esi
40ad26:	85 c0                	test   %eax,%eax
40ad28:	75 07                	jne    0x40ad31
40ad2a:	b8 00 02 00 00       	mov    $0x200,%eax
40ad2f:	eb 06                	jmp    0x40ad37
40ad31:	3b c6                	cmp    %esi,%eax
40ad33:	7d 07                	jge    0x40ad3c
40ad35:	8b c6                	mov    %esi,%eax
40ad37:	a3 80 23 c7 00       	mov    %eax,0xc72380
40ad3c:	6a 04                	push   $0x4
40ad3e:	50                   	push   %eax
40ad3f:	e8 61 ce ff ff       	call   0x407ba5
40ad44:	59                   	pop    %ecx
40ad45:	59                   	pop    %ecx
40ad46:	a3 68 13 c7 00       	mov    %eax,0xc71368
40ad4b:	85 c0                	test   %eax,%eax
40ad4d:	75 1e                	jne    0x40ad6d
40ad4f:	6a 04                	push   $0x4
40ad51:	56                   	push   %esi
40ad52:	89 35 80 23 c7 00    	mov    %esi,0xc72380
40ad58:	e8 48 ce ff ff       	call   0x407ba5
40ad5d:	59                   	pop    %ecx
40ad5e:	59                   	pop    %ecx
40ad5f:	a3 68 13 c7 00       	mov    %eax,0xc71368
40ad64:	85 c0                	test   %eax,%eax
40ad66:	75 05                	jne    0x40ad6d
40ad68:	6a 1a                	push   $0x1a
40ad6a:	58                   	pop    %eax
40ad6b:	5e                   	pop    %esi
40ad6c:	c3                   	ret
40ad6d:	33 d2                	xor    %edx,%edx
40ad6f:	b9 b8 b3 42 00       	mov    $0x42b3b8,%ecx
40ad74:	eb 05                	jmp    0x40ad7b
40ad76:	a1 68 13 c7 00       	mov    0xc71368,%eax
40ad7b:	89 0c 02             	mov    %ecx,(%edx,%eax,1)
40ad7e:	83 c1 20             	add    $0x20,%ecx
40ad81:	83 c2 04             	add    $0x4,%edx
40ad84:	81 f9 38 b6 42 00    	cmp    $0x42b638,%ecx
40ad8a:	7c ea                	jl     0x40ad76
40ad8c:	6a fe                	push   $0xfffffffe
40ad8e:	5e                   	pop    %esi
40ad8f:	33 d2                	xor    %edx,%edx
40ad91:	b9 c8 b3 42 00       	mov    $0x42b3c8,%ecx
40ad96:	57                   	push   %edi
40ad97:	8b c2                	mov    %edx,%eax
40ad99:	c1 f8 05             	sar    $0x5,%eax
40ad9c:	8b 04 85 60 12 c7 00 	mov    0xc71260(,%eax,4),%eax
40ada3:	8b fa                	mov    %edx,%edi
40ada5:	83 e7 1f             	and    $0x1f,%edi
40ada8:	c1 e7 06             	shl    $0x6,%edi
40adab:	8b 04 07             	mov    (%edi,%eax,1),%eax
40adae:	83 f8 ff             	cmp    $0xffffffff,%eax
40adb1:	74 08                	je     0x40adbb
40adb3:	3b c6                	cmp    %esi,%eax
40adb5:	74 04                	je     0x40adbb
40adb7:	85 c0                	test   %eax,%eax
40adb9:	75 02                	jne    0x40adbd
40adbb:	89 31                	mov    %esi,(%ecx)
40adbd:	83 c1 20             	add    $0x20,%ecx
40adc0:	42                   	inc    %edx
40adc1:	81 f9 28 b4 42 00    	cmp    $0x42b428,%ecx
40adc7:	7c ce                	jl     0x40ad97
40adc9:	5f                   	pop    %edi
40adca:	33 c0                	xor    %eax,%eax
40adcc:	5e                   	pop    %esi
40adcd:	c3                   	ret
40adce:	e8 09 18 00 00       	call   0x40c5dc
40add3:	80 3d b4 09 43 00 00 	cmpb   $0x0,0x4309b4
40adda:	74 05                	je     0x40ade1
40addc:	e8 12 85 00 00       	call   0x4132f3
40ade1:	ff 35 68 13 c7 00    	push   0xc71368
40ade7:	e8 34 a2 ff ff       	call   0x405020
40adec:	59                   	pop    %ecx
40aded:	c3                   	ret
40adee:	8b ff                	mov    %edi,%edi
40adf0:	55                   	push   %ebp
40adf1:	8b ec                	mov    %esp,%ebp
40adf3:	56                   	push   %esi
40adf4:	8b 75 08             	mov    0x8(%ebp),%esi
40adf7:	b8 b8 b3 42 00       	mov    $0x42b3b8,%eax
40adfc:	3b f0                	cmp    %eax,%esi
40adfe:	72 22                	jb     0x40ae22
40ae00:	81 fe 18 b6 42 00    	cmp    $0x42b618,%esi
40ae06:	77 1a                	ja     0x40ae22
40ae08:	8b ce                	mov    %esi,%ecx
40ae0a:	2b c8                	sub    %eax,%ecx
40ae0c:	c1 f9 05             	sar    $0x5,%ecx
40ae0f:	83 c1 10             	add    $0x10,%ecx
40ae12:	51                   	push   %ecx
40ae13:	e8 cc ea ff ff       	call   0x4098e4
40ae18:	81 4e 0c 00 80 00 00 	orl    $0x8000,0xc(%esi)
40ae1f:	59                   	pop    %ecx
40ae20:	eb 0a                	jmp    0x40ae2c
40ae22:	83 c6 20             	add    $0x20,%esi
40ae25:	56                   	push   %esi
40ae26:	ff 15 90 a0 41 00    	call   *0x41a090
40ae2c:	5e                   	pop    %esi
40ae2d:	5d                   	pop    %ebp
40ae2e:	c3                   	ret
40ae2f:	8b ff                	mov    %edi,%edi
40ae31:	55                   	push   %ebp
40ae32:	8b ec                	mov    %esp,%ebp
40ae34:	8b 45 08             	mov    0x8(%ebp),%eax
40ae37:	83 f8 14             	cmp    $0x14,%eax
40ae3a:	7d 16                	jge    0x40ae52
40ae3c:	83 c0 10             	add    $0x10,%eax
40ae3f:	50                   	push   %eax
40ae40:	e8 9f ea ff ff       	call   0x4098e4
40ae45:	8b 45 0c             	mov    0xc(%ebp),%eax
40ae48:	81 48 0c 00 80 00 00 	orl    $0x8000,0xc(%eax)
40ae4f:	59                   	pop    %ecx
40ae50:	5d                   	pop    %ebp
40ae51:	c3                   	ret
40ae52:	8b 45 0c             	mov    0xc(%ebp),%eax
40ae55:	83 c0 20             	add    $0x20,%eax
40ae58:	50                   	push   %eax
40ae59:	ff 15 90 a0 41 00    	call   *0x41a090
40ae5f:	5d                   	pop    %ebp
40ae60:	c3                   	ret
40ae61:	8b ff                	mov    %edi,%edi
40ae63:	55                   	push   %ebp
40ae64:	8b ec                	mov    %esp,%ebp
40ae66:	8b 45 08             	mov    0x8(%ebp),%eax
40ae69:	b9 b8 b3 42 00       	mov    $0x42b3b8,%ecx
40ae6e:	3b c1                	cmp    %ecx,%eax
40ae70:	72 1f                	jb     0x40ae91
40ae72:	3d 18 b6 42 00       	cmp    $0x42b618,%eax
40ae77:	77 18                	ja     0x40ae91
40ae79:	81 60 0c ff 7f ff ff 	andl   $0xffff7fff,0xc(%eax)
40ae80:	2b c1                	sub    %ecx,%eax
40ae82:	c1 f8 05             	sar    $0x5,%eax
40ae85:	83 c0 10             	add    $0x10,%eax
40ae88:	50                   	push   %eax
40ae89:	e8 7c e9 ff ff       	call   0x40980a
40ae8e:	59                   	pop    %ecx
40ae8f:	5d                   	pop    %ebp
40ae90:	c3                   	ret
40ae91:	83 c0 20             	add    $0x20,%eax
40ae94:	50                   	push   %eax
40ae95:	ff 15 94 a0 41 00    	call   *0x41a094
40ae9b:	5d                   	pop    %ebp
40ae9c:	c3                   	ret
40ae9d:	8b ff                	mov    %edi,%edi
40ae9f:	55                   	push   %ebp
40aea0:	8b ec                	mov    %esp,%ebp
40aea2:	8b 4d 08             	mov    0x8(%ebp),%ecx
40aea5:	83 f9 14             	cmp    $0x14,%ecx
40aea8:	8b 45 0c             	mov    0xc(%ebp),%eax
40aeab:	7d 13                	jge    0x40aec0
40aead:	81 60 0c ff 7f ff ff 	andl   $0xffff7fff,0xc(%eax)
40aeb4:	83 c1 10             	add    $0x10,%ecx
40aeb7:	51                   	push   %ecx
40aeb8:	e8 4d e9 ff ff       	call   0x40980a
40aebd:	59                   	pop    %ecx
40aebe:	5d                   	pop    %ebp
40aebf:	c3                   	ret
40aec0:	83 c0 20             	add    $0x20,%eax
40aec3:	50                   	push   %eax
40aec4:	ff 15 94 a0 41 00    	call   *0x41a094
40aeca:	5d                   	pop    %ebp
40aecb:	c3                   	ret
40aecc:	8b ff                	mov    %edi,%edi
40aece:	55                   	push   %ebp
40aecf:	8b ec                	mov    %esp,%ebp
40aed1:	83 ec 10             	sub    $0x10,%esp
40aed4:	a1 80 11 43 00       	mov    0x431180,%eax
40aed9:	53                   	push   %ebx
40aeda:	33 db                	xor    %ebx,%ebx
40aedc:	56                   	push   %esi
40aedd:	8b 75 0c             	mov    0xc(%ebp),%esi
40aee0:	89 45 fc             	mov    %eax,-0x4(%ebp)
40aee3:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40aee6:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40aee9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40aeec:	eb 01                	jmp    0x40aeef
40aeee:	46                   	inc    %esi
40aeef:	80 3e 20             	cmpb   $0x20,(%esi)
40aef2:	74 fa                	je     0x40aeee
40aef4:	8a 06                	mov    (%esi),%al
40aef6:	3c 61                	cmp    $0x61,%al
40aef8:	74 39                	je     0x40af33
40aefa:	3c 72                	cmp    $0x72,%al
40aefc:	74 2c                	je     0x40af2a
40aefe:	3c 77                	cmp    $0x77,%al
40af00:	74 1f                	je     0x40af21
40af02:	e8 ce ab ff ff       	call   0x405ad5
40af07:	53                   	push   %ebx
40af08:	53                   	push   %ebx
40af09:	53                   	push   %ebx
40af0a:	53                   	push   %ebx
40af0b:	53                   	push   %ebx
40af0c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40af12:	e8 0e a3 ff ff       	call   0x405225
40af17:	83 c4 14             	add    $0x14,%esp
40af1a:	33 c0                	xor    %eax,%eax
40af1c:	e9 70 02 00 00       	jmp    0x40b191
40af21:	c7 45 0c 01 03 00 00 	movl   $0x301,0xc(%ebp)
40af28:	eb 10                	jmp    0x40af3a
40af2a:	83 4d fc 01          	orl    $0x1,-0x4(%ebp)
40af2e:	89 5d 0c             	mov    %ebx,0xc(%ebp)
40af31:	eb 0b                	jmp    0x40af3e
40af33:	c7 45 0c 09 01 00 00 	movl   $0x109,0xc(%ebp)
40af3a:	83 4d fc 02          	orl    $0x2,-0x4(%ebp)
40af3e:	33 c9                	xor    %ecx,%ecx
40af40:	41                   	inc    %ecx
40af41:	46                   	inc    %esi
40af42:	8a 06                	mov    (%esi),%al
40af44:	57                   	push   %edi
40af45:	3a c3                	cmp    %bl,%al
40af47:	0f 84 de 01 00 00    	je     0x40b12b
40af4d:	8d 51 7f             	lea    0x7f(%ecx),%edx
40af50:	bf 00 40 00 00       	mov    $0x4000,%edi
40af55:	3b cb                	cmp    %ebx,%ecx
40af57:	0f 84 2e 01 00 00    	je     0x40b08b
40af5d:	0f be c0             	movsbl %al,%eax
40af60:	83 f8 53             	cmp    $0x53,%eax
40af63:	0f 8f a2 00 00 00    	jg     0x40b00b
40af69:	0f 84 8a 00 00 00    	je     0x40aff9
40af6f:	83 e8 20             	sub    $0x20,%eax