61a4e1:	f3 aa                	rep stos %al,%es:(%edi)
61a4e3:	53                   	push   %ebx
61a4e4:	e8 e7 5f ed ff       	call   0x4f04d0
61a4e9:	59                   	pop    %ecx
61a4ea:	e8 a6 7a fc ff       	call   0x5e1f95
61a4ef:	c3                   	ret
61a4f0:	55                   	push   %ebp
61a4f1:	8b ec                	mov    %esp,%ebp
61a4f3:	51                   	push   %ecx
61a4f4:	53                   	push   %ebx
61a4f5:	56                   	push   %esi
61a4f6:	8b f1                	mov    %ecx,%esi
61a4f8:	33 db                	xor    %ebx,%ebx
61a4fa:	57                   	push   %edi
61a4fb:	8d 8e 0c 07 00 00    	lea    0x70c(%esi),%ecx
61a501:	89 9e 08 07 00 00    	mov    %ebx,0x708(%esi)
61a507:	8b 01                	mov    (%ecx),%eax
61a509:	ff 50 18             	call   *0x18(%eax)
61a50c:	8b 06                	mov    (%esi),%eax
61a50e:	8b ce                	mov    %esi,%ecx
61a510:	c6 45 fc 1f          	movb   $0x1f,-0x4(%ebp)
61a514:	ff 90 a4 00 00 00    	call   *0xa4(%eax)
61a51a:	33 ff                	xor    %edi,%edi
61a51c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
61a51f:	47                   	inc    %edi
61a520:	57                   	push   %edi
61a521:	8b 10                	mov    (%eax),%edx
61a523:	53                   	push   %ebx
61a524:	57                   	push   %edi
61a525:	51                   	push   %ecx
61a526:	8b c8                	mov    %eax,%ecx
61a528:	ff 52 14             	call   *0x14(%edx)
61a52b:	8b 06                	mov    (%esi),%eax
61a52d:	8b ce                	mov    %esi,%ecx
61a52f:	c6 45 fc 8b          	movb   $0x8b,-0x4(%ebp)
61a533:	ff 90 a4 00 00 00    	call   *0xa4(%eax)
61a539:	57                   	push   %edi
61a53a:	53                   	push   %ebx
61a53b:	57                   	push   %edi
61a53c:	8b 10                	mov    (%eax),%edx
61a53e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
61a541:	51                   	push   %ecx
61a542:	8b c8                	mov    %eax,%ecx
61a544:	ff 52 14             	call   *0x14(%edx)
61a547:	8b 06                	mov    (%esi),%eax
61a549:	8b ce                	mov    %esi,%ecx
61a54b:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
61a54f:	ff 90 a4 00 00 00    	call   *0xa4(%eax)
61a555:	57                   	push   %edi
61a556:	53                   	push   %ebx
61a557:	57                   	push   %edi
61a558:	8b 10                	mov    (%eax),%edx
61a55a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
61a55d:	51                   	push   %ecx
61a55e:	8b c8                	mov    %eax,%ecx
61a560:	ff 52 14             	call   *0x14(%edx)
61a563:	8b 06                	mov    (%esi),%eax
61a565:	8b ce                	mov    %esi,%ecx
61a567:	88 5d fc             	mov    %bl,-0x4(%ebp)
61a56a:	ff 90 a4 00 00 00    	call   *0xa4(%eax)
61a570:	57                   	push   %edi
61a571:	53                   	push   %ebx
61a572:	57                   	push   %edi
61a573:	8b 10                	mov    (%eax),%edx
61a575:	8d 4d fc             	lea    -0x4(%ebp),%ecx
61a578:	51                   	push   %ecx
61a579:	8b c8                	mov    %eax,%ecx
61a57b:	ff 52 14             	call   *0x14(%edx)
61a57e:	8b 06                	mov    (%esi),%eax
61a580:	8b ce                	mov    %esi,%ecx
61a582:	57                   	push   %edi
61a583:	57                   	push   %edi
61a584:	53                   	push   %ebx
61a585:	ff 90 a4 00 00 00    	call   *0xa4(%eax)
61a58b:	8b c8                	mov    %eax,%ecx
61a58d:	e8 c5 a9 ff ff       	call   0x614f57
61a592:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
61a598:	3b c7                	cmp    %edi,%eax
61a59a:	75 04                	jne    0x61a5a0
61a59c:	b0 04                	mov    $0x4,%al
61a59e:	eb 0a                	jmp    0x61a5aa
61a5a0:	83 f8 09             	cmp    $0x9,%eax
61a5a3:	0f 95 c0             	setne  %al
61a5a6:	fe c8                	dec    %al
61a5a8:	24 02                	and    $0x2,%al
61a5aa:	88 45 fc             	mov    %al,-0x4(%ebp)
61a5ad:	8b ce                	mov    %esi,%ecx
61a5af:	8b 06                	mov    (%esi),%eax
61a5b1:	ff 90 a4 00 00 00    	call   *0xa4(%eax)
61a5b7:	57                   	push   %edi
61a5b8:	53                   	push   %ebx
61a5b9:	57                   	push   %edi
61a5ba:	8b 10                	mov    (%eax),%edx
61a5bc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
61a5bf:	51                   	push   %ecx
61a5c0:	8b c8                	mov    %eax,%ecx
61a5c2:	ff 52 14             	call   *0x14(%edx)
61a5c5:	8b 06                	mov    (%esi),%eax
61a5c7:	8b ce                	mov    %esi,%ecx
61a5c9:	88 5d fc             	mov    %bl,-0x4(%ebp)
61a5cc:	ff 90 a4 00 00 00    	call   *0xa4(%eax)
61a5d2:	57                   	push   %edi
61a5d3:	53                   	push   %ebx
61a5d4:	57                   	push   %edi
61a5d5:	8b 10                	mov    (%eax),%edx
61a5d7:	8d 4d fc             	lea    -0x4(%ebp),%ecx
61a5da:	51                   	push   %ecx
61a5db:	8b c8                	mov    %eax,%ecx
61a5dd:	ff 52 14             	call   *0x14(%edx)
61a5e0:	5f                   	pop    %edi
61a5e1:	5e                   	pop    %esi
61a5e2:	5b                   	pop    %ebx
61a5e3:	8b e5                	mov    %ebp,%esp
61a5e5:	5d                   	pop    %ebp
61a5e6:	c3                   	ret
61a5e7:	53                   	push   %ebx
61a5e8:	56                   	push   %esi
61a5e9:	8b f1                	mov    %ecx,%esi
61a5eb:	8b 1e                	mov    (%esi),%ebx
61a5ed:	85 db                	test   %ebx,%ebx
61a5ef:	74 27                	je     0x61a618
61a5f1:	8b 46 08             	mov    0x8(%esi),%eax
61a5f4:	57                   	push   %edi
61a5f5:	2b c3                	sub    %ebx,%eax
61a5f7:	8b fb                	mov    %ebx,%edi
61a5f9:	6a 0c                	push   $0xc
61a5fb:	99                   	cltd
61a5fc:	59                   	pop    %ecx
61a5fd:	f7 f9                	idiv   %ecx
61a5ff:	53                   	push   %ebx
61a600:	6b c8 03             	imul   $0x3,%eax,%ecx
61a603:	33 c0                	xor    %eax,%eax
61a605:	f3 ab                	rep stos %eax,%es:(%edi)
61a607:	e8 c4 5e ed ff       	call   0x4f04d0
61a60c:	33 c0                	xor    %eax,%eax
61a60e:	89 06                	mov    %eax,(%esi)
61a610:	59                   	pop    %ecx
61a611:	89 46 04             	mov    %eax,0x4(%esi)
61a614:	89 46 08             	mov    %eax,0x8(%esi)
61a617:	5f                   	pop    %edi
61a618:	5e                   	pop    %esi
61a619:	5b                   	pop    %ebx
61a61a:	c3                   	ret
61a61b:	55                   	push   %ebp
61a61c:	8b ec                	mov    %esp,%ebp
61a61e:	8b 45 08             	mov    0x8(%ebp),%eax
61a621:	8b 4d 0c             	mov    0xc(%ebp),%ecx
61a624:	56                   	push   %esi
61a625:	8b 50 04             	mov    0x4(%eax),%edx
61a628:	8b 71 04             	mov    0x4(%ecx),%esi
61a62b:	2b 31                	sub    (%ecx),%esi
61a62d:	2b 10                	sub    (%eax),%edx
61a62f:	33 f2                	xor    %edx,%esi
61a631:	f7 c6 fc ff ff ff    	test   $0xfffffffc,%esi
61a637:	5e                   	pop    %esi
61a638:	75 1b                	jne    0x61a655
61a63a:	ff 75 08             	push   0x8(%ebp)
61a63d:	ff 31                	push   (%ecx)
61a63f:	ff 70 04             	push   0x4(%eax)
61a642:	ff 30                	push   (%eax)
61a644:	e8 93 03 00 00       	call   0x61a9dc
61a649:	83 c4 10             	add    $0x10,%esp
61a64c:	84 c0                	test   %al,%al
61a64e:	74 05                	je     0x61a655
61a650:	33 c0                	xor    %eax,%eax
61a652:	40                   	inc    %eax
61a653:	5d                   	pop    %ebp
61a654:	c3                   	ret
61a655:	33 c0                	xor    %eax,%eax
61a657:	5d                   	pop    %ebp
61a658:	c3                   	ret
61a659:	55                   	push   %ebp
61a65a:	8b ec                	mov    %esp,%ebp
61a65c:	ff 75 0c             	push   0xc(%ebp)
61a65f:	ff 75 08             	push   0x8(%ebp)
61a662:	e8 b4 ff ff ff       	call   0x61a61b
61a667:	59                   	pop    %ecx
61a668:	59                   	pop    %ecx
61a669:	33 c9                	xor    %ecx,%ecx
61a66b:	84 c0                	test   %al,%al
61a66d:	0f 94 c1             	sete   %cl
61a670:	8a c1                	mov    %cl,%al
61a672:	5d                   	pop    %ebp
61a673:	c3                   	ret
61a674:	55                   	push   %ebp
61a675:	8b ec                	mov    %esp,%ebp
61a677:	8b 45 08             	mov    0x8(%ebp),%eax
61a67a:	57                   	push   %edi
61a67b:	8b 38                	mov    (%eax),%edi
61a67d:	85 ff                	test   %edi,%edi
61a67f:	75 04                	jne    0x61a685
61a681:	33 c0                	xor    %eax,%eax
61a683:	eb 26                	jmp    0x61a6ab
61a685:	56                   	push   %esi
61a686:	6a 20                	push   $0x20
61a688:	33 f6                	xor    %esi,%esi
61a68a:	5a                   	pop    %edx
61a68b:	8d 0c 32             	lea    (%edx,%esi,1),%ecx
61a68e:	8b c7                	mov    %edi,%eax
61a690:	d1 e9                	shr    $1,%ecx
61a692:	d3 e8                	shr    %cl,%eax
61a694:	85 c0                	test   %eax,%eax
61a696:	0f 44 d1             	cmove  %ecx,%edx
61a699:	0f 45 f1             	cmovne %ecx,%esi
61a69c:	8b ca                	mov    %edx,%ecx
61a69e:	2b ce                	sub    %esi,%ecx
61a6a0:	83 f9 08             	cmp    $0x8,%ecx
61a6a3:	77 e6                	ja     0x61a68b
61a6a5:	c1 ea 03             	shr    $0x3,%edx
61a6a8:	8b c2                	mov    %edx,%eax
61a6aa:	5e                   	pop    %esi
61a6ab:	5f                   	pop    %edi
61a6ac:	5d                   	pop    %ebp
61a6ad:	c3                   	ret
61a6ae:	55                   	push   %ebp
61a6af:	8b ec                	mov    %esp,%ebp
61a6b1:	53                   	push   %ebx
61a6b2:	8b 5d 18             	mov    0x18(%ebp),%ebx
61a6b5:	8b 03                	mov    (%ebx),%eax
61a6b7:	0b 43 04             	or     0x4(%ebx),%eax
61a6ba:	75 12                	jne    0x61a6ce
61a6bc:	8b 55 14             	mov    0x14(%ebp),%edx
61a6bf:	8b 45 08             	mov    0x8(%ebp),%eax
61a6c2:	8b 0a                	mov    (%edx),%ecx
61a6c4:	89 08                	mov    %ecx,(%eax)
61a6c6:	8b 4a 04             	mov    0x4(%edx),%ecx
61a6c9:	89 48 04             	mov    %ecx,0x4(%eax)
61a6cc:	eb 4d                	jmp    0x61a71b
61a6ce:	8b 4d 10             	mov    0x10(%ebp),%ecx
61a6d1:	56                   	push   %esi
61a6d2:	57                   	push   %edi
61a6d3:	8b 7d 0c             	mov    0xc(%ebp),%edi
61a6d6:	8b 01                	mov    (%ecx),%eax
61a6d8:	6a 00                	push   $0x0
61a6da:	89 07                	mov    %eax,(%edi)
61a6dc:	8d 57 04             	lea    0x4(%edi),%edx
61a6df:	8b 41 04             	mov    0x4(%ecx),%eax
61a6e2:	8b 4d 14             	mov    0x14(%ebp),%ecx
61a6e5:	89 02                	mov    %eax,(%edx)
61a6e7:	8b 01                	mov    (%ecx),%eax
61a6e9:	89 47 08             	mov    %eax,0x8(%edi)
61a6ec:	8b 41 04             	mov    0x4(%ecx),%eax
61a6ef:	89 47 0c             	mov    %eax,0xc(%edi)
61a6f2:	ff 73 04             	push   0x4(%ebx)
61a6f5:	ff 33                	push   (%ebx)
61a6f7:	52                   	push   %edx
61a6f8:	e8 21 00 00 00       	call   0x61a71e
61a6fd:	6a 00                	push   $0x0
61a6ff:	ff 73 04             	push   0x4(%ebx)
61a702:	8b f0                	mov    %eax,%esi
61a704:	ff 33                	push   (%ebx)
61a706:	57                   	push   %edi
61a707:	e8 12 00 00 00       	call   0x61a71e
61a70c:	8b 4d 08             	mov    0x8(%ebp),%ecx
61a70f:	83 c4 20             	add    $0x20,%esp
61a712:	5f                   	pop    %edi
61a713:	89 01                	mov    %eax,(%ecx)
61a715:	8b c1                	mov    %ecx,%eax
61a717:	89 71 04             	mov    %esi,0x4(%ecx)
61a71a:	5e                   	pop    %esi
61a71b:	5b                   	pop    %ebx
61a71c:	5d                   	pop    %ebp
61a71d:	c3                   	ret
61a71e:	55                   	push   %ebp
61a71f:	8b ec                	mov    %esp,%ebp
61a721:	51                   	push   %ecx
61a722:	8b 45 10             	mov    0x10(%ebp),%eax
61a725:	53                   	push   %ebx
61a726:	8b 5d 08             	mov    0x8(%ebp),%ebx
61a729:	56                   	push   %esi
61a72a:	8d 48 01             	lea    0x1(%eax),%ecx
61a72d:	57                   	push   %edi
61a72e:	85 c9                	test   %ecx,%ecx
61a730:	75 05                	jne    0x61a737
61a732:	8b 43 08             	mov    0x8(%ebx),%eax
61a735:	eb 1c                	jmp    0x61a753
61a737:	6a 00                	push   $0x0
61a739:	85 c0                	test   %eax,%eax
61a73b:	74 09                	je     0x61a746
61a73d:	51                   	push   %ecx
61a73e:	ff 73 08             	push   0x8(%ebx)
61a741:	ff 73 04             	push   0x4(%ebx)
61a744:	eb 08                	jmp    0x61a74e
61a746:	ff 75 0c             	push   0xc(%ebp)
61a749:	ff 73 04             	push   0x4(%ebx)
61a74c:	ff 33                	push   (%ebx)
61a74e:	e8 2d 79 fc ff       	call   0x5e2080
61a753:	8b 4b 04             	mov    0x4(%ebx),%ecx
61a756:	33 f6                	xor    %esi,%esi
61a758:	89 45 08             	mov    %eax,0x8(%ebp)
61a75b:	f7 65 0c             	mull   0xc(%ebp)
61a75e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
61a761:	29 03                	sub    %eax,(%ebx)
61a763:	8b fa                	mov    %edx,%edi
61a765:	8b 45 08             	mov    0x8(%ebp),%eax
61a768:	1b f6                	sbb    %esi,%esi
61a76a:	33 c9                	xor    %ecx,%ecx
61a76c:	f7 65 10             	mull   0x10(%ebp)
61a76f:	6a 00                	push   $0x0
61a771:	29 45 fc             	sub    %eax,-0x4(%ebp)
61a774:	1b ca                	sbb    %edx,%ecx
61a776:	8b 55 fc             	mov    -0x4(%ebp),%edx
61a779:	f7 de                	neg    %esi
61a77b:	2b d6                	sub    %esi,%edx
61a77d:	8b 75 0c             	mov    0xc(%ebp),%esi
61a780:	83 d9 00             	sbb    $0x0,%ecx
61a783:	2b d7                	sub    %edi,%edx
61a785:	5f                   	pop    %edi
61a786:	1b cf                	sbb    %edi,%ecx
61a788:	01 4b 08             	add    %ecx,0x8(%ebx)
61a78b:	8b 4d 08             	mov    0x8(%ebp),%ecx
61a78e:	8b 43 08             	mov    0x8(%ebx),%eax
61a791:	89 53 04             	mov    %edx,0x4(%ebx)
61a794:	85 c0                	test   %eax,%eax
61a796:	75 12                	jne    0x61a7aa
61a798:	8b 45 10             	mov    0x10(%ebp),%eax
61a79b:	3b d0                	cmp    %eax,%edx
61a79d:	77 0b                	ja     0x61a7aa
61a79f:	75 2b                	jne    0x61a7cc
61a7a1:	8b 45 0c             	mov    0xc(%ebp),%eax
61a7a4:	39 03                	cmp    %eax,(%ebx)
61a7a6:	72 24                	jb     0x61a7cc
61a7a8:	8b f0                	mov    %eax,%esi
61a7aa:	8b 53 04             	mov    0x4(%ebx),%edx
61a7ad:	33 c9                	xor    %ecx,%ecx
61a7af:	29 33                	sub    %esi,(%ebx)
61a7b1:	1b cf                	sbb    %edi,%ecx
61a7b3:	33 c0                	xor    %eax,%eax
61a7b5:	f7 d9                	neg    %ecx
61a7b7:	2b d1                	sub    %ecx,%edx
61a7b9:	8b 4d 08             	mov    0x8(%ebp),%ecx
61a7bc:	1b c7                	sbb    %edi,%eax
61a7be:	2b 55 10             	sub    0x10(%ebp),%edx
61a7c1:	1b c7                	sbb    %edi,%eax
61a7c3:	01 43 08             	add    %eax,0x8(%ebx)
61a7c6:	41                   	inc    %ecx
61a7c7:	89 4d 08             	mov    %ecx,0x8(%ebp)
61a7ca:	eb c2                	jmp    0x61a78e
61a7cc:	5f                   	pop    %edi
61a7cd:	5e                   	pop    %esi
61a7ce:	8b c1                	mov    %ecx,%eax
61a7d0:	5b                   	pop    %ebx
61a7d1:	8b e5                	mov    %ebp,%esp
61a7d3:	5d                   	pop    %ebp
61a7d4:	c3                   	ret
61a7d5:	55                   	push   %ebp
61a7d6:	8b ec                	mov    %esp,%ebp
61a7d8:	53                   	push   %ebx
61a7d9:	8b 5d 10             	mov    0x10(%ebp),%ebx
61a7dc:	57                   	push   %edi