45e444:	89 75 d4             	mov    %esi,-0x2c(%ebp)
45e447:	89 75 dc             	mov    %esi,-0x24(%ebp)
45e44a:	89 45 e0             	mov    %eax,-0x20(%ebp)
45e44d:	c7 45 f8 00 dc 49 00 	movl   $0x49dc00,-0x8(%ebp)
45e454:	89 75 f0             	mov    %esi,-0x10(%ebp)
45e457:	e8 52 f8 fa ff       	call   0x40dcae
45e45c:	8b 07                	mov    (%edi),%eax
45e45e:	8b 7d 0c             	mov    0xc(%ebp),%edi
45e461:	89 45 f4             	mov    %eax,-0xc(%ebp)
45e464:	c7 45 ec 7f 00 00 00 	movl   $0x7f,-0x14(%ebp)
45e46b:	c7 45 e8 41 00 00 00 	movl   $0x41,-0x18(%ebp)
45e472:	8b 4d 08             	mov    0x8(%ebp),%ecx
45e475:	8b 51 04             	mov    0x4(%ecx),%edx
45e478:	8b 07                	mov    (%edi),%eax
45e47a:	8b 04 82             	mov    (%edx,%eax,4),%eax
45e47d:	66 83 78 08 48       	cmpw   $0x48,0x8(%eax)
45e482:	74 37                	je     0x45e4bb
45e484:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45e487:	e8 e9 1c fe ff       	call   0x440175
45e48c:	8b 4d 08             	mov    0x8(%ebp),%ecx
45e48f:	8b 07                	mov    (%edi),%eax
45e491:	8b 51 04             	mov    0x4(%ecx),%edx
45e494:	6a 47                	push   $0x47
45e496:	8b 04 82             	mov    (%edx,%eax,4),%eax
45e499:	59                   	pop    %ecx
45e49a:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e49e:	75 0b                	jne    0x45e4ab
45e4a0:	ff 0f                	decl   (%edi)
45e4a2:	c7 45 f8 00 dc 49 00 	movl   $0x49dc00,-0x8(%ebp)
45e4a9:	eb 10                	jmp    0x45e4bb
45e4ab:	6a 35                	push   $0x35
45e4ad:	59                   	pop    %ecx
45e4ae:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e4b2:	75 07                	jne    0x45e4bb
45e4b4:	8b 00                	mov    (%eax),%eax
45e4b6:	8b 00                	mov    (%eax),%eax
45e4b8:	89 45 f8             	mov    %eax,-0x8(%ebp)
45e4bb:	8b 07                	mov    (%edi),%eax
45e4bd:	6a 47                	push   $0x47
45e4bf:	8b 44 82 04          	mov    0x4(%edx,%eax,4),%eax
45e4c3:	59                   	pop    %ecx
45e4c4:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e4c8:	8b 4d 08             	mov    0x8(%ebp),%ecx
45e4cb:	75 1e                	jne    0x45e4eb
45e4cd:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45e4d0:	50                   	push   %eax
45e4d1:	57                   	push   %edi
45e4d2:	51                   	push   %ecx
45e4d3:	8b cb                	mov    %ebx,%ecx
45e4d5:	e8 63 e4 ff ff       	call   0x45c93d
45e4da:	85 c0                	test   %eax,%eax
45e4dc:	0f 88 60 01 00 00    	js     0x45e642
45e4e2:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
45e4e9:	eb 13                	jmp    0x45e4fe
45e4eb:	8b 0f                	mov    (%edi),%ecx
45e4ed:	6a 35                	push   $0x35
45e4ef:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45e4f2:	5a                   	pop    %edx
45e4f3:	66 39 50 08          	cmp    %dx,0x8(%eax)
45e4f7:	75 05                	jne    0x45e4fe
45e4f9:	8d 41 01             	lea    0x1(%ecx),%eax
45e4fc:	89 07                	mov    %eax,(%edi)
45e4fe:	8b 55 08             	mov    0x8(%ebp),%edx
45e501:	8b 07                	mov    (%edi),%eax
45e503:	8b 4a 04             	mov    0x4(%edx),%ecx
45e506:	89 4d 0c             	mov    %ecx,0xc(%ebp)
45e509:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
45e50c:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
45e510:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45e513:	e8 38 b7 fe ff       	call   0x449c50
45e518:	84 c0                	test   %al,%al
45e51a:	0f 85 ef 01 00 00    	jne    0x45e70f
45e520:	66 83 79 08 4e       	cmpw   $0x4e,0x8(%ecx)
45e525:	0f 85 86 00 00 00    	jne    0x45e5b1
45e52b:	6a 0f                	push   $0xf
45e52d:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e530:	e8 af f0 fa ff       	call   0x40d5e4
45e535:	84 c0                	test   %al,%al
45e537:	74 78                	je     0x45e5b1
45e539:	8b 07                	mov    (%edi),%eax
45e53b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45e53e:	8b 44 81 04          	mov    0x4(%ecx,%eax,4),%eax
45e542:	66 83 78 08 4f       	cmpw   $0x4f,0x8(%eax)
45e547:	0f 85 1d 01 00 00    	jne    0x45e66a
45e54d:	ff 75 f8             	push   -0x8(%ebp)
45e550:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
45e553:	e8 cd 43 fa ff       	call   0x402925
45e558:	8b 4d d0             	mov    -0x30(%ebp),%ecx
45e55b:	83 e9 0f             	sub    $0xf,%ecx
45e55e:	f7 d9                	neg    %ecx
45e560:	1b c9                	sbb    %ecx,%ecx
45e562:	56                   	push   %esi
45e563:	f7 d1                	not    %ecx
45e565:	23 4d c4             	and    -0x3c(%ebp),%ecx
45e568:	6a 01                	push   $0x1
45e56a:	8d 45 94             	lea    -0x6c(%ebp),%eax
45e56d:	50                   	push   %eax
45e56e:	e8 2b 5f fe ff       	call   0x44449e
45e573:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
45e576:	89 45 f4             	mov    %eax,-0xc(%ebp)
45e579:	e8 a2 46 fb ff       	call   0x412c20
45e57e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45e581:	e8 c1 cb fe ff       	call   0x44b147
45e586:	ff 75 f4             	push   -0xc(%ebp)
45e589:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e58c:	e8 1d f7 fa ff       	call   0x40dcae
45e591:	8b 45 08             	mov    0x8(%ebp),%eax
45e594:	83 07 02             	addl   $0x2,(%edi)
45e597:	8b 0f                	mov    (%edi),%ecx
45e599:	8b 40 04             	mov    0x4(%eax),%eax
45e59c:	6a 7f                	push   $0x7f
45e59e:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45e5a1:	59                   	pop    %ecx
45e5a2:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e5a6:	0f 84 4d 02 00 00    	je     0x45e7f9
45e5ac:	e9 c1 fe ff ff       	jmp    0x45e472
45e5b1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45e5b4:	50                   	push   %eax
45e5b5:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45e5b8:	50                   	push   %eax
45e5b9:	ff 75 f8             	push   -0x8(%ebp)
45e5bc:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45e5bf:	50                   	push   %eax
45e5c0:	ff 75 f0             	push   -0x10(%ebp)
45e5c3:	8b cb                	mov    %ebx,%ecx
45e5c5:	e8 d0 e2 ff ff       	call   0x45c89a
45e5ca:	85 c0                	test   %eax,%eax
45e5cc:	0f 88 78 01 00 00    	js     0x45e74a
45e5d2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e5d5:	e8 a6 e5 ff ff       	call   0x45cb80
45e5da:	84 c0                	test   %al,%al
45e5dc:	0f 84 e3 00 00 00    	je     0x45e6c5
45e5e2:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45e5e5:	50                   	push   %eax
45e5e6:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e5e9:	e8 c0 f6 fa ff       	call   0x40dcae
45e5ee:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e5f1:	e8 2a 46 fb ff       	call   0x412c20
45e5f6:	8b 4d 08             	mov    0x8(%ebp),%ecx
45e5f9:	8b 17                	mov    (%edi),%edx
45e5fb:	8b 41 04             	mov    0x4(%ecx),%eax
45e5fe:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
45e605:	89 75 d4             	mov    %esi,-0x2c(%ebp)
45e608:	8b 04 90             	mov    (%eax,%edx,4),%eax
45e60b:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45e60f:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
45e613:	0f 84 cf 00 00 00    	je     0x45e6e8
45e619:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
45e61d:	75 0a                	jne    0x45e629
45e61f:	8d 42 ff             	lea    -0x1(%edx),%eax
45e622:	89 07                	mov    %eax,(%edi)
45e624:	e9 4c fe ff ff       	jmp    0x45e475
45e629:	6a 35                	push   $0x35
45e62b:	5a                   	pop    %edx
45e62c:	66 3b c2             	cmp    %dx,%ax
45e62f:	0f 84 40 fe ff ff    	je     0x45e475
45e635:	68 28 41 4b 00       	push   $0x4b4128
45e63a:	51                   	push   %ecx
45e63b:	8b cb                	mov    %ebx,%ecx
45e63d:	e8 06 e4 fe ff       	call   0x44ca48
45e642:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e645:	e8 d6 45 fb ff       	call   0x412c20
45e64a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45e64d:	e8 ce 45 fb ff       	call   0x412c20
45e652:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e655:	e8 c6 45 fb ff       	call   0x412c20
45e65a:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45e65d:	e8 2a 10 fe ff       	call   0x43f68c
45e662:	83 c8 ff             	or     $0xffffffff,%eax
45e665:	e9 b1 01 00 00       	jmp    0x45e81b
45e66a:	8b 45 08             	mov    0x8(%ebp),%eax
45e66d:	8b 0f                	mov    (%edi),%ecx
45e66f:	8b 40 04             	mov    0x4(%eax),%eax
45e672:	6a 35                	push   $0x35
45e674:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
45e678:	59                   	pop    %ecx
45e679:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e67d:	74 10                	je     0x45e68f
45e67f:	8b 4d 10             	mov    0x10(%ebp),%ecx
45e682:	8b 45 f4             	mov    -0xc(%ebp),%eax
45e685:	89 01                	mov    %eax,(%ecx)
45e687:	33 f6                	xor    %esi,%esi
45e689:	46                   	inc    %esi
45e68a:	e9 6a 01 00 00       	jmp    0x45e7f9
45e68f:	ff 75 f8             	push   -0x8(%ebp)
45e692:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
45e695:	e8 8b 42 fa ff       	call   0x402925
45e69a:	8b 4d d0             	mov    -0x30(%ebp),%ecx
45e69d:	83 e9 0f             	sub    $0xf,%ecx
45e6a0:	f7 d9                	neg    %ecx
45e6a2:	1b c9                	sbb    %ecx,%ecx
45e6a4:	6a 01                	push   $0x1
45e6a6:	f7 d1                	not    %ecx
45e6a8:	23 4d c4             	and    -0x3c(%ebp),%ecx
45e6ab:	6a 01                	push   $0x1
45e6ad:	8d 45 94             	lea    -0x6c(%ebp),%eax
45e6b0:	50                   	push   %eax
45e6b1:	e8 e8 5d fe ff       	call   0x44449e
45e6b6:	8b 4d 10             	mov    0x10(%ebp),%ecx
45e6b9:	89 01                	mov    %eax,(%ecx)
45e6bb:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
45e6be:	e8 5d 45 fb ff       	call   0x412c20
45e6c3:	eb c2                	jmp    0x45e687
45e6c5:	8b 45 08             	mov    0x8(%ebp),%eax
45e6c8:	8b 0f                	mov    (%edi),%ecx
45e6ca:	8b 40 04             	mov    0x4(%eax),%eax
45e6cd:	6a 7f                	push   $0x7f
45e6cf:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45e6d2:	59                   	pop    %ecx
45e6d3:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e6d7:	74 0f                	je     0x45e6e8
45e6d9:	8b 03                	mov    (%ebx),%eax
45e6db:	56                   	push   %esi
45e6dc:	8b 48 04             	mov    0x4(%eax),%ecx
45e6df:	6a 01                	push   $0x1
45e6e1:	03 cb                	add    %ebx,%ecx
45e6e3:	e8 64 e8 fe ff       	call   0x44cf4c
45e6e8:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e6eb:	e8 30 45 fb ff       	call   0x412c20
45e6f0:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45e6f3:	e8 28 45 fb ff       	call   0x412c20
45e6f8:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e6fb:	e8 20 45 fb ff       	call   0x412c20
45e700:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45e703:	e8 84 0f fe ff       	call   0x43f68c
45e708:	33 c0                	xor    %eax,%eax
45e70a:	e9 0c 01 00 00       	jmp    0x45e81b
45e70f:	ff 07                	incl   (%edi)
45e711:	6a ff                	push   $0xffffffff
45e713:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45e716:	50                   	push   %eax
45e717:	57                   	push   %edi
45e718:	52                   	push   %edx
45e719:	8b cb                	mov    %ebx,%ecx
45e71b:	e8 10 17 fb ff       	call   0x40fe30
45e720:	85 c0                	test   %eax,%eax
45e722:	0f 88 1a ff ff ff    	js     0x45e642
45e728:	8b 45 08             	mov    0x8(%ebp),%eax
45e72b:	8b 0f                	mov    (%edi),%ecx
45e72d:	8b 40 04             	mov    0x4(%eax),%eax
45e730:	6a 7f                	push   $0x7f
45e732:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45e735:	59                   	pop    %ecx
45e736:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e73a:	74 16                	je     0x45e752
45e73c:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45e740:	50                   	push   %eax
45e741:	6a 72                	push   $0x72
45e743:	8b cb                	mov    %ebx,%ecx
45e745:	e8 12 e5 fe ff       	call   0x44cc5c
45e74a:	83 ce ff             	or     $0xffffffff,%esi
45e74d:	e9 a7 00 00 00       	jmp    0x45e7f9
45e752:	8b 7d e4             	mov    -0x1c(%ebp),%edi
45e755:	6a 41                	push   $0x41
45e757:	58                   	pop    %eax
45e758:	66 3b f8             	cmp    %ax,%di
45e75b:	74 7c                	je     0x45e7d9
45e75d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45e760:	50                   	push   %eax
45e761:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45e764:	50                   	push   %eax
45e765:	ff 75 f8             	push   -0x8(%ebp)
45e768:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45e76b:	50                   	push   %eax
45e76c:	56                   	push   %esi
45e76d:	8b cb                	mov    %ebx,%ecx
45e76f:	e8 26 e1 ff ff       	call   0x45c89a
45e774:	85 c0                	test   %eax,%eax
45e776:	78 61                	js     0x45e7d9
45e778:	0f bf c7             	movswl %di,%eax
45e77b:	83 e8 52             	sub    $0x52,%eax
45e77e:	74 4d                	je     0x45e7cd
45e780:	48                   	dec    %eax
45e781:	74 30                	je     0x45e7b3
45e783:	48                   	dec    %eax
45e784:	74 1f                	je     0x45e7a5
45e786:	48                   	dec    %eax
45e787:	74 0e                	je     0x45e797
45e789:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45e78c:	50                   	push   %eax
45e78d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e790:	e8 a0 be fe ff       	call   0x44a635
45e795:	eb 28                	jmp    0x45e7bf
45e797:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45e79a:	50                   	push   %eax
45e79b:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45e79e:	e8 a1 b7 fe ff       	call   0x449f44
45e7a3:	eb 34                	jmp    0x45e7d9
45e7a5:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45e7a8:	50                   	push   %eax
45e7a9:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e7ac:	e8 75 b9 fe ff       	call   0x44a126
45e7b1:	eb 0c                	jmp    0x45e7bf
45e7b3:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45e7b6:	50                   	push   %eax
45e7b7:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e7ba:	e8 65 b8 fe ff       	call   0x44a024
45e7bf:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45e7c2:	50                   	push   %eax
45e7c3:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45e7c6:	e8 e3 f4 fa ff       	call   0x40dcae
45e7cb:	eb 0c                	jmp    0x45e7d9
45e7cd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45e7d0:	50                   	push   %eax
45e7d1:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45e7d4:	e8 4c 5d fb ff       	call   0x414525
45e7d9:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45e7dc:	50                   	push   %eax
45e7dd:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45e7e0:	e8 f1 da fb ff       	call   0x41c2d6
45e7e5:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45e7e8:	50                   	push   %eax
45e7e9:	ff 75 f8             	push   -0x8(%ebp)
45e7ec:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45e7ef:	50                   	push   %eax
45e7f0:	8b cb                	mov    %ebx,%ecx
45e7f2:	e8 e7 e0 ff ff       	call   0x45c8de
45e7f7:	8b f0                	mov    %eax,%esi
45e7f9:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e7fc:	e8 1f 44 fb ff       	call   0x412c20
45e801:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45e804:	e8 17 44 fb ff       	call   0x412c20
45e809:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e80c:	e8 0f 44 fb ff       	call   0x412c20
45e811:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45e814:	e8 73 0e fe ff       	call   0x43f68c
45e819:	8b c6                	mov    %esi,%eax
45e81b:	5f                   	pop    %edi
45e81c:	5e                   	pop    %esi
45e81d:	5b                   	pop    %ebx
45e81e:	c9                   	leave
45e81f:	c2 0c 00             	ret    $0xc
45e822:	55                   	push   %ebp
45e823:	8b ec                	mov    %esp,%ebp
45e825:	83 ec 50             	sub    $0x50,%esp
45e828:	53                   	push   %ebx
45e829:	56                   	push   %esi
45e82a:	8b 75 08             	mov    0x8(%ebp),%esi
45e82d:	57                   	push   %edi
45e82e:	8b 7d 0c             	mov    0xc(%ebp),%edi
45e831:	8b 56 04             	mov    0x4(%esi),%edx
45e834:	83 07 02             	addl   $0x2,(%edi)
45e837:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45e83a:	8b 0f                	mov    (%edi),%ecx
45e83c:	6a 48                	push   $0x48
45e83e:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45e841:	5b                   	pop    %ebx
45e842:	66 39 58 08          	cmp    %bx,0x8(%eax)
45e846:	89 5d f4             	mov    %ebx,-0xc(%ebp)
45e849:	8b 5d f8             	mov    -0x8(%ebp),%ebx