41d2a2:	73 0b                	jae    0x41d2af
41d2a4:	8b 45 10             	mov    0x10(%ebp),%eax
41d2a7:	6a 0c                	push   $0xc
41d2a9:	c6 00 00             	movb   $0x0,(%eax)
41d2ac:	58                   	pop    %eax
41d2ad:	c9                   	leave
41d2ae:	c3                   	ret
41d2af:	84 c9                	test   %cl,%cl
41d2b1:	8b 4d 10             	mov    0x10(%ebp),%ecx
41d2b4:	74 0d                	je     0x41d2c3
41d2b6:	c6 01 2d             	movb   $0x2d,(%ecx)
41d2b9:	41                   	inc    %ecx
41d2ba:	c6 01 00             	movb   $0x0,(%ecx)
41d2bd:	83 fa ff             	cmp    $0xffffffff,%edx
41d2c0:	74 01                	je     0x41d2c3
41d2c2:	4a                   	dec    %edx
41d2c3:	8b 45 08             	mov    0x8(%ebp),%eax
41d2c6:	53                   	push   %ebx
41d2c7:	56                   	push   %esi
41d2c8:	57                   	push   %edi
41d2c9:	0f b6 7d 18          	movzbl 0x18(%ebp),%edi
41d2cd:	8d 1c 85 fc ff ff ff 	lea    -0x4(,%eax,4),%ebx
41d2d4:	83 f7 01             	xor    $0x1,%edi
41d2d7:	03 ff                	add    %edi,%edi
41d2d9:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
41d2dc:	8b 34 85 c8 39 43 00 	mov    0x4339c8(,%eax,4),%esi
41d2e3:	8d 46 01             	lea    0x1(%esi),%eax
41d2e6:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d2e9:	8a 06                	mov    (%esi),%al
41d2eb:	46                   	inc    %esi
41d2ec:	84 c0                	test   %al,%al
41d2ee:	75 f9                	jne    0x41d2e9
41d2f0:	2b 75 fc             	sub    -0x4(%ebp),%esi
41d2f3:	3b f2                	cmp    %edx,%esi
41d2f5:	1b c0                	sbb    %eax,%eax
41d2f7:	43                   	inc    %ebx
41d2f8:	03 c3                	add    %ebx,%eax
41d2fa:	03 c7                	add    %edi,%eax
41d2fc:	ff 34 85 c8 39 43 00 	push   0x4339c8(,%eax,4)
41d303:	52                   	push   %edx
41d304:	51                   	push   %ecx
41d305:	e8 cb eb ff ff       	call   0x41bed5
41d30a:	83 c4 0c             	add    $0xc,%esp
41d30d:	5f                   	pop    %edi
41d30e:	5e                   	pop    %esi
41d30f:	5b                   	pop    %ebx
41d310:	85 c0                	test   %eax,%eax
41d312:	75 02                	jne    0x41d316
41d314:	c9                   	leave
41d315:	c3                   	ret
41d316:	33 c0                	xor    %eax,%eax
41d318:	50                   	push   %eax
41d319:	50                   	push   %eax
41d31a:	50                   	push   %eax
41d31b:	50                   	push   %eax
41d31c:	50                   	push   %eax
41d31d:	e8 f9 00 ff ff       	call   0x40d41b
41d322:	cc                   	int3
41d323:	8b ff                	mov    %edi,%edi
41d325:	55                   	push   %ebp
41d326:	8b ec                	mov    %esp,%ebp
41d328:	8b 55 14             	mov    0x14(%ebp),%edx
41d32b:	85 d2                	test   %edx,%edx
41d32d:	74 26                	je     0x41d355
41d32f:	56                   	push   %esi
41d330:	8b 75 10             	mov    0x10(%ebp),%esi
41d333:	8b ce                	mov    %esi,%ecx
41d335:	57                   	push   %edi
41d336:	8d 79 01             	lea    0x1(%ecx),%edi
41d339:	8a 01                	mov    (%ecx),%al
41d33b:	41                   	inc    %ecx
41d33c:	84 c0                	test   %al,%al
41d33e:	75 f9                	jne    0x41d339
41d340:	2b cf                	sub    %edi,%ecx
41d342:	8d 41 01             	lea    0x1(%ecx),%eax
41d345:	50                   	push   %eax
41d346:	8d 04 16             	lea    (%esi,%edx,1),%eax
41d349:	56                   	push   %esi
41d34a:	50                   	push   %eax
41d34b:	e8 f0 da fe ff       	call   0x40ae40
41d350:	83 c4 0c             	add    $0xc,%esp
41d353:	5f                   	pop    %edi
41d354:	5e                   	pop    %esi
41d355:	5d                   	pop    %ebp
41d356:	c3                   	ret
41d357:	8b ff                	mov    %edi,%edi
41d359:	55                   	push   %ebp
41d35a:	8b ec                	mov    %esp,%ebp
41d35c:	8b 45 0c             	mov    0xc(%ebp),%eax
41d35f:	53                   	push   %ebx
41d360:	8b 5d 14             	mov    0x14(%ebp),%ebx
41d363:	56                   	push   %esi
41d364:	8b 75 08             	mov    0x8(%ebp),%esi
41d367:	57                   	push   %edi
41d368:	0f bf cb             	movswl %bx,%ecx
41d36b:	8b 56 04             	mov    0x4(%esi),%edx
41d36e:	23 55 10             	and    0x10(%ebp),%edx
41d371:	23 06                	and    (%esi),%eax
41d373:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
41d379:	e8 e2 0a 01 00       	call   0x42de60
41d37e:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
41d382:	0f b7 f8             	movzwl %ax,%edi
41d385:	75 09                	jne    0x41d390
41d387:	83 ff 08             	cmp    $0x8,%edi
41d38a:	1a c0                	sbb    %al,%al
41d38c:	fe c0                	inc    %al
41d38e:	eb 55                	jmp    0x41d3e5
41d390:	e8 ff 31 00 00       	call   0x420594
41d395:	85 c0                	test   %eax,%eax
41d397:	75 12                	jne    0x41d3ab
41d399:	53                   	push   %ebx
41d39a:	ff 75 10             	push   0x10(%ebp)
41d39d:	ff 75 0c             	push   0xc(%ebp)
41d3a0:	56                   	push   %esi
41d3a1:	e8 ce f6 ff ff       	call   0x41ca74
41d3a6:	83 c4 10             	add    $0x10,%esp
41d3a9:	eb 3a                	jmp    0x41d3e5
41d3ab:	3d 00 02 00 00       	cmp    $0x200,%eax
41d3b0:	75 16                	jne    0x41d3c8
41d3b2:	33 c0                	xor    %eax,%eax
41d3b4:	66 85 ff             	test   %di,%di
41d3b7:	74 2c                	je     0x41d3e5
41d3b9:	39 46 04             	cmp    %eax,0x4(%esi)
41d3bc:	7c 27                	jl     0x41d3e5
41d3be:	7f 04                	jg     0x41d3c4
41d3c0:	39 06                	cmp    %eax,(%esi)
41d3c2:	72 21                	jb     0x41d3e5
41d3c4:	b0 01                	mov    $0x1,%al
41d3c6:	eb 1d                	jmp    0x41d3e5
41d3c8:	3d 00 01 00 00       	cmp    $0x100,%eax
41d3cd:	75 14                	jne    0x41d3e3
41d3cf:	33 c0                	xor    %eax,%eax
41d3d1:	66 85 ff             	test   %di,%di
41d3d4:	74 0f                	je     0x41d3e5
41d3d6:	39 46 04             	cmp    %eax,0x4(%esi)
41d3d9:	7f 0a                	jg     0x41d3e5
41d3db:	7c e7                	jl     0x41d3c4
41d3dd:	39 06                	cmp    %eax,(%esi)
41d3df:	73 04                	jae    0x41d3e5
41d3e1:	eb e1                	jmp    0x41d3c4
41d3e3:	32 c0                	xor    %al,%al
41d3e5:	5f                   	pop    %edi
41d3e6:	5e                   	pop    %esi
41d3e7:	5b                   	pop    %ebx
41d3e8:	5d                   	pop    %ebp
41d3e9:	c3                   	ret
41d3ea:	8b ff                	mov    %edi,%edi
41d3ec:	55                   	push   %ebp
41d3ed:	8b ec                	mov    %esp,%ebp
41d3ef:	51                   	push   %ecx
41d3f0:	51                   	push   %ecx
41d3f1:	53                   	push   %ebx
41d3f2:	56                   	push   %esi
41d3f3:	57                   	push   %edi
41d3f4:	8b 7d 0c             	mov    0xc(%ebp),%edi
41d3f7:	85 ff                	test   %edi,%edi
41d3f9:	75 24                	jne    0x41d41f
41d3fb:	8b 4d 30             	mov    0x30(%ebp),%ecx
41d3fe:	6a 16                	push   $0x16
41d400:	5e                   	pop    %esi
41d401:	51                   	push   %ecx
41d402:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
41d406:	89 71 18             	mov    %esi,0x18(%ecx)
41d409:	33 db                	xor    %ebx,%ebx
41d40b:	53                   	push   %ebx
41d40c:	53                   	push   %ebx
41d40d:	53                   	push   %ebx
41d40e:	53                   	push   %ebx
41d40f:	53                   	push   %ebx
41d410:	e8 5c ff fe ff       	call   0x40d371
41d415:	83 c4 18             	add    $0x18,%esp
41d418:	8b c6                	mov    %esi,%eax
41d41a:	e9 47 01 00 00       	jmp    0x41d566
41d41f:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41d423:	77 10                	ja     0x41d435
41d425:	8b 45 30             	mov    0x30(%ebp),%eax
41d428:	6a 16                	push   $0x16
41d42a:	5e                   	pop    %esi
41d42b:	50                   	push   %eax
41d42c:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41d430:	89 70 18             	mov    %esi,0x18(%eax)
41d433:	eb d4                	jmp    0x41d409
41d435:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41d439:	74 ea                	je     0x41d425
41d43b:	33 db                	xor    %ebx,%ebx
41d43d:	39 5d 18             	cmp    %ebx,0x18(%ebp)
41d440:	77 10                	ja     0x41d452
41d442:	8b 45 30             	mov    0x30(%ebp),%eax
41d445:	6a 16                	push   $0x16
41d447:	5e                   	pop    %esi
41d448:	50                   	push   %eax
41d449:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41d44d:	89 70 18             	mov    %esi,0x18(%eax)
41d450:	eb b9                	jmp    0x41d40b
41d452:	8b 75 1c             	mov    0x1c(%ebp),%esi
41d455:	83 fe 41             	cmp    $0x41,%esi
41d458:	74 12                	je     0x41d46c
41d45a:	83 fe 45             	cmp    $0x45,%esi
41d45d:	74 0d                	je     0x41d46c
41d45f:	83 fe 46             	cmp    $0x46,%esi
41d462:	74 08                	je     0x41d46c
41d464:	88 5d fc             	mov    %bl,-0x4(%ebp)
41d467:	83 fe 47             	cmp    $0x47,%esi
41d46a:	75 04                	jne    0x41d470
41d46c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41d470:	8b 4d 24             	mov    0x24(%ebp),%ecx
41d473:	8b c1                	mov    %ecx,%eax
41d475:	83 e0 08             	and    $0x8,%eax
41d478:	0b c3                	or     %ebx,%eax
41d47a:	75 41                	jne    0x41d4bd
41d47c:	ff 75 08             	push   0x8(%ebp)
41d47f:	e8 8e f5 ff ff       	call   0x41ca12
41d484:	59                   	pop    %ecx
41d485:	8b c8                	mov    %eax,%ecx
41d487:	85 c9                	test   %ecx,%ecx
41d489:	74 2f                	je     0x41d4ba
41d48b:	8b 45 08             	mov    0x8(%ebp),%eax
41d48e:	39 58 04             	cmp    %ebx,0x4(%eax)
41d491:	7f 0c                	jg     0x41d49f
41d493:	7c 04                	jl     0x41d499
41d495:	39 18                	cmp    %ebx,(%eax)
41d497:	73 06                	jae    0x41d49f
41d499:	c6 45 f8 01          	movb   $0x1,-0x8(%ebp)
41d49d:	eb 03                	jmp    0x41d4a2
41d49f:	88 5d f8             	mov    %bl,-0x8(%ebp)
41d4a2:	ff 75 fc             	push   -0x4(%ebp)
41d4a5:	ff 75 10             	push   0x10(%ebp)
41d4a8:	57                   	push   %edi
41d4a9:	ff 75 f8             	push   -0x8(%ebp)
41d4ac:	51                   	push   %ecx
41d4ad:	e8 dc fd ff ff       	call   0x41d28e
41d4b2:	83 c4 14             	add    $0x14,%esp
41d4b5:	e9 ac 00 00 00       	jmp    0x41d566
41d4ba:	8b 4d 24             	mov    0x24(%ebp),%ecx
41d4bd:	8b c1                	mov    %ecx,%eax
41d4bf:	83 e0 10             	and    $0x10,%eax
41d4c2:	0b c3                	or     %ebx,%eax
41d4c4:	74 04                	je     0x41d4ca
41d4c6:	6a 03                	push   $0x3
41d4c8:	eb 02                	jmp    0x41d4cc
41d4ca:	6a 02                	push   $0x2
41d4cc:	83 e1 20             	and    $0x20,%ecx
41d4cf:	0b cb                	or     %ebx,%ecx
41d4d1:	58                   	pop    %eax
41d4d2:	74 03                	je     0x41d4d7
41d4d4:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
41d4d7:	83 fe 61             	cmp    $0x61,%esi
41d4da:	7f 2b                	jg     0x41d507
41d4dc:	74 0a                	je     0x41d4e8
41d4de:	83 ee 41             	sub    $0x41,%esi
41d4e1:	74 05                	je     0x41d4e8
41d4e3:	83 ee 04             	sub    $0x4,%esi
41d4e6:	eb 22                	jmp    0x41d50a
41d4e8:	ff 75 30             	push   0x30(%ebp)
41d4eb:	53                   	push   %ebx
41d4ec:	50                   	push   %eax
41d4ed:	ff 75 fc             	push   -0x4(%ebp)
41d4f0:	ff 75 20             	push   0x20(%ebp)
41d4f3:	ff 75 18             	push   0x18(%ebp)
41d4f6:	ff 75 14             	push   0x14(%ebp)
41d4f9:	ff 75 10             	push   0x10(%ebp)
41d4fc:	57                   	push   %edi
41d4fd:	ff 75 08             	push   0x8(%ebp)
41d500:	e8 12 f6 ff ff       	call   0x41cb17
41d505:	eb 5c                	jmp    0x41d563
41d507:	83 ee 65             	sub    $0x65,%esi
41d50a:	ff 75 30             	push   0x30(%ebp)
41d50d:	53                   	push   %ebx
41d50e:	74 3a                	je     0x41d54a
41d510:	83 ee 01             	sub    $0x1,%esi
41d513:	74 1b                	je     0x41d530
41d515:	50                   	push   %eax
41d516:	ff 75 fc             	push   -0x4(%ebp)
41d519:	ff 75 20             	push   0x20(%ebp)
41d51c:	ff 75 18             	push   0x18(%ebp)
41d51f:	ff 75 14             	push   0x14(%ebp)
41d522:	ff 75 10             	push   0x10(%ebp)
41d525:	57                   	push   %edi
41d526:	ff 75 08             	push   0x8(%ebp)
41d529:	e8 91 fc ff ff       	call   0x41d1bf
41d52e:	eb 33                	jmp    0x41d563
41d530:	ff 75 20             	push   0x20(%ebp)
41d533:	ff 75 18             	push   0x18(%ebp)
41d536:	ff 75 14             	push   0x14(%ebp)
41d539:	ff 75 10             	push   0x10(%ebp)
41d53c:	57                   	push   %edi
41d53d:	ff 75 08             	push   0x8(%ebp)
41d540:	e8 f6 fa ff ff       	call   0x41d03b
41d545:	83 c4 20             	add    $0x20,%esp
41d548:	eb 1c                	jmp    0x41d566
41d54a:	50                   	push   %eax
41d54b:	ff 75 fc             	push   -0x4(%ebp)
41d54e:	ff 75 20             	push   0x20(%ebp)
41d551:	ff 75 18             	push   0x18(%ebp)
41d554:	ff 75 14             	push   0x14(%ebp)
41d557:	ff 75 10             	push   0x10(%ebp)
41d55a:	57                   	push   %edi
41d55b:	ff 75 08             	push   0x8(%ebp)
41d55e:	e8 e1 f8 ff ff       	call   0x41ce44
41d563:	83 c4 28             	add    $0x28,%esp
41d566:	5f                   	pop    %edi
41d567:	5e                   	pop    %esi
41d568:	5b                   	pop    %ebx
41d569:	c9                   	leave
41d56a:	c3                   	ret
41d56b:	8b ff                	mov    %edi,%edi
41d56d:	55                   	push   %ebp
41d56e:	8b ec                	mov    %esp,%ebp
41d570:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41d573:	83 ec 0c             	sub    $0xc,%esp
41d576:	8b 45 10             	mov    0x10(%ebp),%eax
41d579:	53                   	push   %ebx
41d57a:	56                   	push   %esi
41d57b:	57                   	push   %edi
41d57c:	85 c9                	test   %ecx,%ecx
41d57e:	75 17                	jne    0x41d597
41d580:	85 c0                	test   %eax,%eax
41d582:	74 13                	je     0x41d597
41d584:	8b 45 08             	mov    0x8(%ebp),%eax
41d587:	85 c0                	test   %eax,%eax
41d589:	0f 84 ff 00 00 00    	je     0x41d68e
41d58f:	83 20 00             	andl   $0x0,(%eax)
41d592:	e9 f7 00 00 00       	jmp    0x41d68e
41d597:	8b 5d 08             	mov    0x8(%ebp),%ebx
41d59a:	85 db                	test   %ebx,%ebx
41d59c:	74 03                	je     0x41d5a1
41d59e:	83 0b ff             	orl    $0xffffffff,(%ebx)
41d5a1:	8b 75 18             	mov    0x18(%ebp),%esi
41d5a4:	33 ff                	xor    %edi,%edi
41d5a6:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41d5ab:	76 07                	jbe    0x41d5b4
41d5ad:	6a 16                	push   $0x16
41d5af:	e9 04 01 00 00       	jmp    0x41d6b8
41d5b4:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
41d5b8:	75 0d                	jne    0x41d5c7
41d5ba:	8b ce                	mov    %esi,%ecx
41d5bc:	e8 ff 42 ff ff       	call   0x4118c0
41d5c1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41d5c4:	8b 45 10             	mov    0x10(%ebp),%eax
41d5c7:	8b 56 0c             	mov    0xc(%esi),%edx
41d5ca:	8b 5a 08             	mov    0x8(%edx),%ebx
41d5cd:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
41d5d3:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41d5d6:	8b 5d 08             	mov    0x8(%ebp),%ebx
41d5d9:	75 37                	jne    0x41d612
41d5db:	56                   	push   %esi
41d5dc:	8d 45 f4             	lea    -0xc(%ebp),%eax
41d5df:	33 ff                	xor    %edi,%edi
41d5e1:	50                   	push   %eax
41d5e2:	0f b7 45 14          	movzwl 0x14(%ebp),%eax