678e42:	33 ed                	xor    %ebp,%ebp
678e44:	57                   	push   %edi
678e45:	68 00 04 00 00       	push   $0x400
678e4a:	bf 01 00 00 00       	mov    $0x1,%edi
678e4f:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
678e53:	8d 9e 14 61 01 00    	lea    0x16114(%esi),%ebx
678e59:	c6 86 80 85 01 00 00 	movb   $0x0,0x18580(%esi)
678e60:	53                   	push   %ebx
678e61:	56                   	push   %esi
678e62:	89 ae dc 5f 00 00    	mov    %ebp,0x5fdc(%esi)
678e68:	89 ae e0 5f 00 00    	mov    %ebp,0x5fe0(%esi)
678e6e:	89 ae e4 5f 00 00    	mov    %ebp,0x5fe4(%esi)
678e74:	89 ae b8 91 01 00    	mov    %ebp,0x191b8(%esi)
678e7a:	89 ae 04 61 00 00    	mov    %ebp,0x6104(%esi)
678e80:	89 6e 24             	mov    %ebp,0x24(%esi)
678e83:	89 ae 80 91 01 00    	mov    %ebp,0x19180(%esi)
678e89:	89 ae bc 91 01 00    	mov    %ebp,0x191bc(%esi)
678e8f:	66 89 be fa 60 00 00 	mov    %di,0x60fa(%esi)
678e96:	e8 81 9b d9 ff       	call   0x412a1c
678e9b:	83 c4 0c             	add    $0xc,%esp
678e9e:	85 c0                	test   %eax,%eax
678ea0:	0f 85 a8 01 00 00    	jne    0x67904e
678ea6:	6a 20                	push   $0x20
678ea8:	53                   	push   %ebx
678ea9:	e8 a5 be d9 ff       	call   0x414d53
678eae:	83 c4 08             	add    $0x8,%esp
678eb1:	89 44 24 10          	mov    %eax,0x10(%esp)
678eb5:	85 c0                	test   %eax,%eax
678eb7:	74 2c                	je     0x678ee5
678eb9:	6a 0a                	push   $0xa
678ebb:	8d 4c 24 14          	lea    0x14(%esp),%ecx
678ebf:	51                   	push   %ecx
678ec0:	50                   	push   %eax
678ec1:	e8 03 5d d9 ff       	call   0x40ebc9
678ec6:	0f b7 c0             	movzwl %ax,%eax
678ec9:	83 c4 0c             	add    $0xc,%esp
678ecc:	89 86 bc 91 01 00    	mov    %eax,0x191bc(%esi)
678ed2:	8b 44 24 10          	mov    0x10(%esp),%eax
678ed6:	8a 08                	mov    (%eax),%cl
678ed8:	0f be c1             	movsbl %cl,%eax
678edb:	40                   	inc    %eax
678edc:	85 c0                	test   %eax,%eax
678ede:	7e 05                	jle    0x678ee5
678ee0:	80 f9 20             	cmp    $0x20,%cl
678ee3:	7e 0a                	jle    0x678eef
678ee5:	c7 86 bc 91 01 00 00 	movl   $0x0,0x191bc(%esi)
678eec:	00 00 00
678eef:	68 00 20 00 00       	push   $0x2000
678ef4:	8d 44 24 20          	lea    0x20(%esp),%eax
678ef8:	50                   	push   %eax
678ef9:	56                   	push   %esi
678efa:	e8 1d 9b d9 ff       	call   0x412a1c
678eff:	83 c4 0c             	add    $0xc,%esp
678f02:	85 c0                	test   %eax,%eax
678f04:	0f 85 da 00 00 00    	jne    0x678fe4
678f0a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
678f10:	80 7c 24 1c 00       	cmpb   $0x0,0x1c(%esp)
678f15:	0f 84 e2 00 00 00    	je     0x678ffd
678f1b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
678f1f:	6a 3a                	push   $0x3a
678f21:	50                   	push   %eax
678f22:	e8 2c be d9 ff       	call   0x414d53
678f27:	83 c4 08             	add    $0x8,%esp
678f2a:	89 44 24 10          	mov    %eax,0x10(%esp)
678f2e:	85 c0                	test   %eax,%eax
678f30:	0f 84 8e 00 00 00    	je     0x678fc4
678f36:	c6 00 00             	movb   $0x0,(%eax)
678f39:	8b 4c 24 10          	mov    0x10(%esp),%ecx
678f3d:	0f 1f 00             	nopl   (%eax)
678f40:	41                   	inc    %ecx
678f41:	89 4c 24 10          	mov    %ecx,0x10(%esp)
678f45:	8a 01                	mov    (%ecx),%al
678f47:	84 c0                	test   %al,%al
678f49:	74 04                	je     0x678f4f
678f4b:	3c 20                	cmp    $0x20,%al
678f4d:	7e f1                	jle    0x678f40
678f4f:	80 39 22             	cmpb   $0x22,(%ecx)
678f52:	75 05                	jne    0x678f59
678f54:	41                   	inc    %ecx
678f55:	89 4c 24 10          	mov    %ecx,0x10(%esp)
678f59:	8b d1                	mov    %ecx,%edx
678f5b:	8d 7a 01             	lea    0x1(%edx),%edi
678f5e:	66 90                	xchg   %ax,%ax
678f60:	8a 02                	mov    (%edx),%al
678f62:	42                   	inc    %edx
678f63:	84 c0                	test   %al,%al
678f65:	75 f9                	jne    0x678f60
678f67:	2b d7                	sub    %edi,%edx
678f69:	8d 41 ff             	lea    -0x1(%ecx),%eax
678f6c:	03 c2                	add    %edx,%eax
678f6e:	3b c1                	cmp    %ecx,%eax
678f70:	76 0c                	jbe    0x678f7e
678f72:	80 38 20             	cmpb   $0x20,(%eax)
678f75:	7f 05                	jg     0x678f7c
678f77:	48                   	dec    %eax
678f78:	3b c1                	cmp    %ecx,%eax
678f7a:	77 f6                	ja     0x678f72
678f7c:	3b c1                	cmp    %ecx,%eax
678f7e:	72 06                	jb     0x678f86
678f80:	80 38 22             	cmpb   $0x22,(%eax)
678f83:	75 01                	jne    0x678f86
678f85:	48                   	dec    %eax
678f86:	c6 40 01 00          	movb   $0x0,0x1(%eax)
678f8a:	8d 44 24 1c          	lea    0x1c(%esp),%eax
678f8e:	ff 74 24 10          	push   0x10(%esp)
678f92:	50                   	push   %eax
678f93:	8b 86 18 60 00 00    	mov    0x6018(%esi),%eax
678f99:	56                   	push   %esi
678f9a:	ff d0                	call   *%eax
678f9c:	83 c4 0c             	add    $0xc,%esp
678f9f:	89 86 c0 91 01 00    	mov    %eax,0x191c0(%esi)
678fa5:	85 c0                	test   %eax,%eax
678fa7:	74 1b                	je     0x678fc4
678fa9:	3d e8 03 00 00       	cmp    $0x3e8,%eax
678fae:	0f 8c 4f 04 00 00    	jl     0x679403
678fb4:	8b e8                	mov    %eax,%ebp
678fb6:	c7 86 c0 91 01 00 00 	movl   $0x0,0x191c0(%esi)
678fbd:	00 00 00
678fc0:	89 6c 24 18          	mov    %ebp,0x18(%esp)
678fc4:	68 00 20 00 00       	push   $0x2000
678fc9:	8d 44 24 20          	lea    0x20(%esp),%eax
678fcd:	50                   	push   %eax
678fce:	56                   	push   %esi
678fcf:	e8 48 9a d9 ff       	call   0x412a1c
678fd4:	83 c4 0c             	add    $0xc,%esp
678fd7:	85 c0                	test   %eax,%eax
678fd9:	0f 84 31 ff ff ff    	je     0x678f10
678fdf:	bf 01 00 00 00       	mov    $0x1,%edi
678fe4:	83 be c0 91 01 00 ff 	cmpl   $0xffffffff,0x191c0(%esi)
678feb:	0f 85 2d 03 00 00    	jne    0x67931e
678ff1:	c7 86 c0 91 01 00 00 	movl   $0x0,0x191c0(%esi)
678ff8:	00 00 00
678ffb:	eb 05                	jmp    0x679002
678ffd:	bf 01 00 00 00       	mov    $0x1,%edi
679002:	83 be bc 91 01 00 64 	cmpl   $0x64,0x191bc(%esi)
679009:	75 58                	jne    0x679063
67900b:	c7 86 04 61 00 00 00 	movl   $0x0,0x6104(%esi)
679012:	00 00 00
679015:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
67901c:	68 00 04 00 00       	push   $0x400
679021:	c7 86 80 91 01 00 00 	movl   $0x0,0x19180(%esi)
679028:	00 00 00
67902b:	53                   	push   %ebx
67902c:	c7 86 bc 91 01 00 00 	movl   $0x0,0x191bc(%esi)
679033:	00 00 00
679036:	56                   	push   %esi
679037:	66 89 be fa 60 00 00 	mov    %di,0x60fa(%esi)
67903e:	e8 d9 99 d9 ff       	call   0x412a1c
679043:	83 c4 0c             	add    $0xc,%esp
679046:	85 c0                	test   %eax,%eax
679048:	0f 84 58 fe ff ff    	je     0x678ea6
67904e:	83 be c0 91 01 00 ff 	cmpl   $0xffffffff,0x191c0(%esi)
679055:	0f 85 99 03 00 00    	jne    0x6793f4
67905b:	83 c8 ff             	or     $0xffffffff,%eax
67905e:	e9 a0 03 00 00       	jmp    0x679403
679063:	68 38 1b bf 00       	push   $0xbf1b38
679068:	53                   	push   %ebx
679069:	e8 0d bd d9 ff       	call   0x414d7b
67906e:	8b d0                	mov    %eax,%edx
679070:	83 c4 08             	add    $0x8,%esp
679073:	89 54 24 10          	mov    %edx,0x10(%esp)
679077:	85 d2                	test   %edx,%edx
679079:	74 37                	je     0x6790b2
67907b:	80 7a 07 31          	cmpb   $0x31,0x7(%edx)
67907f:	74 31                	je     0x6790b2
679081:	66 83 be 90 91 01 00 	cmpw   $0x1,0x19190(%esi)
679088:	01
679089:	75 09                	jne    0x679094
67908b:	33 c0                	xor    %eax,%eax
67908d:	66 89 86 90 91 01 00 	mov    %ax,0x19190(%esi)
679094:	83 be bc 91 01 00 00 	cmpl   $0x0,0x191bc(%esi)
67909b:	75 15                	jne    0x6790b2
67909d:	8b 4e 0c             	mov    0xc(%esi),%ecx
6790a0:	8b c1                	mov    %ecx,%eax
6790a2:	83 e0 03             	and    $0x3,%eax
6790a5:	3c 03                	cmp    $0x3,%al
6790a7:	75 09                	jne    0x6790b2
6790a9:	83 e1 fe             	and    $0xfffffffe,%ecx
6790ac:	83 c9 02             	or     $0x2,%ecx
6790af:	89 4e 0c             	mov    %ecx,0xc(%esi)
6790b2:	66 83 be 90 91 01 00 	cmpw   $0x0,0x19190(%esi)
6790b9:	00
6790ba:	7d 07                	jge    0x6790c3
6790bc:	66 89 be 90 91 01 00 	mov    %di,0x19190(%esi)
6790c3:	8b 86 bc 91 01 00    	mov    0x191bc(%esi),%eax
6790c9:	85 c0                	test   %eax,%eax
6790cb:	0f 85 98 02 00 00    	jne    0x679369
6790d1:	85 d2                	test   %edx,%edx
6790d3:	0f 84 67 02 00 00    	je     0x679340
6790d9:	8d 78 05             	lea    0x5(%eax),%edi
6790dc:	57                   	push   %edi
6790dd:	68 40 1b bf 00       	push   $0xbf1b40
6790e2:	53                   	push   %ebx
6790e3:	e8 31 5b d9 ff       	call   0x40ec19
6790e8:	83 c4 0c             	add    $0xc,%esp
6790eb:	85 c0                	test   %eax,%eax
6790ed:	75 08                	jne    0x6790f7
6790ef:	8d 47 fc             	lea    -0x4(%edi),%eax
6790f2:	e9 95 00 00 00       	jmp    0x67918c
6790f7:	bf 04 00 00 00       	mov    $0x4,%edi
6790fc:	57                   	push   %edi
6790fd:	68 48 1b bf 00       	push   $0xbf1b48
679102:	53                   	push   %ebx
679103:	e8 11 5b d9 ff       	call   0x40ec19
679108:	83 c4 0c             	add    $0xc,%esp
67910b:	85 c0                	test   %eax,%eax
67910d:	75 05                	jne    0x679114
67910f:	8d 47 fe             	lea    -0x2(%edi),%eax
679112:	eb 78                	jmp    0x67918c
679114:	6a 04                	push   $0x4
679116:	68 50 1b bf 00       	push   $0xbf1b50
67911b:	53                   	push   %ebx
67911c:	e8 f8 5a d9 ff       	call   0x40ec19
679121:	83 c4 0c             	add    $0xc,%esp
679124:	85 c0                	test   %eax,%eax
679126:	75 07                	jne    0x67912f
679128:	b8 03 00 00 00       	mov    $0x3,%eax
67912d:	eb 5d                	jmp    0x67918c
67912f:	bf 07 00 00 00       	mov    $0x7,%edi
679134:	57                   	push   %edi
679135:	68 58 1b bf 00       	push   $0xbf1b58
67913a:	53                   	push   %ebx
67913b:	e8 d9 5a d9 ff       	call   0x40ec19
679140:	83 c4 0c             	add    $0xc,%esp
679143:	85 c0                	test   %eax,%eax
679145:	75 05                	jne    0x67914c
679147:	8d 47 fd             	lea    -0x3(%edi),%eax
67914a:	eb 40                	jmp    0x67918c
67914c:	bf 08 00 00 00       	mov    $0x8,%edi
679151:	57                   	push   %edi
679152:	68 64 1b bf 00       	push   $0xbf1b64
679157:	53                   	push   %ebx
679158:	e8 bc 5a d9 ff       	call   0x40ec19
67915d:	83 c4 0c             	add    $0xc,%esp
679160:	85 c0                	test   %eax,%eax
679162:	75 05                	jne    0x679169
679164:	8d 47 fd             	lea    -0x3(%edi),%eax
679167:	eb 23                	jmp    0x67918c
679169:	bf 05 00 00 00       	mov    $0x5,%edi
67916e:	57                   	push   %edi
67916f:	68 70 1b bf 00       	push   $0xbf1b70
679174:	53                   	push   %ebx
679175:	e8 9f 5a d9 ff       	call   0x40ec19
67917a:	83 c4 0c             	add    $0xc,%esp
67917d:	b9 06 00 00 00       	mov    $0x6,%ecx
679182:	85 c0                	test   %eax,%eax
679184:	b8 00 00 00 00       	mov    $0x0,%eax
679189:	0f 44 c1             	cmove  %ecx,%eax
67918c:	8b 54 24 10          	mov    0x10(%esp),%edx
679190:	89 44 24 14          	mov    %eax,0x14(%esp)
679194:	85 d2                	test   %edx,%edx
679196:	0f 84 a4 01 00 00    	je     0x679340
67919c:	66 85 c0             	test   %ax,%ax
67919f:	0f 84 9b 01 00 00    	je     0x679340
6791a5:	0f be 84 3e 14 61 01 	movsbl 0x16114(%esi,%edi,1),%eax
6791ac:	00
6791ad:	40                   	inc    %eax
6791ae:	85 c0                	test   %eax,%eax
6791b0:	7e 10                	jle    0x6791c2
6791b2:	8a 04 3b             	mov    (%ebx,%edi,1),%al
6791b5:	3c 20                	cmp    $0x20,%al
6791b7:	7f 09                	jg     0x6791c2
6791b9:	8a 44 3b 01          	mov    0x1(%ebx,%edi,1),%al
6791bd:	47                   	inc    %edi
6791be:	84 c0                	test   %al,%al
6791c0:	79 f3                	jns    0x6791b5
6791c2:	8d 8e 80 85 01 00    	lea    0x18580(%esi),%ecx
6791c8:	8d 59 01             	lea    0x1(%ecx),%ebx
6791cb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
6791d0:	8a 01                	mov    (%ecx),%al
6791d2:	41                   	inc    %ecx
6791d3:	84 c0                	test   %al,%al
6791d5:	75 f9                	jne    0x6791d0
6791d7:	2b cb                	sub    %ebx,%ecx
6791d9:	8d 9a eb 9e fe ff    	lea    -0x16115(%edx),%ebx
6791df:	8b c1                	mov    %ecx,%eax
6791e1:	2b c6                	sub    %esi,%eax
6791e3:	2b c7                	sub    %edi,%eax
6791e5:	03 d8                	add    %eax,%ebx
6791e7:	b8 ff 03 00 00       	mov    $0x3ff,%eax
6791ec:	81 fb 00 04 00 00    	cmp    $0x400,%ebx
6791f2:	0f 43 d8             	cmovae %eax,%ebx
6791f5:	3b cb                	cmp    %ebx,%ecx
6791f7:	0f 47 cb             	cmova  %ebx,%ecx
6791fa:	2b d9                	sub    %ecx,%ebx
6791fc:	43                   	inc    %ebx
6791fd:	81 fb 00 04 00 00    	cmp    $0x400,%ebx
679203:	72 04                	jb     0x679209
679205:	8b d8                	mov    %eax,%ebx
679207:	eb 04                	jmp    0x67920d
679209:	85 db                	test   %ebx,%ebx
67920b:	74 1c                	je     0x679229
67920d:	8d 14 3e             	lea    (%esi,%edi,1),%edx
679210:	8a 8c 1a 13 61 01 00 	mov    0x16113(%edx,%ebx,1),%cl
679217:	0f be c1             	movsbl %cl,%eax
67921a:	40                   	inc    %eax
67921b:	85 c0                	test   %eax,%eax
67921d:	7e 0a                	jle    0x679229
67921f:	80 f9 20             	cmp    $0x20,%cl
679222:	7f 05                	jg     0x679229
679224:	83 eb 01             	sub    $0x1,%ebx
679227:	75 e7                	jne    0x679210
679229:	53                   	push   %ebx
67922a:	8d 86 14 61 01 00    	lea    0x16114(%esi),%eax
679230:	03 c7                	add    %edi,%eax
679232:	8d ae 80 89 01 00    	lea    0x18980(%esi),%ebp
679238:	50                   	push   %eax
679239:	68 00 04 00 00       	push   $0x400
67923e:	55                   	push   %ebp
67923f:	e8 39 f0 d9 ff       	call   0x41827d
679244:	8a 45 00             	mov    0x0(%ebp),%al
679247:	83 c4 10             	add    $0x10,%esp
67924a:	84 c0                	test   %al,%al
67924c:	74 19                	je     0x679267
67924e:	3c 2f                	cmp    $0x2f,%al
679250:	74 15                	je     0x679267
679252:	53                   	push   %ebx
679253:	55                   	push   %ebp
679254:	8d 86 80 85 01 00    	lea    0x18580(%esi),%eax
67925a:	68 00 04 00 00       	push   $0x400
67925f:	50                   	push   %eax
679260:	e8 18 f0 d9 ff       	call   0x41827d
679265:	eb 13                	jmp    0x67927a
679267:	53                   	push   %ebx
679268:	55                   	push   %ebp
679269:	8d 86 80 85 01 00    	lea    0x18580(%esi),%eax
67926f:	68 00 04 00 00       	push   $0x400
679274:	50                   	push   %eax
679275:	e8 a3 4d dc ff       	call   0x43e01d
67927a:	8b 44 24 24          	mov    0x24(%esp),%eax
67927e:	83 c4 10             	add    $0x10,%esp
679281:	66 83 f8 01          	cmp    $0x1,%ax
679285:	0f 86 9e 00 00 00    	jbe    0x679329
67928b:	0f b7 c0             	movzwl %ax,%eax
67928e:	83 c0 fe             	add    $0xfffffffe,%eax
679291:	83 f8 04             	cmp    $0x4,%eax
679294:	77 6b                	ja     0x679301
679296:	ff 24 85 1c 94 67 00 	jmp    *0x67941c(,%eax,4)
67929d:	8b 86 f8 5f 00 00    	mov    0x5ff8(%esi),%eax
6792a3:	56                   	push   %esi
6792a4:	ff d0                	call   *%eax
6792a6:	83 c4 04             	add    $0x4,%esp
6792a9:	89 86 c0 91 01 00    	mov    %eax,0x191c0(%esi)
6792af:	eb 5a                	jmp    0x67930b
6792b1:	8b 86 f4 5f 00 00    	mov    0x5ff4(%esi),%eax
6792b7:	56                   	push   %esi
6792b8:	ff d0                	call   *%eax
6792ba:	83 c4 04             	add    $0x4,%esp
6792bd:	89 86 c0 91 01 00    	mov    %eax,0x191c0(%esi)
6792c3:	eb 46                	jmp    0x67930b