412ea9:	8b f9                	mov    %ecx,%edi
412eab:	03 d0                	add    %eax,%edx
412ead:	8b 4d f8             	mov    -0x8(%ebp),%ecx
412eb0:	83 d1 00             	adc    $0x0,%ecx
412eb3:	89 55 f8             	mov    %edx,-0x8(%ebp)
412eb6:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
412eba:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412ebd:	8b 4d d8             	mov    -0x28(%ebp),%ecx
412ec0:	75 ce                	jne    0x412e90
412ec2:	8b 5d 08             	mov    0x8(%ebp),%ebx
412ec5:	6a 00                	push   $0x0
412ec7:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
412ecd:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
412ed4:	00 00 00
412ed7:	50                   	push   %eax
412ed8:	8d 73 04             	lea    0x4(%ebx),%esi
412edb:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
412ee1:	68 cc 01 00 00       	push   $0x1cc
412ee6:	56                   	push   %esi
412ee7:	e8 26 0f 00 00       	call   0x413e12
412eec:	8b 45 f0             	mov    -0x10(%ebp),%eax
412eef:	83 c4 10             	add    $0x10,%esp
412ef2:	8b 55 fc             	mov    -0x4(%ebp),%edx
412ef5:	33 c9                	xor    %ecx,%ecx
412ef7:	3b c8                	cmp    %eax,%ecx
412ef9:	89 3e                	mov    %edi,(%esi)
412efb:	89 43 08             	mov    %eax,0x8(%ebx)
412efe:	8b 45 f8             	mov    -0x8(%ebp),%eax
412f01:	1b c9                	sbb    %ecx,%ecx
412f03:	f7 d9                	neg    %ecx
412f05:	5e                   	pop    %esi
412f06:	41                   	inc    %ecx
412f07:	5f                   	pop    %edi
412f08:	89 0b                	mov    %ecx,(%ebx)
412f0a:	5b                   	pop    %ebx
412f0b:	8b e5                	mov    %ebp,%esp
412f0d:	5d                   	pop    %ebp
412f0e:	c3                   	ret
412f0f:	3b c6                	cmp    %esi,%eax
412f11:	77 47                	ja     0x412f5a
412f13:	8b d6                	mov    %esi,%edx
412f15:	8d 48 01             	lea    0x1(%eax),%ecx
412f18:	2b d0                	sub    %eax,%edx
412f1a:	89 4d c8             	mov    %ecx,-0x38(%ebp)
412f1d:	8b ce                	mov    %esi,%ecx
412f1f:	3b f2                	cmp    %edx,%esi
412f21:	7c 32                	jl     0x412f55
412f23:	8b c1                	mov    %ecx,%eax
412f25:	46                   	inc    %esi
412f26:	2b c2                	sub    %edx,%eax
412f28:	8d 34 b3             	lea    (%ebx,%esi,4),%esi
412f2b:	8d 3c 87             	lea    (%edi,%eax,4),%edi
412f2e:	83 c7 04             	add    $0x4,%edi
412f31:	8b 07                	mov    (%edi),%eax
412f33:	3b 06                	cmp    (%esi),%eax
412f35:	75 0d                	jne    0x412f44
412f37:	49                   	dec    %ecx
412f38:	83 ef 04             	sub    $0x4,%edi
412f3b:	83 ee 04             	sub    $0x4,%esi
412f3e:	3b ca                	cmp    %edx,%ecx
412f40:	7d ef                	jge    0x412f31
412f42:	eb 11                	jmp    0x412f55
412f44:	8b 75 0c             	mov    0xc(%ebp),%esi
412f47:	8b c1                	mov    %ecx,%eax
412f49:	2b c2                	sub    %edx,%eax
412f4b:	8b 44 86 04          	mov    0x4(%esi,%eax,4),%eax
412f4f:	3b 44 8b 04          	cmp    0x4(%ebx,%ecx,4),%eax
412f53:	73 01                	jae    0x412f56
412f55:	42                   	inc    %edx
412f56:	85 d2                	test   %edx,%edx
412f58:	75 0b                	jne    0x412f65
412f5a:	5e                   	pop    %esi
412f5b:	5f                   	pop    %edi
412f5c:	33 c0                	xor    %eax,%eax
412f5e:	33 d2                	xor    %edx,%edx
412f60:	5b                   	pop    %ebx
412f61:	8b e5                	mov    %ebp,%esp
412f63:	5d                   	pop    %ebp
412f64:	c3                   	ret
412f65:	8b 7d c8             	mov    -0x38(%ebp),%edi
412f68:	8b 45 0c             	mov    0xc(%ebp),%eax
412f6b:	8b 34 b8             	mov    (%eax,%edi,4),%esi
412f6e:	8b 44 b8 fc          	mov    -0x4(%eax,%edi,4),%eax
412f72:	89 45 e0             	mov    %eax,-0x20(%ebp)
412f75:	0f bd c6             	bsr    %esi,%eax
412f78:	89 75 cc             	mov    %esi,-0x34(%ebp)
412f7b:	74 09                	je     0x412f86
412f7d:	b9 1f 00 00 00       	mov    $0x1f,%ecx
412f82:	2b c8                	sub    %eax,%ecx
412f84:	eb 05                	jmp    0x412f8b
412f86:	b9 20 00 00 00       	mov    $0x20,%ecx
412f8b:	b8 20 00 00 00       	mov    $0x20,%eax
412f90:	89 4d dc             	mov    %ecx,-0x24(%ebp)
412f93:	2b c1                	sub    %ecx,%eax
412f95:	89 45 c4             	mov    %eax,-0x3c(%ebp)
412f98:	85 c9                	test   %ecx,%ecx
412f9a:	74 29                	je     0x412fc5
412f9c:	8b 45 e0             	mov    -0x20(%ebp),%eax
412f9f:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
412fa2:	d3 e8                	shr    %cl,%eax
412fa4:	8b 4d dc             	mov    -0x24(%ebp),%ecx
412fa7:	d3 65 e0             	shll   %cl,-0x20(%ebp)
412faa:	d3 e6                	shl    %cl,%esi
412fac:	0b f0                	or     %eax,%esi
412fae:	89 75 cc             	mov    %esi,-0x34(%ebp)
412fb1:	83 ff 02             	cmp    $0x2,%edi
412fb4:	76 0f                	jbe    0x412fc5
412fb6:	8b 75 0c             	mov    0xc(%ebp),%esi
412fb9:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
412fbc:	8b 44 be f8          	mov    -0x8(%esi,%edi,4),%eax
412fc0:	d3 e8                	shr    %cl,%eax
412fc2:	09 45 e0             	or     %eax,-0x20(%ebp)
412fc5:	33 f6                	xor    %esi,%esi
412fc7:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
412fce:	83 c2 ff             	add    $0xffffffff,%edx
412fd1:	89 55 e4             	mov    %edx,-0x1c(%ebp)
412fd4:	0f 88 2c 02 00 00    	js     0x413206
412fda:	8d 4b 04             	lea    0x4(%ebx),%ecx
412fdd:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
412fe0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
412fe3:	8d 04 3a             	lea    (%edx,%edi,1),%eax
412fe6:	8d 4b fc             	lea    -0x4(%ebx),%ecx
412fe9:	89 45 f8             	mov    %eax,-0x8(%ebp)
412fec:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
412fef:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
412ff2:	3b 45 f4             	cmp    -0xc(%ebp),%eax
412ff5:	77 05                	ja     0x412ffc
412ff7:	8b 41 08             	mov    0x8(%ecx),%eax
412ffa:	eb 02                	jmp    0x412ffe
412ffc:	33 c0                	xor    %eax,%eax
412ffe:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
413002:	8b 51 04             	mov    0x4(%ecx),%edx
413005:	8b 09                	mov    (%ecx),%ecx
413007:	89 45 d0             	mov    %eax,-0x30(%ebp)
41300a:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
413011:	89 45 fc             	mov    %eax,-0x4(%ebp)
413014:	89 4d ec             	mov    %ecx,-0x14(%ebp)
413017:	76 49                	jbe    0x413062
413019:	8b f9                	mov    %ecx,%edi
41301b:	8b c2                	mov    %edx,%eax
41301d:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
413020:	33 f6                	xor    %esi,%esi
413022:	8b 55 fc             	mov    -0x4(%ebp),%edx
413025:	d3 ef                	shr    %cl,%edi
413027:	8b 4d dc             	mov    -0x24(%ebp),%ecx
41302a:	e8 a1 33 01 00       	call   0x4263d0
41302f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
413032:	0b f2                	or     %edx,%esi
413034:	0b f8                	or     %eax,%edi
413036:	8b c6                	mov    %esi,%eax
413038:	8b 75 ec             	mov    -0x14(%ebp),%esi
41303b:	8b d7                	mov    %edi,%edx
41303d:	d3 e6                	shl    %cl,%esi
41303f:	83 7d f8 03          	cmpl   $0x3,-0x8(%ebp)
413043:	89 45 fc             	mov    %eax,-0x4(%ebp)
413046:	89 75 ec             	mov    %esi,-0x14(%ebp)
413049:	72 17                	jb     0x413062
41304b:	8b 45 c8             	mov    -0x38(%ebp),%eax
41304e:	03 45 e4             	add    -0x1c(%ebp),%eax
413051:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
413054:	8b 44 83 f8          	mov    -0x8(%ebx,%eax,4),%eax
413058:	d3 e8                	shr    %cl,%eax
41305a:	0b f0                	or     %eax,%esi
41305c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41305f:	89 75 ec             	mov    %esi,-0x14(%ebp)
413062:	6a 00                	push   $0x0
413064:	ff 75 cc             	push   -0x34(%ebp)
413067:	50                   	push   %eax
413068:	52                   	push   %edx
413069:	e8 c2 32 01 00       	call   0x426330
41306e:	89 5d d8             	mov    %ebx,-0x28(%ebp)
413071:	33 f6                	xor    %esi,%esi
413073:	8b d8                	mov    %eax,%ebx
413075:	89 75 d8             	mov    %esi,-0x28(%ebp)
413078:	8b c2                	mov    %edx,%eax
41307a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41307d:	89 45 e8             	mov    %eax,-0x18(%ebp)
413080:	8b f9                	mov    %ecx,%edi
413082:	89 5d bc             	mov    %ebx,-0x44(%ebp)
413085:	89 45 c0             	mov    %eax,-0x40(%ebp)
413088:	85 c0                	test   %eax,%eax
41308a:	75 05                	jne    0x413091
41308c:	83 fb ff             	cmp    $0xffffffff,%ebx
41308f:	76 2a                	jbe    0x4130bb
413091:	6a 00                	push   $0x0
413093:	ff 75 cc             	push   -0x34(%ebp)
413096:	83 c3 01             	add    $0x1,%ebx
413099:	83 d0 ff             	adc    $0xffffffff,%eax
41309c:	50                   	push   %eax
41309d:	53                   	push   %ebx
41309e:	e8 8d 40 ff ff       	call   0x407130
4130a3:	03 f8                	add    %eax,%edi
4130a5:	13 f2                	adc    %edx,%esi
4130a7:	83 cb ff             	or     $0xffffffff,%ebx
4130aa:	33 c0                	xor    %eax,%eax
4130ac:	89 75 d8             	mov    %esi,-0x28(%ebp)
4130af:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4130b2:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4130b5:	89 45 e8             	mov    %eax,-0x18(%ebp)
4130b8:	89 45 c0             	mov    %eax,-0x40(%ebp)
4130bb:	85 f6                	test   %esi,%esi
4130bd:	77 50                	ja     0x41310f
4130bf:	72 05                	jb     0x4130c6
4130c1:	83 ff ff             	cmp    $0xffffffff,%edi
4130c4:	77 49                	ja     0x41310f
4130c6:	50                   	push   %eax
4130c7:	53                   	push   %ebx
4130c8:	33 c9                	xor    %ecx,%ecx
4130ca:	8b f7                	mov    %edi,%esi
4130cc:	0b 4d ec             	or     -0x14(%ebp),%ecx
4130cf:	6a 00                	push   $0x0
4130d1:	ff 75 e0             	push   -0x20(%ebp)
4130d4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4130d7:	e8 54 40 ff ff       	call   0x407130
4130dc:	3b d6                	cmp    %esi,%edx
4130de:	72 29                	jb     0x413109
4130e0:	77 05                	ja     0x4130e7
4130e2:	3b 45 fc             	cmp    -0x4(%ebp),%eax
4130e5:	76 22                	jbe    0x413109
4130e7:	8b 45 e8             	mov    -0x18(%ebp),%eax
4130ea:	83 c3 ff             	add    $0xffffffff,%ebx
4130ed:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4130f0:	83 d0 ff             	adc    $0xffffffff,%eax
4130f3:	03 7d cc             	add    -0x34(%ebp),%edi
4130f6:	89 45 e8             	mov    %eax,-0x18(%ebp)
4130f9:	83 55 d8 00          	adcl   $0x0,-0x28(%ebp)
4130fd:	89 45 c0             	mov    %eax,-0x40(%ebp)
413100:	75 0a                	jne    0x41310c
413102:	83 ff ff             	cmp    $0xffffffff,%edi
413105:	76 bf                	jbe    0x4130c6
413107:	eb 03                	jmp    0x41310c
413109:	8b 45 e8             	mov    -0x18(%ebp),%eax
41310c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41310f:	85 c0                	test   %eax,%eax
413111:	75 08                	jne    0x41311b
413113:	85 db                	test   %ebx,%ebx
413115:	0f 84 b4 00 00 00    	je     0x4131cf
41311b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
41311e:	33 ff                	xor    %edi,%edi
413120:	33 f6                	xor    %esi,%esi
413122:	85 c9                	test   %ecx,%ecx
413124:	74 55                	je     0x41317b
413126:	8b 45 0c             	mov    0xc(%ebp),%eax
413129:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41312c:	83 c0 04             	add    $0x4,%eax
41312f:	89 45 ec             	mov    %eax,-0x14(%ebp)
413132:	89 4d f4             	mov    %ecx,-0xc(%ebp)
413135:	8b 00                	mov    (%eax),%eax
413137:	89 45 d8             	mov    %eax,-0x28(%ebp)
41313a:	8b 45 c0             	mov    -0x40(%ebp),%eax
41313d:	f7 65 d8             	mull   -0x28(%ebp)
413140:	8b c8                	mov    %eax,%ecx
413142:	8b 45 bc             	mov    -0x44(%ebp),%eax
413145:	f7 65 d8             	mull   -0x28(%ebp)
413148:	03 d1                	add    %ecx,%edx
41314a:	03 f8                	add    %eax,%edi
41314c:	8b 03                	mov    (%ebx),%eax
41314e:	8b cf                	mov    %edi,%ecx
413150:	13 f2                	adc    %edx,%esi
413152:	8b fe                	mov    %esi,%edi
413154:	33 f6                	xor    %esi,%esi
413156:	3b c1                	cmp    %ecx,%eax
413158:	73 05                	jae    0x41315f
41315a:	83 c7 01             	add    $0x1,%edi
41315d:	13 f6                	adc    %esi,%esi
41315f:	2b c1                	sub    %ecx,%eax
413161:	89 03                	mov    %eax,(%ebx)
413163:	83 c3 04             	add    $0x4,%ebx
413166:	8b 45 ec             	mov    -0x14(%ebp),%eax
413169:	83 c0 04             	add    $0x4,%eax
41316c:	83 6d f4 01          	subl   $0x1,-0xc(%ebp)
413170:	89 45 ec             	mov    %eax,-0x14(%ebp)
413173:	75 c0                	jne    0x413135
413175:	8b 5d fc             	mov    -0x4(%ebp),%ebx
413178:	8b 4d c8             	mov    -0x38(%ebp),%ecx
41317b:	33 c0                	xor    %eax,%eax
41317d:	3b c6                	cmp    %esi,%eax
41317f:	77 47                	ja     0x4131c8
413181:	72 05                	jb     0x413188
413183:	39 7d d0             	cmp    %edi,-0x30(%ebp)
413186:	73 40                	jae    0x4131c8
413188:	85 c9                	test   %ecx,%ecx
41318a:	74 35                	je     0x4131c1
41318c:	8b 75 0c             	mov    0xc(%ebp),%esi
41318f:	8b f9                	mov    %ecx,%edi
413191:	8b 55 f0             	mov    -0x10(%ebp),%edx
413194:	83 c6 04             	add    $0x4,%esi
413197:	8b d8                	mov    %eax,%ebx
413199:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4131a0:	8b 0a                	mov    (%edx),%ecx
4131a2:	8d 76 04             	lea    0x4(%esi),%esi
4131a5:	33 c0                	xor    %eax,%eax
4131a7:	8d 52 04             	lea    0x4(%edx),%edx
4131aa:	03 4e fc             	add    -0x4(%esi),%ecx
4131ad:	13 c0                	adc    %eax,%eax
4131af:	03 cb                	add    %ebx,%ecx
4131b1:	89 4a fc             	mov    %ecx,-0x4(%edx)
4131b4:	83 d0 00             	adc    $0x0,%eax
4131b7:	8b d8                	mov    %eax,%ebx
4131b9:	83 ef 01             	sub    $0x1,%edi
4131bc:	75 e2                	jne    0x4131a0
4131be:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4131c1:	83 c3 ff             	add    $0xffffffff,%ebx
4131c4:	83 55 e8 ff          	adcl   $0xffffffff,-0x18(%ebp)
4131c8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4131cb:	48                   	dec    %eax
4131cc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4131cf:	8b 75 b8             	mov    -0x48(%ebp),%esi
4131d2:	33 c0                	xor    %eax,%eax
4131d4:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4131d7:	03 c3                	add    %ebx,%eax
4131d9:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
4131dc:	8b f8                	mov    %eax,%edi
4131de:	8b 45 f8             	mov    -0x8(%ebp),%eax
4131e1:	83 d6 00             	adc    $0x0,%esi
4131e4:	83 6d f0 04          	subl   $0x4,-0x10(%ebp)
4131e8:	4a                   	dec    %edx
4131e9:	8b 5d 08             	mov    0x8(%ebp),%ebx
4131ec:	83 e9 04             	sub    $0x4,%ecx
4131ef:	48                   	dec    %eax
4131f0:	89 7d b8             	mov    %edi,-0x48(%ebp)
4131f3:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4131f6:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
4131f9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4131fc:	85 d2                	test   %edx,%edx
4131fe:	0f 89 ee fd ff ff    	jns    0x412ff2
413204:	eb 02                	jmp    0x413208
413206:	33 ff                	xor    %edi,%edi
413208:	8b 55 f4             	mov    -0xc(%ebp),%edx
41320b:	42                   	inc    %edx
41320c:	8b c2                	mov    %edx,%eax
41320e:	3b 03                	cmp    (%ebx),%eax
413210:	73 1c                	jae    0x41322e
413212:	8d 48 01             	lea    0x1(%eax),%ecx
413215:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
413218:	eb 06                	jmp    0x413220
41321a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
413220:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
413226:	8d 49 04             	lea    0x4(%ecx),%ecx
413229:	40                   	inc    %eax
41322a:	3b 03                	cmp    (%ebx),%eax
41322c:	72 f2                	jb     0x413220
41322e:	89 13                	mov    %edx,(%ebx)
413230:	85 d2                	test   %edx,%edx
413232:	74 0f                	je     0x413243
413234:	8b 0b                	mov    (%ebx),%ecx
413236:	83 3c 8b 00          	cmpl   $0x0,(%ebx,%ecx,4)
41323a:	75 07                	jne    0x413243
41323c:	83 c1 ff             	add    $0xffffffff,%ecx
41323f:	89 0b                	mov    %ecx,(%ebx)