46ec78:	57                   	push   %edi
46ec79:	50                   	push   %eax
46ec7a:	89 01                	mov    %eax,(%ecx)
46ec7c:	e8 ff 98 ff ff       	call   0x468580
46ec81:	8b 45 f8             	mov    -0x8(%ebp),%eax
46ec84:	83 c4 14             	add    $0x14,%esp
46ec87:	8b 75 fc             	mov    -0x4(%ebp),%esi
46ec8a:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
46ec90:	83 7b e8 10          	cmpl   $0x10,-0x18(%ebx)
46ec94:	8d 4b d4             	lea    -0x2c(%ebx),%ecx
46ec97:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ec9a:	72 05                	jb     0x46eca1
46ec9c:	8b 09                	mov    (%ecx),%ecx
46ec9e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46eca1:	8b 14 b0             	mov    (%eax,%esi,4),%edx
46eca4:	83 c2 04             	add    $0x4,%edx
46eca7:	89 55 dc             	mov    %edx,-0x24(%ebp)
46ecaa:	74 2f                	je     0x46ecdb
46ecac:	85 c9                	test   %ecx,%ecx
46ecae:	74 2b                	je     0x46ecdb
46ecb0:	8b 73 e4             	mov    -0x1c(%ebx),%esi
46ecb3:	8d 7e 01             	lea    0x1(%esi),%edi
46ecb6:	57                   	push   %edi
46ecb7:	e8 c4 23 17 00       	call   0x5e1080
46ecbc:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ecbf:	56                   	push   %esi
46ecc0:	ff 75 e4             	push   -0x1c(%ebp)
46ecc3:	57                   	push   %edi
46ecc4:	50                   	push   %eax
46ecc5:	89 01                	mov    %eax,(%ecx)
46ecc7:	e8 b4 98 ff ff       	call   0x468580
46eccc:	8b 45 f8             	mov    -0x8(%ebp),%eax
46eccf:	83 c4 14             	add    $0x14,%esp
46ecd2:	8b 75 fc             	mov    -0x4(%ebp),%esi
46ecd5:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
46ecdb:	83 3b 10             	cmpl   $0x10,(%ebx)
46ecde:	8d 4b ec             	lea    -0x14(%ebx),%ecx
46ece1:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ece4:	72 05                	jb     0x46eceb
46ece6:	8b 09                	mov    (%ecx),%ecx
46ece8:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46eceb:	8b 14 b0             	mov    (%eax,%esi,4),%edx
46ecee:	83 c2 08             	add    $0x8,%edx
46ecf1:	89 55 dc             	mov    %edx,-0x24(%ebp)
46ecf4:	74 2f                	je     0x46ed25
46ecf6:	85 c9                	test   %ecx,%ecx
46ecf8:	74 2b                	je     0x46ed25
46ecfa:	8b 73 fc             	mov    -0x4(%ebx),%esi
46ecfd:	8d 7e 01             	lea    0x1(%esi),%edi
46ed00:	57                   	push   %edi
46ed01:	e8 7a 23 17 00       	call   0x5e1080
46ed06:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ed09:	56                   	push   %esi
46ed0a:	ff 75 e4             	push   -0x1c(%ebp)
46ed0d:	57                   	push   %edi
46ed0e:	50                   	push   %eax
46ed0f:	89 01                	mov    %eax,(%ecx)
46ed11:	e8 6a 98 ff ff       	call   0x468580
46ed16:	8b 45 f8             	mov    -0x8(%ebp),%eax
46ed19:	83 c4 14             	add    $0x14,%esp
46ed1c:	8b 75 fc             	mov    -0x4(%ebp),%esi
46ed1f:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
46ed25:	83 7b 18 10          	cmpl   $0x10,0x18(%ebx)
46ed29:	8d 4b 04             	lea    0x4(%ebx),%ecx
46ed2c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ed2f:	72 05                	jb     0x46ed36
46ed31:	8b 09                	mov    (%ecx),%ecx
46ed33:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ed36:	8b 14 b0             	mov    (%eax,%esi,4),%edx
46ed39:	83 c2 0c             	add    $0xc,%edx
46ed3c:	89 55 dc             	mov    %edx,-0x24(%ebp)
46ed3f:	74 2f                	je     0x46ed70
46ed41:	85 c9                	test   %ecx,%ecx
46ed43:	74 2b                	je     0x46ed70
46ed45:	8b 73 14             	mov    0x14(%ebx),%esi
46ed48:	8d 7e 01             	lea    0x1(%esi),%edi
46ed4b:	57                   	push   %edi
46ed4c:	e8 2f 23 17 00       	call   0x5e1080
46ed51:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ed54:	56                   	push   %esi
46ed55:	ff 75 e4             	push   -0x1c(%ebp)
46ed58:	57                   	push   %edi
46ed59:	50                   	push   %eax
46ed5a:	89 01                	mov    %eax,(%ecx)
46ed5c:	e8 1f 98 ff ff       	call   0x468580
46ed61:	8b 45 f8             	mov    -0x8(%ebp),%eax
46ed64:	83 c4 14             	add    $0x14,%esp
46ed67:	8b 75 fc             	mov    -0x4(%ebp),%esi
46ed6a:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
46ed70:	83 7b 30 10          	cmpl   $0x10,0x30(%ebx)
46ed74:	8d 4b 1c             	lea    0x1c(%ebx),%ecx
46ed77:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ed7a:	72 05                	jb     0x46ed81
46ed7c:	8b 09                	mov    (%ecx),%ecx
46ed7e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ed81:	8b 14 b0             	mov    (%eax,%esi,4),%edx
46ed84:	83 c2 10             	add    $0x10,%edx
46ed87:	89 55 dc             	mov    %edx,-0x24(%ebp)
46ed8a:	74 2f                	je     0x46edbb
46ed8c:	85 c9                	test   %ecx,%ecx
46ed8e:	74 2b                	je     0x46edbb
46ed90:	8b 73 2c             	mov    0x2c(%ebx),%esi
46ed93:	8d 7e 01             	lea    0x1(%esi),%edi
46ed96:	57                   	push   %edi
46ed97:	e8 e4 22 17 00       	call   0x5e1080
46ed9c:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ed9f:	56                   	push   %esi
46eda0:	ff 75 e4             	push   -0x1c(%ebp)
46eda3:	57                   	push   %edi
46eda4:	50                   	push   %eax
46eda5:	89 01                	mov    %eax,(%ecx)
46eda7:	e8 d4 97 ff ff       	call   0x468580
46edac:	8b 45 f8             	mov    -0x8(%ebp),%eax
46edaf:	83 c4 14             	add    $0x14,%esp
46edb2:	8b 75 fc             	mov    -0x4(%ebp),%esi
46edb5:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
46edbb:	83 7b 48 10          	cmpl   $0x10,0x48(%ebx)
46edbf:	8d 4b 34             	lea    0x34(%ebx),%ecx
46edc2:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46edc5:	72 05                	jb     0x46edcc
46edc7:	8b 09                	mov    (%ecx),%ecx
46edc9:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46edcc:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46edcf:	83 c0 14             	add    $0x14,%eax
46edd2:	89 45 dc             	mov    %eax,-0x24(%ebp)
46edd5:	74 26                	je     0x46edfd
46edd7:	85 c9                	test   %ecx,%ecx
46edd9:	74 22                	je     0x46edfd
46eddb:	8b 73 44             	mov    0x44(%ebx),%esi
46edde:	8d 7e 01             	lea    0x1(%esi),%edi
46ede1:	57                   	push   %edi
46ede2:	e8 99 22 17 00       	call   0x5e1080
46ede7:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46edea:	56                   	push   %esi
46edeb:	ff 75 e4             	push   -0x1c(%ebp)
46edee:	57                   	push   %edi
46edef:	50                   	push   %eax
46edf0:	89 01                	mov    %eax,(%ecx)
46edf2:	e8 89 97 ff ff       	call   0x468580
46edf7:	8b 75 fc             	mov    -0x4(%ebp),%esi
46edfa:	83 c4 14             	add    $0x14,%esp
46edfd:	8b 45 08             	mov    0x8(%ebp),%eax
46ee00:	8b 7d e0             	mov    -0x20(%ebp),%edi
46ee03:	8b 00                	mov    (%eax),%eax
46ee05:	8b 8c 07 94 00 00 00 	mov    0x94(%edi,%eax,1),%ecx
46ee0c:	2b 8c 07 90 00 00 00 	sub    0x90(%edi,%eax,1),%ecx
46ee13:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
46ee18:	f7 e9                	imul   %ecx
46ee1a:	33 c9                	xor    %ecx,%ecx
46ee1c:	c1 fa 04             	sar    $0x4,%edx
46ee1f:	8b c2                	mov    %edx,%eax
46ee21:	c1 e8 1f             	shr    $0x1f,%eax
46ee24:	03 c2                	add    %edx,%eax
46ee26:	ba 04 00 00 00       	mov    $0x4,%edx
46ee2b:	89 45 dc             	mov    %eax,-0x24(%ebp)
46ee2e:	40                   	inc    %eax
46ee2f:	f7 e2                	mul    %edx
46ee31:	0f 90 c1             	seto   %cl
46ee34:	f7 d9                	neg    %ecx
46ee36:	0b c8                	or     %eax,%ecx
46ee38:	51                   	push   %ecx
46ee39:	e8 42 22 17 00       	call   0x5e1080
46ee3e:	8b 55 f8             	mov    -0x8(%ebp),%edx
46ee41:	83 c4 04             	add    $0x4,%esp
46ee44:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
46ee4b:	8b 8a ac 03 00 00    	mov    0x3ac(%edx),%ecx
46ee51:	8b 0c b1             	mov    (%ecx,%esi,4),%ecx
46ee54:	89 41 18             	mov    %eax,0x18(%ecx)
46ee57:	8b 45 08             	mov    0x8(%ebp),%eax
46ee5a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ee5d:	8b 00                	mov    (%eax),%eax
46ee5f:	8b b4 07 90 00 00 00 	mov    0x90(%edi,%eax,1),%esi
46ee66:	8b bc 07 94 00 00 00 	mov    0x94(%edi,%eax,1),%edi
46ee6d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
46ee70:	85 c9                	test   %ecx,%ecx
46ee72:	0f 84 e0 01 00 00    	je     0x46f058
46ee78:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
46ee7f:	90                   	nop
46ee80:	3b f7                	cmp    %edi,%esi
46ee82:	0f 84 d0 01 00 00    	je     0x46f058
46ee88:	6a 10                	push   $0x10
46ee8a:	e8 b3 21 17 00       	call   0x5e1042
46ee8f:	8b 55 f8             	mov    -0x8(%ebp),%edx
46ee92:	83 c4 04             	add    $0x4,%esp
46ee95:	8b 5d fc             	mov    -0x4(%ebp),%ebx
46ee98:	8b 8a ac 03 00 00    	mov    0x3ac(%edx),%ecx
46ee9e:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
46eea1:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46eea4:	8b 49 18             	mov    0x18(%ecx),%ecx
46eea7:	89 04 99             	mov    %eax,(%ecx,%ebx,4)
46eeaa:	8b 5d ec             	mov    -0x14(%ebp),%ebx
46eead:	8b 43 4c             	mov    0x4c(%ebx),%eax
46eeb0:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46eeb3:	03 d8                	add    %eax,%ebx
46eeb5:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46eeb8:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
46eebc:	72 05                	jb     0x46eec3
46eebe:	8b 0b                	mov    (%ebx),%ecx
46eec0:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46eec3:	8b 92 ac 03 00 00    	mov    0x3ac(%edx),%edx
46eec9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46eecc:	8b 7d f4             	mov    -0xc(%ebp),%edi
46eecf:	8b 0c 8a             	mov    (%edx,%ecx,4),%ecx
46eed2:	8b 49 18             	mov    0x18(%ecx),%ecx
46eed5:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
46eed8:	89 4d d0             	mov    %ecx,-0x30(%ebp)
46eedb:	85 c9                	test   %ecx,%ecx
46eedd:	74 37                	je     0x46ef16
46eedf:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
46eee3:	74 31                	je     0x46ef16
46eee5:	8b 5b 10             	mov    0x10(%ebx),%ebx
46eee8:	8d 43 01             	lea    0x1(%ebx),%eax
46eeeb:	50                   	push   %eax
46eeec:	e8 8f 21 17 00       	call   0x5e1080
46eef1:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46eef4:	53                   	push   %ebx
46eef5:	ff 75 e8             	push   -0x18(%ebp)
46eef8:	89 01                	mov    %eax,(%ecx)
46eefa:	8d 4b 01             	lea    0x1(%ebx),%ecx
46eefd:	51                   	push   %ecx
46eefe:	50                   	push   %eax
46eeff:	e8 7c 96 ff ff       	call   0x468580
46ef04:	8b 45 ec             	mov    -0x14(%ebp),%eax
46ef07:	83 c4 14             	add    $0x14,%esp
46ef0a:	8b 55 f8             	mov    -0x8(%ebp),%edx
46ef0d:	8b 40 4c             	mov    0x4c(%eax),%eax
46ef10:	8b 92 ac 03 00 00    	mov    0x3ac(%edx),%edx
46ef16:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46ef19:	03 c8                	add    %eax,%ecx
46ef1b:	83 79 2c 10          	cmpl   $0x10,0x2c(%ecx)
46ef1f:	89 4d d0             	mov    %ecx,-0x30(%ebp)
46ef22:	8d 59 18             	lea    0x18(%ecx),%ebx
46ef25:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46ef28:	72 05                	jb     0x46ef2f
46ef2a:	8b 1b                	mov    (%ebx),%ebx
46ef2c:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46ef2f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46ef32:	8b 7d f4             	mov    -0xc(%ebp),%edi
46ef35:	8b 0c 8a             	mov    (%edx,%ecx,4),%ecx
46ef38:	8b 49 18             	mov    0x18(%ecx),%ecx
46ef3b:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
46ef3e:	83 c1 04             	add    $0x4,%ecx
46ef41:	89 4d cc             	mov    %ecx,-0x34(%ebp)
46ef44:	74 38                	je     0x46ef7e
46ef46:	85 db                	test   %ebx,%ebx
46ef48:	74 34                	je     0x46ef7e
46ef4a:	8b 5d d0             	mov    -0x30(%ebp),%ebx
46ef4d:	8b 5b 28             	mov    0x28(%ebx),%ebx
46ef50:	8d 43 01             	lea    0x1(%ebx),%eax
46ef53:	50                   	push   %eax
46ef54:	e8 27 21 17 00       	call   0x5e1080
46ef59:	8b 4d cc             	mov    -0x34(%ebp),%ecx
46ef5c:	53                   	push   %ebx
46ef5d:	ff 75 e8             	push   -0x18(%ebp)
46ef60:	89 01                	mov    %eax,(%ecx)
46ef62:	8d 4b 01             	lea    0x1(%ebx),%ecx
46ef65:	51                   	push   %ecx
46ef66:	50                   	push   %eax
46ef67:	e8 14 96 ff ff       	call   0x468580
46ef6c:	8b 45 ec             	mov    -0x14(%ebp),%eax
46ef6f:	83 c4 14             	add    $0x14,%esp
46ef72:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46ef75:	8b 40 4c             	mov    0x4c(%eax),%eax
46ef78:	8b 91 ac 03 00 00    	mov    0x3ac(%ecx),%edx
46ef7e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46ef81:	03 c8                	add    %eax,%ecx
46ef83:	83 79 5c 10          	cmpl   $0x10,0x5c(%ecx)
46ef87:	89 4d cc             	mov    %ecx,-0x34(%ebp)
46ef8a:	8d 59 48             	lea    0x48(%ecx),%ebx
46ef8d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46ef90:	72 05                	jb     0x46ef97
46ef92:	8b 1b                	mov    (%ebx),%ebx
46ef94:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46ef97:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46ef9a:	8b 7d f4             	mov    -0xc(%ebp),%edi
46ef9d:	8b 0c 8a             	mov    (%edx,%ecx,4),%ecx
46efa0:	8b 49 18             	mov    0x18(%ecx),%ecx
46efa3:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
46efa6:	8b 7d e4             	mov    -0x1c(%ebp),%edi
46efa9:	83 c1 0c             	add    $0xc,%ecx
46efac:	89 4d d0             	mov    %ecx,-0x30(%ebp)
46efaf:	74 38                	je     0x46efe9
46efb1:	85 db                	test   %ebx,%ebx
46efb3:	74 34                	je     0x46efe9
46efb5:	8b 5d cc             	mov    -0x34(%ebp),%ebx
46efb8:	8b 5b 58             	mov    0x58(%ebx),%ebx
46efbb:	8d 43 01             	lea    0x1(%ebx),%eax
46efbe:	50                   	push   %eax
46efbf:	e8 bc 20 17 00       	call   0x5e1080
46efc4:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46efc7:	53                   	push   %ebx
46efc8:	ff 75 e8             	push   -0x18(%ebp)
46efcb:	89 01                	mov    %eax,(%ecx)
46efcd:	8d 4b 01             	lea    0x1(%ebx),%ecx
46efd0:	51                   	push   %ecx
46efd1:	50                   	push   %eax
46efd2:	e8 a9 95 ff ff       	call   0x468580
46efd7:	8b 45 ec             	mov    -0x14(%ebp),%eax
46efda:	83 c4 14             	add    $0x14,%esp
46efdd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46efe0:	8b 40 4c             	mov    0x4c(%eax),%eax
46efe3:	8b 91 ac 03 00 00    	mov    0x3ac(%ecx),%edx
46efe9:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46efec:	03 d8                	add    %eax,%ebx
46efee:	83 7b 44 10          	cmpl   $0x10,0x44(%ebx)
46eff2:	8d 4b 30             	lea    0x30(%ebx),%ecx
46eff5:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46eff8:	72 05                	jb     0x46efff
46effa:	8b 09                	mov    (%ecx),%ecx
46effc:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46efff:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f002:	8b 04 82             	mov    (%edx,%eax,4),%eax
46f005:	8b 55 f4             	mov    -0xc(%ebp),%edx
46f008:	8b 40 18             	mov    0x18(%eax),%eax
46f00b:	8b 04 90             	mov    (%eax,%edx,4),%eax
46f00e:	83 c0 08             	add    $0x8,%eax
46f011:	89 45 cc             	mov    %eax,-0x34(%ebp)
46f014:	74 26                	je     0x46f03c
46f016:	85 c9                	test   %ecx,%ecx
46f018:	74 22                	je     0x46f03c
46f01a:	8b 5b 40             	mov    0x40(%ebx),%ebx
46f01d:	8d 43 01             	lea    0x1(%ebx),%eax
46f020:	50                   	push   %eax
46f021:	e8 5a 20 17 00       	call   0x5e1080
46f026:	8b 4d cc             	mov    -0x34(%ebp),%ecx
46f029:	53                   	push   %ebx
46f02a:	ff 75 e8             	push   -0x18(%ebp)
46f02d:	89 01                	mov    %eax,(%ecx)
46f02f:	8d 4b 01             	lea    0x1(%ebx),%ecx
46f032:	51                   	push   %ecx
46f033:	50                   	push   %eax
46f034:	e8 47 95 ff ff       	call   0x468580
46f039:	83 c4 14             	add    $0x14,%esp
46f03c:	8b 45 f4             	mov    -0xc(%ebp),%eax
46f03f:	83 c6 60             	add    $0x60,%esi
46f042:	83 45 f0 60          	addl   $0x60,-0x10(%ebp)
46f046:	40                   	inc    %eax
46f047:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46f04a:	8b 5d ec             	mov    -0x14(%ebp),%ebx
46f04d:	89 45 f4             	mov    %eax,-0xc(%ebp)
46f050:	3b c1                	cmp    %ecx,%eax
46f052:	0f 82 28 fe ff ff    	jb     0x46ee80
46f058:	8b 7d f8             	mov    -0x8(%ebp),%edi
46f05b:	81 c3 9c 00 00 00    	add    $0x9c,%ebx
46f061:	8b 55 fc             	mov    -0x4(%ebp),%edx
46f064:	8b 75 d8             	mov    -0x28(%ebp),%esi
46f067:	81 45 e0 9c 00 00 00 	addl   $0x9c,-0x20(%ebp)
46f06e:	81 c6 9c 00 00 00    	add    $0x9c,%esi
46f074:	8b 87 ac 03 00 00    	mov    0x3ac(%edi),%eax
46f07a:	89 75 d8             	mov    %esi,-0x28(%ebp)