423023:	66 3b f0             	cmp    %ax,%si
423026:	74 21                	je     0x423049
423028:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
42302c:	75 07                	jne    0x423035
42302e:	8b cb                	mov    %ebx,%ecx
423030:	e8 91 0e 00 00       	call   0x423ec6
423035:	ff 75 a8             	push   -0x58(%ebp)
423038:	0f b7 73 06          	movzwl 0x6(%ebx),%esi
42303c:	b1 58                	mov    $0x58,%cl
42303e:	e8 c8 17 00 00       	call   0x42480b
423043:	59                   	pop    %ecx
423044:	66 3b f0             	cmp    %ax,%si
423047:	75 1d                	jne    0x423066
423049:	85 ff                	test   %edi,%edi
42304b:	74 05                	je     0x423052
42304d:	83 ff 10             	cmp    $0x10,%edi
423050:	75 14                	jne    0x423066
423052:	6a 10                	push   $0x10
423054:	32 c0                	xor    %al,%al
423056:	8b cb                	mov    %ebx,%ecx
423058:	5f                   	pop    %edi
423059:	88 45 b7             	mov    %al,-0x49(%ebp)
42305c:	88 45 a0             	mov    %al,-0x60(%ebp)
42305f:	e8 ee 0a 00 00       	call   0x423b52
423064:	eb 12                	jmp    0x423078
423066:	6a 0a                	push   $0xa
423068:	5e                   	pop    %esi
423069:	85 ff                	test   %edi,%edi
42306b:	75 07                	jne    0x423074
42306d:	6a 08                	push   $0x8
42306f:	5f                   	pop    %edi
423070:	85 ff                	test   %edi,%edi
423072:	74 16                	je     0x42308a
423074:	3b fe                	cmp    %esi,%edi
423076:	74 12                	je     0x42308a
423078:	33 c0                	xor    %eax,%eax
42307a:	83 ff 08             	cmp    $0x8,%edi
42307d:	0f 95 c0             	setne  %al
423080:	48                   	dec    %eax
423081:	83 e0 f2             	and    $0xfffffff2,%eax
423084:	83 c0 16             	add    $0x16,%eax
423087:	89 45 9c             	mov    %eax,-0x64(%ebp)
42308a:	ff 75 a0             	push   -0x60(%ebp)
42308d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
423090:	6a 01                	push   $0x1
423092:	e8 dd 0d 00 00       	call   0x423e74
423097:	8b 45 98             	mov    -0x68(%ebp),%eax
42309a:	8b cb                	mov    %ebx,%ecx
42309c:	8b 55 a4             	mov    -0x5c(%ebp),%edx
42309f:	83 c0 1f             	add    $0x1f,%eax
4230a2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4230a6:	33 f6                	xor    %esi,%esi
4230a8:	89 45 a0             	mov    %eax,-0x60(%ebp)
4230ab:	e8 ae 11 00 00       	call   0x42425e
4230b0:	84 c0                	test   %al,%al
4230b2:	0f 85 0d 01 00 00    	jne    0x4231c5
4230b8:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
4230bc:	75 07                	jne    0x4230c5
4230be:	8b cb                	mov    %ebx,%ecx
4230c0:	e8 01 0e 00 00       	call   0x423ec6
4230c5:	ff 75 a8             	push   -0x58(%ebp)
4230c8:	83 65 94 00          	andl   $0x0,-0x6c(%ebp)
4230cc:	8d 45 94             	lea    -0x6c(%ebp),%eax
4230cf:	50                   	push   %eax
4230d0:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
4230d4:	50                   	push   %eax
4230d5:	8d 45 b6             	lea    -0x4a(%ebp),%eax
4230d8:	c6 45 b6 00          	movb   $0x0,-0x4a(%ebp)
4230dc:	50                   	push   %eax
4230dd:	e8 23 af 06 00       	call   0x48e005
4230e2:	8b 45 ac             	mov    -0x54(%ebp),%eax
4230e5:	8a 4d b6             	mov    -0x4a(%ebp),%cl
4230e8:	ff 75 9c             	push   -0x64(%ebp)
4230eb:	88 08                	mov    %cl,(%eax)
4230ed:	0f be c1             	movsbl %cl,%eax
4230f0:	50                   	push   %eax
4230f1:	68 14 fc 40 00       	push   $0x40fc14
4230f6:	e8 bc d4 06 00       	call   0x4905b7
4230fb:	83 c4 1c             	add    $0x1c,%esp
4230fe:	85 c0                	test   %eax,%eax
423100:	74 42                	je     0x423144
423102:	80 7d b5 00          	cmpb   $0x0,-0x4b(%ebp)
423106:	75 06                	jne    0x42310e
423108:	80 7d b6 30          	cmpb   $0x30,-0x4a(%ebp)
42310c:	74 10                	je     0x42311e
42310e:	8b 45 ac             	mov    -0x54(%ebp),%eax
423111:	3b 45 a0             	cmp    -0x60(%ebp),%eax
423114:	73 08                	jae    0x42311e
423116:	40                   	inc    %eax
423117:	c6 45 b5 01          	movb   $0x1,-0x4b(%ebp)
42311b:	89 45 ac             	mov    %eax,-0x54(%ebp)
42311e:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
423122:	8b 45 d8             	mov    -0x28(%ebp),%eax
423125:	8b c8                	mov    %eax,%ecx
423127:	c6 45 b7 01          	movb   $0x1,-0x49(%ebp)
42312b:	73 03                	jae    0x423130
42312d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
423130:	80 3c 31 7f          	cmpb   $0x7f,(%ecx,%esi,1)
423134:	74 55                	je     0x42318b
423136:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42313a:	73 03                	jae    0x42313f
42313c:	8d 45 d8             	lea    -0x28(%ebp),%eax
42313f:	fe 04 30             	incb   (%eax,%esi,1)
423142:	eb 47                	jmp    0x42318b
423144:	8b 45 ec             	mov    -0x14(%ebp),%eax
423147:	8b 4d d8             	mov    -0x28(%ebp),%ecx
42314a:	8b d1                	mov    %ecx,%edx
42314c:	83 f8 10             	cmp    $0x10,%eax
42314f:	73 03                	jae    0x423154
423151:	8d 55 d8             	lea    -0x28(%ebp),%edx
423154:	80 3c 32 00          	cmpb   $0x0,(%edx,%esi,1)
423158:	74 50                	je     0x4231aa
42315a:	8b 55 b0             	mov    -0x50(%ebp),%edx
42315d:	66 85 d2             	test   %dx,%dx
423160:	74 48                	je     0x4231aa
423162:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
423166:	75 10                	jne    0x423178
423168:	8b cb                	mov    %ebx,%ecx
42316a:	e8 57 0d 00 00       	call   0x423ec6
42316f:	8b 45 ec             	mov    -0x14(%ebp),%eax
423172:	8b 4d d8             	mov    -0x28(%ebp),%ecx
423175:	8b 55 b0             	mov    -0x50(%ebp),%edx
423178:	66 39 53 06          	cmp    %dx,0x6(%ebx)
42317c:	75 2c                	jne    0x4231aa
42317e:	6a 00                	push   $0x0
423180:	6a 01                	push   $0x1
423182:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
423185:	e8 07 0c 00 00       	call   0x423d91
42318a:	46                   	inc    %esi
42318b:	8b cb                	mov    %ebx,%ecx
42318d:	e8 c0 09 00 00       	call   0x423b52
423192:	8b 55 a4             	mov    -0x5c(%ebp),%edx
423195:	8b cb                	mov    %ebx,%ecx
423197:	e8 c2 10 00 00       	call   0x42425e
42319c:	84 c0                	test   %al,%al
42319e:	0f 84 14 ff ff ff    	je     0x4230b8
4231a4:	8b 45 ec             	mov    -0x14(%ebp),%eax
4231a7:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4231aa:	85 f6                	test   %esi,%esi
4231ac:	74 1d                	je     0x4231cb
4231ae:	8b d1                	mov    %ecx,%edx
4231b0:	83 f8 10             	cmp    $0x10,%eax
4231b3:	73 03                	jae    0x4231b8
4231b5:	8d 55 d8             	lea    -0x28(%ebp),%edx
4231b8:	80 3c 32 00          	cmpb   $0x0,(%edx,%esi,1)
4231bc:	7e 03                	jle    0x4231c1
4231be:	46                   	inc    %esi
4231bf:	eb 0a                	jmp    0x4231cb
4231c1:	32 db                	xor    %bl,%bl
4231c3:	eb 09                	jmp    0x4231ce
4231c5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4231c8:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4231cb:	8a 5d b7             	mov    -0x49(%ebp),%bl
4231ce:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
4231d2:	8b 55 bc             	mov    -0x44(%ebp),%edx
4231d5:	73 03                	jae    0x4231da
4231d7:	8d 55 bc             	lea    -0x44(%ebp),%edx
4231da:	84 db                	test   %bl,%bl
4231dc:	74 67                	je     0x423245
4231de:	85 f6                	test   %esi,%esi
4231e0:	74 54                	je     0x423236
4231e2:	8a 1a                	mov    (%edx),%bl
4231e4:	80 fb 7f             	cmp    $0x7f,%bl
4231e7:	74 4d                	je     0x423236
4231e9:	83 ee 01             	sub    $0x1,%esi
4231ec:	74 1e                	je     0x42320c
4231ee:	83 f8 10             	cmp    $0x10,%eax
4231f1:	72 05                	jb     0x4231f8
4231f3:	89 4d b0             	mov    %ecx,-0x50(%ebp)
4231f6:	eb 09                	jmp    0x423201
4231f8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4231fb:	89 4d b0             	mov    %ecx,-0x50(%ebp)
4231fe:	8b 4d d8             	mov    -0x28(%ebp),%ecx
423201:	8b 45 b0             	mov    -0x50(%ebp),%eax
423204:	3a 1c 30             	cmp    (%eax,%esi,1),%bl
423207:	8b 45 ec             	mov    -0x14(%ebp),%eax
42320a:	75 39                	jne    0x423245
42320c:	85 f6                	test   %esi,%esi
42320e:	75 1d                	jne    0x42322d
423210:	83 f8 10             	cmp    $0x10,%eax
423213:	72 05                	jb     0x42321a
423215:	89 4d b0             	mov    %ecx,-0x50(%ebp)
423218:	eb 06                	jmp    0x423220
42321a:	8d 45 d8             	lea    -0x28(%ebp),%eax
42321d:	89 45 b0             	mov    %eax,-0x50(%ebp)
423220:	8b 4d b0             	mov    -0x50(%ebp),%ecx
423223:	8b 45 ec             	mov    -0x14(%ebp),%eax
423226:	3a 19                	cmp    (%ecx),%bl
423228:	8b 4d d8             	mov    -0x28(%ebp),%ecx
42322b:	7c 18                	jl     0x423245
42322d:	80 7a 01 00          	cmpb   $0x0,0x1(%edx)
423231:	7e ab                	jle    0x4231de
423233:	42                   	inc    %edx
423234:	eb a8                	jmp    0x4231de
423236:	80 7d b5 00          	cmpb   $0x0,-0x4b(%ebp)
42323a:	8b 45 ac             	mov    -0x54(%ebp),%eax
42323d:	75 09                	jne    0x423248
42323f:	c6 00 30             	movb   $0x30,(%eax)
423242:	40                   	inc    %eax
423243:	eb 03                	jmp    0x423248
423245:	8b 45 98             	mov    -0x68(%ebp),%eax
423248:	33 db                	xor    %ebx,%ebx
42324a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42324d:	53                   	push   %ebx
42324e:	6a 01                	push   $0x1
423250:	88 18                	mov    %bl,(%eax)
423252:	e8 62 90 ff ff       	call   0x41c2b9
423257:	53                   	push   %ebx
423258:	6a 01                	push   $0x1
42325a:	8d 4d b8             	lea    -0x48(%ebp),%ecx
42325d:	e8 57 90 ff ff       	call   0x41c2b9
423262:	8b c7                	mov    %edi,%eax
423264:	e8 4c d2 06 00       	call   0x4904b5
423269:	c3                   	ret
42326a:	8b ff                	mov    %edi,%edi
42326c:	55                   	push   %ebp
42326d:	8b ec                	mov    %esp,%ebp
42326f:	56                   	push   %esi
423270:	8b 75 14             	mov    0x14(%ebp),%esi
423273:	57                   	push   %edi
423274:	8b fa                	mov    %edx,%edi
423276:	85 f6                	test   %esi,%esi
423278:	74 10                	je     0x42328a
42327a:	ff 75 10             	push   0x10(%ebp)
42327d:	8d 4d 08             	lea    0x8(%ebp),%ecx
423280:	e8 cf 09 00 00       	call   0x423c54
423285:	83 ee 01             	sub    $0x1,%esi
423288:	75 f0                	jne    0x42327a
42328a:	8b 45 08             	mov    0x8(%ebp),%eax
42328d:	89 07                	mov    %eax,(%edi)
42328f:	8b 45 0c             	mov    0xc(%ebp),%eax
423292:	89 47 04             	mov    %eax,0x4(%edi)
423295:	8b c7                	mov    %edi,%eax
423297:	5f                   	pop    %edi
423298:	5e                   	pop    %esi
423299:	5d                   	pop    %ebp
42329a:	c3                   	ret
42329b:	6a 4c                	push   $0x4c
42329d:	b8 7a 1c 49 00       	mov    $0x491c7a,%eax
4232a2:	e8 5f d2 06 00       	call   0x490506
4232a7:	89 55 b0             	mov    %edx,-0x50(%ebp)
4232aa:	89 4d b8             	mov    %ecx,-0x48(%ebp)
4232ad:	8b 45 08             	mov    0x8(%ebp),%eax
4232b0:	0f b7 4d 0c          	movzwl 0xc(%ebp),%ecx
4232b4:	8b 7d 10             	mov    0x10(%ebp),%edi
4232b7:	8b 5d 14             	mov    0x14(%ebp),%ebx
4232ba:	89 4d bc             	mov    %ecx,-0x44(%ebp)
4232bd:	8b 48 24             	mov    0x24(%eax),%ecx
4232c0:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4232c3:	89 7d cc             	mov    %edi,-0x34(%ebp)
4232c6:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4232c9:	8b 09                	mov    (%ecx),%ecx
4232cb:	89 4d c8             	mov    %ecx,-0x38(%ebp)
4232ce:	e8 d3 85 ff ff       	call   0x41b8a6
4232d3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4232d7:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4232da:	e8 b4 0f 00 00       	call   0x424293
4232df:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4232e3:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4232e6:	8b f0                	mov    %eax,%esi
4232e8:	89 75 c0             	mov    %esi,-0x40(%ebp)
4232eb:	e8 83 89 ff ff       	call   0x41bc73
4232f0:	8b 06                	mov    (%esi),%eax
4232f2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4232f5:	51                   	push   %ecx
4232f6:	8b 70 0c             	mov    0xc(%eax),%esi
4232f9:	8b ce                	mov    %esi,%ecx
4232fb:	ff 15 2c 81 4a 00    	call   *0x4a812c
423301:	8b 4d c0             	mov    -0x40(%ebp),%ecx
423304:	ff d6                	call   *%esi
423306:	33 c9                	xor    %ecx,%ecx
423308:	41                   	inc    %ecx
423309:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42330c:	8a 07                	mov    (%edi),%al
42330e:	3c 2b                	cmp    $0x2b,%al
423310:	74 1a                	je     0x42332c
423312:	3c 2d                	cmp    $0x2d,%al
423314:	74 16                	je     0x42332c
423316:	3c 30                	cmp    $0x30,%al
423318:	75 10                	jne    0x42332a
42331a:	8a 47 01             	mov    0x1(%edi),%al
42331d:	3c 78                	cmp    $0x78,%al
42331f:	74 04                	je     0x423325
423321:	3c 58                	cmp    $0x58,%al
423323:	75 05                	jne    0x42332a
423325:	6a 02                	push   $0x2
423327:	59                   	pop    %ecx
423328:	eb 02                	jmp    0x42332c
42332a:	33 c9                	xor    %ecx,%ecx
42332c:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
423330:	8b 7d d8             	mov    -0x28(%ebp),%edi
423333:	8b c7                	mov    %edi,%eax
423335:	89 4d c8             	mov    %ecx,-0x38(%ebp)
423338:	73 03                	jae    0x42333d
42333a:	8d 45 d8             	lea    -0x28(%ebp),%eax
42333d:	80 38 7f             	cmpb   $0x7f,(%eax)
423340:	74 60                	je     0x4233a2
423342:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
423346:	8b c7                	mov    %edi,%eax
423348:	73 03                	jae    0x42334d
42334a:	8d 45 d8             	lea    -0x28(%ebp),%eax
42334d:	80 38 00             	cmpb   $0x0,(%eax)
423350:	7e 50                	jle    0x4233a2
423352:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
423356:	73 03                	jae    0x42335b
423358:	8d 7d d8             	lea    -0x28(%ebp),%edi
42335b:	8a 07                	mov    (%edi),%al
42335d:	3c 7f                	cmp    $0x7f,%al
42335f:	74 3e                	je     0x42339f
423361:	84 c0                	test   %al,%al
423363:	7e 3a                	jle    0x42339f
423365:	0f be d0             	movsbl %al,%edx
423368:	8b c3                	mov    %ebx,%eax
42336a:	2b c1                	sub    %ecx,%eax
42336c:	3b d0                	cmp    %eax,%edx
42336e:	73 2f                	jae    0x42339f
423370:	8b 45 d0             	mov    -0x30(%ebp),%eax
423373:	2b da                	sub    %edx,%ebx
423375:	8b 75 cc             	mov    -0x34(%ebp),%esi
423378:	2b c3                	sub    %ebx,%eax
42337a:	40                   	inc    %eax
42337b:	03 f3                	add    %ebx,%esi
42337d:	50                   	push   %eax
42337e:	56                   	push   %esi
42337f:	50                   	push   %eax
423380:	8d 46 01             	lea    0x1(%esi),%eax
423383:	50                   	push   %eax
423384:	ff 15 c4 80 4a 00    	call   *0x4a80c4
42338a:	83 c4 10             	add    $0x10,%esp
42338d:	c6 06 00             	movb   $0x0,(%esi)
423390:	ff 45 d0             	incl   -0x30(%ebp)
423393:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
423397:	7e 01                	jle    0x42339a
423399:	47                   	inc    %edi
42339a:	8b 4d c8             	mov    -0x38(%ebp),%ecx
42339d:	eb bc                	jmp    0x42335b
42339f:	8b 5d d0             	mov    -0x30(%ebp),%ebx
4233a2:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4233a5:	8b 78 18             	mov    0x18(%eax),%edi
4233a8:	85 ff                	test   %edi,%edi
4233aa:	7e 08                	jle    0x4233b4
4233ac:	3b fb                	cmp    %ebx,%edi
4233ae:	76 04                	jbe    0x4233b4
4233b0:	2b fb                	sub    %ebx,%edi
4233b2:	eb 02                	jmp    0x4233b6
4233b4:	33 ff                	xor    %edi,%edi
4233b6:	8b 40 10             	mov    0x10(%eax),%eax
4233b9:	25 c0 01 00 00       	and    $0x1c0,%eax
4233be:	83 f8 40             	cmp    $0x40,%eax
4233c1:	74 63                	je     0x423426