424117:	8d 45 ec             	lea    -0x14(%ebp),%eax
42411a:	6a 01                	push   $0x1
42411c:	ff 76 04             	push   0x4(%esi)
42411f:	ff 36                	push   (%esi)
424121:	53                   	push   %ebx
424122:	ff 75 fc             	push   -0x4(%ebp)
424125:	ff 75 f8             	push   -0x8(%ebp)
424128:	ff 75 f4             	push   -0xc(%ebp)
42412b:	51                   	push   %ecx
42412c:	57                   	push   %edi
42412d:	50                   	push   %eax
42412e:	e8 60 8e 00 00       	call   0x42cf93
424133:	8b 46 1c             	mov    0x1c(%esi),%eax
424136:	83 c4 2c             	add    $0x2c,%esp
424139:	c1 e8 05             	shr    $0x5,%eax
42413c:	a8 01                	test   $0x1,%al
42413e:	74 24                	je     0x424164
424140:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
424144:	75 1e                	jne    0x424164
424146:	8b 7e 08             	mov    0x8(%esi),%edi
424149:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
42414d:	75 07                	jne    0x424156
42414f:	8b cf                	mov    %edi,%ecx
424151:	e8 4a 04 00 00       	call   0x4245a0
424156:	8d 47 0c             	lea    0xc(%edi),%eax
424159:	50                   	push   %eax
42415a:	ff 76 30             	push   0x30(%esi)
42415d:	e8 88 eb ff ff       	call   0x422cea
424162:	59                   	pop    %ecx
424163:	59                   	pop    %ecx
424164:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
424168:	6a 67                	push   $0x67
42416a:	59                   	pop    %ecx
42416b:	66 3b c1             	cmp    %cx,%ax
42416e:	74 08                	je     0x424178
424170:	6a 47                	push   $0x47
424172:	59                   	pop    %ecx
424173:	66 3b c1             	cmp    %cx,%ax
424176:	75 28                	jne    0x4241a0
424178:	8b 46 1c             	mov    0x1c(%esi),%eax
42417b:	c1 e8 05             	shr    $0x5,%eax
42417e:	a8 01                	test   $0x1,%al
424180:	75 1e                	jne    0x4241a0
424182:	8b 7e 08             	mov    0x8(%esi),%edi
424185:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
424189:	75 07                	jne    0x424192
42418b:	8b cf                	mov    %edi,%ecx
42418d:	e8 0e 04 00 00       	call   0x4245a0
424192:	8d 47 0c             	lea    0xc(%edi),%eax
424195:	50                   	push   %eax
424196:	ff 76 30             	push   0x30(%esi)
424199:	e8 73 ea ff ff       	call   0x422c11
42419e:	59                   	pop    %ecx
42419f:	59                   	pop    %ecx
4241a0:	8b 56 30             	mov    0x30(%esi),%edx
4241a3:	8a 02                	mov    (%edx),%al
4241a5:	3c 2d                	cmp    $0x2d,%al
4241a7:	75 0a                	jne    0x4241b3
4241a9:	83 4e 1c 40          	orl    $0x40,0x1c(%esi)
4241ad:	42                   	inc    %edx
4241ae:	89 56 30             	mov    %edx,0x30(%esi)
4241b1:	8a 02                	mov    (%edx),%al
4241b3:	3c 69                	cmp    $0x69,%al
4241b5:	74 0c                	je     0x4241c3
4241b7:	3c 49                	cmp    $0x49,%al
4241b9:	74 08                	je     0x4241c3
4241bb:	3c 6e                	cmp    $0x6e,%al
4241bd:	74 04                	je     0x4241c3
4241bf:	3c 4e                	cmp    $0x4e,%al
4241c1:	75 0b                	jne    0x4241ce
4241c3:	83 66 1c f7          	andl   $0xfffffff7,0x1c(%esi)
4241c7:	6a 73                	push   $0x73
4241c9:	58                   	pop    %eax
4241ca:	66 89 46 2e          	mov    %ax,0x2e(%esi)
4241ce:	8d 7a 01             	lea    0x1(%edx),%edi
4241d1:	8a 0a                	mov    (%edx),%cl
4241d3:	42                   	inc    %edx
4241d4:	84 c9                	test   %cl,%cl
4241d6:	75 f9                	jne    0x4241d1
4241d8:	2b d7                	sub    %edi,%edx
4241da:	b0 01                	mov    $0x1,%al
4241dc:	5f                   	pop    %edi
4241dd:	89 56 34             	mov    %edx,0x34(%esi)
4241e0:	5e                   	pop    %esi
4241e1:	5b                   	pop    %ebx
4241e2:	c9                   	leave
4241e3:	c3                   	ret
4241e4:	8b ff                	mov    %edi,%edi
4241e6:	56                   	push   %esi
4241e7:	8b f1                	mov    %ecx,%esi
4241e9:	57                   	push   %edi
4241ea:	ff 76 28             	push   0x28(%esi)
4241ed:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
4241f1:	8d 7e 3c             	lea    0x3c(%esi),%edi
4241f4:	50                   	push   %eax
4241f5:	ff 76 04             	push   0x4(%esi)
4241f8:	ff 36                	push   (%esi)
4241fa:	e8 87 d0 ff ff       	call   0x421286
4241ff:	83 c4 10             	add    $0x10,%esp
424202:	84 c0                	test   %al,%al
424204:	74 3d                	je     0x424243
424206:	8b 4e 10             	mov    0x10(%esi),%ecx
424209:	53                   	push   %ebx
42420a:	8d 41 04             	lea    0x4(%ecx),%eax
42420d:	89 46 10             	mov    %eax,0x10(%esi)
424210:	0f b7 19             	movzwl (%ecx),%ebx
424213:	8b cf                	mov    %edi,%ecx
424215:	e8 04 cf ff ff       	call   0x42111e
42421a:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
424220:	85 c9                	test   %ecx,%ecx
424222:	75 02                	jne    0x424226
424224:	8b cf                	mov    %edi,%ecx
424226:	ff 76 08             	push   0x8(%esi)
424229:	53                   	push   %ebx
42422a:	50                   	push   %eax
42422b:	51                   	push   %ecx
42422c:	8d 46 34             	lea    0x34(%esi),%eax
42422f:	50                   	push   %eax
424230:	e8 df 8e 00 00       	call   0x42d114
424235:	83 c4 14             	add    $0x14,%esp
424238:	5b                   	pop    %ebx
424239:	85 c0                	test   %eax,%eax
42423b:	74 26                	je     0x424263
42423d:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
424241:	eb 20                	jmp    0x424263
424243:	8b 97 04 04 00 00    	mov    0x404(%edi),%edx
424249:	85 d2                	test   %edx,%edx
42424b:	75 02                	jne    0x42424f
42424d:	8b d7                	mov    %edi,%edx
42424f:	8b 4e 10             	mov    0x10(%esi),%ecx
424252:	8d 41 04             	lea    0x4(%ecx),%eax
424255:	89 46 10             	mov    %eax,0x10(%esi)
424258:	8a 01                	mov    (%ecx),%al
42425a:	88 02                	mov    %al,(%edx)
42425c:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
424263:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
424269:	85 c0                	test   %eax,%eax
42426b:	74 02                	je     0x42426f
42426d:	8b f8                	mov    %eax,%edi
42426f:	89 7e 30             	mov    %edi,0x30(%esi)
424272:	b0 01                	mov    $0x1,%al
424274:	5f                   	pop    %edi
424275:	5e                   	pop    %esi
424276:	c2 04 00             	ret    $0x4
424279:	8b ff                	mov    %edi,%edi
42427b:	55                   	push   %ebp
42427c:	8b ec                	mov    %esp,%ebp
42427e:	51                   	push   %ecx
42427f:	53                   	push   %ebx
424280:	56                   	push   %esi
424281:	8b f1                	mov    %ecx,%esi
424283:	57                   	push   %edi
424284:	8b 56 10             	mov    0x10(%esi),%edx
424287:	c6 46 38 01          	movb   $0x1,0x38(%esi)
42428b:	8d 42 04             	lea    0x4(%edx),%eax
42428e:	89 46 10             	mov    %eax,0x10(%esi)
424291:	ff 76 28             	push   0x28(%esi)
424294:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
424298:	0f b7 1a             	movzwl (%edx),%ebx
42429b:	50                   	push   %eax
42429c:	ff 76 04             	push   0x4(%esi)
42429f:	ff 36                	push   (%esi)
4242a1:	e8 11 d0 ff ff       	call   0x4212b7
4242a6:	83 c4 10             	add    $0x10,%esp
4242a9:	84 c0                	test   %al,%al
4242ab:	75 43                	jne    0x4242f0
4242ad:	88 5d fc             	mov    %bl,-0x4(%ebp)
4242b0:	8b 5e 08             	mov    0x8(%esi),%ebx
4242b3:	88 45 fd             	mov    %al,-0x3(%ebp)
4242b6:	38 43 14             	cmp    %al,0x14(%ebx)
4242b9:	75 07                	jne    0x4242c2
4242bb:	8b cb                	mov    %ebx,%ecx
4242bd:	e8 de 02 00 00       	call   0x4245a0
4242c2:	8b 43 0c             	mov    0xc(%ebx),%eax
4242c5:	8d 7e 3c             	lea    0x3c(%esi),%edi
4242c8:	8b 48 04             	mov    0x4(%eax),%ecx
4242cb:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4242d1:	85 c0                	test   %eax,%eax
4242d3:	75 02                	jne    0x4242d7
4242d5:	8b c7                	mov    %edi,%eax
4242d7:	53                   	push   %ebx
4242d8:	51                   	push   %ecx
4242d9:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4242dc:	51                   	push   %ecx
4242dd:	50                   	push   %eax
4242de:	e8 9b 8f 00 00       	call   0x42d27e
4242e3:	83 c4 10             	add    $0x10,%esp
4242e6:	85 c0                	test   %eax,%eax
4242e8:	79 18                	jns    0x424302
4242ea:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
4242ee:	eb 12                	jmp    0x424302
4242f0:	8d 7e 3c             	lea    0x3c(%esi),%edi
4242f3:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4242f9:	85 c0                	test   %eax,%eax
4242fb:	75 02                	jne    0x4242ff
4242fd:	8b c7                	mov    %edi,%eax
4242ff:	66 89 18             	mov    %bx,(%eax)
424302:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
424308:	85 c0                	test   %eax,%eax
42430a:	74 02                	je     0x42430e
42430c:	8b f8                	mov    %eax,%edi
42430e:	89 7e 30             	mov    %edi,0x30(%esi)
424311:	b0 01                	mov    $0x1,%al
424313:	5f                   	pop    %edi
424314:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
42431b:	5e                   	pop    %esi
42431c:	5b                   	pop    %ebx
42431d:	c9                   	leave
42431e:	c2 04 00             	ret    $0x4
424321:	8b ff                	mov    %edi,%edi
424323:	56                   	push   %esi
424324:	8b f1                	mov    %ecx,%esi
424326:	57                   	push   %edi
424327:	8b 56 10             	mov    0x10(%esi),%edx
42432a:	8d 42 04             	lea    0x4(%edx),%eax
42432d:	89 46 10             	mov    %eax,0x10(%esi)
424330:	8b 3a                	mov    (%edx),%edi
424332:	e8 a1 90 00 00       	call   0x42d3d8
424337:	85 c0                	test   %eax,%eax
424339:	75 24                	jne    0x42435f
42433b:	8b 46 08             	mov    0x8(%esi),%eax
42433e:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
424342:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
424349:	33 c0                	xor    %eax,%eax
42434b:	ff 76 08             	push   0x8(%esi)
42434e:	50                   	push   %eax
42434f:	50                   	push   %eax
424350:	50                   	push   %eax
424351:	50                   	push   %eax
424352:	50                   	push   %eax
424353:	e8 9a c6 ff ff       	call   0x4209f2
424358:	83 c4 18             	add    $0x18,%esp
42435b:	32 c0                	xor    %al,%al
42435d:	eb 44                	jmp    0x4243a3
42435f:	ff 76 28             	push   0x28(%esi)
424362:	e8 2b fa ff ff       	call   0x423d92
424367:	59                   	pop    %ecx
424368:	83 e8 01             	sub    $0x1,%eax
42436b:	74 2b                	je     0x424398
42436d:	83 e8 01             	sub    $0x1,%eax
424370:	74 1d                	je     0x42438f
424372:	48                   	dec    %eax
424373:	83 e8 01             	sub    $0x1,%eax
424376:	74 10                	je     0x424388
424378:	83 e8 04             	sub    $0x4,%eax
42437b:	75 be                	jne    0x42433b
42437d:	8b 46 14             	mov    0x14(%esi),%eax
424380:	99                   	cltd
424381:	89 07                	mov    %eax,(%edi)
424383:	89 57 04             	mov    %edx,0x4(%edi)
424386:	eb 15                	jmp    0x42439d
424388:	8b 46 14             	mov    0x14(%esi),%eax
42438b:	89 07                	mov    %eax,(%edi)
42438d:	eb 0e                	jmp    0x42439d
42438f:	66 8b 46 14          	mov    0x14(%esi),%ax
424393:	66 89 07             	mov    %ax,(%edi)
424396:	eb 05                	jmp    0x42439d
424398:	8a 46 14             	mov    0x14(%esi),%al
42439b:	88 07                	mov    %al,(%edi)
42439d:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
4243a1:	b0 01                	mov    $0x1,%al
4243a3:	5f                   	pop    %edi
4243a4:	5e                   	pop    %esi
4243a5:	c3                   	ret
4243a6:	8b 51 1c             	mov    0x1c(%ecx),%edx
4243a9:	8b c2                	mov    %edx,%eax
4243ab:	c1 e8 05             	shr    $0x5,%eax
4243ae:	a8 01                	test   $0x1,%al
4243b0:	74 09                	je     0x4243bb
4243b2:	81 ca 80 00 00 00    	or     $0x80,%edx
4243b8:	89 51 1c             	mov    %edx,0x1c(%ecx)
4243bb:	6a 00                	push   $0x0
4243bd:	e8 5e d7 ff ff       	call   0x421b20
4243c2:	c3                   	ret
4243c3:	8b 51 1c             	mov    0x1c(%ecx),%edx
4243c6:	8b c2                	mov    %edx,%eax
4243c8:	c1 e8 05             	shr    $0x5,%eax
4243cb:	a8 01                	test   $0x1,%al
4243cd:	74 09                	je     0x4243d8
4243cf:	81 ca 80 00 00 00    	or     $0x80,%edx
4243d5:	89 51 1c             	mov    %edx,0x1c(%ecx)
4243d8:	6a 00                	push   $0x0
4243da:	e8 ce d8 ff ff       	call   0x421cad
4243df:	c3                   	ret
4243e0:	6a 01                	push   $0x1
4243e2:	c7 41 24 08 00 00 00 	movl   $0x8,0x24(%ecx)
4243e9:	c7 41 28 0a 00 00 00 	movl   $0xa,0x28(%ecx)
4243f0:	e8 69 dd ff ff       	call   0x42215e
4243f5:	c3                   	ret
4243f6:	6a 01                	push   $0x1
4243f8:	c7 41 24 08 00 00 00 	movl   $0x8,0x24(%ecx)
4243ff:	c7 41 28 0a 00 00 00 	movl   $0xa,0x28(%ecx)
424406:	e8 e0 de ff ff       	call   0x4222eb
42440b:	c3                   	ret
42440c:	8b ff                	mov    %edi,%edi
42440e:	53                   	push   %ebx
42440f:	56                   	push   %esi
424410:	8b f1                	mov    %ecx,%esi
424412:	57                   	push   %edi
424413:	8b 56 10             	mov    0x10(%esi),%edx
424416:	8d 42 04             	lea    0x4(%edx),%eax
424419:	89 46 10             	mov    %eax,0x10(%esi)
42441c:	8b 5e 24             	mov    0x24(%esi),%ebx
42441f:	8b 3a                	mov    (%edx),%edi
424421:	89 7e 30             	mov    %edi,0x30(%esi)
424424:	83 fb ff             	cmp    $0xffffffff,%ebx
424427:	75 05                	jne    0x42442e
424429:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
42442e:	ff 76 28             	push   0x28(%esi)
424431:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
424435:	50                   	push   %eax
424436:	ff 76 04             	push   0x4(%esi)
424439:	ff 36                	push   (%esi)
42443b:	e8 46 ce ff ff       	call   0x421286
424440:	83 c4 10             	add    $0x10,%esp
424443:	84 c0                	test   %al,%al
424445:	74 19                	je     0x424460
424447:	85 ff                	test   %edi,%edi
424449:	75 08                	jne    0x424453
42444b:	bf 88 13 44 00       	mov    $0x441388,%edi
424450:	89 7e 30             	mov    %edi,0x30(%esi)
424453:	53                   	push   %ebx
424454:	57                   	push   %edi
424455:	c6 46 38 01          	movb   $0x1,0x38(%esi)
424459:	e8 81 4c 00 00       	call   0x4290df
42445e:	eb 13                	jmp    0x424473
424460:	85 ff                	test   %edi,%edi
424462:	75 08                	jne    0x42446c
424464:	bf 98 13 44 00       	mov    $0x441398,%edi
424469:	89 7e 30             	mov    %edi,0x30(%esi)
42446c:	53                   	push   %ebx
42446d:	57                   	push   %edi
42446e:	e8 4a 4b 00 00       	call   0x428fbd
424473:	59                   	pop    %ecx
424474:	59                   	pop    %ecx
424475:	5f                   	pop    %edi
424476:	89 46 34             	mov    %eax,0x34(%esi)
424479:	b0 01                	mov    $0x1,%al
42447b:	5e                   	pop    %esi
42447c:	5b                   	pop    %ebx
42447d:	c3                   	ret
42447e:	8b ff                	mov    %edi,%edi
424480:	53                   	push   %ebx
424481:	56                   	push   %esi
424482:	8b f1                	mov    %ecx,%esi
424484:	57                   	push   %edi
424485:	8b 56 10             	mov    0x10(%esi),%edx
424488:	8d 42 04             	lea    0x4(%edx),%eax
42448b:	89 46 10             	mov    %eax,0x10(%esi)
42448e:	8b 5e 24             	mov    0x24(%esi),%ebx