5ee21e:	56                   	push   %esi
5ee21f:	57                   	push   %edi
5ee220:	8b 7d 0c             	mov    0xc(%ebp),%edi
5ee223:	1b 7d 14             	sbb    0x14(%ebp),%edi
5ee226:	33 c9                	xor    %ecx,%ecx
5ee228:	33 c0                	xor    %eax,%eax
5ee22a:	41                   	inc    %ecx
5ee22b:	39 45 0c             	cmp    %eax,0xc(%ebp)
5ee22e:	7f 0b                	jg     0x5ee23b
5ee230:	7c 05                	jl     0x5ee237
5ee232:	39 45 08             	cmp    %eax,0x8(%ebp)
5ee235:	73 04                	jae    0x5ee23b
5ee237:	8b d9                	mov    %ecx,%ebx
5ee239:	eb 02                	jmp    0x5ee23d
5ee23b:	8b d8                	mov    %eax,%ebx
5ee23d:	39 45 14             	cmp    %eax,0x14(%ebp)
5ee240:	7f 0b                	jg     0x5ee24d
5ee242:	7c 05                	jl     0x5ee249
5ee244:	39 45 10             	cmp    %eax,0x10(%ebp)
5ee247:	73 04                	jae    0x5ee24d
5ee249:	8b f1                	mov    %ecx,%esi
5ee24b:	eb 02                	jmp    0x5ee24f
5ee24d:	8b f0                	mov    %eax,%esi
5ee24f:	3b de                	cmp    %esi,%ebx
5ee251:	74 2c                	je     0x5ee27f
5ee253:	39 45 0c             	cmp    %eax,0xc(%ebp)
5ee256:	7f 0b                	jg     0x5ee263
5ee258:	7c 05                	jl     0x5ee25f
5ee25a:	39 45 08             	cmp    %eax,0x8(%ebp)
5ee25d:	73 04                	jae    0x5ee263
5ee25f:	8b f1                	mov    %ecx,%esi
5ee261:	eb 02                	jmp    0x5ee265
5ee263:	8b f0                	mov    %eax,%esi
5ee265:	3b f8                	cmp    %eax,%edi
5ee267:	7f 06                	jg     0x5ee26f
5ee269:	7c 06                	jl     0x5ee271
5ee26b:	3b d0                	cmp    %eax,%edx
5ee26d:	72 02                	jb     0x5ee271
5ee26f:	8b c8                	mov    %eax,%ecx
5ee271:	3b f1                	cmp    %ecx,%esi
5ee273:	74 0a                	je     0x5ee27f
5ee275:	83 ca ff             	or     $0xffffffff,%edx
5ee278:	b8 16 02 07 80       	mov    $0x80070216,%eax
5ee27d:	8b fa                	mov    %edx,%edi
5ee27f:	8b 4d 18             	mov    0x18(%ebp),%ecx
5ee282:	89 11                	mov    %edx,(%ecx)
5ee284:	89 79 04             	mov    %edi,0x4(%ecx)
5ee287:	5f                   	pop    %edi
5ee288:	5e                   	pop    %esi
5ee289:	5b                   	pop    %ebx
5ee28a:	5d                   	pop    %ebp
5ee28b:	c3                   	ret
5ee28c:	6a 0c                	push   $0xc
5ee28e:	68 68 1a 70 00       	push   $0x701a68
5ee293:	e8 78 42 ff ff       	call   0x5e2510
5ee298:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5ee29c:	75 15                	jne    0x5ee2b3
5ee29e:	e8 56 ed ff ff       	call   0x5ecff9
5ee2a3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ee2a9:	e8 71 ec ff ff       	call   0x5ecf1f
5ee2ae:	83 c8 ff             	or     $0xffffffff,%eax
5ee2b1:	eb 47                	jmp    0x5ee2fa
5ee2b3:	8b 75 14             	mov    0x14(%ebp),%esi
5ee2b6:	85 f6                	test   %esi,%esi
5ee2b8:	74 0a                	je     0x5ee2c4
5ee2ba:	83 fe 01             	cmp    $0x1,%esi
5ee2bd:	74 05                	je     0x5ee2c4
5ee2bf:	83 fe 02             	cmp    $0x2,%esi
5ee2c2:	75 da                	jne    0x5ee29e
5ee2c4:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
5ee2c8:	ff 75 08             	push   0x8(%ebp)
5ee2cb:	e8 d2 de 00 00       	call   0x5fc1a2
5ee2d0:	59                   	pop    %ecx
5ee2d1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5ee2d5:	56                   	push   %esi
5ee2d6:	ff 75 10             	push   0x10(%ebp)
5ee2d9:	ff 75 0c             	push   0xc(%ebp)
5ee2dc:	ff 75 08             	push   0x8(%ebp)
5ee2df:	e8 0c 01 00 00       	call   0x5ee3f0
5ee2e4:	83 c4 10             	add    $0x10,%esp
5ee2e7:	8b f0                	mov    %eax,%esi
5ee2e9:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5ee2ec:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5ee2f3:	e8 15 00 00 00       	call   0x5ee30d
5ee2f8:	8b c6                	mov    %esi,%eax
5ee2fa:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ee2fd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5ee304:	59                   	pop    %ecx
5ee305:	5f                   	pop    %edi
5ee306:	5e                   	pop    %esi
5ee307:	5b                   	pop    %ebx
5ee308:	c9                   	leave
5ee309:	c3                   	ret
5ee30a:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5ee30d:	ff 75 08             	push   0x8(%ebp)
5ee310:	e8 a1 de 00 00       	call   0x5fc1b6
5ee315:	59                   	pop    %ecx
5ee316:	c3                   	ret
5ee317:	8b ff                	mov    %edi,%edi
5ee319:	55                   	push   %ebp
5ee31a:	8b ec                	mov    %esp,%ebp
5ee31c:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
5ee320:	56                   	push   %esi
5ee321:	57                   	push   %edi
5ee322:	0f 84 8c 00 00 00    	je     0x5ee3b4
5ee328:	8b 45 08             	mov    0x8(%ebp),%eax
5ee32b:	8b 40 0c             	mov    0xc(%eax),%eax
5ee32e:	90                   	nop
5ee32f:	a9 c0 04 00 00       	test   $0x4c0,%eax
5ee334:	74 7e                	je     0x5ee3b4
5ee336:	8b 45 08             	mov    0x8(%ebp),%eax
5ee339:	8b 40 0c             	mov    0xc(%eax),%eax
5ee33c:	90                   	nop
5ee33d:	a8 06                	test   $0x6,%al
5ee33f:	75 73                	jne    0x5ee3b4
5ee341:	8b 45 08             	mov    0x8(%ebp),%eax
5ee344:	33 f6                	xor    %esi,%esi
5ee346:	39 70 08             	cmp    %esi,0x8(%eax)
5ee349:	7e 69                	jle    0x5ee3b4
5ee34b:	8b 50 10             	mov    0x10(%eax),%edx
5ee34e:	90                   	nop
5ee34f:	8b c2                	mov    %edx,%eax
5ee351:	8b ca                	mov    %edx,%ecx
5ee353:	83 e0 3f             	and    $0x3f,%eax
5ee356:	c1 f9 06             	sar    $0x6,%ecx
5ee359:	6b c0 38             	imul   $0x38,%eax,%eax
5ee35c:	8b 0c 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%ecx
5ee363:	80 7c 01 28 00       	cmpb   $0x0,0x28(%ecx,%eax,1)
5ee368:	7c 4a                	jl     0x5ee3b4
5ee36a:	80 7c 01 29 00       	cmpb   $0x0,0x29(%ecx,%eax,1)
5ee36f:	75 43                	jne    0x5ee3b4
5ee371:	39 75 14             	cmp    %esi,0x14(%ebp)
5ee374:	75 44                	jne    0x5ee3ba
5ee376:	6a 01                	push   $0x1
5ee378:	56                   	push   %esi
5ee379:	56                   	push   %esi
5ee37a:	52                   	push   %edx
5ee37b:	e8 3d 75 01 00       	call   0x6058bd
5ee380:	8b fa                	mov    %edx,%edi
5ee382:	83 c4 10             	add    $0x10,%esp
5ee385:	8b c8                	mov    %eax,%ecx
5ee387:	3b fe                	cmp    %esi,%edi
5ee389:	7c 29                	jl     0x5ee3b4
5ee38b:	7f 04                	jg     0x5ee391
5ee38d:	3b ce                	cmp    %esi,%ecx
5ee38f:	72 23                	jb     0x5ee3b4
5ee391:	8b 75 08             	mov    0x8(%ebp),%esi
5ee394:	8d 45 0c             	lea    0xc(%ebp),%eax
5ee397:	50                   	push   %eax
5ee398:	8b 46 08             	mov    0x8(%esi),%eax
5ee39b:	99                   	cltd
5ee39c:	2b c8                	sub    %eax,%ecx
5ee39e:	1b fa                	sbb    %edx,%edi
5ee3a0:	57                   	push   %edi
5ee3a1:	51                   	push   %ecx
5ee3a2:	ff 75 10             	push   0x10(%ebp)
5ee3a5:	ff 75 0c             	push   0xc(%ebp)
5ee3a8:	e8 65 fe ff ff       	call   0x5ee212
5ee3ad:	83 c4 14             	add    $0x14,%esp
5ee3b0:	85 c0                	test   %eax,%eax
5ee3b2:	79 09                	jns    0x5ee3bd
5ee3b4:	32 c0                	xor    %al,%al
5ee3b6:	5f                   	pop    %edi
5ee3b7:	5e                   	pop    %esi
5ee3b8:	5d                   	pop    %ebp
5ee3b9:	c3                   	ret
5ee3ba:	8b 75 08             	mov    0x8(%ebp),%esi
5ee3bd:	8b 46 04             	mov    0x4(%esi),%eax
5ee3c0:	8b 0e                	mov    (%esi),%ecx
5ee3c2:	2b c1                	sub    %ecx,%eax
5ee3c4:	99                   	cltd
5ee3c5:	3b 55 10             	cmp    0x10(%ebp),%edx
5ee3c8:	7f ea                	jg     0x5ee3b4
5ee3ca:	8b 7d 0c             	mov    0xc(%ebp),%edi
5ee3cd:	7c 04                	jl     0x5ee3d3
5ee3cf:	3b c7                	cmp    %edi,%eax
5ee3d1:	77 e1                	ja     0x5ee3b4
5ee3d3:	8b 46 08             	mov    0x8(%esi),%eax
5ee3d6:	99                   	cltd
5ee3d7:	39 55 10             	cmp    %edx,0x10(%ebp)
5ee3da:	7f d8                	jg     0x5ee3b4
5ee3dc:	7c 04                	jl     0x5ee3e2
5ee3de:	3b f8                	cmp    %eax,%edi
5ee3e0:	77 d2                	ja     0x5ee3b4
5ee3e2:	03 cf                	add    %edi,%ecx
5ee3e4:	b0 01                	mov    $0x1,%al
5ee3e6:	89 0e                	mov    %ecx,(%esi)
5ee3e8:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ee3eb:	29 79 08             	sub    %edi,0x8(%ecx)
5ee3ee:	eb c6                	jmp    0x5ee3b6
5ee3f0:	8b ff                	mov    %edi,%edi
5ee3f2:	55                   	push   %ebp
5ee3f3:	8b ec                	mov    %esp,%ebp
5ee3f5:	8b 45 08             	mov    0x8(%ebp),%eax
5ee3f8:	8b 40 0c             	mov    0xc(%eax),%eax
5ee3fb:	90                   	nop
5ee3fc:	c1 e8 0d             	shr    $0xd,%eax
5ee3ff:	a8 01                	test   $0x1,%al
5ee401:	75 10                	jne    0x5ee413
5ee403:	e8 f1 eb ff ff       	call   0x5ecff9
5ee408:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ee40e:	83 c8 ff             	or     $0xffffffff,%eax
5ee411:	5d                   	pop    %ebp
5ee412:	c3                   	ret
5ee413:	8b 45 08             	mov    0x8(%ebp),%eax
5ee416:	53                   	push   %ebx
5ee417:	56                   	push   %esi
5ee418:	57                   	push   %edi
5ee419:	6a f7                	push   $0xfffffff7
5ee41b:	59                   	pop    %ecx
5ee41c:	83 c0 0c             	add    $0xc,%eax
5ee41f:	f0 21 08             	lock and %ecx,(%eax)
5ee422:	8b 75 14             	mov    0x14(%ebp),%esi
5ee425:	8b 7d 10             	mov    0x10(%ebp),%edi
5ee428:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5ee42b:	56                   	push   %esi
5ee42c:	57                   	push   %edi
5ee42d:	53                   	push   %ebx
5ee42e:	ff 75 08             	push   0x8(%ebp)
5ee431:	e8 e1 fe ff ff       	call   0x5ee317
5ee436:	83 c4 10             	add    $0x10,%esp
5ee439:	84 c0                	test   %al,%al
5ee43b:	0f 85 86 00 00 00    	jne    0x5ee4c7
5ee441:	83 fe 01             	cmp    $0x1,%esi
5ee444:	75 0f                	jne    0x5ee455
5ee446:	ff 75 08             	push   0x8(%ebp)
5ee449:	e8 d9 af 00 00       	call   0x5f9427
5ee44e:	03 d8                	add    %eax,%ebx
5ee450:	59                   	pop    %ecx
5ee451:	13 fa                	adc    %edx,%edi
5ee453:	33 f6                	xor    %esi,%esi
5ee455:	ff 75 08             	push   0x8(%ebp)
5ee458:	e8 ff cb 00 00       	call   0x5fb05c
5ee45d:	8b 45 08             	mov    0x8(%ebp),%eax
5ee460:	59                   	pop    %ecx
5ee461:	8b 48 04             	mov    0x4(%eax),%ecx
5ee464:	83 60 08 00          	andl   $0x0,0x8(%eax)
5ee468:	89 08                	mov    %ecx,(%eax)
5ee46a:	8b 45 08             	mov    0x8(%ebp),%eax
5ee46d:	8b 40 0c             	mov    0xc(%eax),%eax
5ee470:	90                   	nop
5ee471:	c1 e8 02             	shr    $0x2,%eax
5ee474:	a8 01                	test   $0x1,%al
5ee476:	8b 45 08             	mov    0x8(%ebp),%eax
5ee479:	74 0b                	je     0x5ee486
5ee47b:	6a fc                	push   $0xfffffffc
5ee47d:	59                   	pop    %ecx
5ee47e:	83 c0 0c             	add    $0xc,%eax
5ee481:	f0 21 08             	lock and %ecx,(%eax)
5ee484:	eb 23                	jmp    0x5ee4a9
5ee486:	8b 40 0c             	mov    0xc(%eax),%eax
5ee489:	90                   	nop
5ee48a:	83 e0 41             	and    $0x41,%eax
5ee48d:	3c 41                	cmp    $0x41,%al
5ee48f:	75 18                	jne    0x5ee4a9
5ee491:	8b 45 08             	mov    0x8(%ebp),%eax
5ee494:	8b 40 0c             	mov    0xc(%eax),%eax
5ee497:	90                   	nop
5ee498:	c1 e8 08             	shr    $0x8,%eax
5ee49b:	a8 01                	test   $0x1,%al
5ee49d:	75 0a                	jne    0x5ee4a9
5ee49f:	8b 45 08             	mov    0x8(%ebp),%eax
5ee4a2:	c7 40 18 00 02 00 00 	movl   $0x200,0x18(%eax)
5ee4a9:	8b 45 08             	mov    0x8(%ebp),%eax
5ee4ac:	8b 40 10             	mov    0x10(%eax),%eax
5ee4af:	90                   	nop
5ee4b0:	56                   	push   %esi
5ee4b1:	57                   	push   %edi
5ee4b2:	53                   	push   %ebx
5ee4b3:	50                   	push   %eax
5ee4b4:	e8 04 74 01 00       	call   0x6058bd
5ee4b9:	23 c2                	and    %edx,%eax
5ee4bb:	83 c4 10             	add    $0x10,%esp
5ee4be:	83 f8 ff             	cmp    $0xffffffff,%eax
5ee4c1:	75 04                	jne    0x5ee4c7
5ee4c3:	0b c0                	or     %eax,%eax
5ee4c5:	eb 02                	jmp    0x5ee4c9
5ee4c7:	33 c0                	xor    %eax,%eax
5ee4c9:	5f                   	pop    %edi
5ee4ca:	5e                   	pop    %esi
5ee4cb:	5b                   	pop    %ebx
5ee4cc:	5d                   	pop    %ebp
5ee4cd:	c3                   	ret
5ee4ce:	8b ff                	mov    %edi,%edi
5ee4d0:	55                   	push   %ebp
5ee4d1:	8b ec                	mov    %esp,%ebp
5ee4d3:	ff 75 14             	push   0x14(%ebp)
5ee4d6:	ff 75 10             	push   0x10(%ebp)
5ee4d9:	ff 75 0c             	push   0xc(%ebp)
5ee4dc:	ff 75 08             	push   0x8(%ebp)
5ee4df:	e8 a8 fd ff ff       	call   0x5ee28c
5ee4e4:	83 c4 10             	add    $0x10,%esp
5ee4e7:	5d                   	pop    %ebp
5ee4e8:	c3                   	ret
5ee4e9:	8b ff                	mov    %edi,%edi
5ee4eb:	55                   	push   %ebp
5ee4ec:	8b ec                	mov    %esp,%ebp
5ee4ee:	ff 75 10             	push   0x10(%ebp)
5ee4f1:	8b 45 0c             	mov    0xc(%ebp),%eax
5ee4f4:	99                   	cltd
5ee4f5:	52                   	push   %edx
5ee4f6:	50                   	push   %eax
5ee4f7:	ff 75 08             	push   0x8(%ebp)
5ee4fa:	e8 8d fd ff ff       	call   0x5ee28c
5ee4ff:	83 c4 10             	add    $0x10,%esp
5ee502:	5d                   	pop    %ebp
5ee503:	c3                   	ret
5ee504:	8b ff                	mov    %edi,%edi
5ee506:	55                   	push   %ebp
5ee507:	8b ec                	mov    %esp,%ebp
5ee509:	8b 55 08             	mov    0x8(%ebp),%edx
5ee50c:	85 d2                	test   %edx,%edx
5ee50e:	75 15                	jne    0x5ee525
5ee510:	e8 e4 ea ff ff       	call   0x5ecff9
5ee515:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ee51b:	e8 ff e9 ff ff       	call   0x5ecf1f
5ee520:	83 c8 ff             	or     $0xffffffff,%eax
5ee523:	5d                   	pop    %ebp
5ee524:	c3                   	ret
5ee525:	83 6a 08 01          	subl   $0x1,0x8(%edx)
5ee529:	79 09                	jns    0x5ee534
5ee52b:	52                   	push   %edx
5ee52c:	e8 de 71 01 00       	call   0x60570f
5ee531:	59                   	pop    %ecx
5ee532:	5d                   	pop    %ebp
5ee533:	c3                   	ret
5ee534:	8b 02                	mov    (%edx),%eax
5ee536:	8a 08                	mov    (%eax),%cl
5ee538:	40                   	inc    %eax
5ee539:	89 02                	mov    %eax,(%edx)
5ee53b:	0f b6 c1             	movzbl %cl,%eax
5ee53e:	5d                   	pop    %ebp
5ee53f:	c3                   	ret
5ee540:	8b ff                	mov    %edi,%edi
5ee542:	55                   	push   %ebp
5ee543:	8b ec                	mov    %esp,%ebp
5ee545:	5d                   	pop    %ebp
5ee546:	e9 b9 ff ff ff       	jmp    0x5ee504
5ee54b:	6a 10                	push   $0x10
5ee54d:	68 88 1a 70 00       	push   $0x701a88
5ee552:	e8 b9 3f ff ff       	call   0x5e2510
5ee557:	8b 75 08             	mov    0x8(%ebp),%esi
5ee55a:	89 75 e0             	mov    %esi,-0x20(%ebp)
5ee55d:	85 f6                	test   %esi,%esi
5ee55f:	75 18                	jne    0x5ee579
5ee561:	e8 93 ea ff ff       	call   0x5ecff9
5ee566:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ee56c:	e8 ae e9 ff ff       	call   0x5ecf1f
5ee571:	83 c8 ff             	or     $0xffffffff,%eax
5ee574:	e9 bd 00 00 00       	jmp    0x5ee636