404d83:	c7 84 24 bc 00 00 00 	movl   $0x4d2,0xbc(%esp)
404d8a:	d2 04 00 00
404d8e:	50                   	push   %eax
404d8f:	89 8c 24 c4 00 00 00 	mov    %ecx,0xc4(%esp)
404d96:	89 8c 24 c8 00 00 00 	mov    %ecx,0xc8(%esp)
404d9d:	89 8c 24 cc 00 00 00 	mov    %ecx,0xcc(%esp)
404da4:	c7 84 24 d0 00 00 00 	movl   $0x401890,0xd0(%esp)
404dab:	90 18 40 00
404daf:	c7 84 24 d4 00 00 00 	movl   $0x4018e8,0xd4(%esp)
404db6:	e8 18 40 00
404dba:	89 8c 24 98 00 00 00 	mov    %ecx,0x98(%esp)
404dc1:	c7 84 24 9c 00 00 00 	movl   $0x4018c4,0x9c(%esp)
404dc8:	c4 18 40 00
404dcc:	89 8c 24 a4 00 00 00 	mov    %ecx,0xa4(%esp)
404dd3:	c7 84 24 a8 00 00 00 	movl   $0xa,0xa8(%esp)
404dda:	0a 00 00 00
404dde:	ff 15 0c e0 40 00    	call   *0x40e00c
404de4:	8b f0                	mov    %eax,%esi
404de6:	85 f6                	test   %esi,%esi
404de8:	75 77                	jne    0x404e61
404dea:	ff 35 1c d7 40 00    	push   0x40d71c
404df0:	89 3d 20 d7 40 00    	mov    %edi,0x40d720
404df6:	ff 15 08 e0 40 00    	call   *0x40e008
404dfc:	8b f0                	mov    %eax,%esi
404dfe:	85 f6                	test   %esi,%esi
404e00:	74 41                	je     0x404e43
404e02:	a1 00 d0 40 00       	mov    0x40d000,%eax
404e07:	3d 00 d0 40 00       	cmp    $0x40d000,%eax
404e0c:	74 1a                	je     0x404e28
404e0e:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
404e12:	72 14                	jb     0x404e28
404e14:	56                   	push   %esi
404e15:	ff 70 14             	push   0x14(%eax)
404e18:	ba d4 18 40 00       	mov    $0x4018d4,%edx
404e1d:	ff 70 10             	push   0x10(%eax)
404e20:	6a 0b                	push   $0xb
404e22:	59                   	pop    %ecx
404e23:	e8 83 f1 ff ff       	call   0x403fab
404e28:	81 ce 00 00 01 80    	or     $0x80010000,%esi
404e2e:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
404e32:	56                   	push   %esi
404e33:	e8 36 f0 ff ff       	call   0x403e6e
404e38:	68 a4 c6 40 00       	push   $0x40c6a4
404e3d:	8d 44 24 10          	lea    0x10(%esp),%eax
404e41:	eb 5f                	jmp    0x404ea2
404e43:	8b 8c 24 fc 00 00 00 	mov    0xfc(%esp),%ecx
404e4a:	5f                   	pop    %edi
404e4b:	5e                   	pop    %esi
404e4c:	33 cc                	xor    %esp,%ecx
404e4e:	c7 05 20 d7 40 00 02 	movl   $0x2,0x40d720
404e55:	00 00 00
404e58:	e8 03 50 00 00       	call   0x409e60
404e5d:	8b e5                	mov    %ebp,%esp
404e5f:	5d                   	pop    %ebp
404e60:	c3                   	ret
404e61:	8b 15 00 d0 40 00    	mov    0x40d000,%edx
404e67:	81 fa 00 d0 40 00    	cmp    $0x40d000,%edx
404e6d:	74 1a                	je     0x404e89
404e6f:	80 7a 19 02          	cmpb   $0x2,0x19(%edx)
404e73:	72 14                	jb     0x404e89
404e75:	56                   	push   %esi
404e76:	ff 72 14             	push   0x14(%edx)
404e79:	ff 72 10             	push   0x10(%edx)
404e7c:	ba d4 18 40 00       	mov    $0x4018d4,%edx
404e81:	6a 0a                	push   $0xa
404e83:	59                   	pop    %ecx
404e84:	e8 22 f1 ff ff       	call   0x403fab
404e89:	81 ce 00 00 01 80    	or     $0x80010000,%esi
404e8f:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
404e93:	56                   	push   %esi
404e94:	e8 d5 ef ff ff       	call   0x403e6e
404e99:	68 a4 c6 40 00       	push   $0x40c6a4
404e9e:	8d 44 24 10          	lea    0x10(%esp),%eax
404ea2:	50                   	push   %eax
404ea3:	e8 92 5c 00 00       	call   0x40ab3a
404ea8:	cc                   	int3
404ea9:	a1 20 d7 40 00       	mov    0x40d720,%eax
404eae:	83 e8 01             	sub    $0x1,%eax
404eb1:	74 77                	je     0x404f2a
404eb3:	83 e8 01             	sub    $0x1,%eax
404eb6:	0f 85 81 00 00 00    	jne    0x404f3d
404ebc:	56                   	push   %esi
404ebd:	57                   	push   %edi
404ebe:	33 f6                	xor    %esi,%esi
404ec0:	6a 00                	push   $0x0
404ec2:	ff 35 1c d7 40 00    	push   0x40d71c
404ec8:	ff 15 00 e0 40 00    	call   *0x40e000
404ece:	8b f8                	mov    %eax,%edi
404ed0:	81 ff bb 06 00 00    	cmp    $0x6bb,%edi
404ed6:	75 16                	jne    0x404eee
404ed8:	83 fe 01             	cmp    $0x1,%esi
404edb:	75 0b                	jne    0x404ee8
404edd:	68 f4 01 00 00       	push   $0x1f4
404ee2:	ff 15 04 e1 40 00    	call   *0x40e104
404ee8:	46                   	inc    %esi
404ee9:	83 fe 03             	cmp    $0x3,%esi
404eec:	7c d2                	jl     0x404ec0
404eee:	85 ff                	test   %edi,%edi
404ef0:	74 2c                	je     0x404f1e
404ef2:	a1 00 d0 40 00       	mov    0x40d000,%eax
404ef7:	3d 00 d0 40 00       	cmp    $0x40d000,%eax
404efc:	74 20                	je     0x404f1e
404efe:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
404f02:	72 1a                	jb     0x404f1e
404f04:	81 cf 00 00 01 80    	or     $0x80010000,%edi
404f0a:	ba d4 18 40 00       	mov    $0x4018d4,%edx
404f0f:	57                   	push   %edi
404f10:	ff 70 14             	push   0x14(%eax)
404f13:	ff 70 10             	push   0x10(%eax)
404f16:	6a 0c                	push   $0xc
404f18:	59                   	pop    %ecx
404f19:	e8 8d f0 ff ff       	call   0x403fab
404f1e:	5f                   	pop    %edi
404f1f:	c7 05 20 d7 40 00 01 	movl   $0x1,0x40d720
404f26:	00 00 00
404f29:	5e                   	pop    %esi
404f2a:	ff 35 1c d7 40 00    	push   0x40d71c
404f30:	ff 15 04 e0 40 00    	call   *0x40e004
404f36:	83 25 20 d7 40 00 00 	andl   $0x0,0x40d720
404f3d:	c3                   	ret
404f3e:	8b ff                	mov    %edi,%edi
404f40:	55                   	push   %ebp
404f41:	8b ec                	mov    %esp,%ebp
404f43:	51                   	push   %ecx
404f44:	51                   	push   %ecx
404f45:	56                   	push   %esi
404f46:	8b f1                	mov    %ecx,%esi
404f48:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404f4b:	68 f8 d5 40 00       	push   $0x40d5f8
404f50:	e8 df fb ff ff       	call   0x404b34
404f55:	80 3e 00             	cmpb   $0x0,(%esi)
404f58:	74 11                	je     0x404f6b
404f5a:	83 2d 24 d7 40 00 01 	subl   $0x1,0x40d724
404f61:	c6 06 00             	movb   $0x0,(%esi)
404f64:	75 05                	jne    0x404f6b
404f66:	e8 3e ff ff ff       	call   0x404ea9
404f6b:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404f6e:	e8 92 fb ff ff       	call   0x404b05
404f73:	5e                   	pop    %esi
404f74:	c9                   	leave
404f75:	c3                   	ret
404f76:	8b ff                	mov    %edi,%edi
404f78:	55                   	push   %ebp
404f79:	8b ec                	mov    %esp,%ebp
404f7b:	8b 45 08             	mov    0x8(%ebp),%eax
404f7e:	8d 4d 10             	lea    0x10(%ebp),%ecx
404f81:	51                   	push   %ecx
404f82:	ff 75 0c             	push   0xc(%ebp)
404f85:	6a 20                	push   $0x20
404f87:	50                   	push   %eax
404f88:	e8 a9 59 00 00       	call   0x40a936
404f8d:	83 c4 10             	add    $0x10,%esp
404f90:	5d                   	pop    %ebp
404f91:	c3                   	ret
404f92:	8b ff                	mov    %edi,%edi
404f94:	55                   	push   %ebp
404f95:	8b ec                	mov    %esp,%ebp
404f97:	8b 45 14             	mov    0x14(%ebp),%eax
404f9a:	8d 4d 18             	lea    0x18(%ebp),%ecx
404f9d:	6a 00                	push   $0x0
404f9f:	6a 04                	push   $0x4
404fa1:	51                   	push   %ecx
404fa2:	6a 10                	push   $0x10
404fa4:	50                   	push   %eax
404fa5:	6a 04                	push   $0x4
404fa7:	8d 45 10             	lea    0x10(%ebp),%eax
404faa:	50                   	push   %eax
404fab:	6a 17                	push   $0x17
404fad:	68 3c 1e 40 00       	push   $0x401e3c
404fb2:	6a 2b                	push   $0x2b
404fb4:	ff 75 0c             	push   0xc(%ebp)
404fb7:	ff 75 08             	push   0x8(%ebp)
404fba:	ff 15 dc e1 40 00    	call   *0x40e1dc
404fc0:	83 c4 30             	add    $0x30,%esp
404fc3:	5d                   	pop    %ebp
404fc4:	c2 14 00             	ret    $0x14
404fc7:	8b ff                	mov    %edi,%edi
404fc9:	55                   	push   %ebp
404fca:	8b ec                	mov    %esp,%ebp
404fcc:	51                   	push   %ecx
404fcd:	8b 55 14             	mov    0x14(%ebp),%edx
404fd0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404fd4:	53                   	push   %ebx
404fd5:	56                   	push   %esi
404fd6:	8b 75 10             	mov    0x10(%ebp),%esi
404fd9:	57                   	push   %edi
404fda:	6a 0a                	push   $0xa
404fdc:	5f                   	pop    %edi
404fdd:	85 d2                	test   %edx,%edx
404fdf:	74 1e                	je     0x404fff
404fe1:	8b ca                	mov    %edx,%ecx
404fe3:	8d 59 02             	lea    0x2(%ecx),%ebx
404fe6:	66 8b 01             	mov    (%ecx),%ax
404fe9:	83 c1 02             	add    $0x2,%ecx
404fec:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
404ff0:	75 f4                	jne    0x404fe6
404ff2:	2b cb                	sub    %ebx,%ecx
404ff4:	d1 f9                	sar    $1,%ecx
404ff6:	8d 1c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ebx
404ffd:	eb 02                	jmp    0x405001
404fff:	8b df                	mov    %edi,%ebx
405001:	85 d2                	test   %edx,%edx
405003:	75 05                	jne    0x40500a
405005:	ba b0 1d 40 00       	mov    $0x401db0,%edx
40500a:	85 f6                	test   %esi,%esi
40500c:	74 20                	je     0x40502e
40500e:	8b ce                	mov    %esi,%ecx
405010:	8d 79 02             	lea    0x2(%ecx),%edi
405013:	66 8b 01             	mov    (%ecx),%ax
405016:	83 c1 02             	add    $0x2,%ecx
405019:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
40501d:	75 f4                	jne    0x405013
40501f:	2b cf                	sub    %edi,%ecx
405021:	d1 f9                	sar    $1,%ecx
405023:	8d 3c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%edi
40502a:	85 f6                	test   %esi,%esi
40502c:	75 05                	jne    0x405033
40502e:	be b0 1d 40 00       	mov    $0x401db0,%esi
405033:	33 c0                	xor    %eax,%eax
405035:	50                   	push   %eax
405036:	6a 04                	push   $0x4
405038:	8d 45 18             	lea    0x18(%ebp),%eax
40503b:	50                   	push   %eax
40503c:	53                   	push   %ebx
40503d:	52                   	push   %edx
40503e:	57                   	push   %edi
40503f:	56                   	push   %esi
405040:	6a 10                	push   $0x10
405042:	68 3c 1e 40 00       	push   $0x401e3c
405047:	6a 2b                	push   $0x2b
405049:	ff 75 0c             	push   0xc(%ebp)
40504c:	ff 75 08             	push   0x8(%ebp)
40504f:	ff 15 dc e1 40 00    	call   *0x40e1dc
405055:	83 c4 30             	add    $0x30,%esp
405058:	5f                   	pop    %edi
405059:	5e                   	pop    %esi
40505a:	5b                   	pop    %ebx
40505b:	c9                   	leave
40505c:	c2 14 00             	ret    $0x14
40505f:	8b ff                	mov    %edi,%edi
405061:	55                   	push   %ebp
405062:	8b ec                	mov    %esp,%ebp
405064:	8b 55 10             	mov    0x10(%ebp),%edx
405067:	56                   	push   %esi
405068:	57                   	push   %edi
405069:	85 d2                	test   %edx,%edx
40506b:	74 11                	je     0x40507e
40506d:	8b f2                	mov    %edx,%esi
40506f:	8d 7e 01             	lea    0x1(%esi),%edi
405072:	8a 06                	mov    (%esi),%al
405074:	46                   	inc    %esi
405075:	84 c0                	test   %al,%al
405077:	75 f9                	jne    0x405072
405079:	2b f7                	sub    %edi,%esi
40507b:	46                   	inc    %esi
40507c:	eb 03                	jmp    0x405081
40507e:	6a 05                	push   $0x5
405080:	5e                   	pop    %esi
405081:	85 d2                	test   %edx,%edx
405083:	75 05                	jne    0x40508a
405085:	ba bc 1d 40 00       	mov    $0x401dbc,%edx
40508a:	6a 00                	push   $0x0
40508c:	56                   	push   %esi
40508d:	52                   	push   %edx
40508e:	51                   	push   %ecx
40508f:	68 3c 1e 40 00       	push   $0x401e3c
405094:	6a 2b                	push   $0x2b
405096:	ff 75 0c             	push   0xc(%ebp)
405099:	ff 75 08             	push   0x8(%ebp)
40509c:	ff 15 dc e1 40 00    	call   *0x40e1dc
4050a2:	83 c4 20             	add    $0x20,%esp
4050a5:	5f                   	pop    %edi
4050a6:	5e                   	pop    %esi
4050a7:	5d                   	pop    %ebp
4050a8:	c2 0c 00             	ret    $0xc
4050ab:	8b ff                	mov    %edi,%edi
4050ad:	56                   	push   %esi
4050ae:	8b f1                	mov    %ecx,%esi
4050b0:	8b 06                	mov    (%esi),%eax
4050b2:	81 38 03 00 00 80    	cmpl   $0x80000003,(%eax)
4050b8:	74 1e                	je     0x4050d8
4050ba:	6a 00                	push   $0x0
4050bc:	ff 76 04             	push   0x4(%esi)
4050bf:	50                   	push   %eax
4050c0:	ff 15 e0 e1 40 00    	call   *0x40e1e0
4050c6:	8b 06                	mov    (%esi),%eax
4050c8:	8b 30                	mov    (%eax),%esi
4050ca:	ff 15 a8 e0 40 00    	call   *0x40e0a8
4050d0:	56                   	push   %esi
4050d1:	50                   	push   %eax
4050d2:	ff 15 b0 e0 40 00    	call   *0x40e0b0
4050d8:	33 c0                	xor    %eax,%eax
4050da:	5e                   	pop    %esi
4050db:	c3                   	ret
4050dc:	8b ff                	mov    %edi,%edi
4050de:	55                   	push   %ebp
4050df:	8b ec                	mov    %esp,%ebp
4050e1:	83 e4 f8             	and    $0xfffffff8,%esp
4050e4:	83 ec 6c             	sub    $0x6c,%esp
4050e7:	56                   	push   %esi
4050e8:	8b f1                	mov    %ecx,%esi
4050ea:	85 f6                	test   %esi,%esi
4050ec:	74 14                	je     0x405102
4050ee:	81 3e 48 6f 73 74    	cmpl   $0x74736f48,(%esi)
4050f4:	74 05                	je     0x4050fb
4050f6:	e8 ee 0e 00 00       	call   0x405fe9
4050fb:	8b c6                	mov    %esi,%eax
4050fd:	5e                   	pop    %esi
4050fe:	8b e5                	mov    %ebp,%esp
405100:	5d                   	pop    %ebp
405101:	c3                   	ret
405102:	a1 00 d0 40 00       	mov    0x40d000,%eax
405107:	3d 00 d0 40 00       	cmp    $0x40d000,%eax
40510c:	74 19                	je     0x405127
40510e:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
405112:	72 13                	jb     0x405127
405114:	68 c4 1d 40 00       	push   $0x401dc4
405119:	ff 70 14             	push   0x14(%eax)
40511c:	ff 70 10             	push   0x10(%eax)
40511f:	6a 0a                	push   $0xa
405121:	59                   	pop    %ecx
405122:	e8 38 ff ff ff       	call   0x40505f
405127:	68 03 40 00 80       	push   $0x80004003
40512c:	8d 4c 24 08          	lea    0x8(%esp),%ecx
405130:	e8 39 ed ff ff       	call   0x403e6e
405135:	68 a4 c6 40 00       	push   $0x40c6a4
40513a:	8d 44 24 08          	lea    0x8(%esp),%eax
40513e:	50                   	push   %eax
40513f:	e8 f6 59 00 00       	call   0x40ab3a
405144:	cc                   	int3
405145:	8b ff                	mov    %edi,%edi
405147:	55                   	push   %ebp
405148:	8b ec                	mov    %esp,%ebp
40514a:	83 e4 f8             	and    $0xfffffff8,%esp
40514d:	83 ec 6c             	sub    $0x6c,%esp
405150:	56                   	push   %esi
405151:	8b f1                	mov    %ecx,%esi
405153:	85 f6                	test   %esi,%esi
405155:	74 14                	je     0x40516b
405157:	81 3e 4e 4f 62 6a    	cmpl   $0x6a624f4e,(%esi)
40515d:	74 05                	je     0x405164
40515f:	e8 85 0e 00 00       	call   0x405fe9
405164:	8b c6                	mov    %esi,%eax
405166:	5e                   	pop    %esi
405167:	8b e5                	mov    %ebp,%esp
405169:	5d                   	pop    %ebp
40516a:	c3                   	ret
40516b:	a1 00 d0 40 00       	mov    0x40d000,%eax
405170:	3d 00 d0 40 00       	cmp    $0x40d000,%eax
405175:	74 19                	je     0x405190