47876b:	74 14                	je     0x478781
47876d:	8b 00                	mov    (%eax),%eax
47876f:	ff 75 08             	push   0x8(%ebp)
478772:	8b 18                	mov    (%eax),%ebx
478774:	8b cb                	mov    %ebx,%ecx
478776:	ff 15 2c 81 4a 00    	call   *0x4a812c
47877c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47877f:	ff d3                	call   *%ebx
478781:	8b 36                	mov    (%esi),%esi
478783:	3b f7                	cmp    %edi,%esi
478785:	75 db                	jne    0x478762
478787:	5b                   	pop    %ebx
478788:	5f                   	pop    %edi
478789:	5e                   	pop    %esi
47878a:	c9                   	leave
47878b:	c2 08 00             	ret    $0x8
47878e:	6a 48                	push   $0x48
478790:	b8 86 16 49 00       	mov    $0x491686,%eax
478795:	e8 6c 7d 01 00       	call   0x490506
47879a:	8b f1                	mov    %ecx,%esi
47879c:	8b 7e 04             	mov    0x4(%esi),%edi
47879f:	8b 45 08             	mov    0x8(%ebp),%eax
4787a2:	50                   	push   %eax
4787a3:	ff 77 04             	push   0x4(%edi)
4787a6:	57                   	push   %edi
4787a7:	e8 d3 8d fa ff       	call   0x42157f
4787ac:	8b d0                	mov    %eax,%edx
4787ae:	b9 ff ff ff 3f       	mov    $0x3fffffff,%ecx
4787b3:	8b 46 08             	mov    0x8(%esi),%eax
4787b6:	2b c8                	sub    %eax,%ecx
4787b8:	83 f9 01             	cmp    $0x1,%ecx
4787bb:	72 14                	jb     0x4787d1
4787bd:	40                   	inc    %eax
4787be:	89 46 08             	mov    %eax,0x8(%esi)
4787c1:	89 57 04             	mov    %edx,0x4(%edi)
4787c4:	8b 42 04             	mov    0x4(%edx),%eax
4787c7:	89 10                	mov    %edx,(%eax)
4787c9:	e8 e7 7c 01 00       	call   0x4904b5
4787ce:	c2 04 00             	ret    $0x4
4787d1:	68 ec fb 40 00       	push   $0x40fbec
4787d6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4787d9:	e8 ae 36 fa ff       	call   0x41be8c
4787de:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4787e2:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4787e5:	50                   	push   %eax
4787e6:	8d 4d ac             	lea    -0x54(%ebp),%ecx
4787e9:	e8 7c 31 fa ff       	call   0x41b96a
4787ee:	68 c8 ea 49 00       	push   $0x49eac8
4787f3:	8d 45 ac             	lea    -0x54(%ebp),%eax
4787f6:	50                   	push   %eax
4787f7:	e8 9f 7c 01 00       	call   0x49049b
4787fc:	cc                   	int3
4787fd:	8b ff                	mov    %edi,%edi
4787ff:	55                   	push   %ebp
478800:	8b ec                	mov    %esp,%ebp
478802:	51                   	push   %ecx
478803:	56                   	push   %esi
478804:	8b f1                	mov    %ecx,%esi
478806:	89 75 fc             	mov    %esi,-0x4(%ebp)
478809:	c7 06 80 5f 40 00    	movl   $0x405f80,(%esi)
47880f:	e8 4f 8b fa ff       	call   0x421363
478814:	83 66 0c 00          	andl   $0x0,0xc(%esi)
478818:	89 46 08             	mov    %eax,0x8(%esi)
47881b:	8b c6                	mov    %esi,%eax
47881d:	5e                   	pop    %esi
47881e:	c9                   	leave
47881f:	c3                   	ret
478820:	8b ff                	mov    %edi,%edi
478822:	55                   	push   %ebp
478823:	8b ec                	mov    %esp,%ebp
478825:	56                   	push   %esi
478826:	8b f1                	mov    %ecx,%esi
478828:	e8 15 00 00 00       	call   0x478842
47882d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
478831:	74 08                	je     0x47883b
478833:	56                   	push   %esi
478834:	ff 15 10 74 4a 00    	call   *0x4a7410
47883a:	59                   	pop    %ecx
47883b:	8b c6                	mov    %esi,%eax
47883d:	5e                   	pop    %esi
47883e:	5d                   	pop    %ebp
47883f:	c2 04 00             	ret    $0x4
478842:	8b ff                	mov    %edi,%edi
478844:	55                   	push   %ebp
478845:	8b ec                	mov    %esp,%ebp
478847:	51                   	push   %ecx
478848:	53                   	push   %ebx
478849:	8b d9                	mov    %ecx,%ebx
47884b:	56                   	push   %esi
47884c:	8b 43 08             	mov    0x8(%ebx),%eax
47884f:	c7 03 80 5f 40 00    	movl   $0x405f80,(%ebx)
478855:	8b 30                	mov    (%eax),%esi
478857:	3b f0                	cmp    %eax,%esi
478859:	74 26                	je     0x478881
47885b:	57                   	push   %edi
47885c:	8b 46 08             	mov    0x8(%esi),%eax
47885f:	89 45 fc             	mov    %eax,-0x4(%ebp)
478862:	85 c0                	test   %eax,%eax
478864:	74 13                	je     0x478879
478866:	8b 00                	mov    (%eax),%eax
478868:	6a 01                	push   $0x1
47886a:	8b 38                	mov    (%eax),%edi
47886c:	8b cf                	mov    %edi,%ecx
47886e:	ff 15 2c 81 4a 00    	call   *0x4a812c
478874:	8b 4d fc             	mov    -0x4(%ebp),%ecx
478877:	ff d7                	call   *%edi
478879:	8b 36                	mov    (%esi),%esi
47887b:	3b 73 08             	cmp    0x8(%ebx),%esi
47887e:	75 dc                	jne    0x47885c
478880:	5f                   	pop    %edi
478881:	8d 4b 04             	lea    0x4(%ebx),%ecx
478884:	e8 dc 46 fc ff       	call   0x43cf65
478889:	8d 4b 04             	lea    0x4(%ebx),%ecx
47888c:	e8 d4 46 fc ff       	call   0x43cf65
478891:	ff 73 08             	push   0x8(%ebx)
478894:	ff 15 10 74 4a 00    	call   *0x4a7410
47889a:	83 63 08 00          	andl   $0x0,0x8(%ebx)
47889e:	59                   	pop    %ecx
47889f:	5e                   	pop    %esi
4788a0:	5b                   	pop    %ebx
4788a1:	c9                   	leave
4788a2:	c3                   	ret
4788a3:	6a 4c                	push   $0x4c
4788a5:	b8 be 12 49 00       	mov    $0x4912be,%eax
4788aa:	e8 57 7c 01 00       	call   0x490506
4788af:	8b d9                	mov    %ecx,%ebx
4788b1:	8b 7d 08             	mov    0x8(%ebp),%edi
4788b4:	8b 07                	mov    (%edi),%eax
4788b6:	8b 70 04             	mov    0x4(%eax),%esi
4788b9:	8b ce                	mov    %esi,%ecx
4788bb:	ff 15 2c 81 4a 00    	call   *0x4a812c
4788c1:	8b cf                	mov    %edi,%ecx
4788c3:	ff d6                	call   *%esi
4788c5:	8b 73 08             	mov    0x8(%ebx),%esi
4788c8:	89 45 a8             	mov    %eax,-0x58(%ebp)
4788cb:	8d 45 a8             	lea    -0x58(%ebp),%eax
4788ce:	50                   	push   %eax
4788cf:	ff 76 04             	push   0x4(%esi)
4788d2:	56                   	push   %esi
4788d3:	e8 a7 8c fa ff       	call   0x42157f
4788d8:	8b d0                	mov    %eax,%edx
4788da:	b9 ff ff ff 3f       	mov    $0x3fffffff,%ecx
4788df:	8b 43 0c             	mov    0xc(%ebx),%eax
4788e2:	2b c8                	sub    %eax,%ecx
4788e4:	83 f9 01             	cmp    $0x1,%ecx
4788e7:	72 14                	jb     0x4788fd
4788e9:	40                   	inc    %eax
4788ea:	89 43 0c             	mov    %eax,0xc(%ebx)
4788ed:	89 56 04             	mov    %edx,0x4(%esi)
4788f0:	8b 42 04             	mov    0x4(%edx),%eax
4788f3:	89 10                	mov    %edx,(%eax)
4788f5:	e8 bb 7b 01 00       	call   0x4904b5
4788fa:	c2 04 00             	ret    $0x4
4788fd:	68 ec fb 40 00       	push   $0x40fbec
478902:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478905:	e8 82 35 fa ff       	call   0x41be8c
47890a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47890e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
478911:	50                   	push   %eax
478912:	8d 4d ac             	lea    -0x54(%ebp),%ecx
478915:	e8 50 30 fa ff       	call   0x41b96a
47891a:	68 c8 ea 49 00       	push   $0x49eac8
47891f:	8d 45 ac             	lea    -0x54(%ebp),%eax
478922:	50                   	push   %eax
478923:	e8 73 7b 01 00       	call   0x49049b
478928:	cc                   	int3
478929:	8b ff                	mov    %edi,%edi
47892b:	55                   	push   %ebp
47892c:	8b ec                	mov    %esp,%ebp
47892e:	51                   	push   %ecx
47892f:	8b c1                	mov    %ecx,%eax
478931:	89 45 fc             	mov    %eax,-0x4(%ebp)
478934:	56                   	push   %esi
478935:	8b 40 08             	mov    0x8(%eax),%eax
478938:	8b 30                	mov    (%eax),%esi
47893a:	3b f0                	cmp    %eax,%esi
47893c:	74 25                	je     0x478963
47893e:	53                   	push   %ebx
47893f:	57                   	push   %edi
478940:	8b 5e 08             	mov    0x8(%esi),%ebx
478943:	ff 75 08             	push   0x8(%ebp)
478946:	8b 03                	mov    (%ebx),%eax
478948:	8b 78 0c             	mov    0xc(%eax),%edi
47894b:	8b cf                	mov    %edi,%ecx
47894d:	ff 15 2c 81 4a 00    	call   *0x4a812c
478953:	8b cb                	mov    %ebx,%ecx
478955:	ff d7                	call   *%edi
478957:	8b 45 fc             	mov    -0x4(%ebp),%eax
47895a:	8b 36                	mov    (%esi),%esi
47895c:	3b 70 08             	cmp    0x8(%eax),%esi
47895f:	75 df                	jne    0x478940
478961:	5f                   	pop    %edi
478962:	5b                   	pop    %ebx
478963:	5e                   	pop    %esi
478964:	c9                   	leave
478965:	c2 04 00             	ret    $0x4
478968:	8b ff                	mov    %edi,%edi
47896a:	55                   	push   %ebp
47896b:	8b ec                	mov    %esp,%ebp
47896d:	83 e4 f8             	and    $0xfffffff8,%esp
478970:	83 ec 24             	sub    $0x24,%esp
478973:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
478978:	33 c4                	xor    %esp,%eax
47897a:	89 44 24 20          	mov    %eax,0x20(%esp)
47897e:	8b 45 08             	mov    0x8(%ebp),%eax
478981:	8b 55 0c             	mov    0xc(%ebp),%edx
478984:	53                   	push   %ebx
478985:	8b d9                	mov    %ecx,%ebx
478987:	89 44 24 04          	mov    %eax,0x4(%esp)
47898b:	33 c9                	xor    %ecx,%ecx
47898d:	89 5c 24 10          	mov    %ebx,0x10(%esp)
478991:	89 48 0c             	mov    %ecx,0xc(%eax)
478994:	89 48 08             	mov    %ecx,0x8(%eax)
478997:	89 48 04             	mov    %ecx,0x4(%eax)
47899a:	89 08                	mov    %ecx,(%eax)
47899c:	8b 4b 08             	mov    0x8(%ebx),%ecx
47899f:	56                   	push   %esi
4789a0:	57                   	push   %edi
4789a1:	89 54 24 10          	mov    %edx,0x10(%esp)
4789a5:	8b 31                	mov    (%ecx),%esi
4789a7:	89 74 24 14          	mov    %esi,0x14(%esp)
4789ab:	3b f1                	cmp    %ecx,%esi
4789ad:	0f 84 97 00 00 00    	je     0x478a4a
4789b3:	8b 7e 08             	mov    0x8(%esi),%edi
4789b6:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4789ba:	52                   	push   %edx
4789bb:	51                   	push   %ecx
4789bc:	8b 07                	mov    (%edi),%eax
4789be:	8b 70 14             	mov    0x14(%eax),%esi
4789c1:	8b ce                	mov    %esi,%ecx
4789c3:	ff 15 2c 81 4a 00    	call   *0x4a812c
4789c9:	8b cf                	mov    %edi,%ecx
4789cb:	ff d6                	call   *%esi
4789cd:	8b f0                	mov    %eax,%esi
4789cf:	8b 44 24 0c          	mov    0xc(%esp),%eax
4789d3:	8b f8                	mov    %eax,%edi
4789d5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4789d6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4789d7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4789d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4789d9:	8b 74 24 14          	mov    0x14(%esp),%esi
4789dd:	8b 4b 08             	mov    0x8(%ebx),%ecx
4789e0:	8b 36                	mov    (%esi),%esi
4789e2:	3b f1                	cmp    %ecx,%esi
4789e4:	eb 5e                	jmp    0x478a44
4789e6:	8b 5e 08             	mov    0x8(%esi),%ebx
4789e9:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4789ed:	52                   	push   %edx
4789ee:	51                   	push   %ecx
4789ef:	8b 03                	mov    (%ebx),%eax
4789f1:	8b 78 14             	mov    0x14(%eax),%edi
4789f4:	8b cf                	mov    %edi,%ecx
4789f6:	ff 15 2c 81 4a 00    	call   *0x4a812c
4789fc:	8b cb                	mov    %ebx,%ecx
4789fe:	ff d7                	call   *%edi
478a00:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
478a04:	e8 6d 81 00 00       	call   0x480b76
478a09:	8b 44 24 0c          	mov    0xc(%esp),%eax
478a0d:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
478a11:	39 08                	cmp    %ecx,(%eax)
478a13:	7e 02                	jle    0x478a17
478a15:	89 08                	mov    %ecx,(%eax)
478a17:	8b 4c 24 24          	mov    0x24(%esp),%ecx
478a1b:	39 48 08             	cmp    %ecx,0x8(%eax)
478a1e:	7d 03                	jge    0x478a23
478a20:	89 48 08             	mov    %ecx,0x8(%eax)
478a23:	8b 4c 24 20          	mov    0x20(%esp),%ecx
478a27:	39 48 04             	cmp    %ecx,0x4(%eax)
478a2a:	7e 03                	jle    0x478a2f
478a2c:	89 48 04             	mov    %ecx,0x4(%eax)
478a2f:	8b 4c 24 28          	mov    0x28(%esp),%ecx
478a33:	39 48 0c             	cmp    %ecx,0xc(%eax)
478a36:	7d 03                	jge    0x478a3b
478a38:	89 48 0c             	mov    %ecx,0xc(%eax)
478a3b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
478a3f:	8b 36                	mov    (%esi),%esi
478a41:	3b 71 08             	cmp    0x8(%ecx),%esi
478a44:	8b 54 24 10          	mov    0x10(%esp),%edx
478a48:	75 9c                	jne    0x4789e6
478a4a:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
478a4e:	5f                   	pop    %edi
478a4f:	5e                   	pop    %esi
478a50:	5b                   	pop    %ebx
478a51:	33 cc                	xor    %esp,%ecx
478a53:	e8 a8 74 01 00       	call   0x48ff00
478a58:	8b e5                	mov    %ebp,%esp
478a5a:	5d                   	pop    %ebp
478a5b:	c2 08 00             	ret    $0x8
478a5e:	8b ff                	mov    %edi,%edi
478a60:	55                   	push   %ebp
478a61:	8b ec                	mov    %esp,%ebp
478a63:	51                   	push   %ecx
478a64:	53                   	push   %ebx
478a65:	56                   	push   %esi
478a66:	33 f6                	xor    %esi,%esi
478a68:	89 71 0c             	mov    %esi,0xc(%ecx)
478a6b:	89 71 08             	mov    %esi,0x8(%ecx)
478a6e:	89 71 04             	mov    %esi,0x4(%ecx)
478a71:	89 31                	mov    %esi,(%ecx)
478a73:	8b 02                	mov    (%edx),%eax
478a75:	89 01                	mov    %eax,(%ecx)
478a77:	8b 42 04             	mov    0x4(%edx),%eax
478a7a:	89 41 04             	mov    %eax,0x4(%ecx)
478a7d:	8b 1a                	mov    (%edx),%ebx
478a7f:	57                   	push   %edi
478a80:	89 59 08             	mov    %ebx,0x8(%ecx)
478a83:	8b 7a 04             	mov    0x4(%edx),%edi
478a86:	89 45 fc             	mov    %eax,-0x4(%ebp)
478a89:	89 79 0c             	mov    %edi,0xc(%ecx)
478a8c:	39 75 08             	cmp    %esi,0x8(%ebp)
478a8f:	7e 3a                	jle    0x478acb
478a91:	8b 04 f2             	mov    (%edx,%esi,8),%eax
478a94:	39 01                	cmp    %eax,(%ecx)
478a96:	7d 02                	jge    0x478a9a
478a98:	89 01                	mov    %eax,(%ecx)
478a9a:	8b 45 fc             	mov    -0x4(%ebp),%eax
478a9d:	3b 44 f2 04          	cmp    0x4(%edx,%esi,8),%eax
478aa1:	7d 0a                	jge    0x478aad
478aa3:	8b 44 f2 04          	mov    0x4(%edx,%esi,8),%eax
478aa7:	89 45 fc             	mov    %eax,-0x4(%ebp)
478aaa:	89 41 04             	mov    %eax,0x4(%ecx)
478aad:	3b 1c f2             	cmp    (%edx,%esi,8),%ebx
478ab0:	7e 06                	jle    0x478ab8
478ab2:	8b 1c f2             	mov    (%edx,%esi,8),%ebx
478ab5:	89 59 08             	mov    %ebx,0x8(%ecx)
478ab8:	3b 7c f2 04          	cmp    0x4(%edx,%esi,8),%edi
478abc:	7e 07                	jle    0x478ac5
478abe:	8b 7c f2 04          	mov    0x4(%edx,%esi,8),%edi
478ac2:	89 79 0c             	mov    %edi,0xc(%ecx)
478ac5:	46                   	inc    %esi
478ac6:	3b 75 08             	cmp    0x8(%ebp),%esi
478ac9:	7c c6                	jl     0x478a91
478acb:	e8 a6 80 00 00       	call   0x480b76
478ad0:	5f                   	pop    %edi
478ad1:	5e                   	pop    %esi
478ad2:	8b c1                	mov    %ecx,%eax
478ad4:	5b                   	pop    %ebx
478ad5:	c9                   	leave
478ad6:	c2 04 00             	ret    $0x4
478ad9:	cc                   	int3
478ada:	cc                   	int3
478adb:	cc                   	int3
478adc:	cc                   	int3
478add:	cc                   	int3
478ade:	cc                   	int3
478adf:	cc                   	int3
478ae0:	8b ff                	mov    %edi,%edi
478ae2:	55                   	push   %ebp
478ae3:	8b ec                	mov    %esp,%ebp
478ae5:	83 ec 10             	sub    $0x10,%esp