404f24:	8b 45 08             	mov    0x8(%ebp),%eax
404f27:	50                   	push   %eax
404f28:	8b 45 f4             	mov    -0xc(%ebp),%eax
404f2b:	8d 04 83             	lea    (%ebx,%eax,4),%eax
404f2e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
404f31:	8b d6                	mov    %esi,%edx
404f33:	e8 88 fe ff ff       	call   0x404dc0
404f38:	ff 45 f4             	incl   -0xc(%ebp)
404f3b:	4f                   	dec    %edi
404f3c:	75 e6                	jne    0x404f24
404f3e:	8b 45 fc             	mov    -0x4(%ebp),%eax
404f41:	89 18                	mov    %ebx,(%eax)
404f43:	5f                   	pop    %edi
404f44:	5e                   	pop    %esi
404f45:	5b                   	pop    %ebx
404f46:	8b e5                	mov    %ebp,%esp
404f48:	5d                   	pop    %ebp
404f49:	c2 04 00             	ret    $0x4
404f4c:	54                   	push   %esp
404f4d:	83 04 24 04          	addl   $0x4,(%esp)
404f51:	e8 6a fe ff ff       	call   0x404dc0
404f56:	c3                   	ret
404f57:	90                   	nop
404f58:	8b 08                	mov    (%eax),%ecx
404f5a:	85 c9                	test   %ecx,%ecx
404f5c:	74 33                	je     0x404f91
404f5e:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
404f64:	f0 ff 49 f8          	lock decl -0x8(%ecx)
404f68:	75 27                	jne    0x404f91
404f6a:	50                   	push   %eax
404f6b:	89 c8                	mov    %ecx,%eax
404f6d:	31 c9                	xor    %ecx,%ecx
404f6f:	8a 4a 01             	mov    0x1(%edx),%cl
404f72:	8b 54 11 06          	mov    0x6(%ecx,%edx,1),%edx
404f76:	85 d2                	test   %edx,%edx
404f78:	74 0e                	je     0x404f88
404f7a:	8b 48 fc             	mov    -0x4(%eax),%ecx
404f7d:	85 c9                	test   %ecx,%ecx
404f7f:	74 07                	je     0x404f88
404f81:	8b 12                	mov    (%edx),%edx
404f83:	e8 98 fa ff ff       	call   0x404a20
404f88:	83 e8 08             	sub    $0x8,%eax
404f8b:	e8 4c d7 ff ff       	call   0x4026dc
404f90:	58                   	pop    %eax
404f91:	c3                   	ret
404f92:	8b c0                	mov    %eax,%eax
404f94:	53                   	push   %ebx
404f95:	8b 18                	mov    (%eax),%ebx
404f97:	85 d2                	test   %edx,%edx
404f99:	74 04                	je     0x404f9f
404f9b:	f0 ff 42 f8          	lock incl -0x8(%edx)
404f9f:	85 db                	test   %ebx,%ebx
404fa1:	74 14                	je     0x404fb7
404fa3:	f0 ff 4b f8          	lock decl -0x8(%ebx)
404fa7:	75 0e                	jne    0x404fb7
404fa9:	50                   	push   %eax
404faa:	52                   	push   %edx
404fab:	89 ca                	mov    %ecx,%edx
404fad:	ff 43 f8             	incl   -0x8(%ebx)
404fb0:	e8 a3 ff ff ff       	call   0x404f58
404fb5:	5a                   	pop    %edx
404fb6:	58                   	pop    %eax
404fb7:	89 10                	mov    %edx,(%eax)
404fb9:	5b                   	pop    %ebx
404fba:	c3                   	ret
404fbb:	90                   	nop
404fbc:	83 c4 e4             	add    $0xffffffe4,%esp
404fbf:	6a 1c                	push   $0x1c
404fc1:	8d 54 24 04          	lea    0x4(%esp),%edx
404fc5:	52                   	push   %edx
404fc6:	50                   	push   %eax
404fc7:	e8 00 c3 ff ff       	call   0x4012cc
404fcc:	81 7c 24 10 00 10 00 	cmpl   $0x1000,0x10(%esp)
404fd3:	00
404fd4:	75 06                	jne    0x404fdc
404fd6:	8b 44 24 04          	mov    0x4(%esp),%eax
404fda:	eb 02                	jmp    0x404fde
404fdc:	33 c0                	xor    %eax,%eax
404fde:	83 c4 1c             	add    $0x1c,%esp
404fe1:	c3                   	ret
404fe2:	8b c0                	mov    %eax,%eax
404fe4:	e8 d3 ff ff ff       	call   0x404fbc
404fe9:	c3                   	ret
404fea:	8b c0                	mov    %eax,%eax
404fec:	53                   	push   %ebx
404fed:	56                   	push   %esi
404fee:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
404ff4:	8b d8                	mov    %eax,%ebx
404ff6:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
404ffa:	75 2b                	jne    0x405027
404ffc:	68 05 01 00 00       	push   $0x105
405001:	8d 44 24 04          	lea    0x4(%esp),%eax
405005:	50                   	push   %eax
405006:	8b 43 04             	mov    0x4(%ebx),%eax
405009:	50                   	push   %eax
40500a:	e8 4d c2 ff ff       	call   0x40125c
40500f:	8b c4                	mov    %esp,%eax
405011:	b2 01                	mov    $0x1,%dl
405013:	e8 10 02 00 00       	call   0x405228
405018:	8b f0                	mov    %eax,%esi
40501a:	89 73 10             	mov    %esi,0x10(%ebx)
40501d:	85 f6                	test   %esi,%esi
40501f:	75 06                	jne    0x405027
405021:	8b 43 04             	mov    0x4(%ebx),%eax
405024:	89 43 10             	mov    %eax,0x10(%ebx)
405027:	8b 43 10             	mov    0x10(%ebx),%eax
40502a:	81 c4 08 01 00 00    	add    $0x108,%esp
405030:	5e                   	pop    %esi
405031:	5b                   	pop    %ebx
405032:	c3                   	ret
405033:	90                   	nop
405034:	8b 15 34 30 46 00    	mov    0x463034,%edx
40503a:	85 d2                	test   %edx,%edx
40503c:	74 1d                	je     0x40505b
40503e:	3b 42 04             	cmp    0x4(%edx),%eax
405041:	74 0a                	je     0x40504d
405043:	3b 42 08             	cmp    0x8(%edx),%eax
405046:	74 05                	je     0x40504d
405048:	3b 42 0c             	cmp    0xc(%edx),%eax
40504b:	75 08                	jne    0x405055
40504d:	8b c2                	mov    %edx,%eax
40504f:	e8 98 ff ff ff       	call   0x404fec
405054:	c3                   	ret
405055:	8b 12                	mov    (%edx),%edx
405057:	85 d2                	test   %edx,%edx
405059:	75 e3                	jne    0x40503e
40505b:	c3                   	ret
40505c:	eb 06                	jmp    0x405064
40505e:	50                   	push   %eax
40505f:	e8 b8 c1 ff ff       	call   0x40121c
405064:	8a 10                	mov    (%eax),%dl
405066:	84 d2                	test   %dl,%dl
405068:	74 05                	je     0x40506f
40506a:	80 fa 5c             	cmp    $0x5c,%dl
40506d:	75 ef                	jne    0x40505e
40506f:	c3                   	ret
405070:	55                   	push   %ebp
405071:	8b ec                	mov    %esp,%ebp
405073:	81 c4 b0 fd ff ff    	add    $0xfffffdb0,%esp
405079:	53                   	push   %ebx
40507a:	56                   	push   %esi
40507b:	57                   	push   %edi
40507c:	89 55 f8             	mov    %edx,-0x8(%ebp)
40507f:	89 45 fc             	mov    %eax,-0x4(%ebp)
405082:	8b 45 fc             	mov    -0x4(%ebp),%eax
405085:	89 45 f4             	mov    %eax,-0xc(%ebp)
405088:	68 04 52 40 00       	push   $0x405204
40508d:	e8 d2 c1 ff ff       	call   0x401264
405092:	8b f0                	mov    %eax,%esi
405094:	85 f6                	test   %esi,%esi
405096:	74 40                	je     0x4050d8
405098:	68 14 52 40 00       	push   $0x405214
40509d:	56                   	push   %esi
40509e:	e8 c9 c1 ff ff       	call   0x40126c
4050a3:	89 c3                	mov    %eax,%ebx
4050a5:	85 db                	test   %ebx,%ebx
4050a7:	74 2f                	je     0x4050d8
4050a9:	68 05 01 00 00       	push   $0x105
4050ae:	8d 85 b1 fd ff ff    	lea    -0x24f(%ebp),%eax
4050b4:	50                   	push   %eax
4050b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4050b8:	50                   	push   %eax
4050b9:	ff d3                	call   *%ebx
4050bb:	85 c0                	test   %eax,%eax
4050bd:	74 19                	je     0x4050d8
4050bf:	8b 45 f8             	mov    -0x8(%ebp),%eax
4050c2:	50                   	push   %eax
4050c3:	8d 85 b1 fd ff ff    	lea    -0x24f(%ebp),%eax
4050c9:	50                   	push   %eax
4050ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
4050cd:	50                   	push   %eax
4050ce:	e8 c1 c1 ff ff       	call   0x401294
4050d3:	e9 22 01 00 00       	jmp    0x4051fa
4050d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4050db:	80 38 5c             	cmpb   $0x5c,(%eax)
4050de:	75 38                	jne    0x405118
4050e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4050e3:	80 78 01 5c          	cmpb   $0x5c,0x1(%eax)
4050e7:	0f 85 0d 01 00 00    	jne    0x4051fa
4050ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
4050f0:	83 c0 02             	add    $0x2,%eax
4050f3:	e8 64 ff ff ff       	call   0x40505c
4050f8:	8b f0                	mov    %eax,%esi
4050fa:	80 3e 00             	cmpb   $0x0,(%esi)
4050fd:	0f 84 f7 00 00 00    	je     0x4051fa
405103:	8d 46 01             	lea    0x1(%esi),%eax
405106:	e8 51 ff ff ff       	call   0x40505c
40510b:	8b f0                	mov    %eax,%esi
40510d:	80 3e 00             	cmpb   $0x0,(%esi)
405110:	0f 84 e4 00 00 00    	je     0x4051fa
405116:	eb 06                	jmp    0x40511e
405118:	8b 75 fc             	mov    -0x4(%ebp),%esi
40511b:	83 c6 02             	add    $0x2,%esi
40511e:	8b de                	mov    %esi,%ebx
405120:	2b 5d fc             	sub    -0x4(%ebp),%ebx
405123:	8d 43 01             	lea    0x1(%ebx),%eax
405126:	50                   	push   %eax
405127:	8b 45 fc             	mov    -0x4(%ebp),%eax
40512a:	50                   	push   %eax
40512b:	8d 85 b1 fd ff ff    	lea    -0x24f(%ebp),%eax
405131:	50                   	push   %eax
405132:	e8 5d c1 ff ff       	call   0x401294
405137:	e9 a1 00 00 00       	jmp    0x4051dd
40513c:	8d 46 01             	lea    0x1(%esi),%eax
40513f:	e8 18 ff ff ff       	call   0x40505c
405144:	8b f8                	mov    %eax,%edi
405146:	8b c7                	mov    %edi,%eax
405148:	2b c6                	sub    %esi,%eax
40514a:	8b d0                	mov    %eax,%edx
40514c:	03 d3                	add    %ebx,%edx
40514e:	42                   	inc    %edx
40514f:	81 fa 05 01 00 00    	cmp    $0x105,%edx
405155:	0f 8f 9f 00 00 00    	jg     0x4051fa
40515b:	40                   	inc    %eax
40515c:	50                   	push   %eax
40515d:	56                   	push   %esi
40515e:	8d 85 b1 fd ff ff    	lea    -0x24f(%ebp),%eax
405164:	03 c3                	add    %ebx,%eax
405166:	50                   	push   %eax
405167:	e8 28 c1 ff ff       	call   0x401294
40516c:	8d 85 b6 fe ff ff    	lea    -0x14a(%ebp),%eax
405172:	50                   	push   %eax
405173:	8d 85 b1 fd ff ff    	lea    -0x24f(%ebp),%eax
405179:	50                   	push   %eax
40517a:	e8 bd c0 ff ff       	call   0x40123c
40517f:	8b f0                	mov    %eax,%esi
405181:	83 fe ff             	cmp    $0xffffffff,%esi
405184:	74 74                	je     0x4051fa
405186:	56                   	push   %esi
405187:	e8 a8 c0 ff ff       	call   0x401234
40518c:	8d 85 e2 fe ff ff    	lea    -0x11e(%ebp),%eax
405192:	50                   	push   %eax
405193:	e8 04 c1 ff ff       	call   0x40129c
405198:	8d 53 01             	lea    0x1(%ebx),%edx
40519b:	03 c2                	add    %edx,%eax
40519d:	40                   	inc    %eax
40519e:	3d 05 01 00 00       	cmp    $0x105,%eax
4051a3:	7f 55                	jg     0x4051fa
4051a5:	c6 84 1d b1 fd ff ff 	movb   $0x5c,-0x24f(%ebp,%ebx,1)
4051ac:	5c
4051ad:	b8 05 01 00 00       	mov    $0x105,%eax
4051b2:	2b c3                	sub    %ebx,%eax
4051b4:	48                   	dec    %eax
4051b5:	50                   	push   %eax
4051b6:	8d 85 e2 fe ff ff    	lea    -0x11e(%ebp),%eax
4051bc:	50                   	push   %eax
4051bd:	8d 85 b1 fd ff ff    	lea    -0x24f(%ebp),%eax
4051c3:	03 c3                	add    %ebx,%eax
4051c5:	40                   	inc    %eax
4051c6:	50                   	push   %eax
4051c7:	e8 c8 c0 ff ff       	call   0x401294
4051cc:	8d 85 e2 fe ff ff    	lea    -0x11e(%ebp),%eax
4051d2:	50                   	push   %eax
4051d3:	e8 c4 c0 ff ff       	call   0x40129c
4051d8:	40                   	inc    %eax
4051d9:	03 d8                	add    %eax,%ebx
4051db:	8b f7                	mov    %edi,%esi
4051dd:	80 3e 00             	cmpb   $0x0,(%esi)
4051e0:	0f 85 56 ff ff ff    	jne    0x40513c
4051e6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4051e9:	50                   	push   %eax
4051ea:	8d 85 b1 fd ff ff    	lea    -0x24f(%ebp),%eax
4051f0:	50                   	push   %eax
4051f1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4051f4:	50                   	push   %eax
4051f5:	e8 9a c0 ff ff       	call   0x401294
4051fa:	8b 45 f4             	mov    -0xc(%ebp),%eax
4051fd:	5f                   	pop    %edi
4051fe:	5e                   	pop    %esi
4051ff:	5b                   	pop    %ebx
405200:	8b e5                	mov    %ebp,%esp
405202:	5d                   	pop    %ebp
405203:	c3                   	ret
405204:	6b 65 72 6e          	imul   $0x6e,0x72(%ebp),%esp
405208:	65 6c                	gs insb (%dx),%es:(%edi)
40520a:	33 32                	xor    (%edx),%esi
40520c:	2e 64 6c             	cs fs insb (%dx),%es:(%edi)
40520f:	6c                   	insb   (%dx),%es:(%edi)
405210:	00 00                	add    %al,(%eax)
405212:	00 00                	add    %al,(%eax)
405214:	47                   	inc    %edi
405215:	65 74 4c             	gs je  0x405264
405218:	6f                   	outsl  %ds:(%esi),(%dx)
405219:	6e                   	outsb  %ds:(%esi),(%dx)
40521a:	67 50                	addr16 push %eax
40521c:	61                   	popa
40521d:	74 68                	je     0x405287
40521f:	4e                   	dec    %esi
405220:	61                   	popa
405221:	6d                   	insl   (%dx),%es:(%edi)
405222:	65 41                	gs inc %ecx
405224:	00 00                	add    %al,(%eax)
405226:	00 00                	add    %al,(%eax)
405228:	55                   	push   %ebp
405229:	8b ec                	mov    %esp,%ebp
40522b:	81 c4 e0 fe ff ff    	add    $0xfffffee0,%esp
405231:	53                   	push   %ebx
405232:	56                   	push   %esi
405233:	89 45 fc             	mov    %eax,-0x4(%ebp)
405236:	68 05 01 00 00       	push   $0x105
40523b:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405241:	50                   	push   %eax
405242:	6a 00                	push   $0x0
405244:	e8 13 c0 ff ff       	call   0x40125c
405249:	c6 45 ee 00          	movb   $0x0,-0x12(%ebp)
40524d:	8d 45 f8             	lea    -0x8(%ebp),%eax
405250:	50                   	push   %eax
405251:	68 19 00 0f 00       	push   $0xf0019
405256:	6a 00                	push   $0x0
405258:	68 58 54 40 00       	push   $0x405458
40525d:	68 01 00 00 80       	push   $0x80000001
405262:	e8 4d c0 ff ff       	call   0x4012b4
405267:	85 c0                	test   %eax,%eax
405269:	74 40                	je     0x4052ab
40526b:	8d 45 f8             	lea    -0x8(%ebp),%eax
40526e:	50                   	push   %eax
40526f:	68 19 00 0f 00       	push   $0xf0019
405274:	6a 00                	push   $0x0
405276:	68 58 54 40 00       	push   $0x405458
40527b:	68 02 00 00 80       	push   $0x80000002
405280:	e8 2f c0 ff ff       	call   0x4012b4
405285:	85 c0                	test   %eax,%eax
405287:	74 22                	je     0x4052ab
405289:	8d 45 f8             	lea    -0x8(%ebp),%eax
40528c:	50                   	push   %eax
40528d:	68 19 00 0f 00       	push   $0xf0019
405292:	6a 00                	push   $0x0
405294:	68 74 54 40 00       	push   $0x405474
405299:	68 01 00 00 80       	push   $0x80000001
40529e:	e8 11 c0 ff ff       	call   0x4012b4
4052a3:	85 c0                	test   %eax,%eax
4052a5:	0f 85 89 00 00 00    	jne    0x405334
4052ab:	33 c0                	xor    %eax,%eax
4052ad:	55                   	push   %ebp
4052ae:	68 2d 53 40 00       	push   $0x40532d
4052b3:	64 ff 30             	push   %fs:(%eax)
4052b6:	64 89 20             	mov    %esp,%fs:(%eax)
4052b9:	c7 45 e8 05 00 00 00 	movl   $0x5,-0x18(%ebp)
4052c0:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4052c6:	ba 05 01 00 00       	mov    $0x105,%edx
4052cb:	e8 a0 fd ff ff       	call   0x405070
4052d0:	8d 45 e8             	lea    -0x18(%ebp),%eax
4052d3:	50                   	push   %eax
4052d4:	8d 45 ee             	lea    -0x12(%ebp),%eax
4052d7:	50                   	push   %eax
4052d8:	6a 00                	push   $0x0
4052da:	6a 00                	push   $0x0
4052dc:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4052e2:	50                   	push   %eax
4052e3:	8b 45 f8             	mov    -0x8(%ebp),%eax