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
424491:	8b 3a                	mov    (%edx),%edi
424493:	89 7e 30             	mov    %edi,0x30(%esi)
424496:	83 fb ff             	cmp    $0xffffffff,%ebx
424499:	75 05                	jne    0x4244a0
42449b:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4244a0:	ff 76 28             	push   0x28(%esi)
4244a3:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
4244a7:	50                   	push   %eax
4244a8:	ff 76 04             	push   0x4(%esi)
4244ab:	ff 36                	push   (%esi)
4244ad:	e8 05 ce ff ff       	call   0x4212b7
4244b2:	83 c4 10             	add    $0x10,%esp
4244b5:	84 c0                	test   %al,%al
4244b7:	74 1b                	je     0x4244d4
4244b9:	85 ff                	test   %edi,%edi
4244bb:	75 08                	jne    0x4244c5
4244bd:	bf 88 13 44 00       	mov    $0x441388,%edi
4244c2:	89 7e 30             	mov    %edi,0x30(%esi)
4244c5:	53                   	push   %ebx
4244c6:	57                   	push   %edi
4244c7:	c6 46 38 01          	movb   $0x1,0x38(%esi)
4244cb:	e8 0f 4c 00 00       	call   0x4290df
4244d0:	59                   	pop    %ecx
4244d1:	59                   	pop    %ecx
4244d2:	eb 15                	jmp    0x4244e9
4244d4:	85 ff                	test   %edi,%edi
4244d6:	75 07                	jne    0x4244df
4244d8:	c7 46 30 98 13 44 00 	movl   $0x441398,0x30(%esi)
4244df:	6a 00                	push   $0x0
4244e1:	53                   	push   %ebx
4244e2:	8b ce                	mov    %esi,%ecx
4244e4:	e8 09 00 00 00       	call   0x4244f2
4244e9:	5f                   	pop    %edi
4244ea:	89 46 34             	mov    %eax,0x34(%esi)
4244ed:	b0 01                	mov    $0x1,%al
4244ef:	5e                   	pop    %esi
4244f0:	5b                   	pop    %ebx
4244f1:	c3                   	ret
4244f2:	8b ff                	mov    %edi,%edi
4244f4:	55                   	push   %ebp
4244f5:	8b ec                	mov    %esp,%ebp
4244f7:	53                   	push   %ebx
4244f8:	56                   	push   %esi
4244f9:	8b f1                	mov    %ecx,%esi
4244fb:	57                   	push   %edi
4244fc:	8b 5e 08             	mov    0x8(%esi),%ebx
4244ff:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
424503:	75 07                	jne    0x42450c
424505:	8b cb                	mov    %ebx,%ecx
424507:	e8 94 00 00 00       	call   0x4245a0
42450c:	8b 76 30             	mov    0x30(%esi),%esi
42450f:	33 ff                	xor    %edi,%edi
424511:	39 7d 08             	cmp    %edi,0x8(%ebp)
424514:	7e 28                	jle    0x42453e
424516:	8a 06                	mov    (%esi),%al
424518:	84 c0                	test   %al,%al
42451a:	74 22                	je     0x42453e
42451c:	0f b6 c0             	movzbl %al,%eax
42451f:	68 00 80 00 00       	push   $0x8000
424524:	50                   	push   %eax
424525:	8b 43 0c             	mov    0xc(%ebx),%eax
424528:	ff 30                	push   (%eax)
42452a:	e8 f0 01 00 00       	call   0x42471f
42452f:	83 c4 0c             	add    $0xc,%esp
424532:	85 c0                	test   %eax,%eax
424534:	74 01                	je     0x424537
424536:	46                   	inc    %esi
424537:	46                   	inc    %esi
424538:	47                   	inc    %edi
424539:	3b 7d 08             	cmp    0x8(%ebp),%edi
42453c:	7c d8                	jl     0x424516
42453e:	8b c7                	mov    %edi,%eax
424540:	5f                   	pop    %edi
424541:	5e                   	pop    %esi
424542:	5b                   	pop    %ebx
424543:	5d                   	pop    %ebp
424544:	c2 08 00             	ret    $0x8
424547:	8b ff                	mov    %edi,%edi
424549:	55                   	push   %ebp
42454a:	8b ec                	mov    %esp,%ebp
42454c:	8b 01                	mov    (%ecx),%eax
42454e:	48                   	dec    %eax
42454f:	89 01                	mov    %eax,(%ecx)
424551:	8a 4d 08             	mov    0x8(%ebp),%cl
424554:	84 c9                	test   %cl,%cl
424556:	74 14                	je     0x42456c
424558:	38 08                	cmp    %cl,(%eax)
42455a:	74 10                	je     0x42456c
42455c:	e8 df 20 00 00       	call   0x426640
424561:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
424567:	e8 03 c5 ff ff       	call   0x420a6f
42456c:	5d                   	pop    %ebp
42456d:	c2 04 00             	ret    $0x4
424570:	8b ff                	mov    %edi,%edi
424572:	55                   	push   %ebp
424573:	8b ec                	mov    %esp,%ebp
424575:	8b 01                	mov    (%ecx),%eax
424577:	83 c0 fe             	add    $0xfffffffe,%eax
42457a:	89 01                	mov    %eax,(%ecx)
42457c:	66 8b 4d 08          	mov    0x8(%ebp),%cx
424580:	66 85 c9             	test   %cx,%cx
424583:	74 15                	je     0x42459a
424585:	66 39 08             	cmp    %cx,(%eax)
424588:	74 10                	je     0x42459a
42458a:	e8 b1 20 00 00       	call   0x426640
42458f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
424595:	e8 d5 c4 ff ff       	call   0x420a6f
42459a:	5d                   	pop    %ebp
42459b:	c2 04 00             	ret    $0x4
42459e:	cc                   	int3
42459f:	cc                   	int3
4245a0:	8b ff                	mov    %edi,%edi
4245a2:	55                   	push   %ebp
4245a3:	8b ec                	mov    %esp,%ebp
4245a5:	51                   	push   %ecx
4245a6:	53                   	push   %ebx
4245a7:	56                   	push   %esi
4245a8:	57                   	push   %edi
4245a9:	8b d9                	mov    %ecx,%ebx
4245ab:	e8 a6 c2 ff ff       	call   0x420856
4245b0:	ff 73 04             	push   0x4(%ebx)
4245b3:	8d 73 0c             	lea    0xc(%ebx),%esi
4245b6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4245b9:	56                   	push   %esi
4245ba:	8b 50 4c             	mov    0x4c(%eax),%edx
4245bd:	8d 7b 10             	lea    0x10(%ebx),%edi
4245c0:	89 16                	mov    %edx,(%esi)
4245c2:	8b 50 48             	mov    0x48(%eax),%edx
4245c5:	50                   	push   %eax
4245c6:	89 17                	mov    %edx,(%edi)
4245c8:	e8 5f 7f 00 00       	call   0x42c52c
4245cd:	ff 73 04             	push   0x4(%ebx)
4245d0:	8b 75 fc             	mov    -0x4(%ebp),%esi
4245d3:	57                   	push   %edi
4245d4:	56                   	push   %esi
4245d5:	e8 b0 7f 00 00       	call   0x42c58a
4245da:	8b 86 50 03 00 00    	mov    0x350(%esi),%eax
4245e0:	83 c4 18             	add    $0x18,%esp
4245e3:	a8 02                	test   $0x2,%al
4245e5:	75 0d                	jne    0x4245f4
4245e7:	83 c8 02             	or     $0x2,%eax
4245ea:	89 86 50 03 00 00    	mov    %eax,0x350(%esi)
4245f0:	c6 43 14 02          	movb   $0x2,0x14(%ebx)
4245f4:	5f                   	pop    %edi
4245f5:	5e                   	pop    %esi
4245f6:	5b                   	pop    %ebx
4245f7:	8b e5                	mov    %ebp,%esp
4245f9:	5d                   	pop    %ebp
4245fa:	c3                   	ret
4245fb:	83 39 00             	cmpl   $0x0,(%ecx)
4245fe:	75 13                	jne    0x424613
424600:	e8 3b 20 00 00       	call   0x426640
424605:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42460b:	e8 5f c4 ff ff       	call   0x420a6f
424610:	32 c0                	xor    %al,%al
424612:	c3                   	ret
424613:	b0 01                	mov    $0x1,%al
424615:	c3                   	ret
424616:	8b ff                	mov    %edi,%edi
424618:	55                   	push   %ebp
424619:	8b ec                	mov    %esp,%ebp
42461b:	33 d2                	xor    %edx,%edx
42461d:	39 11                	cmp    %edx,(%ecx)
42461f:	75 20                	jne    0x424641
424621:	8b 45 08             	mov    0x8(%ebp),%eax
424624:	50                   	push   %eax
424625:	52                   	push   %edx
424626:	52                   	push   %edx
424627:	52                   	push   %edx
424628:	52                   	push   %edx
424629:	52                   	push   %edx
42462a:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42462e:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
424635:	e8 b8 c3 ff ff       	call   0x4209f2
42463a:	83 c4 18             	add    $0x18,%esp