4790fc:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
479102:	e8 5e a6 f8 ff       	call   0x403765
479107:	8b 45 9c             	mov    -0x64(%ebp),%eax
47910a:	e9 b9 04 00 00       	jmp    0x4795c8
47910f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
479112:	8b 01                	mov    (%ecx),%eax
479114:	8b 51 04             	mov    0x4(%ecx),%edx
479117:	b1 3f                	mov    $0x3f,%cl
479119:	e8 8f 95 f8 ff       	call   0x4026ad
47911e:	83 e0 01             	and    $0x1,%eax
479121:	83 e2 00             	and    $0x0,%edx
479124:	89 45 a0             	mov    %eax,-0x60(%ebp)
479127:	89 55 a4             	mov    %edx,-0x5c(%ebp)
47912a:	8b 55 a0             	mov    -0x60(%ebp),%edx
47912d:	0b 55 a4             	or     -0x5c(%ebp),%edx
479130:	74 0f                	je     0x479141
479132:	8b 45 0c             	mov    0xc(%ebp),%eax
479135:	c6 00 2d             	movb   $0x2d,(%eax)
479138:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47913b:	83 c1 01             	add    $0x1,%ecx
47913e:	89 4d 0c             	mov    %ecx,0xc(%ebp)
479141:	0f b6 55 20          	movzbl 0x20(%ebp),%edx
479145:	85 d2                	test   %edx,%edx
479147:	74 06                	je     0x47914f
479149:	c6 45 df 41          	movb   $0x41,-0x21(%ebp)
47914d:	eb 04                	jmp    0x479153
47914f:	c6 45 df 61          	movb   $0x61,-0x21(%ebp)
479153:	0f be 45 df          	movsbl -0x21(%ebp),%eax
479157:	83 e8 3a             	sub    $0x3a,%eax
47915a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
47915d:	c7 45 c0 ff 03 00 00 	movl   $0x3ff,-0x40(%ebp)
479164:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
47916b:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
47916e:	8b 01                	mov    (%ecx),%eax
479170:	8b 51 04             	mov    0x4(%ecx),%edx
479173:	b1 34                	mov    $0x34,%cl
479175:	e8 33 95 f8 ff       	call   0x4026ad
47917a:	25 ff 07 00 00       	and    $0x7ff,%eax
47917f:	83 e2 00             	and    $0x0,%edx
479182:	89 45 94             	mov    %eax,-0x6c(%ebp)
479185:	89 55 98             	mov    %edx,-0x68(%ebp)
479188:	8b 55 94             	mov    -0x6c(%ebp),%edx
47918b:	0b 55 98             	or     -0x68(%ebp),%edx
47918e:	75 4f                	jne    0x4791df
479190:	8b 45 0c             	mov    0xc(%ebp),%eax
479193:	c6 00 30             	movb   $0x30,(%eax)
479196:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479199:	83 c1 01             	add    $0x1,%ecx
47919c:	89 4d 0c             	mov    %ecx,0xc(%ebp)
47919f:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4791a2:	8b 02                	mov    (%edx),%eax
4791a4:	8b 4a 04             	mov    0x4(%edx),%ecx
4791a7:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
4791ad:	89 45 88             	mov    %eax,-0x78(%ebp)
4791b0:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
4791b3:	8b 55 88             	mov    -0x78(%ebp),%edx
4791b6:	0b 55 8c             	or     -0x74(%ebp),%edx
4791b9:	75 10                	jne    0x4791cb
4791bb:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
4791c2:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
4791c9:	eb 12                	jmp    0x4791dd
4791cb:	8b 45 c0             	mov    -0x40(%ebp),%eax
4791ce:	83 e8 01             	sub    $0x1,%eax
4791d1:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4791d4:	83 d9 00             	sbb    $0x0,%ecx
4791d7:	89 45 c0             	mov    %eax,-0x40(%ebp)
4791da:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
4791dd:	eb 0f                	jmp    0x4791ee
4791df:	8b 55 0c             	mov    0xc(%ebp),%edx
4791e2:	c6 02 31             	movb   $0x31,(%edx)
4791e5:	8b 45 0c             	mov    0xc(%ebp),%eax
4791e8:	83 c0 01             	add    $0x1,%eax
4791eb:	89 45 0c             	mov    %eax,0xc(%ebp)
4791ee:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4791f1:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4791f4:	8b 55 0c             	mov    0xc(%ebp),%edx
4791f7:	83 c2 01             	add    $0x1,%edx
4791fa:	89 55 0c             	mov    %edx,0xc(%ebp)
4791fd:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
479201:	75 08                	jne    0x47920b
479203:	8b 45 d8             	mov    -0x28(%ebp),%eax
479206:	c6 00 00             	movb   $0x0,(%eax)
479209:	eb 1c                	jmp    0x479227
47920b:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
479211:	e8 cc 87 f8 ff       	call   0x4019e2
479216:	8b 08                	mov    (%eax),%ecx
479218:	8b 91 88 00 00 00    	mov    0x88(%ecx),%edx
47921e:	8b 02                	mov    (%edx),%eax
479220:	8b 4d d8             	mov    -0x28(%ebp),%ecx
479223:	8a 10                	mov    (%eax),%dl
479225:	88 11                	mov    %dl,(%ecx)
479227:	8b 45 d4             	mov    -0x2c(%ebp),%eax
47922a:	8b 08                	mov    (%eax),%ecx
47922c:	8b 50 04             	mov    0x4(%eax),%edx
47922f:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
479235:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
47923b:	89 55 80             	mov    %edx,-0x80(%ebp)
47923e:	83 7d 80 00          	cmpl   $0x0,-0x80(%ebp)
479242:	77 0d                	ja     0x479251
479244:	83 bd 7c ff ff ff 00 	cmpl   $0x0,-0x84(%ebp)
47924b:	0f 86 84 01 00 00    	jbe    0x4793d5
479251:	b8 30 00 00 00       	mov    $0x30,%eax
479256:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
47925a:	c7 45 cc 0f 00 00 00 	movl   $0xf,-0x34(%ebp)
479261:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
479268:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
47926c:	8b 45 cc             	mov    -0x34(%ebp),%eax
47926f:	8b 55 d0             	mov    -0x30(%ebp),%edx
479272:	e8 96 89 f8 ff       	call   0x401c0d
479277:	89 45 cc             	mov    %eax,-0x34(%ebp)
47927a:	89 55 d0             	mov    %edx,-0x30(%ebp)
47927d:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
479281:	85 c9                	test   %ecx,%ecx
479283:	0f 8c 8a 00 00 00    	jl     0x479313
479289:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
47928d:	0f 8e 80 00 00 00    	jle    0x479313
479293:	8b 55 d4             	mov    -0x2c(%ebp),%edx
479296:	8b 02                	mov    (%edx),%eax
479298:	8b 52 04             	mov    0x4(%edx),%edx
47929b:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4792a1:	23 45 cc             	and    -0x34(%ebp),%eax
4792a4:	23 55 d0             	and    -0x30(%ebp),%edx
4792a7:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
4792ab:	e8 fd 93 f8 ff       	call   0x4026ad
4792b0:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
4792b4:	0f b7 45 e0          	movzwl -0x20(%ebp),%eax
4792b8:	83 c0 30             	add    $0x30,%eax
4792bb:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
4792bf:	0f b7 4d e0          	movzwl -0x20(%ebp),%ecx
4792c3:	83 f9 39             	cmp    $0x39,%ecx
4792c6:	7e 0e                	jle    0x4792d6
4792c8:	0f b7 55 b4          	movzwl -0x4c(%ebp),%edx
4792cc:	0f b7 45 e0          	movzwl -0x20(%ebp),%eax
4792d0:	03 c2                	add    %edx,%eax
4792d2:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
4792d6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4792d9:	8a 55 e0             	mov    -0x20(%ebp),%dl
4792dc:	88 11                	mov    %dl,(%ecx)
4792de:	8b 45 0c             	mov    0xc(%ebp),%eax
4792e1:	83 c0 01             	add    $0x1,%eax
4792e4:	89 45 0c             	mov    %eax,0xc(%ebp)
4792e7:	8b 45 cc             	mov    -0x34(%ebp),%eax
4792ea:	8b 55 d0             	mov    -0x30(%ebp),%edx
4792ed:	b1 04                	mov    $0x4,%cl
4792ef:	e8 b9 93 f8 ff       	call   0x4026ad
4792f4:	89 45 cc             	mov    %eax,-0x34(%ebp)
4792f7:	89 55 d0             	mov    %edx,-0x30(%ebp)
4792fa:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
4792fe:	83 e9 04             	sub    $0x4,%ecx
479301:	66 89 4d e4          	mov    %cx,-0x1c(%ebp)
479305:	8b 55 1c             	mov    0x1c(%ebp),%edx
479308:	83 ea 01             	sub    $0x1,%edx
47930b:	89 55 1c             	mov    %edx,0x1c(%ebp)
47930e:	e9 6a ff ff ff       	jmp    0x47927d
479313:	0f bf 45 e4          	movswl -0x1c(%ebp),%eax
479317:	85 c0                	test   %eax,%eax
479319:	0f 8c b6 00 00 00    	jl     0x4793d5
47931f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
479322:	8b 01                	mov    (%ecx),%eax
479324:	8b 51 04             	mov    0x4(%ecx),%edx
479327:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
47932d:	23 45 cc             	and    -0x34(%ebp),%eax
479330:	23 55 d0             	and    -0x30(%ebp),%edx
479333:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
479337:	e8 71 93 f8 ff       	call   0x4026ad
47933c:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
479340:	0f b7 55 b8          	movzwl -0x48(%ebp),%edx
479344:	83 fa 08             	cmp    $0x8,%edx
479347:	0f 8e 88 00 00 00    	jle    0x4793d5
47934d:	8b 45 0c             	mov    0xc(%ebp),%eax
479350:	89 45 f0             	mov    %eax,-0x10(%ebp)
479353:	8b 4d f0             	mov    -0x10(%ebp),%ecx
479356:	83 e9 01             	sub    $0x1,%ecx
479359:	89 4d f0             	mov    %ecx,-0x10(%ebp)
47935c:	8b 55 f0             	mov    -0x10(%ebp),%edx
47935f:	0f be 02             	movsbl (%edx),%eax
479362:	83 f8 66             	cmp    $0x66,%eax
479365:	74 0b                	je     0x479372
479367:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47936a:	0f be 11             	movsbl (%ecx),%edx
47936d:	83 fa 46             	cmp    $0x46,%edx
479370:	75 11                	jne    0x479383
479372:	8b 45 f0             	mov    -0x10(%ebp),%eax
479375:	c6 00 30             	movb   $0x30,(%eax)
479378:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47937b:	83 e9 01             	sub    $0x1,%ecx
47937e:	89 4d f0             	mov    %ecx,-0x10(%ebp)
479381:	eb d9                	jmp    0x47935c
479383:	8b 55 f0             	mov    -0x10(%ebp),%edx
479386:	3b 55 d8             	cmp    -0x28(%ebp),%edx
479389:	74 33                	je     0x4793be
47938b:	8b 45 f0             	mov    -0x10(%ebp),%eax
47938e:	0f be 08             	movsbl (%eax),%ecx
479391:	83 f9 39             	cmp    $0x39,%ecx
479394:	75 18                	jne    0x4793ae
479396:	8b 55 b4             	mov    -0x4c(%ebp),%edx
479399:	83 c2 01             	add    $0x1,%edx
47939c:	0f be c2             	movsbl %dl,%eax
47939f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4793a2:	0f be 11             	movsbl (%ecx),%edx
4793a5:	03 d0                	add    %eax,%edx
4793a7:	8b 45 f0             	mov    -0x10(%ebp),%eax
4793aa:	88 10                	mov    %dl,(%eax)
4793ac:	eb 0e                	jmp    0x4793bc
4793ae:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4793b1:	0f be 11             	movsbl (%ecx),%edx
4793b4:	83 c2 01             	add    $0x1,%edx
4793b7:	8b 45 f0             	mov    -0x10(%ebp),%eax
4793ba:	88 10                	mov    %dl,(%eax)
4793bc:	eb 17                	jmp    0x4793d5
4793be:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4793c1:	83 e9 01             	sub    $0x1,%ecx
4793c4:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4793c7:	8b 55 f0             	mov    -0x10(%ebp),%edx
4793ca:	0f be 02             	movsbl (%edx),%eax
4793cd:	83 c0 01             	add    $0x1,%eax
4793d0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4793d3:	88 01                	mov    %al,(%ecx)
4793d5:	eb 09                	jmp    0x4793e0
4793d7:	8b 55 1c             	mov    0x1c(%ebp),%edx
4793da:	83 ea 01             	sub    $0x1,%edx
4793dd:	89 55 1c             	mov    %edx,0x1c(%ebp)
4793e0:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
4793e4:	7e 11                	jle    0x4793f7
4793e6:	8b 45 0c             	mov    0xc(%ebp),%eax
4793e9:	c6 00 30             	movb   $0x30,(%eax)
4793ec:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4793ef:	83 c1 01             	add    $0x1,%ecx
4793f2:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4793f5:	eb e0                	jmp    0x4793d7
4793f7:	8b 55 d8             	mov    -0x28(%ebp),%edx
4793fa:	0f be 02             	movsbl (%edx),%eax
4793fd:	85 c0                	test   %eax,%eax
4793ff:	75 06                	jne    0x479407
479401:	8b 4d d8             	mov    -0x28(%ebp),%ecx
479404:	89 4d 0c             	mov    %ecx,0xc(%ebp)
479407:	0f b6 55 20          	movzbl 0x20(%ebp),%edx
47940b:	85 d2                	test   %edx,%edx
47940d:	74 06                	je     0x479415
47940f:	c6 45 de 50          	movb   $0x50,-0x22(%ebp)
479413:	eb 04                	jmp    0x479419
479415:	c6 45 de 70          	movb   $0x70,-0x22(%ebp)
479419:	8b 45 0c             	mov    0xc(%ebp),%eax
47941c:	8a 4d de             	mov    -0x22(%ebp),%cl
47941f:	88 08                	mov    %cl,(%eax)
479421:	8b 55 0c             	mov    0xc(%ebp),%edx
479424:	83 c2 01             	add    $0x1,%edx
479427:	89 55 0c             	mov    %edx,0xc(%ebp)
47942a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
47942d:	8b 01                	mov    (%ecx),%eax
47942f:	8b 51 04             	mov    0x4(%ecx),%edx
479432:	b1 34                	mov    $0x34,%cl
479434:	e8 74 92 f8 ff       	call   0x4026ad
479439:	25 ff 07 00 00       	and    $0x7ff,%eax
47943e:	83 e2 00             	and    $0x0,%edx
479441:	2b 45 c0             	sub    -0x40(%ebp),%eax
479444:	1b 55 c4             	sbb    -0x3c(%ebp),%edx
479447:	89 45 e8             	mov    %eax,-0x18(%ebp)
47944a:	89 55 ec             	mov    %edx,-0x14(%ebp)
47944d:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
479451:	7c 19                	jl     0x47946c
479453:	7f 06                	jg     0x47945b
479455:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
479459:	72 11                	jb     0x47946c
47945b:	8b 55 0c             	mov    0xc(%ebp),%edx
47945e:	c6 02 2b             	movb   $0x2b,(%edx)
479461:	8b 45 0c             	mov    0xc(%ebp),%eax
479464:	83 c0 01             	add    $0x1,%eax
479467:	89 45 0c             	mov    %eax,0xc(%ebp)
47946a:	eb 22                	jmp    0x47948e
47946c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47946f:	c6 01 2d             	movb   $0x2d,(%ecx)
479472:	8b 55 0c             	mov    0xc(%ebp),%edx
479475:	83 c2 01             	add    $0x1,%edx
479478:	89 55 0c             	mov    %edx,0xc(%ebp)
47947b:	8b 45 e8             	mov    -0x18(%ebp),%eax
47947e:	f7 d8                	neg    %eax
479480:	8b 4d ec             	mov    -0x14(%ebp),%ecx
479483:	83 d1 00             	adc    $0x0,%ecx
479486:	f7 d9                	neg    %ecx
479488:	89 45 e8             	mov    %eax,-0x18(%ebp)
47948b:	89 4d ec             	mov    %ecx,-0x14(%ebp)
47948e:	8b 55 0c             	mov    0xc(%ebp),%edx
479491:	89 55 d8             	mov    %edx,-0x28(%ebp)
479494:	8b 45 d8             	mov    -0x28(%ebp),%eax
479497:	c6 00 30             	movb   $0x30,(%eax)
47949a:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
47949e:	7c 4d                	jl     0x4794ed
4794a0:	7f 09                	jg     0x4794ab
4794a2:	81 7d e8 e8 03 00 00 	cmpl   $0x3e8,-0x18(%ebp)
4794a9:	72 42                	jb     0x4794ed
4794ab:	6a 00                	push   $0x0
4794ad:	68 e8 03 00 00       	push   $0x3e8
4794b2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4794b5:	51                   	push   %ecx
4794b6:	8b 55 e8             	mov    -0x18(%ebp),%edx
4794b9:	52                   	push   %edx
4794ba:	e8 ab 7f f8 ff       	call   0x40146a
4794bf:	0f be c0             	movsbl %al,%eax
4794c2:	83 c0 30             	add    $0x30,%eax
4794c5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4794c8:	88 01                	mov    %al,(%ecx)
4794ca:	8b 55 0c             	mov    0xc(%ebp),%edx
4794cd:	83 c2 01             	add    $0x1,%edx
4794d0:	89 55 0c             	mov    %edx,0xc(%ebp)
4794d3:	6a 00                	push   $0x0
4794d5:	68 e8 03 00 00       	push   $0x3e8
4794da:	8b 45 ec             	mov    -0x14(%ebp),%eax
4794dd:	50                   	push   %eax
4794de:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4794e1:	51                   	push   %ecx
4794e2:	e8 ac a1 f8 ff       	call   0x403693
4794e7:	89 45 e8             	mov    %eax,-0x18(%ebp)
4794ea:	89 55 ec             	mov    %edx,-0x14(%ebp)
4794ed:	8b 55 0c             	mov    0xc(%ebp),%edx
4794f0:	3b 55 d8             	cmp    -0x28(%ebp),%edx
4794f3:	75 0e                	jne    0x479503
4794f5:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4794f9:	7c 44                	jl     0x47953f
4794fb:	7f 06                	jg     0x479503
4794fd:	83 7d e8 64          	cmpl   $0x64,-0x18(%ebp)
479501:	72 3c                	jb     0x47953f
479503:	6a 00                	push   $0x0
479505:	6a 64                	push   $0x64
479507:	8b 45 ec             	mov    -0x14(%ebp),%eax
47950a:	50                   	push   %eax
47950b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
47950e:	51                   	push   %ecx
47950f:	e8 56 7f f8 ff       	call   0x40146a
479514:	0f be d0             	movsbl %al,%edx
479517:	83 c2 30             	add    $0x30,%edx
47951a:	8b 45 0c             	mov    0xc(%ebp),%eax
47951d:	88 10                	mov    %dl,(%eax)
47951f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479522:	83 c1 01             	add    $0x1,%ecx
479525:	89 4d 0c             	mov    %ecx,0xc(%ebp)
479528:	6a 00                	push   $0x0
47952a:	6a 64                	push   $0x64
47952c:	8b 55 ec             	mov    -0x14(%ebp),%edx
47952f:	52                   	push   %edx
479530:	8b 45 e8             	mov    -0x18(%ebp),%eax
479533:	50                   	push   %eax
479534:	e8 5a a1 f8 ff       	call   0x403693
479539:	89 45 e8             	mov    %eax,-0x18(%ebp)
47953c:	89 55 ec             	mov    %edx,-0x14(%ebp)
47953f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479542:	3b 4d d8             	cmp    -0x28(%ebp),%ecx
479545:	75 0e                	jne    0x479555
479547:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
47954b:	7c 44                	jl     0x479591