41c171:	83 ec 20             	sub    $0x20,%esp
41c174:	53                   	push   %ebx
41c175:	56                   	push   %esi
41c176:	57                   	push   %edi
41c177:	a1 14 40 4c 00       	mov    0x4c4014,%eax
41c17c:	33 c5                	xor    %ebp,%eax
41c17e:	50                   	push   %eax
41c17f:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c182:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c188:	89 65 f0             	mov    %esp,-0x10(%ebp)
41c18b:	8b d9                	mov    %ecx,%ebx
41c18d:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41c190:	8b 13                	mov    (%ebx),%edx
41c192:	8b 4a 04             	mov    0x4(%edx),%ecx
41c195:	03 cb                	add    %ebx,%ecx
41c197:	8b 71 0c             	mov    0xc(%ecx),%esi
41c19a:	85 f6                	test   %esi,%esi
41c19c:	74 2f                	je     0x41c1cd
41c19e:	33 c0                	xor    %eax,%eax
41c1a0:	39 41 38             	cmp    %eax,0x38(%ecx)
41c1a3:	6a 00                	push   $0x0
41c1a5:	0f 94 c0             	sete   %al
41c1a8:	8d 04 85 02 00 00 00 	lea    0x2(,%eax,4),%eax
41c1af:	0b c6                	or     %esi,%eax
41c1b1:	50                   	push   %eax
41c1b2:	e8 b9 f9 fe ff       	call   0x40bb70
41c1b7:	32 c0                	xor    %al,%al
41c1b9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c1bc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41c1c3:	59                   	pop    %ecx
41c1c4:	5f                   	pop    %edi
41c1c5:	5e                   	pop    %esi
41c1c6:	5b                   	pop    %ebx
41c1c7:	8b e5                	mov    %ebp,%esp
41c1c9:	5d                   	pop    %ebp
41c1ca:	c2 04 00             	ret    $0x4
41c1cd:	8b 49 3c             	mov    0x3c(%ecx),%ecx
41c1d0:	85 c9                	test   %ecx,%ecx
41c1d2:	74 07                	je     0x41c1db
41c1d4:	e8 d7 c4 ff ff       	call   0x4186b0
41c1d9:	8b 13                	mov    (%ebx),%edx
41c1db:	8b 42 04             	mov    0x4(%edx),%eax
41c1de:	c6 45 eb 00          	movb   $0x0,-0x15(%ebp)
41c1e2:	f6 44 18 14 01       	testb  $0x1,0x14(%eax,%ebx,1)
41c1e7:	0f 84 2f 01 00 00    	je     0x41c31c
41c1ed:	8b 44 18 30          	mov    0x30(%eax,%ebx,1),%eax
41c1f1:	8b 78 04             	mov    0x4(%eax),%edi
41c1f4:	89 7d dc             	mov    %edi,-0x24(%ebp)
41c1f7:	8b 07                	mov    (%edi),%eax
41c1f9:	8b 70 04             	mov    0x4(%eax),%esi
41c1fc:	8b ce                	mov    %esi,%ecx
41c1fe:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c204:	8b cf                	mov    %edi,%ecx
41c206:	ff d6                	call   *%esi
41c208:	8d 45 d8             	lea    -0x28(%ebp),%eax
41c20b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41c212:	50                   	push   %eax
41c213:	e8 18 83 ff ff       	call   0x414530
41c218:	8b 7d dc             	mov    -0x24(%ebp),%edi
41c21b:	83 c4 04             	add    $0x4,%esp
41c21e:	89 45 e0             	mov    %eax,-0x20(%ebp)
41c221:	85 ff                	test   %edi,%edi
41c223:	74 29                	je     0x41c24e
41c225:	8b 17                	mov    (%edi),%edx
41c227:	8b 72 08             	mov    0x8(%edx),%esi
41c22a:	8b ce                	mov    %esi,%ecx
41c22c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c232:	8b cf                	mov    %edi,%ecx
41c234:	ff d6                	call   *%esi
41c236:	8b f8                	mov    %eax,%edi
41c238:	85 ff                	test   %edi,%edi
41c23a:	74 12                	je     0x41c24e
41c23c:	8b 0f                	mov    (%edi),%ecx
41c23e:	6a 01                	push   $0x1
41c240:	8b 31                	mov    (%ecx),%esi
41c242:	8b ce                	mov    %esi,%ecx
41c244:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c24a:	8b cf                	mov    %edi,%ecx
41c24c:	ff d6                	call   *%esi
41c24e:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41c255:	8b 03                	mov    (%ebx),%eax
41c257:	8b 40 04             	mov    0x4(%eax),%eax
41c25a:	8b 7c 18 38          	mov    0x38(%eax,%ebx,1),%edi
41c25e:	8b 47 1c             	mov    0x1c(%edi),%eax
41c261:	8b 08                	mov    (%eax),%ecx
41c263:	85 c9                	test   %ecx,%ecx
41c265:	74 0d                	je     0x41c274
41c267:	8b 47 2c             	mov    0x2c(%edi),%eax
41c26a:	83 38 00             	cmpl   $0x0,(%eax)
41c26d:	7e 05                	jle    0x41c274
41c26f:	0f b7 09             	movzwl (%ecx),%ecx
41c272:	eb 16                	jmp    0x41c28a
41c274:	8b 07                	mov    (%edi),%eax
41c276:	8b 70 18             	mov    0x18(%eax),%esi
41c279:	8b ce                	mov    %esi,%ecx
41c27b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c281:	8b cf                	mov    %edi,%ecx
41c283:	ff d6                	call   *%esi
41c285:	0f b7 c0             	movzwl %ax,%eax
41c288:	8b c8                	mov    %eax,%ecx
41c28a:	8b 7d e0             	mov    -0x20(%ebp),%edi
41c28d:	b8 ff ff 00 00       	mov    $0xffff,%eax
41c292:	66 3b c1             	cmp    %cx,%ax
41c295:	75 04                	jne    0x41c29b
41c297:	b0 01                	mov    $0x1,%al
41c299:	eb 1b                	jmp    0x41c2b6
41c29b:	8b 07                	mov    (%edi),%eax
41c29d:	51                   	push   %ecx
41c29e:	6a 48                	push   $0x48
41c2a0:	8b 70 10             	mov    0x10(%eax),%esi
41c2a3:	8b ce                	mov    %esi,%ecx
41c2a5:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c2ab:	8b cf                	mov    %edi,%ecx
41c2ad:	ff d6                	call   *%esi
41c2af:	84 c0                	test   %al,%al
41c2b1:	75 31                	jne    0x41c2e4
41c2b3:	8a 45 eb             	mov    -0x15(%ebp),%al
41c2b6:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41c2bd:	84 c0                	test   %al,%al
41c2bf:	74 5b                	je     0x41c31c
41c2c1:	8b 03                	mov    (%ebx),%eax
41c2c3:	6a 00                	push   $0x0
41c2c5:	8b 48 04             	mov    0x4(%eax),%ecx
41c2c8:	33 c0                	xor    %eax,%eax
41c2ca:	03 cb                	add    %ebx,%ecx
41c2cc:	39 41 38             	cmp    %eax,0x38(%ecx)
41c2cf:	0f 94 c0             	sete   %al
41c2d2:	8d 04 85 03 00 00 00 	lea    0x3(,%eax,4),%eax
41c2d9:	0b 41 0c             	or     0xc(%ecx),%eax
41c2dc:	50                   	push   %eax
41c2dd:	e8 8e f8 fe ff       	call   0x40bb70
41c2e2:	eb 38                	jmp    0x41c31c
41c2e4:	8b 03                	mov    (%ebx),%eax
41c2e6:	8b 48 04             	mov    0x4(%eax),%ecx
41c2e9:	8b 4c 19 38          	mov    0x38(%ecx,%ebx,1),%ecx
41c2ed:	e8 8e e6 ff ff       	call   0x41a980
41c2f2:	0f b7 c0             	movzwl %ax,%eax
41c2f5:	8b c8                	mov    %eax,%ecx
41c2f7:	eb 94                	jmp    0x41c28d
41c2f9:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41c2fc:	6a 01                	push   $0x1
41c2fe:	6a 04                	push   $0x4
41c300:	8b 02                	mov    (%edx),%eax
41c302:	8b 48 04             	mov    0x4(%eax),%ecx
41c305:	03 ca                	add    %edx,%ecx
41c307:	e8 34 4f ff ff       	call   0x411240
41c30c:	b8 12 c3 41 00       	mov    $0x41c312,%eax
41c311:	c3                   	ret
41c312:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
41c315:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41c31c:	8b 03                	mov    (%ebx),%eax
41c31e:	8b 40 04             	mov    0x4(%eax),%eax
41c321:	83 7c 18 0c 00       	cmpl   $0x0,0xc(%eax,%ebx,1)
41c326:	0f 94 c0             	sete   %al
41c329:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c32c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41c333:	59                   	pop    %ecx
41c334:	5f                   	pop    %edi
41c335:	5e                   	pop    %esi
41c336:	5b                   	pop    %ebx
41c337:	8b e5                	mov    %ebp,%esp
41c339:	5d                   	pop    %ebp
41c33a:	c2 04 00             	ret    $0x4
41c33d:	cc                   	int3
41c33e:	cc                   	int3
41c33f:	cc                   	int3
41c340:	55                   	push   %ebp
41c341:	8b ec                	mov    %esp,%ebp
41c343:	6a ff                	push   $0xffffffff
41c345:	68 5b 91 49 00       	push   $0x49915b
41c34a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41c350:	50                   	push   %eax
41c351:	81 ec b4 00 00 00    	sub    $0xb4,%esp
41c357:	a1 14 40 4c 00       	mov    0x4c4014,%eax
41c35c:	33 c5                	xor    %ebp,%eax
41c35e:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c361:	53                   	push   %ebx
41c362:	56                   	push   %esi
41c363:	57                   	push   %edi
41c364:	50                   	push   %eax
41c365:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c368:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c36e:	8b 45 0c             	mov    0xc(%ebp),%eax
41c371:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
41c377:	8b 45 14             	mov    0x14(%ebp),%eax
41c37a:	8b 75 10             	mov    0x10(%ebp),%esi
41c37d:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41c383:	8b 45 1c             	mov    0x1c(%ebp),%eax
41c386:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
41c38c:	8b 45 18             	mov    0x18(%ebp),%eax
41c38f:	8b 40 30             	mov    0x30(%eax),%eax
41c392:	8b 58 04             	mov    0x4(%eax),%ebx
41c395:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
41c39b:	8b 03                	mov    (%ebx),%eax
41c39d:	8b 78 04             	mov    0x4(%eax),%edi
41c3a0:	8b cf                	mov    %edi,%ecx
41c3a2:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c3a8:	8b cb                	mov    %ebx,%ecx
41c3aa:	ff d7                	call   *%edi
41c3ac:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
41c3b2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41c3b9:	50                   	push   %eax
41c3ba:	e8 71 cb ff ff       	call   0x418f30
41c3bf:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41c3c6:	83 c4 04             	add    $0x4,%esp
41c3c9:	8b 9d 60 ff ff ff    	mov    -0xa0(%ebp),%ebx
41c3cf:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
41c3d5:	85 db                	test   %ebx,%ebx
41c3d7:	74 29                	je     0x41c402
41c3d9:	8b 13                	mov    (%ebx),%edx
41c3db:	8b 7a 08             	mov    0x8(%edx),%edi
41c3de:	8b cf                	mov    %edi,%ecx
41c3e0:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c3e6:	8b cb                	mov    %ebx,%ecx
41c3e8:	ff d7                	call   *%edi
41c3ea:	8b d8                	mov    %eax,%ebx
41c3ec:	85 db                	test   %ebx,%ebx
41c3ee:	74 12                	je     0x41c402
41c3f0:	8b 0b                	mov    (%ebx),%ecx
41c3f2:	6a 01                	push   $0x1
41c3f4:	8b 39                	mov    (%ecx),%edi
41c3f6:	8b cf                	mov    %edi,%ecx
41c3f8:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c3fe:	8b cb                	mov    %ebx,%ecx
41c400:	ff d7                	call   *%edi
41c402:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
41c408:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
41c40b:	51                   	push   %ecx
41c40c:	8b 03                	mov    (%ebx),%eax
41c40e:	8b 78 14             	mov    0x14(%eax),%edi
41c411:	8b cf                	mov    %edi,%ecx
41c413:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c419:	8b cb                	mov    %ebx,%ecx
41c41b:	ff d7                	call   *%edi
41c41d:	8b 45 18             	mov    0x18(%ebp),%eax
41c420:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41c427:	8b 40 30             	mov    0x30(%eax),%eax
41c42a:	8b 58 04             	mov    0x4(%eax),%ebx
41c42d:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
41c433:	8b 03                	mov    (%ebx),%eax
41c435:	8b 78 04             	mov    0x4(%eax),%edi
41c438:	8b cf                	mov    %edi,%ecx
41c43a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c440:	8b cb                	mov    %ebx,%ecx
41c442:	ff d7                	call   *%edi
41c444:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
41c44a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41c44e:	50                   	push   %eax
41c44f:	e8 dc 80 ff ff       	call   0x414530
41c454:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41c458:	83 c4 04             	add    $0x4,%esp
41c45b:	8b 9d 60 ff ff ff    	mov    -0xa0(%ebp),%ebx
41c461:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
41c467:	85 db                	test   %ebx,%ebx
41c469:	74 29                	je     0x41c494
41c46b:	8b 13                	mov    (%ebx),%edx
41c46d:	8b 7a 08             	mov    0x8(%edx),%edi
41c470:	8b cf                	mov    %edi,%ecx
41c472:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c478:	8b cb                	mov    %ebx,%ecx
41c47a:	ff d7                	call   *%edi
41c47c:	8b d8                	mov    %eax,%ebx
41c47e:	85 db                	test   %ebx,%ebx
41c480:	74 12                	je     0x41c494
41c482:	8b 0b                	mov    (%ebx),%ecx
41c484:	6a 01                	push   $0x1
41c486:	8b 39                	mov    (%ecx),%edi
41c488:	8b cf                	mov    %edi,%ecx
41c48a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c490:	8b cb                	mov    %ebx,%ecx
41c492:	ff d7                	call   *%edi
41c494:	8b 9d 58 ff ff ff    	mov    -0xa8(%ebp),%ebx
41c49a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41c49d:	51                   	push   %ecx
41c49e:	68 d9 32 4b 00       	push   $0x4b32d9
41c4a3:	68 bc 32 4b 00       	push   $0x4b32bc
41c4a8:	8b 03                	mov    (%ebx),%eax
41c4aa:	8b 78 2c             	mov    0x2c(%eax),%edi
41c4ad:	8b cf                	mov    %edi,%ecx
41c4af:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c4b5:	8b cb                	mov    %ebx,%ecx
41c4b7:	ff d7                	call   *%edi
41c4b9:	8a 4e 04             	mov    0x4(%esi),%cl
41c4bc:	8b 9d 50 ff ff ff    	mov    -0xb0(%ebp),%ebx
41c4c2:	c6 85 73 ff ff ff 00 	movb   $0x0,-0x8d(%ebp)
41c4c9:	84 c9                	test   %cl,%cl
41c4cb:	75 0a                	jne    0x41c4d7
41c4cd:	8b ce                	mov    %esi,%ecx
41c4cf:	e8 cc 0e 00 00       	call   0x41d3a0
41c4d4:	8a 4e 04             	mov    0x4(%esi),%cl
41c4d7:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41c4dd:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41c4e1:	75 0a                	jne    0x41c4ed
41c4e3:	8b cf                	mov    %edi,%ecx
41c4e5:	e8 b6 0e 00 00       	call   0x41d3a0
41c4ea:	8a 4e 04             	mov    0x4(%esi),%cl
41c4ed:	83 3e 00             	cmpl   $0x0,(%esi)
41c4f0:	8b 07                	mov    (%edi),%eax
41c4f2:	75 0a                	jne    0x41c4fe
41c4f4:	85 c0                	test   %eax,%eax
41c4f6:	0f 84 1d 01 00 00    	je     0x41c619
41c4fc:	eb 08                	jmp    0x41c506
41c4fe:	85 c0                	test   %eax,%eax
41c500:	0f 85 13 01 00 00    	jne    0x41c619
41c506:	84 c9                	test   %cl,%cl
41c508:	75 0a                	jne    0x41c514
41c50a:	8b ce                	mov    %esi,%ecx
41c50c:	e8 8f 0e 00 00       	call   0x41d3a0
41c511:	8a 4e 04             	mov    0x4(%esi),%cl
41c514:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c518:	66 3b 45 e2          	cmp    -0x1e(%ebp),%ax
41c51c:	75 75                	jne    0x41c593
41c51e:	8b c3                	mov    %ebx,%eax
41c520:	c6 00 2b             	movb   $0x2b,(%eax)
41c523:	8d 48 01             	lea    0x1(%eax),%ecx
41c526:	8b 1e                	mov    (%esi),%ebx
41c528:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
41c52e:	85 db                	test   %ebx,%ebx
41c530:	74 51                	je     0x41c583
41c532:	8b 43 1c             	mov    0x1c(%ebx),%eax
41c535:	83 38 00             	cmpl   $0x0,(%eax)
41c538:	74 1b                	je     0x41c555
41c53a:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41c53d:	8b 01                	mov    (%ecx),%eax
41c53f:	85 c0                	test   %eax,%eax
41c541:	7e 12                	jle    0x41c555
41c543:	48                   	dec    %eax
41c544:	89 01                	mov    %eax,(%ecx)
41c546:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41c549:	8b 11                	mov    (%ecx),%edx
41c54b:	8d 42 02             	lea    0x2(%edx),%eax
41c54e:	89 01                	mov    %eax,(%ecx)
41c550:	0f b7 02             	movzwl (%edx),%eax
41c553:	eb 1a                	jmp    0x41c56f
41c555:	8b 03                	mov    (%ebx),%eax
41c557:	8b 78 1c             	mov    0x1c(%eax),%edi
41c55a:	8b cf                	mov    %edi,%ecx
41c55c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c562:	8b cb                	mov    %ebx,%ecx
41c564:	ff d7                	call   *%edi
41c566:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41c56c:	0f b7 c0             	movzwl %ax,%eax
41c56f:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41c574:	66 3b c8             	cmp    %ax,%cx
41c577:	74 0a                	je     0x41c583
41c579:	32 c0                	xor    %al,%al
41c57b:	88 46 04             	mov    %al,0x4(%esi)
41c57e:	e9 90 00 00 00       	jmp    0x41c613
41c583:	b0 01                	mov    $0x1,%al
41c585:	c7 06 00 00 00 00    	movl   $0x0,(%esi)