470ae0:	51                   	push   %ecx
470ae1:	e8 9a 05 17 00       	call   0x5e1080
470ae6:	8b 8f 58 03 00 00    	mov    0x358(%edi),%ecx
470aec:	83 c4 04             	add    $0x4,%esp
470aef:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
470af6:	89 41 0c             	mov    %eax,0xc(%ecx)
470af9:	83 fe 01             	cmp    $0x1,%esi
470afc:	0f 8c f4 00 00 00    	jl     0x470bf6
470b02:	6a 00                	push   $0x0
470b04:	68 65 aa 68 00       	push   $0x68aa65
470b09:	8d 4d c0             	lea    -0x40(%ebp),%ecx
470b0c:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
470b13:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
470b1a:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
470b1e:	e8 1d 47 fd ff       	call   0x445240
470b23:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
470b29:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
470b2d:	8b 70 74             	mov    0x74(%eax),%esi
470b30:	3b 70 78             	cmp    0x78(%eax),%esi
470b33:	0f 84 85 00 00 00    	je     0x470bbe
470b39:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
470b40:	8d 45 c0             	lea    -0x40(%ebp),%eax
470b43:	3b c6                	cmp    %esi,%eax
470b45:	74 16                	je     0x470b5d
470b47:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
470b4b:	8b c6                	mov    %esi,%eax
470b4d:	72 02                	jb     0x470b51
470b4f:	8b 06                	mov    (%esi),%eax
470b51:	ff 76 10             	push   0x10(%esi)
470b54:	8d 4d c0             	lea    -0x40(%ebp),%ecx
470b57:	50                   	push   %eax
470b58:	e8 e3 46 fd ff       	call   0x445240
470b5d:	8b 45 d0             	mov    -0x30(%ebp),%eax
470b60:	8d 4d c0             	lea    -0x40(%ebp),%ecx
470b63:	8b 55 88             	mov    -0x78(%ebp),%edx
470b66:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
470b6a:	89 45 a4             	mov    %eax,-0x5c(%ebp)
470b6d:	8b 87 58 03 00 00    	mov    0x358(%edi),%eax
470b73:	0f 43 4d c0          	cmovae -0x40(%ebp),%ecx
470b77:	89 4d 80             	mov    %ecx,-0x80(%ebp)
470b7a:	8b 40 0c             	mov    0xc(%eax),%eax
470b7d:	8d 04 90             	lea    (%eax,%edx,4),%eax
470b80:	89 45 a0             	mov    %eax,-0x60(%ebp)
470b83:	85 c0                	test   %eax,%eax
470b85:	74 26                	je     0x470bad
470b87:	85 c9                	test   %ecx,%ecx
470b89:	74 22                	je     0x470bad
470b8b:	8b 7d a4             	mov    -0x5c(%ebp),%edi
470b8e:	47                   	inc    %edi
470b8f:	57                   	push   %edi
470b90:	e8 eb 04 17 00       	call   0x5e1080
470b95:	ff 75 a4             	push   -0x5c(%ebp)
470b98:	8b 4d a0             	mov    -0x60(%ebp),%ecx
470b9b:	ff 75 80             	push   -0x80(%ebp)
470b9e:	57                   	push   %edi
470b9f:	50                   	push   %eax
470ba0:	89 01                	mov    %eax,(%ecx)
470ba2:	e8 d9 79 ff ff       	call   0x468580
470ba7:	8b 7d 90             	mov    -0x70(%ebp),%edi
470baa:	83 c4 14             	add    $0x14,%esp
470bad:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
470bb3:	83 c6 18             	add    $0x18,%esi
470bb6:	ff 45 88             	incl   -0x78(%ebp)
470bb9:	3b 70 78             	cmp    0x78(%eax),%esi
470bbc:	75 82                	jne    0x470b40
470bbe:	8b 55 d4             	mov    -0x2c(%ebp),%edx
470bc1:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
470bc5:	83 fa 10             	cmp    $0x10,%edx
470bc8:	72 2c                	jb     0x470bf6
470bca:	8b 4d c0             	mov    -0x40(%ebp),%ecx
470bcd:	42                   	inc    %edx
470bce:	8b c1                	mov    %ecx,%eax
470bd0:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
470bd6:	72 14                	jb     0x470bec
470bd8:	8b 49 fc             	mov    -0x4(%ecx),%ecx
470bdb:	83 c2 23             	add    $0x23,%edx
470bde:	2b c1                	sub    %ecx,%eax
470be0:	83 c0 fc             	add    $0xfffffffc,%eax
470be3:	83 f8 1f             	cmp    $0x1f,%eax
470be6:	0f 87 1d 0b 00 00    	ja     0x471709
470bec:	52                   	push   %edx
470bed:	51                   	push   %ecx
470bee:	e8 7f 04 17 00       	call   0x5e1072
470bf3:	83 c4 08             	add    $0x8,%esp
470bf6:	8b 87 58 03 00 00    	mov    0x358(%edi),%eax
470bfc:	8b 55 88             	mov    -0x78(%ebp),%edx
470bff:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
470c05:	8b 40 0c             	mov    0xc(%eax),%eax
470c08:	c7 04 90 00 00 00 00 	movl   $0x0,(%eax,%edx,4)
470c0f:	eb 0f                	jmp    0x470c20
470c11:	68 f0 16 69 00       	push   $0x6916f0
470c16:	6a 03                	push   $0x3
470c18:	e8 63 9c 00 00       	call   0x47a880
470c1d:	83 c4 08             	add    $0x8,%esp
470c20:	8b 46 24             	mov    0x24(%esi),%eax
470c23:	c7 87 50 03 00 00 00 	movl   $0x0,0x350(%edi)
470c2a:	00 00 00
470c2d:	85 c0                	test   %eax,%eax
470c2f:	0f 84 7b 0a 00 00    	je     0x4716b0
470c35:	33 c9                	xor    %ecx,%ecx
470c37:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
470c3e:	40                   	inc    %eax
470c3f:	ba 04 00 00 00       	mov    $0x4,%edx
470c44:	f7 e2                	mul    %edx
470c46:	0f 90 c1             	seto   %cl
470c49:	f7 d9                	neg    %ecx
470c4b:	0b c8                	or     %eax,%ecx
470c4d:	51                   	push   %ecx
470c4e:	e8 2d 04 17 00       	call   0x5e1080
470c53:	89 87 50 03 00 00    	mov    %eax,0x350(%edi)
470c59:	83 c4 04             	add    $0x4,%esp
470c5c:	8b 4e 20             	mov    0x20(%esi),%ecx
470c5f:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
470c65:	8b 39                	mov    (%ecx),%edi
470c67:	89 7d 9c             	mov    %edi,-0x64(%ebp)
470c6a:	3b f9                	cmp    %ecx,%edi
470c6c:	0f 84 32 0a 00 00    	je     0x4716a4
470c72:	8b 75 90             	mov    -0x70(%ebp),%esi
470c75:	6a 08                	push   $0x8
470c77:	e8 c6 03 17 00       	call   0x5e1042
470c7c:	8b 8e 50 03 00 00    	mov    0x350(%esi),%ecx
470c82:	83 c4 04             	add    $0x4,%esp
470c85:	8b 55 8c             	mov    -0x74(%ebp),%edx
470c88:	89 04 91             	mov    %eax,(%ecx,%edx,4)
470c8b:	8d 4f 10             	lea    0x10(%edi),%ecx
470c8e:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
470c92:	89 4d 88             	mov    %ecx,-0x78(%ebp)
470c95:	72 05                	jb     0x470c9c
470c97:	8b 09                	mov    (%ecx),%ecx
470c99:	89 4d 88             	mov    %ecx,-0x78(%ebp)
470c9c:	8b 47 20             	mov    0x20(%edi),%eax
470c9f:	89 45 a4             	mov    %eax,-0x5c(%ebp)
470ca2:	8b 86 50 03 00 00    	mov    0x350(%esi),%eax
470ca8:	8b 14 90             	mov    (%eax,%edx,4),%edx
470cab:	89 55 a0             	mov    %edx,-0x60(%ebp)
470cae:	85 d2                	test   %edx,%edx
470cb0:	74 2c                	je     0x470cde
470cb2:	85 c9                	test   %ecx,%ecx
470cb4:	74 28                	je     0x470cde
470cb6:	8b 75 a4             	mov    -0x5c(%ebp),%esi
470cb9:	46                   	inc    %esi
470cba:	56                   	push   %esi
470cbb:	e8 c0 03 17 00       	call   0x5e1080
470cc0:	ff 75 a4             	push   -0x5c(%ebp)
470cc3:	8b 4d a0             	mov    -0x60(%ebp),%ecx
470cc6:	ff 75 88             	push   -0x78(%ebp)
470cc9:	56                   	push   %esi
470cca:	50                   	push   %eax
470ccb:	89 01                	mov    %eax,(%ecx)
470ccd:	e8 ae 78 ff ff       	call   0x468580
470cd2:	8b 75 90             	mov    -0x70(%ebp),%esi
470cd5:	83 c4 14             	add    $0x14,%esp
470cd8:	8b 86 50 03 00 00    	mov    0x350(%esi),%eax
470cde:	8b 55 8c             	mov    -0x74(%ebp),%edx
470ce1:	8b 4f 2c             	mov    0x2c(%edi),%ecx
470ce4:	8b 04 90             	mov    (%eax,%edx,4),%eax
470ce7:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
470cee:	85 c9                	test   %ecx,%ecx
470cf0:	0f 84 41 09 00 00    	je     0x471637
470cf6:	8d 41 01             	lea    0x1(%ecx),%eax
470cf9:	ba 04 00 00 00       	mov    $0x4,%edx
470cfe:	33 c9                	xor    %ecx,%ecx
470d00:	f7 e2                	mul    %edx
470d02:	0f 90 c1             	seto   %cl
470d05:	f7 d9                	neg    %ecx
470d07:	0b c8                	or     %eax,%ecx
470d09:	51                   	push   %ecx
470d0a:	e8 71 03 17 00       	call   0x5e1080
470d0f:	8b 8e 50 03 00 00    	mov    0x350(%esi),%ecx
470d15:	83 c4 04             	add    $0x4,%esp
470d18:	8b 55 8c             	mov    -0x74(%ebp),%edx
470d1b:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
470d1e:	33 d2                	xor    %edx,%edx
470d20:	89 55 94             	mov    %edx,-0x6c(%ebp)
470d23:	89 41 04             	mov    %eax,0x4(%ecx)
470d26:	8b 47 28             	mov    0x28(%edi),%eax
470d29:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
470d2f:	8b 30                	mov    (%eax),%esi
470d31:	3b f0                	cmp    %eax,%esi
470d33:	0f 84 e3 08 00 00    	je     0x47161c
470d39:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
470d40:	6a 08                	push   $0x8
470d42:	e8 fb 02 17 00       	call   0x5e1042
470d47:	8b 4d 90             	mov    -0x70(%ebp),%ecx
470d4a:	8b 55 8c             	mov    -0x74(%ebp),%edx
470d4d:	6a 10                	push   $0x10
470d4f:	8b 89 50 03 00 00    	mov    0x350(%ecx),%ecx
470d55:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
470d58:	8b 55 94             	mov    -0x6c(%ebp),%edx
470d5b:	8b 49 04             	mov    0x4(%ecx),%ecx
470d5e:	89 04 91             	mov    %eax,(%ecx,%edx,4)
470d61:	e8 dc 02 17 00       	call   0x5e1042
470d66:	8b 4d 90             	mov    -0x70(%ebp),%ecx
470d69:	83 c4 08             	add    $0x8,%esp
470d6c:	8b 55 8c             	mov    -0x74(%ebp),%edx
470d6f:	8b 89 50 03 00 00    	mov    0x350(%ecx),%ecx
470d75:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
470d78:	8b 55 94             	mov    -0x6c(%ebp),%edx
470d7b:	8b 49 04             	mov    0x4(%ecx),%ecx
470d7e:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
470d81:	89 01                	mov    %eax,(%ecx)
470d83:	8d 4d a8             	lea    -0x58(%ebp),%ecx
470d86:	51                   	push   %ecx
470d87:	8d 4e 10             	lea    0x10(%esi),%ecx
470d8a:	e8 31 28 fe ff       	call   0x4535c0
470d8f:	89 45 a0             	mov    %eax,-0x60(%ebp)
470d92:	8d 45 d8             	lea    -0x28(%ebp),%eax
470d95:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
470d99:	50                   	push   %eax
470d9a:	8d 4e 10             	lea    0x10(%esi),%ecx
470d9d:	e8 1e 28 fe ff       	call   0x4535c0
470da2:	8b c8                	mov    %eax,%ecx
470da4:	89 45 a4             	mov    %eax,-0x5c(%ebp)
470da7:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
470dab:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
470daf:	72 05                	jb     0x470db6
470db1:	8b 09                	mov    (%ecx),%ecx
470db3:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
470db6:	8b 45 90             	mov    -0x70(%ebp),%eax
470db9:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
470dbc:	8b 55 a0             	mov    -0x60(%ebp),%edx
470dbf:	8b 80 50 03 00 00    	mov    0x350(%eax),%eax
470dc5:	8b 52 10             	mov    0x10(%edx),%edx
470dc8:	89 55 80             	mov    %edx,-0x80(%ebp)
470dcb:	8b 04 88             	mov    (%eax,%ecx,4),%eax
470dce:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
470dd1:	8b 40 04             	mov    0x4(%eax),%eax
470dd4:	8b 04 88             	mov    (%eax,%ecx,4),%eax
470dd7:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
470dda:	8b 00                	mov    (%eax),%eax
470ddc:	89 45 a0             	mov    %eax,-0x60(%ebp)
470ddf:	85 c0                	test   %eax,%eax
470de1:	74 26                	je     0x470e09
470de3:	85 c9                	test   %ecx,%ecx
470de5:	74 22                	je     0x470e09
470de7:	8d 42 01             	lea    0x1(%edx),%eax
470dea:	50                   	push   %eax
470deb:	e8 90 02 17 00       	call   0x5e1080
470df0:	8b 4d a0             	mov    -0x60(%ebp),%ecx
470df3:	8b 55 80             	mov    -0x80(%ebp),%edx
470df6:	52                   	push   %edx
470df7:	ff 75 a4             	push   -0x5c(%ebp)
470dfa:	89 01                	mov    %eax,(%ecx)
470dfc:	8d 4a 01             	lea    0x1(%edx),%ecx
470dff:	51                   	push   %ecx
470e00:	50                   	push   %eax
470e01:	e8 7a 77 ff ff       	call   0x468580
470e06:	83 c4 14             	add    $0x14,%esp
470e09:	8b 55 ec             	mov    -0x14(%ebp),%edx
470e0c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
470e10:	83 fa 10             	cmp    $0x10,%edx
470e13:	72 2c                	jb     0x470e41
470e15:	8b 4d d8             	mov    -0x28(%ebp),%ecx
470e18:	42                   	inc    %edx
470e19:	8b c1                	mov    %ecx,%eax
470e1b:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
470e21:	72 14                	jb     0x470e37
470e23:	8b 49 fc             	mov    -0x4(%ecx),%ecx
470e26:	83 c2 23             	add    $0x23,%edx
470e29:	2b c1                	sub    %ecx,%eax
470e2b:	83 c0 fc             	add    $0xfffffffc,%eax
470e2e:	83 f8 1f             	cmp    $0x1f,%eax
470e31:	0f 87 d2 08 00 00    	ja     0x471709
470e37:	52                   	push   %edx
470e38:	51                   	push   %ecx
470e39:	e8 34 02 17 00       	call   0x5e1072
470e3e:	83 c4 08             	add    $0x8,%esp
470e41:	8b 55 bc             	mov    -0x44(%ebp),%edx
470e44:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
470e4b:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
470e52:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
470e56:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
470e5a:	83 fa 10             	cmp    $0x10,%edx
470e5d:	72 2c                	jb     0x470e8b
470e5f:	8b 4d a8             	mov    -0x58(%ebp),%ecx
470e62:	42                   	inc    %edx
470e63:	8b c1                	mov    %ecx,%eax
470e65:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
470e6b:	72 14                	jb     0x470e81
470e6d:	8b 49 fc             	mov    -0x4(%ecx),%ecx
470e70:	83 c2 23             	add    $0x23,%edx
470e73:	2b c1                	sub    %ecx,%eax
470e75:	83 c0 fc             	add    $0xfffffffc,%eax
470e78:	83 f8 1f             	cmp    $0x1f,%eax
470e7b:	0f 87 88 08 00 00    	ja     0x471709
470e81:	52                   	push   %edx
470e82:	51                   	push   %ecx
470e83:	e8 ea 01 17 00       	call   0x5e1072
470e88:	83 c4 08             	add    $0x8,%esp
470e8b:	8d 45 a8             	lea    -0x58(%ebp),%eax
470e8e:	50                   	push   %eax
470e8f:	8d 4e 10             	lea    0x10(%esi),%ecx
470e92:	e8 09 27 fe ff       	call   0x4535a0
470e97:	89 45 a0             	mov    %eax,-0x60(%ebp)
470e9a:	8d 45 d8             	lea    -0x28(%ebp),%eax
470e9d:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
470ea1:	50                   	push   %eax
470ea2:	8d 4e 10             	lea    0x10(%esi),%ecx
470ea5:	e8 f6 26 fe ff       	call   0x4535a0
470eaa:	8b c8                	mov    %eax,%ecx
470eac:	89 45 a4             	mov    %eax,-0x5c(%ebp)
470eaf:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
470eb3:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
470eb7:	72 05                	jb     0x470ebe
470eb9:	8b 09                	mov    (%ecx),%ecx
470ebb:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
470ebe:	8b 45 90             	mov    -0x70(%ebp),%eax
470ec1:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
470ec4:	8b 55 a0             	mov    -0x60(%ebp),%edx
470ec7:	8b 80 50 03 00 00    	mov    0x350(%eax),%eax
470ecd:	8b 52 10             	mov    0x10(%edx),%edx
470ed0:	89 55 80             	mov    %edx,-0x80(%ebp)
470ed3:	8b 04 88             	mov    (%eax,%ecx,4),%eax
470ed6:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
470ed9:	8b 40 04             	mov    0x4(%eax),%eax
470edc:	8b 04 88             	mov    (%eax,%ecx,4),%eax
470edf:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
470ee2:	8b 00                	mov    (%eax),%eax
470ee4:	83 c0 04             	add    $0x4,%eax
470ee7:	89 45 a0             	mov    %eax,-0x60(%ebp)
470eea:	74 26                	je     0x470f12
470eec:	85 c9                	test   %ecx,%ecx
470eee:	74 22                	je     0x470f12
470ef0:	8d 42 01             	lea    0x1(%edx),%eax
470ef3:	50                   	push   %eax
470ef4:	e8 87 01 17 00       	call   0x5e1080
470ef9:	8b 4d a0             	mov    -0x60(%ebp),%ecx
470efc:	8b 55 80             	mov    -0x80(%ebp),%edx
470eff:	52                   	push   %edx
470f00:	ff 75 a4             	push   -0x5c(%ebp)
470f03:	89 01                	mov    %eax,(%ecx)
470f05:	8d 4a 01             	lea    0x1(%edx),%ecx
470f08:	51                   	push   %ecx
470f09:	50                   	push   %eax
470f0a:	e8 71 76 ff ff       	call   0x468580
470f0f:	83 c4 14             	add    $0x14,%esp
470f12:	8b 55 ec             	mov    -0x14(%ebp),%edx
470f15:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
470f19:	83 fa 10             	cmp    $0x10,%edx
470f1c:	72 2c                	jb     0x470f4a
470f1e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
470f21:	42                   	inc    %edx
470f22:	8b c1                	mov    %ecx,%eax
470f24:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
470f2a:	72 14                	jb     0x470f40
470f2c:	8b 49 fc             	mov    -0x4(%ecx),%ecx
470f2f:	83 c2 23             	add    $0x23,%edx
470f32:	2b c1                	sub    %ecx,%eax
470f34:	83 c0 fc             	add    $0xfffffffc,%eax
470f37:	83 f8 1f             	cmp    $0x1f,%eax