a63ead:	89 5d fc             	mov    %ebx,-0x4(%ebp)
a63eb0:	38 5d 14             	cmp    %bl,0x14(%ebp)
a63eb3:	74 26                	je     0xa63edb
a63eb5:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
a63ebb:	51                   	push   %ecx
a63ebc:	8b c8                	mov    %eax,%ecx
a63ebe:	e8 2f f3 99 ff       	call   0x4031f2
a63ec3:	50                   	push   %eax
a63ec4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
a63ec8:	e8 1e 75 9c ff       	call   0x42b3eb
a63ecd:	59                   	pop    %ecx
a63ece:	8b f8                	mov    %eax,%edi
a63ed0:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
a63ed6:	89 7d 88             	mov    %edi,-0x78(%ebp)
a63ed9:	eb 24                	jmp    0xa63eff
a63edb:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
a63ee1:	51                   	push   %ecx
a63ee2:	8b c8                	mov    %eax,%ecx
a63ee4:	e8 09 f3 99 ff       	call   0x4031f2
a63ee9:	50                   	push   %eax
a63eea:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
a63eee:	e8 8f 85 9a ff       	call   0x40c482
a63ef3:	59                   	pop    %ecx
a63ef4:	8b f8                	mov    %eax,%edi
a63ef6:	89 45 88             	mov    %eax,-0x78(%ebp)
a63ef9:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
a63eff:	88 5d fc             	mov    %bl,-0x4(%ebp)
a63f02:	e8 3f dd 9c ff       	call   0x431c46
a63f07:	8d 45 a8             	lea    -0x58(%ebp),%eax
a63f0a:	8b cf                	mov    %edi,%ecx
a63f0c:	50                   	push   %eax
a63f0d:	e8 7e b0 9d ff       	call   0x43ef90
a63f12:	8b 07                	mov    (%edi),%eax
a63f14:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
a63f18:	8b 70 24             	mov    0x24(%eax),%esi
a63f1b:	8b ce                	mov    %esi,%ecx
a63f1d:	e8 43 87 9c ff       	call   0x42c665
a63f22:	8b cf                	mov    %edi,%ecx
a63f24:	ff d6                	call   *%esi
a63f26:	99                   	cltd
a63f27:	8b d8                	mov    %eax,%ebx
a63f29:	33 da                	xor    %edx,%ebx
a63f2b:	2b da                	sub    %edx,%ebx
a63f2d:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
a63f30:	39 5d 34             	cmp    %ebx,0x34(%ebp)
a63f33:	77 1c                	ja     0xa63f51
a63f35:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
a63f3b:	8b cb                	mov    %ebx,%ecx
a63f3d:	2b 4d 34             	sub    0x34(%ebp),%ecx
a63f40:	41                   	inc    %ecx
a63f41:	51                   	push   %ecx
a63f42:	6a 00                	push   $0x0
a63f44:	8d 4d 24             	lea    0x24(%ebp),%ecx
a63f47:	e8 29 13 9c ff       	call   0x425275
a63f4c:	e9 86 00 00 00       	jmp    0xa63fd7
a63f51:	83 7d bc 10          	cmpl   $0x10,-0x44(%ebp)
a63f55:	8b 45 a8             	mov    -0x58(%ebp),%eax
a63f58:	8b c8                	mov    %eax,%ecx
a63f5a:	73 03                	jae    0xa63f5f
a63f5c:	8d 4d a8             	lea    -0x58(%ebp),%ecx
a63f5f:	80 39 7f             	cmpb   $0x7f,(%ecx)
a63f62:	74 73                	je     0xa63fd7
a63f64:	83 7d bc 10          	cmpl   $0x10,-0x44(%ebp)
a63f68:	73 03                	jae    0xa63f6d
a63f6a:	8d 45 a8             	lea    -0x58(%ebp),%eax
a63f6d:	80 38 00             	cmpb   $0x0,(%eax)
a63f70:	7e 65                	jle    0xa63fd7
a63f72:	8b 07                	mov    (%edi),%eax
a63f74:	8b 70 10             	mov    0x10(%eax),%esi
a63f77:	8b ce                	mov    %esi,%ecx
a63f79:	e8 e7 86 9c ff       	call   0x42c665
a63f7e:	8b cf                	mov    %edi,%ecx
a63f80:	ff d6                	call   *%esi
a63f82:	83 7d bc 10          	cmpl   $0x10,-0x44(%ebp)
a63f86:	8b 7d a8             	mov    -0x58(%ebp),%edi
a63f89:	0f b7 c0             	movzwl %ax,%eax
a63f8c:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
a63f92:	73 03                	jae    0xa63f97
a63f94:	8d 7d a8             	lea    -0x58(%ebp),%edi
a63f97:	8b 75 34             	mov    0x34(%ebp),%esi
a63f9a:	8a 07                	mov    (%edi),%al
a63f9c:	2b f3                	sub    %ebx,%esi
a63f9e:	3c 7f                	cmp    $0x7f,%al
a63fa0:	74 32                	je     0xa63fd4
a63fa2:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
a63fa8:	84 c0                	test   %al,%al
a63faa:	7e 25                	jle    0xa63fd1
a63fac:	0f be c0             	movsbl %al,%eax
a63faf:	3b c6                	cmp    %esi,%eax
a63fb1:	73 1e                	jae    0xa63fd1
a63fb3:	53                   	push   %ebx
a63fb4:	2b f0                	sub    %eax,%esi
a63fb6:	8d 4d 24             	lea    0x24(%ebp),%ecx
a63fb9:	6a 01                	push   $0x1
a63fbb:	56                   	push   %esi
a63fbc:	e8 b4 12 9c ff       	call   0x425275
a63fc1:	8d 47 01             	lea    0x1(%edi),%eax
a63fc4:	80 38 00             	cmpb   $0x0,(%eax)
a63fc7:	7e 02                	jle    0xa63fcb
a63fc9:	8b f8                	mov    %eax,%edi
a63fcb:	8a 07                	mov    (%edi),%al
a63fcd:	3c 7f                	cmp    $0x7f,%al
a63fcf:	75 d7                	jne    0xa63fa8
a63fd1:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
a63fd4:	8b 7d 88             	mov    -0x78(%ebp),%edi
a63fd7:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
a63fdb:	33 c0                	xor    %eax,%eax
a63fdd:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
a63fe4:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
a63fe8:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
a63fec:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
a63ff2:	8b 07                	mov    (%edi),%eax
a63ff4:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
a63ff8:	51                   	push   %ecx
a63ff9:	74 24                	je     0xa6401f
a63ffb:	8b 70 2c             	mov    0x2c(%eax),%esi
a63ffe:	8b ce                	mov    %esi,%ecx
a64000:	e8 60 86 9c ff       	call   0x42c665
a64005:	8b cf                	mov    %edi,%ecx
a64007:	ff d6                	call   *%esi
a64009:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
a6400f:	8b cf                	mov    %edi,%ecx
a64011:	89 45 84             	mov    %eax,-0x7c(%ebp)
a64014:	8d 45 90             	lea    -0x70(%ebp),%eax
a64017:	50                   	push   %eax
a64018:	e8 b2 09 9b ff       	call   0x4149cf
a6401d:	eb 22                	jmp    0xa64041
a6401f:	8b 70 28             	mov    0x28(%eax),%esi
a64022:	8b ce                	mov    %esi,%ecx
a64024:	e8 3c 86 9c ff       	call   0x42c665
a64029:	8b cf                	mov    %edi,%ecx
a6402b:	ff d6                	call   *%esi
a6402d:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
a64033:	8b cf                	mov    %edi,%ecx
a64035:	89 45 84             	mov    %eax,-0x7c(%ebp)
a64038:	8d 45 90             	lea    -0x70(%ebp),%eax
a6403b:	50                   	push   %eax
a6403c:	e8 9d c8 9a ff       	call   0x4108de
a64041:	50                   	push   %eax
a64042:	8d 4d d8             	lea    -0x28(%ebp),%ecx
a64045:	e8 74 64 9c ff       	call   0x42a4be
a6404a:	6a 00                	push   $0x0
a6404c:	6a 01                	push   $0x1
a6404e:	8d 4d 90             	lea    -0x70(%ebp),%ecx
a64051:	e8 77 48 9a ff       	call   0x4088cd
a64056:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
a6405a:	33 c0                	xor    %eax,%eax
a6405c:	c7 45 d4 07 00 00 00 	movl   $0x7,-0x2c(%ebp)
a64063:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
a64067:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
a6406d:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
a64071:	f6 40 14 08          	testb  $0x8,0x14(%eax)
a64075:	74 20                	je     0xa64097
a64077:	8d 45 90             	lea    -0x70(%ebp),%eax
a6407a:	8b cf                	mov    %edi,%ecx
a6407c:	50                   	push   %eax
a6407d:	e8 5c 1c 9c ff       	call   0x425cde
a64082:	50                   	push   %eax
a64083:	8d 4d c0             	lea    -0x40(%ebp),%ecx
a64086:	e8 33 64 9c ff       	call   0x42a4be
a6408b:	6a 00                	push   $0x0
a6408d:	6a 01                	push   $0x1
a6408f:	8d 4d 90             	lea    -0x70(%ebp),%ecx
a64092:	e8 36 48 9a ff       	call   0x4088cd
a64097:	32 d2                	xor    %dl,%dl
a64099:	33 c9                	xor    %ecx,%ecx
a6409b:	88 55 8f             	mov    %dl,-0x71(%ebp)
a6409e:	33 f6                	xor    %esi,%esi
a640a0:	0f be 44 35 84       	movsbl -0x7c(%ebp,%esi,1),%eax
a640a5:	83 e8 20             	sub    $0x20,%eax
a640a8:	74 44                	je     0xa640ee
a640aa:	83 e8 04             	sub    $0x4,%eax
a640ad:	74 3a                	je     0xa640e9
a640af:	83 e8 07             	sub    $0x7,%eax
a640b2:	74 30                	je     0xa640e4
a640b4:	83 e8 4b             	sub    $0x4b,%eax
a640b7:	74 08                	je     0xa640c1
a640b9:	48                   	dec    %eax
a640ba:	83 e8 01             	sub    $0x1,%eax
a640bd:	74 30                	je     0xa640ef
a640bf:	eb 38                	jmp    0xa640f9
a640c1:	39 5d 34             	cmp    %ebx,0x34(%ebp)
a640c4:	77 08                	ja     0xa640ce
a640c6:	8b d3                	mov    %ebx,%edx
a640c8:	2b 55 34             	sub    0x34(%ebp),%edx
a640cb:	42                   	inc    %edx
a640cc:	eb 02                	jmp    0xa640d0
a640ce:	33 d2                	xor    %edx,%edx
a640d0:	33 c0                	xor    %eax,%eax
a640d2:	3b c3                	cmp    %ebx,%eax
a640d4:	1b c0                	sbb    %eax,%eax
a640d6:	f7 d8                	neg    %eax
a640d8:	03 45 34             	add    0x34(%ebp),%eax
a640db:	03 c2                	add    %edx,%eax
a640dd:	8a 55 8f             	mov    -0x71(%ebp),%dl
a640e0:	03 c8                	add    %eax,%ecx
a640e2:	eb 15                	jmp    0xa640f9
a640e4:	03 4d e8             	add    -0x18(%ebp),%ecx
a640e7:	eb 10                	jmp    0xa640f9
a640e9:	03 4d d0             	add    -0x30(%ebp),%ecx
a640ec:	eb 0b                	jmp    0xa640f9
a640ee:	41                   	inc    %ecx
a640ef:	83 fe 03             	cmp    $0x3,%esi
a640f2:	74 05                	je     0xa640f9
a640f4:	b2 01                	mov    $0x1,%dl
a640f6:	88 55 8f             	mov    %dl,-0x71(%ebp)
a640f9:	46                   	inc    %esi
a640fa:	83 fe 04             	cmp    $0x4,%esi
a640fd:	72 a1                	jb     0xa640a0
a640ff:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
a64105:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
a64109:	7c 13                	jl     0xa6411e
a6410b:	7f 06                	jg     0xa64113
a6410d:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
a64111:	76 0b                	jbe    0xa6411e
a64113:	8b 78 20             	mov    0x20(%eax),%edi
a64116:	3b f9                	cmp    %ecx,%edi
a64118:	76 04                	jbe    0xa6411e
a6411a:	2b f9                	sub    %ecx,%edi
a6411c:	eb 02                	jmp    0xa64120
a6411e:	33 ff                	xor    %edi,%edi
a64120:	8b 40 14             	mov    0x14(%eax),%eax
a64123:	25 c0 01 00 00       	and    $0x1c0,%eax
a64128:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
a6412e:	83 f8 40             	cmp    $0x40,%eax
a64131:	74 33                	je     0xa64166
a64133:	3d 00 01 00 00       	cmp    $0x100,%eax
a64138:	75 04                	jne    0xa6413e
a6413a:	84 d2                	test   %dl,%dl
a6413c:	75 28                	jne    0xa64166
a6413e:	57                   	push   %edi
a6413f:	ff 75 80             	push   -0x80(%ebp)
a64142:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
a64148:	ff 75 10             	push   0x10(%ebp)
a6414b:	ff 75 0c             	push   0xc(%ebp)
a6414e:	50                   	push   %eax
a6414f:	e8 9e 67 9b ff       	call   0x41a8f2
a64154:	83 c4 14             	add    $0x14,%esp
a64157:	33 ff                	xor    %edi,%edi
a64159:	8b 10                	mov    (%eax),%edx
a6415b:	89 55 0c             	mov    %edx,0xc(%ebp)
a6415e:	8b 70 04             	mov    0x4(%eax),%esi
a64161:	89 75 10             	mov    %esi,0x10(%ebp)
a64164:	eb 06                	jmp    0xa6416c
a64166:	8b 75 10             	mov    0x10(%ebp),%esi
a64169:	8b 55 0c             	mov    0xc(%ebp),%edx
a6416c:	33 c0                	xor    %eax,%eax
a6416e:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
a64174:	0f be 44 05 84       	movsbl -0x7c(%ebp,%eax,1),%eax
a64179:	83 e8 20             	sub    $0x20,%eax
a6417c:	0f 84 8b 01 00 00    	je     0xa6430d
a64182:	83 e8 04             	sub    $0x4,%eax
a64185:	0f 84 67 01 00 00    	je     0xa642f2
a6418b:	83 e8 07             	sub    $0x7,%eax
a6418e:	0f 84 3a 01 00 00    	je     0xa642ce
a64194:	83 e8 4b             	sub    $0x4b,%eax
a64197:	74 0f                	je     0xa641a8
a64199:	48                   	dec    %eax
a6419a:	83 e8 01             	sub    $0x1,%eax
a6419d:	0f 84 8b 01 00 00    	je     0xa6432e
a641a3:	e9 b4 01 00 00       	jmp    0xa6435c
a641a8:	85 db                	test   %ebx,%ebx
a641aa:	75 26                	jne    0xa641d2
a641ac:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
a641b0:	8b 45 24             	mov    0x24(%ebp),%eax
a641b3:	73 03                	jae    0xa641b8
a641b5:	8d 45 24             	lea    0x24(%ebp),%eax
a641b8:	ff 75 34             	push   0x34(%ebp)
a641bb:	50                   	push   %eax
a641bc:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
a641c2:	56                   	push   %esi
a641c3:	52                   	push   %edx
a641c4:	50                   	push   %eax
a641c5:	e8 ff 71 9b ff       	call   0x41b3c9
a641ca:	83 c4 14             	add    $0x14,%esp
a641cd:	e9 7f 01 00 00       	jmp    0xa64351
a641d2:	39 5d 34             	cmp    %ebx,0x34(%ebp)
a641d5:	77 7c                	ja     0xa64253
a641d7:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
a641dd:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a641e0:	e8 0c 68 9b ff       	call   0x41a9f1
a641e5:	8b 4d 88             	mov    -0x78(%ebp),%ecx
a641e8:	8b 01                	mov    (%ecx),%eax
a641ea:	8b 70 0c             	mov    0xc(%eax),%esi
a641ed:	8b ce                	mov    %esi,%ecx
a641ef:	e8 71 84 9c ff       	call   0x42c665
a641f4:	8b 4d 88             	mov    -0x78(%ebp),%ecx
a641f7:	ff d6                	call   *%esi
a641f9:	0f b7 c0             	movzwl %ax,%eax
a641fc:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a641ff:	50                   	push   %eax
a64200:	e8 ec 67 9b ff       	call   0x41a9f1
a64205:	8b c3                	mov    %ebx,%eax
a64207:	2b 45 34             	sub    0x34(%ebp),%eax
a6420a:	50                   	push   %eax
a6420b:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
a64211:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
a64217:	ff 75 10             	push   0x10(%ebp)
a6421a:	ff 75 0c             	push   0xc(%ebp)
a6421d:	50                   	push   %eax
a6421e:	e8 cf 66 9b ff       	call   0x41a8f2
a64223:	8b 4d 24             	mov    0x24(%ebp),%ecx
a64226:	8b d0                	mov    %eax,%edx
a64228:	83 c4 14             	add    $0x14,%esp
a6422b:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
a6422f:	8b 02                	mov    (%edx),%eax
a64231:	89 45 0c             	mov    %eax,0xc(%ebp)
a64234:	8b 42 04             	mov    0x4(%edx),%eax
a64237:	89 45 10             	mov    %eax,0x10(%ebp)
a6423a:	73 03                	jae    0xa6423f
a6423c:	8d 4d 24             	lea    0x24(%ebp),%ecx
a6423f:	ff 75 34             	push   0x34(%ebp)
a64242:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
a64248:	51                   	push   %ecx
a64249:	ff 72 04             	push   0x4(%edx)
a6424c:	ff 32                	push   (%edx)
a6424e:	e9 71 ff ff ff       	jmp    0xa641c4
a64253:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
a64257:	8b 4d 24             	mov    0x24(%ebp),%ecx
a6425a:	73 03                	jae    0xa6425f
a6425c:	8d 4d 24             	lea    0x24(%ebp),%ecx
a6425f:	8b 45 34             	mov    0x34(%ebp),%eax
a64262:	2b c3                	sub    %ebx,%eax
a64264:	50                   	push   %eax
a64265:	51                   	push   %ecx
a64266:	56                   	push   %esi
a64267:	52                   	push   %edx
a64268:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
a6426e:	50                   	push   %eax
a6426f:	e8 55 71 9b ff       	call   0x41b3c9
a64274:	8b c8                	mov    %eax,%ecx
a64276:	83 c4 14             	add    $0x14,%esp
a64279:	8b 01                	mov    (%ecx),%eax
a6427b:	89 45 0c             	mov    %eax,0xc(%ebp)
a6427e:	8b 41 04             	mov    0x4(%ecx),%eax
a64281:	89 45 10             	mov    %eax,0x10(%ebp)
a64284:	8b 45 88             	mov    -0x78(%ebp),%eax
a64287:	8b 00                	mov    (%eax),%eax
a64289:	8b 70 0c             	mov    0xc(%eax),%esi
a6428c:	8b ce                	mov    %esi,%ecx
a6428e:	e8 d2 83 9c ff       	call   0x42c665
a64293:	8b 4d 88             	mov    -0x78(%ebp),%ecx
a64296:	ff d6                	call   *%esi
a64298:	0f b7 c0             	movzwl %ax,%eax
a6429b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6429e:	50                   	push   %eax
a6429f:	e8 4d 67 9b ff       	call   0x41a9f1
a642a4:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
a642a8:	8b 4d 24             	mov    0x24(%ebp),%ecx
a642ab:	73 03                	jae    0xa642b0