46d329:	8b 08                	mov    (%eax),%ecx
46d32b:	ff 76 10             	push   0x10(%esi)
46d32e:	52                   	push   %edx
46d32f:	ff 70 10             	push   0x10(%eax)
46d332:	51                   	push   %ecx
46d333:	e8 d8 11 00 00       	call   0x46e510
46d338:	83 c4 10             	add    $0x10,%esp
46d33b:	c1 e8 1f             	shr    $0x1f,%eax
46d33e:	e9 94 00 00 00       	jmp    0x46d3d7
46d343:	8b cf                	mov    %edi,%ecx
46d345:	e8 f6 30 00 00       	call   0x470440
46d34a:	8b cb                	mov    %ebx,%ecx
46d34c:	89 45 a8             	mov    %eax,-0x58(%ebp)
46d34f:	8b f2                	mov    %edx,%esi
46d351:	e8 ea 30 00 00       	call   0x470440
46d356:	3b f2                	cmp    %edx,%esi
46d358:	0f 8c ec 00 00 00    	jl     0x46d44a
46d35e:	7f 7b                	jg     0x46d3db
46d360:	39 45 a8             	cmp    %eax,-0x58(%ebp)
46d363:	0f 82 e1 00 00 00    	jb     0x46d44a
46d369:	eb 70                	jmp    0x46d3db
46d36b:	8b cf                	mov    %edi,%ecx
46d36d:	e8 de 2e 00 00       	call   0x470250
46d372:	8b cb                	mov    %ebx,%ecx
46d374:	8b f0                	mov    %eax,%esi
46d376:	e8 d5 2e 00 00       	call   0x470250
46d37b:	3b f0                	cmp    %eax,%esi
46d37d:	0f 9c c0             	setl   %al
46d380:	eb 55                	jmp    0x46d3d7
46d382:	8b cf                	mov    %edi,%ecx
46d384:	e8 67 37 00 00       	call   0x470af0
46d389:	8b cb                	mov    %ebx,%ecx
46d38b:	89 45 a8             	mov    %eax,-0x58(%ebp)
46d38e:	8b f2                	mov    %edx,%esi
46d390:	e8 5b 37 00 00       	call   0x470af0
46d395:	3b f2                	cmp    %edx,%esi
46d397:	0f 82 ad 00 00 00    	jb     0x46d44a
46d39d:	77 3c                	ja     0x46d3db
46d39f:	39 45 a8             	cmp    %eax,-0x58(%ebp)
46d3a2:	0f 82 a2 00 00 00    	jb     0x46d44a
46d3a8:	eb 31                	jmp    0x46d3db
46d3aa:	8b cf                	mov    %edi,%ecx
46d3ac:	e8 4f 35 00 00       	call   0x470900
46d3b1:	8b cb                	mov    %ebx,%ecx
46d3b3:	8b f0                	mov    %eax,%esi
46d3b5:	e8 46 35 00 00       	call   0x470900
46d3ba:	3b f0                	cmp    %eax,%esi
46d3bc:	eb 16                	jmp    0x46d3d4
46d3be:	8b cf                	mov    %edi,%ecx
46d3c0:	e8 9b 2c 00 00       	call   0x470060
46d3c5:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
46d3c8:	8a d8                	mov    %al,%bl
46d3ca:	e8 91 2c 00 00       	call   0x470060
46d3cf:	3a d8                	cmp    %al,%bl
46d3d1:	8b 5d a4             	mov    -0x5c(%ebp),%ebx
46d3d4:	0f 92 c0             	setb   %al
46d3d7:	84 c0                	test   %al,%al
46d3d9:	75 6f                	jne    0x46d44a
46d3db:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
46d3de:	83 c3 20             	add    $0x20,%ebx
46d3e1:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
46d3e4:	3b d9                	cmp    %ecx,%ebx
46d3e6:	0f 82 14 fe ff ff    	jb     0x46d200
46d3ec:	eb 5f                	jmp    0x46d44d
46d3ee:	68 98 04 00 00       	push   $0x498
46d3f3:	68 88 79 60 00       	push   $0x607988
46d3f8:	6a 02                	push   $0x2
46d3fa:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d3fd:	e8 de 7e 00 00       	call   0x4752e0
46d402:	c7 45 fc 0f 00 00 00 	movl   $0xf,-0x4(%ebp)
46d409:	eb 1b                	jmp    0x46d426
46d40b:	68 98 04 00 00       	push   $0x498
46d410:	68 88 79 60 00       	push   $0x607988
46d415:	6a 02                	push   $0x2
46d417:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d41a:	e8 c1 7e 00 00       	call   0x4752e0
46d41f:	c7 45 fc 0b 00 00 00 	movl   $0xb,-0x4(%ebp)
46d426:	68 48 77 60 00       	push   $0x607748
46d42b:	8b c8                	mov    %eax,%ecx
46d42d:	e8 be 84 00 00       	call   0x4758f0
46d432:	50                   	push   %eax
46d433:	8d 4d 9b             	lea    -0x65(%ebp),%ecx
46d436:	e8 45 82 00 00       	call   0x475680
46d43b:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d43e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46d445:	e8 c6 81 00 00       	call   0x475610
46d44a:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
46d44d:	8b c7                	mov    %edi,%eax
46d44f:	89 45 a0             	mov    %eax,-0x60(%ebp)
46d452:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
46d455:	3b d9                	cmp    %ecx,%ebx
46d457:	0f 83 ef 02 00 00    	jae    0x46d74c
46d45d:	0f 1f 00             	nopl   (%eax)
46d460:	8b cf                	mov    %edi,%ecx
46d462:	e8 89 7c 00 00       	call   0x4750f0
46d467:	48                   	dec    %eax
46d468:	83 f8 08             	cmp    $0x8,%eax
46d46b:	0f 87 49 02 00 00    	ja     0x46d6ba
46d471:	ff 24 85 bc dd 46 00 	jmp    *0x46ddbc(,%eax,4)
46d478:	8b cb                	mov    %ebx,%ecx
46d47a:	e8 a1 32 00 00       	call   0x470720
46d47f:	8b cf                	mov    %edi,%ecx
46d481:	8b f0                	mov    %eax,%esi
46d483:	e8 98 32 00 00       	call   0x470720
46d488:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
46d48c:	8b d6                	mov    %esi,%edx
46d48e:	72 02                	jb     0x46d492
46d490:	8b 16                	mov    (%esi),%edx
46d492:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
46d496:	8b c8                	mov    %eax,%ecx
46d498:	72 02                	jb     0x46d49c
46d49a:	8b 08                	mov    (%eax),%ecx
46d49c:	ff 76 10             	push   0x10(%esi)
46d49f:	52                   	push   %edx
46d4a0:	ff 70 10             	push   0x10(%eax)
46d4a3:	51                   	push   %ecx
46d4a4:	e8 67 10 00 00       	call   0x46e510
46d4a9:	83 c4 10             	add    $0x10,%esp
46d4ac:	c1 e8 1f             	shr    $0x1f,%eax
46d4af:	e9 94 00 00 00       	jmp    0x46d548
46d4b4:	8b cf                	mov    %edi,%ecx
46d4b6:	e8 85 2f 00 00       	call   0x470440
46d4bb:	8b cb                	mov    %ebx,%ecx
46d4bd:	89 45 a8             	mov    %eax,-0x58(%ebp)
46d4c0:	8b f2                	mov    %edx,%esi
46d4c2:	e8 79 2f 00 00       	call   0x470440
46d4c7:	3b f2                	cmp    %edx,%esi
46d4c9:	0f 8c 2a 02 00 00    	jl     0x46d6f9
46d4cf:	7f 7f                	jg     0x46d550
46d4d1:	39 45 a8             	cmp    %eax,-0x58(%ebp)
46d4d4:	0f 82 1f 02 00 00    	jb     0x46d6f9
46d4da:	eb 74                	jmp    0x46d550
46d4dc:	8b cf                	mov    %edi,%ecx
46d4de:	e8 6d 2d 00 00       	call   0x470250
46d4e3:	8b cb                	mov    %ebx,%ecx
46d4e5:	8b f0                	mov    %eax,%esi
46d4e7:	e8 64 2d 00 00       	call   0x470250
46d4ec:	3b f0                	cmp    %eax,%esi
46d4ee:	0f 9c c0             	setl   %al
46d4f1:	eb 55                	jmp    0x46d548
46d4f3:	8b cf                	mov    %edi,%ecx
46d4f5:	e8 f6 35 00 00       	call   0x470af0
46d4fa:	8b cb                	mov    %ebx,%ecx
46d4fc:	89 45 a8             	mov    %eax,-0x58(%ebp)
46d4ff:	8b f2                	mov    %edx,%esi
46d501:	e8 ea 35 00 00       	call   0x470af0
46d506:	3b f2                	cmp    %edx,%esi
46d508:	0f 82 eb 01 00 00    	jb     0x46d6f9
46d50e:	77 40                	ja     0x46d550
46d510:	39 45 a8             	cmp    %eax,-0x58(%ebp)
46d513:	0f 82 e0 01 00 00    	jb     0x46d6f9
46d519:	eb 35                	jmp    0x46d550
46d51b:	8b cf                	mov    %edi,%ecx
46d51d:	e8 de 33 00 00       	call   0x470900
46d522:	8b cb                	mov    %ebx,%ecx
46d524:	8b f0                	mov    %eax,%esi
46d526:	e8 d5 33 00 00       	call   0x470900
46d52b:	3b f0                	cmp    %eax,%esi
46d52d:	eb 16                	jmp    0x46d545
46d52f:	8b cf                	mov    %edi,%ecx
46d531:	e8 2a 2b 00 00       	call   0x470060
46d536:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
46d539:	8a d8                	mov    %al,%bl
46d53b:	e8 20 2b 00 00       	call   0x470060
46d540:	3a d8                	cmp    %al,%bl
46d542:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
46d545:	0f 92 c0             	setb   %al
46d548:	84 c0                	test   %al,%al
46d54a:	0f 85 a9 01 00 00    	jne    0x46d6f9
46d550:	8b cb                	mov    %ebx,%ecx
46d552:	e8 99 7b 00 00       	call   0x4750f0
46d557:	48                   	dec    %eax
46d558:	83 f8 08             	cmp    $0x8,%eax
46d55b:	0f 87 a9 01 00 00    	ja     0x46d70a
46d561:	ff 24 85 e0 dd 46 00 	jmp    *0x46dde0(,%eax,4)
46d568:	8b cf                	mov    %edi,%ecx
46d56a:	e8 b1 31 00 00       	call   0x470720
46d56f:	8b cb                	mov    %ebx,%ecx
46d571:	8b f0                	mov    %eax,%esi
46d573:	e8 a8 31 00 00       	call   0x470720
46d578:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
46d57c:	8b d6                	mov    %esi,%edx
46d57e:	72 02                	jb     0x46d582
46d580:	8b 16                	mov    (%esi),%edx
46d582:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
46d586:	8b c8                	mov    %eax,%ecx
46d588:	72 02                	jb     0x46d58c
46d58a:	8b 08                	mov    (%eax),%ecx
46d58c:	ff 76 10             	push   0x10(%esi)
46d58f:	52                   	push   %edx
46d590:	ff 70 10             	push   0x10(%eax)
46d593:	51                   	push   %ecx
46d594:	e8 77 0f 00 00       	call   0x46e510
46d599:	83 c4 10             	add    $0x10,%esp
46d59c:	c1 e8 1f             	shr    $0x1f,%eax
46d59f:	e9 94 00 00 00       	jmp    0x46d638
46d5a4:	8b cf                	mov    %edi,%ecx
46d5a6:	e8 95 2e 00 00       	call   0x470440
46d5ab:	8b cb                	mov    %ebx,%ecx
46d5ad:	89 45 a8             	mov    %eax,-0x58(%ebp)
46d5b0:	8b f2                	mov    %edx,%esi
46d5b2:	e8 89 2e 00 00       	call   0x470440
46d5b7:	3b d6                	cmp    %esi,%edx
46d5b9:	0f 8c 8a 01 00 00    	jl     0x46d749
46d5bf:	7f 7f                	jg     0x46d640
46d5c1:	3b 45 a8             	cmp    -0x58(%ebp),%eax
46d5c4:	0f 82 7f 01 00 00    	jb     0x46d749
46d5ca:	eb 74                	jmp    0x46d640
46d5cc:	8b cf                	mov    %edi,%ecx
46d5ce:	e8 7d 2c 00 00       	call   0x470250
46d5d3:	8b cb                	mov    %ebx,%ecx
46d5d5:	8b f0                	mov    %eax,%esi
46d5d7:	e8 74 2c 00 00       	call   0x470250
46d5dc:	3b c6                	cmp    %esi,%eax
46d5de:	0f 9c c0             	setl   %al
46d5e1:	eb 55                	jmp    0x46d638
46d5e3:	8b cf                	mov    %edi,%ecx
46d5e5:	e8 06 35 00 00       	call   0x470af0
46d5ea:	8b cb                	mov    %ebx,%ecx
46d5ec:	89 45 a8             	mov    %eax,-0x58(%ebp)
46d5ef:	8b f2                	mov    %edx,%esi
46d5f1:	e8 fa 34 00 00       	call   0x470af0
46d5f6:	3b d6                	cmp    %esi,%edx
46d5f8:	0f 82 4b 01 00 00    	jb     0x46d749
46d5fe:	77 40                	ja     0x46d640
46d600:	3b 45 a8             	cmp    -0x58(%ebp),%eax
46d603:	0f 82 40 01 00 00    	jb     0x46d749
46d609:	eb 35                	jmp    0x46d640
46d60b:	8b cf                	mov    %edi,%ecx
46d60d:	e8 ee 32 00 00       	call   0x470900
46d612:	8b cb                	mov    %ebx,%ecx
46d614:	8b f0                	mov    %eax,%esi
46d616:	e8 e5 32 00 00       	call   0x470900
46d61b:	3b c6                	cmp    %esi,%eax
46d61d:	eb 16                	jmp    0x46d635
46d61f:	8b cf                	mov    %edi,%ecx
46d621:	e8 3a 2a 00 00       	call   0x470060
46d626:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
46d629:	8a d8                	mov    %al,%bl
46d62b:	e8 30 2a 00 00       	call   0x470060
46d630:	3a c3                	cmp    %bl,%al
46d632:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
46d635:	0f 92 c0             	setb   %al
46d638:	84 c0                	test   %al,%al
46d63a:	0f 85 09 01 00 00    	jne    0x46d749
46d640:	8b 75 a4             	mov    -0x5c(%ebp),%esi
46d643:	3b f3                	cmp    %ebx,%esi
46d645:	74 6b                	je     0x46d6b2
46d647:	56                   	push   %esi
46d648:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46d64b:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46d652:	e8 99 1e 00 00       	call   0x46f4f0
46d657:	53                   	push   %ebx
46d658:	8b ce                	mov    %esi,%ecx
46d65a:	c7 45 fc 18 00 00 00 	movl   $0x18,-0x4(%ebp)
46d661:	e8 8a 1e 00 00       	call   0x46f4f0
46d666:	8d 45 d0             	lea    -0x30(%ebp),%eax
46d669:	8b cb                	mov    %ebx,%ecx
46d66b:	50                   	push   %eax
46d66c:	e8 7f 1e 00 00       	call   0x46f4f0
46d671:	83 7d e8 09          	cmpl   $0x9,-0x18(%ebp)
46d675:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46d67c:	75 34                	jne    0x46d6b2
46d67e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46d681:	83 fa 10             	cmp    $0x10,%edx
46d684:	72 2c                	jb     0x46d6b2
46d686:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46d689:	42                   	inc    %edx
46d68a:	8b c1                	mov    %ecx,%eax
46d68c:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46d692:	72 14                	jb     0x46d6a8
46d694:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46d697:	83 c2 23             	add    $0x23,%edx
46d69a:	2b c1                	sub    %ecx,%eax
46d69c:	83 c0 fc             	add    $0xfffffffc,%eax
46d69f:	83 f8 1f             	cmp    $0x1f,%eax
46d6a2:	0f 87 7c 06 00 00    	ja     0x46dd24
46d6a8:	52                   	push   %edx
46d6a9:	51                   	push   %ecx
46d6aa:	e8 a6 3b 16 00       	call   0x5d1255
46d6af:	83 c4 08             	add    $0x8,%esp
46d6b2:	83 c6 20             	add    $0x20,%esi
46d6b5:	89 75 a4             	mov    %esi,-0x5c(%ebp)
46d6b8:	eb 3f                	jmp    0x46d6f9
46d6ba:	68 98 04 00 00       	push   $0x498
46d6bf:	68 88 79 60 00       	push   $0x607988
46d6c4:	6a 02                	push   $0x2
46d6c6:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d6c9:	e8 12 7c 00 00       	call   0x4752e0
46d6ce:	68 48 77 60 00       	push   $0x607748
46d6d3:	8b c8                	mov    %eax,%ecx
46d6d5:	c7 45 fc 13 00 00 00 	movl   $0x13,-0x4(%ebp)
46d6dc:	e8 0f 82 00 00       	call   0x4758f0
46d6e1:	50                   	push   %eax
46d6e2:	8d 4d 9b             	lea    -0x65(%ebp),%ecx
46d6e5:	e8 96 7f 00 00       	call   0x475680
46d6ea:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d6ed:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46d6f4:	e8 17 7f 00 00       	call   0x475610
46d6f9:	83 c3 20             	add    $0x20,%ebx
46d6fc:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
46d6ff:	3b 5d 9c             	cmp    -0x64(%ebp),%ebx
46d702:	0f 82 58 fd ff ff    	jb     0x46d460
46d708:	eb 3f                	jmp    0x46d749
46d70a:	68 98 04 00 00       	push   $0x498
46d70f:	68 88 79 60 00       	push   $0x607988
46d714:	6a 02                	push   $0x2
46d716:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d719:	e8 c2 7b 00 00       	call   0x4752e0
46d71e:	68 48 77 60 00       	push   $0x607748
46d723:	8b c8                	mov    %eax,%ecx
46d725:	c7 45 fc 17 00 00 00 	movl   $0x17,-0x4(%ebp)
46d72c:	e8 bf 81 00 00       	call   0x4758f0
46d731:	50                   	push   %eax
46d732:	8d 4d 8b             	lea    -0x75(%ebp),%ecx
46d735:	e8 46 7f 00 00       	call   0x475680
46d73a:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d73d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46d744:	e8 c7 7e 00 00       	call   0x475610
46d749:	8b 45 a0             	mov    -0x60(%ebp),%eax
46d74c:	8b 4d 90             	mov    -0x70(%ebp),%ecx
46d74f:	3b c1                	cmp    %ecx,%eax
46d751:	0f 86 02 03 00 00    	jbe    0x46da59
46d757:	8d 58 e0             	lea    -0x20(%eax),%ebx
46d75a:	89 5d a8             	mov    %ebx,-0x58(%ebp)
46d75d:	0f 1f 00             	nopl   (%eax)
46d760:	8b cb                	mov    %ebx,%ecx
46d762:	e8 89 79 00 00       	call   0x4750f0
46d767:	48                   	dec    %eax
46d768:	83 f8 08             	cmp    $0x8,%eax
46d76b:	0f 87 46 02 00 00    	ja     0x46d9b7
46d771:	ff 24 85 04 de 46 00 	jmp    *0x46de04(,%eax,4)
46d778:	8b cf                	mov    %edi,%ecx
46d77a:	e8 a1 2f 00 00       	call   0x470720
46d77f:	8b cb                	mov    %ebx,%ecx
46d781:	8b f0                	mov    %eax,%esi
46d783:	e8 98 2f 00 00       	call   0x470720
46d788:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
46d78c:	8b d6                	mov    %esi,%edx
46d78e:	72 02                	jb     0x46d792
46d790:	8b 16                	mov    (%esi),%edx
46d792:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
46d796:	8b c8                	mov    %eax,%ecx
46d798:	72 02                	jb     0x46d79c
46d79a:	8b 08                	mov    (%eax),%ecx
46d79c:	ff 76 10             	push   0x10(%esi)
46d79f:	52                   	push   %edx
46d7a0:	ff 70 10             	push   0x10(%eax)
46d7a3:	51                   	push   %ecx
46d7a4:	e8 67 0d 00 00       	call   0x46e510