5f3f75:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
5f3f7b:	8d 47 ff             	lea    -0x1(%edi),%eax
5f3f7e:	3b c2                	cmp    %edx,%eax
5f3f80:	73 04                	jae    0x5f3f86
5f3f82:	8b 01                	mov    (%ecx),%eax
5f3f84:	eb 02                	jmp    0x5f3f88
5f3f86:	33 c0                	xor    %eax,%eax
5f3f88:	23 85 90 f8 ff ff    	and    -0x770(%ebp),%eax
5f3f8e:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
5f3f94:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
5f3f9a:	23 95 94 f8 ff ff    	and    -0x76c(%ebp),%edx
5f3fa0:	d3 e8                	shr    %cl,%eax
5f3fa2:	8b 8d a8 f8 ff ff    	mov    -0x758(%ebp),%ecx
5f3fa8:	d3 e2                	shl    %cl,%edx
5f3faa:	8b 8d b4 f8 ff ff    	mov    -0x74c(%ebp),%ecx
5f3fb0:	0b c2                	or     %edx,%eax
5f3fb2:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
5f3fb9:	8b c1                	mov    %ecx,%eax
5f3fbb:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
5f3fc1:	48                   	dec    %eax
5f3fc2:	83 e9 04             	sub    $0x4,%ecx
5f3fc5:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
5f3fcb:	4f                   	dec    %edi
5f3fcc:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
5f3fd2:	3b 85 80 f8 ff ff    	cmp    -0x780(%ebp),%eax
5f3fd8:	74 08                	je     0x5f3fe2
5f3fda:	8b 95 2c fe ff ff    	mov    -0x1d4(%ebp),%edx
5f3fe0:	eb 88                	jmp    0x5f3f6a
5f3fe2:	8b 8d 9c f8 ff ff    	mov    -0x764(%ebp),%ecx
5f3fe8:	85 c9                	test   %ecx,%ecx
5f3fea:	74 0a                	je     0x5f3ff6
5f3fec:	33 c0                	xor    %eax,%eax
5f3fee:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
5f3ff4:	f3 ab                	rep stos %eax,%es:(%edi)
5f3ff6:	8b 85 b8 f8 ff ff    	mov    -0x748(%ebp),%eax
5f3ffc:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
5f4002:	c7 85 90 fa ff ff 02 	movl   $0x2,-0x570(%ebp)
5f4009:	00 00 00
5f400c:	6a 04                	push   $0x4
5f400e:	e9 39 fe ff ff       	jmp    0x5f3e4c
5f4013:	83 fa 35             	cmp    $0x35,%edx
5f4016:	0f 84 16 01 00 00    	je     0x5f4132
5f401c:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
5f4023:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
5f402a:	00 10 00
5f402d:	c7 85 8c fa ff ff 02 	movl   $0x2,-0x574(%ebp)
5f4034:	00 00 00
5f4037:	85 f6                	test   %esi,%esi
5f4039:	0f 84 f3 00 00 00    	je     0x5f4132
5f403f:	33 d2                	xor    %edx,%edx
5f4041:	8b 84 15 90 fa ff ff 	mov    -0x570(%ebp,%edx,1),%eax
5f4048:	3b 84 15 30 fe ff ff 	cmp    -0x1d0(%ebp,%edx,1),%eax
5f404f:	0f 85 dd 00 00 00    	jne    0x5f4132
5f4055:	83 c2 04             	add    $0x4,%edx
5f4058:	83 fa 08             	cmp    $0x8,%edx
5f405b:	75 e4                	jne    0x5f4041
5f405d:	33 d2                	xor    %edx,%edx
5f405f:	0f bd c6             	bsr    %esi,%eax
5f4062:	89 95 88 f8 ff ff    	mov    %edx,-0x778(%ebp)
5f4068:	74 03                	je     0x5f406d
5f406a:	40                   	inc    %eax
5f406b:	eb 02                	jmp    0x5f406f
5f406d:	8b c2                	mov    %edx,%eax
5f406f:	2b f8                	sub    %eax,%edi
5f4071:	83 ff 02             	cmp    $0x2,%edi
5f4074:	1b f6                	sbb    %esi,%esi
5f4076:	f7 de                	neg    %esi
5f4078:	03 f1                	add    %ecx,%esi
5f407a:	83 fe 73             	cmp    $0x73,%esi
5f407d:	76 2a                	jbe    0x5f40a9
5f407f:	52                   	push   %edx
5f4080:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f4086:	89 95 8c fa ff ff    	mov    %edx,-0x574(%ebp)
5f408c:	50                   	push   %eax
5f408d:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
5f4093:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
5f4099:	68 cc 01 00 00       	push   $0x1cc
5f409e:	50                   	push   %eax
5f409f:	e8 e5 b8 fe ff       	call   0x5df989
5f40a4:	83 c4 10             	add    $0x10,%esp
5f40a7:	eb 4f                	jmp    0x5f40f8
5f40a9:	8d 56 ff             	lea    -0x1(%esi),%edx
5f40ac:	83 fa ff             	cmp    $0xffffffff,%edx
5f40af:	74 41                	je     0x5f40f2
5f40b1:	8d 5a ff             	lea    -0x1(%edx),%ebx
5f40b4:	8b fa                	mov    %edx,%edi
5f40b6:	3b d1                	cmp    %ecx,%edx
5f40b8:	73 09                	jae    0x5f40c3
5f40ba:	8b 84 bd 30 fe ff ff 	mov    -0x1d0(%ebp,%edi,4),%eax
5f40c1:	eb 02                	jmp    0x5f40c5
5f40c3:	33 c0                	xor    %eax,%eax
5f40c5:	3b d9                	cmp    %ecx,%ebx
5f40c7:	73 09                	jae    0x5f40d2
5f40c9:	8b 8c bd 2c fe ff ff 	mov    -0x1d4(%ebp,%edi,4),%ecx
5f40d0:	eb 02                	jmp    0x5f40d4
5f40d2:	33 c9                	xor    %ecx,%ecx
5f40d4:	c1 e9 1e             	shr    $0x1e,%ecx
5f40d7:	c1 e0 02             	shl    $0x2,%eax
5f40da:	0b c8                	or     %eax,%ecx
5f40dc:	4a                   	dec    %edx
5f40dd:	4b                   	dec    %ebx
5f40de:	89 8c bd 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%edi,4)
5f40e5:	83 fa ff             	cmp    $0xffffffff,%edx
5f40e8:	74 08                	je     0x5f40f2
5f40ea:	8b 8d 2c fe ff ff    	mov    -0x1d4(%ebp),%ecx
5f40f0:	eb c2                	jmp    0x5f40b4
5f40f2:	89 b5 2c fe ff ff    	mov    %esi,-0x1d4(%ebp)
5f40f8:	bb 35 04 00 00       	mov    $0x435,%ebx
5f40fd:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f4103:	2b 9d b4 f8 ff ff    	sub    -0x74c(%ebp),%ebx
5f4109:	8b fb                	mov    %ebx,%edi
5f410b:	c1 ef 05             	shr    $0x5,%edi
5f410e:	8b f7                	mov    %edi,%esi
5f4110:	c1 e6 02             	shl    $0x2,%esi
5f4113:	56                   	push   %esi
5f4114:	6a 00                	push   $0x0
5f4116:	50                   	push   %eax
5f4117:	e8 54 eb fd ff       	call   0x5d2c70
5f411c:	83 e3 1f             	and    $0x1f,%ebx
5f411f:	33 c0                	xor    %eax,%eax
5f4121:	40                   	inc    %eax
5f4122:	8b cb                	mov    %ebx,%ecx
5f4124:	d3 e0                	shl    %cl,%eax
5f4126:	89 84 35 90 fa ff ff 	mov    %eax,-0x570(%ebp,%esi,1)
5f412d:	e9 e5 00 00 00       	jmp    0x5f4217
5f4132:	33 c0                	xor    %eax,%eax
5f4134:	85 f6                	test   %esi,%esi
5f4136:	0f 95 c0             	setne  %al
5f4139:	83 a5 88 f8 ff ff 00 	andl   $0x0,-0x778(%ebp)
5f4140:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
5f4147:	8b 84 05 2c fe ff ff 	mov    -0x1d4(%ebp,%eax,1),%eax
5f414e:	0f bd c0             	bsr    %eax,%eax
5f4151:	74 03                	je     0x5f4156
5f4153:	40                   	inc    %eax
5f4154:	eb 02                	jmp    0x5f4158
5f4156:	33 c0                	xor    %eax,%eax
5f4158:	2b f8                	sub    %eax,%edi
5f415a:	3b fb                	cmp    %ebx,%edi
5f415c:	1b f6                	sbb    %esi,%esi
5f415e:	f7 de                	neg    %esi
5f4160:	03 f1                	add    %ecx,%esi
5f4162:	83 fe 73             	cmp    $0x73,%esi
5f4165:	76 2d                	jbe    0x5f4194
5f4167:	83 a5 8c fa ff ff 00 	andl   $0x0,-0x574(%ebp)
5f416e:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f4174:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
5f417b:	6a 00                	push   $0x0
5f417d:	50                   	push   %eax
5f417e:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
5f4184:	68 cc 01 00 00       	push   $0x1cc
5f4189:	50                   	push   %eax
5f418a:	e8 fa b7 fe ff       	call   0x5df989
5f418f:	83 c4 10             	add    $0x10,%esp
5f4192:	eb 4e                	jmp    0x5f41e2
5f4194:	8d 56 ff             	lea    -0x1(%esi),%edx
5f4197:	83 fa ff             	cmp    $0xffffffff,%edx
5f419a:	74 40                	je     0x5f41dc
5f419c:	8d 5a ff             	lea    -0x1(%edx),%ebx
5f419f:	8b fa                	mov    %edx,%edi
5f41a1:	3b d1                	cmp    %ecx,%edx
5f41a3:	73 09                	jae    0x5f41ae
5f41a5:	8b 84 bd 30 fe ff ff 	mov    -0x1d0(%ebp,%edi,4),%eax
5f41ac:	eb 02                	jmp    0x5f41b0
5f41ae:	33 c0                	xor    %eax,%eax
5f41b0:	3b d9                	cmp    %ecx,%ebx
5f41b2:	73 09                	jae    0x5f41bd
5f41b4:	8b 8c bd 2c fe ff ff 	mov    -0x1d4(%ebp,%edi,4),%ecx
5f41bb:	eb 02                	jmp    0x5f41bf
5f41bd:	33 c9                	xor    %ecx,%ecx
5f41bf:	c1 e9 1f             	shr    $0x1f,%ecx
5f41c2:	03 c0                	add    %eax,%eax
5f41c4:	0b c8                	or     %eax,%ecx
5f41c6:	4a                   	dec    %edx
5f41c7:	4b                   	dec    %ebx
5f41c8:	89 8c bd 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%edi,4)
5f41cf:	83 fa ff             	cmp    $0xffffffff,%edx
5f41d2:	74 08                	je     0x5f41dc
5f41d4:	8b 8d 2c fe ff ff    	mov    -0x1d4(%ebp),%ecx
5f41da:	eb c3                	jmp    0x5f419f
5f41dc:	89 b5 2c fe ff ff    	mov    %esi,-0x1d4(%ebp)
5f41e2:	bb 34 04 00 00       	mov    $0x434,%ebx
5f41e7:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f41ed:	2b 9d b4 f8 ff ff    	sub    -0x74c(%ebp),%ebx
5f41f3:	8b fb                	mov    %ebx,%edi
5f41f5:	c1 ef 05             	shr    $0x5,%edi
5f41f8:	8b f7                	mov    %edi,%esi
5f41fa:	c1 e6 02             	shl    $0x2,%esi
5f41fd:	56                   	push   %esi
5f41fe:	6a 00                	push   $0x0
5f4200:	50                   	push   %eax
5f4201:	e8 6a ea fd ff       	call   0x5d2c70
5f4206:	83 e3 1f             	and    $0x1f,%ebx
5f4209:	33 c0                	xor    %eax,%eax
5f420b:	40                   	inc    %eax
5f420c:	8b cb                	mov    %ebx,%ecx
5f420e:	d3 e0                	shl    %cl,%eax
5f4210:	89 84 35 90 fa ff ff 	mov    %eax,-0x570(%ebp,%esi,1)
5f4217:	8d 47 01             	lea    0x1(%edi),%eax
5f421a:	be cc 01 00 00       	mov    $0x1cc,%esi
5f421f:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
5f4225:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
5f422b:	c1 e0 02             	shl    $0x2,%eax
5f422e:	50                   	push   %eax
5f422f:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f4235:	50                   	push   %eax
5f4236:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
5f423c:	56                   	push   %esi
5f423d:	50                   	push   %eax
5f423e:	e8 46 b7 fe ff       	call   0x5df989
5f4243:	33 db                	xor    %ebx,%ebx
5f4245:	83 c4 1c             	add    $0x1c,%esp
5f4248:	43                   	inc    %ebx
5f4249:	8b 85 7c f8 ff ff    	mov    -0x784(%ebp),%eax
5f424f:	33 d2                	xor    %edx,%edx
5f4251:	6a 0a                	push   $0xa
5f4253:	59                   	pop    %ecx
5f4254:	89 8d b0 f8 ff ff    	mov    %ecx,-0x750(%ebp)
5f425a:	85 c0                	test   %eax,%eax
5f425c:	0f 88 14 05 00 00    	js     0x5f4776
5f4262:	f7 f1                	div    %ecx
5f4264:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
5f426a:	85 c0                	test   %eax,%eax
5f426c:	0f 84 0c 04 00 00    	je     0x5f467e
5f4272:	83 f8 26             	cmp    $0x26,%eax
5f4275:	76 03                	jbe    0x5f427a
5f4277:	6a 26                	push   $0x26
5f4279:	58                   	pop    %eax
5f427a:	0f b6 0c 85 ee 32 67 	movzbl 0x6732ee(,%eax,4),%ecx
5f4281:	00
5f4282:	0f b6 34 85 ef 32 67 	movzbl 0x6732ef(,%eax,4),%esi
5f4289:	00
5f428a:	8b f9                	mov    %ecx,%edi
5f428c:	89 85 98 f8 ff ff    	mov    %eax,-0x768(%ebp)
5f4292:	c1 e7 02             	shl    $0x2,%edi
5f4295:	57                   	push   %edi
5f4296:	8d 04 31             	lea    (%ecx,%esi,1),%eax
5f4299:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
5f429f:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f42a5:	6a 00                	push   $0x0
5f42a7:	50                   	push   %eax
5f42a8:	e8 c3 e9 fd ff       	call   0x5d2c70
5f42ad:	8b c6                	mov    %esi,%eax
5f42af:	c1 e0 02             	shl    $0x2,%eax
5f42b2:	50                   	push   %eax
5f42b3:	8b 85 98 f8 ff ff    	mov    -0x768(%ebp),%eax
5f42b9:	0f b7 04 85 ec 32 67 	movzwl 0x6732ec(,%eax,4),%eax
5f42c0:	00
5f42c1:	8d 04 85 e8 29 67 00 	lea    0x6729e8(,%eax,4),%eax
5f42c8:	50                   	push   %eax
5f42c9:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f42cf:	03 c7                	add    %edi,%eax
5f42d1:	50                   	push   %eax
5f42d2:	e8 f9 ea fd ff       	call   0x5d2dd0
5f42d7:	8b 95 8c fa ff ff    	mov    -0x574(%ebp),%edx
5f42dd:	83 c4 18             	add    $0x18,%esp
5f42e0:	89 95 80 f8 ff ff    	mov    %edx,-0x780(%ebp)
5f42e6:	3b d3                	cmp    %ebx,%edx
5f42e8:	0f 87 cc 00 00 00    	ja     0x5f43ba
5f42ee:	8b bd 90 fa ff ff    	mov    -0x570(%ebp),%edi
5f42f4:	85 ff                	test   %edi,%edi
5f42f6:	75 36                	jne    0x5f432e
5f42f8:	33 c0                	xor    %eax,%eax
5f42fa:	50                   	push   %eax
5f42fb:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
5f4301:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
5f4307:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
5f430d:	50                   	push   %eax
5f430e:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
5f4314:	68 cc 01 00 00       	push   $0x1cc
5f4319:	50                   	push   %eax
5f431a:	e8 6a b6 fe ff       	call   0x5df989
5f431f:	83 c4 10             	add    $0x10,%esp
5f4322:	8a c3                	mov    %bl,%al
5f4324:	be cc 01 00 00       	mov    $0x1cc,%esi
5f4329:	e9 2d 03 00 00       	jmp    0x5f465b
5f432e:	3b fb                	cmp    %ebx,%edi
5f4330:	74 f0                	je     0x5f4322
5f4332:	83 bd 5c fc ff ff 00 	cmpl   $0x0,-0x3a4(%ebp)
5f4339:	74 e7                	je     0x5f4322
5f433b:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
5f4341:	33 c9                	xor    %ecx,%ecx
5f4343:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
5f4349:	33 f6                	xor    %esi,%esi
5f434b:	8b c7                	mov    %edi,%eax
5f434d:	f7 a4 b5 60 fc ff ff 	mull   -0x3a0(%ebp,%esi,4)
5f4354:	03 c1                	add    %ecx,%eax
5f4356:	89 84 b5 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%esi,4)
5f435d:	83 d2 00             	adc    $0x0,%edx
5f4360:	46                   	inc    %esi
5f4361:	8b ca                	mov    %edx,%ecx
5f4363:	3b b5 90 f8 ff ff    	cmp    -0x770(%ebp),%esi
5f4369:	75 e0                	jne    0x5f434b
5f436b:	85 c9                	test   %ecx,%ecx
5f436d:	74 b3                	je     0x5f4322
5f436f:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
5f4375:	83 f8 73             	cmp    $0x73,%eax
5f4378:	73 0f                	jae    0x5f4389
5f437a:	89 8c 85 60 fc ff ff 	mov    %ecx,-0x3a0(%ebp,%eax,4)
5f4381:	ff 85 5c fc ff ff    	incl   -0x3a4(%ebp)
5f4387:	eb 99                	jmp    0x5f4322
5f4389:	33 c0                	xor    %eax,%eax
5f438b:	50                   	push   %eax
5f438c:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
5f4392:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
5f4398:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f439e:	50                   	push   %eax
5f439f:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
5f43a5:	68 cc 01 00 00       	push   $0x1cc
5f43aa:	50                   	push   %eax
5f43ab:	e8 d9 b5 fe ff       	call   0x5df989
5f43b0:	83 c4 10             	add    $0x10,%esp
5f43b3:	32 c0                	xor    %al,%al
5f43b5:	e9 6a ff ff ff       	jmp    0x5f4324
5f43ba:	39 9d 5c fc ff ff    	cmp    %ebx,-0x3a4(%ebp)
5f43c0:	0f 87 da 00 00 00    	ja     0x5f44a0
5f43c6:	8b bd 60 fc ff ff    	mov    -0x3a0(%ebp),%edi
5f43cc:	8b c2                	mov    %edx,%eax
5f43ce:	c1 e0 02             	shl    $0x2,%eax
5f43d1:	be cc 01 00 00       	mov    $0x1cc,%esi
5f43d6:	50                   	push   %eax
5f43d7:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f43dd:	89 bd 90 f8 ff ff    	mov    %edi,-0x770(%ebp)
5f43e3:	50                   	push   %eax
5f43e4:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
5f43ea:	89 95 5c fc ff ff    	mov    %edx,-0x3a4(%ebp)
5f43f0:	56                   	push   %esi
5f43f1:	50                   	push   %eax
5f43f2:	e8 92 b5 fe ff       	call   0x5df989
5f43f7:	83 c4 10             	add    $0x10,%esp
5f43fa:	85 ff                	test   %edi,%edi
5f43fc:	75 1a                	jne    0x5f4418
5f43fe:	33 c0                	xor    %eax,%eax
5f4400:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
5f4406:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
5f440c:	50                   	push   %eax
5f440d:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f4413:	e9 30 02 00 00       	jmp    0x5f4648
5f4418:	3b fb                	cmp    %ebx,%edi
5f441a:	0f 84 39 02 00 00    	je     0x5f4659
5f4420:	83 bd 5c fc ff ff 00 	cmpl   $0x0,-0x3a4(%ebp)
5f4427:	0f 84 2c 02 00 00    	je     0x5f4659
5f442d:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
5f4433:	33 c9                	xor    %ecx,%ecx
5f4435:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
5f443b:	33 ff                	xor    %edi,%edi
5f443d:	8b 85 90 f8 ff ff    	mov    -0x770(%ebp),%eax
5f4443:	f7 a4 bd 60 fc ff ff 	mull   -0x3a0(%ebp,%edi,4)
5f444a:	03 c1                	add    %ecx,%eax
5f444c:	89 84 bd 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%edi,4)
5f4453:	83 d2 00             	adc    $0x0,%edx