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
4233c3:	8d 55 c4             	lea    -0x3c(%ebp),%edx
4233c6:	3d 00 01 00 00       	cmp    $0x100,%eax
4233cb:	74 14                	je     0x4233e1
4233cd:	57                   	push   %edi
4233ce:	ff 75 bc             	push   -0x44(%ebp)
4233d1:	ff 75 1c             	push   0x1c(%ebp)
4233d4:	ff 75 18             	push   0x18(%ebp)
4233d7:	e8 8e fe ff ff       	call   0x42326a
4233dc:	83 c4 10             	add    $0x10,%esp
4233df:	eb 36                	jmp    0x423417
4233e1:	8b 75 c8             	mov    -0x38(%ebp),%esi
4233e4:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4233e7:	56                   	push   %esi
4233e8:	ff 75 cc             	push   -0x34(%ebp)
4233eb:	ff 75 1c             	push   0x1c(%ebp)
4233ee:	ff 75 18             	push   0x18(%ebp)
4233f1:	e8 13 08 00 00       	call   0x423c09
4233f6:	01 75 cc             	add    %esi,-0x34(%ebp)
4233f9:	8d 55 c4             	lea    -0x3c(%ebp),%edx
4233fc:	57                   	push   %edi
4233fd:	ff 75 bc             	push   -0x44(%ebp)
423400:	8b 08                	mov    (%eax),%ecx
423402:	2b de                	sub    %esi,%ebx
423404:	89 4d 18             	mov    %ecx,0x18(%ebp)
423407:	8b 40 04             	mov    0x4(%eax),%eax
42340a:	50                   	push   %eax
42340b:	51                   	push   %ecx
42340c:	89 45 1c             	mov    %eax,0x1c(%ebp)
42340f:	e8 56 fe ff ff       	call   0x42326a
423414:	83 c4 20             	add    $0x20,%esp
423417:	8b c8                	mov    %eax,%ecx
423419:	33 ff                	xor    %edi,%edi
42341b:	8b 01                	mov    (%ecx),%eax
42341d:	89 45 18             	mov    %eax,0x18(%ebp)
423420:	8b 41 04             	mov    0x4(%ecx),%eax
423423:	89 45 1c             	mov    %eax,0x1c(%ebp)
423426:	8b 45 c0             	mov    -0x40(%ebp),%eax
423429:	8b 00                	mov    (%eax),%eax
42342b:	8b 70 08             	mov    0x8(%eax),%esi
42342e:	8b ce                	mov    %esi,%ecx
423430:	ff 15 2c 81 4a 00    	call   *0x4a812c
423436:	8b 4d c0             	mov    -0x40(%ebp),%ecx
423439:	ff d6                	call   *%esi
42343b:	ff 75 1c             	push   0x1c(%ebp)
42343e:	8b 4d b8             	mov    -0x48(%ebp),%ecx
423441:	8d 55 a8             	lea    -0x58(%ebp),%edx
423444:	ff 75 18             	push   0x18(%ebp)
423447:	0f b7 c0             	movzwl %ax,%eax
42344a:	50                   	push   %eax
42344b:	53                   	push   %ebx
42344c:	ff 75 cc             	push   -0x34(%ebp)
42344f:	e8 28 07 00 00       	call   0x423b7c
423454:	83 c4 14             	add    $0x14,%esp
423457:	8b 10                	mov    (%eax),%edx
423459:	57                   	push   %edi
42345a:	ff 75 bc             	push   -0x44(%ebp)
42345d:	89 55 18             	mov    %edx,0x18(%ebp)
423460:	8b 48 04             	mov    0x4(%eax),%ecx
423463:	8b 45 b4             	mov    -0x4c(%ebp),%eax
423466:	51                   	push   %ecx
423467:	52                   	push   %edx
423468:	8b 55 b0             	mov    -0x50(%ebp),%edx
42346b:	83 60 18 00          	andl   $0x0,0x18(%eax)
42346f:	89 4d 1c             	mov    %ecx,0x1c(%ebp)
423472:	e8 f3 fd ff ff       	call   0x42326a
423477:	83 c4 10             	add    $0x10,%esp
42347a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42347d:	6a 00                	push   $0x0
42347f:	6a 01                	push   $0x1
423481:	e8 33 8e ff ff       	call   0x41c2b9
423486:	8b 45 b0             	mov    -0x50(%ebp),%eax
423489:	e8 27 d0 06 00       	call   0x4904b5
42348e:	c3                   	ret
42348f:	8b ff                	mov    %edi,%edi
423491:	55                   	push   %ebp
423492:	8b ec                	mov    %esp,%ebp
423494:	8b 45 0c             	mov    0xc(%ebp),%eax
423497:	56                   	push   %esi
423498:	8b f2                	mov    %edx,%esi
42349a:	57                   	push   %edi
42349b:	c6 06 25             	movb   $0x25,(%esi)
42349e:	8d 4e 01             	lea    0x1(%esi),%ecx
4234a1:	a8 20                	test   $0x20,%al
4234a3:	74 04                	je     0x4234a9
4234a5:	c6 01 2b             	movb   $0x2b,(%ecx)
4234a8:	41                   	inc    %ecx
4234a9:	a8 08                	test   $0x8,%al
4234ab:	74 04                	je     0x4234b1
4234ad:	c6 01 23             	movb   $0x23,(%ecx)
4234b0:	41                   	inc    %ecx
4234b1:	8b 7d 08             	mov    0x8(%ebp),%edi
4234b4:	8d 51 01             	lea    0x1(%ecx),%edx
4234b7:	53                   	push   %ebx
4234b8:	8a 1f                	mov    (%edi),%bl
4234ba:	80 fb 4c             	cmp    $0x4c,%bl
4234bd:	74 04                	je     0x4234c3
4234bf:	88 19                	mov    %bl,(%ecx)
4234c1:	eb 0b                	jmp    0x4234ce
4234c3:	c6 01 49             	movb   $0x49,(%ecx)
4234c6:	66 c7 02 36 34       	movw   $0x3436,(%edx)
4234cb:	83 c2 02             	add    $0x2,%edx
4234ce:	8b c8                	mov    %eax,%ecx
4234d0:	81 e1 00 0e 00 00    	and    $0xe00,%ecx
4234d6:	5b                   	pop    %ebx
4234d7:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
4234dd:	75 04                	jne    0x4234e3
4234df:	b0 6f                	mov    $0x6f,%al
4234e1:	eb 16                	jmp    0x4234f9
4234e3:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
4234e9:	74 05                	je     0x4234f0
4234eb:	8a 47 01             	mov    0x1(%edi),%al
4234ee:	eb 09                	jmp    0x4234f9
4234f0:	c0 e0 03             	shl    $0x3,%al
4234f3:	f6 d0                	not    %al
4234f5:	24 20                	and    $0x20,%al
4234f7:	0c 58                	or     $0x58,%al
4234f9:	88 02                	mov    %al,(%edx)
4234fb:	8b c6                	mov    %esi,%eax
4234fd:	5f                   	pop    %edi
4234fe:	c6 42 01 00          	movb   $0x0,0x1(%edx)
423502:	5e                   	pop    %esi
423503:	5d                   	pop    %ebp
423504:	c3                   	ret
423505:	68 98 00 00 00       	push   $0x98
42350a:	b8 b7 1c 49 00       	mov    $0x491cb7,%eax
42350f:	e8 f2 cf 06 00       	call   0x490506
423514:	89 95 5c ff ff ff    	mov    %edx,-0xa4(%ebp)
42351a:	8b d9                	mov    %ecx,%ebx
42351c:	89 5d 98             	mov    %ebx,-0x68(%ebp)
42351f:	8b 4d 08             	mov    0x8(%ebp),%ecx
423522:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
423526:	8b 7d 10             	mov    0x10(%ebp),%edi
423529:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
42352f:	8b 45 14             	mov    0x14(%ebp),%eax
423532:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
423538:	8b 49 24             	mov    0x24(%ecx),%ecx
42353b:	89 45 ac             	mov    %eax,-0x54(%ebp)
42353e:	8b 45 18             	mov    0x18(%ebp),%eax
423541:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
423547:	8b 45 1c             	mov    0x1c(%ebp),%eax
42354a:	8b 09                	mov    (%ecx),%ecx
42354c:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
423552:	8b 45 20             	mov    0x20(%ebp),%eax
423555:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
42355b:	89 4d a8             	mov    %ecx,-0x58(%ebp)
42355e:	e8 43 83 ff ff       	call   0x41b8a6
423563:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
423567:	8d 4d a8             	lea    -0x58(%ebp),%ecx
42356a:	e8 24 0d 00 00       	call   0x424293
42356f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
423573:	8d 4d a8             	lea    -0x58(%ebp),%ecx
423576:	8b f0                	mov    %eax,%esi
423578:	89 75 90             	mov    %esi,-0x70(%ebp)
42357b:	e8 f3 86 ff ff       	call   0x41bc73
423580:	8b 06                	mov    (%esi),%eax
423582:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
423585:	51                   	push   %ecx
423586:	8b 70 0c             	mov    0xc(%eax),%esi
423589:	8b ce                	mov    %esi,%ecx
42358b:	ff 15 2c 81 4a 00    	call   *0x4a812c
423591:	8b 4d 90             	mov    -0x70(%ebp),%ecx
423594:	ff d6                	call   *%esi
423596:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
42359d:	8b 45 90             	mov    -0x70(%ebp),%eax
4235a0:	8b 00                	mov    (%eax),%eax
4235a2:	8b 70 08             	mov    0x8(%eax),%esi
4235a5:	8b ce                	mov    %esi,%ecx
4235a7:	ff 15 2c 81 4a 00    	call   *0x4a812c
4235ad:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4235b0:	ff d6                	call   *%esi
4235b2:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4235b6:	0f b7 c0             	movzwl %ax,%eax
4235b9:	89 45 a8             	mov    %eax,-0x58(%ebp)
4235bc:	c7 45 e8 0f 00 00 00 	movl   $0xf,-0x18(%ebp)
4235c3:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)