404622:	83 c0 01             	add    $0x1,%eax
404625:	6a 00                	push   $0x0
404627:	89 45 f8             	mov    %eax,-0x8(%ebp)
40462a:	8b f8                	mov    %eax,%edi
40462c:	5e                   	pop    %esi
40462d:	74 20                	je     0x40464f
40462f:	ff 75 10             	push   0x10(%ebp)
404632:	8d 45 ec             	lea    -0x14(%ebp),%eax
404635:	50                   	push   %eax
404636:	57                   	push   %edi
404637:	8d 45 fc             	lea    -0x4(%ebp),%eax
40463a:	53                   	push   %ebx
40463b:	50                   	push   %eax
40463c:	e8 60 1a 02 00       	call   0x4260a1
404641:	83 c4 14             	add    $0x14,%esp
404644:	85 c0                	test   %eax,%eax
404646:	7e 07                	jle    0x40464f
404648:	03 d8                	add    %eax,%ebx
40464a:	46                   	inc    %esi
40464b:	2b f8                	sub    %eax,%edi
40464d:	75 e0                	jne    0x40462f
40464f:	46                   	inc    %esi
404650:	6a 02                	push   $0x2
404652:	56                   	push   %esi
404653:	e8 2b 87 04 00       	call   0x44cd83
404658:	8b d8                	mov    %eax,%ebx
40465a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40465d:	59                   	pop    %ecx
40465e:	59                   	pop    %ecx
40465f:	85 db                	test   %ebx,%ebx
404661:	74 42                	je     0x4046a5
404663:	0f 57 c0             	xorps  %xmm0,%xmm0
404666:	8b fb                	mov    %ebx,%edi
404668:	66 0f 13 45 e4       	movlpd %xmm0,-0x1c(%ebp)
40466d:	85 f6                	test   %esi,%esi
40466f:	74 28                	je     0x404699
404671:	8b 5d 08             	mov    0x8(%ebp),%ebx
404674:	ff 75 10             	push   0x10(%ebp)
404677:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40467a:	50                   	push   %eax
40467b:	ff 75 f8             	push   -0x8(%ebp)
40467e:	53                   	push   %ebx
40467f:	57                   	push   %edi
404680:	e8 1c 1a 02 00       	call   0x4260a1
404685:	83 c4 14             	add    $0x14,%esp
404688:	85 c0                	test   %eax,%eax
40468a:	7e 0a                	jle    0x404696
40468c:	03 d8                	add    %eax,%ebx
40468e:	83 c7 02             	add    $0x2,%edi
404691:	83 ee 01             	sub    $0x1,%esi
404694:	75 de                	jne    0x404674
404696:	8b 5d f4             	mov    -0xc(%ebp),%ebx
404699:	33 c0                	xor    %eax,%eax
40469b:	66 89 07             	mov    %ax,(%edi)
40469e:	8b c3                	mov    %ebx,%eax
4046a0:	5f                   	pop    %edi
4046a1:	5e                   	pop    %esi
4046a2:	5b                   	pop    %ebx
4046a3:	c9                   	leave
4046a4:	c3                   	ret
4046a5:	e8 dc 15 02 00       	call   0x425c86
4046aa:	cc                   	int3
4046ab:	55                   	push   %ebp
4046ac:	8b ec                	mov    %esp,%ebp
4046ae:	51                   	push   %ecx
4046af:	53                   	push   %ebx
4046b0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4046b3:	56                   	push   %esi
4046b4:	57                   	push   %edi
4046b5:	8b f9                	mov    %ecx,%edi
4046b7:	85 db                	test   %ebx,%ebx
4046b9:	74 13                	je     0x4046ce
4046bb:	8d 73 08             	lea    0x8(%ebx),%esi
4046be:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
4046c2:	56                   	push   %esi
4046c3:	6a 00                	push   $0x0
4046c5:	8b ce                	mov    %esi,%ecx
4046c7:	e8 e3 17 00 00       	call   0x405eaf
4046cc:	eb 03                	jmp    0x4046d1
4046ce:	6a 08                	push   $0x8
4046d0:	5e                   	pop    %esi
4046d1:	8b 47 54             	mov    0x54(%edi),%eax
4046d4:	8d 4f 04             	lea    0x4(%edi),%ecx
4046d7:	6a 00                	push   $0x0
4046d9:	ff 77 68             	push   0x68(%edi)
4046dc:	89 47 4c             	mov    %eax,0x4c(%edi)
4046df:	89 07                	mov    %eax,(%edi)
4046e1:	e8 ec e1 01 00       	call   0x4228d2
4046e6:	8d 4f 14             	lea    0x14(%edi),%ecx
4046e9:	51                   	push   %ecx
4046ea:	ff 77 68             	push   0x68(%edi)
4046ed:	e8 e0 12 00 00       	call   0x4059d2
4046f2:	ff 77 58             	push   0x58(%edi)
4046f5:	85 db                	test   %ebx,%ebx
4046f7:	c7 47 78 80 96 98 00 	movl   $0x989680,0x78(%edi)
4046fe:	8b cf                	mov    %edi,%ecx
404700:	c7 47 7c e8 03 00 00 	movl   $0x3e8,0x7c(%edi)
404707:	0f 95 c0             	setne  %al
40470a:	c6 47 64 00          	movb   $0x0,0x64(%edi)
40470e:	88 47 65             	mov    %al,0x65(%edi)
404711:	8a 45 0c             	mov    0xc(%ebp),%al
404714:	88 47 74             	mov    %al,0x74(%edi)
404717:	e8 f6 70 01 00       	call   0x41b812
40471c:	84 c0                	test   %al,%al
40471e:	0f 84 bc 00 00 00    	je     0x4047e0
404724:	85 db                	test   %ebx,%ebx
404726:	0f 84 b2 00 00 00    	je     0x4047de
40472c:	8b c6                	mov    %esi,%eax
40472e:	50                   	push   %eax
40472f:	ff 77 68             	push   0x68(%edi)
404732:	8b c8                	mov    %eax,%ecx
404734:	e8 76 17 00 00       	call   0x405eaf
404739:	33 c0                	xor    %eax,%eax
40473b:	89 45 0c             	mov    %eax,0xc(%ebp)
40473e:	39 47 68             	cmp    %eax,0x68(%edi)
404741:	76 5f                	jbe    0x4047a2
404743:	33 db                	xor    %ebx,%ebx
404745:	8b c8                	mov    %eax,%ecx
404747:	33 d2                	xor    %edx,%edx
404749:	83 e1 1f             	and    $0x1f,%ecx
40474c:	42                   	inc    %edx
40474d:	d3 e2                	shl    %cl,%edx
40474f:	8b c8                	mov    %eax,%ecx
404751:	8b 47 24             	mov    0x24(%edi),%eax
404754:	c1 e9 05             	shr    $0x5,%ecx
404757:	85 14 88             	test   %edx,(%eax,%ecx,4)
40475a:	8b 06                	mov    (%esi),%eax
40475c:	74 1c                	je     0x40477a
40475e:	8b 55 0c             	mov    0xc(%ebp),%edx
404761:	c6 44 03 08 01       	movb   $0x1,0x8(%ebx,%eax,1)
404766:	8b 47 34             	mov    0x34(%edi),%eax
404769:	8b 0e                	mov    (%esi),%ecx
40476b:	8b 04 d0             	mov    (%eax,%edx,8),%eax
40476e:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
404771:	8b 47 34             	mov    0x34(%edi),%eax
404774:	8b 44 d0 04          	mov    0x4(%eax,%edx,8),%eax
404778:	eb 10                	jmp    0x40478a
40477a:	c6 44 03 08 00       	movb   $0x0,0x8(%ebx,%eax,1)
40477f:	8b 0e                	mov    (%esi),%ecx
404781:	8b 47 50             	mov    0x50(%edi),%eax
404784:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
404787:	8b 47 50             	mov    0x50(%edi),%eax
40478a:	8b 0e                	mov    (%esi),%ecx
40478c:	89 44 0b 04          	mov    %eax,0x4(%ebx,%ecx,1)
404790:	83 c3 0c             	add    $0xc,%ebx
404793:	8b 45 0c             	mov    0xc(%ebp),%eax
404796:	40                   	inc    %eax
404797:	89 45 0c             	mov    %eax,0xc(%ebp)
40479a:	3b 47 68             	cmp    0x68(%edi),%eax
40479d:	72 a6                	jb     0x404745
40479f:	8b 5d 08             	mov    0x8(%ebp),%ebx
4047a2:	8b 47 4c             	mov    0x4c(%edi),%eax
4047a5:	89 03                	mov    %eax,(%ebx)
4047a7:	8b 4f 4c             	mov    0x4c(%edi),%ecx
4047aa:	89 4b 14             	mov    %ecx,0x14(%ebx)
4047ad:	8b 06                	mov    (%esi),%eax
4047af:	8b 00                	mov    (%eax),%eax
4047b1:	3b c8                	cmp    %eax,%ecx
4047b3:	89 43 18             	mov    %eax,0x18(%ebx)
4047b6:	0f 95 c0             	setne  %al
4047b9:	88 43 1c             	mov    %al,0x1c(%ebx)
4047bc:	8b 06                	mov    (%esi),%eax
4047be:	8b 50 04             	mov    0x4(%eax),%edx
4047c1:	89 53 20             	mov    %edx,0x20(%ebx)
4047c4:	8b 4f 50             	mov    0x50(%edi),%ecx
4047c7:	3b d1                	cmp    %ecx,%edx
4047c9:	89 4b 24             	mov    %ecx,0x24(%ebx)
4047cc:	0f 95 c1             	setne  %cl
4047cf:	88 4b 28             	mov    %cl,0x28(%ebx)
4047d2:	8b 4f 50             	mov    0x50(%edi),%ecx
4047d5:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
4047d8:	8b 4f 50             	mov    0x50(%edi),%ecx
4047db:	89 4b 30             	mov    %ecx,0x30(%ebx)
4047de:	b0 01                	mov    $0x1,%al
4047e0:	5f                   	pop    %edi
4047e1:	5e                   	pop    %esi
4047e2:	5b                   	pop    %ebx
4047e3:	c9                   	leave
4047e4:	c2 08 00             	ret    $0x8
4047e7:	55                   	push   %ebp
4047e8:	8b ec                	mov    %esp,%ebp
4047ea:	51                   	push   %ecx
4047eb:	53                   	push   %ebx
4047ec:	8b 5d 08             	mov    0x8(%ebp),%ebx
4047ef:	56                   	push   %esi
4047f0:	57                   	push   %edi
4047f1:	8b f9                	mov    %ecx,%edi
4047f3:	85 db                	test   %ebx,%ebx
4047f5:	74 13                	je     0x40480a
4047f7:	8d 73 08             	lea    0x8(%ebx),%esi
4047fa:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
4047fe:	56                   	push   %esi
4047ff:	6a 00                	push   $0x0
404801:	8b ce                	mov    %esi,%ecx
404803:	e8 96 12 00 00       	call   0x405a9e
404808:	eb 03                	jmp    0x40480d
40480a:	6a 08                	push   $0x8
40480c:	5e                   	pop    %esi
40480d:	8b 47 54             	mov    0x54(%edi),%eax
404810:	8d 4f 04             	lea    0x4(%edi),%ecx
404813:	6a 00                	push   $0x0
404815:	ff 77 68             	push   0x68(%edi)
404818:	89 47 4c             	mov    %eax,0x4c(%edi)
40481b:	89 07                	mov    %eax,(%edi)
40481d:	e8 b0 e0 01 00       	call   0x4228d2
404822:	8d 4f 14             	lea    0x14(%edi),%ecx
404825:	51                   	push   %ecx
404826:	ff 77 68             	push   0x68(%edi)
404829:	e8 43 13 00 00       	call   0x405b71
40482e:	ff 77 58             	push   0x58(%edi)
404831:	85 db                	test   %ebx,%ebx
404833:	c7 47 78 80 96 98 00 	movl   $0x989680,0x78(%edi)
40483a:	8b cf                	mov    %edi,%ecx
40483c:	c7 47 7c e8 03 00 00 	movl   $0x3e8,0x7c(%edi)
404843:	0f 95 c0             	setne  %al
404846:	c6 47 64 00          	movb   $0x0,0x64(%edi)
40484a:	88 47 65             	mov    %al,0x65(%edi)
40484d:	8a 45 0c             	mov    0xc(%ebp),%al
404850:	88 47 74             	mov    %al,0x74(%edi)
404853:	e8 6e 73 01 00       	call   0x41bbc6
404858:	84 c0                	test   %al,%al
40485a:	0f 84 bc 00 00 00    	je     0x40491c
404860:	85 db                	test   %ebx,%ebx
404862:	0f 84 b2 00 00 00    	je     0x40491a
404868:	8b c6                	mov    %esi,%eax
40486a:	50                   	push   %eax
40486b:	ff 77 68             	push   0x68(%edi)
40486e:	8b c8                	mov    %eax,%ecx
404870:	e8 29 12 00 00       	call   0x405a9e
404875:	33 c0                	xor    %eax,%eax
404877:	89 45 0c             	mov    %eax,0xc(%ebp)
40487a:	39 47 68             	cmp    %eax,0x68(%edi)
40487d:	76 5f                	jbe    0x4048de
40487f:	33 db                	xor    %ebx,%ebx
404881:	8b c8                	mov    %eax,%ecx
404883:	33 d2                	xor    %edx,%edx
404885:	83 e1 1f             	and    $0x1f,%ecx
404888:	42                   	inc    %edx
404889:	d3 e2                	shl    %cl,%edx
40488b:	8b c8                	mov    %eax,%ecx
40488d:	8b 47 24             	mov    0x24(%edi),%eax
404890:	c1 e9 05             	shr    $0x5,%ecx
404893:	85 14 88             	test   %edx,(%eax,%ecx,4)
404896:	8b 06                	mov    (%esi),%eax
404898:	74 1c                	je     0x4048b6
40489a:	8b 55 0c             	mov    0xc(%ebp),%edx
40489d:	c6 44 03 08 01       	movb   $0x1,0x8(%ebx,%eax,1)
4048a2:	8b 47 34             	mov    0x34(%edi),%eax
4048a5:	8b 0e                	mov    (%esi),%ecx
4048a7:	8b 04 d0             	mov    (%eax,%edx,8),%eax
4048aa:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
4048ad:	8b 47 34             	mov    0x34(%edi),%eax
4048b0:	8b 44 d0 04          	mov    0x4(%eax,%edx,8),%eax
4048b4:	eb 10                	jmp    0x4048c6
4048b6:	c6 44 03 08 00       	movb   $0x0,0x8(%ebx,%eax,1)
4048bb:	8b 0e                	mov    (%esi),%ecx
4048bd:	8b 47 50             	mov    0x50(%edi),%eax
4048c0:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
4048c3:	8b 47 50             	mov    0x50(%edi),%eax
4048c6:	8b 0e                	mov    (%esi),%ecx
4048c8:	89 44 0b 04          	mov    %eax,0x4(%ebx,%ecx,1)
4048cc:	83 c3 0c             	add    $0xc,%ebx
4048cf:	8b 45 0c             	mov    0xc(%ebp),%eax
4048d2:	40                   	inc    %eax
4048d3:	89 45 0c             	mov    %eax,0xc(%ebp)
4048d6:	3b 47 68             	cmp    0x68(%edi),%eax
4048d9:	72 a6                	jb     0x404881
4048db:	8b 5d 08             	mov    0x8(%ebp),%ebx
4048de:	8b 47 4c             	mov    0x4c(%edi),%eax
4048e1:	89 03                	mov    %eax,(%ebx)
4048e3:	8b 4f 4c             	mov    0x4c(%edi),%ecx
4048e6:	89 4b 14             	mov    %ecx,0x14(%ebx)
4048e9:	8b 06                	mov    (%esi),%eax
4048eb:	8b 00                	mov    (%eax),%eax
4048ed:	3b c8                	cmp    %eax,%ecx
4048ef:	89 43 18             	mov    %eax,0x18(%ebx)
4048f2:	0f 95 c0             	setne  %al
4048f5:	88 43 1c             	mov    %al,0x1c(%ebx)
4048f8:	8b 06                	mov    (%esi),%eax
4048fa:	8b 50 04             	mov    0x4(%eax),%edx
4048fd:	89 53 20             	mov    %edx,0x20(%ebx)
404900:	8b 4f 50             	mov    0x50(%edi),%ecx
404903:	3b d1                	cmp    %ecx,%edx
404905:	89 4b 24             	mov    %ecx,0x24(%ebx)
404908:	0f 95 c1             	setne  %cl
40490b:	88 4b 28             	mov    %cl,0x28(%ebx)
40490e:	8b 4f 50             	mov    0x50(%edi),%ecx
404911:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
404914:	8b 4f 50             	mov    0x50(%edi),%ecx
404917:	89 4b 30             	mov    %ecx,0x30(%ebx)
40491a:	b0 01                	mov    $0x1,%al
40491c:	5f                   	pop    %edi
40491d:	5e                   	pop    %esi
40491e:	5b                   	pop    %ebx
40491f:	c9                   	leave
404920:	c2 08 00             	ret    $0x8
404923:	55                   	push   %ebp
404924:	8b ec                	mov    %esp,%ebp
404926:	51                   	push   %ecx
404927:	53                   	push   %ebx
404928:	8b 5d 08             	mov    0x8(%ebp),%ebx
40492b:	56                   	push   %esi
40492c:	57                   	push   %edi
40492d:	8b f9                	mov    %ecx,%edi
40492f:	85 db                	test   %ebx,%ebx
404931:	74 13                	je     0x404946
404933:	8d 73 08             	lea    0x8(%ebx),%esi
404936:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
40493a:	56                   	push   %esi
40493b:	6a 00                	push   $0x0
40493d:	8b ce                	mov    %esi,%ecx
40493f:	e8 fa 12 00 00       	call   0x405c3e
404944:	eb 03                	jmp    0x404949
404946:	6a 08                	push   $0x8
404948:	5e                   	pop    %esi
404949:	8b 47 54             	mov    0x54(%edi),%eax
40494c:	8d 4f 04             	lea    0x4(%edi),%ecx
40494f:	6a 00                	push   $0x0
404951:	ff 77 68             	push   0x68(%edi)
404954:	89 47 4c             	mov    %eax,0x4c(%edi)
404957:	89 07                	mov    %eax,(%edi)
404959:	e8 74 df 01 00       	call   0x4228d2
40495e:	8d 4f 14             	lea    0x14(%edi),%ecx
404961:	51                   	push   %ecx
404962:	ff 77 68             	push   0x68(%edi)
404965:	e8 9b 0f 00 00       	call   0x405905
40496a:	ff 77 58             	push   0x58(%edi)
40496d:	85 db                	test   %ebx,%ebx
40496f:	c7 47 78 80 96 98 00 	movl   $0x989680,0x78(%edi)
404976:	8b cf                	mov    %edi,%ecx
404978:	c7 47 7c e8 03 00 00 	movl   $0x3e8,0x7c(%edi)
40497f:	0f 95 c0             	setne  %al
404982:	c6 47 64 00          	movb   $0x0,0x64(%edi)
404986:	88 47 65             	mov    %al,0x65(%edi)
404989:	8a 45 0c             	mov    0xc(%ebp),%al
40498c:	88 47 74             	mov    %al,0x74(%edi)
40498f:	e8 d2 75 01 00       	call   0x41bf66
404994:	84 c0                	test   %al,%al
404996:	0f 84 bc 00 00 00    	je     0x404a58
40499c:	85 db                	test   %ebx,%ebx
40499e:	0f 84 b2 00 00 00    	je     0x404a56
4049a4:	8b c6                	mov    %esi,%eax
4049a6:	50                   	push   %eax
4049a7:	ff 77 68             	push   0x68(%edi)
4049aa:	8b c8                	mov    %eax,%ecx
4049ac:	e8 8d 12 00 00       	call   0x405c3e
4049b1:	33 c0                	xor    %eax,%eax
4049b3:	89 45 0c             	mov    %eax,0xc(%ebp)
4049b6:	39 47 68             	cmp    %eax,0x68(%edi)
4049b9:	76 5f                	jbe    0x404a1a