645609:	83 c4 0c             	add    $0xc,%esp
64560c:	eb 98                	jmp    0x6455a6
64560e:	6a 10                	push   $0x10
645610:	33 ff                	xor    %edi,%edi
645612:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
645618:	68 74 29 6e 00       	push   $0x6e2974
64561d:	e9 05 01 00 00       	jmp    0x645727
645622:	33 ff                	xor    %edi,%edi
645624:	89 3e                	mov    %edi,(%esi)
645626:	6a 10                	push   $0x10
645628:	68 74 29 6e 00       	push   $0x6e2974
64562d:	e9 f5 00 00 00       	jmp    0x645727
645632:	83 be a8 00 00 00 02 	cmpl   $0x2,0xa8(%esi)
645639:	7c e9                	jl     0x645624
64563b:	83 be ac 00 00 00 03 	cmpl   $0x3,0xac(%esi)
645642:	75 24                	jne    0x645668
645644:	33 ff                	xor    %edi,%edi
645646:	c7 06 04 00 00 00    	movl   $0x4,(%esi)
64564c:	c7 86 ac 00 00 00 04 	movl   $0x4,0xac(%esi)
645653:	00 00 00
645656:	e8 85 0d ff ff       	call   0x6363e0
64565b:	ff b6 a8 00 00 00    	push   0xa8(%esi)
645661:	68 f8 28 6e 00       	push   $0x6e28f8
645666:	eb 25                	jmp    0x64568d
645668:	bf 02 00 00 00       	mov    $0x2,%edi
64566d:	c7 06 03 00 00 00    	movl   $0x3,(%esi)
645673:	c7 86 ac 00 00 00 03 	movl   $0x3,0xac(%esi)
64567a:	00 00 00
64567d:	e8 5e 0d ff ff       	call   0x6363e0
645682:	ff b6 a8 00 00 00    	push   0xa8(%esi)
645688:	68 34 29 6e 00       	push   $0x6e2934
64568d:	8b 08                	mov    (%eax),%ecx
64568f:	50                   	push   %eax
645690:	ff 51 04             	call   *0x4(%ecx)
645693:	83 c4 0c             	add    $0xc,%esp
645696:	c7 86 a8 00 00 00 00 	movl   $0x0,0xa8(%esi)
64569d:	00 00 00
6456a0:	6a 10                	push   $0x10
6456a2:	68 74 29 6e 00       	push   $0x6e2974
6456a7:	eb 7e                	jmp    0x645727
6456a9:	8b 06                	mov    (%esi),%eax
6456ab:	83 f8 04             	cmp    $0x4,%eax
6456ae:	77 40                	ja     0x6456f0
6456b0:	ff 24 85 68 57 64 00 	jmp    *0x645768(,%eax,4)
6456b7:	6a 13                	push   $0x13
6456b9:	33 ff                	xor    %edi,%edi
6456bb:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
6456c1:	68 e4 28 6e 00       	push   $0x6e28e4
6456c6:	eb 5f                	jmp    0x645727
6456c8:	6a 13                	push   $0x13
6456ca:	bf 02 00 00 00       	mov    $0x2,%edi
6456cf:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
6456d5:	68 e4 28 6e 00       	push   $0x6e28e4
6456da:	eb 4b                	jmp    0x645727
6456dc:	bf 02 00 00 00       	mov    $0x2,%edi
6456e1:	6a 13                	push   $0x13
6456e3:	89 3e                	mov    %edi,(%esi)
6456e5:	68 e4 28 6e 00       	push   $0x6e28e4
6456ea:	eb 3b                	jmp    0x645727
6456ec:	33 ff                	xor    %edi,%edi
6456ee:	89 3e                	mov    %edi,(%esi)
6456f0:	6a 13                	push   $0x13
6456f2:	68 e4 28 6e 00       	push   $0x6e28e4
6456f7:	eb 2e                	jmp    0x645727
6456f9:	8b 06                	mov    (%esi),%eax
6456fb:	83 e8 03             	sub    $0x3,%eax
6456fe:	74 19                	je     0x645719
645700:	83 e8 01             	sub    $0x1,%eax
645703:	74 10                	je     0x645715
645705:	8b 06                	mov    (%esi),%eax
645707:	8b ce                	mov    %esi,%ecx
645709:	50                   	push   %eax
64570a:	6a 02                	push   $0x2
64570c:	e8 0f fd ff ff       	call   0x645420
645711:	8b f8                	mov    %eax,%edi
645713:	eb 09                	jmp    0x64571e
645715:	33 ff                	xor    %edi,%edi
645717:	eb 05                	jmp    0x64571e
645719:	bf 02 00 00 00       	mov    $0x2,%edi
64571e:	6a 13                	push   $0x13
645720:	89 3e                	mov    %edi,(%esi)
645722:	68 d0 28 6e 00       	push   $0x6e28d0
645727:	8d 4e 38             	lea    0x38(%esi),%ecx
64572a:	e8 61 34 df ff       	call   0x438b90
64572f:	8b 46 68             	mov    0x68(%esi),%eax
645732:	89 86 98 00 00 00    	mov    %eax,0x98(%esi)
645738:	8b 46 6c             	mov    0x6c(%esi),%eax
64573b:	89 86 9c 00 00 00    	mov    %eax,0x9c(%esi)
645741:	8b 06                	mov    (%esi),%eax
645743:	89 46 14             	mov    %eax,0x14(%esi)
645746:	5b                   	pop    %ebx
645747:	8b c7                	mov    %edi,%eax
645749:	5f                   	pop    %edi
64574a:	5e                   	pop    %esi
64574b:	8b e5                	mov    %ebp,%esp
64574d:	5d                   	pop    %ebp
64574e:	c2 04 00             	ret    $0x4
645751:	0f 1f 00             	nopl   (%eax)
645754:	22 56 64             	and    0x64(%esi),%dl
645757:	00 32                	add    %dh,(%edx)
645759:	56                   	push   %esi
64575a:	64 00 24 56          	add    %ah,%fs:(%esi,%edx,2)
64575e:	64 00 0e             	add    %cl,%fs:(%esi)
645761:	56                   	push   %esi
645762:	64 00 22             	add    %ah,%fs:(%edx)
645765:	56                   	push   %esi
645766:	64 00 dc             	fs add %bl,%ah
645769:	56                   	push   %esi
64576a:	64 00 ec             	fs add %ch,%ah
64576d:	56                   	push   %esi
64576e:	64 00 ec             	fs add %ch,%ah
645771:	56                   	push   %esi
645772:	64 00 b7 56 64 00 c8 	add    %dh,%fs:-0x37ff9baa(%edi)
645779:	56                   	push   %esi
64577a:	64 00 cc             	fs add %cl,%ah
64577d:	cc                   	int3
64577e:	cc                   	int3
64577f:	cc                   	int3
645780:	55                   	push   %ebp
645781:	8b ec                	mov    %esp,%ebp
645783:	51                   	push   %ecx
645784:	8b 45 0c             	mov    0xc(%ebp),%eax
645787:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
64578e:	56                   	push   %esi
64578f:	83 f8 04             	cmp    $0x4,%eax
645792:	77 5b                	ja     0x6457ef
645794:	ff 24 85 18 58 64 00 	jmp    *0x645818(,%eax,4)
64579b:	8b 4d 08             	mov    0x8(%ebp),%ecx
64579e:	68 88 29 6e 00       	push   $0x6e2988
6457a3:	e8 68 2f df ff       	call   0x438710
6457a8:	8b 45 08             	mov    0x8(%ebp),%eax
6457ab:	5e                   	pop    %esi
6457ac:	8b e5                	mov    %ebp,%esp
6457ae:	5d                   	pop    %ebp
6457af:	c3                   	ret
6457b0:	8b 4d 08             	mov    0x8(%ebp),%ecx
6457b3:	68 90 29 6e 00       	push   $0x6e2990
6457b8:	e8 53 2f df ff       	call   0x438710
6457bd:	8b 45 08             	mov    0x8(%ebp),%eax
6457c0:	5e                   	pop    %esi
6457c1:	8b e5                	mov    %ebp,%esp
6457c3:	5d                   	pop    %ebp
6457c4:	c3                   	ret
6457c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
6457c8:	68 98 29 6e 00       	push   $0x6e2998
6457cd:	e8 3e 2f df ff       	call   0x438710
6457d2:	8b 45 08             	mov    0x8(%ebp),%eax
6457d5:	5e                   	pop    %esi
6457d6:	8b e5                	mov    %ebp,%esp
6457d8:	5d                   	pop    %ebp
6457d9:	c3                   	ret
6457da:	8b 4d 08             	mov    0x8(%ebp),%ecx
6457dd:	68 a8 29 6e 00       	push   $0x6e29a8
6457e2:	e8 29 2f df ff       	call   0x438710
6457e7:	8b 45 08             	mov    0x8(%ebp),%eax
6457ea:	5e                   	pop    %esi
6457eb:	8b e5                	mov    %ebp,%esp
6457ed:	5d                   	pop    %ebp
6457ee:	c3                   	ret
6457ef:	8b 75 08             	mov    0x8(%ebp),%esi
6457f2:	8b ce                	mov    %esi,%ecx
6457f4:	6a 03                	push   $0x3
6457f6:	68 b4 29 6e 00       	push   $0x6e29b4
6457fb:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
645802:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
645809:	c6 06 00             	movb   $0x0,(%esi)
64580c:	e8 7f 33 df ff       	call   0x438b90
645811:	8b c6                	mov    %esi,%eax
645813:	5e                   	pop    %esi
645814:	8b e5                	mov    %ebp,%esp
645816:	5d                   	pop    %ebp
645817:	c3                   	ret
645818:	b0 57                	mov    $0x57,%al
64581a:	64 00 ef             	fs add %ch,%bh
64581d:	57                   	push   %edi
64581e:	64 00 9b 57 64 00 c5 	add    %bl,%fs:-0x3aff9ba9(%ebx)
645825:	57                   	push   %edi
645826:	64 00 da             	fs add %bl,%dl
645829:	57                   	push   %edi
64582a:	64 00 cc             	fs add %cl,%ah
64582d:	cc                   	int3
64582e:	cc                   	int3
64582f:	cc                   	int3
645830:	8b 41 0c             	mov    0xc(%ecx),%eax
645833:	40                   	inc    %eax
645834:	25 07 00 00 80       	and    $0x80000007,%eax
645839:	79 05                	jns    0x645840
64583b:	48                   	dec    %eax
64583c:	83 c8 f8             	or     $0xfffffff8,%eax
64583f:	40                   	inc    %eax
645840:	89 41 0c             	mov    %eax,0xc(%ecx)
645843:	8b 41 10             	mov    0x10(%ecx),%eax
645846:	83 f8 08             	cmp    $0x8,%eax
645849:	7d 04                	jge    0x64584f
64584b:	40                   	inc    %eax
64584c:	89 41 10             	mov    %eax,0x10(%ecx)
64584f:	ff 71 10             	push   0x10(%ecx)
645852:	e8 09 00 00 00       	call   0x645860
645857:	b0 01                	mov    $0x1,%al
645859:	c3                   	ret
64585a:	cc                   	int3
64585b:	cc                   	int3
64585c:	cc                   	int3
64585d:	cc                   	int3
64585e:	cc                   	int3
64585f:	cc                   	int3
645860:	55                   	push   %ebp
645861:	8b ec                	mov    %esp,%ebp
645863:	83 ec 14             	sub    $0x14,%esp
645866:	53                   	push   %ebx
645867:	56                   	push   %esi
645868:	57                   	push   %edi
645869:	8b d9                	mov    %ecx,%ebx
64586b:	6a 00                	push   $0x0
64586d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
645870:	e8 56 30 fb ff       	call   0x5f88cb
645875:	8b b3 b0 00 00 00    	mov    0xb0(%ebx),%esi
64587b:	8b f8                	mov    %eax,%edi
64587d:	8b ca                	mov    %edx,%ecx
64587f:	83 c4 04             	add    $0x4,%esp
645882:	89 4d f0             	mov    %ecx,-0x10(%ebp)
645885:	8b 86 50 05 00 00    	mov    0x550(%esi),%eax
64588b:	89 45 f8             	mov    %eax,-0x8(%ebp)
64588e:	8b 86 54 05 00 00    	mov    0x554(%esi),%eax
645894:	8b 53 30             	mov    0x30(%ebx),%edx
645897:	8b 73 34             	mov    0x34(%ebx),%esi
64589a:	89 45 f4             	mov    %eax,-0xc(%ebp)
64589d:	8b c2                	mov    %edx,%eax
64589f:	0b c6                	or     %esi,%eax
6458a1:	75 22                	jne    0x6458c5
6458a3:	8b 55 f8             	mov    -0x8(%ebp),%edx
6458a6:	0f 57 c0             	xorps  %xmm0,%xmm0
6458a9:	8b 45 f4             	mov    -0xc(%ebp),%eax
6458ac:	66 0f 13 45 ec       	movlpd %xmm0,-0x14(%ebp)
6458b1:	89 7b 30             	mov    %edi,0x30(%ebx)
6458b4:	8b 7d ec             	mov    -0x14(%ebp),%edi
6458b7:	89 53 58             	mov    %edx,0x58(%ebx)
6458ba:	8b 55 f0             	mov    -0x10(%ebp),%edx
6458bd:	89 4b 34             	mov    %ecx,0x34(%ebx)
6458c0:	89 43 5c             	mov    %eax,0x5c(%ebx)
6458c3:	eb 5b                	jmp    0x645920
6458c5:	3b fa                	cmp    %edx,%edi
6458c7:	75 14                	jne    0x6458dd
6458c9:	3b ce                	cmp    %esi,%ecx
6458cb:	75 10                	jne    0x6458dd
6458cd:	0f 57 c0             	xorps  %xmm0,%xmm0
6458d0:	66 0f 13 45 ec       	movlpd %xmm0,-0x14(%ebp)
6458d5:	8b 55 f0             	mov    -0x10(%ebp),%edx
6458d8:	8b 75 ec             	mov    -0x14(%ebp),%esi
6458db:	eb 33                	jmp    0x645910
6458dd:	8b 45 f4             	mov    -0xc(%ebp),%eax
6458e0:	8b f7                	mov    %edi,%esi
6458e2:	2b f2                	sub    %edx,%esi
6458e4:	8b 55 f8             	mov    -0x8(%ebp),%edx
6458e7:	1b 4b 34             	sbb    0x34(%ebx),%ecx
6458ea:	2b 53 58             	sub    0x58(%ebx),%edx
6458ed:	51                   	push   %ecx
6458ee:	1b 43 5c             	sbb    0x5c(%ebx),%eax
6458f1:	56                   	push   %esi
6458f2:	50                   	push   %eax
6458f3:	52                   	push   %edx
6458f4:	e8 87 c7 f9 ff       	call   0x5e2080
6458f9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
6458fc:	8b f0                	mov    %eax,%esi
6458fe:	8b 45 f8             	mov    -0x8(%ebp),%eax
645901:	89 43 58             	mov    %eax,0x58(%ebx)
645904:	8b 45 f4             	mov    -0xc(%ebp),%eax
645907:	89 7b 30             	mov    %edi,0x30(%ebx)
64590a:	89 4b 34             	mov    %ecx,0x34(%ebx)
64590d:	89 43 5c             	mov    %eax,0x5c(%ebx)
645910:	6a 00                	push   $0x0
645912:	68 e8 03 00 00       	push   $0x3e8
645917:	52                   	push   %edx
645918:	56                   	push   %esi
645919:	e8 62 c7 f9 ff       	call   0x5e2080
64591e:	8b f8                	mov    %eax,%edi
645920:	8b 4b 24             	mov    0x24(%ebx),%ecx
645923:	8b 73 0c             	mov    0xc(%ebx),%esi
645926:	8d 34 f1             	lea    (%ecx,%esi,8),%esi
645929:	8b 0e                	mov    (%esi),%ecx
64592b:	29 4b 60             	sub    %ecx,0x60(%ebx)
64592e:	8b 46 04             	mov    0x4(%esi),%eax
645931:	19 43 64             	sbb    %eax,0x64(%ebx)
645934:	8b 45 08             	mov    0x8(%ebp),%eax
645937:	89 56 04             	mov    %edx,0x4(%esi)
64593a:	89 3e                	mov    %edi,(%esi)
64593c:	01 7b 60             	add    %edi,0x60(%ebx)
64593f:	8b 75 fc             	mov    -0x4(%ebp),%esi
645942:	11 53 64             	adc    %edx,0x64(%ebx)
645945:	99                   	cltd
645946:	8b fa                	mov    %edx,%edi
645948:	8b d8                	mov    %eax,%ebx
64594a:	57                   	push   %edi
64594b:	53                   	push   %ebx
64594c:	ff 76 64             	push   0x64(%esi)
64594f:	ff 76 60             	push   0x60(%esi)
645952:	e8 29 c7 f9 ff       	call   0x5e2080
645957:	89 56 6c             	mov    %edx,0x6c(%esi)
64595a:	8b d6                	mov    %esi,%edx
64595c:	89 46 68             	mov    %eax,0x68(%esi)
64595f:	8b 4a 0c             	mov    0xc(%edx),%ecx
645962:	8b 42 28             	mov    0x28(%edx),%eax
645965:	8d 34 c8             	lea    (%eax,%ecx,8),%esi
645968:	8b 06                	mov    (%esi),%eax
64596a:	29 42 70             	sub    %eax,0x70(%edx)
64596d:	8b 46 04             	mov    0x4(%esi),%eax
645970:	19 42 74             	sbb    %eax,0x74(%edx)
645973:	8b 46 04             	mov    0x4(%esi),%eax
645976:	8b 0e                	mov    (%esi),%ecx
645978:	50                   	push   %eax
645979:	51                   	push   %ecx
64597a:	50                   	push   %eax
64597b:	51                   	push   %ecx
64597c:	e8 7f c1 f9 ff       	call   0x5e1b00
645981:	8b 4d fc             	mov    -0x4(%ebp),%ecx
645984:	29 41 78             	sub    %eax,0x78(%ecx)
645987:	8b 41 68             	mov    0x68(%ecx),%eax
64598a:	19 51 7c             	sbb    %edx,0x7c(%ecx)
64598d:	89 06                	mov    %eax,(%esi)
64598f:	8b 41 6c             	mov    0x6c(%ecx),%eax
645992:	89 46 04             	mov    %eax,0x4(%esi)
645995:	8b f1                	mov    %ecx,%esi
645997:	8b 46 6c             	mov    0x6c(%esi),%eax
64599a:	8b 4e 68             	mov    0x68(%esi),%ecx
64599d:	01 4e 70             	add    %ecx,0x70(%esi)
6459a0:	50                   	push   %eax
6459a1:	11 46 74             	adc    %eax,0x74(%esi)
6459a4:	51                   	push   %ecx
6459a5:	50                   	push   %eax
6459a6:	51                   	push   %ecx
6459a7:	e8 54 c1 f9 ff       	call   0x5e1b00
6459ac:	01 46 78             	add    %eax,0x78(%esi)
6459af:	57                   	push   %edi
6459b0:	11 56 7c             	adc    %edx,0x7c(%esi)
6459b3:	53                   	push   %ebx
6459b4:	ff 76 74             	push   0x74(%esi)
6459b7:	ff 76 70             	push   0x70(%esi)
6459ba:	e8 c1 c6 f9 ff       	call   0x5e2080
6459bf:	57                   	push   %edi
6459c0:	53                   	push   %ebx
6459c1:	ff 76 7c             	push   0x7c(%esi)
6459c4:	89 86 80 00 00 00    	mov    %eax,0x80(%esi)
6459ca:	ff 76 78             	push   0x78(%esi)
6459cd:	89 96 84 00 00 00    	mov    %edx,0x84(%esi)
6459d3:	e8 a8 c6 f9 ff       	call   0x5e2080
6459d8:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
6459de:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
6459e4:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
6459ea:	50                   	push   %eax
6459eb:	51                   	push   %ecx