4180b6:	8b ce                	mov    %esi,%ecx
4180b8:	8b bd 3c f4 ff ff    	mov    -0xbc4(%ebp),%edi
4180be:	6a 07                	push   $0x7
4180c0:	57                   	push   %edi
4180c1:	ff 15 78 64 42 00    	call   *0x426478
4180c7:	ff d6                	call   *%esi
4180c9:	85 c0                	test   %eax,%eax
4180cb:	0f 84 11 0b 00 00    	je     0x418be2
4180d1:	8b 35 34 40 42 00    	mov    0x424034,%esi
4180d7:	8d 8d 40 f6 ff ff    	lea    -0x9c0(%ebp),%ecx
4180dd:	51                   	push   %ecx
4180de:	6a 54                	push   $0x54
4180e0:	50                   	push   %eax
4180e1:	8b ce                	mov    %esi,%ecx
4180e3:	ff 15 78 64 42 00    	call   *0x426478
4180e9:	ff d6                	call   *%esi
4180eb:	85 c0                	test   %eax,%eax
4180ed:	74 24                	je     0x418113
4180ef:	8b 85 54 f6 ff ff    	mov    -0x9ac(%ebp),%eax
4180f5:	89 85 5c f4 ff ff    	mov    %eax,-0xba4(%ebp)
4180fb:	8b 85 44 f6 ff ff    	mov    -0x9bc(%ebp),%eax
418101:	89 85 60 f4 ff ff    	mov    %eax,-0xba0(%ebp)
418107:	8b 85 48 f6 ff ff    	mov    -0x9b8(%ebp),%eax
41810d:	89 85 84 f4 ff ff    	mov    %eax,-0xb7c(%ebp)
418113:	8b 35 08 40 42 00    	mov    0x424008,%esi
418119:	8b ce                	mov    %esi,%ecx
41811b:	57                   	push   %edi
41811c:	ff 15 78 64 42 00    	call   *0x426478
418122:	ff d6                	call   *%esi
418124:	8b f8                	mov    %eax,%edi
418126:	89 bd 80 f4 ff ff    	mov    %edi,-0xb80(%ebp)
41812c:	85 ff                	test   %edi,%edi
41812e:	0f 84 ae 0a 00 00    	je     0x418be2
418134:	8b 85 1c f7 ff ff    	mov    -0x8e4(%ebp),%eax
41813a:	2b 85 14 f7 ff ff    	sub    -0x8ec(%ebp),%eax
418140:	8b 35 0c 40 42 00    	mov    0x42400c,%esi
418146:	8b ce                	mov    %esi,%ecx
418148:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
41814e:	8b 85 18 f7 ff ff    	mov    -0x8e8(%ebp),%eax
418154:	2b 85 20 f7 ff ff    	sub    -0x8e0(%ebp),%eax
41815a:	89 85 94 fa ff ff    	mov    %eax,-0x56c(%ebp)
418160:	33 c0                	xor    %eax,%eax
418162:	6a 20                	push   $0x20
418164:	40                   	inc    %eax
418165:	89 9d d8 f3 ff ff    	mov    %ebx,-0xc28(%ebp)
41816b:	66 89 85 98 fa ff ff 	mov    %ax,-0x568(%ebp)
418172:	58                   	pop    %eax
418173:	53                   	push   %ebx
418174:	53                   	push   %ebx
418175:	66 89 85 9a fa ff ff 	mov    %ax,-0x566(%ebp)
41817c:	8d 85 d8 f3 ff ff    	lea    -0xc28(%ebp),%eax
418182:	50                   	push   %eax
418183:	53                   	push   %ebx
418184:	8d 85 8c fa ff ff    	lea    -0x574(%ebp),%eax
41818a:	89 9d 70 f4 ff ff    	mov    %ebx,-0xb90(%ebp)
418190:	50                   	push   %eax
418191:	57                   	push   %edi
418192:	89 9d 9c fa ff ff    	mov    %ebx,-0x564(%ebp)
418198:	89 9d a0 fa ff ff    	mov    %ebx,-0x560(%ebp)
41819e:	89 9d a4 fa ff ff    	mov    %ebx,-0x55c(%ebp)
4181a4:	89 9d a8 fa ff ff    	mov    %ebx,-0x558(%ebp)
4181aa:	89 9d ac fa ff ff    	mov    %ebx,-0x554(%ebp)
4181b0:	89 9d b0 fa ff ff    	mov    %ebx,-0x550(%ebp)
4181b6:	89 9d b4 fa ff ff    	mov    %ebx,-0x54c(%ebp)
4181bc:	c7 85 8c fa ff ff 28 	movl   $0x28,-0x574(%ebp)
4181c3:	00 00 00
4181c6:	ff 15 78 64 42 00    	call   *0x426478
4181cc:	ff d6                	call   *%esi
4181ce:	89 85 40 f4 ff ff    	mov    %eax,-0xbc0(%ebp)
4181d4:	85 c0                	test   %eax,%eax
4181d6:	75 35                	jne    0x41820d
4181d8:	ff 15 70 61 42 00    	call   *0x426170
4181de:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
4181e4:	85 c0                	test   %eax,%eax
4181e6:	7e 10                	jle    0x4181f8
4181e8:	0f b7 c0             	movzwl %ax,%eax
4181eb:	0d 00 00 07 80       	or     $0x80070000,%eax
4181f0:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
4181f6:	85 c0                	test   %eax,%eax
4181f8:	0f 88 9e 03 00 00    	js     0x41859c
4181fe:	c7 85 70 f4 ff ff 05 	movl   $0x80004005,-0xb90(%ebp)
418205:	40 00 80
418208:	e9 8f 03 00 00       	jmp    0x41859c
41820d:	8b 35 34 40 42 00    	mov    0x424034,%esi
418213:	8d 8d e8 f5 ff ff    	lea    -0xa18(%ebp),%ecx
418219:	51                   	push   %ecx
41821a:	6a 54                	push   $0x54
41821c:	50                   	push   %eax
41821d:	8b ce                	mov    %esi,%ecx
41821f:	ff 15 78 64 42 00    	call   *0x426478
418225:	ff d6                	call   *%esi
418227:	85 c0                	test   %eax,%eax
418229:	74 0c                	je     0x418237
41822b:	8b 85 fc f5 ff ff    	mov    -0xa04(%ebp),%eax
418231:	89 85 7c f4 ff ff    	mov    %eax,-0xb84(%ebp)
418237:	8b 85 1c f7 ff ff    	mov    -0x8e4(%ebp),%eax
41823d:	2b 85 14 f7 ff ff    	sub    -0x8ec(%ebp),%eax
418243:	ff b5 40 f4 ff ff    	push   -0xbc0(%ebp)
418249:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
41824f:	8b ce                	mov    %esi,%ecx
418251:	89 85 d8 fb ff ff    	mov    %eax,-0x428(%ebp)
418257:	8b 85 20 f7 ff ff    	mov    -0x8e0(%ebp),%eax
41825d:	2b 85 18 f7 ff ff    	sub    -0x8e8(%ebp),%eax
418263:	57                   	push   %edi
418264:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
41826a:	ff 15 78 64 42 00    	call   *0x426478
418270:	ff d6                	call   *%esi
418272:	8b 35 40 40 42 00    	mov    0x424040,%esi
418278:	33 c0                	xor    %eax,%eax
41827a:	40                   	inc    %eax
41827b:	8b ce                	mov    %esi,%ecx
41827d:	50                   	push   %eax
41827e:	57                   	push   %edi
41827f:	ff 15 78 64 42 00    	call   *0x426478
418285:	ff d6                	call   *%esi
418287:	ff b5 64 f4 ff ff    	push   -0xb9c(%ebp)
41828d:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
418293:	8b ce                	mov    %esi,%ecx
418295:	57                   	push   %edi
418296:	ff 15 78 64 42 00    	call   *0x426478
41829c:	ff d6                	call   *%esi
41829e:	8b 35 38 40 42 00    	mov    0x424038,%esi
4182a4:	8b ce                	mov    %esi,%ecx
4182a6:	8b 3d 74 40 42 00    	mov    0x424074,%edi
4182ac:	53                   	push   %ebx
4182ad:	89 85 64 f4 ff ff    	mov    %eax,-0xb9c(%ebp)
4182b3:	ff 15 78 64 42 00    	call   *0x426478
4182b9:	ff d6                	call   *%esi
4182bb:	50                   	push   %eax
4182bc:	8d 85 d0 fb ff ff    	lea    -0x430(%ebp),%eax
4182c2:	8b cf                	mov    %edi,%ecx
4182c4:	50                   	push   %eax
4182c5:	ff b5 80 f4 ff ff    	push   -0xb80(%ebp)
4182cb:	ff 15 78 64 42 00    	call   *0x426478
4182d1:	ff d7                	call   *%edi
4182d3:	8b bd 80 f4 ff ff    	mov    -0xb80(%ebp),%edi
4182d9:	8d 85 d0 fb ff ff    	lea    -0x430(%ebp),%eax
4182df:	8b 35 6c 40 42 00    	mov    0x42406c,%esi
4182e5:	8b ce                	mov    %esi,%ecx
4182e7:	53                   	push   %ebx
4182e8:	ff b5 54 f4 ff ff    	push   -0xbac(%ebp)
4182ee:	50                   	push   %eax
4182ef:	6a ff                	push   $0xffffffff
4182f1:	ff b5 78 f4 ff ff    	push   -0xb88(%ebp)
4182f7:	57                   	push   %edi
4182f8:	ff 15 78 64 42 00    	call   *0x426478
4182fe:	ff d6                	call   *%esi
418300:	33 c0                	xor    %eax,%eax
418302:	40                   	inc    %eax
418303:	39 85 38 f4 ff ff    	cmp    %eax,-0xbc8(%ebp)
418309:	75 2f                	jne    0x41833a
41830b:	83 bd 74 f4 ff ff 00 	cmpl   $0x0,-0xb8c(%ebp)
418312:	74 1a                	je     0x41832e
418314:	8b 35 8c 40 42 00    	mov    0x42408c,%esi
41831a:	8b ce                	mov    %esi,%ecx
41831c:	6a 08                	push   $0x8
41831e:	ff 15 78 64 42 00    	call   *0x426478
418324:	ff d6                	call   *%esi
418326:	89 85 74 f4 ff ff    	mov    %eax,-0xb8c(%ebp)
41832c:	eb 16                	jmp    0x418344
41832e:	c7 85 74 f4 ff ff ff 	movl   $0xffffff,-0xb8c(%ebp)
418335:	ff ff 00
418338:	eb 0a                	jmp    0x418344
41833a:	c7 85 74 f4 ff ff a8 	movl   $0xffa8a8a8,-0xb8c(%ebp)
418341:	a8 a8 ff
418344:	8b b5 14 f7 ff ff    	mov    -0x8ec(%ebp),%esi
41834a:	8b cb                	mov    %ebx,%ecx
41834c:	8b 85 18 f7 ff ff    	mov    -0x8e8(%ebp),%eax
418352:	89 b5 78 f4 ff ff    	mov    %esi,-0xb88(%ebp)
418358:	89 9d 48 f4 ff ff    	mov    %ebx,-0xbb8(%ebp)
41835e:	85 f6                	test   %esi,%esi
418360:	79 12                	jns    0x418374
418362:	8b d6                	mov    %esi,%edx
418364:	89 9d 78 f4 ff ff    	mov    %ebx,-0xb88(%ebp)
41836a:	f7 da                	neg    %edx
41836c:	8b f3                	mov    %ebx,%esi
41836e:	89 95 48 f4 ff ff    	mov    %edx,-0xbb8(%ebp)
418374:	85 c0                	test   %eax,%eax
418376:	79 06                	jns    0x41837e
418378:	8b c8                	mov    %eax,%ecx
41837a:	8b c3                	mov    %ebx,%eax
41837c:	f7 d9                	neg    %ecx
41837e:	8b 95 60 f4 ff ff    	mov    -0xba0(%ebp),%edx
418384:	2b d6                	sub    %esi,%edx
418386:	8b b5 d8 fb ff ff    	mov    -0x428(%ebp),%esi
41838c:	2b b5 48 f4 ff ff    	sub    -0xbb8(%ebp),%esi
418392:	89 b5 4c f4 ff ff    	mov    %esi,-0xbb4(%ebp)
418398:	3b f2                	cmp    %edx,%esi
41839a:	7c 08                	jl     0x4183a4
41839c:	8b f2                	mov    %edx,%esi
41839e:	89 95 4c f4 ff ff    	mov    %edx,-0xbb4(%ebp)
4183a4:	8b 95 dc fb ff ff    	mov    -0x424(%ebp),%edx
4183aa:	29 85 84 f4 ff ff    	sub    %eax,-0xb7c(%ebp)
4183b0:	2b d1                	sub    %ecx,%edx
4183b2:	89 95 68 f4 ff ff    	mov    %edx,-0xb98(%ebp)
4183b8:	3b 95 84 f4 ff ff    	cmp    -0xb7c(%ebp),%edx
4183be:	7c 0c                	jl     0x4183cc
4183c0:	8b 95 84 f4 ff ff    	mov    -0xb7c(%ebp),%edx
4183c6:	89 95 68 f4 ff ff    	mov    %edx,-0xb98(%ebp)
4183cc:	85 f6                	test   %esi,%esi
4183ce:	0f 8e 96 01 00 00    	jle    0x41856a
4183d4:	85 d2                	test   %edx,%edx
4183d6:	0f 8e 8e 01 00 00    	jle    0x41856a
4183dc:	8b 95 d8 fb ff ff    	mov    -0x428(%ebp),%edx
4183e2:	0f af 85 60 f4 ff ff 	imul   -0xba0(%ebp),%eax
4183e9:	8b bd 7c f4 ff ff    	mov    -0xb84(%ebp),%edi
4183ef:	0f af ca             	imul   %edx,%ecx
4183f2:	c1 e2 02             	shl    $0x2,%edx
4183f5:	03 85 78 f4 ff ff    	add    -0xb88(%ebp),%eax
4183fb:	03 8d 48 f4 ff ff    	add    -0xbb8(%ebp),%ecx
418401:	8d 0c 8f             	lea    (%edi,%ecx,4),%ecx
418404:	8b bd 5c f4 ff ff    	mov    -0xba4(%ebp),%edi
41840a:	89 95 5c f4 ff ff    	mov    %edx,-0xba4(%ebp)
418410:	8b 95 60 f4 ff ff    	mov    -0xba0(%ebp),%edx
418416:	c1 e2 02             	shl    $0x2,%edx
418419:	8d 04 87             	lea    (%edi,%eax,4),%eax
41841c:	89 8d 7c f4 ff ff    	mov    %ecx,-0xb84(%ebp)
418422:	89 85 78 f4 ff ff    	mov    %eax,-0xb88(%ebp)
418428:	89 95 60 f4 ff ff    	mov    %edx,-0xba0(%ebp)
41842e:	8b d8                	mov    %eax,%ebx
418430:	89 b5 44 f4 ff ff    	mov    %esi,-0xbbc(%ebp)
418436:	8d 50 03             	lea    0x3(%eax),%edx
418439:	2b d9                	sub    %ecx,%ebx
41843b:	89 95 84 f4 ff ff    	mov    %edx,-0xb7c(%ebp)
418441:	8d 79 02             	lea    0x2(%ecx),%edi
418444:	89 9d 48 f4 ff ff    	mov    %ebx,-0xbb8(%ebp)
41844a:	0f b6 47 fe          	movzbl -0x2(%edi),%eax
41844e:	0f b6 4f ff          	movzbl -0x1(%edi),%ecx
418452:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
418455:	0f b6 07             	movzbl (%edi),%eax
418458:	03 c8                	add    %eax,%ecx
41845a:	c1 e9 02             	shr    $0x2,%ecx
41845d:	f6 d1                	not    %cl
41845f:	84 c9                	test   %cl,%cl
418461:	0f 84 a9 00 00 00    	je     0x418510
418467:	8a 1c 1f             	mov    (%edi,%ebx,1),%bl
41846a:	8b 85 74 f4 ff ff    	mov    -0xb8c(%ebp),%eax
418470:	0f b6 c0             	movzbl %al,%eax
418473:	0f b6 f1             	movzbl %cl,%esi
418476:	0f b6 cb             	movzbl %bl,%ecx
418479:	2b c1                	sub    %ecx,%eax
41847b:	b9 ff 00 00 00       	mov    $0xff,%ecx
418480:	0f af c6             	imul   %esi,%eax
418483:	99                   	cltd
418484:	f7 f9                	idiv   %ecx
418486:	8b 8d 48 f4 ff ff    	mov    -0xbb8(%ebp),%ecx
41848c:	02 c3                	add    %bl,%al
41848e:	88 04 0f             	mov    %al,(%edi,%ecx,1)
418491:	8b 85 84 f4 ff ff    	mov    -0xb7c(%ebp),%eax
418497:	8a 58 fe             	mov    -0x2(%eax),%bl
41849a:	8b 85 74 f4 ff ff    	mov    -0xb8c(%ebp),%eax
4184a0:	0f b6 c4             	movzbl %ah,%eax
4184a3:	0f b6 cb             	movzbl %bl,%ecx
4184a6:	2b c1                	sub    %ecx,%eax
4184a8:	b9 ff 00 00 00       	mov    $0xff,%ecx
4184ad:	0f af c6             	imul   %esi,%eax
4184b0:	99                   	cltd
4184b1:	f7 f9                	idiv   %ecx
4184b3:	8b 8d 84 f4 ff ff    	mov    -0xb7c(%ebp),%ecx
4184b9:	02 c3                	add    %bl,%al
4184bb:	88 41 fe             	mov    %al,-0x2(%ecx)
4184be:	8a 59 fd             	mov    -0x3(%ecx),%bl
4184c1:	0f b6 85 76 f4 ff ff 	movzbl -0xb8a(%ebp),%eax
4184c8:	0f b6 cb             	movzbl %bl,%ecx
4184cb:	2b c1                	sub    %ecx,%eax
4184cd:	b9 ff 00 00 00       	mov    $0xff,%ecx
4184d2:	0f af c6             	imul   %esi,%eax
4184d5:	99                   	cltd
4184d6:	f7 f9                	idiv   %ecx
4184d8:	8b 8d 84 f4 ff ff    	mov    -0xb7c(%ebp),%ecx
4184de:	02 c3                	add    %bl,%al
4184e0:	88 41 fd             	mov    %al,-0x3(%ecx)
4184e3:	b8 ff 00 00 00       	mov    $0xff,%eax
4184e8:	8a 19                	mov    (%ecx),%bl
4184ea:	0f b6 cb             	movzbl %bl,%ecx
4184ed:	2b c1                	sub    %ecx,%eax
4184ef:	b9 ff 00 00 00       	mov    $0xff,%ecx
4184f4:	0f af c6             	imul   %esi,%eax
4184f7:	8b b5 44 f4 ff ff    	mov    -0xbbc(%ebp),%esi
4184fd:	99                   	cltd
4184fe:	f7 f9                	idiv   %ecx
418500:	8b 95 84 f4 ff ff    	mov    -0xb7c(%ebp),%edx
418506:	02 c3                	add    %bl,%al
418508:	8b 9d 48 f4 ff ff    	mov    -0xbb8(%ebp),%ebx
41850e:	88 02                	mov    %al,(%edx)
418510:	83 c2 04             	add    $0x4,%edx
418513:	83 c7 04             	add    $0x4,%edi
418516:	83 ee 01             	sub    $0x1,%esi
418519:	89 95 84 f4 ff ff    	mov    %edx,-0xb7c(%ebp)
41851f:	89 b5 44 f4 ff ff    	mov    %esi,-0xbbc(%ebp)
418525:	0f 85 1f ff ff ff    	jne    0x41844a
41852b:	8b 8d 7c f4 ff ff    	mov    -0xb84(%ebp),%ecx
418531:	8b 85 78 f4 ff ff    	mov    -0xb88(%ebp),%eax
418537:	03 8d 5c f4 ff ff    	add    -0xba4(%ebp),%ecx
41853d:	03 85 60 f4 ff ff    	add    -0xba0(%ebp),%eax
418543:	83 ad 68 f4 ff ff 01 	subl   $0x1,-0xb98(%ebp)
41854a:	8b b5 4c f4 ff ff    	mov    -0xbb4(%ebp),%esi
418550:	89 8d 7c f4 ff ff    	mov    %ecx,-0xb84(%ebp)
418556:	89 85 78 f4 ff ff    	mov    %eax,-0xb88(%ebp)
41855c:	0f 85 cc fe ff ff    	jne    0x41842e
418562:	8b bd 80 f4 ff ff    	mov    -0xb80(%ebp),%edi
418568:	33 db                	xor    %ebx,%ebx
41856a:	ff b5 40 f4 ff ff    	push   -0xbc0(%ebp)
418570:	8b 35 1c 40 42 00    	mov    0x42401c,%esi
418576:	8b ce                	mov    %esi,%ecx
418578:	ff 15 78 64 42 00    	call   *0x426478
41857e:	ff d6                	call   *%esi
418580:	8b 85 64 f4 ff ff    	mov    -0xb9c(%ebp),%eax
418586:	85 c0                	test   %eax,%eax
418588:	74 12                	je     0x41859c
41858a:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
418590:	8b ce                	mov    %esi,%ecx
418592:	50                   	push   %eax
418593:	57                   	push   %edi
418594:	ff 15 78 64 42 00    	call   *0x426478
41859a:	ff d6                	call   *%esi
41859c:	8b 35 18 40 42 00    	mov    0x424018,%esi
4185a2:	8b ce                	mov    %esi,%ecx
4185a4:	57                   	push   %edi
4185a5:	ff 15 78 64 42 00    	call   *0x426478
4185ab:	ff d6                	call   *%esi
4185ad:	83 bd 70 f4 ff ff 00 	cmpl   $0x0,-0xb90(%ebp)
4185b4:	0f 8c d0 14 00 00    	jl     0x419a8a
4185ba:	8b 85 f4 f6 ff ff    	mov    -0x90c(%ebp),%eax
4185c0:	8b b5 fc f6 ff ff    	mov    -0x904(%ebp),%esi
4185c6:	89 85 74 f4 ff ff    	mov    %eax,-0xb8c(%ebp)
4185cc:	8b 85 08 f7 ff ff    	mov    -0x8f8(%ebp),%eax
4185d2:	6a 54                	push   $0x54
4185d4:	89 85 64 f4 ff ff    	mov    %eax,-0xb9c(%ebp)
4185da:	8d 85 90 f5 ff ff    	lea    -0xa70(%ebp),%eax
4185e0:	53                   	push   %ebx
4185e1:	50                   	push   %eax
4185e2:	89 b5 78 f4 ff ff    	mov    %esi,-0xb88(%ebp)
4185e8:	e8 5b a2 00 00       	call   0x422848
4185ed:	83 c4 0c             	add    $0xc,%esp
4185f0:	8d 85 38 f5 ff ff    	lea    -0xac8(%ebp),%eax
4185f6:	6a 54                	push   $0x54
4185f8:	53                   	push   %ebx
4185f9:	50                   	push   %eax
4185fa:	e8 49 a2 00 00       	call   0x422848
4185ff:	83 c4 0c             	add    $0xc,%esp
418602:	89 9d 5c f4 ff ff    	mov    %ebx,-0xba4(%ebp)
418608:	8d 85 08 fa ff ff    	lea    -0x5f8(%ebp),%eax
41860e:	89 9d 7c f4 ff ff    	mov    %ebx,-0xb84(%ebp)
418614:	89 9d 60 f4 ff ff    	mov    %ebx,-0xba0(%ebp)
41861a:	89 9d 84 f4 ff ff    	mov    %ebx,-0xb7c(%ebp)
418620:	6a 2c                	push   $0x2c
418622:	53                   	push   %ebx
418623:	50                   	push   %eax
418624:	e8 1f a2 00 00       	call   0x422848