42810f:	ff 75 08             	push   0x8(%ebp)
428112:	e8 05 00 00 00       	call   0x42811c
428117:	83 c4 10             	add    $0x10,%esp
42811a:	5d                   	pop    %ebp
42811b:	c3                   	ret
42811c:	8b ff                	mov    %edi,%edi
42811e:	55                   	push   %ebp
42811f:	8b ec                	mov    %esp,%ebp
428121:	83 ec 14             	sub    $0x14,%esp
428124:	57                   	push   %edi
428125:	8b 7d 08             	mov    0x8(%ebp),%edi
428128:	85 ff                	test   %edi,%edi
42812a:	75 1a                	jne    0x428146
42812c:	e8 0f e5 ff ff       	call   0x426640
428131:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
428137:	e8 33 89 ff ff       	call   0x420a6f
42813c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
428141:	e9 a6 00 00 00       	jmp    0x4281ec
428146:	53                   	push   %ebx
428147:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42814a:	85 db                	test   %ebx,%ebx
42814c:	75 1a                	jne    0x428168
42814e:	e8 ed e4 ff ff       	call   0x426640
428153:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
428159:	e8 11 89 ff ff       	call   0x420a6f
42815e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
428163:	e9 83 00 00 00       	jmp    0x4281eb
428168:	56                   	push   %esi
428169:	8b 75 10             	mov    0x10(%ebp),%esi
42816c:	85 f6                	test   %esi,%esi
42816e:	75 04                	jne    0x428174
428170:	33 c0                	xor    %eax,%eax
428172:	eb 76                	jmp    0x4281ea
428174:	ff 75 14             	push   0x14(%ebp)
428177:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42817a:	e8 72 cc ff ff       	call   0x424df1
42817f:	8b 45 f0             	mov    -0x10(%ebp),%eax
428182:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
428189:	75 0f                	jne    0x42819a
42818b:	56                   	push   %esi
42818c:	53                   	push   %ebx
42818d:	57                   	push   %edi
42818e:	e8 ee fe ff ff       	call   0x428081
428193:	83 c4 0c             	add    $0xc,%esp
428196:	8b c8                	mov    %eax,%ecx
428198:	eb 3e                	jmp    0x4281d8
42819a:	0f b7 07             	movzwl (%edi),%eax
42819d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4281a0:	51                   	push   %ecx
4281a1:	50                   	push   %eax
4281a2:	8d 7f 02             	lea    0x2(%edi),%edi
4281a5:	e8 97 fd ff ff       	call   0x427f41
4281aa:	0f b7 c0             	movzwl %ax,%eax
4281ad:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4281b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4281b3:	0f b7 03             	movzwl (%ebx),%eax
4281b6:	8d 5b 02             	lea    0x2(%ebx),%ebx
4281b9:	51                   	push   %ecx
4281ba:	50                   	push   %eax
4281bb:	e8 81 fd ff ff       	call   0x427f41
4281c0:	8b 55 fc             	mov    -0x4(%ebp),%edx
4281c3:	83 c4 10             	add    $0x10,%esp
4281c6:	0f b7 c0             	movzwl %ax,%eax
4281c9:	8b ca                	mov    %edx,%ecx
4281cb:	2b c8                	sub    %eax,%ecx
4281cd:	75 09                	jne    0x4281d8
4281cf:	85 d2                	test   %edx,%edx
4281d1:	74 05                	je     0x4281d8
4281d3:	83 ee 01             	sub    $0x1,%esi
4281d6:	75 c2                	jne    0x42819a
4281d8:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
4281dc:	74 0a                	je     0x4281e8
4281de:	8b 45 ec             	mov    -0x14(%ebp),%eax
4281e1:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
4281e8:	8b c1                	mov    %ecx,%eax
4281ea:	5e                   	pop    %esi
4281eb:	5b                   	pop    %ebx
4281ec:	5f                   	pop    %edi
4281ed:	c9                   	leave
4281ee:	c3                   	ret
4281ef:	8b ff                	mov    %edi,%edi
4281f1:	55                   	push   %ebp
4281f2:	8b ec                	mov    %esp,%ebp
4281f4:	8b 45 10             	mov    0x10(%ebp),%eax
4281f7:	85 c0                	test   %eax,%eax
4281f9:	75 02                	jne    0x4281fd
4281fb:	5d                   	pop    %ebp
4281fc:	c3                   	ret
4281fd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
428200:	8b 55 08             	mov    0x8(%ebp),%edx
428203:	56                   	push   %esi
428204:	83 e8 01             	sub    $0x1,%eax
428207:	74 15                	je     0x42821e
428209:	0f b7 32             	movzwl (%edx),%esi
42820c:	66 85 f6             	test   %si,%si
42820f:	74 0d                	je     0x42821e
428211:	66 3b 31             	cmp    (%ecx),%si
428214:	75 08                	jne    0x42821e
428216:	83 c2 02             	add    $0x2,%edx
428219:	83 c1 02             	add    $0x2,%ecx
42821c:	eb e6                	jmp    0x428204
42821e:	0f b7 02             	movzwl (%edx),%eax
428221:	0f b7 09             	movzwl (%ecx),%ecx
428224:	2b c1                	sub    %ecx,%eax
428226:	5e                   	pop    %esi
428227:	5d                   	pop    %ebp
428228:	c3                   	ret
428229:	8b ff                	mov    %edi,%edi
42822b:	55                   	push   %ebp
42822c:	8b ec                	mov    %esp,%ebp
42822e:	8b 45 08             	mov    0x8(%ebp),%eax
428231:	56                   	push   %esi
428232:	be 90 01 00 00       	mov    $0x190,%esi
428237:	57                   	push   %edi
428238:	8d 48 ff             	lea    -0x1(%eax),%ecx
42823b:	05 2b 01 00 00       	add    $0x12b,%eax
428240:	99                   	cltd
428241:	f7 fe                	idiv   %esi
428243:	6a 64                	push   $0x64
428245:	8b f0                	mov    %eax,%esi
428247:	8b c1                	mov    %ecx,%eax
428249:	99                   	cltd
42824a:	5f                   	pop    %edi
42824b:	f7 ff                	idiv   %edi
42824d:	5f                   	pop    %edi
42824e:	2b f0                	sub    %eax,%esi
428250:	8b c1                	mov    %ecx,%eax
428252:	99                   	cltd
428253:	83 e2 03             	and    $0x3,%edx
428256:	03 c2                	add    %edx,%eax
428258:	c1 f8 02             	sar    $0x2,%eax
42825b:	83 c0 ef             	add    $0xffffffef,%eax
42825e:	03 c6                	add    %esi,%eax
428260:	5e                   	pop    %esi
428261:	5d                   	pop    %ebp
428262:	c3                   	ret
428263:	8b ff                	mov    %edi,%edi
428265:	55                   	push   %ebp
428266:	8b ec                	mov    %esp,%ebp
428268:	83 ec 0c             	sub    $0xc,%esp
42826b:	56                   	push   %esi
42826c:	8b 75 08             	mov    0x8(%ebp),%esi
42826f:	85 f6                	test   %esi,%esi
428271:	75 16                	jne    0x428289
428273:	e8 c8 e3 ff ff       	call   0x426640
428278:	6a 16                	push   $0x16
42827a:	5e                   	pop    %esi
42827b:	89 30                	mov    %esi,(%eax)
42827d:	e8 ed 87 ff ff       	call   0x420a6f
428282:	8b c6                	mov    %esi,%eax
428284:	e9 21 01 00 00       	jmp    0x4283aa
428289:	57                   	push   %edi
42828a:	6a 09                	push   $0x9
42828c:	83 c8 ff             	or     $0xffffffff,%eax
42828f:	8b fe                	mov    %esi,%edi
428291:	59                   	pop    %ecx
428292:	f3 ab                	rep stos %eax,%es:(%edi)
428294:	8b 7d 0c             	mov    0xc(%ebp),%edi
428297:	85 ff                	test   %edi,%edi
428299:	75 11                	jne    0x4282ac
42829b:	e8 a0 e3 ff ff       	call   0x426640
4282a0:	6a 16                	push   $0x16
4282a2:	5e                   	pop    %esi
4282a3:	89 30                	mov    %esi,(%eax)
4282a5:	e8 c5 87 ff ff       	call   0x420a6f
4282aa:	eb 33                	jmp    0x4282df
4282ac:	8b 4f 04             	mov    0x4(%edi),%ecx
4282af:	8b 07                	mov    (%edi),%eax
4282b1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4282b4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4282b7:	83 f9 ff             	cmp    $0xffffffff,%ecx
4282ba:	7f 09                	jg     0x4282c5
4282bc:	7c 17                	jl     0x4282d5
4282be:	3d 40 57 ff ff       	cmp    $0xffff5740,%eax
4282c3:	72 10                	jb     0x4282d5
4282c5:	6a 07                	push   $0x7
4282c7:	5a                   	pop    %edx
4282c8:	3b ca                	cmp    %edx,%ecx
4282ca:	7c 1a                	jl     0x4282e6
4282cc:	7f 07                	jg     0x4282d5
4282ce:	3d df ef 58 93       	cmp    $0x9358efdf,%eax
4282d3:	76 11                	jbe    0x4282e6
4282d5:	e8 66 e3 ff ff       	call   0x426640
4282da:	6a 16                	push   $0x16
4282dc:	5e                   	pop    %esi
4282dd:	89 30                	mov    %esi,(%eax)
4282df:	8b c6                	mov    %esi,%eax
4282e1:	e9 c3 00 00 00       	jmp    0x4283a9
4282e6:	53                   	push   %ebx
4282e7:	8d 45 ff             	lea    -0x1(%ebp),%eax
4282ea:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4282ee:	50                   	push   %eax
4282ef:	8d 45 f4             	lea    -0xc(%ebp),%eax
4282f2:	50                   	push   %eax
4282f3:	e8 b5 00 00 00       	call   0x4283ad
4282f8:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4282fb:	59                   	pop    %ecx
4282fc:	59                   	pop    %ecx
4282fd:	6a 00                	push   $0x0
4282ff:	89 46 14             	mov    %eax,0x14(%esi)
428302:	b8 80 51 01 00       	mov    $0x15180,%eax
428307:	50                   	push   %eax
428308:	ff 75 f8             	push   -0x8(%ebp)
42830b:	53                   	push   %ebx
42830c:	e8 7f 3e 01 00       	call   0x43c190
428311:	8b c8                	mov    %eax,%ecx
428313:	ba 80 51 01 00       	mov    $0x15180,%edx
428318:	f7 ea                	imul   %edx
42831a:	89 4e 1c             	mov    %ecx,0x1c(%esi)
42831d:	2b d8                	sub    %eax,%ebx
42831f:	8b 45 f8             	mov    -0x8(%ebp),%eax
428322:	1b c2                	sbb    %edx,%eax
428324:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
428328:	89 45 f8             	mov    %eax,-0x8(%ebp)
42832b:	ba 14 38 44 00       	mov    $0x443814,%edx
428330:	75 05                	jne    0x428337
428332:	ba e0 37 44 00       	mov    $0x4437e0,%edx
428337:	33 c0                	xor    %eax,%eax
428339:	40                   	inc    %eax
42833a:	39 4a 04             	cmp    %ecx,0x4(%edx)
42833d:	7d 06                	jge    0x428345
42833f:	40                   	inc    %eax
428340:	39 0c 82             	cmp    %ecx,(%edx,%eax,4)
428343:	7c fa                	jl     0x42833f
428345:	48                   	dec    %eax
428346:	89 46 10             	mov    %eax,0x10(%esi)
428349:	6a 00                	push   $0x0
42834b:	2b 0c 82             	sub    (%edx,%eax,4),%ecx
42834e:	b8 80 51 01 00       	mov    $0x15180,%eax
428353:	50                   	push   %eax
428354:	89 4e 0c             	mov    %ecx,0xc(%esi)
428357:	ff 77 04             	push   0x4(%edi)
42835a:	ff 37                	push   (%edi)
42835c:	e8 2f 3e 01 00       	call   0x43c190
428361:	6a 07                	push   $0x7
428363:	83 c0 04             	add    $0x4,%eax
428366:	8b 7d f8             	mov    -0x8(%ebp),%edi
428369:	59                   	pop    %ecx
42836a:	99                   	cltd
42836b:	f7 f9                	idiv   %ecx
42836d:	6a 00                	push   $0x0
42836f:	b8 10 0e 00 00       	mov    $0xe10,%eax
428374:	89 56 18             	mov    %edx,0x18(%esi)
428377:	50                   	push   %eax
428378:	57                   	push   %edi
428379:	53                   	push   %ebx
42837a:	e8 11 3e 01 00       	call   0x43c190
42837f:	b9 10 0e 00 00       	mov    $0xe10,%ecx
428384:	89 46 08             	mov    %eax,0x8(%esi)
428387:	f7 e9                	imul   %ecx
428389:	6a 00                	push   $0x0
42838b:	2b d8                	sub    %eax,%ebx
42838d:	6a 3c                	push   $0x3c
42838f:	1b fa                	sbb    %edx,%edi
428391:	57                   	push   %edi
428392:	53                   	push   %ebx
428393:	e8 f8 3d 01 00       	call   0x43c190
428398:	83 66 20 00          	andl   $0x0,0x20(%esi)
42839c:	89 46 04             	mov    %eax,0x4(%esi)
42839f:	6b c0 3c             	imul   $0x3c,%eax,%eax
4283a2:	2b d8                	sub    %eax,%ebx
4283a4:	33 c0                	xor    %eax,%eax
4283a6:	89 1e                	mov    %ebx,(%esi)
4283a8:	5b                   	pop    %ebx
4283a9:	5f                   	pop    %edi
4283aa:	5e                   	pop    %esi
4283ab:	c9                   	leave
4283ac:	c3                   	ret
4283ad:	8b ff                	mov    %edi,%edi
4283af:	55                   	push   %ebp
4283b0:	8b ec                	mov    %esp,%ebp
4283b2:	51                   	push   %ecx
4283b3:	51                   	push   %ecx
4283b4:	8b 45 08             	mov    0x8(%ebp),%eax
4283b7:	b9 80 33 e1 01       	mov    $0x1e13380,%ecx
4283bc:	53                   	push   %ebx
4283bd:	56                   	push   %esi
4283be:	57                   	push   %edi
4283bf:	8b 18                	mov    (%eax),%ebx
4283c1:	8b 40 04             	mov    0x4(%eax),%eax
4283c4:	6a 00                	push   $0x0
4283c6:	51                   	push   %ecx
4283c7:	50                   	push   %eax
4283c8:	53                   	push   %ebx
4283c9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4283cc:	e8 bf 3d 01 00       	call   0x43c190
4283d1:	8b f8                	mov    %eax,%edi
4283d3:	8d 47 46             	lea    0x46(%edi),%eax
4283d6:	50                   	push   %eax
4283d7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4283da:	e8 4a fe ff ff       	call   0x428229
4283df:	59                   	pop    %ecx
4283e0:	b9 80 51 01 00       	mov    $0x15180,%ecx
4283e5:	f7 e9                	imul   %ecx
4283e7:	8b f2                	mov    %edx,%esi
4283e9:	8b c8                	mov    %eax,%ecx
4283eb:	8b c7                	mov    %edi,%eax
4283ed:	ba 80 33 e1 01       	mov    $0x1e13380,%edx
4283f2:	8b 7d f8             	mov    -0x8(%ebp),%edi
4283f5:	f7 ea                	imul   %edx
4283f7:	2b d8                	sub    %eax,%ebx
4283f9:	1b fa                	sbb    %edx,%edi
4283fb:	2b d9                	sub    %ecx,%ebx
4283fd:	1b fe                	sbb    %esi,%edi
4283ff:	8b 75 08             	mov    0x8(%ebp),%esi
428402:	89 1e                	mov    %ebx,(%esi)
428404:	89 7e 04             	mov    %edi,0x4(%esi)
428407:	85 ff                	test   %edi,%edi
428409:	7f 45                	jg     0x428450
42840b:	7c 04                	jl     0x428411
42840d:	85 db                	test   %ebx,%ebx
42840f:	73 3f                	jae    0x428450
428411:	b8 80 33 e1 01       	mov    $0x1e13380,%eax
428416:	03 d8                	add    %eax,%ebx
428418:	8b 45 fc             	mov    -0x4(%ebp),%eax
42841b:	89 1e                	mov    %ebx,(%esi)
42841d:	83 d7 00             	adc    $0x0,%edi
428420:	48                   	dec    %eax
428421:	50                   	push   %eax
428422:	89 7e 04             	mov    %edi,0x4(%esi)
428425:	89 45 fc             	mov    %eax,-0x4(%ebp)
428428:	e8 81 c9 ff ff       	call   0x424dae
42842d:	59                   	pop    %ecx
42842e:	84 c0                	test   %al,%al
428430:	74 14                	je     0x428446
428432:	8b 45 0c             	mov    0xc(%ebp),%eax
428435:	81 c3 80 51 01 00    	add    $0x15180,%ebx
42843b:	89 1e                	mov    %ebx,(%esi)
42843d:	83 d7 00             	adc    $0x0,%edi
428440:	89 7e 04             	mov    %edi,0x4(%esi)
428443:	c6 00 01             	movb   $0x1,(%eax)
428446:	8b 75 fc             	mov    -0x4(%ebp),%esi
428449:	5f                   	pop    %edi
42844a:	8b c6                	mov    %esi,%eax
42844c:	5e                   	pop    %esi
42844d:	5b                   	pop    %ebx
42844e:	c9                   	leave
42844f:	c3                   	ret
428450:	8b 75 fc             	mov    -0x4(%ebp),%esi
428453:	56                   	push   %esi
428454:	e8 55 c9 ff ff       	call   0x424dae
428459:	59                   	pop    %ecx
42845a:	84 c0                	test   %al,%al
42845c:	74 eb                	je     0x428449
42845e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
428461:	c6 01 01             	movb   $0x1,(%ecx)
428464:	eb e3                	jmp    0x428449
428466:	8b ff                	mov    %edi,%edi
428468:	55                   	push   %ebp
428469:	8b ec                	mov    %esp,%ebp