404d5f:	e8 d2 fd ff ff       	call   0x404b36
404d64:	8b 44 24 0c          	mov    0xc(%esp),%eax
404d68:	33 db                	xor    %ebx,%ebx
404d6a:	6a 20                	push   $0x20
404d6c:	8b ce                	mov    %esi,%ecx
404d6e:	89 46 28             	mov    %eax,0x28(%esi)
404d71:	89 5e 2c             	mov    %ebx,0x2c(%esi)
404d74:	e8 a2 ff ff ff       	call   0x404d1b
404d79:	39 5e 28             	cmp    %ebx,0x28(%esi)
404d7c:	66 89 46 30          	mov    %ax,0x30(%esi)
404d80:	75 0f                	jne    0x404d91
404d82:	8b 46 08             	mov    0x8(%esi),%eax
404d85:	53                   	push   %ebx
404d86:	83 c8 04             	or     $0x4,%eax
404d89:	50                   	push   %eax
404d8a:	8b ce                	mov    %esi,%ecx
404d8c:	e8 9f d8 ff ff       	call   0x402630
404d91:	38 5c 24 10          	cmp    %bl,0x10(%esp)
404d95:	74 09                	je     0x404da0
404d97:	56                   	push   %esi
404d98:	e8 7f 05 00 00       	call   0x40531c
404d9d:	59                   	pop    %ecx
404d9e:	eb 03                	jmp    0x404da3
404da0:	89 5e 04             	mov    %ebx,0x4(%esi)
404da3:	5e                   	pop    %esi
404da4:	5b                   	pop    %ebx
404da5:	c2 08 00             	ret    $0x8
404da8:	6a 08                	push   $0x8
404daa:	b8 ba 5e 41 00       	mov    $0x415eba,%eax
404daf:	e8 37 1a 00 00       	call   0x4067eb
404db4:	8b f1                	mov    %ecx,%esi
404db6:	89 75 ec             	mov    %esi,-0x14(%ebp)
404db9:	33 c0                	xor    %eax,%eax
404dbb:	39 45 10             	cmp    %eax,0x10(%ebp)
404dbe:	89 45 f0             	mov    %eax,-0x10(%ebp)
404dc1:	74 17                	je     0x404dda
404dc3:	c7 06 fc 75 41 00    	movl   $0x4175fc,(%esi)
404dc9:	c7 46 04 fc 74 41 00 	movl   $0x4174fc,0x4(%esi)
404dd0:	89 45 fc             	mov    %eax,-0x4(%ebp)
404dd3:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
404dda:	8b 06                	mov    (%esi),%eax
404ddc:	8b 40 04             	mov    0x4(%eax),%eax
404ddf:	ff 75 0c             	push   0xc(%ebp)
404de2:	c7 04 06 f4 74 41 00 	movl   $0x4174f4,(%esi,%eax,1)
404de9:	8b 06                	mov    (%esi),%eax
404deb:	8b 48 04             	mov    0x4(%eax),%ecx
404dee:	ff 75 08             	push   0x8(%ebp)
404df1:	03 ce                	add    %esi,%ecx
404df3:	e8 63 ff ff ff       	call   0x404d5b
404df8:	8b c6                	mov    %esi,%eax
404dfa:	e8 8b 1a 00 00       	call   0x40688a
404dff:	c2 0c 00             	ret    $0xc
404e02:	ff 74 24 04          	push   0x4(%esp)
404e06:	ff 15 80 70 41 00    	call   *0x417080
404e0c:	c3                   	ret
404e0d:	ff 74 24 04          	push   0x4(%esp)
404e11:	ff 15 84 70 41 00    	call   *0x417084
404e17:	c3                   	ret
404e18:	ff 74 24 04          	push   0x4(%esp)
404e1c:	ff 15 88 70 41 00    	call   *0x417088
404e22:	c3                   	ret
404e23:	ff 74 24 04          	push   0x4(%esp)
404e27:	ff 15 8c 70 41 00    	call   *0x41708c
404e2d:	c3                   	ret
404e2e:	56                   	push   %esi
404e2f:	e8 92 44 00 00       	call   0x4092c6
404e34:	8b 40 04             	mov    0x4(%eax),%eax
404e37:	8b 74 24 08          	mov    0x8(%esp),%esi
404e3b:	89 06                	mov    %eax,(%esi)
404e3d:	e8 5e 44 00 00       	call   0x4092a0
404e42:	6a 02                	push   $0x2
404e44:	68 00 01 00 00       	push   $0x100
404e49:	89 46 04             	mov    %eax,0x4(%esi)
404e4c:	e8 db 44 00 00       	call   0x40932c
404e51:	85 c0                	test   %eax,%eax
404e53:	59                   	pop    %ecx
404e54:	59                   	pop    %ecx
404e55:	89 46 08             	mov    %eax,0x8(%esi)
404e58:	74 1f                	je     0x404e79
404e5a:	68 00 02 00 00       	push   $0x200
404e5f:	e8 c7 3f 00 00       	call   0x408e2b
404e64:	50                   	push   %eax
404e65:	ff 76 08             	push   0x8(%esi)
404e68:	e8 63 0d 00 00       	call   0x405bd0
404e6d:	83 c4 0c             	add    $0xc,%esp
404e70:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
404e77:	eb 0c                	jmp    0x404e85
404e79:	e8 ad 3f 00 00       	call   0x408e2b
404e7e:	83 66 0c 00          	andl   $0x0,0xc(%esi)
404e82:	89 46 08             	mov    %eax,0x8(%esi)
404e85:	8b c6                	mov    %esi,%eax
404e87:	5e                   	pop    %esi
404e88:	c3                   	ret
404e89:	55                   	push   %ebp
404e8a:	8b ec                	mov    %esp,%ebp
404e8c:	8b 45 14             	mov    0x14(%ebp),%eax
404e8f:	85 c0                	test   %eax,%eax
404e91:	56                   	push   %esi
404e92:	57                   	push   %edi
404e93:	75 11                	jne    0x404ea6
404e95:	e8 2c 44 00 00       	call   0x4092c6
404e9a:	8b 70 08             	mov    0x8(%eax),%esi
404e9d:	e8 fe 43 00 00       	call   0x4092a0
404ea2:	8b f8                	mov    %eax,%edi
404ea4:	eb 05                	jmp    0x404eab
404ea6:	8b 30                	mov    (%eax),%esi
404ea8:	8b 78 04             	mov    0x4(%eax),%edi
404eab:	85 f6                	test   %esi,%esi
404ead:	75 14                	jne    0x404ec3
404eaf:	66 8b 45 0c          	mov    0xc(%ebp),%ax
404eb3:	66 3d ff 00          	cmp    $0xff,%ax
404eb7:	77 3f                	ja     0x404ef8
404eb9:	8b 4d 08             	mov    0x8(%ebp),%ecx
404ebc:	88 01                	mov    %al,(%ecx)
404ebe:	33 c0                	xor    %eax,%eax
404ec0:	40                   	inc    %eax
404ec1:	eb 43                	jmp    0x404f06
404ec3:	83 65 14 00          	andl   $0x0,0x14(%ebp)
404ec7:	57                   	push   %edi
404ec8:	e8 62 05 00 00       	call   0x40542f
404ecd:	59                   	pop    %ecx
404ece:	8d 4d 14             	lea    0x14(%ebp),%ecx
404ed1:	51                   	push   %ecx
404ed2:	6a 00                	push   $0x0
404ed4:	50                   	push   %eax
404ed5:	e8 b0 43 00 00       	call   0x40928a
404eda:	59                   	pop    %ecx
404edb:	50                   	push   %eax
404edc:	ff 75 08             	push   0x8(%ebp)
404edf:	8d 45 0c             	lea    0xc(%ebp),%eax
404ee2:	6a 01                	push   $0x1
404ee4:	50                   	push   %eax
404ee5:	6a 00                	push   $0x0
404ee7:	57                   	push   %edi
404ee8:	ff 15 90 70 41 00    	call   *0x417090
404eee:	85 c0                	test   %eax,%eax
404ef0:	74 06                	je     0x404ef8
404ef2:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
404ef6:	74 0e                	je     0x404f06
404ef8:	e8 fd 44 00 00       	call   0x4093fa
404efd:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
404f03:	83 c8 ff             	or     $0xffffffff,%eax
404f06:	5f                   	pop    %edi
404f07:	5e                   	pop    %esi
404f08:	5d                   	pop    %ebp
404f09:	c3                   	ret
404f0a:	56                   	push   %esi
404f0b:	e8 b6 43 00 00       	call   0x4092c6
404f10:	8b 70 08             	mov    0x8(%eax),%esi
404f13:	e8 88 43 00 00       	call   0x4092a0
404f18:	8b d0                	mov    %eax,%edx
404f1a:	8b c6                	mov    %esi,%eax
404f1c:	5e                   	pop    %esi
404f1d:	c3                   	ret
404f1e:	57                   	push   %edi
404f1f:	68 60 c4 41 00       	push   $0x41c460
404f24:	8b f9                	mov    %ecx,%edi
404f26:	ff 15 94 70 41 00    	call   *0x417094
404f2c:	85 c0                	test   %eax,%eax
404f2e:	75 19                	jne    0x404f49
404f30:	56                   	push   %esi
404f31:	be c0 d7 41 00       	mov    $0x41d7c0,%esi
404f36:	56                   	push   %esi
404f37:	e8 c6 fe ff ff       	call   0x404e02
404f3c:	83 c6 18             	add    $0x18,%esi
404f3f:	81 fe 20 d8 41 00    	cmp    $0x41d820,%esi
404f45:	59                   	pop    %ecx
404f46:	7c ee                	jl     0x404f36
404f48:	5e                   	pop    %esi
404f49:	8b c7                	mov    %edi,%eax
404f4b:	5f                   	pop    %edi
404f4c:	c3                   	ret
404f4d:	68 60 c4 41 00       	push   $0x41c460
404f52:	ff 15 98 70 41 00    	call   *0x417098
404f58:	85 c0                	test   %eax,%eax
404f5a:	7d 19                	jge    0x404f75
404f5c:	56                   	push   %esi
404f5d:	be c0 d7 41 00       	mov    $0x41d7c0,%esi
404f62:	56                   	push   %esi
404f63:	e8 a5 fe ff ff       	call   0x404e0d
404f68:	83 c6 18             	add    $0x18,%esi
404f6b:	81 fe 20 d8 41 00    	cmp    $0x41d820,%esi
404f71:	59                   	pop    %ecx
404f72:	7c ee                	jl     0x404f62
404f74:	5e                   	pop    %esi
404f75:	c3                   	ret
404f76:	8b 44 24 04          	mov    0x4(%esp),%eax
404f7a:	83 e0 03             	and    $0x3,%eax
404f7d:	56                   	push   %esi
404f7e:	8b f1                	mov    %ecx,%esi
404f80:	89 06                	mov    %eax,(%esi)
404f82:	6b c0 18             	imul   $0x18,%eax,%eax
404f85:	05 c0 d7 41 00       	add    $0x41d7c0,%eax
404f8a:	50                   	push   %eax
404f8b:	e8 88 fe ff ff       	call   0x404e18
404f90:	59                   	pop    %ecx
404f91:	8b c6                	mov    %esi,%eax
404f93:	5e                   	pop    %esi
404f94:	c2 04 00             	ret    $0x4
404f97:	8b 01                	mov    (%ecx),%eax
404f99:	6b c0 18             	imul   $0x18,%eax,%eax
404f9c:	05 c0 d7 41 00       	add    $0x41d7c0,%eax
404fa1:	50                   	push   %eax
404fa2:	e8 7c fe ff ff       	call   0x404e23
404fa7:	59                   	pop    %ecx
404fa8:	c3                   	ret
404fa9:	8b 49 04             	mov    0x4(%ecx),%ecx
404fac:	e8 95 e5 ff ff       	call   0x403546
404fb1:	85 c0                	test   %eax,%eax
404fb3:	74 08                	je     0x404fbd
404fb5:	8b 10                	mov    (%eax),%edx
404fb7:	6a 01                	push   $0x1
404fb9:	8b c8                	mov    %eax,%ecx
404fbb:	ff 12                	call   *(%edx)
404fbd:	c3                   	ret
404fbe:	8b 44 24 04          	mov    0x4(%esp),%eax
404fc2:	8b 08                	mov    (%eax),%ecx
404fc4:	85 c9                	test   %ecx,%ecx
404fc6:	74 11                	je     0x404fd9
404fc8:	e8 79 e5 ff ff       	call   0x403546
404fcd:	85 c0                	test   %eax,%eax
404fcf:	74 08                	je     0x404fd9
404fd1:	8b 10                	mov    (%eax),%edx
404fd3:	6a 01                	push   $0x1
404fd5:	8b c8                	mov    %eax,%ecx
404fd7:	ff 12                	call   *(%edx)
404fd9:	c3                   	ret
404fda:	55                   	push   %ebp
404fdb:	8b ec                	mov    %esp,%ebp
404fdd:	51                   	push   %ecx
404fde:	6a 00                	push   $0x0
404fe0:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404fe3:	e8 8e ff ff ff       	call   0x404f76
404fe8:	68 28 d8 41 00       	push   $0x41d828
404fed:	e8 cc ff ff ff       	call   0x404fbe
404ff2:	83 25 28 d8 41 00 00 	andl   $0x0,0x41d828
404ff9:	59                   	pop    %ecx
404ffa:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404ffd:	e8 95 ff ff ff       	call   0x404f97
405002:	c9                   	leave
405003:	c3                   	ret
405004:	a1 28 d8 41 00       	mov    0x41d828,%eax
405009:	c3                   	ret
40500a:	80 3d 4c d8 41 00 00 	cmpb   $0x0,0x41d84c
405011:	75 12                	jne    0x405025
405013:	68 da 4f 40 00       	push   $0x404fda
405018:	c6 05 4c d8 41 00 01 	movb   $0x1,0x41d84c
40501f:	e8 86 03 00 00       	call   0x4053aa
405024:	59                   	pop    %ecx
405025:	8b 44 24 04          	mov    0x4(%esp),%eax
405029:	a3 28 d8 41 00       	mov    %eax,0x41d828
40502e:	c3                   	ret
40502f:	6a 04                	push   $0x4
405031:	b8 dd 5e 41 00       	mov    $0x415edd,%eax
405036:	e8 b0 17 00 00       	call   0x4067eb
40503b:	6a 00                	push   $0x0
40503d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
405040:	e8 31 ff ff ff       	call   0x404f76
405045:	8b 7d 08             	mov    0x8(%ebp),%edi
405048:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40504c:	8b 77 0c             	mov    0xc(%edi),%esi
40504f:	eb 1f                	jmp    0x405070
405051:	8b 47 08             	mov    0x8(%edi),%eax
405054:	4e                   	dec    %esi
405055:	8d 04 b0             	lea    (%eax,%esi,4),%eax
405058:	83 38 00             	cmpl   $0x0,(%eax)
40505b:	74 13                	je     0x405070
40505d:	8b 08                	mov    (%eax),%ecx
40505f:	e8 e2 e4 ff ff       	call   0x403546
405064:	85 c0                	test   %eax,%eax
405066:	74 08                	je     0x405070
405068:	8b 10                	mov    (%eax),%edx
40506a:	6a 01                	push   $0x1
40506c:	8b c8                	mov    %eax,%ecx
40506e:	ff 12                	call   *(%edx)
405070:	85 f6                	test   %esi,%esi
405072:	77 dd                	ja     0x405051
405074:	ff 77 08             	push   0x8(%edi)
405077:	e8 d7 13 00 00       	call   0x406453
40507c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
405080:	59                   	pop    %ecx
405081:	8d 4d f0             	lea    -0x10(%ebp),%ecx
405084:	e8 0e ff ff ff       	call   0x404f97
405089:	e8 fc 17 00 00       	call   0x40688a
40508e:	c3                   	ret
40508f:	55                   	push   %ebp
405090:	8b ec                	mov    %esp,%ebp
405092:	51                   	push   %ecx
405093:	6a 00                	push   $0x0
405095:	8d 4d fc             	lea    -0x4(%ebp),%ecx
405098:	e8 d9 fe ff ff       	call   0x404f76
40509d:	a1 24 d8 41 00       	mov    0x41d824,%eax
4050a2:	85 c0                	test   %eax,%eax
4050a4:	74 22                	je     0x4050c8
4050a6:	56                   	push   %esi
4050a7:	8b f0                	mov    %eax,%esi
4050a9:	8b 00                	mov    (%eax),%eax
4050ab:	8b ce                	mov    %esi,%ecx
4050ad:	a3 24 d8 41 00       	mov    %eax,0x41d824
4050b2:	e8 f2 fe ff ff       	call   0x404fa9
4050b7:	56                   	push   %esi
4050b8:	e8 72 09 00 00       	call   0x405a2f
4050bd:	a1 24 d8 41 00       	mov    0x41d824,%eax
4050c2:	85 c0                	test   %eax,%eax
4050c4:	59                   	pop    %ecx
4050c5:	75 e0                	jne    0x4050a7
4050c7:	5e                   	pop    %esi
4050c8:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4050cb:	e8 c7 fe ff ff       	call   0x404f97
4050d0:	c9                   	leave
4050d1:	c3                   	ret
4050d2:	83 3d 24 d8 41 00 00 	cmpl   $0x0,0x41d824
4050d9:	75 0b                	jne    0x4050e6
4050db:	68 8f 50 40 00       	push   $0x40508f
4050e0:	e8 c5 02 00 00       	call   0x4053aa
4050e5:	59                   	pop    %ecx
4050e6:	6a 08                	push   $0x8
4050e8:	e8 eb 0e 00 00       	call   0x405fd8
4050ed:	85 c0                	test   %eax,%eax
4050ef:	59                   	pop    %ecx
4050f0:	74 11                	je     0x405103
4050f2:	8b 0d 24 d8 41 00    	mov    0x41d824,%ecx
4050f8:	89 08                	mov    %ecx,(%eax)
4050fa:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4050fe:	89 48 04             	mov    %ecx,0x4(%eax)
405101:	eb 02                	jmp    0x405105
405103:	33 c0                	xor    %eax,%eax
405105:	a3 24 d8 41 00       	mov    %eax,0x41d824
40510a:	c3                   	ret
40510b:	8b 44 24 04          	mov    0x4(%esp),%eax
40510f:	83 78 50 00          	cmpl   $0x0,0x50(%eax)
405113:	76 18                	jbe    0x40512d
405115:	83 78 54 10          	cmpl   $0x10,0x54(%eax)
405119:	72 05                	jb     0x405120
40511b:	8b 40 40             	mov    0x40(%eax),%eax
40511e:	eb 03                	jmp    0x405123
405120:	83 c0 40             	add    $0x40,%eax
405123:	50                   	push   %eax
405124:	6a 00                	push   $0x0
405126:	e8 f4 51 00 00       	call   0x40a31f
40512b:	59                   	pop    %ecx
40512c:	59                   	pop    %ecx
40512d:	c3                   	ret
40512e:	6a 04                	push   $0x4
405130:	b8 00 5f 41 00       	mov    $0x415f00,%eax
405135:	e8 b1 16 00 00       	call   0x4067eb
40513a:	8b f1                	mov    %ecx,%esi
40513c:	89 75 f0             	mov    %esi,-0x10(%ebp)
40513f:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
405146:	33 c0                	xor    %eax,%eax