5ff007:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
5ff00d:	3b fb                	cmp    %ebx,%edi
5ff00f:	0f 85 eb fe ff ff    	jne    0x5fef00
5ff015:	8b fe                	mov    %esi,%edi
5ff017:	e9 e4 fe ff ff       	jmp    0x5fef00
5ff01c:	3b f8                	cmp    %eax,%edi
5ff01e:	73 35                	jae    0x5ff055
5ff020:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
5ff026:	2b c2                	sub    %edx,%eax
5ff028:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
5ff02e:	3b c7                	cmp    %edi,%eax
5ff030:	76 23                	jbe    0x5ff055
5ff032:	57                   	push   %edi
5ff033:	50                   	push   %eax
5ff034:	8b cb                	mov    %ebx,%ecx
5ff036:	ff 15 e0 24 68 00    	call   *0x6824e0
5ff03c:	ff d3                	call   *%ebx
5ff03e:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
5ff044:	83 c4 08             	add    $0x8,%esp
5ff047:	85 c0                	test   %eax,%eax
5ff049:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
5ff04f:	74 d5                	je     0x5ff026
5ff051:	3b f8                	cmp    %eax,%edi
5ff053:	72 3b                	jb     0x5ff090
5ff055:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
5ff05b:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
5ff061:	2b c6                	sub    %esi,%eax
5ff063:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
5ff069:	3b 85 fc fe ff ff    	cmp    -0x104(%ebp),%eax
5ff06f:	76 19                	jbe    0x5ff08a
5ff071:	57                   	push   %edi
5ff072:	50                   	push   %eax
5ff073:	8b cb                	mov    %ebx,%ecx
5ff075:	ff 15 e0 24 68 00    	call   *0x6824e0
5ff07b:	ff d3                	call   *%ebx
5ff07d:	83 c4 08             	add    $0x8,%esp
5ff080:	85 c0                	test   %eax,%eax
5ff082:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
5ff088:	74 d7                	je     0x5ff061
5ff08a:	8b b5 f0 fe ff ff    	mov    -0x110(%ebp),%esi
5ff090:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
5ff096:	8b ca                	mov    %edx,%ecx
5ff098:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
5ff09e:	2b ce                	sub    %esi,%ecx
5ff0a0:	2b c7                	sub    %edi,%eax
5ff0a2:	3b c1                	cmp    %ecx,%eax
5ff0a4:	7c 41                	jl     0x5ff0e7
5ff0a6:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
5ff0ac:	3b f8                	cmp    %eax,%edi
5ff0ae:	73 18                	jae    0x5ff0c8
5ff0b0:	8b 8d f4 fe ff ff    	mov    -0x10c(%ebp),%ecx
5ff0b6:	89 7c 8d 84          	mov    %edi,-0x7c(%ebp,%ecx,4)
5ff0ba:	89 84 8d 0c ff ff ff 	mov    %eax,-0xf4(%ebp,%ecx,4)
5ff0c1:	41                   	inc    %ecx
5ff0c2:	89 8d f4 fe ff ff    	mov    %ecx,-0x10c(%ebp)
5ff0c8:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
5ff0ce:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
5ff0d4:	3b f1                	cmp    %ecx,%esi
5ff0d6:	0f 83 49 fd ff ff    	jae    0x5fee25
5ff0dc:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
5ff0e2:	e9 7b fc ff ff       	jmp    0x5fed62
5ff0e7:	3b f2                	cmp    %edx,%esi
5ff0e9:	73 18                	jae    0x5ff103
5ff0eb:	8b 85 f4 fe ff ff    	mov    -0x10c(%ebp),%eax
5ff0f1:	89 74 85 84          	mov    %esi,-0x7c(%ebp,%eax,4)
5ff0f5:	89 94 85 0c ff ff ff 	mov    %edx,-0xf4(%ebp,%eax,4)
5ff0fc:	40                   	inc    %eax
5ff0fd:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
5ff103:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
5ff109:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
5ff10f:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
5ff115:	3b f0                	cmp    %eax,%esi
5ff117:	0f 83 08 fd ff ff    	jae    0x5fee25
5ff11d:	8b c8                	mov    %eax,%ecx
5ff11f:	e9 38 fc ff ff       	jmp    0x5fed5c
5ff124:	cc                   	int3
5ff125:	cc                   	int3
5ff126:	cc                   	int3
5ff127:	cc                   	int3
5ff128:	cc                   	int3
5ff129:	cc                   	int3
5ff12a:	cc                   	int3
5ff12b:	cc                   	int3
5ff12c:	cc                   	int3
5ff12d:	cc                   	int3
5ff12e:	cc                   	int3
5ff12f:	cc                   	int3
5ff130:	8b 54 24 04          	mov    0x4(%esp),%edx
5ff134:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5ff138:	f7 c2 03 00 00 00    	test   $0x3,%edx
5ff13e:	75 40                	jne    0x5ff180
5ff140:	8b 02                	mov    (%edx),%eax
5ff142:	3a 01                	cmp    (%ecx),%al
5ff144:	75 32                	jne    0x5ff178
5ff146:	84 c0                	test   %al,%al
5ff148:	74 26                	je     0x5ff170
5ff14a:	3a 61 01             	cmp    0x1(%ecx),%ah
5ff14d:	75 29                	jne    0x5ff178
5ff14f:	84 e4                	test   %ah,%ah
5ff151:	74 1d                	je     0x5ff170
5ff153:	c1 e8 10             	shr    $0x10,%eax
5ff156:	3a 41 02             	cmp    0x2(%ecx),%al
5ff159:	75 1d                	jne    0x5ff178
5ff15b:	84 c0                	test   %al,%al
5ff15d:	74 11                	je     0x5ff170
5ff15f:	3a 61 03             	cmp    0x3(%ecx),%ah
5ff162:	75 14                	jne    0x5ff178
5ff164:	83 c1 04             	add    $0x4,%ecx
5ff167:	83 c2 04             	add    $0x4,%edx
5ff16a:	84 e4                	test   %ah,%ah
5ff16c:	75 d2                	jne    0x5ff140
5ff16e:	8b ff                	mov    %edi,%edi
5ff170:	33 c0                	xor    %eax,%eax
5ff172:	c3                   	ret
5ff173:	eb 03                	jmp    0x5ff178
5ff175:	cc                   	int3
5ff176:	cc                   	int3
5ff177:	cc                   	int3
5ff178:	1b c0                	sbb    %eax,%eax
5ff17a:	83 c8 01             	or     $0x1,%eax
5ff17d:	c3                   	ret
5ff17e:	8b ff                	mov    %edi,%edi
5ff180:	f7 c2 01 00 00 00    	test   $0x1,%edx
5ff186:	74 18                	je     0x5ff1a0
5ff188:	8a 02                	mov    (%edx),%al
5ff18a:	83 c2 01             	add    $0x1,%edx
5ff18d:	3a 01                	cmp    (%ecx),%al
5ff18f:	75 e7                	jne    0x5ff178
5ff191:	83 c1 01             	add    $0x1,%ecx
5ff194:	84 c0                	test   %al,%al
5ff196:	74 d8                	je     0x5ff170
5ff198:	f7 c2 02 00 00 00    	test   $0x2,%edx
5ff19e:	74 a0                	je     0x5ff140
5ff1a0:	66 8b 02             	mov    (%edx),%ax
5ff1a3:	83 c2 02             	add    $0x2,%edx
5ff1a6:	3a 01                	cmp    (%ecx),%al
5ff1a8:	75 ce                	jne    0x5ff178
5ff1aa:	84 c0                	test   %al,%al
5ff1ac:	74 c2                	je     0x5ff170
5ff1ae:	3a 61 01             	cmp    0x1(%ecx),%ah
5ff1b1:	75 c5                	jne    0x5ff178
5ff1b3:	84 e4                	test   %ah,%ah
5ff1b5:	74 b9                	je     0x5ff170
5ff1b7:	83 c1 02             	add    $0x2,%ecx
5ff1ba:	eb 84                	jmp    0x5ff140
5ff1bc:	8b ff                	mov    %edi,%edi
5ff1be:	55                   	push   %ebp
5ff1bf:	8b ec                	mov    %esp,%ebp
5ff1c1:	51                   	push   %ecx
5ff1c2:	51                   	push   %ecx
5ff1c3:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ff1c6:	33 c0                	xor    %eax,%eax
5ff1c8:	53                   	push   %ebx
5ff1c9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5ff1cc:	56                   	push   %esi
5ff1cd:	57                   	push   %edi
5ff1ce:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5ff1d1:	89 45 f8             	mov    %eax,-0x8(%ebp)
5ff1d4:	38 45 18             	cmp    %al,0x18(%ebp)
5ff1d7:	74 14                	je     0x5ff1ed
5ff1d9:	6a 2d                	push   $0x2d
5ff1db:	58                   	pop    %eax
5ff1dc:	66 89 03             	mov    %ax,(%ebx)
5ff1df:	8d 43 02             	lea    0x2(%ebx),%eax
5ff1e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ff1e5:	33 c0                	xor    %eax,%eax
5ff1e7:	40                   	inc    %eax
5ff1e8:	f7 d9                	neg    %ecx
5ff1ea:	89 45 f8             	mov    %eax,-0x8(%ebp)
5ff1ed:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5ff1f0:	8b 75 f8             	mov    -0x8(%ebp),%esi
5ff1f3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5ff1f6:	33 d2                	xor    %edx,%edx
5ff1f8:	8b c1                	mov    %ecx,%eax
5ff1fa:	f7 75 14             	divl   0x14(%ebp)
5ff1fd:	6a 09                	push   $0x9
5ff1ff:	8b c8                	mov    %eax,%ecx
5ff201:	8b fb                	mov    %ebx,%edi
5ff203:	8d 43 02             	lea    0x2(%ebx),%eax
5ff206:	89 45 f8             	mov    %eax,-0x8(%ebp)
5ff209:	58                   	pop    %eax
5ff20a:	3b c2                	cmp    %edx,%eax
5ff20c:	1b c0                	sbb    %eax,%eax
5ff20e:	83 e0 27             	and    $0x27,%eax
5ff211:	83 c0 30             	add    $0x30,%eax
5ff214:	66 03 c2             	add    %dx,%ax
5ff217:	8b 55 f8             	mov    -0x8(%ebp),%edx
5ff21a:	46                   	inc    %esi
5ff21b:	66 89 03             	mov    %ax,(%ebx)
5ff21e:	8b 45 10             	mov    0x10(%ebp),%eax
5ff221:	85 c9                	test   %ecx,%ecx
5ff223:	74 06                	je     0x5ff22b
5ff225:	8b da                	mov    %edx,%ebx
5ff227:	3b f0                	cmp    %eax,%esi
5ff229:	72 cb                	jb     0x5ff1f6
5ff22b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5ff22e:	3b f0                	cmp    %eax,%esi
5ff230:	8b 75 fc             	mov    -0x4(%ebp),%esi
5ff233:	72 18                	jb     0x5ff24d
5ff235:	33 c0                	xor    %eax,%eax
5ff237:	66 89 03             	mov    %ax,(%ebx)
5ff23a:	e8 ba dd fe ff       	call   0x5ecff9
5ff23f:	6a 22                	push   $0x22
5ff241:	5e                   	pop    %esi
5ff242:	89 30                	mov    %esi,(%eax)
5ff244:	e8 d6 dc fe ff       	call   0x5ecf1f
5ff249:	8b c6                	mov    %esi,%eax
5ff24b:	eb 1d                	jmp    0x5ff26a
5ff24d:	33 c0                	xor    %eax,%eax
5ff24f:	66 89 02             	mov    %ax,(%edx)
5ff252:	66 8b 06             	mov    (%esi),%ax
5ff255:	0f b7 0f             	movzwl (%edi),%ecx
5ff258:	66 89 07             	mov    %ax,(%edi)
5ff25b:	83 ef 02             	sub    $0x2,%edi
5ff25e:	66 89 0e             	mov    %cx,(%esi)
5ff261:	83 c6 02             	add    $0x2,%esi
5ff264:	3b f7                	cmp    %edi,%esi
5ff266:	72 ea                	jb     0x5ff252
5ff268:	33 c0                	xor    %eax,%eax
5ff26a:	5f                   	pop    %edi
5ff26b:	5e                   	pop    %esi
5ff26c:	5b                   	pop    %ebx
5ff26d:	c9                   	leave
5ff26e:	c3                   	ret
5ff26f:	8b ff                	mov    %edi,%edi
5ff271:	55                   	push   %ebp
5ff272:	8b ec                	mov    %esp,%ebp
5ff274:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5ff277:	56                   	push   %esi
5ff278:	85 c9                	test   %ecx,%ecx
5ff27a:	75 13                	jne    0x5ff28f
5ff27c:	e8 78 dd fe ff       	call   0x5ecff9
5ff281:	6a 16                	push   $0x16
5ff283:	5e                   	pop    %esi
5ff284:	89 30                	mov    %esi,(%eax)
5ff286:	e8 94 dc fe ff       	call   0x5ecf1f
5ff28b:	8b c6                	mov    %esi,%eax
5ff28d:	eb 4f                	jmp    0x5ff2de
5ff28f:	8b 55 10             	mov    0x10(%ebp),%edx
5ff292:	53                   	push   %ebx
5ff293:	85 d2                	test   %edx,%edx
5ff295:	74 24                	je     0x5ff2bb
5ff297:	8b 5d 18             	mov    0x18(%ebp),%ebx
5ff29a:	33 c0                	xor    %eax,%eax
5ff29c:	66 89 01             	mov    %ax,(%ecx)
5ff29f:	0f b6 c3             	movzbl %bl,%eax
5ff2a2:	40                   	inc    %eax
5ff2a3:	3b d0                	cmp    %eax,%edx
5ff2a5:	77 09                	ja     0x5ff2b0
5ff2a7:	e8 4d dd fe ff       	call   0x5ecff9
5ff2ac:	6a 22                	push   $0x22
5ff2ae:	eb 12                	jmp    0x5ff2c2
5ff2b0:	8b 75 14             	mov    0x14(%ebp),%esi
5ff2b3:	8d 46 fe             	lea    -0x2(%esi),%eax
5ff2b6:	83 f8 22             	cmp    $0x22,%eax
5ff2b9:	76 13                	jbe    0x5ff2ce
5ff2bb:	e8 39 dd fe ff       	call   0x5ecff9
5ff2c0:	6a 16                	push   $0x16
5ff2c2:	5e                   	pop    %esi
5ff2c3:	89 30                	mov    %esi,(%eax)
5ff2c5:	e8 55 dc fe ff       	call   0x5ecf1f
5ff2ca:	8b c6                	mov    %esi,%eax
5ff2cc:	eb 0f                	jmp    0x5ff2dd
5ff2ce:	53                   	push   %ebx
5ff2cf:	56                   	push   %esi
5ff2d0:	52                   	push   %edx
5ff2d1:	51                   	push   %ecx
5ff2d2:	ff 75 08             	push   0x8(%ebp)
5ff2d5:	e8 e2 fe ff ff       	call   0x5ff1bc
5ff2da:	83 c4 14             	add    $0x14,%esp
5ff2dd:	5b                   	pop    %ebx
5ff2de:	5e                   	pop    %esi
5ff2df:	5d                   	pop    %ebp
5ff2e0:	c3                   	ret
5ff2e1:	8b ff                	mov    %edi,%edi
5ff2e3:	55                   	push   %ebp
5ff2e4:	8b ec                	mov    %esp,%ebp
5ff2e6:	51                   	push   %ecx
5ff2e7:	83 7d 14 0a          	cmpl   $0xa,0x14(%ebp)
5ff2eb:	75 0a                	jne    0x5ff2f7
5ff2ed:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5ff2f1:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5ff2f5:	7c 04                	jl     0x5ff2fb
5ff2f7:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5ff2fb:	ff 75 fc             	push   -0x4(%ebp)
5ff2fe:	ff 75 14             	push   0x14(%ebp)
5ff301:	ff 75 10             	push   0x10(%ebp)
5ff304:	ff 75 0c             	push   0xc(%ebp)
5ff307:	ff 75 08             	push   0x8(%ebp)
5ff30a:	e8 60 ff ff ff       	call   0x5ff26f
5ff30f:	83 c4 14             	add    $0x14,%esp
5ff312:	c9                   	leave
5ff313:	c3                   	ret
5ff314:	8b ff                	mov    %edi,%edi
5ff316:	55                   	push   %ebp
5ff317:	8b ec                	mov    %esp,%ebp
5ff319:	6a 02                	push   $0x2
5ff31b:	ff 75 0c             	push   0xc(%ebp)
5ff31e:	ff 75 08             	push   0x8(%ebp)
5ff321:	ff 15 38 22 68 00    	call   *0x682238
5ff327:	85 c0                	test   %eax,%eax
5ff329:	75 12                	jne    0x5ff33d
5ff32b:	ff 15 e0 21 68 00    	call   *0x6821e0
5ff331:	50                   	push   %eax
5ff332:	e8 8c dc fe ff       	call   0x5ecfc3
5ff337:	59                   	pop    %ecx
5ff338:	83 c8 ff             	or     $0xffffffff,%eax
5ff33b:	5d                   	pop    %ebp
5ff33c:	c3                   	ret
5ff33d:	33 c0                	xor    %eax,%eax
5ff33f:	5d                   	pop    %ebp
5ff340:	c3                   	ret
5ff341:	8b ff                	mov    %edi,%edi
5ff343:	55                   	push   %ebp
5ff344:	8b ec                	mov    %esp,%ebp
5ff346:	81 ec c4 00 00 00    	sub    $0xc4,%esp
5ff34c:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5ff351:	33 c5                	xor    %ebp,%eax
5ff353:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ff356:	56                   	push   %esi
5ff357:	8b 75 08             	mov    0x8(%ebp),%esi
5ff35a:	85 f6                	test   %esi,%esi
5ff35c:	75 1e                	jne    0x5ff37c
5ff35e:	e8 96 dc fe ff       	call   0x5ecff9
5ff363:	6a 16                	push   $0x16
5ff365:	5e                   	pop    %esi
5ff366:	89 30                	mov    %esi,(%eax)
5ff368:	e8 b2 db fe ff       	call   0x5ecf1f
5ff36d:	8b c6                	mov    %esi,%eax
5ff36f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5ff372:	33 cd                	xor    %ebp,%ecx
5ff374:	5e                   	pop    %esi
5ff375:	e8 60 21 fe ff       	call   0x5e14da
5ff37a:	c9                   	leave
5ff37b:	c3                   	ret
5ff37c:	53                   	push   %ebx
5ff37d:	57                   	push   %edi
5ff37e:	e8 e2 92 00 00       	call   0x608665
5ff383:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
5ff389:	33 db                	xor    %ebx,%ebx
5ff38b:	50                   	push   %eax
5ff38c:	89 9d 4c ff ff ff    	mov    %ebx,-0xb4(%ebp)
5ff392:	e8 34 8b 00 00       	call   0x607ecb
5ff397:	59                   	pop    %ecx
5ff398:	85 c0                	test   %eax,%eax
5ff39a:	0f 85 00 01 00 00    	jne    0x5ff4a0
5ff3a0:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
5ff3a6:	6a 3c                	push   $0x3c
5ff3a8:	99                   	cltd
5ff3a9:	59                   	pop    %ecx