40ce28:	8b ec                	mov    %esp,%ebp
40ce2a:	51                   	push   %ecx
40ce2b:	8b 4d 10             	mov    0x10(%ebp),%ecx
40ce2e:	53                   	push   %ebx
40ce2f:	33 c0                	xor    %eax,%eax
40ce31:	56                   	push   %esi
40ce32:	89 07                	mov    %eax,(%edi)
40ce34:	8b f2                	mov    %edx,%esi
40ce36:	8b 55 0c             	mov    0xc(%ebp),%edx
40ce39:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
40ce3f:	39 45 08             	cmp    %eax,0x8(%ebp)
40ce42:	74 09                	je     0x40ce4d
40ce44:	8b 5d 08             	mov    0x8(%ebp),%ebx
40ce47:	83 45 08 04          	addl   $0x4,0x8(%ebp)
40ce4b:	89 13                	mov    %edx,(%ebx)
40ce4d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ce50:	80 3e 22             	cmpb   $0x22,(%esi)
40ce53:	75 10                	jne    0x40ce65
40ce55:	33 c0                	xor    %eax,%eax
40ce57:	39 45 fc             	cmp    %eax,-0x4(%ebp)
40ce5a:	b3 22                	mov    $0x22,%bl
40ce5c:	0f 94 c0             	sete   %al
40ce5f:	46                   	inc    %esi
40ce60:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ce63:	eb 3c                	jmp    0x40cea1
40ce65:	ff 07                	incl   (%edi)
40ce67:	85 d2                	test   %edx,%edx
40ce69:	74 08                	je     0x40ce73
40ce6b:	8a 06                	mov    (%esi),%al
40ce6d:	88 02                	mov    %al,(%edx)
40ce6f:	42                   	inc    %edx
40ce70:	89 55 0c             	mov    %edx,0xc(%ebp)
40ce73:	8a 1e                	mov    (%esi),%bl
40ce75:	0f b6 c3             	movzbl %bl,%eax
40ce78:	50                   	push   %eax
40ce79:	46                   	inc    %esi
40ce7a:	e8 11 89 00 00       	call   0x415790
40ce7f:	59                   	pop    %ecx
40ce80:	85 c0                	test   %eax,%eax
40ce82:	74 13                	je     0x40ce97
40ce84:	ff 07                	incl   (%edi)
40ce86:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40ce8a:	74 0a                	je     0x40ce96
40ce8c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40ce8f:	8a 06                	mov    (%esi),%al
40ce91:	ff 45 0c             	incl   0xc(%ebp)
40ce94:	88 01                	mov    %al,(%ecx)
40ce96:	46                   	inc    %esi
40ce97:	8b 55 0c             	mov    0xc(%ebp),%edx
40ce9a:	8b 4d 10             	mov    0x10(%ebp),%ecx
40ce9d:	84 db                	test   %bl,%bl
40ce9f:	74 32                	je     0x40ced3
40cea1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40cea5:	75 a9                	jne    0x40ce50
40cea7:	80 fb 20             	cmp    $0x20,%bl
40ceaa:	74 05                	je     0x40ceb1
40ceac:	80 fb 09             	cmp    $0x9,%bl
40ceaf:	75 9f                	jne    0x40ce50
40ceb1:	85 d2                	test   %edx,%edx
40ceb3:	74 04                	je     0x40ceb9
40ceb5:	c6 42 ff 00          	movb   $0x0,-0x1(%edx)
40ceb9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cebd:	80 3e 00             	cmpb   $0x0,(%esi)
40cec0:	0f 84 e9 00 00 00    	je     0x40cfaf
40cec6:	8a 06                	mov    (%esi),%al
40cec8:	3c 20                	cmp    $0x20,%al
40ceca:	74 04                	je     0x40ced0
40cecc:	3c 09                	cmp    $0x9,%al
40cece:	75 06                	jne    0x40ced6
40ced0:	46                   	inc    %esi
40ced1:	eb f3                	jmp    0x40cec6
40ced3:	4e                   	dec    %esi
40ced4:	eb e3                	jmp    0x40ceb9
40ced6:	80 3e 00             	cmpb   $0x0,(%esi)
40ced9:	0f 84 d0 00 00 00    	je     0x40cfaf
40cedf:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40cee3:	74 09                	je     0x40ceee
40cee5:	8b 45 08             	mov    0x8(%ebp),%eax
40cee8:	83 45 08 04          	addl   $0x4,0x8(%ebp)
40ceec:	89 10                	mov    %edx,(%eax)
40ceee:	ff 01                	incl   (%ecx)
40cef0:	33 db                	xor    %ebx,%ebx
40cef2:	43                   	inc    %ebx
40cef3:	33 c9                	xor    %ecx,%ecx
40cef5:	eb 02                	jmp    0x40cef9
40cef7:	46                   	inc    %esi
40cef8:	41                   	inc    %ecx
40cef9:	80 3e 5c             	cmpb   $0x5c,(%esi)
40cefc:	74 f9                	je     0x40cef7
40cefe:	80 3e 22             	cmpb   $0x22,(%esi)
40cf01:	75 26                	jne    0x40cf29
40cf03:	f6 c1 01             	test   $0x1,%cl
40cf06:	75 1f                	jne    0x40cf27
40cf08:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40cf0c:	74 0c                	je     0x40cf1a
40cf0e:	8d 46 01             	lea    0x1(%esi),%eax
40cf11:	80 38 22             	cmpb   $0x22,(%eax)
40cf14:	75 04                	jne    0x40cf1a
40cf16:	8b f0                	mov    %eax,%esi
40cf18:	eb 0d                	jmp    0x40cf27
40cf1a:	33 c0                	xor    %eax,%eax
40cf1c:	33 db                	xor    %ebx,%ebx
40cf1e:	39 45 fc             	cmp    %eax,-0x4(%ebp)
40cf21:	0f 94 c0             	sete   %al
40cf24:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cf27:	d1 e9                	shr    $1,%ecx
40cf29:	85 c9                	test   %ecx,%ecx
40cf2b:	74 12                	je     0x40cf3f
40cf2d:	49                   	dec    %ecx
40cf2e:	85 d2                	test   %edx,%edx
40cf30:	74 04                	je     0x40cf36
40cf32:	c6 02 5c             	movb   $0x5c,(%edx)
40cf35:	42                   	inc    %edx
40cf36:	ff 07                	incl   (%edi)
40cf38:	85 c9                	test   %ecx,%ecx
40cf3a:	75 f1                	jne    0x40cf2d
40cf3c:	89 55 0c             	mov    %edx,0xc(%ebp)
40cf3f:	8a 06                	mov    (%esi),%al
40cf41:	84 c0                	test   %al,%al
40cf43:	74 55                	je     0x40cf9a
40cf45:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40cf49:	75 08                	jne    0x40cf53
40cf4b:	3c 20                	cmp    $0x20,%al
40cf4d:	74 4b                	je     0x40cf9a
40cf4f:	3c 09                	cmp    $0x9,%al
40cf51:	74 47                	je     0x40cf9a
40cf53:	85 db                	test   %ebx,%ebx
40cf55:	74 3d                	je     0x40cf94
40cf57:	0f be c0             	movsbl %al,%eax
40cf5a:	50                   	push   %eax
40cf5b:	85 d2                	test   %edx,%edx
40cf5d:	74 23                	je     0x40cf82
40cf5f:	e8 2c 88 00 00       	call   0x415790
40cf64:	59                   	pop    %ecx
40cf65:	85 c0                	test   %eax,%eax
40cf67:	74 0d                	je     0x40cf76
40cf69:	8a 06                	mov    (%esi),%al
40cf6b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40cf6e:	ff 45 0c             	incl   0xc(%ebp)
40cf71:	88 01                	mov    %al,(%ecx)
40cf73:	46                   	inc    %esi
40cf74:	ff 07                	incl   (%edi)
40cf76:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40cf79:	8a 06                	mov    (%esi),%al
40cf7b:	ff 45 0c             	incl   0xc(%ebp)
40cf7e:	88 01                	mov    %al,(%ecx)
40cf80:	eb 0d                	jmp    0x40cf8f
40cf82:	e8 09 88 00 00       	call   0x415790
40cf87:	59                   	pop    %ecx
40cf88:	85 c0                	test   %eax,%eax
40cf8a:	74 03                	je     0x40cf8f
40cf8c:	46                   	inc    %esi
40cf8d:	ff 07                	incl   (%edi)
40cf8f:	ff 07                	incl   (%edi)
40cf91:	8b 55 0c             	mov    0xc(%ebp),%edx
40cf94:	46                   	inc    %esi
40cf95:	e9 56 ff ff ff       	jmp    0x40cef0
40cf9a:	85 d2                	test   %edx,%edx
40cf9c:	74 07                	je     0x40cfa5
40cf9e:	c6 02 00             	movb   $0x0,(%edx)
40cfa1:	42                   	inc    %edx
40cfa2:	89 55 0c             	mov    %edx,0xc(%ebp)
40cfa5:	ff 07                	incl   (%edi)
40cfa7:	8b 4d 10             	mov    0x10(%ebp),%ecx
40cfaa:	e9 0e ff ff ff       	jmp    0x40cebd
40cfaf:	8b 45 08             	mov    0x8(%ebp),%eax
40cfb2:	5e                   	pop    %esi
40cfb3:	5b                   	pop    %ebx
40cfb4:	85 c0                	test   %eax,%eax
40cfb6:	74 03                	je     0x40cfbb
40cfb8:	83 20 00             	andl   $0x0,(%eax)
40cfbb:	ff 01                	incl   (%ecx)
40cfbd:	c9                   	leave
40cfbe:	c3                   	ret
40cfbf:	8b ff                	mov    %edi,%edi
40cfc1:	55                   	push   %ebp
40cfc2:	8b ec                	mov    %esp,%ebp
40cfc4:	83 ec 0c             	sub    $0xc,%esp
40cfc7:	53                   	push   %ebx
40cfc8:	33 db                	xor    %ebx,%ebx
40cfca:	56                   	push   %esi
40cfcb:	57                   	push   %edi
40cfcc:	39 1d 3c 12 c7 00    	cmp    %ebx,0xc7123c
40cfd2:	75 05                	jne    0x40cfd9
40cfd4:	e8 ea 29 00 00       	call   0x40f9c3
40cfd9:	68 04 01 00 00       	push   $0x104
40cfde:	be d8 0c 43 00       	mov    $0x430cd8,%esi
40cfe3:	56                   	push   %esi
40cfe4:	53                   	push   %ebx
40cfe5:	88 1d dc 0d 43 00    	mov    %bl,0x430ddc
40cfeb:	ff 15 20 a1 41 00    	call   *0x41a120
40cff1:	a1 a4 23 c7 00       	mov    0xc723a4,%eax
40cff6:	89 35 ac 09 43 00    	mov    %esi,0x4309ac
40cffc:	3b c3                	cmp    %ebx,%eax
40cffe:	74 07                	je     0x40d007
40d000:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d003:	38 18                	cmp    %bl,(%eax)
40d005:	75 03                	jne    0x40d00a
40d007:	89 75 fc             	mov    %esi,-0x4(%ebp)
40d00a:	8b 55 fc             	mov    -0x4(%ebp),%edx
40d00d:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d010:	50                   	push   %eax
40d011:	53                   	push   %ebx
40d012:	53                   	push   %ebx
40d013:	8d 7d f4             	lea    -0xc(%ebp),%edi
40d016:	e8 0a fe ff ff       	call   0x40ce25
40d01b:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d01e:	83 c4 0c             	add    $0xc,%esp
40d021:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
40d026:	73 4a                	jae    0x40d072
40d028:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d02b:	83 f9 ff             	cmp    $0xffffffff,%ecx
40d02e:	73 42                	jae    0x40d072
40d030:	8b f8                	mov    %eax,%edi
40d032:	c1 e7 02             	shl    $0x2,%edi
40d035:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
40d038:	3b c1                	cmp    %ecx,%eax
40d03a:	72 36                	jb     0x40d072
40d03c:	50                   	push   %eax
40d03d:	e8 1e ab ff ff       	call   0x407b60
40d042:	8b f0                	mov    %eax,%esi
40d044:	59                   	pop    %ecx
40d045:	3b f3                	cmp    %ebx,%esi
40d047:	74 29                	je     0x40d072
40d049:	8b 55 fc             	mov    -0x4(%ebp),%edx
40d04c:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d04f:	50                   	push   %eax
40d050:	03 fe                	add    %esi,%edi
40d052:	57                   	push   %edi
40d053:	56                   	push   %esi
40d054:	8d 7d f4             	lea    -0xc(%ebp),%edi
40d057:	e8 c9 fd ff ff       	call   0x40ce25
40d05c:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d05f:	83 c4 0c             	add    $0xc,%esp
40d062:	48                   	dec    %eax
40d063:	a3 90 09 43 00       	mov    %eax,0x430990
40d068:	89 35 94 09 43 00    	mov    %esi,0x430994
40d06e:	33 c0                	xor    %eax,%eax
40d070:	eb 03                	jmp    0x40d075
40d072:	83 c8 ff             	or     $0xffffffff,%eax
40d075:	5f                   	pop    %edi
40d076:	5e                   	pop    %esi
40d077:	5b                   	pop    %ebx
40d078:	c9                   	leave
40d079:	c3                   	ret
40d07a:	8b ff                	mov    %edi,%edi
40d07c:	55                   	push   %ebp
40d07d:	8b ec                	mov    %esp,%ebp
40d07f:	a1 e0 0d 43 00       	mov    0x430de0,%eax
40d084:	83 ec 0c             	sub    $0xc,%esp
40d087:	53                   	push   %ebx
40d088:	56                   	push   %esi
40d089:	8b 35 0c a0 41 00    	mov    0x41a00c,%esi
40d08f:	57                   	push   %edi
40d090:	33 db                	xor    %ebx,%ebx
40d092:	33 ff                	xor    %edi,%edi
40d094:	3b c3                	cmp    %ebx,%eax
40d096:	75 2e                	jne    0x40d0c6
40d098:	ff d6                	call   *%esi
40d09a:	8b f8                	mov    %eax,%edi
40d09c:	3b fb                	cmp    %ebx,%edi
40d09e:	74 0c                	je     0x40d0ac
40d0a0:	c7 05 e0 0d 43 00 01 	movl   $0x1,0x430de0
40d0a7:	00 00 00
40d0aa:	eb 23                	jmp    0x40d0cf
40d0ac:	ff 15 98 a0 41 00    	call   *0x41a098
40d0b2:	83 f8 78             	cmp    $0x78,%eax
40d0b5:	75 0a                	jne    0x40d0c1
40d0b7:	6a 02                	push   $0x2
40d0b9:	58                   	pop    %eax
40d0ba:	a3 e0 0d 43 00       	mov    %eax,0x430de0
40d0bf:	eb 05                	jmp    0x40d0c6
40d0c1:	a1 e0 0d 43 00       	mov    0x430de0,%eax
40d0c6:	83 f8 01             	cmp    $0x1,%eax
40d0c9:	0f 85 81 00 00 00    	jne    0x40d150
40d0cf:	3b fb                	cmp    %ebx,%edi
40d0d1:	75 0f                	jne    0x40d0e2
40d0d3:	ff d6                	call   *%esi
40d0d5:	8b f8                	mov    %eax,%edi
40d0d7:	3b fb                	cmp    %ebx,%edi
40d0d9:	75 07                	jne    0x40d0e2
40d0db:	33 c0                	xor    %eax,%eax
40d0dd:	e9 ca 00 00 00       	jmp    0x40d1ac
40d0e2:	8b c7                	mov    %edi,%eax
40d0e4:	66 39 1f             	cmp    %bx,(%edi)
40d0e7:	74 0e                	je     0x40d0f7
40d0e9:	40                   	inc    %eax
40d0ea:	40                   	inc    %eax
40d0eb:	66 39 18             	cmp    %bx,(%eax)
40d0ee:	75 f9                	jne    0x40d0e9
40d0f0:	40                   	inc    %eax
40d0f1:	40                   	inc    %eax
40d0f2:	66 39 18             	cmp    %bx,(%eax)
40d0f5:	75 f2                	jne    0x40d0e9
40d0f7:	8b 35 70 a0 41 00    	mov    0x41a070,%esi
40d0fd:	53                   	push   %ebx
40d0fe:	53                   	push   %ebx
40d0ff:	53                   	push   %ebx
40d100:	2b c7                	sub    %edi,%eax
40d102:	53                   	push   %ebx
40d103:	d1 f8                	sar    $1,%eax
40d105:	40                   	inc    %eax
40d106:	50                   	push   %eax
40d107:	57                   	push   %edi
40d108:	53                   	push   %ebx
40d109:	53                   	push   %ebx
40d10a:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d10d:	ff d6                	call   *%esi
40d10f:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d112:	3b c3                	cmp    %ebx,%eax
40d114:	74 2f                	je     0x40d145
40d116:	50                   	push   %eax
40d117:	e8 44 aa ff ff       	call   0x407b60
40d11c:	59                   	pop    %ecx
40d11d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d120:	3b c3                	cmp    %ebx,%eax
40d122:	74 21                	je     0x40d145
40d124:	53                   	push   %ebx
40d125:	53                   	push   %ebx
40d126:	ff 75 f8             	push   -0x8(%ebp)
40d129:	50                   	push   %eax
40d12a:	ff 75 f4             	push   -0xc(%ebp)
40d12d:	57                   	push   %edi
40d12e:	53                   	push   %ebx
40d12f:	53                   	push   %ebx
40d130:	ff d6                	call   *%esi
40d132:	85 c0                	test   %eax,%eax
40d134:	75 0c                	jne    0x40d142
40d136:	ff 75 fc             	push   -0x4(%ebp)
40d139:	e8 e2 7e ff ff       	call   0x405020
40d13e:	59                   	pop    %ecx
40d13f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40d142:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40d145:	57                   	push   %edi
40d146:	ff 15 28 a1 41 00    	call   *0x41a128
40d14c:	8b c3                	mov    %ebx,%eax
40d14e:	eb 5c                	jmp    0x40d1ac
40d150:	83 f8 02             	cmp    $0x2,%eax
40d153:	74 04                	je     0x40d159
40d155:	3b c3                	cmp    %ebx,%eax
40d157:	75 82                	jne    0x40d0db
40d159:	ff 15 1c a0 41 00    	call   *0x41a01c
40d15f:	8b f0                	mov    %eax,%esi
40d161:	3b f3                	cmp    %ebx,%esi
40d163:	0f 84 72 ff ff ff    	je     0x40d0db
40d169:	38 1e                	cmp    %bl,(%esi)
40d16b:	74 0a                	je     0x40d177
40d16d:	40                   	inc    %eax
40d16e:	38 18                	cmp    %bl,(%eax)
40d170:	75 fb                	jne    0x40d16d