4777d4:	2b c7                	sub    %edi,%eax
4777d6:	83 c1 10             	add    $0x10,%ecx
4777d9:	c1 f8 04             	sar    $0x4,%eax
4777dc:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
4777e2:	3b d8                	cmp    %eax,%ebx
4777e4:	7c aa                	jl     0x477790
4777e6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4777e9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4777f0:	59                   	pop    %ecx
4777f1:	5f                   	pop    %edi
4777f2:	5e                   	pop    %esi
4777f3:	5b                   	pop    %ebx
4777f4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4777f7:	33 cd                	xor    %ebp,%ecx
4777f9:	e8 28 a2 15 00       	call   0x5d1a26
4777fe:	8b e5                	mov    %ebp,%esp
477800:	5d                   	pop    %ebp
477801:	c2 18 00             	ret    $0x18
477804:	e8 07 fe fc ff       	call   0x447610
477809:	e8 e2 e9 15 00       	call   0x5d61f0
47780e:	e8 dd e9 15 00       	call   0x5d61f0
477813:	cc                   	int3
477814:	cc                   	int3
477815:	cc                   	int3
477816:	cc                   	int3
477817:	cc                   	int3
477818:	cc                   	int3
477819:	cc                   	int3
47781a:	cc                   	int3
47781b:	cc                   	int3
47781c:	cc                   	int3
47781d:	cc                   	int3
47781e:	cc                   	int3
47781f:	cc                   	int3
477820:	55                   	push   %ebp
477821:	8b ec                	mov    %esp,%ebp
477823:	6a ff                	push   $0xffffffff
477825:	68 fd a2 5f 00       	push   $0x5fa2fd
47782a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
477830:	50                   	push   %eax
477831:	81 ec 98 00 00 00    	sub    $0x98,%esp
477837:	a1 c0 14 69 00       	mov    0x6914c0,%eax
47783c:	33 c5                	xor    %ebp,%eax
47783e:	89 45 f0             	mov    %eax,-0x10(%ebp)
477841:	53                   	push   %ebx
477842:	56                   	push   %esi
477843:	57                   	push   %edi
477844:	50                   	push   %eax
477845:	8d 45 f4             	lea    -0xc(%ebp),%eax
477848:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
47784e:	8b d9                	mov    %ecx,%ebx
477850:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
477856:	8b 45 0c             	mov    0xc(%ebp),%eax
477859:	8b 7d 08             	mov    0x8(%ebp),%edi
47785c:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
477862:	8b 45 10             	mov    0x10(%ebp),%eax
477865:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
47786b:	8b 45 14             	mov    0x14(%ebp),%eax
47786e:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
477874:	8b 45 18             	mov    0x18(%ebp),%eax
477877:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
47787d:	8b 43 04             	mov    0x4(%ebx),%eax
477880:	6a 74                	push   $0x74
477882:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
477888:	e8 98 99 15 00       	call   0x5d1225
47788d:	8b f0                	mov    %eax,%esi
47788f:	83 c4 04             	add    $0x4,%esp
477892:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
477898:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
47789f:	85 f6                	test   %esi,%esi
4778a1:	74 11                	je     0x4778b4
4778a3:	6a 00                	push   $0x0
4778a5:	8b ce                	mov    %esi,%ecx
4778a7:	e8 64 1b 05 00       	call   0x4c9410
4778ac:	c7 06 84 ea 60 00    	movl   $0x60ea84,(%esi)
4778b2:	eb 02                	jmp    0x4778b6
4778b4:	33 f6                	xor    %esi,%esi
4778b6:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
4778bc:	81 c1 a4 00 00 00    	add    $0xa4,%ecx
4778c2:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4778c9:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
4778cf:	8b 41 04             	mov    0x4(%ecx),%eax
4778d2:	3b 41 08             	cmp    0x8(%ecx),%eax
4778d5:	74 08                	je     0x4778df
4778d7:	89 30                	mov    %esi,(%eax)
4778d9:	83 41 04 04          	addl   $0x4,0x4(%ecx)
4778dd:	eb 0d                	jmp    0x4778ec
4778df:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
4778e5:	52                   	push   %edx
4778e6:	50                   	push   %eax
4778e7:	e8 34 16 00 00       	call   0x478f20
4778ec:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
4778f2:	e8 a9 52 04 00       	call   0x4bcba0
4778f7:	84 c0                	test   %al,%al
4778f9:	0f 85 ee 00 00 00    	jne    0x4779ed
4778ff:	8b 4f 10             	mov    0x10(%edi),%ecx
477902:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
477907:	2b c1                	sub    %ecx,%eax
477909:	83 f8 01             	cmp    $0x1,%eax
47790c:	0f 82 c2 02 00 00    	jb     0x477bd4
477912:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
477916:	8b c7                	mov    %edi,%eax
477918:	72 02                	jb     0x47791c
47791a:	8b 07                	mov    (%edi),%eax
47791c:	6a 01                	push   $0x1
47791e:	68 68 67 60 00       	push   $0x606768
477923:	51                   	push   %ecx
477924:	50                   	push   %eax
477925:	57                   	push   %edi
477926:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
47792c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47792f:	e8 4c 42 00 00       	call   0x47bb80
477934:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
47793a:	8d 45 d8             	lea    -0x28(%ebp),%eax
47793d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
477944:	50                   	push   %eax
477945:	8d 45 c0             	lea    -0x40(%ebp),%eax
477948:	50                   	push   %eax
477949:	e8 b2 e5 ff ff       	call   0x475f00
47794e:	83 c4 0c             	add    $0xc,%esp
477951:	68 bc a5 60 00       	push   $0x60a5bc
477956:	6a 07                	push   $0x7
477958:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
47795e:	8b cb                	mov    %ebx,%ecx
477960:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
477964:	50                   	push   %eax
477965:	e8 76 6f 00 00       	call   0x47e8e0
47796a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
47796d:	83 fa 10             	cmp    $0x10,%edx
477970:	72 2c                	jb     0x47799e
477972:	8b 4d c0             	mov    -0x40(%ebp),%ecx
477975:	42                   	inc    %edx
477976:	8b c1                	mov    %ecx,%eax
477978:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
47797e:	72 14                	jb     0x477994
477980:	8b 49 fc             	mov    -0x4(%ecx),%ecx
477983:	83 c2 23             	add    $0x23,%edx
477986:	2b c1                	sub    %ecx,%eax
477988:	83 c0 fc             	add    $0xfffffffc,%eax
47798b:	83 f8 1f             	cmp    $0x1f,%eax
47798e:	0f 87 45 02 00 00    	ja     0x477bd9
477994:	52                   	push   %edx
477995:	51                   	push   %ecx
477996:	e8 ba 98 15 00       	call   0x5d1255
47799b:	83 c4 08             	add    $0x8,%esp
47799e:	8b 55 ec             	mov    -0x14(%ebp),%edx
4779a1:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4779a8:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
4779af:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
4779b3:	83 fa 10             	cmp    $0x10,%edx
4779b6:	0f 82 fa 01 00 00    	jb     0x477bb6
4779bc:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4779bf:	42                   	inc    %edx
4779c0:	8b c1                	mov    %ecx,%eax
4779c2:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4779c8:	72 14                	jb     0x4779de
4779ca:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4779cd:	83 c2 23             	add    $0x23,%edx
4779d0:	2b c1                	sub    %ecx,%eax
4779d2:	83 c0 fc             	add    $0xfffffffc,%eax
4779d5:	83 f8 1f             	cmp    $0x1f,%eax
4779d8:	0f 87 fb 01 00 00    	ja     0x477bd9
4779de:	52                   	push   %edx
4779df:	51                   	push   %ecx
4779e0:	e8 70 98 15 00       	call   0x5d1255
4779e5:	83 c4 08             	add    $0x8,%esp
4779e8:	e9 c9 01 00 00       	jmp    0x477bb6
4779ed:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
4779f3:	8d 45 d8             	lea    -0x28(%ebp),%eax
4779f6:	50                   	push   %eax
4779f7:	e8 b4 4c fe ff       	call   0x45c6b0
4779fc:	50                   	push   %eax
4779fd:	8b ce                	mov    %esi,%ecx
4779ff:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
477a06:	e8 05 4c fe ff       	call   0x45c610
477a0b:	8b 55 ec             	mov    -0x14(%ebp),%edx
477a0e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
477a15:	83 fa 10             	cmp    $0x10,%edx
477a18:	72 2c                	jb     0x477a46
477a1a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
477a1d:	42                   	inc    %edx
477a1e:	8b c1                	mov    %ecx,%eax
477a20:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
477a26:	72 14                	jb     0x477a3c
477a28:	8b 49 fc             	mov    -0x4(%ecx),%ecx
477a2b:	83 c2 23             	add    $0x23,%edx
477a2e:	2b c1                	sub    %ecx,%eax
477a30:	83 c0 fc             	add    $0xfffffffc,%eax
477a33:	83 f8 1f             	cmp    $0x1f,%eax
477a36:	0f 87 a2 01 00 00    	ja     0x477bde
477a3c:	52                   	push   %edx
477a3d:	51                   	push   %ecx
477a3e:	e8 12 98 15 00       	call   0x5d1255
477a43:	83 c4 08             	add    $0x8,%esp
477a46:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
477a4c:	89 70 54             	mov    %esi,0x54(%eax)
477a4f:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
477a53:	0f 8e 81 00 00 00    	jle    0x477ada
477a59:	57                   	push   %edi
477a5a:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
477a60:	e8 bb ec fd ff       	call   0x456720
477a65:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
477a6b:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
477a6e:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
477a75:	e8 a6 ec fd ff       	call   0x456720
477a7a:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
477a80:	8d 4d ac             	lea    -0x54(%ebp),%ecx
477a83:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
477a87:	e8 24 44 00 00       	call   0x47beb0
477a8c:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
477a92:	89 45 b8             	mov    %eax,-0x48(%ebp)
477a95:	89 75 bc             	mov    %esi,-0x44(%ebp)
477a98:	8b 43 10             	mov    0x10(%ebx),%eax
477a9b:	8d 73 0c             	lea    0xc(%ebx),%esi
477a9e:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
477aa4:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
477aab:	51                   	push   %ecx
477aac:	50                   	push   %eax
477aad:	3b 46 08             	cmp    0x8(%esi),%eax
477ab0:	74 0f                	je     0x477ac1
477ab2:	56                   	push   %esi
477ab3:	e8 28 2e 00 00       	call   0x47a8e0
477ab8:	83 c4 0c             	add    $0xc,%esp
477abb:	83 46 04 44          	addl   $0x44,0x4(%esi)
477abf:	eb 07                	jmp    0x477ac8
477ac1:	8b ce                	mov    %esi,%ecx
477ac3:	e8 78 1a 00 00       	call   0x479540
477ac8:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
477ace:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
477ad5:	e8 46 63 00 00       	call   0x47de20
477ada:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
477ae0:	f6 40 04 01          	testb  $0x1,0x4(%eax)
477ae4:	74 0b                	je     0x477af1
477ae6:	8b 70 04             	mov    0x4(%eax),%esi
477ae9:	83 e6 fc             	and    $0xfffffffc,%esi
477aec:	83 c6 04             	add    $0x4,%esi
477aef:	eb 07                	jmp    0x477af8
477af1:	e8 5a 96 fe ff       	call   0x461150
477af6:	8b f0                	mov    %eax,%esi
477af8:	8b 0e                	mov    (%esi),%ecx
477afa:	3b 4e 04             	cmp    0x4(%esi),%ecx
477afd:	0f 84 b3 00 00 00    	je     0x477bb6
477b03:	8b 45 1c             	mov    0x1c(%ebp),%eax
477b06:	83 ec 08             	sub    $0x8,%esp
477b09:	8b cc                	mov    %esp,%ecx
477b0b:	8b d0                	mov    %eax,%edx
477b0d:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
477b11:	72 02                	jb     0x477b15
477b13:	8b 10                	mov    (%eax),%edx
477b15:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
477b1c:	89 11                	mov    %edx,(%ecx)
477b1e:	8b 40 10             	mov    0x10(%eax),%eax
477b21:	89 41 04             	mov    %eax,0x4(%ecx)
477b24:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
477b2a:	8b 4b 04             	mov    0x4(%ebx),%ecx
477b2d:	50                   	push   %eax
477b2e:	e8 dd 95 01 00       	call   0x491110
477b33:	83 bd 60 ff ff ff 01 	cmpl   $0x1,-0xa0(%ebp)
477b3a:	75 7a                	jne    0x477bb6
477b3c:	8b 46 04             	mov    0x4(%esi),%eax
477b3f:	33 db                	xor    %ebx,%ebx
477b41:	8b 3e                	mov    (%esi),%edi
477b43:	2b c7                	sub    %edi,%eax
477b45:	a9 f0 ff ff ff       	test   $0xfffffff0,%eax
477b4a:	7e 6a                	jle    0x477bb6
477b4c:	33 c9                	xor    %ecx,%ecx
477b4e:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
477b54:	0f 1f 40 00          	nopl   0x0(%eax)
477b58:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
477b5f:	00
477b60:	ff 34 0f             	push   (%edi,%ecx,1)
477b63:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
477b69:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
477b6f:	8b 08                	mov    (%eax),%ecx
477b71:	e8 8a ad 01 00       	call   0x492900
477b76:	85 c0                	test   %eax,%eax
477b78:	74 20                	je     0x477b9a
477b7a:	8b 40 14             	mov    0x14(%eax),%eax
477b7d:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
477b83:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
477b89:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
477b8f:	50                   	push   %eax
477b90:	8d 49 44             	lea    0x44(%ecx),%ecx
477b93:	e8 58 60 02 00       	call   0x49dbf0
477b98:	8b 3e                	mov    (%esi),%edi
477b9a:	8b 46 04             	mov    0x4(%esi),%eax
477b9d:	43                   	inc    %ebx
477b9e:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
477ba4:	2b c7                	sub    %edi,%eax
477ba6:	83 c1 10             	add    $0x10,%ecx
477ba9:	c1 f8 04             	sar    $0x4,%eax
477bac:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
477bb2:	3b d8                	cmp    %eax,%ebx
477bb4:	7c aa                	jl     0x477b60
477bb6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
477bb9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
477bc0:	59                   	pop    %ecx
477bc1:	5f                   	pop    %edi
477bc2:	5e                   	pop    %esi
477bc3:	5b                   	pop    %ebx
477bc4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
477bc7:	33 cd                	xor    %ebp,%ecx
477bc9:	e8 58 9e 15 00       	call   0x5d1a26
477bce:	8b e5                	mov    %ebp,%esp
477bd0:	5d                   	pop    %ebp
477bd1:	c2 18 00             	ret    $0x18
477bd4:	e8 37 fa fc ff       	call   0x447610
477bd9:	e8 12 e6 15 00       	call   0x5d61f0
477bde:	e8 0d e6 15 00       	call   0x5d61f0
477be3:	cc                   	int3
477be4:	cc                   	int3
477be5:	cc                   	int3
477be6:	cc                   	int3
477be7:	cc                   	int3
477be8:	cc                   	int3
477be9:	cc                   	int3
477bea:	cc                   	int3
477beb:	cc                   	int3
477bec:	cc                   	int3
477bed:	cc                   	int3
477bee:	cc                   	int3
477bef:	cc                   	int3
477bf0:	55                   	push   %ebp
477bf1:	8b ec                	mov    %esp,%ebp
477bf3:	6a ff                	push   $0xffffffff
477bf5:	68 7d a3 5f 00       	push   $0x5fa37d
477bfa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
477c00:	50                   	push   %eax
477c01:	81 ec 98 00 00 00    	sub    $0x98,%esp
477c07:	a1 c0 14 69 00       	mov    0x6914c0,%eax
477c0c:	33 c5                	xor    %ebp,%eax
477c0e:	89 45 f0             	mov    %eax,-0x10(%ebp)
477c11:	53                   	push   %ebx
477c12:	56                   	push   %esi
477c13:	57                   	push   %edi
477c14:	50                   	push   %eax
477c15:	8d 45 f4             	lea    -0xc(%ebp),%eax
477c18:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
477c1e:	8b d9                	mov    %ecx,%ebx
477c20:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
477c26:	8b 45 0c             	mov    0xc(%ebp),%eax
477c29:	8b 7d 08             	mov    0x8(%ebp),%edi
477c2c:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
477c32:	8b 45 10             	mov    0x10(%ebp),%eax
477c35:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
477c3b:	8b 45 14             	mov    0x14(%ebp),%eax
477c3e:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
477c44:	8b 45 18             	mov    0x18(%ebp),%eax
477c47:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
477c4d:	8b 43 04             	mov    0x4(%ebx),%eax