45e037:	53                   	push   %ebx
45e038:	6a 10                	push   $0x10
45e03a:	eb 57                	jmp    0x45e093
45e03c:	83 e8 5a             	sub    $0x5a,%eax
45e03f:	74 15                	je     0x45e056
45e041:	83 e8 07             	sub    $0x7,%eax
45e044:	74 56                	je     0x45e09c
45e046:	48                   	dec    %eax
45e047:	83 e8 01             	sub    $0x1,%eax
45e04a:	75 e4                	jne    0x45e030
45e04c:	51                   	push   %ecx
45e04d:	8b ce                	mov    %esi,%ecx
45e04f:	e8 bd 33 00 00       	call   0x461411
45e054:	eb d2                	jmp    0x45e028
45e056:	8b ce                	mov    %esi,%ecx
45e058:	e8 cf 1c 00 00       	call   0x45fd2c
45e05d:	eb c9                	jmp    0x45e028
45e05f:	83 f8 70             	cmp    $0x70,%eax
45e062:	7f 4d                	jg     0x45e0b1
45e064:	74 3f                	je     0x45e0a5
45e066:	83 f8 67             	cmp    $0x67,%eax
45e069:	7e 31                	jle    0x45e09c
45e06b:	83 f8 69             	cmp    $0x69,%eax
45e06e:	74 1c                	je     0x45e08c
45e070:	83 f8 6e             	cmp    $0x6e,%eax
45e073:	74 0e                	je     0x45e083
45e075:	83 f8 6f             	cmp    $0x6f,%eax
45e078:	75 b6                	jne    0x45e030
45e07a:	8b ce                	mov    %esi,%ecx
45e07c:	e8 d9 51 00 00       	call   0x46325a
45e081:	eb a5                	jmp    0x45e028
45e083:	8b ce                	mov    %esi,%ecx
45e085:	e8 21 4c 00 00       	call   0x462cab
45e08a:	eb 9c                	jmp    0x45e028
45e08c:	83 4e 20 10          	orl    $0x10,0x20(%esi)
45e090:	51                   	push   %ecx
45e091:	6a 0a                	push   $0xa
45e093:	8b ce                	mov    %esi,%ecx
45e095:	e8 5b 3c 00 00       	call   0x461cf5
45e09a:	eb 8c                	jmp    0x45e028
45e09c:	8b ce                	mov    %esi,%ecx
45e09e:	e8 94 22 00 00       	call   0x460337
45e0a3:	eb 83                	jmp    0x45e028
45e0a5:	8b ce                	mov    %esi,%ecx
45e0a7:	e8 1b 53 00 00       	call   0x4633c7
45e0ac:	e9 77 ff ff ff       	jmp    0x45e028
45e0b1:	83 e8 73             	sub    $0x73,%eax
45e0b4:	0f 84 67 ff ff ff    	je     0x45e021
45e0ba:	48                   	dec    %eax
45e0bb:	83 e8 01             	sub    $0x1,%eax
45e0be:	74 d0                	je     0x45e090
45e0c0:	83 e8 03             	sub    $0x3,%eax
45e0c3:	0f 85 67 ff ff ff    	jne    0x45e030
45e0c9:	51                   	push   %ecx
45e0ca:	e9 69 ff ff ff       	jmp    0x45e038
45e0cf:	8b ce                	mov    %esi,%ecx
45e0d1:	e8 bb de ff ff       	call   0x45bf91
45e0d6:	84 c0                	test   %al,%al
45e0d8:	74 07                	je     0x45e0e1
45e0da:	8a c3                	mov    %bl,%al
45e0dc:	e9 2f 01 00 00       	jmp    0x45e210
45e0e1:	80 7e 30 00          	cmpb   $0x0,0x30(%esi)
45e0e5:	75 f3                	jne    0x45e0da
45e0e7:	8b 56 20             	mov    0x20(%esi),%edx
45e0ea:	33 c0                	xor    %eax,%eax
45e0ec:	57                   	push   %edi
45e0ed:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
45e0f1:	8b f8                	mov    %eax,%edi
45e0f3:	88 45 fe             	mov    %al,-0x2(%ebp)
45e0f6:	8b c2                	mov    %edx,%eax
45e0f8:	c1 e8 04             	shr    $0x4,%eax
45e0fb:	84 c3                	test   %al,%bl
45e0fd:	74 27                	je     0x45e126
45e0ff:	8b c2                	mov    %edx,%eax
45e101:	c1 e8 06             	shr    $0x6,%eax
45e104:	84 c3                	test   %al,%bl
45e106:	74 06                	je     0x45e10e
45e108:	c6 45 fc 2d          	movb   $0x2d,-0x4(%ebp)
45e10c:	eb 16                	jmp    0x45e124
45e10e:	84 d3                	test   %dl,%bl
45e110:	74 06                	je     0x45e118
45e112:	c6 45 fc 2b          	movb   $0x2b,-0x4(%ebp)
45e116:	eb 0c                	jmp    0x45e124
45e118:	8b c2                	mov    %edx,%eax
45e11a:	d1 e8                	shr    $1,%eax
45e11c:	84 c3                	test   %al,%bl
45e11e:	74 06                	je     0x45e126
45e120:	c6 45 fc 20          	movb   $0x20,-0x4(%ebp)
45e124:	8b fb                	mov    %ebx,%edi
45e126:	8a 4e 31             	mov    0x31(%esi),%cl
45e129:	80 f9 78             	cmp    $0x78,%cl
45e12c:	74 05                	je     0x45e133
45e12e:	80 f9 58             	cmp    $0x58,%cl
45e131:	75 09                	jne    0x45e13c
45e133:	8b c2                	mov    %edx,%eax
45e135:	c1 e8 05             	shr    $0x5,%eax
45e138:	84 c3                	test   %al,%bl
45e13a:	75 02                	jne    0x45e13e
45e13c:	32 db                	xor    %bl,%bl
45e13e:	80 f9 61             	cmp    $0x61,%cl
45e141:	74 09                	je     0x45e14c
45e143:	80 f9 41             	cmp    $0x41,%cl
45e146:	74 04                	je     0x45e14c
45e148:	32 c0                	xor    %al,%al
45e14a:	eb 02                	jmp    0x45e14e
45e14c:	b0 01                	mov    $0x1,%al
45e14e:	84 db                	test   %bl,%bl
45e150:	75 04                	jne    0x45e156
45e152:	84 c0                	test   %al,%al
45e154:	74 27                	je     0x45e17d
45e156:	c6 44 3d fc 30       	movb   $0x30,-0x4(%ebp,%edi,1)
45e15b:	80 f9 58             	cmp    $0x58,%cl
45e15e:	74 09                	je     0x45e169
45e160:	80 f9 41             	cmp    $0x41,%cl
45e163:	74 04                	je     0x45e169
45e165:	32 c0                	xor    %al,%al
45e167:	eb 02                	jmp    0x45e16b
45e169:	b0 01                	mov    $0x1,%al
45e16b:	84 c0                	test   %al,%al
45e16d:	0f 94 c0             	sete   %al
45e170:	fe c8                	dec    %al
45e172:	24 e0                	and    $0xe0,%al
45e174:	04 78                	add    $0x78,%al
45e176:	88 44 3d fd          	mov    %al,-0x3(%ebp,%edi,1)
45e17a:	83 c7 02             	add    $0x2,%edi
45e17d:	8b 5e 24             	mov    0x24(%esi),%ebx
45e180:	2b 5e 38             	sub    0x38(%esi),%ebx
45e183:	2b df                	sub    %edi,%ebx
45e185:	f6 c2 0c             	test   $0xc,%dl
45e188:	75 16                	jne    0x45e1a0
45e18a:	8d 46 18             	lea    0x18(%esi),%eax
45e18d:	50                   	push   %eax
45e18e:	53                   	push   %ebx
45e18f:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e195:	6a 20                	push   $0x20
45e197:	50                   	push   %eax
45e198:	e8 04 ae ff ff       	call   0x458fa1
45e19d:	83 c4 10             	add    $0x10,%esp
45e1a0:	8d 46 0c             	lea    0xc(%esi),%eax
45e1a3:	50                   	push   %eax
45e1a4:	8d 4e 18             	lea    0x18(%esi),%ecx
45e1a7:	51                   	push   %ecx
45e1a8:	57                   	push   %edi
45e1a9:	8d 45 fc             	lea    -0x4(%ebp),%eax
45e1ac:	50                   	push   %eax
45e1ad:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
45e1b3:	e8 38 75 00 00       	call   0x4656f0
45e1b8:	8b 4e 20             	mov    0x20(%esi),%ecx
45e1bb:	8d 7e 18             	lea    0x18(%esi),%edi
45e1be:	8b c1                	mov    %ecx,%eax
45e1c0:	c1 e8 03             	shr    $0x3,%eax
45e1c3:	a8 01                	test   $0x1,%al
45e1c5:	74 1b                	je     0x45e1e2
45e1c7:	c1 e9 02             	shr    $0x2,%ecx
45e1ca:	f6 c1 01             	test   $0x1,%cl
45e1cd:	75 13                	jne    0x45e1e2
45e1cf:	57                   	push   %edi
45e1d0:	53                   	push   %ebx
45e1d1:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e1d7:	6a 30                	push   $0x30
45e1d9:	50                   	push   %eax
45e1da:	e8 c2 ad ff ff       	call   0x458fa1
45e1df:	83 c4 10             	add    $0x10,%esp
45e1e2:	6a 00                	push   $0x0
45e1e4:	8b ce                	mov    %esi,%ecx
45e1e6:	e8 70 6e 00 00       	call   0x46505b
45e1eb:	83 3f 00             	cmpl   $0x0,(%edi)
45e1ee:	7c 1d                	jl     0x45e20d
45e1f0:	8b 46 20             	mov    0x20(%esi),%eax
45e1f3:	c1 e8 02             	shr    $0x2,%eax
45e1f6:	a8 01                	test   $0x1,%al
45e1f8:	74 13                	je     0x45e20d
45e1fa:	57                   	push   %edi
45e1fb:	53                   	push   %ebx
45e1fc:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e202:	6a 20                	push   $0x20
45e204:	50                   	push   %eax
45e205:	e8 97 ad ff ff       	call   0x458fa1
45e20a:	83 c4 10             	add    $0x10,%esp
45e20d:	b0 01                	mov    $0x1,%al
45e20f:	5f                   	pop    %edi
45e210:	5e                   	pop    %esi
45e211:	5b                   	pop    %ebx
45e212:	8b e5                	mov    %ebp,%esp
45e214:	5d                   	pop    %ebp
45e215:	c3                   	ret
45e216:	8b ff                	mov    %edi,%edi
45e218:	55                   	push   %ebp
45e219:	8b ec                	mov    %esp,%ebp
45e21b:	51                   	push   %ecx
45e21c:	53                   	push   %ebx
45e21d:	56                   	push   %esi
45e21e:	8b f1                	mov    %ecx,%esi
45e220:	33 db                	xor    %ebx,%ebx
45e222:	43                   	inc    %ebx
45e223:	33 c9                	xor    %ecx,%ecx
45e225:	0f be 46 31          	movsbl 0x31(%esi),%eax
45e229:	83 f8 64             	cmp    $0x64,%eax
45e22c:	7f 6c                	jg     0x45e29a
45e22e:	0f 84 93 00 00 00    	je     0x45e2c7
45e234:	83 f8 58             	cmp    $0x58,%eax
45e237:	7f 3e                	jg     0x45e277
45e239:	74 37                	je     0x45e272
45e23b:	83 f8 41             	cmp    $0x41,%eax
45e23e:	0f 84 93 00 00 00    	je     0x45e2d7
45e244:	83 f8 43             	cmp    $0x43,%eax
45e247:	74 3e                	je     0x45e287
45e249:	83 f8 44             	cmp    $0x44,%eax
45e24c:	7e 1d                	jle    0x45e26b
45e24e:	83 f8 47             	cmp    $0x47,%eax
45e251:	0f 8e 80 00 00 00    	jle    0x45e2d7
45e257:	83 f8 53             	cmp    $0x53,%eax
45e25a:	75 0f                	jne    0x45e26b
45e25c:	8b ce                	mov    %esi,%ecx
45e25e:	e8 5b 53 00 00       	call   0x4635be
45e263:	84 c0                	test   %al,%al
45e265:	0f 85 9f 00 00 00    	jne    0x45e30a
45e26b:	32 c0                	xor    %al,%al
45e26d:	e9 ce 01 00 00       	jmp    0x45e440
45e272:	53                   	push   %ebx
45e273:	6a 10                	push   $0x10
45e275:	eb 57                	jmp    0x45e2ce
45e277:	83 e8 5a             	sub    $0x5a,%eax
45e27a:	74 15                	je     0x45e291
45e27c:	83 e8 07             	sub    $0x7,%eax
45e27f:	74 56                	je     0x45e2d7
45e281:	48                   	dec    %eax
45e282:	83 e8 01             	sub    $0x1,%eax
45e285:	75 e4                	jne    0x45e26b
45e287:	51                   	push   %ecx
45e288:	8b ce                	mov    %esi,%ecx
45e28a:	e8 42 32 00 00       	call   0x4614d1
45e28f:	eb d2                	jmp    0x45e263
45e291:	8b ce                	mov    %esi,%ecx
45e293:	e8 13 1b 00 00       	call   0x45fdab
45e298:	eb c9                	jmp    0x45e263
45e29a:	83 f8 70             	cmp    $0x70,%eax
45e29d:	7f 4d                	jg     0x45e2ec
45e29f:	74 3f                	je     0x45e2e0
45e2a1:	83 f8 67             	cmp    $0x67,%eax
45e2a4:	7e 31                	jle    0x45e2d7
45e2a6:	83 f8 69             	cmp    $0x69,%eax
45e2a9:	74 1c                	je     0x45e2c7
45e2ab:	83 f8 6e             	cmp    $0x6e,%eax
45e2ae:	74 0e                	je     0x45e2be
45e2b0:	83 f8 6f             	cmp    $0x6f,%eax
45e2b3:	75 b6                	jne    0x45e26b
45e2b5:	8b ce                	mov    %esi,%ecx
45e2b7:	e8 bd 4f 00 00       	call   0x463279
45e2bc:	eb a5                	jmp    0x45e263
45e2be:	8b ce                	mov    %esi,%ecx
45e2c0:	e8 7f 4a 00 00       	call   0x462d44
45e2c5:	eb 9c                	jmp    0x45e263
45e2c7:	83 4e 20 10          	orl    $0x10,0x20(%esi)
45e2cb:	51                   	push   %ecx
45e2cc:	6a 0a                	push   $0xa
45e2ce:	8b ce                	mov    %esi,%ecx
45e2d0:	e8 a2 3b 00 00       	call   0x461e77
45e2d5:	eb 8c                	jmp    0x45e263
45e2d7:	8b ce                	mov    %esi,%ecx
45e2d9:	e8 d2 21 00 00       	call   0x4604b0
45e2de:	eb 83                	jmp    0x45e263
45e2e0:	8b ce                	mov    %esi,%ecx
45e2e2:	e8 f8 50 00 00       	call   0x4633df
45e2e7:	e9 77 ff ff ff       	jmp    0x45e263
45e2ec:	83 e8 73             	sub    $0x73,%eax
45e2ef:	0f 84 67 ff ff ff    	je     0x45e25c
45e2f5:	48                   	dec    %eax
45e2f6:	83 e8 01             	sub    $0x1,%eax
45e2f9:	74 d0                	je     0x45e2cb
45e2fb:	83 e8 03             	sub    $0x3,%eax
45e2fe:	0f 85 67 ff ff ff    	jne    0x45e26b
45e304:	51                   	push   %ecx
45e305:	e9 69 ff ff ff       	jmp    0x45e273
45e30a:	80 7e 30 00          	cmpb   $0x0,0x30(%esi)
45e30e:	74 07                	je     0x45e317
45e310:	8a c3                	mov    %bl,%al
45e312:	e9 29 01 00 00       	jmp    0x45e440
45e317:	8b 56 20             	mov    0x20(%esi),%edx
45e31a:	33 c0                	xor    %eax,%eax
45e31c:	57                   	push   %edi
45e31d:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
45e321:	8b f8                	mov    %eax,%edi
45e323:	88 45 fe             	mov    %al,-0x2(%ebp)
45e326:	8b c2                	mov    %edx,%eax
45e328:	c1 e8 04             	shr    $0x4,%eax
45e32b:	84 c3                	test   %al,%bl
45e32d:	74 27                	je     0x45e356
45e32f:	8b c2                	mov    %edx,%eax
45e331:	c1 e8 06             	shr    $0x6,%eax
45e334:	84 c3                	test   %al,%bl
45e336:	74 06                	je     0x45e33e
45e338:	c6 45 fc 2d          	movb   $0x2d,-0x4(%ebp)
45e33c:	eb 16                	jmp    0x45e354
45e33e:	84 d3                	test   %dl,%bl
45e340:	74 06                	je     0x45e348
45e342:	c6 45 fc 2b          	movb   $0x2b,-0x4(%ebp)
45e346:	eb 0c                	jmp    0x45e354
45e348:	8b c2                	mov    %edx,%eax
45e34a:	d1 e8                	shr    $1,%eax
45e34c:	84 c3                	test   %al,%bl
45e34e:	74 06                	je     0x45e356
45e350:	c6 45 fc 20          	movb   $0x20,-0x4(%ebp)
45e354:	8b fb                	mov    %ebx,%edi
45e356:	8a 4e 31             	mov    0x31(%esi),%cl
45e359:	80 f9 78             	cmp    $0x78,%cl
45e35c:	74 05                	je     0x45e363
45e35e:	80 f9 58             	cmp    $0x58,%cl
45e361:	75 09                	jne    0x45e36c
45e363:	8b c2                	mov    %edx,%eax
45e365:	c1 e8 05             	shr    $0x5,%eax
45e368:	84 c3                	test   %al,%bl
45e36a:	75 02                	jne    0x45e36e
45e36c:	32 db                	xor    %bl,%bl
45e36e:	80 f9 61             	cmp    $0x61,%cl
45e371:	74 09                	je     0x45e37c
45e373:	80 f9 41             	cmp    $0x41,%cl
45e376:	74 04                	je     0x45e37c
45e378:	32 c0                	xor    %al,%al
45e37a:	eb 02                	jmp    0x45e37e
45e37c:	b0 01                	mov    $0x1,%al
45e37e:	84 db                	test   %bl,%bl
45e380:	75 04                	jne    0x45e386
45e382:	84 c0                	test   %al,%al
45e384:	74 27                	je     0x45e3ad
45e386:	c6 44 3d fc 30       	movb   $0x30,-0x4(%ebp,%edi,1)
45e38b:	80 f9 58             	cmp    $0x58,%cl
45e38e:	74 09                	je     0x45e399
45e390:	80 f9 41             	cmp    $0x41,%cl
45e393:	74 04                	je     0x45e399
45e395:	32 c0                	xor    %al,%al
45e397:	eb 02                	jmp    0x45e39b
45e399:	b0 01                	mov    $0x1,%al
45e39b:	84 c0                	test   %al,%al
45e39d:	0f 94 c0             	sete   %al
45e3a0:	fe c8                	dec    %al
45e3a2:	24 e0                	and    $0xe0,%al
45e3a4:	04 78                	add    $0x78,%al
45e3a6:	88 44 3d fd          	mov    %al,-0x3(%ebp,%edi,1)
45e3aa:	83 c7 02             	add    $0x2,%edi
45e3ad:	8b 5e 24             	mov    0x24(%esi),%ebx
45e3b0:	2b 5e 38             	sub    0x38(%esi),%ebx
45e3b3:	2b df                	sub    %edi,%ebx
45e3b5:	f6 c2 0c             	test   $0xc,%dl
45e3b8:	75 16                	jne    0x45e3d0
45e3ba:	8d 46 18             	lea    0x18(%esi),%eax
45e3bd:	50                   	push   %eax
45e3be:	53                   	push   %ebx
45e3bf:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e3c5:	6a 20                	push   $0x20