41a359:	75 0b                	jne    0x41a366
41a35b:	8b cf                	mov    %edi,%ecx
41a35d:	e8 33 21 00 00       	call   0x41c495
41a362:	0f b7 47 06          	movzwl 0x6(%edi),%eax
41a366:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
41a36a:	75 09                	jne    0x41a375
41a36c:	8b cf                	mov    %edi,%ecx
41a36e:	e8 5c 0a 00 00       	call   0x41adcf
41a373:	eb 04                	jmp    0x41a379
41a375:	c6 45 83 01          	movb   $0x1,-0x7d(%ebp)
41a379:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
41a37f:	ba 00 03 00 00       	mov    $0x300,%edx
41a384:	6a 24                	push   $0x24
41a386:	58                   	pop    %eax
41a387:	81 39 00 ca 9a 3b    	cmpl   $0x3b9aca00,(%ecx)
41a38d:	0f 44 c2             	cmove  %edx,%eax
41a390:	83 7d 98 10          	cmpl   $0x10,-0x68(%ebp)
41a394:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
41a39a:	8d 45 84             	lea    -0x7c(%ebp),%eax
41a39d:	0f 43 45 84          	cmovae -0x7c(%ebp),%eax
41a3a1:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
41a3a7:	8a 00                	mov    (%eax),%al
41a3a9:	3c 7f                	cmp    $0x7f,%al
41a3ab:	0f 84 05 02 00 00    	je     0x41a5b6
41a3b1:	84 c0                	test   %al,%al
41a3b3:	0f 8e fd 01 00 00    	jle    0x41a5b6
41a3b9:	39 75 94             	cmp    %esi,-0x6c(%ebp)
41a3bc:	75 0a                	jne    0x41a3c8
41a3be:	33 c0                	xor    %eax,%eax
41a3c0:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
41a3c6:	eb 16                	jmp    0x41a3de
41a3c8:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
41a3ce:	8b 01                	mov    (%ecx),%eax
41a3d0:	ff 50 10             	call   *0x10(%eax)
41a3d3:	0f b7 c0             	movzwl %ax,%eax
41a3d6:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
41a3dc:	33 c0                	xor    %eax,%eax
41a3de:	50                   	push   %eax
41a3df:	89 45 ac             	mov    %eax,-0x54(%ebp)
41a3e2:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
41a3e5:	89 45 b0             	mov    %eax,-0x50(%ebp)
41a3e8:	6a 01                	push   $0x1
41a3ea:	89 45 ac             	mov    %eax,-0x54(%ebp)
41a3ed:	c7 45 b0 0f 00 00 00 	movl   $0xf,-0x50(%ebp)
41a3f4:	88 45 9c             	mov    %al,-0x64(%ebp)
41a3f7:	e8 42 53 00 00       	call   0x41f73e
41a3fc:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
41a400:	8b cf                	mov    %edi,%ecx
41a402:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41a408:	33 f6                	xor    %esi,%esi
41a40a:	e8 e5 67 00 00       	call   0x420bf4
41a40f:	84 c0                	test   %al,%al
41a411:	0f 85 0a 01 00 00    	jne    0x41a521
41a417:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41a41b:	75 07                	jne    0x41a424
41a41d:	8b cf                	mov    %edi,%ecx
41a41f:	e8 71 20 00 00       	call   0x41c495
41a424:	0f b7 4f 06          	movzwl 0x6(%edi),%ecx
41a428:	8d 45 b4             	lea    -0x4c(%ebp),%eax
41a42b:	66 39 08             	cmp    %cx,(%eax)
41a42e:	74 0a                	je     0x41a43a
41a430:	83 c0 02             	add    $0x2,%eax
41a433:	8d 55 ec             	lea    -0x14(%ebp),%edx
41a436:	3b c2                	cmp    %edx,%eax
41a438:	75 f1                	jne    0x41a42b
41a43a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41a43d:	2b c1                	sub    %ecx,%eax
41a43f:	d1 f8                	sar    $1,%eax
41a441:	83 f8 16             	cmp    $0x16,%eax
41a444:	73 59                	jae    0x41a49f
41a446:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
41a44c:	c6 45 83 01          	movb   $0x1,-0x7d(%ebp)
41a450:	39 8d 5c ff ff ff    	cmp    %ecx,-0xa4(%ebp)
41a456:	7f 08                	jg     0x41a460
41a458:	ff 85 70 ff ff ff    	incl   -0x90(%ebp)
41a45e:	eb 1e                	jmp    0x41a47e
41a460:	85 c0                	test   %eax,%eax
41a462:	75 04                	jne    0x41a468
41a464:	85 c9                	test   %ecx,%ecx
41a466:	74 16                	je     0x41a47e
41a468:	8a 80 c4 64 49 00    	mov    0x4964c4(%eax),%al
41a46e:	88 03                	mov    %al,(%ebx)
41a470:	43                   	inc    %ebx
41a471:	41                   	inc    %ecx
41a472:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
41a478:	89 8d 6c ff ff ff    	mov    %ecx,-0x94(%ebp)
41a47e:	83 7d b0 10          	cmpl   $0x10,-0x50(%ebp)
41a482:	8d 45 9c             	lea    -0x64(%ebp),%eax
41a485:	0f 43 45 9c          	cmovae -0x64(%ebp),%eax
41a489:	80 3c 30 7f          	cmpb   $0x7f,(%eax,%esi,1)
41a48d:	74 5a                	je     0x41a4e9
41a48f:	83 7d b0 10          	cmpl   $0x10,-0x50(%ebp)
41a493:	8d 45 9c             	lea    -0x64(%ebp),%eax
41a496:	0f 43 45 9c          	cmovae -0x64(%ebp),%eax
41a49a:	fe 04 30             	incb   (%eax,%esi,1)
41a49d:	eb 4a                	jmp    0x41a4e9
41a49f:	8b 4d b0             	mov    -0x50(%ebp),%ecx
41a4a2:	8d 45 9c             	lea    -0x64(%ebp),%eax
41a4a5:	8b 55 9c             	mov    -0x64(%ebp),%edx
41a4a8:	83 f9 10             	cmp    $0x10,%ecx
41a4ab:	0f 43 c2             	cmovae %edx,%eax
41a4ae:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
41a4b2:	74 57                	je     0x41a50b
41a4b4:	66 83 bd 64 ff ff ff 	cmpw   $0x0,-0x9c(%ebp)
41a4bb:	00
41a4bc:	74 4d                	je     0x41a50b
41a4be:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41a4c2:	75 0d                	jne    0x41a4d1
41a4c4:	8b cf                	mov    %edi,%ecx
41a4c6:	e8 ca 1f 00 00       	call   0x41c495
41a4cb:	8b 4d b0             	mov    -0x50(%ebp),%ecx
41a4ce:	8b 55 9c             	mov    -0x64(%ebp),%edx
41a4d1:	0f b7 47 06          	movzwl 0x6(%edi),%eax
41a4d5:	66 3b 85 64 ff ff ff 	cmp    -0x9c(%ebp),%ax
41a4dc:	75 2d                	jne    0x41a50b
41a4de:	6a 00                	push   $0x0
41a4e0:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
41a4e3:	e8 aa 81 00 00       	call   0x422692
41a4e8:	46                   	inc    %esi
41a4e9:	8b cf                	mov    %edi,%ecx
41a4eb:	e8 df 08 00 00       	call   0x41adcf
41a4f0:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41a4f6:	8b cf                	mov    %edi,%ecx
41a4f8:	e8 f7 66 00 00       	call   0x420bf4
41a4fd:	84 c0                	test   %al,%al
41a4ff:	0f 84 12 ff ff ff    	je     0x41a417
41a505:	8b 4d b0             	mov    -0x50(%ebp),%ecx
41a508:	8b 55 9c             	mov    -0x64(%ebp),%edx
41a50b:	85 f6                	test   %esi,%esi
41a50d:	74 18                	je     0x41a527
41a50f:	83 f9 10             	cmp    $0x10,%ecx
41a512:	8d 45 9c             	lea    -0x64(%ebp),%eax
41a515:	0f 43 c2             	cmovae %edx,%eax
41a518:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
41a51c:	7e 7a                	jle    0x41a598
41a51e:	46                   	inc    %esi
41a51f:	eb 06                	jmp    0x41a527
41a521:	8b 4d b0             	mov    -0x50(%ebp),%ecx
41a524:	8b 55 9c             	mov    -0x64(%ebp),%edx
41a527:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
41a52d:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
41a533:	85 f6                	test   %esi,%esi
41a535:	74 68                	je     0x41a59f
41a537:	8a 00                	mov    (%eax),%al
41a539:	88 85 7a ff ff ff    	mov    %al,-0x86(%ebp)
41a53f:	3c 7f                	cmp    $0x7f,%al
41a541:	74 5c                	je     0x41a59f
41a543:	83 ee 01             	sub    $0x1,%esi
41a546:	74 17                	je     0x41a55f
41a548:	83 f9 10             	cmp    $0x10,%ecx
41a54b:	8d 45 9c             	lea    -0x64(%ebp),%eax
41a54e:	8a 8d 7a ff ff ff    	mov    -0x86(%ebp),%cl
41a554:	0f 43 c2             	cmovae %edx,%eax
41a557:	3a 0c 30             	cmp    (%eax,%esi,1),%cl
41a55a:	8b 4d b0             	mov    -0x50(%ebp),%ecx
41a55d:	75 39                	jne    0x41a598
41a55f:	85 f6                	test   %esi,%esi
41a561:	75 16                	jne    0x41a579
41a563:	83 f9 10             	cmp    $0x10,%ecx
41a566:	8d 45 9c             	lea    -0x64(%ebp),%eax
41a569:	8a 8d 7a ff ff ff    	mov    -0x86(%ebp),%cl
41a56f:	0f 43 c2             	cmovae %edx,%eax
41a572:	3a 08                	cmp    (%eax),%cl
41a574:	8b 4d b0             	mov    -0x50(%ebp),%ecx
41a577:	7c 1f                	jl     0x41a598
41a579:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
41a57f:	40                   	inc    %eax
41a580:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
41a586:	80 38 00             	cmpb   $0x0,(%eax)
41a589:	0f 4e 85 64 ff ff ff 	cmovle -0x9c(%ebp),%eax
41a590:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
41a596:	eb 95                	jmp    0x41a52d
41a598:	c6 85 7b ff ff ff 01 	movb   $0x1,-0x85(%ebp)
41a59f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41a5a3:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
41a5a6:	e8 29 2d 00 00       	call   0x41d2d4
41a5ab:	8b b5 6c ff ff ff    	mov    -0x94(%ebp),%esi
41a5b1:	e9 8a 00 00 00       	jmp    0x41a640
41a5b6:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41a5bc:	8b cf                	mov    %edi,%ecx
41a5be:	e8 31 66 00 00       	call   0x420bf4
41a5c3:	84 c0                	test   %al,%al
41a5c5:	75 79                	jne    0x41a640
41a5c7:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41a5cb:	75 07                	jne    0x41a5d4
41a5cd:	8b cf                	mov    %edi,%ecx
41a5cf:	e8 c1 1e 00 00       	call   0x41c495
41a5d4:	0f b7 4f 06          	movzwl 0x6(%edi),%ecx
41a5d8:	8d 45 b4             	lea    -0x4c(%ebp),%eax
41a5db:	66 39 08             	cmp    %cx,(%eax)
41a5de:	74 0a                	je     0x41a5ea
41a5e0:	83 c0 02             	add    $0x2,%eax
41a5e3:	8d 55 ec             	lea    -0x14(%ebp),%edx
41a5e6:	3b c2                	cmp    %edx,%eax
41a5e8:	75 f1                	jne    0x41a5db
41a5ea:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41a5ed:	2b c1                	sub    %ecx,%eax
41a5ef:	d1 f8                	sar    $1,%eax
41a5f1:	83 f8 16             	cmp    $0x16,%eax
41a5f4:	73 3e                	jae    0x41a634
41a5f6:	39 b5 5c ff ff ff    	cmp    %esi,-0xa4(%ebp)
41a5fc:	7f 08                	jg     0x41a606
41a5fe:	ff 85 70 ff ff ff    	incl   -0x90(%ebp)
41a604:	eb 12                	jmp    0x41a618
41a606:	85 c0                	test   %eax,%eax
41a608:	75 04                	jne    0x41a60e
41a60a:	85 f6                	test   %esi,%esi
41a60c:	74 0a                	je     0x41a618
41a60e:	8a 80 c4 64 49 00    	mov    0x4964c4(%eax),%al
41a614:	88 03                	mov    %al,(%ebx)
41a616:	43                   	inc    %ebx
41a617:	46                   	inc    %esi
41a618:	8b cf                	mov    %edi,%ecx
41a61a:	c6 45 83 01          	movb   $0x1,-0x7d(%ebp)
41a61e:	e8 ac 07 00 00       	call   0x41adcf
41a623:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41a629:	8b cf                	mov    %edi,%ecx
41a62b:	e8 c4 65 00 00       	call   0x420bf4
41a630:	84 c0                	test   %al,%al
41a632:	74 93                	je     0x41a5c7
41a634:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
41a63a:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
41a640:	80 7d 83 00          	cmpb   $0x0,-0x7d(%ebp)
41a644:	74 0e                	je     0x41a654
41a646:	85 f6                	test   %esi,%esi
41a648:	75 0a                	jne    0x41a654
41a64a:	c6 03 30             	movb   $0x30,(%ebx)
41a64d:	43                   	inc    %ebx
41a64e:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
41a654:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41a65a:	8b cf                	mov    %edi,%ecx
41a65c:	e8 93 65 00 00       	call   0x420bf4
41a661:	84 c0                	test   %al,%al
41a663:	75 39                	jne    0x41a69e
41a665:	38 47 04             	cmp    %al,0x4(%edi)
41a668:	75 07                	jne    0x41a671
41a66a:	8b cf                	mov    %edi,%ecx
41a66c:	e8 24 1e 00 00       	call   0x41c495
41a671:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
41a677:	0f b7 77 06          	movzwl 0x6(%edi),%esi
41a67b:	8b 01                	mov    (%ecx),%eax
41a67d:	ff 50 0c             	call   *0xc(%eax)
41a680:	66 3b f0             	cmp    %ax,%si
41a683:	75 19                	jne    0x41a69e
41a685:	e8 53 d7 04 00       	call   0x467ddd
41a68a:	8b cf                	mov    %edi,%ecx
41a68c:	8b 00                	mov    (%eax),%eax
41a68e:	8a 00                	mov    (%eax),%al
41a690:	88 03                	mov    %al,(%ebx)
41a692:	43                   	inc    %ebx
41a693:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
41a699:	e8 31 07 00 00       	call   0x41adcf
41a69e:	8b b5 6c ff ff ff    	mov    -0x94(%ebp),%esi
41a6a4:	85 f6                	test   %esi,%esi
41a6a6:	0f 85 c1 00 00 00    	jne    0x41a76d
41a6ac:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41a6b2:	8b cf                	mov    %edi,%ecx
41a6b4:	e8 3b 65 00 00       	call   0x420bf4
41a6b9:	84 c0                	test   %al,%al
41a6bb:	75 4d                	jne    0x41a70a
41a6bd:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
41a6c3:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
41a6c9:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41a6cd:	75 07                	jne    0x41a6d6
41a6cf:	8b cf                	mov    %edi,%ecx
41a6d1:	e8 bf 1d 00 00       	call   0x41c495
41a6d6:	0f b7 47 06          	movzwl 0x6(%edi),%eax
41a6da:	66 3b 45 b4          	cmp    -0x4c(%ebp),%ax
41a6de:	75 18                	jne    0x41a6f8
41a6e0:	8b cf                	mov    %edi,%ecx
41a6e2:	c6 45 83 01          	movb   $0x1,-0x7d(%ebp)
41a6e6:	4b                   	dec    %ebx
41a6e7:	e8 e3 06 00 00       	call   0x41adcf
41a6ec:	56                   	push   %esi
41a6ed:	8b cf                	mov    %edi,%ecx
41a6ef:	e8 00 65 00 00       	call   0x420bf4
41a6f4:	84 c0                	test   %al,%al
41a6f6:	74 d1                	je     0x41a6c9
41a6f8:	8b b5 6c ff ff ff    	mov    -0x94(%ebp),%esi
41a6fe:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
41a704:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
41a70a:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
41a710:	85 c0                	test   %eax,%eax
41a712:	79 59                	jns    0x41a76d
41a714:	c6 03 30             	movb   $0x30,(%ebx)
41a717:	43                   	inc    %ebx
41a718:	40                   	inc    %eax
41a719:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
41a71f:	eb 4c                	jmp    0x41a76d
41a721:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41a725:	75 07                	jne    0x41a72e
41a727:	8b cf                	mov    %edi,%ecx
41a729:	e8 67 1d 00 00       	call   0x41c495
41a72e:	0f b7 4f 06          	movzwl 0x6(%edi),%ecx
41a732:	8d 45 b4             	lea    -0x4c(%ebp),%eax
41a735:	66 39 08             	cmp    %cx,(%eax)
41a738:	74 0a                	je     0x41a744
41a73a:	83 c0 02             	add    $0x2,%eax
41a73d:	8d 55 ec             	lea    -0x14(%ebp),%edx
41a740:	3b c2                	cmp    %edx,%eax
41a742:	75 f1                	jne    0x41a735
41a744:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41a747:	2b c1                	sub    %ecx,%eax
41a749:	d1 f8                	sar    $1,%eax
41a74b:	83 f8 16             	cmp    $0x16,%eax
41a74e:	73 2e                	jae    0x41a77e
41a750:	3b b5 5c ff ff ff    	cmp    -0xa4(%ebp),%esi
41a756:	7d 0a                	jge    0x41a762
41a758:	8a 80 c4 64 49 00    	mov    0x4964c4(%eax),%al
41a75e:	88 03                	mov    %al,(%ebx)
41a760:	43                   	inc    %ebx
41a761:	46                   	inc    %esi
41a762:	8b cf                	mov    %edi,%ecx
41a764:	c6 45 83 01          	movb   $0x1,-0x7d(%ebp)
41a768:	e8 62 06 00 00       	call   0x41adcf
41a76d:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41a773:	8b cf                	mov    %edi,%ecx
41a775:	e8 7a 64 00 00       	call   0x420bf4
41a77a:	84 c0                	test   %al,%al
41a77c:	74 a3                	je     0x41a721
41a77e:	8a 45 83             	mov    -0x7d(%ebp),%al
41a781:	84 c0                	test   %al,%al
41a783:	0f 84 72 01 00 00    	je     0x41a8fb
41a789:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41a78f:	8b cf                	mov    %edi,%ecx
41a791:	e8 5e 64 00 00       	call   0x420bf4
41a796:	84 c0                	test   %al,%al
41a798:	0f 85 5a 01 00 00    	jne    0x41a8f8
41a79e:	38 47 04             	cmp    %al,0x4(%edi)
41a7a1:	75 07                	jne    0x41a7aa
41a7a3:	8b cf                	mov    %edi,%ecx
41a7a5:	e8 eb 1c 00 00       	call   0x41c495
41a7aa:	0f b7 47 06          	movzwl 0x6(%edi),%eax
41a7ae:	66 3b 45 ea          	cmp    -0x16(%ebp),%ax
41a7b2:	74 1b                	je     0x41a7cf
41a7b4:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41a7b8:	75 0b                	jne    0x41a7c5
41a7ba:	8b cf                	mov    %edi,%ecx
41a7bc:	e8 d4 1c 00 00       	call   0x41c495
41a7c1:	0f b7 47 06          	movzwl 0x6(%edi),%eax
41a7c5:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
41a7c9:	0f 85 29 01 00 00    	jne    0x41a8f8
41a7cf:	c6 03 70             	movb   $0x70,(%ebx)
41a7d2:	8b cf                	mov    %edi,%ecx
41a7d4:	43                   	inc    %ebx
41a7d5:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
41a7db:	e8 ef 05 00 00       	call   0x41adcf
41a7e0:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41a7e6:	33 f6                	xor    %esi,%esi
41a7e8:	c6 45 83 00          	movb   $0x0,-0x7d(%ebp)