40df9f:	89 1d e8 d9 41 00    	mov    %ebx,0x41d9e8
40dfa5:	89 1f                	mov    %ebx,(%edi)
40dfa7:	c7 05 c0 e5 41 00 01 	movl   $0x1,0x41e5c0
40dfae:	00 00 00
40dfb1:	33 c0                	xor    %eax,%eax
40dfb3:	59                   	pop    %ecx
40dfb4:	5d                   	pop    %ebp
40dfb5:	5f                   	pop    %edi
40dfb6:	5e                   	pop    %esi
40dfb7:	5b                   	pop    %ebx
40dfb8:	c3                   	ret
40dfb9:	ff 35 d8 de 41 00    	push   0x41ded8
40dfbf:	e8 8f 84 ff ff       	call   0x406453
40dfc4:	89 1d d8 de 41 00    	mov    %ebx,0x41ded8
40dfca:	83 c8 ff             	or     $0xffffffff,%eax
40dfcd:	eb e4                	jmp    0x40dfb3
40dfcf:	55                   	push   %ebp
40dfd0:	8b ec                	mov    %esp,%ebp
40dfd2:	51                   	push   %ecx
40dfd3:	8b 4d 10             	mov    0x10(%ebp),%ecx
40dfd6:	53                   	push   %ebx
40dfd7:	33 c0                	xor    %eax,%eax
40dfd9:	39 45 08             	cmp    %eax,0x8(%ebp)
40dfdc:	56                   	push   %esi
40dfdd:	89 07                	mov    %eax,(%edi)
40dfdf:	8b f2                	mov    %edx,%esi
40dfe1:	8b 55 0c             	mov    0xc(%ebp),%edx
40dfe4:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
40dfea:	74 09                	je     0x40dff5
40dfec:	8b 5d 08             	mov    0x8(%ebp),%ebx
40dfef:	83 45 08 04          	addl   $0x4,0x8(%ebp)
40dff3:	89 13                	mov    %edx,(%ebx)
40dff5:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dff8:	80 3e 22             	cmpb   $0x22,(%esi)
40dffb:	75 10                	jne    0x40e00d
40dffd:	33 c0                	xor    %eax,%eax
40dfff:	39 45 fc             	cmp    %eax,-0x4(%ebp)
40e002:	b3 22                	mov    $0x22,%bl
40e004:	0f 94 c0             	sete   %al
40e007:	46                   	inc    %esi
40e008:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e00b:	eb 3c                	jmp    0x40e049
40e00d:	ff 07                	incl   (%edi)
40e00f:	85 d2                	test   %edx,%edx
40e011:	74 08                	je     0x40e01b
40e013:	8a 06                	mov    (%esi),%al
40e015:	88 02                	mov    %al,(%edx)
40e017:	42                   	inc    %edx
40e018:	89 55 0c             	mov    %edx,0xc(%ebp)
40e01b:	8a 1e                	mov    (%esi),%bl
40e01d:	0f b6 c3             	movzbl %bl,%eax
40e020:	50                   	push   %eax
40e021:	46                   	inc    %esi
40e022:	e8 86 65 00 00       	call   0x4145ad
40e027:	85 c0                	test   %eax,%eax
40e029:	59                   	pop    %ecx
40e02a:	74 13                	je     0x40e03f
40e02c:	ff 07                	incl   (%edi)
40e02e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40e032:	74 0a                	je     0x40e03e
40e034:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e037:	8a 06                	mov    (%esi),%al
40e039:	ff 45 0c             	incl   0xc(%ebp)
40e03c:	88 01                	mov    %al,(%ecx)
40e03e:	46                   	inc    %esi
40e03f:	84 db                	test   %bl,%bl
40e041:	8b 55 0c             	mov    0xc(%ebp),%edx
40e044:	8b 4d 10             	mov    0x10(%ebp),%ecx
40e047:	74 32                	je     0x40e07b
40e049:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40e04d:	75 a9                	jne    0x40dff8
40e04f:	80 fb 20             	cmp    $0x20,%bl
40e052:	74 05                	je     0x40e059
40e054:	80 fb 09             	cmp    $0x9,%bl
40e057:	75 9f                	jne    0x40dff8
40e059:	85 d2                	test   %edx,%edx
40e05b:	74 04                	je     0x40e061
40e05d:	c6 42 ff 00          	movb   $0x0,-0x1(%edx)
40e061:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e065:	80 3e 00             	cmpb   $0x0,(%esi)
40e068:	0f 84 e9 00 00 00    	je     0x40e157
40e06e:	8a 06                	mov    (%esi),%al
40e070:	3c 20                	cmp    $0x20,%al
40e072:	74 04                	je     0x40e078
40e074:	3c 09                	cmp    $0x9,%al
40e076:	75 06                	jne    0x40e07e
40e078:	46                   	inc    %esi
40e079:	eb f3                	jmp    0x40e06e
40e07b:	4e                   	dec    %esi
40e07c:	eb e3                	jmp    0x40e061
40e07e:	80 3e 00             	cmpb   $0x0,(%esi)
40e081:	0f 84 d0 00 00 00    	je     0x40e157
40e087:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40e08b:	74 09                	je     0x40e096
40e08d:	8b 45 08             	mov    0x8(%ebp),%eax
40e090:	83 45 08 04          	addl   $0x4,0x8(%ebp)
40e094:	89 10                	mov    %edx,(%eax)
40e096:	ff 01                	incl   (%ecx)
40e098:	33 db                	xor    %ebx,%ebx
40e09a:	43                   	inc    %ebx
40e09b:	33 c9                	xor    %ecx,%ecx
40e09d:	eb 02                	jmp    0x40e0a1
40e09f:	46                   	inc    %esi
40e0a0:	41                   	inc    %ecx
40e0a1:	80 3e 5c             	cmpb   $0x5c,(%esi)
40e0a4:	74 f9                	je     0x40e09f
40e0a6:	80 3e 22             	cmpb   $0x22,(%esi)
40e0a9:	75 26                	jne    0x40e0d1
40e0ab:	f6 c1 01             	test   $0x1,%cl
40e0ae:	75 1f                	jne    0x40e0cf
40e0b0:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40e0b4:	74 0c                	je     0x40e0c2
40e0b6:	8d 46 01             	lea    0x1(%esi),%eax
40e0b9:	80 38 22             	cmpb   $0x22,(%eax)
40e0bc:	75 04                	jne    0x40e0c2
40e0be:	8b f0                	mov    %eax,%esi
40e0c0:	eb 0d                	jmp    0x40e0cf
40e0c2:	33 c0                	xor    %eax,%eax
40e0c4:	33 db                	xor    %ebx,%ebx
40e0c6:	39 45 fc             	cmp    %eax,-0x4(%ebp)
40e0c9:	0f 94 c0             	sete   %al
40e0cc:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e0cf:	d1 e9                	shr    $1,%ecx
40e0d1:	85 c9                	test   %ecx,%ecx
40e0d3:	74 12                	je     0x40e0e7
40e0d5:	49                   	dec    %ecx
40e0d6:	85 d2                	test   %edx,%edx
40e0d8:	74 04                	je     0x40e0de
40e0da:	c6 02 5c             	movb   $0x5c,(%edx)
40e0dd:	42                   	inc    %edx
40e0de:	ff 07                	incl   (%edi)
40e0e0:	85 c9                	test   %ecx,%ecx
40e0e2:	75 f1                	jne    0x40e0d5
40e0e4:	89 55 0c             	mov    %edx,0xc(%ebp)
40e0e7:	8a 06                	mov    (%esi),%al
40e0e9:	84 c0                	test   %al,%al
40e0eb:	74 55                	je     0x40e142
40e0ed:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40e0f1:	75 08                	jne    0x40e0fb
40e0f3:	3c 20                	cmp    $0x20,%al
40e0f5:	74 4b                	je     0x40e142
40e0f7:	3c 09                	cmp    $0x9,%al
40e0f9:	74 47                	je     0x40e142
40e0fb:	85 db                	test   %ebx,%ebx
40e0fd:	74 3d                	je     0x40e13c
40e0ff:	85 d2                	test   %edx,%edx
40e101:	0f be c0             	movsbl %al,%eax
40e104:	50                   	push   %eax
40e105:	74 23                	je     0x40e12a
40e107:	e8 a1 64 00 00       	call   0x4145ad
40e10c:	85 c0                	test   %eax,%eax
40e10e:	59                   	pop    %ecx
40e10f:	74 0d                	je     0x40e11e
40e111:	8a 06                	mov    (%esi),%al
40e113:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e116:	ff 45 0c             	incl   0xc(%ebp)
40e119:	88 01                	mov    %al,(%ecx)
40e11b:	46                   	inc    %esi
40e11c:	ff 07                	incl   (%edi)
40e11e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e121:	8a 06                	mov    (%esi),%al
40e123:	ff 45 0c             	incl   0xc(%ebp)
40e126:	88 01                	mov    %al,(%ecx)
40e128:	eb 0d                	jmp    0x40e137
40e12a:	e8 7e 64 00 00       	call   0x4145ad
40e12f:	85 c0                	test   %eax,%eax
40e131:	59                   	pop    %ecx
40e132:	74 03                	je     0x40e137
40e134:	46                   	inc    %esi
40e135:	ff 07                	incl   (%edi)
40e137:	ff 07                	incl   (%edi)
40e139:	8b 55 0c             	mov    0xc(%ebp),%edx
40e13c:	46                   	inc    %esi
40e13d:	e9 56 ff ff ff       	jmp    0x40e098
40e142:	85 d2                	test   %edx,%edx
40e144:	74 07                	je     0x40e14d
40e146:	c6 02 00             	movb   $0x0,(%edx)
40e149:	42                   	inc    %edx
40e14a:	89 55 0c             	mov    %edx,0xc(%ebp)
40e14d:	ff 07                	incl   (%edi)
40e14f:	8b 4d 10             	mov    0x10(%ebp),%ecx
40e152:	e9 0e ff ff ff       	jmp    0x40e065
40e157:	8b 45 08             	mov    0x8(%ebp),%eax
40e15a:	85 c0                	test   %eax,%eax
40e15c:	5e                   	pop    %esi
40e15d:	5b                   	pop    %ebx
40e15e:	74 03                	je     0x40e163
40e160:	83 20 00             	andl   $0x0,(%eax)
40e163:	ff 01                	incl   (%ecx)
40e165:	c9                   	leave
40e166:	c3                   	ret
40e167:	55                   	push   %ebp
40e168:	8b ec                	mov    %esp,%ebp
40e16a:	83 ec 0c             	sub    $0xc,%esp
40e16d:	53                   	push   %ebx
40e16e:	33 db                	xor    %ebx,%ebx
40e170:	39 1d cc e5 41 00    	cmp    %ebx,0x41e5cc
40e176:	56                   	push   %esi
40e177:	57                   	push   %edi
40e178:	75 05                	jne    0x40e17f
40e17a:	e8 b1 22 00 00       	call   0x410430
40e17f:	68 04 01 00 00       	push   $0x104
40e184:	be 18 e2 41 00       	mov    $0x41e218,%esi
40e189:	56                   	push   %esi
40e18a:	53                   	push   %ebx
40e18b:	88 1d 1c e3 41 00    	mov    %bl,0x41e31c
40e191:	ff 15 24 71 41 00    	call   *0x417124
40e197:	a1 04 f6 41 00       	mov    0x41f604,%eax
40e19c:	3b c3                	cmp    %ebx,%eax
40e19e:	89 35 e8 de 41 00    	mov    %esi,0x41dee8
40e1a4:	74 07                	je     0x40e1ad
40e1a6:	38 18                	cmp    %bl,(%eax)
40e1a8:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e1ab:	75 03                	jne    0x40e1b0
40e1ad:	89 75 fc             	mov    %esi,-0x4(%ebp)
40e1b0:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e1b3:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e1b6:	50                   	push   %eax
40e1b7:	53                   	push   %ebx
40e1b8:	53                   	push   %ebx
40e1b9:	8d 7d f4             	lea    -0xc(%ebp),%edi
40e1bc:	e8 0e fe ff ff       	call   0x40dfcf
40e1c1:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e1c4:	83 c4 0c             	add    $0xc,%esp
40e1c7:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
40e1cc:	73 4a                	jae    0x40e218
40e1ce:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40e1d1:	83 f9 ff             	cmp    $0xffffffff,%ecx
40e1d4:	73 42                	jae    0x40e218
40e1d6:	8b f8                	mov    %eax,%edi
40e1d8:	c1 e7 02             	shl    $0x2,%edi
40e1db:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
40e1de:	3b c1                	cmp    %ecx,%eax
40e1e0:	72 36                	jb     0x40e218
40e1e2:	50                   	push   %eax
40e1e3:	e8 04 b1 ff ff       	call   0x4092ec
40e1e8:	8b f0                	mov    %eax,%esi
40e1ea:	3b f3                	cmp    %ebx,%esi
40e1ec:	59                   	pop    %ecx
40e1ed:	74 29                	je     0x40e218
40e1ef:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e1f2:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e1f5:	50                   	push   %eax
40e1f6:	03 fe                	add    %esi,%edi
40e1f8:	57                   	push   %edi
40e1f9:	56                   	push   %esi
40e1fa:	8d 7d f4             	lea    -0xc(%ebp),%edi
40e1fd:	e8 cd fd ff ff       	call   0x40dfcf
40e202:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e205:	83 c4 0c             	add    $0xc,%esp
40e208:	48                   	dec    %eax
40e209:	a3 cc de 41 00       	mov    %eax,0x41decc
40e20e:	89 35 d0 de 41 00    	mov    %esi,0x41ded0
40e214:	33 c0                	xor    %eax,%eax
40e216:	eb 03                	jmp    0x40e21b
40e218:	83 c8 ff             	or     $0xffffffff,%eax
40e21b:	5f                   	pop    %edi
40e21c:	5e                   	pop    %esi
40e21d:	5b                   	pop    %ebx
40e21e:	c9                   	leave
40e21f:	c3                   	ret
40e220:	51                   	push   %ecx
40e221:	51                   	push   %ecx
40e222:	a1 20 e3 41 00       	mov    0x41e320,%eax
40e227:	53                   	push   %ebx
40e228:	55                   	push   %ebp
40e229:	56                   	push   %esi
40e22a:	57                   	push   %edi
40e22b:	8b 3d 34 71 41 00    	mov    0x417134,%edi
40e231:	33 db                	xor    %ebx,%ebx
40e233:	33 f6                	xor    %esi,%esi
40e235:	3b c3                	cmp    %ebx,%eax
40e237:	6a 02                	push   $0x2
40e239:	5d                   	pop    %ebp
40e23a:	75 2d                	jne    0x40e269
40e23c:	ff d7                	call   *%edi
40e23e:	8b f0                	mov    %eax,%esi
40e240:	3b f3                	cmp    %ebx,%esi
40e242:	74 0c                	je     0x40e250
40e244:	c7 05 20 e3 41 00 01 	movl   $0x1,0x41e320
40e24b:	00 00 00
40e24e:	eb 22                	jmp    0x40e272
40e250:	ff 15 b0 70 41 00    	call   *0x4170b0
40e256:	83 f8 78             	cmp    $0x78,%eax
40e259:	75 09                	jne    0x40e264
40e25b:	8b c5                	mov    %ebp,%eax
40e25d:	a3 20 e3 41 00       	mov    %eax,0x41e320
40e262:	eb 05                	jmp    0x40e269
40e264:	a1 20 e3 41 00       	mov    0x41e320,%eax
40e269:	83 f8 01             	cmp    $0x1,%eax
40e26c:	0f 85 84 00 00 00    	jne    0x40e2f6
40e272:	3b f3                	cmp    %ebx,%esi
40e274:	75 0f                	jne    0x40e285
40e276:	ff d7                	call   *%edi
40e278:	8b f0                	mov    %eax,%esi
40e27a:	3b f3                	cmp    %ebx,%esi
40e27c:	75 07                	jne    0x40e285
40e27e:	33 c0                	xor    %eax,%eax
40e280:	e9 c9 00 00 00       	jmp    0x40e34e
40e285:	66 39 1e             	cmp    %bx,(%esi)
40e288:	8b c6                	mov    %esi,%eax
40e28a:	74 0e                	je     0x40e29a
40e28c:	03 c5                	add    %ebp,%eax
40e28e:	66 39 18             	cmp    %bx,(%eax)
40e291:	75 f9                	jne    0x40e28c
40e293:	03 c5                	add    %ebp,%eax
40e295:	66 39 18             	cmp    %bx,(%eax)
40e298:	75 f2                	jne    0x40e28c
40e29a:	8b 3d 90 70 41 00    	mov    0x417090,%edi
40e2a0:	53                   	push   %ebx
40e2a1:	53                   	push   %ebx
40e2a2:	53                   	push   %ebx
40e2a3:	2b c6                	sub    %esi,%eax
40e2a5:	53                   	push   %ebx
40e2a6:	d1 f8                	sar    $1,%eax
40e2a8:	40                   	inc    %eax
40e2a9:	50                   	push   %eax
40e2aa:	56                   	push   %esi
40e2ab:	53                   	push   %ebx
40e2ac:	53                   	push   %ebx
40e2ad:	89 44 24 34          	mov    %eax,0x34(%esp)
40e2b1:	ff d7                	call   *%edi
40e2b3:	8b e8                	mov    %eax,%ebp
40e2b5:	3b eb                	cmp    %ebx,%ebp
40e2b7:	74 32                	je     0x40e2eb
40e2b9:	55                   	push   %ebp
40e2ba:	e8 2d b0 ff ff       	call   0x4092ec
40e2bf:	3b c3                	cmp    %ebx,%eax
40e2c1:	59                   	pop    %ecx
40e2c2:	89 44 24 10          	mov    %eax,0x10(%esp)
40e2c6:	74 23                	je     0x40e2eb
40e2c8:	53                   	push   %ebx
40e2c9:	53                   	push   %ebx
40e2ca:	55                   	push   %ebp
40e2cb:	50                   	push   %eax
40e2cc:	ff 74 24 24          	push   0x24(%esp)
40e2d0:	56                   	push   %esi
40e2d1:	53                   	push   %ebx
40e2d2:	53                   	push   %ebx
40e2d3:	ff d7                	call   *%edi
40e2d5:	85 c0                	test   %eax,%eax
40e2d7:	75 0e                	jne    0x40e2e7
40e2d9:	ff 74 24 10          	push   0x10(%esp)
40e2dd:	e8 71 81 ff ff       	call   0x406453
40e2e2:	59                   	pop    %ecx
40e2e3:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40e2e7:	8b 5c 24 10          	mov    0x10(%esp),%ebx
40e2eb:	56                   	push   %esi
40e2ec:	ff 15 30 71 41 00    	call   *0x417130
40e2f2:	8b c3                	mov    %ebx,%eax