5cae5e:	2b f2                	sub    %edx,%esi
5cae60:	8d 46 fc             	lea    -0x4(%esi),%eax
5cae63:	83 f8 1f             	cmp    $0x1f,%eax
5cae66:	77 49                	ja     0x5caeb1
5cae68:	8b f2                	mov    %edx,%esi
5cae6a:	51                   	push   %ecx
5cae6b:	56                   	push   %esi
5cae6c:	e8 e4 63 00 00       	call   0x5d1255
5cae71:	83 c4 08             	add    $0x8,%esp
5cae74:	89 1f                	mov    %ebx,(%edi)
5cae76:	8b 45 dc             	mov    -0x24(%ebp),%eax
5cae79:	40                   	inc    %eax
5cae7a:	8d 0c c5 00 00 00 00 	lea    0x0(,%eax,8),%ecx
5cae81:	2b c8                	sub    %eax,%ecx
5cae83:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
5cae86:	89 4f 04             	mov    %ecx,0x4(%edi)
5cae89:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5cae8c:	03 cb                	add    %ebx,%ecx
5cae8e:	89 4f 08             	mov    %ecx,0x8(%edi)
5cae91:	8b 45 e8             	mov    -0x18(%ebp),%eax
5cae94:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5cae97:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5cae9e:	5f                   	pop    %edi
5cae9f:	5e                   	pop    %esi
5caea0:	5b                   	pop    %ebx
5caea1:	8b e5                	mov    %ebp,%esp
5caea3:	5d                   	pop    %ebp
5caea4:	c2 08 00             	ret    $0x8
5caea7:	e8 44 c7 e7 ff       	call   0x4475f0
5caeac:	e8 ef 18 e9 ff       	call   0x45c7a0
5caeb1:	e8 3a b3 00 00       	call   0x5d61f0
5caeb6:	ff 75 e4             	push   -0x1c(%ebp)
5caeb9:	ff 75 ec             	push   -0x14(%ebp)
5caebc:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5caebf:	e8 3c 09 00 00       	call   0x5cb800
5caec4:	6a 00                	push   $0x0
5caec6:	6a 00                	push   $0x0
5caec8:	e8 72 8c 00 00       	call   0x5d3b3f
5caecd:	cc                   	int3
5caece:	cc                   	int3
5caecf:	cc                   	int3
5caed0:	cc                   	int3
5caed1:	cc                   	int3
5caed2:	cc                   	int3
5caed3:	cc                   	int3
5caed4:	cc                   	int3
5caed5:	cc                   	int3
5caed6:	cc                   	int3
5caed7:	cc                   	int3
5caed8:	cc                   	int3
5caed9:	cc                   	int3
5caeda:	cc                   	int3
5caedb:	cc                   	int3
5caedc:	cc                   	int3
5caedd:	cc                   	int3
5caede:	cc                   	int3
5caedf:	cc                   	int3
5caee0:	55                   	push   %ebp
5caee1:	8b ec                	mov    %esp,%ebp
5caee3:	8b 45 08             	mov    0x8(%ebp),%eax
5caee6:	56                   	push   %esi
5caee7:	8b 75 0c             	mov    0xc(%ebp),%esi
5caeea:	57                   	push   %edi
5caeeb:	8b 7d 10             	mov    0x10(%ebp),%edi
5caeee:	2b f0                	sub    %eax,%esi
5caef0:	56                   	push   %esi
5caef1:	50                   	push   %eax
5caef2:	57                   	push   %edi
5caef3:	e8 d8 7e 00 00       	call   0x5d2dd0
5caef8:	b8 93 24 49 92       	mov    $0x92492493,%eax
5caefd:	83 c4 0c             	add    $0xc,%esp
5caf00:	f7 ee                	imul   %esi
5caf02:	03 d6                	add    %esi,%edx
5caf04:	c1 fa 04             	sar    $0x4,%edx
5caf07:	8b ca                	mov    %edx,%ecx
5caf09:	c1 e9 1f             	shr    $0x1f,%ecx
5caf0c:	03 ca                	add    %edx,%ecx
5caf0e:	8d 04 cd 00 00 00 00 	lea    0x0(,%ecx,8),%eax
5caf15:	2b c1                	sub    %ecx,%eax
5caf17:	8d 04 87             	lea    (%edi,%eax,4),%eax
5caf1a:	5f                   	pop    %edi
5caf1b:	5e                   	pop    %esi
5caf1c:	5d                   	pop    %ebp
5caf1d:	c3                   	ret
5caf1e:	cc                   	int3
5caf1f:	cc                   	int3
5caf20:	55                   	push   %ebp
5caf21:	8b ec                	mov    %esp,%ebp
5caf23:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5caf29:	6a ff                	push   $0xffffffff
5caf2b:	68 20 fc 5f 00       	push   $0x5ffc20
5caf30:	50                   	push   %eax
5caf31:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5caf38:	56                   	push   %esi
5caf39:	57                   	push   %edi
5caf3a:	8b f9                	mov    %ecx,%edi
5caf3c:	8b 37                	mov    (%edi),%esi
5caf3e:	85 f6                	test   %esi,%esi
5caf40:	74 5c                	je     0x5caf9e
5caf42:	8b 4f 08             	mov    0x8(%edi),%ecx
5caf45:	b8 93 24 49 92       	mov    $0x92492493,%eax
5caf4a:	2b ce                	sub    %esi,%ecx
5caf4c:	f7 e9                	imul   %ecx
5caf4e:	03 d1                	add    %ecx,%edx
5caf50:	c1 fa 04             	sar    $0x4,%edx
5caf53:	8b c2                	mov    %edx,%eax
5caf55:	c1 e8 1f             	shr    $0x1f,%eax
5caf58:	03 c2                	add    %edx,%eax
5caf5a:	8d 0c c5 00 00 00 00 	lea    0x0(,%eax,8),%ecx
5caf61:	2b c8                	sub    %eax,%ecx
5caf63:	c1 e1 02             	shl    $0x2,%ecx
5caf66:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5caf6c:	72 12                	jb     0x5caf80
5caf6e:	8b 56 fc             	mov    -0x4(%esi),%edx
5caf71:	83 c1 23             	add    $0x23,%ecx
5caf74:	2b f2                	sub    %edx,%esi
5caf76:	8d 46 fc             	lea    -0x4(%esi),%eax
5caf79:	83 f8 1f             	cmp    $0x1f,%eax
5caf7c:	77 30                	ja     0x5cafae
5caf7e:	8b f2                	mov    %edx,%esi
5caf80:	51                   	push   %ecx
5caf81:	56                   	push   %esi
5caf82:	e8 ce 62 00 00       	call   0x5d1255
5caf87:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5caf8d:	83 c4 08             	add    $0x8,%esp
5caf90:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
5caf97:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5caf9e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5cafa1:	5f                   	pop    %edi
5cafa2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5cafa9:	5e                   	pop    %esi
5cafaa:	8b e5                	mov    %ebp,%esp
5cafac:	5d                   	pop    %ebp
5cafad:	c3                   	ret
5cafae:	e8 3d b2 00 00       	call   0x5d61f0
5cafb3:	cc                   	int3
5cafb4:	cc                   	int3
5cafb5:	cc                   	int3
5cafb6:	cc                   	int3
5cafb7:	cc                   	int3
5cafb8:	cc                   	int3
5cafb9:	cc                   	int3
5cafba:	cc                   	int3
5cafbb:	cc                   	int3
5cafbc:	cc                   	int3
5cafbd:	cc                   	int3
5cafbe:	cc                   	int3
5cafbf:	cc                   	int3
5cafc0:	55                   	push   %ebp
5cafc1:	8b ec                	mov    %esp,%ebp
5cafc3:	83 ec 28             	sub    $0x28,%esp
5cafc6:	53                   	push   %ebx
5cafc7:	56                   	push   %esi
5cafc8:	8b f1                	mov    %ecx,%esi
5cafca:	57                   	push   %edi
5cafcb:	ff 36                	push   (%esi)
5cafcd:	68 8c cf 66 00       	push   $0x66cf8c
5cafd2:	e8 29 0e ff ff       	call   0x5bbe00
5cafd7:	ff 76 08             	push   0x8(%esi)
5cafda:	33 ff                	xor    %edi,%edi
5cafdc:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5cafe3:	ff 76 0c             	push   0xc(%esi)
5cafe6:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
5cafed:	68 ac cf 66 00       	push   $0x66cfac
5caff2:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
5caff9:	89 7d f8             	mov    %edi,-0x8(%ebp)
5caffc:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5cafff:	89 7d e8             	mov    %edi,-0x18(%ebp)
5cb002:	89 7d ec             	mov    %edi,-0x14(%ebp)
5cb005:	89 7d f0             	mov    %edi,-0x10(%ebp)
5cb008:	89 7d f4             	mov    %edi,-0xc(%ebp)
5cb00b:	89 7d d8             	mov    %edi,-0x28(%ebp)
5cb00e:	e8 ed 0d ff ff       	call   0x5bbe00
5cb013:	33 db                	xor    %ebx,%ebx
5cb015:	83 c4 14             	add    $0x14,%esp
5cb018:	39 1e                	cmp    %ebx,(%esi)
5cb01a:	0f 86 b2 00 00 00    	jbe    0x5cb0d2
5cb020:	8b 4e 10             	mov    0x10(%esi),%ecx
5cb023:	03 cf                	add    %edi,%ecx
5cb025:	8b 41 08             	mov    0x8(%ecx),%eax
5cb028:	83 e8 01             	sub    $0x1,%eax
5cb02b:	74 13                	je     0x5cb040
5cb02d:	83 e8 01             	sub    $0x1,%eax
5cb030:	74 07                	je     0x5cb039
5cb032:	b8 20 cf 66 00       	mov    $0x66cf20,%eax
5cb037:	eb 0c                	jmp    0x5cb045
5cb039:	b8 10 cf 66 00       	mov    $0x66cf10,%eax
5cb03e:	eb 05                	jmp    0x5cb045
5cb040:	b8 00 cf 66 00       	mov    $0x66cf00,%eax
5cb045:	50                   	push   %eax
5cb046:	ff 31                	push   (%ecx)
5cb048:	43                   	inc    %ebx
5cb049:	ff 71 28             	push   0x28(%ecx)
5cb04c:	ff 71 0c             	push   0xc(%ecx)
5cb04f:	ff 71 14             	push   0x14(%ecx)
5cb052:	ff 71 1c             	push   0x1c(%ecx)
5cb055:	ff 71 18             	push   0x18(%ecx)
5cb058:	ff 71 04             	push   0x4(%ecx)
5cb05b:	53                   	push   %ebx
5cb05c:	68 d8 cf 66 00       	push   $0x66cfd8
5cb061:	e8 9a 0d ff ff       	call   0x5bbe00
5cb066:	8b 46 10             	mov    0x10(%esi),%eax
5cb069:	83 c4 28             	add    $0x28,%esp
5cb06c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5cb06f:	8b 55 dc             	mov    -0x24(%ebp),%edx
5cb072:	03 4c 38 0c          	add    0xc(%eax,%edi,1),%ecx
5cb076:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5cb079:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5cb07c:	83 d2 00             	adc    $0x0,%edx
5cb07f:	03 4c 38 18          	add    0x18(%eax,%edi,1),%ecx
5cb083:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5cb086:	83 55 f8 00          	adcl   $0x0,-0x8(%ebp)
5cb08a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5cb08d:	03 4c 38 1c          	add    0x1c(%eax,%edi,1),%ecx
5cb091:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5cb094:	83 55 e8 00          	adcl   $0x0,-0x18(%ebp)
5cb098:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5cb09b:	03 4c 38 14          	add    0x14(%eax,%edi,1),%ecx
5cb09f:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5cb0a2:	83 55 f0 00          	adcl   $0x0,-0x10(%ebp)
5cb0a6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5cb0a9:	03 4c 38 28          	add    0x28(%eax,%edi,1),%ecx
5cb0ad:	8b 45 d8             	mov    -0x28(%ebp),%eax
5cb0b0:	83 d0 00             	adc    $0x0,%eax
5cb0b3:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5cb0b6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5cb0b9:	81 c7 34 06 00 00    	add    $0x634,%edi
5cb0bf:	89 55 dc             	mov    %edx,-0x24(%ebp)
5cb0c2:	89 45 d8             	mov    %eax,-0x28(%ebp)
5cb0c5:	3b 1e                	cmp    (%esi),%ebx
5cb0c7:	0f 82 53 ff ff ff    	jb     0x5cb020
5cb0cd:	8b 7d f8             	mov    -0x8(%ebp),%edi
5cb0d0:	eb 06                	jmp    0x5cb0d8
5cb0d2:	33 c9                	xor    %ecx,%ecx
5cb0d4:	33 d2                	xor    %edx,%edx
5cb0d6:	33 c0                	xor    %eax,%eax
5cb0d8:	50                   	push   %eax
5cb0d9:	ff 75 f4             	push   -0xc(%ebp)
5cb0dc:	ff 75 f0             	push   -0x10(%ebp)
5cb0df:	ff 75 ec             	push   -0x14(%ebp)
5cb0e2:	ff 75 e8             	push   -0x18(%ebp)
5cb0e5:	ff 75 e4             	push   -0x1c(%ebp)
5cb0e8:	57                   	push   %edi
5cb0e9:	ff 75 e0             	push   -0x20(%ebp)
5cb0ec:	52                   	push   %edx
5cb0ed:	51                   	push   %ecx
5cb0ee:	68 58 d0 66 00       	push   $0x66d058
5cb0f3:	e8 08 0d ff ff       	call   0x5bbe00
5cb0f8:	83 c4 2c             	add    $0x2c,%esp
5cb0fb:	8b ce                	mov    %esi,%ecx
5cb0fd:	68 cc d0 66 00       	push   $0x66d0cc
5cb102:	e8 09 00 00 00       	call   0x5cb110
5cb107:	5f                   	pop    %edi
5cb108:	5e                   	pop    %esi
5cb109:	5b                   	pop    %ebx
5cb10a:	8b e5                	mov    %ebp,%esp
5cb10c:	5d                   	pop    %ebp
5cb10d:	c3                   	ret
5cb10e:	cc                   	int3
5cb10f:	cc                   	int3
5cb110:	55                   	push   %ebp
5cb111:	8b ec                	mov    %esp,%ebp
5cb113:	83 ec 0c             	sub    $0xc,%esp
5cb116:	53                   	push   %ebx
5cb117:	56                   	push   %esi
5cb118:	68 20 1a 63 00       	push   $0x631a20
5cb11d:	ff 75 08             	push   0x8(%ebp)
5cb120:	8b d9                	mov    %ecx,%ebx
5cb122:	e8 c3 69 01 00       	call   0x5e1aea
5cb127:	8b f0                	mov    %eax,%esi
5cb129:	83 c4 08             	add    $0x8,%esp
5cb12c:	89 75 08             	mov    %esi,0x8(%ebp)
5cb12f:	85 f6                	test   %esi,%esi
5cb131:	0f 84 96 01 00 00    	je     0x5cb2cd
5cb137:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
5cb13b:	75 15                	jne    0x5cb152
5cb13d:	68 dc d0 66 00       	push   $0x66d0dc
5cb142:	e8 b9 0c ff ff       	call   0x5bbe00
5cb147:	83 c4 04             	add    $0x4,%esp
5cb14a:	5e                   	pop    %esi
5cb14b:	5b                   	pop    %ebx
5cb14c:	8b e5                	mov    %ebp,%esp
5cb14e:	5d                   	pop    %ebp
5cb14f:	c2 04 00             	ret    $0x4
5cb152:	68 08 d1 66 00       	push   $0x66d108
5cb157:	56                   	push   %esi
5cb158:	e8 43 a9 ea ff       	call   0x475aa0
5cb15d:	83 c4 08             	add    $0x8,%esp
5cb160:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5cb167:	83 3b 00             	cmpl   $0x0,(%ebx)
5cb16a:	0f 86 5d 01 00 00    	jbe    0x5cb2cd
5cb170:	57                   	push   %edi
5cb171:	33 ff                	xor    %edi,%edi
5cb173:	89 7d fc             	mov    %edi,-0x4(%ebp)
5cb176:	8b 53 10             	mov    0x10(%ebx),%edx
5cb179:	03 d7                	add    %edi,%edx
5cb17b:	8b 42 08             	mov    0x8(%edx),%eax
5cb17e:	83 e8 01             	sub    $0x1,%eax
5cb181:	74 13                	je     0x5cb196
5cb183:	83 e8 01             	sub    $0x1,%eax
5cb186:	74 07                	je     0x5cb18f
5cb188:	b9 20 cf 66 00       	mov    $0x66cf20,%ecx
5cb18d:	eb 0c                	jmp    0x5cb19b
5cb18f:	b9 10 cf 66 00       	mov    $0x66cf10,%ecx
5cb194:	eb 05                	jmp    0x5cb19b
5cb196:	b9 00 cf 66 00       	mov    $0x66cf00,%ecx
5cb19b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5cb19e:	51                   	push   %ecx
5cb19f:	ff 32                	push   (%edx)
5cb1a1:	40                   	inc    %eax
5cb1a2:	ff 72 28             	push   0x28(%edx)
5cb1a5:	89 45 f8             	mov    %eax,-0x8(%ebp)
5cb1a8:	ff 72 0c             	push   0xc(%edx)
5cb1ab:	ff 72 14             	push   0x14(%edx)
5cb1ae:	ff 72 1c             	push   0x1c(%edx)
5cb1b1:	ff 72 18             	push   0x18(%edx)
5cb1b4:	ff 72 04             	push   0x4(%edx)
5cb1b7:	50                   	push   %eax
5cb1b8:	68 7c d1 66 00       	push   $0x66d17c
5cb1bd:	56                   	push   %esi
5cb1be:	e8 dd a8 ea ff       	call   0x475aa0
5cb1c3:	83 c4 2c             	add    $0x2c,%esp
5cb1c6:	e8 9c c1 01 00       	call   0x5e7367
5cb1cb:	8b 4b 10             	mov    0x10(%ebx),%ecx
5cb1ce:	39 44 0f 04          	cmp    %eax,0x4(%edi,%ecx,1)
5cb1d2:	0f 85 e0 00 00 00    	jne    0x5cb2b8
5cb1d8:	ba 1f 00 00 00       	mov    $0x1f,%edx
5cb1dd:	be 02 00 00 00       	mov    $0x2,%esi
5cb1e2:	81 c7 38 01 00 00    	add    $0x138,%edi
5cb1e8:	89 55 f4             	mov    %edx,-0xc(%ebp)
5cb1eb:	eb 03                	jmp    0x5cb1f0
5cb1ed:	8d 49 00             	lea    0x0(%ecx),%ecx
5cb1f0:	8b 43 10             	mov    0x10(%ebx),%eax
5cb1f3:	8b 8c 07 80 00 00 00 	mov    0x80(%edi,%eax,1),%ecx
5cb1fa:	85 c9                	test   %ecx,%ecx
5cb1fc:	74 1d                	je     0x5cb21b
5cb1fe:	ff 34 07             	push   (%edi,%eax,1)
5cb201:	8b c6                	mov    %esi,%eax
5cb203:	51                   	push   %ecx
5cb204:	56                   	push   %esi
5cb205:	d1 c8                	ror    $1,%eax
5cb207:	50                   	push   %eax
5cb208:	68 98 d1 66 00       	push   $0x66d198
5cb20d:	ff 75 08             	push   0x8(%ebp)
5cb210:	e8 8b a8 ea ff       	call   0x475aa0
5cb215:	8b 55 f4             	mov    -0xc(%ebp),%edx
5cb218:	83 c4 18             	add    $0x18,%esp
5cb21b:	83 c7 04             	add    $0x4,%edi
5cb21e:	d1 c6                	rol    $1,%esi
5cb220:	83 ea 01             	sub    $0x1,%edx