5eefca:	83 c4 20             	add    $0x20,%esp
5eefcd:	89 47 08             	mov    %eax,0x8(%edi)
5eefd0:	2b c8                	sub    %eax,%ecx
5eefd2:	8b 45 10             	mov    0x10(%ebp),%eax
5eefd5:	1b c2                	sbb    %edx,%eax
5eefd7:	89 77 18             	mov    %esi,0x18(%edi)
5eefda:	89 47 14             	mov    %eax,0x14(%edi)
5eefdd:	8b c7                	mov    %edi,%eax
5eefdf:	89 57 0c             	mov    %edx,0xc(%edi)
5eefe2:	89 4f 10             	mov    %ecx,0x10(%edi)
5eefe5:	5f                   	pop    %edi
5eefe6:	5e                   	pop    %esi
5eefe7:	5b                   	pop    %ebx
5eefe8:	5d                   	pop    %ebp
5eefe9:	c2 0c 00             	ret    $0xc
5eefec:	8b ff                	mov    %edi,%edi
5eefee:	55                   	push   %ebp
5eefef:	8b ec                	mov    %esp,%ebp
5eeff1:	83 ec 28             	sub    $0x28,%esp
5eeff4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5eeff7:	56                   	push   %esi
5eeff8:	6a 00                	push   $0x0
5eeffa:	e8 d5 6e fe ff       	call   0x5d5ed4
5eefff:	8d 45 d8             	lea    -0x28(%ebp),%eax
5ef002:	50                   	push   %eax
5ef003:	ff 75 10             	push   0x10(%ebp)
5ef006:	ff 75 0c             	push   0xc(%ebp)
5ef009:	ff 75 08             	push   0x8(%ebp)
5ef00c:	e8 12 00 00 00       	call   0x5ef023
5ef011:	83 c4 10             	add    $0x10,%esp
5ef014:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5ef017:	8b f0                	mov    %eax,%esi
5ef019:	e8 fe 6e fe ff       	call   0x5d5f1c
5ef01e:	8b c6                	mov    %esi,%eax
5ef020:	5e                   	pop    %esi
5ef021:	c9                   	leave
5ef022:	c3                   	ret
5ef023:	8b ff                	mov    %edi,%edi
5ef025:	55                   	push   %ebp
5ef026:	8b ec                	mov    %esp,%ebp
5ef028:	83 ec 2c             	sub    $0x2c,%esp
5ef02b:	53                   	push   %ebx
5ef02c:	8b 5d 08             	mov    0x8(%ebp),%ebx
5ef02f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5ef032:	56                   	push   %esi
5ef033:	57                   	push   %edi
5ef034:	ff 75 10             	push   0x10(%ebp)
5ef037:	8b 7d 14             	mov    0x14(%ebp),%edi
5ef03a:	ff 75 0c             	push   0xc(%ebp)
5ef03d:	53                   	push   %ebx
5ef03e:	e8 5c ff ff ff       	call   0x5eef9f
5ef043:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5ef046:	23 45 d8             	and    -0x28(%ebp),%eax
5ef049:	83 f8 ff             	cmp    $0xffffffff,%eax
5ef04c:	0f 84 40 01 00 00    	je     0x5ef192
5ef052:	8b 45 dc             	mov    -0x24(%ebp),%eax
5ef055:	23 45 e0             	and    -0x20(%ebp),%eax
5ef058:	83 f8 ff             	cmp    $0xffffffff,%eax
5ef05b:	0f 84 31 01 00 00    	je     0x5ef192
5ef061:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5ef064:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5ef067:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5ef06a:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ef06d:	85 c9                	test   %ecx,%ecx
5ef06f:	0f 8c d2 00 00 00    	jl     0x5ef147
5ef075:	7f 08                	jg     0x5ef07f
5ef077:	85 c0                	test   %eax,%eax
5ef079:	0f 84 be 00 00 00    	je     0x5ef13d
5ef07f:	6a 01                	push   $0x1
5ef081:	68 00 10 00 00       	push   $0x1000
5ef086:	e8 b8 d4 ff ff       	call   0x5ec543
5ef08b:	8b f0                	mov    %eax,%esi
5ef08d:	59                   	pop    %ecx
5ef08e:	59                   	pop    %ecx
5ef08f:	85 f6                	test   %esi,%esi
5ef091:	75 0f                	jne    0x5ef0a2
5ef093:	6a 0c                	push   $0xc
5ef095:	5b                   	pop    %ebx
5ef096:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
5ef09a:	89 5f 18             	mov    %ebx,0x18(%edi)
5ef09d:	e9 92 00 00 00       	jmp    0x5ef134
5ef0a2:	68 00 80 00 00       	push   $0x8000
5ef0a7:	53                   	push   %ebx
5ef0a8:	e8 6d 4c ff ff       	call   0x5e3d1a
5ef0ad:	59                   	pop    %ecx
5ef0ae:	59                   	pop    %ecx
5ef0af:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5ef0b2:	89 45 f4             	mov    %eax,-0xc(%ebp)
5ef0b5:	8b 45 e8             	mov    -0x18(%ebp),%eax
5ef0b8:	85 c0                	test   %eax,%eax
5ef0ba:	7c 0f                	jl     0x5ef0cb
5ef0bc:	7f 08                	jg     0x5ef0c6
5ef0be:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5ef0c4:	72 05                	jb     0x5ef0cb
5ef0c6:	b9 00 10 00 00       	mov    $0x1000,%ecx
5ef0cb:	57                   	push   %edi
5ef0cc:	51                   	push   %ecx
5ef0cd:	56                   	push   %esi
5ef0ce:	53                   	push   %ebx
5ef0cf:	e8 ff 55 ff ff       	call   0x5e46d3
5ef0d4:	83 c4 10             	add    $0x10,%esp
5ef0d7:	83 f8 ff             	cmp    $0xffffffff,%eax
5ef0da:	74 34                	je     0x5ef110
5ef0dc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5ef0df:	99                   	cltd
5ef0e0:	2b c8                	sub    %eax,%ecx
5ef0e2:	8b 45 f8             	mov    -0x8(%ebp),%eax
5ef0e5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5ef0e8:	1b c2                	sbb    %edx,%eax
5ef0ea:	89 45 f8             	mov    %eax,-0x8(%ebp)
5ef0ed:	85 c0                	test   %eax,%eax
5ef0ef:	7f d5                	jg     0x5ef0c6
5ef0f1:	7c 04                	jl     0x5ef0f7
5ef0f3:	85 c9                	test   %ecx,%ecx
5ef0f5:	75 c1                	jne    0x5ef0b8
5ef0f7:	ff 75 f4             	push   -0xc(%ebp)
5ef0fa:	53                   	push   %ebx
5ef0fb:	e8 1a 4c ff ff       	call   0x5e3d1a
5ef100:	56                   	push   %esi
5ef101:	e8 1c c1 ff ff       	call   0x5eb222
5ef106:	83 c4 0c             	add    $0xc,%esp
5ef109:	33 db                	xor    %ebx,%ebx
5ef10b:	e9 90 00 00 00       	jmp    0x5ef1a0
5ef110:	80 7f 24 00          	cmpb   $0x0,0x24(%edi)
5ef114:	74 11                	je     0x5ef127
5ef116:	83 7f 20 05          	cmpl   $0x5,0x20(%edi)
5ef11a:	75 0b                	jne    0x5ef127
5ef11c:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
5ef120:	c7 47 18 0d 00 00 00 	movl   $0xd,0x18(%edi)
5ef127:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
5ef12b:	74 05                	je     0x5ef132
5ef12d:	8b 5f 18             	mov    0x18(%edi),%ebx
5ef130:	eb 02                	jmp    0x5ef134
5ef132:	33 db                	xor    %ebx,%ebx
5ef134:	56                   	push   %esi
5ef135:	e8 e8 c0 ff ff       	call   0x5eb222
5ef13a:	59                   	pop    %ecx
5ef13b:	eb 63                	jmp    0x5ef1a0
5ef13d:	85 c9                	test   %ecx,%ecx
5ef13f:	7f c8                	jg     0x5ef109
5ef141:	7c 04                	jl     0x5ef147
5ef143:	85 c0                	test   %eax,%eax
5ef145:	73 c2                	jae    0x5ef109
5ef147:	6a 00                	push   $0x0
5ef149:	ff 75 10             	push   0x10(%ebp)
5ef14c:	ff 75 0c             	push   0xc(%ebp)
5ef14f:	53                   	push   %ebx
5ef150:	e8 6b 02 00 00       	call   0x5ef3c0
5ef155:	23 c2                	and    %edx,%eax
5ef157:	83 c4 10             	add    $0x10,%esp
5ef15a:	83 f8 ff             	cmp    $0xffffffff,%eax
5ef15d:	75 08                	jne    0x5ef167
5ef15f:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
5ef163:	74 a4                	je     0x5ef109
5ef165:	eb 31                	jmp    0x5ef198
5ef167:	53                   	push   %ebx
5ef168:	e8 c8 fd ff ff       	call   0x5eef35
5ef16d:	59                   	pop    %ecx
5ef16e:	50                   	push   %eax
5ef16f:	ff 15 98 22 60 00    	call   *0x602298
5ef175:	85 c0                	test   %eax,%eax
5ef177:	75 90                	jne    0x5ef109
5ef179:	ff 15 58 21 60 00    	call   *0x602158
5ef17f:	6a 0d                	push   $0xd
5ef181:	c6 47 24 01          	movb   $0x1,0x24(%edi)
5ef185:	89 47 20             	mov    %eax,0x20(%edi)
5ef188:	5b                   	pop    %ebx
5ef189:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
5ef18d:	89 5f 18             	mov    %ebx,0x18(%edi)
5ef190:	eb 0e                	jmp    0x5ef1a0
5ef192:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
5ef196:	74 05                	je     0x5ef19d
5ef198:	8b 5f 18             	mov    0x18(%edi),%ebx
5ef19b:	eb 03                	jmp    0x5ef1a0
5ef19d:	6a 16                	push   $0x16
5ef19f:	5b                   	pop    %ebx
5ef1a0:	6a 00                	push   $0x0
5ef1a2:	ff 75 d8             	push   -0x28(%ebp)
5ef1a5:	ff 75 d4             	push   -0x2c(%ebp)
5ef1a8:	ff 75 ec             	push   -0x14(%ebp)
5ef1ab:	e8 10 02 00 00       	call   0x5ef3c0
5ef1b0:	83 c4 10             	add    $0x10,%esp
5ef1b3:	8b c3                	mov    %ebx,%eax
5ef1b5:	5f                   	pop    %edi
5ef1b6:	5e                   	pop    %esi
5ef1b7:	5b                   	pop    %ebx
5ef1b8:	c9                   	leave
5ef1b9:	c3                   	ret
5ef1ba:	6a 18                	push   $0x18
5ef1bc:	68 80 ab 68 00       	push   $0x68ab80
5ef1c1:	e8 3a 37 fe ff       	call   0x5d2900
5ef1c6:	8b 5d 08             	mov    0x8(%ebp),%ebx
5ef1c9:	83 fb fe             	cmp    $0xfffffffe,%ebx
5ef1cc:	75 20                	jne    0x5ef1ee
5ef1ce:	8b 45 18             	mov    0x18(%ebp),%eax
5ef1d1:	c6 40 24 01          	movb   $0x1,0x24(%eax)
5ef1d5:	83 60 20 00          	andl   $0x0,0x20(%eax)
5ef1d9:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5ef1dd:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
5ef1e4:	83 cf ff             	or     $0xffffffff,%edi
5ef1e7:	8b d7                	mov    %edi,%edx
5ef1e9:	e9 ce 00 00 00       	jmp    0x5ef2bc
5ef1ee:	85 db                	test   %ebx,%ebx
5ef1f0:	78 0f                	js     0x5ef201
5ef1f2:	3b 1d a8 72 71 00    	cmp    0x7172a8,%ebx
5ef1f8:	73 07                	jae    0x5ef201
5ef1fa:	33 c0                	xor    %eax,%eax
5ef1fc:	40                   	inc    %eax
5ef1fd:	33 f6                	xor    %esi,%esi
5ef1ff:	eb 04                	jmp    0x5ef205
5ef201:	33 f6                	xor    %esi,%esi
5ef203:	8b c6                	mov    %esi,%eax
5ef205:	85 c0                	test   %eax,%eax
5ef207:	75 25                	jne    0x5ef22e
5ef209:	8b 45 18             	mov    0x18(%ebp),%eax
5ef20c:	c6 40 24 01          	movb   $0x1,0x24(%eax)
5ef210:	89 70 20             	mov    %esi,0x20(%eax)
5ef213:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5ef217:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
5ef21e:	50                   	push   %eax
5ef21f:	56                   	push   %esi
5ef220:	56                   	push   %esi
5ef221:	56                   	push   %esi
5ef222:	56                   	push   %esi
5ef223:	56                   	push   %esi
5ef224:	e8 3a 6f fe ff       	call   0x5d6163
5ef229:	83 c4 18             	add    $0x18,%esp
5ef22c:	eb b6                	jmp    0x5ef1e4
5ef22e:	8b cb                	mov    %ebx,%ecx
5ef230:	c1 f9 06             	sar    $0x6,%ecx
5ef233:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5ef236:	8b c3                	mov    %ebx,%eax
5ef238:	83 e0 3f             	and    $0x3f,%eax
5ef23b:	6b d0 38             	imul   $0x38,%eax,%edx
5ef23e:	89 55 e0             	mov    %edx,-0x20(%ebp)
5ef241:	8b 04 8d a8 70 71 00 	mov    0x7170a8(,%ecx,4),%eax
5ef248:	f6 44 10 28 01       	testb  $0x1,0x28(%eax,%edx,1)
5ef24d:	74 ba                	je     0x5ef209
5ef24f:	53                   	push   %ebx
5ef250:	e8 64 fa ff ff       	call   0x5eecb9
5ef255:	59                   	pop    %ecx
5ef256:	83 cf ff             	or     $0xffffffff,%edi
5ef259:	89 7d d8             	mov    %edi,-0x28(%ebp)
5ef25c:	89 7d dc             	mov    %edi,-0x24(%ebp)
5ef25f:	89 75 fc             	mov    %esi,-0x4(%ebp)
5ef262:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5ef265:	8b 04 85 a8 70 71 00 	mov    0x7170a8(,%eax,4),%eax
5ef26c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5ef26f:	f6 44 01 28 01       	testb  $0x1,0x28(%ecx,%eax,1)
5ef274:	75 19                	jne    0x5ef28f
5ef276:	8b 45 18             	mov    0x18(%ebp),%eax
5ef279:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5ef27d:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
5ef284:	c6 40 24 01          	movb   $0x1,0x24(%eax)
5ef288:	89 70 20             	mov    %esi,0x20(%eax)
5ef28b:	8b f7                	mov    %edi,%esi
5ef28d:	eb 1f                	jmp    0x5ef2ae
5ef28f:	ff 75 18             	push   0x18(%ebp)
5ef292:	ff 75 14             	push   0x14(%ebp)
5ef295:	ff 75 10             	push   0x10(%ebp)
5ef298:	ff 75 0c             	push   0xc(%ebp)
5ef29b:	53                   	push   %ebx
5ef29c:	e8 3e 00 00 00       	call   0x5ef2df
5ef2a1:	83 c4 14             	add    $0x14,%esp
5ef2a4:	8b f8                	mov    %eax,%edi
5ef2a6:	89 7d d8             	mov    %edi,-0x28(%ebp)
5ef2a9:	8b f2                	mov    %edx,%esi
5ef2ab:	89 75 dc             	mov    %esi,-0x24(%ebp)
5ef2ae:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5ef2b5:	e8 1d 00 00 00       	call   0x5ef2d7
5ef2ba:	8b d6                	mov    %esi,%edx
5ef2bc:	8b c7                	mov    %edi,%eax
5ef2be:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ef2c1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5ef2c8:	59                   	pop    %ecx
5ef2c9:	5f                   	pop    %edi
5ef2ca:	5e                   	pop    %esi
5ef2cb:	5b                   	pop    %ebx
5ef2cc:	c9                   	leave
5ef2cd:	c3                   	ret
5ef2ce:	8b 5d 08             	mov    0x8(%ebp),%ebx
5ef2d1:	8b 7d d8             	mov    -0x28(%ebp),%edi
5ef2d4:	8b 75 dc             	mov    -0x24(%ebp),%esi
5ef2d7:	53                   	push   %ebx
5ef2d8:	e8 91 fa ff ff       	call   0x5eed6e
5ef2dd:	59                   	pop    %ecx
5ef2de:	c3                   	ret
5ef2df:	8b ff                	mov    %edi,%edi
5ef2e1:	55                   	push   %ebp
5ef2e2:	8b ec                	mov    %esp,%ebp
5ef2e4:	51                   	push   %ecx
5ef2e5:	51                   	push   %ecx
5ef2e6:	56                   	push   %esi
5ef2e7:	8b 75 08             	mov    0x8(%ebp),%esi
5ef2ea:	57                   	push   %edi
5ef2eb:	56                   	push   %esi
5ef2ec:	e8 44 fc ff ff       	call   0x5eef35
5ef2f1:	83 cf ff             	or     $0xffffffff,%edi
5ef2f4:	59                   	pop    %ecx
5ef2f5:	3b c7                	cmp    %edi,%eax
5ef2f7:	75 14                	jne    0x5ef30d
5ef2f9:	8b 45 18             	mov    0x18(%ebp),%eax
5ef2fc:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5ef300:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
5ef307:	8b c7                	mov    %edi,%eax
5ef309:	8b d7                	mov    %edi,%edx
5ef30b:	eb 51                	jmp    0x5ef35e
5ef30d:	ff 75 14             	push   0x14(%ebp)
5ef310:	8d 4d f8             	lea    -0x8(%ebp),%ecx
5ef313:	51                   	push   %ecx
5ef314:	ff 75 10             	push   0x10(%ebp)
5ef317:	ff 75 0c             	push   0xc(%ebp)
5ef31a:	50                   	push   %eax
5ef31b:	ff 15 c4 20 60 00    	call   *0x6020c4
5ef321:	85 c0                	test   %eax,%eax
5ef323:	75 13                	jne    0x5ef338
5ef325:	ff 75 18             	push   0x18(%ebp)
5ef328:	ff 15 58 21 60 00    	call   *0x602158
5ef32e:	50                   	push   %eax
5ef32f:	e8 1d b9 fe ff       	call   0x5dac51
5ef334:	59                   	pop    %ecx
5ef335:	59                   	pop    %ecx
5ef336:	eb cf                	jmp    0x5ef307
5ef338:	8b 45 f8             	mov    -0x8(%ebp),%eax
5ef33b:	8b 55 fc             	mov    -0x4(%ebp),%edx
5ef33e:	23 c2                	and    %edx,%eax
5ef340:	3b c7                	cmp    %edi,%eax
5ef342:	74 c3                	je     0x5ef307
5ef344:	8b 45 f8             	mov    -0x8(%ebp),%eax
5ef347:	8b ce                	mov    %esi,%ecx
5ef349:	83 e6 3f             	and    $0x3f,%esi
5ef34c:	c1 f9 06             	sar    $0x6,%ecx
5ef34f:	6b f6 38             	imul   $0x38,%esi,%esi
5ef352:	8b 0c 8d a8 70 71 00 	mov    0x7170a8(,%ecx,4),%ecx
5ef359:	80 64 31 28 fd       	andb   $0xfd,0x28(%ecx,%esi,1)
5ef35e:	5f                   	pop    %edi
5ef35f:	5e                   	pop    %esi
5ef360:	c9                   	leave
5ef361:	c3                   	ret
5ef362:	8b ff                	mov    %edi,%edi
5ef364:	55                   	push   %ebp
5ef365:	8b ec                	mov    %esp,%ebp
5ef367:	83 ec 28             	sub    $0x28,%esp
5ef36a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5ef36d:	56                   	push   %esi
5ef36e:	57                   	push   %edi
5ef36f:	6a 00                	push   $0x0
5ef371:	e8 5e 6b fe ff       	call   0x5d5ed4
5ef376:	8d 45 d8             	lea    -0x28(%ebp),%eax
5ef379:	50                   	push   %eax