48610f:	ff 70 04             	push   0x4(%eax)
486112:	ff 30                	push   (%eax)
486114:	e8 f5 53 00 00       	call   0x48b50e
486119:	8b 5d 0c             	mov    0xc(%ebp),%ebx
48611c:	33 d2                	xor    %edx,%edx
48611e:	83 c4 1c             	add    $0x1c,%esp
486121:	89 45 fc             	mov    %eax,-0x4(%ebp)
486124:	83 7d ec 2d          	cmpl   $0x2d,-0x14(%ebp)
486128:	8b 45 f0             	mov    -0x10(%ebp),%eax
48612b:	0f 94 c2             	sete   %dl
48612e:	48                   	dec    %eax
48612f:	89 45 f8             	mov    %eax,-0x8(%ebp)
486132:	83 c8 ff             	or     $0xffffffff,%eax
486135:	8d 34 1a             	lea    (%edx,%ebx,1),%esi
486138:	39 45 10             	cmp    %eax,0x10(%ebp)
48613b:	74 05                	je     0x486142
48613d:	8b 45 10             	mov    0x10(%ebp),%eax
486140:	2b c2                	sub    %edx,%eax
486142:	ff 75 2c             	push   0x2c(%ebp)
486145:	8d 4d ec             	lea    -0x14(%ebp),%ecx
486148:	ff 75 28             	push   0x28(%ebp)
48614b:	ff 75 fc             	push   -0x4(%ebp)
48614e:	51                   	push   %ecx
48614f:	57                   	push   %edi
486150:	50                   	push   %eax
486151:	56                   	push   %esi
486152:	e8 bd 52 00 00       	call   0x48b414
486157:	83 c4 1c             	add    $0x1c,%esp
48615a:	85 c0                	test   %eax,%eax
48615c:	74 05                	je     0x486163
48615e:	c6 03 00             	movb   $0x0,(%ebx)
486161:	eb 50                	jmp    0x4861b3
486163:	8b 45 f0             	mov    -0x10(%ebp),%eax
486166:	48                   	dec    %eax
486167:	83 f8 fc             	cmp    $0xfffffffc,%eax
48616a:	7c 2b                	jl     0x486197
48616c:	3b c7                	cmp    %edi,%eax
48616e:	7d 27                	jge    0x486197
486170:	39 45 f8             	cmp    %eax,-0x8(%ebp)
486173:	7d 0a                	jge    0x48617f
486175:	8a 06                	mov    (%esi),%al
486177:	46                   	inc    %esi
486178:	84 c0                	test   %al,%al
48617a:	75 f9                	jne    0x486175
48617c:	88 46 fe             	mov    %al,-0x2(%esi)
48617f:	ff 75 2c             	push   0x2c(%ebp)
486182:	8d 45 ec             	lea    -0x14(%ebp),%eax
486185:	6a 01                	push   $0x1
486187:	50                   	push   %eax
486188:	57                   	push   %edi
486189:	ff 75 10             	push   0x10(%ebp)
48618c:	53                   	push   %ebx
48618d:	e8 69 fe ff ff       	call   0x485ffb
486192:	83 c4 18             	add    $0x18,%esp
486195:	eb 1c                	jmp    0x4861b3
486197:	ff 75 2c             	push   0x2c(%ebp)
48619a:	8d 45 ec             	lea    -0x14(%ebp),%eax
48619d:	6a 01                	push   $0x1
48619f:	50                   	push   %eax
4861a0:	ff 75 24             	push   0x24(%ebp)
4861a3:	ff 75 20             	push   0x20(%ebp)
4861a6:	57                   	push   %edi
4861a7:	ff 75 10             	push   0x10(%ebp)
4861aa:	53                   	push   %ebx
4861ab:	e8 62 fc ff ff       	call   0x485e12
4861b0:	83 c4 20             	add    $0x20,%esp
4861b3:	5f                   	pop    %edi
4861b4:	5e                   	pop    %esi
4861b5:	5b                   	pop    %ebx
4861b6:	c9                   	leave
4861b7:	c3                   	ret
4861b8:	8b ff                	mov    %edi,%edi
4861ba:	55                   	push   %ebp
4861bb:	8b ec                	mov    %esp,%ebp
4861bd:	51                   	push   %ecx
4861be:	8a 4d 0c             	mov    0xc(%ebp),%cl
4861c1:	8b 55 14             	mov    0x14(%ebp),%edx
4861c4:	0f b6 c1             	movzbl %cl,%eax
4861c7:	83 c0 04             	add    $0x4,%eax
4861ca:	3b d0                	cmp    %eax,%edx
4861cc:	73 0b                	jae    0x4861d9
4861ce:	8b 45 10             	mov    0x10(%ebp),%eax
4861d1:	6a 0c                	push   $0xc
4861d3:	c6 00 00             	movb   $0x0,(%eax)
4861d6:	58                   	pop    %eax
4861d7:	c9                   	leave
4861d8:	c3                   	ret
4861d9:	84 c9                	test   %cl,%cl
4861db:	8b 4d 10             	mov    0x10(%ebp),%ecx
4861de:	74 0d                	je     0x4861ed
4861e0:	c6 01 2d             	movb   $0x2d,(%ecx)
4861e3:	41                   	inc    %ecx
4861e4:	c6 01 00             	movb   $0x0,(%ecx)
4861e7:	83 fa ff             	cmp    $0xffffffff,%edx
4861ea:	74 01                	je     0x4861ed
4861ec:	4a                   	dec    %edx
4861ed:	8b 45 08             	mov    0x8(%ebp),%eax
4861f0:	53                   	push   %ebx
4861f1:	56                   	push   %esi
4861f2:	57                   	push   %edi
4861f3:	0f b6 7d 18          	movzbl 0x18(%ebp),%edi
4861f7:	8d 1c 85 fc ff ff ff 	lea    -0x4(,%eax,4),%ebx
4861fe:	83 f7 01             	xor    $0x1,%edi
486201:	03 ff                	add    %edi,%edi
486203:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
486206:	8b 34 85 20 33 4a 00 	mov    0x4a3320(,%eax,4),%esi
48620d:	8d 46 01             	lea    0x1(%esi),%eax
486210:	89 45 fc             	mov    %eax,-0x4(%ebp)
486213:	8a 06                	mov    (%esi),%al
486215:	46                   	inc    %esi
486216:	84 c0                	test   %al,%al
486218:	75 f9                	jne    0x486213
48621a:	2b 75 fc             	sub    -0x4(%ebp),%esi
48621d:	3b f2                	cmp    %edx,%esi
48621f:	1b c0                	sbb    %eax,%eax
486221:	43                   	inc    %ebx
486222:	03 c3                	add    %ebx,%eax
486224:	03 c7                	add    %edi,%eax
486226:	ff 34 85 20 33 4a 00 	push   0x4a3320(,%eax,4)
48622d:	52                   	push   %edx
48622e:	51                   	push   %ecx
48622f:	e8 0a b3 ff ff       	call   0x48153e
486234:	83 c4 0c             	add    $0xc,%esp
486237:	5f                   	pop    %edi
486238:	5e                   	pop    %esi
486239:	5b                   	pop    %ebx
48623a:	85 c0                	test   %eax,%eax
48623c:	75 02                	jne    0x486240
48623e:	c9                   	leave
48623f:	c3                   	ret
486240:	33 c0                	xor    %eax,%eax
486242:	50                   	push   %eax
486243:	50                   	push   %eax
486244:	50                   	push   %eax
486245:	50                   	push   %eax
486246:	50                   	push   %eax
486247:	e8 02 34 ff ff       	call   0x47964e
48624c:	cc                   	int3
48624d:	8b ff                	mov    %edi,%edi
48624f:	55                   	push   %ebp
486250:	8b ec                	mov    %esp,%ebp
486252:	8b 55 14             	mov    0x14(%ebp),%edx
486255:	85 d2                	test   %edx,%edx
486257:	74 26                	je     0x48627f
486259:	56                   	push   %esi
48625a:	8b 75 10             	mov    0x10(%ebp),%esi
48625d:	8b ce                	mov    %esi,%ecx
48625f:	57                   	push   %edi
486260:	8d 79 01             	lea    0x1(%ecx),%edi
486263:	8a 01                	mov    (%ecx),%al
486265:	41                   	inc    %ecx
486266:	84 c0                	test   %al,%al
486268:	75 f9                	jne    0x486263
48626a:	2b cf                	sub    %edi,%ecx
48626c:	8d 41 01             	lea    0x1(%ecx),%eax
48626f:	50                   	push   %eax
486270:	8d 04 16             	lea    (%esi,%edx,1),%eax
486273:	56                   	push   %esi
486274:	50                   	push   %eax
486275:	e8 a6 53 fe ff       	call   0x46b620
48627a:	83 c4 0c             	add    $0xc,%esp
48627d:	5f                   	pop    %edi
48627e:	5e                   	pop    %esi
48627f:	5d                   	pop    %ebp
486280:	c3                   	ret
486281:	8b ff                	mov    %edi,%edi
486283:	55                   	push   %ebp
486284:	8b ec                	mov    %esp,%ebp
486286:	8b 45 0c             	mov    0xc(%ebp),%eax
486289:	53                   	push   %ebx
48628a:	8b 5d 14             	mov    0x14(%ebp),%ebx
48628d:	56                   	push   %esi
48628e:	8b 75 08             	mov    0x8(%ebp),%esi
486291:	57                   	push   %edi
486292:	0f bf cb             	movswl %bx,%ecx
486295:	8b 56 04             	mov    0x4(%esi),%edx
486298:	23 55 10             	and    0x10(%ebp),%edx
48629b:	23 06                	and    (%esi),%eax
48629d:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4862a3:	e8 c8 f7 00 00       	call   0x495a70
4862a8:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4862ac:	0f b7 f8             	movzwl %ax,%edi
4862af:	75 09                	jne    0x4862ba
4862b1:	83 ff 08             	cmp    $0x8,%edi
4862b4:	1a c0                	sbb    %al,%al
4862b6:	fe c0                	inc    %al
4862b8:	eb 55                	jmp    0x48630f
4862ba:	e8 15 37 00 00       	call   0x4899d4
4862bf:	85 c0                	test   %eax,%eax
4862c1:	75 12                	jne    0x4862d5
4862c3:	53                   	push   %ebx
4862c4:	ff 75 10             	push   0x10(%ebp)
4862c7:	ff 75 0c             	push   0xc(%ebp)
4862ca:	56                   	push   %esi
4862cb:	e8 ce f6 ff ff       	call   0x48599e
4862d0:	83 c4 10             	add    $0x10,%esp
4862d3:	eb 3a                	jmp    0x48630f
4862d5:	3d 00 02 00 00       	cmp    $0x200,%eax
4862da:	75 16                	jne    0x4862f2
4862dc:	33 c0                	xor    %eax,%eax
4862de:	66 85 ff             	test   %di,%di
4862e1:	74 2c                	je     0x48630f
4862e3:	39 46 04             	cmp    %eax,0x4(%esi)
4862e6:	7c 27                	jl     0x48630f
4862e8:	7f 04                	jg     0x4862ee
4862ea:	39 06                	cmp    %eax,(%esi)
4862ec:	72 21                	jb     0x48630f
4862ee:	b0 01                	mov    $0x1,%al
4862f0:	eb 1d                	jmp    0x48630f
4862f2:	3d 00 01 00 00       	cmp    $0x100,%eax
4862f7:	75 14                	jne    0x48630d
4862f9:	33 c0                	xor    %eax,%eax
4862fb:	66 85 ff             	test   %di,%di
4862fe:	74 0f                	je     0x48630f
486300:	39 46 04             	cmp    %eax,0x4(%esi)
486303:	7f 0a                	jg     0x48630f
486305:	7c e7                	jl     0x4862ee
486307:	39 06                	cmp    %eax,(%esi)
486309:	73 04                	jae    0x48630f
48630b:	eb e1                	jmp    0x4862ee
48630d:	32 c0                	xor    %al,%al
48630f:	5f                   	pop    %edi
486310:	5e                   	pop    %esi
486311:	5b                   	pop    %ebx
486312:	5d                   	pop    %ebp
486313:	c3                   	ret
486314:	8b ff                	mov    %edi,%edi
486316:	55                   	push   %ebp
486317:	8b ec                	mov    %esp,%ebp
486319:	51                   	push   %ecx
48631a:	51                   	push   %ecx
48631b:	53                   	push   %ebx
48631c:	56                   	push   %esi
48631d:	57                   	push   %edi
48631e:	8b 7d 0c             	mov    0xc(%ebp),%edi
486321:	85 ff                	test   %edi,%edi
486323:	75 24                	jne    0x486349
486325:	8b 4d 30             	mov    0x30(%ebp),%ecx
486328:	6a 16                	push   $0x16
48632a:	5e                   	pop    %esi
48632b:	51                   	push   %ecx
48632c:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
486330:	89 71 18             	mov    %esi,0x18(%ecx)
486333:	33 db                	xor    %ebx,%ebx
486335:	53                   	push   %ebx
486336:	53                   	push   %ebx
486337:	53                   	push   %ebx
486338:	53                   	push   %ebx
486339:	53                   	push   %ebx
48633a:	e8 65 32 ff ff       	call   0x4795a4
48633f:	83 c4 18             	add    $0x18,%esp
486342:	8b c6                	mov    %esi,%eax
486344:	e9 47 01 00 00       	jmp    0x486490
486349:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
48634d:	77 10                	ja     0x48635f
48634f:	8b 45 30             	mov    0x30(%ebp),%eax
486352:	6a 16                	push   $0x16
486354:	5e                   	pop    %esi
486355:	50                   	push   %eax
486356:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
48635a:	89 70 18             	mov    %esi,0x18(%eax)
48635d:	eb d4                	jmp    0x486333
48635f:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
486363:	74 ea                	je     0x48634f
486365:	33 db                	xor    %ebx,%ebx
486367:	39 5d 18             	cmp    %ebx,0x18(%ebp)
48636a:	77 10                	ja     0x48637c
48636c:	8b 45 30             	mov    0x30(%ebp),%eax
48636f:	6a 16                	push   $0x16
486371:	5e                   	pop    %esi
486372:	50                   	push   %eax
486373:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
486377:	89 70 18             	mov    %esi,0x18(%eax)
48637a:	eb b9                	jmp    0x486335
48637c:	8b 75 1c             	mov    0x1c(%ebp),%esi
48637f:	83 fe 41             	cmp    $0x41,%esi
486382:	74 12                	je     0x486396
486384:	83 fe 45             	cmp    $0x45,%esi
486387:	74 0d                	je     0x486396
486389:	83 fe 46             	cmp    $0x46,%esi
48638c:	74 08                	je     0x486396
48638e:	88 5d fc             	mov    %bl,-0x4(%ebp)
486391:	83 fe 47             	cmp    $0x47,%esi
486394:	75 04                	jne    0x48639a
486396:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
48639a:	8b 4d 24             	mov    0x24(%ebp),%ecx
48639d:	8b c1                	mov    %ecx,%eax
48639f:	83 e0 08             	and    $0x8,%eax
4863a2:	0b c3                	or     %ebx,%eax
4863a4:	75 41                	jne    0x4863e7
4863a6:	ff 75 08             	push   0x8(%ebp)
4863a9:	e8 8e f5 ff ff       	call   0x48593c
4863ae:	59                   	pop    %ecx
4863af:	8b c8                	mov    %eax,%ecx
4863b1:	85 c9                	test   %ecx,%ecx
4863b3:	74 2f                	je     0x4863e4
4863b5:	8b 45 08             	mov    0x8(%ebp),%eax
4863b8:	39 58 04             	cmp    %ebx,0x4(%eax)
4863bb:	7f 0c                	jg     0x4863c9
4863bd:	7c 04                	jl     0x4863c3
4863bf:	39 18                	cmp    %ebx,(%eax)
4863c1:	73 06                	jae    0x4863c9
4863c3:	c6 45 f8 01          	movb   $0x1,-0x8(%ebp)
4863c7:	eb 03                	jmp    0x4863cc
4863c9:	88 5d f8             	mov    %bl,-0x8(%ebp)
4863cc:	ff 75 fc             	push   -0x4(%ebp)
4863cf:	ff 75 10             	push   0x10(%ebp)
4863d2:	57                   	push   %edi
4863d3:	ff 75 f8             	push   -0x8(%ebp)
4863d6:	51                   	push   %ecx
4863d7:	e8 dc fd ff ff       	call   0x4861b8
4863dc:	83 c4 14             	add    $0x14,%esp
4863df:	e9 ac 00 00 00       	jmp    0x486490
4863e4:	8b 4d 24             	mov    0x24(%ebp),%ecx
4863e7:	8b c1                	mov    %ecx,%eax
4863e9:	83 e0 10             	and    $0x10,%eax
4863ec:	0b c3                	or     %ebx,%eax
4863ee:	74 04                	je     0x4863f4
4863f0:	6a 03                	push   $0x3
4863f2:	eb 02                	jmp    0x4863f6
4863f4:	6a 02                	push   $0x2
4863f6:	83 e1 20             	and    $0x20,%ecx
4863f9:	0b cb                	or     %ebx,%ecx
4863fb:	58                   	pop    %eax
4863fc:	74 03                	je     0x486401
4863fe:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
486401:	83 fe 61             	cmp    $0x61,%esi
486404:	7f 2b                	jg     0x486431
486406:	74 0a                	je     0x486412
486408:	83 ee 41             	sub    $0x41,%esi
48640b:	74 05                	je     0x486412
48640d:	83 ee 04             	sub    $0x4,%esi
486410:	eb 22                	jmp    0x486434
486412:	ff 75 30             	push   0x30(%ebp)
486415:	53                   	push   %ebx
486416:	50                   	push   %eax
486417:	ff 75 fc             	push   -0x4(%ebp)
48641a:	ff 75 20             	push   0x20(%ebp)
48641d:	ff 75 18             	push   0x18(%ebp)
486420:	ff 75 14             	push   0x14(%ebp)
486423:	ff 75 10             	push   0x10(%ebp)
486426:	57                   	push   %edi
486427:	ff 75 08             	push   0x8(%ebp)
48642a:	e8 12 f6 ff ff       	call   0x485a41
48642f:	eb 5c                	jmp    0x48648d
486431:	83 ee 65             	sub    $0x65,%esi
486434:	ff 75 30             	push   0x30(%ebp)
486437:	53                   	push   %ebx
486438:	74 3a                	je     0x486474
48643a:	83 ee 01             	sub    $0x1,%esi