42301c:	59                   	pop    %ecx
42301d:	59                   	pop    %ecx
42301e:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
423022:	6a 67                	push   $0x67
423024:	59                   	pop    %ecx
423025:	66 3b c1             	cmp    %cx,%ax
423028:	74 08                	je     0x423032
42302a:	6a 47                	push   $0x47
42302c:	59                   	pop    %ecx
42302d:	66 3b c1             	cmp    %cx,%ax
423030:	75 28                	jne    0x42305a
423032:	8b 46 1c             	mov    0x1c(%esi),%eax
423035:	c1 e8 05             	shr    $0x5,%eax
423038:	a8 01                	test   $0x1,%al
42303a:	75 1e                	jne    0x42305a
42303c:	8b 7e 08             	mov    0x8(%esi),%edi
42303f:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
423043:	75 07                	jne    0x42304c
423045:	8b cf                	mov    %edi,%ecx
423047:	e8 34 c6 ff ff       	call   0x41f680
42304c:	8d 47 0c             	lea    0xc(%edi),%eax
42304f:	50                   	push   %eax
423050:	ff 76 30             	push   0x30(%esi)
423053:	e8 73 ea ff ff       	call   0x421acb
423058:	59                   	pop    %ecx
423059:	59                   	pop    %ecx
42305a:	8b 56 30             	mov    0x30(%esi),%edx
42305d:	8a 02                	mov    (%edx),%al
42305f:	3c 2d                	cmp    $0x2d,%al
423061:	75 0a                	jne    0x42306d
423063:	83 4e 1c 40          	orl    $0x40,0x1c(%esi)
423067:	42                   	inc    %edx
423068:	89 56 30             	mov    %edx,0x30(%esi)
42306b:	8a 02                	mov    (%edx),%al
42306d:	3c 69                	cmp    $0x69,%al
42306f:	74 0c                	je     0x42307d
423071:	3c 49                	cmp    $0x49,%al
423073:	74 08                	je     0x42307d
423075:	3c 6e                	cmp    $0x6e,%al
423077:	74 04                	je     0x42307d
423079:	3c 4e                	cmp    $0x4e,%al
42307b:	75 0b                	jne    0x423088
42307d:	83 66 1c f7          	andl   $0xfffffff7,0x1c(%esi)
423081:	6a 73                	push   $0x73
423083:	58                   	pop    %eax
423084:	66 89 46 2e          	mov    %ax,0x2e(%esi)
423088:	8d 7a 01             	lea    0x1(%edx),%edi
42308b:	8a 0a                	mov    (%edx),%cl
42308d:	42                   	inc    %edx
42308e:	84 c9                	test   %cl,%cl
423090:	75 f9                	jne    0x42308b
423092:	2b d7                	sub    %edi,%edx
423094:	b0 01                	mov    $0x1,%al
423096:	5f                   	pop    %edi
423097:	89 56 34             	mov    %edx,0x34(%esi)
42309a:	5e                   	pop    %esi
42309b:	5b                   	pop    %ebx
42309c:	c9                   	leave
42309d:	c3                   	ret
42309e:	8b ff                	mov    %edi,%edi
4230a0:	56                   	push   %esi
4230a1:	8b f1                	mov    %ecx,%esi
4230a3:	57                   	push   %edi
4230a4:	ff 76 28             	push   0x28(%esi)
4230a7:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
4230ab:	8d 7e 3c             	lea    0x3c(%esi),%edi
4230ae:	50                   	push   %eax
4230af:	ff 76 04             	push   0x4(%esi)
4230b2:	ff 36                	push   (%esi)
4230b4:	e8 a2 d0 ff ff       	call   0x42015b
4230b9:	83 c4 10             	add    $0x10,%esp
4230bc:	84 c0                	test   %al,%al
4230be:	74 3d                	je     0x4230fd
4230c0:	8b 4e 10             	mov    0x10(%esi),%ecx
4230c3:	53                   	push   %ebx
4230c4:	8d 41 04             	lea    0x4(%ecx),%eax
4230c7:	89 46 10             	mov    %eax,0x10(%esi)
4230ca:	0f b7 19             	movzwl (%ecx),%ebx
4230cd:	8b cf                	mov    %edi,%ecx
4230cf:	e8 53 cf ff ff       	call   0x420027
4230d4:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
4230da:	85 c9                	test   %ecx,%ecx
4230dc:	75 02                	jne    0x4230e0
4230de:	8b cf                	mov    %edi,%ecx
4230e0:	ff 76 08             	push   0x8(%esi)
4230e3:	53                   	push   %ebx
4230e4:	50                   	push   %eax
4230e5:	51                   	push   %ecx
4230e6:	8d 46 34             	lea    0x34(%esi),%eax
4230e9:	50                   	push   %eax
4230ea:	e8 ac 83 00 00       	call   0x42b49b
4230ef:	83 c4 14             	add    $0x14,%esp
4230f2:	5b                   	pop    %ebx
4230f3:	85 c0                	test   %eax,%eax
4230f5:	74 26                	je     0x42311d
4230f7:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
4230fb:	eb 20                	jmp    0x42311d
4230fd:	8b 97 04 04 00 00    	mov    0x404(%edi),%edx
423103:	85 d2                	test   %edx,%edx
423105:	75 02                	jne    0x423109
423107:	8b d7                	mov    %edi,%edx
423109:	8b 4e 10             	mov    0x10(%esi),%ecx
42310c:	8d 41 04             	lea    0x4(%ecx),%eax
42310f:	89 46 10             	mov    %eax,0x10(%esi)
423112:	8a 01                	mov    (%ecx),%al
423114:	88 02                	mov    %al,(%edx)
423116:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
42311d:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
423123:	85 c0                	test   %eax,%eax
423125:	74 02                	je     0x423129
423127:	8b f8                	mov    %eax,%edi
423129:	89 7e 30             	mov    %edi,0x30(%esi)
42312c:	b0 01                	mov    $0x1,%al
42312e:	5f                   	pop    %edi
42312f:	5e                   	pop    %esi
423130:	c2 04 00             	ret    $0x4
423133:	8b ff                	mov    %edi,%edi
423135:	55                   	push   %ebp
423136:	8b ec                	mov    %esp,%ebp
423138:	51                   	push   %ecx
423139:	53                   	push   %ebx
42313a:	56                   	push   %esi
42313b:	8b f1                	mov    %ecx,%esi
42313d:	57                   	push   %edi
42313e:	8b 56 10             	mov    0x10(%esi),%edx
423141:	c6 46 38 01          	movb   $0x1,0x38(%esi)
423145:	8d 42 04             	lea    0x4(%edx),%eax
423148:	89 46 10             	mov    %eax,0x10(%esi)
42314b:	ff 76 28             	push   0x28(%esi)
42314e:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
423152:	0f b7 1a             	movzwl (%edx),%ebx
423155:	50                   	push   %eax
423156:	ff 76 04             	push   0x4(%esi)
423159:	ff 36                	push   (%esi)
42315b:	e8 2c d0 ff ff       	call   0x42018c
423160:	83 c4 10             	add    $0x10,%esp
423163:	84 c0                	test   %al,%al
423165:	75 43                	jne    0x4231aa
423167:	88 5d fc             	mov    %bl,-0x4(%ebp)
42316a:	8b 5e 08             	mov    0x8(%esi),%ebx
42316d:	88 45 fd             	mov    %al,-0x3(%ebp)
423170:	38 43 14             	cmp    %al,0x14(%ebx)
423173:	75 07                	jne    0x42317c
423175:	8b cb                	mov    %ebx,%ecx
423177:	e8 04 c5 ff ff       	call   0x41f680
42317c:	8b 43 0c             	mov    0xc(%ebx),%eax
42317f:	8d 7e 3c             	lea    0x3c(%esi),%edi
423182:	8b 48 04             	mov    0x4(%eax),%ecx
423185:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
42318b:	85 c0                	test   %eax,%eax
42318d:	75 02                	jne    0x423191
42318f:	8b c7                	mov    %edi,%eax
423191:	53                   	push   %ebx
423192:	51                   	push   %ecx
423193:	8d 4d fc             	lea    -0x4(%ebp),%ecx
423196:	51                   	push   %ecx
423197:	50                   	push   %eax
423198:	e8 68 84 00 00       	call   0x42b605
42319d:	83 c4 10             	add    $0x10,%esp
4231a0:	85 c0                	test   %eax,%eax
4231a2:	79 18                	jns    0x4231bc
4231a4:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
4231a8:	eb 12                	jmp    0x4231bc
4231aa:	8d 7e 3c             	lea    0x3c(%esi),%edi
4231ad:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4231b3:	85 c0                	test   %eax,%eax
4231b5:	75 02                	jne    0x4231b9
4231b7:	8b c7                	mov    %edi,%eax
4231b9:	66 89 18             	mov    %bx,(%eax)
4231bc:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4231c2:	85 c0                	test   %eax,%eax
4231c4:	74 02                	je     0x4231c8
4231c6:	8b f8                	mov    %eax,%edi
4231c8:	89 7e 30             	mov    %edi,0x30(%esi)
4231cb:	b0 01                	mov    $0x1,%al
4231cd:	5f                   	pop    %edi
4231ce:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
4231d5:	5e                   	pop    %esi
4231d6:	5b                   	pop    %ebx
4231d7:	c9                   	leave
4231d8:	c2 04 00             	ret    $0x4
4231db:	8b ff                	mov    %edi,%edi
4231dd:	56                   	push   %esi
4231de:	8b f1                	mov    %ecx,%esi
4231e0:	57                   	push   %edi
4231e1:	8b 56 10             	mov    0x10(%esi),%edx
4231e4:	8d 42 04             	lea    0x4(%edx),%eax
4231e7:	89 46 10             	mov    %eax,0x10(%esi)
4231ea:	8b 3a                	mov    (%edx),%edi
4231ec:	e8 6e 85 00 00       	call   0x42b75f
4231f1:	85 c0                	test   %eax,%eax
4231f3:	75 24                	jne    0x423219
4231f5:	8b 46 08             	mov    0x8(%esi),%eax
4231f8:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4231fc:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
423203:	33 c0                	xor    %eax,%eax
423205:	ff 76 08             	push   0x8(%esi)
423208:	50                   	push   %eax
423209:	50                   	push   %eax
42320a:	50                   	push   %eax
42320b:	50                   	push   %eax
42320c:	50                   	push   %eax
42320d:	e8 f4 c6 ff ff       	call   0x41f906
423212:	83 c4 18             	add    $0x18,%esp
423215:	32 c0                	xor    %al,%al
423217:	eb 44                	jmp    0x42325d
423219:	ff 76 28             	push   0x28(%esi)
42321c:	e8 2b fa ff ff       	call   0x422c4c
423221:	59                   	pop    %ecx
423222:	83 e8 01             	sub    $0x1,%eax
423225:	74 2b                	je     0x423252
423227:	83 e8 01             	sub    $0x1,%eax
42322a:	74 1d                	je     0x423249
42322c:	48                   	dec    %eax
42322d:	83 e8 01             	sub    $0x1,%eax
423230:	74 10                	je     0x423242
423232:	83 e8 04             	sub    $0x4,%eax
423235:	75 be                	jne    0x4231f5
423237:	8b 46 14             	mov    0x14(%esi),%eax
42323a:	99                   	cltd
42323b:	89 07                	mov    %eax,(%edi)
42323d:	89 57 04             	mov    %edx,0x4(%edi)
423240:	eb 15                	jmp    0x423257
423242:	8b 46 14             	mov    0x14(%esi),%eax
423245:	89 07                	mov    %eax,(%edi)
423247:	eb 0e                	jmp    0x423257
423249:	66 8b 46 14          	mov    0x14(%esi),%ax
42324d:	66 89 07             	mov    %ax,(%edi)
423250:	eb 05                	jmp    0x423257
423252:	8a 46 14             	mov    0x14(%esi),%al
423255:	88 07                	mov    %al,(%edi)
423257:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
42325b:	b0 01                	mov    $0x1,%al
42325d:	5f                   	pop    %edi
42325e:	5e                   	pop    %esi
42325f:	c3                   	ret
423260:	8b 51 1c             	mov    0x1c(%ecx),%edx
423263:	8b c2                	mov    %edx,%eax
423265:	c1 e8 05             	shr    $0x5,%eax
423268:	a8 01                	test   $0x1,%al
42326a:	74 09                	je     0x423275
42326c:	81 ca 80 00 00 00    	or     $0x80,%edx
423272:	89 51 1c             	mov    %edx,0x1c(%ecx)
423275:	6a 00                	push   $0x0
423277:	e8 5e d7 ff ff       	call   0x4209da
42327c:	c3                   	ret
42327d:	8b 51 1c             	mov    0x1c(%ecx),%edx
423280:	8b c2                	mov    %edx,%eax
423282:	c1 e8 05             	shr    $0x5,%eax
423285:	a8 01                	test   $0x1,%al
423287:	74 09                	je     0x423292
423289:	81 ca 80 00 00 00    	or     $0x80,%edx
42328f:	89 51 1c             	mov    %edx,0x1c(%ecx)
423292:	6a 00                	push   $0x0
423294:	e8 ce d8 ff ff       	call   0x420b67
423299:	c3                   	ret
42329a:	6a 01                	push   $0x1
42329c:	c7 41 24 08 00 00 00 	movl   $0x8,0x24(%ecx)
4232a3:	c7 41 28 0a 00 00 00 	movl   $0xa,0x28(%ecx)
4232aa:	e8 69 dd ff ff       	call   0x421018
4232af:	c3                   	ret
4232b0:	6a 01                	push   $0x1
4232b2:	c7 41 24 08 00 00 00 	movl   $0x8,0x24(%ecx)
4232b9:	c7 41 28 0a 00 00 00 	movl   $0xa,0x28(%ecx)
4232c0:	e8 e0 de ff ff       	call   0x4211a5
4232c5:	c3                   	ret
4232c6:	8b ff                	mov    %edi,%edi
4232c8:	53                   	push   %ebx
4232c9:	56                   	push   %esi
4232ca:	8b f1                	mov    %ecx,%esi
4232cc:	57                   	push   %edi
4232cd:	8b 56 10             	mov    0x10(%esi),%edx
4232d0:	8d 42 04             	lea    0x4(%edx),%eax
4232d3:	89 46 10             	mov    %eax,0x10(%esi)
4232d6:	8b 5e 24             	mov    0x24(%esi),%ebx
4232d9:	8b 3a                	mov    (%edx),%edi
4232db:	89 7e 30             	mov    %edi,0x30(%esi)
4232de:	83 fb ff             	cmp    $0xffffffff,%ebx
4232e1:	75 05                	jne    0x4232e8
4232e3:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4232e8:	ff 76 28             	push   0x28(%esi)
4232eb:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
4232ef:	50                   	push   %eax
4232f0:	ff 76 04             	push   0x4(%esi)
4232f3:	ff 36                	push   (%esi)
4232f5:	e8 61 ce ff ff       	call   0x42015b
4232fa:	83 c4 10             	add    $0x10,%esp
4232fd:	84 c0                	test   %al,%al
4232ff:	74 19                	je     0x42331a
423301:	85 ff                	test   %edi,%edi
423303:	75 08                	jne    0x42330d
423305:	bf 28 04 44 00       	mov    $0x440428,%edi
42330a:	89 7e 30             	mov    %edi,0x30(%esi)
42330d:	53                   	push   %ebx
42330e:	57                   	push   %edi
42330f:	c6 46 38 01          	movb   $0x1,0x38(%esi)
423313:	e8 c3 41 00 00       	call   0x4274db
423318:	eb 13                	jmp    0x42332d
42331a:	85 ff                	test   %edi,%edi
42331c:	75 08                	jne    0x423326
42331e:	bf 38 04 44 00       	mov    $0x440438,%edi
423323:	89 7e 30             	mov    %edi,0x30(%esi)
423326:	53                   	push   %ebx
423327:	57                   	push   %edi
423328:	e8 8c 40 00 00       	call   0x4273b9
42332d:	59                   	pop    %ecx
42332e:	59                   	pop    %ecx
42332f:	5f                   	pop    %edi
423330:	89 46 34             	mov    %eax,0x34(%esi)
423333:	b0 01                	mov    $0x1,%al
423335:	5e                   	pop    %esi
423336:	5b                   	pop    %ebx
423337:	c3                   	ret
423338:	8b ff                	mov    %edi,%edi
42333a:	53                   	push   %ebx
42333b:	56                   	push   %esi
42333c:	8b f1                	mov    %ecx,%esi
42333e:	57                   	push   %edi
42333f:	8b 56 10             	mov    0x10(%esi),%edx
423342:	8d 42 04             	lea    0x4(%edx),%eax
423345:	89 46 10             	mov    %eax,0x10(%esi)
423348:	8b 5e 24             	mov    0x24(%esi),%ebx
42334b:	8b 3a                	mov    (%edx),%edi
42334d:	89 7e 30             	mov    %edi,0x30(%esi)
423350:	83 fb ff             	cmp    $0xffffffff,%ebx
423353:	75 05                	jne    0x42335a
423355:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
42335a:	ff 76 28             	push   0x28(%esi)
42335d:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
423361:	50                   	push   %eax
423362:	ff 76 04             	push   0x4(%esi)
423365:	ff 36                	push   (%esi)
423367:	e8 20 ce ff ff       	call   0x42018c
42336c:	83 c4 10             	add    $0x10,%esp
42336f:	84 c0                	test   %al,%al
423371:	74 1b                	je     0x42338e
423373:	85 ff                	test   %edi,%edi
423375:	75 08                	jne    0x42337f
423377:	bf 28 04 44 00       	mov    $0x440428,%edi
42337c:	89 7e 30             	mov    %edi,0x30(%esi)
42337f:	53                   	push   %ebx
423380:	57                   	push   %edi
423381:	c6 46 38 01          	movb   $0x1,0x38(%esi)
423385:	e8 51 41 00 00       	call   0x4274db
42338a:	59                   	pop    %ecx
42338b:	59                   	pop    %ecx
42338c:	eb 15                	jmp    0x4233a3
42338e:	85 ff                	test   %edi,%edi
423390:	75 07                	jne    0x423399
423392:	c7 46 30 38 04 44 00 	movl   $0x440438,0x30(%esi)