416e97:	81 f1 5e 60 00 00    	xor    $0x605e,%ecx
416e9d:	69 d1 69 ab 00 00    	imul   $0xab69,%ecx,%edx
416ea3:	8b ce                	mov    %esi,%ecx
416ea5:	c1 e9 03             	shr    $0x3,%ecx
416ea8:	33 d1                	xor    %ecx,%edx
416eaa:	8b 8d 4c f4 ff ff    	mov    -0xbb4(%ebp),%ecx
416eb0:	33 ca                	xor    %edx,%ecx
416eb2:	ba 7f 13 f1 07       	mov    $0x7f1137f,%edx
416eb7:	89 8d 4c f4 ff ff    	mov    %ecx,-0xbb4(%ebp)
416ebd:	33 ca                	xor    %edx,%ecx
416ebf:	c1 c1 04             	rol    $0x4,%ecx
416ec2:	69 d1 5e 60 00 00    	imul   $0x605e,%ecx,%edx
416ec8:	8b 8d 4c f4 ff ff    	mov    -0xbb4(%ebp),%ecx
416ece:	c1 c1 02             	rol    $0x2,%ecx
416ed1:	33 d1                	xor    %ecx,%edx
416ed3:	8b 8d 4c f4 ff ff    	mov    -0xbb4(%ebp),%ecx
416ed9:	33 95 40 f4 ff ff    	xor    -0xbc0(%ebp),%edx
416edf:	33 8d 48 f4 ff ff    	xor    -0xbb8(%ebp),%ecx
416ee5:	33 f2                	xor    %edx,%esi
416ee7:	8b d6                	mov    %esi,%edx
416ee9:	89 b5 30 f4 ff ff    	mov    %esi,-0xbd0(%ebp)
416eef:	8b b5 68 f4 ff ff    	mov    -0xb98(%ebp),%esi
416ef5:	89 9d 40 f4 ff ff    	mov    %ebx,-0xbc0(%ebp)
416efb:	89 bd 48 f4 ff ff    	mov    %edi,-0xbb8(%ebp)
416f01:	88 56 fc             	mov    %dl,-0x4(%esi)
416f04:	88 0e                	mov    %cl,(%esi)
416f06:	c1 ca 08             	ror    $0x8,%edx
416f09:	88 56 fb             	mov    %dl,-0x5(%esi)
416f0c:	c1 c9 08             	ror    $0x8,%ecx
416f0f:	88 4e ff             	mov    %cl,-0x1(%esi)
416f12:	c1 ca 08             	ror    $0x8,%edx
416f15:	88 56 fa             	mov    %dl,-0x6(%esi)
416f18:	c1 c9 08             	ror    $0x8,%ecx
416f1b:	88 4e fe             	mov    %cl,-0x2(%esi)
416f1e:	c1 ca 08             	ror    $0x8,%edx
416f21:	c1 c9 08             	ror    $0x8,%ecx
416f24:	88 56 f9             	mov    %dl,-0x7(%esi)
416f27:	88 4e fd             	mov    %cl,-0x3(%esi)
416f2a:	83 c6 08             	add    $0x8,%esi
416f2d:	c1 c9 08             	ror    $0x8,%ecx
416f30:	c1 ca 08             	ror    $0x8,%edx
416f33:	83 ad 44 f4 ff ff 01 	subl   $0x1,-0xbbc(%ebp)
416f3a:	89 b5 68 f4 ff ff    	mov    %esi,-0xb98(%ebp)
416f40:	8b b5 34 f4 ff ff    	mov    -0xbcc(%ebp),%esi
416f46:	89 8d 4c f4 ff ff    	mov    %ecx,-0xbb4(%ebp)
416f4c:	0f 85 87 fc ff ff    	jne    0x416bd9
416f52:	8b 8d 70 f4 ff ff    	mov    -0xb90(%ebp),%ecx
416f58:	33 db                	xor    %ebx,%ebx
416f5a:	8b d3                	mov    %ebx,%edx
416f5c:	be 90 1c 00 00       	mov    $0x1c90,%esi
416f61:	32 04 0a             	xor    (%edx,%ecx,1),%al
416f64:	42                   	inc    %edx
416f65:	3b d6                	cmp    %esi,%edx
416f67:	72 f8                	jb     0x416f61
416f69:	0f b6 c0             	movzbl %al,%eax
416f6c:	99                   	cltd
416f6d:	3b 05 18 4c 40 00    	cmp    0x404c18,%eax
416f73:	75 1e                	jne    0x416f93
416f75:	3b 15 1c 4c 40 00    	cmp    0x404c1c,%edx
416f7b:	75 16                	jne    0x416f93
416f7d:	8b bd 7c f4 ff ff    	mov    -0xb84(%ebp),%edi
416f83:	89 8d ec f3 ff ff    	mov    %ecx,-0xc14(%ebp)
416f89:	8b cb                	mov    %ebx,%ecx
416f8b:	89 b5 60 f4 ff ff    	mov    %esi,-0xba0(%ebp)
416f91:	eb 0b                	jmp    0x416f9e
416f93:	bf 01 d5 04 c0       	mov    $0xc004d501,%edi
416f98:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
416f9e:	85 c9                	test   %ecx,%ecx
416fa0:	74 0f                	je     0x416fb1
416fa2:	51                   	push   %ecx
416fa3:	53                   	push   %ebx
416fa4:	ff 15 7c 60 42 00    	call   *0x42607c
416faa:	50                   	push   %eax
416fab:	ff 15 a4 61 42 00    	call   *0x4261a4
416fb1:	85 ff                	test   %edi,%edi
416fb3:	0f 88 e6 01 00 00    	js     0x41719f
416fb9:	8b bd ec f3 ff ff    	mov    -0xc14(%ebp),%edi
416fbf:	8b f3                	mov    %ebx,%esi
416fc1:	8b d3                	mov    %ebx,%edx
416fc3:	8b 9d 80 f4 ff ff    	mov    -0xb80(%ebp),%ebx
416fc9:	3b da                	cmp    %edx,%ebx
416fcb:	75 07                	jne    0x416fd4
416fcd:	89 bc b5 e0 fc ff ff 	mov    %edi,-0x320(%ebp,%esi,4)
416fd4:	8b cf                	mov    %edi,%ecx
416fd6:	8d 41 01             	lea    0x1(%ecx),%eax
416fd9:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
416fdf:	8a 01                	mov    (%ecx),%al
416fe1:	41                   	inc    %ecx
416fe2:	84 c0                	test   %al,%al
416fe4:	75 f9                	jne    0x416fdf
416fe6:	2b 8d 70 f4 ff ff    	sub    -0xb90(%ebp),%ecx
416fec:	47                   	inc    %edi
416fed:	03 f9                	add    %ecx,%edi
416fef:	42                   	inc    %edx
416ff0:	83 fa 26             	cmp    $0x26,%edx
416ff3:	72 d4                	jb     0x416fc9
416ff5:	46                   	inc    %esi
416ff6:	6a 00                	push   $0x0
416ff8:	5b                   	pop    %ebx
416ff9:	83 fe 06             	cmp    $0x6,%esi
416ffc:	72 c3                	jb     0x416fc1
416ffe:	6a 0c                	push   $0xc
417000:	53                   	push   %ebx
417001:	ff 15 7c 60 42 00    	call   *0x42607c
417007:	50                   	push   %eax
417008:	ff 15 a0 61 42 00    	call   *0x4261a0
41700e:	8d 8d e8 f3 ff ff    	lea    -0xc18(%ebp),%ecx
417014:	8b f8                	mov    %eax,%edi
417016:	e8 49 7f 00 00       	call   0x41ef64
41701b:	85 ff                	test   %edi,%edi
41701d:	75 0b                	jne    0x41702a
41701f:	89 9d e8 f3 ff ff    	mov    %ebx,-0xc18(%ebp)
417025:	e9 60 fb ff ff       	jmp    0x416b8a
41702a:	89 bd e8 f3 ff ff    	mov    %edi,-0xc18(%ebp)
417030:	8d 4d f4             	lea    -0xc(%ebp),%ecx
417033:	33 c0                	xor    %eax,%eax
417035:	89 8d 80 f4 ff ff    	mov    %ecx,-0xb80(%ebp)
41703b:	ab                   	stos   %eax,%es:(%edi)
41703c:	8b f3                	mov    %ebx,%esi
41703e:	ab                   	stos   %eax,%es:(%edi)
41703f:	ab                   	stos   %eax,%es:(%edi)
417040:	0f b7 11             	movzwl (%ecx),%edx
417043:	8b c3                	mov    %ebx,%eax
417045:	66 3b 14 45 5c 29 40 	cmp    0x40295c(,%eax,2),%dx
41704c:	00
41704d:	74 0b                	je     0x41705a
41704f:	40                   	inc    %eax
417050:	83 f8 06             	cmp    $0x6,%eax
417053:	72 f0                	jb     0x417045
417055:	e9 da 00 00 00       	jmp    0x417134
41705a:	8b bc 85 e0 fc ff ff 	mov    -0x320(%ebp,%eax,4),%edi
417061:	8b cf                	mov    %edi,%ecx
417063:	8b 15 60 40 42 00    	mov    0x424060,%edx
417069:	89 95 70 f4 ff ff    	mov    %edx,-0xb90(%ebp)
41706f:	8d 41 01             	lea    0x1(%ecx),%eax
417072:	89 85 40 f4 ff ff    	mov    %eax,-0xbc0(%ebp)
417078:	8a 01                	mov    (%ecx),%al
41707a:	41                   	inc    %ecx
41707b:	84 c0                	test   %al,%al
41707d:	75 f9                	jne    0x417078
41707f:	2b 8d 40 f4 ff ff    	sub    -0xbc0(%ebp),%ecx
417085:	53                   	push   %ebx
417086:	53                   	push   %ebx
417087:	8d 41 01             	lea    0x1(%ecx),%eax
41708a:	8b ca                	mov    %edx,%ecx
41708c:	50                   	push   %eax
41708d:	57                   	push   %edi
41708e:	53                   	push   %ebx
41708f:	68 e9 fd 00 00       	push   $0xfde9
417094:	ff 15 78 64 42 00    	call   *0x426478
41709a:	ff 95 70 f4 ff ff    	call   *-0xb90(%ebp)
4170a0:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
4170a6:	85 c0                	test   %eax,%eax
4170a8:	0f 84 c1 00 00 00    	je     0x41716f
4170ae:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
4170b1:	51                   	push   %ecx
4170b2:	53                   	push   %ebx
4170b3:	ff 15 7c 60 42 00    	call   *0x42607c
4170b9:	50                   	push   %eax
4170ba:	ff 15 a0 61 42 00    	call   *0x4261a0
4170c0:	8b 8d e8 f3 ff ff    	mov    -0xc18(%ebp),%ecx
4170c6:	89 04 31             	mov    %eax,(%ecx,%esi,1)
4170c9:	8b 85 e8 f3 ff ff    	mov    -0xc18(%ebp),%eax
4170cf:	39 1c 30             	cmp    %ebx,(%eax,%esi,1)
4170d2:	0f 84 b2 fa ff ff    	je     0x416b8a
4170d8:	8b 04 30             	mov    (%eax,%esi,1),%eax
4170db:	8b cf                	mov    %edi,%ecx
4170dd:	8b 15 60 40 42 00    	mov    0x424060,%edx
4170e3:	89 85 48 f4 ff ff    	mov    %eax,-0xbb8(%ebp)
4170e9:	89 95 40 f4 ff ff    	mov    %edx,-0xbc0(%ebp)
4170ef:	8d 41 01             	lea    0x1(%ecx),%eax
4170f2:	89 85 4c f4 ff ff    	mov    %eax,-0xbb4(%ebp)
4170f8:	8a 01                	mov    (%ecx),%al
4170fa:	41                   	inc    %ecx
4170fb:	84 c0                	test   %al,%al
4170fd:	75 f9                	jne    0x4170f8
4170ff:	ff b5 70 f4 ff ff    	push   -0xb90(%ebp)
417105:	2b 8d 4c f4 ff ff    	sub    -0xbb4(%ebp),%ecx
41710b:	ff b5 48 f4 ff ff    	push   -0xbb8(%ebp)
417111:	8d 41 01             	lea    0x1(%ecx),%eax
417114:	8b ca                	mov    %edx,%ecx
417116:	50                   	push   %eax
417117:	57                   	push   %edi
417118:	53                   	push   %ebx
417119:	68 e9 fd 00 00       	push   $0xfde9
41711e:	ff 15 78 64 42 00    	call   *0x426478
417124:	ff 95 40 f4 ff ff    	call   *-0xbc0(%ebp)
41712a:	85 c0                	test   %eax,%eax
41712c:	74 41                	je     0x41716f
41712e:	8b 8d 80 f4 ff ff    	mov    -0xb80(%ebp),%ecx
417134:	83 c1 02             	add    $0x2,%ecx
417137:	83 c6 04             	add    $0x4,%esi
41713a:	89 8d 80 f4 ff ff    	mov    %ecx,-0xb80(%ebp)
417140:	83 fe 0c             	cmp    $0xc,%esi
417143:	0f 82 f7 fe ff ff    	jb     0x417040
417149:	8b 85 e8 f3 ff ff    	mov    -0xc18(%ebp),%eax
41714f:	8b bd 7c f4 ff ff    	mov    -0xb84(%ebp),%edi
417155:	89 85 b0 f3 ff ff    	mov    %eax,-0xc50(%ebp)
41715b:	8b 85 84 f4 ff ff    	mov    -0xb7c(%ebp),%eax
417161:	89 9d e8 f3 ff ff    	mov    %ebx,-0xc18(%ebp)
417167:	89 85 f0 f6 ff ff    	mov    %eax,-0x910(%ebp)
41716d:	eb 30                	jmp    0x41719f
41716f:	ff 15 70 61 42 00    	call   *0x426170
417175:	8b f8                	mov    %eax,%edi
417177:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
41717d:	85 ff                	test   %edi,%edi
41717f:	7e 11                	jle    0x417192
417181:	0f b7 ff             	movzwl %di,%edi
417184:	81 cf 00 00 07 80    	or     $0x80070000,%edi
41718a:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
417190:	85 ff                	test   %edi,%edi
417192:	78 0b                	js     0x41719f
417194:	bf 05 40 00 80       	mov    $0x80004005,%edi
417199:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
41719f:	83 bd e8 f3 ff ff 00 	cmpl   $0x0,-0xc18(%ebp)
4171a6:	74 5d                	je     0x417205
4171a8:	8b f3                	mov    %ebx,%esi
4171aa:	8b 85 e8 f3 ff ff    	mov    -0xc18(%ebp),%eax
4171b0:	39 1c 30             	cmp    %ebx,(%eax,%esi,1)
4171b3:	74 48                	je     0x4171fd
4171b5:	8b 0c 30             	mov    (%eax,%esi,1),%ecx
4171b8:	8d 51 02             	lea    0x2(%ecx),%edx
4171bb:	66 8b 01             	mov    (%ecx),%ax
4171be:	83 c1 02             	add    $0x2,%ecx
4171c1:	66 3b c3             	cmp    %bx,%ax
4171c4:	75 f5                	jne    0x4171bb
4171c6:	8b 85 e8 f3 ff ff    	mov    -0xc18(%ebp),%eax
4171cc:	2b ca                	sub    %edx,%ecx
4171ce:	d1 f9                	sar    $1,%ecx
4171d0:	8b 04 30             	mov    (%eax,%esi,1),%eax
4171d3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4171da:	85 c9                	test   %ecx,%ecx
4171dc:	74 08                	je     0x4171e6
4171de:	88 18                	mov    %bl,(%eax)
4171e0:	40                   	inc    %eax
4171e1:	83 e9 01             	sub    $0x1,%ecx
4171e4:	75 f8                	jne    0x4171de
4171e6:	8b 85 e8 f3 ff ff    	mov    -0xc18(%ebp),%eax
4171ec:	ff 34 30             	push   (%eax,%esi,1)
4171ef:	53                   	push   %ebx
4171f0:	ff 15 7c 60 42 00    	call   *0x42607c
4171f6:	50                   	push   %eax
4171f7:	ff 15 a4 61 42 00    	call   *0x4261a4
4171fd:	83 c6 04             	add    $0x4,%esi
417200:	83 fe 0c             	cmp    $0xc,%esi
417203:	72 a5                	jb     0x4171aa
417205:	8b 85 ec f3 ff ff    	mov    -0xc14(%ebp),%eax
41720b:	85 c0                	test   %eax,%eax
41720d:	74 12                	je     0x417221
41720f:	8b 8d 60 f4 ff ff    	mov    -0xba0(%ebp),%ecx
417215:	85 c9                	test   %ecx,%ecx
417217:	74 08                	je     0x417221
417219:	88 18                	mov    %bl,(%eax)
41721b:	40                   	inc    %eax
41721c:	83 e9 01             	sub    $0x1,%ecx
41721f:	75 f8                	jne    0x417219
417221:	8d 8d e8 f3 ff ff    	lea    -0xc18(%ebp),%ecx
417227:	e8 38 7d 00 00       	call   0x41ef64
41722c:	8d 8d ec f3 ff ff    	lea    -0xc14(%ebp),%ecx
417232:	e8 2d 7d 00 00       	call   0x41ef64
417237:	8d 8d f0 f3 ff ff    	lea    -0xc10(%ebp),%ecx
41723d:	e8 22 7d 00 00       	call   0x41ef64
417242:	85 ff                	test   %edi,%edi
417244:	0f 88 d8 0b 00 00    	js     0x417e22
41724a:	8b 85 b0 f3 ff ff    	mov    -0xc50(%ebp),%eax
417250:	8b fb                	mov    %ebx,%edi
417252:	8b 35 b4 40 42 00    	mov    0x4240b4,%esi
417258:	53                   	push   %ebx
417259:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
41725f:	8b 08                	mov    (%eax),%ecx
417261:	89 8d f8 f6 ff ff    	mov    %ecx,-0x908(%ebp)
417267:	8b 48 04             	mov    0x4(%eax),%ecx
41726a:	89 8d fc f6 ff ff    	mov    %ecx,-0x904(%ebp)
417270:	8b ce                	mov    %esi,%ecx
417272:	8b 40 08             	mov    0x8(%eax),%eax
417275:	89 85 00 f7 ff ff    	mov    %eax,-0x900(%ebp)
41727b:	8d 85 f8 f2 ff ff    	lea    -0xd08(%ebp),%eax
417281:	50                   	push   %eax
417282:	53                   	push   %ebx
417283:	6a 42                	push   $0x42
417285:	89 9d fc f2 ff ff    	mov    %ebx,-0xd04(%ebp)
41728b:	89 9d 00 f3 ff ff    	mov    %ebx,-0xd00(%ebp)
417291:	c7 85 f8 f2 ff ff 0c 	movl   $0xc,-0xd08(%ebp)
417298:	00 00 00
41729b:	ff 15 78 64 42 00    	call   *0x426478
4172a1:	ff d6                	call   *%esi
4172a3:	85 c0                	test   %eax,%eax
4172a5:	75 34                	jne    0x4172db
4172a7:	ff 15 70 61 42 00    	call   *0x426170
4172ad:	8b f8                	mov    %eax,%edi
4172af:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
4172b5:	85 ff                	test   %edi,%edi
4172b7:	7e 11                	jle    0x4172ca
4172b9:	0f b7 ff             	movzwl %di,%edi
4172bc:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4172c2:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
4172c8:	85 ff                	test   %edi,%edi
4172ca:	8b c3                	mov    %ebx,%eax
4172cc:	78 16                	js     0x4172e4
4172ce:	bf 05 40 00 80       	mov    $0x80004005,%edi
4172d3:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
4172d9:	eb 09                	jmp    0x4172e4
4172db:	8b 85 fc f2 ff ff    	mov    -0xd04(%ebp),%eax
4172e1:	83 e0 01             	and    $0x1,%eax
4172e4:	89 85 f4 f6 ff ff    	mov    %eax,-0x90c(%ebp)
4172ea:	85 ff                	test   %edi,%edi
4172ec:	0f 88 30 0b 00 00    	js     0x417e22
4172f2:	8b 85 38 f4 ff ff    	mov    -0xbc8(%ebp),%eax
4172f8:	6a 2a                	push   $0x2a
4172fa:	59                   	pop    %ecx
4172fb:	89 8d 60 f4 ff ff    	mov    %ecx,-0xba0(%ebp)
417301:	83 e8 01             	sub    $0x1,%eax
417304:	74 29                	je     0x41732f
417306:	83 e8 01             	sub    $0x1,%eax
417309:	74 18                	je     0x417323
41730b:	83 e8 01             	sub    $0x1,%eax
41730e:	75 2f                	jne    0x41733f
417310:	bf e1 00 00 00       	mov    $0xe1,%edi
417315:	89 bd 6c f4 ff ff    	mov    %edi,-0xb94(%ebp)
41731b:	89 bd 74 f4 ff ff    	mov    %edi,-0xb8c(%ebp)
417321:	eb 1c                	jmp    0x41733f
417323:	c7 85 6c f4 ff ff 0f 	movl   $0xf,-0xb94(%ebp)
41732a:	00 00 00
41732d:	eb 06                	jmp    0x417335
41732f:	89 8d 6c f4 ff ff    	mov    %ecx,-0xb94(%ebp)
417335:	c7 85 74 f4 ff ff 0b 	movl   $0xb,-0xb8c(%ebp)
41733c:	00 00 00
41733f:	be dc 00 00 00       	mov    $0xdc,%esi
417344:	c7 85 84 f4 ff ff 60 	movl   $0x60,-0xb7c(%ebp)
41734b:	00 00 00
41734e:	56                   	push   %esi
41734f:	8d 85 08 f8 ff ff    	lea    -0x7f8(%ebp),%eax
417355:	53                   	push   %ebx
417356:	50                   	push   %eax
417357:	e8 ec b4 00 00       	call   0x422848
41735c:	83 c4 0c             	add    $0xc,%esp
41735f:	66 89 b5 4c f8 ff ff 	mov    %si,-0x7b4(%ebp)
417366:	8b 35 70 40 42 00    	mov    0x424070,%esi
41736c:	8d 85 08 f8 ff ff    	lea    -0x7f8(%ebp),%eax
417372:	8b ce                	mov    %esi,%ecx
417374:	50                   	push   %eax
417375:	6a ff                	push   $0xffffffff
417377:	53                   	push   %ebx
417378:	ff 15 78 64 42 00    	call   *0x426478
41737e:	ff d6                	call   *%esi
417380:	85 c0                	test   %eax,%eax
417382:	74 40                	je     0x4173c4
417384:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
41738a:	0f b7 bd ae f8 ff ff 	movzwl -0x752(%ebp),%edi
417391:	8b 8d b8 f8 ff ff    	mov    -0x748(%ebp),%ecx