40cfb6:	e8 d1 c2 ff ff       	call   0x40928c
40cfbb:	47                   	inc    %edi
40cfbc:	3b fe                	cmp    %esi,%edi
40cfbe:	7c f3                	jl     0x40cfb3
40cfc0:	8b 75 0c             	mov    0xc(%ebp),%esi
40cfc3:	33 db                	xor    %ebx,%ebx
40cfc5:	8b 7d 08             	mov    0x8(%ebp),%edi
40cfc8:	53                   	push   %ebx
40cfc9:	6a 02                	push   $0x2
40cfcb:	51                   	push   %ecx
40cfcc:	e8 cf be ff ff       	call   0x408ea0
40cfd1:	83 c4 0c             	add    $0xc,%esp
40cfd4:	85 c0                	test   %eax,%eax
40cfd6:	74 7b                	je     0x40d053
40cfd8:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40cfdb:	51                   	push   %ecx
40cfdc:	8b c8                	mov    %eax,%ecx
40cfde:	e8 b9 ce ff ff       	call   0x409e9c
40cfe3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40cfe6:	8b 16                	mov    (%esi),%edx
40cfe8:	8b 47 04             	mov    0x4(%edi),%eax
40cfeb:	8b 04 90             	mov    (%eax,%edx,4),%eax
40cfee:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
40cff3:	75 1e                	jne    0x40d013
40cff5:	8b 45 18             	mov    0x18(%ebp),%eax
40cff8:	8b 4d 14             	mov    0x14(%ebp),%ecx
40cffb:	ff 44 81 fc          	incl   -0x4(%ecx,%eax,4)
40cfff:	42                   	inc    %edx
40d000:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40d003:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d006:	89 16                	mov    %edx,(%esi)
40d008:	3b 57 08             	cmp    0x8(%edi),%edx
40d00b:	0f 82 1a ff ff ff    	jb     0x40cf2b
40d011:	eb 17                	jmp    0x40d02a
40d013:	8b 47 04             	mov    0x4(%edi),%eax
40d016:	8b 7d e8             	mov    -0x18(%ebp),%edi
40d019:	8b 04 90             	mov    (%eax,%edx,4),%eax
40d01c:	66 39 78 08          	cmp    %di,0x8(%eax)
40d020:	75 25                	jne    0x40d047
40d022:	8d 42 01             	lea    0x1(%edx),%eax
40d025:	33 db                	xor    %ebx,%ebx
40d027:	89 06                	mov    %eax,(%esi)
40d029:	43                   	inc    %ebx
40d02a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40d02d:	e8 ee c9 ff ff       	call   0x409a20
40d032:	5f                   	pop    %edi
40d033:	5e                   	pop    %esi
40d034:	8a c3                	mov    %bl,%al
40d036:	5b                   	pop    %ebx
40d037:	8b e5                	mov    %ebp,%esp
40d039:	5d                   	pop    %ebp
40d03a:	c2 14 00             	ret    $0x14
40d03d:	8b c3                	mov    %ebx,%eax
40d03f:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40d042:	e9 ca fe ff ff       	jmp    0x40cf11
40d047:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40d04b:	50                   	push   %eax
40d04c:	6a 6b                	push   $0x6b
40d04e:	e9 ed 59 03 00       	jmp    0x442a40
40d053:	ff 75 f0             	push   -0x10(%ebp)
40d056:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40d059:	6a 7a                	push   $0x7a
40d05b:	e9 e0 59 03 00       	jmp    0x442a40
40d060:	55                   	push   %ebp
40d061:	8b ec                	mov    %esp,%ebp
40d063:	51                   	push   %ecx
40d064:	51                   	push   %ecx
40d065:	8b 45 08             	mov    0x8(%ebp),%eax
40d068:	53                   	push   %ebx
40d069:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40d06c:	56                   	push   %esi
40d06d:	8b 50 08             	mov    0x8(%eax),%edx
40d070:	57                   	push   %edi
40d071:	33 ff                	xor    %edi,%edi
40d073:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40d076:	89 55 fc             	mov    %edx,-0x4(%ebp)
40d079:	3b da                	cmp    %edx,%ebx
40d07b:	73 48                	jae    0x40d0c5
40d07d:	8b 40 04             	mov    0x4(%eax),%eax
40d080:	8d 0c 98             	lea    (%eax,%ebx,4),%ecx
40d083:	89 4d 08             	mov    %ecx,0x8(%ebp)
40d086:	8b 01                	mov    (%ecx),%eax
40d088:	0f b7 70 08          	movzwl 0x8(%eax),%esi
40d08c:	66 83 fe 33          	cmp    $0x33,%si
40d090:	0f 84 b4 59 03 00    	je     0x442a4a
40d096:	66 83 fe 4e          	cmp    $0x4e,%si
40d09a:	74 3d                	je     0x40d0d9
40d09c:	66 83 fe 4f          	cmp    $0x4f,%si
40d0a0:	74 34                	je     0x40d0d6
40d0a2:	66 83 fe 47          	cmp    $0x47,%si
40d0a6:	74 31                	je     0x40d0d9
40d0a8:	66 83 fe 48          	cmp    $0x48,%si
40d0ac:	74 28                	je     0x40d0d6
40d0ae:	66 83 fe 40          	cmp    $0x40,%si
40d0b2:	74 1c                	je     0x40d0d0
40d0b4:	66 83 fe 7f          	cmp    $0x7f,%si
40d0b8:	74 0b                	je     0x40d0c5
40d0ba:	43                   	inc    %ebx
40d0bb:	83 c1 04             	add    $0x4,%ecx
40d0be:	89 4d 08             	mov    %ecx,0x8(%ebp)
40d0c1:	3b da                	cmp    %edx,%ebx
40d0c3:	72 c1                	jb     0x40d086
40d0c5:	33 c0                	xor    %eax,%eax
40d0c7:	5f                   	pop    %edi
40d0c8:	5e                   	pop    %esi
40d0c9:	5b                   	pop    %ebx
40d0ca:	8b e5                	mov    %ebp,%esp
40d0cc:	5d                   	pop    %ebp
40d0cd:	c2 0c 00             	ret    $0xc
40d0d0:	85 ff                	test   %edi,%edi
40d0d2:	75 e0                	jne    0x40d0b4
40d0d4:	eb ef                	jmp    0x40d0c5
40d0d6:	4f                   	dec    %edi
40d0d7:	eb e1                	jmp    0x40d0ba
40d0d9:	47                   	inc    %edi
40d0da:	eb de                	jmp    0x40d0ba
40d0dc:	55                   	push   %ebp
40d0dd:	8b ec                	mov    %esp,%ebp
40d0df:	83 ec 28             	sub    $0x28,%esp
40d0e2:	8b 55 18             	mov    0x18(%ebp),%edx
40d0e5:	33 c0                	xor    %eax,%eax
40d0e7:	83 4d f4 ff          	orl    $0xffffffff,-0xc(%ebp)
40d0eb:	53                   	push   %ebx
40d0ec:	89 45 dc             	mov    %eax,-0x24(%ebp)
40d0ef:	8b d9                	mov    %ecx,%ebx
40d0f1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40d0f4:	89 02                	mov    %eax,(%edx)
40d0f6:	8b 45 08             	mov    0x8(%ebp),%eax
40d0f9:	56                   	push   %esi
40d0fa:	8b 75 0c             	mov    0xc(%ebp),%esi
40d0fd:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40d104:	8b 40 04             	mov    0x4(%eax),%eax
40d107:	57                   	push   %edi
40d108:	8b 0e                	mov    (%esi),%ecx
40d10a:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40d10d:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40d110:	0f bf 78 0a          	movswl 0xa(%eax),%edi
40d114:	89 7d f8             	mov    %edi,-0x8(%ebp)
40d117:	6a 4e                	push   $0x4e
40d119:	59                   	pop    %ecx
40d11a:	66 39 48 08          	cmp    %cx,0x8(%eax)
40d11e:	0f 85 a5 00 00 00    	jne    0x40d1c9
40d124:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d127:	ff 06                	incl   (%esi)
40d129:	8b 3e                	mov    (%esi),%edi
40d12b:	89 7d f0             	mov    %edi,-0x10(%ebp)
40d12e:	8b 41 04             	mov    0x4(%ecx),%eax
40d131:	6a 4f                	push   $0x4f
40d133:	8b 04 b8             	mov    (%eax,%edi,4),%eax
40d136:	0f bf 78 0a          	movswl 0xa(%eax),%edi
40d13a:	89 7d f8             	mov    %edi,-0x8(%ebp)
40d13d:	5f                   	pop    %edi
40d13e:	66 39 78 08          	cmp    %di,0x8(%eax)
40d142:	8b 7d f8             	mov    -0x8(%ebp),%edi
40d145:	0f 84 34 59 03 00    	je     0x442a7f
40d14b:	6a ff                	push   $0xffffffff
40d14d:	8d 45 dc             	lea    -0x24(%ebp),%eax
40d150:	50                   	push   %eax
40d151:	56                   	push   %esi
40d152:	51                   	push   %ecx
40d153:	8b cb                	mov    %ebx,%ecx
40d155:	e8 a6 ce ff ff       	call   0x40a000
40d15a:	85 c0                	test   %eax,%eax
40d15c:	0f 88 d7 00 00 00    	js     0x40d239
40d162:	8b 45 08             	mov    0x8(%ebp),%eax
40d165:	8b 0e                	mov    (%esi),%ecx
40d167:	6a 4f                	push   $0x4f
40d169:	5a                   	pop    %edx
40d16a:	8b 40 04             	mov    0x4(%eax),%eax
40d16d:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40d170:	66 39 50 08          	cmp    %dx,0x8(%eax)
40d174:	0f 85 bf 00 00 00    	jne    0x40d239
40d17a:	8b 45 18             	mov    0x18(%ebp),%eax
40d17d:	83 38 40             	cmpl   $0x40,(%eax)
40d180:	0f 8f b3 00 00 00    	jg     0x40d239
40d186:	8d 41 01             	lea    0x1(%ecx),%eax
40d189:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d18c:	89 06                	mov    %eax,(%esi)
40d18e:	e8 09 cb ff ff       	call   0x409c9c
40d193:	85 c0                	test   %eax,%eax
40d195:	0f 88 9e 00 00 00    	js     0x40d239
40d19b:	8b 45 18             	mov    0x18(%ebp),%eax
40d19e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d1a1:	8b 30                	mov    (%eax),%esi
40d1a3:	e8 f4 ca ff ff       	call   0x409c9c
40d1a8:	8b 4d 14             	mov    0x14(%ebp),%ecx
40d1ab:	8b 55 18             	mov    0x18(%ebp),%edx
40d1ae:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
40d1b1:	8d 46 01             	lea    0x1(%esi),%eax
40d1b4:	8b 75 0c             	mov    0xc(%ebp),%esi
40d1b7:	89 02                	mov    %eax,(%edx)
40d1b9:	8b 45 08             	mov    0x8(%ebp),%eax
40d1bc:	8b 0e                	mov    (%esi),%ecx
40d1be:	8b 40 04             	mov    0x4(%eax),%eax
40d1c1:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40d1c4:	e9 4e ff ff ff       	jmp    0x40d117
40d1c9:	8b 75 10             	mov    0x10(%ebp),%esi
40d1cc:	83 7e 0c 0f          	cmpl   $0xf,0xc(%esi)
40d1d0:	74 4f                	je     0x40d221
40d1d2:	8b ce                	mov    %esi,%ecx
40d1d4:	e8 55 c2 ff ff       	call   0x40942e
40d1d9:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
40d1dd:	75 62                	jne    0x40d241
40d1df:	8b 0e                	mov    (%esi),%ecx
40d1e1:	8b 45 18             	mov    0x18(%ebp),%eax
40d1e4:	8b 10                	mov    (%eax),%edx
40d1e6:	83 fa 01             	cmp    $0x1,%edx
40d1e9:	7c 5a                	jl     0x40d245
40d1eb:	8b 01                	mov    (%ecx),%eax
40d1ed:	33 f6                	xor    %esi,%esi
40d1ef:	83 a0 10 02 00 00 00 	andl   $0x0,0x210(%eax)
40d1f6:	85 d2                	test   %edx,%edx
40d1f8:	7e 19                	jle    0x40d213
40d1fa:	8b 5d 18             	mov    0x18(%ebp),%ebx
40d1fd:	8b 7d 14             	mov    0x14(%ebp),%edi
40d200:	ff 34 b7             	push   (%edi,%esi,4)
40d203:	e8 84 c0 ff ff       	call   0x40928c
40d208:	46                   	inc    %esi
40d209:	3b 33                	cmp    (%ebx),%esi
40d20b:	7c f3                	jl     0x40d200
40d20d:	8b 7d f8             	mov    -0x8(%ebp),%edi
40d210:	8b 5d ec             	mov    -0x14(%ebp),%ebx
40d213:	6a 00                	push   $0x0
40d215:	51                   	push   %ecx
40d216:	e8 95 bf ff ff       	call   0x4091b0
40d21b:	59                   	pop    %ecx
40d21c:	59                   	pop    %ecx
40d21d:	84 c0                	test   %al,%al
40d21f:	74 2c                	je     0x40d24d
40d221:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40d225:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d228:	e8 f3 c7 ff ff       	call   0x409a20
40d22d:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d230:	5f                   	pop    %edi
40d231:	5e                   	pop    %esi
40d232:	5b                   	pop    %ebx
40d233:	8b e5                	mov    %ebp,%esp
40d235:	5d                   	pop    %ebp
40d236:	c2 14 00             	ret    $0x14
40d239:	57                   	push   %edi
40d23a:	6a 7b                	push   $0x7b
40d23c:	e9 67 58 03 00       	jmp    0x442aa8
40d241:	33 c9                	xor    %ecx,%ecx
40d243:	eb 9c                	jmp    0x40d1e1
40d245:	57                   	push   %edi
40d246:	6a 7e                	push   $0x7e
40d248:	e9 5b 58 03 00       	jmp    0x442aa8
40d24d:	57                   	push   %edi
40d24e:	68 82 00 00 00       	push   $0x82
40d253:	e9 50 58 03 00       	jmp    0x442aa8
40d258:	cc                   	int3
40d259:	cc                   	int3
40d25a:	cc                   	int3
40d25b:	cc                   	int3
40d25c:	cc                   	int3
40d25d:	cc                   	int3
40d25e:	cc                   	int3
40d25f:	cc                   	int3
40d260:	55                   	push   %ebp
40d261:	8b ec                	mov    %esp,%ebp
40d263:	81 ec 48 01 00 00    	sub    $0x148,%esp
40d269:	8b 55 10             	mov    0x10(%ebp),%edx
40d26c:	53                   	push   %ebx
40d26d:	8b d9                	mov    %ecx,%ebx
40d26f:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40d272:	56                   	push   %esi
40d273:	57                   	push   %edi
40d274:	f6 c2 04             	test   $0x4,%dl
40d277:	0f 85 49 04 00 00    	jne    0x40d6c6
40d27d:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
40d281:	8b 75 0c             	mov    0xc(%ebp),%esi
40d284:	83 e2 03             	and    $0x3,%edx
40d287:	8b 7d 08             	mov    0x8(%ebp),%edi
40d28a:	89 55 10             	mov    %edx,0x10(%ebp)
40d28d:	ff 06                	incl   (%esi)
40d28f:	8b 0e                	mov    (%esi),%ecx
40d291:	8b 47 04             	mov    0x4(%edi),%eax
40d294:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40d297:	8b 08                	mov    (%eax),%ecx
40d299:	66 83 79 08 00       	cmpw   $0x0,0x8(%ecx)
40d29e:	0f 84 10 58 03 00    	je     0x442ab4
40d2a4:	a1 6c 74 4c 00       	mov    0x4c746c,%eax
40d2a9:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40d2b0:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40d2b7:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
40d2bb:	a8 01                	test   $0x1,%al
40d2bd:	0f 84 6c 03 00 00    	je     0x40d62f
40d2c3:	8b 0e                	mov    (%esi),%ecx
40d2c5:	8b 47 04             	mov    0x4(%edi),%eax
40d2c8:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40d2cb:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
40d2d0:	0f 85 f3 59 03 00    	jne    0x442cc9
40d2d6:	eb 08                	jmp    0x40d2e0
40d2d8:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40d2df:	90                   	nop
40d2e0:	8b 18                	mov    (%eax),%ebx
40d2e2:	89 5d d0             	mov    %ebx,-0x30(%ebp)
40d2e5:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40d2ec:	83 fa 01             	cmp    $0x1,%edx
40d2ef:	0f 85 8b 02 00 00    	jne    0x40d580
40d2f5:	83 3d 80 72 4c 00 00 	cmpl   $0x0,0x4c7280
40d2fc:	0f 84 92 02 00 00    	je     0x40d594
40d302:	80 3d 89 72 4c 00 00 	cmpb   $0x0,0x4c7289
40d309:	0f 85 47 58 03 00    	jne    0x442b56
40d30f:	8b 35 84 72 4c 00    	mov    0x4c7284,%esi
40d315:	56                   	push   %esi
40d316:	53                   	push   %ebx
40d317:	e8 84 b5 ff ff       	call   0x4088a0
40d31c:	84 c0                	test   %al,%al
40d31e:	0f 84 4a 02 00 00    	je     0x40d56e
40d324:	8b 0e                	mov    (%esi),%ecx
40d326:	85 c9                	test   %ecx,%ecx
40d328:	0f 84 40 02 00 00    	je     0x40d56e
40d32e:	8b 41 10             	mov    0x10(%ecx),%eax
40d331:	8b 71 14             	mov    0x14(%ecx),%esi
40d334:	25 00 ff 00 00       	and    $0xff00,%eax
40d339:	89 75 f4             	mov    %esi,-0xc(%ebp)
40d33c:	8b 75 0c             	mov    0xc(%ebp),%esi
40d33f:	89 45 e8             	mov    %eax,-0x18(%ebp)
40d342:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d345:	8b 55 10             	mov    0x10(%ebp),%edx
40d348:	85 c0                	test   %eax,%eax
40d34a:	0f 84 f1 01 00 00    	je     0x40d541
40d350:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d353:	a9 00 01 00 00       	test   $0x100,%eax
40d358:	0f 85 54 59 03 00    	jne    0x442cb2
40d35e:	a9 00 04 00 00       	test   $0x400,%eax
40d363:	0f 85 02 58 03 00    	jne    0x442b6b
40d369:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
40d36d:	f6 c2 01             	test   $0x1,%dl
40d370:	74 1f                	je     0x40d391
40d372:	52                   	push   %edx
40d373:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d376:	50                   	push   %eax
40d377:	53                   	push   %ebx
40d378:	e8 25 b3 ff ff       	call   0x4086a2
40d37d:	84 c0                	test   %al,%al
40d37f:	74 0d                	je     0x40d38e
40d381:	f7 45 e8 00 02 00 00 	testl  $0x200,-0x18(%ebp)
40d388:	0f 85 d7 58 03 00    	jne    0x442c65
40d38e:	8b 55 10             	mov    0x10(%ebp),%edx
40d391:	f6 c2 02             	test   $0x2,%dl
40d394:	0f 85 11 02 00 00    	jne    0x40d5ab
40d39a:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
40d39e:	8b 55 f4             	mov    -0xc(%ebp),%edx
40d3a1:	0f 85 e8 57 03 00    	jne    0x442b8f
40d3a7:	ff 06                	incl   (%esi)
40d3a9:	8b 0e                	mov    (%esi),%ecx
40d3ab:	8b 47 04             	mov    0x4(%edi),%eax
40d3ae:	8b 04 88             	mov    (%eax,%ecx,4),%eax