5ec146:	e8 73 7a e3 ff       	call   0x423bbe
5ec14b:	8b 45 ec             	mov    -0x14(%ebp),%eax
5ec14e:	83 f8 08             	cmp    $0x8,%eax
5ec151:	72 0d                	jb     0x5ec160
5ec153:	40                   	inc    %eax
5ec154:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5ec157:	50                   	push   %eax
5ec158:	ff 75 d8             	push   -0x28(%ebp)
5ec15b:	e8 e7 5a e3 ff       	call   0x421c47
5ec160:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5ec163:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5ec16a:	59                   	pop    %ecx
5ec16b:	5e                   	pop    %esi
5ec16c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ec16f:	33 cd                	xor    %ebp,%ecx
5ec171:	e8 40 f6 e2 ff       	call   0x41b7b6
5ec176:	8b e5                	mov    %ebp,%esp
5ec178:	5d                   	pop    %ebp
5ec179:	c2 0c 00             	ret    $0xc
5ec17c:	cc                   	int3
5ec17d:	cc                   	int3
5ec17e:	cc                   	int3
5ec17f:	cc                   	int3
5ec180:	cc                   	int3
5ec181:	cc                   	int3
5ec182:	cc                   	int3
5ec183:	cc                   	int3
5ec184:	cc                   	int3
5ec185:	cc                   	int3
5ec186:	cc                   	int3
5ec187:	cc                   	int3
5ec188:	cc                   	int3
5ec189:	cc                   	int3
5ec18a:	cc                   	int3
5ec18b:	cc                   	int3
5ec18c:	cc                   	int3
5ec18d:	cc                   	int3
5ec18e:	cc                   	int3
5ec18f:	cc                   	int3
5ec190:	cc                   	int3
5ec191:	cc                   	int3
5ec192:	cc                   	int3
5ec193:	cc                   	int3
5ec194:	cc                   	int3
5ec195:	cc                   	int3
5ec196:	cc                   	int3
5ec197:	cc                   	int3
5ec198:	cc                   	int3
5ec199:	cc                   	int3
5ec19a:	cc                   	int3
5ec19b:	cc                   	int3
5ec19c:	cc                   	int3
5ec19d:	cc                   	int3
5ec19e:	cc                   	int3
5ec19f:	cc                   	int3
5ec1a0:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
5ec1a4:	50                   	push   %eax
5ec1a5:	ff 71 08             	push   0x8(%ecx)
5ec1a8:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5ec1ac:	e8 5a 3b e4 ff       	call   0x42fd0b
5ec1b1:	c2 0c 00             	ret    $0xc
5ec1b4:	cc                   	int3
5ec1b5:	cc                   	int3
5ec1b6:	cc                   	int3
5ec1b7:	cc                   	int3
5ec1b8:	cc                   	int3
5ec1b9:	cc                   	int3
5ec1ba:	cc                   	int3
5ec1bb:	cc                   	int3
5ec1bc:	cc                   	int3
5ec1bd:	cc                   	int3
5ec1be:	cc                   	int3
5ec1bf:	cc                   	int3
5ec1c0:	53                   	push   %ebx
5ec1c1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
5ec1c5:	56                   	push   %esi
5ec1c6:	57                   	push   %edi
5ec1c7:	8b f1                	mov    %ecx,%esi
5ec1c9:	8b 7b 10             	mov    0x10(%ebx),%edi
5ec1cc:	53                   	push   %ebx
5ec1cd:	ff 74 24 1c          	push   0x1c(%esp)
5ec1d1:	8b 06                	mov    (%esi),%eax
5ec1d3:	ff 74 24 1c          	push   0x1c(%esp)
5ec1d7:	ff 50 0c             	call   *0xc(%eax)
5ec1da:	50                   	push   %eax
5ec1db:	e8 b8 31 e3 ff       	call   0x41f398
5ec1e0:	8b 56 04             	mov    0x4(%esi),%edx
5ec1e3:	83 c4 0c             	add    $0xc,%esp
5ec1e6:	8b 4b 10             	mov    0x10(%ebx),%ecx
5ec1e9:	8d 04 3a             	lea    (%edx,%edi,1),%eax
5ec1ec:	3b c1                	cmp    %ecx,%eax
5ec1ee:	76 0f                	jbe    0x5ec1ff
5ec1f0:	2b d1                	sub    %ecx,%edx
5ec1f2:	8b cb                	mov    %ebx,%ecx
5ec1f4:	6a 30                	push   $0x30
5ec1f6:	03 d7                	add    %edi,%edx
5ec1f8:	52                   	push   %edx
5ec1f9:	57                   	push   %edi
5ec1fa:	e8 dd 33 e3 ff       	call   0x41f5dc
5ec1ff:	5f                   	pop    %edi
5ec200:	5e                   	pop    %esi
5ec201:	5b                   	pop    %ebx
5ec202:	c2 0c 00             	ret    $0xc
5ec205:	cc                   	int3
5ec206:	cc                   	int3
5ec207:	cc                   	int3
5ec208:	cc                   	int3
5ec209:	cc                   	int3
5ec20a:	cc                   	int3
5ec20b:	cc                   	int3
5ec20c:	cc                   	int3
5ec20d:	cc                   	int3
5ec20e:	cc                   	int3
5ec20f:	cc                   	int3
5ec210:	cc                   	int3
5ec211:	cc                   	int3
5ec212:	cc                   	int3
5ec213:	cc                   	int3
5ec214:	cc                   	int3
5ec215:	cc                   	int3
5ec216:	cc                   	int3
5ec217:	cc                   	int3
5ec218:	cc                   	int3
5ec219:	cc                   	int3
5ec21a:	cc                   	int3
5ec21b:	cc                   	int3
5ec21c:	cc                   	int3
5ec21d:	cc                   	int3
5ec21e:	cc                   	int3
5ec21f:	cc                   	int3
5ec220:	55                   	push   %ebp
5ec221:	8b ec                	mov    %esp,%ebp
5ec223:	6a ff                	push   $0xffffffff
5ec225:	68 10 d0 b6 00       	push   $0xb6d010
5ec22a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5ec230:	50                   	push   %eax
5ec231:	83 ec 40             	sub    $0x40,%esp
5ec234:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
5ec239:	33 c5                	xor    %ebp,%eax
5ec23b:	89 45 f0             	mov    %eax,-0x10(%ebp)
5ec23e:	53                   	push   %ebx
5ec23f:	56                   	push   %esi
5ec240:	57                   	push   %edi
5ec241:	50                   	push   %eax
5ec242:	8d 45 f4             	lea    -0xc(%ebp),%eax
5ec245:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5ec24b:	8b 45 0c             	mov    0xc(%ebp),%eax
5ec24e:	8b 4d 10             	mov    0x10(%ebp),%ecx
5ec251:	8b 75 08             	mov    0x8(%ebp),%esi
5ec254:	89 4d bc             	mov    %ecx,-0x44(%ebp)
5ec257:	8b ce                	mov    %esi,%ecx
5ec259:	8b 58 28             	mov    0x28(%eax),%ebx
5ec25c:	85 db                	test   %ebx,%ebx
5ec25e:	75 0e                	jne    0x5ec26e
5ec260:	6a 5a                	push   $0x5a
5ec262:	6a 01                	push   $0x1
5ec264:	e8 a2 3a e4 ff       	call   0x42fd0b
5ec269:	e9 e1 01 00 00       	jmp    0x5ec44f
5ec26e:	8b 7e 10             	mov    0x10(%esi),%edi
5ec271:	6a 05                	push   $0x5
5ec273:	68 88 97 be 00       	push   $0xbe9788
5ec278:	89 7d b8             	mov    %edi,-0x48(%ebp)
5ec27b:	e8 c6 4a e4 ff       	call   0x430d46
5ec280:	85 db                	test   %ebx,%ebx
5ec282:	79 17                	jns    0x5ec29b
5ec284:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
5ec288:	72 04                	jb     0x5ec28e
5ec28a:	8b 06                	mov    (%esi),%eax
5ec28c:	eb 02                	jmp    0x5ec290
5ec28e:	8b c6                	mov    %esi,%eax
5ec290:	b9 2d 00 00 00       	mov    $0x2d,%ecx
5ec295:	f7 db                	neg    %ebx
5ec297:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
5ec29b:	33 c0                	xor    %eax,%eax
5ec29d:	c7 45 d4 07 00 00 00 	movl   $0x7,-0x2c(%ebp)
5ec2a4:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
5ec2ab:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
5ec2af:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ec2b2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5ec2b5:	b8 c5 b3 a2 91       	mov    $0x91a2b3c5,%eax
5ec2ba:	f7 eb                	imul   %ebx
5ec2bc:	51                   	push   %ecx
5ec2bd:	ff 75 bc             	push   -0x44(%ebp)
5ec2c0:	03 d3                	add    %ebx,%edx
5ec2c2:	c1 fa 0b             	sar    $0xb,%edx
5ec2c5:	8b c2                	mov    %edx,%eax
5ec2c7:	c1 e8 1f             	shr    $0x1f,%eax
5ec2ca:	03 c2                	add    %edx,%eax
5ec2cc:	50                   	push   %eax
5ec2cd:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5ec2d0:	e8 c3 30 e3 ff       	call   0x41f398
5ec2d5:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5ec2d8:	83 c4 0c             	add    $0xc,%esp
5ec2db:	85 c9                	test   %ecx,%ecx
5ec2dd:	74 31                	je     0x5ec310
5ec2df:	8d 3c 7d 04 00 00 00 	lea    0x4(,%edi,2),%edi
5ec2e6:	49                   	dec    %ecx
5ec2e7:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
5ec2eb:	72 04                	jb     0x5ec2f1
5ec2ed:	8b 16                	mov    (%esi),%edx
5ec2ef:	eb 02                	jmp    0x5ec2f3
5ec2f1:	8b d6                	mov    %esi,%edx
5ec2f3:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
5ec2f7:	8d 45 c0             	lea    -0x40(%ebp),%eax
5ec2fa:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
5ec2fe:	66 8b 04 48          	mov    (%eax,%ecx,2),%ax
5ec302:	66 89 04 3a          	mov    %ax,(%edx,%edi,1)
5ec306:	83 ef 02             	sub    $0x2,%edi
5ec309:	85 c9                	test   %ecx,%ecx
5ec30b:	75 d9                	jne    0x5ec2e6
5ec30d:	8b 7d b8             	mov    -0x48(%ebp),%edi
5ec310:	33 c0                	xor    %eax,%eax
5ec312:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
5ec319:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5ec320:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
5ec324:	8d 45 d8             	lea    -0x28(%ebp),%eax
5ec327:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5ec32b:	50                   	push   %eax
5ec32c:	69 45 b4 10 0e 00 00 	imul   $0xe10,-0x4c(%ebp),%eax
5ec333:	ff 75 bc             	push   -0x44(%ebp)
5ec336:	2b d8                	sub    %eax,%ebx
5ec338:	b8 89 88 88 88       	mov    $0x88888889,%eax
5ec33d:	f7 eb                	imul   %ebx
5ec33f:	03 d3                	add    %ebx,%edx
5ec341:	c1 fa 05             	sar    $0x5,%edx
5ec344:	8b c2                	mov    %edx,%eax
5ec346:	c1 e8 1f             	shr    $0x1f,%eax
5ec349:	03 c2                	add    %edx,%eax
5ec34b:	50                   	push   %eax
5ec34c:	e8 47 30 e3 ff       	call   0x41f398
5ec351:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5ec354:	83 c4 0c             	add    $0xc,%esp
5ec357:	85 c9                	test   %ecx,%ecx
5ec359:	74 2e                	je     0x5ec389
5ec35b:	8d 3c 7d 08 00 00 00 	lea    0x8(,%edi,2),%edi
5ec362:	49                   	dec    %ecx
5ec363:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
5ec367:	72 04                	jb     0x5ec36d
5ec369:	8b 16                	mov    (%esi),%edx
5ec36b:	eb 02                	jmp    0x5ec36f
5ec36d:	8b d6                	mov    %esi,%edx
5ec36f:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
5ec373:	8d 45 d8             	lea    -0x28(%ebp),%eax
5ec376:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
5ec37a:	66 8b 04 48          	mov    (%eax,%ecx,2),%ax
5ec37e:	66 89 04 3a          	mov    %ax,(%edx,%edi,1)
5ec382:	83 ef 02             	sub    $0x2,%edi
5ec385:	85 c9                	test   %ecx,%ecx
5ec387:	75 d9                	jne    0x5ec362
5ec389:	8b 45 ec             	mov    -0x14(%ebp),%eax
5ec38c:	83 f8 08             	cmp    $0x8,%eax
5ec38f:	72 51                	jb     0x5ec3e2
5ec391:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5ec394:	40                   	inc    %eax
5ec395:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5ec39a:	76 05                	jbe    0x5ec3a1
5ec39c:	e8 ec 15 e5 ff       	call   0x43d98d
5ec3a1:	03 c0                	add    %eax,%eax
5ec3a3:	3d 00 10 00 00       	cmp    $0x1000,%eax
5ec3a8:	72 2f                	jb     0x5ec3d9
5ec3aa:	f6 45 d8 1f          	testb  $0x1f,-0x28(%ebp)
5ec3ae:	74 05                	je     0x5ec3b5
5ec3b0:	e8 d8 15 e5 ff       	call   0x43d98d
5ec3b5:	8b 41 fc             	mov    -0x4(%ecx),%eax
5ec3b8:	3b c1                	cmp    %ecx,%eax
5ec3ba:	72 05                	jb     0x5ec3c1
5ec3bc:	e8 cc 15 e5 ff       	call   0x43d98d
5ec3c1:	2b c8                	sub    %eax,%ecx
5ec3c3:	83 f9 04             	cmp    $0x4,%ecx
5ec3c6:	73 05                	jae    0x5ec3cd
5ec3c8:	e8 c0 15 e5 ff       	call   0x43d98d
5ec3cd:	83 f9 23             	cmp    $0x23,%ecx
5ec3d0:	76 05                	jbe    0x5ec3d7
5ec3d2:	e8 b6 15 e5 ff       	call   0x43d98d
5ec3d7:	8b c8                	mov    %eax,%ecx
5ec3d9:	51                   	push   %ecx
5ec3da:	e8 b0 53 e1 ff       	call   0x40178f
5ec3df:	83 c4 04             	add    $0x4,%esp
5ec3e2:	33 c0                	xor    %eax,%eax
5ec3e4:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
5ec3eb:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
5ec3ef:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5ec3f2:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5ec3f9:	83 f8 08             	cmp    $0x8,%eax
5ec3fc:	72 51                	jb     0x5ec44f
5ec3fe:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5ec401:	40                   	inc    %eax
5ec402:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5ec407:	76 05                	jbe    0x5ec40e
5ec409:	e8 7f 15 e5 ff       	call   0x43d98d
5ec40e:	03 c0                	add    %eax,%eax
5ec410:	3d 00 10 00 00       	cmp    $0x1000,%eax
5ec415:	72 2f                	jb     0x5ec446
5ec417:	f6 45 c0 1f          	testb  $0x1f,-0x40(%ebp)
5ec41b:	74 05                	je     0x5ec422
5ec41d:	e8 6b 15 e5 ff       	call   0x43d98d
5ec422:	8b 41 fc             	mov    -0x4(%ecx),%eax
5ec425:	3b c1                	cmp    %ecx,%eax
5ec427:	72 05                	jb     0x5ec42e
5ec429:	e8 5f 15 e5 ff       	call   0x43d98d
5ec42e:	2b c8                	sub    %eax,%ecx
5ec430:	83 f9 04             	cmp    $0x4,%ecx
5ec433:	73 05                	jae    0x5ec43a
5ec435:	e8 53 15 e5 ff       	call   0x43d98d
5ec43a:	83 f9 23             	cmp    $0x23,%ecx
5ec43d:	76 05                	jbe    0x5ec444
5ec43f:	e8 49 15 e5 ff       	call   0x43d98d
5ec444:	8b c8                	mov    %eax,%ecx
5ec446:	51                   	push   %ecx
5ec447:	e8 43 53 e1 ff       	call   0x40178f
5ec44c:	83 c4 04             	add    $0x4,%esp
5ec44f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5ec452:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5ec459:	59                   	pop    %ecx
5ec45a:	5f                   	pop    %edi
5ec45b:	5e                   	pop    %esi
5ec45c:	5b                   	pop    %ebx
5ec45d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ec460:	33 cd                	xor    %ebp,%ecx
5ec462:	e8 4f f3 e2 ff       	call   0x41b7b6
5ec467:	8b e5                	mov    %ebp,%esp
5ec469:	5d                   	pop    %ebp
5ec46a:	c2 0c 00             	ret    $0xc
5ec46d:	cc                   	int3
5ec46e:	cc                   	int3
5ec46f:	cc                   	int3
5ec470:	cc                   	int3
5ec471:	cc                   	int3
5ec472:	cc                   	int3
5ec473:	cc                   	int3
5ec474:	cc                   	int3
5ec475:	cc                   	int3
5ec476:	cc                   	int3
5ec477:	cc                   	int3
5ec478:	cc                   	int3
5ec479:	cc                   	int3
5ec47a:	cc                   	int3
5ec47b:	cc                   	int3
5ec47c:	cc                   	int3
5ec47d:	cc                   	int3
5ec47e:	cc                   	int3
5ec47f:	cc                   	int3
5ec480:	cc                   	int3
5ec481:	cc                   	int3
5ec482:	cc                   	int3
5ec483:	cc                   	int3
5ec484:	cc                   	int3
5ec485:	cc                   	int3
5ec486:	cc                   	int3
5ec487:	cc                   	int3